diff --git a/.gitignore b/.gitignore index 8d4edddd..19b5cfb4 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # output directory build/ out/ +__pycache__/ # precompiled headers *.ipch diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d486b90..692e2ad7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,7 @@ include(scripts/pugixml.cmake) include(scripts/json.cmake) include(scripts/cpr.cmake) include(scripts/zydis.cmake) +include(scripts/lua.cmake) message("\nFetching custom modules") include(scripts/imgui.cmake) @@ -46,7 +47,7 @@ target_include_directories(YimMenu PRIVATE ) target_precompile_headers(YimMenu PRIVATE "${SRC_DIR}/common.hpp") -target_link_libraries(YimMenu PRIVATE pugixml minhook AsyncLogger dbghelp imgui cpr Zydis) +target_link_libraries(YimMenu PRIVATE pugixml minhook AsyncLogger dbghelp imgui cpr Zydis lua_static) # Warnings as errors set_property(TARGET YimMenu PROPERTY COMPILE_WARNING_AS_ERROR ON) diff --git a/scripts/gtav-classes.cmake b/scripts/gtav-classes.cmake index 9d71f5a7..ade16681 100644 --- a/scripts/gtav-classes.cmake +++ b/scripts/gtav-classes.cmake @@ -3,7 +3,7 @@ include(FetchContent) FetchContent_Declare( gtav_classes GIT_REPOSITORY https://github.com/Yimura/GTAV-Classes.git - GIT_TAG 57548ccd8742f0355fc674e8f4dedee119d640e5 + GIT_TAG 9de17746d2e7492725d2e7430ad0f27c05b6c2f0 GIT_PROGRESS TRUE CONFIGURE_COMMAND "" BUILD_COMMAND "" diff --git a/scripts/lua.cmake b/scripts/lua.cmake new file mode 100644 index 00000000..3750b731 --- /dev/null +++ b/scripts/lua.cmake @@ -0,0 +1,12 @@ +include(FetchContent) + +message("Lua") +FetchContent_Declare( + Lua + GIT_REPOSITORY https://github.com/walterschell/Lua.git + GIT_TAG a2e0125df529894f5e25d7d477b2df4e37690e0f + GIT_PROGRESS TRUE +) +FetchContent_MakeAvailable(Lua) + +set_property(TARGET lua_static PROPERTY CXX_STANDARD 23) diff --git a/src/backend/backend.cpp b/src/backend/backend.cpp index 461a6d16..b11f45eb 100644 --- a/src/backend/backend.cpp +++ b/src/backend/backend.cpp @@ -6,6 +6,7 @@ #include "script_patches.hpp" #include "services/context_menu/context_menu_service.hpp" #include "services/orbital_drone/orbital_drone.hpp" +#include "services/tunables/tunables_service.hpp" #include "services/vehicle/vehicle_control_service.hpp" #include "services/squad_spawner/squad_spawner.hpp" #include "thread_pool.hpp" @@ -77,7 +78,6 @@ namespace big { looped::vehicle_auto_drive(); looped::vehicle_boost_behavior(); - looped::vehicle_god_mode(); looped::derail_train(); looped::drive_train(); @@ -85,18 +85,6 @@ namespace big } } - void backend::turnsignal_loop() - { - LOG(INFO) << "Starting script: turnsignal"; - - while (g_running) - { - looped::vehicle_turn_signals(); - - script::get_current()->yield(); - } - } - void backend::misc_loop() { LOG(INFO) << "Starting script: Miscellaneous"; @@ -104,7 +92,6 @@ namespace big while (g_running) { looped::hud_transition_state(); - looped::session_local_time(); looped::session_pop_multiplier_areas(); looped::session_force_thunder(); looped::session_randomize_ceo_colors(); @@ -154,18 +141,6 @@ namespace big } } - void backend::vehiclefly_loop() - { - LOG(INFO) << "Starting script: Vehicle fly"; - - while (g_running) - { - looped::vehicle_fly(); - - script::get_current()->yield(); - } - } - void backend::disable_control_action_loop() { LOG(INFO) << "Starting script: Disable Control Action"; @@ -212,13 +187,17 @@ namespace big { while (true) { - g_vehicle_control_service.tick(); - + script::get_current()->yield(); } } + void backend::tunables_script() + { + g_tunables_service->run_script(); + } + void backend::squad_spawner() { while (true) diff --git a/src/backend/backend.hpp b/src/backend/backend.hpp index f8d9ac81..7ebd8a38 100644 --- a/src/backend/backend.hpp +++ b/src/backend/backend.hpp @@ -10,16 +10,15 @@ namespace big static void self_loop(); static void weapons_loop(); static void vehicles_loop(); - static void turnsignal_loop(); static void misc_loop(); static void remote_loop(); static void lscustoms_loop(); static void rainbowpaint_loop(); - static void vehiclefly_loop(); static void disable_control_action_loop(); static void world_loop(); static void orbital_drone(); static void vehicle_control(); + static void tunables_script(); static void squad_spawner(); }; } diff --git a/src/backend/command.cpp b/src/backend/command.cpp index 763f81c8..ea57c189 100644 --- a/src/backend/command.cpp +++ b/src/backend/command.cpp @@ -30,7 +30,9 @@ namespace big command::command(const std::string& name, const std::string& label, const std::string& description, std::optional num_args, bool fiber_pool) : m_name(name), m_label(label), + m_label_hash(rage::joaat(label)), m_description(description), + m_description_hash(rage::joaat(description)), m_num_args(num_args), m_fiber_pool(fiber_pool) { diff --git a/src/backend/command.hpp b/src/backend/command.hpp index cd60cd33..af107cc7 100644 --- a/src/backend/command.hpp +++ b/src/backend/command.hpp @@ -11,7 +11,9 @@ namespace big protected: std::string m_name; std::string m_label; + rage::joaat_t m_label_hash; std::string m_description; + rage::joaat_t m_description_hash; std::optional m_num_args; bool m_fiber_pool; @@ -31,13 +33,21 @@ namespace big { return m_name; } - inline const std::string& get_label() + inline const std::string get_label() { - return m_label; + std::string key; + if (key = g_translation_service.get_translation(m_label_hash); key.empty()) + key = m_label; + + return key; } - inline const std::string& get_description() + inline const std::string get_description() { - return m_description; + std::string key; + if (key = g_translation_service.get_translation(m_description_hash); key.empty()) + key = m_description; + + return key; } inline const std::optional& get_num_args() { diff --git a/src/backend/commands/misc/recovery.cpp b/src/backend/commands/misc/recovery.cpp index dbee3ad0..4cc2deec 100644 --- a/src/backend/commands/misc/recovery.cpp +++ b/src/backend/commands/misc/recovery.cpp @@ -14,7 +14,7 @@ namespace big virtual void execute(const std::vector&, const std::shared_ptr ctx) { - ctx->report_error("Money and recovery options are not supported in YimMenu to keep Rockstar/Take Two happy. You can try Kiddion's Modest Menu (free) instead, but make sure to only get it from UnknownCheats.me, the rest are scams and contain malware"); + ctx->report_error("Money and recovery options are not supported in YimMenu to keep Rockstar/Take Two happy. You can try Kiddion's Modest Menu (free) instead, but make sure to only get it from UnknownCheats.me, the rest are scams and may contain malware"); } }; diff --git a/src/backend/commands/player/kick/bail_kick.cpp b/src/backend/commands/player/kick/bail_kick.cpp index 4ae9fb34..d3c17615 100644 --- a/src/backend/commands/player/kick/bail_kick.cpp +++ b/src/backend/commands/player/kick/bail_kick.cpp @@ -27,5 +27,5 @@ namespace big } }; - bail_kick g_bail_kick("bailkick", "Bail Kick", "Blocked by most menus", 0); + bail_kick g_bail_kick("bailkick", "BAIL_KICK", "BAIL_KICK_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/kick/breakup_kick.cpp b/src/backend/commands/player/kick/breakup_kick.cpp index b0df8308..e666a197 100644 --- a/src/backend/commands/player/kick/breakup_kick.cpp +++ b/src/backend/commands/player/kick/breakup_kick.cpp @@ -67,7 +67,7 @@ namespace big } }; - breakup_kick g_breakup_kick("breakup", "Breakup Kick", "Nearly unblockable but could be detected by others", 0, false); - bool_command g_show_cheating_message("breakupcheating", "Show Cheating Message", "Shows a \"was detected cheating and has been removed from the session\" instead of the usual leave message when the player gets kicked", + breakup_kick g_breakup_kick("breakup", "BREAKUP_KICK", "BREAKUP_KICK_DESC", 0, false); + bool_command g_show_cheating_message("breakupcheating", "BREAKUP_KICK_SHOW_CHEATING", "BREAKUP_KICK_SHOW_CHEATING_DESC", g.session.show_cheating_message); } \ No newline at end of file diff --git a/src/backend/commands/player/kick/complaint_kick.cpp b/src/backend/commands/player/kick/complaint_kick.cpp index 7aba08d7..df3e4ed1 100644 --- a/src/backend/commands/player/kick/complaint_kick.cpp +++ b/src/backend/commands/player/kick/complaint_kick.cpp @@ -29,5 +29,5 @@ namespace big } }; - complaint_kick g_complaint_kick("desync", "Desync Kick", "This may take around 10 seconds to kick the player. Does not work against the host", 0);// this is pretty much desync except we don't actually remove the player from CNetworkPlayerMgr + complaint_kick g_complaint_kick("desync", "COMPLAINT_KICK", "COMPLAINT_KICK_DESC", 0); // this is pretty much desync except we don't actually remove the player from CNetworkPlayerMgr } \ No newline at end of file diff --git a/src/backend/commands/player/kick/end_session_kick.cpp b/src/backend/commands/player/kick/end_session_kick.cpp index c9b4fcd0..adc7746d 100644 --- a/src/backend/commands/player/kick/end_session_kick.cpp +++ b/src/backend/commands/player/kick/end_session_kick.cpp @@ -24,9 +24,9 @@ namespace big } g_player_service->m_player_to_use_end_session_kick = player; - *scr_globals::gsbd.as() = (int)(__rdtsc() % 50000) + 6;// making the game trigger the broadcast is a bit difficult and requires a little bit of tampering with the value and luck + *scr_globals::gsbd.as() = (int)(__rdtsc() % 50000) + 6; // making the game trigger the broadcast is a bit difficult and requires a little bit of tampering with the value and some luck } }; - end_session_kick g_end_session_kick("endkick", "End Session Kick", "This may take around 10 seconds to kick the player", 0, false); + end_session_kick g_end_session_kick("endkick", "END_KICK", "END_KICK_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/kick/null_function_kick.cpp b/src/backend/commands/player/kick/null_function_kick.cpp index 69a90a83..f0c5c687 100644 --- a/src/backend/commands/player/kick/null_function_kick.cpp +++ b/src/backend/commands/player/kick/null_function_kick.cpp @@ -23,5 +23,5 @@ namespace big } }; - null_function_kick g_null_function_kick("nfkick", "Null Function Kick", "It may take around 15 seconds for the player to actually leave the session", 0); + null_function_kick g_null_function_kick("nfkick", "NULL_FUNCTION_KICK", "NULL_FUNCTION_KICK_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/kick/oom_kick.cpp b/src/backend/commands/player/kick/oom_kick.cpp index 9f557422..c4c34f29 100644 --- a/src/backend/commands/player/kick/oom_kick.cpp +++ b/src/backend/commands/player/kick/oom_kick.cpp @@ -44,5 +44,5 @@ namespace big } }; - oom_kick g_oom_kick("oomkick", "OOM Kick", "Causes the player to be kicked with an alert. This kick has a high chance of backfiring in its current state", 0, false); + oom_kick g_oom_kick("oomkick", "OOM_KICK_CMD", "OOM_KICK_CMD_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/kick/script_host_kick.cpp b/src/backend/commands/player/kick/script_host_kick.cpp index b4634f6e..ab2e1027 100644 --- a/src/backend/commands/player/kick/script_host_kick.cpp +++ b/src/backend/commands/player/kick/script_host_kick.cpp @@ -27,5 +27,5 @@ namespace big } }; - script_host_kick g_script_host_kick("shkick", "Script Host Kick", "Blocked by most menus", 0, false); + script_host_kick g_script_host_kick("shkick", "SCRIPT_HOST_KICK", "SCRIPT_HOST_KICK_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/misc/clear_wanted_level.cpp b/src/backend/commands/player/misc/clear_wanted_level.cpp index e4af7b6e..20d48d37 100644 --- a/src/backend/commands/player/misc/clear_wanted_level.cpp +++ b/src/backend/commands/player/misc/clear_wanted_level.cpp @@ -20,5 +20,5 @@ namespace big } }; - clear_wanted_level g_clear_wanted_level("clearwanted", "Clear Wanted Level", "Clears the player's wanted level", 0); + clear_wanted_level g_clear_wanted_level("clearwanted", "CLEAR_WANTED_LEVEL", "CLEAR_WANTED_LEVEL_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/misc/enter_interior.cpp b/src/backend/commands/player/misc/enter_interior.cpp index 2a3e1429..52b909dd 100644 --- a/src/backend/commands/player/misc/enter_interior.cpp +++ b/src/backend/commands/player/misc/enter_interior.cpp @@ -48,5 +48,5 @@ namespace big } }; - enter_interior g_enter_interior("enterint", "Enter Interior", "Enters the player's interior", 0, false); + enter_interior g_enter_interior("enterint", "ENTER_INTERIOR", "ENTER_INTERIOR_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/misc/give_ammo.cpp b/src/backend/commands/player/misc/give_ammo.cpp index f4fa14be..ac4340b9 100644 --- a/src/backend/commands/player/misc/give_ammo.cpp +++ b/src/backend/commands/player/misc/give_ammo.cpp @@ -21,5 +21,5 @@ namespace big } }; - give_ammo g_give_ammo("giveammo", "Give Ammo", "Gives the player some ammo", 0); + give_ammo g_give_ammo("giveammo", "GIVE_AMMO", "GIVE_AMMO_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/misc/give_armor.cpp b/src/backend/commands/player/misc/give_armor.cpp index 29b692f2..bc93d0fb 100644 --- a/src/backend/commands/player/misc/give_armor.cpp +++ b/src/backend/commands/player/misc/give_armor.cpp @@ -21,5 +21,5 @@ namespace big } }; - give_armor g_give_armor("givearmor", "Give Armor", "Gives the player some armor", 0); + give_armor g_give_armor("givearmor", "GIVE_ARMOR", "GIVE_ARMOR_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/misc/give_health.cpp b/src/backend/commands/player/misc/give_health.cpp index 49f738e9..76c47db3 100644 --- a/src/backend/commands/player/misc/give_health.cpp +++ b/src/backend/commands/player/misc/give_health.cpp @@ -21,5 +21,5 @@ namespace big } }; - give_health g_give_health("givehealth", "Give Health", "Gives the player some health", 0); + give_health g_give_health("givehealth", "GIVE_HEALTH", "GIVE_HEALTH_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/misc/join_ceo.cpp b/src/backend/commands/player/misc/join_ceo.cpp index 40baf81f..3b7d880e 100644 --- a/src/backend/commands/player/misc/join_ceo.cpp +++ b/src/backend/commands/player/misc/join_ceo.cpp @@ -16,5 +16,5 @@ namespace big } }; - join_ceo g_join_ceo("joinceo", "Join CEO/MC", "Joins the player's CEO/MC", 0, false); + join_ceo g_join_ceo("joinceo", "JOIN_CEO", "JOIN_CEO_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/misc/steal_identity.cpp b/src/backend/commands/player/misc/steal_identity.cpp index 2d470a56..d890ec86 100644 --- a/src/backend/commands/player/misc/steal_identity.cpp +++ b/src/backend/commands/player/misc/steal_identity.cpp @@ -15,5 +15,5 @@ namespace big } }; - steal_identity g_steal_identity("copymodel", "Steal Identity", "Copies the player's model to your ped", 0, false);// do we really need this? + steal_identity g_steal_identity("copymodel", "STEAL_IDENTITY", "STEAL_IDENTITY_DESC", 0, false); // do we really need this? } \ No newline at end of file diff --git a/src/backend/commands/player/misc/steal_outfit.cpp b/src/backend/commands/player/misc/steal_outfit.cpp index 0faa0553..fe87ba95 100644 --- a/src/backend/commands/player/misc/steal_outfit.cpp +++ b/src/backend/commands/player/misc/steal_outfit.cpp @@ -15,5 +15,5 @@ namespace big } }; - steal_outfit g_steal_outfit("copyoutfit", "Steal Outfit", "Copies the player's outfit to your ped", 0, false); + steal_outfit g_steal_outfit("copyoutfit", "STEAL_OUTFIT", "STEAL_OUTFIT_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/ceo_kick.cpp b/src/backend/commands/player/toxic/ceo_kick.cpp index b7f8a459..33de55f2 100644 --- a/src/backend/commands/player/toxic/ceo_kick.cpp +++ b/src/backend/commands/player/toxic/ceo_kick.cpp @@ -40,5 +40,5 @@ namespace big } }; - ceo_kick g_ceo_kick("ceokick", "CEO Kick", "Kicks an associate from the CEO/MC. You cannot kick leaders of CEOs/MCs anymore", 0); + ceo_kick g_ceo_kick("ceokick", "CEO_KICK", "CEO_KICK_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/explode_player.cpp b/src/backend/commands/player/toxic/explode_player.cpp index 74e68407..db1c531c 100644 --- a/src/backend/commands/player/toxic/explode_player.cpp +++ b/src/backend/commands/player/toxic/explode_player.cpp @@ -20,5 +20,5 @@ namespace big } }; - explode_player g_explode_player("explode", "Explode Player", "Blows the player up", 0); + explode_player g_explode_player("explode", "EXPLODE_PLAYER", "EXPLODE_PLAYER_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/force_into_mission.cpp b/src/backend/commands/player/toxic/force_into_mission.cpp index 4f9bdef4..522395a1 100644 --- a/src/backend/commands/player/toxic/force_into_mission.cpp +++ b/src/backend/commands/player/toxic/force_into_mission.cpp @@ -23,5 +23,5 @@ namespace big } }; - force_into_mission g_force_into_mission("mission", "Force Into Mission", "Forces the player into a gunrunning mission", 0); + force_into_mission g_force_into_mission("mission", "FORCE_INTO_MISSION", "FORCE_INTO_MISSION_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/give_all_weapons.cpp b/src/backend/commands/player/toxic/give_all_weapons.cpp index 17db71dc..50931456 100644 --- a/src/backend/commands/player/toxic/give_all_weapons.cpp +++ b/src/backend/commands/player/toxic/give_all_weapons.cpp @@ -41,6 +41,6 @@ namespace big } }; - give_all_weapons g_give_all_weapons("giveweaps", "Give Weapons", "Gives all weapons to the player", 0, false); - give_all_weapons_all g_give_all_weapons_all("giveweapsall", "Give Weapons", "Gives weapons to everyone. Don't spam this or you will crash", 0); + give_all_weapons g_give_all_weapons("giveweaps", "GIVE_WEAPONS", "GIVE_WEAPONS_DESC", 0, false); + give_all_weapons_all g_give_all_weapons_all("giveweapsall", "GIVE_WEAPONS", "GIVE_WEAPONS_ALL_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/kick_from_interior.cpp b/src/backend/commands/player/toxic/kick_from_interior.cpp index a81c0bb8..3799aef5 100644 --- a/src/backend/commands/player/toxic/kick_from_interior.cpp +++ b/src/backend/commands/player/toxic/kick_from_interior.cpp @@ -143,5 +143,5 @@ namespace big } }; - kick_from_interior g_kick_from_interior("intkick", "Kick From Interior", "Kicks the player from the interior they are in", 0); + kick_from_interior g_kick_from_interior("intkick", "KICK_FROM_INTERIOR", "KICK_FROM_INTERIOR_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/kick_from_vehicle.cpp b/src/backend/commands/player/toxic/kick_from_vehicle.cpp index 2da8a3cf..90da2862 100644 --- a/src/backend/commands/player/toxic/kick_from_vehicle.cpp +++ b/src/backend/commands/player/toxic/kick_from_vehicle.cpp @@ -29,10 +29,11 @@ namespace big else { // use a private method to kick player from vehicle - (*g_pointers->m_gta.m_network_object_mgr)->ChangeOwner(vehicle->m_net_object, g_player_service->get_self()->get_net_game_player(), 0); + (*g_pointers->m_gta.m_network_object_mgr) + ->ChangeOwner(vehicle->m_net_object, g_player_service->get_self()->get_net_game_player(), 0); } } }; - kick_from_vehicle g_kick_from_vehicle("vehkick", "Vehicle Kick", "Kicks the player from their current vehicle", 0); + kick_from_vehicle g_kick_from_vehicle("vehkick", "VEHICLE_KICK", "VEHICLE_KICK_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/kill_player.cpp b/src/backend/commands/player/toxic/kill_player.cpp index 439ff3b4..b9ca8cb2 100644 --- a/src/backend/commands/player/toxic/kill_player.cpp +++ b/src/backend/commands/player/toxic/kill_player.cpp @@ -39,5 +39,5 @@ namespace big } }; - kill_player g_kill_player("kill", "Kill Player", "Kills the player, bypassing most forms of interior godmode", 0); + kill_player g_kill_player("kill", "KILL_PLAYER", "KILL_PLAYER_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/ragdoll_player.cpp b/src/backend/commands/player/toxic/ragdoll_player.cpp index 67266c6e..e1028a70 100644 --- a/src/backend/commands/player/toxic/ragdoll_player.cpp +++ b/src/backend/commands/player/toxic/ragdoll_player.cpp @@ -21,5 +21,5 @@ namespace big } }; - ragdoll_player g_ragdoll_player("ragdoll", "Ragdoll Player", "Ragdolls the player", 0); + ragdoll_player g_ragdoll_player("ragdoll", "RAGDOLL_PLAYER", "RAGDOLL_PLAYER_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/remove_all_weapons.cpp b/src/backend/commands/player/toxic/remove_all_weapons.cpp index f8227587..6296e1dc 100644 --- a/src/backend/commands/player/toxic/remove_all_weapons.cpp +++ b/src/backend/commands/player/toxic/remove_all_weapons.cpp @@ -21,5 +21,5 @@ namespace big } }; - remove_all_weapons g_remove_all_weapons("remweaps", "Remove All Weapons", "Remove all weapons from the player", 0); + remove_all_weapons g_remove_all_weapons("remweaps", "REMOVE_ALL_WEAPONS", "REMOVE_ALL_WEAPONS_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/send_fake_ban_message.cpp b/src/backend/commands/player/toxic/send_fake_ban_message.cpp index 0ac28bbf..9ae95300 100644 --- a/src/backend/commands/player/toxic/send_fake_ban_message.cpp +++ b/src/backend/commands/player/toxic/send_fake_ban_message.cpp @@ -27,5 +27,5 @@ namespace big } }; - send_fake_ban_message g_send_fake_ban_message("fakeban", "Send Fake Ban Message", "Sends a fake ban notification to the player", 0); + send_fake_ban_message g_send_fake_ban_message("fakeban", "FAKE_BAN_MESSAGE", "FAKE_BAN_MESSAGE_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/send_sext.cpp b/src/backend/commands/player/toxic/send_sext.cpp index 4bba99c4..13721804 100644 --- a/src/backend/commands/player/toxic/send_sext.cpp +++ b/src/backend/commands/player/toxic/send_sext.cpp @@ -32,5 +32,5 @@ namespace big } }; - send_sext g_send_sext("sext", "Send Sext", "Sends a random sext (with an image attachment) to the player", 0); + send_sext g_send_sext("sext", "SEND_SEXT", "SEND_SEXT_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/send_to_apartment.cpp b/src/backend/commands/player/toxic/send_to_apartment.cpp index 6770bda9..20f4ec2e 100644 --- a/src/backend/commands/player/toxic/send_to_apartment.cpp +++ b/src/backend/commands/player/toxic/send_to_apartment.cpp @@ -28,5 +28,5 @@ namespace big } }; - send_to_apartment g_send_to_apartment("apartmenttp", "TP To Apartment", "Teleports the player to the specified apartment index", 1); + send_to_apartment g_send_to_apartment("apartmenttp", "TP_TO_APARTMENT", "TP_TO_APARTMENT_DESC", 1); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/send_to_interior.cpp b/src/backend/commands/player/toxic/send_to_interior.cpp index af68b620..32319bd5 100644 --- a/src/backend/commands/player/toxic/send_to_interior.cpp +++ b/src/backend/commands/player/toxic/send_to_interior.cpp @@ -28,7 +28,7 @@ namespace big (int64_t)(int)_args[0], (int64_t)self::id, (int64_t) false, - (int64_t) true,// true means enter sender interior + (int64_t) true, // true means enter sender interior (int64_t) * (uint32_t*)&coords.x, (int64_t) * (uint32_t*)&coords.y, (int64_t) * (uint32_t*)&coords.z, @@ -43,5 +43,5 @@ namespace big } }; - send_to_interior g_send_to_interior("interiortp", "TP To Interior", "Teleports the player to the specified interior index", 1); + send_to_interior g_send_to_interior("interiortp", "TP_TO_INTERIOR", "TP_TO_INTERIOR_DESC", 1); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/send_to_island.cpp b/src/backend/commands/player/toxic/send_to_island.cpp index 35802386..f016bb8d 100644 --- a/src/backend/commands/player/toxic/send_to_island.cpp +++ b/src/backend/commands/player/toxic/send_to_island.cpp @@ -26,5 +26,5 @@ namespace big } }; - send_to_island g_send_to_island("cayotp", "TP To Cayo Perico", "Teleports the player to Cayo Perico", 0); + send_to_island g_send_to_island("cayotp", "TP_TO_CAYO", "TP_TO_CAYO_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/send_to_warehouse.cpp b/src/backend/commands/player/toxic/send_to_warehouse.cpp index 138a144d..e89623c8 100644 --- a/src/backend/commands/player/toxic/send_to_warehouse.cpp +++ b/src/backend/commands/player/toxic/send_to_warehouse.cpp @@ -28,5 +28,5 @@ namespace big } }; - send_to_warehouse g_send_to_warehouse("warehousetp", "TP To Warehouse", "Teleports the player to the specified warehouse index", 1); + send_to_warehouse g_send_to_warehouse("warehousetp", "TP_TO_WAREHOUSE", "TP_TO_WAREHOUSE_DESC", 1); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/set_wanted_level.cpp b/src/backend/commands/player/toxic/set_wanted_level.cpp index 51718ff2..deaeef89 100644 --- a/src/backend/commands/player/toxic/set_wanted_level.cpp +++ b/src/backend/commands/player/toxic/set_wanted_level.cpp @@ -67,5 +67,5 @@ namespace big } }; - set_wanted_level g_set_wanted_level("wanted", "Set Wanted Level", "Sets the specified wanted level to the player", 1, false); + set_wanted_level g_set_wanted_level("wanted", "SET_WANTED_LEVEL", "SET_WANTED_LEVEL_DESC", 1, false); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/show_transaction_error.cpp b/src/backend/commands/player/toxic/show_transaction_error.cpp index 5d94e807..544a22e9 100644 --- a/src/backend/commands/player/toxic/show_transaction_error.cpp +++ b/src/backend/commands/player/toxic/show_transaction_error.cpp @@ -32,5 +32,5 @@ namespace big } }; - show_transaction_error g_show_transaction_error("error", "Show Transaction Error", "Shows a transaction error to the player", 0); + show_transaction_error g_show_transaction_error("error", "SHOW_TRANSACTION_ERROR", "SHOW_TRANSACTION_ERROR_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/trigger_ceo_raid.cpp b/src/backend/commands/player/toxic/trigger_ceo_raid.cpp index 566f5042..eaa75a05 100644 --- a/src/backend/commands/player/toxic/trigger_ceo_raid.cpp +++ b/src/backend/commands/player/toxic/trigger_ceo_raid.cpp @@ -22,5 +22,5 @@ namespace big } }; - trigger_ceo_raid g_trigger_ceo_raid("ceoraid", "Trigger Special Cargo Raid", "The player has to be in a CEO for this to work", 0); + trigger_ceo_raid g_trigger_ceo_raid("ceoraid", "TRIGGER_CEO_RAID", "TRIGGER_CEO_RAID_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/toxic/turn_into_beast.cpp b/src/backend/commands/player/toxic/turn_into_beast.cpp index 43ad744f..9184617e 100644 --- a/src/backend/commands/player/toxic/turn_into_beast.cpp +++ b/src/backend/commands/player/toxic/turn_into_beast.cpp @@ -61,14 +61,14 @@ namespace big return; *script_local(stack, idx).as() = 1; - *script_local(stack, idx).at(1).as() = 2;// stage - *script_local(stack, idx).at(1).at(6).as() = net_component->get_participant_index(player->get_net_game_player());// beast participant idx - *script_local(stack, idx).at(1).at(7).as() = id; // beast player idx - *script_local(stack, idx).at(1).at(2).as() = INT_MAX;// stopwatch time - *script_local(stack, idx).at(1).at(2).at(1).as() = true; // stopwatch initialized - *script_local(stack, idx).at(1).at(4).at(1).as() = false; // destroy old stage 1 stopwatch - *script_local(stack, idx).at(1).at(9).as() = 2; // some distance check - *script_local(stack, idx).at(83).as() = 0; // transformed bitset + *script_local(stack, idx).at(1).as() = 2; // stage + *script_local(stack, idx).at(1).at(6).as() = net_component->get_participant_index(player->get_net_game_player()); // beast participant idx + *script_local(stack, idx).at(1).at(7).as() = id; // beast player idx + *script_local(stack, idx).at(1).at(2).as() = INT_MAX; // stopwatch time + *script_local(stack, idx).at(1).at(2).at(1).as() = true; // stopwatch initialized + *script_local(stack, idx).at(1).at(4).at(1).as() = false; // destroy old stage 1 stopwatch + *script_local(stack, idx).at(1).at(9).as() = 2; // some distance check + *script_local(stack, idx).at(83).as() = 0; // transformed bitset } }; @@ -125,28 +125,28 @@ namespace big for (int i = 0; i < 15; i++) { *script_local(stack, idx).as() = 1; - *script_local(stack, idx).at(1).as() = 2; // stage - *script_local(stack, idx).at(1).at(6).as() = __rdtsc();// participant idx - *script_local(stack, idx).at(1).at(7).as() = __rdtsc();// beast player idx - *script_local(stack, idx).at(1).at(2).as() = INT_MAX; // stopwatch time - *script_local(stack, idx).at(1).at(2).at(1).as() = true; // stopwatch initialized - *script_local(stack, idx).at(1).at(4).at(1).as() = false; // destroy old stage 1 stopwatch - *script_local(stack, idx).at(1).at(9).as() = 2; // some distance check - *script_local(stack, idx).at(83).as() = 0; // transformed bitset + *script_local(stack, idx).at(1).as() = 2; // stage + *script_local(stack, idx).at(1).at(6).as() = __rdtsc(); // participant idx + *script_local(stack, idx).at(1).at(7).as() = __rdtsc(); // beast player idx + *script_local(stack, idx).at(1).at(2).as() = INT_MAX; // stopwatch time + *script_local(stack, idx).at(1).at(2).at(1).as() = true; // stopwatch initialized + *script_local(stack, idx).at(1).at(4).at(1).as() = false; // destroy old stage 1 stopwatch + *script_local(stack, idx).at(1).at(9).as() = 2; // some distance check + *script_local(stack, idx).at(83).as() = 0; // transformed bitset script::get_current()->yield(350ms); } // unfortunately we must also turn ourselves into the beast to prevent the script from exiting due to a "missing player" - *script_local(stack, idx).at(1).at(6).as() = net_component->m_local_participant_index;// participant idx - *script_local(stack, idx).at(1).at(7).as() = self::id;// beast player idx - *script_local(stack, idx).at(1).at(2).as() = INT_MAX; // stopwatch time - *script_local(stack, idx).at(83).as() = 0; // transformed bitset + *script_local(stack, idx).at(1).at(6).as() = net_component->m_local_participant_index; // participant idx + *script_local(stack, idx).at(1).at(7).as() = self::id; // beast player idx + *script_local(stack, idx).at(1).at(2).as() = INT_MAX; // stopwatch time + *script_local(stack, idx).at(83).as() = 0; // transformed bitset thread->m_context.m_state = rage::eThreadState::running; } }; - turn_into_beast g_turn_into_beast("beast", "Turn Into Beast", "Turns the player into the beast", 0, false); - turn_into_beast_all g_turn_into_beast_all("beastall", "Turn Everyone Into Beast", "Turns everyone into the beast, including you", 0); + turn_into_beast g_turn_into_beast("beast", "TURN_INTO_BEAST", "TURN_INTO_BEAST_DESC", 0, false); + turn_into_beast_all g_turn_into_beast_all("beastall", "TURN_INTO_BEAST_ALL", "TURN_INTO_BEAST_ALL_DESC", 0); } \ No newline at end of file diff --git a/src/backend/commands/player/troll/bring.cpp b/src/backend/commands/player/troll/bring.cpp index 45fce699..2655b2f8 100644 --- a/src/backend/commands/player/troll/bring.cpp +++ b/src/backend/commands/player/troll/bring.cpp @@ -1,4 +1,5 @@ #include "backend/player_command.hpp" +#include "fiber_pool.hpp" #include "natives.hpp" #include "pointers.hpp" #include "util/teleport.hpp" @@ -15,5 +16,19 @@ namespace big } }; - bring g_bring("bring", "Bring", "Teleports the player to you", 0, false); + class bring_all : command + { + using command::command; + + virtual void execute(const std::vector& _args, const std::shared_ptr ctx) + { + for (auto& player : g_player_service->players()) + g_fiber_pool->queue_job([player]() { + teleport::bring_player(player.second); + }); + } + }; + + bring g_bring("bring", "BRING", "BRING_DESC", 0, false); + bring_all g_bring_all("bringall", "BRING_ALL", "BRING_ALL_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/troll/flip_180.cpp b/src/backend/commands/player/troll/flip_180.cpp deleted file mode 100644 index b61c0608..00000000 --- a/src/backend/commands/player/troll/flip_180.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "backend/player_command.hpp" -#include "natives.hpp" -#include "pointers.hpp" -#include "util/teleport.hpp" - -namespace big -{ - class flip_180 : player_command - { - using player_command::player_command; - - virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) - { - Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); - float heading = ENTITY::GET_ENTITY_HEADING(ped); - Vector3 car_coords = ENTITY::GET_ENTITY_COORDS(ped, 1); - - if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) - { - g_notification_service->push_warning("Toxic", "Target player is not in any vehicle."); - } - else - { - Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped); - float speed = ENTITY::GET_ENTITY_SPEED(vehicle); - - if (entity::take_control_of(vehicle)) - { - if (heading > 180.0) - heading -= 180.0; - - else - heading += 180.0; - - ENTITY::SET_ENTITY_COORDS(vehicle, car_coords.x, car_coords.y, car_coords.z, 0, 0, 0, 1); - ENTITY::SET_ENTITY_HEADING(vehicle, heading); - VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, speed); - } - } - } - }; - - flip_180 - g_flip_180("flip180", "Rotate 180", "Rotates their car around", 0) - ; -} \ No newline at end of file diff --git a/src/backend/commands/player/troll/set_bounty.cpp b/src/backend/commands/player/troll/set_bounty.cpp index d4c44899..b913ff71 100644 --- a/src/backend/commands/player/troll/set_bounty.cpp +++ b/src/backend/commands/player/troll/set_bounty.cpp @@ -16,7 +16,6 @@ namespace big } }; - set_bounty g_bounty("bounty", "Bounty", "Sets a 10k bounty on the player", 0); - bool_command g_anonymous_bounty("anonbounty", "Anonymous Bounty", "Don't show your name when setting a bounty on someone", - g.session.anonymous_bounty); + set_bounty g_bounty("bounty", "BOUNTY", "BOUNTY_DESC", 0); + bool_command g_anonymous_bounty("anonbounty", "BOUNTY_ANON", "BOUNTY_ANON_DESC", g.session.anonymous_bounty); } diff --git a/src/backend/commands/player/troll/teleport.cpp b/src/backend/commands/player/troll/teleport.cpp index 24daf2e2..8e268be9 100644 --- a/src/backend/commands/player/troll/teleport.cpp +++ b/src/backend/commands/player/troll/teleport.cpp @@ -16,5 +16,5 @@ namespace big } }; - teleport_to_player g_teleport_to_player("playertp", "Teleport", "Teleports you to the player", 0, false); + teleport_to_player g_teleport_to_player("playertp", "TELEPORT", "TELEPORT_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/troll/teleport_into_vehicle.cpp b/src/backend/commands/player/troll/teleport_into_vehicle.cpp index eceb50c6..07beb229 100644 --- a/src/backend/commands/player/troll/teleport_into_vehicle.cpp +++ b/src/backend/commands/player/troll/teleport_into_vehicle.cpp @@ -18,5 +18,5 @@ namespace big } }; - teleport_into_vehicle g_teleport_into_vehicle("playervehtp", "Teleport Into Vehicle", "Teleports into the players vehicle. Spectate the player beforehand for best results", 0, false); + teleport_into_vehicle g_teleport_into_vehicle("playervehtp", "TELEPORT_INTO_VEHICLE", "TELEPORT_INTO_VEHICLE_DESC", 0, false); } \ No newline at end of file diff --git a/src/backend/commands/player/troll/boost_vehicle.cpp b/src/backend/commands/player/vehicle/boost_vehicle.cpp similarity index 79% rename from src/backend/commands/player/troll/boost_vehicle.cpp rename to src/backend/commands/player/vehicle/boost_vehicle.cpp index 23a8484d..8a123e39 100644 --- a/src/backend/commands/player/troll/boost_vehicle.cpp +++ b/src/backend/commands/player/vehicle/boost_vehicle.cpp @@ -14,7 +14,7 @@ namespace big Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in a vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } else { @@ -26,7 +26,7 @@ namespace big } else { - g_notification_service->push_warning("Toxic", "Failed to take control of player vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_FAILED_TO_TAKE_CONTROL"_T.data()); } } } diff --git a/src/backend/commands/player/troll/burst_tyres.cpp b/src/backend/commands/player/vehicle/burst_tyres.cpp similarity index 64% rename from src/backend/commands/player/troll/burst_tyres.cpp rename to src/backend/commands/player/vehicle/burst_tyres.cpp index b4fcee0b..bf609bc2 100644 --- a/src/backend/commands/player/troll/burst_tyres.cpp +++ b/src/backend/commands/player/vehicle/burst_tyres.cpp @@ -12,23 +12,21 @@ namespace big virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) { Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); + if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in a vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } - else { - Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped); + Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(ped, false); if (entity::take_control_of(vehicle)) { - Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped); - entity::take_control_of(vehicle); VEHICLE::SET_VEHICLE_TYRES_CAN_BURST(vehicle, true); - static int tireID = 0; - for (tireID = 0; tireID < 8; tireID++) + + for (int tire = 0; tire < 8; tire++) { - VEHICLE::SET_VEHICLE_TYRE_BURST(vehicle, tireID, true, 1000.0); + VEHICLE::SET_VEHICLE_TYRE_BURST(vehicle, tire, true, 1000.0f); } } } diff --git a/src/backend/commands/player/troll/close_doors.cpp b/src/backend/commands/player/vehicle/close_doors.cpp similarity index 89% rename from src/backend/commands/player/troll/close_doors.cpp rename to src/backend/commands/player/vehicle/close_doors.cpp index a6ea498a..a53fae2c 100644 --- a/src/backend/commands/player/troll/close_doors.cpp +++ b/src/backend/commands/player/vehicle/close_doors.cpp @@ -11,9 +11,10 @@ namespace big virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) { Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); + if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in a vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } else { diff --git a/src/backend/commands/player/troll/downgrade_vehicle.cpp b/src/backend/commands/player/vehicle/downgrade_vehicle.cpp similarity index 89% rename from src/backend/commands/player/troll/downgrade_vehicle.cpp rename to src/backend/commands/player/vehicle/downgrade_vehicle.cpp index 85ff3284..929b4374 100644 --- a/src/backend/commands/player/troll/downgrade_vehicle.cpp +++ b/src/backend/commands/player/vehicle/downgrade_vehicle.cpp @@ -13,10 +13,10 @@ namespace big { Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(ped, false); - + if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in a vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } else { diff --git a/src/backend/commands/player/vehicle/flip_180.cpp b/src/backend/commands/player/vehicle/flip_180.cpp new file mode 100644 index 00000000..a31ea663 --- /dev/null +++ b/src/backend/commands/player/vehicle/flip_180.cpp @@ -0,0 +1,46 @@ +#include "backend/player_command.hpp" +#include "natives.hpp" +#include "pointers.hpp" +#include "util/teleport.hpp" + +namespace big +{ + class flip_180 : player_command + { + using player_command::player_command; + + virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) + { + Ped player_ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); + Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(player_ped, false); + float heading = ENTITY::GET_ENTITY_HEADING(vehicle); + Vector3 flipCar180Coords = ENTITY::GET_ENTITY_COORDS(vehicle, 1); + + if (!PED::IS_PED_IN_ANY_VEHICLE(player_ped, true)) + { + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); + } + else + { + if (entity::take_control_of(vehicle)) + { + if (heading > 180.0) + { + heading -= 180.0; + } + else + { + heading += 180.0; + ENTITY::SET_ENTITY_COORDS(vehicle, flipCar180Coords.x, flipCar180Coords.y, flipCar180Coords.z, 0, 0, 0, 1); + ENTITY::SET_ENTITY_HEADING(vehicle, heading); + VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, ENTITY::GET_ENTITY_SPEED(vehicle)); + } + } + } + } + }; + + flip_180 + g_flip_180("flip180", "Rotate 180", "Rotates their car around", 0) + ; +} \ No newline at end of file diff --git a/src/backend/commands/player/troll/flying_vehicle.cpp b/src/backend/commands/player/vehicle/flying_vehicle.cpp similarity index 88% rename from src/backend/commands/player/troll/flying_vehicle.cpp rename to src/backend/commands/player/vehicle/flying_vehicle.cpp index 9b2119c8..44664500 100644 --- a/src/backend/commands/player/troll/flying_vehicle.cpp +++ b/src/backend/commands/player/vehicle/flying_vehicle.cpp @@ -12,9 +12,10 @@ namespace big virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) { Entity ent = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); + if (!PED::IS_PED_IN_ANY_VEHICLE(ent, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in any vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } else { diff --git a/src/backend/commands/player/troll/kill_engine.cpp b/src/backend/commands/player/vehicle/kill_engine.cpp similarity index 89% rename from src/backend/commands/player/troll/kill_engine.cpp rename to src/backend/commands/player/vehicle/kill_engine.cpp index 44bda5d2..967c2f1b 100644 --- a/src/backend/commands/player/troll/kill_engine.cpp +++ b/src/backend/commands/player/vehicle/kill_engine.cpp @@ -13,7 +13,7 @@ namespace big Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in a vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } else { diff --git a/src/backend/commands/player/troll/lock_doors.cpp b/src/backend/commands/player/vehicle/lock_doors.cpp similarity index 57% rename from src/backend/commands/player/troll/lock_doors.cpp rename to src/backend/commands/player/vehicle/lock_doors.cpp index 4fbdfb8d..bfa88928 100644 --- a/src/backend/commands/player/troll/lock_doors.cpp +++ b/src/backend/commands/player/vehicle/lock_doors.cpp @@ -12,17 +12,20 @@ namespace big virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) { int lockStatus = VEHICLE::GET_VEHICLE_DOOR_LOCK_STATUS(player->id()); - Entity ent = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); - if (!PED::IS_PED_IN_ANY_VEHICLE(ent, true)) + Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); + + if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in a vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } else { - if (entity::take_control_of(ent)) + Vehicle veh = PED::GET_VEHICLE_PED_IS_IN(ped, false); + + if (entity::take_control_of(veh)) { - entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(player->id())); - VEHICLE::SET_VEHICLE_DOORS_LOCKED(PED::GET_VEHICLE_PED_IS_USING(player->id()), 4); + entity::take_control_of(veh); + VEHICLE::SET_VEHICLE_DOORS_LOCKED(veh, 4); } } } diff --git a/src/backend/commands/player/troll/open_doors.cpp b/src/backend/commands/player/vehicle/open_doors.cpp similarity index 83% rename from src/backend/commands/player/troll/open_doors.cpp rename to src/backend/commands/player/vehicle/open_doors.cpp index acab7f69..09e28519 100644 --- a/src/backend/commands/player/troll/open_doors.cpp +++ b/src/backend/commands/player/vehicle/open_doors.cpp @@ -14,7 +14,7 @@ namespace big Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in a vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } else { @@ -22,7 +22,7 @@ namespace big if (entity::take_control_of(vehicle)) { - for (int i = 0; i < 7; i++) + for (int i = 0; i < VEHICLE::GET_NUMBER_OF_VEHICLE_DOORS(i); i++) { VEHICLE::SET_VEHICLE_DOOR_OPEN(vehicle, i, true, false); } diff --git a/src/backend/commands/player/troll/remote_control_vehicle.cpp b/src/backend/commands/player/vehicle/remote_control_vehicle.cpp similarity index 100% rename from src/backend/commands/player/troll/remote_control_vehicle.cpp rename to src/backend/commands/player/vehicle/remote_control_vehicle.cpp diff --git a/src/backend/commands/player/troll/smash_windows.cpp b/src/backend/commands/player/vehicle/smash_windows.cpp similarity index 69% rename from src/backend/commands/player/troll/smash_windows.cpp rename to src/backend/commands/player/vehicle/smash_windows.cpp index 6a716cbe..6dd4ca9c 100644 --- a/src/backend/commands/player/troll/smash_windows.cpp +++ b/src/backend/commands/player/vehicle/smash_windows.cpp @@ -14,12 +14,16 @@ namespace big Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); if (PED::IS_PED_IN_ANY_VEHICLE(ped, false)) { - entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(ped)); - Vehicle UserVeh = PED::GET_VEHICLE_PED_IS_IN(ped, false); - static int windowID = 0; - for (windowID = 0; windowID < 10; windowID++) + Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(ped, false); + + if (entity::take_control_of(vehicle)) { - VEHICLE::SMASH_VEHICLE_WINDOW(UserVeh, windowID); + int window = 0; + + for (window = 0; window < 8; window++) + { + VEHICLE::SMASH_VEHICLE_WINDOW(vehicle, window); + } } } } diff --git a/src/backend/commands/player/troll/stop_vehicle.cpp b/src/backend/commands/player/vehicle/stop_vehicle.cpp similarity index 83% rename from src/backend/commands/player/troll/stop_vehicle.cpp rename to src/backend/commands/player/vehicle/stop_vehicle.cpp index a1ec2554..e7e8c2d9 100644 --- a/src/backend/commands/player/troll/stop_vehicle.cpp +++ b/src/backend/commands/player/vehicle/stop_vehicle.cpp @@ -13,14 +13,15 @@ namespace big Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) { - g_notification_service->push_warning("Toxic", "Target player is not in a vehicle."); + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); } else { Vehicle vehicle = PED::GET_VEHICLE_PED_IS_USING(ped); + if (entity::take_control_of(vehicle)) { - VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0); + VEHICLE::BRING_VEHICLE_TO_HALT(vehicle, 0.0f, 1, 0); } else { diff --git a/src/backend/commands/player/troll/unlock_doors.cpp b/src/backend/commands/player/vehicle/unlock_doors.cpp similarity index 67% rename from src/backend/commands/player/troll/unlock_doors.cpp rename to src/backend/commands/player/vehicle/unlock_doors.cpp index 386ad5b2..e1377556 100644 --- a/src/backend/commands/player/troll/unlock_doors.cpp +++ b/src/backend/commands/player/vehicle/unlock_doors.cpp @@ -10,10 +10,10 @@ namespace big virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) { - if (PED::IS_PED_IN_ANY_VEHICLE((player->id()), false)) + if (PED::IS_PED_IN_ANY_VEHICLE(player->id(), false)) { - entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(player->id())); - VEHICLE::SET_VEHICLE_DOORS_LOCKED(PED::GET_VEHICLE_PED_IS_USING(player->id()), 0); + if (entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(player->id()))) + VEHICLE::SET_VEHICLE_DOORS_LOCKED(PED::GET_VEHICLE_PED_IS_USING(player->id()), 0); } } }; diff --git a/src/backend/commands/player/troll/upgrade_vehicle.cpp b/src/backend/commands/player/vehicle/upgrade_vehicle.cpp similarity index 58% rename from src/backend/commands/player/troll/upgrade_vehicle.cpp rename to src/backend/commands/player/vehicle/upgrade_vehicle.cpp index 67f13f86..2e1f9868 100644 --- a/src/backend/commands/player/troll/upgrade_vehicle.cpp +++ b/src/backend/commands/player/vehicle/upgrade_vehicle.cpp @@ -12,8 +12,17 @@ namespace big virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) { - Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()), false); - vehicle::max_vehicle(vehicle); + Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); + Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(ped, false); + + if (!PED::IS_PED_IN_ANY_VEHICLE(ped, true)) + { + g_notification_service->push_warning("TOXIC"_T.data(), "ERROR_PLAYER_IS_NOT_IN_VEHICLE"_T.data()); + } + else + { + vehicle::max_vehicle(vehicle); + } } }; diff --git a/src/backend/commands/player/troll/window_tint.cpp b/src/backend/commands/player/vehicle/window_tint.cpp similarity index 75% rename from src/backend/commands/player/troll/window_tint.cpp rename to src/backend/commands/player/vehicle/window_tint.cpp index 26de85a8..7c2c069b 100644 --- a/src/backend/commands/player/troll/window_tint.cpp +++ b/src/backend/commands/player/vehicle/window_tint.cpp @@ -13,12 +13,13 @@ namespace big virtual void execute(player_ptr player, const std::vector& _args, const std::shared_ptr ctx) { Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player->id()); + if (PED::IS_PED_IN_ANY_VEHICLE(ped, false)) { - entity::take_control_of(PED::GET_VEHICLE_PED_IS_USING(ped)); - Vehicle UserVeh = PED::GET_VEHICLE_PED_IS_IN(ped, false); + Vehicle vehicle = PED::GET_VEHICLE_PED_IS_IN(ped, false); - VEHICLE::SET_VEHICLE_WINDOW_TINT(UserVeh, WINDOWTINT_BLACK); + if (entity::take_control_of(vehicle)) + VEHICLE::SET_VEHICLE_WINDOW_TINT(vehicle, WINDOWTINT_BLACK); } } }; diff --git a/src/backend/commands/self/heal.cpp b/src/backend/commands/self/heal.cpp index a9ded7af..a7a948b9 100644 --- a/src/backend/commands/self/heal.cpp +++ b/src/backend/commands/self/heal.cpp @@ -14,5 +14,5 @@ namespace big } }; - heal g_heal("heal", "Heal", "Restores full health and armor", 0); + heal g_heal("heal", "HEAL", "HEAL_DESC", 0); } \ No newline at end of file diff --git a/src/backend/int_command.hpp b/src/backend/int_command.hpp index bfa87963..00c8fc60 100644 --- a/src/backend/int_command.hpp +++ b/src/backend/int_command.hpp @@ -3,7 +3,7 @@ namespace big { - class int_command : command + class int_command : public command { protected: int& m_value; @@ -19,5 +19,13 @@ namespace big { return m_value; } + inline int get_lower_bound() + { + return m_lower_bound; + } + inline int get_upper_bound() + { + return m_upper_bound; + } }; } \ No newline at end of file diff --git a/src/backend/looped/looped.hpp b/src/backend/looped/looped.hpp index 7991102a..7b192074 100644 --- a/src/backend/looped/looped.hpp +++ b/src/backend/looped/looped.hpp @@ -28,7 +28,6 @@ namespace big static void self_hud(); static void self_dance_mode(); - static void session_local_time(); static void session_pop_multiplier_areas(); static void session_force_thunder(); static void session_block_jobs(); @@ -43,11 +42,8 @@ namespace big static void vehicle_auto_drive(); static void vehicle_boost_behavior(); - static void vehicle_fly(); - static void vehicle_god_mode(); static void vehicle_ls_customs(); static void vehicle_rainbow_paint(); - static void vehicle_turn_signals(); static void weapons_ammo_special_type(); static void weapons_cage_gun(); diff --git a/src/backend/looped/self/clean_player.cpp b/src/backend/looped/self/clean_player.cpp index f4364761..6001b32c 100644 --- a/src/backend/looped/self/clean_player.cpp +++ b/src/backend/looped/self/clean_player.cpp @@ -14,6 +14,5 @@ namespace big } }; - clean_player_looped g_clean_player_looped("cleanloop", "Keep Player Clean", "Prevents wetness and decals from being applied on you", - g.self.clean_player); + clean_player_looped g_clean_player_looped("cleanloop", "KEEP_PLAYER_CLEAN", "KEEP_PLAYER_CLEAN_DESC", g.self.clean_player); } diff --git a/src/backend/looped/self/fast_respawn.cpp b/src/backend/looped/self/fast_respawn.cpp index 084c75ae..9593ac00 100644 --- a/src/backend/looped/self/fast_respawn.cpp +++ b/src/backend/looped/self/fast_respawn.cpp @@ -18,9 +18,10 @@ namespace big ENTITY::SET_ENTITY_COORDS_NO_OFFSET(self::ped, self::pos.x, self::pos.y, self::pos.z, 0, 0, 0); TASK::CLEAR_PED_TASKS_IMMEDIATELY(self::ped); MISC::FORCE_GAME_STATE_PLAYING(); + MISC::TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("respawn_controller"); } } }; - fast_respawn g_fast_respawn("fastrespawn", "Instant Respawn", "Makes you respawn instantly when you die", g.self.fast_respawn); + fast_respawn g_fast_respawn("fastrespawn", "INSTANT_RESPAWN", "INSTANT_RESPAWN_DESC", g.self.fast_respawn); } diff --git a/src/backend/looped/self/free_cam.cpp b/src/backend/looped/self/free_cam.cpp index d2417b38..79775ae7 100644 --- a/src/backend/looped/self/free_cam.cpp +++ b/src/backend/looped/self/free_cam.cpp @@ -71,7 +71,7 @@ namespace big Vector3 rot = CAM::GET_CAM_ROT(camera, 2); //float pitch = math::deg_to_rad(rot.x); // vertical //float roll = rot.y; - float yaw = math::deg_to_rad(rot.z);// horizontal + float yaw = math::deg_to_rad(rot.z); // horizontal position.x += (vecChange.x * cos(yaw) - vecChange.y * sin(yaw)) * mult; position.y += (vecChange.x * sin(yaw) + vecChange.y * cos(yaw)) * mult; @@ -95,5 +95,5 @@ namespace big } }; - free_cam g_free_cam("freecam", "Freecam", "Allows you to move your camera freely?", g.self.free_cam); + free_cam g_free_cam("freecam", "FREECAM", "FREECAM_DESC", g.self.free_cam); } \ No newline at end of file diff --git a/src/backend/looped/self/godmode.cpp b/src/backend/looped/self/godmode.cpp index 1bfca422..29703764 100644 --- a/src/backend/looped/self/godmode.cpp +++ b/src/backend/looped/self/godmode.cpp @@ -37,5 +37,5 @@ namespace big static bool true_ref = true; godmode_internal g_godmode_internal("$$godmode", "", "", true_ref); - bool_command g_godmode("godmode", "God Mode", "Prevents you from taking any form of damage", g.self.god_mode); + bool_command g_godmode("godmode", "GODMODE", "GODMODE_DESC", g.self.god_mode); } \ No newline at end of file diff --git a/src/backend/looped/self/health.cpp b/src/backend/looped/self/health.cpp index 6f16e27b..39773bb0 100644 --- a/src/backend/looped/self/health.cpp +++ b/src/backend/looped/self/health.cpp @@ -1,6 +1,6 @@ -#include "natives.hpp" #include "backend/looped_command.hpp" #include "gta/enums.hpp" +#include "natives.hpp" namespace big { @@ -21,5 +21,5 @@ namespace big } }; - health_regen_looped g_health_regen_looped("healthregen", "Override Health Regen", "Turn on the regen multiplier you have set.", g.self.healthregen); + health_regen_looped g_health_regen_looped("healthregen", "HEALTH_REGEN", "HEALTH_REGEN_DESC", g.self.healthregen); } \ No newline at end of file diff --git a/src/backend/looped/self/invisibility.cpp b/src/backend/looped/self/invisibility.cpp index 5c6d526d..aa6f57d9 100644 --- a/src/backend/looped/self/invisibility.cpp +++ b/src/backend/looped/self/invisibility.cpp @@ -36,7 +36,6 @@ namespace big } }; - invisibility g_invisibility("invis", "Invisiblity", "Makes you invisible", g.self.invisibility); - bool_command g_local_visibility("localvis", "Visible Locally", "Makes you visible to yourself, but other players would still not be able to see you", - g.self.local_visibility); + invisibility g_invisibility("invis", "INVISIBILITY", "INVISIBILITY_DESC", g.self.invisibility); + bool_command g_local_visibility("localvis", "LOCAL_VISIBILITY", "LOCAL_VISIBILITY_DESC", g.self.local_visibility); } \ No newline at end of file diff --git a/src/backend/looped/self/mobile_radio.cpp b/src/backend/looped/self/mobile_radio.cpp index 65532558..eb581a67 100644 --- a/src/backend/looped/self/mobile_radio.cpp +++ b/src/backend/looped/self/mobile_radio.cpp @@ -20,5 +20,5 @@ namespace big } }; - mobile_radio g_mobile_radio("mobileradio", "Mobile Radio", "Allows you to listen to the radio on foot", g.self.mobile_radio); + mobile_radio g_mobile_radio("mobileradio", "MOBILE_RADIO", "MOBILE_RADIO_DESC", g.self.mobile_radio); } diff --git a/src/backend/looped/self/no_collision.cpp b/src/backend/looped/self/no_collision.cpp index ab65cf47..36e2fe49 100644 --- a/src/backend/looped/self/no_collision.cpp +++ b/src/backend/looped/self/no_collision.cpp @@ -28,6 +28,5 @@ namespace big ->m_bounding_box_max_xyz_margin_w.w = 0.25; } }; - no_collision - g_no_collision("nocollision", "No Collision", "Allows you to walk through vehicles and most obstacles", g.self.no_collision); + no_collision g_no_collision("nocollision", "NO_COLLISION", "NO_COLLISION_DESC", g.self.no_collision); } diff --git a/src/backend/looped/self/no_ragdoll.cpp b/src/backend/looped/self/no_ragdoll.cpp index d784f085..ac847fa5 100644 --- a/src/backend/looped/self/no_ragdoll.cpp +++ b/src/backend/looped/self/no_ragdoll.cpp @@ -20,5 +20,5 @@ namespace big } }; - no_ragdoll g_no_ragdoll("noragdoll", "No Ragdoll", "Prevents you from ragdolling", g.self.no_ragdoll); + no_ragdoll g_no_ragdoll("noragdoll", "NO_RAGDOLL", "NO_RAGDOLL_DESC", g.self.no_ragdoll); } diff --git a/src/backend/looped/self/no_water_collision.cpp b/src/backend/looped/self/no_water_collision.cpp index 646f72db..3bf322c2 100644 --- a/src/backend/looped/self/no_water_collision.cpp +++ b/src/backend/looped/self/no_water_collision.cpp @@ -22,6 +22,5 @@ namespace big } }; - no_water_collision - g_no_water_collision("walkunder", "Walk Underwater", "Allows you to walk and shoot underwater", g.self.no_water_collision); + no_water_collision g_no_water_collision("walkunder", "WALK_UNDERWATER", "WALK_UNDERWATER_DESC", g.self.no_water_collision); } diff --git a/src/backend/looped/self/noclip.cpp b/src/backend/looped/self/noclip.cpp index d93ec7bf..c5a7db0b 100644 --- a/src/backend/looped/self/noclip.cpp +++ b/src/backend/looped/self/noclip.cpp @@ -3,8 +3,8 @@ #include "fiber_pool.hpp" #include "gta/enums.hpp" #include "natives.hpp" -#include "util/entity.hpp" #include "services/orbital_drone/orbital_drone.hpp" +#include "util/entity.hpp" namespace big { @@ -94,5 +94,5 @@ namespace big } }; - noclip g_noclip("noclip", "No Clip", "Allows you to fly through the map", g.self.noclip); + noclip g_noclip("noclip", "NO_CLIP", "NO_CLIP_DESC", g.self.noclip); } diff --git a/src/backend/looped/self/off_radar.cpp b/src/backend/looped/self/off_radar.cpp index e2a025f7..4cd79543 100644 --- a/src/backend/looped/self/off_radar.cpp +++ b/src/backend/looped/self/off_radar.cpp @@ -20,5 +20,5 @@ namespace big } }; - off_radar g_off_radar("otr", "Off Radar", "Hides your blip from other players", g.self.off_radar); + off_radar g_off_radar("otr", "OFF_RADAR", "OFF_RADAR_DESC", g.self.off_radar); } diff --git a/src/backend/looped/self/part_water.cpp b/src/backend/looped/self/part_water.cpp index 93aafa60..00bbf38c 100644 --- a/src/backend/looped/self/part_water.cpp +++ b/src/backend/looped/self/part_water.cpp @@ -4,6 +4,7 @@ namespace big { + // this doesn't actually work class partwater : looped_command { using looped_command::looped_command; @@ -30,5 +31,5 @@ namespace big } }; - partwater g_partwater("partwater", "Part Water", "Makes you like Moses", g.world.water.part_water); + partwater g_partwater("partwater", "PART_WATER", "PART_WATER_DESC", g.world.water.part_water); } diff --git a/src/backend/looped/self/ptfx.cpp b/src/backend/looped/self/ptfx.cpp index 64755373..6dc614d4 100644 --- a/src/backend/looped/self/ptfx.cpp +++ b/src/backend/looped/self/ptfx.cpp @@ -33,12 +33,12 @@ namespace big 1, 1, 1); - STREAMING::REMOVE_PTFX_ASSET(); } } void show_vehicle_ptfx_effect(const char* fx_name, const char* name) { + STREAMING::REQUEST_NAMED_PTFX_ASSET(fx_name); for (const auto& ptfx_bone : ptfx_vehicle_pos) { GRAPHICS::USE_PARTICLE_FX_ASSET(fx_name); @@ -65,7 +65,12 @@ namespace big else show_vehicle_ptfx_effect(g.self.ptfx_effects.asset, g.self.ptfx_effects.effect); } + + virtual void on_disable() override + { + STREAMING::REMOVE_PTFX_ASSET(); + } }; - ptfx_looped g_ptfx_looped("ptfx", "Enable PTFX", "Show nice PTFX Effects on your character", g.self.ptfx_effects.show); + ptfx_looped g_ptfx_looped("ptfx", "PTFX_CMD", "PTFX_CMD_DESC", g.self.ptfx_effects.show); } \ No newline at end of file diff --git a/src/backend/looped/self/super_run.cpp b/src/backend/looped/self/super_run.cpp index 633dccf4..ba96bb92 100644 --- a/src/backend/looped/self/super_run.cpp +++ b/src/backend/looped/self/super_run.cpp @@ -61,5 +61,5 @@ namespace big } }; - super_run g_super_run("fastrun", "Super Run", "Makes you run much faster", g.self.super_run); + super_run g_super_run("fastrun", "SUPER_RUN", "SUPER_RUN_DESC", g.self.super_run); } diff --git a/src/backend/looped/self/superman.cpp b/src/backend/looped/self/superman.cpp index 0b82018c..cd2229e0 100644 --- a/src/backend/looped/self/superman.cpp +++ b/src/backend/looped/self/superman.cpp @@ -37,5 +37,5 @@ namespace big } }; - superman g_superman("superman", "Superman", "Fly like a superman", g.self.superman); + superman g_superman("superman", "SUPERMAN", "SUPERMAN_DESC", g.self.superman); } diff --git a/src/backend/looped/self/unlimited_oxygen.cpp b/src/backend/looped/self/unlimited_oxygen.cpp index 112fc364..830901ac 100644 --- a/src/backend/looped/self/unlimited_oxygen.cpp +++ b/src/backend/looped/self/unlimited_oxygen.cpp @@ -16,6 +16,5 @@ namespace big } }; - unlimited_oxygen - g_unlimited_oxygen("infoxy", "Unlimited Oxygen", "Allows you to stay underwater without losing oxygen", g.self.unlimited_oxygen); + unlimited_oxygen g_unlimited_oxygen("infoxy", "UNLIMITED_OXYGEN", "UNLIMITED_OXYGEN_DESC", g.self.unlimited_oxygen); } diff --git a/src/backend/looped/session/local_time.cpp b/src/backend/looped/session/local_time.cpp deleted file mode 100644 index eef7d7b7..00000000 --- a/src/backend/looped/session/local_time.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "backend/looped/looped.hpp" -#include "natives.hpp" - -namespace big -{ - static bool toggled = true; - - void looped::session_local_time() - { - if (g.session.override_time) - { - if (toggled) - { - NETWORK::NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK(&g.session.custom_time.hour, - &g.session.custom_time.minute, - &g.session.custom_time.second); - toggled = false; - } - - NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(g.session.custom_time.hour, - g.session.custom_time.minute, - g.session.custom_time.second); - } - else - { - NETWORK::NETWORK_CLEAR_CLOCK_TIME_OVERRIDE(); - toggled = true; - } - } -} diff --git a/src/backend/looped/system/auto_tp_to_waypoint.cpp b/src/backend/looped/system/auto_tp_to_waypoint.cpp index 175031d1..80b8f421 100644 --- a/src/backend/looped/system/auto_tp_to_waypoint.cpp +++ b/src/backend/looped/system/auto_tp_to_waypoint.cpp @@ -10,14 +10,10 @@ namespace big virtual void on_tick() override { - //this is a hack to prevent the warning notify.. - if (!teleport::to_blip((int)BlipIcons::Waypoint)) - return; - - teleport::to_waypoint(); + teleport::to_blip((int)BlipIcons::Waypoint); } }; - auto_tp_to_waypoint g_auto_tp_to_waypoint("autotptowp", "Auto-Teleport To Waypoint", "Automatically teleports you to a waypoint as soon as you set one.", + auto_tp_to_waypoint g_auto_tp_to_waypoint("autotptowp", "Auto-Teleport To Waypoint", "Automatically teleports you to a waypoint as soon as you set one", g.self.auto_tp); } diff --git a/src/backend/looped/vehicle/auto_drive.cpp b/src/backend/looped/vehicle/auto_drive.cpp index f9206282..57ed26a7 100644 --- a/src/backend/looped/vehicle/auto_drive.cpp +++ b/src/backend/looped/vehicle/auto_drive.cpp @@ -9,7 +9,7 @@ namespace big { void looped::vehicle_auto_drive() { - static std::map driving_style_flags = {{AutoDriveStyle::LAW_ABIDING, 443}, {AutoDriveStyle::THE_ROAD_IS_YOURS, 787004}}; + static std::unordered_map driving_style_flags = {{AutoDriveStyle::LAW_ABIDING, 443}, {AutoDriveStyle::THE_ROAD_IS_YOURS, 787004}}; static int changing_driving_styles = false; static AutoDriveDestination current_destination = AutoDriveDestination::STOPPED; diff --git a/src/backend/looped/vehicle/drive_on_water.cpp b/src/backend/looped/vehicle/drive_on_water.cpp index 2a123da6..ea9d7b15 100644 --- a/src/backend/looped/vehicle/drive_on_water.cpp +++ b/src/backend/looped/vehicle/drive_on_water.cpp @@ -12,45 +12,32 @@ namespace big const rage::joaat_t drive_on_water_surface_hash = RAGE_JOAAT("stt_prop_stunt_bblock_xl3"); Vector3 drive_on_water_last_loc; + Object surface; void drive_on_water_hide_surface() { - Object surface = OBJECT::GET_CLOSEST_OBJECT_OF_TYPE(drive_on_water_last_loc.x, - drive_on_water_last_loc.y, - drive_on_water_last_loc.z, - 4.0, - drive_on_water_surface_hash, - 0, - 0, - 1); - - if (surface) + if (surface && entity::take_control_of(surface, 0)) { - entity::take_control_of(surface); ENTITY::SET_ENTITY_COORDS(surface, 0, 0, -1000.0f, 0, 0, 0, 1); ENTITY::SET_ENTITY_AS_NO_LONGER_NEEDED(&surface); ENTITY::DELETE_ENTITY(&surface); - WATER::RESET_DEEP_OCEAN_SCALER(); + surface = 0; } + + WATER::RESET_DEEP_OCEAN_SCALER(); } virtual void on_tick() override { - Vector3 location = ENTITY::GET_ENTITY_COORDS(self::veh, 1); + Vector3 location = ENTITY::GET_ENTITY_COORDS(self::veh, true); float height = 0; - WATER::SET_DEEP_OCEAN_SCALER(0); - if (location.z - height < 10 && WATER::GET_WATER_HEIGHT_NO_WAVES(location.x, location.y, location.z, &height) && self::veh) - { - Object surface = OBJECT::GET_CLOSEST_OBJECT_OF_TYPE(drive_on_water_last_loc.x, - drive_on_water_last_loc.y, - drive_on_water_last_loc.z, - 4.0, - drive_on_water_surface_hash, - 0, - 0, - 1); + if (self::veh) + WATER::SET_DEEP_OCEAN_SCALER(0); + if (self::veh && location.z - height < 10 + && WATER::GET_WATER_HEIGHT_NO_WAVES(location.x, location.y, location.z, &height)) + { if (ENTITY::DOES_ENTITY_EXIST(surface) && height > -50.0f) { entity::take_control_of(surface); @@ -68,8 +55,8 @@ namespace big if (location.z < height - 2.f) { - entity::take_control_of(self::veh); - ENTITY::SET_ENTITY_COORDS(self::veh, location.x, location.y, height, 0, 0, 0, 0); + if (entity::take_control_of(self::veh, 0)) + ENTITY::SET_ENTITY_COORDS(self::veh, location.x, location.y, height, 0, 0, 0, 0); } } else @@ -90,7 +77,6 @@ namespace big 1, 0); - entity::take_control_of(surface); ENTITY::FREEZE_ENTITY_POSITION(surface, 1); ENTITY::SET_ENTITY_ALPHA(surface, 0, 1); ENTITY::SET_ENTITY_VISIBLE(surface, false, 0); diff --git a/src/backend/looped/vehicle/fly.cpp b/src/backend/looped/vehicle/fly.cpp index 8ad3a0f2..a58d9ab6 100644 --- a/src/backend/looped/vehicle/fly.cpp +++ b/src/backend/looped/vehicle/fly.cpp @@ -1,100 +1,17 @@ -#include "backend/looped/looped.hpp" +#include "backend/looped_command.hpp" #include "gta/enums.hpp" #include "natives.hpp" -#include "util/entity.hpp" namespace big { - - static bool last_fly_tick = false; - - void do_vehicle_fly() + class vehicle_fly : looped_command { - Vehicle vehicle = self::veh; + using looped_command::looped_command; - Vector3 cam_pos = CAM::GET_GAMEPLAY_CAM_ROT(0); - ENTITY::SET_ENTITY_ROTATION(vehicle, cam_pos.x, cam_pos.y, cam_pos.z, 1, true); - ENTITY::SET_ENTITY_COLLISION(vehicle, !g.vehicle.fly.no_collision, true); + Vehicle last_vehicle = 0; - float locspeed = g.vehicle.fly.speed; - - if (PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY)) + void cleanup(Vehicle vehicle) { - locspeed *= 2; - } - - - if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE)) - { - if (g.vehicle.fly.dont_stop) - { - ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, g.vehicle.fly.speed, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); - } - else - { - VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, locspeed); - } - } - - if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE)) - { - float lsp = g.vehicle.fly.speed; - if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY)) - { - lsp = (g.vehicle.fly.speed * 2); - } - if (g.vehicle.fly.dont_stop) - { - ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, 0 - (lsp), 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); - } - else - { - VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, (0 - locspeed)); - } - } - - if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY)) - { - float lsp = ((0 - g.vehicle.fly.speed) * 2); - if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY)) - { - lsp = (0 - g.vehicle.fly.speed); - } - if (g.vehicle.fly.dont_stop) - { - ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, (lsp), 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); - } - else - { - ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, (0 - (locspeed)), 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); - } - } - - if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY)) - { - float lsp = g.vehicle.fly.speed; - if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY)) - { - lsp = (g.vehicle.fly.speed * 2); - } - if (g.vehicle.fly.dont_stop) - { - ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, lsp, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); - } - else - { - ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, locspeed, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); - } - } - - if (!g.vehicle.fly.dont_stop && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE) && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE)) - { - VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0.0); - } - - if (TASK::GET_IS_TASK_ACTIVE(self::ped, 2)) - { - g.vehicle.fly.enabled = false; VEHICLE::SET_VEHICLE_GRAVITY(vehicle, true); ENTITY::SET_ENTITY_COLLISION(vehicle, true, true); if (g.vehicle.fly.stop_on_exit) @@ -102,46 +19,110 @@ namespace big VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0.0); } } - } - void looped::vehicle_fly() - { - Vehicle vehicle = self::veh; - if (g.vehicle.fly.enabled) + virtual void on_tick() override { - last_fly_tick = true; + Vehicle vehicle = self::veh; - if (!vehicle) + if (last_vehicle != vehicle) { - g_notification_service->push_warning("Warning", "Please be in a vehicle before enabling vehicle fly."); - g.vehicle.fly.enabled = false; - return; + if (last_vehicle) + cleanup(last_vehicle); + + last_vehicle = vehicle; } - else + + if (vehicle) { - if (NETWORK::NETWORK_HAS_CONTROL_OF_ENTITY(vehicle)) + Vector3 cam_pos = CAM::GET_GAMEPLAY_CAM_ROT(0); + ENTITY::SET_ENTITY_ROTATION(vehicle, cam_pos.x, cam_pos.y, cam_pos.z, 1, true); + ENTITY::SET_ENTITY_COLLISION(vehicle, !g.vehicle.fly.no_collision, true); + + float locspeed = g.vehicle.fly.speed; + + if (PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY)) { - do_vehicle_fly(); - VEHICLE::SET_VEHICLE_GRAVITY(vehicle, false); + locspeed *= 2; } - else + + if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE)) { - for (int i = 0; i < 5; i++) + if (g.vehicle.fly.dont_stop) { - entity::take_control_of(vehicle); - g_notification_service->push_warning("Warning", "Failed to take control of the vehicle."); + ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, g.vehicle.fly.speed, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); + } + else + { + VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, locspeed); } } + + if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE)) + { + float lsp = g.vehicle.fly.speed; + if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY)) + { + lsp = (g.vehicle.fly.speed * 2); + } + if (g.vehicle.fly.dont_stop) + { + ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, 0 - (lsp), 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); + } + else + { + VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, (0 - locspeed)); + } + } + + if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY)) + { + float lsp = ((0 - g.vehicle.fly.speed) * 2); + if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY)) + { + lsp = (0 - g.vehicle.fly.speed); + } + if (g.vehicle.fly.dont_stop) + { + ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, (lsp), 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); + } + else + { + ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, (0 - (locspeed)), 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); + } + } + + if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY)) + { + float lsp = g.vehicle.fly.speed; + if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY)) + { + lsp = (g.vehicle.fly.speed * 2); + } + if (g.vehicle.fly.dont_stop) + { + ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, lsp, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); + } + else + { + ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, locspeed, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1); + } + } + + if (!g.vehicle.fly.dont_stop && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE) && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE)) + { + VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0.0); + } + + VEHICLE::SET_VEHICLE_GRAVITY(vehicle, false); } } - else + + virtual void on_disable() override { - if (last_fly_tick) - { - ENTITY::SET_ENTITY_COLLISION(vehicle, true, true); - VEHICLE::SET_VEHICLE_GRAVITY(vehicle, true); - last_fly_tick = false; - } + if (self::veh) + cleanup(self::veh); } - } + }; + + vehicle_fly g_vehicle_fly("vehiclefly", "Vehicle Fly", "Fly with any land vehicle", g.vehicle.fly.enabled); } diff --git a/src/backend/looped/vehicle/rgb_paint.cpp b/src/backend/looped/vehicle/rgb_paint.cpp index 35f2c69c..bdf269dd 100644 --- a/src/backend/looped/vehicle/rgb_paint.cpp +++ b/src/backend/looped/vehicle/rgb_paint.cpp @@ -1,3 +1,5 @@ +#include "backend/bool_command.hpp" +#include "backend/int_command.hpp" #include "backend/looped/looped.hpp" #include "natives.hpp" #include "script.hpp" @@ -127,4 +129,16 @@ namespace big last_rgb_run_time = std::chrono::system_clock::now(); } } + + bool_command g_rainbow_paint_primary("rainbowpri", "Rainbow Paint: Apply to Primary", "Applies active rainbow effect to the current vehicle's primary color", + g.vehicle.rainbow_paint.primary); + bool_command g_rainbow_paint_secondary("rainbowsec", "Rainbow Paint: Apply to Secondary", "Applies active rainbow effect to the current vehicle's secondary color", + g.vehicle.rainbow_paint.secondary); + bool_command g_rainbow_paint_neon("rainbowneons", "Rainbow Paint: Apply to Neons", "Applies active rainbow effect to the current vehicle's neon color", + g.vehicle.rainbow_paint.neon); + bool_command g_rainbow_paint_smoke("rainbowsmoke", "Rainbow Paint: Apply to Tire Smoke", "Applies active rainbow effect to the current vehicle's tire smoke color", + g.vehicle.rainbow_paint.smoke); + int_command g_rainbow_paint_speed("rainbowspeed", "Rainbow Paint: Speed", "Speed of the rainbow paint effect", + g.vehicle.rainbow_paint.speed, 1, 10); + } \ No newline at end of file diff --git a/src/backend/looped/vehicle/turn_signals.cpp b/src/backend/looped/vehicle/turn_signals.cpp index 19975a9d..dd56bd97 100644 --- a/src/backend/looped/vehicle/turn_signals.cpp +++ b/src/backend/looped/vehicle/turn_signals.cpp @@ -1,4 +1,4 @@ -#include "backend/looped/looped.hpp" +#include "backend/looped_command.hpp" #include "fiber_pool.hpp" #include "gta/enums.hpp" #include "natives.hpp" @@ -6,161 +6,160 @@ #include "util/is_key_pressed.hpp" #include "windows.h" -struct key_state -{ - key_state(int v_key) : - v_key(v_key) - { - } - - enum - { - up, - down, - just_pressed, - just_released, - }; - - uint8_t state = up; - int v_key; -}; - -inline key_state right_signal_key{'L'}; -inline key_state left_signal_key{'J'}; -inline key_state hazzards_key{'K'}; - -void update_key_state(key_state& key_last_tick) -{ - if (big::is_key_pressed(key_last_tick.v_key)) - { - switch (key_last_tick.state) - { - case key_state::up: key_last_tick.state = key_state::just_pressed; break; - - case key_state::just_pressed: key_last_tick.state = key_state::down; break; - } - } - else - { - switch (key_last_tick.state) - { - case key_state::down: key_last_tick.state = key_state::just_released; break; - - case key_state::just_released: key_last_tick.state = key_state::up; break; - } - } -} - - -void update_key_states() -{ - update_key_state(left_signal_key); - update_key_state(hazzards_key); - update_key_state(right_signal_key); -} - -struct signal_state -{ - enum - { - right, - left, - hazzards - }; -}; - -inline void set_turn_signals(int signal_state, bool on) -{ - static constexpr int off = 0; - - if (self::veh && big::g.vehicle.turn_signals) - { - switch (signal_state) - { - case signal_state::hazzards: - VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::left, on); - VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::right, on); - break; - - case signal_state::right: - VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::left, off); - VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::right, on); - break; - - case signal_state::left: - VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::left, on); - VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::right, off); - break; - } - } -} - namespace big { - static bool b_last_turn_signals = false; - - void looped::vehicle_turn_signals() + struct key_state { - static bool hazzards = false; - bool b_turn_signals = g.vehicle.turn_signals; - - if (!b_turn_signals && b_turn_signals != b_last_turn_signals) + key_state(int v_key) : + v_key(v_key) { - VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false), 0, 0); - VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false), 1, 0); } - if (g.vehicle.turn_signals) + enum { - static bool ran_once = [] { - g_notification_service->push("Instructions", "Manual: J = Left, L = Right, K = Toggle Hazzards"); - return true; - }(); - } + up, + down, + just_pressed, + just_released, + }; + uint8_t state = up; + int v_key; + }; - update_key_states(); + class turn_signals : looped_command + { + using looped_command::looped_command; - if (left_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY)) + key_state right_signal_key{'L'}; + key_state left_signal_key{'J'}; + key_state hazzards_key{'K'}; + std::optional queued_left_turn_signal; + std::optional queued_right_turn_signal; + bool hazzards = false; + + void update_key_state(key_state& key_last_tick) { - set_turn_signals(signal_state::left, true); - } - - if (right_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY)) - { - set_turn_signals(signal_state::right, true); - } - - if (hazzards_key.state == key_state::just_pressed && !hazzards) - { - set_turn_signals(signal_state::hazzards, true); - hazzards = true; - } - else if (hazzards_key.state == key_state::just_pressed && hazzards || !g.vehicle.turn_signals) - { - set_turn_signals(signal_state::hazzards, false); - hazzards = false; - } - - - if (PAD::IS_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY)) - { - if (g.vehicle.turn_signals) + if (big::is_key_pressed(key_last_tick.v_key)) { - script::get_current()->yield(1500ms); - } - set_turn_signals(signal_state::left, false); - } + switch (key_last_tick.state) + { + case key_state::up: key_last_tick.state = key_state::just_pressed; break; - if (PAD::IS_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY)) - { - if (g.vehicle.turn_signals) + case key_state::just_pressed: key_last_tick.state = key_state::down; break; + } + } + else { - script::get_current()->yield(1500ms); + switch (key_last_tick.state) + { + case key_state::down: key_last_tick.state = key_state::just_released; break; + + case key_state::just_released: key_last_tick.state = key_state::up; break; + } } - set_turn_signals(signal_state::right, false); } - b_last_turn_signals = g.vehicle.turn_signals; - } -} \ No newline at end of file + void update_key_states() + { + update_key_state(left_signal_key); + update_key_state(hazzards_key); + update_key_state(right_signal_key); + } + + struct signal_state + { + enum + { + right, + left, + hazzards + }; + }; + + inline void set_turn_signals(int signal_state, bool on) + { + static constexpr int off = 0; + + if (self::veh && big::g.vehicle.turn_signals) + { + switch (signal_state) + { + case signal_state::hazzards: + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::left, on); + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::right, on); + break; + + case signal_state::right: + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::left, off); + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::right, on); + break; + + case signal_state::left: + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::left, on); + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::right, off); + break; + } + } + } + + virtual void on_enable() override + { + g_notification_service->push("Instructions", "Manual: J = Left, L = Right, K = Toggle Hazzards"); + } + + virtual void on_tick() override + { + update_key_states(); + + if (left_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY) + || queued_left_turn_signal.has_value() && queued_left_turn_signal.value() - std::chrono::system_clock::now() > 1500ms) + { + set_turn_signals(signal_state::left, true); + queued_left_turn_signal = std::nullopt; + } + + if (right_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY) + || queued_right_turn_signal.has_value() && queued_right_turn_signal.value() - std::chrono::system_clock::now() > 1500ms) + { + set_turn_signals(signal_state::right, true); + queued_right_turn_signal = std::nullopt; + } + + if (hazzards_key.state == key_state::just_pressed && !hazzards) + { + set_turn_signals(signal_state::hazzards, true); + hazzards = true; + } + else if (hazzards_key.state == key_state::just_pressed && hazzards || !g.vehicle.turn_signals) + { + set_turn_signals(signal_state::hazzards, false); + hazzards = false; + } + + if (!queued_left_turn_signal.has_value() && !queued_right_turn_signal.has_value()) + { + if (PAD::IS_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY)) + { + queued_left_turn_signal = std::chrono::system_clock::now(); + } + + if (PAD::IS_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY)) + { + queued_right_turn_signal = std::chrono::system_clock::now(); + } + } + } + + virtual void on_disable() override + { + if (self::veh) + { + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, 0, 0); + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, 1, 0); + } + } + }; + + turn_signals g_turn_signals("turnsignals", "Turn Signals", "Makes your car invisible", g.vehicle.turn_signals); +} diff --git a/src/backend/looped/vehicle/vehicle_god.cpp b/src/backend/looped/vehicle/vehicle_god.cpp index de664045..7585a875 100644 --- a/src/backend/looped/vehicle/vehicle_god.cpp +++ b/src/backend/looped/vehicle/vehicle_god.cpp @@ -1,52 +1,71 @@ #include "backend/looped/looped.hpp" +#include "backend/looped_command.hpp" #include "natives.hpp" -#include "util/misc.hpp" namespace big { - static uint32_t last_bits = 0; - static float last_water_collistion_strength = 0; - static bool last_driving; - - void looped::vehicle_god_mode() + class vehicle_godmode_internal : looped_command { - if (g_local_player == nullptr || g_local_player->m_vehicle == nullptr) + using looped_command::looped_command; + + uint32_t last_bits = 0; + float last_water_collistion_strength = 0; + bool last_driving = false; + + virtual void on_tick() override { - return; + if (g_local_player == nullptr || g_local_player->m_vehicle == nullptr) + { + return; + } + + if (!PED::GET_PED_CONFIG_FLAG(self::ped, 62, false)) + { + if (last_driving) + { + g_local_player->m_vehicle->m_deform_god = 0x9C; + g_local_player->m_vehicle->m_damage_bits = 0; + } + + last_driving = false; + return; + } + + last_driving = true; + + if (g.vehicle.god_mode || g.vehicle.proof_collision) + { + g_local_player->m_vehicle->m_deform_god = 0x8C; + } + else + { + g_local_player->m_vehicle->m_deform_god = 0x9C; + } + + uint32_t bits = g.vehicle.proof_mask; + uint32_t changed_bits = bits ^ last_bits; + uint32_t changed_or_enabled_bits = bits | changed_bits; + + if (changed_or_enabled_bits) + { + uint32_t unchanged_bits = g_local_player->m_vehicle->m_damage_bits & ~changed_or_enabled_bits; + g_local_player->m_vehicle->m_damage_bits = unchanged_bits | bits; + last_bits = bits; + } } - if (!PED::GET_PED_CONFIG_FLAG(self::ped, 62, false)) + virtual void on_disable() override { - if (last_driving) + if (g_local_player && g_local_player->m_vehicle) { g_local_player->m_vehicle->m_deform_god = 0x9C; g_local_player->m_vehicle->m_damage_bits = 0; } - - last_driving = false; - return; } + }; - last_driving = true; - - if (g.vehicle.god_mode || g.vehicle.proof_collision) - { - g_local_player->m_vehicle->m_deform_god = 0x8C; - } - else - { - g_local_player->m_vehicle->m_deform_god = 0x9C; - } - - uint32_t bits = g.vehicle.proof_mask; - uint32_t changed_bits = bits ^ last_bits; - uint32_t changed_or_enabled_bits = bits | changed_bits; - - if (changed_or_enabled_bits) - { - uint32_t unchanged_bits = g_local_player->m_vehicle->m_damage_bits & ~changed_or_enabled_bits; - g_local_player->m_vehicle->m_damage_bits = unchanged_bits | bits; - last_bits = bits; - } - } + static bool true_ref = true; + vehicle_godmode_internal g_vehicle_godmode_internal("$$vehgodmode", "", "", true_ref); + bool_command g_vehicle_godmode("vehgodmode", "Vehicle God Mode", "Prevents your vehicle from taking any form of damage", + g.vehicle.god_mode); } \ No newline at end of file diff --git a/src/backend/looped/vehicle/vehicle_jump.cpp b/src/backend/looped/vehicle/vehicle_jump.cpp index be42bdbb..2a5d5feb 100644 --- a/src/backend/looped/vehicle/vehicle_jump.cpp +++ b/src/backend/looped/vehicle/vehicle_jump.cpp @@ -10,7 +10,8 @@ namespace big virtual void on_tick() override { - if (self::veh && PAD::IS_CONTROL_JUST_PRESSED(0, (int)ControllerInputs::INPUT_VEH_HANDBRAKE)) + PAD::DISABLE_CONTROL_ACTION(0, (int)ControllerInputs::INPUT_VEH_HANDBRAKE, false); + if (self::veh && PAD::IS_DISABLED_CONTROL_JUST_PRESSED(0, (int)ControllerInputs::INPUT_VEH_HANDBRAKE)) { ENTITY::APPLY_FORCE_TO_ENTITY(self::veh, 1, 0.0, 0.0, 20, 0.0, 0.0, 0.0, 0, 0, 1, 1, 0, 1); } diff --git a/src/backend/looped/weapons/aimbot.cpp b/src/backend/looped/weapons/aimbot.cpp index 5e2c5e0e..638cbd80 100644 --- a/src/backend/looped/weapons/aimbot.cpp +++ b/src/backend/looped/weapons/aimbot.cpp @@ -17,31 +17,31 @@ namespace big float local_fov_change = g.weapons.aimbot.fov; for (auto ped : entity::get_entities(false, true)) { - if (ENTITY::HAS_ENTITY_CLEAR_LOS_TO_ENTITY(self::ped, ped, 17) && !ENTITY::IS_ENTITY_DEAD(ped, 0))// Tracetype is always 17. LOS check + if (!ENTITY::IS_ENTITY_DEAD(ped, 0)) // Tracetype is always 17. LOS check { - int relation = PED::GET_RELATIONSHIP_BETWEEN_PEDS(ped, self::ped);// relation for enemy check - int type = PED::GET_PED_TYPE(ped);// for police check, cop types are 6, swat is 27 + int relation = PED::GET_RELATIONSHIP_BETWEEN_PEDS(ped, self::ped); // relation for enemy check + int type = PED::GET_PED_TYPE(ped); // for police check, cop types are 6, swat is 27 Vector3 world_position = ENTITY::GET_ENTITY_COORDS(ped, false); - if (SYSTEM::VDIST(self::pos.x, + if (SYSTEM::VDIST2(self::pos.x, self::pos.y, self::pos.z, world_position.x, world_position.y, world_position.z) - > g.weapons.aimbot.distance) - continue;// If the entity is further than our preset distance then just skip it + > (g.weapons.aimbot.distance * g.weapons.aimbot.distance)) + continue; // If the entity is further than our preset distance then just skip it - if (PED::IS_PED_A_PLAYER(ped) && g.weapons.aimbot.on_player)// check if its a player + if (PED::IS_PED_A_PLAYER(ped) && g.weapons.aimbot.on_player) // check if its a player { goto aimbot_handler; } - else if (((relation == 4) || (relation == 5)) && g.weapons.aimbot.on_enemy)// relation 4 and 5 are for enemies + else if (((relation == 4) || (relation == 5)) && g.weapons.aimbot.on_enemy) // relation 4 and 5 are for enemies { goto aimbot_handler; } - else if (((type == 6 && !PED::IS_PED_MODEL(ped, rage::joaat("s_m_y_uscg_01"))) || type == 27 ||// s_m_y_uscg_01 = us coast guard 1 (techniaclly military) - PED::IS_PED_MODEL(ped, rage::joaat("s_m_y_ranger_01")) || PED::IS_PED_MODEL(ped, rage::joaat("s_f_y_ranger_01")))// ranger models + else if (((type == 6 && !PED::IS_PED_MODEL(ped, rage::joaat("s_m_y_uscg_01"))) || type == 27 || // s_m_y_uscg_01 = us coast guard 1 (technically military) + PED::IS_PED_MODEL(ped, rage::joaat("s_m_y_ranger_01")) || PED::IS_PED_MODEL(ped, rage::joaat("s_f_y_ranger_01"))) // ranger models && g.weapons.aimbot.on_police) { goto aimbot_handler; @@ -50,10 +50,14 @@ namespace big // Update aim lock coords aimbot_handler: - {// Jump to here to handle instead of continue statements + { + if (!ENTITY::HAS_ENTITY_CLEAR_LOS_TO_ENTITY(self::ped, ped, 17)) + continue; + + // Jump to here to handle instead of continue statements aim_lock = ENTITY::GET_WORLD_POSITION_OF_ENTITY_BONE(ped, PED::GET_PED_BONE_INDEX(ped, g.weapons.aimbot.selected_bone)); - if ((aim_lock.x != 0) && (aim_lock.y != 0) && (aim_lock.z != 0))// Ensure none of the coords are = to 0 + if ((aim_lock.x != 0) && (aim_lock.y != 0) && (aim_lock.z != 0)) // Ensure none of the coords are = to 0 { Vector2 screen_dim, movement; GRAPHICS::GET_SCREEN_COORD_FROM_WORLD_COORD(aim_lock.x, @@ -61,22 +65,22 @@ namespace big aim_lock.z, &screen_dim.x, &screen_dim.y); - if ((screen_dim.x >= 0) && (screen_dim.y >= 0))// Make sure updated screen dim is greater than 0 + if ((screen_dim.x >= 0) && (screen_dim.y >= 0)) // Make sure updated screen dim is greater than 0 { auto& io = ImGui::GetIO(); - ImVec2 center(io.DisplaySize.x / 2.f, io.DisplaySize.y / 2.f);// Use ImGui to get the display size + ImVec2 center(io.DisplaySize.x / 2.f, io.DisplaySize.y / 2.f); // Use ImGui to get the display size //Screen dim is a float between 0-1, multiply the float by screen coords screen_dim.x *= io.DisplaySize.x; screen_dim.y *= io.DisplaySize.y; - if (screen_dim.x > center.x)//If the location is greater than the center (right side) - {// Get the amount of distance we need to move, so center of the screen - our location + if (screen_dim.x > center.x) //If the location is greater than the center (right side) + { // Get the amount of distance we need to move, so center of the screen - our location movement.x = -(center.x - screen_dim.x); if (movement.x + center.x > center.x * 2) movement.x = 0; } else - {// if the location is on the left side + { // if the location is on the left side movement.x = screen_dim.x - center.x; if (movement.x + center.x < 0) movement.x = 0; @@ -97,7 +101,7 @@ namespace big } if (sqrt(pow(movement.x, 2) + pow(movement.y, 2)) < local_fov_change) - {// sqrt of movment x and y ^ 2, handles fov math + { // sqrt of movment x and y ^ 2, handles fov math local_fov_change = sqrt(pow(movement.x, 2) + pow(movement.y, 2)); mouse_movement.x = movement.x; mouse_movement.y = movement.y; @@ -116,32 +120,32 @@ namespace big if (update_time_now) { current_time = std::chrono::system_clock::now(); - update_time_now = false;//lockout + update_time_now = false; //lockout } std::chrono::duration elapsed_time = std::chrono::system_clock::now() - current_time; if (elapsed_time.count() > 0.f) { - INPUT mouse_handle;// MOUSEINPUT mi; + INPUT mouse_handle; // MOUSEINPUT mi; mouse_handle.type = INPUT_MOUSE; - mouse_handle.mi.dwFlags = MOUSEEVENTF_MOVE;// Type = Mouse movement, and the event is emulating the mouse movement + mouse_handle.mi.dwFlags = MOUSEEVENTF_MOVE; // Type = Mouse movement, and the event is emulating the mouse movement // Update the mouse by moving it with how much we need / smoothing speed mouse_handle.mi.dx = mouse_movement.x / (g.weapons.aimbot.smoothing ? g.weapons.aimbot.smoothing_speed : 2); mouse_handle.mi.dy = mouse_movement.y / (g.weapons.aimbot.smoothing ? g.weapons.aimbot.smoothing_speed : 2); - SendInput(1, &mouse_handle, sizeof(mouse_handle));//handles the input + SendInput(1, &mouse_handle, sizeof(mouse_handle)); //handles the input //Reset our variables mouse_movement.x = 0, mouse_movement.y = 0; - update_time_now = true;//reset our time + update_time_now = true; //reset our time } } } }; - aimbot g_aimbot("aimbot", "Aimbot", "lock on and kill", g.weapons.aimbot.enable); + aimbot g_aimbot("aimbot", "Aimbot", "Lock on and kill", g.weapons.aimbot.enable); bool_command g_smoothing("smoothing", "Smoothing", "Controls the snappiness of your lock on", g.weapons.aimbot.smoothing); - bool_command g_aimbot_on_player("aimatplayer", "Player", "If you suck at pvp this is for you.", g.weapons.aimbot.on_player); + bool_command g_aimbot_on_player("aimatplayer", "Player", "If you suck at PVP, this is for you", g.weapons.aimbot.on_player); bool_command g_aimbot_on_npc("aimatnpc", "NPC", "Generally kills normal NPCs", g.weapons.aimbot.on_npc); bool_command g_aimbot_on_police("aimatpolice", "Police", "Locks onto cops to kill", g.weapons.aimbot.on_police); bool_command diff --git a/src/backend/looped/weapons/force_crosshairs.cpp b/src/backend/looped/weapons/force_crosshairs.cpp deleted file mode 100644 index 3db5ebdc..00000000 --- a/src/backend/looped/weapons/force_crosshairs.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "backend/looped_command.hpp" -#include "natives.hpp" - -namespace big -{ - class force_crosshairs : looped_command - { - using looped_command::looped_command; - - virtual void on_tick() override - { - HUD::SHOW_HUD_COMPONENT_THIS_FRAME(static_cast(HudComponents::RETICLE)); - } - }; - - force_crosshairs g_force_crosshairs("crosshairs", "Force Crosshairs", "Shows the crosshair even when you are not aiming", - g.weapons.force_crosshairs);// do we need this? -} diff --git a/src/backend/looped/weapons/increase_damage.cpp b/src/backend/looped/weapons/increase_damage.cpp index db78cce1..198f8558 100644 --- a/src/backend/looped/weapons/increase_damage.cpp +++ b/src/backend/looped/weapons/increase_damage.cpp @@ -1,5 +1,5 @@ -#include "natives.hpp" #include "backend/looped_command.hpp" +#include "natives.hpp" namespace big { @@ -10,20 +10,13 @@ namespace big virtual void on_tick() override { - if (g.weapons.increased_damage != 1) + if (g.weapons.increased_damage != 1) { - Hash weapon{}; + Hash weapon{}; WEAPON::GET_CURRENT_PED_WEAPON(self::ped, &weapon, 0); WEAPON::SET_WEAPON_DAMAGE_MODIFIER(weapon, g.weapons.increased_damage); } } - - virtual void on_disable() override - { - Hash weapon{}; - WEAPON::GET_CURRENT_PED_WEAPON(self::ped, &weapon, 0); - WEAPON::SET_WEAPON_DAMAGE_MODIFIER(weapon, 1); - } }; increased_damage diff --git a/src/backend/looped/weapons/infinite_range.cpp b/src/backend/looped/weapons/infinite_range.cpp index 82325c51..8e5d362f 100644 --- a/src/backend/looped/weapons/infinite_range.cpp +++ b/src/backend/looped/weapons/infinite_range.cpp @@ -20,15 +20,18 @@ namespace big if (g_local_player->m_weapon_manager) { - if (p_modified_weapon != g_local_player->m_weapon_manager->m_weapon_info - && g_local_player->m_weapon_manager->m_weapon_info) + if (p_modified_weapon != g_local_player->m_weapon_manager->m_weapon_info) { if (p_modified_weapon) p_modified_weapon->m_weapon_range = og_range; - og_range = g_local_player->m_weapon_manager->m_weapon_info->m_weapon_range; p_modified_weapon = g_local_player->m_weapon_manager->m_weapon_info; - g_local_player->m_weapon_manager->m_weapon_info->m_weapon_range = 1000.0f; + + if (g_local_player->m_weapon_manager->m_weapon_info) + { + og_range = g_local_player->m_weapon_manager->m_weapon_info->m_weapon_range; + g_local_player->m_weapon_manager->m_weapon_info->m_weapon_range = 1000.0f; + } } } } diff --git a/src/backend/looped/weapons/no_recoil.cpp b/src/backend/looped/weapons/no_recoil.cpp index c463de05..a2cadfcc 100644 --- a/src/backend/looped/weapons/no_recoil.cpp +++ b/src/backend/looped/weapons/no_recoil.cpp @@ -21,14 +21,18 @@ namespace big auto* const weapon_mgr = g_local_player->m_weapon_manager; if (weapon_mgr) { - if (p_modified_weapon != weapon_mgr->m_weapon_info && weapon_mgr->m_weapon_info) + if (p_modified_weapon != weapon_mgr->m_weapon_info) { if (p_modified_weapon) p_modified_weapon->m_explosion_shake_amplitude = og_recoil_value; - og_recoil_value = weapon_mgr->m_weapon_info->m_explosion_shake_amplitude; p_modified_weapon = weapon_mgr->m_weapon_info; - weapon_mgr->m_weapon_info->m_explosion_shake_amplitude = 0.0f; + + if (weapon_mgr->m_weapon_info) + { + og_recoil_value = weapon_mgr->m_weapon_info->m_explosion_shake_amplitude; + weapon_mgr->m_weapon_info->m_explosion_shake_amplitude = 0.0f; + } } } } diff --git a/src/backend/looped/weapons/no_spread.cpp b/src/backend/looped/weapons/no_spread.cpp index 961eeb00..b38c7bcd 100644 --- a/src/backend/looped/weapons/no_spread.cpp +++ b/src/backend/looped/weapons/no_spread.cpp @@ -21,14 +21,18 @@ namespace big auto* const weapon_mgr = g_local_player->m_weapon_manager; if (weapon_mgr) { - if (p_modified_weapon != weapon_mgr->m_weapon_info && weapon_mgr->m_weapon_info) + if (p_modified_weapon != weapon_mgr->m_weapon_info) { if (p_modified_weapon) p_modified_weapon->m_accuracy_spread = og_spread_value; - og_spread_value = weapon_mgr->m_weapon_info->m_accuracy_spread; - p_modified_weapon = weapon_mgr->m_weapon_info; - weapon_mgr->m_weapon_info->m_accuracy_spread = 0.0f; + p_modified_weapon = weapon_mgr->m_weapon_info; + + if (weapon_mgr->m_weapon_info) + { + og_spread_value = weapon_mgr->m_weapon_info->m_accuracy_spread; + weapon_mgr->m_weapon_info->m_accuracy_spread = 0.0f; + } } } } diff --git a/src/backend/looped/world/blackhole.cpp b/src/backend/looped/world/blackhole.cpp index 5fdd5ad3..5a90c5b6 100644 --- a/src/backend/looped/world/blackhole.cpp +++ b/src/backend/looped/world/blackhole.cpp @@ -7,7 +7,6 @@ namespace big { - class blackhole : looped_command { using looped_command::looped_command; @@ -64,10 +63,10 @@ namespace big } }; - blackhole g_blackhole("blackhole", "Blackhole", "Spawns a black hole that picks up all the peds and vehicles in your area.", + blackhole g_blackhole("blackhole", "Blackhole", "Spawns a blackhole that picks up all the peds and vehicles in your area", g.world.blackhole.enable); - bool_command g_blackhole_peds("blackholeincpeds", "Peds", "Includes all nearby peds in the blackholes path of destruction", + bool_command g_blackhole_peds("blackholeincpeds", "Peds", "Includes all nearby peds in the blackhole's path of destruction", g.world.blackhole.include_peds); - bool_command g_blackhole_vehicles("blackholeincvehs", "Vehicles", "Includes all nearby vehicles in the blackholes path of destruction", + bool_command g_blackhole_vehicles("blackholeincvehs", "Vehicles", "Includes all nearby vehicles in the blackhole's path of destruction", g.world.blackhole.include_vehicles); } \ No newline at end of file diff --git a/src/backend/looped/world/nearby/combative.cpp b/src/backend/looped/world/nearby/combative.cpp index 8967d28e..1659d024 100644 --- a/src/backend/looped/world/nearby/combative.cpp +++ b/src/backend/looped/world/nearby/combative.cpp @@ -3,7 +3,6 @@ namespace big { - class combative : looped_command { using looped_command::looped_command; @@ -12,14 +11,16 @@ namespace big { MISC::SET_RIOT_MODE_ENABLED(true); } - - virtual void on_tick() override {} - + + virtual void on_tick() override + { + } + virtual void on_disable() override { MISC::SET_RIOT_MODE_ENABLED(false); - } - }; - combative g_combative("riotmode", "Riot Mode", "Make nearby peds attack eachother", g.world.nearby.combative); + } + }; + combative g_combative("riotmode", "Riot Mode", "Make nearby peds attack each other", g.world.nearby.combative); } diff --git a/src/backend/looped/world/nearby/high_alert.cpp b/src/backend/looped/world/nearby/high_alert.cpp index 5f50b324..2536fbec 100644 --- a/src/backend/looped/world/nearby/high_alert.cpp +++ b/src/backend/looped/world/nearby/high_alert.cpp @@ -5,7 +5,6 @@ namespace big { - class high_alert : looped_command { using looped_command::looped_command; @@ -22,6 +21,6 @@ namespace big } }; - high_alert g_high_alert("highalert", "High Alert", "Not the CoD perk.", g.world.nearby.high_alert); + high_alert g_high_alert("highalert", "High Alert", "Not the CoD perk", g.world.nearby.high_alert); } \ No newline at end of file diff --git a/src/backend/looped/world/nearby/ignore.cpp b/src/backend/looped/world/nearby/ignore.cpp index 43d67fa1..29be2d70 100644 --- a/src/backend/looped/world/nearby/ignore.cpp +++ b/src/backend/looped/world/nearby/ignore.cpp @@ -5,12 +5,11 @@ namespace big { - class ignore : looped_command { using looped_command::looped_command; - virtual void on_enable() override//should help for any stragglers that aren't set by the tick (aka current event) + virtual void on_enable() override //should help for any stragglers that aren't set by the tick (aka current event) { PLAYER::SET_EVERYONE_IGNORE_PLAYER(self::id, true); PLAYER::SET_POLICE_IGNORE_PLAYER(self::id, true); @@ -21,7 +20,7 @@ namespace big for (auto ped : entity::get_entities(false, true)) { if (!PED::GET_PED_CONFIG_FLAG(ped, 17, true)) - {// Flag 17 = PED_FLAG_BLOCK_NON_TEMPORARY_EVENTS + { // Flag 17 = PED_FLAG_BLOCK_NON_TEMPORARY_EVENTS PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped, true); TASK::TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped, true); } @@ -35,7 +34,7 @@ namespace big } }; - ignore g_ignore("pedsignore", "Ignore", "Nearby peds will ignore you and become oblivious to your actions.", + ignore g_ignore("pedsignore", "Ignore", "Nearby peds will ignore you and become oblivious to your actions", g.world.nearby.ignore); } \ No newline at end of file diff --git a/src/backend/looped/world/nearby/ped_rush.cpp b/src/backend/looped/world/nearby/ped_rush.cpp index 93ffe652..5f354eb4 100644 --- a/src/backend/looped/world/nearby/ped_rush.cpp +++ b/src/backend/looped/world/nearby/ped_rush.cpp @@ -18,7 +18,7 @@ namespace big } } - virtual void on_disable() override//Set the peds back to their normal speed + virtual void on_disable() override //Set the peds back to their normal speed { for (auto ped : entity::get_entities(false, true)) { @@ -27,6 +27,6 @@ namespace big } }; - ped_rush g_ped_rush("pedrush", "Ped Rush", "Makes the nearby peds move with a purpose.", g.world.nearby.ped_rush); + ped_rush g_ped_rush("pedrush", "Ped Rush", "Makes the nearby peds move with a purpose", g.world.nearby.ped_rush); } \ No newline at end of file diff --git a/src/backend/looped/world/nearby/peds_rain.cpp b/src/backend/looped/world/nearby/peds_rain.cpp index 8b2a5884..3a70bdd0 100644 --- a/src/backend/looped/world/nearby/peds_rain.cpp +++ b/src/backend/looped/world/nearby/peds_rain.cpp @@ -5,7 +5,6 @@ namespace big { - class ped_rain : looped_command { using looped_command::looped_command; @@ -14,7 +13,7 @@ namespace big { for (auto ped : entity::get_entities(false, true)) { - if (!ENTITY::IS_ENTITY_IN_AIR(ped)) + if (!ENTITY::IS_ENTITY_IN_AIR(ped) && entity::take_control_of(ped, 0)) { Vector3 my_location = ENTITY::GET_ENTITY_COORDS(self::ped, 1); my_location.x = my_location.x + (rand() % 100 + (-50)); @@ -27,6 +26,6 @@ namespace big } }; - ped_rain g_ped_rain("pedrain", "Rain Peds", "Will pour down and rain nearby peds.", g.world.nearby.ped_rain); + ped_rain g_ped_rain("pedrain", "Rain Peds", "Will pour down and rain nearby peds", g.world.nearby.ped_rain); } \ No newline at end of file diff --git a/src/backend/looped/world/nearby/vehicles_rain.cpp b/src/backend/looped/world/nearby/vehicles_rain.cpp index d1403e5e..e82e0194 100644 --- a/src/backend/looped/world/nearby/vehicles_rain.cpp +++ b/src/backend/looped/world/nearby/vehicles_rain.cpp @@ -16,7 +16,7 @@ namespace big { if (!ENTITY::IS_ENTITY_IN_AIR(vehicles)) { - if (entity::take_control_of(vehicles)) + if (entity::take_control_of(vehicles, 0)) { Vector3 my_location = ENTITY::GET_ENTITY_COORDS(self::ped, 1); my_location.x = my_location.x + (rand() % 100 + (-50)); @@ -30,7 +30,7 @@ namespace big } }; - vehicle_rain g_vehicle_rain("vehiclerain", "Rain Vehicles", "Drops surround vehicles, vehicles can hit and kill you!", + vehicle_rain g_vehicle_rain("vehiclerain", "Rain Vehicles", "Drops surrounding vehicles, vehicles can hit and kill you!", g.world.nearby.veh_rain); } \ No newline at end of file diff --git a/src/backend/looped/world/time_override.cpp b/src/backend/looped/world/time_override.cpp new file mode 100644 index 00000000..7a0d5336 --- /dev/null +++ b/src/backend/looped/world/time_override.cpp @@ -0,0 +1,28 @@ +#include "backend/looped_command.hpp" +#include "fiber_pool.hpp" +#include "gta_util.hpp" +#include "natives.hpp" +#include "script.hpp" + +namespace big +{ + class time_override : looped_command + { + using looped_command::looped_command; + + virtual void on_tick() override + { + NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(g.world.custom_time.hour, + g.world.custom_time.minute, + g.world.custom_time.second); + } + + virtual void on_disable() override + { + NETWORK::NETWORK_CLEAR_CLOCK_TIME_OVERRIDE(); + } + }; + + time_override g_time_override("timeoverride", "Override Time", "Overrides current time. This is local and cannot be seen by other players", + g.world.custom_time.override_time); +} \ No newline at end of file diff --git a/src/backend/looped/world/train.cpp b/src/backend/looped/world/train.cpp index 8a16d95d..aade2d74 100644 --- a/src/backend/looped/world/train.cpp +++ b/src/backend/looped/world/train.cpp @@ -10,24 +10,26 @@ namespace big { void looped::drive_train() { - int trainSpeed = ENTITY::GET_ENTITY_SPEED(train::get_closest_train()); - - if (g.world.train.drive_train) + if (self::veh && VEHICLE::IS_THIS_MODEL_A_TRAIN(ENTITY::GET_ENTITY_MODEL(self::veh))) { - if (PAD::IS_CONTROL_PRESSED(0, 71)) - trainSpeed++; - if (PAD::IS_CONTROL_PRESSED(0, 72)) - trainSpeed--; + int trainSpeed = ENTITY::GET_ENTITY_SPEED(self::veh); - train::set_train_speed(trainSpeed); + if (g.world.train.drive_train) + { + if (PAD::IS_CONTROL_PRESSED(0, 71)) + trainSpeed++; + + if (PAD::IS_CONTROL_PRESSED(0, 72)) + trainSpeed--; + + VEHICLE::SET_TRAIN_CRUISE_SPEED(self::veh, trainSpeed); + } } } void looped::derail_train() { - int train = train::get_closest_train(); - - if (train != 0) - VEHICLE::SET_RENDER_TRAIN_AS_DERAILED(train, g.world.train.derail_train); + if (self::veh && VEHICLE::IS_THIS_MODEL_A_TRAIN(ENTITY::GET_ENTITY_MODEL(self::veh))) + VEHICLE::SET_RENDER_TRAIN_AS_DERAILED(self::veh, g.world.train.derail_train); } } \ No newline at end of file diff --git a/src/backend/looped/world/weather_override.cpp b/src/backend/looped/world/weather_override.cpp new file mode 100644 index 00000000..1b779965 --- /dev/null +++ b/src/backend/looped/world/weather_override.cpp @@ -0,0 +1,42 @@ +#include "backend/looped_command.hpp" +#include "core/data/weathers.hpp" +#include "fiber_pool.hpp" +#include "gta_util.hpp" +#include "natives.hpp" +#include "pointers.hpp" +#include "script.hpp" +#include "services/tunables/tunables_service.hpp" + +namespace big +{ + class weather_override : looped_command + { + int current_weather_idx = -1; + bool* turn_snow_on_off = nullptr; + + using looped_command::looped_command; + + virtual void on_tick() override + { + if (!turn_snow_on_off) + turn_snow_on_off = g_tunables_service->get_tunable(RAGE_JOAAT("TURN_SNOW_ON_OFF")); + + if (current_weather_idx != g.world.local_weather) + { + MISC::SET_OVERRIDE_WEATHER(weathers[g.world.local_weather]); + current_weather_idx = g.world.local_weather; + } + + if (turn_snow_on_off) + *turn_snow_on_off = g.world.local_weather == 13; + } + + virtual void on_disable() override + { + MISC::CLEAR_OVERRIDE_WEATHER(); + } + }; + + weather_override g_weather_override("weatheroverride", "Override Weather", "Overrides current weather. This is local and cannot be seen by other players", + g.world.override_weather); +} \ No newline at end of file diff --git a/src/core/data/weathers.hpp b/src/core/data/weathers.hpp new file mode 100644 index 00000000..e2aca9d7 --- /dev/null +++ b/src/core/data/weathers.hpp @@ -0,0 +1,6 @@ +#pragma once + +namespace big +{ + static constexpr inline auto weathers = std::to_array({"EXTRASUNNY", "CLEAR", "CLOUDS", "SMOG", "FOGGY", "OVERCAST", "RAIN", "THUNDER", "CLEARING", "NEUTRAL", "SNOW", "BLIZZARD", "SNOWLIGHT", "XMAS", "HALLOWEEN"}); +} \ No newline at end of file diff --git a/src/core/globals.hpp b/src/core/globals.hpp index 327f6768..d7a83ac6 100644 --- a/src/core/globals.hpp +++ b/src/core/globals.hpp @@ -32,6 +32,12 @@ namespace big NLOHMANN_DEFINE_TYPE_INTRUSIVE(color, r, g, b, a) }; + struct remote_player_teleport + { + std::int16_t m_player_net_id; + rage::fvector3 m_position; + }; + class menu_settings { public: @@ -64,9 +70,13 @@ namespace big int m_remote_controller_vehicle = -1; int m_remote_controlled_vehicle = -1; + /* std::uint16_t m_tp_veh_net_id; std::uint16_t m_tp_player_net_id; rage::fvector3 m_tp_position; + */ + + std::unordered_map m_remote_player_teleports; rage::scrThread* m_hunt_the_beast_thread = nullptr; @@ -333,15 +343,6 @@ namespace big struct session { - int local_weather = 0; - bool override_time = {}; - bool override_weather = false; - struct custom_time - { - int hour{}, minute{}, second{}; - - NLOHMANN_DEFINE_TYPE_INTRUSIVE(custom_time, hour, minute, second) - } custom_time; bool chat_force_clean = false; bool log_chat_messages = false; bool log_text_messages = false; @@ -390,7 +391,7 @@ namespace big bool show_cheating_message = false; bool anonymous_bounty = true; - NLOHMANN_DEFINE_TYPE_INTRUSIVE(session, local_weather, override_time, override_weather, custom_time, chat_force_clean, log_chat_messages, log_text_messages, decloak_players, force_session_host, force_script_host, player_magnet_enabled, player_magnet_count, is_team, join_in_sctv_slots, kick_chat_spammers, kick_host_when_forcing_host, explosion_karma, damage_karma, disable_traffic, disable_peds, force_thunder, block_ceo_money, randomize_ceo_colors, block_jobs, block_muggers, block_ceo_raids, send_to_apartment_idx, send_to_warehouse_idx, chat_commands, chat_command_default_access_level, show_cheating_message, anonymous_bounty, lock_session) + NLOHMANN_DEFINE_TYPE_INTRUSIVE(session, chat_force_clean, log_chat_messages, log_text_messages, decloak_players, force_session_host, force_script_host, player_magnet_enabled, player_magnet_count, is_team, join_in_sctv_slots, kick_chat_spammers, kick_host_when_forcing_host, explosion_karma, damage_karma, disable_traffic, disable_peds, force_thunder, block_ceo_money, randomize_ceo_colors, block_jobs, block_muggers, block_ceo_raids, send_to_apartment_idx, send_to_warehouse_idx, chat_commands, chat_command_default_access_level, show_cheating_message, anonymous_bounty, lock_session) } session{}; struct settings @@ -462,8 +463,8 @@ namespace big struct train { - bool derail_train = false; bool drive_train = false; + bool derail_train = false; } train{}; struct water @@ -484,12 +485,10 @@ namespace big struct custom_time { - int local_weather = 0; - bool override_time = {}; - bool override_weather = false; + bool override_time = {}; int hour{}, minute{}, second{}; - NLOHMANN_DEFINE_TYPE_INTRUSIVE(custom_time, local_weather, hour, minute, second) + NLOHMANN_DEFINE_TYPE_INTRUSIVE(custom_time, override_time, hour, minute, second) } custom_time; @@ -526,7 +525,11 @@ namespace big NLOHMANN_DEFINE_TYPE_INTRUSIVE(model_swapper, models) } model_swapper{}; - NLOHMANN_DEFINE_TYPE_INTRUSIVE(world, water, spawn_ped, custom_time, blackhole, model_swapper, nearby, orbital_drone) + + bool override_weather = false; + int local_weather = 0; + + NLOHMANN_DEFINE_TYPE_INTRUSIVE(world, water, spawn_ped, custom_time, blackhole, model_swapper, nearby, orbital_drone, local_weather, override_weather) } world{}; struct spoofing @@ -605,7 +608,7 @@ namespace big bool primary = false; bool secondary = false; bool smoke = false; - int speed = 0; + int speed = 1; NLOHMANN_DEFINE_TYPE_INTRUSIVE(rainbow_paint, type, neon, primary, secondary, smoke, speed) } rainbow_paint{}; @@ -693,7 +696,6 @@ namespace big } aimbot{}; CustomWeapon custom_weapon = CustomWeapon::NONE; - bool force_crosshairs = false; bool infinite_ammo = false; bool infinite_mag = false; float increased_damage = 1; @@ -708,7 +710,7 @@ namespace big bool triggerbot = false; bool infinite_range = false; - NLOHMANN_DEFINE_TYPE_INTRUSIVE(weapons, ammo_special, custom_weapon, aimbot, force_crosshairs, infinite_ammo, infinite_mag, increased_damage, increase_damage, no_recoil, no_spread, vehicle_gun_model, increased_c4_limit, increased_flare_limit, rapid_fire, gravity_gun, interior_weapon, triggerbot, infinite_range) + NLOHMANN_DEFINE_TYPE_INTRUSIVE(weapons, ammo_special, custom_weapon, aimbot, infinite_ammo, infinite_mag, increased_damage, increase_damage, no_recoil, no_spread, vehicle_gun_model, increased_c4_limit, increased_flare_limit, rapid_fire, gravity_gun, interior_weapon, triggerbot, infinite_range) } weapons{}; struct window diff --git a/src/gui/components/components.hpp b/src/gui/components/components.hpp index 309e4a69..e685d699 100644 --- a/src/gui/components/components.hpp +++ b/src/gui/components/components.hpp @@ -1,5 +1,6 @@ #pragma once #include "backend/command.hpp" +#include "backend/int_command.hpp" #include "backend/looped_command.hpp" #include "backend/player_command.hpp" #include "fiber_pool.hpp" @@ -80,6 +81,22 @@ namespace big return updated; } + template + static void command_int_slider(std::optional label_override = std::nullopt) + { + static int_command* command = (int_command*)command::get(rage::consteval_joaat(cmd_str.value)); + if (command == nullptr) + return ImGui::Text("INVALID COMMAND"); + + ImGui::SliderInt(label_override.value_or(command->get_label()).data(), + &command->get_value(), + command->get_lower_bound(), + command->get_upper_bound()); + + if (ImGui::IsItemHovered()) + ImGui::SetTooltip(command->get_description().c_str()); + } + template static bool button(const std::string_view text) { diff --git a/src/hooks/misc/allow_weapons_in_vehicle.cpp b/src/hooks/misc/allow_weapons_in_vehicle.cpp index b1aa1cbb..35412ccb 100644 --- a/src/hooks/misc/allow_weapons_in_vehicle.cpp +++ b/src/hooks/misc/allow_weapons_in_vehicle.cpp @@ -6,7 +6,7 @@ namespace big { if (g.vehicle.unlimited_weapons) { - if (weaponinfo_group == RAGE_JOAAT("GROUP_THROWN")) //Because the thrower can be used without bypassing, we let the game decide the return value, since this function has multiple xrefs, it may be necessary to return 0 at some point + if (weaponinfo_group == RAGE_JOAAT("GROUP_THROWN")) // Because the thrower can be used without bypassing, we let the game decide the return value, since this function has multiple xrefs, it may be necessary to return 0 at some point return g_hooking->get_original()(unk, weaponinfo_group); return true; } diff --git a/src/hooks/player_management/assign_physical_index.cpp b/src/hooks/player_management/assign_physical_index.cpp index d8e0b57a..2c7c3524 100644 --- a/src/hooks/player_management/assign_physical_index.cpp +++ b/src/hooks/player_management/assign_physical_index.cpp @@ -4,6 +4,7 @@ #include "fiber_pool.hpp" #include "gta_util.hpp" #include "hooking.hpp" +#include "lua/lua_manager.hpp" #include "packet.hpp" #include "services/player_database/player_database_service.hpp" #include "services/players/player_service.hpp" @@ -26,6 +27,8 @@ namespace big if (net_player_data) { + g_lua_manager->trigger_event<"player_leave">(net_player_data->m_name); + if (g.notifications.player_leave.log) LOG(INFO) << "Player left '" << net_player_data->m_name << "' freeing slot #" << (int)player->m_player_id << " with Rockstar ID: " << net_player_data->m_gamer_handle.m_rockstar_id; @@ -61,6 +64,9 @@ namespace big plyr->is_admin = true; } } + + g_lua_manager->trigger_event<"player_join">(net_player_data->m_name, player->m_player_id); + if (g.notifications.player_join.above_map && *g_pointers->m_gta.m_is_session_started) // prevent loading screen spam notify::player_joined(player); diff --git a/src/hooks/player_management/network_player_mgr.cpp b/src/hooks/player_management/network_player_mgr.cpp index 6d102f01..d6865ec1 100644 --- a/src/hooks/player_management/network_player_mgr.cpp +++ b/src/hooks/player_management/network_player_mgr.cpp @@ -1,4 +1,5 @@ #include "hooking.hpp" +#include "lua/lua_manager.hpp" #include "pointers.hpp" #include "services/players/player_service.hpp" @@ -16,6 +17,7 @@ namespace big g_hooking->get_original()(_this, a2, a3, a4); g_player_service->player_join(_this->m_local_net_player); + g_lua_manager->trigger_event<"player_mgr_init">(); } void hooks::network_player_mgr_shutdown(CNetworkPlayerMgr* _this) @@ -29,5 +31,6 @@ namespace big g_notification_service->push("NETWORK_PLAYER_MGR"_T.data(), "NETWORK_PLAYER_MGR_DESTROY"_T.data()); g_hooking->get_original()(_this); + g_lua_manager->trigger_event<"player_mgr_shutdown">(); } } diff --git a/src/hooks/protections/can_apply_data.cpp b/src/hooks/protections/can_apply_data.cpp index 6bf57df3..28dafa3e 100644 --- a/src/hooks/protections/can_apply_data.cpp +++ b/src/hooks/protections/can_apply_data.cpp @@ -671,6 +671,16 @@ namespace big } break; } + case RAGE_JOAAT("CTrainGameStateDataNode"): + { + const auto train_node = (CTrainGameStateDataNode*)(node); + if (train_node->m_track_id < 0 || train_node->m_track_id >= 27) + { + notify::crash_blocked(sender, "out of bound train track index"); + return true; + } + break; + } case RAGE_JOAAT("CVehicleProximityMigrationDataNode"): { if (object && g_local_player && g_local_player->m_net_object) @@ -678,7 +688,7 @@ namespace big const auto migration_node = (CVehicleProximityMigrationDataNode*)(node); if (is_in_vehicle(g_local_player, g_local_player->m_vehicle) && g_local_player->m_vehicle->m_net_object && g_local_player->m_vehicle->m_net_object->m_object_id == object->m_object_id) - return false; // vehicle kick? + return true; // vehicle kick? if (!g_local_player->m_vehicle || !g_local_player->m_vehicle->m_net_object || g_local_player->m_vehicle->m_net_object->m_object_id != object->m_object_id diff --git a/src/hooks/protections/receive_net_message.cpp b/src/hooks/protections/receive_net_message.cpp index 0f8ae41a..5da75777 100644 --- a/src/hooks/protections/receive_net_message.cpp +++ b/src/hooks/protections/receive_net_message.cpp @@ -6,6 +6,7 @@ #include "gta/script_id.hpp" #include "gta_util.hpp" #include "hooking.hpp" +#include "lua/lua_manager.hpp" #include "natives.hpp" #include "services/players/player_service.hpp" #include "util/session.hpp" @@ -127,6 +128,8 @@ namespace big if (g.session.chat_commands && message[0] == g.session.chat_command_prefix) command::process(std::string(message + 1), std::make_shared(player)); + else + g_lua_manager->trigger_event<"chat_message_received">(player->id(), message); } break; } diff --git a/src/hooks/protections/received_event.cpp b/src/hooks/protections/received_event.cpp index 8188ca78..a80f442b 100644 --- a/src/hooks/protections/received_event.cpp +++ b/src/hooks/protections/received_event.cpp @@ -666,6 +666,12 @@ namespace big } case eNetworkEvents::EXPLOSION_EVENT: { + if (plyr && plyr->block_explosions) + { + g_pointers->m_gta.m_send_event_ack(event_manager, source_player, target_player, event_index, event_handled_bitset); + return; + } + scan_explosion_event(source_player, buffer); break; } diff --git a/src/hooks/protections/script_event_handler.cpp b/src/hooks/protections/script_event_handler.cpp index c014bd5d..06d42f5c 100644 --- a/src/hooks/protections/script_event_handler.cpp +++ b/src/hooks/protections/script_event_handler.cpp @@ -3,6 +3,7 @@ #include "gta/script_handler.hpp" #include "gta_util.hpp" #include "hooking.hpp" +#include "lua/lua_manager.hpp" #include "util/session.hpp" #include @@ -59,6 +60,18 @@ namespace big auto plyr = g_player_service->get_by_id(player->m_player_id); + if (g_lua_manager->get_modules().size() > 0) + { + std::vector script_event_args; + + for (int i = 0; i < scripted_game_event->m_args_size; i++) + script_event_args.push_back(args[i]); + + auto event_ret = g_lua_manager->trigger_event<"script_event", bool>((int)player->m_player_id, script_event_args); + if (event_ret.has_value()) + return true; // don't care, block event if any bool is returned + } + switch (hash) { case eRemoteEvent::Bounty: diff --git a/src/hooks/toxic/write_vehicle_proximity_migration_data_node.cpp b/src/hooks/toxic/write_vehicle_proximity_migration_data_node.cpp index ef44015d..7c810641 100644 --- a/src/hooks/toxic/write_vehicle_proximity_migration_data_node.cpp +++ b/src/hooks/toxic/write_vehicle_proximity_migration_data_node.cpp @@ -13,12 +13,13 @@ namespace big g_hooking->get_original()(veh, node); - if (vehicle->m_net_object->m_object_id == g.m_tp_veh_net_id) + if (auto it = g.m_remote_player_teleports.find(vehicle->m_net_object->m_object_id); + it != g.m_remote_player_teleports.end()) { node->m_has_occupants[0] = true; - node->m_occupants[0] = g.m_tp_player_net_id; + node->m_occupants[0] = it->second.m_player_net_id; node->m_override_position = true; - node->m_position = g.m_tp_position; + node->m_position = it->second.m_position; } } } \ No newline at end of file diff --git a/src/invoker.hpp b/src/invoker.hpp index 0e731469..05809e65 100644 --- a/src/invoker.hpp +++ b/src/invoker.hpp @@ -37,7 +37,7 @@ namespace big return *m_call_context.get_return_value(); } - private: + public: native_call_context m_call_context; std::unordered_map m_handler_cache; bool m_handlers_cached = false; diff --git a/src/logger/logger.cpp b/src/logger/logger.cpp index d5dc7631..39f877e2 100644 --- a/src/logger/logger.cpp +++ b/src/logger/logger.cpp @@ -136,7 +136,7 @@ namespace big const char* get_level_string(const eLogLevel level) { - constexpr std::array levelStrings = {{{"DEBUG"}, {"INFO"}, {"WARN"}, {"ERROR"}}}; + constexpr std::array levelStrings = {{{"DEBUG"}, {"INFO"}, {"WARN"}, {"FATAL"}}}; return levelStrings[level]; } diff --git a/src/logger/logger.hpp b/src/logger/logger.hpp index b7676f04..772f1baf 100644 --- a/src/logger/logger.hpp +++ b/src/logger/logger.hpp @@ -1,5 +1,4 @@ #pragma once -#include "common.hpp" #include "file_manager.hpp" #include diff --git a/src/lua/bindings/command.hpp b/src/lua/bindings/command.hpp new file mode 100644 index 00000000..d970e080 --- /dev/null +++ b/src/lua/bindings/command.hpp @@ -0,0 +1,41 @@ +#pragma once +#include "backend/command.hpp" +#include "backend/player_command.hpp" +#include "network.hpp" // for convert_sequence + +namespace lua::command +{ + static void call(const std::string& command_name, std::optional _args) + { + auto args = convert_sequence(_args.value_or(sol::table())); + + auto command = big::command::get(rage::joaat(command_name)); + + if (command) + command->call(args, {}); + } + + static void call_player(int player_idx, const std::string& command_name, std::optional _args) + { + auto args = convert_sequence(_args.value_or(sol::table())); + + auto command = (big::player_command*)big::command::get(rage::joaat(command_name)); + + if (command) + { + auto player = big::g_player_service->get_by_id(player_idx); + + if (player) + { + command->call(player, args, {}); + } + } + } + + static void bind(sol::state& state) + { + auto ns = state["command"].get_or_create(); + ns["call"] = call; + ns["call_player"] = call_player; + } +} \ No newline at end of file diff --git a/src/lua/bindings/event.hpp b/src/lua/bindings/event.hpp new file mode 100644 index 00000000..b3668e25 --- /dev/null +++ b/src/lua/bindings/event.hpp @@ -0,0 +1,23 @@ +#pragma once +#include "fiber_pool.hpp" +#include "lua/lua_module.hpp" +#include "script_mgr.hpp" + +namespace lua::event +{ + static void register_handler(const std::string& name, sol::function func, sol::this_state state) + { + auto module = sol::state_view(state)["!this"].get(); + + auto hash = rage::joaat(name); + module->m_event_callbacks.emplace(hash, std::vector()); + module->m_event_callbacks[hash].push_back(func); + } + + static void bind(sol::state& state) + { + auto ns = state["event"].get_or_create(); + ns["register_handler"] = register_handler; + // TODO: triggering events through script? + } +} \ No newline at end of file diff --git a/src/lua/bindings/globals.hpp b/src/lua/bindings/globals.hpp new file mode 100644 index 00000000..77d53371 --- /dev/null +++ b/src/lua/bindings/globals.hpp @@ -0,0 +1,53 @@ +#pragma once +#include "memory.hpp" +#include "script_global.hpp" + +namespace lua::globals +{ + static int get_int(int global) + { + return *big::script_global(global).as(); + } + + static int get_float(int global) + { + return *big::script_global(global).as(); + } + + static std::string get_string(int global) + { + return std::string(big::script_global(global).as()); + } + + static void set_int(int global, int val) + { + *big::script_global(global).as() = val; + } + + static void set_float(int global, float val) + { + *big::script_global(global).as() = val; + } + + static void set_string(int global, const std::string& str, int max_length) + { + strncpy(big::script_global(global).as(), str.data(), max_length); + } + + static memory::pointer get_pointer(int global) + { + return memory::pointer((uint64_t)big::script_global(global).as()); + } + + static void bind(sol::state& state) + { + auto ns = state["globals"].get_or_create(); + ns["get_int"] = get_int; + ns["get_float"] = get_float; + ns["get_string"] = get_string; + ns["set_int"] = set_int; + ns["set_float"] = set_float; + ns["set_string"] = set_string; + ns["get_pointer"] = get_pointer; + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui.cpp b/src/lua/bindings/gui.cpp new file mode 100644 index 00000000..97c880ba --- /dev/null +++ b/src/lua/bindings/gui.cpp @@ -0,0 +1,12 @@ +#include "gui.hpp" + +#include "../../gui.hpp" + + +namespace lua::gui +{ + bool is_open() + { + return big::g_gui->is_open(); + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui.hpp b/src/lua/bindings/gui.hpp new file mode 100644 index 00000000..027d0c36 --- /dev/null +++ b/src/lua/bindings/gui.hpp @@ -0,0 +1,178 @@ +#pragma once +#include "gui/button.hpp" +#include "gui/checkbox.hpp" +#include "gui/gui_element.hpp" +#include "gui/input_float.hpp" +#include "gui/input_int.hpp" +#include "gui/input_string.hpp" +#include "gui/sameline.hpp" +#include "gui/separator.hpp" +#include "gui/text.hpp" +#include "lua/lua_module.hpp" + +namespace lua::gui +{ + static void add_element(lua_State* state, std::uint32_t hash, std::shared_ptr element) + { + auto module = sol::state_view(state)["!this"].get(); + + if (!module->m_gui.contains(hash)) + module->m_gui[hash] = {}; + + module->m_gui[hash].push_back(std::move(element)); + } + + class tab + { + rage::joaat_t m_tab_hash; + + public: + tab(rage::joaat_t hash) : + m_tab_hash(hash) + { + } + + std::shared_ptr add_button(const std::string& name, sol::function callback, sol::this_state state) + { + auto element = std::make_shared(name, callback); + add_element(state, m_tab_hash, element); + return element; + } + + std::shared_ptr add_text(const std::string& name, sol::this_state state) + { + auto element = std::make_shared(name); + add_element(state, m_tab_hash, element); + return element; + } + + std::shared_ptr add_checkbox(const std::string& name, sol::this_state state) + { + auto element = std::make_shared(name); + add_element(state, m_tab_hash, element); + return element; + } + + std::shared_ptr add_sameline(sol::this_state state) + { + auto element = std::make_shared(); + add_element(state, m_tab_hash, element); + return element; + } + + std::shared_ptr add_separator(sol::this_state state) + { + auto element = std::make_shared(); + add_element(state, m_tab_hash, element); + return element; + } + + std::shared_ptr add_input_int(const std::string& name, sol::this_state state) + { + auto element = std::make_shared(name); + add_element(state, m_tab_hash, element); + return element; + } + + std::shared_ptr add_input_float(const std::string& name, sol::this_state state) + { + auto element = std::make_shared(name); + add_element(state, m_tab_hash, element); + return element; + } + + std::shared_ptr add_input_string(const std::string& name, sol::this_state state) + { + auto element = std::make_shared(name); + add_element(state, m_tab_hash, element); + return element; + } + }; + + static tab get_tab(const std::string& tab_name) + { + return tab(rage::joaat(tab_name)); + } + + static void show_message(const std::string& title, const std::string& message) + { + big::g_notification_service->push(title, message); + } + + static void show_warning(const std::string& title, const std::string& message) + { + big::g_notification_service->push_warning(title, message); + } + + static void show_error(const std::string& title, const std::string& message) + { + big::g_notification_service->push_error(title, message); + } + + bool is_open(); + + static void bind(sol::state& state) + { + auto ns = state["gui"].get_or_create(); + ns["get_tab"] = get_tab; + ns["show_message"] = show_message; + ns["show_warning"] = show_warning; + ns["show_error"] = show_error; + ns["is_open"] = is_open; + + // clang-format off + ns.new_usertype("button", + "set_text", &lua::gui::button::set_text, + "get_text", &lua::gui::button::get_text + ); + + ns.new_usertype("text", + "set_text", &lua::gui::text::set_text, + "get_text", &lua::gui::text::get_text, + "set_font", &lua::gui::text::set_font + ); + + ns.new_usertype("checkbox", + "set_text", &lua::gui::checkbox::set_text, + "get_text", &lua::gui::checkbox::get_text, + "is_enabled", &lua::gui::checkbox::is_enabled, + "set_enabled", &lua::gui::checkbox::set_enabled + ); + + ns.new_usertype("sameline"); + ns.new_usertype("separator"); + + ns.new_usertype("input_int", + "set_text", &lua::gui::input_int::set_text, + "get_text", &lua::gui::input_int::get_text, + "get_value", &lua::gui::input_int::get_value, + "set_value", &lua::gui::input_int::set_value + ); + + ns.new_usertype("input_float", + "set_text", &lua::gui::input_float::set_text, + "get_text", &lua::gui::input_float::get_text, + "get_value", &lua::gui::input_float::get_value, + "set_value", &lua::gui::input_float::set_value + ); + + ns.new_usertype("input_string", + "set_text", &lua::gui::input_string::set_text, + "get_text", &lua::gui::input_string::get_text, + "get_value", &lua::gui::input_string::get_value, + "set_value", &lua::gui::input_string::set_value + ); + + ns.new_usertype("tab", + "add_button", &tab::add_button, + "add_text", &tab::add_text, + "add_checkbox", &tab::add_checkbox, + "add_sameline", &tab::add_sameline, + "add_separator", &tab::add_separator, + "add_input_int", &tab::add_input_int, + "add_input_float", &tab::add_input_float, + "add_input_string", &tab::add_input_string + ); + // clang-format on + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/base_text_element.cpp b/src/lua/bindings/gui/base_text_element.cpp new file mode 100644 index 00000000..89e384de --- /dev/null +++ b/src/lua/bindings/gui/base_text_element.cpp @@ -0,0 +1,19 @@ +#include "base_text_element.hpp" + +namespace lua::gui +{ + base_text_element::base_text_element(std::string text) : + m_text(text) + { + } + + void base_text_element::set_text(std::string new_text) + { + m_text = new_text; + } + + std::string base_text_element::get_text() + { + return m_text; + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/base_text_element.hpp b/src/lua/bindings/gui/base_text_element.hpp new file mode 100644 index 00000000..ec3290b1 --- /dev/null +++ b/src/lua/bindings/gui/base_text_element.hpp @@ -0,0 +1,17 @@ +#pragma once +#include "gui_element.hpp" + +namespace lua::gui +{ + class base_text_element : public gui_element + { + protected: + std::string m_text; + + public: + base_text_element(std::string text); + + void set_text(std::string new_text); + std::string get_text(); + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/button.cpp b/src/lua/bindings/gui/button.cpp new file mode 100644 index 00000000..763f0dc9 --- /dev/null +++ b/src/lua/bindings/gui/button.cpp @@ -0,0 +1,34 @@ +#include "button.hpp" + +#include "fiber_pool.hpp" +#include "lua/lua_manager.hpp" + +namespace lua::gui +{ + button::button(std::string text, sol::function callback) : + base_text_element(text), + m_callback(callback) + { + } + + void button::draw() + { + if (ImGui::Button(m_text.data())) + { + if (m_execute_in_fiber_pool) + { + big::g_fiber_pool->queue_job([this] { + auto res = m_callback(); + if (!res.valid()) + big::g_lua_manager->handle_error(res, res.lua_state()); + }); + } + else + { + auto res = m_callback(); + if (!res.valid()) + big::g_lua_manager->handle_error(res, res.lua_state()); + } + } + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/button.hpp b/src/lua/bindings/gui/button.hpp new file mode 100644 index 00000000..142b7c63 --- /dev/null +++ b/src/lua/bindings/gui/button.hpp @@ -0,0 +1,17 @@ +#pragma once +#include "base_text_element.hpp" +#include "lua/sol.hpp" + +namespace lua::gui +{ + class button : public base_text_element + { + sol::function m_callback; + bool m_execute_in_fiber_pool = true; + + public: + button(std::string text, sol::function callback); + + void draw() override; + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/checkbox.cpp b/src/lua/bindings/gui/checkbox.cpp new file mode 100644 index 00000000..d1a43397 --- /dev/null +++ b/src/lua/bindings/gui/checkbox.cpp @@ -0,0 +1,24 @@ +#include "checkbox.hpp" + +namespace lua::gui +{ + checkbox::checkbox(std::string text) : + base_text_element(text) + { + } + + void checkbox::draw() + { + ImGui::Checkbox(m_text.data(), &m_enabled); + } + + bool checkbox::is_enabled() + { + return m_enabled; + } + + void checkbox::set_enabled(bool enabled) + { + m_enabled = enabled; + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/checkbox.hpp b/src/lua/bindings/gui/checkbox.hpp new file mode 100644 index 00000000..c8d1d922 --- /dev/null +++ b/src/lua/bindings/gui/checkbox.hpp @@ -0,0 +1,18 @@ +#pragma once +#include "base_text_element.hpp" + +namespace lua::gui +{ + class checkbox : public base_text_element + { + bool m_enabled = false; + + public: + checkbox(std::string text); + + void draw() override; + + bool is_enabled(); + void set_enabled(bool enabled); + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/gui_element.hpp b/src/lua/bindings/gui/gui_element.hpp new file mode 100644 index 00000000..83414393 --- /dev/null +++ b/src/lua/bindings/gui/gui_element.hpp @@ -0,0 +1,10 @@ +#pragma once + +namespace lua::gui +{ + class gui_element + { + public: + virtual void draw() = 0; + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/input_float.cpp b/src/lua/bindings/gui/input_float.cpp new file mode 100644 index 00000000..f0e6bde5 --- /dev/null +++ b/src/lua/bindings/gui/input_float.cpp @@ -0,0 +1,24 @@ +#include "input_float.hpp" + +namespace lua::gui +{ + input_float::input_float(std::string text) : + base_text_element(text) + { + } + + void input_float::draw() + { + ImGui::InputFloat(m_text.c_str(), &m_value); + } + + int input_float::get_value() + { + return m_value; + } + + void input_float::set_value(float val) + { + m_value = val; + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/input_float.hpp b/src/lua/bindings/gui/input_float.hpp new file mode 100644 index 00000000..a026034c --- /dev/null +++ b/src/lua/bindings/gui/input_float.hpp @@ -0,0 +1,19 @@ +#pragma once +#include "base_text_element.hpp" + +namespace lua::gui +{ + class input_float : public base_text_element + { + bool m_enabled = false; + float m_value = 0; + + public: + input_float(std::string text); + + void draw() override; + + int get_value(); + void set_value(float val); + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/input_int.cpp b/src/lua/bindings/gui/input_int.cpp new file mode 100644 index 00000000..d586fc99 --- /dev/null +++ b/src/lua/bindings/gui/input_int.cpp @@ -0,0 +1,24 @@ +#include "input_int.hpp" + +namespace lua::gui +{ + input_int::input_int(std::string text) : + base_text_element(text) + { + } + + void input_int::draw() + { + ImGui::InputInt(m_text.c_str(), &m_value); + } + + int input_int::get_value() + { + return m_value; + } + + void input_int::set_value(int val) + { + m_value = val; + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/input_int.hpp b/src/lua/bindings/gui/input_int.hpp new file mode 100644 index 00000000..1b0543fe --- /dev/null +++ b/src/lua/bindings/gui/input_int.hpp @@ -0,0 +1,19 @@ +#pragma once +#include "base_text_element.hpp" + +namespace lua::gui +{ + class input_int : public base_text_element + { + bool m_enabled = false; + int m_value = 0; + + public: + input_int(std::string text); + + void draw() override; + + int get_value(); + void set_value(int val); + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/input_string.cpp b/src/lua/bindings/gui/input_string.cpp new file mode 100644 index 00000000..6b571384 --- /dev/null +++ b/src/lua/bindings/gui/input_string.cpp @@ -0,0 +1,24 @@ +#include "input_string.hpp" + +namespace lua::gui +{ + input_string::input_string(std::string text) : + base_text_element(text) + { + } + + void input_string::draw() + { + ImGui::InputText(m_text.c_str(), m_value, sizeof(m_value)); + } + + std::string input_string::get_value() + { + return m_value; + } + + void input_string::set_value(std::string val) + { + strncpy(m_value, val.c_str(), sizeof(m_value)); + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/input_string.hpp b/src/lua/bindings/gui/input_string.hpp new file mode 100644 index 00000000..d9cf1727 --- /dev/null +++ b/src/lua/bindings/gui/input_string.hpp @@ -0,0 +1,19 @@ +#pragma once +#include "base_text_element.hpp" + +namespace lua::gui +{ + class input_string : public base_text_element + { + bool m_enabled = false; + char m_value[255] = {}; + + public: + input_string(std::string text); + + void draw() override; + + std::string get_value(); + void set_value(std::string val); + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/sameline.cpp b/src/lua/bindings/gui/sameline.cpp new file mode 100644 index 00000000..8c9c8807 --- /dev/null +++ b/src/lua/bindings/gui/sameline.cpp @@ -0,0 +1,9 @@ +#include "sameline.hpp" + +namespace lua::gui +{ + void sameline::draw() + { + ImGui::SameLine(); + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/sameline.hpp b/src/lua/bindings/gui/sameline.hpp new file mode 100644 index 00000000..ea20b047 --- /dev/null +++ b/src/lua/bindings/gui/sameline.hpp @@ -0,0 +1,13 @@ +#pragma once +#include "gui_element.hpp" + +namespace lua::gui +{ + class sameline : public gui_element + { + public: + sameline(){}; + + void draw() override; + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/separator.cpp b/src/lua/bindings/gui/separator.cpp new file mode 100644 index 00000000..5f669b62 --- /dev/null +++ b/src/lua/bindings/gui/separator.cpp @@ -0,0 +1,9 @@ +#include "separator.hpp" + +namespace lua::gui +{ + void separator::draw() + { + ImGui::Separator(); + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/separator.hpp b/src/lua/bindings/gui/separator.hpp new file mode 100644 index 00000000..5f5ead6a --- /dev/null +++ b/src/lua/bindings/gui/separator.hpp @@ -0,0 +1,13 @@ +#pragma once +#include "gui_element.hpp" + +namespace lua::gui +{ + class separator : public gui_element + { + public: + separator(){}; + + void draw() override; + }; +} \ No newline at end of file diff --git a/src/lua/bindings/gui/text.cpp b/src/lua/bindings/gui/text.cpp new file mode 100644 index 00000000..b9d3671a --- /dev/null +++ b/src/lua/bindings/gui/text.cpp @@ -0,0 +1,32 @@ +#include "text.hpp" + +namespace lua::gui +{ + text::text(std::string text) : + base_text_element(text) + { + } + + void text::draw() + { + if (m_font) + ImGui::PushFont(m_font); + ImGui::Text(m_text.data()); + if (m_font) + ImGui::PopFont(); + } + + void text::set_font(std::string font) + { + auto hash = rage::joaat(font); + + switch (hash) + { + case RAGE_JOAAT("title"): m_font = big::g.window.font_title; break; + case RAGE_JOAAT("subtitle"): m_font = big::g.window.font_sub_title; break; + case RAGE_JOAAT("small"): m_font = big::g.window.font_small; break; + case RAGE_JOAAT("icon"): m_font = big::g.window.font_icon; break; + default: m_font = nullptr; break; + } + } +} \ No newline at end of file diff --git a/src/lua/bindings/gui/text.hpp b/src/lua/bindings/gui/text.hpp new file mode 100644 index 00000000..f097be3f --- /dev/null +++ b/src/lua/bindings/gui/text.hpp @@ -0,0 +1,17 @@ +#pragma once +#include "base_text_element.hpp" +#include "lua/sol.hpp" + +namespace lua::gui +{ + class text : public base_text_element + { + ImFont* m_font = nullptr; + + public: + text(std::string text); + + void draw() override; + void set_font(std::string font); + }; +} \ No newline at end of file diff --git a/src/lua/bindings/locals.hpp b/src/lua/bindings/locals.hpp new file mode 100644 index 00000000..c768c2b9 --- /dev/null +++ b/src/lua/bindings/locals.hpp @@ -0,0 +1,53 @@ +#pragma once +#include "gta_util.hpp" +#include "memory.hpp" +#include "script_local.hpp" + +namespace lua::locals +{ + template + inline T get(const std::string& script, int index) + { + static std::remove_pointer_t null{}; + auto thread = big::gta_util::find_script_thread(rage::joaat(script)); + if (thread) + return big::script_local(thread->m_stack, index).as(); + + return &null; + } + + static int get_int(const std::string& script, int index) + { + return *get(script, index); + } + + static int get_float(const std::string& script, int index) + { + return *get(script, index); + } + + static void set_int(const std::string& script, int index, int val) + { + *get(script, index) = val; + } + + static void set_float(const std::string& script, int index, float val) + { + *get(script, index) = val; + } + + static memory::pointer get_pointer(const std::string& script, int index) + { + return memory::pointer((uint64_t)get(script, index)); + } + + static void bind(sol::state& state) + { + auto ns = state["locals"].get_or_create(); + ns["get_int"] = get_int; + ns["get_float"] = get_float; + ns["set_int"] = set_int; + ns["set_float"] = set_float; + ns["get_pointer"] = get_pointer; + } +} \ No newline at end of file diff --git a/src/lua/bindings/log.hpp b/src/lua/bindings/log.hpp new file mode 100644 index 00000000..aeeb4917 --- /dev/null +++ b/src/lua/bindings/log.hpp @@ -0,0 +1,27 @@ +#pragma once + +namespace lua::log +{ + static void info(const std::string& data, sol::this_state state) + { + LOG(INFO) << sol::state_view(state)["!module_name"].get() << ": " << data; + } + + static void warning(const std::string& data, sol::this_state state) + { + LOG(WARNING) << sol::state_view(state)["!module_name"].get() << ": " << data; + } + + static void debug(const std::string& data, sol::this_state state) + { + LOG(VERBOSE) << sol::state_view(state)["!module_name"].get() << ": " << data; + } + + static void bind(sol::state& state) + { + auto ns = state["log"].get_or_create(); + ns["info"] = info; + ns["warning"] = warning; + ns["debug"] = debug; + } +} \ No newline at end of file diff --git a/src/lua/bindings/memory.cpp b/src/lua/bindings/memory.cpp new file mode 100644 index 00000000..0bf43549 --- /dev/null +++ b/src/lua/bindings/memory.cpp @@ -0,0 +1,44 @@ +#include "memory.hpp" + +#include "memory/module.hpp" +#include "memory/pattern.hpp" +#include "pointers.hpp" + +namespace lua::memory +{ + pointer scan_pattern(const std::string& pattern) + { + return pointer(::memory::module("GTA5.exe").scan(::memory::pattern(pattern)).value().as()); + } + + pointer handle_to_ptr(int entity) + { + auto ptr = big::g_pointers->m_gta.m_handle_to_ptr(entity); + return pointer((uint64_t)ptr); + } + + int ptr_to_handle(pointer mem_addr) + { + if (mem_addr.is_null()) + return 0; + + return big::g_pointers->m_gta.m_ptr_to_handle((void*)mem_addr.get_address()); + } + + pointer allocate(int size, sol::this_state state) + { + void* mem = new uint8_t[](size); + auto module = sol::state_view(state)["!this"].get(); + module->m_allocated_memory.push_back(mem); + return pointer((uint64_t)mem); + } + + void free(pointer ptr, sol::this_state state) + { + delete[] (void*)ptr.get_address(); + auto module = sol::state_view(state)["!this"].get(); + std::erase_if(module->m_allocated_memory, [ptr](void* addr) { + return ptr.get_address() == (uint64_t)addr; + }); + } +} \ No newline at end of file diff --git a/src/lua/bindings/memory.hpp b/src/lua/bindings/memory.hpp new file mode 100644 index 00000000..397af19e --- /dev/null +++ b/src/lua/bindings/memory.hpp @@ -0,0 +1,142 @@ +#pragma once +#include "lua/lua_module.hpp" +#include "lua/lua_patch.hpp" +#include "lua/sol.hpp" +#include "memory/byte_patch.hpp" + +namespace lua::memory +{ + struct pointer + { + private: + std::uint64_t m_address; + + public: + explicit pointer(std::uint64_t address) : + m_address(address) + { + } + + explicit pointer() : + m_address(0) + { + } + + pointer add(uint64_t offset) + { + return pointer(m_address + offset); + } + + pointer sub(uint64_t offset) + { + return pointer(m_address - offset); + } + + pointer rip() + { + return add(*(std::int32_t*)m_address).add(4); + } + + template + T get() + { + return *(T*)m_address; + } + + template + void set(T value) + { + *(T*)m_address = value; + } + + std::string get_string() + { + return std::string((char*)m_address); + } + + void set_string(const std::string& string, int max_length) + { + strncpy((char*)m_address, string.data(), max_length); + } + + template + big::lua_patch* patch(T value, sol::this_state state) + { + auto module = sol::state_view(state)["!this"].get(); + auto patch = std::make_shared(::memory::byte_patch::make((T*)m_address, value).get()); + auto raw = patch.get(); + module->m_registered_patches.push_back(std::move(patch)); + return raw; + } + + bool is_null() + { + return m_address == 0; + } + + bool is_valid() + { + return !is_null(); + } + + pointer deref() + { + return pointer(*(uint64_t*)m_address); + } + + uint64_t get_address() const + { + return m_address; + } + }; + + pointer scan_pattern(const std::string& pattern); + pointer handle_to_ptr(int entity); + int ptr_to_handle(pointer mem_addr); + pointer allocate(int size, sol::this_state state); + void free(pointer ptr, sol::this_state state); + + static void bind(sol::state& state) + { + auto ns = state["memory"].get_or_create(); + + // clang-format off + ns.new_usertype("pointer", sol::constructors(), + "add", &pointer::add, + "sub", &pointer::sub, + "rip", &pointer::rip, + "get_byte", &pointer::get, + "get_word", &pointer::get, + "get_dword", &pointer::get, + "get_float", &pointer::get, + "get_qword", &pointer::get, + "get_string", &pointer::get_string, + "set_byte", &pointer::set, + "set_word", &pointer::set, + "set_dword", &pointer::set, + "set_float", &pointer::set, + "set_qword", &pointer::set, + "set_string", &pointer::set_string, + "patch_byte", &pointer::patch, + "patch_word", &pointer::patch, + "patch_dword", &pointer::patch, + "patch_qword", &pointer::patch, + "is_null", &pointer::is_null, + "is_valid", &pointer::is_valid, + "deref", &pointer::deref, + "get_address", &pointer::get_address + ); + + ns.new_usertype("patch", sol::no_constructor, + "apply", &big::lua_patch::apply, + "restore", &big::lua_patch::restore + ); + // clang-format on + + ns["scan_pattern"] = scan_pattern; + ns["handle_to_ptr"] = handle_to_ptr; + ns["ptr_to_handle"] = ptr_to_handle; + ns["allocate"] = allocate; + ns["free"] = free; + } +} \ No newline at end of file diff --git a/src/lua/bindings/native.hpp b/src/lua/bindings/native.hpp new file mode 100644 index 00000000..1b8e698b --- /dev/null +++ b/src/lua/bindings/native.hpp @@ -0,0 +1,78 @@ +#pragma once +#include "invoker.hpp" +#include "lua/lua_module.hpp" +#include "lua/natives/natives_data.hpp" +#include "memory.hpp" + +namespace lua::native +{ + template + T invoke(sol::variadic_args args) + { + big::g_native_invoker.begin_call(); + + for (int i = 1; i < args.size(); i++) + { + if (args[i].is()) + big::g_native_invoker.push_arg(args[i].get().get_address()); + else if (args[i].is()) + big::g_native_invoker.push_arg(args[i].get()); + else if (args[i].is()) + big::g_native_invoker.push_arg(args[i].get()); + else if (args[i].is()) + big::g_native_invoker.push_arg(args[i].get()); + else if (args[i].is()) + big::g_native_invoker.push_arg(args[i].get()); + else if (args[i].is()) + { + auto vec = args[i].get(); + big::g_native_invoker.push_arg(vec.x); + big::g_native_invoker.push_arg(vec.y); + big::g_native_invoker.push_arg(vec.z); + } + else + { + LOG(FATAL) << "Unhandled parameter"; + return T(); + } + } + + big::g_native_invoker.end_call(args[0].as()); + + if constexpr (std::is_same_v) + { + return std::string(big::g_native_invoker.get_return_value()); + } + else if constexpr (std::is_same_v) + { + auto& vec = big::g_native_invoker.get_return_value(); + return {vec.x, vec.y, vec.z}; + } + else if constexpr (std::is_same_v) + { + return memory::pointer(big::g_native_invoker.get_return_value()); + } + else if constexpr (!std::is_void_v) + { + return big::g_native_invoker.get_return_value(); + } + } + + void bind(sol::state& state) + { + auto ns = state["_natives"].get_or_create(); + ns["invoke_void"] = invoke; + ns["invoke_int"] = invoke; + ns["invoke_float"] = invoke; + ns["invoke_bool"] = invoke; + ns["invoke_str"] = invoke; + ns["invoke_vec3"] = invoke; + ns["invoke_ptr"] = invoke; + + auto result = state.load_buffer(natives_data, natives_size); + if (!result.valid()) + LOG(FATAL) << "Failed to load natives data: " << result.get().what(); + + result(); + } +} \ No newline at end of file diff --git a/src/lua/bindings/network.cpp b/src/lua/bindings/network.cpp new file mode 100644 index 00000000..53cfbcd5 --- /dev/null +++ b/src/lua/bindings/network.cpp @@ -0,0 +1,97 @@ +#include "network.hpp" + +#include "hooking.hpp" +#include "pointers.hpp" +#include "services/player_database/player_database_service.hpp" +#include "util/notify.hpp" +#include "util/scripts.hpp" +#include "util/system.hpp" +#include "util/teleport.hpp" + +namespace lua::network +{ + void trigger_script_event(int bitset, sol::table _args) + { + auto args = convert_sequence(_args); + + if (args.size() >= 1) + args[1] = self::id; + + std::vector actual_args; + + for (auto arg : args) + actual_args.push_back((uint32_t)arg); + + big::g_pointers->m_gta.m_trigger_script_event(1, actual_args.data(), actual_args.size(), bitset); + } + + void give_pickup_rewards(int player, int reward) + { + big::g_pointers->m_gta.m_give_pickup_rewards(1 << player, reward); + } + + void set_player_coords(int player_idx, float x, float y, float z) + { + if (auto player = big::g_player_service->get_by_id(player_idx)) + big::teleport::teleport_player_to_coords(player, {x, y, z}); + } + + void set_all_player_coords(float x, float y, float z) + { + for (auto& player : big::g_player_service->players()) + big::g_fiber_pool->queue_job([player, x, y, z]() { + big::teleport::teleport_player_to_coords(player.second, {x, y, z}); + }); + } + + int get_selected_player() + { + if (big::g_player_service->get_selected()->is_valid()) + return big::g_player_service->get_selected()->id(); + + return -1; + } + + int get_selected_database_player_rockstar_id() + { + if (auto pers = big::g_player_database_service->get_selected()) + return pers->rockstar_id; + + return -1; + } + + void flag_player_as_modder(int player_idx) + { + if (auto player = big::g_player_service->get_by_id(player_idx)) + { + auto pers = big::g_player_database_service->get_or_create_player(player); + pers->is_modder = true; + big::g_player_database_service->save(); + player->is_modder = true; + } + } + + bool is_player_flagged_as_modder(int player_idx) + { + if (auto player = big::g_player_service->get_by_id(player_idx)) + return player->is_modder; + + return false; + } + + void force_script_host(const std::string& script_name) + { + big::scripts::force_host(rage::joaat(script_name)); + } + + void send_chat_message(const std::string& msg, bool team_only) + { + big::g_fiber_pool->queue_job([msg, team_only] { + if (big::g_hooking->get_original()(*big::g_pointers->m_gta.m_send_chat_ptr, + big::g_player_service->get_self()->get_net_data(), + (char*)msg.c_str(), + team_only)) + big::notify::draw_chat((char*)msg.data(), big::g_player_service->get_self()->get_name(), team_only); + }); + } +} \ No newline at end of file diff --git a/src/lua/bindings/network.hpp b/src/lua/bindings/network.hpp new file mode 100644 index 00000000..3ec43990 --- /dev/null +++ b/src/lua/bindings/network.hpp @@ -0,0 +1,48 @@ +#pragma once +#include "lua/sol.hpp" + +// https://stackoverflow.com/a/40777268 +/** + * Convert a Lua sequence into a C++ vector + * Throw exception on errors or wrong types + */ +template +inline std::vector convert_sequence(sol::table t) +{ + std::size_t sz = t.size(); + std::vector res(sz); + for (int i = 1; i <= sz; i++) + { + res[i - 1] = t[i]; + } + return res; +} + +namespace lua::network +{ + void trigger_script_event(int bitset, sol::table _args); + void give_pickup_rewards(int player, int reward); + void set_player_coords(int player_idx, float x, float y, float z); + void set_all_player_coords(float x, float y, float z); + int get_selected_player(); + int get_selected_database_player_rockstar_id(); + void flag_player_as_modder(int player_idx); + bool is_player_flagged_as_modder(int player_idx); + void force_script_host(const std::string& script_name); + void send_chat_message(const std::string& msg, bool team_only); + + static void bind(sol::state& state) + { + auto ns = state["network"].get_or_create(); + ns["trigger_script_event"] = trigger_script_event; + ns["give_pickup_rewards"] = give_pickup_rewards; + ns["set_player_coords"] = set_player_coords; + ns["set_all_player_coords"] = set_all_player_coords; + ns["get_selected_player"] = get_selected_player; + ns["get_selected_database_player_rockstar_id"] = get_selected_database_player_rockstar_id; + ns["flag_player_as_modder"] = flag_player_as_modder; + ns["is_player_flagged_as_modder"] = is_player_flagged_as_modder; + ns["force_script_host"] = force_script_host; + ns["send_chat_message"] = send_chat_message; + } +} \ No newline at end of file diff --git a/src/lua/bindings/script.hpp b/src/lua/bindings/script.hpp new file mode 100644 index 00000000..592f630d --- /dev/null +++ b/src/lua/bindings/script.hpp @@ -0,0 +1,54 @@ +#pragma once +#include "fiber_pool.hpp" +#include "lua/lua_manager.hpp" +#include "lua/lua_module.hpp" +#include "script_mgr.hpp" + +namespace lua::script +{ + static void register_looped(const std::string& name, sol::function func, sol::this_state state) + { + auto module = sol::state_view(state)["!this"].get(); + + module->m_registered_scripts.push_back(big::g_script_mgr.add_script(std::make_unique( + [func] { + while (big::g_running) + { + auto res = func(); + if (!res.valid()) + big::g_lua_manager->handle_error(res, res.lua_state()); + + big::script::get_current()->yield(); + } + }, + name))); + } + + static void run_in_fiber(sol::function func) + { + big::g_fiber_pool->queue_job([func] { + auto res = func(); + if (!res.valid()) + big::g_lua_manager->handle_error(res, res.lua_state()); + }); + } + + static void yield() + { + big::script::get_current()->yield(); + } + + static void sleep(int ms) + { + big::script::get_current()->yield(std::chrono::milliseconds(ms)); + } + + static void bind(sol::state& state) + { + auto ns = state["script"].get_or_create(); + ns["register_looped"] = register_looped; + ns["run_in_fiber"] = run_in_fiber; + ns["yield"] = yield; + ns["sleep"] = sleep; + } +} \ No newline at end of file diff --git a/src/lua/bindings/tunables.hpp b/src/lua/bindings/tunables.hpp new file mode 100644 index 00000000..2f999129 --- /dev/null +++ b/src/lua/bindings/tunables.hpp @@ -0,0 +1,31 @@ +#pragma once +#include "services/tunables/tunables_service.hpp" + +namespace lua::tunables +{ + template + static T get(const std::string tunable_name) + { + if (auto tunable = big::g_tunables_service->get_tunable(rage::joaat(tunable_name))) + return *tunable; + + return T(); + } + + template + static void set(const std::string tunable_name, T val) + { + big::g_tunables_service->set_tunable(rage::joaat(tunable_name), val); + } + + static void bind(sol::state& state) + { + auto ns = state["tunables"].get_or_create(); + ns["get_int"] = get; + ns["get_float"] = get; + ns["get_bool"] = get; + ns["set_int"] = set; + ns["set_float"] = set; + ns["set_bool"] = set; + } +} \ No newline at end of file diff --git a/src/lua/bindings/vector.hpp b/src/lua/bindings/vector.hpp new file mode 100644 index 00000000..7402204b --- /dev/null +++ b/src/lua/bindings/vector.hpp @@ -0,0 +1,15 @@ +#pragma once + +namespace lua::vector +{ + static void bind(sol::state& state) + { + // clang-format off + state.new_usertype("vec3", sol::constructors(), + "x", &rage::fvector3::x, + "y", &rage::fvector3::y, + "z", &rage::fvector3::z + ); + // clang-format on + } +} \ No newline at end of file diff --git a/src/lua/lua_manager.cpp b/src/lua/lua_manager.cpp new file mode 100644 index 00000000..3a93c1ae --- /dev/null +++ b/src/lua/lua_manager.cpp @@ -0,0 +1,99 @@ +#include "lua_manager.hpp" + +#include "file_manager.hpp" + +namespace big +{ + lua_manager::lua_manager() + { + load_all_modules(); + + g_lua_manager = this; + } + + lua_manager::~lua_manager() + { + unload_all_modules(); + + g_lua_manager = nullptr; + } + + void lua_manager::draw_gui(rage::joaat_t tab_hash) + { + std::lock_guard guard(m_module_lock); + + for (auto& module : m_modules) + { + if (auto it = module->m_gui.find(tab_hash); it != module->m_gui.end()) + { + ImGui::SameLine(); + + for (auto& element : it->second) + element->draw(); + } + } + } + + void lua_manager::unload_module(rage::joaat_t module_id) + { + std::lock_guard guard(m_module_lock); + + std::erase_if(m_modules, [module_id](auto& module) { + return module_id == module->module_id(); + }); + } + + void lua_manager::load_module(const std::string& module_name) + { + std::lock_guard guard(m_module_lock); + + auto id = rage::joaat(module_name); + + for (auto& module : m_modules) + if (module->module_id() == id) + return; + + m_modules.push_back(std::make_shared(module_name)); + } + + std::weak_ptr lua_manager::get_module(rage::joaat_t module_id) + { + for (auto& module : m_modules) + if (module->module_id() == module_id) + return module; + + return {}; + } + + const std::vector>& lua_manager::get_modules() + { + return m_modules; + } + + void lua_manager::reload_all_modules() + { + unload_all_modules(); + load_all_modules(); + } + + void lua_manager::handle_error(const sol::error& error, const sol::state_view& state) + { + LOG(WARNING) << state["!module_name"].get() << ": " << error.what(); + } + + void lua_manager::load_all_modules() + { + for (const auto& entry : std::filesystem::directory_iterator(g_file_manager->get_project_folder("scripts").get_path())) + if (entry.is_regular_file()) + load_module(entry.path().filename().string()); + } + void lua_manager::unload_all_modules() + { + std::lock_guard guard(m_module_lock); + + for (auto& module : m_modules) + module.reset(); + + m_modules.clear(); + } +} \ No newline at end of file diff --git a/src/lua/lua_manager.hpp b/src/lua/lua_manager.hpp new file mode 100644 index 00000000..cde2f7f1 --- /dev/null +++ b/src/lua/lua_manager.hpp @@ -0,0 +1,67 @@ +#pragma once +#include "lua_module.hpp" + +namespace big +{ + class lua_manager + { + std::mutex m_module_lock; + + public: + lua_manager(); + ~lua_manager(); + + void draw_gui(rage::joaat_t tab_hash); + void unload_module(rage::joaat_t module_id); + void load_module(const std::string& module_name); + std::weak_ptr get_module(rage::joaat_t module_id); + const std::vector>& get_modules(); + void reload_all_modules(); + void handle_error(const sol::error& error, const sol::state_view& state); + + template + inline std::conditional_t, void, std::optional> trigger_event(Args&&... args) + { + constexpr auto hash = rage::joaat(hash_str.value); + + for (auto& modules : get_modules()) + { + if (auto vec = modules->m_event_callbacks.find(hash); vec != modules->m_event_callbacks.end()) + { + for (auto& cb : vec->second) + { + auto result = cb(args...); + + if (!result.valid()) + { + handle_error(result, result.lua_state()); + continue; + } + + if constexpr (!std::is_void_v) + { + if (result.return_count() == 0) + continue; + + if (!result[0].is()) + continue; + + return result[0].get(); + } + } + } + } + + if constexpr (!std::is_void_v) + return std::nullopt; + } + + private: + void load_all_modules(); + void unload_all_modules(); + + std::vector> m_modules; + }; + + inline lua_manager* g_lua_manager; +} \ No newline at end of file diff --git a/src/lua/lua_module.cpp b/src/lua/lua_module.cpp new file mode 100644 index 00000000..0007681f --- /dev/null +++ b/src/lua/lua_module.cpp @@ -0,0 +1,109 @@ +#include "lua_module.hpp" + +#include "bindings/command.hpp" +#include "bindings/event.hpp" +#include "bindings/globals.hpp" +#include "bindings/gui.hpp" +#include "bindings/locals.hpp" +#include "bindings/log.hpp" +#include "bindings/memory.hpp" +#include "bindings/native.hpp" +#include "bindings/network.hpp" +#include "bindings/script.hpp" +#include "bindings/tunables.hpp" +#include "bindings/vector.hpp" +#include "file_manager.hpp" +#include "script_mgr.hpp" + +namespace big +{ + inline int exception_handler(lua_State* L, sol::optional exception, std::string_view what) + { + if (exception) + LOG(WARNING) << exception->what(); + else + LOG(WARNING) << what; + + lua_pushlstring(L, what.data(), what.size()); + return 1; + } + + inline int panic_handler(lua_State* L) + { + size_t messagesize; + const char* message = lua_tolstring(L, -1, &messagesize); + if (message) + { + std::string err(message, messagesize); + lua_settop(L, 0); + LOG(FATAL) << err; + } + lua_settop(L, 0); + LOG(FATAL) << "An unexpected error occurred and panic has been invoked"; + return 1; + } + + lua_module::lua_module(std::string module_name) : + m_state(), + m_module_name(module_name), + m_module_id(rage::joaat(module_name)) + { + m_state.open_libraries(); + + lua::log::bind(m_state); + lua::globals::bind(m_state); + lua::script::bind(m_state); + lua::native::bind(m_state); + lua::memory::bind(m_state); + lua::gui::bind(m_state); + lua::network::bind(m_state); + lua::command::bind(m_state); + lua::tunables::bind(m_state); + lua::locals::bind(m_state); + lua::event::bind(m_state); + lua::vector::bind(m_state); + + m_state["!module_name"] = module_name; + m_state["!this"] = this; + m_state["joaat"] = rage::joaat; + + m_state.set_exception_handler((sol::exception_handler_function)exception_handler); + m_state.set_panic(panic_handler); + + auto result = m_state.load_file(g_file_manager->get_project_folder("scripts").get_file(module_name).get_path().string()); + + if (!result.valid()) + { + LOG(WARNING) << module_name << " failed to load: " << result.get().what(); + } + else + { + result(); + } + } + + lua_module::~lua_module() + { + for (auto script : m_registered_scripts) + g_script_mgr.remove_script(script); + + for (auto& patch : m_registered_patches) + patch.reset(); + + for (auto memory : m_allocated_memory) + delete[] memory; + + m_registered_scripts.clear(); + m_registered_patches.clear(); + } + + rage::joaat_t lua_module::module_id() + { + return m_module_id; + } + + const std::string& lua_module::module_name() + { + return m_module_name; + } +} \ No newline at end of file diff --git a/src/lua/lua_module.hpp b/src/lua/lua_module.hpp new file mode 100644 index 00000000..ef88cac9 --- /dev/null +++ b/src/lua/lua_module.hpp @@ -0,0 +1,28 @@ +#pragma once +#include "bindings/gui/gui_element.hpp" +#include "lua_patch.hpp" +#include "sol.hpp" + +namespace big +{ + class script; + + class lua_module + { + sol::state m_state; + std::string m_module_name; + rage::joaat_t m_module_id; + + public: + std::vector m_registered_scripts; + std::vector> m_registered_patches; + std::unordered_map>> m_gui; + std::unordered_map> m_event_callbacks; + std::vector m_allocated_memory; + + lua_module(std::string module_name); + ~lua_module(); + rage::joaat_t module_id(); + const std::string& module_name(); + }; +} \ No newline at end of file diff --git a/src/lua/lua_patch.cpp b/src/lua/lua_patch.cpp new file mode 100644 index 00000000..7a8e84b9 --- /dev/null +++ b/src/lua/lua_patch.cpp @@ -0,0 +1,27 @@ +#include "lua_patch.hpp" + +#include "memory/byte_patch.hpp" + +namespace big +{ + lua_patch::lua_patch(memory::byte_patch* patch) : + m_byte_patch(patch) + { + } + + lua_patch::~lua_patch() + { + m_byte_patch->restore(); + m_byte_patch->remove(); + } + + void lua_patch::apply() + { + m_byte_patch->apply(); + } + + void lua_patch::restore() + { + m_byte_patch->restore(); + } +} \ No newline at end of file diff --git a/src/lua/lua_patch.hpp b/src/lua/lua_patch.hpp new file mode 100644 index 00000000..8d8866af --- /dev/null +++ b/src/lua/lua_patch.hpp @@ -0,0 +1,21 @@ +#pragma once + +namespace memory +{ + class byte_patch; +} + +namespace big +{ + class lua_patch + { + memory::byte_patch* m_byte_patch; + + public: + lua_patch(memory::byte_patch* patch); + ~lua_patch(); + + void apply(); + void restore(); + }; +} \ No newline at end of file diff --git a/src/lua/natives/natives.json b/src/lua/natives/natives.json new file mode 100644 index 00000000..1ab5ba28 --- /dev/null +++ b/src/lua/natives/natives.json @@ -0,0 +1,118122 @@ +{ + "SYSTEM": { + "0x4EDE34FBADD967A6": { + "name": "WAIT", + "jhash": "0x7715C03B", + "comment": "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", + "params": [ + { + "type": "int", + "name": "ms" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE81651AD79516E48": { + "name": "START_NEW_SCRIPT", + "jhash": "0x3F166D0E", + "comment": "Examples:\n g_384A = SYSTEM::START_NEW_SCRIPT(\"cellphone_flashhand\", 1424);\n l_10D = SYSTEM::START_NEW_SCRIPT(\"taxiService\", 1828);\n SYSTEM::START_NEW_SCRIPT(\"AM_MP_YACHT\", 5000);\n SYSTEM::START_NEW_SCRIPT(\"emergencycall\", 512);\n SYSTEM::START_NEW_SCRIPT(\"emergencycall\", 512); \n SYSTEM::START_NEW_SCRIPT(\"FM_maintain_cloud_header_data\", 1424);\n SYSTEM::START_NEW_SCRIPT(\"FM_Mission_Controller\", 31000);\n SYSTEM::START_NEW_SCRIPT(\"tennis_family\", 3650);\n SYSTEM::START_NEW_SCRIPT(\"Celebrations\", 3650);\n\nDecompiled examples of usage when starting a script:\n \n SCRIPT::REQUEST_SCRIPT(a_0);\n if (SCRIPT::HAS_SCRIPT_LOADED(a_0)) {\n SYSTEM::START_NEW_SCRIPT(a_0, v_3);\n SCRIPT::SET_SCRIPT_AS_NO_LONGER_NEEDED(a_0);\n return 1;\n }\n \nor:\n\n v_2 = \"MrsPhilips2\";\n SCRIPT::REQUEST_SCRIPT(v_2);\n while (!SCRIPT::HAS_SCRIPT_LOADED(v_2)) {\n SCRIPT::REQUEST_SCRIPT(v_2);\n SYSTEM::WAIT(0);\n }\n sub_8792(36);\n SYSTEM::START_NEW_SCRIPT(v_2, 17000);\n SCRIPT::SET_SCRIPT_AS_NO_LONGER_NEEDED(v_2);", + "params": [ + { + "type": "const char*", + "name": "scriptName" + }, + { + "type": "int", + "name": "stackSize" + } + ], + "return_type": "int", + "build": "323" + }, + "0xB8BA7F44DF1575E1": { + "name": "START_NEW_SCRIPT_WITH_ARGS", + "jhash": "0x4A2100E4", + "comment": "return : script thread id, 0 if failed\nPass pointer to struct of args in p1, size of struct goes into p2", + "params": [ + { + "type": "const char*", + "name": "scriptName" + }, + { + "type": "Any*", + "name": "args" + }, + { + "type": "int", + "name": "argCount" + }, + { + "type": "int", + "name": "stackSize" + } + ], + "return_type": "int", + "build": "323" + }, + "0xEB1C67C3A5333A92": { + "name": "START_NEW_SCRIPT_WITH_NAME_HASH", + "jhash": "0x8D15BE5D", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "scriptHash" + }, + { + "type": "int", + "name": "stackSize" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_START_NEW_STREAMED_SCRIPT" + ] + }, + "0xC4BB298BD441BE78": { + "name": "START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS", + "jhash": "0xE38A3AD4", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "scriptHash" + }, + { + "type": "Any*", + "name": "args" + }, + { + "type": "int", + "name": "argCount" + }, + { + "type": "int", + "name": "stackSize" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_START_NEW_STREAMED_SCRIPT_WITH_ARGS" + ] + }, + "0x83666F9FB8FEBD4B": { + "name": "TIMERA", + "jhash": "0x45C8C188", + "comment": "Counts up. Every 1000 is 1 real-time second. Use SETTIMERA(int value) to set the timer (e.g.: SETTIMERA(0)).", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xC9D9444186B5A374": { + "name": "TIMERB", + "jhash": "0x330A9C0C", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xC1B1E9A034A63A62": { + "name": "SETTIMERA", + "jhash": "0x35785333", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5AE11BC36633DE4E": { + "name": "SETTIMERB", + "jhash": "0x27C1B7C6", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0000000050597EE2": { + "name": "TIMESTEP", + "jhash": "0x50597EE2", + "comment": "Gets the current frame time.", + "params": [], + "return_type": "float", + "build": "323" + }, + "0x0BADBFA3B172435F": { + "name": "SIN", + "jhash": "0xBF987F58", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "float", + "build": "323" + }, + "0xD0FFB162F40A139C": { + "name": "COS", + "jhash": "0x00238FE9", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "float", + "build": "323" + }, + "0x71D93B57D07F9804": { + "name": "SQRT", + "jhash": "0x145C7701", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "float", + "build": "323" + }, + "0xE3621CC40F31FE2E": { + "name": "POW", + "jhash": "0x85D134F8", + "comment": "", + "params": [ + { + "type": "float", + "name": "base" + }, + { + "type": "float", + "name": "exponent" + } + ], + "return_type": "float", + "build": "323" + }, + "0xE816E655DE37FE20": { + "name": "LOG10", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "float", + "build": "1493", + "old_names": [ + "_LOG10" + ] + }, + "0x652D2EEEF1D3E62C": { + "name": "VMAG", + "jhash": "0x1FCF1ECD", + "comment": "Calculates the magnitude of a vector.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "float", + "build": "323" + }, + "0xA8CEACB4F35AE058": { + "name": "VMAG2", + "jhash": "0xE796E629", + "comment": "Calculates the magnitude of a vector but does not perform Sqrt operations. (Its way faster)", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "float", + "build": "323" + }, + "0x2A488C176D52CCA5": { + "name": "VDIST", + "jhash": "0x3C08ECB7", + "comment": "Calculates distance between vectors.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "float", + "build": "323" + }, + "0xB7A628320EFF8E47": { + "name": "VDIST2", + "jhash": "0xC85DEF1F", + "comment": "Calculates distance between vectors but does not perform Sqrt operations. (Its way faster)", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "float", + "build": "323" + }, + "0xEDD95A39E5544DE8": { + "name": "SHIFT_LEFT", + "jhash": "0x314CC6CD", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + }, + { + "type": "int", + "name": "bitShift" + } + ], + "return_type": "int", + "build": "323" + }, + "0x97EF1E5BCE9DC075": { + "name": "SHIFT_RIGHT", + "jhash": "0x352633CA", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + }, + { + "type": "int", + "name": "bitShift" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF34EE736CF047844": { + "name": "FLOOR", + "jhash": "0x32E9BE04", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "int", + "build": "323" + }, + "0x11E019C8F43ACC8A": { + "name": "CEIL", + "jhash": "0xD536A1DF", + "comment": "I'm guessing this rounds a float value up to the next whole number, and FLOOR rounds it down", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF2DB717A73826179": { + "name": "ROUND", + "jhash": "0x323B0E24", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBBDA792448DB5A89": { + "name": "TO_FLOAT", + "jhash": "0x67116627", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "float", + "build": "323" + }, + "0x42B65DEEF2EDF2A1": { + "name": "SET_THIS_THREAD_PRIORITY", + "jhash": "", + "comment": "THREAD_PRIO_HIGHEST = 0\nTHREAD_PRIO_NORMAL = 1\nTHREAD_PRIO_LOWEST = 2\nTHREAD_PRIO_MANUAL_UPDATE = 100", + "params": [ + { + "type": "int", + "name": "priority" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "SET_THREAD_PRIORITY" + ] + } + }, + "APP": { + "0x846AA8E7D55EE5B6": { + "name": "APP_DATA_VALID", + "jhash": "0x72BDE002", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD3A58A12C77D9D4B": { + "name": "APP_GET_INT", + "jhash": "0x2942AAD2", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "property" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1514FB24C02C2322": { + "name": "APP_GET_FLOAT", + "jhash": "0xD87F3A1C", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "property" + } + ], + "return_type": "float", + "build": "323" + }, + "0x749B023950D2311C": { + "name": "APP_GET_STRING", + "jhash": "0x849CEB80", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "property" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x607E8E3D3E4F9611": { + "name": "APP_SET_INT", + "jhash": "0x1B509C32", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "property" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x25D7687C68E0DAA4": { + "name": "APP_SET_FLOAT", + "jhash": "0xF3076135", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "property" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3FF2FCEC4B7721B4": { + "name": "APP_SET_STRING", + "jhash": "0x23DF19A8", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "property" + }, + { + "type": "const char*", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCFD0406ADAF90D2B": { + "name": "APP_SET_APP", + "jhash": "0x8BAC4146", + "comment": "Called in the gamescripts like:\nAPP::APP_SET_APP(\"car\");\nAPP::APP_SET_APP(\"dog\");", + "params": [ + { + "type": "const char*", + "name": "appName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x262AB456A3D21F93": { + "name": "APP_SET_BLOCK", + "jhash": "0xC2D54DD9", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "blockName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5FE1DF3342DB7DBA": { + "name": "APP_CLEAR_BLOCK", + "jhash": "0xDAB86A18", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE41C65E07A5F05FC": { + "name": "APP_CLOSE_APP", + "jhash": "0x03767C7A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE8E3FCF72EAC0EF8": { + "name": "APP_CLOSE_BLOCK", + "jhash": "0xED97B202", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x71EEE69745088DA0": { + "name": "APP_HAS_LINKED_SOCIAL_CLUB_ACCOUNT", + "jhash": "0xD368BA15", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xCA52279A7271517F": { + "name": "APP_HAS_SYNCED_DATA", + "jhash": "0x1DE2A63D", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "appName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x95C5D356CDA6E85F": { + "name": "APP_SAVE_DATA", + "jhash": "0x84A3918D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC9853A2BE3DED1A6": { + "name": "APP_GET_DELETED_FILE_STATUS", + "jhash": "0x784D550B", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x44151AEA95C8A003": { + "name": "APP_DELETE_APP_DATA", + "jhash": "0x2A2FBD1C", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "appName" + } + ], + "return_type": "BOOL", + "build": "323" + } + }, + "AUDIO": { + "0xF9E56683CA8E11A5": { + "name": "PLAY_PED_RINGTONE", + "jhash": "0x1D530E47", + "comment": "All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/RFb4GTny\n\nAUDIO::PLAY_PED_RINGTONE(\"Remote_Ring\", PLAYER::PLAYER_PED_ID(), 1);\nAUDIO::PLAY_PED_RINGTONE(\"Dial_and_Remote_Ring\", PLAYER::PLAYER_PED_ID(), 1);\n", + "params": [ + { + "type": "const char*", + "name": "ringtoneName" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1E8E5E20937E3137": { + "name": "IS_PED_RINGTONE_PLAYING", + "jhash": "0xFE576EE4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6C5AE23EFA885092": { + "name": "STOP_PED_RINGTONE", + "jhash": "0xFEEA107C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7497D2CE2C30D24C": { + "name": "IS_MOBILE_PHONE_CALL_ONGOING", + "jhash": "0x4ED1400A", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC8B1B2425604CDD0": { + "name": "IS_MOBILE_INTERFERENCE_ACTIVE", + "jhash": "0x16FB88B5", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD2C91A0B572AAE56": { + "name": "CREATE_NEW_SCRIPTED_CONVERSATION", + "jhash": "0xB2BC25F8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC5EF963405593646": { + "name": "ADD_LINE_TO_CONVERSATION", + "jhash": "0x96CD0513", + "comment": "NOTE: ones that are -1, 0 - 35 are determined by a function where it gets a TextLabel from a global then runs,\nGET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME 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.\n\np0 is -1, 0 - 35\np1 is a char or string (whatever you wanna call it)\np2 is Global 10597 + i * 6. 'i' is a while(i < 70) loop\np3 is again -1, 0 - 35 \np4 is again -1, 0 - 35 \np5 is either 0 or 1 (bool ?)\np6 is either 0 or 1 (The func to determine this is bool)\np7 is either 0 or 1 (The func to determine this is bool)\np8 is either 0 or 1 (The func to determine this is bool)\np9 is 0 - 3 (Determined by func_60 in dialogue_handler.c)\np10 is either 0 or 1 (The func to determine this is bool)\np11 is either 0 or 1 (The func to determine this is bool)\np12 is unknown as in TU27 X360 scripts it only goes to p11.", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + }, + { + "type": "BOOL", + "name": "p10" + }, + { + "type": "BOOL", + "name": "p11" + }, + { + "type": "BOOL", + "name": "p12" + } + ], + "return_type": "void", + "build": "323" + }, + "0x95D9F4BC443956E7": { + "name": "ADD_PED_TO_CONVERSATION", + "jhash": "0xF8D5EB86", + "comment": "4 calls in the b617d scripts. The only one with p0 and p2 in clear text:\n\nAUDIO::ADD_PED_TO_CONVERSATION(5, l_AF, \"DINAPOLI\");\n\n=================================================\nOne of the 2 calls in dialogue_handler.c p0 is in a while-loop, and so is determined to also possibly be 0 - 15.", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x33E3C6C6F2F0B506": { + "name": "SET_POSITION_FOR_NULL_CONV_PED", + "jhash": "0x73C6F979", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x892B6AB8F33606F5": { + "name": "SET_ENTITY_FOR_NULL_CONV_PED", + "jhash": "0x88203DDA", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB6AE90EDDE95C762": { + "name": "SET_MICROPHONE_POSITION", + "jhash": "0xAD7BB191", + "comment": "This native controls where the game plays audio from. By default the microphone is positioned on the player.\nWhen p0 is true the game will play audio from the 3 positions inputted.\nIt is recommended to set all 3 positions to the same value as mixing different positions doesn't seem to work well.\nThe scripts mostly use it with only one position such as in fbi3.c: \nAUDIO::SET_MICROPHONE_POSITION(true, ENTITY::GET_ENTITY_COORDS(iLocal_3091, true), ENTITY::GET_ENTITY_COORDS(iLocal_3091, true), ENTITY::GET_ENTITY_COORDS(iLocal_3091, true));", + "params": [ + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0B568201DD99F0EB": { + "name": "SET_CONVERSATION_AUDIO_CONTROLLED_BY_ANIM", + "jhash": "0x1193ED6E", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x61631F5DF50D1C34": { + "name": "SET_CONVERSATION_AUDIO_PLACEHOLDER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x252E5F915EABB675": { + "name": "START_SCRIPT_PHONE_CONVERSATION", + "jhash": "0x38E42D07", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6004BCB0E226AAEA": { + "name": "PRELOAD_SCRIPT_PHONE_CONVERSATION", + "jhash": "0x9ACB213A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B17C62C9635D2DC": { + "name": "START_SCRIPT_CONVERSATION", + "jhash": "0xE5DE7D9D", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3B3CAD6166916D87": { + "name": "PRELOAD_SCRIPT_CONVERSATION", + "jhash": "0xDDF5C579", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x23641AFE870AF385": { + "name": "START_PRELOADED_CONVERSATION", + "jhash": "0xA170261B", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE73364DB90778FFA": { + "name": "GET_IS_PRELOADED_CONVERSATION_READY", + "jhash": "0x336F3D35", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x16754C556D2EDE3D": { + "name": "IS_SCRIPTED_CONVERSATION_ONGOING", + "jhash": "0xCB8FD96F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xDF0D54BE7A776737": { + "name": "IS_SCRIPTED_CONVERSATION_LOADED", + "jhash": "0xE1870EA9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x480357EE890C295A": { + "name": "GET_CURRENT_SCRIPTED_CONVERSATION_LINE", + "jhash": "0x9620E41F", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x8530AD776CD72B12": { + "name": "PAUSE_SCRIPTED_CONVERSATION", + "jhash": "0xE2C9C6F8", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9AEB285D1818C9AC": { + "name": "RESTART_SCRIPTED_CONVERSATION", + "jhash": "0x6CB24B56", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD79DEEFB53455EBA": { + "name": "STOP_SCRIPTED_CONVERSATION", + "jhash": "0xAB77DA7D", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9663FE6B7A61EB00": { + "name": "SKIP_TO_NEXT_SCRIPTED_CONVERSATION_LINE", + "jhash": "0x85C98304", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA018A12E5C5C2FA6": { + "name": "INTERRUPT_CONVERSATION", + "jhash": "0xF3A67AF3", + "comment": "Example from carsteal3.c: AUDIO::INTERRUPT_CONVERSATION(PLAYER::PLAYER_PED_ID(), \"CST4_CFAA\", \"FRANKLIN\");\nVoicelines can be found in GTAV\\x64\\audio\\sfx in files starting with \"SS_\" which seems to mean scripted speech.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "voiceline" + }, + { + "type": "const char*", + "name": "speaker" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8A694D7A68F8DC38": { + "name": "INTERRUPT_CONVERSATION_AND_PAUSE", + "jhash": "0xDD4A3F1F", + "comment": "One call found in the b617d scripts:\n\nAUDIO::INTERRUPT_CONVERSATION_AND_PAUSE(NETWORK::NET_TO_PED(l_3989._f26F[0/*1*/]), \"CONV_INTERRUPT_QUIT_IT\", \"LESTER\");", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "speaker" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA19F5572C38B564": { + "name": "GET_VARIATION_CHOSEN_FOR_SCRIPTED_LINE", + "jhash": "0xB58B8FF3", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xB542DE8C3D1CB210": { + "name": "SET_NO_DUCKING_FOR_CONVERSATION", + "jhash": "0x789D8C6C", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC6ED9D5092438D91": { + "name": "REGISTER_SCRIPT_WITH_AUDIO", + "jhash": "0xA6203643", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA8638BE228D4751A": { + "name": "UNREGISTER_SCRIPT_WITH_AUDIO", + "jhash": "0x66728EFE", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x7345BDD95E62E0F2": { + "name": "REQUEST_MISSION_AUDIO_BANK", + "jhash": "0x916E37CA", + "comment": "All occurrences and usages found in b617d: https://pastebin.com/NzZZ2Tmm\nFull list of mission audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/missionAudioBankNames.json\np2 is always -1", + "params": [ + { + "type": "const char*", + "name": "audioBank" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFE02FFBED8CA9D99": { + "name": "REQUEST_AMBIENT_AUDIO_BANK", + "jhash": "0x23C88BC7", + "comment": "All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/XZ1tmGEz\nFull list of ambient audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientAudioBankNames.json\np2 is always -1", + "params": [ + { + "type": "const char*", + "name": "audioBank" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2F844A8B08D76685": { + "name": "REQUEST_SCRIPT_AUDIO_BANK", + "jhash": "0x21322887", + "comment": "All occurrences and usages found in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/AkmDAVn6\nFull list of script audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scriptAudioBankNames.json\np2 is always -1", + "params": [ + { + "type": "const char*", + "name": "audioBank" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x40763EA7B9B783E7": { + "name": "HINT_MISSION_AUDIO_BANK", + "jhash": "", + "comment": "p2 is always -1", + "params": [ + { + "type": "const char*", + "name": "audioBank" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "573" + }, + "0x8F8C0E370AE62F5C": { + "name": "HINT_AMBIENT_AUDIO_BANK", + "jhash": "0xF1850DDC", + "comment": "p2 is always -1", + "params": [ + { + "type": "const char*", + "name": "audioBank" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFB380A29641EC31A": { + "name": "HINT_SCRIPT_AUDIO_BANK", + "jhash": "0x41FA0E51", + "comment": "p2 is always -1", + "params": [ + { + "type": "const char*", + "name": "audioBank" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0EC92A1BF0857187": { + "name": "RELEASE_MISSION_AUDIO_BANK", + "jhash": "0x8E8824C7", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x65475A218FFAA93D": { + "name": "RELEASE_AMBIENT_AUDIO_BANK", + "jhash": "0x8C938784", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x77ED170667F50170": { + "name": "RELEASE_NAMED_SCRIPT_AUDIO_BANK", + "jhash": "0x16707ABC", + "comment": "Full list of script audio bank names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scriptAudioBankNames.json", + "params": [ + { + "type": "const char*", + "name": "audioBank" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7A2D8AD0A9EB9C3F": { + "name": "RELEASE_SCRIPT_AUDIO_BANK", + "jhash": "0x22F865E5", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x19AF7ED9B9D23058": { + "name": "UNHINT_AMBIENT_AUDIO_BANK", + "jhash": "0xA58BBF4F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9AC92EED5E4793AB": { + "name": "UNHINT_SCRIPT_AUDIO_BANK", + "jhash": "0xE67446E9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x11579D940949C49E": { + "name": "UNHINT_NAMED_SCRIPT_AUDIO_BANK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "audioBank" + } + ], + "return_type": "void", + "build": "678" + }, + "0x430386FE9BF80B45": { + "name": "GET_SOUND_ID", + "jhash": "0x6AE0AD56", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x353FC880830B88FA": { + "name": "RELEASE_SOUND_ID", + "jhash": "0x9C080899", + "comment": "", + "params": [ + { + "type": "int", + "name": "soundId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7FF4944CC209192D": { + "name": "PLAY_SOUND", + "jhash": "0xB6E1917F", + "comment": "All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/A8Ny8AHZ\n\nFull list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json", + "params": [ + { + "type": "int", + "name": "soundId" + }, + { + "type": "const char*", + "name": "audioName" + }, + { + "type": "const char*", + "name": "audioRef" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x67C540AA08E4A6F5": { + "name": "PLAY_SOUND_FRONTEND", + "jhash": "0x2E458F74", + "comment": "List: https://pastebin.com/DCeRiaLJ\n\nAll occurrences as of Cayo Perico Heist DLC (b2189), sorted alphabetically and identical lines removed: https://git.io/JtLxM\n\nFull list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json", + "params": [ + { + "type": "int", + "name": "soundId" + }, + { + "type": "const char*", + "name": "audioName" + }, + { + "type": "const char*", + "name": "audioRef" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCADA5A0D0702381E": { + "name": "PLAY_DEFERRED_SOUND_FRONTEND", + "jhash": "0xC70E6CFA", + "comment": "Only call found in the b617d scripts:\n\nAUDIO::PLAY_DEFERRED_SOUND_FRONTEND(\"BACK\", \"HUD_FREEMODE_SOUNDSET\");\n\nFull list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json", + "params": [ + { + "type": "const char*", + "name": "soundName" + }, + { + "type": "const char*", + "name": "soundsetName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE65F427EB70AB1ED": { + "name": "PLAY_SOUND_FROM_ENTITY", + "jhash": "0x95AE00F8", + "comment": "All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/f2A7vTj0 \nNo changes made in b678d.\n\ngtaforums.com/topic/795622-audio-for-mods\n\nFull list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json", + "params": [ + { + "type": "int", + "name": "soundId" + }, + { + "type": "const char*", + "name": "audioName" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "audioRef" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5B9853296731E88D": { + "name": "PLAY_SOUND_FROM_ENTITY_HASH", + "jhash": "", + "comment": "Only used with \"formation_flying_blips_soundset\" and \"biker_formation_blips_soundset\".\np1 is always the model of p2", + "params": [ + { + "type": "int", + "name": "soundId" + }, + { + "type": "Hash", + "name": "model" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Hash", + "name": "soundSetHash" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "877" + }, + "0x8D8686B622B88120": { + "name": "PLAY_SOUND_FROM_COORD", + "jhash": "0xCAD3E2D5", + "comment": "All found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/eeFc5DiW\n\ngtaforums.com/topic/795622-audio-for-mods\n\nFull list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json", + "params": [ + { + "type": "int", + "name": "soundId" + }, + { + "type": "const char*", + "name": "audioName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "const char*", + "name": "audioRef" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "int", + "name": "range" + }, + { + "type": "BOOL", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7EC3C679D0E7E46B": { + "name": "UPDATE_SOUND_COORD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "soundId" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "678" + }, + "0xA3B0C41BA5CC0BB5": { + "name": "STOP_SOUND", + "jhash": "0xCD7F4030", + "comment": "", + "params": [ + { + "type": "int", + "name": "soundId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2DE3F0A134FFBC0D": { + "name": "GET_NETWORK_ID_FROM_SOUND_ID", + "jhash": "0x2576F610", + "comment": "Could this be used alongside either, \nSET_NETWORK_ID_EXISTS_ON_ALL_MACHINES or _SET_NETWORK_ID_SYNC_TO_PLAYER to make it so other players can hear the sound while online? It'd be a bit troll-fun to be able to play the Zancudo UFO creepy sounds globally.", + "params": [ + { + "type": "int", + "name": "soundId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x75262FD12D0A1C84": { + "name": "GET_SOUND_ID_FROM_NETWORK_ID", + "jhash": "0xD064D4DC", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "int", + "build": "323" + }, + "0xAD6B3148A78AE9B6": { + "name": "SET_VARIABLE_ON_SOUND", + "jhash": "0x606EE5FA", + "comment": "", + "params": [ + { + "type": "int", + "name": "soundId" + }, + { + "type": "const char*", + "name": "variable" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2F9D3834AEB9EF79": { + "name": "SET_VARIABLE_ON_STREAM", + "jhash": "0xF67BB44C", + "comment": "From the scripts, p0:\n\n\"ArmWrestlingIntensity\",\n\"INOUT\",\n\"Monkey_Stream\",\n\"ZoomLevel\"", + "params": [ + { + "type": "const char*", + "name": "variable" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF2A9CDABCEA04BD6": { + "name": "OVERRIDE_UNDERWATER_STREAM", + "jhash": "0x9A083B7E", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x733ADF241531E5C2": { + "name": "SET_VARIABLE_ON_UNDER_WATER_STREAM", + "jhash": "0x62D026BE", + "comment": "AUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM(\"inTunnel\", 1.0);\nAUDIO::SET_VARIABLE_ON_UNDER_WATER_STREAM(\"inTunnel\", 0.0);", + "params": [ + { + "type": "const char*", + "name": "variableName" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFCBDCE714A7C88E5": { + "name": "HAS_SOUND_FINISHED", + "jhash": "0xE85AEC2E", + "comment": "", + "params": [ + { + "type": "int", + "name": "soundId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8E04FEDD28D42462": { + "name": "PLAY_PED_AMBIENT_SPEECH_NATIVE", + "jhash": "0x5C57B85D", + "comment": "Plays ambient speech. See also _0x444180DB.\n\nped: The ped to play the ambient speech.\nspeechName: Name of the speech to play, eg. \"GENERIC_HI\".\nspeechParam: Can be one of the following:\nSPEECH_PARAMS_STANDARD\nSPEECH_PARAMS_ALLOW_REPEAT\nSPEECH_PARAMS_BEAT\nSPEECH_PARAMS_FORCE\nSPEECH_PARAMS_FORCE_FRONTEND\nSPEECH_PARAMS_FORCE_NO_REPEAT_FRONTEND\nSPEECH_PARAMS_FORCE_NORMAL\nSPEECH_PARAMS_FORCE_NORMAL_CLEAR\nSPEECH_PARAMS_FORCE_NORMAL_CRITICAL\nSPEECH_PARAMS_FORCE_SHOUTED\nSPEECH_PARAMS_FORCE_SHOUTED_CLEAR\nSPEECH_PARAMS_FORCE_SHOUTED_CRITICAL\nSPEECH_PARAMS_FORCE_PRELOAD_ONLY\nSPEECH_PARAMS_MEGAPHONE\nSPEECH_PARAMS_HELI\nSPEECH_PARAMS_FORCE_MEGAPHONE\nSPEECH_PARAMS_FORCE_HELI\nSPEECH_PARAMS_INTERRUPT\nSPEECH_PARAMS_INTERRUPT_SHOUTED\nSPEECH_PARAMS_INTERRUPT_SHOUTED_CLEAR\nSPEECH_PARAMS_INTERRUPT_SHOUTED_CRITICAL\nSPEECH_PARAMS_INTERRUPT_NO_FORCE\nSPEECH_PARAMS_INTERRUPT_FRONTEND\nSPEECH_PARAMS_INTERRUPT_NO_FORCE_FRONTEND\nSPEECH_PARAMS_ADD_BLIP\nSPEECH_PARAMS_ADD_BLIP_ALLOW_REPEAT\nSPEECH_PARAMS_ADD_BLIP_FORCE\nSPEECH_PARAMS_ADD_BLIP_SHOUTED\nSPEECH_PARAMS_ADD_BLIP_SHOUTED_FORCE\nSPEECH_PARAMS_ADD_BLIP_INTERRUPT\nSPEECH_PARAMS_ADD_BLIP_INTERRUPT_FORCE\nSPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED\nSPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED_CLEAR\nSPEECH_PARAMS_FORCE_PRELOAD_ONLY_SHOUTED_CRITICAL\nSPEECH_PARAMS_SHOUTED\nSPEECH_PARAMS_SHOUTED_CLEAR\nSPEECH_PARAMS_SHOUTED_CRITICAL\n\nNote: A list of Name and Parameters can be found here https://pastebin.com/1GZS5dCL\n\nFull list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "speechName" + }, + { + "type": "const char*", + "name": "speechParam" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAY_AMBIENT_SPEECH1" + ] + }, + "0xC6941B4A3A8FBBB9": { + "name": "PLAY_PED_AMBIENT_SPEECH_AND_CLONE_NATIVE", + "jhash": "0x444180DB", + "comment": "Plays ambient speech. See also _0x5C57B85D.\n\nSee PLAY_PED_AMBIENT_SPEECH_NATIVE for parameter specifications.\n\nFull list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "speechName" + }, + { + "type": "const char*", + "name": "speechParam" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAY_AMBIENT_SPEECH2" + ] + }, + "0x3523634255FC3318": { + "name": "PLAY_PED_AMBIENT_SPEECH_WITH_VOICE_NATIVE", + "jhash": "0x8386AE28", + "comment": "This is the same as PLAY_PED_AMBIENT_SPEECH_NATIVE and PLAY_PED_AMBIENT_SPEECH_AND_CLONE_NATIVE but it will allow you to play a speech file from a specific voice file. It works on players and all peds, even animals.\n\nEX (C#):\nGTA.Native.Function.Call(Hash.PLAY_PED_AMBIENT_SPEECH_WITH_VOICE_NATIVE, Game.Player.Character, \"GENERIC_INSULT_HIGH\", \"s_m_y_sheriff_01_white_full_01\", \"SPEECH_PARAMS_FORCE_SHOUTED\", 0);\n\nThe 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.\n\nFull list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "speechName" + }, + { + "type": "const char*", + "name": "voiceName" + }, + { + "type": "const char*", + "name": "speechParam" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAY_AMBIENT_SPEECH_WITH_VOICE" + ] + }, + "0xED640017ED337E45": { + "name": "PLAY_AMBIENT_SPEECH_FROM_POSITION_NATIVE", + "jhash": "0xA1A1402E", + "comment": "Full list of speeches and voices names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/speeches.json", + "params": [ + { + "type": "const char*", + "name": "speechName" + }, + { + "type": "const char*", + "name": "voiceName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "const char*", + "name": "speechParam" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAY_AMBIENT_SPEECH_AT_COORDS" + ] + }, + "0x13AD665062541A7E": { + "name": "OVERRIDE_TREVOR_RAGE", + "jhash": "0x05B9B5CF", + "comment": "This native enables the audio flag \"TrevorRageIsOverridden\" and sets the voice effect to `voiceEffect`", + "params": [ + { + "type": "const char*", + "name": "voiceEffect" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE78503B10C4314E0": { + "name": "RESET_TREVOR_RAGE", + "jhash": "0xE80CF0D4", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xEA241BB04110F091": { + "name": "SET_PLAYER_ANGRY", + "jhash": "0x782CA58D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBC9AE166038A5CEC": { + "name": "PLAY_PAIN", + "jhash": "0x874BD6CB", + "comment": "Needs another parameter [int p2]. The signature is PED::PLAY_PAIN(Ped ped, int painID, int p1, int p2);\n\nLast 2 parameters always seem to be 0.\n\nEX: Function.Call(Hash.PLAY_PAIN, TestPed, 6, 0, 0);\n\nKnown Pain IDs\n________________________\n\n1 - Doesn't seem to do anything. Does NOT crash the game like previously said. (Latest patch)\n6 - Scream (Short)\n7 - Scared Scream (Kinda Long)\n8 - On Fire\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "painID" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCE4AC0439F607045": { + "name": "RELEASE_WEAPON_AUDIO", + "jhash": "0x6096504C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD01005D2BA2EB778": { + "name": "ACTIVATE_AUDIO_SLOWMO_MODE", + "jhash": "0x59A3A17D", + "comment": "mode can be any of these: \nSLOWMO_T1_TRAILER_SMASH\nSLOWMO_T1_RAYFIRE_EXPLOSION\nSLOWMO_PROLOGUE_VAULT\nNIGEL_02_SLOWMO_SETTING\nJSH_EXIT_TUNNEL_SLOWMO\nSLOWMO_BIG_SCORE_JUMP\nSLOWMO_FIB4_TRUCK_SMASH\nSLOWMO_EXTREME_04\nSLOW_MO_METH_HOUSE_RAYFIRE\nBARRY_02_SLOWMO\nBARRY_01_SLOWMO", + "params": [ + { + "type": "const char*", + "name": "mode" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDDC635D5B3262C56": { + "name": "DEACTIVATE_AUDIO_SLOWMO_MODE", + "jhash": "0x0E387BFE", + "comment": "see ACTIVATE_AUDIO_SLOWMO_MODE for modes", + "params": [ + { + "type": "const char*", + "name": "mode" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6C8065A3B780185B": { + "name": "SET_AMBIENT_VOICE_NAME", + "jhash": "0xBD2EA1A1", + "comment": "Audio List\ngtaforums.com/topic/795622-audio-for-mods/\n\nAll found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/FTeAj4yZ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9A53DED9921DE990": { + "name": "SET_AMBIENT_VOICE_NAME_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_AMBIENT_VOICE_NAME_HASH" + ] + }, + "0x5E203DA2BA15D436": { + "name": "GET_AMBIENT_VOICE_NAME_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Hash", + "build": "463", + "old_names": [ + "_GET_AMBIENT_VOICE_NAME_HASH" + ] + }, + "0x40CF0D12D142A9E8": { + "name": "SET_PED_VOICE_FULL", + "jhash": "", + "comment": "Assigns some ambient voice to the ped.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_SCREAM" + ] + }, + "0x1B7ABE26CBCBF8C7": { + "name": "SET_PED_RACE_AND_VOICE_GROUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Hash", + "name": "voiceGroup" + } + ], + "return_type": "void", + "build": "372" + }, + "0x7CDC8C3B89F661B3": { + "name": "SET_PED_VOICE_GROUP", + "jhash": "", + "comment": "From the scripts:\n\nAUDIO::SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"PAIGE_PVG\"));\nAUDIO::SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"TALINA_PVG\"));\nAUDIO::SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"FEMALE_LOST_BLACK_PVG\"));\nAUDIO::SET_PED_VOICE_GROUP(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"FEMALE_LOST_WHITE_PVG\"));", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "voiceGroupHash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_VOICE_GROUP" + ] + }, + "0x0BABC1345ABBFB16": { + "name": "SET_PED_VOICE_GROUP_FROM_RACE_TO_PVG", + "jhash": "", + "comment": "Dat151RelType == 29", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "voiceGroupHash" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_SET_PED_VOICE_GROUP_RACE" + ] + }, + "0xA5342D390CDA41D6": { + "name": "SET_PED_GENDER", + "jhash": "", + "comment": "BOOL p1: 0 = Female; 1 = Male", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_AUDIO_GENDER" + ] + }, + "0x7A73D05A607734C7": { + "name": "STOP_CURRENT_PLAYING_SPEECH", + "jhash": "0x5B7463F4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_MUTE" + ] + }, + "0xB8BEC0CA6F0EDB0F": { + "name": "STOP_CURRENT_PLAYING_AMBIENT_SPEECH", + "jhash": "0xBB8E64BF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9072C8B49907BFAD": { + "name": "IS_AMBIENT_SPEECH_PLAYING", + "jhash": "0x1972E8AA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCC9AA18DCC7084F4": { + "name": "IS_SCRIPTED_SPEECH_PLAYING", + "jhash": "0x2C653904", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x729072355FA39EC9": { + "name": "IS_ANY_SPEECH_PLAYING", + "jhash": "0x2B74A6D6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x30CA2EF91D15ADF8": { + "name": "IS_ANY_POSITIONAL_SPEECH_PLAYING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2189" + }, + "0x49B99BF3FDA89A7A": { + "name": "DOES_CONTEXT_EXIST_FOR_THIS_PED", + "jhash": "0x8BD5F11E", + "comment": "Checks if the ped can play the speech or has the speech file, p2 is usually false.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "speechName" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_CAN_PED_SPEAK" + ] + }, + "0x049E937F18F4020C": { + "name": "IS_PED_IN_CURRENT_CONVERSATION", + "jhash": "0x7B2F0743", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x95D2D383D5396B8A": { + "name": "SET_PED_IS_DRUNK", + "jhash": "0xD2EA77A3", + "comment": "Sets the ped drunk sounds. Only works with PLAYER_PED_ID\n\n====================================================\n\nAs mentioned above, this only sets the drunk sound to ped/player.\n\nTo give the Ped a drunk effect with drunk walking animation try using SET_PED_MOVEMENT_CLIPSET\n\nBelow is an example\n\nif (!Function.Call(Hash.HAS_ANIM_SET_LOADED, \"move_m@drunk@verydrunk\"))\n {\n Function.Call(Hash.REQUEST_ANIM_SET, \"move_m@drunk@verydrunk\");\n }\n Function.Call(Hash.SET_PED_MOVEMENT_CLIPSET, Ped.Handle, \"move_m@drunk@verydrunk\", 0x3E800000);\n\n\n\nAnd to stop the effect use\nRESET_PED_MOVEMENT_CLIPSET", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEE066C7006C49C0A": { + "name": "PLAY_ANIMAL_VOCALIZATION", + "jhash": "0x498849F3", + "comment": "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.\nThis native is works only when you call it on the ped with right model (ac_chop only ?)\nSpeech Name can be: CHOP_SNIFF_SEQ CHOP_WHINE CHOP_LICKS_MOUTH CHOP_PANT bark GROWL SNARL BARK_SEQ", + "params": [ + { + "type": "Ped", + "name": "pedHandle" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "const char*", + "name": "speechName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC265DF9FB44A9FBD": { + "name": "IS_ANIMAL_VOCALIZATION_PLAYING", + "jhash": "0x0CBAF2EF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "pedHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCC97B29285B1DC3B": { + "name": "SET_ANIMAL_MOOD", + "jhash": "0x3EA7C6CB", + "comment": "mood can be 0 or 1 (it's not a boolean value!). Effects audio of the animal.", + "params": [ + { + "type": "Ped", + "name": "animal" + }, + { + "type": "int", + "name": "mood" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB35CE999E8EF317E": { + "name": "IS_MOBILE_PHONE_RADIO_ACTIVE", + "jhash": "0x6E502A5B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xBF286C554784F3DF": { + "name": "SET_MOBILE_PHONE_RADIO_STATE", + "jhash": "0xE1E0ED34", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE8AF77C4C06ADC93": { + "name": "GET_PLAYER_RADIO_STATION_INDEX", + "jhash": "0x1C4946AC", + "comment": "Returns 255 (radio off index) if the function fails.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xF6D733C32076AD03": { + "name": "GET_PLAYER_RADIO_STATION_NAME", + "jhash": "0xD909C107", + "comment": "Returns active radio station name", + "params": [], + "return_type": "const char*", + "build": "323" + }, + "0xB28ECA15046CA8B9": { + "name": "GET_RADIO_STATION_NAME", + "jhash": "0x3DF493BC", + "comment": "Converts radio station index to string. Use HUD::GET_FILENAME_FOR_AUDIO_CONVERSATION to get the user-readable text.", + "params": [ + { + "type": "int", + "name": "radioStation" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xA571991A7FE6CCEB": { + "name": "GET_PLAYER_RADIO_STATION_GENRE", + "jhash": "0x872CF0EA", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xA151A7394A214E65": { + "name": "IS_RADIO_RETUNING", + "jhash": "0xCF29097B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0626A247D2405330": { + "name": "IS_RADIO_FADED_OUT", + "jhash": "0x815CAE99", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFF266D1D0EB1195D": { + "name": "SET_RADIO_RETUNE_UP", + "jhash": "0x53DB6994", + "comment": "Tune Forward...", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xDD6BCF9E94425DF9": { + "name": "SET_RADIO_RETUNE_DOWN", + "jhash": "0xD70ECC80", + "comment": "Tune Backwards...", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC69EDA28699D5107": { + "name": "SET_RADIO_TO_STATION_NAME", + "jhash": "0x7B36E35E", + "comment": "List of radio stations that are in the wheel, in clockwise order, as of LS Tuners DLC: https://git.io/J8a3k\nAn older list including hidden radio stations: https://pastebin.com/Kj9t38KF", + "params": [ + { + "type": "const char*", + "name": "stationName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1B9C0099CB942AC6": { + "name": "SET_VEH_RADIO_STATION", + "jhash": "0xE391F55F", + "comment": "List of radio stations that are in the wheel, in clockwise order, as of LS Tuners DLC: https://git.io/J8a3k\nAn older list including hidden radio stations: https://pastebin.com/Kj9t38KF", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "const char*", + "name": "radioStation" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3E45765F3FBB582F": { + "name": "SET_VEH_HAS_NORMAL_RADIO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_VEH_HAS_RADIO_OVERRIDE" + ] + }, + "0x0BE4BE946463F917": { + "name": "IS_VEHICLE_RADIO_ON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_IS_VEHICLE_RADIO_ENABLED" + ] + }, + "0xC1805D05E6D4FE10": { + "name": "SET_VEH_FORCED_RADIO_THIS_FRAME", + "jhash": "0x7ABB89D2", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xACF57305B12AF907": { + "name": "SET_EMITTER_RADIO_STATION", + "jhash": "0x87431585", + "comment": "Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json", + "params": [ + { + "type": "const char*", + "name": "emitterName" + }, + { + "type": "const char*", + "name": "radioStation" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x399D2D3B33F1B8EB": { + "name": "SET_STATIC_EMITTER_ENABLED", + "jhash": "0x91F72E92", + "comment": "Example:\nAUDIO::SET_STATIC_EMITTER_ENABLED((Any*)\"LOS_SANTOS_VANILLA_UNICORN_01_STAGE\", false); AUDIO::SET_STATIC_EMITTER_ENABLED((Any*)\"LOS_SANTOS_VANILLA_UNICORN_02_MAIN_ROOM\", false); AUDIO::SET_STATIC_EMITTER_ENABLED((Any*)\"LOS_SANTOS_VANILLA_UNICORN_03_BACK_ROOM\", false);\n\nThis turns off surrounding sounds not connected directly to peds.\n\nFull list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json", + "params": [ + { + "type": "const char*", + "name": "emitterName" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x651D3228960D08AF": { + "name": "LINK_STATIC_EMITTER_TO_ENTITY", + "jhash": "", + "comment": "Full list of static emitters by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/staticEmitters.json", + "params": [ + { + "type": "const char*", + "name": "emitterName" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_LINK_STATIC_EMITTER_TO_ENTITY" + ] + }, + "0xA619B168B8A8570F": { + "name": "SET_RADIO_TO_STATION_INDEX", + "jhash": "0x1D82766D", + "comment": "Sets radio station by index.", + "params": [ + { + "type": "int", + "name": "radioStation" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF7F26C6E9CC9EBB8": { + "name": "SET_FRONTEND_RADIO_ACTIVE", + "jhash": "0xB1172075", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "active" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB165AB7C248B2DC1": { + "name": "UNLOCK_MISSION_NEWS_STORY", + "jhash": "0xCCD9ABE4", + "comment": "\"news\" that play on the radio after you've done something in story mode(?)", + "params": [ + { + "type": "int", + "name": "newsStory" + } + ], + "return_type": "void", + "build": "323" + }, + "0x66E49BF55B4B1874": { + "name": "IS_MISSION_NEWS_STORY_UNLOCKED", + "jhash": "0x27305D37", + "comment": "", + "params": [ + { + "type": "int", + "name": "newsStory" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "GET_NUMBER_OF_PASSENGER_VOICE_VARIATIONS" + ] + }, + "0x50B196FC9ED6545B": { + "name": "GET_AUDIBLE_MUSIC_TRACK_TEXT_ID", + "jhash": "0xA2B88CA7", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xCD536C4D33DCC900": { + "name": "PLAY_END_CREDITS_MUSIC", + "jhash": "0x8E88B3CC", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "play" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6DDBBDD98E2E9C25": { + "name": "SKIP_RADIO_FORWARD", + "jhash": "0x10D36630", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x344F393B027E38C3": { + "name": "FREEZE_RADIO_STATION", + "jhash": "0x286BF543", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioStation" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFC00454CF60B91DD": { + "name": "UNFREEZE_RADIO_STATION", + "jhash": "0x4D46202C", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioStation" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC1AA9F53CE982990": { + "name": "SET_RADIO_AUTO_UNFREEZE", + "jhash": "0xA40196BF", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x88795F13FACDA88D": { + "name": "SET_INITIAL_PLAYER_STATION", + "jhash": "0x9B069233", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioStation" + } + ], + "return_type": "void", + "build": "323" + }, + "0x19F21E63AE6EAE4E": { + "name": "SET_USER_RADIO_CONTROL_ENABLED", + "jhash": "0x52E054CE", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB39786F201FEE30B": { + "name": "SET_RADIO_TRACK", + "jhash": "0x76E96212", + "comment": "Only found this one in the decompiled scripts:\n\nAUDIO::SET_RADIO_TRACK(\"RADIO_03_HIPHOP_NEW\", \"ARM1_RADIO_STARTS\");\n", + "params": [ + { + "type": "const char*", + "name": "radioStation" + }, + { + "type": "const char*", + "name": "radioTrack" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2CB0075110BE1E56": { + "name": "SET_RADIO_TRACK_WITH_START_OFFSET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioStationName" + }, + { + "type": "const char*", + "name": "mixName" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_RADIO_TRACK_MIX" + ] + }, + "0x55ECF4D13D9903B0": { + "name": "SET_NEXT_RADIO_TRACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioName" + }, + { + "type": "const char*", + "name": "radioTrack" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "const char*", + "name": "p3" + } + ], + "return_type": "void", + "build": "1868" + }, + "0xBB6F1CAEC68B0BCE": { + "name": "SET_VEHICLE_RADIO_LOUD", + "jhash": "0x8D9EDD99", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x032A116663A4D5AC": { + "name": "CAN_VEHICLE_RECEIVE_CB_RADIO", + "jhash": "0xCBA99F4A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_VEHICLE_RADIO_LOUD" + ] + }, + "0x1098355A16064BB3": { + "name": "SET_MOBILE_RADIO_ENABLED_DURING_GAMEPLAY", + "jhash": "0x990085F0", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x109697E2FFBAC8A1": { + "name": "DOES_PLAYER_VEH_HAVE_RADIO", + "jhash": "0x46B0C696", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5F43D83FD6738741": { + "name": "IS_PLAYER_VEH_RADIO_ENABLE", + "jhash": "0x2A3E5E8B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PLAYER_VEHICLE_RADIO_ENABLED" + ] + }, + "0x3B988190C0AA6C0B": { + "name": "SET_VEHICLE_RADIO_ENABLED", + "jhash": "0x6F812CAB", + "comment": "can't seem to enable radio on cop cars etc", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDA07819E452FFE8F": { + "name": "SET_POSITIONED_PLAYER_VEHICLE_RADIO_EMITTER_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "505" + }, + "0x4E404A9361F75BB2": { + "name": "SET_CUSTOM_RADIO_TRACK_LIST", + "jhash": "0x128C3873", + "comment": "Examples:\n\nAUDIO::SET_CUSTOM_RADIO_TRACK_LIST(\"RADIO_01_CLASS_ROCK\", \"END_CREDITS_KILL_MICHAEL\", 1);\nAUDIO::SET_CUSTOM_RADIO_TRACK_LIST(\"RADIO_01_CLASS_ROCK\", \"END_CREDITS_KILL_MICHAEL\", 1);\nAUDIO::SET_CUSTOM_RADIO_TRACK_LIST(\"RADIO_01_CLASS_ROCK\", \"END_CREDITS_KILL_TREVOR\", 1);\nAUDIO::SET_CUSTOM_RADIO_TRACK_LIST(\"RADIO_01_CLASS_ROCK\", \"END_CREDITS_SAVE_MICHAEL_TREVOR\", 1);\nAUDIO::SET_CUSTOM_RADIO_TRACK_LIST(\"RADIO_01_CLASS_ROCK\", \"OFF_ROAD_RADIO_ROCK_LIST\", 1);\nAUDIO::SET_CUSTOM_RADIO_TRACK_LIST(\"RADIO_06_COUNTRY\", \"MAGDEMO2_RADIO_DINGHY\", 1);\nAUDIO::SET_CUSTOM_RADIO_TRACK_LIST(\"RADIO_16_SILVERLAKE\", \"SEA_RACE_RADIO_PLAYLIST\", 1);\nAUDIO::SET_CUSTOM_RADIO_TRACK_LIST(\"RADIO_01_CLASS_ROCK\", \"OFF_ROAD_RADIO_ROCK_LIST\", 1);", + "params": [ + { + "type": "const char*", + "name": "radioStation" + }, + { + "type": "const char*", + "name": "trackListName" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1654F24A88A8E3FE": { + "name": "CLEAR_CUSTOM_RADIO_TRACK_LIST", + "jhash": "0x1D766976", + "comment": "3 calls in the b617d scripts, removed duplicate.\n\nAUDIO::CLEAR_CUSTOM_RADIO_TRACK_LIST(\"RADIO_16_SILVERLAKE\");\nAUDIO::CLEAR_CUSTOM_RADIO_TRACK_LIST(\"RADIO_01_CLASS_ROCK\");", + "params": [ + { + "type": "const char*", + "name": "radioStation" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF1620ECB50E01DE7": { + "name": "GET_NUM_UNLOCKED_RADIO_STATIONS", + "jhash": "0xCC91FCF5", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_MAX_RADIO_STATION_INDEX" + ] + }, + "0x8D67489793FF428B": { + "name": "FIND_RADIO_STATION_INDEX", + "jhash": "0xECA1512F", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "stationNameHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x774BD811F656A122": { + "name": "SET_RADIO_STATION_MUSIC_ONLY", + "jhash": "0xB1FF7137", + "comment": "6 calls in the b617d scripts, removed identical lines:\n\nAUDIO::SET_RADIO_STATION_MUSIC_ONLY(\"RADIO_01_CLASS_ROCK\", 1);\nAUDIO::SET_RADIO_STATION_MUSIC_ONLY(AUDIO::GET_RADIO_STATION_NAME(10), 0);\nAUDIO::SET_RADIO_STATION_MUSIC_ONLY(AUDIO::GET_RADIO_STATION_NAME(10), 1);", + "params": [ + { + "type": "const char*", + "name": "radioStation" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2C96CDB04FCA358E": { + "name": "SET_RADIO_FRONTEND_FADE_TIME", + "jhash": "0xC8B514E2", + "comment": "", + "params": [ + { + "type": "float", + "name": "fadeTime" + } + ], + "return_type": "void", + "build": "323" + }, + "0x031ACB6ABA18C729": { + "name": "UNLOCK_RADIO_STATION_TRACK_LIST", + "jhash": "0xBE998184", + "comment": "AUDIO::UNLOCK_RADIO_STATION_TRACK_LIST(\"RADIO_16_SILVERLAKE\", \"MIRRORPARK_LOCKED\");", + "params": [ + { + "type": "const char*", + "name": "radioStation" + }, + { + "type": "const char*", + "name": "trackListName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFF5E5EA2DCEEACF3": { + "name": "LOCK_RADIO_STATION_TRACK_LIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioStation" + }, + { + "type": "const char*", + "name": "trackListName" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_LOCK_RADIO_STATION_TRACK_LIST" + ] + }, + "0x47AED84213A47510": { + "name": "UPDATE_UNLOCKABLE_DJ_RADIO_TRACKS", + "jhash": "", + "comment": "Just a nullsub (i.e. does absolutely nothing) since build 1604.", + "params": [ + { + "type": "BOOL", + "name": "enableMixes" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_UPDATE_LSUR" + ] + }, + "0x477D9DB48F889591": { + "name": "LOCK_RADIO_STATION", + "jhash": "", + "comment": "Disables the radio station (hides it from the radio wheel).", + "params": [ + { + "type": "const char*", + "name": "radioStationName" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_RADIO_STATION_DISABLED", + "_LOCK_RADIO_STATION" + ] + }, + "0x4CAFEBFA21EC188D": { + "name": "SET_RADIO_STATION_AS_FAVOURITE", + "jhash": "", + "comment": "Doesn't have an effect in Story Mode.", + "params": [ + { + "type": "const char*", + "name": "radioStation" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_RADIO_STATION_IS_VISIBLE" + ] + }, + "0x2B1784DB08AFEA79": { + "name": "IS_RADIO_STATION_FAVOURITED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioStation" + } + ], + "return_type": "BOOL", + "build": "2699", + "old_names": [ + "_IS_RADIO_STATION_VISIBLE" + ] + }, + "0xC64A06D939F826F5": { + "name": "GET_NEXT_AUDIBLE_BEAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float*", + "name": "out1" + }, + { + "type": "float*", + "name": "out2" + }, + { + "type": "int*", + "name": "out3" + } + ], + "return_type": "BOOL", + "build": "1493" + }, + "0x4E0AF9114608257C": { + "name": "FORCE_MUSIC_TRACK_LIST", + "jhash": "", + "comment": "Changes start time of a tracklist (milliseconds)\nR* uses a random int: MISC::GET_RANDOM_INT_IN_RANGE(0, 13) * 60000)", + "params": [ + { + "type": "const char*", + "name": "radioStation" + }, + { + "type": "const char*", + "name": "trackListName" + }, + { + "type": "int", + "name": "milliseconds" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_FORCE_RADIO_TRACK_LIST_POSITION" + ] + }, + "0x3E65CDE5215832C1": { + "name": "GET_CURRENT_TRACK_PLAY_TIME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioStationName" + } + ], + "return_type": "int", + "build": "1493", + "old_names": [ + "_GET_CURRENT_RADIO_TRACK_PLAYBACK_TIME" + ] + }, + "0x34D66BC058019CE0": { + "name": "GET_CURRENT_TRACK_SOUND_NAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "radioStationName" + } + ], + "return_type": "Hash", + "build": "1493", + "old_names": [ + "_GET_CURRENT_RADIO_TRACK_NAME" + ] + }, + "0xF3365489E0DD50F9": { + "name": "SET_VEHICLE_MISSILE_WARNING_ENABLED", + "jhash": "0x8AFC488D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBDA07E5950085E46": { + "name": "SET_AMBIENT_ZONE_STATE", + "jhash": "0x2849CAC9", + "comment": "Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json", + "params": [ + { + "type": "const char*", + "name": "zoneName" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x218DD44AAAC964FF": { + "name": "CLEAR_AMBIENT_ZONE_STATE", + "jhash": "0xCDFF3C82", + "comment": "This function also has a p2, unknown. Signature AUDIO::CLEAR_AMBIENT_ZONE_STATE(const char* zoneName, bool p1, Any p2);\n\nStill needs more research.\n\nFull list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json", + "params": [ + { + "type": "const char*", + "name": "zoneName" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9748FA4DE50CCE3E": { + "name": "SET_AMBIENT_ZONE_LIST_STATE", + "jhash": "0xBF80B412", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "ambientZone" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x120C48C614909FA4": { + "name": "CLEAR_AMBIENT_ZONE_LIST_STATE", + "jhash": "0x38B9B8D4", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "ambientZone" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1D6650420CEC9D3B": { + "name": "SET_AMBIENT_ZONE_STATE_PERSISTENT", + "jhash": "0xC1FFB672", + "comment": "Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json", + "params": [ + { + "type": "const char*", + "name": "ambientZone" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF3638DAE8C4045E1": { + "name": "SET_AMBIENT_ZONE_LIST_STATE_PERSISTENT", + "jhash": "0x5F5A2605", + "comment": "Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json", + "params": [ + { + "type": "const char*", + "name": "ambientZone" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x01E2817A479A7F9B": { + "name": "IS_AMBIENT_ZONE_ENABLED", + "jhash": "0xBFABD872", + "comment": "Full list of ambient zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ambientZones.json", + "params": [ + { + "type": "const char*", + "name": "ambientZone" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5D2BFAAB8D956E0E": { + "name": "REFRESH_CLOSEST_OCEAN_SHORELINE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "573" + }, + "0x3B4BF5F0859204D9": { + "name": "SET_CUTSCENE_AUDIO_OVERRIDE", + "jhash": "0xCE1332B7", + "comment": "All occurrences found in b617d, sorted alphabetically and identical lines removed: \n\nAUDIO::SET_CUTSCENE_AUDIO_OVERRIDE(\"_AK\");\nAUDIO::SET_CUTSCENE_AUDIO_OVERRIDE(\"_CUSTOM\");\nAUDIO::SET_CUTSCENE_AUDIO_OVERRIDE(\"_TOOTHLESS\");\nFull list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBCC29F935ED07688": { + "name": "SET_VARIABLE_ON_SYNCH_SCENE_AUDIO", + "jhash": "0xD63CF33A", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "variableName" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "GET_PLAYER_HEADSET_SOUND_ALTERNATE", + "_SET_VARIABLE_ON_CUTSCENE_AUDIO" + ] + }, + "0xDFEBD56D9BD1EB16": { + "name": "PLAY_POLICE_REPORT", + "jhash": "0x3F277B62", + "comment": "Plays the given police radio message.\n\nAll found occurrences in b617d, sorted alphabetically and identical lines removed: https://pastebin.com/GBnsQ5hr\nFull list of police report names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/policeReportNames.json", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0xB4F90FAF7670B16F": { + "name": "CANCEL_ALL_POLICE_REPORTS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_POLICE_REPORTS", + "_CANCEL_CURRENT_POLICE_REPORT" + ] + }, + "0x1B9025BDA76822B6": { + "name": "BLIP_SIREN", + "jhash": "0xC0EB6924", + "comment": "Plays the siren sound of a vehicle which is otherwise activated when fastly double-pressing the horn key.\nOnly works on vehicles with a police siren.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3CDC1E622CCE0356": { + "name": "OVERRIDE_VEH_HORN", + "jhash": "0x2ACAB783", + "comment": "Overrides the vehicle's horn hash.\nWhen changing this hash on a vehicle, it will not return the 'overwritten' hash. It will still always return the default horn hash (same as GET_VEHICLE_DEFAULT_HORN)\n\nvehicle - the vehicle whose horn should be overwritten\nmute - p1 seems to be an option for muting the horn\np2 - maybe a horn id, since the function AUDIO::GET_VEHICLE_DEFAULT_HORN(veh) exists?", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "override" + }, + { + "type": "int", + "name": "hornHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9D6BFC12B05C6121": { + "name": "IS_HORN_ACTIVE", + "jhash": "0x20E2BDD0", + "comment": "Checks whether the horn of a vehicle is currently played.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x395BF71085D1B1D9": { + "name": "SET_AGGRESSIVE_HORNS", + "jhash": "0x01D6EABE", + "comment": "Makes pedestrians sound their horn longer, faster and more agressive when they use their horn.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x02E93C796ABD3A97": { + "name": "SET_RADIO_POSITION_AUDIO_MUTE", + "jhash": "0x3C395AEE", + "comment": "Does nothing (it's a nullsub).", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x58BB377BEC7CD5F4": { + "name": "SET_VEHICLE_CONVERSATIONS_PERSIST", + "jhash": "0x8CE63FA1", + "comment": "SET_VEHICLE_CONVERSATIONS_PERSIST?", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9BD7BD55E4533183": { + "name": "SET_VEHICLE_CONVERSATIONS_PERSIST_NEW", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xD11FA52EB849D978": { + "name": "IS_STREAM_PLAYING", + "jhash": "0xF1F51A14", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4E72BBDBCA58A3DB": { + "name": "GET_STREAM_PLAY_TIME", + "jhash": "0xB4F0AD56", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x1F1F957154EC51DF": { + "name": "LOAD_STREAM", + "jhash": "0x0D89599D", + "comment": "Example:\nAUDIO::LOAD_STREAM(\"CAR_STEAL_1_PASSBY\", \"CAR_STEAL_1_SOUNDSET\");\n\nAll found occurrences in the b678d decompiled scripts: https://pastebin.com/3rma6w5w\n\nStream names often ends with \"_MASTER\", \"_SMALL\" or \"_STREAM\". Also \"_IN\", \"_OUT\" and numbers. \n\nsoundSet is often set to 0 in the scripts. These are common to end the soundSets: \"_SOUNDS\", \"_SOUNDSET\" and numbers.\n\nFull list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json", + "params": [ + { + "type": "const char*", + "name": "streamName" + }, + { + "type": "const char*", + "name": "soundSet" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x59C16B79F53B3712": { + "name": "LOAD_STREAM_WITH_START_OFFSET", + "jhash": "0xE5B5745C", + "comment": "Example:\nAUDIO::LOAD_STREAM_WITH_START_OFFSET(\"STASH_TOXIN_STREAM\", 2400, \"FBI_05_SOUNDS\");\n\nOnly called a few times in the scripts.\n\nFull list of audio / sound names by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/soundNames.json", + "params": [ + { + "type": "const char*", + "name": "streamName" + }, + { + "type": "int", + "name": "startOffset" + }, + { + "type": "const char*", + "name": "soundSet" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x89049DD63C08B5D1": { + "name": "PLAY_STREAM_FROM_PED", + "jhash": "0xA1D7FABE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB70374A758007DFA": { + "name": "PLAY_STREAM_FROM_VEHICLE", + "jhash": "0xF8E4BDA2", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEBAA9B64D76356FD": { + "name": "PLAY_STREAM_FROM_OBJECT", + "jhash": "0xC5266BF7", + "comment": "Used with AUDIO::LOAD_STREAM\n\nExample from finale_heist2b.c4:\nTASK::TASK_SYNCHRONIZED_SCENE(l_4C8[2/*14*/], l_4C8[2/*14*/]._f7, l_30A, \"push_out_vault_l\", 4.0, -1.5, 5, 713, 4.0, 0);\n PED::SET_SYNCHRONIZED_SCENE_PHASE(l_4C8[2/*14*/]._f7, 0.0);\n PED::FORCE_PED_AI_AND_ANIMATION_UPDATE(l_4C8[2/*14*/], 0, 0);\n PED::SET_PED_COMBAT_ATTRIBUTES(l_4C8[2/*14*/], 38, 1);\n PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(l_4C8[2/*14*/], 1);\n if (AUDIO::LOAD_STREAM(\"Gold_Cart_Push_Anim_01\", \"BIG_SCORE_3B_SOUNDS\")) {\n AUDIO::PLAY_STREAM_FROM_OBJECT(l_36F[0/*1*/]);\n }", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "void", + "build": "323" + }, + "0x58FCE43488F9F5F4": { + "name": "PLAY_STREAM_FRONTEND", + "jhash": "0x2C2A16BC", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x21442F412E8DE56B": { + "name": "PLAY_STREAM_FROM_POSITION", + "jhash": "0x6FE5D865", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SPECIAL_FRONTEND_EQUAL" + ] + }, + "0xA4718A1419D18151": { + "name": "STOP_STREAM", + "jhash": "0xD1E364DE", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9D64D7405520E3D3": { + "name": "STOP_PED_SPEAKING", + "jhash": "0xFF92B49D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "shaking" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF8AD2EED7C47E8FE": { + "name": "BLOCK_ALL_SPEECH_FROM_PED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1734" + }, + "0xAB6781A5F3101470": { + "name": "STOP_PED_SPEAKING_SYNCED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "1868" + }, + "0xA9A41C1E940FB0E8": { + "name": "DISABLE_PED_PAIN_AUDIO", + "jhash": "0x3B8E2D5F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x932C2D096A2C3FFF": { + "name": "IS_AMBIENT_SPEECH_DISABLED", + "jhash": "0x109D1F89", + "comment": "Common in the scripts:\nAUDIO::IS_AMBIENT_SPEECH_DISABLED(PLAYER::PLAYER_PED_ID());", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA8A7D434AFB4B97B": { + "name": "BLOCK_SPEECH_CONTEXT_GROUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "1493" + }, + "0x2ACABED337622DF2": { + "name": "UNBLOCK_SPEECH_CONTEXT_GROUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493" + }, + "0x1FEF0683B96EBCF2": { + "name": "SET_SIREN_WITH_NO_DRIVER", + "jhash": "0x77182D58", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF584CF8529B51434": { + "name": "SET_SIREN_BYPASS_MP_DRIVER_CHECK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_SIREN_KEEP_ON" + ] + }, + "0x66C3FB05206041BA": { + "name": "TRIGGER_SIREN_AUDIO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_TRIGGER_SIREN" + ] + }, + "0x9C11908013EA4715": { + "name": "SET_HORN_PERMANENTLY_ON", + "jhash": "0xDE8BA3CD", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SOUND_VEHICLE_HORN_THIS_FRAME" + ] + }, + "0x76D683C108594D0E": { + "name": "SET_HORN_ENABLED", + "jhash": "0x6EB92D05", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE5564483E407F914": { + "name": "SET_AUDIO_VEHICLE_PRIORITY", + "jhash": "0x271A9766", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9D3AF56E94C9AE98": { + "name": "SET_HORN_PERMANENTLY_ON_TIME", + "jhash": "0x2F0A16D1", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFA932DE350266EF8": { + "name": "USE_SIREN_AS_HORN", + "jhash": "0xC6BC16F3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4F0C413926060B38": { + "name": "FORCE_USE_AUDIO_GAME_OBJECT", + "jhash": "0x33B0B007", + "comment": "This native sets the audio of the specified vehicle to the audioName (p1).\n\nUse the audioNameHash found in vehicles.meta\n\nExample:\n_SET_VEHICLE_AUDIO(veh, \"ADDER\");\nThe selected vehicle will now have the audio of the Adder.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "const char*", + "name": "audioName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_AUDIO", + "_FORCE_VEHICLE_ENGINE_AUDIO" + ] + }, + "0xCA4CEA6AE0000A7E": { + "name": "PRELOAD_VEHICLE_AUDIO_BANK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "vehicleModel" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_PRELOAD_VEHICLE_AUDIO" + ] + }, + "0xF1F8157B8C3F171C": { + "name": "SET_VEHICLE_STARTUP_REV_SOUND", + "jhash": "0x1C0C5E4C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD2DCCD8E16E20997": { + "name": "RESET_VEHICLE_STARTUP_REV_SOUND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_VEHICLE_STARTUP_REV_SOUND" + ] + }, + "0x97FFB4ADEED08066": { + "name": "SET_VEHICLE_FORCE_REVERSE_WARNING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2372" + }, + "0x5DB8010EE71FDEF2": { + "name": "IS_VEHICLE_AUDIBLY_DAMAGED", + "jhash": "0x6E660D3F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x59E7B488451F4D3A": { + "name": "SET_VEHICLE_AUDIO_ENGINE_DAMAGE_FACTOR", + "jhash": "0x23BE6432", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "damageFactor" + } + ], + "return_type": "void", + "build": "323" + }, + "0x01BB4D577D38BD9E": { + "name": "SET_VEHICLE_AUDIO_BODY_DAMAGE_FACTOR", + "jhash": "0xE81FAC68", + "comment": "intensity: 0.0f - 1.0f, only used once with 1.0f in R* Scripts (nigel2)\nMakes an engine rattling noise when you decelerate, you need to be going faster to hear lower values", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "intensity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1C073274E065C6D2": { + "name": "ENABLE_VEHICLE_FANBELT_DAMAGE", + "jhash": "0x9365E042", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2BE4BC731D039D5A": { + "name": "ENABLE_VEHICLE_EXHAUST_POPS", + "jhash": "0x2A60A90E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4A04DE7CAB2739A1": { + "name": "SET_VEHICLE_BOOST_ACTIVE", + "jhash": "0x072F15F2", + "comment": "SET_VEHICLE_BOOST_ACTIVE(vehicle, 1, 0);\nSET_VEHICLE_BOOST_ACTIVE(vehicle, 0, 0); \n\nWill give a boost-soundeffect.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6FDDAD856E36988A": { + "name": "SET_PLAYER_VEHICLE_ALARM_AUDIO_ACTIVE", + "jhash": "0x934BE749", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x06C0023BED16DD6B": { + "name": "SET_SCRIPT_UPDATE_DOOR_AUDIO", + "jhash": "0xE61110A2", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3A539D52857EA82D": { + "name": "PLAY_VEHICLE_DOOR_OPEN_SOUND", + "jhash": "0x84930330", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x62A456AA4769EF34": { + "name": "PLAY_VEHICLE_DOOR_CLOSE_SOUND", + "jhash": "0xBA2CF407", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC15907D667F7CFB2": { + "name": "ENABLE_STALL_WARNING_SOUNDS", + "jhash": "0x563B635D", + "comment": "Works for planes only.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6D28DC1671E334FD": { + "name": "IS_GAME_IN_CONTROL_OF_MUSIC", + "jhash": "0x7643170D", + "comment": "Hardcoded to return 1", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x3BD3F52BA9B1E4E8": { + "name": "SET_GPS_ACTIVE", + "jhash": "0x0FC3379A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "active" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB138AAB8A70D3C69": { + "name": "PLAY_MISSION_COMPLETE_AUDIO", + "jhash": "0x3033EA1D", + "comment": "Called 38 times in the scripts. There are 5 different audioNames used.\n One unknown removed below.\n\nAUDIO::PLAY_MISSION_COMPLETE_AUDIO(\"DEAD\");\nAUDIO::PLAY_MISSION_COMPLETE_AUDIO(\"FRANKLIN_BIG_01\");\nAUDIO::PLAY_MISSION_COMPLETE_AUDIO(\"GENERIC_FAILED\");\nAUDIO::PLAY_MISSION_COMPLETE_AUDIO(\"TREVOR_SMALL_01\");", + "params": [ + { + "type": "const char*", + "name": "audioName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x19A30C23F5827F8A": { + "name": "IS_MISSION_COMPLETE_PLAYING", + "jhash": "0x939982A1", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x6F259F82D873B8B8": { + "name": "IS_MISSION_COMPLETE_READY_FOR_UI", + "jhash": "0xCBE09AEC", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF154B8D1775B2DEC": { + "name": "BLOCK_DEATH_JINGLE", + "jhash": "0xD2858D8A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x013A80FC08F6E4F2": { + "name": "START_AUDIO_SCENE", + "jhash": "0xE48D757B", + "comment": "Used to prepare a scene where the surrounding sound is muted or a bit changed. This does not play any sound.\n\nList of all usable scene names found in b617d. Sorted alphabetically and identical names removed: https://pastebin.com/MtM9N9CC\nFull list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json", + "params": [ + { + "type": "const char*", + "name": "scene" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDFE8422B3B94E688": { + "name": "STOP_AUDIO_SCENE", + "jhash": "0xA08D8C58", + "comment": "Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json", + "params": [ + { + "type": "const char*", + "name": "scene" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBAC7FC81A75EC1A1": { + "name": "STOP_AUDIO_SCENES", + "jhash": "0xF6C7342A", + "comment": "??", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xB65B60556E2A9225": { + "name": "IS_AUDIO_SCENE_ACTIVE", + "jhash": "0xACBED05C", + "comment": "Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json", + "params": [ + { + "type": "const char*", + "name": "scene" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEF21A9EF089A2668": { + "name": "SET_AUDIO_SCENE_VARIABLE", + "jhash": "0x19BB3CE8", + "comment": "Full list of audio scene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/audioSceneNames.json", + "params": [ + { + "type": "const char*", + "name": "scene" + }, + { + "type": "const char*", + "name": "variable" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA5F377B175A699C5": { + "name": "SET_AUDIO_SCRIPT_CLEANUP_TIME", + "jhash": "0xE812925D", + "comment": "", + "params": [ + { + "type": "int", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0x153973AB99FE8980": { + "name": "ADD_ENTITY_TO_AUDIO_MIX_GROUP", + "jhash": "0x2BC93264", + "comment": "All found occurrences in b678d:\nhttps://pastebin.com/ceu67jz8", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "groupName" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DYNAMIC_MIXER_RELATED_FN" + ] + }, + "0x18EB48CFC41F2EA0": { + "name": "REMOVE_ENTITY_FROM_AUDIO_MIX_GROUP", + "jhash": "0x308ED0EC", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x845FFC3A4FEEFA3E": { + "name": "AUDIO_IS_MUSIC_PLAYING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "AUDIO_IS_SCRIPTED_MUSIC_PLAYING" + ] + }, + "0x2DD39BF3E2F9C47F": { + "name": "AUDIO_IS_SCRIPTED_MUSIC_PLAYING", + "jhash": "", + "comment": "This is an alias of AUDIO_IS_MUSIC_PLAYING.", + "params": [], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_AUDIO_IS_SCRIPTED_MUSIC_PLAYING_2" + ] + }, + "0x1E5185B72EF5158A": { + "name": "PREPARE_MUSIC_EVENT", + "jhash": "0x534A5C1C", + "comment": "All music event names found in the b617d scripts: https://pastebin.com/GnYt0R3P\nFull list of music event names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/musicEventNames.json", + "params": [ + { + "type": "const char*", + "name": "eventName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5B17A90291133DA5": { + "name": "CANCEL_MUSIC_EVENT", + "jhash": "0x89FF942D", + "comment": "All music event names found in the b617d scripts: https://pastebin.com/GnYt0R3P\nFull list of music event names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/musicEventNames.json", + "params": [ + { + "type": "const char*", + "name": "eventName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x706D57B0F50DA710": { + "name": "TRIGGER_MUSIC_EVENT", + "jhash": "0xB6094948", + "comment": "List of all usable event names found in b617d used with this native. Sorted alphabetically and identical names removed: https://pastebin.com/RzDFmB1W\n\nAll music event names found in the b617d scripts: https://pastebin.com/GnYt0R3P\nFull list of music event names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/musicEventNames.json", + "params": [ + { + "type": "const char*", + "name": "eventName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA097AB275061FB21": { + "name": "IS_MUSIC_ONESHOT_PLAYING", + "jhash": "0x2705C4D5", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xE7A0D23DC414507B": { + "name": "GET_MUSIC_PLAYTIME", + "jhash": "0xD633C809", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x159B7318403A1CD8": { + "name": "SET_GLOBAL_RADIO_SIGNAL_LEVEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xFBE20329593DEC9D": { + "name": "RECORD_BROKEN_GLASS", + "jhash": "0x53FC3FEC", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB32209EFFDC04913": { + "name": "CLEAR_ALL_BROKEN_GLASS", + "jhash": "0xE6B033BF", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x70B8EC8FC108A634": { + "name": "SCRIPT_OVERRIDES_WIND_ELEVATION", + "jhash": "0x95050CAD", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x149AEE66F0CB3A99": { + "name": "SET_PED_WALLA_DENSITY", + "jhash": "0xE64F97A0", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8BF907833BE275DE": { + "name": "SET_PED_INTERIOR_WALLA_DENSITY", + "jhash": "0x2CD26D69", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x062D5EAD4DA2FA6A": { + "name": "FORCE_PED_PANIC_WALLA", + "jhash": "0xD87AF337", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9D74AE343DB65533": { + "name": "PREPARE_ALARM", + "jhash": "0x084932E8", + "comment": "Example:\n\nbool prepareAlarm = AUDIO::PREPARE_ALARM(\"PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS\");\nFull list of alarm names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/alarmSounds.json", + "params": [ + { + "type": "const char*", + "name": "alarmName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0355EF116C4C97B2": { + "name": "START_ALARM", + "jhash": "0x703F524B", + "comment": "Example:\n\nThis will start the alarm at Fort Zancudo.\n\nAUDIO::START_ALARM(\"PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS\", 1);\n\nFirst parameter (char) is the name of the alarm.\nSecond parameter (bool) is unknown, it does not seem to make a difference if this one is 0 or 1.\n\n----------\n\nIt DOES make a difference but it has to do with the duration or something I dunno yet\n\n----------\n\n Found in the b617d scripts:\n\n AUDIO::START_ALARM(\"AGENCY_HEIST_FIB_TOWER_ALARMS\", 0);\n AUDIO::START_ALARM(\"AGENCY_HEIST_FIB_TOWER_ALARMS_UPPER\", 1);\n AUDIO::START_ALARM(\"AGENCY_HEIST_FIB_TOWER_ALARMS_UPPER_B\", 0);\n AUDIO::START_ALARM(\"BIG_SCORE_HEIST_VAULT_ALARMS\", a_0);\n AUDIO::START_ALARM(\"FBI_01_MORGUE_ALARMS\", 1);\n AUDIO::START_ALARM(\"FIB_05_BIOTECH_LAB_ALARMS\", 0);\n AUDIO::START_ALARM(\"JEWEL_STORE_HEIST_ALARMS\", 0);\n AUDIO::START_ALARM(\"PALETO_BAY_SCORE_ALARM\", 1);\n AUDIO::START_ALARM(\"PALETO_BAY_SCORE_CHICKEN_FACTORY_ALARM\", 0);\n AUDIO::START_ALARM(\"PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS\", 1);\n AUDIO::START_ALARM(\"PORT_OF_LS_HEIST_SHIP_ALARMS\", 0);\n AUDIO::START_ALARM(\"PRISON_ALARMS\", 0);\n AUDIO::START_ALARM(\"PROLOGUE_VAULT_ALARMS\", 0);\nFull list of alarm names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/alarmSounds.json", + "params": [ + { + "type": "const char*", + "name": "alarmName" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA1CADDCD98415A41": { + "name": "STOP_ALARM", + "jhash": "0xF987BE8C", + "comment": "Example:\n\nThis will stop the alarm at Fort Zancudo.\n\nAUDIO::STOP_ALARM(\"PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS\", 1);\n\nFirst parameter (char) is the name of the alarm.\nSecond parameter (bool) has to be true (1) to have any effect.\nFull list of alarm names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/alarmSounds.json", + "params": [ + { + "type": "const char*", + "name": "alarmName" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2F794A877ADD4C92": { + "name": "STOP_ALL_ALARMS", + "jhash": "0xC3CB9DC6", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "stop" + } + ], + "return_type": "void", + "build": "323" + }, + "0x226435CB96CCFC8C": { + "name": "IS_ALARM_PLAYING", + "jhash": "0x9D8E1D23", + "comment": "Example:\n\nbool playing = AUDIO::IS_ALARM_PLAYING(\"PORT_OF_LS_HEIST_FORT_ZANCUDO_ALARMS\");\nFull list of alarm names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/alarmSounds.json", + "params": [ + { + "type": "const char*", + "name": "alarmName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x02165D55000219AC": { + "name": "GET_VEHICLE_DEFAULT_HORN", + "jhash": "0xE84ABC19", + "comment": "Returns hash of default vehicle horn\n\nHash is stored in audVehicleAudioEntity", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0xACB5DCCA1EC76840": { + "name": "GET_VEHICLE_DEFAULT_HORN_IGNORE_MODS", + "jhash": "0xFD4B5B3B", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_VEHICLE_HORN_HASH" + ] + }, + "0xF54BB7B61036F335": { + "name": "RESET_PED_AUDIO_FLAGS", + "jhash": "0xDF720C86", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0653B735BFBDFE87": { + "name": "SET_PED_FOOTSTEPS_EVENTS_ENABLED", + "jhash": "", + "comment": "Enables/disables ped's \"loud\" footstep sound.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_PED_AUDIO_FOOTSTEP_LOUD" + ] + }, + "0x29DA3CA8D8B2692D": { + "name": "SET_PED_CLOTH_EVENTS_ENABLED", + "jhash": "", + "comment": "Enables/disables ped's \"quiet\" footstep sound.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_PED_AUDIO_FOOTSTEP_QUIET" + ] + }, + "0xD2CC78CD3D0B50F9": { + "name": "OVERRIDE_PLAYER_GROUND_MATERIAL", + "jhash": "0xC307D531", + "comment": "Sets audio flag \"OverridePlayerGroundMaterial\"", + "params": [ + { + "type": "Hash", + "name": "hash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBF4DC1784BE94DFA": { + "name": "USE_FOOTSTEP_SCRIPT_SWEETENERS", + "jhash": "0xD99E275B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x75773E11BA459E90": { + "name": "OVERRIDE_MICROPHONE_SETTINGS", + "jhash": "", + "comment": "Sets audio flag \"OverrideMicrophoneSettings\"", + "params": [ + { + "type": "Hash", + "name": "hash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_OVERRIDE_MICROPHONE_SETTINGS" + ] + }, + "0xD57AAAE0E2214D11": { + "name": "FREEZE_MICROPHONE", + "jhash": "0x2B9D91E8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x552369F549563AD5": { + "name": "DISTANT_COP_CAR_SIRENS", + "jhash": "0x13EB5861", + "comment": "If value is set to true, and ambient siren sound will be played.\nAppears to enable/disable an audio flag.", + "params": [ + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_FORCE_AMBIENT_SIREN" + ] + }, + "0x43FA0DFC5DF87815": { + "name": "SET_SIREN_CAN_BE_CONTROLLED_BY_AUDIO", + "jhash": "0x7BED1872", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB81CF134AEB56FFB": { + "name": "ENABLE_STUNT_JUMP_AUDIO", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "791" + }, + "0xB9EFD5C25018725A": { + "name": "SET_AUDIO_FLAG", + "jhash": "0x1C09C9E0", + "comment": "Possible flag names:\n\"ActivateSwitchWheelAudio\"\n\"AllowAmbientSpeechInSlowMo\"\n\"AllowCutsceneOverScreenFade\"\n\"AllowForceRadioAfterRetune\"\n\"AllowPainAndAmbientSpeechToPlayDuringCutscene\"\n\"AllowPlayerAIOnMission\"\n\"AllowPoliceScannerWhenPlayerHasNoControl\"\n\"AllowRadioDuringSwitch\"\n\"AllowRadioOverScreenFade\"\n\"AllowScoreAndRadio\"\n\"AllowScriptedSpeechInSlowMo\"\n\"AvoidMissionCompleteDelay\"\n\"DisableAbortConversationForDeathAndInjury\"\n\"DisableAbortConversationForRagdoll\"\n\"DisableBarks\"\n\"DisableFlightMusic\"\n\"DisableReplayScriptStreamRecording\"\n\"EnableHeadsetBeep\"\n\"ForceConversationInterrupt\"\n\"ForceSeamlessRadioSwitch\"\n\"ForceSniperAudio\"\n\"FrontendRadioDisabled\"\n\"HoldMissionCompleteWhenPrepared\"\n\"IsDirectorModeActive\"\n\"IsPlayerOnMissionForSpeech\"\n\"ListenerReverbDisabled\"\n\"LoadMPData\"\n\"MobileRadioInGame\"\n\"OnlyAllowScriptTriggerPoliceScanner\"\n\"PlayMenuMusic\"\n\"PoliceScannerDisabled\"\n\"ScriptedConvListenerMaySpeak\"\n\"SpeechDucksScore\"\n\"SuppressPlayerScubaBreathing\"\n\"WantedMusicDisabled\"\n\"WantedMusicOnMission\"\n\n-------------------------------\nNo added flag names between b393d and b573d, including b573d.\n\n#######################################################################\n\n\"IsDirectorModeActive\" is an audio flag which will allow you to play speech infinitely without any pauses like in Director Mode.\n\n-----------------------------------------------------------------------\n\nAll flag IDs and hashes:\n\nID: 00 | Hash: 0x0FED7A7F\nID: 01 | Hash: 0x20A7858F\nID: 02 | Hash: 0xA11C2259\nID: 03 | Hash: 0x08DE4700\nID: 04 | Hash: 0x989F652F\nID: 05 | Hash: 0x3C9E76BA\nID: 06 | Hash: 0xA805FEB0\nID: 07 | Hash: 0x4B94EA26\nID: 08 | Hash: 0x803ACD34\nID: 09 | Hash: 0x7C741226\nID: 10 | Hash: 0x31DB9EBD\nID: 11 | Hash: 0xDF386F18\nID: 12 | Hash: 0x669CED42\nID: 13 | Hash: 0x51F22743\nID: 14 | Hash: 0x2052B35C\nID: 15 | Hash: 0x071472DC\nID: 16 | Hash: 0xF9928BCC\nID: 17 | Hash: 0x7ADBDD48\nID: 18 | Hash: 0xA959BA1A\nID: 19 | Hash: 0xBBE89B60\nID: 20 | Hash: 0x87A08871\nID: 21 | Hash: 0xED1057CE\nID: 22 | Hash: 0x1584AD7A\nID: 23 | Hash: 0x8582CFCB\nID: 24 | Hash: 0x7E5E2FB0\nID: 25 | Hash: 0xAE4F72DB\nID: 26 | Hash: 0x5D16D1FA\nID: 27 | Hash: 0x06B2F4B8\nID: 28 | Hash: 0x5D4CDC96\nID: 29 | Hash: 0x8B5A48BA\nID: 30 | Hash: 0x98FBD539\nID: 31 | Hash: 0xD8CB0473\nID: 32 | Hash: 0x5CBB4874\nID: 33 | Hash: 0x2E9F93A9\nID: 34 | Hash: 0xD93BEA86\nID: 35 | Hash: 0x92109B7D\nID: 36 | Hash: 0xB7EC9E4D\nID: 37 | Hash: 0xCABDBB1D\nID: 38 | Hash: 0xB3FD4A52\nID: 39 | Hash: 0x370D94E5\nID: 40 | Hash: 0xA0F7938F\nID: 41 | Hash: 0xCBE1CE81\nID: 42 | Hash: 0xC27F1271\nID: 43 | Hash: 0x9E3258EB\nID: 44 | Hash: 0x551CDA5B\nID: 45 | Hash: 0xCB6D663C\nID: 46 | Hash: 0x7DACE87F\nID: 47 | Hash: 0xF9DE416F\nID: 48 | Hash: 0x882E6E9E\nID: 49 | Hash: 0x16B447E7\nID: 50 | Hash: 0xBD867739\nID: 51 | Hash: 0xA3A58604\nID: 52 | Hash: 0x7E046BBC\nID: 53 | Hash: 0xD95FDB98\nID: 54 | Hash: 0x5842C0ED\nID: 55 | Hash: 0x285FECC6\nID: 56 | Hash: 0x9351AC43\nID: 57 | Hash: 0x50032E75\nID: 58 | Hash: 0xAE6D0D59\nID: 59 | Hash: 0xD6351785\nID: 60 | Hash: 0xD25D71BC\nID: 61 | Hash: 0x1F7F6423\nID: 62 | Hash: 0xE24C3AA6\nID: 63 | Hash: 0xBFFDD2B7", + "params": [ + { + "type": "const char*", + "name": "flagName" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC7ABCACA4985A766": { + "name": "PREPARE_SYNCHRONIZED_AUDIO_EVENT", + "jhash": "0xE1D91FD0", + "comment": "p1 is always 0 in the scripts", + "params": [ + { + "type": "const char*", + "name": "audioEvent" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x029FE7CD1B7E2E75": { + "name": "PREPARE_SYNCHRONIZED_AUDIO_EVENT_FOR_SCENE", + "jhash": "0x7652DD49", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + }, + { + "type": "const char*", + "name": "audioEvent" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8B2FD4560E55DD2D": { + "name": "PLAY_SYNCHRONIZED_AUDIO_EVENT", + "jhash": "0x507F3241", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x92D6A88E64A94430": { + "name": "STOP_SYNCHRONIZED_AUDIO_EVENT", + "jhash": "0xADEED2B4", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC8EDE9BDBCCBA6D4": { + "name": "INIT_SYNCH_SCENE_AUDIO_WITH_POSITION", + "jhash": "0x55A21772", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "audioEvent" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x950A154B8DAB6185": { + "name": "INIT_SYNCH_SCENE_AUDIO_WITH_ENTITY", + "jhash": "0xA17F9AB0", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "audioEvent" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_SYNCHRONIZED_AUDIO_EVENT_POSITION_THIS_FRAME" + ] + }, + "0x12561FCBB62D5B9C": { + "name": "SET_AUDIO_SPECIAL_EFFECT_MODE", + "jhash": "0x62B43677", + "comment": "Needs to be called every frame.\nAudio mode to apply this frame: https://alloc8or.re/gta5/doc/enums/audSpecialEffectMode.txt", + "params": [ + { + "type": "int", + "name": "mode" + } + ], + "return_type": "void", + "build": "323" + }, + "0x044DBAD7A7FA2BE5": { + "name": "SET_PORTAL_SETTINGS_OVERRIDE", + "jhash": "0x8AD670EC", + "comment": "Found in the b617d scripts, duplicates removed: \n\nAUDIO::SET_PORTAL_SETTINGS_OVERRIDE(\"V_CARSHOWROOM_PS_WINDOW_UNBROKEN\", \"V_CARSHOWROOM_PS_WINDOW_BROKEN\");\n\n AUDIO::SET_PORTAL_SETTINGS_OVERRIDE(\"V_CIA_PS_WINDOW_UNBROKEN\", \"V_CIA_PS_WINDOW_BROKEN\");\n\n AUDIO::SET_PORTAL_SETTINGS_OVERRIDE(\"V_DLC_HEIST_APARTMENT_DOOR_CLOSED\", \"V_DLC_HEIST_APARTMENT_DOOR_OPEN\");\n\n AUDIO::SET_PORTAL_SETTINGS_OVERRIDE(\"V_FINALEBANK_PS_VAULT_INTACT\", \"V_FINALEBANK_PS_VAULT_BLOWN\");\n\n AUDIO::SET_PORTAL_SETTINGS_OVERRIDE(\"V_MICHAEL_PS_BATHROOM_WITH_WINDOW\", \"V_MICHAEL_PS_BATHROOM_WITHOUT_WINDOW\");", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB4BBFD9CD8B3922B": { + "name": "REMOVE_PORTAL_SETTINGS_OVERRIDE", + "jhash": "0xD24B4D0C", + "comment": " Found in the b617d scripts, duplicates removed: \n\n AUDIO::REMOVE_PORTAL_SETTINGS_OVERRIDE(\"V_CARSHOWROOM_PS_WINDOW_UNBROKEN\");\n AUDIO::REMOVE_PORTAL_SETTINGS_OVERRIDE(\"V_CIA_PS_WINDOW_UNBROKEN\");\n AUDIO::REMOVE_PORTAL_SETTINGS_OVERRIDE(\"V_DLC_HEIST_APARTMENT_DOOR_CLOSED\");\n AUDIO::REMOVE_PORTAL_SETTINGS_OVERRIDE(\"V_FINALEBANK_PS_VAULT_INTACT\");\n AUDIO::REMOVE_PORTAL_SETTINGS_OVERRIDE(\"V_MICHAEL_PS_BATHROOM_WITH_WINDOW\");", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE4E6DD5566D28C82": { + "name": "STOP_SMOKE_GRENADE_EXPLOSION_SOUNDS", + "jhash": "0x7262B5BA", + "comment": "STOP_S[MOKE_GRENADE_EXPLOSION_SOUNDS]?", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x3A48AB4445D499BE": { + "name": "GET_MUSIC_VOL_SLIDER", + "jhash": "0x93A44A1F", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x4ADA3F19BE4A6047": { + "name": "REQUEST_TENNIS_BANKS", + "jhash": "0x13777A0B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_TALK" + ] + }, + "0x0150B6FF25A9E2E5": { + "name": "UNREQUEST_TENNIS_BANKS", + "jhash": "0x1134F68B", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBEF34B1D9624D5DD": { + "name": "SET_SKIP_MINIGUN_SPIN_UP_AUDIO", + "jhash": "0xE0047BFD", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x806058BBDC136E06": { + "name": "STOP_CUTSCENE_AUDIO", + "jhash": "0x55461BE6", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x544810ED9DB6BBE6": { + "name": "HAS_LOADED_MP_DATA_SET", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_MULTIPLAYER_AUDIO_DATA_LOADED" + ] + }, + "0x5B50ABB1FE3746F4": { + "name": "HAS_LOADED_SP_DATA_SET", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_MULTIPLAYER_AUDIO_DATA_UNLOADED" + ] + }, + "0xD53F3A29BCE2580E": { + "name": "GET_VEHICLE_HORN_SOUND_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "1365", + "old_names": [ + "_GET_VEHICLE_DEFAULT_HORN_VARIATION" + ] + }, + "0x0350E7E17BA767D0": { + "name": "SET_VEHICLE_HORN_SOUND_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_VEHICLE_HORN_VARIATION" + ] + } + }, + "BRAIN": { + "0x4EE5367468A65CCC": { + "name": "ADD_SCRIPT_TO_RANDOM_PED", + "jhash": "0xECC76C3D", + "comment": "BRAIN::ADD_SCRIPT_TO_RANDOM_PED(\"pb_prostitute\", ${s_f_y_hooker_01}, 100, 0);\n\n- Nacorpio\n\n-----\n\nHardcoded to not work in Multiplayer.", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "Hash", + "name": "model" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0BE84C318BA6EC22": { + "name": "REGISTER_OBJECT_SCRIPT_BRAIN", + "jhash": "0xB6BCC608", + "comment": "Registers a script for any object with a specific model hash.\n\nBRAIN::REGISTER_OBJECT_SCRIPT_BRAIN(\"ob_telescope\", ${prop_telescope_01}, 100, 4.0, -1, 9);\n\n- Nacorpio", + "params": [ + { + "type": "const char*", + "name": "scriptName" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "float", + "name": "activationRange" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCCBA154209823057": { + "name": "IS_OBJECT_WITHIN_BRAIN_ACTIVATION_RANGE", + "jhash": "0xBA4CAA56", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3CDC7136613284BD": { + "name": "REGISTER_WORLD_POINT_SCRIPT_BRAIN", + "jhash": "0x725D91F7", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scriptName" + }, + { + "type": "float", + "name": "activationRange" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC5042CC6F5E3D450": { + "name": "IS_WORLD_POINT_WITHIN_BRAIN_ACTIVATION_RANGE", + "jhash": "0x2CF305A0", + "comment": "Gets whether the world point the calling script is registered to is within desired range of the player.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x67AA4D73F0CFA86B": { + "name": "ENABLE_SCRIPT_BRAIN_SET", + "jhash": "0x2765919F", + "comment": "", + "params": [ + { + "type": "int", + "name": "brainSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0x14D8518E9760F08F": { + "name": "DISABLE_SCRIPT_BRAIN_SET", + "jhash": "0xFBD13FAD", + "comment": "", + "params": [ + { + "type": "int", + "name": "brainSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0B40ED49D7D6FF84": { + "name": "REACTIVATE_ALL_WORLD_BRAINS_THAT_ARE_WAITING_TILL_OUT_OF_RANGE", + "jhash": "0x19B27825", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x4D953DF78EBF8158": { + "name": "REACTIVATE_ALL_OBJECT_BRAINS_THAT_ARE_WAITING_TILL_OUT_OF_RANGE", + "jhash": "0xF3A3AB08", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_PREPARE_SCRIPT_BRAIN" + ] + }, + "0x6D6840CEE8845831": { + "name": "REACTIVATE_NAMED_WORLD_BRAINS_WAITING_TILL_OUT_OF_RANGE", + "jhash": "0x949FE53E", + "comment": "Possible values:\n\nact_cinema\nam_mp_carwash_launch\nam_mp_carwash_control\nam_mp_property_ext\nchop\nfairgroundHub\nlauncher_BasejumpHeli\nlauncher_BasejumpPack\nlauncher_CarWash\nlauncher_golf\nlauncher_Hunting_Ambient\nlauncher_MrsPhilips\nlauncher_OffroadRacing\nlauncher_pilotschool\nlauncher_Racing\nlauncher_rampage\nlauncher_rampage\nlauncher_range\nlauncher_stunts\nlauncher_stunts\nlauncher_tennis\nlauncher_Tonya\nlauncher_Triathlon\nlauncher_Yoga\nob_mp_bed_low\nob_mp_bed_med", + "params": [ + { + "type": "const char*", + "name": "scriptName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E91B04E08773030": { + "name": "REACTIVATE_NAMED_OBJECT_BRAINS_WAITING_TILL_OUT_OF_RANGE", + "jhash": "0x29CE8BAA", + "comment": "Looks like a cousin of above function _6D6840CEE8845831 as it was found among them. Must be similar\n\nHere are possible values of argument - \n\n\"ob_tv\"\n\"launcher_Darts\"", + "params": [ + { + "type": "const char*", + "name": "scriptName" + } + ], + "return_type": "void", + "build": "323" + } + }, + "CAM": { + "0x07E5B515DB0636FC": { + "name": "RENDER_SCRIPT_CAMS", + "jhash": "0x74337969", + "comment": "ease - smooth transition between the camera's positions\neaseTime - Time in milliseconds for the transition to happen\n\nIf you have created a script (rendering) camera, and want to go back to the \ncharacter (gameplay) camera, call this native with render set to 0.\nSetting ease to 1 will smooth the transition.", + "params": [ + { + "type": "BOOL", + "name": "render" + }, + { + "type": "BOOL", + "name": "ease" + }, + { + "type": "int", + "name": "easeTime" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC819F3CBB62BF692": { + "name": "STOP_RENDERING_SCRIPT_CAMS_USING_CATCH_UP", + "jhash": "0xD3C08183", + "comment": "This native makes the gameplay camera zoom into first person/third person with a special effect.", + "params": [ + { + "type": "BOOL", + "name": "render" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_RENDER_FIRST_PERSON_CAM" + ] + }, + "0xC3981DCE61D9E13F": { + "name": "CREATE_CAM", + "jhash": "0xE9BF2A7D", + "comment": "\"DEFAULT_SCRIPTED_CAMERA\"\n\"DEFAULT_ANIMATED_CAMERA\"\n\"DEFAULT_SPLINE_CAMERA\"\n\"DEFAULT_SCRIPTED_FLY_CAMERA\"\n\"TIMED_SPLINE_CAMERA\"", + "params": [ + { + "type": "const char*", + "name": "camName" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "Cam", + "build": "323" + }, + "0xB51194800B257161": { + "name": "CREATE_CAM_WITH_PARAMS", + "jhash": "0x23B02F15", + "comment": "camName is always set to \"DEFAULT_SCRIPTED_CAMERA\" in Rockstar's scripts.\n------------\nCamera names found in the b617d scripts:\n\"DEFAULT_ANIMATED_CAMERA\"\n\"DEFAULT_SCRIPTED_CAMERA\"\n\"DEFAULT_SCRIPTED_FLY_CAMERA\"\n\"DEFAULT_SPLINE_CAMERA\"\n------------\nSide Note: It seems p8 is basically to represent what would be the bool p1 within CREATE_CAM native. As well as the p9 since it's always 2 in scripts seems to represent what would be the last param within SET_CAM_ROT native which normally would be 2.", + "params": [ + { + "type": "const char*", + "name": "camName" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "fov" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + } + ], + "return_type": "Cam", + "build": "323" + }, + "0x5E3CF89C6BCCA67D": { + "name": "CREATE_CAMERA", + "jhash": "0x5D6739AE", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "camHash" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "Cam", + "build": "323" + }, + "0x6ABFA3E16460F22D": { + "name": "CREATE_CAMERA_WITH_PARAMS", + "jhash": "0x0688BE9A", + "comment": "p9 uses 2 by default", + "params": [ + { + "type": "Hash", + "name": "camHash" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "fov" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "Cam", + "build": "323" + }, + "0x865908C81A2C22E9": { + "name": "DESTROY_CAM", + "jhash": "0xC39302BD", + "comment": "BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "BOOL", + "name": "bScriptHostCam" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8E5FB15663F79120": { + "name": "DESTROY_ALL_CAMS", + "jhash": "0x10C151CE", + "comment": "BOOL param indicates whether the cam should be destroyed if it belongs to the calling script.", + "params": [ + { + "type": "BOOL", + "name": "bScriptHostCam" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA7A932170592B50E": { + "name": "DOES_CAM_EXIST", + "jhash": "0x1EF89DC0", + "comment": "Returns whether or not the passed camera handle exists.", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x026FB97D0A425F84": { + "name": "SET_CAM_ACTIVE", + "jhash": "0x064659C2", + "comment": "Set camera as active/inactive.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "BOOL", + "name": "active" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDFB2B516207D3534": { + "name": "IS_CAM_ACTIVE", + "jhash": "0x4B58F177", + "comment": "Returns whether or not the passed camera handle is active.", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x02EC0AF5C5A49B7A": { + "name": "IS_CAM_RENDERING", + "jhash": "0x6EC6B5B2", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5234F9F10919EABA": { + "name": "GET_RENDERING_CAM", + "jhash": "0x0FCF4DF1", + "comment": "", + "params": [], + "return_type": "Cam", + "build": "323" + }, + "0xBAC038F7459AE5AE": { + "name": "GET_CAM_COORD", + "jhash": "0x7C40F09C", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x7D304C1C955E3E12": { + "name": "GET_CAM_ROT", + "jhash": "0xDAC84C9F", + "comment": "The last parameter, as in other \"ROT\" methods, is usually 2.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xC3330A45CCCDB26A": { + "name": "GET_CAM_FOV", + "jhash": "0xD6E9FCF5", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "323" + }, + "0xC520A34DAFBF24B1": { + "name": "GET_CAM_NEAR_CLIP", + "jhash": "0xCFCD35EE", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "323" + }, + "0xB60A9CFEB21CA6AA": { + "name": "GET_CAM_FAR_CLIP", + "jhash": "0x09F119B8", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "323" + }, + "0xC2612D223D915A1C": { + "name": "GET_CAM_NEAR_DOF", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "2699", + "old_names": [ + "_GET_CAM_NEAR_DOF" + ] + }, + "0x255F8DAFD540D397": { + "name": "GET_CAM_FAR_DOF", + "jhash": "0x98C5CCE9", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "323" + }, + "0x06D153C0B99B6128": { + "name": "GET_CAM_DOF_STRENGTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "2699", + "old_names": [ + "_GET_CAM_DOF_STRENGTH" + ] + }, + "0xBFD8727AEA3CCEBA": { + "name": "SET_CAM_PARAMS", + "jhash": "0x2167CEBF", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "fieldOfView" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + }, + { + "type": "int", + "name": "p10" + }, + { + "type": "int", + "name": "p11" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4D41783FB745E42E": { + "name": "SET_CAM_COORD", + "jhash": "0x7A8053AF", + "comment": "Sets the position of the cam.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0x85973643155D0B07": { + "name": "SET_CAM_ROT", + "jhash": "0xEE38B3C1", + "comment": "Sets the rotation of the cam.\nLast parameter unknown.\n\nLast parameter seems to always be set to 2.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB13C14F66A00D047": { + "name": "SET_CAM_FOV", + "jhash": "0xD3D5D74F", + "comment": "Sets the field of view of the cam.\n---------------------------------------------\nMin: 1.0f\nMax: 130.0f", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "fieldOfView" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC7848EFCCC545182": { + "name": "SET_CAM_NEAR_CLIP", + "jhash": "0x46DB13B1", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "nearClip" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAE306F2A904BF86E": { + "name": "SET_CAM_FAR_CLIP", + "jhash": "0x0D23E381", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "farClip" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAABD62873FFB1A33": { + "name": "FORCE_CAM_FAR_CLIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "2189" + }, + "0x6F0F77FBA9A8F2E6": { + "name": "SET_CAM_MOTION_BLUR_STRENGTH", + "jhash": "0xFD6E0D67", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "strength" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3FA4BF0A7AB7DE2C": { + "name": "SET_CAM_NEAR_DOF", + "jhash": "0xF28254DF", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "nearDOF" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEDD91296CD01AEE0": { + "name": "SET_CAM_FAR_DOF", + "jhash": "0x58515E8E", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "farDOF" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5EE29B4D7D5DF897": { + "name": "SET_CAM_DOF_STRENGTH", + "jhash": "0x3CC4EB3F", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "dofStrength" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3CF48F6F96E749DC": { + "name": "SET_CAM_DOF_PLANES", + "jhash": "0xAD6C2B8F", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x16A96863A17552BB": { + "name": "SET_CAM_USE_SHALLOW_DOF_MODE", + "jhash": "0x8306C256", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA13B0222F3D94A94": { + "name": "SET_USE_HI_DOF", + "jhash": "0x8BBF2950", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x731A880555DA3647": { + "name": "SET_USE_HI_DOF_ON_SYNCED_SCENE_THIS_UPDATE", + "jhash": "", + "comment": "Only used in R* Script fm_mission_controller_2020", + "params": [], + "return_type": "void", + "build": "2699", + "old_names": [ + "_SET_USE_HI_DOF_IN_CUTSCENE" + ] + }, + "0xF55E4046F6F831DC": { + "name": "SET_CAM_DOF_OVERRIDDEN_FOCUS_DISTANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "camera" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE111A7C0D200CBC5": { + "name": "SET_CAM_DOF_OVERRIDDEN_FOCUS_DISTANCE_BLEND_LEVEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7DD234D6F3914C5B": { + "name": "SET_CAM_DOF_FNUMBER_OF_LENS", + "jhash": "", + "comment": "This native has its name defined inside its codE\n", + "params": [ + { + "type": "Cam", + "name": "camera" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAM_DOF_FNUMBER_OF_LENS" + ] + }, + "0x47B595D60664CFFA": { + "name": "SET_CAM_DOF_FOCAL_LENGTH_MULTIPLIER", + "jhash": "", + "comment": "Native name labeled within its code", + "params": [ + { + "type": "Cam", + "name": "camera" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "1011", + "old_names": [ + "_SET_CAM_DOF_FOCAL_LENGTH_MULTIPLIER" + ] + }, + "0xC669EEA5D031B7DE": { + "name": "SET_CAM_DOF_FOCUS_DISTANCE_BIAS", + "jhash": "", + "comment": "This native has a name defined inside its code", + "params": [ + { + "type": "Cam", + "name": "camera" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAM_DOF_FOCUS_DISTANCE_BIAS" + ] + }, + "0xC3654A441402562D": { + "name": "SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE", + "jhash": "", + "comment": "This native has a name defined inside its code", + "params": [ + { + "type": "Cam", + "name": "camera" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE" + ] + }, + "0x2C654B4943BDDF7C": { + "name": "SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE_BLEND_LEVEL", + "jhash": "", + "comment": "This native has a name defined inside its code", + "params": [ + { + "type": "Cam", + "name": "camera" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE_BLEND_LEVEL" + ] + }, + "0xFEDB7D269E8C60E3": { + "name": "ATTACH_CAM_TO_ENTITY", + "jhash": "0xAD7C45F6", + "comment": "Last param determines if its relative to the Entity", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "BOOL", + "name": "isRelative" + } + ], + "return_type": "void", + "build": "323" + }, + "0x61A3DBA14AB7F411": { + "name": "ATTACH_CAM_TO_PED_BONE", + "jhash": "0x506BB35C", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "heading" + } + ], + "return_type": "void", + "build": "323" + }, + "0x149916F50C34A40D": { + "name": "HARD_ATTACH_CAM_TO_PED_BONE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_ATTACH_CAM_TO_PED_BONE_2" + ] + }, + "0x202A5ED9CE01D6E7": { + "name": "HARD_ATTACH_CAM_TO_ENTITY", + "jhash": "", + "comment": "Example from am_mp_drone script: \n\nCAM::HARD_ATTACH_CAM_TO_ENTITY(Local_190.f_169, NETWORK::NET_TO_OBJ(Local_190.f_159), 0f, 0f, 180f, Var0, 1);", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "BOOL", + "name": "isRelative" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_ATTACH_CAM_TO_ENTITY_WITH_FIXED_DIRECTION" + ] + }, + "0x8DB3F12A02CAEF72": { + "name": "ATTACH_CAM_TO_VEHICLE_BONE", + "jhash": "", + "comment": "This native works with vehicles only. Bone indexes are usually given by this native GET_ENTITY_BONE_INDEX_BY_NAME.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "BOOL", + "name": "relativeRotation" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "BOOL", + "name": "fixedDirection" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_ATTACH_CAM_TO_VEHICLE_BONE" + ] + }, + "0xA2FABBE87F4BAD82": { + "name": "DETACH_CAM", + "jhash": "0xF4FBF14A", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "void", + "build": "323" + }, + "0x45F1DE9C34B93AE6": { + "name": "SET_CAM_INHERIT_ROLL_VEHICLE", + "jhash": "0xE4BD5342", + "comment": "The native seems to only be called once.\n\nThe native is used as so,\nCAM::SET_CAM_INHERIT_ROLL_VEHICLE(l_544, getElem(2, &l_525, 4));\nIn the exile1 script.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF75497BB865F0803": { + "name": "POINT_CAM_AT_COORD", + "jhash": "0x914BC21A", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5640BFF86B16E8DC": { + "name": "POINT_CAM_AT_ENTITY", + "jhash": "0x7597A0F7", + "comment": "p5 always seems to be 1 i.e TRUE", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x68B2B5F33BA63C41": { + "name": "POINT_CAM_AT_PED_BONE", + "jhash": "0x09F47049", + "comment": "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. ", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF33AB75780BA57DE": { + "name": "STOP_CAM_POINTING", + "jhash": "0x5435F6A5", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8C1DC7770C51DC8D": { + "name": "SET_CAM_AFFECTS_AIMING", + "jhash": "0x0C74F9AF", + "comment": "Allows you to aim and shoot at the direction the camera is facing.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x661B5C8654ADD825": { + "name": "SET_CAM_CONTROLS_MINI_MAP_HEADING", + "jhash": "0xE1A0B2F1", + "comment": "Rotates the radar to match the camera's Z rotation", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAM_CONTROLS_RADAR_ROTATION" + ] + }, + "0xA2767257A320FC82": { + "name": "SET_CAM_IS_INSIDE_VEHICLE", + "jhash": "", + "comment": "When set to true shadows appear more smooth but less detailed.\nSet to false by default.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAM_SMOOTH_SHADOWS" + ] + }, + "0x271017B9BA825366": { + "name": "ALLOW_MOTION_BLUR_DECAY", + "jhash": "0x43220969", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1B93E0107865DD40": { + "name": "SET_CAM_DEBUG_NAME", + "jhash": "0x9B00DF3F", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.", + "params": [ + { + "type": "Cam", + "name": "camera" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x77C3CEC46BE286F6": { + "name": "GET_DEBUG_CAM", + "jhash": "", + "comment": "", + "params": [], + "return_type": "Cam", + "build": "2372", + "old_names": [ + "_GET_DEBUG_CAMERA" + ] + }, + "0x8609C75EC438FB3B": { + "name": "ADD_CAM_SPLINE_NODE", + "jhash": "0xAD3C7EAA", + "comment": "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.\n\np7 (length) determines the length of the spline, affects camera path and duration of transition between previous node and this one\n\np8 big values ~100 will slow down the camera movement before reaching this node\n\np9 != 0 seems to override the rotation/pitch (bool?)", + "params": [ + { + "type": "Cam", + "name": "camera" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "int", + "name": "length" + }, + { + "type": "int", + "name": "smoothingStyle" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0A9F2A468B328E74": { + "name": "ADD_CAM_SPLINE_NODE_USING_CAMERA_FRAME", + "jhash": "0x30510511", + "comment": "p0 is the spline camera to which the node is being added.\np1 is the camera used to create the node.\np3 is always 3 in scripts. It might be smoothing style or rotation order.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Cam", + "name": "cam2" + }, + { + "type": "int", + "name": "length" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0FB82563989CF4FB": { + "name": "ADD_CAM_SPLINE_NODE_USING_CAMERA", + "jhash": "0xBA6C085B", + "comment": "p0 is the spline camera to which the node is being added.\np1 is the camera used to create the node.\np3 is always 3 in scripts. It might be smoothing style or rotation order.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "Cam", + "name": "cam2" + }, + { + "type": "int", + "name": "length" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x609278246A29CA34": { + "name": "ADD_CAM_SPLINE_NODE_USING_GAMEPLAY_FRAME", + "jhash": "0xB4737F03", + "comment": "p2 is always 2 in scripts. It might be smoothing style or rotation order.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "length" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x242B5874F0A4E052": { + "name": "SET_CAM_SPLINE_PHASE", + "jhash": "0xF0AED233", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB5349E36C546509A": { + "name": "GET_CAM_SPLINE_PHASE", + "jhash": "0x39784DD9", + "comment": "Can use this with SET_CAM_SPLINE_PHASE to set the float it this native returns.\n\n(returns 1.0f when no nodes has been added, reached end of non existing spline)", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "323" + }, + "0xD9D0E694C8282C96": { + "name": "GET_CAM_SPLINE_NODE_PHASE", + "jhash": "0x7B9522F6", + "comment": "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.", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "323" + }, + "0x1381539FEE034CDA": { + "name": "SET_CAM_SPLINE_DURATION", + "jhash": "0x3E91FC8A", + "comment": "I named p1 as timeDuration as it is obvious. I'm assuming tho it is ran in ms(Milliseconds) as usual.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "timeDuration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD1B0F412F109EA5D": { + "name": "SET_CAM_SPLINE_SMOOTHING_STYLE", + "jhash": "0x15E141CE", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "smoothingStyle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB22B17DF858716A6": { + "name": "GET_CAM_SPLINE_NODE_INDEX", + "jhash": "0xF8AEB6BD", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "int", + "build": "323" + }, + "0x83B8201ED82A9A2D": { + "name": "SET_CAM_SPLINE_NODE_EASE", + "jhash": "0x21D275DA", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "easingFunction" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA6385DEB180F319F": { + "name": "SET_CAM_SPLINE_NODE_VELOCITY_SCALE", + "jhash": "0xA3BD9E94", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "323" + }, + "0x40B62FA033EB0346": { + "name": "OVERRIDE_CAM_SPLINE_VELOCITY", + "jhash": "0x326A17E2", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7DCF7C708D292D55": { + "name": "OVERRIDE_CAM_SPLINE_MOTION_BLUR", + "jhash": "0x633179E6", + "comment": "Max value for p1 is 15.", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7BF1A54AE67AC070": { + "name": "SET_CAM_SPLINE_NODE_EXTRA_FLAGS", + "jhash": "0xC90B2DDC", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0290F35C0AD97864": { + "name": "IS_CAM_SPLINE_PAUSED", + "jhash": "0x60B34FF5", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9FBDA379383A52A4": { + "name": "SET_CAM_ACTIVE_WITH_INTERP", + "jhash": "0x7983E7F0", + "comment": "Previous declaration void SET_CAM_ACTIVE_WITH_INTERP(Cam camTo, Cam camFrom, int duration, BOOL easeLocation, BOOL easeRotation) is completely wrong. The last two params are integers not BOOLs...\n", + "params": [ + { + "type": "Cam", + "name": "camTo" + }, + { + "type": "Cam", + "name": "camFrom" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "int", + "name": "easeLocation" + }, + { + "type": "int", + "name": "easeRotation" + } + ], + "return_type": "void", + "build": "323" + }, + "0x036F97C908C2B52C": { + "name": "IS_CAM_INTERPOLATING", + "jhash": "0x7159CB5D", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6A25241C340D3822": { + "name": "SHAKE_CAM", + "jhash": "0x1D4211B0", + "comment": "Possible shake types (updated b617d):\n\nDEATH_FAIL_IN_EFFECT_SHAKE\nDRUNK_SHAKE\nFAMILY5_DRUG_TRIP_SHAKE\nHAND_SHAKE\nJOLT_SHAKE\nLARGE_EXPLOSION_SHAKE\nMEDIUM_EXPLOSION_SHAKE\nSMALL_EXPLOSION_SHAKE\nROAD_VIBRATION_SHAKE\nSKY_DIVING_SHAKE\nVIBRATE_SHAKE\n\nFull list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "const char*", + "name": "type" + }, + { + "type": "float", + "name": "amplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA2746EEAE3E577CD": { + "name": "ANIMATED_SHAKE_CAM", + "jhash": "0xE1168767", + "comment": "Example from michael2 script.\n\nCAM::ANIMATED_SHAKE_CAM(l_5069, \"shake_cam_all@\", \"light\", \"\", 1f);", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "const char*", + "name": "p3" + }, + { + "type": "float", + "name": "amplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B24BFE83A2BE47B": { + "name": "IS_CAM_SHAKING", + "jhash": "0x0961FD9B", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD93DB43B82BC0D00": { + "name": "SET_CAM_SHAKE_AMPLITUDE", + "jhash": "0x60FF6382", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "amplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBDECF64367884AC3": { + "name": "STOP_CAM_SHAKING", + "jhash": "0x40D0EB87", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF4C8CF9E353AFECA": { + "name": "SHAKE_SCRIPT_GLOBAL", + "jhash": "0x2B0F05CD", + "comment": "CAM::SHAKE_SCRIPT_GLOBAL(\"HAND_SHAKE\", 0.2);\n\nFull list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC2EAE3FB8CDBED31": { + "name": "ANIMATED_SHAKE_SCRIPT_GLOBAL", + "jhash": "0xCB75BD9C", + "comment": "CAM::ANIMATED_SHAKE_SCRIPT_GLOBAL(\"SHAKE_CAM_medium\", \"medium\", \"\", 0.5f);\n\nFull list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC912AF078AF19212": { + "name": "IS_SCRIPT_GLOBAL_SHAKING", + "jhash": "0x6AEFE6A5", + "comment": "In drunk_controller.c4, sub_309\nif (CAM::IS_SCRIPT_GLOBAL_SHAKING()) {\n CAM::STOP_SCRIPT_GLOBAL_SHAKING(0);\n}", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x1C9D7949FA533490": { + "name": "STOP_SCRIPT_GLOBAL_SHAKING", + "jhash": "0x26FCFB96", + "comment": "In drunk_controller.c4, sub_309\nif (CAM::IS_SCRIPT_GLOBAL_SHAKING()) {\n CAM::STOP_SCRIPT_GLOBAL_SHAKING(0);\n}", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5D96CFB59DA076A0": { + "name": "TRIGGER_VEHICLE_PART_BROKEN_CAMERA_SHAKE", + "jhash": "", + "comment": "p1: 0..16", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "2060" + }, + "0x9A2D0FB2E7852392": { + "name": "PLAY_CAM_ANIM", + "jhash": "0xBCEFB87E", + "comment": "Atleast one time in a script for the zRot Rockstar uses GET_ENTITY_HEADING to help fill the parameter.\n\np9 is unknown at this time.\np10 throughout all the X360 Scripts is always 2.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "const char*", + "name": "animDictionary" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "BOOL", + "name": "p9" + }, + { + "type": "int", + "name": "p10" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC90621D8A0CEECF2": { + "name": "IS_CAM_PLAYING_ANIM", + "jhash": "0xB998CB49", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "const char*", + "name": "animDictionary" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4145A4C44FF3B5A6": { + "name": "SET_CAM_ANIM_CURRENT_PHASE", + "jhash": "0x3CB1D17F", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "phase" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA10B2DB49E92A6B0": { + "name": "GET_CAM_ANIM_CURRENT_PHASE", + "jhash": "0x345F72D0", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "float", + "build": "323" + }, + "0xE32EFE9AB4A9AA0C": { + "name": "PLAY_SYNCHRONIZED_CAM_ANIM", + "jhash": "0x9458459E", + "comment": "Examples:\n\nCAM::PLAY_SYNCHRONIZED_CAM_ANIM(l_2734, NETWORK::NETWORK_GET_LOCAL_SCENE_FROM_NETWORK_ID(l_2739), \"PLAYER_EXIT_L_CAM\", \"mp_doorbell\");\n\nCAM::PLAY_SYNCHRONIZED_CAM_ANIM(l_F0D[7/*1*/], l_F4D[15/*1*/], \"ah3b_attackheli_cam2\", \"missheistfbi3b_helicrash\");", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "const char*", + "name": "animDictionary" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x503F5920162365B2": { + "name": "SET_FLY_CAM_HORIZONTAL_RESPONSE", + "jhash": "0x56F9ED27", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE827B9382CFB41BA": { + "name": "SET_FLY_CAM_VERTICAL_RESPONSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_SET_FLY_CAM_VERTICAL_SPEED_MULTIPLIER" + ] + }, + "0xF9D02130ECDD1D77": { + "name": "SET_FLY_CAM_MAX_HEIGHT", + "jhash": "0x71570DBA", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "height" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAMERA_RANGE" + ] + }, + "0xC91C6C55199308CA": { + "name": "SET_FLY_CAM_COORD_AND_CONSTRAIN", + "jhash": "0x60B345DE", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC8B5C4A79CC18B94": { + "name": "SET_FLY_CAM_VERTICAL_CONTROLS_THIS_UPDATE", + "jhash": "0x44473EFC", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5C48A1D6E3B33179": { + "name": "WAS_FLY_CAM_CONSTRAINED_ON_PREVIOUS_UDPATE", + "jhash": "0xDA931D65", + "comment": "", + "params": [ + { + "type": "Cam", + "name": "cam" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB16FCE9DDC7BA182": { + "name": "IS_SCREEN_FADED_OUT", + "jhash": "0x9CAA05FA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5A859503B0C08678": { + "name": "IS_SCREEN_FADED_IN", + "jhash": "0x4F37276D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x797AC7CB535BA28F": { + "name": "IS_SCREEN_FADING_OUT", + "jhash": "0x79275A57", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5C544BC6C57AC575": { + "name": "IS_SCREEN_FADING_IN", + "jhash": "0xC7C82800", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD4E8E24955024033": { + "name": "DO_SCREEN_FADE_IN", + "jhash": "0x66C1BDEE", + "comment": "Fades the screen in.\n\nduration: The time the fade should take, in milliseconds.", + "params": [ + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0x891B5B39AC6302AF": { + "name": "DO_SCREEN_FADE_OUT", + "jhash": "0x89D01805", + "comment": "Fades the screen out.\n\nduration: The time the fade should take, in milliseconds.", + "params": [ + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDCD4EA924F42D01A": { + "name": "SET_WIDESCREEN_BORDERS", + "jhash": "0x1A75DC9A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4879E4FE39074CDF": { + "name": "ARE_WIDESCREEN_BORDERS_ACTIVE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "372" + }, + "0x14D6F5678D8F1B37": { + "name": "GET_GAMEPLAY_CAM_COORD", + "jhash": "0x9388CF79", + "comment": "", + "params": [], + "return_type": "Vector3", + "build": "323" + }, + "0x837765A25378F0BB": { + "name": "GET_GAMEPLAY_CAM_ROT", + "jhash": "0x13A010B5", + "comment": "p0 dosen't seem to change much, I tried it with 0, 1, 2:\n0-Pitch(X): -70.000092\n0-Roll(Y): -0.000001\n0-Yaw(Z): -43.886459\n1-Pitch(X): -70.000092\n1-Roll(Y): -0.000001\n1-Yaw(Z): -43.886463\n2-Pitch(X): -70.000092\n2-Roll(Y): -0.000002\n2-Yaw(Z): -43.886467", + "params": [ + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x65019750A0324133": { + "name": "GET_GAMEPLAY_CAM_FOV", + "jhash": "0x4D6B3BFA", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0x487A82C650EB7799": { + "name": "SET_GAMEPLAY_CAM_MOTION_BLUR_SCALING_THIS_UPDATE", + "jhash": "0xA6E73135", + "comment": "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.", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0225778816FDC28C": { + "name": "SET_GAMEPLAY_CAM_MAX_MOTION_BLUR_STRENGTH_THIS_UPDATE", + "jhash": "0x1126E37C", + "comment": "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.", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x743607648ADD4587": { + "name": "GET_GAMEPLAY_CAM_RELATIVE_HEADING", + "jhash": "0xCAF839C2", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xB4EC2312F4E5B1F1": { + "name": "SET_GAMEPLAY_CAM_RELATIVE_HEADING", + "jhash": "0x20C6217C", + "comment": "Sets the camera position relative to heading in float from -360 to +360.\n\nHeading is alwyas 0 in aiming camera.", + "params": [ + { + "type": "float", + "name": "heading" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3A6867B4845BEDA2": { + "name": "GET_GAMEPLAY_CAM_RELATIVE_PITCH", + "jhash": "0xFC5A4946", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0x6D0858B8EDFD2B7D": { + "name": "SET_GAMEPLAY_CAM_RELATIVE_PITCH", + "jhash": "0x6381B963", + "comment": "This native sets the camera's pitch (rotation on the x-axis).", + "params": [ + { + "type": "float", + "name": "angle" + }, + { + "type": "float", + "name": "scalingFactor" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7295C203DD659DFE": { + "name": "RESET_GAMEPLAY_CAM_FULL_ATTACH_PARENT_TRANSFORM_TIMER", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "2699" + }, + "0x48608C3464F58AB4": { + "name": "FORCE_CAMERA_RELATIVE_HEADING_AND_PITCH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "roll" + }, + { + "type": "float", + "name": "pitch" + }, + { + "type": "float", + "name": "yaw" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_GAMEPLAY_CAM_RELATIVE_ROTATION" + ] + }, + "0x28B022A17B068A3A": { + "name": "FORCE_BONNET_CAMERA_RELATIVE_HEADING_AND_PITCH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "1734" + }, + "0x103991D4A307D472": { + "name": "SET_FIRST_PERSON_SHOOTER_CAMERA_HEADING", + "jhash": "", + "comment": "Does nothing", + "params": [ + { + "type": "float", + "name": "yaw" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_GAMEPLAY_CAM_RAW_YAW" + ] + }, + "0x759E13EBC1C15C5A": { + "name": "SET_FIRST_PERSON_SHOOTER_CAMERA_PITCH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "pitch" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_GAMEPLAY_CAM_RAW_PITCH" + ] + }, + "0x469F2ECDEC046337": { + "name": "SET_SCRIPTED_CAMERA_IS_FIRST_PERSON_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFD55E49555E017CF": { + "name": "SHAKE_GAMEPLAY_CAM", + "jhash": "0xF2EFE660", + "comment": "Possible shake types (updated b617d):\n\nDEATH_FAIL_IN_EFFECT_SHAKE\nDRUNK_SHAKE\nFAMILY5_DRUG_TRIP_SHAKE\nHAND_SHAKE\nJOLT_SHAKE\nLARGE_EXPLOSION_SHAKE\nMEDIUM_EXPLOSION_SHAKE\nSMALL_EXPLOSION_SHAKE\nROAD_VIBRATION_SHAKE\nSKY_DIVING_SHAKE\nVIBRATE_SHAKE\n\nFull list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json", + "params": [ + { + "type": "const char*", + "name": "shakeName" + }, + { + "type": "float", + "name": "intensity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x016C090630DF1F89": { + "name": "IS_GAMEPLAY_CAM_SHAKING", + "jhash": "0x3457D681", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA87E00932DB4D85D": { + "name": "SET_GAMEPLAY_CAM_SHAKE_AMPLITUDE", + "jhash": "0x9219D44A", + "comment": "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.", + "params": [ + { + "type": "float", + "name": "amplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0EF93E9F3D08C178": { + "name": "STOP_GAMEPLAY_CAM_SHAKING", + "jhash": "0xFD569E4E", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8BBACBF51DA047A8": { + "name": "SET_GAMEPLAY_CAM_FOLLOW_PED_THIS_UPDATE", + "jhash": "0x7D3007A2", + "comment": "Forces gameplay cam to specified ped as if you were the ped or spectating it", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x39B5D1B10383F0C8": { + "name": "IS_GAMEPLAY_CAM_RENDERING", + "jhash": "0x0EF276DA", + "comment": "Examples when this function will return 0 are:\n- During busted screen.\n- When player is coming out from a hospital.\n- When player is coming out from a police station.\n- When player is buying gun from AmmuNation.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x3044240D2E0FA842": { + "name": "IS_INTERPOLATING_FROM_SCRIPT_CAMS", + "jhash": "0xC0B00C20", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x705A276EBFF3133D": { + "name": "IS_INTERPOLATING_TO_SCRIPT_CAMS", + "jhash": "0x60C23785", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xDB90C6CCA48940F1": { + "name": "SET_GAMEPLAY_CAM_ALTITUDE_FOV_SCALING_STATE", + "jhash": "0x20BFF6E5", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEA7F0AD7E9BA676F": { + "name": "DISABLE_GAMEPLAY_CAM_ALTITUDE_FOV_SCALING_THIS_UPDATE", + "jhash": "0xA61FF9AC", + "comment": "Shows the crosshair even if it wouldn't show normally. Only works for one frame, so make sure to call it repeatedly.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_ENABLE_CROSSHAIR_THIS_FRAME" + ] + }, + "0x70FDA869F3317EA9": { + "name": "IS_GAMEPLAY_CAM_LOOKING_BEHIND", + "jhash": "0x33C83F17", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2AED6301F67007D5": { + "name": "SET_GAMEPLAY_CAM_IGNORE_ENTITY_COLLISION_THIS_UPDATE", + "jhash": "0x2701A9AD", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_CAM_COLLISION_FOR_ENTITY" + ] + }, + "0x49482F9FCD825AAA": { + "name": "DISABLE_CAM_COLLISION_FOR_OBJECT", + "jhash": "0xC4736ED3", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA7092AFE81944852": { + "name": "BYPASS_CAMERA_COLLISION_BUOYANCY_TEST_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "2189" + }, + "0xFD3151CD37EA2245": { + "name": "SET_GAMEPLAY_CAM_ENTITY_TO_LIMIT_FOCUS_OVER_BOUNDING_SPHERE_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB1381B97F70C7B30": { + "name": "DISABLE_FIRST_PERSON_CAMERA_WATER_CLIPPING_TEST_THIS_UPDATE", + "jhash": "", + "comment": "Sets some flag on cinematic camera", + "params": [], + "return_type": "void", + "build": "1180" + }, + "0xDD79DF9F4D26E1C9": { + "name": "SET_FOLLOW_CAM_IGNORE_ATTACH_PARENT_MOVEMENT_THIS_UPDATE", + "jhash": "0x6B0E9D57", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE33D59DA70B58FDF": { + "name": "IS_SPHERE_VISIBLE", + "jhash": "0xDD1329E2", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC6D3D26810C8E0F9": { + "name": "IS_FOLLOW_PED_CAM_ACTIVE", + "jhash": "0x9F9E856C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x44A113DD6FFC48D1": { + "name": "SET_FOLLOW_PED_CAM_THIS_UPDATE", + "jhash": "0x1425F6AC", + "comment": "From the scripts:\n\nCAM::SET_FOLLOW_PED_CAM_THIS_UPDATE(\"FOLLOW_PED_ATTACHED_TO_ROPE_CAMERA\", 0);\nCAM::SET_FOLLOW_PED_CAM_THIS_UPDATE(\"FOLLOW_PED_ON_EXILE1_LADDER_CAMERA\", 1500);\nCAM::SET_FOLLOW_PED_CAM_THIS_UPDATE(\"FOLLOW_PED_SKY_DIVING_CAMERA\", 0);\nCAM::SET_FOLLOW_PED_CAM_THIS_UPDATE(\"FOLLOW_PED_SKY_DIVING_CAMERA\", 3000);\nCAM::SET_FOLLOW_PED_CAM_THIS_UPDATE(\"FOLLOW_PED_SKY_DIVING_FAMILY5_CAMERA\", 0);\nCAM::SET_FOLLOW_PED_CAM_THIS_UPDATE(\"FOLLOW_PED_SKY_DIVING_CAMERA\", 0);", + "params": [ + { + "type": "const char*", + "name": "camName" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "SET_FOLLOW_PED_CAM_CUTSCENE_CHAT" + ] + }, + "0x271401846BD26E92": { + "name": "USE_SCRIPT_CAM_FOR_AMBIENT_POPULATION_ORIGIN_THIS_FRAME", + "jhash": "0x8DC53629", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC8391C309684595A": { + "name": "SET_FOLLOW_PED_CAM_LADDER_ALIGN_THIS_UPDATE", + "jhash": "0x1F9DE6E4", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x8F993D26E0CA5E8E": { + "name": "SET_THIRD_PERSON_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE", + "jhash": "0x749909AC", + "comment": "minimum: Degrees between -180f and 180f.\nmaximum: Degrees between -180f and 180f.\n\nClamps the gameplay camera's current yaw.\n\nEg. SET_THIRD_PERSON_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE(0.0f, 0.0f) will set the horizontal angle directly behind the player.", + "params": [ + { + "type": "float", + "name": "minimum" + }, + { + "type": "float", + "name": "maximum" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLAMP_GAMEPLAY_CAM_YAW" + ] + }, + "0xA516C198B7DCA1E1": { + "name": "SET_THIRD_PERSON_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE", + "jhash": "0xFA3A16E7", + "comment": "minimum: Degrees between -90f and 90f.\nmaximum: Degrees between -90f and 90f.\n\nClamps the gameplay camera's current pitch.\n\nEg. SET_THIRD_PERSON_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE(0.0f, 0.0f) will set the vertical angle directly behind the player.", + "params": [ + { + "type": "float", + "name": "minimum" + }, + { + "type": "float", + "name": "maximum" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLAMP_GAMEPLAY_CAM_PITCH" + ] + }, + "0xDF2E1F7742402E81": { + "name": "SET_THIRD_PERSON_CAM_ORBIT_DISTANCE_LIMITS_THIS_UPDATE", + "jhash": "0x77340650", + "comment": "Seems to animate the gameplay camera zoom.\n\nEg. SET_THIRD_PERSON_CAM_ORBIT_DISTANCE_LIMITS_THIS_UPDATE(1f, 1000f);\nwill animate the camera zooming in from 1000 meters away.\n\nGame scripts use it like this:\n\n// Setting this to 1 prevents V key from changing zoom\nPLAYER::SET_PLAYER_FORCED_ZOOM(PLAYER::PLAYER_ID(), 1);\n\n// These restrict how far you can move cam up/down left/right\nCAM::SET_THIRD_PERSON_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE(-20f, 50f);\nCAM::SET_THIRD_PERSON_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE(-60f, 0f);\n\nCAM::SET_THIRD_PERSON_CAM_ORBIT_DISTANCE_LIMITS_THIS_UPDATE(1f, 1f);", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "distance" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ANIMATE_GAMEPLAY_CAM_ZOOM" + ] + }, + "0xE9EA16D6E54CDCA4": { + "name": "SET_IN_VEHICLE_CAM_STATE_THIS_UPDATE", + "jhash": "0x4B22C5CB", + "comment": "Forces gameplay cam to specified vehicle as if you were in it", + "params": [ + { + "type": "Vehicle", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDE2EF5DA284CC8DF": { + "name": "DISABLE_ON_FOOT_FIRST_PERSON_VIEW_THIS_UPDATE", + "jhash": "", + "comment": "Disables first person camera for the current frame.\n\nFound in decompiled scripts:\nGRAPHICS::DRAW_DEBUG_TEXT_2D(\"Disabling First Person Cam\", 0.5, 0.8, 0.0, 0, 0, 255, 255);\nCAM::DISABLE_ON_FOOT_FIRST_PERSON_VIEW_THIS_UPDATE();", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_FIRST_PERSON_CAM_THIS_FRAME" + ] + }, + "0x59424BD75174C9B1": { + "name": "DISABLE_FIRST_PERSON_FLASH_EFFECT_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9F97DA93681F87EA": { + "name": "BLOCK_FIRST_PERSON_ORIENTATION_RESET_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1734" + }, + "0x33E6C8EFD0CD93E9": { + "name": "GET_FOLLOW_PED_CAM_ZOOM_LEVEL", + "jhash": "0x57583DF1", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x8D4D46230B2C353A": { + "name": "GET_FOLLOW_PED_CAM_VIEW_MODE", + "jhash": "0xA65FF946", + "comment": "See viewmode enum in CAM.GET_FOLLOW_VEHICLE_CAM_VIEW_MODE for return value", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x5A4F9EDF1673F704": { + "name": "SET_FOLLOW_PED_CAM_VIEW_MODE", + "jhash": "0x495DBE8D", + "comment": "Sets the type of Player camera:\n\n0 - Third Person Close\n1 - Third Person Mid\n2 - Third Person Far\n4 - First Person", + "params": [ + { + "type": "int", + "name": "viewMode" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCBBDE6D335D6D496": { + "name": "IS_FOLLOW_VEHICLE_CAM_ACTIVE", + "jhash": "0x8DD49B77", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x91EF6EE6419E5B97": { + "name": "SET_FOLLOW_VEHICLE_CAM_HIGH_ANGLE_MODE_THIS_UPDATE", + "jhash": "0x9DB5D391", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9DFE13ECDC1EC196": { + "name": "SET_FOLLOW_VEHICLE_CAM_HIGH_ANGLE_MODE_EVERY_UPDATE", + "jhash": "0x92302899", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_TIME_IDLE_DROP" + ] + }, + "0x79C0E43EB9B944E2": { + "name": "SET_TABLE_GAMES_CAMERA_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "BOOL", + "build": "1734" + }, + "0xEE82280AB767B690": { + "name": "GET_FOLLOW_VEHICLE_CAM_ZOOM_LEVEL", + "jhash": "0x8CD67DE3", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x19464CB6E4078C8A": { + "name": "SET_FOLLOW_VEHICLE_CAM_ZOOM_LEVEL", + "jhash": "0x8F55EBBE", + "comment": "", + "params": [ + { + "type": "int", + "name": "zoomLevel" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA4FF579AC0E3AAAE": { + "name": "GET_FOLLOW_VEHICLE_CAM_VIEW_MODE", + "jhash": "0xA4B4DB03", + "comment": "Returns the type of camera:\n\nenum _viewmode //0xA11D7CA8\n{\n\tTHIRD_PERSON_NEAR = 0,\n\tTHIRD_PERSON_MEDIUM = 1,\n\tTHIRD_PERSON_FAR = 2,\n\tCINEMATIC = 3,\n\tFIRST_PERSON = 4\n};", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xAC253D7842768F48": { + "name": "SET_FOLLOW_VEHICLE_CAM_VIEW_MODE", + "jhash": "0xC4FBBBD3", + "comment": "Sets the type of Player camera in vehicles:\nviewmode: see CAM.GET_FOLLOW_VEHICLE_CAM_VIEW_MODE", + "params": [ + { + "type": "int", + "name": "viewMode" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEE778F8C7E1142E2": { + "name": "GET_CAM_VIEW_MODE_FOR_CONTEXT", + "jhash": "0xF3B148A6", + "comment": "context: see _GET_CAM_ACTIVE_VIEW_MODE_CONTEXT", + "params": [ + { + "type": "int", + "name": "context" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2A2173E46DAECD12": { + "name": "SET_CAM_VIEW_MODE_FOR_CONTEXT", + "jhash": "0x1DEBCB45", + "comment": "context: see _GET_CAM_ACTIVE_VIEW_MODE_CONTEXT, viewmode: see CAM.GET_FOLLOW_VEHICLE_CAM_VIEW_MODE", + "params": [ + { + "type": "int", + "name": "context" + }, + { + "type": "int", + "name": "viewMode" + } + ], + "return_type": "void", + "build": "323" + }, + "0x19CAFA3C87F7C2FF": { + "name": "GET_CAM_ACTIVE_VIEW_MODE_CONTEXT", + "jhash": "", + "comment": "enum Context\n{\n\tON_FOOT,\n\tIN_VEHICLE,\n\tON_BIKE,\n\tIN_BOAT,\n\tIN_AIRCRAFT,\n\tIN_SUBMARINE,\n\tIN_HELI,\n\tIN_TURRET\n};", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_CAM_ACTIVE_VIEW_MODE_CONTEXT" + ] + }, + "0x6493CF69859B116A": { + "name": "USE_VEHICLE_CAM_STUNT_SETTINGS_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "791", + "old_names": [ + "_USE_STUNT_CAMERA_THIS_FRAME" + ] + }, + "0x425A920FDB9A0DDA": { + "name": "USE_DEDICATED_STUNT_CAMERA_THIS_UPDATE", + "jhash": "", + "comment": "Sets gameplay camera to hash", + "params": [ + { + "type": "const char*", + "name": "camName" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_SET_GAMEPLAY_CAM_HASH" + ] + }, + "0x0AA27680A0BD43FA": { + "name": "FORCE_VEHICLE_CAM_STUNT_SETTINGS_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1103" + }, + "0x5C90CAB09951A12F": { + "name": "SET_FOLLOW_VEHICLE_CAM_SEAT_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "seatIndex" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_FOLLOW_TURRET_SEAT_CAM" + ] + }, + "0x68EDDA28A5976D07": { + "name": "IS_AIM_CAM_ACTIVE", + "jhash": "0xC24B4F6F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x74BD83EA840F6BC9": { + "name": "IS_AIM_CAM_ACTIVE_IN_ACCURATE_MODE", + "jhash": "0x8F320DE4", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_AIM_CAM_THIRD_PERSON_ACTIVE" + ] + }, + "0x5E346D934122613F": { + "name": "IS_FIRST_PERSON_AIM_CAM_ACTIVE", + "jhash": "0xD6280468", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x1A31FE0049E542F6": { + "name": "DISABLE_AIM_CAM_THIS_UPDATE", + "jhash": "0x1BAA7182", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x7EC52CC40597D170": { + "name": "GET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR", + "jhash": "0x33951005", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_GAMEPLAY_CAM_ZOOM" + ] + }, + "0x70894BD0915C5BCA": { + "name": "SET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR", + "jhash": "0x9F4AF763", + "comment": "", + "params": [ + { + "type": "float", + "name": "zoomFactor" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCED08CBE8EBB97C7": { + "name": "SET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR_LIMITS_THIS_UPDATE", + "jhash": "0x68BA0730", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2F7F2B26DD3F18EE": { + "name": "SET_FIRST_PERSON_AIM_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE", + "jhash": "0x2F29F0D5", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBCFC632DB7673BF0": { + "name": "SET_FIRST_PERSON_AIM_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE", + "jhash": "0x76DAC96C", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_FIRST_PERSON_CAM_PITCH_RANGE" + ] + }, + "0x0AF7B437918103B3": { + "name": "SET_FIRST_PERSON_AIM_CAM_NEAR_CLIP_THIS_UPDATE", + "jhash": "0x0E21069D", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_FIRST_PERSON_CAM_NEAR_CLIP" + ] + }, + "0x42156508606DE65E": { + "name": "SET_THIRD_PERSON_AIM_CAM_NEAR_CLIP_THIS_UPDATE", + "jhash": "0x71E9C63E", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_THIRD_PERSON_AIM_CAM_NEAR_CLIP" + ] + }, + "0x4008EDF7D6E48175": { + "name": "SET_ALLOW_CUSTOM_VEHICLE_DRIVE_BY_CAM_THIS_UPDATE", + "jhash": "0xD1EEBC45", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x380B4968D1E09E55": { + "name": "FORCE_TIGHTSPACE_CUSTOM_FRAMING_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1290" + }, + "0xA200EB1EE790F448": { + "name": "GET_FINAL_RENDERED_CAM_COORD", + "jhash": "0x9C84BDA0", + "comment": "", + "params": [], + "return_type": "Vector3", + "build": "323", + "old_names": [ + "_GET_GAMEPLAY_CAM_COORDS" + ] + }, + "0x5B4E4C817FCC2DFB": { + "name": "GET_FINAL_RENDERED_CAM_ROT", + "jhash": "0x1FFBEFC5", + "comment": "p0 seems to consistently be 2 across scripts\n\nFunction is called faily often by CAM::CREATE_CAM_WITH_PARAMS", + "params": [ + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "Vector3", + "build": "323", + "old_names": [ + "_GET_GAMEPLAY_CAM_ROT_2" + ] + }, + "0x26903D9CD1175F2C": { + "name": "GET_FINAL_RENDERED_REMOTE_PLAYER_CAM_ROT", + "jhash": "0xACADF916", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "Vector3", + "build": "323", + "old_names": [ + "GET_FINAL_RENDERED_IN_WHEN_FRIENDLY_ROT" + ] + }, + "0x80EC114669DAEFF4": { + "name": "GET_FINAL_RENDERED_CAM_FOV", + "jhash": "0x721B763B", + "comment": "Gets some camera fov", + "params": [], + "return_type": "float", + "build": "323" + }, + "0x5F35F6732C3FBBA0": { + "name": "GET_FINAL_RENDERED_REMOTE_PLAYER_CAM_FOV", + "jhash": "0x23E3F106", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "GET_FINAL_RENDERED_IN_WHEN_FRIENDLY_FOV" + ] + }, + "0xD0082607100D7193": { + "name": "GET_FINAL_RENDERED_CAM_NEAR_CLIP", + "jhash": "0x457AE195", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_GAMEPLAY_CAM_NEAR_CLIP" + ] + }, + "0xDFC8CBC606FDB0FC": { + "name": "GET_FINAL_RENDERED_CAM_FAR_CLIP", + "jhash": "0x46CB3A49", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_GAMEPLAY_CAM_FAR_CLIP" + ] + }, + "0xA03502FC581F7D9B": { + "name": "GET_FINAL_RENDERED_CAM_NEAR_DOF", + "jhash": "0x19297A7A", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_GAMEPLAY_CAM_NEAR_DOF" + ] + }, + "0x9780F32BCAF72431": { + "name": "GET_FINAL_RENDERED_CAM_FAR_DOF", + "jhash": "0xF24777CA", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_GAMEPLAY_CAM_FAR_DOF" + ] + }, + "0x162F9D995753DC19": { + "name": "GET_FINAL_RENDERED_CAM_MOTION_BLUR_STRENGTH", + "jhash": "0x38992E83", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_GAMEPLAY_CAM_FAR_CLIP_2" + ] + }, + "0xD51ADCD2D8BC0FB3": { + "name": "SET_GAMEPLAY_COORD_HINT", + "jhash": "0xF27483C9", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "int", + "name": "blendOutDuration" + }, + { + "type": "int", + "name": "blendInDuration" + }, + { + "type": "int", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2B486269ACD548D3": { + "name": "SET_GAMEPLAY_PED_HINT", + "jhash": "0x7C27343E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "int", + "name": "blendOutDuration" + }, + { + "type": "int", + "name": "blendInDuration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA2297E18F3E71C2E": { + "name": "SET_GAMEPLAY_VEHICLE_HINT", + "jhash": "0x2C9A11D8", + "comment": "Focuses the camera on the specified vehicle.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "int", + "name": "easeInTime" + }, + { + "type": "int", + "name": "easeOutTime" + } + ], + "return_type": "void", + "build": "323" + }, + "0x83E87508A2CA2AC6": { + "name": "SET_GAMEPLAY_OBJECT_HINT", + "jhash": "0x2ED5E2F8", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "int", + "name": "easeInTime" + }, + { + "type": "int", + "name": "easeOutTime" + } + ], + "return_type": "void", + "build": "323" + }, + "0x189E955A8313E298": { + "name": "SET_GAMEPLAY_ENTITY_HINT", + "jhash": "0x66C32306", + "comment": "p8 could be some sort of flag. Scripts use:\n-244429742\n0\n1726668277\n1844968929", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "int", + "name": "easeInTime" + }, + { + "type": "int", + "name": "easeOutTime" + }, + { + "type": "int", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE520FF1AD2785B40": { + "name": "IS_GAMEPLAY_HINT_ACTIVE", + "jhash": "0xAD8DA205", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF46C581C61718916": { + "name": "STOP_GAMEPLAY_HINT", + "jhash": "0x1BC28B7B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCCD078C2665D2973": { + "name": "STOP_GAMEPLAY_HINT_BEING_CANCELLED_THIS_UPDATE", + "jhash": "0xCAFEE798", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x247ACBC4ABBC9D1C": { + "name": "STOP_CODE_GAMEPLAY_HINT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBF72910D0F26F025": { + "name": "IS_CODE_GAMEPLAY_HINT_ACTIVE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x513403FB9C56211F": { + "name": "SET_GAMEPLAY_HINT_FOV", + "jhash": "0x96FD173B", + "comment": "", + "params": [ + { + "type": "float", + "name": "FOV" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF8BDBF3D573049A1": { + "name": "SET_GAMEPLAY_HINT_FOLLOW_DISTANCE_SCALAR", + "jhash": "0x72E8CD3A", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_GAMEPLAY_HINT_ANIM_OFFSETZ" + ] + }, + "0xD1F8363DFAD03848": { + "name": "SET_GAMEPLAY_HINT_BASE_ORBIT_PITCH_OFFSET", + "jhash": "0x79472AE3", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_GAMEPLAY_HINT_ANGLE" + ] + }, + "0x5D7B620DAE436138": { + "name": "SET_GAMEPLAY_HINT_CAMERA_RELATIVE_SIDE_OFFSET", + "jhash": "0xFC7464A0", + "comment": "", + "params": [ + { + "type": "float", + "name": "xOffset" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_GAMEPLAY_HINT_ANIM_OFFSETX" + ] + }, + "0xC92717EF615B6704": { + "name": "SET_GAMEPLAY_HINT_CAMERA_RELATIVE_VERTICAL_OFFSET", + "jhash": "0x3554AA0E", + "comment": "", + "params": [ + { + "type": "float", + "name": "yOffset" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_GAMEPLAY_HINT_ANIM_OFFSETY" + ] + }, + "0xE3433EADAAF7EE40": { + "name": "SET_GAMEPLAY_HINT_CAMERA_BLEND_TO_FOLLOW_PED_MEDIUM_VIEW_MODE", + "jhash": "0x2F0CE859", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "GET_IS_MULTIPLAYER_BRIEF", + "_SET_GAMEPLAY_HINT_ANIM_CLOSEUP" + ] + }, + "0x51669F7D1FB53D9F": { + "name": "SET_CINEMATIC_BUTTON_ACTIVE", + "jhash": "0x3FBC5D00", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB15162CB5826E9E8": { + "name": "IS_CINEMATIC_CAM_RENDERING", + "jhash": "0x80471AD9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xDCE214D9ED58F3CF": { + "name": "SHAKE_CINEMATIC_CAM", + "jhash": "0x61815F31", + "comment": "p0 argument found in the b617d scripts: \"DRUNK_SHAKE\"\n\nFull list of cam shake types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/camShakeTypesCompact.json", + "params": [ + { + "type": "const char*", + "name": "shakeType" + }, + { + "type": "float", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBBC08F6B4CB8FF0A": { + "name": "IS_CINEMATIC_CAM_SHAKING", + "jhash": "0x8376D939", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC724C701C30B2FE7": { + "name": "SET_CINEMATIC_CAM_SHAKE_AMPLITUDE", + "jhash": "0x67510C4B", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2238E588E588A6D7": { + "name": "STOP_CINEMATIC_CAM_SHAKING", + "jhash": "0x71C12904", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xADFF1B2A555F5FBA": { + "name": "DISABLE_CINEMATIC_BONNET_CAMERA_THIS_UPDATE", + "jhash": "0x5AC6DAC9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_VEHICLE_FIRST_PERSON_CAM_THIS_FRAME" + ] + }, + "0x62ECFCFDEE7885D6": { + "name": "DISABLE_CINEMATIC_VEHICLE_IDLE_MODE_THIS_UPDATE", + "jhash": "0x837F8581", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9E4CFFF989258472": { + "name": "INVALIDATE_CINEMATIC_VEHICLE_IDLE_MODE", + "jhash": "0x65DDE8AF", + "comment": "Resets the vehicle idle camera timer. Calling this in a loop will disable the idle camera.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_INVALIDATE_VEHICLE_IDLE_CAM" + ] + }, + "0xF4F2C0D4EE209E20": { + "name": "INVALIDATE_IDLE_CAM", + "jhash": "0xD75CDD75", + "comment": "Resets the idle camera timer. Calling that in a loop once every few seconds is enough to disable the idle cinematic camera.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCA9D2AA3E326D720": { + "name": "IS_CINEMATIC_IDLE_CAM_RENDERING", + "jhash": "0x96A07066", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4F32C0D5A90A9B40": { + "name": "IS_CINEMATIC_FIRST_PERSON_VEHICLE_INTERIOR_CAM_RENDERING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_IN_VEHICLE_CAM_DISABLED" + ] + }, + "0x741B0129D4560F31": { + "name": "CREATE_CINEMATIC_SHOT", + "jhash": "0xAC494E35", + "comment": "hash is always JOAAT(\"CAMERA_MAN_SHOT\") in decompiled scripts", + "params": [ + { + "type": "Hash", + "name": "p0" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCC9F3371A7C28BC9": { + "name": "IS_CINEMATIC_SHOT_ACTIVE", + "jhash": "0xA4049042", + "comment": "Hash is always JOAAT(\"CAMERA_MAN_SHOT\") in decompiled scripts", + "params": [ + { + "type": "Hash", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7660C6E75D3A078E": { + "name": "STOP_CINEMATIC_SHOT", + "jhash": "0xD78358C5", + "comment": "Only used once in carsteal3 with p0 set to -1096069633 (CAMERA_MAN_SHOT)", + "params": [ + { + "type": "Hash", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA41BCD7213805AAC": { + "name": "FORCE_CINEMATIC_RENDERING_THIS_UPDATE", + "jhash": "0xFBB85E02", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDC9DA9E8789F5246": { + "name": "SET_CINEMATIC_NEWS_CHANNEL_ACTIVE_THIS_UPDATE", + "jhash": "0x4938C82F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xDCF0754AC3D6FD4E": { + "name": "SET_CINEMATIC_MODE_ACTIVE", + "jhash": "0x2009E747", + "comment": "Toggles the vehicle cinematic cam; requires the player ped to be in a vehicle to work.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1F2300CB7FA7B7F6": { + "name": "IS_IN_VEHICLE_MOBILE_PHONE_CAMERA_RENDERING", + "jhash": "0x6739AD55", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x17FCA7199A530203": { + "name": "DISABLE_CINEMATIC_SLOW_MO_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD7360051C885628B": { + "name": "IS_BONNET_CINEMATIC_CAM_RENDERING", + "jhash": "0x1DD55F13", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "372" + }, + "0xF5F1E89A970B7796": { + "name": "IS_CINEMATIC_CAM_INPUT_ACTIVE", + "jhash": "0x1A900C84", + "comment": "Tests some cinematic camera flags", + "params": [], + "return_type": "BOOL", + "build": "1493", + "old_names": [ + "_IS_CINEMATIC_CAM_ACTIVE" + ] + }, + "0x7B8A361C1813FBEF": { + "name": "IGNORE_MENU_PREFERENCE_FOR_BONNET_CAMERA_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "573" + }, + "0xDB629FFD9285FA06": { + "name": "BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "STOP_CUTSCENE_CAM_SHAKING" + ] + }, + "0x324C5AA411DA7737": { + "name": "STOP_CUTSCENE_CAM_SHAKING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x12DED8CA53D47EA5": { + "name": "SET_CUTSCENE_CAM_FAR_CLIP_THIS_UPDATE", + "jhash": "0x067BA6F5", + "comment": "Hardcoded to only work in multiplayer.", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x89215EC747DF244A": { + "name": "GET_FOCUS_PED_ON_SCREEN", + "jhash": "0xFD99BE2B", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "int", + "name": "p7" + }, + { + "type": "int", + "name": "p8" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x5A43C76F7FC7BA5F": { + "name": "DISABLE_NEAR_CLIP_SCAN_THIS_UPDATE", + "jhash": "0xE206C450", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x80C8B1846639BB19": { + "name": "SET_CAM_DEATH_FAIL_EFFECT_STATE", + "jhash": "0xB06CCD38", + "comment": "if p0 is 0, effect is cancelled\n\nif p0 is 1, effect zooms in, gradually tilts cam clockwise apx 30 degrees, wobbles slowly. Motion blur is active until cancelled.\n\nif 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.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAM_EFFECT" + ] + }, + "0x5C41E6BABC9E2112": { + "name": "SET_FIRST_PERSON_FLASH_EFFECT_TYPE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x21E253A7F8DA5DFB": { + "name": "SET_FIRST_PERSON_FLASH_EFFECT_VEHICLE_MODEL_NAME", + "jhash": "", + "comment": "From b617 scripts:\n\nCAM::SET_FIRST_PERSON_FLASH_EFFECT_VEHICLE_MODEL_NAME(\"DINGHY\");\nCAM::SET_FIRST_PERSON_FLASH_EFFECT_VEHICLE_MODEL_NAME(\"ISSI2\");\nCAM::SET_FIRST_PERSON_FLASH_EFFECT_VEHICLE_MODEL_NAME(\"SPEEDO\");", + "params": [ + { + "type": "const char*", + "name": "vehicleName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_GAMEPLAY_CAM_VEHICLE_CAMERA" + ] + }, + "0x11FA5D3479C7DD47": { + "name": "SET_FIRST_PERSON_FLASH_EFFECT_VEHICLE_MODEL_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "vehicleModel" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_GAMEPLAY_CAM_VEHICLE_CAMERA_NAME" + ] + }, + "0xEAF0FA793D05C592": { + "name": "IS_ALLOWED_INDEPENDENT_CAMERA_MODES", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x62374889A4D59F72": { + "name": "CAMERA_PREVENT_COLLISION_SETTINGS_FOR_TRIPLEHEAD_IN_INTERIORS_THIS_UPDATE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "877" + }, + "0x8BFCEB5EA1B161B6": { + "name": "REPLAY_GET_MAX_DISTANCE_ALLOWED_FROM_PLAYER", + "jhash": "", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_REPLAY_FREE_CAM_GET_MAX_RANGE" + ] + } + }, + "CLOCK": { + "0x47C3B5848C3E45D8": { + "name": "SET_CLOCK_TIME", + "jhash": "0x26F6AF14", + "comment": "SET_CLOCK_TIME(12, 34, 56);", + "params": [ + { + "type": "int", + "name": "hour" + }, + { + "type": "int", + "name": "minute" + }, + { + "type": "int", + "name": "second" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4055E40BD2DBEC1D": { + "name": "PAUSE_CLOCK", + "jhash": "0xB02D6124", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC8CA9670B9D83B3B": { + "name": "ADVANCE_CLOCK_TIME_TO", + "jhash": "0x57B8DA7C", + "comment": "", + "params": [ + { + "type": "int", + "name": "hour" + }, + { + "type": "int", + "name": "minute" + }, + { + "type": "int", + "name": "second" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD716F30D8C8980E2": { + "name": "ADD_TO_CLOCK_TIME", + "jhash": "0xCC40D20D", + "comment": "", + "params": [ + { + "type": "int", + "name": "hours" + }, + { + "type": "int", + "name": "minutes" + }, + { + "type": "int", + "name": "seconds" + } + ], + "return_type": "void", + "build": "323" + }, + "0x25223CA6B4D20B7F": { + "name": "GET_CLOCK_HOURS", + "jhash": "0x7EF8316F", + "comment": "Gets the current ingame hour, expressed without zeros. (09:34 will be represented as 9)", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x13D2B8ADD79640F2": { + "name": "GET_CLOCK_MINUTES", + "jhash": "0x94AAC486", + "comment": "Gets the current ingame clock minute.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x494E97C2EF27C470": { + "name": "GET_CLOCK_SECONDS", + "jhash": "0x099C927E", + "comment": "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.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xB096419DF0D06CE7": { + "name": "SET_CLOCK_DATE", + "jhash": "0x96891C94", + "comment": "", + "params": [ + { + "type": "int", + "name": "day" + }, + { + "type": "int", + "name": "month" + }, + { + "type": "int", + "name": "year" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD972E4BD7AEB235F": { + "name": "GET_CLOCK_DAY_OF_WEEK", + "jhash": "0x84E4A289", + "comment": "Gets the current day of the week.\n\n0: Sunday\n1: Monday\n2: Tuesday\n3: Wednesday\n4: Thursday\n5: Friday\n6: Saturday", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x3D10BC92A4DB1D35": { + "name": "GET_CLOCK_DAY_OF_MONTH", + "jhash": "0xC7A5ACB7", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xBBC72712E80257A1": { + "name": "GET_CLOCK_MONTH", + "jhash": "0x3C48A3D5", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x961777E64BDAF717": { + "name": "GET_CLOCK_YEAR", + "jhash": "0xB8BECF15", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x2F8B4D1C595B11DB": { + "name": "GET_MILLISECONDS_PER_GAME_MINUTE", + "jhash": "0x3B74095C", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xDA488F299A5B164E": { + "name": "GET_POSIX_TIME", + "jhash": "0xE15A5281", + "comment": "Gets system time as year, month, day, hour, minute and second.\n\nExample usage:\n\n int year;\n int month;\n int day;\n int hour;\n int minute;\n int second;\n\n TIME::GET_POSIX_TIME(&year, &month, &day, &hour, &minute, &second);\n", + "params": [ + { + "type": "int*", + "name": "year" + }, + { + "type": "int*", + "name": "month" + }, + { + "type": "int*", + "name": "day" + }, + { + "type": "int*", + "name": "hour" + }, + { + "type": "int*", + "name": "minute" + }, + { + "type": "int*", + "name": "second" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8117E09A19EEF4D3": { + "name": "GET_UTC_TIME", + "jhash": "0xC589CD7D", + "comment": "Gets current UTC time", + "params": [ + { + "type": "int*", + "name": "year" + }, + { + "type": "int*", + "name": "month" + }, + { + "type": "int*", + "name": "day" + }, + { + "type": "int*", + "name": "hour" + }, + { + "type": "int*", + "name": "minute" + }, + { + "type": "int*", + "name": "second" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_LOCAL_TIME", + "_GET_UTC_TIME" + ] + }, + "0x50C7A99057A69748": { + "name": "GET_LOCAL_TIME", + "jhash": "0x124BCFA2", + "comment": "Gets local system time as year, month, day, hour, minute and second.\n\nExample usage:\n\nint year;\nint month;\nint day;\nint hour;\nint minute;\nint second;\nor use std::tm struct\n\nTIME::GET_LOCAL_TIME(&year, &month, &day, &hour, &minute, &second);\n", + "params": [ + { + "type": "int*", + "name": "year" + }, + { + "type": "int*", + "name": "month" + }, + { + "type": "int*", + "name": "day" + }, + { + "type": "int*", + "name": "hour" + }, + { + "type": "int*", + "name": "minute" + }, + { + "type": "int*", + "name": "second" + } + ], + "return_type": "void", + "build": "323" + } + }, + "CUTSCENE": { + "0x7A86743F475D9E09": { + "name": "REQUEST_CUTSCENE", + "jhash": "0xB5977853", + "comment": "flags: Usually 8\nFull list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneName" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC23DE0E91C30B58C": { + "name": "REQUEST_CUTSCENE_WITH_PLAYBACK_LIST", + "jhash": "0xD98F656A", + "comment": "flags: Usually 8\n\nplaybackFlags: Which scenes should be played.\nExample: 0x105 (bit 0, 2 and 8 set) will enable scene 1, 3 and 9.\nFull list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneName" + }, + { + "type": "int", + "name": "playbackFlags" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REQUEST_CUTSCENE_EX" + ] + }, + "0x440AF51A3462B86F": { + "name": "REMOVE_CUTSCENE", + "jhash": "0x8052F533", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC59F528E9AB9F339": { + "name": "HAS_CUTSCENE_LOADED", + "jhash": "0xF9998582", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x228D3D94F8A11C3C": { + "name": "HAS_THIS_CUTSCENE_LOADED", + "jhash": "0x3C5619F2", + "comment": "Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8D9DF6ECA8768583": { + "name": "SET_SCRIPT_CAN_START_CUTSCENE", + "jhash": "0x25A2CABC", + "comment": "Sets the cutscene's owning thread ID.", + "params": [ + { + "type": "int", + "name": "threadId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB56BBBCC2955D9CB": { + "name": "CAN_REQUEST_ASSETS_FOR_CUTSCENE_ENTITY", + "jhash": "0xDD8878E9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x71B74D2AE19338D0": { + "name": "IS_CUTSCENE_PLAYBACK_FLAG_SET", + "jhash": "0x7B93CDAA", + "comment": "", + "params": [ + { + "type": "int", + "name": "flag" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4C61C75BEE8184C2": { + "name": "SET_CUTSCENE_ENTITY_STREAMING_FLAGS", + "jhash": "0x47DB08A9", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x06A3524161C502BA": { + "name": "REQUEST_CUT_FILE", + "jhash": "0x0D732CD6", + "comment": "Simply loads the cutscene and doesn't do extra stuff that REQUEST_CUTSCENE does.\nFull list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA1C996C2A744262E": { + "name": "HAS_CUT_FILE_LOADED", + "jhash": "0x56D5B144", + "comment": "Simply checks if the cutscene has loaded and doesn't check via CutSceneManager as opposed to HAS_[THIS]_CUTSCENE_LOADED.\nFull list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD00D76A7DFC9D852": { + "name": "REMOVE_CUT_FILE", + "jhash": "0xB70D7C6D", + "comment": "Simply unloads the cutscene and doesn't do extra stuff that REMOVE_CUTSCENE does.\nFull list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0ABC54DE641DC0FC": { + "name": "GET_CUT_FILE_CONCAT_COUNT", + "jhash": "0xFD8B1AC2", + "comment": "Full list of cutscene names by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/cutsceneNames.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneName" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_CUT_FILE_NUM_SECTIONS" + ] + }, + "0x186D5CB5E7B0FF7B": { + "name": "START_CUTSCENE", + "jhash": "0x210106F6", + "comment": "flags: Usually 0.", + "params": [ + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1C9ADDA3244A1FBF": { + "name": "START_CUTSCENE_AT_COORDS", + "jhash": "0x58BEA436", + "comment": "flags: Usually 0.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC7272775B4DC786E": { + "name": "STOP_CUTSCENE", + "jhash": "0x5EE84DC7", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD220BDD222AC4A1E": { + "name": "STOP_CUTSCENE_IMMEDIATELY", + "jhash": "0xF528A2AD", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xB812B3FD1C01CF27": { + "name": "SET_CUTSCENE_ORIGIN", + "jhash": "0xB0AD7792", + "comment": "p3 could be heading. Needs more research.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x011883F41211432A": { + "name": "SET_CUTSCENE_ORIGIN_AND_ORIENTATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE625BEABBAFFDAB9": { + "name": "GET_CUTSCENE_TIME", + "jhash": "0x53F5B5AB", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xEE53B14A19E480D4": { + "name": "GET_CUTSCENE_TOTAL_DURATION", + "jhash": "0x0824EBE8", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x971D7B15BCDBEF99": { + "name": "GET_CUTSCENE_END_TIME", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "1734" + }, + "0x5D583F71C901F2A3": { + "name": "GET_CUTSCENE_PLAY_DURATION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "2802" + }, + "0x40C8656EDAEDD569": { + "name": "WAS_CUTSCENE_SKIPPED", + "jhash": "0xC9B6949D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x7C0A893088881D57": { + "name": "HAS_CUTSCENE_FINISHED", + "jhash": "0x5DED14B4", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x991251AFC3981F84": { + "name": "IS_CUTSCENE_ACTIVE", + "jhash": "0xCCE2FE9D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD3C2E180A40F031E": { + "name": "IS_CUTSCENE_PLAYING", + "jhash": "0xA3A78392", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x49010A6A396553D8": { + "name": "GET_CUTSCENE_SECTION_PLAYING", + "jhash": "0x1026F0D6", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x0A2E9FDB9A8C62F6": { + "name": "GET_ENTITY_INDEX_OF_CUTSCENE_ENTITY", + "jhash": "0x1D09ABC7", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0x583DF8E3D4AFBD98": { + "name": "GET_CUTSCENE_CONCAT_SECTION_PLAYING", + "jhash": "0x5AE68AE6", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x4CEBC1ED31E8925E": { + "name": "IS_CUTSCENE_AUTHORIZED", + "jhash": "", + "comment": "This function is hard-coded to always return 1.", + "params": [ + { + "type": "const char*", + "name": "cutsceneName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4FCD976DA686580C": { + "name": "DOES_CUTSCENE_HANDLE_EXIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "cutsceneHandle" + } + ], + "return_type": "int", + "build": "1290" + }, + "0xE40C1C56DF95C2E8": { + "name": "REGISTER_ENTITY_FOR_CUTSCENE", + "jhash": "0x7CBC3EC7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "cutscenePed" + }, + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC0741A26499654CD": { + "name": "GET_ENTITY_INDEX_OF_REGISTERED_ENTITY", + "jhash": "0x46D18755", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0x7F96F23FA9B73327": { + "name": "SET_VEHICLE_MODEL_PLAYER_WILL_EXIT_SCENE", + "jhash": "", + "comment": "Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9896CE4721BE84BA": { + "name": "SET_CUTSCENE_TRIGGER_AREA", + "jhash": "0x9D76D9DE", + "comment": "Only used twice in R* scripts", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x645D0B458D8E17B5": { + "name": "CAN_SET_ENTER_STATE_FOR_REGISTERED_ENTITY", + "jhash": "0x55C30B26", + "comment": "modelHash (p1) was always 0 in R* scripts", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4C6A6451C79E4662": { + "name": "CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY", + "jhash": "0x8FF5D3C4", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB2CBCD0930DFB420": { + "name": "CAN_SET_EXIT_STATE_FOR_CAMERA", + "jhash": "0xEDAE6C02", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC61B86C9F61EB404": { + "name": "SET_PAD_CAN_SHAKE_DURING_CUTSCENE", + "jhash": "0x35721A08", + "comment": "Toggles a value (bool) for cutscenes.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8093F23ABACCC7D4": { + "name": "SET_CUTSCENE_FADE_VALUES", + "jhash": "0xD19EF0DD", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x20746F7B1032A3C7": { + "name": "SET_CUTSCENE_MULTIHEAD_FADE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x06EE9048FD080382": { + "name": "SET_CUTSCENE_MULTIHEAD_FADE_MANUAL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA0FE76168A189DDB": { + "name": "IS_MULTIHEAD_FADE_UP", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2F137B508DE238F2": { + "name": "NETWORK_SET_MOCAP_CUTSCENE_CAN_BE_SKIPPED", + "jhash": "0x8338DA1D", + "comment": "Stops current cutscene with a fade transition\np0: always true in R* Scripts\nYou will need to manually fade the screen back in\nSET_CUTSCENE_INPUTS_PARTIALLY_FADE?", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE36A98D8AB3D3C66": { + "name": "SET_CAR_GENERATORS_CAN_UPDATE_DURING_CUTSCENE", + "jhash": "0x04377C10", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5EDEF0CF8C1DAB3C": { + "name": "CAN_USE_MOBILE_PHONE_DURING_CUTSCENE", + "jhash": "0xDBD88708", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x41FAA8FB2ECE8720": { + "name": "SET_CUTSCENE_CAN_BE_SKIPPED", + "jhash": "0x28D54A7F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2131046957F31B04": { + "name": "SET_CAN_DISPLAY_MINIMAP_DURING_CUTSCENE_THIS_UPDATE", + "jhash": "0xB60CFBB9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "REGISTER_SYNCHRONISED_SCRIPT_SPEECH" + ] + }, + "0xBA01E7B6DEEFBBC9": { + "name": "SET_CUTSCENE_PED_COMPONENT_VARIATION", + "jhash": "0x6AF994A1", + "comment": "Full list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "drawableId" + }, + { + "type": "int", + "name": "textureId" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2A56C06EBEF2B0D9": { + "name": "SET_CUTSCENE_PED_COMPONENT_VARIATION_FROM_PED", + "jhash": "0x1E7DA95E", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x499EF20C5DB25C59": { + "name": "DOES_CUTSCENE_ENTITY_EXIST", + "jhash": "0x58E67409", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0546524ADE2E9723": { + "name": "SET_CUTSCENE_PED_PROP_VARIATION", + "jhash": "0x22E9A9DE", + "comment": "Thanks R*! ;)\n\nif ((l_161 == 0) || (l_161 == 2)) {\n sub_2ea27(\"Trying to set Jimmy prop variation\");\n CUTSCENE::SET_CUTSCENE_PED_PROP_VARIATION(\"Jimmy_Boston\", 1, 0, 0, 0);\n}\n\nFull list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json", + "params": [ + { + "type": "const char*", + "name": "cutsceneEntName" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "drawableId" + }, + { + "type": "int", + "name": "textureId" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x708BDD8CD795B043": { + "name": "HAS_CUTSCENE_CUT_THIS_FRAME", + "jhash": "0x4315A7C5", + "comment": "Possibly HAS_CUTSCENE_CUT_THIS_FRAME, needs more research.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_CUTSCENE_CUT_THIS_FRAME" + ] + } + }, + "DATAFILE": { + "0xAD6875BBC0FC899C": { + "name": "DATAFILE_WATCH_REQUEST_ID", + "jhash": "0x621388FF", + "comment": "Adds the given requestID to the watch list.", + "params": [ + { + "type": "int", + "name": "requestId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6CC86E78358D5119": { + "name": "DATAFILE_CLEAR_WATCH_LIST", + "jhash": "0x5B39D0AC", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xFCCAE5B92A830878": { + "name": "DATAFILE_IS_VALID_REQUEST_ID", + "jhash": "0x01393D16", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x15FF52B809DB2353": { + "name": "DATAFILE_HAS_LOADED_FILE_DATA", + "jhash": "0x36FB8B3F", + "comment": "", + "params": [ + { + "type": "int", + "name": "requestId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF8CC1EBE0B62E29F": { + "name": "DATAFILE_HAS_VALID_FILE_DATA", + "jhash": "0x2A9411DA", + "comment": "", + "params": [ + { + "type": "int", + "name": "requestId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x22DA66936E0FFF37": { + "name": "DATAFILE_SELECT_ACTIVE_FILE", + "jhash": "0xB41064A4", + "comment": "", + "params": [ + { + "type": "int", + "name": "requestId" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8F5EA1C01D65A100": { + "name": "DATAFILE_DELETE_REQUESTED_FILE", + "jhash": "0x9DB63CFF", + "comment": "", + "params": [ + { + "type": "int", + "name": "requestId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC84527E235FCA219": { + "name": "UGC_CREATE_CONTENT", + "jhash": "0xF09157B0", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + }, + { + "type": "int", + "name": "dataCount" + }, + { + "type": "const char*", + "name": "contentName" + }, + { + "type": "const char*", + "name": "description" + }, + { + "type": "const char*", + "name": "tagsCsv" + }, + { + "type": "const char*", + "name": "contentTypeName" + }, + { + "type": "BOOL", + "name": "publish" + }, + { + "type": "Any", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA5EFC3E847D60507": { + "name": "UGC_CREATE_MISSION", + "jhash": "0xD96860FC", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentName" + }, + { + "type": "const char*", + "name": "description" + }, + { + "type": "const char*", + "name": "tagsCsv" + }, + { + "type": "const char*", + "name": "contentTypeName" + }, + { + "type": "BOOL", + "name": "publish" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x648E7A5434AF7969": { + "name": "UGC_UPDATE_CONTENT", + "jhash": "0x459F2683", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentId" + }, + { + "type": "Any*", + "name": "data" + }, + { + "type": "int", + "name": "dataCount" + }, + { + "type": "const char*", + "name": "contentName" + }, + { + "type": "const char*", + "name": "description" + }, + { + "type": "const char*", + "name": "tagsCsv" + }, + { + "type": "const char*", + "name": "contentTypeName" + }, + { + "type": "Any", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4645DE9980999E93": { + "name": "UGC_UPDATE_MISSION", + "jhash": "0xDBB83E2B", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentId" + }, + { + "type": "const char*", + "name": "contentName" + }, + { + "type": "const char*", + "name": "description" + }, + { + "type": "const char*", + "name": "tagsCsv" + }, + { + "type": "const char*", + "name": "contentTypeName" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x692D808C34A82143": { + "name": "UGC_SET_PLAYER_DATA", + "jhash": "0xBB6321BD", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentId" + }, + { + "type": "float", + "name": "rating" + }, + { + "type": "const char*", + "name": "contentTypeName" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA69AC4ADE82B57A4": { + "name": "DATAFILE_SELECT_UGC_DATA", + "jhash": "0xE8D56DA2", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9CB0BFA7A9342C3D": { + "name": "DATAFILE_SELECT_UGC_STATS", + "jhash": "0xCB6A351E", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x52818819057F2B40": { + "name": "DATAFILE_SELECT_UGC_PLAYER_DATA", + "jhash": "0xA4D1B30E", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x01095C95CD46B624": { + "name": "DATAFILE_SELECT_CREATOR_STATS", + "jhash": "0xB8515B2F", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC5238C011AF405E4": { + "name": "DATAFILE_LOAD_OFFLINE_UGC", + "jhash": "0x660C468E", + "comment": "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.\n\nReturns whether or not the file was successfully loaded.\n\nExample:\nDATAFILE::DATAFILE_LOAD_OFFLINE_UGC(\"RockstarPlaylists\") // loads \"rockstarplaylists_00.ugc\"", + "params": [ + { + "type": "const char*", + "name": "filename" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_LOAD_UGC_FILE" + ] + }, + "0xD27058A1CA2B13EE": { + "name": "DATAFILE_CREATE", + "jhash": "0x95F8A221", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9AB9C1CFC8862DFB": { + "name": "DATAFILE_DELETE", + "jhash": "0xDEF31B0A", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2ED61456317B8178": { + "name": "DATAFILE_STORE_MISSION_HEADER", + "jhash": "0x4E03F632", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC55854C7D7274882": { + "name": "DATAFILE_FLUSH_MISSION_HEADER", + "jhash": "0xF11F956F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x906B778CA1DC72B6": { + "name": "DATAFILE_GET_FILE_DICT", + "jhash": "0x86DDF9C2", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "Any*", + "build": "323" + }, + "0x83BCCE3224735F05": { + "name": "DATAFILE_START_SAVE_TO_CLOUD", + "jhash": "0x768CBB35", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "filename" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4DFDD9EB705F8140": { + "name": "DATAFILE_UPDATE_SAVE_TO_CLOUD", + "jhash": "0x0B4087F7", + "comment": "", + "params": [ + { + "type": "BOOL*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBEDB96A7584AA8CF": { + "name": "DATAFILE_IS_SAVE_PENDING", + "jhash": "0x5DCD0796", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA6EEF01087181EDD": { + "name": "DATAFILE_LOAD_OFFLINE_UGC_FOR_ADDITIONAL_DATA_FILE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "2189" + }, + "0x6AD0BD5E087866CB": { + "name": "DATAFILE_DELETE_FOR_ADDITIONAL_DATA_FILE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2189" + }, + "0xDBF860CF1DB8E599": { + "name": "DATAFILE_GET_FILE_DICT_FOR_ADDITIONAL_DATA_FILE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "Any*", + "build": "2189" + }, + "0x35124302A556A325": { + "name": "DATADICT_SET_BOOL", + "jhash": "0x9B29D99B", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + }, + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_ADD_BOOLEAN" + ] + }, + "0xE7E035450A7948D5": { + "name": "DATADICT_SET_INT", + "jhash": "0xEFCF554A", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_ADD_INTEGER" + ] + }, + "0xC27E1CC2D795105E": { + "name": "DATADICT_SET_FLOAT", + "jhash": "0xE972CACF", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_ADD_FLOAT" + ] + }, + "0x8FF3847DADD8E30C": { + "name": "DATADICT_SET_STRING", + "jhash": "0xD437615C", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + }, + { + "type": "const char*", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_ADD_STRING" + ] + }, + "0x4CD49B76338C7DEE": { + "name": "DATADICT_SET_VECTOR", + "jhash": "0x75FC6C3C", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + }, + { + "type": "float", + "name": "valueX" + }, + { + "type": "float", + "name": "valueY" + }, + { + "type": "float", + "name": "valueZ" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_ADD_VECTOR3" + ] + }, + "0xA358F56F10732EE1": { + "name": "DATADICT_CREATE_DICT", + "jhash": "0x96A8E05F", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "Any*", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_ADD_OBJECT" + ] + }, + "0x5B11728527CA6E5F": { + "name": "DATADICT_CREATE_ARRAY", + "jhash": "0x03939B8D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "Any*", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_ADD_ARRAY" + ] + }, + "0x1186940ED72FFEEC": { + "name": "DATADICT_GET_BOOL", + "jhash": "0x8876C872", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_GET_BOOLEAN" + ] + }, + "0x78F06F6B1FB5A80C": { + "name": "DATADICT_GET_INT", + "jhash": "0xA6C68693", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_GET_INTEGER" + ] + }, + "0x06610343E73B9727": { + "name": "DATADICT_GET_FLOAT", + "jhash": "0xA92C1AF4", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_GET_FLOAT" + ] + }, + "0x3D2FD9E763B24472": { + "name": "DATADICT_GET_STRING", + "jhash": "0x942160EC", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_GET_STRING" + ] + }, + "0x46CD3CB66E0825CC": { + "name": "DATADICT_GET_VECTOR", + "jhash": "0xE84A127A", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "Vector3", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_GET_VECTOR3" + ] + }, + "0xB6B9DDC412FCEEE2": { + "name": "DATADICT_GET_DICT", + "jhash": "0xC9C13D8D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "Any*", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_GET_OBJECT" + ] + }, + "0x7A983AA9DA2659ED": { + "name": "DATADICT_GET_ARRAY", + "jhash": "0x1F2F7D00", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "Any*", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_GET_ARRAY" + ] + }, + "0x031C55ED33227371": { + "name": "DATADICT_GET_TYPE", + "jhash": "0x2678342A", + "comment": "Types:\n1 = Boolean\n2 = Integer\n3 = Float\n4 = String\n5 = Vector3\n6 = Object\n7 = Array", + "params": [ + { + "type": "Any*", + "name": "objectData" + }, + { + "type": "const char*", + "name": "key" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_OBJECT_VALUE_GET_TYPE" + ] + }, + "0xF8B0F5A43E928C76": { + "name": "DATAARRAY_ADD_BOOL", + "jhash": "0x08174B90", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_ADD_BOOLEAN" + ] + }, + "0xCABDB751D86FE93B": { + "name": "DATAARRAY_ADD_INT", + "jhash": "0xF29C0B36", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_ADD_INTEGER" + ] + }, + "0x57A995FD75D37F56": { + "name": "DATAARRAY_ADD_FLOAT", + "jhash": "0xE4302123", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_ADD_FLOAT" + ] + }, + "0x2F0661C155AEEEAA": { + "name": "DATAARRAY_ADD_STRING", + "jhash": "0xF3C01350", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "const char*", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_ADD_STRING" + ] + }, + "0x407F8D034F70F0C2": { + "name": "DATAARRAY_ADD_VECTOR", + "jhash": "0x16F464B6", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "float", + "name": "valueX" + }, + { + "type": "float", + "name": "valueY" + }, + { + "type": "float", + "name": "valueZ" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_ADD_VECTOR3" + ] + }, + "0x6889498B3E19C797": { + "name": "DATAARRAY_ADD_DICT", + "jhash": "0xC174C71B", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + } + ], + "return_type": "Any*", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_ADD_OBJECT" + ] + }, + "0x50C1B2874E50C114": { + "name": "DATAARRAY_GET_BOOL", + "jhash": "0xA2E5F921", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "int", + "name": "arrayIndex" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_GET_BOOLEAN" + ] + }, + "0x3E5AE19425CD74BE": { + "name": "DATAARRAY_GET_INT", + "jhash": "0xBB120CFC", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "int", + "name": "arrayIndex" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_GET_INTEGER" + ] + }, + "0xC0C527B525D7CFB5": { + "name": "DATAARRAY_GET_FLOAT", + "jhash": "0x08AD2CC2", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "int", + "name": "arrayIndex" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_GET_FLOAT" + ] + }, + "0xD3F2FFEB8D836F52": { + "name": "DATAARRAY_GET_STRING", + "jhash": "0x93F985A6", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "int", + "name": "arrayIndex" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_GET_STRING" + ] + }, + "0x8D2064E5B64A628A": { + "name": "DATAARRAY_GET_VECTOR", + "jhash": "0x80E3DA55", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "int", + "name": "arrayIndex" + } + ], + "return_type": "Vector3", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_GET_VECTOR3" + ] + }, + "0x8B5FADCC4E3A145F": { + "name": "DATAARRAY_GET_DICT", + "jhash": "0xECE81278", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "int", + "name": "arrayIndex" + } + ], + "return_type": "Any*", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_GET_OBJECT" + ] + }, + "0x065DB281590CEA2D": { + "name": "DATAARRAY_GET_COUNT", + "jhash": "0xA8A21766", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "arrayData" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_GET_SIZE" + ] + }, + "0x3A0014ADB172A3C5": { + "name": "DATAARRAY_GET_TYPE", + "jhash": "0xFA2402C8", + "comment": "Types:\n1 = Boolean\n2 = Integer\n3 = Float\n4 = String\n5 = Vector3\n6 = Object\n7 = Array", + "params": [ + { + "type": "Any*", + "name": "arrayData" + }, + { + "type": "int", + "name": "arrayIndex" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_ARRAY_VALUE_GET_TYPE" + ] + } + }, + "DECORATOR": { + "0x95AED7B8E39ECAA4": { + "name": "DECOR_SET_TIME", + "jhash": "0xBBAEEF94", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + }, + { + "type": "int", + "name": "timestamp" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6B1E8E2ED1335B71": { + "name": "DECOR_SET_BOOL", + "jhash": "0x8E101F5C", + "comment": "This function sets metadata of type bool to specified entity.\n", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + }, + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x211AB1DD8D0F363A": { + "name": "DECOR_SET_FLOAT", + "jhash": "0xBC7BD5CB", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_DECOR_SET_FLOAT" + ] + }, + "0x0CE3AA5E1CA19E10": { + "name": "DECOR_SET_INT", + "jhash": "0xDB718B21", + "comment": "Sets property to int.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDACE671663F2F5DB": { + "name": "DECOR_GET_BOOL", + "jhash": "0xDBCE51E0", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6524A2F114706F43": { + "name": "DECOR_GET_FLOAT", + "jhash": "0x8DE5382F", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_DECOR_GET_FLOAT" + ] + }, + "0xA06C969B02A97298": { + "name": "DECOR_GET_INT", + "jhash": "0xDDDE59B5", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + } + ], + "return_type": "int", + "build": "323" + }, + "0x05661B80A8C9165F": { + "name": "DECOR_EXIST_ON", + "jhash": "0x74EF9C40", + "comment": "Returns whether or not the specified property is set for the entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x00EE9F297C738720": { + "name": "DECOR_REMOVE", + "jhash": "0xE0E2640B", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "propertyName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9FD90732F56403CE": { + "name": "DECOR_REGISTER", + "jhash": "0x68BD42A9", + "comment": "https://alloc8or.re/gta5/doc/enums/eDecorType.txt", + "params": [ + { + "type": "const char*", + "name": "propertyName" + }, + { + "type": "int", + "name": "type" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4F14F9F870D6FBC8": { + "name": "DECOR_IS_REGISTERED_AS_TYPE", + "jhash": "0x7CF0971D", + "comment": "type: see DECOR_REGISTER", + "params": [ + { + "type": "const char*", + "name": "propertyName" + }, + { + "type": "int", + "name": "type" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA9D14EEA259F9248": { + "name": "DECOR_REGISTER_LOCK", + "jhash": "0x7F3F1C02", + "comment": "Called after all decorator type initializations.", + "params": [], + "return_type": "void", + "build": "323" + } + }, + "DLC": { + "0x241FCA5B1AA14F75": { + "name": "ARE_ANY_CCS_PENDING", + "jhash": "0x0AF83036", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x812595A0644CE1DE": { + "name": "IS_DLC_PRESENT", + "jhash": "0x1F321943", + "comment": "Returns true if the given DLC pack is present.", + "params": [ + { + "type": "Hash", + "name": "dlcHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF2E07819EF1A5289": { + "name": "DLC_CHECK_CLOUD_DATA_CORRECT", + "jhash": "0x881B1FDB", + "comment": "This function is hard-coded to always return 1.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9489659372A81585": { + "name": "GET_EXTRACONTENT_CLOUD_RESULT", + "jhash": "0xC2169164", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xA213B11DFF526300": { + "name": "DLC_CHECK_COMPAT_PACK_CONFIGURATION", + "jhash": "0xF79A97F5", + "comment": "This function is hard-coded to always return 1.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x8D30F648014A92B5": { + "name": "GET_EVER_HAD_BAD_PACK_ORDER", + "jhash": "0xF69B729C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_EXTRA_CONTENT_PACK_HAS_BEEN_INSTALLED" + ] + }, + "0x10D0A8F259E93EC9": { + "name": "GET_IS_LOADING_SCREEN_ACTIVE", + "jhash": "0x517B601B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC4637A6D03C24CC3": { + "name": "GET_IS_INITIAL_LOADING_SCREEN_ACTIVE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1734" + }, + "0x46E2B844905BC5F0": { + "name": "HAS_CLOUD_REQUESTS_FINISHED", + "jhash": "0x6087C10C", + "comment": "Sets the value of the specified variable to 0.\nAlways returns true.", + "params": [ + { + "type": "BOOL*", + "name": "p0" + }, + { + "type": "int", + "name": "unused" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NULLIFY" + ] + }, + "0xD7C10C4A637992C9": { + "name": "ON_ENTER_SP", + "jhash": "0x8BF60FC3", + "comment": "Unloads GROUP_MAP (GTAO/MP) DLC data and loads GROUP_MAP_SP DLC. Neither are loaded by default, ON_ENTER_MP is a cognate to this function and loads MP DLC (and unloads SP DLC by extension).\nWorks in singleplayer.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_LOAD_SP_DLC_MAPS" + ] + }, + "0x0888C3502DBBEEF5": { + "name": "ON_ENTER_MP", + "jhash": "0xC65586A9", + "comment": "This loads the GTA:O dlc map parts (high end garages, apartments).\nWorks in singleplayer.\nIn order to use GTA:O heist IPL's you have to call this native with the following params: SET_INSTANCE_PRIORITY_MODE(1);", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_LOAD_MP_DLC_MAPS" + ] + } + }, + "ENTITY": { + "0x7239B21A38F536BA": { + "name": "DOES_ENTITY_EXIST", + "jhash": "0x3AC90869", + "comment": "Checks whether an entity exists in the game world.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDDE6DF5AE89981D2": { + "name": "DOES_ENTITY_BELONG_TO_THIS_SCRIPT", + "jhash": "0xACFEB3F9", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x060D6E96F8B8E48D": { + "name": "DOES_ENTITY_HAVE_DRAWABLE", + "jhash": "0xA5B33300", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDA95EA3317CC5064": { + "name": "DOES_ENTITY_HAVE_PHYSICS", + "jhash": "0x9BCD2979", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x764EB96874EFFDC1": { + "name": "DOES_ENTITY_HAVE_SKELETON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "2699", + "old_names": [ + "_DOES_ENTITY_HAVE_SKELETON_DATA" + ] + }, + "0x2158E81A6AF65EA9": { + "name": "DOES_ENTITY_HAVE_ANIM_DIRECTOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "2699", + "old_names": [ + "_DOES_ENTITY_HAVE_ANIM_DIRECTOR" + ] + }, + "0x20B711662962B472": { + "name": "HAS_ENTITY_ANIM_FINISHED", + "jhash": "0x1D9CAB92", + "comment": "P3 is always 3 as far as i cant tell\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x95EB9964FF5C5C65": { + "name": "HAS_ENTITY_BEEN_DAMAGED_BY_ANY_OBJECT", + "jhash": "0x6B74582E", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x605F5A140F202491": { + "name": "HAS_ENTITY_BEEN_DAMAGED_BY_ANY_PED", + "jhash": "0x53FD4A25", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDFD5033FDBA0A9C8": { + "name": "HAS_ENTITY_BEEN_DAMAGED_BY_ANY_VEHICLE", + "jhash": "0x878C2CE0", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC86D67D52A707CF8": { + "name": "HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY", + "jhash": "0x07FC77E0", + "comment": "Entity 1 = Victim\nEntity 2 = Attacker\n\np2 seems to always be 1", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFCDFF7B72D23A1AC": { + "name": "HAS_ENTITY_CLEAR_LOS_TO_ENTITY", + "jhash": "0x53576FA7", + "comment": "traceType is always 17 in the scripts.\n\nThere is other codes used for traceType:\n19 - in jewelry_prep1a\n126 - in am_hunt_the_beast\n256 & 287 - in fm_mission_controller", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "int", + "name": "traceType" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x394BDE2A7BBA031E": { + "name": "HAS_ENTITY_CLEAR_LOS_TO_ENTITY_ADJUST_FOR_COVER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "int", + "name": "traceType" + } + ], + "return_type": "BOOL", + "build": "1868", + "old_names": [ + "_HAS_ENTITY_CLEAR_LOS_TO_ENTITY_2" + ] + }, + "0x0267D00AF114F17A": { + "name": "HAS_ENTITY_CLEAR_LOS_TO_ENTITY_IN_FRONT", + "jhash": "0x210D87C8", + "comment": "Has the entity1 got a clear line of sight to the other entity2 from the direction entity1 is facing.\nThis is one of the most CPU demanding BOOL natives in the game; avoid calling this in things like nested for-loops", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8BAD02F0368D9E14": { + "name": "HAS_ENTITY_COLLIDED_WITH_ANYTHING", + "jhash": "0x662A2F41", + "comment": "Called on tick.\nTested with vehicles, returns true whenever the vehicle is touching any entity.\n\nNote: 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.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA75EE4F689B85391": { + "name": "_GET_LAST_ENTITY_HIT_BY_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Entity", + "build": "2802" + }, + "0x5C3D0A935F535C4C": { + "name": "GET_LAST_MATERIAL_HIT_BY_ENTITY", + "jhash": "0xC0E3AA47", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0xE465D4AB7CA6AE72": { + "name": "GET_COLLISION_NORMAL_OF_LAST_HIT_FOR_ENTITY", + "jhash": "0xAB415C07", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x40FDEDB72F8293B2": { + "name": "FORCE_ENTITY_AI_AND_ANIMATION_UPDATE", + "jhash": "0x58D9775F", + "comment": "Based on carmod_shop script decompile this takes a vehicle parameter. It is called when repair is done on initial enter.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x346D81500D088F42": { + "name": "GET_ENTITY_ANIM_CURRENT_TIME", + "jhash": "0x83943F41", + "comment": "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.\n\nExample:\n0.000000 - mark the starting of animation.\n0.500000 - mark the midpoint of the animation.\n1.000000 - mark the end of animation.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + } + ], + "return_type": "float", + "build": "323" + }, + "0x50BD2730B191E360": { + "name": "GET_ENTITY_ANIM_TOTAL_TIME", + "jhash": "0x433A9D18", + "comment": "Returns a float value representing animation's total playtime in milliseconds.\n\nExample:\nGET_ENTITY_ANIM_TOTAL_TIME(PLAYER_ID(),\"amb@world_human_yoga@female@base\",\"base_b\") \nreturn 20800.000000\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + } + ], + "return_type": "float", + "build": "323" + }, + "0xFEDDF04D62B8D790": { + "name": "GET_ANIM_DURATION", + "jhash": "0x8B5E3E3D", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_ANIM_DURATION" + ] + }, + "0x48C2BED9180FE123": { + "name": "GET_ENTITY_ATTACHED_TO", + "jhash": "0xFE1589F9", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0x3FEF770D40960D5A": { + "name": "GET_ENTITY_COORDS", + "jhash": "0x1647F1CB", + "comment": "Gets the current coordinates for a specified entity.\n`entity` = The entity to get the coordinates from.\n`alive` = Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "alive" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x0A794A5A57F8DF91": { + "name": "GET_ENTITY_FORWARD_VECTOR", + "jhash": "0x84DCECBF", + "comment": "Gets the entity's forward vector.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x8BB4EF4214E0E6D5": { + "name": "GET_ENTITY_FORWARD_X", + "jhash": "0x49FAE914", + "comment": "Gets the X-component of the entity's forward vector.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0x866A4A5FAE349510": { + "name": "GET_ENTITY_FORWARD_Y", + "jhash": "0x9E2F917C", + "comment": "Gets the Y-component of the entity's forward vector.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0xE83D4F9BA2A38914": { + "name": "GET_ENTITY_HEADING", + "jhash": "0x972CC383", + "comment": "Returns the heading of the entity in degrees. Also know as the \"Yaw\" of an entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0x846BF6291198A71E": { + "name": "GET_ENTITY_HEADING_FROM_EULERS", + "jhash": "0x9320E642", + "comment": "Gets the heading of the entity physics in degrees, which tends to be more accurate than just \"GET_ENTITY_HEADING\". This can be clearly seen while, for example, ragdolling a ped/player.\n\nNOTE: 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.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_ENTITY_PHYSICS_HEADING" + ] + }, + "0xEEF059FAD016D209": { + "name": "GET_ENTITY_HEALTH", + "jhash": "0x8E3222B7", + "comment": "Returns an integer value of entity's current health.\n\nExample of range for ped:\n- Player [0 to 200]\n- Ped [100 to 200]\n- Vehicle [0 to 1000]\n- Object [0 to 1000]\n\nHealth is actually a float value but this native casts it to int.\nIn order to get the actual value, do:\nfloat health = *(float *)(entityAddress + 0x280);", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "323" + }, + "0x15D757606D170C3C": { + "name": "GET_ENTITY_MAX_HEALTH", + "jhash": "0xC7AE6AA1", + "comment": "Return an integer value of entity's maximum health.\n\nExample:\n- Player = 200\n- Ped = 150", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "323" + }, + "0x166E7CF68597D8B5": { + "name": "SET_ENTITY_MAX_HEALTH", + "jhash": "0x96F84DF8", + "comment": "For instance: ENTITY::SET_ENTITY_MAX_HEALTH(PLAYER::PLAYER_PED_ID(), 200); // director_mode.c4: 67849", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5A504562485944DD": { + "name": "GET_ENTITY_HEIGHT", + "jhash": "0xEE443481", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "X" + }, + { + "type": "float", + "name": "Y" + }, + { + "type": "float", + "name": "Z" + }, + { + "type": "BOOL", + "name": "atTop" + }, + { + "type": "BOOL", + "name": "inWorldCoords" + } + ], + "return_type": "float", + "build": "323" + }, + "0x1DD55701034110E5": { + "name": "GET_ENTITY_HEIGHT_ABOVE_GROUND", + "jhash": "0x57F56A4D", + "comment": "Return height (z-dimension) above ground. \nExample: The pilot in a titan plane is 1.844176 above ground.\n\nHow can i convert it to meters?\nEverything seems to be in meters, probably this too.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0xECB2FC7235A7D137": { + "name": "GET_ENTITY_MATRIX", + "jhash": "0xEB9EB001", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Vector3*", + "name": "forwardVector" + }, + { + "type": "Vector3*", + "name": "rightVector" + }, + { + "type": "Vector3*", + "name": "upVector" + }, + { + "type": "Vector3*", + "name": "position" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9F47B058362C84B5": { + "name": "GET_ENTITY_MODEL", + "jhash": "0xDAFCB3EC", + "comment": "Returns the model hash from the entity", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x2274BC1C4885E333": { + "name": "GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS", + "jhash": "0x6477EC9E", + "comment": "Converts world coords (posX - Z) to coords relative to the entity\n\nExample:\nposX is given as 50\nentity's x coord is 40\nthe returned x coord will then be 10 or -10, not sure haven't used this in a while (think it is 10 though).", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x1899F328B0E12848": { + "name": "GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS", + "jhash": "0xABCF043A", + "comment": "Offset values are relative to the entity.\n\nx = left/right\ny = forward/backward\nz = up/down", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xD45DC2893621E1FE": { + "name": "GET_ENTITY_PITCH", + "jhash": "0xFCE6ECE5", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0x7B3703D2D32DFA18": { + "name": "GET_ENTITY_QUATERNION", + "jhash": "0x5154EC90", + "comment": "w is the correct parameter name!", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float*", + "name": "x" + }, + { + "type": "float*", + "name": "y" + }, + { + "type": "float*", + "name": "z" + }, + { + "type": "float*", + "name": "w" + } + ], + "return_type": "void", + "build": "323" + }, + "0x831E0242595560DF": { + "name": "GET_ENTITY_ROLL", + "jhash": "0x36610842", + "comment": "Displays the current ROLL axis of the entity [-180.0000/180.0000+]\n(Sideways Roll) such as a vehicle tipped on its side", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0xAFBD61CC738D9EB9": { + "name": "GET_ENTITY_ROTATION", + "jhash": "0x8FF45B04", + "comment": "rotationOrder is the order yaw, pitch and roll is applied. Usually 2. Returns a vector where the Z coordinate is the yaw.\n\nrotationOrder refers to the order yaw pitch roll is applied; value ranges from 0 to 5 and is usually *2* in scripts.\nWhat you use for rotationOrder when getting must be the same as rotationOrder when setting the rotation.\n\nWhat it returns is the yaw on the z part of the vector, which makes sense considering R* considers z as vertical. Here's a picture for those of you who don't understand pitch, yaw, and roll: www.allstar.fiu.edu/aero/images/pic5-1.gif\n\nRotation Orders:\n0: ZYX - Rotate around the z-axis, then the y-axis and finally the x-axis.\n1: YZX - Rotate around the y-axis, then the z-axis and finally the x-axis.\n2: ZXY - Rotate around the z-axis, then the x-axis and finally the y-axis.\n3: XZY - Rotate around the x-axis, then the z-axis and finally the y-axis.\n4: YXZ - Rotate around the y-axis, then the x-axis and finally the z-axis.\n5: XYZ - Rotate around the x-axis, then the y-axis and finally the z-axis.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x213B91045D09B983": { + "name": "GET_ENTITY_ROTATION_VELOCITY", + "jhash": "0x9BF8A73F", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xA6E9C38DB51D7748": { + "name": "GET_ENTITY_SCRIPT", + "jhash": "0xB7F70784", + "comment": "Returns the name of the script that owns/created the entity or nullptr. Second parameter is unused, can just be a nullptr.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "ScrHandle*", + "name": "script" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xD5037BA82E12416F": { + "name": "GET_ENTITY_SPEED", + "jhash": "0x9E1E4798", + "comment": "result is in meters per second\n\n------------------------------------------------------------\nSo would the conversion to mph and km/h, be along the lines of this.\n\nfloat speed = GET_ENTITY_SPEED(veh);\nfloat kmh = (speed * 3.6);\nfloat mph = (speed * 2.236936);\n------------------------------------------------------------", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0x9A8D700A51CB7B0D": { + "name": "GET_ENTITY_SPEED_VECTOR", + "jhash": "0x3ED2B997", + "comment": "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). ", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "relative" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x95EED5A694951F9F": { + "name": "GET_ENTITY_UPRIGHT_VALUE", + "jhash": "0xF4268190", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0x4805D2B1D8CF94A9": { + "name": "GET_ENTITY_VELOCITY", + "jhash": "0xC14C9B6B", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xD7E3B9735C0F89D6": { + "name": "GET_OBJECT_INDEX_FROM_ENTITY_INDEX", + "jhash": "0xBC5A9C58", + "comment": "Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x04A2A40C73395041": { + "name": "GET_PED_INDEX_FROM_ENTITY_INDEX", + "jhash": "0xC46F74AC", + "comment": "Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x4B53F92932ADFAC0": { + "name": "GET_VEHICLE_INDEX_FROM_ENTITY_INDEX", + "jhash": "0xC69CF43D", + "comment": "Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0x44A8FCB8ED227738": { + "name": "GET_WORLD_POSITION_OF_ENTITY_BONE", + "jhash": "0x7C6339DF", + "comment": "Returns the coordinates of an entity-bone.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "boneIndex" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x7196842CB375CDB3": { + "name": "GET_NEAREST_PLAYER_TO_ENTITY", + "jhash": "0xCE17FDEC", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Player", + "build": "323" + }, + "0x4DC9A62F844D9337": { + "name": "GET_NEAREST_PLAYER_TO_ENTITY_ON_TEAM", + "jhash": "0xB1808F56", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "team" + } + ], + "return_type": "Player", + "build": "323" + }, + "0x8ACD366038D14505": { + "name": "GET_ENTITY_TYPE", + "jhash": "0x0B1BD08D", + "comment": "Returns:\n0 = no entity\n1 = ped\n2 = vehicle\n3 = object", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF6F5161F4534EDFF": { + "name": "GET_ENTITY_POPULATION_TYPE", + "jhash": "0xFC30DDFF", + "comment": "A population type, from the following enum: https://alloc8or.re/gta5/doc/enums/ePopulationType.txt", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "323" + }, + "0x731EC8A916BD11A1": { + "name": "IS_AN_ENTITY", + "jhash": "0xD4B9715A", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "handle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x524AC5ECEA15343E": { + "name": "IS_ENTITY_A_PED", + "jhash": "0x55D33EAB", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0A7B270912999B3C": { + "name": "IS_ENTITY_A_MISSION_ENTITY", + "jhash": "0x2632E124", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6AC7003FA6E5575E": { + "name": "IS_ENTITY_A_VEHICLE", + "jhash": "0xBE800B01", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8D68C8FD0FACA94E": { + "name": "IS_ENTITY_AN_OBJECT", + "jhash": "0x3F52E561", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x20B60995556D004F": { + "name": "IS_ENTITY_AT_COORD", + "jhash": "0xD749B606", + "comment": "Checks if entity is within x/y/zSize distance of x/y/z. \n\nLast three are unknown ints, almost always p7 = 0, p8 = 1, p9 = 0", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "float", + "name": "xSize" + }, + { + "type": "float", + "name": "ySize" + }, + { + "type": "float", + "name": "zSize" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x751B70C3D034E187": { + "name": "IS_ENTITY_AT_ENTITY", + "jhash": "0xDABDCB52", + "comment": "Checks if entity1 is within the box defined by x/y/zSize of entity2.\n\nLast three parameters are almost alwasy p5 = 0, p6 = 1, p7 = 0", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "float", + "name": "xSize" + }, + { + "type": "float", + "name": "ySize" + }, + { + "type": "float", + "name": "zSize" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "int", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB346476EF1A64897": { + "name": "IS_ENTITY_ATTACHED", + "jhash": "0xEC1479D5", + "comment": "Whether the entity is attached to any other entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCF511840CEEDE0CC": { + "name": "IS_ENTITY_ATTACHED_TO_ANY_OBJECT", + "jhash": "0x0B5DE340", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB1632E9A5F988D11": { + "name": "IS_ENTITY_ATTACHED_TO_ANY_PED", + "jhash": "0x9D7A609C", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x26AA915AD89BFB4B": { + "name": "IS_ENTITY_ATTACHED_TO_ANY_VEHICLE", + "jhash": "0xDE5C995E", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEFBE71898A993728": { + "name": "IS_ENTITY_ATTACHED_TO_ENTITY", + "jhash": "0xB0ABFEA8", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "from" + }, + { + "type": "Entity", + "name": "to" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5F9532F3B5CC2551": { + "name": "IS_ENTITY_DEAD", + "jhash": "0xB6F7CBAC", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x886E37EC497200B6": { + "name": "IS_ENTITY_IN_AIR", + "jhash": "0xA4157987", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x51210CED3DA1C78A": { + "name": "IS_ENTITY_IN_ANGLED_AREA", + "jhash": "0x883622FA", + "comment": "`p8` is a debug flag invoking functions in the same path as ``DRAW_MARKER``\n`p10` is some entity flag check, also used in `IS_ENTITY_AT_ENTITY`, `IS_ENTITY_IN_AREA`, and `IS_ENTITY_AT_COORD`.\nSee IS_POINT_IN_ANGLED_AREA for the definition of an angled area.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "BOOL", + "name": "debug" + }, + { + "type": "BOOL", + "name": "includeZ" + }, + { + "type": "Any", + "name": "p10" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x54736AA40E271165": { + "name": "IS_ENTITY_IN_AREA", + "jhash": "0x8C2DFA9D", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB6463CF6AF527071": { + "name": "IS_ENTITY_IN_ZONE", + "jhash": "0x45C82B21", + "comment": "Full list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "zone" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCFB0A0D8EDD145A3": { + "name": "IS_ENTITY_IN_WATER", + "jhash": "0x4C3C2508", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE81AFC1BC4CC41CE": { + "name": "GET_ENTITY_SUBMERGED_LEVEL", + "jhash": "0x0170F68C", + "comment": "Get how much of the entity is submerged. 1.0f is whole entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "float", + "build": "323" + }, + "0x694E00132F2823ED": { + "name": "SET_ENTITY_REQUIRES_MORE_EXPENSIVE_RIVER_CHECK", + "jhash": "0x40C84A74", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE659E47AF827484B": { + "name": "IS_ENTITY_ON_SCREEN", + "jhash": "0xC1FEC5ED", + "comment": "Returns true if the entity is in between the minimum and maximum values for the 2d screen coords. \nThis 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. \nChipping", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1F0B79228E461EC9": { + "name": "IS_ENTITY_PLAYING_ANIM", + "jhash": "0x0D130D34", + "comment": "See also PED::IS_SCRIPTED_SCENARIO_PED_USING_CONDITIONAL_ANIM 0x6EC47A344923E1ED 0x3C30B447\n\nTaken from ENTITY::IS_ENTITY_PLAYING_ANIM(PLAYER::PLAYER_PED_ID(), \"creatures@shark@move\", \"attack_player\", 3)\n\np4 is always 3 in the scripts.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "int", + "name": "taskFlag" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1218E6886D3D8327": { + "name": "IS_ENTITY_STATIC", + "jhash": "0x928E12E9", + "comment": "a static ped will not react to natives like \"APPLY_FORCE_TO_ENTITY\" or \"SET_ENTITY_VELOCITY\" and oftentimes will not react to task-natives like \"TASK::TASK_COMBAT_PED\". The only way I know of to make one of these peds react is to ragdoll them (or sometimes to use CLEAR_PED_TASKS_IMMEDIATELY(). Static peds include almost all far-away peds, beach-combers, peds in certain scenarios, peds crossing a crosswalk, peds walking to get back into their cars, and others. If anyone knows how to make a ped non-static without ragdolling them, please edit this with the solution.\n\nhow can I make an entity static???", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x17FFC1B2BA35A494": { + "name": "IS_ENTITY_TOUCHING_ENTITY", + "jhash": "0x6B931477", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Entity", + "name": "targetEntity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0F42323798A58C8C": { + "name": "IS_ENTITY_TOUCHING_MODEL", + "jhash": "0x307E7611", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5333F526F6AB19AA": { + "name": "IS_ENTITY_UPRIGHT", + "jhash": "0x3BCDF4E1", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "angle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1DBD58820FA61D71": { + "name": "IS_ENTITY_UPSIDEDOWN", + "jhash": "0x5ACAA48F", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x47D6F43D77935C75": { + "name": "IS_ENTITY_VISIBLE", + "jhash": "0x120B4ED5", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD796CB5BA8F20E32": { + "name": "IS_ENTITY_VISIBLE_TO_SCRIPT", + "jhash": "0x5D240E9D", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE31C2C72B8692B64": { + "name": "IS_ENTITY_OCCLUDED", + "jhash": "0x46BC5B40", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEE5D2A122E09EC42": { + "name": "WOULD_ENTITY_BE_OCCLUDED", + "jhash": "0xEA127CBC", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "entityModelHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD05BFF0C0A12C68F": { + "name": "IS_ENTITY_WAITING_FOR_WORLD_COLLISION", + "jhash": "0x00AB7A4A", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x18FF00FC7EFF559E": { + "name": "APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS", + "jhash": "0x28924E98", + "comment": "Applies a force to the specified entity.\n\n**List of force types (p1)**:\npublic enum ForceType\n{\n MinForce = 0,\n MaxForceRot = 1,\n MinForce2 = 2,\n MaxForceRot2 = 3,\n ForceNoRot = 4,\n ForceRotPlusForce = 5\n}\nResearch/documentation on the gtaforums can be found here https://gtaforums.com/topic/885669-precisely-define-object-physics/) and here https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/.\n\np6/relative - makes the xyz force not relative to world coords, but to something else\np7/highForce - setting false will make the force really low", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "forceType" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "isDirectionRel" + }, + { + "type": "BOOL", + "name": "isForceRel" + }, + { + "type": "BOOL", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC5F68BE9613E2D18": { + "name": "APPLY_FORCE_TO_ENTITY", + "jhash": "0xC1C0855A", + "comment": "Documented here:\ngtaforums.com/topic/885669-precisely-define-object-physics/\ngtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/\n\nforceFlags:\nFirst bit (lowest): Strong force flag, factor 100\nSecond bit: Unkown flag\nThird bit: Momentum flag=1 (vector (x,y,z) is a momentum, more research needed)\nIf higher bits are unequal 0 the function doesn't applay any forces at all.\n(As integer possible values are 0-7)\n\n0: weak force\n1: strong force\n2: same as 0 (2nd bit?)\n3: same as 1\n4: weak momentum\n5: strong momentum\n6: same as 4\n7: same as 5\n\nisLocal: vector defined in local (body-fixed) coordinate frame\nisMassRel: if true the force gets multiplied with the objects mass (this is why it was known as highForce) and different objects will have the same acceleration.\n\np8 !!! Whenever I set this !=0, my script stopped.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "forceFlags" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "offX" + }, + { + "type": "float", + "name": "offY" + }, + { + "type": "float", + "name": "offZ" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "BOOL", + "name": "isDirectionRel" + }, + { + "type": "BOOL", + "name": "ignoreUpVec" + }, + { + "type": "BOOL", + "name": "isForceRel" + }, + { + "type": "BOOL", + "name": "p12" + }, + { + "type": "BOOL", + "name": "p13" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B9BBD38AB0796DF": { + "name": "ATTACH_ENTITY_TO_ENTITY", + "jhash": "0xEC024237", + "comment": "Attaches entity1 to bone (boneIndex) of entity2.\n\nboneIndex - this is different to boneID, use GET_PED_BONE_INDEX to get the index from the ID. use the index for attaching to specific bones. entity1 will be attached to entity2's centre if bone index given doesn't correspond to bone indexes for that entity type.\n\nuseSoftPinning - if set to false attached entity will not detach when fixed\ncollision - controls collision between the two entities (FALSE disables collision).\nisPed - pitch doesnt work when false and roll will only work on negative numbers (only peds)\nvertexIndex - position of vertex\nfixedRot - if false it ignores entity vector \n", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "BOOL", + "name": "p9" + }, + { + "type": "BOOL", + "name": "useSoftPinning" + }, + { + "type": "BOOL", + "name": "collision" + }, + { + "type": "BOOL", + "name": "isPed" + }, + { + "type": "int", + "name": "vertexIndex" + }, + { + "type": "BOOL", + "name": "fixedRot" + }, + { + "type": "Any", + "name": "p15" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5C48B75732C8456C": { + "name": "ATTACH_ENTITY_BONE_TO_ENTITY_BONE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "int", + "name": "boneIndex1" + }, + { + "type": "int", + "name": "boneIndex2" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_ATTACH_ENTITY_BONE_TO_ENTITY_BONE" + ] + }, + "0xFD1695C5D3B05439": { + "name": "ATTACH_ENTITY_BONE_TO_ENTITY_BONE_Y_FORWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "int", + "name": "boneIndex1" + }, + { + "type": "int", + "name": "boneIndex2" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_ATTACH_ENTITY_BONE_TO_ENTITY_BONE_PHYSICALLY" + ] + }, + "0xC3675780C92F90F9": { + "name": "ATTACH_ENTITY_TO_ENTITY_PHYSICALLY", + "jhash": "0x0547417F", + "comment": "breakForce is the amount of force required to break the bond.\np14 - is always 1 in scripts\np15 - is 1 or 0 in scripts - unknoun what it does\np16 - controls collision between the two entities (FALSE disables collision).\np17 - do not teleport entity to be attached to the position of the bone Index of the target entity (if 1, entity will not be teleported to target bone)\np18 - is always 2 in scripts.\n\n", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "int", + "name": "boneIndex1" + }, + { + "type": "int", + "name": "boneIndex2" + }, + { + "type": "float", + "name": "xPos1" + }, + { + "type": "float", + "name": "yPos1" + }, + { + "type": "float", + "name": "zPos1" + }, + { + "type": "float", + "name": "xPos2" + }, + { + "type": "float", + "name": "yPos2" + }, + { + "type": "float", + "name": "zPos2" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "breakForce" + }, + { + "type": "BOOL", + "name": "fixedRot" + }, + { + "type": "BOOL", + "name": "p15" + }, + { + "type": "BOOL", + "name": "collision" + }, + { + "type": "BOOL", + "name": "p17" + }, + { + "type": "int", + "name": "p18" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF4080490ADC51C6F": { + "name": "PROCESS_ENTITY_ATTACHMENTS", + "jhash": "0x6909BA59", + "comment": "Called to update entity attachments.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFB71170B7E76ACBA": { + "name": "GET_ENTITY_BONE_INDEX_BY_NAME", + "jhash": "0xE4ECAC22", + "comment": "Returns the index of the bone. If the bone was not found, -1 will be returned. \n\nlist:\nhttps://pastebin.com/D7JMnX1g\n\nBoneNames:\n chassis,\n windscreen,\n seat_pside_r,\n seat_dside_r,\n bodyshell,\n suspension_lm,\n suspension_lr,\n platelight,\n attach_female,\n attach_male,\n bonnet,\n boot,\n chassis_dummy, //Center of the dummy\n chassis_Control, //Not found yet\n door_dside_f, //Door left, front\n door_dside_r, //Door left, back\n door_pside_f, //Door right, front\n door_pside_r, //Door right, back\n Gun_GripR,\n windscreen_f,\n platelight, //Position where the light above the numberplate is located\n VFX_Emitter,\n window_lf, //Window left, front\n window_lr, //Window left, back\n window_rf, //Window right, front\n window_rr, //Window right, back\n engine, //Position of the engine\n gun_ammo,\n ROPE_ATTATCH, //Not misspelled. In script \"finale_heist2b.c4\".\n wheel_lf, //Wheel left, front\n wheel_lr, //Wheel left, back\n wheel_rf, //Wheel right, front\n wheel_rr, //Wheel right, back\n exhaust, //Exhaust. shows only the position of the stock-exhaust\n overheat, //A position on the engine(not exactly sure, how to name it)\n misc_e, //Not a car-bone.\n seat_dside_f, //Driver-seat\n seat_pside_f, //Seat next to driver\n Gun_Nuzzle,\n seat_r\n\nI doubt that the function is case-sensitive, since I found a \"Chassis\" and a \"chassis\". - Just tested: Definitely not case-sensitive.\n\n", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "boneName" + } + ], + "return_type": "int", + "build": "323" + }, + "0xA72CD9CA74A5ECBA": { + "name": "CLEAR_ENTITY_LAST_DAMAGE_ENTITY", + "jhash": "0x2B83F43B", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAE3CBE5BF394C9C9": { + "name": "DELETE_ENTITY", + "jhash": "0xFAA3D236", + "comment": "Deletes the specified entity, then sets the handle pointed to by the pointer to NULL.", + "params": [ + { + "type": "Entity*", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x961AC54BF0613F5D": { + "name": "DETACH_ENTITY", + "jhash": "0xC8EFCB41", + "comment": "If `collision` is set to true, both entities won't collide with the other until the distance between them is above 4 meters.\nSet `dynamic` to true to keep velocity after dettaching", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "dynamic" + }, + { + "type": "BOOL", + "name": "collision" + } + ], + "return_type": "void", + "build": "323" + }, + "0x428CA6DBD1094446": { + "name": "FREEZE_ENTITY_POSITION", + "jhash": "0x65C16D57", + "comment": "Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3910051CCECDB00C": { + "name": "SET_ENTITY_SHOULD_FREEZE_WAITING_ON_COLLISION", + "jhash": "0xD3850671", + "comment": "True means it can be deleted by the engine when switching lobbies/missions/etc, false means the script is expected to clean it up.\n\n\"Allow Freeze If No Collision\"", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_ENTITY_REGISTER", + "_SET_ENTITY_SOMETHING", + "_SET_ENTITY_CLEANUP_BY_ENGINE" + ] + }, + "0x7FB218262B810701": { + "name": "PLAY_ENTITY_ANIM", + "jhash": "0x878753D5", + "comment": "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.\n\nThe only time bitset has a value is 0x4000 and the only time delta has a value is during stealth with usually <1.0f values.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "BOOL", + "name": "loop" + }, + { + "type": "BOOL", + "name": "stayInAnim" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "float", + "name": "delta" + }, + { + "type": "Any", + "name": "bitset" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC77720A12FE14A86": { + "name": "PLAY_SYNCHRONIZED_ENTITY_ANIM", + "jhash": "0x012760AA", + "comment": "p4 and p7 are usually 1000.0f.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "syncedScene" + }, + { + "type": "const char*", + "name": "animation" + }, + { + "type": "const char*", + "name": "propName" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB9C54555ED30FBC4": { + "name": "PLAY_SYNCHRONIZED_MAP_ENTITY_ANIM", + "jhash": "0xEB4CBA74", + "comment": "p6,p7 probably animname and animdict\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "Any", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "const char*", + "name": "p6" + }, + { + "type": "const char*", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + }, + { + "type": "float", + "name": "p11" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x11E79CAB7183B6F5": { + "name": "STOP_SYNCHRONIZED_MAP_ENTITY_ANIM", + "jhash": "0x7253D5B2", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "Any", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x28004F88151E03E0": { + "name": "STOP_ENTITY_ANIM", + "jhash": "0xC4769830", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nRAGEPluginHook list: docs.ragepluginhook.net/html/62951c37-a440-478c-b389-c471230ddfc5.htm", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animation" + }, + { + "type": "const char*", + "name": "animGroup" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x43D3807C077261E3": { + "name": "STOP_SYNCHRONIZED_ENTITY_ANIM", + "jhash": "0xE27D2FC1", + "comment": "p1 sync task id?", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEAF4CD9EA3E7E922": { + "name": "HAS_ANIM_EVENT_FIRED", + "jhash": "0x66571CA0", + "comment": "if (ENTITY::HAS_ANIM_EVENT_FIRED(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"CreateObject\")))", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Hash", + "name": "actionHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x07F1BE2BCCAA27A7": { + "name": "FIND_ANIM_EVENT_PHASE", + "jhash": "0xC41DDA62", + "comment": "In the script \"player_scene_t_bbfight.c4\":\n\"if (ENTITY::FIND_ANIM_EVENT_PHASE(&l_16E, &l_19F[v_4/*16*/], v_9, &v_A, &v_B))\"\n-- &l_16E (p0) is requested as an anim dictionary earlier in the script.\n-- &l_19F[v_4/*16*/] (p1) is used in other natives in the script as the \"animation\" param.\n-- v_9 (p2) is instantiated as \"victim_fall\"; I'm guessing that's another anim\n--v_A and v_B (p3 & p4) are both set as -1.0, but v_A is used immediately after this native for: \n\"if (v_A < ENTITY::GET_ENTITY_ANIM_CURRENT_TIME(...))\"\nBoth 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\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDictionary" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + }, + { + "type": "Any*", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4487C259F0F70977": { + "name": "SET_ENTITY_ANIM_CURRENT_TIME", + "jhash": "0x99D90735", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animDictionary" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "float", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0x28D1A16553C51776": { + "name": "SET_ENTITY_ANIM_SPEED", + "jhash": "0x3990C90A", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animDictionary" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "float", + "name": "speedMultiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAD738C3085FE7E11": { + "name": "SET_ENTITY_AS_MISSION_ENTITY", + "jhash": "0x5D1F9E0F", + "comment": "Makes the specified entity (ped, vehicle or object) persistent. Persistent entities will not automatically be removed by the engine.\n\np1 has no effect when either its on or off \nmaybe a quick disassembly will tell us what it does\n\np2 has no effect when either its on or off \nmaybe a quick disassembly will tell us what it does", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB736A491E64A32CF": { + "name": "SET_ENTITY_AS_NO_LONGER_NEEDED", + "jhash": "0xADF2267C", + "comment": "Marks the specified entity (ped, vehicle or object) as no longer needed if its population type is set to the mission type.\nIf the entity is ped, it will also clear their tasks immediately just like when CLEAR_PED_TASKS_IMMEDIATELY is called.\nEntities marked as no longer needed, will be deleted as the engine sees fit.\nUse this if you just want to just let the game delete the ped:\nvoid MarkPedAsAmbientPed(Ped ped) {\n auto addr = getScriptHandleBaseAddress(ped);\n\n if (!addr) {\n return;\n }\n\n //the game uses only lower 4 bits as entity population type \n BYTE origValue = *(BYTE *)(addr + 0xDA);\n *(BYTE *)(addr + 0xDA) = ((origValue & 0xF0) | ePopulationType::POPTYPE_RANDOM_AMBIENT);\n}", + "params": [ + { + "type": "Entity*", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2595DD4236549CE3": { + "name": "SET_PED_AS_NO_LONGER_NEEDED", + "jhash": "0x9A388380", + "comment": "This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.", + "params": [ + { + "type": "Ped*", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x629BFA74418D6239": { + "name": "SET_VEHICLE_AS_NO_LONGER_NEEDED", + "jhash": "0x9B0E10BE", + "comment": "This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.", + "params": [ + { + "type": "Vehicle*", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3AE22DEB5BA5A3E6": { + "name": "SET_OBJECT_AS_NO_LONGER_NEEDED", + "jhash": "0x3F6B949F", + "comment": "This is an alias of SET_ENTITY_AS_NO_LONGER_NEEDED.", + "params": [ + { + "type": "Object*", + "name": "object" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1760FFA8AB074D66": { + "name": "SET_ENTITY_CAN_BE_DAMAGED", + "jhash": "0x60B6E744", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD95CC5D2AB15A09F": { + "name": "GET_ENTITY_CAN_BE_DAMAGED", + "jhash": "0xE4938B5D", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "757", + "old_names": [ + "_GET_ENTITY_CAN_BE_DAMAGED" + ] + }, + "0xE22D8FDE858B8119": { + "name": "SET_ENTITY_CAN_BE_DAMAGED_BY_RELATIONSHIP_GROUP", + "jhash": "0x34165B5D", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "bCanBeDamaged" + }, + { + "type": "int", + "name": "relGroup" + } + ], + "return_type": "void", + "build": "323" + }, + "0x352E2B5CF420BF3B": { + "name": "SET_ENTITY_CAN_ONLY_BE_DAMAGED_BY_SCRIPT_PARTICIPANTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "573" + }, + "0xD3997889736FD899": { + "name": "SET_ENTITY_CAN_BE_TARGETED_WITHOUT_LOS", + "jhash": "0x3B13797C", + "comment": "Sets whether the entity can be targeted without being in line-of-sight.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1A9205C1B9EE827F": { + "name": "SET_ENTITY_COLLISION", + "jhash": "0x139FD37D", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "keepPhysics" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCCF1E97BEFDAE480": { + "name": "GET_ENTITY_COLLISION_DISABLED", + "jhash": "0xE8C0C629", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_ENTITY_COLLISON_DISABLED" + ] + }, + "0x9EBC85ED0FFFE51C": { + "name": "SET_ENTITY_COMPLETELY_DISABLE_COLLISION", + "jhash": "0xBD0D4831", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "keepPhysics" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_ENTITY_COLLISION_2" + ] + }, + "0x06843DA7060A026B": { + "name": "SET_ENTITY_COORDS", + "jhash": "0xDF70B41B", + "comment": "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. \n \nOften ends with 1, 0, 0, 1); in the scripts. It works. \n\nAxis - Invert Axis Flags", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + }, + { + "type": "BOOL", + "name": "clearArea" + } + ], + "return_type": "void", + "build": "323" + }, + "0x621873ECE1178967": { + "name": "SET_ENTITY_COORDS_WITHOUT_PLANTS_RESET", + "jhash": "0x749B282E", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "BOOL", + "name": "alive" + }, + { + "type": "BOOL", + "name": "deadFlag" + }, + { + "type": "BOOL", + "name": "ragdollFlag" + }, + { + "type": "BOOL", + "name": "clearArea" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_ENTITY_COORDS_2" + ] + }, + "0x239A3351AC1DA385": { + "name": "SET_ENTITY_COORDS_NO_OFFSET", + "jhash": "0x4C83DE8D", + "comment": "Axis - Invert Axis Flags", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1718DE8E3F2823CA": { + "name": "SET_ENTITY_DYNAMIC", + "jhash": "0x236F525B", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8E2530AA8ADA980E": { + "name": "SET_ENTITY_HEADING", + "jhash": "0xE0FF064D", + "comment": "Set the heading of an entity in degrees also known as \"Yaw\".", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "heading" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B76DC1F3AE6E6A3": { + "name": "SET_ENTITY_HEALTH", + "jhash": "0xFBCD1831", + "comment": "health >= 0\nmale ped ~= 100 - 200\nfemale ped ~= 0 - 100", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "health" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3882114BDE571AD4": { + "name": "SET_ENTITY_INVINCIBLE", + "jhash": "0xC1213A21", + "comment": "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.\n\nIf you use this for a ped and you want Ragdoll to stay enabled, then do:\n*(DWORD *)(pedAddress + 0x188) |= (1 << 9);\n\nUse this if you want to get the invincibility status:\n bool IsPedInvincible(Ped ped)\n {\n auto addr = getScriptHandleBaseAddress(ped); \n\n if (addr)\n {\n DWORD flag = *(DWORD *)(addr + 0x188);\n return ((flag & (1 << 8)) != 0) || ((flag & (1 << 9)) != 0);\n }\n\n return false;\n }", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEA02E132F5C68722": { + "name": "SET_ENTITY_IS_TARGET_PRIORITY", + "jhash": "0x9729EE32", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7CFBA6A80BDF3874": { + "name": "SET_ENTITY_LIGHTS", + "jhash": "0xE8FC85AF", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0DC7CABAB1E9B67E": { + "name": "SET_ENTITY_LOAD_COLLISION_FLAG", + "jhash": "0xC52F295B", + "comment": "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.\nCertainly 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.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE9676F61BC0B3321": { + "name": "HAS_COLLISION_LOADED_AROUND_ENTITY", + "jhash": "0x851687F9", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0E46A3FCBDE2A1B1": { + "name": "SET_ENTITY_MAX_SPEED", + "jhash": "0x46AFFED3", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x79F020FF9EDC0748": { + "name": "SET_ENTITY_ONLY_DAMAGED_BY_PLAYER", + "jhash": "0x4B707F50", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7022BD828FA0B082": { + "name": "SET_ENTITY_ONLY_DAMAGED_BY_RELATIONSHIP_GROUP", + "jhash": "0x202237E2", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFAEE099C6F890BB8": { + "name": "SET_ENTITY_PROOFS", + "jhash": "0x7E9EAB66", + "comment": "Enable / disable each type of damage.\n\nwaterProof is damage related to water not drowning\n--------------\np7 is to to '1' in am_mp_property_ext/int: ENTITY::SET_ENTITY_PROOFS(uParam0->f_19, true, true, true, true, true, true, 1, true);\n", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "bulletProof" + }, + { + "type": "BOOL", + "name": "fireProof" + }, + { + "type": "BOOL", + "name": "explosionProof" + }, + { + "type": "BOOL", + "name": "collisionProof" + }, + { + "type": "BOOL", + "name": "meleeProof" + }, + { + "type": "BOOL", + "name": "steamProof" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "waterProof" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBE8CD9BE829BBEBF": { + "name": "GET_ENTITY_PROOFS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL*", + "name": "bulletProof" + }, + { + "type": "BOOL*", + "name": "fireProof" + }, + { + "type": "BOOL*", + "name": "explosionProof" + }, + { + "type": "BOOL*", + "name": "collisionProof" + }, + { + "type": "BOOL*", + "name": "meleeProof" + }, + { + "type": "BOOL*", + "name": "steamProof" + }, + { + "type": "BOOL*", + "name": "p7" + }, + { + "type": "BOOL*", + "name": "drownProof" + } + ], + "return_type": "BOOL", + "build": "1604", + "old_names": [ + "_GET_ENTITY_PROOFS" + ] + }, + "0x77B21BE7AC540F07": { + "name": "SET_ENTITY_QUATERNION", + "jhash": "0x83B6046F", + "comment": "w is the correct parameter name!", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "w" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0A50A1EEDAD01E65": { + "name": "SET_ENTITY_RECORDS_COLLISIONS", + "jhash": "0x6B189A1A", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8524A8B0171D5E07": { + "name": "SET_ENTITY_ROTATION", + "jhash": "0x0A345EFE", + "comment": "rotationOrder refers to the order yaw pitch roll is applied\nvalue ranges from 0 to 5. What you use for rotationOrder when setting must be the same as rotationOrder when getting the rotation. \nUnsure what value corresponds to what rotation order, more testing will be needed for that.\nFor the most part R* uses 1 or 2 as the order.\np5 is usually set as true\n", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "pitch" + }, + { + "type": "float", + "name": "roll" + }, + { + "type": "float", + "name": "yaw" + }, + { + "type": "int", + "name": "rotationOrder" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEA1C610A04DB6BBB": { + "name": "SET_ENTITY_VISIBLE", + "jhash": "0xD043E8E1", + "comment": "p2 is always 0.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC34BC448DA29F5E9": { + "name": "SET_ENTITY_WATER_REFLECTION_FLAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "573" + }, + "0xE66377CDDADA4810": { + "name": "SET_ENTITY_MIRROR_REFLECTION_FLAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "1734" + }, + "0x1C99BB7B6E96D16F": { + "name": "SET_ENTITY_VELOCITY", + "jhash": "0xFF5A1988", + "comment": "Note that the third parameter(denoted as z) is \"up and down\" with positive numbers encouraging upwards movement.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8339643499D1222E": { + "name": "SET_ENTITY_ANGULAR_VELOCITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_ENTITY_ANGULAR_VELOCITY" + ] + }, + "0x4A4722448F18EEF5": { + "name": "SET_ENTITY_HAS_GRAVITY", + "jhash": "0xE2F262BF", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5927F96A78577363": { + "name": "SET_ENTITY_LOD_DIST", + "jhash": "0xD7ACC7AD", + "comment": "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).", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4159C2762B5791D6": { + "name": "GET_ENTITY_LOD_DIST", + "jhash": "0x4DA3D51F", + "comment": "Returns the LOD distance of an entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "323" + }, + "0x44A0870B7E92D7C0": { + "name": "SET_ENTITY_ALPHA", + "jhash": "0xAE667CB0", + "comment": "skin - everything alpha except skin\nSet entity alpha level. Ranging from 0 to 255 but chnages occur after every 20 percent (after every 51).", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "alphaLevel" + }, + { + "type": "BOOL", + "name": "skin" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5A47B3B5E63E94C6": { + "name": "GET_ENTITY_ALPHA", + "jhash": "0x1560B017", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9B1E824FFBB7027A": { + "name": "RESET_ENTITY_ALPHA", + "jhash": "0x8A30761C", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x490861B88F4FD846": { + "name": "RESET_PICKUP_ENTITY_GLOW", + "jhash": "", + "comment": "Similar to RESET_ENTITY_ALPHA", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "944" + }, + "0xCEA7C8E1B48FF68C": { + "name": "SET_PICKUP_COLLIDES_WITH_PROJECTILES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "678" + }, + "0x5C3B791D580E0BC2": { + "name": "SET_ENTITY_SORT_BIAS", + "jhash": "", + "comment": "Only called once in the scripts.\n\nRelated to weapon objects.\n", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xACAD101E1FB66689": { + "name": "SET_ENTITY_ALWAYS_PRERENDER", + "jhash": "0xD8FF798A", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x730F5F8D3F0F2050": { + "name": "SET_ENTITY_RENDER_SCORCHED", + "jhash": "0xAAC9317B", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x57C5DB656185EAC4": { + "name": "SET_ENTITY_TRAFFICLIGHT_OVERRIDE", + "jhash": "0xC47F5B91", + "comment": "Example here: www.gtaforums.com/topic/830463-help-with-turning-lights-green-and-causing-peds-to-crash-into-each-other/#entry1068211340\n\n0 = green\n1 = red\n2 = yellow\n3 = reset changes\nchanging lights may not change the behavior of vehicles", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0x78E8E3A640178255": { + "name": "SET_ENTITY_IS_IN_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x92C47782FDA8B2A3": { + "name": "CREATE_MODEL_SWAP", + "jhash": "0x0BC12F9E", + "comment": "Only works with objects!", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "originalModel" + }, + { + "type": "Hash", + "name": "newModel" + }, + { + "type": "BOOL", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0x033C0F9A64E229AE": { + "name": "REMOVE_MODEL_SWAP", + "jhash": "0xCE0AA8BC", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "originalModel" + }, + { + "type": "Hash", + "name": "newModel" + }, + { + "type": "BOOL", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8A97BCA30A0CE478": { + "name": "CREATE_MODEL_HIDE", + "jhash": "0x7BD5CF2F", + "comment": "p5 = sets as true in scripts\nSame as the comment for CREATE_MODEL_SWAP unless for some reason p5 affects it this only works with objects as well.\n\nNetwork players do not see changes done with this.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3A52AE588830BF7F": { + "name": "CREATE_MODEL_HIDE_EXCLUDING_SCRIPT_OBJECTS", + "jhash": "0x07AAF22C", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD9E3006FB3CBD765": { + "name": "REMOVE_MODEL_HIDE", + "jhash": "0x993DBC10", + "comment": "This native makes entities visible that are hidden by the native CREATE_MODEL_HIDE.\np5 should be false, true does nothing", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x150E808B375A385A": { + "name": "CREATE_FORCED_OBJECT", + "jhash": "0x335190A2", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x61B6775E83C0DB6F": { + "name": "REMOVE_FORCED_OBJECT", + "jhash": "0xAED73ADD", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA53ED5520C07654A": { + "name": "SET_ENTITY_NO_COLLISION_ENTITY", + "jhash": "0x1E11BFE9", + "comment": "Calling this function disables collision between two entities.\nThe importance of the order for entity1 and entity2 is unclear.\nThe third parameter, `thisFrame`, decides whether the collision is to be disabled until it is turned back on, or if it's just this frame.", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + }, + { + "type": "BOOL", + "name": "thisFrameOnly" + } + ], + "return_type": "void", + "build": "323" + }, + "0x295D82A8559F9150": { + "name": "SET_ENTITY_MOTION_BLUR", + "jhash": "0xE90005B8", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE12ABE5E3A389A6C": { + "name": "SET_CAN_AUTO_VAULT_ON_ENTITY", + "jhash": "0x44767B31", + "comment": "p1 always false.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA80AE305E0A3044F": { + "name": "SET_CAN_CLIMB_ON_ENTITY", + "jhash": "0xE224A6A5", + "comment": "p1 always false.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDC6F8601FAF2E893": { + "name": "SET_WAIT_FOR_COLLISIONS_BEFORE_PROBE", + "jhash": "0xA0466A69", + "comment": "Only called within 1 script for x360. 'fm_mission_controller' and it used on an object. \n\nRan after these 2 natives,\nset_object_targettable(uParam0, 0);\nset_entity_invincible(uParam0, 1);", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2C2E3DC128F44309": { + "name": "SET_ENTITY_NOWEAPONDECALS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_ENTITY_DECALS_DISABLED" + ] + }, + "0x1A092BB0C3808B96": { + "name": "SET_ENTITY_USE_MAX_DISTANCE_FOR_WATER_REFLECTION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCE6294A232D03786": { + "name": "GET_ENTITY_BONE_ROTATION", + "jhash": "", + "comment": "Gets the world rotation of the specified bone of the specified entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "boneIndex" + } + ], + "return_type": "Vector3", + "build": "791", + "old_names": [ + "_GET_WORLD_ROTATION_OF_ENTITY_BONE", + "_GET_ENTITY_BONE_ROTATION" + ] + }, + "0x46F8696933A63C9B": { + "name": "GET_ENTITY_BONE_POSTION", + "jhash": "", + "comment": "Gets the world position of the specified bone of the specified entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "boneIndex" + } + ], + "return_type": "Vector3", + "build": "877", + "old_names": [ + "_GET_WORLD_POSITION_OF_ENTITY_BONE_2", + "_GET_ENTITY_BONE_POSITION_2" + ] + }, + "0xBD8D32550E5CEBFE": { + "name": "GET_ENTITY_BONE_OBJECT_ROTATION", + "jhash": "", + "comment": "Gets the local rotation of the specified bone of the specified entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "boneIndex" + } + ], + "return_type": "Vector3", + "build": "1734", + "old_names": [ + "_GET_ENTITY_BONE_ROTATION_LOCAL" + ] + }, + "0xCF1247CC86961FD6": { + "name": "GET_ENTITY_BONE_OBJECT_POSTION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "boneIndex" + } + ], + "return_type": "Vector3", + "build": "2802" + }, + "0xB328DCC3A3AA401B": { + "name": "GET_ENTITY_BONE_COUNT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "791", + "old_names": [ + "_GET_ENTITY_BONE_COUNT" + ] + }, + "0x6CE177D014502E8A": { + "name": "ENABLE_ENTITY_BULLET_COLLISION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_ENABLE_ENTITY_UNK" + ] + }, + "0xB17BC6453F6CF5AC": { + "name": "SET_ENTITY_CAN_ONLY_BE_DAMAGED_BY_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + } + ], + "return_type": "void", + "build": "944" + }, + "0x68B562E124CC0AEF": { + "name": "SET_ENTITY_CANT_CAUSE_COLLISION_DAMAGED_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity1" + }, + { + "type": "Entity", + "name": "entity2" + } + ], + "return_type": "void", + "build": "1180" + }, + "0x36F32DE87082343E": { + "name": "SET_ALLOW_MIGRATE_TO_SPECTATOR", + "jhash": "", + "comment": "p1 is always set to 1", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1011" + }, + "0x1F922734E259BD26": { + "name": "GET_ENTITY_OF_TYPE_ATTACHED_TO_ENTITY", + "jhash": "", + "comment": "Gets the handle of an entity with a specific model hash attached to another entity, such as an object attached to a ped.\n This native does not appear to have anything to do with pickups as in scripts it is used with objects.\n\nExample from fm_mission_controller_2020.c:\n\niVar8 = ENTITY::GET_ENTITY_OF_TYPE_ATTACHED_TO_ENTITY(bParam0->f_9, joaat(\"p_cs_clipboard\"));", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "Entity", + "build": "1180", + "old_names": [ + "_GET_ENTITY_ATTACHED_TO_WITH_HASH" + ] + }, + "0xD7B80E7C3BEFC396": { + "name": "SET_PICK_UP_BY_CARGOBOB_DISABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1180" + } + }, + "EVENT": { + "0xB604A2942ADED0EE": { + "name": "SET_DECISION_MAKER", + "jhash": "0x19CEAC9E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4FC9381A7AEE8968": { + "name": "CLEAR_DECISION_MAKER_EVENT_RESPONSE", + "jhash": "0x07ABD94D", + "comment": "eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt", + "params": [ + { + "type": "Hash", + "name": "name" + }, + { + "type": "int", + "name": "eventType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE42FCDFD0E4196F7": { + "name": "BLOCK_DECISION_MAKER_EVENT", + "jhash": "0x57506EA6", + "comment": "eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt\n\nThis is limited to 4 blocked events at a time.", + "params": [ + { + "type": "Hash", + "name": "name" + }, + { + "type": "int", + "name": "eventType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD7CD9CF34F2C99E8": { + "name": "UNBLOCK_DECISION_MAKER_EVENT", + "jhash": "0x62A3161D", + "comment": "eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt", + "params": [ + { + "type": "Hash", + "name": "name" + }, + { + "type": "int", + "name": "eventType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD9F8455409B525E9": { + "name": "ADD_SHOCKING_EVENT_AT_POSITION", + "jhash": "0x0B30F779", + "comment": "eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt", + "params": [ + { + "type": "int", + "name": "eventType" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "duration" + } + ], + "return_type": "int", + "build": "323" + }, + "0x7FD8F3BE76F89422": { + "name": "ADD_SHOCKING_EVENT_FOR_ENTITY", + "jhash": "0xA81B5B71", + "comment": "eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt", + "params": [ + { + "type": "int", + "name": "eventType" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "duration" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1374ABB7C15BAB92": { + "name": "IS_SHOCKING_EVENT_IN_SPHERE", + "jhash": "0x2F98823E", + "comment": "eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt", + "params": [ + { + "type": "int", + "name": "eventType" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2CDA538C44C6CCE5": { + "name": "REMOVE_SHOCKING_EVENT", + "jhash": "0xF82D5A87", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "event" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEAABE8FDFA21274C": { + "name": "REMOVE_ALL_SHOCKING_EVENTS", + "jhash": "0x64DF6282", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x340F1415B68AEADE": { + "name": "REMOVE_SHOCKING_EVENT_SPAWN_BLOCKING_AREAS", + "jhash": "0xA0CE89C8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x2F9A292AD0A3BD89": { + "name": "SUPPRESS_SHOCKING_EVENTS_NEXT_FRAME", + "jhash": "0x4CC674B5", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x3FD2EC8BF1F1CF30": { + "name": "SUPPRESS_SHOCKING_EVENT_TYPE_NEXT_FRAME", + "jhash": "0xA0FDCB82", + "comment": "eventType: https://alloc8or.re/gta5/doc/enums/eEventType.txt", + "params": [ + { + "type": "int", + "name": "eventType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5F3B7749C112D552": { + "name": "SUPPRESS_AGITATION_EVENTS_NEXT_FRAME", + "jhash": "0x80340396", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + } + }, + "FILES": { + "0x278F76C3B0A8F109": { + "name": "GET_NUM_TATTOO_SHOP_DLC_ITEMS", + "jhash": "0x71D0CF3E", + "comment": "Character types:\n0 = Michael, \n1 = Franklin, \n2 = Trevor, \n3 = MPMale, \n4 = MPFemale", + "params": [ + { + "type": "int", + "name": "character" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUM_DECORATIONS" + ] + }, + "0xFF56381874F82086": { + "name": "GET_TATTOO_SHOP_DLC_ITEM_DATA", + "jhash": "0x2E9D628C", + "comment": "Character types:\n0 = Michael, \n1 = Franklin, \n2 = Trevor, \n3 = MPMale, \n4 = MPFemale\n\n\nenum TattooZoneData\n{ \n ZONE_TORSO = 0, \n ZONE_HEAD = 1, \n ZONE_LEFT_ARM = 2, \n ZONE_RIGHT_ARM = 3, \n ZONE_LEFT_LEG = 4, \n ZONE_RIGHT_LEG = 5, \n ZONE_UNKNOWN = 6,\n ZONE_NONE = 7, \n};\nstruct outComponent\n{\n // these vars are suffixed with 4 bytes of padding each.\n uint unk;\n int unk2;\n uint tattooCollectionHash;\n uint tattooNameHash;\n int unk3;\n TattooZoneData zoneId;\n uint unk4;\n uint unk5;\n // maybe more, not sure exactly, decompiled scripts are very vague around this part.\n}", + "params": [ + { + "type": "int", + "name": "characterType" + }, + { + "type": "int", + "name": "decorationIndex" + }, + { + "type": "Any*", + "name": "outComponent" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_TATTOO_COLLECTION_DATA" + ] + }, + "0x10144267DD22866C": { + "name": "GET_TATTOO_SHOP_DLC_ITEM_INDEX", + "jhash": "", + "comment": "Returns some sort of index/offset for overlays/decorations.\n\nCharacter types:\n0 = Michael, \n1 = Franklin, \n2 = Trevor, \n3 = MPMale, \n4 = MPFemale", + "params": [ + { + "type": "Hash", + "name": "overlayHash" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "int", + "name": "character" + } + ], + "return_type": "int", + "build": "2189" + }, + "0x1E8C308FD312C036": { + "name": "INIT_SHOP_PED_COMPONENT", + "jhash": "0xB818C7FC", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "outComponent" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB0A2B758F7B850F": { + "name": "INIT_SHOP_PED_PROP", + "jhash": "0xF5659E50", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "outProp" + } + ], + "return_type": "void", + "build": "323" + }, + "0x50F457823CE6EB5F": { + "name": "SETUP_SHOP_PED_APPAREL_QUERY", + "jhash": "0xC937FF3D", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9BDF59818B1E38C1": { + "name": "SETUP_SHOP_PED_APPAREL_QUERY_TU", + "jhash": "0x594E862C", + "comment": "character is 0 for Michael, 1 for Franklin, 2 for Trevor, 3 for freemode male, and 4 for freemode female.\n\ncomponentId is between 0 and 11 and corresponds to the usual component slots.\n\np1 could be the outfit number; unsure.\n\np2 is usually -1; unknown function.\n\np3 appears to be for selecting between clothes and props; false is used with components/clothes, true is used with props.\n\np4 is usually -1; unknown function.\n\ncomponentId is -1 when p3 is true in decompiled scripts.", + "params": [ + { + "type": "int", + "name": "character" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "componentId" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUM_PROPS_FROM_OUTFIT" + ] + }, + "0x249E310B2D920699": { + "name": "GET_SHOP_PED_QUERY_COMPONENT", + "jhash": "0xC0718904", + "comment": "See https://git.io/JtcRf for example and structs.", + "params": [ + { + "type": "int", + "name": "componentId" + }, + { + "type": "Any*", + "name": "outComponent" + } + ], + "return_type": "void", + "build": "323" + }, + "0x96E2929292A4DB77": { + "name": "GET_SHOP_PED_QUERY_COMPONENT_INDEX", + "jhash": "", + "comment": "Returns some sort of index/offset for components.\nNeeds _GET_NUM_PROPS_FROM_OUTFIT to be called with p3 = false and componentId with the drawable's component slot first, returns -1 otherwise.", + "params": [ + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "int", + "build": "2189" + }, + "0x74C0E2A57EC66760": { + "name": "GET_SHOP_PED_COMPONENT", + "jhash": "0xB39677C5", + "comment": "More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "Any*", + "name": "outComponent" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDE44A00999B2837D": { + "name": "GET_SHOP_PED_QUERY_PROP", + "jhash": "0x1D3C1466", + "comment": "See https://git.io/JtcRf for example and structs.", + "params": [ + { + "type": "int", + "name": "componentId" + }, + { + "type": "Any*", + "name": "outProp" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6CEBE002E58DEE97": { + "name": "GET_SHOP_PED_QUERY_PROP_INDEX", + "jhash": "", + "comment": "Returns some sort of index/offset for props.\nNeeds _GET_NUM_PROPS_FROM_OUTFIT to be called with p3 = true and componentId = -1 first, returns -1 otherwise.", + "params": [ + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "int", + "build": "2189" + }, + "0x5D5CAFF661DDF6FC": { + "name": "GET_SHOP_PED_PROP", + "jhash": "0xDB0A7A58", + "comment": "More info here: https://gist.github.com/root-cause/3b80234367b0c856d60bf5cb4b826f86", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "Any*", + "name": "outProp" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0368B3A838070348": { + "name": "GET_HASH_NAME_FOR_COMPONENT", + "jhash": "0xC8A4BF12", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "drawableVariant" + }, + { + "type": "int", + "name": "textureVariant" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x5D6160275CAEC8DD": { + "name": "GET_HASH_NAME_FOR_PROP", + "jhash": "0x7D876DC0", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "propIndex" + }, + { + "type": "int", + "name": "propTextureIndex" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0xC17AD0E5752BECDA": { + "name": "GET_SHOP_PED_APPAREL_VARIANT_COMPONENT_COUNT", + "jhash": "0x159751B4", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0xD40AAC51E8E4C663": { + "name": "GET_SHOP_PED_APPAREL_VARIANT_PROP_COUNT", + "jhash": "", + "comment": "`propHash`: Ped helmet prop hash?\nThis 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.", + "params": [ + { + "type": "Hash", + "name": "propHash" + } + ], + "return_type": "int", + "build": "791", + "old_names": [ + "_GET_SHOP_PED_APPAREL_VARIANT_PROP_COUNT" + ] + }, + "0x6E11F282F11863B6": { + "name": "GET_VARIANT_COMPONENT", + "jhash": "0xE4FF7103", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "int", + "name": "variantComponentIndex" + }, + { + "type": "Hash*", + "name": "nameHash" + }, + { + "type": "int*", + "name": "enumValue" + }, + { + "type": "int*", + "name": "componentType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD81B7F27BC773E66": { + "name": "GET_VARIANT_PROP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "int", + "name": "variantPropIndex" + }, + { + "type": "Hash*", + "name": "nameHash" + }, + { + "type": "int*", + "name": "enumValue" + }, + { + "type": "int*", + "name": "anchorPoint" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_GET_VARIANT_PROP" + ] + }, + "0xC6B9DB42C04DD8C3": { + "name": "GET_SHOP_PED_APPAREL_FORCED_COMPONENT_COUNT", + "jhash": "0xCE70F183", + "comment": "Returns number of possible values of the forcedComponentIndex argument of GET_FORCED_COMPONENT.", + "params": [ + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUM_FORCED_COMPONENTS" + ] + }, + "0x017568A8182D98A6": { + "name": "GET_SHOP_PED_APPAREL_FORCED_PROP_COUNT", + "jhash": "0xC560D7C0", + "comment": "Returns number of possible values of the forcedPropIndex argument of GET_FORCED_PROP.", + "params": [ + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x6C93ED8C2F74859B": { + "name": "GET_FORCED_COMPONENT", + "jhash": "0x382C70BE", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "int", + "name": "forcedComponentIndex" + }, + { + "type": "Hash*", + "name": "nameHash" + }, + { + "type": "int*", + "name": "enumValue" + }, + { + "type": "int*", + "name": "componentType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE1CA84EBF72E691D": { + "name": "GET_FORCED_PROP", + "jhash": "0x22DAE257", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "int", + "name": "forcedPropIndex" + }, + { + "type": "Hash*", + "name": "nameHash" + }, + { + "type": "int*", + "name": "enumValue" + }, + { + "type": "int*", + "name": "anchorPoint" + } + ], + "return_type": "void", + "build": "323" + }, + "0x341DE7ED1D2A1BFD": { + "name": "DOES_SHOP_PED_APPAREL_HAVE_RESTRICTION_TAG", + "jhash": "0x8E2C7FD5", + "comment": "Full list of restriction tags by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedApparelRestrictionTags.json\n\ncomponentId/last parameter seems to be unused.", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "Hash", + "name": "restrictionTagHash" + }, + { + "type": "int", + "name": "componentId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7796B21B76221BC5": { + "name": "DOES_CURRENT_PED_COMPONENT_HAVE_RESTRICTION_TAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "Hash", + "name": "restrictionTagHash" + } + ], + "return_type": "BOOL", + "build": "2612", + "old_names": [ + "_DOES_CUSTOMIZATION_COMPONENT_HAVE_RESTRICTION_TAG" + ] + }, + "0xD726BAB4554DA580": { + "name": "DOES_CURRENT_PED_PROP_HAVE_RESTRICTION_TAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "Hash", + "name": "restrictionTagHash" + } + ], + "return_type": "BOOL", + "build": "2612", + "old_names": [ + "_DOES_CUSTOMIZATION_PROP_HAVE_RESTRICTION_TAG" + ] + }, + "0xF3FBE2D50A6A8C28": { + "name": "SETUP_SHOP_PED_OUTFIT_QUERY", + "jhash": "0x1ECD23E7", + "comment": "characters\n\n0: Michael\n1: Franklin\n2: Trevor\n3: MPMale\n4: MPFemale", + "params": [ + { + "type": "int", + "name": "character" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x6D793F03A631FE56": { + "name": "GET_SHOP_PED_QUERY_OUTFIT", + "jhash": "0x2F8013A1", + "comment": "outfitIndex: from 0 to SETUP_SHOP_PED_OUTFIT_QUERY(characterIndex, false) - 1.\nSee https://git.io/JtcB8 for example and outfit struct.", + "params": [ + { + "type": "int", + "name": "outfitIndex" + }, + { + "type": "Any*", + "name": "outfit" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB7952076E444979D": { + "name": "GET_SHOP_PED_OUTFIT", + "jhash": "0xCAFE9209", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x073CA26B079F956E": { + "name": "GET_SHOP_PED_OUTFIT_LOCATE", + "jhash": "0x2798F56F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xA9F9C2E0FDE11CBB": { + "name": "GET_SHOP_PED_OUTFIT_PROP_VARIANT", + "jhash": "0x6641A864", + "comment": "See https://git.io/JtcBH for example and structs.", + "params": [ + { + "type": "Hash", + "name": "outfitHash" + }, + { + "type": "int", + "name": "variantIndex" + }, + { + "type": "Any*", + "name": "outPropVariant" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x19F2A026EDF0013F": { + "name": "GET_SHOP_PED_OUTFIT_COMPONENT_VARIANT", + "jhash": "0x818534AC", + "comment": "See https://git.io/JtcBH for example and structs.", + "params": [ + { + "type": "Hash", + "name": "outfitHash" + }, + { + "type": "int", + "name": "variantIndex" + }, + { + "type": "Any*", + "name": "outComponentVariant" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_PROP_FROM_OUTFIT" + ] + }, + "0xA7A866D21CD2329B": { + "name": "GET_NUM_DLC_VEHICLES", + "jhash": "0x8EAF9CF6", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xECC01B7C5763333C": { + "name": "GET_DLC_VEHICLE_MODEL", + "jhash": "0xA2201E09", + "comment": "dlcVehicleIndex is 0 to GET_NUM_DLC_VEHICLS() - 1", + "params": [ + { + "type": "int", + "name": "dlcVehicleIndex" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x33468EDC08E371F6": { + "name": "GET_DLC_VEHICLE_DATA", + "jhash": "0xCF428FA4", + "comment": "dlcVehicleIndex takes a number from 0 - GET_NUM_DLC_VEHICLES() - 1.\noutData is a struct of 3 8-byte items.\nThe Second item in the struct *(Hash *)(outData + 1) is the vehicle hash.", + "params": [ + { + "type": "int", + "name": "dlcVehicleIndex" + }, + { + "type": "Any*", + "name": "outData" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5549EE11FA22FCF2": { + "name": "GET_DLC_VEHICLE_FLAGS", + "jhash": "0xAB12738C", + "comment": "", + "params": [ + { + "type": "int", + "name": "dlcVehicleIndex" + } + ], + "return_type": "int", + "build": "323" + }, + "0xEE47635F352DA367": { + "name": "GET_NUM_DLC_WEAPONS", + "jhash": "0x2B757E6C", + "comment": "Returns the total number of DLC weapons.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x4160B65AE085B5A9": { + "name": "GET_NUM_DLC_WEAPONS_SP", + "jhash": "", + "comment": "Returns the total number of DLC weapons that are available in SP (availableInSP field in shop_weapon.meta).", + "params": [], + "return_type": "int", + "build": "2060", + "old_names": [ + "_GET_NUM_DLC_WEAPONS_SP" + ] + }, + "0x79923CD21BECE14E": { + "name": "GET_DLC_WEAPON_DATA", + "jhash": "0xD88EC8EA", + "comment": "\ndlcWeaponIndex takes a number from 0 - GET_NUM_DLC_WEAPONS() - 1.\nstruct DlcWeaponData\n{\nint emptyCheck; //use DLC1::IS_CONTENT_ITEM_LOCKED on this\nint padding1;\nint weaponHash;\nint padding2;\nint unk;\nint padding3;\nint weaponCost;\nint padding4;\nint ammoCost;\nint padding5;\nint ammoType;\nint padding6;\nint defaultClipSize;\nint padding7;\nchar nameLabel[64];\nchar descLabel[64];\nchar desc2Label[64]; // usually \"the\" + name\nchar upperCaseNameLabel[64];\n};", + "params": [ + { + "type": "int", + "name": "dlcWeaponIndex" + }, + { + "type": "Any*", + "name": "outData" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x310836EE7129BA33": { + "name": "GET_DLC_WEAPON_DATA_SP", + "jhash": "", + "comment": "Same as GET_DLC_WEAPON_DATA but only works for DLC weapons that are available in SP.", + "params": [ + { + "type": "int", + "name": "dlcWeaponIndex" + }, + { + "type": "Any*", + "name": "outData" + } + ], + "return_type": "BOOL", + "build": "2060", + "old_names": [ + "_GET_DLC_WEAPON_DATA_SP" + ] + }, + "0x405425358A7D61FE": { + "name": "GET_NUM_DLC_WEAPON_COMPONENTS", + "jhash": "0x476B23A9", + "comment": "Returns the total number of DLC weapon components.", + "params": [ + { + "type": "int", + "name": "dlcWeaponIndex" + } + ], + "return_type": "int", + "build": "323" + }, + "0xAD2A7A6DFF55841B": { + "name": "GET_NUM_DLC_WEAPON_COMPONENTS_SP", + "jhash": "", + "comment": "Returns the total number of DLC weapon components that are available in SP.", + "params": [ + { + "type": "int", + "name": "dlcWeaponIndex" + } + ], + "return_type": "int", + "build": "2060", + "old_names": [ + "_GET_NUM_DLC_WEAPON_COMPONENTS_SP" + ] + }, + "0x6CF598A2957C2BF8": { + "name": "GET_DLC_WEAPON_COMPONENT_DATA", + "jhash": "0x4B83FCAF", + "comment": "p0 seems to be the weapon index\np1 seems to be the weapon component index\nstruct DlcComponentData{\nint attachBone;\nint padding1;\nint bActiveByDefault;\nint padding2;\nint unk;\nint padding3;\nint componentHash;\nint padding4;\nint unk2;\nint padding5;\nint componentCost;\nint padding6;\nchar nameLabel[64];\nchar descLabel[64];\n};\n", + "params": [ + { + "type": "int", + "name": "dlcWeaponIndex" + }, + { + "type": "int", + "name": "dlcWeapCompIndex" + }, + { + "type": "Any*", + "name": "ComponentDataPtr" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x31D5E073B6F93CDC": { + "name": "GET_DLC_WEAPON_COMPONENT_DATA_SP", + "jhash": "", + "comment": "Same as GET_DLC_WEAPON_COMPONENT_DATA but only works for DLC components that are available in SP.", + "params": [ + { + "type": "int", + "name": "dlcWeaponIndex" + }, + { + "type": "int", + "name": "dlcWeapCompIndex" + }, + { + "type": "Any*", + "name": "ComponentDataPtr" + } + ], + "return_type": "BOOL", + "build": "2060", + "old_names": [ + "_GET_DLC_WEAPON_COMPONENT_DATA_SP" + ] + }, + "0xD4D7B033C3AA243C": { + "name": "IS_CONTENT_ITEM_LOCKED", + "jhash": "0x06396058", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "itemHash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_OUTFIT_EMPTY", + "_IS_DLC_DATA_EMPTY" + ] + }, + "0x0564B9FF9631B82C": { + "name": "IS_DLC_VEHICLE_MOD", + "jhash": "0x35BCA844", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC098810437312FFF": { + "name": "GET_DLC_VEHICLE_MOD_LOCK_HASH", + "jhash": "0x59352658", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x6BEDF5769AC2DC07": { + "name": "EXECUTE_CONTENT_CHANGESET_GROUP_FOR_ALL", + "jhash": "", + "comment": "From fm_deathmatch_creator and fm_race_creator:\n\nFILES::REVERT_CONTENT_CHANGESET_GROUP_FOR_ALL(joaat(\"GROUP_MAP_SP\"));\nFILES::EXECUTE_CONTENT_CHANGESET_GROUP_FOR_ALL(joaat(\"GROUP_MAP\"));", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_LOAD_CONTENT_CHANGE_SET_GROUP" + ] + }, + "0x3C1978285B036B25": { + "name": "REVERT_CONTENT_CHANGESET_GROUP_FOR_ALL", + "jhash": "", + "comment": "From fm_deathmatch_creator and fm_race_creator:\n\nFILES::REVERT_CONTENT_CHANGESET_GROUP_FOR_ALL(joaat(\"GROUP_MAP_SP\"));\nFILES::EXECUTE_CONTENT_CHANGESET_GROUP_FOR_ALL(joaat(\"GROUP_MAP\"));", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_UNLOAD_CONTENT_CHANGE_SET_GROUP" + ] + } + }, + "FIRE": { + "0x6B83617E04503888": { + "name": "START_SCRIPT_FIRE", + "jhash": "0xE7529357", + "comment": "Starts a fire:\n\nxyz: Location of fire\nmaxChildren: The max amount of times a fire can spread to other objects. Must be 25 or less, or the function will do nothing.\nisGasFire: Whether or not the fire is powered by gasoline.", + "params": [ + { + "type": "float", + "name": "X" + }, + { + "type": "float", + "name": "Y" + }, + { + "type": "float", + "name": "Z" + }, + { + "type": "int", + "name": "maxChildren" + }, + { + "type": "BOOL", + "name": "isGasFire" + } + ], + "return_type": "FireId", + "build": "323" + }, + "0x7FF548385680673F": { + "name": "REMOVE_SCRIPT_FIRE", + "jhash": "0x6B21FE26", + "comment": "", + "params": [ + { + "type": "FireId", + "name": "fireHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF6A9D9708F6F23DF": { + "name": "START_ENTITY_FIRE", + "jhash": "0x8928428E", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "FireId", + "build": "323" + }, + "0x7F0DD2EBBB651AFF": { + "name": "STOP_ENTITY_FIRE", + "jhash": "0xCE8C9066", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x28D3FED7190D3A0B": { + "name": "IS_ENTITY_ON_FIRE", + "jhash": "0x8C73E64F", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x50CAD495A460B305": { + "name": "GET_NUMBER_OF_FIRES_IN_RANGE", + "jhash": "0x654D93B7", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "int", + "build": "323" + }, + "0x8F390AC4155099BA": { + "name": "SET_FLAMMABILITY_MULTIPLIER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_SET_FIRE_SPREAD_RATE" + ] + }, + "0x056A8A219B8E829F": { + "name": "STOP_FIRE_IN_RANGE", + "jhash": "0x725C7205", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0x352A9F6BCF90081F": { + "name": "GET_CLOSEST_FIRE_POS", + "jhash": "0xC4977B47", + "comment": "Returns TRUE if it found something. FALSE if not.", + "params": [ + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE3AD2BDBAEE269AC": { + "name": "ADD_EXPLOSION", + "jhash": "0x10AF5258", + "comment": "BOOL isAudible = If explosion makes a sound.\nBOOL isInvisible = If the explosion is invisible or not.\n\nexplosionType: https://alloc8or.re/gta5/doc/enums/eExplosionTag.txt", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "explosionType" + }, + { + "type": "float", + "name": "damageScale" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + }, + { + "type": "float", + "name": "cameraShake" + }, + { + "type": "BOOL", + "name": "noDamage" + } + ], + "return_type": "void", + "build": "323" + }, + "0x172AA1B624FA1013": { + "name": "ADD_OWNED_EXPLOSION", + "jhash": "0x27EE0D67", + "comment": "isAudible: If explosion makes a sound.\nisInvisible: If the explosion is invisible or not.\nexplosionType: See ADD_EXPLOSION.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "explosionType" + }, + { + "type": "float", + "name": "damageScale" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + }, + { + "type": "float", + "name": "cameraShake" + } + ], + "return_type": "void", + "build": "323" + }, + "0x36DD3FE58B5E5212": { + "name": "ADD_EXPLOSION_WITH_USER_VFX", + "jhash": "0xCF358946", + "comment": "isAudible: If explosion makes a sound.\nisInvisible: If the explosion is invisible or not.\nexplosionType: See ADD_EXPLOSION.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "explosionType" + }, + { + "type": "Hash", + "name": "explosionFx" + }, + { + "type": "float", + "name": "damageScale" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + }, + { + "type": "float", + "name": "cameraShake" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_SPECFX_EXPLOSION" + ] + }, + "0x2E2EBA0EE7CED0E0": { + "name": "IS_EXPLOSION_IN_AREA", + "jhash": "0xFB40075B", + "comment": "explosionType: See ADD_EXPLOSION.", + "params": [ + { + "type": "int", + "name": "explosionType" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6070104B699B2EF4": { + "name": "IS_EXPLOSION_ACTIVE_IN_AREA", + "jhash": "0x37C388DB", + "comment": "explosionType: See ADD_EXPLOSION.", + "params": [ + { + "type": "int", + "name": "explosionType" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAB0F816885B0E483": { + "name": "IS_EXPLOSION_IN_SPHERE", + "jhash": "0xD455A7F3", + "comment": "explosionType: See ADD_EXPLOSION.", + "params": [ + { + "type": "int", + "name": "explosionType" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB3CD51E3DB86F176": { + "name": "GET_OWNER_OF_EXPLOSION_IN_SPHERE", + "jhash": "", + "comment": "explosionType: See ADD_EXPLOSION.", + "params": [ + { + "type": "int", + "name": "explosionType" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "Entity", + "build": "1290", + "old_names": [ + "_GET_ENTITY_INSIDE_EXPLOSION_SPHERE" + ] + }, + "0xA079A6C51525DC4B": { + "name": "IS_EXPLOSION_IN_ANGLED_AREA", + "jhash": "0x0128FED9", + "comment": "explosionType: See ADD_EXPLOSION, -1 for any explosion type\n", + "params": [ + { + "type": "int", + "name": "explosionType" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x14BA4BA137AF6CEC": { + "name": "GET_OWNER_OF_EXPLOSION_IN_ANGLED_AREA", + "jhash": "0xAEC0D176", + "comment": "Returns a handle to the first entity within the a circle spawned inside the 2 points from a radius.\n\nexplosionType: See ADD_EXPLOSION.", + "params": [ + { + "type": "int", + "name": "explosionType" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "Entity", + "build": "323", + "old_names": [ + "_GET_PED_INSIDE_EXPLOSION_AREA", + "_GET_ENTITY_INSIDE_EXPLOSION_AREA" + ] + } + }, + "GRAPHICS": { + "0x175B6BFC15CDD0C5": { + "name": "SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE", + "jhash": "0x1418CA37", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.", + "params": [ + { + "type": "BOOL", + "name": "enabled" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7FDFADE676AA3CB0": { + "name": "DRAW_DEBUG_LINE", + "jhash": "0xABF783AB", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD8B9A8AC5608FF94": { + "name": "DRAW_DEBUG_LINE_WITH_TWO_COLOURS", + "jhash": "0xE8BFF632", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "r1" + }, + { + "type": "int", + "name": "g1" + }, + { + "type": "int", + "name": "b1" + }, + { + "type": "int", + "name": "r2" + }, + { + "type": "int", + "name": "g2" + }, + { + "type": "int", + "name": "b2" + }, + { + "type": "int", + "name": "alpha1" + }, + { + "type": "int", + "name": "alpha2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAAD68E1AB39DA632": { + "name": "DRAW_DEBUG_SPHERE", + "jhash": "0x304D0EEF", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x083A2CA4F2E573BD": { + "name": "DRAW_DEBUG_BOX", + "jhash": "0x8524A848", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x73B1189623049839": { + "name": "DRAW_DEBUG_CROSS", + "jhash": "0xB6DF3709", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "size" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3903E216620488E8": { + "name": "DRAW_DEBUG_TEXT", + "jhash": "0x269B006F", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.", + "params": [ + { + "type": "const char*", + "name": "text" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA3BB2E9555C05A8F": { + "name": "DRAW_DEBUG_TEXT_2D", + "jhash": "0x528B973B", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.", + "params": [ + { + "type": "const char*", + "name": "text" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B7256074AE34680": { + "name": "DRAW_LINE", + "jhash": "0xB3426BCC", + "comment": "Draws a depth-tested line from one point to another.\n----------------\nx1, y1, z1 : Coordinates for the first point\nx2, y2, z2 : Coordinates for the second point\nr, g, b, alpha : Color with RGBA-Values\nI recommend using a predefined function to call this.\n[VB.NET]\nPublic Sub DrawLine(from As Vector3, [to] As Vector3, col As Color)\n [Function].Call(Hash.DRAW_LINE, from.X, from.Y, from.Z, [to].X, [to].Y, [to].Z, col.R, col.G, col.B, col.A)\nEnd Sub\n\n[C#]\npublic void DrawLine(Vector3 from, Vector3 to, Color col)\n{\n Function.Call(Hash.DRAW_LINE, from.X, from.Y, from.Z, to.X, to.Y, to.Z, col.R, col.G, col.B, col.A);\n}", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAC26716048436851": { + "name": "DRAW_POLY", + "jhash": "0xABD19253", + "comment": "x/y/z - Location of a vertex (in world coords), presumably.\n----------------\nx1, y1, z1 : Coordinates for the first point\nx2, y2, z2 : Coordinates for the second point\nx3, y3, z3 : Coordinates for the third point\nr, g, b, alpha : Color with RGBA-Values\n\nKeep in mind that only one side of the drawn triangle is visible: It's the side, in which the vector-product of the vectors heads to: (b-a)x(c-a) Or (b-a)x(c-b).\nBut be aware: The function seems to work somehow differently. I have trouble having them drawn in rotated orientation. Try it yourself and if you somehow succeed, please edit this and post your solution.\nI recommend using a predefined function to call this.\n[VB.NET]\nPublic Sub DrawPoly(a As Vector3, b As Vector3, c As Vector3, col As Color)\n [Function].Call(Hash.DRAW_POLY, a.X, a.Y, a.Z, b.X, b.Y, b.Z, c.X, c.Y, c.Z, col.R, col.G, col.B, col.A)\nEnd Sub\n\n[C#]\npublic void DrawPoly(Vector3 a, Vector3 b, Vector3 c, Color col)\n{\n Function.Call(Hash.DRAW_POLY, a.X, a.Y, a.Z, b.X, b.Y, b.Z, c.X, c.Y, c.Z, col.R, col.G, col.B, col.A);\n}\nBTW: Intersecting triangles are not supported: They overlap in the order they were called.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z3" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x29280002282F1928": { + "name": "DRAW_TEXTURED_POLY", + "jhash": "", + "comment": "Used for drawling Deadline trailing lights, see deadline.ytd\n\np15 through p23 are values that appear to be related to illiumation, scaling, and rotation; more testing required.\nFor UVW mapping (u,v,w parameters), reference your favourite internet resource for more details.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z3" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "float", + "name": "u1" + }, + { + "type": "float", + "name": "v1" + }, + { + "type": "float", + "name": "w1" + }, + { + "type": "float", + "name": "u2" + }, + { + "type": "float", + "name": "v2" + }, + { + "type": "float", + "name": "w2" + }, + { + "type": "float", + "name": "u3" + }, + { + "type": "float", + "name": "v3" + }, + { + "type": "float", + "name": "w3" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_DRAW_SPRITE_POLY" + ] + }, + "0x736D7AA1B750856B": { + "name": "DRAW_TEXTURED_POLY_WITH_THREE_COLOURS", + "jhash": "", + "comment": "Used for drawling Deadline trailing lights, see deadline.ytd\n\nEach 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.\nFor UVW mapping (u,v,w parameters), reference your favourite internet resource for more details.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z3" + }, + { + "type": "float", + "name": "red1" + }, + { + "type": "float", + "name": "green1" + }, + { + "type": "float", + "name": "blue1" + }, + { + "type": "int", + "name": "alpha1" + }, + { + "type": "float", + "name": "red2" + }, + { + "type": "float", + "name": "green2" + }, + { + "type": "float", + "name": "blue2" + }, + { + "type": "int", + "name": "alpha2" + }, + { + "type": "float", + "name": "red3" + }, + { + "type": "float", + "name": "green3" + }, + { + "type": "float", + "name": "blue3" + }, + { + "type": "int", + "name": "alpha3" + }, + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "float", + "name": "u1" + }, + { + "type": "float", + "name": "v1" + }, + { + "type": "float", + "name": "w1" + }, + { + "type": "float", + "name": "u2" + }, + { + "type": "float", + "name": "v2" + }, + { + "type": "float", + "name": "w2" + }, + { + "type": "float", + "name": "u3" + }, + { + "type": "float", + "name": "v3" + }, + { + "type": "float", + "name": "w3" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_DRAW_SPRITE_POLY_2" + ] + }, + "0xD3A9971CADAC7252": { + "name": "DRAW_BOX", + "jhash": "0xCD4D9DD5", + "comment": "x,y,z = start pos\nx2,y2,z2 = end pos\n\nDraw's a 3D Box between the two x,y,z coords.\n--------------\nKeep in mind that the edges of the box do only align to the worlds base-vectors. Therefore something like rotation cannot be applied. That means this function is pretty much useless, unless you want a static unicolor box somewhere.\nI recommend using a predefined function to call this.\n[VB.NET]\nPublic Sub DrawBox(a As Vector3, b As Vector3, col As Color)\n [Function].Call(Hash.DRAW_BOX,a.X, a.Y, a.Z,b.X, b.Y, b.Z,col.R, col.G, col.B, col.A)\nEnd Sub\n\n[C#]\npublic void DrawBox(Vector3 a, Vector3 b, Color col)\n{\n Function.Call(Hash.DRAW_BOX,a.X, a.Y, a.Z,b.X, b.Y, b.Z,col.R, col.G, col.B, col.A);\n}", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x23BA6B0C2AD7B0D3": { + "name": "SET_BACKFACECULLING", + "jhash": "0xC44C2F44", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC5C8F970D4EDFF71": { + "name": "SET_DEPTHWRITING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "877" + }, + "0x1DD2139A9A20DCE8": { + "name": "BEGIN_TAKE_MISSION_CREATOR_PHOTO", + "jhash": "0xBA9AD458", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x90A78ECAA4E78453": { + "name": "GET_STATUS_OF_TAKE_MISSION_CREATOR_PHOTO", + "jhash": "0xADBBA287", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x0A46AF8A78DC5E0A": { + "name": "FREE_MEMORY_FOR_MISSION_CREATOR_PHOTO", + "jhash": "0x9E553002", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x4862437A486F91B0": { + "name": "LOAD_MISSION_CREATOR_PHOTO", + "jhash": "0x56C1E488", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1670F8D05056F257": { + "name": "GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO", + "jhash": "0x226B08EA", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x7FA5D82B8F58EC06": { + "name": "BEGIN_CREATE_MISSION_CREATOR_PHOTO_PREVIEW", + "jhash": "0x1F3CADB0", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5B0316762AFD4A64": { + "name": "GET_STATUS_OF_CREATE_MISSION_CREATOR_PHOTO_PREVIEW", + "jhash": "0xA9DC8558", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x346EF3ECAAAB149E": { + "name": "FREE_MEMORY_FOR_MISSION_CREATOR_PHOTO_PREVIEW", + "jhash": "0x88EAF398", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA67C35C56EB1BD9D": { + "name": "BEGIN_TAKE_HIGH_QUALITY_PHOTO", + "jhash": "0x47B0C137", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0D6CA79EEEBD8CA3": { + "name": "GET_STATUS_OF_TAKE_HIGH_QUALITY_PHOTO", + "jhash": "0x65376C9B", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xD801CC02177FA3F1": { + "name": "FREE_MEMORY_FOR_HIGH_QUALITY_PHOTO", + "jhash": "0x9CBA682A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1BBC135A4D25EDDE": { + "name": "SET_TAKEN_PHOTO_IS_MUGSHOT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF3F776ADA161E47D": { + "name": "SET_ARENA_THEME_AND_VARIATION_FOR_TAKEN_PHOTO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "1604" + }, + "0xADD6627C4D325458": { + "name": "SET_ON_ISLAND_X_FOR_TAKEN_PHOTO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2189" + }, + "0x3DEC726C25A11BAC": { + "name": "SAVE_HIGH_QUALITY_PHOTO", + "jhash": "0x3B15D33C", + "comment": "1 match in 1 script. cellphone_controller.\np0 is -1 in scripts.", + "params": [ + { + "type": "int", + "name": "unused" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0C0C4E81E1AC60A0": { + "name": "GET_STATUS_OF_SAVE_HIGH_QUALITY_PHOTO", + "jhash": "0xEC5D0317", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x759650634F07B6B4": { + "name": "BEGIN_CREATE_LOW_QUALITY_COPY_OF_PHOTO", + "jhash": "0x25D569EB", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCB82A0BF0E3E3265": { + "name": "GET_STATUS_OF_CREATE_LOW_QUALITY_COPY_OF_PHOTO", + "jhash": "0xCFCDC518", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_STATUS_OF_DRAW_LOW_QUALITY_PHOTO" + ] + }, + "0x6A12D88881435DCA": { + "name": "FREE_MEMORY_FOR_LOW_QUALITY_PHOTO", + "jhash": "0x108F36CC", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1072F115DAB0717E": { + "name": "DRAW_LOW_QUALITY_PHOTO_TO_PHONE", + "jhash": "0xE9F2B68F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x34D23450F028B0BF": { + "name": "GET_MAXIMUM_NUMBER_OF_PHOTOS", + "jhash": "0x727AA63F", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xDC54A7AF8B3A14EF": { + "name": "GET_MAXIMUM_NUMBER_OF_CLOUD_PHOTOS", + "jhash": "0x239272BD", + "comment": "This function is hard-coded to always return 96.", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_MAXIMUM_NUMBER_OF_PHOTOS_2" + ] + }, + "0x473151EBC762C6DA": { + "name": "GET_CURRENT_NUMBER_OF_CLOUD_PHOTOS", + "jhash": "0x21DBF0C9", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUMBER_OF_PHOTOS", + "_GET_CURRENT_NUMBER_OF_PHOTOS" + ] + }, + "0x2A893980E96B659A": { + "name": "QUEUE_OPERATION_TO_CREATE_SORTED_LIST_OF_PHOTOS", + "jhash": "0x199FABF0", + "comment": "2 matches across 2 scripts. Only showed in appcamera & appmedia. Both were 0.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF5BED327CEA362B1": { + "name": "GET_STATUS_OF_SORTED_LIST_OPERATION", + "jhash": "0x596B900D", + "comment": "3 matches across 3 scripts. First 2 were 0, 3rd was 1. Possibly a bool.\nappcamera, appmedia, and cellphone_controller.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4AF92ACD3141D96C": { + "name": "CLEAR_STATUS_OF_SORTED_LIST_OPERATION", + "jhash": "0xC9EF81ED", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE791DF1F73ED2C8B": { + "name": "DOES_THIS_PHOTO_SLOT_CONTAIN_A_VALID_PHOTO", + "jhash": "0x9D84554C", + "comment": "This function is hard-coded to always return 0.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEC72C258667BE5EA": { + "name": "LOAD_HIGH_QUALITY_PHOTO", + "jhash": "0x9C106AD9", + "comment": "This function is hard-coded to always return 0.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x40AFB081F8ADD4EE": { + "name": "GET_LOAD_HIGH_QUALITY_PHOTO_STATUS", + "jhash": "0x762E5C5F", + "comment": "Hardcoded to always return 2.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_RETURN_TWO" + ] + }, + "0xF49E9A9716A04595": { + "name": "DRAW_LIGHT_WITH_RANGEEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "float", + "name": "range" + }, + { + "type": "float", + "name": "intensity" + }, + { + "type": "float", + "name": "shadow" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DRAW_LIGHT_WITH_RANGE_WITH_SHADOW", + "_DRAW_LIGHT_WITH_RANGE_AND_SHADOW" + ] + }, + "0xF2A1B2771A01DBD4": { + "name": "DRAW_LIGHT_WITH_RANGE", + "jhash": "0x6A396E9A", + "comment": "", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "int", + "name": "colorR" + }, + { + "type": "int", + "name": "colorG" + }, + { + "type": "int", + "name": "colorB" + }, + { + "type": "float", + "name": "range" + }, + { + "type": "float", + "name": "intensity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD0F64B265C8C8B33": { + "name": "DRAW_SPOT_LIGHT", + "jhash": "0xBDBC410C", + "comment": "Parameters:\n* pos - coordinate where the spotlight is located\n* dir - the direction vector the spotlight should aim at from its current position\n* r,g,b - color of the spotlight\n* distance - the maximum distance the light can reach\n* brightness - the brightness of the light\n* roundness - \"smoothness\" of the circle edge\n* radius - the radius size of the spotlight\n* falloff - the falloff size of the light's edge (example: www.i.imgur.com/DemAWeO.jpg)\n\nExample in C# (spotlight aims at the closest vehicle):\nVector3 myPos = Game.Player.Character.Position;\nVehicle nearest = World.GetClosestVehicle(myPos , 1000f);\nVector3 destinationCoords = nearest.Position;\nVector3 dirVector = destinationCoords - myPos;\ndirVector.Normalize();\nFunction.Call(Hash.DRAW_SPOT_LIGHT, pos.X, pos.Y, pos.Z, dirVector.X, dirVector.Y, dirVector.Z, 255, 255, 255, 100.0f, 1f, 0.0f, 13.0f, 1f);", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "dirX" + }, + { + "type": "float", + "name": "dirY" + }, + { + "type": "float", + "name": "dirZ" + }, + { + "type": "int", + "name": "colorR" + }, + { + "type": "int", + "name": "colorG" + }, + { + "type": "int", + "name": "colorB" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "float", + "name": "brightness" + }, + { + "type": "float", + "name": "hardness" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "falloff" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5BCA583A583194DB": { + "name": "DRAW_SHADOWED_SPOT_LIGHT", + "jhash": "0x32BF9598", + "comment": "", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "dirX" + }, + { + "type": "float", + "name": "dirY" + }, + { + "type": "float", + "name": "dirZ" + }, + { + "type": "int", + "name": "colorR" + }, + { + "type": "int", + "name": "colorG" + }, + { + "type": "int", + "name": "colorB" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "float", + "name": "brightness" + }, + { + "type": "float", + "name": "roundness" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "falloff" + }, + { + "type": "int", + "name": "shadowId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DRAW_SPOT_LIGHT_WITH_SHADOW" + ] + }, + "0xC9B18B4619F48F7B": { + "name": "FADE_UP_PED_LIGHT", + "jhash": "0x93628786", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDEADC0DEDEADC0DE": { + "name": "UPDATE_LIGHTS_ON_ENTITY", + "jhash": "0xC12AC47A", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ENTITY_DESCRIPTION_TEXT" + ] + }, + "0x9641588DAB93B4B5": { + "name": "SET_LIGHT_OVERRIDE_MAX_INTENSITY_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "877" + }, + "0x393BD2275CEB7793": { + "name": "GET_LIGHT_OVERRIDE_MAX_INTENSITY_SCALE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "float", + "build": "1103" + }, + "0x28477EC23D892089": { + "name": "DRAW_MARKER", + "jhash": "0x48D84A02", + "comment": "enum MarkerTypes\n{\n MarkerTypeUpsideDownCone = 0,\n MarkerTypeVerticalCylinder = 1,\n MarkerTypeThickChevronUp = 2,\n MarkerTypeThinChevronUp = 3,\n MarkerTypeCheckeredFlagRect = 4,\n MarkerTypeCheckeredFlagCircle = 5,\n MarkerTypeVerticleCircle = 6,\n MarkerTypePlaneModel = 7,\n MarkerTypeLostMCDark = 8,\n MarkerTypeLostMCLight = 9,\n MarkerTypeNumber0 = 10,\n MarkerTypeNumber1 = 11,\n MarkerTypeNumber2 = 12,\n MarkerTypeNumber3 = 13,\n MarkerTypeNumber4 = 14,\n MarkerTypeNumber5 = 15,\n MarkerTypeNumber6 = 16,\n MarkerTypeNumber7 = 17,\n MarkerTypeNumber8 = 18,\n MarkerTypeNumber9 = 19,\n MarkerTypeChevronUpx1 = 20,\n MarkerTypeChevronUpx2 = 21,\n MarkerTypeChevronUpx3 = 22,\n MarkerTypeHorizontalCircleFat = 23,\n MarkerTypeReplayIcon = 24,\n MarkerTypeHorizontalCircleSkinny = 25,\n MarkerTypeHorizontalCircleSkinny_Arrow = 26,\n MarkerTypeHorizontalSplitArrowCircle = 27,\n MarkerTypeDebugSphere = 28,\n MarkerTypeDallorSign = 29,\n MarkerTypeHorizontalBars = 30,\n MarkerTypeWolfHead = 31\n};\n\ndirX/Y/Z represent a heading on each axis in which the marker should face, alternatively you can rotate each axis independently with rotX/Y/Z (and set dirX/Y/Z all to 0).\n\nfaceCamera - Rotates only the y-axis (the heading) towards the camera\n\np19 - no effect, default value in script is 2\n\nrotate - Rotates only on the y-axis (the heading)\n\ntextureDict - Name of texture dictionary to load texture from (e.g. \"GolfPutting\")\n\ntextureName - Name of texture inside dictionary to load (e.g. \"PuttingMarker\")\n\ndrawOnEnts - Draws the marker onto any entities that intersect it\n\nbasically 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:\n\nbj.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);\n\nhis is what I used to draw an amber downward pointing chevron \"V\", has to be redrawn every frame. The 180 is for 180 degrees rotation around the Y axis, the 50 is alpha, assuming max is 100, but it will accept 255.\n\nGRAPHICS::DRAW_MARKER(2, v.x, v.y, v.z + 2, 0, 0, 0, 0, 180, 0, 2, 2, 2, 255, 128, 0, 50, 0, 1, 1, 0, 0, 0, 0);\n\n", + "params": [ + { + "type": "int", + "name": "type" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "dirX" + }, + { + "type": "float", + "name": "dirY" + }, + { + "type": "float", + "name": "dirZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "scaleX" + }, + { + "type": "float", + "name": "scaleY" + }, + { + "type": "float", + "name": "scaleZ" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "BOOL", + "name": "bobUpAndDown" + }, + { + "type": "BOOL", + "name": "faceCamera" + }, + { + "type": "int", + "name": "p19" + }, + { + "type": "BOOL", + "name": "rotate" + }, + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "BOOL", + "name": "drawOnEnts" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE82728F0DE75D13A": { + "name": "DRAW_MARKER_EX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "type" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "dirX" + }, + { + "type": "float", + "name": "dirY" + }, + { + "type": "float", + "name": "dirZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "scaleX" + }, + { + "type": "float", + "name": "scaleY" + }, + { + "type": "float", + "name": "scaleZ" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "BOOL", + "name": "bobUpAndDown" + }, + { + "type": "BOOL", + "name": "faceCamera" + }, + { + "type": "Any", + "name": "p19" + }, + { + "type": "BOOL", + "name": "rotate" + }, + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "BOOL", + "name": "drawOnEnts" + }, + { + "type": "BOOL", + "name": "p24" + }, + { + "type": "BOOL", + "name": "p25" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_DRAW_MARKER_2" + ] + }, + "0x799017F9E3B10112": { + "name": "DRAW_MARKER_SPHERE", + "jhash": "", + "comment": "Draws a 3D sphere, typically seen in the GTA:O freemode event \"Penned In\".\nExample https://imgur.com/nCbtS4H", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "float", + "name": "alpha" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_DRAW_SPHERE" + ] + }, + "0x0134F0835AB6BFCB": { + "name": "CREATE_CHECKPOINT", + "jhash": "0xF541B690", + "comment": "Creates a checkpoint. Returns the handle of the checkpoint.\n\n20/03/17 : Attention, checkpoints are already handled by the game itself, so you must not loop it like markers.\n\nParameters:\n* type - The type of checkpoint to create. See below for a list of checkpoint types.\n* pos1 - The position of the checkpoint.\n* pos2 - The position of the next checkpoint to point to.\n* radius - The radius of the checkpoint.\n* color - The color of the checkpoint.\n* reserved - Special parameter, see below for details. Usually set to 0 in the scripts.\n\nCheckpoint types:\n0-4---------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker\n5-9---------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker\n10-14-------Ring: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker\n15-19-------1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker \n20-24-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker \n25-29-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker \n30-34-------Cylinder: 1 arrow, 2 arrow, 3 arrows, CycleArrow, Checker \n35-38-------Ring: Airplane Up, Left, Right, UpsideDown\n39----------?\n40----------Ring: just a ring\n41----------?\n42-44-------Cylinder w/ number (uses 'reserved' parameter)\n45-47-------Cylinder no arrow or number\n\nIf using type 42-44, reserved sets number / number and shape to display\n\n0-99------------Just numbers (0-99)\n100-109-----------------Arrow (0-9)\n110-119------------Two arrows (0-9)\n120-129----------Three arrows (0-9)\n130-139----------------Circle (0-9)\n140-149------------CycleArrow (0-9)\n150-159----------------Circle (0-9)\n160-169----Circle w/ pointer (0-9)\n170-179-------Perforated ring (0-9)\n180-189----------------Sphere (0-9)", + "params": [ + { + "type": "int", + "name": "type" + }, + { + "type": "float", + "name": "posX1" + }, + { + "type": "float", + "name": "posY1" + }, + { + "type": "float", + "name": "posZ1" + }, + { + "type": "float", + "name": "posX2" + }, + { + "type": "float", + "name": "posY2" + }, + { + "type": "float", + "name": "posZ2" + }, + { + "type": "float", + "name": "diameter" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "int", + "name": "reserved" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4B5B4DA5D79F1943": { + "name": "SET_CHECKPOINT_INSIDE_CYLINDER_HEIGHT_SCALE", + "jhash": "0x80151CCF", + "comment": "", + "params": [ + { + "type": "int", + "name": "checkpoint" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CHECKPOINT_SCALE" + ] + }, + "0x44621483FF966526": { + "name": "SET_CHECKPOINT_INSIDE_CYLINDER_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "checkpoint" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_CHECKPOINT_ICON_SCALE" + ] + }, + "0x2707AAE9D9297D89": { + "name": "SET_CHECKPOINT_CYLINDER_HEIGHT", + "jhash": "0xFF0F9B22", + "comment": "Sets the cylinder height of the checkpoint.\n\nParameters:\n* nearHeight - The height of the checkpoint when inside of the radius.\n* farHeight - The height of the checkpoint when outside of the radius.\n* radius - The radius of the checkpoint.", + "params": [ + { + "type": "int", + "name": "checkpoint" + }, + { + "type": "float", + "name": "nearHeight" + }, + { + "type": "float", + "name": "farHeight" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7167371E8AD747F7": { + "name": "SET_CHECKPOINT_RGBA", + "jhash": "0xEF9C8CB3", + "comment": "Sets the checkpoint color.", + "params": [ + { + "type": "int", + "name": "checkpoint" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB9EA40907C680580": { + "name": "SET_CHECKPOINT_RGBA2", + "jhash": "0xA5456DBB", + "comment": "Sets the checkpoint icon color.", + "params": [ + { + "type": "int", + "name": "checkpoint" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CHECKPOINT_ICON_RGBA" + ] + }, + "0xF51D36185993515D": { + "name": "SET_CHECKPOINT_CLIPPLANE_WITH_POS_NORM", + "jhash": "0x20EABD0F", + "comment": "This does not move an existing checkpoint... so wtf.", + "params": [ + { + "type": "int", + "name": "checkpoint" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "unkX" + }, + { + "type": "float", + "name": "unkY" + }, + { + "type": "float", + "name": "unkZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFCF6788FC4860CD4": { + "name": "SET_CHECKPOINT_FORCE_OLD_ARROW_POINTING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "checkpoint" + } + ], + "return_type": "void", + "build": "1734" + }, + "0x615D3925E87A3B26": { + "name": "SET_CHECKPOINT_DECAL_ROT_ALIGNED_TO_CAMERA_ROT", + "jhash": "0x1E3A3126", + "comment": "Unknown. Called after creating a checkpoint (type: 51) in the creators.", + "params": [ + { + "type": "int", + "name": "checkpoint" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDB1EA9411C8911EC": { + "name": "SET_CHECKPOINT_FORCE_DIRECTION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "checkpoint" + } + ], + "return_type": "void", + "build": "1180" + }, + "0x3C788E7F6438754D": { + "name": "SET_CHECKPOINT_DIRECTION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "checkpoint" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "void", + "build": "1180" + }, + "0xF5ED37F54CD4D52E": { + "name": "DELETE_CHECKPOINT", + "jhash": "0xB66CF3CA", + "comment": "", + "params": [ + { + "type": "int", + "name": "checkpoint" + } + ], + "return_type": "void", + "build": "323" + }, + "0x22A249A53034450A": { + "name": "DONT_RENDER_IN_GAME_UI", + "jhash": "0x932FDB81", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDC459CFA0CCE245B": { + "name": "FORCE_RENDER_IN_GAME_UI", + "jhash": "0x7E946E87", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDFA2EF8E04127DD5": { + "name": "REQUEST_STREAMED_TEXTURE_DICT", + "jhash": "0x4C9B035F", + "comment": "This function can requests texture dictonaries from following RPFs:\nscaleform_generic.rpf\nscaleform_minigames.rpf\nscaleform_minimap.rpf\nscaleform_web.rpf\n\nlast param isnt a toggle", + "params": [ + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0145F696AAAAD2E4": { + "name": "HAS_STREAMED_TEXTURE_DICT_LOADED", + "jhash": "0x3F436EEF", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "textureDict" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBE2CACCF5A8AA805": { + "name": "SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED", + "jhash": "0xF07DDA38", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "textureDict" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3A618A217E5154F0": { + "name": "DRAW_RECT", + "jhash": "0xDD2BFC77", + "comment": "Draws a rectangle on the screen.\n\n-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)\n\n-y: The relative Y point of the center of the rectangle. (0.0-1.0, 0.0 is the top edge of the screen, 1.0 is the bottom edge of the screen)\n\n-width: The relative width of the rectangle. (0.0-1.0, 1.0 means the whole screen width)\n\n-height: The relative height of the rectangle. (0.0-1.0, 1.0 means the whole screen height)\n\n-R: Red part of the color. (0-255)\n\n-G: Green part of the color. (0-255)\n\n-B: Blue part of the color. (0-255)\n\n-A: Alpha part of the color. (0-255, 0 means totally transparent, 255 means totally opaque)\n\nThe total number of rectangles to be drawn in one frame is apparently limited to 399.\n", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "a" + }, + { + "type": "BOOL", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC6372ECD45D73BCD": { + "name": "SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU", + "jhash": "0xF8FBCC25", + "comment": "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.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x61BB1D9B3A95D802": { + "name": "SET_SCRIPT_GFX_DRAW_ORDER", + "jhash": "0xADF81D24", + "comment": "Sets the draw order for script draw commands.\n\nExamples from decompiled scripts:\nGRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER(7);\nGRAPHICS::DRAW_RECT(0.5, 0.5, 3.0, 3.0, v_4, v_5, v_6, a_0._f172, 0);\n\nGRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER(1);\nGRAPHICS::DRAW_RECT(0.5, 0.5, 1.5, 1.5, 0, 0, 0, 255, 0);", + "params": [ + { + "type": "int", + "name": "drawOrder" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_2D_LAYER", + "_SET_UI_LAYER" + ] + }, + "0xB8A850F20A067EB6": { + "name": "SET_SCRIPT_GFX_ALIGN", + "jhash": "0x228A2598", + "comment": "horizontalAlign: The horizontal alignment. This can be 67 ('C'), 76 ('L'), or 82 ('R').\nverticalAlign: The vertical alignment. This can be 67 ('C'), 66 ('B'), or 84 ('T').\n\nThis 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.\n\nThese values are equivalent to alignX and alignY in common:/data/ui/frontend.xml, which can be used as a baseline for default alignment.\n\nUsing any other value (including 0) will result in the safe zone not being taken into account for this draw. The canonical value for this is 'I' (73).\n\nFor example, you can use SET_SCRIPT_GFX_ALIGN(0, 84) to only scale on the Y axis (to the top), but not change the X axis.\n\nTo reset the value, use RESET_SCRIPT_GFX_ALIGN.", + "params": [ + { + "type": "int", + "name": "horizontalAlign" + }, + { + "type": "int", + "name": "verticalAlign" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_SCREEN_DRAW_POSITION", + "_SCREEN_DRAW_POSITION_BEGIN" + ] + }, + "0xE3A3DB414A373DAB": { + "name": "RESET_SCRIPT_GFX_ALIGN", + "jhash": "0x3FE33BD6", + "comment": "This function resets the alignment set using SET_SCRIPT_GFX_ALIGN and SET_SCRIPT_GFX_ALIGN_PARAMS to the default values ('I', 'I'; 0, 0, 0, 0).\nThis should be used after having used the aforementioned functions in order to not affect any other scripts attempting to draw.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_SCREEN_DRAW_POSITION_END" + ] + }, + "0xF5A2C681787E579D": { + "name": "SET_SCRIPT_GFX_ALIGN_PARAMS", + "jhash": "0x76C641E4", + "comment": "Sets the draw offset/calculated size for SET_SCRIPT_GFX_ALIGN. If using any alignment other than left/top, the game expects the width/height to be configured using this native in order to get a proper starting position for the draw command.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "w" + }, + { + "type": "float", + "name": "h" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SCREEN_DRAW_POSITION_RATIO" + ] + }, + "0x6DD8F5AA635EB4B2": { + "name": "GET_SCRIPT_GFX_ALIGN_POSITION", + "jhash": "", + "comment": "Calculates the effective X/Y fractions when applying the values set by SET_SCRIPT_GFX_ALIGN and SET_SCRIPT_GFX_ALIGN_PARAMS", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float*", + "name": "calculatedX" + }, + { + "type": "float*", + "name": "calculatedY" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_SCRIPT_GFX_POSITION" + ] + }, + "0xBAF107B6BB2C97F0": { + "name": "GET_SAFE_ZONE_SIZE", + "jhash": "0x3F0D1A6F", + "comment": "Gets the scale of safe zone. if the safe zone size scale is max, it will return 1.0.", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xE7FFAE5EBF23D890": { + "name": "DRAW_SPRITE", + "jhash": "0x1FEC16B0", + "comment": "Draws a 2D sprite on the screen.\n\nParameters:\ntextureDict - Name of texture dictionary to load texture from (e.g. \"CommonMenu\", \"MPWeaponsCommon\", etc.)\n\ntextureName - Name of texture to load from texture dictionary (e.g. \"last_team_standing_icon\", \"tennis_icon\", etc.)\n\nscreenX/Y - Screen offset (0.5 = center)\nscaleX/Y - Texture scaling. Negative values can be used to flip the texture on that axis. (0.5 = half)\n\nheading - Texture rotation in degrees (default = 0.0) positive is clockwise, measured in degrees\n\nred,green,blue - Sprite color (default = 255/255/255)\n\nalpha - opacity level", + "params": [ + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "float", + "name": "screenX" + }, + { + "type": "float", + "name": "screenY" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "BOOL", + "name": "p11" + }, + { + "type": "Any", + "name": "p12" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2D3B147AFAD49DE0": { + "name": "DRAW_SPRITE_ARX", + "jhash": "", + "comment": "Used in arcade games and Beam hack minigame in Doomsday Heist. I will most certainly dive into this to try replicate arcade games.\nx position must be between 0.0 and 1.0 (1.0 being the most right side of the screen)\ny position must be between 0.0 and 1.0 (1.0 being the most bottom side of the screen)\nwidth 0.0 - 1.0 is the reasonable amount generally\nheight 0.0 - 1.0 is the reasonable amount generally\np6 almost always 0.0\np11 seems to be unknown but almost always 0 int", + "params": [ + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "Any", + "name": "p11" + }, + { + "type": "Any", + "name": "p12" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x2BC54A8188768488": { + "name": "DRAW_SPRITE_NAMED_RENDERTARGET", + "jhash": "", + "comment": "Similar to _DRAW_SPRITE, but seems to be some kind of \"interactive\" sprite, at least used by render targets.\nThese seem to be the only dicts ever requested by this native:\n\nprop_screen_biker_laptop\nProp_Screen_GR_Disruption\nProp_Screen_TaleOfUs\nprop_screen_nightclub\nProp_Screen_IE_Adhawk\nprop_screen_sm_free_trade_shipping\nprop_screen_hacker_truck\nMPDesktop\nProp_Screen_Nightclub\nAnd a few others\n", + "params": [ + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "float", + "name": "screenX" + }, + { + "type": "float", + "name": "screenY" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "Any", + "name": "p11" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_DRAW_INTERACTIVE_SPRITE" + ] + }, + "0x95812F9B26074726": { + "name": "DRAW_SPRITE_ARX_WITH_UV", + "jhash": "", + "comment": "Similar to DRAW_SPRITE, but allows to specify the texture coordinates used to draw the sprite.\n\nu1, v1 - texture coordinates for the top-left corner\nu2, v2 - texture coordinates for the bottom-right corner", + "params": [ + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "float", + "name": "u1" + }, + { + "type": "float", + "name": "v1" + }, + { + "type": "float", + "name": "u2" + }, + { + "type": "float", + "name": "v2" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "Any", + "name": "p15" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_DRAW_SPRITE_UV" + ] + }, + "0x9CD43EEE12BF4DD0": { + "name": "ADD_ENTITY_ICON", + "jhash": "0xF3027D21", + "comment": "Example:\nGRAPHICS::ADD_ENTITY_ICON(a_0, \"MP_Arrow\");\n\nI tried this and nothing happened...", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "icon" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE0E8BEECCA96BA31": { + "name": "SET_ENTITY_ICON_VISIBILITY", + "jhash": "0xD1D2FD52", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1D5F595CCAE2E238": { + "name": "SET_ENTITY_ICON_COLOR", + "jhash": "0x6EE1E946", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA0008F3BBB8F416": { + "name": "SET_DRAW_ORIGIN", + "jhash": "0xE10198D5", + "comment": "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.\nFrom now on, the screen coordinate which displays the given world coordinate on the screen is seen as x=0,y=0.\n\nExample in C#:\nVector3 boneCoord = somePed.GetBoneCoord(Bone.SKEL_Head);\nFunction.Call(Hash.SET_DRAW_ORIGIN, boneCoord.X, boneCoord.Y, boneCoord.Z, 0);\nFunction.Call(Hash.DRAW_SPRITE, \"helicopterhud\", \"hud_corner\", -0.01, -0.015, 0.013, 0.013, 0.0, 255, 0, 0, 200);\nFunction.Call(Hash.DRAW_SPRITE, \"helicopterhud\", \"hud_corner\", 0.01, -0.015, 0.013, 0.013, 90.0, 255, 0, 0, 200);\nFunction.Call(Hash.DRAW_SPRITE, \"helicopterhud\", \"hud_corner\", -0.01, 0.015, 0.013, 0.013, 270.0, 255, 0, 0, 200);\nFunction.Call(Hash.DRAW_SPRITE, \"helicopterhud\", \"hud_corner\", 0.01, 0.015, 0.013, 0.013, 180.0, 255, 0, 0, 200);\nFunction.Call(Hash.CLEAR_DRAW_ORIGIN);\n\nResult: www11.pic-upload.de/19.06.15/bkqohvil2uao.jpg\nIf the pedestrian starts walking around now, the sprites are always around her head, no matter where the head is displayed on the screen.\n\nThis function also effects the drawing of texts and other UI-elements.\nThe effect can be reset by calling GRAPHICS::CLEAR_DRAW_ORIGIN().", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFF0B610F6BE0D7AF": { + "name": "CLEAR_DRAW_ORIGIN", + "jhash": "0xDD76B263", + "comment": "Resets the screen's draw-origin which was changed by the function GRAPHICS::SET_DRAW_ORIGIN(...) back to x=0,y=0.\n\nSee GRAPHICS::SET_DRAW_ORIGIN(...) for further information.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x338D9F609FD632DB": { + "name": "SET_BINK_MOVIE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "int", + "build": "1290", + "old_names": [ + "_SET_BINK_MOVIE_REQUESTED", + "_SET_BINK_MOVIE" + ] + }, + "0x70D2CC8A542A973C": { + "name": "PLAY_BINK_MOVIE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "binkMovie" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_PLAY_BINK_MOVIE" + ] + }, + "0x63606A61DE68898A": { + "name": "STOP_BINK_MOVIE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "binkMovie" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_STOP_BINK_MOVIE" + ] + }, + "0x04D950EEFA4EED8C": { + "name": "RELEASE_BINK_MOVIE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "binkMovie" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_RELEASE_BINK_MOVIE" + ] + }, + "0x7118E83EEB9F7238": { + "name": "DRAW_BINK_MOVIE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "binkMovie" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "a" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_DRAW_BINK_MOVIE" + ] + }, + "0x0CB6B3446855B57A": { + "name": "SET_BINK_MOVIE_TIME", + "jhash": "", + "comment": "In percentage: 0.0 - 100.0", + "params": [ + { + "type": "int", + "name": "binkMovie" + }, + { + "type": "float", + "name": "progress" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_BINK_MOVIE_PROGRESS", + "_SET_BINK_MOVIE_TIME" + ] + }, + "0x8E17DDD6B9D5BF29": { + "name": "GET_BINK_MOVIE_TIME", + "jhash": "", + "comment": "In percentage: 0.0 - 100.0", + "params": [ + { + "type": "int", + "name": "binkMovie" + } + ], + "return_type": "float", + "build": "1734", + "old_names": [ + "_GET_BINK_MOVIE_TIME" + ] + }, + "0xAFF33B1178172223": { + "name": "SET_BINK_MOVIE_VOLUME", + "jhash": "", + "comment": "binkMovie: Is return value from _SET_BINK_MOVIE. Has something to do with bink volume? (audRequestedSettings::SetVolumeCurveScale)", + "params": [ + { + "type": "int", + "name": "binkMovie" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_BINK_MOVIE_UNK", + "_SET_BINK_MOVIE_VOLUME" + ] + }, + "0x845BAD77CC770633": { + "name": "ATTACH_TV_AUDIO_TO_ENTITY", + "jhash": "0x784944DB", + "comment": "Might be more appropriate in AUDIO?", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF816F2933752322D": { + "name": "SET_BINK_MOVIE_AUDIO_FRONTEND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "binkMovie" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_SET_BINK_MOVIE_UNK_2" + ] + }, + "0x113D2C5DC57E1774": { + "name": "SET_TV_AUDIO_FRONTEND", + "jhash": "0x2E0DFA35", + "comment": "Probably changes tvs from being a 3d audio to being \"global\" audio", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6805D58CAA427B72": { + "name": "SET_BINK_SHOULD_SKIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "binkMovie" + }, + { + "type": "BOOL", + "name": "bShouldSkip" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_BINK_SHOULD_SKIP" + ] + }, + "0xB66064452270E8F1": { + "name": "LOAD_MOVIE_MESH_SET", + "jhash": "0x9627905C", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "movieMeshSetName" + } + ], + "return_type": "int", + "build": "323" + }, + "0xEB119AA014E89183": { + "name": "RELEASE_MOVIE_MESH_SET", + "jhash": "0x4FA5501D", + "comment": "", + "params": [ + { + "type": "int", + "name": "movieMeshSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9B6E70C5CEEF4EEB": { + "name": "QUERY_MOVIE_MESH_SET_STATE", + "jhash": "0x9D5D9B38", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x888D57E407E63624": { + "name": "GET_SCREEN_RESOLUTION", + "jhash": "0x29F3572F", + "comment": "int screenresx,screenresy;\nGET_SCREEN_RESOLUTION(&screenresx,&screenresy);", + "params": [ + { + "type": "int*", + "name": "x" + }, + { + "type": "int*", + "name": "y" + } + ], + "return_type": "void", + "build": "323" + }, + "0x873C9F3104101DD3": { + "name": "GET_ACTUAL_SCREEN_RESOLUTION", + "jhash": "", + "comment": "Returns current screen resolution.", + "params": [ + { + "type": "int*", + "name": "x" + }, + { + "type": "int*", + "name": "y" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_SCREEN_ACTIVE_RESOLUTION", + "_GET_ACTIVE_SCREEN_RESOLUTION" + ] + }, + "0xF1307EF624A80D87": { + "name": "GET_ASPECT_RATIO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "b" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_SCREEN_ASPECT_RATIO", + "_GET_ASPECT_RATIO" + ] + }, + "0xB2EBE8CBC58B90E9": { + "name": "GET_SCREEN_ASPECT_RATIO", + "jhash": "", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0x30CF4BDA4FCB1905": { + "name": "GET_IS_WIDESCREEN", + "jhash": "0xEC717AEF", + "comment": "Setting Aspect Ratio Manually in game will return:\n\nfalse - for Narrow format Aspect Ratios (3:2, 4:3, 5:4, etc. )\ntrue - for Wide format Aspect Ratios (5:3, 16:9, 16:10, etc. )\n\nSetting Aspect Ratio to \"Auto\" in game will return \"false\" or \"true\" based on the actual set Resolution Ratio.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x84ED31191CC5D2C9": { + "name": "GET_IS_HIDEF", + "jhash": "0x1C340359", + "comment": "false = Any resolution < 1280x720\ntrue = Any resolution >= 1280x720", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEFABC7722293DA7C": { + "name": "ADJUST_NEXT_POS_SIZE_AS_NORMALIZED_16_9", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x18F621F7A5B1F85D": { + "name": "SET_NIGHTVISION", + "jhash": "0xD1E5565F", + "comment": "Enables Night Vision.\n\nExample:\nC#: Function.Call(Hash.SET_NIGHTVISION, true);\nC++: GRAPHICS::SET_NIGHTVISION(true);\n\nBOOL toggle:\ntrue = turns night vision on for your player.\nfalse = turns night vision off for your player.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x35FB78DC42B7BD21": { + "name": "GET_REQUESTINGNIGHTVISION", + "jhash": "0xF3A6309E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2202A3F42C8E5F79": { + "name": "GET_USINGNIGHTVISION", + "jhash": "0x62619061", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_NIGHTVISION_INACTIVE", + "_IS_NIGHTVISION_ACTIVE" + ] + }, + "0xEF398BEEE4EF45F9": { + "name": "SET_EXPOSURETWEAK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x814AF7DCAACC597B": { + "name": "FORCE_EXPOSURE_READBACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "372" + }, + "0x43FA7CBE20DAB219": { + "name": "OVERRIDE_NIGHTVISION_LIGHT_RANGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xE787BF1C5CF823C9": { + "name": "SET_NOISEOVERIDE", + "jhash": "0xD576F5DD", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCB6A7C3BB17A0C67": { + "name": "SET_NOISINESSOVERIDE", + "jhash": "0x046B62D9", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x34E82F05DF2974F5": { + "name": "GET_SCREEN_COORD_FROM_WORLD_COORD", + "jhash": "0x1F950E4B", + "comment": "Convert a world coordinate into its relative screen coordinate. (WorldToScreen)\n\nReturns a boolean; whether or not the operation was successful. It will return false if the coordinates given are not visible to the rendering camera.\n\n\nFor .NET users...\n\nVB:\nPublic Shared Function World3DToScreen2d(pos as vector3) As Vector2\n\n Dim x2dp, y2dp As New Native.OutputArgument\n\n Native.Function.Call(Of Boolean)(Native.Hash.GET_SCREEN_COORD_FROM_WORLD_COORD , pos.x, pos.y, pos.z, x2dp, y2dp)\n Return New Vector2(x2dp.GetResult(Of Single), y2dp.GetResult(Of Single))\n \n End Function\n\nC#:\nVector2 World3DToScreen2d(Vector3 pos)\n {\n var x2dp = new OutputArgument();\n var y2dp = new OutputArgument();\n\n Function.Call(Hash.GET_SCREEN_COORD_FROM_WORLD_COORD , pos.X, pos.Y, pos.Z, x2dp, y2dp);\n return new Vector2(x2dp.GetResult(), y2dp.GetResult());\n }\n//USE VERY SMALL VALUES FOR THE SCALE OF RECTS/TEXT because it is dramatically larger on screen than in 3D, e.g '0.05' small.\n\nUsed to be called _WORLD3D_TO_SCREEN2D\n\nI thought we lost you from the scene forever. It does seem however that calling SET_DRAW_ORIGIN then your natives, then ending it. Seems to work better for certain things such as keeping boxes around people for a predator missile e.g.", + "params": [ + { + "type": "float", + "name": "worldX" + }, + { + "type": "float", + "name": "worldY" + }, + { + "type": "float", + "name": "worldZ" + }, + { + "type": "float*", + "name": "screenX" + }, + { + "type": "float*", + "name": "screenY" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_WORLD3D_TO_SCREEN2D" + ] + }, + "0x35736EE65BD00C11": { + "name": "GET_TEXTURE_RESOLUTION", + "jhash": "0x096DAA4D", + "comment": "Returns the texture resolution of the passed texture dict+name.\n\nNote: Most texture resolutions are doubled compared to the console version of the game.", + "params": [ + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x95EB5E34F821BABE": { + "name": "OVERRIDE_PED_CREW_LOGO_TEXTURE", + "jhash": "", + "comment": "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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "txd" + }, + { + "type": "const char*", + "name": "txn" + } + ], + "return_type": "BOOL", + "build": "877", + "old_names": [ + "_OVERRIDE_PED_BADGE_TEXTURE" + ] + }, + "0xE2892E7E55D7073A": { + "name": "SET_DISTANCE_BLUR_STRENGTH_OVERRIDE", + "jhash": "0x455F1084", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0AB84296FED9CFC6": { + "name": "SET_FLASH", + "jhash": "0x7E55A1EE", + "comment": "Purpose of p0 and p1 unknown.", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "fadeIn" + }, + { + "type": "float", + "name": "duration" + }, + { + "type": "float", + "name": "fadeOut" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3669F1B198DCAA4F": { + "name": "DISABLE_OCCLUSION_THIS_FRAME", + "jhash": "0x0DCC0B8B", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1268615ACE24D504": { + "name": "SET_ARTIFICIAL_LIGHTS_STATE", + "jhash": "0xAA2A0EAF", + "comment": "Does not affect weapons, particles, fire/explosions, flashlights or the sun.\nWhen 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.\n\nUsed in Humane Labs Heist for EMP.\n\nstate: True turns off all artificial light sources in the map: buildings, street lights, car lights, etc. False turns them back on.", + "params": [ + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BLACKOUT" + ] + }, + "0xE2B187C0939B3D32": { + "name": "SET_ARTIFICIAL_VEHICLE_LIGHTS_STATE", + "jhash": "", + "comment": "If \"blackout\" is enabled, this native allows you to ignore \"blackout\" for vehicles.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2060", + "old_names": [ + "_SET_ARTIFICIAL_LIGHTS_STATE_AFFECTS_VEHICLES" + ] + }, + "0xC35A6D07C93802B2": { + "name": "DISABLE_HDTEX_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE2C9439ED45DEA60": { + "name": "CREATE_TRACKED_POINT", + "jhash": "0x3129C31A", + "comment": "Creates a tracked point, useful for checking the visibility of a 3D point on screen.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x164ECBB3CF750CB0": { + "name": "SET_TRACKED_POINT_INFO", + "jhash": "0x28689AA4", + "comment": "", + "params": [ + { + "type": "int", + "name": "point" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC45CCDAAC9221CA8": { + "name": "IS_TRACKED_POINT_VISIBLE", + "jhash": "0x0BFC4F64", + "comment": "", + "params": [ + { + "type": "int", + "name": "point" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB25DC90BAD56CA42": { + "name": "DESTROY_TRACKED_POINT", + "jhash": "0x14AC675F", + "comment": "", + "params": [ + { + "type": "int", + "name": "point" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBE197EAA669238F4": { + "name": "SET_GRASS_CULL_SPHERE", + "jhash": "", + "comment": "This function is hard-coded to always return 0.", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "int", + "build": "323" + }, + "0x61F95E5BB3E0A8C6": { + "name": "REMOVE_GRASS_CULL_SPHERE", + "jhash": "", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "int", + "name": "handle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAE51BC858F32BA66": { + "name": "PROCGRASS_ENABLE_CULLSPHERE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "handle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "323" + }, + "0x649C97D52332341A": { + "name": "PROCGRASS_DISABLE_CULLSPHERE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "handle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2C42340F916C5930": { + "name": "PROCGRASS_IS_CULLSPHERE_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "handle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x14FC5833464340A8": { + "name": "PROCGRASS_ENABLE_AMBSCALESCAN", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x0218BA067D249DEA": { + "name": "PROCGRASS_DISABLE_AMBSCALESCAN", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1612C45F9E3E0D44": { + "name": "DISABLE_PROCOBJ_CREATION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5DEBD9C4DC995692": { + "name": "ENABLE_PROCOBJ_CREATION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAAE9BE70EC7C69AB": { + "name": "GRASSBATCH_ENABLE_FLATTENING_EXT_IN_SPHERE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x6D955F6A9E0295B1": { + "name": "GRASSBATCH_ENABLE_FLATTENING_IN_SPHERE", + "jhash": "", + "comment": "Wraps 0xAAE9BE70EC7C69AB with FLT_MAX as p7, Jenkins: 0x73E96210?", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GRASS_LOD_SHRINK_SCRIPT_AREAS" + ] + }, + "0x302C91AB2D477F7E": { + "name": "GRASSBATCH_DISABLE_FLATTENING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_GRASS_LOD_RESET_SCRIPT_AREAS" + ] + }, + "0x03FC694AE06C5A20": { + "name": "CASCADE_SHADOWS_INIT_SESSION", + "jhash": "0x48F16186", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD2936CAB8B58FCBD": { + "name": "CASCADE_SHADOWS_SET_CASCADE_BOUNDS", + "jhash": "0x84F05943", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5F0F3F56635809EF": { + "name": "CASCADE_SHADOWS_SET_CASCADE_BOUNDS_SCALE", + "jhash": "0x13D4ABC0", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5E9DAF5A20F15908": { + "name": "CASCADE_SHADOWS_SET_ENTITY_TRACKER_SCALE", + "jhash": "0xD2157428", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x36F6626459D91457": { + "name": "CASCADE_SHADOWS_SET_SPLIT_Z_EXP_WEIGHT", + "jhash": "0xC07C64C9", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x259BA6D4E6F808F1": { + "name": "CASCADE_SHADOWS_SET_BOUND_POSITION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1011" + }, + "0x80ECBC0C856D3B0B": { + "name": "CASCADE_SHADOWS_ENABLE_ENTITY_TRACKER", + "jhash": "0xFE903D0F", + "comment": "When this is set to ON, shadows only draw as you get nearer.\n\nWhen OFF, they draw from a further distance.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_FAR_SHADOWS_SUPPRESSED" + ] + }, + "0x25FC3E33A31AD0C9": { + "name": "CASCADE_SHADOWS_SET_SCREEN_SIZE_CHECK_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB11D94BC55F41932": { + "name": "CASCADE_SHADOWS_SET_SHADOW_SAMPLE_TYPE", + "jhash": "0xDE10BA1F", + "comment": "Possible values:\n\"CSM_ST_POINT\"\n\"CSM_ST_LINEAR\"\n\"CSM_ST_TWOTAP\"\n\"CSM_ST_BOX3x3\"\n\"CSM_ST_BOX4x4\"\n\"CSM_ST_DITHER2_LINEAR\"\n\"CSM_ST_CUBIC\"\n\"CSM_ST_DITHER4\"\n\"CSM_ST_DITHER16\"\n\"CSM_ST_SOFT16\"\n\"CSM_ST_DITHER16_RPDB\"\n\"CSM_ST_POISSON16_RPDB_GNORM\"\n\"CSM_ST_HIGHRES_BOX4x4\"\n\"CSM_ST_CLOUDS_SIMPLE\"\n\"CSM_ST_CLOUDS_LINEAR\"\n\"CSM_ST_CLOUDS_TWOTAP\"\n\"CSM_ST_CLOUDS_BOX3x3\"\n\"CSM_ST_CLOUDS_BOX4x4\"\n\"CSM_ST_CLOUDS_DITHER2_LINEAR\"\n\"CSM_ST_CLOUDS_SOFT16\"\n\"CSM_ST_CLOUDS_DITHER16_RPDB\"\n\"CSM_ST_CLOUDS_POISSON16_RPDB_GNORM\"", + "params": [ + { + "type": "const char*", + "name": "type" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CASCADESHADOWS_SET_TYPE" + ] + }, + "0x27CB772218215325": { + "name": "CASCADE_SHADOWS_CLEAR_SHADOW_SAMPLE_TYPE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CASCADESHADOWS_RESET_TYPE" + ] + }, + "0x6DDBF9DFFC4AC080": { + "name": "CASCADE_SHADOWS_SET_AIRCRAFT_MODE", + "jhash": "0x9F470BE3", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD39D13C9FEBF0511": { + "name": "CASCADE_SHADOWS_SET_DYNAMIC_DEPTH_MODE", + "jhash": "0x4A124267", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x02AC28F3A01FA04A": { + "name": "CASCADE_SHADOWS_SET_DYNAMIC_DEPTH_VALUE", + "jhash": "0xB19B2764", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0AE73D8DF3A762B2": { + "name": "CASCADE_SHADOWS_ENABLE_FREEZER", + "jhash": "0x342FA2B4", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCA465D9CC0D231BA": { + "name": "WATER_REFLECTION_SET_SCRIPT_OBJECT_VISIBILITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1011" + }, + "0xA51C4B86B71652AE": { + "name": "GOLF_TRAIL_SET_ENABLED", + "jhash": "0x5D3BFFC9", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x312342E1A4874F3F": { + "name": "GOLF_TRAIL_SET_PATH", + "jhash": "0xD9653728", + "comment": "p8 seems to always be false.", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2485D34E50A22E84": { + "name": "GOLF_TRAIL_SET_RADIUS", + "jhash": "0x72BA8A14", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x12995F2E53FFA601": { + "name": "GOLF_TRAIL_SET_COLOUR", + "jhash": "0x804F444C", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "p5" + }, + { + "type": "int", + "name": "p6" + }, + { + "type": "int", + "name": "p7" + }, + { + "type": "int", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + }, + { + "type": "int", + "name": "p10" + }, + { + "type": "int", + "name": "p11" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDBAA5EC848BA2D46": { + "name": "GOLF_TRAIL_SET_TESSELLATION", + "jhash": "0xBB1A1294", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC0416B061F2B7E5E": { + "name": "GOLF_TRAIL_SET_FIXED_CONTROL_POINT_ENABLE", + "jhash": "0x1A1A72EF", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB1BB03742917A5D6": { + "name": "GOLF_TRAIL_SET_FIXED_CONTROL_POINT", + "jhash": "0x3BB12B75", + "comment": "12 matches across 4 scripts. All 4 scripts were job creators.\n\ntype ranged from 0 - 2.\np4 was always 0.2f. Likely scale.\nassuming p5 - p8 is RGBA, the graphic is always yellow (255, 255, 0, 255).\n\nTested but noticed nothing.", + "params": [ + { + "type": "int", + "name": "type" + }, + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9CFDD90B2B844BF7": { + "name": "GOLF_TRAIL_SET_SHADER_PARAMS", + "jhash": "0x4EA70FB4", + "comment": "Only appeared in Golf & Golf_mp. Parameters were all ptrs", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x06F761EA47C1D3ED": { + "name": "GOLF_TRAIL_SET_FACING", + "jhash": "0x0D830DC7", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA4819F5E23E2FFAD": { + "name": "GOLF_TRAIL_GET_MAX_HEIGHT", + "jhash": "0xA08B46AD", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xA4664972A9B8F8BA": { + "name": "GOLF_TRAIL_GET_VISUAL_CONTROL_POINT", + "jhash": "0xECD470F0", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x7E08924259E08CE0": { + "name": "SET_SEETHROUGH", + "jhash": "0x74D4995C", + "comment": "Toggles Heatvision on/off.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x44B80ABAB9D80BD3": { + "name": "GET_USINGSEETHROUGH", + "jhash": "0x1FE547F2", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_SEETHROUGH_ACTIVE" + ] + }, + "0x70A64C0234EF522C": { + "name": "SEETHROUGH_RESET", + "jhash": "0x310E9B67", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA78DE25577300BA1": { + "name": "SEETHROUGH_SET_FADE_STARTDISTANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "distance" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SEETHROUGH_SET_FADE_START_DISTANCE" + ] + }, + "0x9D75795B9DC6EBBF": { + "name": "SEETHROUGH_SET_FADE_ENDDISTANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "distance" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SEETHROUGH_SET_FADE_END_DISTANCE" + ] + }, + "0x43DBAE39626CE83F": { + "name": "SEETHROUGH_GET_MAX_THICKNESS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "float", + "build": "1290", + "old_names": [ + "_SEETHROUGH_GET_MAX_THICKNESS" + ] + }, + "0x0C8FAC83902A62DF": { + "name": "SEETHROUGH_SET_MAX_THICKNESS", + "jhash": "", + "comment": "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\nmin: 1.0\nmax: 10000.0", + "params": [ + { + "type": "float", + "name": "thickness" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SEETHROUGH_SET_MAX_THICKNESS" + ] + }, + "0xFF5992E1C9E65D05": { + "name": "SEETHROUGH_SET_NOISE_MIN", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "amount" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SEETHROUGH_SET_NOISE_AMOUNT_MIN" + ] + }, + "0xFEBFBFDFB66039DE": { + "name": "SEETHROUGH_SET_NOISE_MAX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "amount" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SEETHROUGH_SET_NOISE_AMOUNT_MAX" + ] + }, + "0x19E50EB6E33E1D28": { + "name": "SEETHROUGH_SET_HILIGHT_INTENSITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "intensity" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SEETHROUGH_SET_HI_LIGHT_INTENSITY" + ] + }, + "0x1636D7FC127B10D2": { + "name": "SEETHROUGH_SET_HIGHLIGHT_NOISE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "noise" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SEETHROUGH_SET_HI_LIGHT_NOISE" + ] + }, + "0xD7D0B00177485411": { + "name": "SEETHROUGH_SET_HEATSCALE", + "jhash": "0x654F0287", + "comment": "min: 0.0\nmax: 0.75", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "float", + "name": "heatScale" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1086127B3A63505E": { + "name": "SEETHROUGH_SET_COLOR_NEAR", + "jhash": "0x5B2A67A8", + "comment": "", + "params": [ + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SEETHROUGH_SET_COLOR_NEAR" + ] + }, + "0xB3C641F3630BF6DA": { + "name": "SET_MOTIONBLUR_MAX_VEL_SCALER", + "jhash": "0xF6B837F0", + "comment": "Setter for GET_MOTIONBLUR_MAX_VEL_SCALER", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE59343E9E96529E7": { + "name": "GET_MOTIONBLUR_MAX_VEL_SCALER", + "jhash": "0xD906A3A9", + "comment": "Getter for SET_MOTIONBLUR_MAX_VEL_SCALER", + "params": [], + "return_type": "float", + "build": "323" + }, + "0x6A51F78772175A51": { + "name": "SET_FORCE_MOTIONBLUR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1011" + }, + "0xE63D7C6EECECB66B": { + "name": "TOGGLE_PLAYER_DAMAGE_OVERLAY", + "jhash": "0xD34A6CBA", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE3E2C1B4C59DBC77": { + "name": "RESET_ADAPTATION", + "jhash": "0xD8CC7221", + "comment": "Sets an value related to timecycles.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA328A24AAA6B7FDC": { + "name": "TRIGGER_SCREENBLUR_FADE_IN", + "jhash": "0x5604B890", + "comment": "time in ms to transition to fully blurred screen", + "params": [ + { + "type": "float", + "name": "transitionTime" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_TRANSITION_TO_BLURRED" + ] + }, + "0xEFACC8AEF94430D5": { + "name": "TRIGGER_SCREENBLUR_FADE_OUT", + "jhash": "0x46617502", + "comment": "time in ms to transition from fully blurred to normal", + "params": [ + { + "type": "float", + "name": "transitionTime" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_TRANSITION_FROM_BLURRED" + ] + }, + "0xDE81239437E8C5A8": { + "name": "DISABLE_SCREENBLUR_FADE", + "jhash": "0xDB7AECDA", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "PAUSED_SCREENBLUR_LOADED" + ] + }, + "0x5CCABFFCA31DDE33": { + "name": "GET_SCREENBLUR_FADE_CURRENT_TIME", + "jhash": "0xEA432A94", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "IS_PARTICLE_FX_DELAYED_BLINK" + ] + }, + "0x7B226C785A52A0A9": { + "name": "IS_SCREENBLUR_FADE_RUNNING", + "jhash": "0x926B8734", + "comment": "Returns whether screen transition to blur/from blur is running.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xDFC252D8A3E15AB7": { + "name": "TOGGLE_PAUSED_RENDERPHASES", + "jhash": "0x30ADE541", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ENABLE_GAMEPLAY_CAM", + "_SET_FROZEN_RENDERING_DISABLED" + ] + }, + "0xEB3DAC2C86001E5E": { + "name": "GET_TOGGLE_PAUSED_RENDERPHASES_STATUS", + "jhash": "0xD4F5D07D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xE1C8709406F2C41C": { + "name": "RESET_PAUSED_RENDERPHASES", + "jhash": "0x0113EAE4", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x851CD923176EBA7C": { + "name": "GRAB_PAUSEMENU_OWNERSHIP", + "jhash": "0xDCBA251B", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBA3D65906822BED5": { + "name": "SET_HIDOF_OVERRIDE", + "jhash": "0x513D444B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "float", + "name": "nearplaneOut" + }, + { + "type": "float", + "name": "nearplaneIn" + }, + { + "type": "float", + "name": "farplaneOut" + }, + { + "type": "float", + "name": "farplaneIn" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_HIDOF_ENV_BLUR_PARAMS" + ] + }, + "0xB569F41F3E7E83A4": { + "name": "SET_LOCK_ADAPTIVE_DOF_DISTANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x7AC24EAB6D74118D": { + "name": "PHONEPHOTOEDITOR_TOGGLE", + "jhash": "0xB2410EAB", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBCEDB009461DA156": { + "name": "PHONEPHOTOEDITOR_IS_ACTIVE", + "jhash": "0x5AB94128", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x27FEB5254759CDE3": { + "name": "PHONEPHOTOEDITOR_SET_FRAME_TXD", + "jhash": "0xD63FCB3E", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x25129531F77B9ED3": { + "name": "START_PARTICLE_FX_NON_LOOPED_AT_COORD", + "jhash": "0xDD79D679", + "comment": "GRAPHICS::START_PARTICLE_FX_NON_LOOPED_AT_COORD(\"scr_paleto_roof_impact\", -140.8576f, 6420.789f, 41.1391f, 0f, 0f, 267.3957f, 0x3F800000, 0, 0, 0);\n\nAxis - Invert Axis Flags\n\nFull list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json\n\n\n-------------------------------------------------------------------\nC#\n\nFunction.Call(Hash.START_PARTICLE_FX_NON_LOOPED_AT_COORD, = you are calling this function.\n\nchar *effectname = This is an in-game effect name, for e.g. \"scr_fbi4_trucks_crash\" is used to give the effects when truck crashes etc\n\nfloat x, y, z pos = this one is Simple, you just have to declare, where do you want this effect to take place at, so declare the ordinates\n\nfloat xrot, yrot, zrot = Again simple? just mention the value in case if you want the effect to rotate.\n\nfloat scale = is declare the scale of the effect, this may vary as per the effects for e.g 1.0f\n\nbool xaxis, yaxis, zaxis = To bool the axis values.\n\nexample:\nFunction.Call(Hash.START_PARTICLE_FX_NON_LOOPED_AT_COORD, \"scr_fbi4_trucks_crash\", GTA.Game.Player.Character.Position.X, GTA.Game.Player.Character.Position.Y, GTA.Game.Player.Character.Position.Z + 4f, 0, 0, 0, 5.5f, 0, 0, 0);", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF56B8137DF10135D": { + "name": "START_NETWORKED_PARTICLE_FX_NON_LOOPED_AT_COORD", + "jhash": "0x633F8C48", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + }, + { + "type": "BOOL", + "name": "p11" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_START_PARTICLE_FX_NON_LOOPED_AT_COORD_2" + ] + }, + "0x0E7E72961BA18619": { + "name": "START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE", + "jhash": "0x53DAEF4E", + "comment": "GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE(\"scr_sh_bong_smoke\", PLAYER::PLAYER_PED_ID(), -0.025f, 0.13f, 0f, 0f, 0f, 0f, 31086, 0x3F800000, 0, 0, 0);\n\nAxis - Invert Axis Flags\n\nFull list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "axisX" + }, + { + "type": "BOOL", + "name": "axisY" + }, + { + "type": "BOOL", + "name": "axisZ" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA41B6A43642AC2CF": { + "name": "START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_PED_BONE", + "jhash": "0x161780C1", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "axisX" + }, + { + "type": "BOOL", + "name": "axisY" + }, + { + "type": "BOOL", + "name": "axisZ" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE_2" + ] + }, + "0x0D53A3B8DA0809D2": { + "name": "START_PARTICLE_FX_NON_LOOPED_ON_ENTITY", + "jhash": "0x9604DAD4", + "comment": "Starts a particle effect on an entity for example your player.\n\nFull list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json\n\nExample:\nC#:\nFunction.Call(Hash.REQUEST_NAMED_PTFX_ASSET, \"scr_rcbarry2\"); Function.Call(Hash.USE_PARTICLE_FX_ASSET, \"scr_rcbarry2\"); Function.Call(Hash.START_PARTICLE_FX_NON_LOOPED_ON_ENTITY, \"scr_clown_appears\", Game.Player.Character, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 1.0, false, false, false);\n\nInternally this calls the same function as GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE\nhowever 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\n\n-can confirm START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE does NOT work on vehicle bones.", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "axisX" + }, + { + "type": "BOOL", + "name": "axisY" + }, + { + "type": "BOOL", + "name": "axisZ" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC95EB1DB6E92113D": { + "name": "START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY", + "jhash": "0x469A2B4A", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "axisX" + }, + { + "type": "BOOL", + "name": "axisY" + }, + { + "type": "BOOL", + "name": "axisZ" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_START_PARTICLE_FX_NON_LOOPED_ON_ENTITY_2" + ] + }, + "0x02B1F2A72E0F5325": { + "name": "START_PARTICLE_FX_NON_LOOPED_ON_ENTITY_BONE", + "jhash": "", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "axisX" + }, + { + "type": "BOOL", + "name": "axisY" + }, + { + "type": "BOOL", + "name": "axisZ" + } + ], + "return_type": "BOOL", + "build": "2189", + "old_names": [ + "_START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY_BONE" + ] + }, + "0x26143A59EF48B262": { + "name": "SET_PARTICLE_FX_NON_LOOPED_COLOUR", + "jhash": "0x7B689E20", + "comment": "only works on some fx's, not networked", + "params": [ + { + "type": "float", + "name": "r" + }, + { + "type": "float", + "name": "g" + }, + { + "type": "float", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0x77168D722C58B2FC": { + "name": "SET_PARTICLE_FX_NON_LOOPED_ALPHA", + "jhash": "0x497EAFF2", + "comment": "Usage example for C#:\n\nFunction.Call(Hash.SET_PARTICLE_FX_NON_LOOPED_ALPHA, new InputArgument[] { 0.1f });\n\nNote: the argument alpha ranges from 0.0f-1.0f !", + "params": [ + { + "type": "float", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB7EF5850C39FABCA": { + "name": "SET_PARTICLE_FX_NON_LOOPED_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x1E2E01C00837D26E": { + "name": "SET_PARTICLE_FX_NON_LOOPED_EMITTER_SIZE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_SET_PARTICLE_FX_NON_LOOPED_EMITTER_SCALE" + ] + }, + "0x8CDE909A0370BB3A": { + "name": "SET_PARTICLE_FX_FORCE_VEHICLE_INTERIOR", + "jhash": "", + "comment": "Used only once in the scripts (taxi_clowncar)", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE184F4F0DC5910E7": { + "name": "START_PARTICLE_FX_LOOPED_AT_COORD", + "jhash": "0xD348E3E6", + "comment": "GRAPHICS::START_PARTICLE_FX_LOOPED_AT_COORD(\"scr_fbi_falling_debris\", 93.7743f, -749.4572f, 70.86904f, 0f, 0f, 0f, 0x3F800000, 0, 0, 0, 0)\n\n\np11 seems to be always 0\n\nFull list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + }, + { + "type": "BOOL", + "name": "p11" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF28DA9F38CD1787C": { + "name": "START_PARTICLE_FX_LOOPED_ON_PED_BONE", + "jhash": "0xF8FC196F", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1AE42C1660FD6517": { + "name": "START_PARTICLE_FX_LOOPED_ON_ENTITY", + "jhash": "0x0D06FF62", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + } + ], + "return_type": "int", + "build": "323" + }, + "0xC6EB449E33977F0B": { + "name": "START_PARTICLE_FX_LOOPED_ON_ENTITY_BONE", + "jhash": "0x23BF0F9B", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + } + ], + "return_type": "int", + "build": "323" + }, + "0x6F60E89A7B64EE1D": { + "name": "START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY", + "jhash": "0x110752B2", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + }, + { + "type": "float", + "name": "r" + }, + { + "type": "float", + "name": "g" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "a" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_START_PARTICLE_FX_LOOPED_ON_ENTITY_2" + ] + }, + "0xDDE23F30CC5A0F03": { + "name": "START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY_BONE", + "jhash": "0xF478EFCF", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "BOOL", + "name": "xAxis" + }, + { + "type": "BOOL", + "name": "yAxis" + }, + { + "type": "BOOL", + "name": "zAxis" + }, + { + "type": "float", + "name": "r" + }, + { + "type": "float", + "name": "g" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "float", + "name": "a" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_START_PARTICLE_FX_LOOPED_ON_ENTITY_BONE_2" + ] + }, + "0x8F75998877616996": { + "name": "STOP_PARTICLE_FX_LOOPED", + "jhash": "0xD245455B", + "comment": "p1 is always 0 in the native scripts", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC401503DFE8D53CF": { + "name": "REMOVE_PARTICLE_FX", + "jhash": "0x6BA48C7E", + "comment": "", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB8FEAEEBCC127425": { + "name": "REMOVE_PARTICLE_FX_FROM_ENTITY", + "jhash": "0xCEDE52E9", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDD19FA1C6D657305": { + "name": "REMOVE_PARTICLE_FX_IN_RANGE", + "jhash": "0x7EB8F275", + "comment": "", + "params": [ + { + "type": "float", + "name": "X" + }, + { + "type": "float", + "name": "Y" + }, + { + "type": "float", + "name": "Z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBA0127DA25FD54C9": { + "name": "FORCE_PARTICLE_FX_IN_VEHICLE_INTERIOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "372" + }, + "0x74AFEF0D2E1E409B": { + "name": "DOES_PARTICLE_FX_LOOPED_EXIST", + "jhash": "0xCBF91D2A", + "comment": "", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF7DDEBEC43483C43": { + "name": "SET_PARTICLE_FX_LOOPED_OFFSETS", + "jhash": "0x641F7790", + "comment": "", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5F0C4B5B1C393BE2": { + "name": "SET_PARTICLE_FX_LOOPED_EVOLUTION", + "jhash": "0x1CBC1373", + "comment": "", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + }, + { + "type": "const char*", + "name": "propertyName" + }, + { + "type": "float", + "name": "amount" + }, + { + "type": "BOOL", + "name": "noNetwork" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7F8F65877F88783B": { + "name": "SET_PARTICLE_FX_LOOPED_COLOUR", + "jhash": "0x5219D530", + "comment": "only works on some fx's\n\np4 = 0", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + }, + { + "type": "float", + "name": "r" + }, + { + "type": "float", + "name": "g" + }, + { + "type": "float", + "name": "b" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x726845132380142E": { + "name": "SET_PARTICLE_FX_LOOPED_ALPHA", + "jhash": "0x5ED49BE1", + "comment": "", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + }, + { + "type": "float", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB44250AAA456492D": { + "name": "SET_PARTICLE_FX_LOOPED_SCALE", + "jhash": "0x099B8B49", + "comment": "", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDCB194B85EF7B541": { + "name": "SET_PARTICLE_FX_LOOPED_FAR_CLIP_DIST", + "jhash": "0x233DE879", + "comment": "", + "params": [ + { + "type": "int", + "name": "ptfxHandle" + }, + { + "type": "float", + "name": "range" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PARTICLE_FX_LOOPED_RANGE" + ] + }, + "0xEEC4047028426510": { + "name": "SET_PARTICLE_FX_CAM_INSIDE_VEHICLE", + "jhash": "0x19EC0001", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xACEE6F360FC1F6B6": { + "name": "SET_PARTICLE_FX_CAM_INSIDE_NONPLAYER_VEHICLE", + "jhash": "0x6B125A02", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x96EF97DAEB89BEF5": { + "name": "SET_PARTICLE_FX_SHOOTOUT_BOAT", + "jhash": "0xD938DEE0", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2A251AA48B2B46DB": { + "name": "CLEAR_PARTICLE_FX_SHOOTOUT_BOAT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x908311265D42A820": { + "name": "SET_PARTICLE_FX_BLOOD_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCFD16F0DB5A3535C": { + "name": "DISABLE_IN_WATER_PTFX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2060" + }, + "0x5F6DF3D92271E8A1": { + "name": "DISABLE_DOWNWASH_PTFX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_PARTICLE_FX_BLOOD_SCALE" + ] + }, + "0x2B40A97646381508": { + "name": "SET_PARTICLE_FX_SLIPSTREAM_LODRANGE_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "1011" + }, + "0xD821490579791273": { + "name": "ENABLE_CLOWN_BLOOD_VFX", + "jhash": "0xC61C75E9", + "comment": "Creates cartoon effect when Michel smokes the weed", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_CAMERA_ENDTIME" + ] + }, + "0x9DCE1F0F78260875": { + "name": "ENABLE_ALIEN_BLOOD_VFX", + "jhash": "0xCE8B8748", + "comment": "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.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x27E32866E9A5C416": { + "name": "SET_PARTICLE_FX_BULLET_IMPACT_SCALE", + "jhash": "0xC1AD5DDF", + "comment": "", + "params": [ + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBB90E12CAC1DAB25": { + "name": "SET_PARTICLE_FX_BULLET_IMPACT_LODRANGE_SCALE", + "jhash": "0x3968E915", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCA4AE345A153D573": { + "name": "SET_PARTICLE_FX_BULLET_TRACE_NO_ANGLE_REJECT", + "jhash": "0x64BA4648", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x54E22EA2C1956A8D": { + "name": "SET_PARTICLE_FX_BANG_SCRAPE_LODRANGE_SCALE", + "jhash": "0x8BE3D47F", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x949F397A288B28B3": { + "name": "SET_PARTICLE_FX_FOOT_LODRANGE_SCALE", + "jhash": "0xE3880F5A", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBA3D194057C79A7B": { + "name": "SET_PARTICLE_FX_FOOT_OVERRIDE_NAME", + "jhash": "", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "877" + }, + "0x5DBF05DB5926D089": { + "name": "SET_SKIDMARK_RANGE_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "1011" + }, + "0xC6730E0D14E50703": { + "name": "SET_PTFX_FORCE_VEHICLE_INTERIOR_FLAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2545" + }, + "0x170911F37F646F29": { + "name": "REGISTER_POSTFX_BULLET_IMPACT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "weaponWorldPosX" + }, + { + "type": "float", + "name": "weaponWorldPosY" + }, + { + "type": "float", + "name": "weaponWorldPosZ" + }, + { + "type": "float", + "name": "intensity" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x9B079E5221D984D3": { + "name": "FORCE_POSTFX_BULLET_IMPACTS_AFTER_HUD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6C38AF3693A69A91": { + "name": "USE_PARTICLE_FX_ASSET", + "jhash": "0x9C720B61", + "comment": "From the b678d decompiled scripts:\n\n GRAPHICS::USE_PARTICLE_FX_ASSET(\"FM_Mission_Controler\");\n GRAPHICS::USE_PARTICLE_FX_ASSET(\"scr_apartment_mp\");\n GRAPHICS::USE_PARTICLE_FX_ASSET(\"scr_indep_fireworks\");\n GRAPHICS::USE_PARTICLE_FX_ASSET(\"scr_mp_cig_plane\");\n GRAPHICS::USE_PARTICLE_FX_ASSET(\"scr_mp_creator\");\n GRAPHICS::USE_PARTICLE_FX_ASSET(\"scr_ornate_heist\");\n GRAPHICS::USE_PARTICLE_FX_ASSET(\"scr_prison_break_heist_station\");\n\nFull list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PTFX_ASSET_NEXT_CALL", + "_USE_PARTICLE_FX_ASSET_NEXT_CALL" + ] + }, + "0xEA1E2D93F6F75ED9": { + "name": "SET_PARTICLE_FX_OVERRIDE", + "jhash": "0xC92719A7", + "comment": "Full list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "oldAsset" + }, + { + "type": "const char*", + "name": "newAsset" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PTFX_ASSET_OLD_2_NEW", + "_SET_PARTICLE_FX_ASSET_OLD_TO_NEW" + ] + }, + "0x89C8553DD3274AAE": { + "name": "RESET_PARTICLE_FX_OVERRIDE", + "jhash": "0x9E8D8B72", + "comment": "Resets the effect of SET_PARTICLE_FX_OVERRIDE\n\nFull list of particle effect dictionaries and effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/particleEffectsCompact.json", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_PARTICLE_FX_ASSET_OLD_TO_NEW" + ] + }, + "0xA46B73FAA3460AE1": { + "name": "SET_WEATHER_PTFX_USE_OVERRIDE_SETTINGS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF78B803082D4386F": { + "name": "SET_WEATHER_PTFX_OVERRIDE_CURR_LEVEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C30613D50A6ADEF": { + "name": "WASH_DECALS_IN_RANGE", + "jhash": "0xDEECBC57", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "range" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5B712761429DBC14": { + "name": "WASH_DECALS_FROM_VEHICLE", + "jhash": "0x2929F11A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD77EDADB0420E6E0": { + "name": "FADE_DECALS_IN_RANGE", + "jhash": "0xF81E884A", + "comment": "Fades nearby decals within the range specified", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5D6B2D4830A67C62": { + "name": "REMOVE_DECALS_IN_RANGE", + "jhash": "0x06A619A0", + "comment": "Removes all decals in range from a position, it includes the bullet holes, blood pools, petrol...", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "range" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCCF71CBDDF5B6CB9": { + "name": "REMOVE_DECALS_FROM_OBJECT", + "jhash": "0x8B67DCA7", + "comment": "", + "params": [ + { + "type": "Object", + "name": "obj" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA6F6F70FDC6D144C": { + "name": "REMOVE_DECALS_FROM_OBJECT_FACING", + "jhash": "0xF4999A55", + "comment": "", + "params": [ + { + "type": "Object", + "name": "obj" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE91F1B65F2B48D57": { + "name": "REMOVE_DECALS_FROM_VEHICLE", + "jhash": "0x831D06CA", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB302244A1839BDAD": { + "name": "ADD_DECAL", + "jhash": "0xEAD0C412", + "comment": "decal types:\n\npublic enum DecalTypes\n{\n splatters_blood = 1010,\n splatters_blood_dir = 1015,\n splatters_blood_mist = 1017,\n splatters_mud = 1020,\n splatters_paint = 1030,\n splatters_water = 1040,\n splatters_water_hydrant = 1050,\n splatters_blood2 = 1110,\n weapImpact_metal = 4010,\n weapImpact_concrete = 4020,\n weapImpact_mattress = 4030,\n weapImpact_mud = 4032,\n weapImpact_wood = 4050,\n weapImpact_sand = 4053,\n weapImpact_cardboard = 4040,\n weapImpact_melee_glass = 4100,\n weapImpact_glass_blood = 4102,\n weapImpact_glass_blood2 = 4104,\n weapImpact_shotgun_paper = 4200,\n weapImpact_shotgun_mattress,\n weapImpact_shotgun_metal,\n weapImpact_shotgun_wood,\n weapImpact_shotgun_dirt,\n weapImpact_shotgun_tvscreen,\n weapImpact_shotgun_tvscreen2,\n weapImpact_shotgun_tvscreen3,\n weapImpact_melee_concrete = 4310,\n weapImpact_melee_wood = 4312,\n weapImpact_melee_metal = 4314,\n burn1 = 4421,\n burn2,\n burn3,\n burn4,\n burn5,\n bang_concrete_bang = 5000,\n bang_concrete_bang2,\n bang_bullet_bang,\n bang_bullet_bang2 = 5004,\n bang_glass = 5031,\n bang_glass2,\n solidPool_water = 9000,\n solidPool_blood,\n solidPool_oil,\n solidPool_petrol,\n solidPool_mud,\n porousPool_water,\n porousPool_blood,\n porousPool_oil,\n porousPool_petrol,\n porousPool_mud,\n porousPool_water_ped_drip,\n liquidTrail_water = 9050\n}", + "params": [ + { + "type": "int", + "name": "decalType" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "float", + "name": "rCoef" + }, + { + "type": "float", + "name": "gCoef" + }, + { + "type": "float", + "name": "bCoef" + }, + { + "type": "float", + "name": "opacity" + }, + { + "type": "float", + "name": "timeout" + }, + { + "type": "BOOL", + "name": "p17" + }, + { + "type": "BOOL", + "name": "p18" + }, + { + "type": "BOOL", + "name": "p19" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4F5212C7AD880DF8": { + "name": "ADD_PETROL_DECAL", + "jhash": "0x1259DF42", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "groundLvl" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "transparency" + } + ], + "return_type": "int", + "build": "323" + }, + "0x126D7F89FE859A5E": { + "name": "ADD_OIL_DECAL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "groundLvl" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "transparency" + } + ], + "return_type": "int", + "build": "2699", + "old_names": [ + "_ADD_PETROL_DECAL_2", + "_ADD_OIL_DECAL" + ] + }, + "0x99AC7F0D8B9C893D": { + "name": "START_PETROL_TRAIL_DECALS", + "jhash": "0xE3938B0B", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x967278682CB6967A": { + "name": "ADD_PETROL_TRAIL_DECAL_INFO", + "jhash": "0xBAEC6ADD", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0A123435A26C36CD": { + "name": "END_PETROL_TRAIL_DECALS", + "jhash": "0xCCCA6855", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xED3F346429CCD659": { + "name": "REMOVE_DECAL", + "jhash": "0xA4363188", + "comment": "", + "params": [ + { + "type": "int", + "name": "decal" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC694D74949CAFD0C": { + "name": "IS_DECAL_ALIVE", + "jhash": "0xCDD4A61A", + "comment": "", + "params": [ + { + "type": "int", + "name": "decal" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x323F647679A09103": { + "name": "GET_DECAL_WASH_LEVEL", + "jhash": "0x054448EF", + "comment": "", + "params": [ + { + "type": "int", + "name": "decal" + } + ], + "return_type": "float", + "build": "323" + }, + "0xD9454B5752C857DC": { + "name": "SET_DISABLE_PETROL_DECALS_IGNITING_THIS_FRAME", + "jhash": "0xEAB6417C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x27CFB1B1E078CB2D": { + "name": "SET_DISABLE_PETROL_DECALS_RECYCLING_THIS_FRAME", + "jhash": "0xC2703B88", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x4B5CFC83122DF602": { + "name": "SET_DISABLE_DECAL_RENDERING_THIS_FRAME", + "jhash": "0xA706E84D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x2F09F7976C512404": { + "name": "GET_IS_PETROL_DECAL_IN_RANGE", + "jhash": "0x242C6A04", + "comment": "", + "params": [ + { + "type": "float", + "name": "xCoord" + }, + { + "type": "float", + "name": "yCoord" + }, + { + "type": "float", + "name": "zCoord" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8A35C742130C6080": { + "name": "PATCH_DECAL_DIFFUSE_MAP", + "jhash": "0x335695CF", + "comment": "", + "params": [ + { + "type": "int", + "name": "decalType" + }, + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_DECAL_TO_MARKER", + "_OVERRIDE_DECAL_TEXTURE" + ] + }, + "0xB7ED70C49521A61D": { + "name": "UNPATCH_DECAL_DIFFUSE_MAP", + "jhash": "0x7B786555", + "comment": "", + "params": [ + { + "type": "int", + "name": "decalType" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_UNDO_DECAL_TEXTURE_OVERRIDE" + ] + }, + "0x84C8D7C2D30D3280": { + "name": "MOVE_VEHICLE_DECALS", + "jhash": "0xCE9E6CF2", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x428BDCB9DA58DA53": { + "name": "ADD_VEHICLE_CREW_EMBLEM", + "jhash": "0x12077738", + "comment": "boneIndex is always chassis_dummy in the scripts. The x/y/z params are location relative to the chassis bone.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "z3" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "Any", + "name": "p13" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_ADD_CLAN_DECAL_TO_VEHICLE" + ] + }, + "0x82ACC484FFA3B05F": { + "name": "ABORT_VEHICLE_CREW_EMBLEM_REQUEST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "372" + }, + "0xD2300034310557E4": { + "name": "REMOVE_VEHICLE_CREW_EMBLEM", + "jhash": "0x667046A8", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFE26117A5841B2FF": { + "name": "GET_VEHICLE_CREW_EMBLEM_REQUEST_STATE", + "jhash": "0x4F4D76E8", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x060D935D3981A275": { + "name": "DOES_VEHICLE_HAVE_CREW_EMBLEM", + "jhash": "0x6D58F73B", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_VEHICLE_GOT_DECAL", + "_DOES_VEHICLE_HAVE_DECAL" + ] + }, + "0x0E4299C549F0D1F1": { + "name": "DISABLE_COMPOSITE_SHOTGUN_DECALS", + "jhash": "0x9BABCBA4", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x02369D5C8A51FDCF": { + "name": "DISABLE_SCUFF_DECALS", + "jhash": "0xFDF6D8DA", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46D1A61A21F566FC": { + "name": "SET_DECAL_BULLET_IMPACT_RANGE_SCALE", + "jhash": "0x2056A015", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2A2A52824DB96700": { + "name": "OVERRIDE_INTERIOR_SMOKE_NAME", + "jhash": "0x0F486429", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1600FD8CF72EBC12": { + "name": "OVERRIDE_INTERIOR_SMOKE_LEVEL", + "jhash": "0xD87CC710", + "comment": "", + "params": [ + { + "type": "float", + "name": "level" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEFB55E7C25D3B3BE": { + "name": "OVERRIDE_INTERIOR_SMOKE_END", + "jhash": "0xE29EE145", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA44FF770DFBC5DAE": { + "name": "REGISTER_NOIR_LENS_EFFECT", + "jhash": "", + "comment": "Used with 'NG_filmnoir_BW{01,02}' timecycles and the \"NOIR_FILTER_SOUNDS\" audioref.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_REGISTER_NOIR_SCREEN_EFFECT_THIS_FRAME" + ] + }, + "0xC9F98AC1884E73A2": { + "name": "DISABLE_VEHICLE_DISTANTLIGHTS", + "jhash": "0x7CFAE36F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x03300B57FCAC6DDB": { + "name": "RENDER_SHADOWED_LIGHTS_WITH_NO_SHADOWS", + "jhash": "0x60F72371", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x98EDF76A7271E4F2": { + "name": "REQUEST_EARLY_LIGHT_CHECK", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAEEDAD1420C65CC0": { + "name": "USE_SNOW_FOOT_VFX_WHEN_UNSHELTERED", + "jhash": "0xC53576CA", + "comment": "Forces footstep tracks on all surfaces.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_FORCE_PED_FOOTSTEPS_TRACKS" + ] + }, + "0x4CC7F0FEA5283FE0": { + "name": "USE_SNOW_WHEEL_VFX_WHEN_UNSHELTERED", + "jhash": "0x7158B1EA", + "comment": "Forces vehicle trails on all surfaces.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_FORCE_VEHICLE_TRAILS" + ] + }, + "0xEFD97FF47B745B8D": { + "name": "DISABLE_REGION_VFX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_DISABLE_SCRIPT_AMBIENT_EFFECTS" + ] + }, + "0xD7021272EB0A451E": { + "name": "PRESET_INTERIOR_AMBIENT_CACHE", + "jhash": "0x137E3E24", + "comment": "Only one match in the scripts:\n\nGRAPHICS::PRESET_INTERIOR_AMBIENT_CACHE(\"int_carrier_hanger\");", + "params": [ + { + "type": "const char*", + "name": "timecycleModifierName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PRESET_INTERIOR_AMBIENT_CACHE" + ] + }, + "0x2C933ABF17A1DF41": { + "name": "SET_TIMECYCLE_MODIFIER", + "jhash": "0xA81F3638", + "comment": "Loads the specified timecycle modifier. Modifiers are defined separately in another file (e.g. \"timecycle_mods_1.xml\")\n\nParameters:\nmodifierName - The modifier to load (e.g. \"V_FIB_IT3\", \"scanline_cam\", etc.)\n\nFull list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json", + "params": [ + { + "type": "const char*", + "name": "modifierName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x82E7FFCD5B2326B3": { + "name": "SET_TIMECYCLE_MODIFIER_STRENGTH", + "jhash": "0x458F4F45", + "comment": "", + "params": [ + { + "type": "float", + "name": "strength" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3BCF567485E1971C": { + "name": "SET_TRANSITION_TIMECYCLE_MODIFIER", + "jhash": "0xBB2BA72A", + "comment": "Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json", + "params": [ + { + "type": "const char*", + "name": "modifierName" + }, + { + "type": "float", + "name": "transition" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1CBA05AE7BD7EE05": { + "name": "SET_TRANSITION_OUT_OF_TIMECYCLE_MODIFIER", + "jhash": "0x56345F6B", + "comment": "", + "params": [ + { + "type": "float", + "name": "strength" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TRANSITION_TIMECYCLE_MODIFIER_STOP_WITH_BLEND" + ] + }, + "0x0F07E7745A236711": { + "name": "CLEAR_TIMECYCLE_MODIFIER", + "jhash": "0x8D8DF8EE", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xFDF3D97C674AFB66": { + "name": "GET_TIMECYCLE_MODIFIER_INDEX", + "jhash": "0x594FEEC4", + "comment": "Only use for this in the PC scripts is:\n\nif (GRAPHICS::GET_TIMECYCLE_MODIFIER_INDEX() != -1)", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x459FD2C8D0AB78BC": { + "name": "GET_TIMECYCLE_TRANSITION_MODIFIER_INDEX", + "jhash": "0x03C44E4B", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x98D18905BF723B99": { + "name": "GET_IS_TIMECYCLE_TRANSITIONING_OUT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1493" + }, + "0x58F735290861E6B4": { + "name": "PUSH_TIMECYCLE_MODIFIER", + "jhash": "0x7E082045", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x3C8938D7D872211E": { + "name": "POP_TIMECYCLE_MODIFIER", + "jhash": "0x79D7D235", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBBF327DED94E4DEB": { + "name": "SET_CURRENT_PLAYER_TCMODIFIER", + "jhash": "0x85BA15A4", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "modifierName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBDEB86F4D5809204": { + "name": "SET_PLAYER_TCMODIFIER_TRANSITION", + "jhash": "0x9559BB38", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBF59707B3E5ED531": { + "name": "SET_NEXT_PLAYER_TCMODIFIER", + "jhash": "0x554BA16E", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "modifierName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1A8E2C8B9CF4549C": { + "name": "ADD_TCMODIFIER_OVERRIDE", + "jhash": "0xE8F538B5", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "modifierName1" + }, + { + "type": "const char*", + "name": "modifierName2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x15E33297C3E8DC60": { + "name": "CLEAR_ALL_TCMODIFIER_OVERRIDES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "REMOVE_TCMODIFIER_OVERRIDE" + ] + }, + "0x5096FD9CCB49056D": { + "name": "SET_EXTRA_TCMODIFIER", + "jhash": "", + "comment": "Full list of timecycle modifiers by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/timecycleModifiers.json", + "params": [ + { + "type": "const char*", + "name": "modifierName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_EXTRA_TIMECYCLE_MODIFIER" + ] + }, + "0x92CCC17A7A2285DA": { + "name": "CLEAR_EXTRA_TCMODIFIER", + "jhash": "", + "comment": "Clears the secondary timecycle modifier usually set with _SET_EXTRA_TIMECYCLE_MODIFIER", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_EXTRA_TIMECYCLE_MODIFIER" + ] + }, + "0xBB0527EC6341496D": { + "name": "GET_EXTRA_TCMODIFIER", + "jhash": "", + "comment": "See GET_TIMECYCLE_MODIFIER_INDEX for use, works the same just for the secondary timecycle modifier.\nReturns an integer representing the Timecycle modifier", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_EXTRA_TIMECYCLE_MODIFIER_INDEX" + ] + }, + "0x2C328AF17210F009": { + "name": "ENABLE_MOON_CYCLE_OVERRIDE", + "jhash": "", + "comment": "The same as SET_TIMECYCLE_MODIFIER_STRENGTH but for the secondary timecycle modifier.", + "params": [ + { + "type": "float", + "name": "strength" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_EXTRA_TIMECYCLE_MODIFIER_STRENGTH", + "_ENABLE_EXTRA_TIMECYCLE_MODIFIER_STRENGTH" + ] + }, + "0x2BF72AD5B41AA739": { + "name": "DISABLE_MOON_CYCLE_OVERRIDE", + "jhash": "", + "comment": "Resets the extra timecycle modifier strength normally set with 0x2C328AF17210F009", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_EXTRA_TIMECYCLE_MODIFIER_STRENGTH" + ] + }, + "0x11FE353CF9733E6F": { + "name": "REQUEST_SCALEFORM_MOVIE", + "jhash": "0xC67E3DCB", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scaleformName" + } + ], + "return_type": "int", + "build": "323" + }, + "0x65E7E78842E74CDB": { + "name": "REQUEST_SCALEFORM_MOVIE_WITH_IGNORE_SUPER_WIDESCREEN", + "jhash": "", + "comment": "Another REQUEST_SCALEFORM_MOVIE equivalent.", + "params": [ + { + "type": "const char*", + "name": "scaleformName" + } + ], + "return_type": "int", + "build": "372", + "old_names": [ + "_REQUEST_SCALEFORM_MOVIE_2" + ] + }, + "0xC514489CFB8AF806": { + "name": "REQUEST_SCALEFORM_MOVIE_INSTANCE", + "jhash": "0x7CC8057D", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scaleformName" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBD06C611BB9048C2": { + "name": "REQUEST_SCALEFORM_MOVIE_SKIP_RENDER_WHILE_PAUSED", + "jhash": "", + "comment": "Similar to REQUEST_SCALEFORM_MOVIE, but seems to be some kind of \"interactive\" scaleform movie?\n\nThese seem to be the only scaleforms ever requested by this native:\n\"breaking_news\"\n\"desktop_pc\"\n\"ECG_MONITOR\"\n\"Hacking_PC\"\n\"TEETH_PULLING\"\n\nNote: Unless this hash is out-of-order, this native is next-gen only.\n", + "params": [ + { + "type": "const char*", + "name": "scaleformName" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_REQUEST_SCALEFORM_MOVIE3", + "_REQUEST_SCALEFORM_MOVIE_INTERACTIVE" + ] + }, + "0x85F01B8D5B90570E": { + "name": "HAS_SCALEFORM_MOVIE_LOADED", + "jhash": "0xDDFB6448", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleformHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2FCB133CA50A49EB": { + "name": "IS_ACTIVE_SCALEFORM_MOVIE_DELETING", + "jhash": "", + "comment": "val is 1-20 (0 will return false)", + "params": [ + { + "type": "int", + "name": "val" + } + ], + "return_type": "BOOL", + "build": "1290" + }, + "0x86255B1FC929E33E": { + "name": "IS_SCALEFORM_MOVIE_DELETING", + "jhash": "", + "comment": "val is 1-20. Return is related to INSTRUCTIONAL_BUTTONS, COLOUR_SWITCHER_02, etc?", + "params": [ + { + "type": "int", + "name": "val" + } + ], + "return_type": "BOOL", + "build": "1290" + }, + "0x0C1C5D756FB5F337": { + "name": "HAS_SCALEFORM_MOVIE_FILENAME_LOADED", + "jhash": "0x494A9E50", + "comment": "Only values used in the scripts are:\n\n\"heist_mp\"\n\"heistmap_mp\"\n\"instructional_buttons\"\n\"heist_pre\"", + "params": [ + { + "type": "const char*", + "name": "scaleformName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_NAMED_SCALEFORM_MOVIE_LOADED" + ] + }, + "0x8217150E1217EBFD": { + "name": "HAS_SCALEFORM_CONTAINER_MOVIE_LOADED_INTO_PARENT", + "jhash": "0x1DFE8D8A", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleformHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1D132D614DD86811": { + "name": "SET_SCALEFORM_MOVIE_AS_NO_LONGER_NEEDED", + "jhash": "0x5FED3BA1", + "comment": "", + "params": [ + { + "type": "int*", + "name": "scaleformHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6D8EB211944DCE08": { + "name": "SET_SCALEFORM_MOVIE_TO_USE_SYSTEM_TIME", + "jhash": "0x18C9DE8D", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x32F34FF7F617643B": { + "name": "SET_SCALEFORM_MOVIE_TO_USE_LARGE_RT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleformHandle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "573" + }, + "0xE6A9F00D4240B519": { + "name": "SET_SCALEFORM_MOVIE_TO_USE_SUPER_LARGE_RT", + "jhash": "", + "comment": "This native is used in some casino scripts to fit the scaleform in the rendertarget.", + "params": [ + { + "type": "int", + "name": "scaleformHandle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_SCALEFORM_FIT_RENDERTARGET" + ] + }, + "0x54972ADAF0294A93": { + "name": "DRAW_SCALEFORM_MOVIE", + "jhash": "0x48DA6A58", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleformHandle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "int", + "name": "p9" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0DF606929C105BE1": { + "name": "DRAW_SCALEFORM_MOVIE_FULLSCREEN", + "jhash": "0x7B48E696", + "comment": "unk is not used so no need", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "int", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCF537FDE4FBD4CE5": { + "name": "DRAW_SCALEFORM_MOVIE_FULLSCREEN_MASKED", + "jhash": "0x9C59FC06", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleform1" + }, + { + "type": "int", + "name": "scaleform2" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x87D51D72255D4E78": { + "name": "DRAW_SCALEFORM_MOVIE_3D", + "jhash": "0xC4F63A89", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "scaleX" + }, + { + "type": "float", + "name": "scaleY" + }, + { + "type": "float", + "name": "scaleZ" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1CE592FDC749D6F5": { + "name": "DRAW_SCALEFORM_MOVIE_3D_SOLID", + "jhash": "0x899933C8", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "scaleX" + }, + { + "type": "float", + "name": "scaleY" + }, + { + "type": "float", + "name": "scaleZ" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DRAW_SCALEFORM_MOVIE_3D_NON_ADDITIVE" + ] + }, + "0xFBD96D87AC96D533": { + "name": "CALL_SCALEFORM_MOVIE_METHOD", + "jhash": "0x7AB77B57", + "comment": "Calls the Scaleform function.", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "const char*", + "name": "method" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CALL_SCALEFORM_MOVIE_FUNCTION_VOID" + ] + }, + "0xD0837058AE2E4BEE": { + "name": "CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER", + "jhash": "0x557EDA1D", + "comment": "Calls the Scaleform function and passes the parameters as floats.\n\nThe number of parameters passed to the function varies, so the end of the parameter list is represented by -1.0.", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "const char*", + "name": "methodName" + }, + { + "type": "float", + "name": "param1" + }, + { + "type": "float", + "name": "param2" + }, + { + "type": "float", + "name": "param3" + }, + { + "type": "float", + "name": "param4" + }, + { + "type": "float", + "name": "param5" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CALL_SCALEFORM_MOVIE_FUNCTION_FLOAT_PARAMS" + ] + }, + "0x51BC1ED3CC44E8F7": { + "name": "CALL_SCALEFORM_MOVIE_METHOD_WITH_STRING", + "jhash": "0x91A7FCEB", + "comment": "Calls the Scaleform function and passes the parameters as strings.\n\nThe number of parameters passed to the function varies, so the end of the parameter list is represented by 0 (NULL).", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "const char*", + "name": "methodName" + }, + { + "type": "const char*", + "name": "param1" + }, + { + "type": "const char*", + "name": "param2" + }, + { + "type": "const char*", + "name": "param3" + }, + { + "type": "const char*", + "name": "param4" + }, + { + "type": "const char*", + "name": "param5" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CALL_SCALEFORM_MOVIE_FUNCTION_STRING_PARAMS" + ] + }, + "0xEF662D8D57E290B1": { + "name": "CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING", + "jhash": "0x6EAF56DE", + "comment": "Calls the Scaleform function and passes both float and string parameters (in their respective order).\n\nThe 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).\n\nNOTE: The order of parameters in the function prototype is important! All float parameters must come first, followed by the string parameters.\n\nExamples:\n// function MY_FUNCTION(floatParam1, floatParam2, stringParam)\nGRAPHICS::CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING(scaleform, \"MY_FUNCTION\", 10.0, 20.0, -1.0, -1.0, -1.0, \"String param\", 0, 0, 0, 0);\n\n// function MY_FUNCTION_2(floatParam, stringParam1, stringParam2)\nGRAPHICS::CALL_SCALEFORM_MOVIE_METHOD_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);", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "const char*", + "name": "methodName" + }, + { + "type": "float", + "name": "floatParam1" + }, + { + "type": "float", + "name": "floatParam2" + }, + { + "type": "float", + "name": "floatParam3" + }, + { + "type": "float", + "name": "floatParam4" + }, + { + "type": "float", + "name": "floatParam5" + }, + { + "type": "const char*", + "name": "stringParam1" + }, + { + "type": "const char*", + "name": "stringParam2" + }, + { + "type": "const char*", + "name": "stringParam3" + }, + { + "type": "const char*", + "name": "stringParam4" + }, + { + "type": "const char*", + "name": "stringParam5" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CALL_SCALEFORM_MOVIE_FUNCTION_MIXED_PARAMS" + ] + }, + "0x98C494FD5BDFBFD5": { + "name": "BEGIN_SCALEFORM_SCRIPT_HUD_MOVIE_METHOD", + "jhash": "0x5D66CE1E", + "comment": "Pushes a function from the Hud component Scaleform onto the stack. Same behavior as GRAPHICS::BEGIN_SCALEFORM_MOVIE_METHOD, just a hud component id instead of a Scaleform.\n\nKnown components:\n19 - MP_RANK_BAR\n20 - HUD_DIRECTOR_MODE\n\nThis 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\".", + "params": [ + { + "type": "int", + "name": "hudComponent" + }, + { + "type": "const char*", + "name": "methodName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_FUNCTION_FROM_HUD_COMPONENT", + "_BEGIN_SCALEFORM_MOVIE_METHOD_HUD_COMPONENT" + ] + }, + "0xF6E48914C7A8694E": { + "name": "BEGIN_SCALEFORM_MOVIE_METHOD", + "jhash": "0x215ABBE8", + "comment": "Push a function from the Scaleform onto the stack\n", + "params": [ + { + "type": "int", + "name": "scaleform" + }, + { + "type": "const char*", + "name": "methodName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_FUNCTION" + ] + }, + "0xAB58C27C2E6123C6": { + "name": "BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND", + "jhash": "0xF6015178", + "comment": "Starts frontend (pause menu) scaleform movie methods.\nThis can be used when you want to make custom frontend menus, and customize things like images or text in the menus etc.\nUse `BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER` for header scaleform functions.", + "params": [ + { + "type": "const char*", + "name": "methodName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_FUNCTION_N", + "_BEGIN_SCALEFORM_MOVIE_METHOD_N" + ] + }, + "0xB9449845F73F5E9C": { + "name": "BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER", + "jhash": "0x5E219B67", + "comment": "Starts frontend (pause menu) scaleform movie methods for header options.\nUse `BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND` to customize the content inside the frontend menus.", + "params": [ + { + "type": "const char*", + "name": "methodName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_BEGIN_SCALEFORM_MOVIE_METHOD_V" + ] + }, + "0xC6796A8FFA375E53": { + "name": "END_SCALEFORM_MOVIE_METHOD", + "jhash": "0x02DBF2D7", + "comment": "Pops and calls the Scaleform function on the stack", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_POP_SCALEFORM_MOVIE_FUNCTION_VOID" + ] + }, + "0xC50AA39A577AF886": { + "name": "END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE", + "jhash": "0x2F38B526", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_POP_SCALEFORM_MOVIE_FUNCTION", + "_END_SCALEFORM_MOVIE_METHOD_RETURN" + ] + }, + "0x768FF8961BA904D6": { + "name": "IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY", + "jhash": "0x5CD7C3C0", + "comment": "methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE\nReturns true if the return value of a scaleform function is ready to be collected (using GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING or GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT).", + "params": [ + { + "type": "int", + "name": "methodReturn" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_SCALEFORM_MOVIE_FUNCTION_RETURN_BOOL" + ] + }, + "0x2DE7EFA66B906036": { + "name": "GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT", + "jhash": "0x2CFB0E6D", + "comment": "methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE\nUsed to get a return value from a scaleform function. Returns an int in the same way GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING returns a string.", + "params": [ + { + "type": "int", + "name": "methodReturn" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_SCALEFORM_MOVIE_FUNCTION_RETURN_INT" + ] + }, + "0xD80A80346A45D761": { + "name": "GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_BOOL", + "jhash": "", + "comment": "methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE", + "params": [ + { + "type": "int", + "name": "methodReturn" + } + ], + "return_type": "BOOL", + "build": "757", + "old_names": [ + "_GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_BOOL" + ] + }, + "0xE1E258829A885245": { + "name": "GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING", + "jhash": "0x516862EB", + "comment": "methodReturn: The return value of this native: END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE\nUsed to get a return value from a scaleform function. Returns a string in the same way GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT returns an int.", + "params": [ + { + "type": "int", + "name": "methodReturn" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "SITTING_TV", + "_GET_SCALEFORM_MOVIE_FUNCTION_RETURN_STRING" + ] + }, + "0xC3D0841A0CC546A6": { + "name": "SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT", + "jhash": "0x716777CB", + "comment": "Pushes an integer for the Scaleform function onto the stack.", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_INT", + "_PUSH_SCALEFORM_MOVIE_METHOD_PARAMETER_INT" + ] + }, + "0xD69736AAE04DB51A": { + "name": "SCALEFORM_MOVIE_METHOD_ADD_PARAM_FLOAT", + "jhash": "0x9A01FFDA", + "comment": "Pushes a float for the Scaleform function onto the stack.", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_FLOAT", + "_PUSH_SCALEFORM_MOVIE_METHOD_PARAMETER_FLOAT" + ] + }, + "0xC58424BA936EB458": { + "name": "SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL", + "jhash": "0x0D4AE8CB", + "comment": "Pushes a boolean for the Scaleform function onto the stack.", + "params": [ + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_BOOL", + "_PUSH_SCALEFORM_MOVIE_METHOD_PARAMETER_BOOL" + ] + }, + "0x80338406F3475E55": { + "name": "BEGIN_TEXT_COMMAND_SCALEFORM_STRING", + "jhash": "0x3AC9CB55", + "comment": "Called prior to adding a text component to the UI. After doing so, GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING is called.\n\nExamples:\nGRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING(\"NUMBER\");\nHUD::ADD_TEXT_COMPONENT_INTEGER(MISC::ABSI(a_1));\nGRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();\n\nGRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING(\"STRING\");\nHUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(a_2);\nGRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();\n\nGRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING(\"STRTNM2\");\nHUD::ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL_HASH_KEY(v_3);\nHUD::ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL_HASH_KEY(v_4);\nGRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();\n\nGRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING(\"STRTNM1\");\nHUD::ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL_HASH_KEY(v_3);\nGRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();", + "params": [ + { + "type": "const char*", + "name": "componentType" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_BEGIN_TEXT_COMPONENT" + ] + }, + "0x362E2D3FE93A9959": { + "name": "END_TEXT_COMMAND_SCALEFORM_STRING", + "jhash": "0x386CE0B8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_END_TEXT_COMPONENT" + ] + }, + "0xAE4E8157D9ECF087": { + "name": "END_TEXT_COMMAND_UNPARSED_SCALEFORM_STRING", + "jhash": "0x2E80DB52", + "comment": "Same as END_TEXT_COMMAND_SCALEFORM_STRING but does not perform HTML conversion for text tokens.\n\nEND_TEXT_COMMAND_VIA_SPECIAL_MODIFIABLE_STRING?", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_END_TEXT_COMMAND_SCALEFORM_STRING_2" + ] + }, + "0x77FE3402004CD1B0": { + "name": "SCALEFORM_MOVIE_METHOD_ADD_PARAM_LITERAL_STRING", + "jhash": "", + "comment": "Same as SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING\nBoth SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING / _SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING_2 works, but _SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING_2 is usually used for \"name\" (organisation, players..).", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_METHOD_PARAMETER_STRING_2", + "_SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING_2" + ] + }, + "0xBA7148484BD90365": { + "name": "SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING", + "jhash": "0x4DAAD55B", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_FUNCTION_PARAMETER_STRING", + "_PUSH_SCALEFORM_MOVIE_METHOD_PARAMETER_STRING" + ] + }, + "0xE83A3E3557A56640": { + "name": "SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING", + "jhash": "0xCCBF0334", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PUSH_SCALEFORM_MOVIE_METHOD_PARAMETER_BUTTON_NAME" + ] + }, + "0x5E657EF1099EDD65": { + "name": "DOES_LATEST_BRIEF_STRING_EXIST", + "jhash": "0x91A081A1", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEC52C631A1831C03": { + "name": "SCALEFORM_MOVIE_METHOD_ADD_PARAM_LATEST_BRIEF_STRING", + "jhash": "0x83A9811D", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT_STRING" + ] + }, + "0x9304881D6F6537EA": { + "name": "REQUEST_SCALEFORM_SCRIPT_HUD_MOVIE", + "jhash": "0x7AF85862", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudComponent" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REQUEST_HUD_SCALEFORM" + ] + }, + "0xDF6E5987D2B4D140": { + "name": "HAS_SCALEFORM_SCRIPT_HUD_MOVIE_LOADED", + "jhash": "0x79B43255", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudComponent" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_HUD_SCALEFORM_LOADED" + ] + }, + "0xF44A5456AC3F4F97": { + "name": "REMOVE_SCALEFORM_SCRIPT_HUD_MOVIE", + "jhash": "0x03D87600", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudComponent" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD1C7CB175E012964": { + "name": "PASS_KEYBOARD_INPUT_TO_SCALEFORM", + "jhash": "0xE9183D3A", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleformHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBAABBB23EB6E484E": { + "name": "SET_TV_CHANNEL", + "jhash": "0x41A8A627", + "comment": "", + "params": [ + { + "type": "int", + "name": "channel" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFC1E275A90D39995": { + "name": "GET_TV_CHANNEL", + "jhash": "0x6B96145A", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x2982BF73F66E9DDC": { + "name": "SET_TV_VOLUME", + "jhash": "0xF3504F4D", + "comment": "", + "params": [ + { + "type": "float", + "name": "volume" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2170813D3DD8661B": { + "name": "GET_TV_VOLUME", + "jhash": "0x39555CF0", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xFDDC2B4ED3C69DF0": { + "name": "DRAW_TV_CHANNEL", + "jhash": "0x8129EF89", + "comment": "All calls to this native are preceded by calls to GRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER and GRAPHICS::SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU, respectively.\n\n\"act_cinema.ysc\", line 1483:\nHUD::SET_HUD_COMPONENT_POSITION(15, 0.0, -0.0375);\nHUD::SET_TEXT_RENDER_ID(l_AE);\nGRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER(4);\nGRAPHICS::SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU(1);\nif (GRAPHICS::IS_TVSHOW_CURRENTLY_PLAYING(${movie_arthouse})) {\n GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 0.7375, 1.0, 0.0, 255, 255, 255, 255);\n} else { \n GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 1.0, 1.0, 0.0, 255, 255, 255, 255);\n}\n\n\"am_mp_property_int.ysc\", line 102545:\nif (ENTITY::DOES_ENTITY_EXIST(a_2._f3)) {\n if (HUD::IS_NAMED_RENDERTARGET_LINKED(ENTITY::GET_ENTITY_MODEL(a_2._f3))) {\n HUD::SET_TEXT_RENDER_ID(a_2._f1);\n GRAPHICS::SET_SCRIPT_GFX_DRAW_ORDER(4);\n GRAPHICS::SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU(1);\n GRAPHICS::DRAW_TV_CHANNEL(0.5, 0.5, 1.0, 1.0, 0.0, 255, 255, 255, 255);\n if (GRAPHICS::GET_TV_CHANNEL() == -1) {\n sub_a8fa5(a_2, 1);\n } else { \n sub_a8fa5(a_2, 1);\n GRAPHICS::ATTACH_TV_AUDIO_TO_ENTITY(a_2._f3);\n }\n HUD::SET_TEXT_RENDER_ID(HUD::GET_DEFAULT_SCRIPT_RENDERTARGET_RENDER_ID());\n }\n}\n", + "params": [ + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "xScale" + }, + { + "type": "float", + "name": "yScale" + }, + { + "type": "float", + "name": "rotation" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF7B38B8305F1FE8B": { + "name": "SET_TV_CHANNEL_PLAYLIST", + "jhash": "0xB262DE67", + "comment": "Loads specified video sequence into the TV Channel\nTV_Channel ranges from 0-2\nVideoSequence can be any of the following:\n\"PL_STD_CNT\" CNT Standard Channel\n\"PL_STD_WZL\" Weazel Standard Channel\n\"PL_LO_CNT\"\n\"PL_LO_WZL\"\n\"PL_SP_WORKOUT\"\n\"PL_SP_INV\" - Jay Norris Assassination Mission Fail\n\"PL_SP_INV_EXP\" - Jay Norris Assassination Mission Success\n\"PL_LO_RS\" - Righteous Slaughter Ad\n\"PL_LO_RS_CUTSCENE\" - Righteous Slaughter Cut-scene\n\"PL_SP_PLSH1_INTRO\"\n\"PL_LES1_FAME_OR_SHAME\"\n\"PL_STD_WZL_FOS_EP2\"\n\"PL_MP_WEAZEL\" - Weazel Logo on loop\n\"PL_MP_CCTV\" - Generic CCTV loop\n\nRestart:\n0=video sequence continues as normal\n1=sequence restarts from beginning every time that channel is selected\n\n\nThe 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).\nhttps://pastebin.com/zUzGB6h7", + "params": [ + { + "type": "int", + "name": "tvChannel" + }, + { + "type": "const char*", + "name": "playlistName" + }, + { + "type": "BOOL", + "name": "restart" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_LOAD_TV_CHANNEL_SEQUENCE" + ] + }, + "0x2201C576FACAEBE8": { + "name": "SET_TV_CHANNEL_PLAYLIST_AT_HOUR", + "jhash": "0x78C4DCBE", + "comment": "", + "params": [ + { + "type": "int", + "name": "tvChannel" + }, + { + "type": "const char*", + "name": "playlistName" + }, + { + "type": "int", + "name": "hour" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBEB3D46BB7F043C0": { + "name": "CLEAR_TV_CHANNEL_PLAYLIST", + "jhash": "0xCBE7068F", + "comment": "", + "params": [ + { + "type": "int", + "name": "tvChannel" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1F710BFF7DAE6261": { + "name": "IS_PLAYLIST_ON_CHANNEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "tvChannel" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "1604", + "old_names": [ + "_IS_PLAYLIST_UNK" + ] + }, + "0x0AD973CA1E077B60": { + "name": "IS_TVSHOW_CURRENTLY_PLAYING", + "jhash": "0x4D1EB0FB", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "videoCliphash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_LOAD_TV_CHANNEL", + "_IS_TV_PLAYLIST_ITEM_PLAYING" + ] + }, + "0x74C180030FDE4B69": { + "name": "ENABLE_MOVIE_KEYFRAME_WAIT", + "jhash": "0x796DE696", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD1C55B110E4DF534": { + "name": "SET_TV_PLAYER_WATCHING_THIS_FRAME", + "jhash": "0xD99EC000", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x30432A0118736E00": { + "name": "GET_CURRENT_TV_CLIP_NAMEHASH", + "jhash": "", + "comment": "", + "params": [], + "return_type": "Hash", + "build": "1493" + }, + "0x873FA65C778AD970": { + "name": "ENABLE_MOVIE_SUBTITLES", + "jhash": "0xC2DEBA3D", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD3A10FC7FD8D98CD": { + "name": "UI3DSCENE_IS_AVAILABLE", + "jhash": "0xE40A0F1A", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF1CEA8A4198D8E9A": { + "name": "UI3DSCENE_PUSH_PRESET", + "jhash": "0x2E7D9B98", + "comment": "All presets can be found in common\\data\\ui\\uiscenes.meta", + "params": [ + { + "type": "const char*", + "name": "presetName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x98C4FE6EC34154CA": { + "name": "UI3DSCENE_ASSIGN_PED_TO_SLOT", + "jhash": "0x9A0E3BFE", + "comment": "It's called after UI3DSCENE_IS_AVAILABLE and UI3DSCENE_PUSH_PRESET\n\npresetName was always \"CELEBRATION_WINNER\"\nAll presets can be found in common\\data\\ui\\uiscenes.meta", + "params": [ + { + "type": "const char*", + "name": "presetName" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "slot" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7A42B2E236E71415": { + "name": "UI3DSCENE_CLEAR_PATCHED_DATA", + "jhash": "0x431AA036", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x108BE26959A9D9BB": { + "name": "UI3DSCENE_MAKE_PUSHED_PRESET_PERSISTENT", + "jhash": "0x24A7A7F6", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA356990E161C9E65": { + "name": "TERRAINGRID_ACTIVATE", + "jhash": "0xA1CB6C94", + "comment": "This native enables/disables the gold putting grid display (https://i.imgur.com/TC6cku6.png).\nThis requires these two natives to be called as well to configure the grid: `TERRAINGRID_SET_PARAMS` and `TERRAINGRID_SET_COLOURS`.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1C4FC5752BCD8E48": { + "name": "TERRAINGRID_SET_PARAMS", + "jhash": "0x3B637AA7", + "comment": "This native is used along with these two natives: `TERRAINGRID_ACTIVATE` and `TERRAINGRID_SET_COLOURS`.\nThis native configures the location, size, rotation, normal height, and the difference ratio between min, normal and max.\n\nAll those natives combined they will output something like this: https://i.imgur.com/TC6cku6.png\n\nThis native renders a box at the given position, with a special shader that renders a grid on world geometry behind it. This box does not have backface culling.\nThe forward args here are a direction vector, something similar to what's returned by GET_ENTITY_FORWARD_VECTOR.\nnormalHeight and heightDiff are used for positioning the color gradient of the grid, colors specified via TERRAINGRID_SET_COLOURS.\n\nExample with box superimposed on the image to demonstrate: https://i.imgur.com/wdqskxd.jpg", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "forwardX" + }, + { + "type": "float", + "name": "forwardY" + }, + { + "type": "float", + "name": "forwardZ" + }, + { + "type": "float", + "name": "sizeX" + }, + { + "type": "float", + "name": "sizeY" + }, + { + "type": "float", + "name": "sizeZ" + }, + { + "type": "float", + "name": "gridScale" + }, + { + "type": "float", + "name": "glowIntensity" + }, + { + "type": "float", + "name": "normalHeight" + }, + { + "type": "float", + "name": "heightDiff" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5CE62918F8D703C7": { + "name": "TERRAINGRID_SET_COLOURS", + "jhash": "0xDF552973", + "comment": "This native is used along with these two natives: `TERRAINGRID_ACTIVATE` and `TERRAINGRID_SET_PARAMS`.\nThis 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.\nAll those natives combined they will output something like this: https://i.imgur.com/TC6cku6.png", + "params": [ + { + "type": "int", + "name": "lowR" + }, + { + "type": "int", + "name": "lowG" + }, + { + "type": "int", + "name": "lowB" + }, + { + "type": "int", + "name": "lowAlpha" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "int", + "name": "highR" + }, + { + "type": "int", + "name": "highG" + }, + { + "type": "int", + "name": "highB" + }, + { + "type": "int", + "name": "highAlpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2206BF9A37B7F724": { + "name": "ANIMPOSTFX_PLAY", + "jhash": "0x1D980479", + "comment": "duration - is how long to play the effect for in milliseconds. If 0, it plays the default length\nif loop is true, the effect won't stop until you call ANIMPOSTFX_STOP on it. (only loopable effects)\n\nFull list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "BOOL", + "name": "looped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_START_SCREEN_EFFECT" + ] + }, + "0x068E835A1D0DC0E3": { + "name": "ANIMPOSTFX_STOP", + "jhash": "0x06BB5CDA", + "comment": "See ANIMPOSTFX_PLAY\n\nFull list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_STOP_SCREEN_EFFECT" + ] + }, + "0xE35B38A27E8E7179": { + "name": "ANIMPOSTFX_GET_CURRENT_TIME", + "jhash": "", + "comment": "See ANIMPOSTFX_PLAY\n\nFull list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + } + ], + "return_type": "float", + "build": "877", + "old_names": [ + "_ANIMPOSTFX_GET_UNK" + ] + }, + "0x36AD3E690DA5ACEB": { + "name": "ANIMPOSTFX_IS_RUNNING", + "jhash": "0x089D5921", + "comment": "Returns whether the specified effect is active.\nSee ANIMPOSTFX_PLAY\n\nFull list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_SCREEN_EFFECT_IS_ACTIVE" + ] + }, + "0xB4EDDC19532BFB85": { + "name": "ANIMPOSTFX_STOP_ALL", + "jhash": "0x4E6D875B", + "comment": "Stops ALL currently playing effects.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_STOP_ALL_SCREEN_EFFECTS" + ] + }, + "0xD2209BE128B5418C": { + "name": "ANIMPOSTFX_STOP_AND_FLUSH_REQUESTS", + "jhash": "", + "comment": "Stops the effect and sets a value (bool) in its data (+0x199) to false.\nSee ANIMPOSTFX_PLAY\n\nFull list of animpostFX / screen effects by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animPostFxNamesCompact.json", + "params": [ + { + "type": "const char*", + "name": "effectName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ANIMPOSTFX_STOP_AND_DO_UNK" + ] + } + }, + "HUD": { + "0xABA17D7CE615ADBF": { + "name": "BEGIN_TEXT_COMMAND_BUSYSPINNER_ON", + "jhash": "0xCB7C8994", + "comment": "Initializes the text entry for the the text next to a loading prompt. All natives for building UI texts can be used here\n\n\ne.g\nvoid StartLoadingMessage(char *text, int spinnerType = 3)\n {\n BEGIN_TEXT_COMMAND_BUSYSPINNER_ON(\"STRING\");\n ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);\n END_TEXT_COMMAND_BUSYSPINNER_ON(spinnerType);\n }\n/*OR*/\n void ShowLoadingMessage(char *text, int spinnerType = 3, int timeMs = 10000)\n {\n BEGIN_TEXT_COMMAND_BUSYSPINNER_ON(\"STRING\");\n ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);\n END_TEXT_COMMAND_BUSYSPINNER_ON(spinnerType);\n WAIT(timeMs);\n BUSYSPINNER_OFF();\n }\n\n\nThese are some localized strings used in the loading spinner.\n\"PM_WAIT\" = Please Wait\n\"CELEB_WPLYRS\" = Waiting For Players.\n\"CELL_SPINNER2\" = Scanning storage.\n\"ERROR_CHECKYACHTNAME\" = Registering your yacht's name. Please wait.\n\"ERROR_CHECKPROFANITY\" = Checking your text for profanity. Please wait.\n\"FM_COR_AUTOD\" = Just spinner no text\n\"FM_IHELP_WAT2\" = Waiting for other players\n\"FM_JIP_WAITO\" = Game options are being set\n\"FMMC_DOWNLOAD\" = Downloading\n\"FMMC_PLYLOAD\" = Loading\n\"FMMC_STARTTRAN\" = Launching session\n\"HUD_QUITTING\" = Quiting session\n\"KILL_STRIP_IDM\" = Waiting for to accept\n\"MP_SPINLOADING\" = Loading", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_LOADING_PROMPT_TEXT_ENTRY", + "_BEGIN_TEXT_COMMAND_BUSY_STRING" + ] + }, + "0xBD12F8228410D9B4": { + "name": "END_TEXT_COMMAND_BUSYSPINNER_ON", + "jhash": "0x903F5EE4", + "comment": "enum eBusySpinnerType\n{\n\tBUSY_SPINNER_LEFT,\n\tBUSY_SPINNER_LEFT_2,\n\tBUSY_SPINNER_LEFT_3,\n\tBUSY_SPINNER_SAVE,\n\tBUSY_SPINNER_RIGHT,\n};", + "params": [ + { + "type": "int", + "name": "busySpinnerType" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHOW_LOADING_PROMPT", + "_END_TEXT_COMMAND_BUSY_STRING" + ] + }, + "0x10D373323E5B9C0D": { + "name": "BUSYSPINNER_OFF", + "jhash": "0x94119534", + "comment": "Removes the loading prompt at the bottom right of the screen.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_REMOVE_LOADING_PROMPT" + ] + }, + "0xC65AB383CD91DF98": { + "name": "PRELOAD_BUSYSPINNER", + "jhash": "0x71077FBD", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD422FCC5F239A915": { + "name": "BUSYSPINNER_IS_ON", + "jhash": "0xB8B3A5D0", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_LOADING_PROMPT_BEING_DISPLAYED" + ] + }, + "0xB2A592B04648A9CB": { + "name": "BUSYSPINNER_IS_DISPLAYING", + "jhash": "0x3AF34DEF", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9245E81072704B8A": { + "name": "DISABLE_PAUSEMENU_SPINNER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_PAUSE_MENU_BUSYSPINNER" + ] + }, + "0xAAE7CE1D63167423": { + "name": "SET_MOUSE_CURSOR_THIS_FRAME", + "jhash": "", + "comment": "Shows the cursor on screen for one frame.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHOW_CURSOR_THIS_FRAME", + "_SET_MOUSE_CURSOR_ACTIVE_THIS_FRAME" + ] + }, + "0x8DB8CFFD58B62552": { + "name": "SET_MOUSE_CURSOR_STYLE", + "jhash": "", + "comment": "Changes the mouse cursor's sprite. \n1 = Normal\n6 = Left Arrow\n7 = Right Arrow", + "params": [ + { + "type": "int", + "name": "spriteId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CURSOR_SPRITE", + "_SET_MOUSE_CURSOR_SPRITE" + ] + }, + "0x98215325A695E78A": { + "name": "SET_MOUSE_CURSOR_VISIBLE", + "jhash": "", + "comment": "Shows/hides the frontend cursor on the pause menu or similar menus.\nClicking off and then on the game window will show it again.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MOUSE_CURSOR_VISIBLE_IN_MENUS" + ] + }, + "0x3D9ACB1EB139E702": { + "name": "IS_MOUSE_ROLLED_OVER_INSTRUCTIONAL_BUTTONS", + "jhash": "", + "comment": "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.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_MOUSE_CURSOR_ABOVE_INSTRUCTIONAL_BUTTONS" + ] + }, + "0x632B2940C67F4EA9": { + "name": "GET_MOUSE_EVENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "scaleformHandle" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6F1554B0CC2089FA": { + "name": "THEFEED_ONLY_SHOW_TOOLTIPS", + "jhash": "0xA7C8594B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x55598D21339CB998": { + "name": "THEFEED_SET_SCRIPTED_MENU_HEIGHT", + "jhash": "0x1DA7E41A", + "comment": "", + "params": [ + { + "type": "float", + "name": "pos" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_NOTIFICATIONS_POS" + ] + }, + "0x32888337579A5970": { + "name": "THEFEED_HIDE", + "jhash": "", + "comment": "Stops loading screen tips shown by invoking `THEFEED_SHOW`", + "params": [], + "return_type": "void", + "build": "463", + "old_names": [ + "_THEFEED_DISABLE", + "_THEFEED_DISABLE_LOADING_SCREEN_TIPS" + ] + }, + "0x25F87B30C382FCA7": { + "name": "THEFEED_HIDE_THIS_FRAME", + "jhash": "0x1E63088A", + "comment": "Once called each frame hides all above radar notifications.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_HIDE_HUD_NOTIFICATIONS_THIS_FRAME" + ] + }, + "0x15CFA549788D35EF": { + "name": "THEFEED_SHOW", + "jhash": "", + "comment": "Displays loading screen tips, requires `THEFEED_AUTO_POST_GAMETIPS_ON` to be called beforehand.", + "params": [], + "return_type": "void", + "build": "463", + "old_names": [ + "_THEFEED_ENABLE", + "_THEFEED_DISPLAY_LOADING_SCREEN_TIPS" + ] + }, + "0xA8FDB297A8D25FBA": { + "name": "THEFEED_FLUSH_QUEUE", + "jhash": "0x5205C6F5", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBE4390CB40B3E627": { + "name": "THEFEED_REMOVE_ITEM", + "jhash": "0xECA8ACB9", + "comment": "Removes a notification instantly instead of waiting for it to disappear", + "params": [ + { + "type": "int", + "name": "notificationId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REMOVE_NOTIFICATION" + ] + }, + "0xA13C11E1B5C06BFC": { + "name": "THEFEED_FORCE_RENDER_ON", + "jhash": "0x520FCB6D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x583049884A2EEE3C": { + "name": "THEFEED_FORCE_RENDER_OFF", + "jhash": "0xC8BAB2F2", + "comment": "Enables loading screen tips to be be shown (`THEFEED_SHOW`), blocks other kinds of notifications from being displayed (at least from current script). Call `0xADED7F5748ACAFE6` to display those again.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_HIDE_GTAO_TOOLTIPS" + ] + }, + "0xFDB423997FA30340": { + "name": "THEFEED_PAUSE", + "jhash": "0x4D0449C6", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE1CD1E48E025E661": { + "name": "THEFEED_RESUME", + "jhash": "0xD3F40140", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA9CBFD40B3FA3010": { + "name": "THEFEED_IS_PAUSED", + "jhash": "0xC5223796", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD4438C0564490E63": { + "name": "THEFEED_REPORT_LOGO_ON", + "jhash": "0x709B4BCB", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_ENABLE_BASELINE_OFFSET", + "THEFEED_SPS_EXTEND_WIDESCREEN_ON" + ] + }, + "0xB695E2CD0A2DA9EE": { + "name": "THEFEED_REPORT_LOGO_OFF", + "jhash": "0x4A4A40A4", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_DISABLE_BASELINE_OFFSET", + "THEFEED_SPS_EXTEND_WIDESCREEN_OFF" + ] + }, + "0x82352748437638CA": { + "name": "THEFEED_GET_LAST_SHOWN_PHONE_ACTIVATABLE_FEED_ID", + "jhash": "0x294405D4", + "comment": "Returns the handle for the notification currently displayed on the screen. Name may be a hash collision, but describes the function accurately.", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_CURRENT_NOTIFICATION", + "_THEFEED_GET_CURRENT_NOTIFICATION", + "THEFEED_GET_FIRST_VISIBLE_DELETE_REMAINING" + ] + }, + "0x56C8B608CFD49854": { + "name": "THEFEED_AUTO_POST_GAMETIPS_ON", + "jhash": "0xF881AB87", + "comment": "Enables loading screen tips to be be shown (`THEFEED_SHOW`), blocks other kinds of notifications from being displayed (at least from current script). Call `THEFEED_AUTO_POST_GAMETIPS_OFF` to display those again.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "THEFEED_COMMENT_TELEPORT_POOL_ON" + ] + }, + "0xADED7F5748ACAFE6": { + "name": "THEFEED_AUTO_POST_GAMETIPS_OFF", + "jhash": "0x1D6859CA", + "comment": "Displays \"normal\" notifications again after calling `THEFEED_AUTO_POST_GAMETIPS_ON` (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).", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_SHOW_GTAO_TOOLTIPS", + "THEFEED_COMMENT_TELEPORT_POOL_OFF" + ] + }, + "0x92F0DA1E27DB96DC": { + "name": "THEFEED_SET_BACKGROUND_COLOR_FOR_NEXT_POST", + "jhash": "0x07CE2EA4", + "comment": "From the decompiled scripts:\nHUD::THEFEED_SET_BACKGROUND_COLOR_FOR_NEXT_POST(6);\nHUD::THEFEED_SET_BACKGROUND_COLOR_FOR_NEXT_POST(184);\nHUD::THEFEED_SET_BACKGROUND_COLOR_FOR_NEXT_POST(190);\n\nsets background color for the next notification\n6 = red\n184 = green\n190 = yellow\n\nHere is a list of some colors that can be used: https://gyazo.com/68bd384455fceb0a85a8729e48216e15", + "params": [ + { + "type": "int", + "name": "hudColorIndex" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_BACKGROUND_COLOR", + "_THEFEED_NEXT_POST_BACKGROUND_COLOR", + "_THEFEED_SET_NEXT_POST_BACKGROUND_COLOR" + ] + }, + "0x17430B918701C342": { + "name": "THEFEED_SET_RGBA_PARAMETER_FOR_NEXT_MESSAGE", + "jhash": "0xCF14D7F2", + "comment": "", + "params": [ + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_FLASH_COLOR", + "_THEFEED_SET_ANIMPOSTFX_COLOR" + ] + }, + "0x17AD8C9706BDD88A": { + "name": "THEFEED_SET_FLASH_DURATION_PARAMETER_FOR_NEXT_MESSAGE", + "jhash": "0x24A97AF8", + "comment": "Related to notification color flashing, setting count to 0 invalidates a `THEFEED_SET_RGBA_PARAMETER_FOR_NEXT_MESSAGE` call for the target notification.", + "params": [ + { + "type": "int", + "name": "count" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_SET_ANIMPOSTFX_COUNT" + ] + }, + "0x4A0C7C9BB10ABB36": { + "name": "THEFEED_SET_VIBRATE_PARAMETER_FOR_NEXT_MESSAGE", + "jhash": "0x44018EDB", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_SET_ANIMPOSTFX_SOUND" + ] + }, + "0xFDD85225B2DEA55E": { + "name": "THEFEED_RESET_ALL_PARAMETERS", + "jhash": "0xA4524B23", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_CLEAR_ANIMPOSTFX" + ] + }, + "0xFDEC055AB549E328": { + "name": "THEFEED_FREEZE_NEXT_POST", + "jhash": "0xAFA1148B", + "comment": "Requires manual management of game stream handles (i.e., 0xBE4390CB40B3E627).", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_SET_NEXT_POST_PERSISTENT" + ] + }, + "0x80FE4F3AB4E1B62A": { + "name": "THEFEED_CLEAR_FROZEN_POST", + "jhash": "0x3CD4307C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_FLUSH_PERSISTENT" + ] + }, + "0xBAE4F9B97CD43B30": { + "name": "THEFEED_SET_SNAP_FEED_ITEM_POSITIONS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_SET_FLUSH_ANIMPOSTFX" + ] + }, + "0x317EBA71D7543F52": { + "name": "THEFEED_UPDATE_ITEM_TEXTURE", + "jhash": "0x6A3F747D", + "comment": "Used in the native scripts to reference \"GET_PEDHEADSHOT_TXD_STRING\" and \"CHAR_DEFAULT\".", + "params": [ + { + "type": "const char*", + "name": "txdString1" + }, + { + "type": "const char*", + "name": "txnString1" + }, + { + "type": "const char*", + "name": "txdString2" + }, + { + "type": "const char*", + "name": "txnString2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_THEFEED_ADD_TXD_REF" + ] + }, + "0x202709F4C58A0424": { + "name": "BEGIN_TEXT_COMMAND_THEFEED_POST", + "jhash": "0x574EE85C", + "comment": "Declares the entry type of a notification, for example \"STRING\".\n\nint ShowNotification(char *text)\n{\n\tBEGIN_TEXT_COMMAND_THEFEED_POST(\"STRING\");\n\tADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);\n\treturn END_TEXT_COMMAND_THEFEED_POST_TICKER(1, 1);\n}", + "params": [ + { + "type": "const char*", + "name": "text" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_TEXT_ENTRY" + ] + }, + "0x2B7E9A4EAAA93C89": { + "name": "END_TEXT_COMMAND_THEFEED_POST_STATS", + "jhash": "0xED130FA1", + "comment": "List of picture names: https://pastebin.com/XdpJVbHz\nExample result: https://i.imgur.com/SdEZ22m.png", + "params": [ + { + "type": "const char*", + "name": "statTitle" + }, + { + "type": "int", + "name": "iconEnum" + }, + { + "type": "BOOL", + "name": "stepVal" + }, + { + "type": "int", + "name": "barValue" + }, + { + "type": "BOOL", + "name": "isImportant" + }, + { + "type": "const char*", + "name": "pictureTextureDict" + }, + { + "type": "const char*", + "name": "pictureTextureName" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_MESSAGE_2" + ] + }, + "0x1CCD9A37359072CF": { + "name": "END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT", + "jhash": "0xE7E3C98B", + "comment": "This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT.\n\nList of picNames: https://pastebin.com/XdpJVbHz\n\n\nflash is a bool for fading in.\niconTypes:\n1 : Chat Box\n2 : Email\n3 : Add Friend Request\n4 : Nothing\n5 : Nothing\n6 : Nothing\n7 : Right Jumping Arrow\n8 : RP Icon\n9 : $ Icon\n\n\"sender\" is the very top header. This can be any old string.\n\"subject\" is the header under the sender.", + "params": [ + { + "type": "const char*", + "name": "txdName" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "BOOL", + "name": "flash" + }, + { + "type": "int", + "name": "iconType" + }, + { + "type": "const char*", + "name": "sender" + }, + { + "type": "const char*", + "name": "subject" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_MESSAGE" + ] + }, + "0xC6F580E4C94926AC": { + "name": "END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_SUBTITLE_LABEL", + "jhash": "", + "comment": "This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT.\n\nNeeds more research.\n\nOnly one type of usage in the scripts:\n\nHUD::END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_SUBTITLE_LABEL(\"CHAR_ACTING_UP\", \"CHAR_ACTING_UP\", 0, 0, \"DI_FEED_CHAR\", a_0);", + "params": [ + { + "type": "const char*", + "name": "txdName" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "BOOL", + "name": "flash" + }, + { + "type": "int", + "name": "iconType" + }, + { + "type": "const char*", + "name": "sender" + }, + { + "type": "const char*", + "name": "subject" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_MESSAGE_3", + "_END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_ENTRY", + "_END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_GXT_ENTRY" + ] + }, + "0x1E6611149DB3DB6B": { + "name": "END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_TU", + "jhash": "0x0EB382B7", + "comment": "This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT.\n\nNOTE: 'duration' is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long.\n\nExample, only occurrence in the scripts:\nv_8 = HUD::END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_TU(\"CHAR_SOCIAL_CLUB\", \"CHAR_SOCIAL_CLUB\", 0, 0, &v_9, \"\", a_5);", + "params": [ + { + "type": "const char*", + "name": "txdName" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "BOOL", + "name": "flash" + }, + { + "type": "int", + "name": "iconType" + }, + { + "type": "const char*", + "name": "sender" + }, + { + "type": "const char*", + "name": "subject" + }, + { + "type": "float", + "name": "duration" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_MESSAGE_4" + ] + }, + "0x5CBF7BADE20DB93E": { + "name": "END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_WITH_CREW_TAG", + "jhash": "0x3E807FE3", + "comment": "This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT.\n\nList of picNames https://pastebin.com/XdpJVbHz\n\nflash is a bool for fading in.\niconTypes:\n1 : Chat Box\n2 : Email\n3 : Add Friend Request\n4 : Nothing\n5 : Nothing\n6 : Nothing\n7 : Right Jumping Arrow\n8 : RP Icon\n9 : $ Icon\n\n\"sender\" is the very top header. This can be any old string.\n\"subject\" is the header under the sender.\n\"duration\" is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long.\n\"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.)", + "params": [ + { + "type": "const char*", + "name": "txdName" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "BOOL", + "name": "flash" + }, + { + "type": "int", + "name": "iconType" + }, + { + "type": "const char*", + "name": "sender" + }, + { + "type": "const char*", + "name": "subject" + }, + { + "type": "float", + "name": "duration" + }, + { + "type": "const char*", + "name": "clanTag" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_MESSAGE_CLAN_TAG" + ] + }, + "0x531B84E7DA981FB6": { + "name": "END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_WITH_CREW_TAG_AND_ADDITIONAL_ICON", + "jhash": "0xDEB491C8", + "comment": "This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT.\n\nList of picNames: https://pastebin.com/XdpJVbHz\n\nflash is a bool for fading in.\niconTypes:\n1 : Chat Box\n2 : Email\n3 : Add Friend Request\n4 : Nothing\n5 : Nothing\n6 : Nothing\n7 : Right Jumping Arrow\n8 : RP Icon\n9 : $ Icon\n\n\"sender\" is the very top header. This can be any old string.\n\"subject\" is the header under the sender.\n\"duration\" is a multiplier, so 1.0 is normal, 2.0 is twice as long (very slow), and 0.5 is half as long.\n\"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.)\niconType2 is a mirror of iconType. It shows in the \"subject\" line, right under the original iconType.\n\n\nint IconNotification(char *text, char *text2, char *Subject)\n{\n BEGIN_TEXT_COMMAND_THEFEED_POST(\"STRING\");\n ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);\n _SET_NOTIFICATION_MESSAGE_CLAN_TAG_2(\"CHAR_SOCIAL_CLUB\", \"CHAR_SOCIAL_CLUB\", 1, 7, text2, Subject, 1.0f, \"__EXAMPLE\", 7);\n return END_TEXT_COMMAND_THEFEED_POST_TICKER(1, 1);\n}", + "params": [ + { + "type": "const char*", + "name": "txdName" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "BOOL", + "name": "flash" + }, + { + "type": "int", + "name": "iconType1" + }, + { + "type": "const char*", + "name": "sender" + }, + { + "type": "const char*", + "name": "subject" + }, + { + "type": "float", + "name": "duration" + }, + { + "type": "const char*", + "name": "clanTag" + }, + { + "type": "int", + "name": "iconType2" + }, + { + "type": "int", + "name": "p9" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_MESSAGE_CLAN_TAG_2" + ] + }, + "0x2ED7843F8F801023": { + "name": "END_TEXT_COMMAND_THEFEED_POST_TICKER", + "jhash": "0x08F7AF78", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "blink" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_DRAW_NOTIFICATION" + ] + }, + "0x44FA03975424A0EE": { + "name": "END_TEXT_COMMAND_THEFEED_POST_TICKER_FORCED", + "jhash": "0x57B8D0D4", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "blink" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_DRAW_NOTIFICATION_2" + ] + }, + "0x378E809BF61EC840": { + "name": "END_TEXT_COMMAND_THEFEED_POST_TICKER_WITH_TOKENS", + "jhash": "0x02BCAF9B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "blink" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_DRAW_NOTIFICATION_3" + ] + }, + "0xAA295B6F28BD587D": { + "name": "END_TEXT_COMMAND_THEFEED_POST_AWARD", + "jhash": "0x02DED2B8", + "comment": "Shows an \"award\" notification above the minimap, example: https://i.imgur.com/e2DNaKX.png\nExample:\n\nHUD::BEGIN_TEXT_COMMAND_THEFEED_POST(\"HUNT\");\nHUD::END_TEXT_COMMAND_THEFEED_POST_AWARD(\"Hunting\", \"Hunting_Gold_128\", 0, 109, \"HUD_MED_UNLKED\");", + "params": [ + { + "type": "const char*", + "name": "textureDict" + }, + { + "type": "const char*", + "name": "textureName" + }, + { + "type": "int", + "name": "rpBonus" + }, + { + "type": "int", + "name": "colorOverlay" + }, + { + "type": "const char*", + "name": "titleLabel" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_DRAW_NOTIFICATION_ICON", + "_DRAW_NOTIFICATION_AWARD" + ] + }, + "0x97C9E4E7024A8F2C": { + "name": "END_TEXT_COMMAND_THEFEED_POST_CREWTAG", + "jhash": "0xA9CCEF66", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int*", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "BOOL", + "name": "isLeader" + }, + { + "type": "BOOL", + "name": "unk0" + }, + { + "type": "int", + "name": "clanDesc" + }, + { + "type": "int", + "name": "R" + }, + { + "type": "int", + "name": "G" + }, + { + "type": "int", + "name": "B" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_NOTIFICATION_SEND_APARTMENT_INVITE", + "_DRAW_NOTIFICATION_APARTMENT_INVITE" + ] + }, + "0x137BC35589E34E1E": { + "name": "END_TEXT_COMMAND_THEFEED_POST_CREWTAG_WITH_GAME_NAME", + "jhash": "0x88B9B909", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int*", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "BOOL", + "name": "isLeader" + }, + { + "type": "BOOL", + "name": "unk0" + }, + { + "type": "int", + "name": "clanDesc" + }, + { + "type": "const char*", + "name": "playerName" + }, + { + "type": "int", + "name": "R" + }, + { + "type": "int", + "name": "G" + }, + { + "type": "int", + "name": "B" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_NOTIFICATION_SEND_CLAN_INVITE", + "_DRAW_NOTIFICATION_CLAN_INVITE" + ] + }, + "0x33EE12743CCD6343": { + "name": "END_TEXT_COMMAND_THEFEED_POST_UNLOCK", + "jhash": "0xE05E7052", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "gxtLabel1" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "const char*", + "name": "gxtLabel2" + } + ], + "return_type": "int", + "build": "323" + }, + "0xC8F3AAF93D0600BF": { + "name": "END_TEXT_COMMAND_THEFEED_POST_UNLOCK_TU", + "jhash": "0x4FA43BA4", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "gxtLabel1" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "const char*", + "name": "gxtLabel2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "int", + "build": "323" + }, + "0x7AE0589093A2E088": { + "name": "END_TEXT_COMMAND_THEFEED_POST_UNLOCK_TU_WITH_COLOR", + "jhash": "0x8C90D22F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF020C96915705B3A": { + "name": "END_TEXT_COMMAND_THEFEED_POST_MPTICKER", + "jhash": "0x8E319AB8", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "blink" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_DRAW_NOTIFICATION_4" + ] + }, + "0x8EFCCF6EC66D85E4": { + "name": "END_TEXT_COMMAND_THEFEED_POST_CREW_RANKUP_WITH_LITERAL_FLAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "END_TEXT_COMMAND_THEFEED_POST_CREW_RANKUP" + ] + }, + "0xB6871B0555B02996": { + "name": "END_TEXT_COMMAND_THEFEED_POST_VERSUS_TU", + "jhash": "0x5E93FBFA", + "comment": "This function can show pictures of every texture that can be requested by REQUEST_STREAMED_TEXTURE_DICT.\n\nList of picNames: https://pastebin.com/XdpJVbHz\nHUD colors and their values: https://pastebin.com/d9aHPbXN\n\nShows a deathmatch score above the minimap, example: https://i.imgur.com/YmoMklG.png", + "params": [ + { + "type": "const char*", + "name": "txdName1" + }, + { + "type": "const char*", + "name": "textureName1" + }, + { + "type": "int", + "name": "count1" + }, + { + "type": "const char*", + "name": "txdName2" + }, + { + "type": "const char*", + "name": "textureName2" + }, + { + "type": "int", + "name": "count2" + }, + { + "type": "int", + "name": "hudColor1" + }, + { + "type": "int", + "name": "hudColor2" + } + ], + "return_type": "int", + "build": "323" + }, + "0xD202B92CBF1D816F": { + "name": "END_TEXT_COMMAND_THEFEED_POST_REPLAY", + "jhash": "", + "comment": "returns a notification handle, prints out a notification like below:\ntype range: 0 - 2\nif you set type to 1, image goes from 0 - 39 - Xbox you can add text to\n\nexample: \nHUD::END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT(1, 20, \"Who you trynna get crazy with, ese? Don't you know I'm LOCO?!\");\n- https://imgur.com/lGBPCz3", + "params": [ + { + "type": "int", + "name": "type" + }, + { + "type": "int", + "name": "image" + }, + { + "type": "const char*", + "name": "text" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_DRAW_NOTIFICATION_WITH_ICON", + "_END_TEXT_COMMAND_THEFEED_POST_REPLAY_ICON" + ] + }, + "0xDD6CB2CCE7C2735C": { + "name": "END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT", + "jhash": "", + "comment": "returns a notification handle, prints out a notification like below:\ntype range: 0 - 2\nif you set type to 1, button accepts \"~INPUT_SOMETHING~\"\n\nexample:\nHUD::END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT(1, \"~INPUT_TALK~\", \"Who you trynna get crazy with, ese? Don't you know I'm LOCO?!\");\n- https://imgur.com/UPy0Ial\n\n\nExamples from the scripts:\nl_D1[1/*1*/]=HUD::END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT(1,\"~INPUT_REPLAY_START_STOP_RECORDING~\",\"\");\nl_D1[2/*1*/]=HUD::END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT(1,\"~INPUT_SAVE_REPLAY_CLIP~\",\"\");\nl_D1[1/*1*/]=HUD::END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT(1,\"~INPUT_REPLAY_START_STOP_RECORDING~\",\"\");\nl_D1[2/*1*/]=HUD::END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT(1,\"~INPUT_REPLAY_START_STOP_RECORDING_SECONDARY~\",\"\");\n", + "params": [ + { + "type": "int", + "name": "type" + }, + { + "type": "const char*", + "name": "button" + }, + { + "type": "const char*", + "name": "text" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_DRAW_NOTIFICATION_WITH_BUTTON", + "_END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT" + ] + }, + "0xB87A37EEB7FAA67D": { + "name": "BEGIN_TEXT_COMMAND_PRINT", + "jhash": "0xF42C43C7", + "comment": "void ShowSubtitle(const char *text)\n{\n BEGIN_TEXT_COMMAND_PRINT(\"STRING\");\n ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);\n END_TEXT_COMMAND_PRINT(2000, true);\n}", + "params": [ + { + "type": "const char*", + "name": "GxtEntry" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TEXT_ENTRY_2" + ] + }, + "0x9D77056A530643F6": { + "name": "END_TEXT_COMMAND_PRINT", + "jhash": "0x38F82261", + "comment": "Draws the subtitle at middle center of the screen.\n\nint duration = time in milliseconds to show text on screen before disappearing\n\ndrawImmediately = If true, the text will be drawn immediately, if false, the text will be drawn after the previous subtitle has finished\n\nUsed to be known as _DRAW_SUBTITLE_TIMED", + "params": [ + { + "type": "int", + "name": "duration" + }, + { + "type": "BOOL", + "name": "drawImmediately" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DRAW_SUBTITLE_TIMED" + ] + }, + "0x853648FD1063A213": { + "name": "BEGIN_TEXT_COMMAND_IS_MESSAGE_DISPLAYED", + "jhash": "0xDD524A11", + "comment": "nothin doin. \n\nBOOL Message(const char* text)\n {\n BEGIN_TEXT_COMMAND_IS_MESSAGE_DISPLAYED(\"STRING\");\n ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);\n return END_TEXT_COMMAND_IS_MESSAGE_DISPLAYED();\n }", + "params": [ + { + "type": "const char*", + "name": "text" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8A9BA1AB3E237613": { + "name": "END_TEXT_COMMAND_IS_MESSAGE_DISPLAYED", + "jhash": "0x672EFB45", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x25FBB336DF1804CB": { + "name": "BEGIN_TEXT_COMMAND_DISPLAY_TEXT", + "jhash": "0x3E35563E", + "comment": "The following were found in the decompiled script files:\nSTRING, 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\n\nESDOLLA - cash\nESMINDOLLA - cash (negative)\n\nUsed to be known as _SET_TEXT_ENTRY", + "params": [ + { + "type": "const char*", + "name": "text" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TEXT_ENTRY" + ] + }, + "0xCD015E5BB0D96A57": { + "name": "END_TEXT_COMMAND_DISPLAY_TEXT", + "jhash": "0x6F8350CE", + "comment": "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.\n\nUsed to be known as _DRAW_TEXT", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DRAW_TEXT" + ] + }, + "0x54CE8AC98E120CAB": { + "name": "BEGIN_TEXT_COMMAND_GET_SCREEN_WIDTH_OF_DISPLAY_TEXT", + "jhash": "0x51E7A037", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "text" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TEXT_ENTRY_FOR_WIDTH", + "_BEGIN_TEXT_COMMAND_WIDTH", + "_BEGIN_TEXT_COMMAND_GET_WIDTH" + ] + }, + "0x85F061DA64ED2F67": { + "name": "END_TEXT_COMMAND_GET_SCREEN_WIDTH_OF_DISPLAY_TEXT", + "jhash": "0xD12A643A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_TEXT_SCREEN_WIDTH", + "_END_TEXT_COMMAND_GET_WIDTH" + ] + }, + "0x521FB041D93DD0E4": { + "name": "BEGIN_TEXT_COMMAND_GET_NUMBER_OF_LINES_FOR_STRING", + "jhash": "0x94B82066", + "comment": "int GetLineCount(char *text, float x, float y)\n {\n BEGIN_TEXT_COMMAND_GET_NUMBER_OF_LINES_FOR_STRING(\"STRING\");\n ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);\n return BEGIN_TEXT_COMMAND_GET_NUMBER_OF_LINES_FOR_STRING(x, y);\n }", + "params": [ + { + "type": "const char*", + "name": "entry" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TEXT_GXT_ENTRY", + "_BEGIN_TEXT_COMMAND_LINE_COUNT" + ] + }, + "0x9040DFB09BE75706": { + "name": "END_TEXT_COMMAND_GET_NUMBER_OF_LINES_FOR_STRING", + "jhash": "0xAA318785", + "comment": "Determines how many lines the text string will use when drawn on screen. \nMust use 0x521FB041D93DD0E4 for setting up", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_TEXT_SCREEN_LINE_COUNT", + "_END_TEXT_COMMAND_GET_LINE_COUNT", + "_END_TEXT_COMMAND_LINE_COUNT" + ] + }, + "0x8509B634FBE7DA11": { + "name": "BEGIN_TEXT_COMMAND_DISPLAY_HELP", + "jhash": "0xB245FC10", + "comment": "Used to be known as _SET_TEXT_COMPONENT_FORMAT", + "params": [ + { + "type": "const char*", + "name": "inputType" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TEXT_COMPONENT_FORMAT" + ] + }, + "0x238FFE5C7B0498A6": { + "name": "END_TEXT_COMMAND_DISPLAY_HELP", + "jhash": "0xB59B530D", + "comment": "shape goes from -1 to 50 (may be more).\np0 is always 0.\n\nExample:\nvoid FloatingHelpText(const char* text)\n{\n BEGIN_TEXT_COMMAND_DISPLAY_HELP(\"STRING\");\n ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);\n END_TEXT_COMMAND_DISPLAY_HELP (0, 0, 1, -1);\n}\n\nImage:\n- imgbin.org/images/26209.jpg\n\nmore inputs/icons:\n- https://pastebin.com/nqNYWMSB\n\nUsed to be known as _DISPLAY_HELP_TEXT_FROM_STRING_LABEL", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "loop" + }, + { + "type": "BOOL", + "name": "beep" + }, + { + "type": "int", + "name": "shape" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISPLAY_HELP_TEXT_FROM_STRING_LABEL" + ] + }, + "0x0A24DA3A41B718F5": { + "name": "BEGIN_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED", + "jhash": "0x00E20F2D", + "comment": "BOOL IsContextActive(char *ctx)\n {\n BEGIN_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED(ctx);\n return END_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED(0);\n }", + "params": [ + { + "type": "const char*", + "name": "labelName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x10BDDBFC529428DD": { + "name": "END_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED", + "jhash": "0xF63A13EC", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF9113A30DE5C6670": { + "name": "BEGIN_TEXT_COMMAND_SET_BLIP_NAME", + "jhash": "0xF4C211F6", + "comment": "Starts a text command to change the name of a blip displayed in the pause menu.\nThis should be paired with `END_TEXT_COMMAND_SET_BLIP_NAME`, once adding all required text components.\nExample:\n\nHUD::BEGIN_TEXT_COMMAND_SET_BLIP_NAME(\"STRING\");\nHUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(\"Name\");\nHUD::END_TEXT_COMMAND_SET_BLIP_NAME(blip);", + "params": [ + { + "type": "const char*", + "name": "textLabel" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBC38B49BCB83BC9B": { + "name": "END_TEXT_COMMAND_SET_BLIP_NAME", + "jhash": "0xE8E59820", + "comment": "Finalizes a text command started with BEGIN_TEXT_COMMAND_SET_BLIP_NAME, setting the name of the specified blip.", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "void", + "build": "323" + }, + "0x23D69E0465570028": { + "name": "BEGIN_TEXT_COMMAND_ADD_DIRECTLY_TO_PREVIOUS_BRIEFS", + "jhash": "0x0E103475", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_BEGIN_TEXT_COMMAND_OBJECTIVE" + ] + }, + "0xCFDBDF5AE59BA0F4": { + "name": "END_TEXT_COMMAND_ADD_DIRECTLY_TO_PREVIOUS_BRIEFS", + "jhash": "0x2944A6C5", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_END_TEXT_COMMAND_OBJECTIVE" + ] + }, + "0xE124FA80A759019C": { + "name": "BEGIN_TEXT_COMMAND_CLEAR_PRINT", + "jhash": "0x550665AE", + "comment": "clears a print text command with this text", + "params": [ + { + "type": "const char*", + "name": "text" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFCC75460ABA29378": { + "name": "END_TEXT_COMMAND_CLEAR_PRINT", + "jhash": "0x67785AF2", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x8F9EE5687F8EECCD": { + "name": "BEGIN_TEXT_COMMAND_OVERRIDE_BUTTON_TEXT", + "jhash": "0xBF855650", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "gxtEntry" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_BEGIN_TEXT_COMMAND_TIMER" + ] + }, + "0xA86911979638106F": { + "name": "END_TEXT_COMMAND_OVERRIDE_BUTTON_TEXT", + "jhash": "0x6E7FDA1C", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_END_TEXT_COMMAND_TIMER" + ] + }, + "0x03B504CF259931BC": { + "name": "ADD_TEXT_COMPONENT_INTEGER", + "jhash": "0xFE272A57", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE7DCB5B874BCD96E": { + "name": "ADD_TEXT_COMPONENT_FLOAT", + "jhash": "0x24D78013", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + }, + { + "type": "int", + "name": "decimalPlaces" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC63CD5D2920ACBE7": { + "name": "ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL", + "jhash": "0xDCE05406", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "labelName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_TEXT_COMPONENT_ITEM_STRING" + ] + }, + "0x17299B63C7683A2B": { + "name": "ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL_HASH_KEY", + "jhash": "0x150E03B6", + "comment": "It adds the localized text of the specified GXT entry name. Eg. if the argument is GET_HASH_KEY(\"ES_HELP\"), adds \"Continue\". Just uses a text labels hash key", + "params": [ + { + "type": "Hash", + "name": "gxtEntryHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x80EAD8E2E1D5D52E": { + "name": "ADD_TEXT_COMPONENT_SUBSTRING_BLIP_NAME", + "jhash": "0x5DE98F0A", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6C188BE134E074AA": { + "name": "ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME", + "jhash": "0x27A244D8", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "text" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_TEXT_COMPONENT_STRING" + ] + }, + "0x1115F16B8AB9E8BF": { + "name": "ADD_TEXT_COMPONENT_SUBSTRING_TIME", + "jhash": "0x135B3CD0", + "comment": "Adds a timer (e.g. \"00:00:00:000\"). The appearance of the timer depends on the flags, which needs more research.", + "params": [ + { + "type": "int", + "name": "timestamp" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0E4C749FF9DE9CC4": { + "name": "ADD_TEXT_COMPONENT_FORMATTED_INTEGER", + "jhash": "0x12929BDF", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + }, + { + "type": "BOOL", + "name": "commaSeparated" + } + ], + "return_type": "void", + "build": "323" + }, + "0x761B77454205A61D": { + "name": "ADD_TEXT_COMPONENT_SUBSTRING_PHONE_NUMBER", + "jhash": "0x65E1D404", + "comment": "p1 was always -1", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_TEXT_COMPONENT_APP_TITLE" + ] + }, + "0x94CF4AC034C9C986": { + "name": "ADD_TEXT_COMPONENT_SUBSTRING_WEBSITE", + "jhash": "0xC736999E", + "comment": "This native (along with ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY and ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME) do not actually filter anything. They simply add the provided text (as of 944)", + "params": [ + { + "type": "const char*", + "name": "website" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_TEXT_COMPONENT_STRING2" + ] + }, + "0x5F68520888E69014": { + "name": "ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY", + "jhash": "0x0829A799", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_TEXT_COMPONENT_STRING3", + "_ADD_TEXT_COMPONENT_SCALEFORM" + ] + }, + "0x39BBF623FC803EAC": { + "name": "SET_COLOUR_OF_NEXT_TEXT_COMPONENT", + "jhash": "0x6F1A1901", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudColor" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_NOTIFICATION_COLOR_NEXT" + ] + }, + "0x169BD9382084C8C0": { + "name": "GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME", + "jhash": "0x34A396EE", + "comment": "Returns a substring of a specified length starting at a specified position.\n\nExample:\n// Get \"STRING\" text from \"MY_STRING\"\nsubStr = HUD::GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME(\"MY_STRING\", 3, 6);", + "params": [ + { + "type": "const char*", + "name": "text" + }, + { + "type": "int", + "name": "position" + }, + { + "type": "int", + "name": "length" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_TEXT_SUBSTRING" + ] + }, + "0xB2798643312205C5": { + "name": "GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME_WITH_BYTE_LIMIT", + "jhash": "0x0183A66C", + "comment": "Returns a substring of a specified length starting at a specified position. The result is guaranteed not to exceed the specified max length.\n\nNOTE: The 'maxLength' parameter might actually be the size of the buffer that is returned. More research is needed. -CL69\n\nExample:\n// Condensed example of how Rockstar uses this function\nstrLen = HUD::GET_LENGTH_OF_LITERAL_STRING(MISC::GET_ONSCREEN_KEYBOARD_RESULT());\nsubStr = HUD::GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME_WITH_BYTE_LIMIT(MISC::GET_ONSCREEN_KEYBOARD_RESULT(), 0, strLen, 63);\n\n--\n\n\"fm_race_creator.ysc\", line 85115:\n// parameters modified for clarity\nBOOL sub_8e5aa(char *text, int length) {\n for (i = 0; i <= (length - 2); i += 1) {\n if (!MISC::ARE_STRINGS_EQUAL(HUD::GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME_WITH_BYTE_LIMIT(text, i, i + 1, 1), \" \")) {\n return FALSE;\n }\n }\n return TRUE;\n}", + "params": [ + { + "type": "const char*", + "name": "text" + }, + { + "type": "int", + "name": "position" + }, + { + "type": "int", + "name": "length" + }, + { + "type": "int", + "name": "maxLength" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_TEXT_SUBSTRING_SAFE" + ] + }, + "0xCE94AEBA5D82908A": { + "name": "GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME_BYTES", + "jhash": "0xFA6373BB", + "comment": "Returns a substring that is between two specified positions. The length of the string will be calculated using (endPosition - startPosition).\n\nExample:\n// Get \"STRING\" text from \"MY_STRING\"\nsubStr = HUD::GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME_BYTES(\"MY_STRING\", 3, 9);\n// Overflows are possibly replaced with underscores (needs verification)\nsubStr = HUD::GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME_BYTES(\"MY_STRING\", 3, 10); // \"STRING_\"?", + "params": [ + { + "type": "const char*", + "name": "text" + }, + { + "type": "int", + "name": "startPosition" + }, + { + "type": "int", + "name": "endPosition" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_TEXT_SUBSTRING_SLICE" + ] + }, + "0x7B5280EBA9840C72": { + "name": "GET_FILENAME_FOR_AUDIO_CONVERSATION", + "jhash": "0x95C4B5AD", + "comment": "Gets a string literal from a label name.", + "params": [ + { + "type": "const char*", + "name": "labelName" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_LABEL_TEXT" + ] + }, + "0xCC33FA791322B9D9": { + "name": "CLEAR_PRINTS", + "jhash": "0x216CB1C5", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9D292F73ADBD9313": { + "name": "CLEAR_BRIEF", + "jhash": "0x9F75A929", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x6178F68A87A4D3A0": { + "name": "CLEAR_ALL_HELP_MESSAGES", + "jhash": "0x9E5D9198", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCF708001E1E536DD": { + "name": "CLEAR_THIS_PRINT", + "jhash": "0x06878327", + "comment": "p0: found arguments in the b617d scripts: https://pastebin.com/X5akCN7z", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2CEA2839313C09AC": { + "name": "CLEAR_SMALL_PRINTS", + "jhash": "0xA869A238", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1C7302E725259789": { + "name": "DOES_TEXT_BLOCK_EXIST", + "jhash": "0x96F74838", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "gxt" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x71A78003C8E71424": { + "name": "REQUEST_ADDITIONAL_TEXT", + "jhash": "0x9FA9175B", + "comment": "Request a gxt into the passed slot.", + "params": [ + { + "type": "const char*", + "name": "gxt" + }, + { + "type": "int", + "name": "slot" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6009F9F1AE90D8A6": { + "name": "REQUEST_ADDITIONAL_TEXT_FOR_DLC", + "jhash": "0xF4D27EBE", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "gxt" + }, + { + "type": "int", + "name": "slot" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REQUEST_ADDITIONAL_TEXT_2" + ] + }, + "0x02245FE4BED318B8": { + "name": "HAS_ADDITIONAL_TEXT_LOADED", + "jhash": "0xB0E56045", + "comment": "", + "params": [ + { + "type": "int", + "name": "slot" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2A179DF17CCF04CD": { + "name": "CLEAR_ADDITIONAL_TEXT", + "jhash": "0x518141E0", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8B6817B71B85EBF0": { + "name": "IS_STREAMING_ADDITIONAL_TEXT", + "jhash": "0xF079E4EB", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xADBF060E2B30C5BC": { + "name": "HAS_THIS_ADDITIONAL_TEXT_LOADED", + "jhash": "0x80A52040", + "comment": "Checks if the specified gxt has loaded into the passed slot.", + "params": [ + { + "type": "const char*", + "name": "gxt" + }, + { + "type": "int", + "name": "slot" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7984C03AA5CC2F41": { + "name": "IS_MESSAGE_BEING_DISPLAYED", + "jhash": "0x6A77FE8D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xAC09CA973C564252": { + "name": "DOES_TEXT_LABEL_EXIST", + "jhash": "0x6ECAE560", + "comment": "Checks if the passed gxt name exists in the game files.", + "params": [ + { + "type": "const char*", + "name": "gxt" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x98C3CF913D895111": { + "name": "GET_FIRST_N_CHARACTERS_OF_LITERAL_STRING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string" + }, + { + "type": "int", + "name": "length" + } + ], + "return_type": "const char*", + "build": "505" + }, + "0x801BD273D3A23F74": { + "name": "GET_LENGTH_OF_STRING_WITH_THIS_TEXT_LABEL", + "jhash": "0xA4CA7BE5", + "comment": "Returns the string length of the string from the gxt string .", + "params": [ + { + "type": "const char*", + "name": "gxt" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF030907CCBB8A9FD": { + "name": "GET_LENGTH_OF_LITERAL_STRING", + "jhash": "0x99379D55", + "comment": "Returns the length of the string passed (much like strlen).", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "int", + "build": "323" + }, + "0x43E4111189E54F0E": { + "name": "GET_LENGTH_OF_LITERAL_STRING_IN_BYTES", + "jhash": "0x7DBC0764", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_LENGTH_OF_STRING" + ] + }, + "0xD0EF8A959B8A4CB9": { + "name": "GET_STREET_NAME_FROM_HASH_KEY", + "jhash": "0x1E8E310C", + "comment": "This functions converts the hash of a street name into a readable string.\n\nFor how to get the hashes, see PATHFIND::GET_STREET_NAME_AT_COORD.", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x1930DFA731813EC4": { + "name": "IS_HUD_PREFERENCE_SWITCHED_ON", + "jhash": "0xC3BC1B4F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9EB6522EA68F22FE": { + "name": "IS_RADAR_PREFERENCE_SWITCHED_ON", + "jhash": "0x14AEAA28", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xAD6DACA4BA53E0A4": { + "name": "IS_SUBTITLE_PREFERENCE_SWITCHED_ON", + "jhash": "0x63BA19F5", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA6294919E56FF02A": { + "name": "DISPLAY_HUD", + "jhash": "0xD10E4E31", + "comment": "If Hud should be displayed", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7669F9E39DC17063": { + "name": "DISPLAY_HUD_WHEN_NOT_IN_STATE_OF_PLAY_THIS_FRAME", + "jhash": "0xC380AC85", + "comment": "Enables drawing some hud components, such as help labels, this frame, when the player is dead.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISPLAY_HUD_WHEN_DEAD_THIS_FRAME" + ] + }, + "0x402F9ED62087E898": { + "name": "DISPLAY_HUD_WHEN_PAUSED_THIS_FRAME", + "jhash": "0xC47AB1B0", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA0EBB943C300E693": { + "name": "DISPLAY_RADAR", + "jhash": "0x52816BD4", + "comment": "If Minimap / Radar should be displayed.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCD74233600C4EA6B": { + "name": "SET_FAKE_SPECTATOR_MODE", + "jhash": "", + "comment": "Setter for GET_FAKE_SPECTATOR_MODE", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "505" + }, + "0xC2D2AD9EAAE265B8": { + "name": "GET_FAKE_SPECTATOR_MODE", + "jhash": "", + "comment": "Getter for SET_FAKE_SPECTATOR_MODE", + "params": [], + "return_type": "BOOL", + "build": "505" + }, + "0xA86478C6958735C5": { + "name": "IS_HUD_HIDDEN", + "jhash": "0x40BADA1D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x157F93B036700462": { + "name": "IS_RADAR_HIDDEN", + "jhash": "0x1AB3B954", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xAF754F20EB5CD51A": { + "name": "IS_MINIMAP_RENDERING", + "jhash": "0x9CD18314", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_RADAR_ENABLED" + ] + }, + "0x0C698D8F099174C7": { + "name": "USE_VEHICLE_TARGETING_RETICULE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1180" + }, + "0xE4C3B169876D33D7": { + "name": "ADD_VALID_VEHICLE_HIT_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xEB81A3DADD503187": { + "name": "CLEAR_VALID_VEHICLE_HIT_HASHES", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1290" + }, + "0x4F7D8A9BFB0B43E9": { + "name": "SET_BLIP_ROUTE", + "jhash": "0x3E160C90", + "comment": "Enable / disable showing route for the Blip-object.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "enabled" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD12882D3FF82BF11": { + "name": "CLEAR_ALL_BLIP_ROUTES", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "877", + "old_names": [ + "_CLEAR_ALL_BLIP_ROUTES" + ] + }, + "0x837155CD2F63DA09": { + "name": "SET_BLIP_ROUTE_COLOUR", + "jhash": "0xDDE7C65C", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "colour" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2790F4B17D098E26": { + "name": "SET_FORCE_SHOW_GPS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SET_FORCE_BLIP_ROUTES_ON_FOOT" + ] + }, + "0x6CDD58146A436083": { + "name": "SET_USE_SET_DESTINATION_IN_PAUSE_MAP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SET_USE_WAYPOINT_AS_DESTINATION" + ] + }, + "0xD1942374085C8469": { + "name": "SET_BLOCK_WANTED_FLASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "disabled" + } + ], + "return_type": "void", + "build": "505" + }, + "0x60296AF4BA14ABC5": { + "name": "ADD_NEXT_MESSAGE_TO_PREVIOUS_BRIEFS", + "jhash": "0xB58B25BD", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x57D760D55F54E071": { + "name": "FORCE_NEXT_MESSAGE_TO_PREVIOUS_BRIEFS_LIST", + "jhash": "0x9854485F", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBD12C5EEE184C337": { + "name": "SET_RADAR_ZOOM_PRECISE", + "jhash": "0xDCA3F423", + "comment": "zoom ranges from 0 to 90f in R* Scripts", + "params": [ + { + "type": "float", + "name": "zoom" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "RESPONDING_AS_TEMP" + ] + }, + "0x096EF57A0C999BBA": { + "name": "SET_RADAR_ZOOM", + "jhash": "0x2A50D1A6", + "comment": "zoomLevel ranges from 0 to 1400 in R* Scripts", + "params": [ + { + "type": "int", + "name": "zoomLevel" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF98E4B3E56AFC7B1": { + "name": "SET_RADAR_ZOOM_TO_BLIP", + "jhash": "0x25EC28C0", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "float", + "name": "zoom" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCB7CC0D58405AD41": { + "name": "SET_RADAR_ZOOM_TO_DISTANCE", + "jhash": "0x09CF1CE5", + "comment": "", + "params": [ + { + "type": "float", + "name": "zoom" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_RADAR_ZOOM_LEVEL_THIS_FRAME" + ] + }, + "0xD2049635DEB9C375": { + "name": "UPDATE_RADAR_ZOOM_TO_BLIP", + "jhash": "0xE8D3A910", + "comment": "Does nothing (it's a nullsub).", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x7C9C91AB74A0360F": { + "name": "GET_HUD_COLOUR", + "jhash": "0x63F66A0B", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudColorIndex" + }, + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + }, + { + "type": "int*", + "name": "a" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD68A5FF8A3A89874": { + "name": "SET_SCRIPT_VARIABLE_HUD_COLOUR", + "jhash": "0x0E41E45C", + "comment": "Sets the color of HUD_COLOUR_SCRIPT_VARIABLE", + "params": [ + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "a" + } + ], + "return_type": "void", + "build": "323" + }, + "0x16A304E6CB2BFAB9": { + "name": "SET_SECOND_SCRIPT_VARIABLE_HUD_COLOUR", + "jhash": "0x6BE3ACA8", + "comment": "Sets the color of HUD_COLOUR_SCRIPT_VARIABLE_2", + "params": [ + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "a" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_SCRIPT_VARIABLE_2_HUD_COLOUR" + ] + }, + "0x1CCC708F0F850613": { + "name": "REPLACE_HUD_COLOUR", + "jhash": "0x3B216749", + "comment": "makes hudColorIndex2 color into hudColorIndex color", + "params": [ + { + "type": "int", + "name": "hudColorIndex" + }, + { + "type": "int", + "name": "hudColorIndex2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_HUD_COLOURS_SWITCH" + ] + }, + "0xF314CF4F0211894E": { + "name": "REPLACE_HUD_COLOUR_WITH_RGBA", + "jhash": "0xF6E7E92B", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudColorIndex" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "a" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_HUD_COLOUR" + ] + }, + "0x1DFEDD15019315A9": { + "name": "SET_ABILITY_BAR_VISIBILITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "visible" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_ABILITY_BAR_VISIBILITY_IN_MULTIPLAYER" + ] + }, + "0x889329C80FE5963C": { + "name": "SET_ALLOW_ABILITY_BAR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_SET_ALLOW_ABILITY_BAR_IN_MULTIPLAYER" + ] + }, + "0x02CFBA0C9E9275CE": { + "name": "FLASH_ABILITY_BAR", + "jhash": "0x3648960D", + "comment": "", + "params": [ + { + "type": "int", + "name": "millisecondsToFlash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9969599CCFF5D85E": { + "name": "SET_ABILITY_BAR_VALUE", + "jhash": "0x24E53FD8", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA18AFB39081B6A1F": { + "name": "FLASH_WANTED_DISPLAY", + "jhash": "0x629F866B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBA8D65C1C65702E5": { + "name": "FORCE_OFF_WANTED_STAR_FLASH", + "jhash": "0x58612465", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2ACCB195F3CCD9DE": { + "name": "SET_CUSTOM_MP_HUD_COLOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudColorId" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_SET_CURRENT_CHARACTER_HUD_COLOR" + ] + }, + "0xDB88A37483346780": { + "name": "GET_RENDERED_CHARACTER_HEIGHT", + "jhash": "0x3330175B", + "comment": "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.", + "params": [ + { + "type": "float", + "name": "size" + }, + { + "type": "int", + "name": "font" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_TEXT_SCALE_HEIGHT" + ] + }, + "0x07C837F9A01C34C9": { + "name": "SET_TEXT_SCALE", + "jhash": "0xB6E15B23", + "comment": "Size range : 0F to 1.0F\np0 is unknown and doesn't seem to have an effect, yet in the game scripts it changes to 1.0F sometimes.", + "params": [ + { + "type": "float", + "name": "scale" + }, + { + "type": "float", + "name": "size" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBE6B23FFA53FB442": { + "name": "SET_TEXT_COLOUR", + "jhash": "0xE54DD2C8", + "comment": "colors you input not same as you think?\nA: for some reason its R B G A", + "params": [ + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC02F4DBFB51D988B": { + "name": "SET_TEXT_CENTRE", + "jhash": "0xE26D39A1", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "align" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B3C4650BC8BEE47": { + "name": "SET_TEXT_RIGHT_JUSTIFY", + "jhash": "0x45B60520", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4E096588B13FFECA": { + "name": "SET_TEXT_JUSTIFICATION", + "jhash": "0x68CDFA60", + "comment": "Types -\n0: Center-Justify\n1: Left-Justify\n2: Right-Justify\n\nRight-Justify requires SET_TEXT_WRAP, otherwise it will draw to the far right of the screen", + "params": [ + { + "type": "int", + "name": "justifyType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x63145D9C883A1A70": { + "name": "SET_TEXT_WRAP", + "jhash": "0x6F60AB54", + "comment": "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.\n\nstart - left boundry on screen position (0.0 - 1.0)\nend - right boundry on screen position (0.0 - 1.0)", + "params": [ + { + "type": "float", + "name": "start" + }, + { + "type": "float", + "name": "end" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA50ABC31E3CDFAFF": { + "name": "SET_TEXT_LEADING", + "jhash": "0x98CE21D4", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x038C1F517D7FDCF8": { + "name": "SET_TEXT_PROPORTIONAL", + "jhash": "0xF49D8A08", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x66E0276CC5F6B9DA": { + "name": "SET_TEXT_FONT", + "jhash": "0x80BC530D", + "comment": "fonts that mess up your text where made for number values/misc stuff", + "params": [ + { + "type": "int", + "name": "fontType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1CA3E9EAC9D93E5E": { + "name": "SET_TEXT_DROP_SHADOW", + "jhash": "0xE2A11511", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x465C84BC39F1C351": { + "name": "SET_TEXT_DROPSHADOW", + "jhash": "0xE6587517", + "comment": "distance - shadow distance in pixels, both horizontal and vertical\nr, g, b, a - color", + "params": [ + { + "type": "int", + "name": "distance" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "a" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2513DFB0FB8400FE": { + "name": "SET_TEXT_OUTLINE", + "jhash": "0xC753412F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x441603240D202FA6": { + "name": "SET_TEXT_EDGE", + "jhash": "0x3F1A5DAB", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "a" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5F15302936E07111": { + "name": "SET_TEXT_RENDER_ID", + "jhash": "0xC5C3B7F3", + "comment": "", + "params": [ + { + "type": "int", + "name": "renderId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x52F0982D7FD156B6": { + "name": "GET_DEFAULT_SCRIPT_RENDERTARGET_RENDER_ID", + "jhash": "0x8188935F", + "comment": "This function is hard-coded to always return 1.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x57D9C12635E25CE3": { + "name": "REGISTER_NAMED_RENDERTARGET", + "jhash": "0xFAE5D6F0", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x78DCDC15C9F116B4": { + "name": "IS_NAMED_RENDERTARGET_REGISTERED", + "jhash": "0x284057F5", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE9F6FFE837354DD4": { + "name": "RELEASE_NAMED_RENDERTARGET", + "jhash": "0xD3F6C892", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF6C09E276AEB3F2D": { + "name": "LINK_NAMED_RENDERTARGET", + "jhash": "0x6844C4B9", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1A6478B61C6BDC3B": { + "name": "GET_NAMED_RENDERTARGET_RENDER_ID", + "jhash": "0xF9D7A401", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "int", + "build": "323" + }, + "0x113750538FA31298": { + "name": "IS_NAMED_RENDERTARGET_LINKED", + "jhash": "0x8B52601F", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8DFCED7A656F8802": { + "name": "CLEAR_HELP", + "jhash": "0xE6D85741", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDAD37F45428801AE": { + "name": "IS_HELP_MESSAGE_ON_SCREEN", + "jhash": "0x4B3C9CA9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x214CD562A939246A": { + "name": "HAS_SCRIPT_HIDDEN_HELP_THIS_FRAME", + "jhash": "0x812CBE0E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4D79439A6B55AC67": { + "name": "IS_HELP_MESSAGE_BEING_DISPLAYED", + "jhash": "0xA65F262A", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x327EDEEEAC55C369": { + "name": "IS_HELP_MESSAGE_FADING_OUT", + "jhash": "0x3E50AE92", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xB9C362BABECDDC7A": { + "name": "SET_HELP_MESSAGE_STYLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "style" + }, + { + "type": "int", + "name": "hudColor" + }, + { + "type": "int", + "name": "alpha" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_HELP_MESSAGE_TEXT_STYLE" + ] + }, + "0x4A9923385BDB9DAD": { + "name": "GET_STANDARD_BLIP_ENUM_ID", + "jhash": "0x87871CE0", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_LEVEL_BLIP_SPRITE" + ] + }, + "0x186E5D252FA50E7D": { + "name": "GET_WAYPOINT_BLIP_ENUM_ID", + "jhash": "0xB9827942", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_BLIP_INFO_ID_ITERATOR" + ] + }, + "0x9A3FF3DE163034E8": { + "name": "GET_NUMBER_OF_ACTIVE_BLIPS", + "jhash": "0x144020FA", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x14F96AA50D6FBEA7": { + "name": "GET_NEXT_BLIP_INFO_ID", + "jhash": "0x9356E92F", + "comment": "", + "params": [ + { + "type": "int", + "name": "blipSprite" + } + ], + "return_type": "Blip", + "build": "323" + }, + "0x1BEDE233E6CD2A1F": { + "name": "GET_FIRST_BLIP_INFO_ID", + "jhash": "0x64C0273D", + "comment": "", + "params": [ + { + "type": "int", + "name": "blipSprite" + } + ], + "return_type": "Blip", + "build": "323" + }, + "0xD484BF71050CA1EE": { + "name": "GET_CLOSEST_BLIP_INFO_ID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "blipSprite" + } + ], + "return_type": "Blip", + "build": "1180", + "old_names": [ + "_GET_CLOSEST_BLIP_OF_TYPE" + ] + }, + "0xFA7C7F0AADF25D09": { + "name": "GET_BLIP_INFO_ID_COORD", + "jhash": "0xB7374A66", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x1E314167F701DC3B": { + "name": "GET_BLIP_INFO_ID_DISPLAY", + "jhash": "0xD0FC19F4", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBE9B0959FFD0779B": { + "name": "GET_BLIP_INFO_ID_TYPE", + "jhash": "0x501D7B4E", + "comment": "Returns a value based on what the blip is attached to\n1 - Vehicle\n2 - Ped\n3 - Object\n4 - Coord\n5 - unk\n6 - Pickup\n7 - Radius", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4BA4E2553AFEDC2C": { + "name": "GET_BLIP_INFO_ID_ENTITY_INDEX", + "jhash": "0xA068C40B", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0x9B6786E4C03DD382": { + "name": "GET_BLIP_INFO_ID_PICKUP_INDEX", + "jhash": "0x86913D37", + "comment": "This function is hard-coded to always return 0.", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "Pickup", + "build": "323" + }, + "0xBC8DBDCA2436F7E8": { + "name": "GET_BLIP_FROM_ENTITY", + "jhash": "0x005A2A47", + "comment": "Returns the Blip handle of given Entity.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Blip", + "build": "323" + }, + "0x46818D79B1F7499A": { + "name": "ADD_BLIP_FOR_RADIUS", + "jhash": "0x4626756C", + "comment": "", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "Blip", + "build": "323" + }, + "0xCE5D0E5E315DB238": { + "name": "ADD_BLIP_FOR_AREA", + "jhash": "", + "comment": "Adds a rectangular blip for the specified coordinates/area.\n\nIt is recommended to use SET_BLIP_ROTATION and SET_BLIP_COLOUR to make the blip not rotate along with the camera.\n\nBy default, the blip will show as a _regular_ blip with the specified color/sprite if it is outside of the minimap view.\n\nExample image:\nminimap https://w.wew.wtf/pdcjig.png\nbig map https://w.wew.wtf/zgcjcm.png\n\n(Native name is _likely_ to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "height" + } + ], + "return_type": "Blip", + "build": "463", + "old_names": [ + "_ADD_BLIP_FOR_AREA" + ] + }, + "0x5CDE92C702A8FCE7": { + "name": "ADD_BLIP_FOR_ENTITY", + "jhash": "0x30822554", + "comment": "Returns red ( default ) blip attached to entity.\n\nExample:\nBlip blip; //Put this outside your case or option\nblip = HUD::ADD_BLIP_FOR_ENTITY(YourPedOrBodyguardName);\nHUD::SET_BLIP_AS_FRIENDLY(blip, true);", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Blip", + "build": "323" + }, + "0xBE339365C863BD36": { + "name": "ADD_BLIP_FOR_PICKUP", + "jhash": "0x16693C3A", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "Blip", + "build": "323" + }, + "0x5A039BB0BCA604B6": { + "name": "ADD_BLIP_FOR_COORD", + "jhash": "0xC6F43D0E", + "comment": "Creates an orange ( default ) Blip-object. Returns a Blip-object which can then be modified.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "Blip", + "build": "323" + }, + "0x72DD432F3CDFC0EE": { + "name": "TRIGGER_SONAR_BLIP", + "jhash": "0xBF25E7B2", + "comment": "", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x60734CC207C9833C": { + "name": "ALLOW_SONAR_BLIPS", + "jhash": "0xE7E1E32B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAE2AF67E9D9AF65D": { + "name": "SET_BLIP_COORDS", + "jhash": "0x680A34D4", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0x586AFE3FF72D996E": { + "name": "GET_BLIP_COORDS", + "jhash": "0xEF6FF47B", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xDF735600A4696DAF": { + "name": "SET_BLIP_SPRITE", + "jhash": "0x8DBBB0B9", + "comment": "Sets the displayed sprite for a specific blip..\n\nYou 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\nhttps://pastebin.com/Bpj9Sfft\n\nBlips Images + IDs:\nhttps://gtaxscripting.blogspot.com/2016/05/gta-v-blips-id-and-image.html", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "spriteId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1FC877464A04FC4F": { + "name": "GET_BLIP_SPRITE", + "jhash": "0x72FF2E73", + "comment": "Blips Images + IDs:\ngtaxscripting.blogspot.com/2016/05/gta-v-blips-id-and-image.html", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9FCB3CBFB3EAD69A": { + "name": "SET_COP_BLIP_SPRITE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "1734" + }, + "0xB7B873520C84C118": { + "name": "SET_COP_BLIP_SPRITE_AS_STANDARD", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1734" + }, + "0xEAA0FFE120D92784": { + "name": "SET_BLIP_NAME_FROM_TEXT_FILE", + "jhash": "0xAC8A5461", + "comment": "Doesn't work if the label text of gxtEntry is >= 80.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "const char*", + "name": "gxtEntry" + } + ], + "return_type": "void", + "build": "323" + }, + "0x127DE7B20C60A6A3": { + "name": "SET_BLIP_NAME_TO_PLAYER_NAME", + "jhash": "0x03A0B8F9", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x45FF974EEE1C8734": { + "name": "SET_BLIP_ALPHA", + "jhash": "0xA791FCCD", + "comment": "Sets alpha-channel for blip color.\n\nExample:\n\nBlip blip = HUD::ADD_BLIP_FOR_ENTITY(entity);\nHUD::SET_BLIP_COLOUR(blip , 3);\nHUD::SET_BLIP_ALPHA(blip , 64);\n", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0x970F608F0EE6C885": { + "name": "GET_BLIP_ALPHA", + "jhash": "0x297AF6C8", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2AEE8F8390D2298C": { + "name": "SET_BLIP_FADE", + "jhash": "0xA5999031", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "opacity" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2C173AE2BDB9385E": { + "name": "GET_BLIP_FADE_DIRECTION", + "jhash": "", + "comment": "Returns -1, 0, +1, depending on if the blip is fading out, doing nothing, or fading in respectively.", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "int", + "build": "463", + "old_names": [ + "_GET_BLIP_FADE_STATUS" + ] + }, + "0xF87683CDF73C3F6E": { + "name": "SET_BLIP_ROTATION", + "jhash": "0x6B8F44FE", + "comment": "After some testing, looks like you need to use CEIL() on the rotation (vehicle/ped heading) before using it there.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "rotation" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA8B6AFDAC320AC87": { + "name": "SET_BLIP_ROTATION_WITH_FLOAT", + "jhash": "", + "comment": "Does not require whole number/integer rotations.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "float", + "name": "heading" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_BLIP_SQUARED_ROTATION" + ] + }, + "0x003E92BA477F9D7F": { + "name": "GET_BLIP_ROTATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "int", + "build": "2060", + "old_names": [ + "_GET_BLIP_ROTATION" + ] + }, + "0xD3CD6FD297AE87CC": { + "name": "SET_BLIP_FLASH_TIMER", + "jhash": "0x8D5DF611", + "comment": "Adds up after viewing multiple R* scripts. I believe that the duration is in miliseconds.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA51DB313C010A7E": { + "name": "SET_BLIP_FLASH_INTERVAL", + "jhash": "0xEAF67377", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x03D7FB09E75D6B7E": { + "name": "SET_BLIP_COLOUR", + "jhash": "0xBB3C5A41", + "comment": "https://gtaforums.com/topic/864881-all-blip-color-ids-pictured/", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "color" + } + ], + "return_type": "void", + "build": "323" + }, + "0x14892474891E09EB": { + "name": "SET_BLIP_SECONDARY_COLOUR", + "jhash": "0xC6384D32", + "comment": "Can be used to give blips any RGB colour with SET_BLIP_COLOUR(blip, 84).", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDF729E8D20CF7327": { + "name": "GET_BLIP_COLOUR", + "jhash": "0xDD6A1E54", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "int", + "build": "323" + }, + "0x729B5F1EFBC0AAEE": { + "name": "GET_BLIP_HUD_COLOUR", + "jhash": "0xE88B4BC2", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "int", + "build": "323" + }, + "0xDA5F8727EB75B926": { + "name": "IS_BLIP_SHORT_RANGE", + "jhash": "0x1226765A", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE41CA53051197A27": { + "name": "IS_BLIP_ON_MINIMAP", + "jhash": "0x258CBA3A", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDD2238F57B977751": { + "name": "DOES_BLIP_HAVE_GPS_ROUTE", + "jhash": "0x3E47F357", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x54318C915D27E4CE": { + "name": "SET_BLIP_HIDDEN_ON_LEGEND", + "jhash": "0x43996428", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE2590BC29220CEBB": { + "name": "SET_BLIP_HIGH_DETAIL", + "jhash": "0xD5842BFF", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x24AC0137444F9FD5": { + "name": "SET_BLIP_AS_MISSION_CREATOR_BLIP", + "jhash": "0x802FB686", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x26F49BF3381D933D": { + "name": "IS_MISSION_CREATOR_BLIP", + "jhash": "0x24ACC4E9", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5C90988E7C8E1AF4": { + "name": "GET_NEW_SELECTED_MISSION_CREATOR_BLIP", + "jhash": "0xFFD7476C", + "comment": "", + "params": [], + "return_type": "Blip", + "build": "323", + "old_names": [ + "DISABLE_BLIP_NAME_FOR_VAR" + ] + }, + "0x4167EFE0527D706E": { + "name": "IS_HOVERING_OVER_MISSION_CREATOR_BLIP", + "jhash": "0xC5EB849A", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF1A6C18B35BCADE6": { + "name": "SHOW_START_MISSION_INSTRUCTIONAL_BUTTON", + "jhash": "0xA2CAAB4F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC772A904CDE1186F": { + "name": "SHOW_CONTACT_INSTRUCTIONAL_BUTTON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_SHOW_CONTACT_INSTRUCTIONAL_BUTTON" + ] + }, + "0x2916A928514C9827": { + "name": "RELOAD_MAP_MENU", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "573" + }, + "0xB552929B85FC27EC": { + "name": "SET_BLIP_MARKER_LONG_DISTANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "573" + }, + "0xB14552383D39CE3E": { + "name": "SET_BLIP_FLASHES", + "jhash": "0xC0047F15", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2E8D9498C56DD0D1": { + "name": "SET_BLIP_FLASHES_ALTERNATE", + "jhash": "0x1A81202B", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA5E41FD83AD6CEF0": { + "name": "IS_BLIP_FLASHING", + "jhash": "0x52E111D7", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBE8BE4FE60E27B72": { + "name": "SET_BLIP_AS_SHORT_RANGE", + "jhash": "0x5C67725E", + "comment": "Sets whether or not the specified blip should only be displayed when nearby, or on the minimap.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD38744167B2FA257": { + "name": "SET_BLIP_SCALE", + "jhash": "0x1E6EC434", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCD6524439909C979": { + "name": "SET_BLIP_SCALE_2D", + "jhash": "", + "comment": "See https://imgur.com/a/lLkEsMN", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "float", + "name": "xScale" + }, + { + "type": "float", + "name": "yScale" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_SET_BLIP_SCALE_TRANSFORMATION" + ] + }, + "0xAE9FC9EF6A9FAC79": { + "name": "SET_BLIP_PRIORITY", + "jhash": "0xCE87DA6F", + "comment": "See this topic for more details : gtaforums.com/topic/717612-v-scriptnative-documentation-and-research/page-35?p=1069477935", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "priority" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9029B2F3DA924928": { + "name": "SET_BLIP_DISPLAY", + "jhash": "0x2B521F91", + "comment": "Display Id behaviours:\n0 = Doesn't show up, ever, anywhere.\n1 = Doesn't show up, ever, anywhere.\n2 = Shows on both main map and minimap. (Selectable on map)\n3 = Shows on main map only. (Selectable on map)\n4 = Shows on main map only. (Selectable on map)\n5 = Shows on minimap only.\n6 = Shows on both main map and minimap. (Selectable on map)\n7 = Doesn't show up, ever, anywhere.\n8 = Shows on both main map and minimap. (Not selectable on map)\n9 = Shows on minimap only.\n10 = Shows on both main map and minimap. (Not selectable on map)\n\nAnything higher than 10 seems to be exactly the same as 10.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "displayId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x234CDD44D996FD9A": { + "name": "SET_BLIP_CATEGORY", + "jhash": "0xEF72F533", + "comment": "Example: https://i.imgur.com/skY6vAJ.png\n\nIndex:\n1 = No distance shown in legend\n2 = Distance shown in legend\n7 = \"Other Players\" category, also shows distance in legend\n10 = \"Property\" category\n11 = \"Owned Property\" category\n\nAny other value behaves like index = 1, index wraps around after 255\nBlips with categories 7, 10 or 11 will all show under the specific categories listing in the map legend, regardless of sprite or name.\nLegend entries:\n7 = Other Players (BLIP_OTHPLYR)\n10 = Property (BLIP_PROPCAT)\n11 = Owned Property (BLIP_APARTCAT)\n\nCategory needs to be `7` in order for blip names to show on the expanded minimap when using DISPLAY_PLAYER_NAME_TAGS_ON_BLIPS.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "323" + }, + "0x86A652570E5F25DD": { + "name": "REMOVE_BLIP", + "jhash": "0xD8C3C1CD", + "comment": "In the C++ SDK, this seems not to work-- the blip isn't removed immediately. I use it for saving cars.\n\nE.g.:\n\nPed pped = PLAYER::PLAYER_PED_ID();\nVehicle v = PED::GET_VEHICLE_PED_IS_USING(pped);\nBlip b = HUD::ADD_BLIP_FOR_ENTITY(v);\n\nworks fine.\nBut later attempting to delete it with:\n\nBlip b = HUD::GET_BLIP_FROM_ENTITY(v);\nif (HUD::DOES_BLIP_EXIST(b)) HUD::REMOVE_BLIP(&b);\n\ndoesn't work. And yes, doesn't work without the DOES_BLIP_EXIST check either. Also, if you attach multiple blips to the same thing (say, a vehicle), and that thing disappears, the blips randomly attach to other things (in my case, a vehicle).\n\nThus for me, HUD::REMOVE_BLIP(&b) only works if there's one blip, (in my case) the vehicle is marked as no longer needed, you drive away from it and it eventually despawns, AND there is only one blip attached to it. I never intentionally attach multiple blips but if the user saves the car, this adds a blip. Then if they delete it, it is supposed to remove the blip, but it doesn't. Then they can immediately save it again, causing another blip to re-appear.\n-------------\n\nPassing the address of the variable instead of the value works for me.\ne.g.\nint blip = HUD::ADD_BLIP_FOR_ENTITY(ped);\nHUD::REMOVE_BLIP(&blip);\n\n\nRemove blip will currently crash your game, just artificially remove the blip by setting the sprite to a id that is 'invisible'.", + "params": [ + { + "type": "Blip*", + "name": "blip" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6F6F290102C02AB4": { + "name": "SET_BLIP_AS_FRIENDLY", + "jhash": "0xF290CFD8", + "comment": "false for enemy\ntrue for friendly", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x742D6FD43115AF73": { + "name": "PULSE_BLIP", + "jhash": "0x44253855", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA3C0B359DCB848B6": { + "name": "SHOW_NUMBER_ON_BLIP", + "jhash": "0x7BFC66C6", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "int", + "name": "number" + } + ], + "return_type": "void", + "build": "323" + }, + "0x532CFF637EF80148": { + "name": "HIDE_NUMBER_ON_BLIP", + "jhash": "0x0B6D610D", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "void", + "build": "323" + }, + "0x75A16C3DA34F1245": { + "name": "SHOW_HEIGHT_ON_BLIP", + "jhash": "0x1D99F676", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x74513EA3E505181E": { + "name": "SHOW_TICK_ON_BLIP", + "jhash": "0x3DCF0092", + "comment": "Adds a green checkmark on top of a blip.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BLIP_CHECKED" + ] + }, + "0xCAC2031EBF79B1A8": { + "name": "SHOW_GOLD_TICK_ON_BLIP", + "jhash": "", + "comment": "Adds a orange checkmark on top of a given blip handle: https://imgur.com/a/aw5OTMF\n_SHOW_FRIEND_INDICATOR_ON_BLIP* - _SHOW_HEADING_INDICATOR_ON_BLIP*", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_SHOW_TICK_ON_BLIP_2", + "_SHOW_HAS_COMPLETED_INDICATOR_ON_BLIP" + ] + }, + "0x19BD6E3C0E16A8FA": { + "name": "SHOW_FOR_SALE_ICON_ON_BLIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x5FBCA48327B914DF": { + "name": "SHOW_HEADING_INDICATOR_ON_BLIP", + "jhash": "0xD1C3D71B", + "comment": "Adds the GTA: Online player heading indicator to a blip.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB81656BC81FE24D1": { + "name": "SHOW_OUTLINE_INDICATOR_ON_BLIP", + "jhash": "0x8DE82C15", + "comment": "Highlights a blip by a cyan color circle.\n\nColor can be changed with SET_BLIP_SECONDARY_COLOUR", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_BLIP_FRIENDLY" + ] + }, + "0x23C3EB807312F01A": { + "name": "SHOW_FRIEND_INDICATOR_ON_BLIP", + "jhash": "0x4C8F02B4", + "comment": "Highlights a blip by a half cyan circle on the right side of the blip. https://i.imgur.com/FrV9M4e.png\n.Indicating that that player is a friend (in GTA:O). This color can not be changed.\nTo toggle the left side (crew member indicator) of the half circle around the blip, use: `SHOW_CREW_INDICATOR_ON_BLIP`", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_BLIP_FRIEND" + ] + }, + "0xDCFB5D4DB8BF367E": { + "name": "SHOW_CREW_INDICATOR_ON_BLIP", + "jhash": "0xABBE1E45", + "comment": "Enables or disables the blue half circle https://i.imgur.com/iZes9Ec.png around the specified blip on the left side of the blip. This is used to indicate that the player is in your crew in GTA:O. Color is changeable by using `SET_BLIP_SECONDARY_COLOUR`.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_BLIP_CREW" + ] + }, + "0xC4278F70131BAA6D": { + "name": "SET_BLIP_EXTENDED_HEIGHT_THRESHOLD", + "jhash": "0x6AA6A1CC", + "comment": "Must be toggled before being queued for animation", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BLIP_DISPLAY_INDICATOR_ON_BLIP" + ] + }, + "0x4B5B620C9B59ED34": { + "name": "SET_BLIP_SHORT_HEIGHT_THRESHOLD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "678" + }, + "0x2C9F302398E13141": { + "name": "SET_BLIP_USE_HEIGHT_INDICATOR_ON_EDGE", + "jhash": "0xCA95C487", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x2B6D467DAB714E8D": { + "name": "SET_BLIP_AS_MINIMAL_ON_EDGE", + "jhash": "0xC575F0BC", + "comment": "Makes a blip go small when off the minimap.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BLIP_SHRINK" + ] + }, + "0x25615540D894B814": { + "name": "SET_RADIUS_BLIP_EDGE", + "jhash": "0x40E25DB8", + "comment": "Enabling this on a radius blip will make it outline only. See https://cdn.discordapp.com/attachments/553235301632573459/575132227935928330/unknown.png", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA6DB27D19ECBB7DA": { + "name": "DOES_BLIP_EXIST", + "jhash": "0xAE92DD96", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA7E4E2D361C2627F": { + "name": "SET_WAYPOINT_OFF", + "jhash": "0xB3496E1B", + "comment": "This native removes the current waypoint from the map.\n\nExample:\nC#:\nFunction.Call(Hash.SET_WAYPOINT_OFF);\n\nC++:\nHUD::SET_WAYPOINT_OFF();", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD8E694757BCEA8E9": { + "name": "DELETE_WAYPOINTS_FROM_THIS_PLAYER", + "jhash": "0x62BABF2C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DELETE_WAYPOINT" + ] + }, + "0x81FA173F170560D1": { + "name": "REFRESH_WAYPOINT", + "jhash": "0xB395D753", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1DD1F58F493F1DA5": { + "name": "IS_WAYPOINT_ACTIVE", + "jhash": "0x5E4DF47B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFE43368D2AA4F2FC": { + "name": "SET_NEW_WAYPOINT", + "jhash": "0x8444E1F0", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB203913733F27884": { + "name": "SET_BLIP_BRIGHT", + "jhash": "0x72BEE6DF", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x13127EC3665E8EE1": { + "name": "SET_BLIP_SHOW_CONE", + "jhash": "0xFF545AD8", + "comment": "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.", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "int", + "name": "hudColorIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC594B315EDF2D4AF": { + "name": "REMOVE_COP_BLIP_FROM_PED", + "jhash": "0x41B0D022", + "comment": "Interesting fact: A hash collision for this is RESET_JETPACK_MODEL_SETTINGS", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF83D0FEBE75E62C9": { + "name": "SETUP_FAKE_CONE_DATA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "int", + "name": "p8" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x35A3CD97B2C0A6D2": { + "name": "REMOVE_FAKE_CONE_DATA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Blip", + "name": "blip" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x8410C5E0CD847B9D": { + "name": "CLEAR_FAKE_CONE_ARRAY", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1290" + }, + "0x75A9A10948D1DEA6": { + "name": "SET_MINIMAP_COMPONENT", + "jhash": "0x419DCDC4", + "comment": "This native is used to colorize certain map components like the army base at the top of the map.\np2 appears to be always -1. If p2 is -1 then native wouldn't change the color. See https://gfycat.com/SkinnyPinkChupacabra", + "params": [ + { + "type": "int", + "name": "componentId" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "int", + "name": "overrideColor" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6B50FC8749632EC1": { + "name": "SET_MINIMAP_SONAR_SWEEP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_SET_MINIMAP_SONAR_ENABLED" + ] + }, + "0x60E892BA4F5BDCA4": { + "name": "SHOW_ACCOUNT_PICKER", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHOW_SIGNIN_UI" + ] + }, + "0xDCD4EC3F419D02FA": { + "name": "GET_MAIN_PLAYER_BLIP_ID", + "jhash": "0xAB93F020", + "comment": "", + "params": [], + "return_type": "Blip", + "build": "323" + }, + "0x41350B4FC28E3941": { + "name": "SET_PM_WARNINGSCREEN_ACTIVE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4B0311D3CDC4648F": { + "name": "HIDE_LOADING_ON_FADE_THIS_FRAME", + "jhash": "0x35087963", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x59E727A1C9D3E31A": { + "name": "SET_RADAR_AS_INTERIOR_THIS_FRAME", + "jhash": "0x6F2626E1", + "comment": "List of interior hashes: https://pastebin.com/1FUyXNqY\nNot for every interior zoom > 0 available.", + "params": [ + { + "type": "Hash", + "name": "interior" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "int", + "name": "z" + }, + { + "type": "int", + "name": "zoom" + } + ], + "return_type": "void", + "build": "323" + }, + "0x504DFE62A1692296": { + "name": "SET_INSIDE_VERY_SMALL_INTERIOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_INTERIOR_ZOOM_LEVEL_INCREASED" + ] + }, + "0x7EC8ABA5E74B3D7A": { + "name": "SET_INSIDE_VERY_LARGE_INTERIOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_INTERIOR_ZOOM_LEVEL_DECREASED" + ] + }, + "0xE81B7D2A3DAB2D81": { + "name": "SET_RADAR_AS_EXTERIOR_THIS_FRAME", + "jhash": "0x39ABB10E", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x77E2DD177910E1CF": { + "name": "SET_FAKE_PAUSEMAP_PLAYER_POSITION_THIS_FRAME", + "jhash": "0x54E75C7D", + "comment": "Sets the position of the arrow icon representing the player on both the minimap and world map.\n\nToo bad this wouldn't work over the network (obviously not). Could spoof where we would be.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PLAYER_BLIP_POSITION_THIS_FRAME" + ] + }, + "0xA17784FCA9548D15": { + "name": "SET_FAKE_GPS_PLAYER_POSITION_THIS_FRAME", + "jhash": "", + "comment": "p2 maybe z float?", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "877" + }, + "0x9049FE339D5F6F6F": { + "name": "IS_PAUSEMAP_IN_INTERIOR_MODE", + "jhash": "0x199DED14", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_MINIMAP_IN_INTERIOR" + ] + }, + "0x5FBAE526203990C9": { + "name": "HIDE_MINIMAP_EXTERIOR_MAP_THIS_FRAME", + "jhash": "0x1A4318F7", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_RADAR_THIS_FRAME" + ] + }, + "0x20FE7FDFEEAD38C0": { + "name": "HIDE_MINIMAP_INTERIOR_MAP_THIS_FRAME", + "jhash": "0xCE36E3FE", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5E1460624D194A38": { + "name": "SET_USE_ISLAND_MAP", + "jhash": "", + "comment": "Toggles the Cayo Perico map.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_SET_TOGGLE_MINIMAP_HEIST_ISLAND" + ] + }, + "0x6D14BFDC33B34F55": { + "name": "DONT_TILT_MINIMAP_THIS_FRAME", + "jhash": "0x334EFD46", + "comment": "When calling this, the current frame will have the players \"arrow icon\" be focused on the dead center of the radar.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CENTER_PLAYER_ON_RADAR_THIS_FRAME" + ] + }, + "0x89DA85D949CE57A0": { + "name": "DONT_ZOOM_MINIMAP_WHEN_RUNNING_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "2802" + }, + "0x55F5A5F07134DE60": { + "name": "DONT_ZOOM_MINIMAP_WHEN_SNIPING_THIS_FRAME", + "jhash": "0x7A569F78", + "comment": "", + "params": [], + "return_type": "void", + "build": "1180" + }, + "0xC3B07BA00A83B0F1": { + "name": "SET_WIDESCREEN_FORMAT", + "jhash": "0xF016E08F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x276B6CE369C33678": { + "name": "DISPLAY_AREA_NAME", + "jhash": "0x489FDD41", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x96DEC8D5430208B7": { + "name": "DISPLAY_CASH", + "jhash": "0x0049DF83", + "comment": "\"DISPLAY_CASH(false);\" makes the cash amount render on the screen when appropriate\n\"DISPLAY_CASH(true);\" disables cash amount rendering", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x170F541E1CADD1DE": { + "name": "USE_FAKE_MP_CASH", + "jhash": "0x6253B9D7", + "comment": "Related to displaying cash on the HUD\nAlways called before HUD::CHANGE_FAKE_MP_CASH in decompiled scripts", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0772DF77852C2E30": { + "name": "CHANGE_FAKE_MP_CASH", + "jhash": "0xE319F90B", + "comment": "Displays cash change notifications on HUD.", + "params": [ + { + "type": "int", + "name": "cash" + }, + { + "type": "int", + "name": "bank" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_SINGLEPLAYER_HUD_CASH" + ] + }, + "0xA5E78BA2B1331C55": { + "name": "DISPLAY_AMMO_THIS_FRAME", + "jhash": "0x60693CEE", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "display" + } + ], + "return_type": "void", + "build": "323" + }, + "0x73115226F4814E62": { + "name": "DISPLAY_SNIPER_SCOPE_THIS_FRAME", + "jhash": "0xBC6C73CB", + "comment": "Displays the crosshair for this frame.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x719FF505F097FD20": { + "name": "HIDE_HUD_AND_RADAR_THIS_FRAME", + "jhash": "0xB75D4AD2", + "comment": "Hides HUD and radar this frame and prohibits switching to other weapons (or accessing the weapon wheel)", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE67C6DFD386EA5E7": { + "name": "ALLOW_DISPLAY_OF_MULTIPLAYER_CASH_TEXT", + "jhash": "0x5476B9FD", + "comment": "Controls whether to display 'Cash'/'Bank' next to the money balance HUD in Multiplayer (https://i.imgur.com/MiYUtNl.png)", + "params": [ + { + "type": "BOOL", + "name": "allow" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ALLOW_ADDITIONAL_INFO_FOR_MULTIPLAYER_HUD_CASH" + ] + }, + "0xC2D15BEF167E27BC": { + "name": "SET_MULTIPLAYER_WALLET_CASH", + "jhash": "0xF4F3C796", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x95CF81BD06EE1887": { + "name": "REMOVE_MULTIPLAYER_WALLET_CASH", + "jhash": "0x7BFFE82F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xDD21B55DF695CD0A": { + "name": "SET_MULTIPLAYER_BANK_CASH", + "jhash": "0x2C842D03", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC7C6789AA1CFEDD0": { + "name": "REMOVE_MULTIPLAYER_BANK_CASH", + "jhash": "0x728B4EF4", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xFD1D220394BCB824": { + "name": "SET_MULTIPLAYER_HUD_CASH", + "jhash": "0xA8DB435E", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x968F270E39141ECA": { + "name": "REMOVE_MULTIPLAYER_HUD_CASH", + "jhash": "0x07BF4A7D", + "comment": "Removes multiplayer cash hud each frame", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD46923FC481CA285": { + "name": "HIDE_HELP_TEXT_THIS_FRAME", + "jhash": "0xF3807BED", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x801879A9B4F4B2FB": { + "name": "IS_IME_IN_PROGRESS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "372" + }, + "0x960C9FF8F616E41C": { + "name": "DISPLAY_HELP_TEXT_THIS_FRAME", + "jhash": "0x18E3360A", + "comment": "The messages are localized strings.\nExamples:\n\"No_bus_money\"\n\"Enter_bus\"\n\"Tour_help\"\n\"LETTERS_HELP2\"\n\"Dummy\"\n\n**The bool appears to always be false (if it even is a bool, as it's represented by a zero)**\n--------\np1 doesn't seem to make a difference, regardless of the state it's in. \n\n\npicture of where on the screen this is displayed? ", + "params": [ + { + "type": "const char*", + "name": "message" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB354E5376BC81A7": { + "name": "HUD_FORCE_WEAPON_WHEEL", + "jhash": "0x1EFFB02A", + "comment": "Forces the weapon wheel to show/hide.", + "params": [ + { + "type": "BOOL", + "name": "show" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHOW_WEAPON_WHEEL" + ] + }, + "0x488043841BBE156F": { + "name": "HUD_FORCE_SPECIAL_VEHICLE_WEAPON_WHEEL", + "jhash": "", + "comment": "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.", + "params": [], + "return_type": "void", + "build": "1011", + "old_names": [ + "_HUD_DISPLAY_LOADING_SCREEN_TIPS" + ] + }, + "0x0AFC4AF510774B47": { + "name": "HUD_SUPPRESS_WEAPON_WHEEL_RESULTS_THIS_FRAME", + "jhash": "0xB26FED2B", + "comment": "Calling this each frame, stops the player from receiving a weapon via the weapon wheel.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_BLOCK_WEAPON_WHEEL_THIS_FRAME", + "_HUD_WEAPON_WHEEL_IGNORE_SELECTION" + ] + }, + "0xA48931185F0536FE": { + "name": "HUD_GET_WEAPON_WHEEL_CURRENTLY_HIGHLIGHTED", + "jhash": "0x22E9F555", + "comment": "Returns the weapon hash to the selected/highlighted weapon in the wheel", + "params": [], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_HUD_WEAPON_WHEEL_GET_SELECTED_HASH" + ] + }, + "0x72C1056D678BB7D8": { + "name": "HUD_SET_WEAPON_WHEEL_TOP_SLOT", + "jhash": "0x83B608A0", + "comment": "Set the active slotIndex in the wheel weapon to the slot associated with the provided Weapon hash", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_HUD_WEAPON_WHEEL_SET_SLOT_HASH" + ] + }, + "0xA13E93403F26C812": { + "name": "HUD_GET_WEAPON_WHEEL_TOP_SLOT", + "jhash": "", + "comment": "Returns the weapon hash active in a specific weapon wheel slotList", + "params": [ + { + "type": "int", + "name": "weaponTypeIndex" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_HUD_WEAPON_WHEEL_GET_SLOT_HASH" + ] + }, + "0x14C9FDCC41F81F63": { + "name": "HUD_SHOWING_CHARACTER_SWITCH_SELECTION", + "jhash": "0xE70D1F43", + "comment": "Sets a global that disables many weapon input tasks (shooting, aiming, etc.). Does not work with vehicle weapons, only used in selector.ysc", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_HUD_WEAPON_WHEEL_IGNORE_CONTROL_INPUT" + ] + }, + "0x5B440763A4C8D15B": { + "name": "SET_GPS_FLAGS", + "jhash": "0x60539BAB", + "comment": "Only the script that originally called SET_GPS_FLAGS can set them again. Another script cannot set the flags, until the first script that called it has called CLEAR_GPS_FLAGS.\n\nDoesn't seem like the flags are actually read by the game at all.", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x21986729D6A3A830": { + "name": "CLEAR_GPS_FLAGS", + "jhash": "0x056AFCE6", + "comment": "Clears the GPS flags. Only the script that originally called SET_GPS_FLAGS can clear them.\n\nDoesn't seem like the flags are actually read by the game at all.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1EAC5F91BCBC5073": { + "name": "SET_RACE_TRACK_RENDER", + "jhash": "0xFB9BABF5", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7AA5B4CE533C858B": { + "name": "CLEAR_GPS_RACE_TRACK", + "jhash": "0x40C59829", + "comment": "Does the same as SET_RACE_TRACK_RENDER(false);", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xDB34E8D56FC13B08": { + "name": "START_GPS_CUSTOM_ROUTE", + "jhash": "0x7F93799B", + "comment": "Starts a new GPS custom-route, allowing you to plot lines on the map.\nLines are drawn directly between points.\nThe GPS custom route works like the GPS multi route, except it does not follow roads.\nExample result: https://i.imgur.com/BDm5pzt.png\nhudColor: The HUD color of the GPS path.\ndisplayOnFoot: Draws the path regardless if the player is in a vehicle or not.\nfollowPlayer: 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.", + "params": [ + { + "type": "int", + "name": "hudColor" + }, + { + "type": "BOOL", + "name": "displayOnFoot" + }, + { + "type": "BOOL", + "name": "followPlayer" + } + ], + "return_type": "void", + "build": "323" + }, + "0x311438A071DD9B1A": { + "name": "ADD_POINT_TO_GPS_CUSTOM_ROUTE", + "jhash": "0xEEBDFE55", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x900086F371220B6F": { + "name": "SET_GPS_CUSTOM_ROUTE_RENDER", + "jhash": "0xDA0AF00E", + "comment": "radarThickness: The width of the GPS route on the radar\nmapThickness: The width of the GPS route on the map", + "params": [ + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "int", + "name": "radarThickness" + }, + { + "type": "int", + "name": "mapThickness" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE6DE0561D9232A64": { + "name": "CLEAR_GPS_CUSTOM_ROUTE", + "jhash": "0xCF2E3E24", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x3D3D15AF7BCAAF83": { + "name": "START_GPS_MULTI_ROUTE", + "jhash": "0xC3DCBEDB", + "comment": "Starts a new GPS multi-route, allowing you to create custom GPS paths.\nGPS functions like the waypoint, except it can contain multiple points it's forced to go through.\nOnce the player has passed a point, the GPS will no longer force its path through it.\n\nWorks independently from the player-placed waypoint and blip routes.\nExample result: https://i.imgur.com/ZZHQatX.png\nhudColor: The HUD color of the GPS path.\nrouteFromPlayer: Makes the GPS draw a path from the player to the next point, rather than the original path from the previous point.\ndisplayOnFoot: Draws the GPS path regardless if the player is in a vehicle or not.", + "params": [ + { + "type": "int", + "name": "hudColor" + }, + { + "type": "BOOL", + "name": "routeFromPlayer" + }, + { + "type": "BOOL", + "name": "displayOnFoot" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA905192A6781C41B": { + "name": "ADD_POINT_TO_GPS_MULTI_ROUTE", + "jhash": "0xFE485135", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3DDA37128DD1ACA8": { + "name": "SET_GPS_MULTI_ROUTE_RENDER", + "jhash": "0xE87CBE4C", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x67EEDEA1B9BAFD94": { + "name": "CLEAR_GPS_MULTI_ROUTE", + "jhash": "0x0D9969E4", + "comment": "Does the same as SET_GPS_MULTI_ROUTE_RENDER(false);", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xFF4FB7C8CDFA3DA7": { + "name": "CLEAR_GPS_PLAYER_WAYPOINT", + "jhash": "0x0B9C7FC2", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x320D0E0D936A0E9B": { + "name": "SET_GPS_FLASHES", + "jhash": "0xE991F733", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7B21E0BB01E8224A": { + "name": "SET_PLAYER_ICON_COLOUR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "color" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MAIN_PLAYER_BLIP_COLOUR" + ] + }, + "0xF2DD778C22B15BDA": { + "name": "FLASH_MINIMAP_DISPLAY", + "jhash": "0xB8359952", + "comment": "adds a short flash to the Radar/Minimap\nUsage: UI.FLASH_MINIMAP_DISPLAY", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x6B1DE27EE78E6A19": { + "name": "FLASH_MINIMAP_DISPLAY_WITH_COLOR", + "jhash": "0x79A6CAF6", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudColorIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6AFDFB93754950C7": { + "name": "TOGGLE_STEALTH_RADAR", + "jhash": "0xC68D47C4", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1A5CD7752DD28CD3": { + "name": "SET_MINIMAP_IN_SPECTATOR_MODE", + "jhash": "0xD5BFCADB", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "KEY_HUD_COLOUR" + ] + }, + "0x5F28ECF5FC84772F": { + "name": "SET_MISSION_NAME", + "jhash": "0x68DCAE10", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE45087D85F468BC2": { + "name": "SET_MISSION_NAME_FOR_UGC_MISSION", + "jhash": "0x8D9A1734", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MISSION_NAME_2" + ] + }, + "0x817B86108EB94E51": { + "name": "SET_DESCRIPTION_FOR_UGC_MISSION_EIGHT_STRINGS", + "jhash": "0xD2161E77", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "const char*", + "name": "p3" + }, + { + "type": "const char*", + "name": "p4" + }, + { + "type": "const char*", + "name": "p5" + }, + { + "type": "const char*", + "name": "p6" + }, + { + "type": "const char*", + "name": "p7" + }, + { + "type": "const char*", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0x58FADDED207897DC": { + "name": "SET_MINIMAP_BLOCK_WAYPOINT", + "jhash": "0xA41C3B62", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9133955F1A2DA957": { + "name": "SET_MINIMAP_IN_PROLOGUE", + "jhash": "0x02F5F1D1", + "comment": "Toggles the North Yankton map", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_DRAW_MAP_VISIBLE", + "_SET_NORTH_YANKTON_MAP" + ] + }, + "0xF8DEE0A5600CBB93": { + "name": "SET_MINIMAP_HIDE_FOW", + "jhash": "0xD8D77733", + "comment": "If true, the entire map will be revealed.\n\nFOW = Fog of War", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MINIMAP_REVEALED" + ] + }, + "0xE0130B41D3CF4574": { + "name": "GET_MINIMAP_FOW_DISCOVERY_RATIO", + "jhash": "0xA4098ACC", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_MINIMAP_REVEAL_PERCENTAGE" + ] + }, + "0x6E31B91145873922": { + "name": "GET_MINIMAP_FOW_COORDINATE_IS_REVEALED", + "jhash": "0x65B705F6", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_MINIMAP_AREA_REVEALED" + ] + }, + "0x62E849B7EB28E770": { + "name": "SET_MINIMAP_FOW_DO_NOT_UPDATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0923DBF87DFF735E": { + "name": "SET_MINIMAP_FOW_REVEAL_COORDINATE", + "jhash": "0xE010F081", + "comment": "Up to eight coordinates may be revealed per frame", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x71BDB63DBAF8DA59": { + "name": "SET_MINIMAP_GOLF_COURSE", + "jhash": "0x5133A750", + "comment": "Not much is known so far on what it does _exactly_.\nAll 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.\nYou 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.\nYou'll also need to use the `GOLF` scaleform in order to get the correct minmap border to show up.\nUse `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).", + "params": [ + { + "type": "int", + "name": "hole" + } + ], + "return_type": "void", + "build": "323" + }, + "0x35EDD5B2E3FF01C0": { + "name": "SET_MINIMAP_GOLF_COURSE_OFF", + "jhash": "0x20FD3E87", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x299FAEBB108AE05B": { + "name": "LOCK_MINIMAP_ANGLE", + "jhash": "0xDEC733E4", + "comment": "Locks the minimap to the specified angle in integer degrees.\n\nangle: The angle in whole degrees. If less than 0 or greater than 360, unlocks the angle.", + "params": [ + { + "type": "int", + "name": "angle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8183455E16C42E3A": { + "name": "UNLOCK_MINIMAP_ANGLE", + "jhash": "0x742043F9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1279E861A329E73F": { + "name": "LOCK_MINIMAP_POSITION", + "jhash": "0xB9632A91", + "comment": "Locks the minimap to the specified world position.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3E93E06DB8EF1F30": { + "name": "UNLOCK_MINIMAP_POSITION", + "jhash": "0x5E8E6F54", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD201F3FF917A506D": { + "name": "SET_FAKE_MINIMAP_MAX_ALTIMETER_HEIGHT", + "jhash": "0x0308EDF6", + "comment": "Argument must be 0.0f or above 38.0f, or it will be ignored.", + "params": [ + { + "type": "float", + "name": "altitude" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MINIMAP_ATTITUDE_INDICATOR_LEVEL", + "_SET_MINIMAP_ALTITUDE_INDICATOR_LEVEL" + ] + }, + "0x3F5CC444DCAAA8F2": { + "name": "SET_HEALTH_HUD_DISPLAY_VALUES", + "jhash": "0x7FB6FB2A", + "comment": "", + "params": [ + { + "type": "int", + "name": "health" + }, + { + "type": "int", + "name": "capacity" + }, + { + "type": "BOOL", + "name": "wasAdded" + } + ], + "return_type": "void", + "build": "323" + }, + "0x975D66A0BC17064C": { + "name": "SET_MAX_HEALTH_HUD_DISPLAY", + "jhash": "0xF07D8CEF", + "comment": "", + "params": [ + { + "type": "int", + "name": "maximumValue" + } + ], + "return_type": "void", + "build": "323" + }, + "0x06A320535F5F0248": { + "name": "SET_MAX_ARMOUR_HUD_DISPLAY", + "jhash": "0x827F14DE", + "comment": "", + "params": [ + { + "type": "int", + "name": "maximumValue" + } + ], + "return_type": "void", + "build": "323" + }, + "0x231C8F89D0539D8F": { + "name": "SET_BIGMAP_ACTIVE", + "jhash": "0x08EB83D2", + "comment": "Toggles the big minimap state like in GTA:Online.", + "params": [ + { + "type": "BOOL", + "name": "toggleBigMap" + }, + { + "type": "BOOL", + "name": "showFullMap" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_RADAR_BIGMAP_ENABLED" + ] + }, + "0xBC4C9EA5391ECC0D": { + "name": "IS_HUD_COMPONENT_ACTIVE", + "jhash": "0x6214631F", + "comment": "Full list of components below\n\nHUD = 0;\nHUD_WANTED_STARS = 1;\nHUD_WEAPON_ICON = 2;\nHUD_CASH = 3;\nHUD_MP_CASH = 4;\nHUD_MP_MESSAGE = 5;\nHUD_VEHICLE_NAME = 6;\nHUD_AREA_NAME = 7;\nHUD_VEHICLE_CLASS = 8;\nHUD_STREET_NAME = 9;\nHUD_HELP_TEXT = 10;\nHUD_FLOATING_HELP_TEXT_1 = 11;\nHUD_FLOATING_HELP_TEXT_2 = 12;\nHUD_CASH_CHANGE = 13;\nHUD_RETICLE = 14;\nHUD_SUBTITLE_TEXT = 15;\nHUD_RADIO_STATIONS = 16;\nHUD_SAVING_GAME = 17;\nHUD_GAME_STREAM = 18;\nHUD_WEAPON_WHEEL = 19;\nHUD_WEAPON_WHEEL_STATS = 20;\nMAX_HUD_COMPONENTS = 21;\nMAX_HUD_WEAPONS = 22;\nMAX_SCRIPTED_HUD_COMPONENTS = 141;", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDD100EB17A94FF65": { + "name": "IS_SCRIPTED_HUD_COMPONENT_ACTIVE", + "jhash": "0x2B86F382", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE374C498D8BADC14": { + "name": "HIDE_SCRIPTED_HUD_COMPONENT_THIS_FRAME", + "jhash": "0x31ABA127", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4F38DCA127DAAEA2": { + "name": "SHOW_SCRIPTED_HUD_COMPONENT_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_SHOW_SCRIPTED_HUD_COMPONENT_THIS_FRAME" + ] + }, + "0x09C0403ED9A751C2": { + "name": "IS_SCRIPTED_HUD_COMPONENT_HIDDEN_THIS_FRAME", + "jhash": "0xE8C8E535", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6806C51AD12B83B8": { + "name": "HIDE_HUD_COMPONENT_THIS_FRAME", + "jhash": "0xDB2D0762", + "comment": "This function hides various HUD (Heads-up Display) components.\nListed below are the integers and the corresponding HUD component.\n- 1 : WANTED_STARS\n- 2 : WEAPON_ICON\n- 3 : CASH\n- 4 : MP_CASH\n- 5 : MP_MESSAGE\n- 6 : VEHICLE_NAME\n- 7 : AREA_NAME\n- 8 : VEHICLE_CLASS\n- 9 : STREET_NAME\n- 10 : HELP_TEXT\n- 11 : FLOATING_HELP_TEXT_1\n- 12 : FLOATING_HELP_TEXT_2\n- 13 : CASH_CHANGE\n- 14 : RETICLE\n- 15 : SUBTITLE_TEXT\n- 16 : RADIO_STATIONS\n- 17 : SAVING_GAME\n- 18 : GAME_STREAM\n- 19 : WEAPON_WHEEL\n- 20 : WEAPON_WHEEL_STATS\n- 21 : HUD_COMPONENTS\n- 22 : HUD_WEAPONS\n\nThese integers also work for the `SHOW_HUD_COMPONENT_THIS_FRAME` native, but instead shows the HUD Component.", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0B4DF1FA60C0E664": { + "name": "SHOW_HUD_COMPONENT_THIS_FRAME", + "jhash": "0x95E1546E", + "comment": "This function hides various HUD (Heads-up Display) components.\nListed below are the integers and the corresponding HUD component.\n- 1 : WANTED_STARS\n- 2 : WEAPON_ICON\n- 3 : CASH\n- 4 : MP_CASH\n- 5 : MP_MESSAGE\n- 6 : VEHICLE_NAME\n- 7 : AREA_NAME\n- 8 : VEHICLE_CLASS\n- 9 : STREET_NAME\n- 10 : HELP_TEXT\n- 11 : FLOATING_HELP_TEXT_1\n- 12 : FLOATING_HELP_TEXT_2\n- 13 : CASH_CHANGE\n- 14 : RETICLE\n- 15 : SUBTITLE_TEXT\n- 16 : RADIO_STATIONS\n- 17 : SAVING_GAME\n- 18 : GAME_STREAM\n- 19 : WEAPON_WHEEL\n- 20 : WEAPON_WHEEL_STATS\n- 21 : HUD_COMPONENTS\n- 22 : HUD_WEAPONS\n\nThese integers also work for the `HIDE_HUD_COMPONENT_THIS_FRAME` native, but instead hides the HUD Component.", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA4DEDE28B1814289": { + "name": "HIDE_STREET_AND_CAR_NAMES_THIS_FRAME", + "jhash": "0x52746FE1", + "comment": "Hides area and vehicle name HUD components for one frame.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_HIDE_AREA_AND_VEHICLE_NAME_THIS_FRAME" + ] + }, + "0x12782CE0A636E9F0": { + "name": "RESET_RETICULE_VALUES", + "jhash": "0xBE27AA3F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x450930E616475D0D": { + "name": "RESET_HUD_COMPONENT_VALUES", + "jhash": "0xD15B46DA", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAABB1F56E2A17CED": { + "name": "SET_HUD_COMPONENT_POSITION", + "jhash": "0x2F3A0D15", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "void", + "build": "323" + }, + "0x223CA69A8C4417FD": { + "name": "GET_HUD_COMPONENT_POSITION", + "jhash": "0x080DCED6", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xB57D8DD645CFA2CF": { + "name": "CLEAR_REMINDER_MESSAGE", + "jhash": "0x5BBCC934", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xF9904D11F1ACBEC3": { + "name": "GET_HUD_SCREEN_POSITION_FROM_WORLD_POSITION", + "jhash": "0xFE9A39F8", + "comment": "World to relative screen coords, this world to screen will keep the text on screen. Was named _GET_SCREEN_COORD_FROM_WORLD_COORD, but this conflicts with 0x34E82F05DF2974F5. As that hash actually matches GET_SCREEN_COORD_FROM_WORLD_COORD that one supercedes and this one was renamed to _GET_2D_COORD_FROM_3D_COORD", + "params": [ + { + "type": "float", + "name": "worldX" + }, + { + "type": "float", + "name": "worldY" + }, + { + "type": "float", + "name": "worldZ" + }, + { + "type": "float*", + "name": "screenX" + }, + { + "type": "float*", + "name": "screenY" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_2D_COORD_FROM_3D_COORD" + ] + }, + "0x523A590C1A3CC0D3": { + "name": "OPEN_REPORTUGC_MENU", + "jhash": "0x10DE5150", + "comment": "Shows a menu for reporting UGC content.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISPLAY_JOB_REPORT" + ] + }, + "0xEE4C0E6DBC6F2C6F": { + "name": "FORCE_CLOSE_REPORTUGC_MENU", + "jhash": "0x67649EE0", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9135584D09A3437E": { + "name": "IS_REPORTUGC_MENU_OPEN", + "jhash": "0x9D2C94FA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2432784ACA090DA4": { + "name": "IS_FLOATING_HELP_TEXT_ON_SCREEN", + "jhash": "0x45472FD5", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7679CC1BCEBE3D4C": { + "name": "SET_FLOATING_HELP_TEXT_SCREEN_POSITION", + "jhash": "0x198F32D7", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudIndex" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "void", + "build": "323" + }, + "0x784BA7E0ECEB4178": { + "name": "SET_FLOATING_HELP_TEXT_WORLD_POSITION", + "jhash": "0x93045157", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudIndex" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB094BC1DB4018240": { + "name": "SET_FLOATING_HELP_TEXT_TO_ENTITY", + "jhash": "0x18B012B7", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudIndex" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + } + ], + "return_type": "void", + "build": "323" + }, + "0x788E7FD431BD67F1": { + "name": "SET_FLOATING_HELP_TEXT_STYLE", + "jhash": "0x97852A82", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudIndex" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x50085246ABD3FEFA": { + "name": "CLEAR_FLOATING_HELP", + "jhash": "0xB181F88F", + "comment": "", + "params": [ + { + "type": "int", + "name": "hudIndex" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6DD05E9D83EFA4C9": { + "name": "CREATE_MP_GAMER_TAG_WITH_CREW_COLOR", + "jhash": "0xC969F2D0", + "comment": "clanFlag: takes a number 0-5", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "const char*", + "name": "username" + }, + { + "type": "BOOL", + "name": "pointedClanTag" + }, + { + "type": "BOOL", + "name": "isRockstarClan" + }, + { + "type": "const char*", + "name": "clanTag" + }, + { + "type": "int", + "name": "clanFlag" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CREATE_MP_GAMER_TAG_COLOR", + "_SET_MP_GAMER_TAG_COLOR", + "_CREATE_MP_GAMER_TAG_FOR_NET_PLAYER" + ] + }, + "0x6E0EB3EB47C8D7AA": { + "name": "IS_MP_GAMER_TAG_MOVIE_ACTIVE", + "jhash": "0xEFD2564A", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_MP_GAMER_TAG" + ] + }, + "0xBFEFE3321A3F5015": { + "name": "CREATE_FAKE_MP_GAMER_TAG", + "jhash": "0xF5CD2AA4", + "comment": "clanFlag: takes a number 0-5", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "username" + }, + { + "type": "BOOL", + "name": "pointedClanTag" + }, + { + "type": "BOOL", + "name": "isRockstarClan" + }, + { + "type": "const char*", + "name": "clanTag" + }, + { + "type": "int", + "name": "clanFlag" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_CREATE_MP_GAMER_TAG" + ] + }, + "0x31698AA80E0223F8": { + "name": "REMOVE_MP_GAMER_TAG", + "jhash": "0x3D081FE4", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4E929E7A5796FD26": { + "name": "IS_MP_GAMER_TAG_ACTIVE", + "jhash": "0x60118951", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x595B5178E412E199": { + "name": "IS_MP_GAMER_TAG_FREE", + "jhash": "0x63959059", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "ADD_TREVOR_RANDOM_MODIFIER" + ] + }, + "0x63BB75ABEDC1F6A0": { + "name": "SET_MP_GAMER_TAG_VISIBILITY", + "jhash": "0xD41DF479", + "comment": "enum eMpGamerTagComponent\n{\n\tMP_TAG_GAMER_NAME,\n\tMP_TAG_CREW_TAG,\n\tMP_TAG_HEALTH_ARMOUR,\n\tMP_TAG_BIG_TEXT,\n\tMP_TAG_AUDIO_ICON,\n\tMP_TAG_USING_MENU,\n\tMP_TAG_PASSIVE_MODE,\n\tMP_TAG_WANTED_STARS,\n\tMP_TAG_DRIVER,\n\tMP_TAG_CO_DRIVER,\n\tMP_TAG_TAGGED,\n\tMP_TAG_GAMER_NAME_NEARBY,\n\tMP_TAG_ARROW,\n\tMP_TAG_PACKAGES,\n\tMP_TAG_INV_IF_PED_FOLLOWING,\n\tMP_TAG_RANK_TEXT,\n\tMP_TAG_TYPING,\n\tMP_TAG_BAG_LARGE,\n\tMP_TAG_ARROW,\n\tMP_TAG_GANG_CEO,\n\tMP_TAG_GANG_BIKER,\n\tMP_TAG_BIKER_ARROW,\n\tMP_TAG_MC_ROLE_PRESIDENT,\n\tMP_TAG_MC_ROLE_VICE_PRESIDENT,\n\tMP_TAG_MC_ROLE_ROAD_CAPTAIN,\n\tMP_TAG_MC_ROLE_SARGEANT,\n\tMP_TAG_MC_ROLE_ENFORCER,\n\tMP_TAG_MC_ROLE_PROSPECT,\n\tMP_TAG_TRANSMITTER,\n\tMP_TAG_BOMB\n};", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "int", + "name": "component" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEE76FF7E6A0166B0": { + "name": "SET_ALL_MP_GAMER_TAGS_VISIBILITY", + "jhash": "0x767DED29", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MP_GAMER_TAG_", + "_SET_MP_GAMER_TAG", + "_SET_MP_GAMER_TAG_ENABLED" + ] + }, + "0xA67F9C46D612B6F1": { + "name": "SET_MP_GAMER_TAGS_SHOULD_USE_VEHICLE_HEALTH", + "jhash": "0xB01A5434", + "comment": "Displays a bunch of icons above the players name, and level, and their name twice", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MP_GAMER_TAG_ICONS" + ] + }, + "0xD29EC58C2F6B5014": { + "name": "SET_MP_GAMER_TAGS_SHOULD_USE_POINTS_HEALTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_MP_GAMER_HEALTH_BAR_DISPLAY" + ] + }, + "0x1563FE35E9928E67": { + "name": "SET_MP_GAMER_TAGS_POINT_HEALTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "int", + "name": "maximumValue" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_MP_GAMER_HEALTH_BAR_MAX" + ] + }, + "0x613ED644950626AE": { + "name": "SET_MP_GAMER_TAG_COLOUR", + "jhash": "0x7E3AA40A", + "comment": "Sets a gamer tag's component colour\n\ngamerTagId is obtained using for example CREATE_FAKE_MP_GAMER_TAG\nRanges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple.", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "int", + "name": "component" + }, + { + "type": "int", + "name": "hudColorIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3158C77A7E888AB4": { + "name": "SET_MP_GAMER_TAG_HEALTH_BAR_COLOUR", + "jhash": "0x5777EC77", + "comment": "Ranges from 0 to 255. 0 is grey health bar, ~50 yellow, 200 purple.\nShould be enabled as flag (2). Has 0 opacity by default.\n\n- This was _SET_MP_GAMER_TAG_HEALTH_BAR_COLOR,\n-> 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.", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "int", + "name": "hudColorIndex" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MP_GAMER_TAG_HEALTH_BAR_COLOR" + ] + }, + "0xD48FE545CD46F857": { + "name": "SET_MP_GAMER_TAG_ALPHA", + "jhash": "0xF4418611", + "comment": "Sets flag's sprite transparency. 0-255.", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "int", + "name": "component" + }, + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCF228E2AA03099C3": { + "name": "SET_MP_GAMER_TAG_WANTED_LEVEL", + "jhash": "0x0EBB003F", + "comment": "displays wanted star above head", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "int", + "name": "wantedlvl" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C16459B2324B2CF": { + "name": "SET_MP_GAMER_TAG_NUM_PACKAGES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_MP_GAMER_TAG_UNK" + ] + }, + "0xDEA2B8283BAA3944": { + "name": "SET_MP_GAMER_TAG_NAME", + "jhash": "0x627A559B", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB709A36958ABE0D": { + "name": "IS_UPDATING_MP_GAMER_TAG_NAME_AND_CREW_DETAILS", + "jhash": "0xF11414C4", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_MP_GAMER_TAG_2", + "_HAS_MP_GAMER_TAG_CREW_FLAGS_SET", + "_IS_VALID_MP_GAMER_TAG_MOVIE" + ] + }, + "0x7B7723747CCB55B6": { + "name": "SET_MP_GAMER_TAG_BIG_TEXT", + "jhash": "0x939218AB", + "comment": "", + "params": [ + { + "type": "int", + "name": "gamerTagId" + }, + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MP_GAMER_TAG_CHATTING" + ] + }, + "0x01A358D9128B7A86": { + "name": "GET_CURRENT_WEBPAGE_ID", + "jhash": "0xAB5B7C18", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_ACTIVE_WEBSITE_ID" + ] + }, + "0x97D47996FC48CBAD": { + "name": "GET_CURRENT_WEBSITE_ID", + "jhash": "0x42A55B14", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xE3B05614DCE1D014": { + "name": "GET_GLOBAL_ACTIONSCRIPT_FLAG", + "jhash": "0xD217EE7E", + "comment": "Returns the ActionScript flagValue.\nActionScript flags are global flags that scaleforms use\nFlags found during testing\n0: Returns 1 if the web_browser keyboard is open, otherwise 0\n1: Returns 1 if the player has clicked back twice on the opening page, otherwise 0 (web_browser)\n2: Returns how many links the player has clicked in the web_browser scaleform, returns 0 when the browser gets closed\n9: Returns the current selection on the mobile phone scaleform\n\nThere are 20 flags in total.", + "params": [ + { + "type": "int", + "name": "flagIndex" + } + ], + "return_type": "int", + "build": "323" + }, + "0xB99C4E4D9499DF29": { + "name": "RESET_GLOBAL_ACTIONSCRIPT_FLAG", + "jhash": "0x4C4C10CF", + "comment": "", + "params": [ + { + "type": "int", + "name": "flagIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAF42195A42C63BBA": { + "name": "IS_WARNING_MESSAGE_READY_FOR_CONTROL", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_WARNING_MESSAGE_ACTIVE_2" + ] + }, + "0x7B1776B3B53F8D74": { + "name": "SET_WARNING_MESSAGE", + "jhash": "0xBE699BDE", + "comment": "You can only use text entries. No custom text.\n\nExample: SET_WARNING_MESSAGE(\"t20\", 3, \"adder\", false, -1, 0, 0, true);\nerrorCode: shows an error code at the bottom left if nonzero", + "params": [ + { + "type": "const char*", + "name": "titleMsg" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "const char*", + "name": "promptMsg" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "const char*", + "name": "p5" + }, + { + "type": "const char*", + "name": "p6" + }, + { + "type": "BOOL", + "name": "showBackground" + }, + { + "type": "int", + "name": "errorCode" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDC38CC1E35B6A5D7": { + "name": "SET_WARNING_MESSAGE_WITH_HEADER", + "jhash": "0x2DB9EAB5", + "comment": "Shows a warning message on screen with a header.\nNote: You can only use text entries. No custom text. You can recreate this easily with scaleforms.\nExample: https://i.imgur.com/ITJt8bJ.png", + "params": [ + { + "type": "const char*", + "name": "entryHeader" + }, + { + "type": "const char*", + "name": "entryLine1" + }, + { + "type": "int", + "name": "instructionalKey" + }, + { + "type": "const char*", + "name": "entryLine2" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any*", + "name": "showBackground" + }, + { + "type": "Any*", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_WARNING_MESSAGE_2" + ] + }, + "0x701919482C74B5AB": { + "name": "SET_WARNING_MESSAGE_WITH_HEADER_AND_SUBSTRING_FLAGS", + "jhash": "0x749929D3", + "comment": "You can use this native for custom input, without having to use any scaleform-related natives.\nThe native must be called on tick.\nThe entryHeader must be a valid label.\nFor Single lines use JL_INVITE_N as entryLine1, JL_INVITE_ND for multiple.\nNotes:\n- additionalIntInfo: replaces first occurrence of ~1~ in provided label with an integer\n- additionalTextInfoLine1: replaces first occurrence of ~a~ in provided label, with your custom text\n- additionalTextInfoLine2: replaces second occurrence of ~a~ in provided label, with your custom text\n- showBackground: shows black background of the warning screen\n- errorCode: shows an error code at the bottom left if nonzero\nExample of usage:\nSET_WARNING_MESSAGE_WITH_HEADER_AND_SUBSTRING_FLAGS(\"ALERT\", \"JL_INVITE_ND\", 66, \"\", true, -1, -1, \"Testing line 1\", \"Testing line 2\", true, 0);\nScreenshot:\nhttps://imgur.com/a/IYA7vJ8", + "params": [ + { + "type": "const char*", + "name": "entryHeader" + }, + { + "type": "const char*", + "name": "entryLine1" + }, + { + "type": "int", + "name": "instructionalKey" + }, + { + "type": "const char*", + "name": "entryLine2" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "additionalIntInfo" + }, + { + "type": "const char*", + "name": "additionalTextInfoLine1" + }, + { + "type": "const char*", + "name": "additionalTextInfoLine2" + }, + { + "type": "BOOL", + "name": "showBackground" + }, + { + "type": "int", + "name": "errorCode" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_WARNING_MESSAGE_3" + ] + }, + "0x38B55259C2E078ED": { + "name": "SET_WARNING_MESSAGE_WITH_HEADER_EXTENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "entryHeader" + }, + { + "type": "const char*", + "name": "entryLine1" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "const char*", + "name": "entryLine2" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any*", + "name": "p6" + }, + { + "type": "Any*", + "name": "p7" + }, + { + "type": "BOOL", + "name": "showBg" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_WARNING_MESSAGE_WITH_HEADER_UNK" + ] + }, + "0x15803FEC3B9A872B": { + "name": "SET_WARNING_MESSAGE_WITH_HEADER_AND_SUBSTRING_FLAGS_EXTENDED", + "jhash": "", + "comment": "labelTitle: Label of the alert's title.\nlabelMsg: Label of the alert's message.\np2: This is an enum, check the description for a list.\np3: This is an enum, check the description for a list.\nlabelMsg2: Label of another message line\np5: usually 0\np6: usually -1\np7: usually 0\np8: unknown label\np9: unknown label\nbackground: Set to anything other than 0 or false (even any string) and it will draw a background. Setting it to 0 or false will draw no background.\nerrorCode: Error code, shown at the bottom left if set to value other than 0.\n\ninstructionalKey enum list:\nButtons = {\n Empty = 0,\n Select = 1, -- (RETURN)\n Ok = 2, -- (RETURN)\n Yes = 4, -- (RETURN)\n Back = 8, -- (ESC)\n Cancel = 16, -- (ESC)\n No = 32, -- (ESC)\n RetrySpace = 64, -- (SPACE)\n Restart = 128, -- (SPACE)\n Skip = 256, -- (SPACE)\n Quit = 512, -- (ESC)\n Adjust = 1024, -- (ARROWS)\n SpaceKey = 2048, -- (SPACE)\n Share = 4096, -- (SPACE)\n SignIn = 8192, -- (SPACE)\n Continue = 16384, -- (RETURN)\n AdjustLeftRight = 32768, -- (SCROLL L/R)\n AdjustUpDown = 65536, -- (SCROLL U/D)\n Overwrite = 131072, -- (SPACE)\n SocialClubSignup = 262144, -- (RETURN)\n Confirm = 524288, -- (RETURN)\n Queue = 1048576, -- (RETURN)\n RetryReturn = 2097152, -- (RETURN)\n BackEsc = 4194304, -- (ESC)\n SocialClub = 8388608, -- (RETURN)\n Spectate = 16777216, -- (SPACE)\n OkEsc = 33554432, -- (ESC)\n CancelTransfer = 67108864, -- (ESC)\n LoadingSpinner = 134217728,\n NoReturnToGTA = 268435456, -- (ESC)\n CancelEsc = 536870912, -- (ESC)\n}\n\nAlt = {\n Empty = 0,\n No = 1, -- (SPACE)\n Host = 2, -- (ESC)\n SearchForJob = 4, -- (RETURN)\n ReturnKey = 8, -- (TURN)\n Freemode = 16, -- (ESC)\n}\n\nExample: https://i.imgur.com/TvmNF4k.png", + "params": [ + { + "type": "const char*", + "name": "labelTitle" + }, + { + "type": "const char*", + "name": "labelMessage" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "const char*", + "name": "labelMessage2" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "int", + "name": "p6" + }, + { + "type": "int", + "name": "p7" + }, + { + "type": "const char*", + "name": "p8" + }, + { + "type": "const char*", + "name": "p9" + }, + { + "type": "BOOL", + "name": "background" + }, + { + "type": "int", + "name": "errorCode" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_DRAW_FRONTEND_ALERT", + "_SET_WARNING_MESSAGE_WITH_ALERT" + ] + }, + "0x81DF9ABA6C83DFF9": { + "name": "GET_WARNING_SCREEN_MESSAGE_HASH", + "jhash": "", + "comment": "Has to do with the confirmation overlay (E.g. confirm exit)", + "params": [], + "return_type": "Hash", + "build": "1290", + "old_names": [ + "_GET_WARNING_MESSAGE_TITLE_HASH" + ] + }, + "0x0C5A80A9E096D529": { + "name": "SET_WARNING_MESSAGE_OPTION_ITEMS", + "jhash": "", + "comment": "Some sort of list displayed in a warning message. Yet unknown how to prevent repeating.\nParam names copied from the corresponding scaleform function \"SET_LIST_ROW\".\nExample: https://i.imgur.com/arKvOYx.png", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "const char*", + "name": "name" + }, + { + "type": "int", + "name": "cash" + }, + { + "type": "int", + "name": "rp" + }, + { + "type": "int", + "name": "lvl" + }, + { + "type": "int", + "name": "colour" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SET_WARNING_MESSAGE_LIST_ROW" + ] + }, + "0xDAF87174BE7454FF": { + "name": "SET_WARNING_MESSAGE_OPTION_HIGHLIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6EF54AB721DC6242": { + "name": "REMOVE_WARNING_MESSAGE_OPTION_ITEMS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_REMOVE_WARNING_MESSAGE_LIST_ITEMS" + ] + }, + "0xE18B138FABC53103": { + "name": "IS_WARNING_MESSAGE_ACTIVE", + "jhash": "0x94C834AD", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "IS_MEDICAL_DISABLED" + ] + }, + "0x7792424AA0EAC32E": { + "name": "CLEAR_DYNAMIC_PAUSE_MENU_ERROR_MESSAGE", + "jhash": "0x2F9A309C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5354C5BA2EA868A4": { + "name": "CUSTOM_MINIMAP_SET_ACTIVE", + "jhash": "0xE4FD20D8", + "comment": "If toggle is true, the map is shown in full screen\nIf toggle is false, the map is shown in normal mode", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_MAP_FULL_SCREEN", + "_RACE_GALLERY_FULLSCREEN" + ] + }, + "0x1EAE6DD17B7A5EFA": { + "name": "CUSTOM_MINIMAP_SET_BLIP_OBJECT", + "jhash": "0x13E7A5A9", + "comment": "Sets the sprite of the next BLIP_GALLERY blip, values used in the native scripts: 143 (ObjectiveBlue), 144 (ObjectiveGreen), 145 (ObjectiveRed), 146 (ObjectiveYellow).", + "params": [ + { + "type": "int", + "name": "spriteId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_RACE_GALLERY_NEXT_BLIP_SPRITE" + ] + }, + "0x551DF99658DB6EE8": { + "name": "CUSTOM_MINIMAP_CREATE_BLIP", + "jhash": "0x786CA0A2", + "comment": "Add a BLIP_GALLERY at the specific coordinate. Used in fm_maintain_transition_players to display race track points.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_RACE_GALLERY_ADD_BLIP" + ] + }, + "0x2708FC083123F9FF": { + "name": "CUSTOM_MINIMAP_CLEAR_BLIPS", + "jhash": "0xCBEC9369", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_RACE_GALLERY_BLIPS" + ] + }, + "0x1121BFA1A1A522A8": { + "name": "FORCE_SONAR_BLIPS_THIS_FRAME", + "jhash": "0x3F4AFB13", + "comment": "Doesn't actually return anything.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x3F0CF9CB7E589B88": { + "name": "GET_NORTH_BLID_INDEX", + "jhash": "", + "comment": "", + "params": [], + "return_type": "Blip", + "build": "463", + "old_names": [ + "_GET_NORTH_RADAR_BLIP" + ] + }, + "0x82CEDC33687E1F50": { + "name": "DISPLAY_PLAYER_NAME_TAGS_ON_BLIPS", + "jhash": "0x2F28F0A6", + "comment": "Toggles whether or not name labels are shown on the expanded minimap next to player blips, like in GTA:O.\nDoesn't need to be called every frame.\nPreview: https://i.imgur.com/DfqKWfJ.png\n\nMake sure to call SET_BLIP_CATEGORY with index 7 for this to work on the desired blip.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x211C4EF450086857": { + "name": "DRAW_FRONTEND_BACKGROUND_THIS_FRAME", + "jhash": "0x801D0D86", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBF4F34A85CA2970C": { + "name": "DRAW_HUD_OVER_FADE_THIS_FRAME", + "jhash": "0x317775DF", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xEF01D36B9C9D0C7B": { + "name": "ACTIVATE_FRONTEND_MENU", + "jhash": "0x01D83872", + "comment": "Does stuff like this:\ngyazo.com/7fcb78ea3520e3dbc5b2c0c0f3712617\n\nExample:\nint GetHash = GET_HASH_KEY(\"fe_menu_version_corona_lobby\");\nACTIVATE_FRONTEND_MENU(GetHash, 0, -1);\n\nBOOL p1 is a toggle to define the game in pause.\nint p2 is unknown but -1 always works, not sure why though.\n\n[30/03/2017] ins1de :\n\nthe int p2 is actually a component variable. When the pause menu is visible, it opens the tab related to it.\n\nExample : Function.Call(Hash.ACTIVATE_FRONTEND_MENU,-1171018317, 0, 42);\nResult : Opens the \"Online\" tab without pausing the menu, with -1 it opens the map.Below is a list of all known Frontend Menu Hashes.\n- FE_MENU_VERSION_SP_PAUSE\n- FE_MENU_VERSION_MP_PAUSE\n- FE_MENU_VERSION_CREATOR_PAUSE\n- FE_MENU_VERSION_CUTSCENE_PAUSE\n- FE_MENU_VERSION_SAVEGAME\n- FE_MENU_VERSION_PRE_LOBBY\n- FE_MENU_VERSION_LOBBY\n- FE_MENU_VERSION_MP_CHARACTER_SELECT\n- FE_MENU_VERSION_MP_CHARACTER_CREATION\n- FE_MENU_VERSION_EMPTY\n- FE_MENU_VERSION_EMPTY_NO_BACKGROUND\n- FE_MENU_VERSION_TEXT_SELECTION\n- FE_MENU_VERSION_CORONA\n- FE_MENU_VERSION_CORONA_LOBBY\n- FE_MENU_VERSION_CORONA_JOINED_PLAYERS\n- FE_MENU_VERSION_CORONA_INVITE_PLAYERS\n- FE_MENU_VERSION_CORONA_INVITE_FRIENDS\n- FE_MENU_VERSION_CORONA_INVITE_CREWS\n- FE_MENU_VERSION_CORONA_INVITE_MATCHED_PLAYERS\n- FE_MENU_VERSION_CORONA_INVITE_LAST_JOB_PLAYERS\n- FE_MENU_VERSION_CORONA_RACE\n- FE_MENU_VERSION_CORONA_BETTING\n- FE_MENU_VERSION_JOINING_SCREEN\n- FE_MENU_VERSION_LANDING_MENU\n- FE_MENU_VERSION_LANDING_KEYMAPPING_MENU", + "params": [ + { + "type": "Hash", + "name": "menuhash" + }, + { + "type": "BOOL", + "name": "togglePause" + }, + { + "type": "int", + "name": "component" + } + ], + "return_type": "void", + "build": "323" + }, + "0x10706DC6AD2D49C0": { + "name": "RESTART_FRONTEND_MENU", + "jhash": "0xB07DAF98", + "comment": "Before using this native click the native above and look at the decription.\n\nExample:\nint GetHash = Function.Call(Hash.GET_HASH_KEY, \"fe_menu_version_corona_lobby\");\nFunction.Call(Hash.ACTIVATE_FRONTEND_MENU, GetHash, 0, -1);\nFunction.Call(Hash.RESTART_FRONTEND_MENU(GetHash, -1);\n\nThis native refreshes the frontend menu.\n\np1 = Hash of Menu\np2 = Unknown but always works with -1.", + "params": [ + { + "type": "Hash", + "name": "menuHash" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2309595AD6145265": { + "name": "GET_CURRENT_FRONTEND_MENU_VERSION", + "jhash": "0x33D6868F", + "comment": "if (HUD::GET_CURRENT_FRONTEND_MENU_VERSION() == joaat(\"fe_menu_version_empty_no_background\"))", + "params": [], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_CURRENT_FRONTEND_MENU" + ] + }, + "0xDF47FC56C71569CF": { + "name": "SET_PAUSE_MENU_ACTIVE", + "jhash": "0x1DCD878E", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6D3465A73092F0E6": { + "name": "DISABLE_FRONTEND_THIS_FRAME", + "jhash": "0xD86A029E", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBA751764F0821256": { + "name": "SUPPRESS_FRONTEND_RENDERING_THIS_FRAME", + "jhash": "0x7F349900", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCC3FDDED67BCFC63": { + "name": "ALLOW_PAUSE_WHEN_NOT_IN_STATE_OF_PLAY_THIS_FRAME", + "jhash": "0x630CD8EE", + "comment": "Allows opening the pause menu this frame, when the player is dead.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_ALLOW_PAUSE_MENU_WHEN_DEAD_THIS_FRAME" + ] + }, + "0x745711A75AB09277": { + "name": "SET_FRONTEND_ACTIVE", + "jhash": "0x81E1AD32", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "active" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB0034A223497FFCB": { + "name": "IS_PAUSE_MENU_ACTIVE", + "jhash": "0xD3600591", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2F057596F2BD0061": { + "name": "IS_STORE_PENDING_NETWORK_SHUTDOWN_TO_OPEN", + "jhash": "0xC85C4487", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x272ACD84970869C5": { + "name": "GET_PAUSE_MENU_STATE", + "jhash": "0x92F50134", + "comment": "Returns:\n\n0\n5\n10\n15\n20\n25\n30\n35\n", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x5BFF36D6ED83E0AE": { + "name": "GET_PAUSE_MENU_POSITION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "Vector3", + "build": "323" + }, + "0x1C491717107431C7": { + "name": "IS_PAUSE_MENU_RESTARTING", + "jhash": "0x3C4CF4D9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2162C446DFDF38FD": { + "name": "FORCE_SCRIPTED_GFX_WHEN_FRONTEND_ACTIVE", + "jhash": "0x2DFD35C7", + "comment": "Not present in retail version of the game, actual definiton seems to be\n_LOG_DEBUG_INFO(const char* category, const char* debugText);", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_LOG_DEBUG_INFO" + ] + }, + "0x77F16B447824DA6C": { + "name": "PAUSE_MENUCEPTION_GO_DEEPER", + "jhash": "0x0A89336C", + "comment": "", + "params": [ + { + "type": "int", + "name": "page" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCDCA26E80FAECB8F": { + "name": "PAUSE_MENUCEPTION_THE_KICK", + "jhash": "0xC84BE309", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x2DE6C5E2E996F178": { + "name": "PAUSE_TOGGLE_FULLSCREEN_MAP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "372" + }, + "0xDD564BDD0472C936": { + "name": "PAUSE_MENU_ACTIVATE_CONTEXT", + "jhash": "0x9FE8FD5E", + "comment": "Activates the specified frontend menu context.\npausemenu.xml defines some specific menu options using 'context'. Context is basically a 'condition'. \nThe `*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.\nThe `*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.\nThis basically allows you to hide certain menu sections, or things like instructional buttons.", + "params": [ + { + "type": "Hash", + "name": "contextHash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_FRONTEND_MENU_CONTEXT" + ] + }, + "0x444D8CF241EC25C5": { + "name": "PAUSE_MENU_DEACTIVATE_CONTEXT", + "jhash": "0x0029046E", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "contextHash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "OBJECT_DECAL_TOGGLE" + ] + }, + "0x84698AB38D0C6636": { + "name": "PAUSE_MENU_IS_CONTEXT_ACTIVE", + "jhash": "0xC51BC42F", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "contextHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2A25ADC48F87841F": { + "name": "PAUSE_MENU_IS_CONTEXT_MENU_ACTIVE", + "jhash": "0x016D7AF9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xDE03620F8703A9DF": { + "name": "PAUSE_MENU_GET_HAIR_COLOUR_INDEX", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x359AF31A4B52F5ED": { + "name": "PAUSE_MENU_GET_MOUSE_HOVER_INDEX", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x13C4B962653A5280": { + "name": "PAUSE_MENU_GET_MOUSE_HOVER_UNIQUE_ID", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xC8E1071177A23BE5": { + "name": "PAUSE_MENU_GET_MOUSE_CLICK_EVENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4895BDEA16E7C080": { + "name": "PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS", + "jhash": "0x15B24768", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "ENABLE_DEATHBLOOD_SEETHROUGH" + ] + }, + "0xC78E239AC5B2DDB9": { + "name": "PAUSE_MENU_SET_BUSY_SPINNER", + "jhash": "0x6C67131A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "int", + "name": "position" + }, + { + "type": "int", + "name": "spinnerIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF06EBB91A81E09E3": { + "name": "PAUSE_MENU_SET_WARN_ON_TAB_CHANGE", + "jhash": "0x11D09737", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3BAB9A4E4F2FF5C7": { + "name": "IS_FRONTEND_READY_FOR_CONTROL", + "jhash": "0xD3BF3ABD", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEC9264727EEC0F28": { + "name": "TAKE_CONTROL_OF_FRONTEND", + "jhash": "0xC06B763D", + "comment": "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.\n\nTo enable the keys again, use `0x14621BB1DF14E2B2`.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x14621BB1DF14E2B2": { + "name": "RELEASE_CONTROL_OF_FRONTEND", + "jhash": "0xB9392CE7", + "comment": "Enables frontend (works in custom frontends, not sure about regular pause menu) navigation keys on keyboard if they were disabled using the native below.\nTo disable the keys, use `0xEC9264727EEC0F28`", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x66E7CB63C97B7D20": { + "name": "CODE_WANTS_SCRIPT_TO_TAKE_CONTROL", + "jhash": "0x92DAFA78", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x593FEAE1F73392D4": { + "name": "GET_SCREEN_CODE_WANTS_SCRIPT_TO_CONTROL", + "jhash": "0x22CA9F2A", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x4E3CD0EF8A489541": { + "name": "IS_NAVIGATING_MENU_CONTENT", + "jhash": "0xDA7951A2", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF284AC67940C6812": { + "name": "HAS_MENU_TRIGGER_EVENT_OCCURRED", + "jhash": "0x7D95AFFF", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2E22FEFA0100275E": { + "name": "HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED", + "jhash": "0x96863460", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0CF54F20DE43879C": { + "name": "SET_SAVEGAME_LIST_UNIQUE_ID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x36C1451A88A09630": { + "name": "GET_MENU_TRIGGER_EVENT_DETAILS", + "jhash": "0x8543AAC8", + "comment": "", + "params": [ + { + "type": "int*", + "name": "lastItemMenuId" + }, + { + "type": "int*", + "name": "selectedItemUniqueId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_PAUSE_MENU_SELECTION" + ] + }, + "0x7E17BE53E1AAABAF": { + "name": "GET_MENU_LAYOUT_CHANGED_EVENT_DETAILS", + "jhash": "0x6025AA2F", + "comment": "lastItemMenuId: this is the menuID of the last selected item minus 1000 (lastItem.menuID - 1000)\nselectedItemMenuId: same as lastItemMenuId except for the currently selected menu item\nselectedItemUniqueId: this is uniqueID of the currently selected menu item\n\nwhen the pausemenu is closed:\nlastItemMenuId = -1\nselectedItemMenuId = -1\nselectedItemUniqueId = 0\n\nwhen the header gains focus:\nlastItemMenuId updates as normal or 0 if the pausemenu was just opened\nselectedItemMenuId becomes a unique id for the pausemenu page that focus was taken from (?) or 0 if the pausemenu was just opened\nselectedItemUniqueId = -1\n\nwhen focus is moved from the header to a pausemenu page:\nlastItemMenuId becomes a unique id for the pausemenu page that focus was moved to (?)\nselectedItemMenuId = -1\nselectedItemUniqueId updates as normal", + "params": [ + { + "type": "int*", + "name": "lastItemMenuId" + }, + { + "type": "int*", + "name": "selectedItemMenuId" + }, + { + "type": "int*", + "name": "selectedItemUniqueId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_PAUSE_MENU_SELECTION_DATA" + ] + }, + "0xA238192F33110615": { + "name": "GET_PM_PLAYER_CREW_COLOR", + "jhash": "0x46794EB2", + "comment": "", + "params": [ + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEF4CED81CEBEDC6D": { + "name": "GET_MENU_PED_INT_STAT", + "jhash": "0x4370999E", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "SET_USERIDS_UIHIDDEN" + ] + }, + "0xCA6B2F7CE32AB653": { + "name": "GET_CHARACTER_MENU_PED_INT_STAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x90A6526CF0381030": { + "name": "GET_MENU_PED_MASKED_INT_STAT", + "jhash": "0xD6CC4766", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "int*", + "name": "outValue" + }, + { + "type": "int", + "name": "mask" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x24A49BEAF468DC90": { + "name": "GET_CHARACTER_MENU_PED_MASKED_INT_STAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "Any*", + "name": "outValue" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "mask" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5FBD7095FE7AE57F": { + "name": "GET_MENU_PED_FLOAT_STAT", + "jhash": "0x51972B04", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "float*", + "name": "outValue" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8F08017F9D7C47BD": { + "name": "GET_CHARACTER_MENU_PED_FLOAT_STAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "statHash" + }, + { + "type": "float*", + "name": "outValue" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x052991E59076E4E4": { + "name": "GET_MENU_PED_BOOL_STAT", + "jhash": "0xD43BB56D", + "comment": "p0 was always 0xAE2602A3.", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "BOOL*", + "name": "outValue" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5E62BE5DC58E9E06": { + "name": "CLEAR_PED_IN_PAUSE_MENU", + "jhash": "0x28058ACF", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAC0BFBDC3BE00E14": { + "name": "GIVE_PED_TO_PAUSE_MENU", + "jhash": "0x2AD2C9CE", + "comment": "p1 is either 1 or 2 in the PC scripts.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3CA6050692BC61B0": { + "name": "SET_PAUSE_MENU_PED_LIGHTING", + "jhash": "0x127310EB", + "comment": "Toggles the light state for the pause menu ped in frontend menus.\n\nThis is used by R* in combination with `SET_PAUSE_MENU_PED_SLEEP_STATE` to toggle the \"offline\" or \"online\" state in the \"friends\" tab of the pause menu in GTA Online.\n\n\nExample:\nLights On: https://vespura.com/hi/i/2019-04-01_16-09_540ee_1015.png\nLights Off: https://vespura.com/hi/i/2019-04-01_16-10_8b5e7_1016.png", + "params": [ + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0xECF128344E9FF9F1": { + "name": "SET_PAUSE_MENU_PED_SLEEP_STATE", + "jhash": "0x8F45D327", + "comment": "Toggles the pause menu ped sleep state for frontend menus.\n\nExample: https://vespura.com/hi/i/2019-04-01_15-51_8ed38_1014.gif\n\n`state` 0 will make the ped slowly fall asleep, 1 will slowly wake the ped up.", + "params": [ + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0x805D7CBB36FD6C4C": { + "name": "OPEN_ONLINE_POLICIES_MENU", + "jhash": "0x19FCBBB2", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHOW_SOCIAL_CLUB_LEGAL_SCREEN" + ] + }, + "0xF13FE2A80C05C561": { + "name": "ARE_ONLINE_POLICIES_UP_TO_DATE", + "jhash": "0x850690FF", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x6F72CD94F7B5B68C": { + "name": "IS_ONLINE_POLICIES_MENU_ACTIVE", + "jhash": "0x9D4934F4", + "comment": "Returns the same as IS_SOCIAL_CLUB_ACTIVE", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x75D3691713C3B05A": { + "name": "OPEN_SOCIAL_CLUB_MENU", + "jhash": "0x57218529", + "comment": "Uses the `SOCIAL_CLUB2` scaleform.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD2B32BE3FC1626C6": { + "name": "CLOSE_SOCIAL_CLUB_MENU", + "jhash": "0x5F86AA39", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9E778248D6685FE0": { + "name": "SET_SOCIAL_CLUB_TOUR", + "jhash": "0x7AD67C95", + "comment": "HUD::SET_SOCIAL_CLUB_TOUR(\"Gallery\");\nHUD::SET_SOCIAL_CLUB_TOUR(\"Missions\");\nHUD::SET_SOCIAL_CLUB_TOUR(\"General\");\nHUD::SET_SOCIAL_CLUB_TOUR(\"Playlists\");", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC406BE343FC4B9AF": { + "name": "IS_SOCIAL_CLUB_ACTIVE", + "jhash": "0xD4DA14EF", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x1185A8087587322C": { + "name": "SET_TEXT_INPUT_BOX_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8817605C2BA76200": { + "name": "FORCE_CLOSE_TEXT_INPUT_BOX", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_FORCE_CLOSE_TEXT_INPUT_BOX" + ] + }, + "0x577599CCED639CA2": { + "name": "SET_ALLOW_COMMA_ON_TEXT_INPUT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "505" + }, + "0x6A1738B4323FE2D9": { + "name": "OVERRIDE_MP_TEXT_CHAT_TEAM_STRING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "gxtEntryHash" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_OVERRIDE_MULTIPLAYER_CHAT_PREFIX" + ] + }, + "0xB118AF58B5F332A1": { + "name": "IS_MP_TEXT_CHAT_TYPING", + "jhash": "", + "comment": "Returns whether or not the text chat (MULTIPLAYER_CHAT Scaleform component) is active.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_TEXT_CHAT_ACTIVE", + "_IS_MULTIPLAYER_CHAT_ACTIVE" + ] + }, + "0x1AC8F4AD40E22127": { + "name": "CLOSE_MP_TEXT_CHAT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_ABORT_TEXT_CHAT", + "_CLOSE_MULTIPLAYER_CHAT" + ] + }, + "0x7C226D5346D4D10A": { + "name": "MP_TEXT_CHAT_IS_TEAM_JOB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "372" + }, + "0xF47E567B3630DD12": { + "name": "OVERRIDE_MP_TEXT_CHAT_COLOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "hudColor" + } + ], + "return_type": "void", + "build": "678", + "old_names": [ + "_OVERRIDE_MULTIPLAYER_CHAT_COLOUR" + ] + }, + "0x1DB21A44B09E8BA3": { + "name": "MP_TEXT_CHAT_DISABLE", + "jhash": "", + "comment": "Hides the chat history, closes the input box and makes it unable to be opened unless called again with FALSE.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TEXT_CHAT_UNK", + "_MULTIPLAYER_CHAT_SET_DISABLED" + ] + }, + "0xCEF214315D276FD1": { + "name": "FLAG_PLAYER_CONTEXT_IN_TOURNAMENT", + "jhash": "0xFF06772A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_IS_IN_TOURNAMENT" + ] + }, + "0xD30C50DF888D58B5": { + "name": "SET_PED_HAS_AI_BLIP", + "jhash": "0x96C4C4DD", + "comment": "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.\n\nSee gtaforums.com/topic/884370-native-research-ai-blips for further information.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "hasCone" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_ENEMY_AI_BLIP", + "_SET_PED_AI_BLIP" + ] + }, + "0xB13DCB4C6FAAD238": { + "name": "SET_PED_HAS_AI_BLIP_WITH_COLOUR", + "jhash": "", + "comment": "color: see SET_BLIP_COLOUR", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "hasCone" + }, + { + "type": "int", + "name": "color" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_PED_HAS_AI_BLIP_WITH_COLOR" + ] + }, + "0x15B8ECF844EE67ED": { + "name": "DOES_PED_HAVE_AI_BLIP", + "jhash": "0x3BE1257F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE52B8E7F85D39A08": { + "name": "SET_PED_AI_BLIP_GANG_ID", + "jhash": "0xD8E31B1A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "gangId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_AI_BLIP_TYPE" + ] + }, + "0x3EED80DFF7325CAA": { + "name": "SET_PED_AI_BLIP_HAS_CONE", + "jhash": "0x872C2CFB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "HIDE_SPECIAL_ABILITY_LOCKON_OPERATION" + ] + }, + "0x0C4BBF625CA98C4E": { + "name": "SET_PED_AI_BLIP_FORCED_ON", + "jhash": "0xFFDF46F0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_IS_AI_BLIP_ALWAYS_SHOWN" + ] + }, + "0x97C65887D4B37FA9": { + "name": "SET_PED_AI_BLIP_NOTICE_RANGE", + "jhash": "0xF9DC2AF7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "range" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_AI_BLIP_MAX_DISTANCE" + ] + }, + "0xFCFACD0DB9D7A57D": { + "name": "SET_PED_AI_BLIP_SPRITE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "spriteId" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_PED_AI_BLIP_SPRITE" + ] + }, + "0x7CD934010E115C2C": { + "name": "GET_AI_PED_PED_BLIP_INDEX", + "jhash": "0x06349065", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Blip", + "build": "323", + "old_names": [ + "_GET_AI_BLIP_2" + ] + }, + "0x56176892826A4FE8": { + "name": "GET_AI_PED_VEHICLE_BLIP_INDEX", + "jhash": "0xCA52CF43", + "comment": "Returns the current AI BLIP for the specified ped", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Blip", + "build": "323", + "old_names": [ + "_GET_AI_BLIP" + ] + }, + "0xA277800A9EAE340E": { + "name": "HAS_DIRECTOR_MODE_BEEN_LAUNCHED_BY_CODE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_DIRECTOR_MODE_BEEN_TRIGGERED" + ] + }, + "0x2632482FD6B9AB87": { + "name": "SET_DIRECTOR_MODE_LAUNCHED_BY_SCRIPT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_DIRECTOR_MODE_CLEAR_TRIGGERED_FLAG" + ] + }, + "0x808519373FD336A3": { + "name": "SET_PLAYER_IS_IN_DIRECTOR_MODE", + "jhash": "", + "comment": "If toggle is true, hides special ability bar / character name in the pause menu\nIf toggle is false, shows special ability bar / character name in the pause menu", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_DIRECTOR_MODE", + "_SET_PLAYER_IS_IN_DIRECTOR_MODE" + ] + }, + "0x04655F9D075D0AE5": { + "name": "SET_DIRECTOR_MODE_AVAILABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x243296A510B562B6": { + "name": "HIDE_HUDMARKERS_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "2060" + } + }, + "INTERIOR": { + "0xF49B58631D9E22D9": { + "name": "GET_INTERIOR_HEADING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "float", + "build": "1493", + "old_names": [ + "_GET_INTERIOR_HEADING" + ] + }, + "0x252BDC06B73FA6EA": { + "name": "GET_INTERIOR_LOCATION_AND_NAMEHASH", + "jhash": "0x75885CB3", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "Vector3*", + "name": "position" + }, + { + "type": "Hash*", + "name": "nameHash" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_GET_INTERIOR_INFO" + ] + }, + "0xE4A84ABF135EF91A": { + "name": "GET_INTERIOR_GROUP_ID", + "jhash": "0x09D6376F", + "comment": "Returns the group ID of the specified interior. For example, regular interiors have group 0, subway interiors have group 1. There are a few other groups too.", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9E3B3E6D66F6E22F": { + "name": "GET_OFFSET_FROM_INTERIOR_IN_WORLD_COORDS", + "jhash": "0x7D8F26A1", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xBC72B5D7A1CBD54D": { + "name": "IS_INTERIOR_SCENE", + "jhash": "0x55226C13", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x26B0E73D7EAAF4D3": { + "name": "IS_VALID_INTERIOR", + "jhash": "0x39C0B635", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB365FC0C4E27FFA7": { + "name": "CLEAR_ROOM_FOR_ENTITY", + "jhash": "0x7DDADB92", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x52923C4710DD9907": { + "name": "FORCE_ROOM_FOR_ENTITY", + "jhash": "0x10BD4435", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Interior", + "name": "interior" + }, + { + "type": "Hash", + "name": "roomHashKey" + } + ], + "return_type": "void", + "build": "323" + }, + "0x47C2A06D4F5F424B": { + "name": "GET_ROOM_KEY_FROM_ENTITY", + "jhash": "0xE4ACF8C3", + "comment": "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.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x399685DB942336BC": { + "name": "GET_KEY_FOR_ENTITY_IN_ROOM", + "jhash": "0x91EA80EF", + "comment": "Seems to do the exact same as INTERIOR::GET_ROOM_KEY_FROM_ENTITY", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x2107BA504071A6BB": { + "name": "GET_INTERIOR_FROM_ENTITY", + "jhash": "0x5C644614", + "comment": "Returns the handle of the interior that the entity is in. Returns 0 if outside.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Interior", + "build": "323" + }, + "0x82EBB79E258FA2B7": { + "name": "RETAIN_ENTITY_IN_INTERIOR", + "jhash": "0xE645E162", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "void", + "build": "323" + }, + "0x85D5422B2039A70D": { + "name": "CLEAR_INTERIOR_STATE_OF_ENTITY", + "jhash": "", + "comment": "Immediately removes entity from an interior. Like sets entity to `limbo` room.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_CLEAR_INTERIOR_FOR_ENTITY" + ] + }, + "0x38C1CB1CB119A016": { + "name": "FORCE_ACTIVATING_TRACKING_ON_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1493" + }, + "0x920D853F3E17F1DA": { + "name": "FORCE_ROOM_FOR_GAME_VIEWPORT", + "jhash": "0xD79803B5", + "comment": "", + "params": [ + { + "type": "int", + "name": "interiorID" + }, + { + "type": "Hash", + "name": "roomHashKey" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAF348AFCB575A441": { + "name": "SET_ROOM_FOR_GAME_VIEWPORT_BY_NAME", + "jhash": "0x1F6B4B13", + "comment": "Example of use (carmod_shop)\nINTERIOR::SET_ROOM_FOR_GAME_VIEWPORT_BY_NAME(\"V_CarModRoom\");", + "params": [ + { + "type": "const char*", + "name": "roomName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x405DC2AEF6AF95B9": { + "name": "SET_ROOM_FOR_GAME_VIEWPORT_BY_KEY", + "jhash": "0x0E9529CC", + "comment": "Usage: INTERIOR::SET_ROOM_FOR_GAME_VIEWPORT_BY_KEY(INTERIOR::GET_KEY_FOR_ENTITY_IN_ROOM(PLAYER::PLAYER_PED_ID()));", + "params": [ + { + "type": "Hash", + "name": "roomHashKey" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA6575914D2A0B450": { + "name": "GET_ROOM_KEY_FOR_GAME_VIEWPORT", + "jhash": "0x4FF3D3F5", + "comment": "", + "params": [], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_ROOM_KEY_FROM_GAMEPLAY_CAM" + ] + }, + "0x23B59D8912F94246": { + "name": "CLEAR_ROOM_FOR_GAME_VIEWPORT", + "jhash": "0x617DC75D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE7D267EC6CA966C3": { + "name": "GET_INTERIOR_FROM_PRIMARY_VIEW", + "jhash": "0xA83C3D15", + "comment": "Returns the current interior id from gameplay camera", + "params": [], + "return_type": "Interior", + "build": "1604", + "old_names": [ + "_GET_INTERIOR_FROM_GAMEPLAY_CAM" + ] + }, + "0xB0F7F8663821D9C3": { + "name": "GET_INTERIOR_AT_COORDS", + "jhash": "0xA17FBF37", + "comment": "Returns interior ID from specified coordinates. If coordinates are outside, then it returns 0.\n\nExample for VB.NET\nDim interiorID As Integer = Native.Function.Call(Of Integer)(Hash.GET_INTERIOR_AT_COORDS, X, Y, Z)", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "Interior", + "build": "323" + }, + "0x3F6167F351168730": { + "name": "ADD_PICKUP_TO_INTERIOR_ROOM_BY_NAME", + "jhash": "0xA2A73564", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "const char*", + "name": "roomName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2CA429C029CCF247": { + "name": "PIN_INTERIOR_IN_MEMORY", + "jhash": "0x3ADA414E", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_LOAD_INTERIOR" + ] + }, + "0x261CCE7EED010641": { + "name": "UNPIN_INTERIOR", + "jhash": "0xFCFF792A", + "comment": "Does something similar to INTERIOR::DISABLE_INTERIOR.\n\nYou don't fall through the floor but everything is invisible inside and looks the same as when INTERIOR::DISABLE_INTERIOR is used. Peds behaves normally inside. ", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6726BDCCC1932F0E": { + "name": "IS_INTERIOR_READY", + "jhash": "0xE1EF6450", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4C2330E61D3DEB56": { + "name": "SET_INTERIOR_IN_USE", + "jhash": "", + "comment": "Only used once in the entire game scripts.\nDoes not actually return anything.", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x05B7A89BD78797FC": { + "name": "GET_INTERIOR_AT_COORDS_WITH_TYPE", + "jhash": "0x96525B06", + "comment": "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.\n\nUse: INTERIOR::UNPIN_INTERIOR(INTERIOR::GET_INTERIOR_AT_COORDS_WITH_TYPE(x, y, z, interior))\n\nInterior types include: \"V_Michael\", \"V_Franklins\", \"V_Franklinshouse\", etc.. you can find them in the scripts.\n\nNot a very useful native as you could just use GET_INTERIOR_AT_COORDS instead and get the same result, without even having to specify the interior type.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "const char*", + "name": "interiorType" + } + ], + "return_type": "Interior", + "build": "323" + }, + "0xF0F77ADB9F67E79D": { + "name": "GET_INTERIOR_AT_COORDS_WITH_TYPEHASH", + "jhash": "0x11718507", + "comment": "Hashed version of GET_INTERIOR_AT_COORDS_WITH_TYPE", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Hash", + "name": "typeHash" + } + ], + "return_type": "Interior", + "build": "323", + "old_names": [ + "_UNK_GET_INTERIOR_AT_COORDS" + ] + }, + "0x483ACA1176CA93F1": { + "name": "ACTIVATE_INTERIOR_GROUPS_USING_CAMERA", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1103" + }, + "0xEEA5AC2EDA7C33E8": { + "name": "IS_COLLISION_MARKED_OUTSIDE", + "jhash": "0x7762249C", + "comment": "Returns true if the collision at the specified coords is marked as being outside (false if there's an interior)", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_ARE_COORDS_COLLIDING_WITH_EXTERIOR" + ] + }, + "0xEC4CF9FCB29A4424": { + "name": "GET_INTERIOR_FROM_COLLISION", + "jhash": "0x7ED33DC1", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "Interior", + "build": "323" + }, + "0x7ECDF98587E92DEC": { + "name": "ENABLE_STADIUM_PROBES_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x55E86AF2712B36A1": { + "name": "ACTIVATE_INTERIOR_ENTITY_SET", + "jhash": "0xC80A5DDF", + "comment": "More info: http://gtaforums.com/topic/836367-adding-props-to-interiors/\n\nFull list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "const char*", + "name": "entitySetName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ENABLE_INTERIOR_PROP" + ] + }, + "0x420BD37289EEE162": { + "name": "DEACTIVATE_INTERIOR_ENTITY_SET", + "jhash": "0xDBA768A1", + "comment": "Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "const char*", + "name": "entitySetName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_INTERIOR_PROP" + ] + }, + "0x35F7DD45E8C0A16D": { + "name": "IS_INTERIOR_ENTITY_SET_ACTIVE", + "jhash": "0x39A3CC6F", + "comment": "Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "const char*", + "name": "entitySetName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_INTERIOR_PROP_ENABLED" + ] + }, + "0xC1F1920BAF281317": { + "name": "SET_INTERIOR_ENTITY_SET_TINT_INDEX", + "jhash": "", + "comment": "Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "const char*", + "name": "entitySetName" + }, + { + "type": "int", + "name": "color" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_INTERIOR_PROP_COLOR", + "_SET_INTERIOR_ENTITY_SET_COLOR" + ] + }, + "0x41F37C3427C75AE0": { + "name": "REFRESH_INTERIOR", + "jhash": "0x9A29ACE6", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA97F257D0151A6AB": { + "name": "ENABLE_EXTERIOR_CULL_MODEL_THIS_FRAME", + "jhash": "0x1F375B4C", + "comment": "This is the native that is used to hide the exterior of GTA Online apartment buildings when you are inside an apartment.\n\nMore info: http://gtaforums.com/topic/836301-hiding-gta-online-apartment-exteriors/", + "params": [ + { + "type": "Hash", + "name": "mapObjectHash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_HIDE_MAP_OBJECT_THIS_FRAME" + ] + }, + "0x50C375537449F369": { + "name": "ENABLE_SHADOW_CULL_MODEL_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "mapObjectHash" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_ENABLE_SCRIPT_CULL_MODEL_THIS_FRAME" + ] + }, + "0x6170941419D7D8EC": { + "name": "DISABLE_INTERIOR", + "jhash": "0x093ADEA5", + "comment": "Example: \nThis removes the interior from the strip club and when trying to walk inside the player just falls:\n\nINTERIOR::DISABLE_INTERIOR(118018, true);", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBC5115A5A939DD15": { + "name": "IS_INTERIOR_DISABLED", + "jhash": "0x81F34C71", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD9175F941610DB54": { + "name": "CAP_INTERIOR", + "jhash": "0x34E735A6", + "comment": "Does something similar to INTERIOR::DISABLE_INTERIOR", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x92BAC8ACF88CEC26": { + "name": "IS_INTERIOR_CAPPED", + "jhash": "0x18B17C80", + "comment": "", + "params": [ + { + "type": "Interior", + "name": "interior" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9E6542F0CE8E70A3": { + "name": "DISABLE_METRO_SYSTEM", + "jhash": "0x5EF9C5C2", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7241CCB7D020DB69": { + "name": "SET_IS_EXTERIOR_ONLY", + "jhash": "", + "comment": "Jenkins hash _might_ be 0xFC227584.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "791" + } + }, + "ITEMSET": { + "0x35AD299F50D91B24": { + "name": "CREATE_ITEMSET", + "jhash": "0x0A113B2C", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "ScrHandle", + "build": "323" + }, + "0xDE18220B1C183EDA": { + "name": "DESTROY_ITEMSET", + "jhash": "0x83CE1A4C", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "itemset" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB1B1EA596344DFAB": { + "name": "IS_ITEMSET_VALID", + "jhash": "0xD201FC29", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "itemset" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE3945201F14637DD": { + "name": "ADD_TO_ITEMSET", + "jhash": "0x6B0FE61B", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "item" + }, + { + "type": "ScrHandle", + "name": "itemset" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x25E68244B0177686": { + "name": "REMOVE_FROM_ITEMSET", + "jhash": "0xA9565228", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "item" + }, + { + "type": "ScrHandle", + "name": "itemset" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD9127E83ABF7C631": { + "name": "GET_ITEMSET_SIZE", + "jhash": "0x2B31F41A", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "itemset" + } + ], + "return_type": "int", + "build": "323" + }, + "0x7A197E2521EE2BAB": { + "name": "GET_INDEXED_ITEM_IN_ITEMSET", + "jhash": "0x3F712874", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "ScrHandle", + "name": "itemset" + } + ], + "return_type": "ScrHandle", + "build": "323" + }, + "0x2D0FC594D1E9C107": { + "name": "IS_IN_ITEMSET", + "jhash": "0x0D4B9730", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "item" + }, + { + "type": "ScrHandle", + "name": "itemset" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x41BC0D722FC04221": { + "name": "CLEAN_ITEMSET", + "jhash": "0x919A4858", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "itemset" + } + ], + "return_type": "void", + "build": "323" + } + }, + "LOADINGSCREEN": { + "0xF2CA003F167E21D2": { + "name": "LOBBY_AUTO_MULTIPLAYER_MENU", + "jhash": "0x106C8317", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_RETURN_ZERO" + ] + }, + "0xEF7D17BC6C85264C": { + "name": "LOBBY_AUTO_MULTIPLAYER_FREEMODE", + "jhash": "0xD87F3A9E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_LOADINGSCREEN_GET_LOAD_FREEMODE" + ] + }, + "0xB0C56BD3D808D863": { + "name": "LOBBY_SET_AUTO_MULTIPLAYER", + "jhash": "0xC0B971EA", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_BROADCAST_FINSHED_LOS_SOUND", + "_LOADINGSCREEN_SET_LOAD_FREEMODE" + ] + }, + "0x8AA464D4E0F6ACCD": { + "name": "LOBBY_AUTO_MULTIPLAYER_EVENT", + "jhash": "0x94BCAC7C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_LOADINGSCREEN_GET_LOAD_FREEMODE_WITH_EVENT_NAME" + ] + }, + "0xFC309E94546FCDB5": { + "name": "LOBBY_SET_AUTO_MULTIPLAYER_EVENT", + "jhash": "0x7D90EEE5", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_IS_IN_LOADING_SCREEN", + "_LOADINGSCREEN_SET_LOAD_FREEMODE_WITH_EVENT_NAME" + ] + }, + "0xC6DC823253FBB366": { + "name": "LOBBY_AUTO_MULTIPLAYER_RANDOM_JOB", + "jhash": "0x734CFEDA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_UI_LOADING_MULTIPLAYER", + "_LOADINGSCREEN_IS_LOADING_FREEMODE" + ] + }, + "0xC7E7181C09F33B69": { + "name": "LOBBY_SET_AUTO_MP_RANDOM_JOB", + "jhash": "0x8C227332", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_LOADINGSCREEN_SET_IS_LOADING_FREEMODE" + ] + }, + "0xFA1E0E893D915215": { + "name": "SHUTDOWN_SESSION_CLEARS_AUTO_MULTIPLAYER", + "jhash": "0x5C350D78", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + } + }, + "LOCALIZATION": { + "0x497420E022796B3F": { + "name": "LOCALIZATION_GET_SYSTEM_LANGUAGE", + "jhash": "", + "comment": "Same return values as GET_CURRENT_LANGUAGE", + "params": [], + "return_type": "int", + "build": "877", + "old_names": [ + "_LOCALIZATION_GET_SYSTEM_LANGUAGE" + ] + }, + "0x2BDD44CC428A7EAE": { + "name": "GET_CURRENT_LANGUAGE", + "jhash": "0x761BE00B", + "comment": "0 = american (en-US)\n1 = french (fr-FR)\n2 = german (de-DE)\n3 = italian (it-IT)\n4 = spanish (es-ES)\n5 = brazilian (pt-BR)\n6 = polish (pl-PL)\n7 = russian (ru-RU)\n8 = korean (ko-KR)\n9 = chinesetrad (zh-TW)\n10 = japanese (ja-JP)\n11 = mexican (es-MX)\n12 = chinesesimp (zh-CN)", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_UI_LANGUAGE_ID", + "_GET_CURRENT_LANGUAGE_ID" + ] + }, + "0xA8AE43AEC1A61314": { + "name": "LOCALIZATION_GET_SYSTEM_DATE_TYPE", + "jhash": "", + "comment": "Possible return values: 0, 1, 2", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_USER_LANGUAGE_ID", + "_LOCALIZATION_GET_SYSTEM_DATE_FORMAT" + ] + } + }, + "MISC": { + "0x8B3CA62B1EF19B62": { + "name": "GET_ALLOCATED_STACK_SIZE", + "jhash": "0x4E9CA30A", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xFEAD16FC8F9DFC0F": { + "name": "GET_NUMBER_OF_FREE_STACKS_OF_THIS_SIZE", + "jhash": "0x11A178B8", + "comment": "", + "params": [ + { + "type": "int", + "name": "stackSize" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_FREE_STACK_SLOTS_COUNT" + ] + }, + "0x444D98F98C11F3EC": { + "name": "SET_RANDOM_SEED", + "jhash": "0xDB3FEB5C", + "comment": "", + "params": [ + { + "type": "int", + "name": "seed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1D408577D440E81E": { + "name": "SET_TIME_SCALE", + "jhash": "0xA7F84694", + "comment": "Maximum value is 1.\nAt a value of 0 the game will still run at a minimum time scale.\n\nSlow Motion 1: 0.6\nSlow Motion 2: 0.4\nSlow Motion 3: 0.2", + "params": [ + { + "type": "float", + "name": "timeScale" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC4301E5121A0ED73": { + "name": "SET_MISSION_FLAG", + "jhash": "0x57592D52", + "comment": "If true, the player can't save the game. \n\n\nIf the parameter is true, sets the mission flag to true, if the parameter is false, the function does nothing at all.\n\n^ also, if the mission flag is already set, the function does nothing at all", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA33CDCCDA663159E": { + "name": "GET_MISSION_FLAG", + "jhash": "0x95115F97", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x971927086CFD2158": { + "name": "SET_RANDOM_EVENT_FLAG", + "jhash": "0xA77F31E8", + "comment": "If the parameter is true, sets the random event flag to true, if the parameter is false, the function does nothing at all.\nDoes nothing if the mission flag is set.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD2D57F1D764117B1": { + "name": "GET_RANDOM_EVENT_FLAG", + "jhash": "0x794CC92C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x24DA7D7667FD7B09": { + "name": "GET_CONTENT_TO_LOAD", + "jhash": "", + "comment": "Returns pointer to an empty string.", + "params": [], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_GLOBAL_CHAR_BUFFER" + ] + }, + "0x4DCDF92BF64236CD": { + "name": "ACTIVITY_FEED_CREATE", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x31125FD509D9043F": { + "name": "ACTIVITY_FEED_ADD_SUBSTRING_TO_CAPTION", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEBD3205A207939ED": { + "name": "ACTIVITY_FEED_ADD_LITERAL_SUBSTRING_TO_CAPTION", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x97E7E2C04245115B": { + "name": "ACTIVITY_FEED_ADD_INT_TO_CAPTION", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x916CA67D26FD1E37": { + "name": "ACTIVITY_FEED_LARGE_IMAGE_URL", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "2060" + }, + "0xEB078CA2B5E82ADD": { + "name": "ACTIVITY_FEED_ACTION_START_WITH_COMMAND_LINE", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x703CC7F60CBB2B57": { + "name": "ACTIVITY_FEED_ACTION_START_WITH_COMMAND_LINE_ADD", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8951EB9C6906D3C8": { + "name": "ACTIVITY_FEED_POST", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBA4B8D83BDC75551": { + "name": "ACTIVITY_FEED_ONLINE_PLAYED_WITH_POST", + "jhash": "", + "comment": "Does nothing (it's a nullsub). Seems to be PS4 specific.\n\nUsed only once in the scripts (ingamehud) with p0 = \"AF_GAMEMODE\"", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE8B9C0EC9E183F35": { + "name": "HAS_RESUMED_FROM_SUSPEND", + "jhash": "", + "comment": "Hardcoded to return false.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_RESUMED_FROM_SUSPEND" + ] + }, + "0x65D2EBB47E1CEC21": { + "name": "SET_SCRIPT_HIGH_PRIO", + "jhash": "", + "comment": "Sets GtaThread+0x14A", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6F2135B6129620C1": { + "name": "SET_THIS_IS_A_TRIGGER_SCRIPT", + "jhash": "0x8B2DE971", + "comment": "Sets bit 3 in GtaThread+0x150", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8D74E26F54B4E5C3": { + "name": "INFORM_CODE_OF_CONTENT_ID_OF_CURRENT_UGC_MISSION", + "jhash": "0xE77199F7", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB335F761606DB47C": { + "name": "GET_BASE_ELEMENT_LOCATION_FROM_METADATA_BLOCK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_BASE_ELEMENT_METADATA" + ] + }, + "0x564B884A05EC45A3": { + "name": "GET_PREV_WEATHER_TYPE_HASH_NAME", + "jhash": "0xA8171E9E", + "comment": "Returns current weather name hash", + "params": [], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_PREV_WEATHER_TYPE" + ] + }, + "0x711327CD09C8F162": { + "name": "GET_NEXT_WEATHER_TYPE_HASH_NAME", + "jhash": "0x353E8056", + "comment": "Returns weather name hash", + "params": [], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_NEXT_WEATHER_TYPE" + ] + }, + "0x44F28F86433B10A9": { + "name": "IS_PREV_WEATHER_TYPE", + "jhash": "0x250ADA61", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "weatherType" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2FAA3A30BEC0F25D": { + "name": "IS_NEXT_WEATHER_TYPE", + "jhash": "0x99CB167F", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "weatherType" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x704983DF373B198F": { + "name": "SET_WEATHER_TYPE_PERSIST", + "jhash": "0xC6C04C75", + "comment": "The following weatherTypes are used in the scripts:\n\"CLEAR\"\n\"EXTRASUNNY\"\n\"CLOUDS\"\n\"OVERCAST\"\n\"RAIN\"\n\"CLEARING\"\n\"THUNDER\"\n\"SMOG\"\n\"FOGGY\"\n\"XMAS\"\n\"SNOW\"\n\"SNOWLIGHT\"\n\"BLIZZARD\"\n\"HALLOWEEN\"\n\"NEUTRAL\"", + "params": [ + { + "type": "const char*", + "name": "weatherType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xED712CA327900C8A": { + "name": "SET_WEATHER_TYPE_NOW_PERSIST", + "jhash": "0xC869FE97", + "comment": "The following weatherTypes are used in the scripts:\n\"CLEAR\"\n\"EXTRASUNNY\"\n\"CLOUDS\"\n\"OVERCAST\"\n\"RAIN\"\n\"CLEARING\"\n\"THUNDER\"\n\"SMOG\"\n\"FOGGY\"\n\"XMAS\"\n\"SNOW\"\n\"SNOWLIGHT\"\n\"BLIZZARD\"\n\"HALLOWEEN\"\n\"NEUTRAL\"", + "params": [ + { + "type": "const char*", + "name": "weatherType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x29B487C359E19889": { + "name": "SET_WEATHER_TYPE_NOW", + "jhash": "0x361E9EAC", + "comment": "The following weatherTypes are used in the scripts:\n\"CLEAR\"\n\"EXTRASUNNY\"\n\"CLOUDS\"\n\"OVERCAST\"\n\"RAIN\"\n\"CLEARING\"\n\"THUNDER\"\n\"SMOG\"\n\"FOGGY\"\n\"XMAS\"\n\"SNOW\"\n\"SNOWLIGHT\"\n\"BLIZZARD\"\n\"HALLOWEEN\"\n\"NEUTRAL\"", + "params": [ + { + "type": "const char*", + "name": "weatherType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFB5045B7C42B75BF": { + "name": "SET_WEATHER_TYPE_OVERTIME_PERSIST", + "jhash": "0x386F0D25", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "weatherType" + }, + { + "type": "float", + "name": "time" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_WEATHER_TYPE_OVER_TIME" + ] + }, + "0x8B05F884CF7E8020": { + "name": "SET_RANDOM_WEATHER_TYPE", + "jhash": "0xE7AA1BC9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCCC39339BEF76CF5": { + "name": "CLEAR_WEATHER_TYPE_PERSIST", + "jhash": "0x6AB757D8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x0CF97F497FE7D048": { + "name": "CLEAR_WEATHER_TYPE_NOW_PERSIST_NETWORK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "milliseconds" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_CLEAR_WEATHER_TYPE_OVERTIME_PERSIST" + ] + }, + "0xF3BBE884A14BB413": { + "name": "GET_CURR_WEATHER_STATE", + "jhash": "0x9A5C1D56", + "comment": "", + "params": [ + { + "type": "Hash*", + "name": "weatherType1" + }, + { + "type": "Hash*", + "name": "weatherType2" + }, + { + "type": "float*", + "name": "percentWeather2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_WEATHER_TYPE_TRANSITION" + ] + }, + "0x578C752848ECFA0C": { + "name": "SET_CURR_WEATHER_STATE", + "jhash": "0x5CA74040", + "comment": "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:\n\nexecute \"NativeFunction.Natives.x578C752848ECFA0C(Game.GetHashKey(\"\"RAIN\"\"), Game.GetHashKey(\"\"SMOG\"\"), 0.50f);\n\nNote that unlike most of the other weather natives, this native takes the hash of the weather name, not the plain string. These are the weather names and their hashes:\n\nCLEAR 0x36A83D84\nEXTRASUNNY 0x97AA0A79\nCLOUDS 0x30FDAF5C\nOVERCAST 0xBB898D2D\nRAIN 0x54A69840\nCLEARING 0x6DB1A50D\nTHUNDER 0xB677829F\nSMOG 0x10DCF4B5\nFOGGY 0xAE737644\nXMAS 0xAAC9C895\nSNOWLIGHT 0x23FB812B\nBLIZZARD 0x27EA2814\n\n\n\n\n\n/* OLD INVALID INFO BELOW */\nNot tested. Based purely on disassembly. Instantly sets the weather to sourceWeather, then transitions to targetWeather over the specified transitionTime in seconds.\n\nIf an invalid hash is specified for sourceWeather, the current weather type will be used.\nIf an invalid hash is specified for targetWeather, the next weather type will be used.\nIf an invalid hash is specified for both sourceWeather and targetWeather, the function just changes the transition time of the current transition.", + "params": [ + { + "type": "Hash", + "name": "weatherType1" + }, + { + "type": "Hash", + "name": "weatherType2" + }, + { + "type": "float", + "name": "percentWeather2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_WEATHER_TYPE_TRANSITION" + ] + }, + "0xA43D5C6FE51ADBEF": { + "name": "SET_OVERRIDE_WEATHER", + "jhash": "0xD9082BB5", + "comment": "Appears to have an optional bool parameter that is unused in the scripts.\n\nIf you pass true, something will be set to zero.", + "params": [ + { + "type": "const char*", + "name": "weatherType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1178E104409FE58C": { + "name": "SET_OVERRIDE_WEATHEREX", + "jhash": "", + "comment": "Identical to SET_OVERRIDE_WEATHER but has an additional BOOL param that sets some weather var to 0 if true", + "params": [ + { + "type": "const char*", + "name": "weatherType" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "2189" + }, + "0x338D2E3477711050": { + "name": "CLEAR_OVERRIDE_WEATHER", + "jhash": "0x7740EA4E", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xB8F87EAD7533B176": { + "name": "WATER_OVERRIDE_SET_SHOREWAVEAMPLITUDE", + "jhash": "0x625181DC", + "comment": "", + "params": [ + { + "type": "float", + "name": "amplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC3EAD29AB273ECE8": { + "name": "WATER_OVERRIDE_SET_SHOREWAVEMINAMPLITUDE", + "jhash": "0xBEBBFDC8", + "comment": "", + "params": [ + { + "type": "float", + "name": "minAmplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA7A1127490312C36": { + "name": "WATER_OVERRIDE_SET_SHOREWAVEMAXAMPLITUDE", + "jhash": "0x6926AB03", + "comment": "", + "params": [ + { + "type": "float", + "name": "maxAmplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0x31727907B2C43C55": { + "name": "WATER_OVERRIDE_SET_OCEANNOISEMINAMPLITUDE", + "jhash": "0xD447439D", + "comment": "", + "params": [ + { + "type": "float", + "name": "minAmplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0x405591EC8FD9096D": { + "name": "WATER_OVERRIDE_SET_OCEANWAVEAMPLITUDE", + "jhash": "0x584E9C59", + "comment": "", + "params": [ + { + "type": "float", + "name": "amplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF751B16FB32ABC1D": { + "name": "WATER_OVERRIDE_SET_OCEANWAVEMINAMPLITUDE", + "jhash": "0x5656D578", + "comment": "", + "params": [ + { + "type": "float", + "name": "minAmplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB3E6360DDE733E82": { + "name": "WATER_OVERRIDE_SET_OCEANWAVEMAXAMPLITUDE", + "jhash": "0x0DE40C28", + "comment": "", + "params": [ + { + "type": "float", + "name": "maxAmplitude" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7C9C0B1EEB1F9072": { + "name": "WATER_OVERRIDE_SET_RIPPLEBUMPINESS", + "jhash": "0x98C9138B", + "comment": "", + "params": [ + { + "type": "float", + "name": "bumpiness" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6216B116083A7CB4": { + "name": "WATER_OVERRIDE_SET_RIPPLEMINBUMPINESS", + "jhash": "0xFB1A9CDE", + "comment": "", + "params": [ + { + "type": "float", + "name": "minBumpiness" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9F5E6BB6B34540DA": { + "name": "WATER_OVERRIDE_SET_RIPPLEMAXBUMPINESS", + "jhash": "0x1C0CAE89", + "comment": "", + "params": [ + { + "type": "float", + "name": "maxBumpiness" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB9854DFDE0D833D6": { + "name": "WATER_OVERRIDE_SET_RIPPLEDISTURB", + "jhash": "0x4671AC2E", + "comment": "", + "params": [ + { + "type": "float", + "name": "disturb" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC54A08C85AE4D410": { + "name": "WATER_OVERRIDE_SET_STRENGTH", + "jhash": "0xDA02F415", + "comment": "This seems to edit the water wave, intensity around your current location.\n\n0.0f = Normal\n1.0f = So Calm and Smooth, a boat will stay still.\n3.0f = Really Intense.", + "params": [ + { + "type": "float", + "name": "strength" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA8434F1DFF41D6E7": { + "name": "WATER_OVERRIDE_FADE_IN", + "jhash": "0x5F3DDEC0", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC3C221ADDDE31A11": { + "name": "WATER_OVERRIDE_FADE_OUT", + "jhash": "0x63A89684", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAC3A74E8384A9919": { + "name": "SET_WIND", + "jhash": "0xC6294698", + "comment": "Sets the the normalized wind speed value. The wind speed clamps always at 12.0, SET_WIND 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.", + "params": [ + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEE09ECEDBABE47FC": { + "name": "SET_WIND_SPEED", + "jhash": "0x45705F94", + "comment": "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.", + "params": [ + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA8CF1CC0AFCD3F12": { + "name": "GET_WIND_SPEED", + "jhash": "0x098F0F3C", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xEB0F4468467B4528": { + "name": "SET_WIND_DIRECTION", + "jhash": "0x381AEEE9", + "comment": "The wind direction in radians\n180 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.", + "params": [ + { + "type": "float", + "name": "direction" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1F400FEF721170DA": { + "name": "GET_WIND_DIRECTION", + "jhash": "0x89499A0D", + "comment": "", + "params": [], + "return_type": "Vector3", + "build": "323" + }, + "0x643E26EA6E024D92": { + "name": "SET_RAIN", + "jhash": "", + "comment": "With an `intensity` higher than `0.5f`, only the creation of puddles gets faster, rain and rain sound won't increase after that.\nWith an `intensity` of `0.0f` rain and rain sounds are disabled and there won't be any new puddles.\nTo use the rain intensity of the current weather, call this native with `-1f` as `intensity`.", + "params": [ + { + "type": "float", + "name": "intensity" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_RAIN_FX_INTENSITY", + "_SET_RAIN_LEVEL" + ] + }, + "0x96695E368AD855F3": { + "name": "GET_RAIN_LEVEL", + "jhash": "0xC9F67F28", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0x7F06937B0CDCBC1A": { + "name": "SET_SNOW", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "level" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_SET_SNOW_LEVEL" + ] + }, + "0xC5868A966E5BE3AE": { + "name": "GET_SNOW_LEVEL", + "jhash": "0x1B09184F", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xF6062E089251C898": { + "name": "FORCE_LIGHTNING_FLASH", + "jhash": "0xDF38165E", + "comment": "creates single lightning+thunder at random position", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CREATE_LIGHTNING_THUNDER" + ] + }, + "0x02DEAAC8F8EA7FE7": { + "name": "SET_CLOUD_SETTINGS_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x11B56FBBF7224868": { + "name": "PRELOAD_CLOUD_HAT", + "jhash": "0x8727A4C5", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFC4842A34657BFCB": { + "name": "LOAD_CLOUD_HAT", + "jhash": "0xED88FC61", + "comment": "The following cloudhats are useable:\naltostratus\nCirrus\ncirrocumulus\nClear 01\nCloudy 01\nContrails\nHorizon\nhorizonband1\nhorizonband2\nhorizonband3\nhorsey\nNimbus\nPuffs\nRAIN\nSnowy 01\nStormy 01\nstratoscumulus\nStripey\nshower\nWispy\n", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "float", + "name": "transitionTime" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CLOUD_HAT_TRANSITION" + ] + }, + "0xA74802FB8D0B7814": { + "name": "UNLOAD_CLOUD_HAT", + "jhash": "0xC9FA6E07", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x957E790EA1727B64": { + "name": "UNLOAD_ALL_CLOUD_HATS", + "jhash": "0x2D7787BC", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_CLOUD_HAT" + ] + }, + "0xF36199225D6D8C86": { + "name": "SET_CLOUDS_ALPHA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "opacity" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CLOUD_HAT_OPACITY" + ] + }, + "0x20AC25E781AE4A84": { + "name": "GET_CLOUDS_ALPHA", + "jhash": "", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_CLOUD_HAT_OPACITY" + ] + }, + "0x9CD27B0045628463": { + "name": "GET_GAME_TIMER", + "jhash": "0xA4EA0691", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x15C40837039FFAF7": { + "name": "GET_FRAME_TIME", + "jhash": "0x96374262", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xE599A503B3837E1B": { + "name": "GET_SYSTEM_TIME_STEP", + "jhash": "", + "comment": "", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_BENCHMARK_TIME" + ] + }, + "0xFC8202EFC642E6F2": { + "name": "GET_FRAME_COUNT", + "jhash": "0xB477A015", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x313CE5879CEB6FCD": { + "name": "GET_RANDOM_FLOAT_IN_RANGE", + "jhash": "0x0562C4D0", + "comment": "", + "params": [ + { + "type": "float", + "name": "startRange" + }, + { + "type": "float", + "name": "endRange" + } + ], + "return_type": "float", + "build": "323" + }, + "0xD53343AA4FB7DD28": { + "name": "GET_RANDOM_INT_IN_RANGE", + "jhash": "0x4051115B", + "comment": "", + "params": [ + { + "type": "int", + "name": "startRange" + }, + { + "type": "int", + "name": "endRange" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF2D49816A804D134": { + "name": "GET_RANDOM_MWC_INT_IN_RANGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "startRange" + }, + { + "type": "int", + "name": "endRange" + } + ], + "return_type": "int", + "build": "1734", + "old_names": [ + "_GET_RANDOM_INT_IN_RANGE_2" + ] + }, + "0xC906A7DAB05C8D2B": { + "name": "GET_GROUND_Z_FOR_3D_COORD", + "jhash": "0xA1BFD5E0", + "comment": "Gets the ground elevation at the specified position. Note that if the specified position is below ground level, the function will output zero!\n\nx: Position on the X-axis to get ground elevation at.\ny: Position on the Y-axis to get ground elevation at.\nz: Position on the Z-axis to get ground elevation at.\ngroundZ: The ground elevation at the specified position.\nignoreWater: Nearly always 0, very rarely 1 in the scripts: https://gfycat.com/NiftyTatteredCricket\n\nBear in mind this native can only calculate the elevation when the coordinates are within the client's render distance.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float*", + "name": "groundZ" + }, + { + "type": "BOOL", + "name": "ignoreWater" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8BDC7BFC57A81E76": { + "name": "GET_GROUND_Z_AND_NORMAL_FOR_3D_COORD", + "jhash": "0x64D91CED", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float*", + "name": "groundZ" + }, + { + "type": "Vector3*", + "name": "normal" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_GROUND_Z_COORD_WITH_OFFSETS" + ] + }, + "0x9E82F0F362881B29": { + "name": "GET_GROUND_Z_EXCLUDING_OBJECTS_FOR_3D_COORD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float*", + "name": "groundZ" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_GET_GROUND_Z_FOR_3D_COORD_2" + ] + }, + "0xC843060B5765DCE7": { + "name": "ASIN", + "jhash": "0x998E5CAD", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "float", + "build": "323" + }, + "0x1D08B970013C34B6": { + "name": "ACOS", + "jhash": "0xF4038776", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "float", + "build": "323" + }, + "0x632106CC96E82E91": { + "name": "TAN", + "jhash": "0xD320CE5E", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "float", + "build": "323" + }, + "0xA9D1795CD5043663": { + "name": "ATAN", + "jhash": "0x7A03CC8E", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "float", + "build": "323" + }, + "0x8927CBF9D22261A4": { + "name": "ATAN2", + "jhash": "0x2508AC81", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "float", + "build": "323" + }, + "0xF1B760881820C952": { + "name": "GET_DISTANCE_BETWEEN_COORDS", + "jhash": "0xF698765E", + "comment": "Returns the distance between two three-dimensional points, optionally ignoring the Z values.\nIf useZ is false, only the 2D plane (X-Y) will be considered for calculating the distance.\n\nConsider using this faster native instead: SYSTEM::VDIST - DVIST always takes in consideration the 3D coordinates.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "useZ" + } + ], + "return_type": "float", + "build": "323" + }, + "0x186FC4BE848E1C92": { + "name": "GET_ANGLE_BETWEEN_2D_VECTORS", + "jhash": "0xDBF75E58", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + } + ], + "return_type": "float", + "build": "323" + }, + "0x2FFB6B224F4B2926": { + "name": "GET_HEADING_FROM_VECTOR_2D", + "jhash": "0xD209D52B", + "comment": "dx = x1 - x2\ndy = y1 - y2", + "params": [ + { + "type": "float", + "name": "dx" + }, + { + "type": "float", + "name": "dy" + } + ], + "return_type": "float", + "build": "323" + }, + "0x7F8F6405F4777AF6": { + "name": "GET_RATIO_OF_CLOSEST_POINT_ON_LINE", + "jhash": "0x89459F0A", + "comment": "returns a float between 0.0 and 1.0, clamp: sets whether the product should be clamped between the given coordinates", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z3" + }, + { + "type": "BOOL", + "name": "clamp" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_PROGRESS_ALONG_LINE_BETWEEN_COORDS" + ] + }, + "0x21C235BC64831E5A": { + "name": "GET_CLOSEST_POINT_ON_LINE", + "jhash": "0xCAECF37E", + "comment": "clamp: sets whether the product should be clamped between the given coordinates", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z3" + }, + { + "type": "BOOL", + "name": "clamp" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xF56DFB7B61BE7276": { + "name": "GET_LINE_PLANE_INTERSECTION", + "jhash": "0xC6CC812C", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "p10" + }, + { + "type": "float", + "name": "p11" + }, + { + "type": "float*", + "name": "p12" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA0AD167E4B39D9A2": { + "name": "GET_POINT_AREA_OVERLAP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + }, + { + "type": "Any", + "name": "p11" + }, + { + "type": "Any", + "name": "p12" + }, + { + "type": "Any", + "name": "p13" + } + ], + "return_type": "BOOL", + "build": "2189" + }, + "0x933D6A9EEC1BACD0": { + "name": "SET_BIT", + "jhash": "0x4EFE7E6B", + "comment": "This sets bit [offset] of [address] to on.\n\nThe offsets used are different bits to be toggled on and off, typically there is only one address used in a script.\n\nExample:\nMISC::SET_BIT(&bitAddress, 1);\n\nTo check if this bit has been enabled:\nMISC::IS_BIT_SET(bitAddress, 1); // will return 1 afterwards\n\nPlease note, this method may assign a value to [address] when used.", + "params": [ + { + "type": "int*", + "name": "address" + }, + { + "type": "int", + "name": "offset" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE80492A9AC099A93": { + "name": "CLEAR_BIT", + "jhash": "0x8BC9E618", + "comment": "This sets bit [offset] of [address] to off.\n\nExample:\nMISC::CLEAR_BIT(&bitAddress, 1);\n\nTo check if this bit has been enabled:\nMISC::IS_BIT_SET(bitAddress, 1); // will return 0 afterwards", + "params": [ + { + "type": "int*", + "name": "address" + }, + { + "type": "int", + "name": "offset" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD24D37CC275948CC": { + "name": "GET_HASH_KEY", + "jhash": "0x98EFF6F1", + "comment": "This native converts its past string to hash. It is hashed using jenkins one at a time method.", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0xF2F6A2FA49278625": { + "name": "SLERP_NEAR_QUATERNION", + "jhash": "0x87B92190", + "comment": "This native always come right before SET_ENTITY_QUATERNION where its final 4 parameters are SLERP_NEAR_QUATERNION p9 to p12", + "params": [ + { + "type": "float", + "name": "t" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "w" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "w1" + }, + { + "type": "float*", + "name": "outX" + }, + { + "type": "float*", + "name": "outY" + }, + { + "type": "float*", + "name": "outZ" + }, + { + "type": "float*", + "name": "outW" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA61B4DF533DCB56E": { + "name": "IS_AREA_OCCUPIED", + "jhash": "0xC013972F", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + }, + { + "type": "BOOL", + "name": "p10" + }, + { + "type": "Any", + "name": "p11" + }, + { + "type": "BOOL", + "name": "p12" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x39455BF4F4F55186": { + "name": "IS_AREA_OCCUPIED_SLOW", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + }, + { + "type": "Any", + "name": "p11" + }, + { + "type": "Any", + "name": "p12" + } + ], + "return_type": "BOOL", + "build": "1868" + }, + "0xADCDE75E1C60F32D": { + "name": "IS_POSITION_OCCUPIED", + "jhash": "0x452E8D9E", + "comment": "`range`: The range, seems to not be very accurate during testing.\n`p4`: Unknown, when set to true it seems to always return true no matter what I try.\n`checkVehicle`: Check for any vehicles in that area.\n`checkPeds`: Check for any peds in that area.\n`ignoreEntity`: This entity will be ignored if it's in the area. Set to 0 if you don't want to exclude any entities.\nThe BOOL parameters that are documented have not been confirmed. They are just documented from what I've found during testing. They may not work as expected in all cases.\n\nReturns true if there is anything in that location matching the provided parameters.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "range" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "checkVehicles" + }, + { + "type": "BOOL", + "name": "checkPeds" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "Entity", + "name": "ignoreEntity" + }, + { + "type": "BOOL", + "name": "p10" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE54E209C35FFA18D": { + "name": "IS_POINT_OBSCURED_BY_A_MISSION_ENTITY", + "jhash": "0xC161558D", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA56F01F3765B93A0": { + "name": "CLEAR_AREA", + "jhash": "0x854E9AB8", + "comment": "Example: CLEAR_AREA(0, 0, 0, 30, true, false, false, false);", + "params": [ + { + "type": "float", + "name": "X" + }, + { + "type": "float", + "name": "Y" + }, + { + "type": "float", + "name": "Z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "ignoreCopCars" + }, + { + "type": "BOOL", + "name": "ignoreObjects" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0x957838AAF91BD12D": { + "name": "CLEAR_AREA_LEAVE_VEHICLE_HEALTH", + "jhash": "0x20E4FFD9", + "comment": "MISC::CLEAR_AREA_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. ", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_AREA_OF_EVERYTHING" + ] + }, + "0x01C7B9B38428AEB6": { + "name": "CLEAR_AREA_OF_VEHICLES", + "jhash": "0x63320F3C", + "comment": "Example:\nCLEAR_AREA_OF_VEHICLES(0.0f, 0.0f, 0.0f, 10000.0f, false, false, false, false, false, false);", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + } + ], + "return_type": "void", + "build": "323" + }, + "0x11DB3500F042A8AA": { + "name": "CLEAR_ANGLED_AREA_OF_VEHICLES", + "jhash": "0xF11A3018", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + }, + { + "type": "BOOL", + "name": "p10" + }, + { + "type": "BOOL", + "name": "p11" + }, + { + "type": "Any", + "name": "p12" + }, + { + "type": "Any", + "name": "p13" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDD9B9B385AAC7F5B": { + "name": "CLEAR_AREA_OF_OBJECTS", + "jhash": "0xBB720FE7", + "comment": "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. ", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBE31FD6CE464AC59": { + "name": "CLEAR_AREA_OF_PEDS", + "jhash": "0x25BE7FA8", + "comment": "Example: CLEAR_AREA_OF_PEDS(0, 0, 0, 10000, 1);", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x04F8FC8FCF58F88D": { + "name": "CLEAR_AREA_OF_COPS", + "jhash": "0x95C53824", + "comment": "flags appears to always be 0", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0A1CB9094635D1A6": { + "name": "CLEAR_AREA_OF_PROJECTILES", + "jhash": "0x18DB5434", + "comment": "flags is usually 0 in the scripts.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7EC6F9A478A6A512": { + "name": "CLEAR_SCENARIO_SPAWN_HISTORY", + "jhash": "", + "comment": "Possibly used to clear scenario points.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC9BF75D28165FF77": { + "name": "SET_SAVE_MENU_ACTIVE", + "jhash": "0xF5CCF164", + "comment": "ignoreVehicle - bypasses vehicle check of the local player (it will not open if you are in a vehicle and this is set to false)", + "params": [ + { + "type": "BOOL", + "name": "ignoreVehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x397BAA01068BAA96": { + "name": "GET_STATUS_OF_MANUAL_SAVE", + "jhash": "0x39771F21", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xB938B7E6D3C0620C": { + "name": "SET_CREDITS_ACTIVE", + "jhash": "0xEC2A0ECF", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB51B9AB9EF81868C": { + "name": "SET_CREDITS_FADE_OUT_WITH_SCREEN", + "jhash": "0x75B06B5A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x075F1D57402C93BA": { + "name": "HAVE_CREDITS_REACHED_END", + "jhash": "0x2569C9A7", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD19C0826DC20CF1C": { + "name": "ARE_CREDITS_RUNNING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2802" + }, + "0x9DC711BC69C548DF": { + "name": "TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME", + "jhash": "0x9F861FD4", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scriptName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9243BAC96D64C050": { + "name": "NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME", + "jhash": "0x878486CE", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1F464EF988465A81": { + "name": "ADD_HOSPITAL_RESTART", + "jhash": "0x4F3E3104", + "comment": "Returns the index of the newly created hospital spawn point.\n\np3 might be radius?", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "int", + "build": "323" + }, + "0xC8535819C450EBA8": { + "name": "DISABLE_HOSPITAL_RESTART", + "jhash": "0x09F49C72", + "comment": "The game by default has 5 hospital respawn points. Disabling them all will cause the player to respawn at the last position they were.", + "params": [ + { + "type": "int", + "name": "hospitalIndex" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x452736765B31FC4B": { + "name": "ADD_POLICE_RESTART", + "jhash": "0xE96C29FE", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "int", + "build": "323" + }, + "0x23285DED6EBD7EA3": { + "name": "DISABLE_POLICE_RESTART", + "jhash": "0x0A280324", + "comment": "Disables the spawn point at the police house on the specified index.\n\npoliceIndex: The police house index.\ntoggle: true to enable the spawn point, false to disable.\n\n- Nacorpio", + "params": [ + { + "type": "int", + "name": "policeIndex" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x706B5EDCAA7FA663": { + "name": "SET_RESTART_COORD_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CUSTOM_RESPAWN_POSITION", + "_SET_RESTART_CUSTOM_POSITION" + ] + }, + "0xA2716D40842EAF79": { + "name": "CLEAR_RESTART_COORD_OVERRIDE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_NEXT_RESPAWN_TO_CUSTOM", + "_CLEAR_RESTART_CUSTOM_POSITION" + ] + }, + "0x2C2B3493FBF51C71": { + "name": "PAUSE_DEATH_ARREST_RESTART", + "jhash": "0x296574AE", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_AUTOMATIC_RESPAWN" + ] + }, + "0x21FFB63D8C615361": { + "name": "IGNORE_NEXT_RESTART", + "jhash": "0xDA13A4B6", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4A18E01DF2C87B86": { + "name": "SET_FADE_OUT_AFTER_DEATH", + "jhash": "0xC9F6F0BC", + "comment": "Sets whether the game should fade out after the player dies.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1E0B4DC0D990A4E7": { + "name": "SET_FADE_OUT_AFTER_ARREST", + "jhash": "0xCB074B9D", + "comment": "Sets whether the game should fade out after the player is arrested.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDA66D2796BA33F12": { + "name": "SET_FADE_IN_AFTER_DEATH_ARREST", + "jhash": "0xACDE6985", + "comment": "Sets whether the game should fade in after the player dies or is arrested.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF3D78F59DFE18D79": { + "name": "SET_FADE_IN_AFTER_LOAD", + "jhash": "0x6E00EB0B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC0714D0A7EEECA54": { + "name": "REGISTER_SAVE_HOUSE", + "jhash": "0x39C1849A", + "comment": "returns savehouseHandle", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "const char*", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4F548CABEAE553BC": { + "name": "SET_SAVE_HOUSE", + "jhash": "0xC3240BB4", + "comment": "", + "params": [ + { + "type": "int", + "name": "savehouseHandle" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1162EA8AE9D24EEA": { + "name": "OVERRIDE_SAVE_HOUSE", + "jhash": "0x47436C12", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA4A0065E39C9F25C": { + "name": "GET_SAVE_HOUSE_DETAILS_AFTER_SUCCESSFUL_LOAD", + "jhash": "0xC4D71AB4", + "comment": "", + "params": [ + { + "type": "Vector3*", + "name": "p0" + }, + { + "type": "float*", + "name": "p1" + }, + { + "type": "BOOL*", + "name": "fadeInAfterLoad" + }, + { + "type": "BOOL*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x50EEAAD86232EE55": { + "name": "DO_AUTO_SAVE", + "jhash": "0x54C44B1A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x6E04F06094C87047": { + "name": "GET_IS_AUTO_SAVE_OFF", + "jhash": "0xA8546914", + "comment": "Returns true if profile setting 208 is equal to 0.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x69240733738C19A0": { + "name": "IS_AUTO_SAVE_IN_PROGRESS", + "jhash": "0x36F75399", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2107A3773771186D": { + "name": "HAS_CODE_REQUESTED_AUTOSAVE", + "jhash": "0x78350773", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x06462A961E94B67C": { + "name": "CLEAR_CODE_REQUESTED_AUTOSAVE", + "jhash": "0x5A45B11A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE0E500246FF73D66": { + "name": "BEGIN_REPLAY_STATS", + "jhash": "0x17F4F44D", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x69FE6DC87BD2A5E9": { + "name": "ADD_REPLAY_STAT_VALUE", + "jhash": "0x81216EE0", + "comment": "", + "params": [ + { + "type": "Any", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA23E821FBDF8A5F2": { + "name": "END_REPLAY_STATS", + "jhash": "0xCB570185", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD642319C54AADEB6": { + "name": "HAVE_REPLAY_STATS_BEEN_STORED", + "jhash": "0xC58250F1", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5B1F2E327B6B6FE1": { + "name": "GET_REPLAY_STAT_MISSION_ID", + "jhash": "0x50C39926", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x2B626A0150E4D449": { + "name": "GET_REPLAY_STAT_MISSION_TYPE", + "jhash": "0x710E5D1E", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xDC9274A7EF6B2867": { + "name": "GET_REPLAY_STAT_COUNT", + "jhash": "0xC7BD1AF0", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x8098C8D6597AAE18": { + "name": "GET_REPLAY_STAT_AT_INDEX", + "jhash": "0x22BE2423", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1B1AB132A16FDA55": { + "name": "CLEAR_REPLAY_STATS", + "jhash": "0xC47DFF02", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x72DE52178C291CB5": { + "name": "QUEUE_MISSION_REPEAT_LOAD", + "jhash": "0xF62B3C48", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x44A0BDC559B35F6E": { + "name": "QUEUE_MISSION_REPEAT_SAVE", + "jhash": "0x3589452B", + "comment": "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.\nReturns 1 if the message isn't currently on screen", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEB2104E905C6F2E9": { + "name": "QUEUE_MISSION_REPEAT_SAVE_FOR_BENCHMARK_TEST", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2B5E102E4A42F2BF": { + "name": "GET_STATUS_OF_MISSION_REPEAT_SAVE", + "jhash": "0x144AAF22", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x8A75CE2956274ADD": { + "name": "IS_MEMORY_CARD_IN_USE", + "jhash": "0x40CE4DFD", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x867654CBC7606F2C": { + "name": "SHOOT_SINGLE_BULLET_BETWEEN_COORDS", + "jhash": "0xCB7415AC", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "damage" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Ped", + "name": "ownerPed" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE3A7742E0B7A2F8B": { + "name": "SHOOT_SINGLE_BULLET_BETWEEN_COORDS_IGNORE_ENTITY", + "jhash": "0x52ACCB7B", + "comment": "entity - entity to ignore", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "damage" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Ped", + "name": "ownerPed" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Any", + "name": "p14" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHOOT_SINGLE_BULLET_BETWEEN_COORDS_PRESET_PARAMS" + ] + }, + "0xBFE5756E7407064A": { + "name": "SHOOT_SINGLE_BULLET_BETWEEN_COORDS_IGNORE_ENTITY_NEW", + "jhash": "0xCCDC33CC", + "comment": "entity - entity to ignore\ntargetEntity - entity to home in on, if the weapon hash provided supports homing", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "damage" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Ped", + "name": "ownerPed" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "p14" + }, + { + "type": "BOOL", + "name": "p15" + }, + { + "type": "Entity", + "name": "targetEntity" + }, + { + "type": "BOOL", + "name": "p17" + }, + { + "type": "Any", + "name": "p18" + }, + { + "type": "Any", + "name": "p19" + }, + { + "type": "Any", + "name": "p20" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHOOT_SINGLE_BULLET_BETWEEN_COORDS_WITH_EXTRA_PARAMS" + ] + }, + "0x03E8D3D5F549087A": { + "name": "GET_MODEL_DIMENSIONS", + "jhash": "0x91ABB8E0", + "comment": "Gets the dimensions of a model.\n\nCalculate (maximum - minimum) to get the size, in which case, Y will be how long the model is.\n\nExample from the scripts: MISC::GET_MODEL_DIMENSIONS(ENTITY::GET_ENTITY_MODEL(PLAYER::PLAYER_PED_ID()), &v_1A, &v_17);", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "Vector3*", + "name": "minimum" + }, + { + "type": "Vector3*", + "name": "maximum" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1454F2448DE30163": { + "name": "SET_FAKE_WANTED_LEVEL", + "jhash": "0x85B1C9FA", + "comment": "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.\n\nMax is 6, anything above this makes it just 6. Also the mini-map gets the red & blue flashing effect.", + "params": [ + { + "type": "int", + "name": "fakeWantedLevel" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4C9296CBCD1B971E": { + "name": "GET_FAKE_WANTED_LEVEL", + "jhash": "0x0022A430", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xF14878FC50BEC6EE": { + "name": "USING_MISSION_CREATOR", + "jhash": "0x20AB0B6B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDEA36202FC3382DF": { + "name": "ALLOW_MISSION_CREATOR_WARP", + "jhash": "0x082BA6F2", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x19E00D7322C6F85B": { + "name": "SET_MINIGAME_IN_PROGRESS", + "jhash": "0x348B9046", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2B4A15E44DE0F478": { + "name": "IS_MINIGAME_IN_PROGRESS", + "jhash": "0x53A95E13", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x7B30F65D7B710098": { + "name": "IS_THIS_A_MINIGAME_SCRIPT", + "jhash": "0x7605EF6F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x61A23B7EDA9BDA24": { + "name": "IS_SNIPER_INVERTED", + "jhash": "0x5C3BF51B", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD3D15555431AB793": { + "name": "SHOULD_USE_METRIC_MEASUREMENTS", + "jhash": "0xBAF17315", + "comment": "Returns true if the game is using the metric measurement system (profile setting 227), false if imperial is used.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_GAME_USING_METRIC_MEASUREMENT_SYSTEM" + ] + }, + "0xC488FF2356EA7791": { + "name": "GET_PROFILE_SETTING", + "jhash": "0xD374BEBC", + "comment": "", + "params": [ + { + "type": "int", + "name": "profileSetting" + } + ], + "return_type": "int", + "build": "323" + }, + "0x0C515FAB3FF9EA92": { + "name": "ARE_STRINGS_EQUAL", + "jhash": "0x877C0BC5", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string1" + }, + { + "type": "const char*", + "name": "string2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1E34710ECD4AB0EB": { + "name": "COMPARE_STRINGS", + "jhash": "0xFE25A58F", + "comment": "Compares two strings up to a specified number of characters.\n\nParameters:\nstr1 - String to be compared.\nstr2 - String to be compared.\nmatchCase - Comparison will be case-sensitive.\nmaxLength - Maximum number of characters to compare. A value of -1 indicates an infinite length.\n\nReturns:\nA value indicating the relationship between the strings:\n<0 - The first non-matching character in 'str1' is less than the one in 'str2'. (e.g. 'A' < 'B', so result = -1)\n0 - The contents of both strings are equal.\n>0 - The first non-matching character in 'str1' is less than the one in 'str2'. (e.g. 'B' > 'A', so result = 1)\n\nExamples:\nMISC::COMPARE_STRINGS(\"STRING\", \"string\", false, -1); // 0; equal\nMISC::COMPARE_STRINGS(\"TESTING\", \"test\", false, 4); // 0; equal\nMISC::COMPARE_STRINGS(\"R2D2\", \"R2xx\", false, 2); // 0; equal\nMISC::COMPARE_STRINGS(\"foo\", \"bar\", false, -1); // 4; 'f' > 'b'\nMISC::COMPARE_STRINGS(\"A\", \"A\", true, 1); // 0; equal\n\nWhen comparing case-sensitive strings, lower-case characters are greater than upper-case characters:\nMISC::COMPARE_STRINGS(\"A\", \"a\", true, 1); // -1; 'A' < 'a'\nMISC::COMPARE_STRINGS(\"a\", \"A\", true, 1); // 1; 'a' > 'A'", + "params": [ + { + "type": "const char*", + "name": "str1" + }, + { + "type": "const char*", + "name": "str2" + }, + { + "type": "BOOL", + "name": "matchCase" + }, + { + "type": "int", + "name": "maxLength" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF0D31AD191A74F87": { + "name": "ABSI", + "jhash": "0xB44677C5", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "int", + "build": "323" + }, + "0x73D57CFFDD12C355": { + "name": "ABSF", + "jhash": "0xAF6F6E0B", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "float", + "build": "323" + }, + "0xFEFCF11B01287125": { + "name": "IS_SNIPER_BULLET_IN_AREA", + "jhash": "0x0483715C", + "comment": "Determines whether there is a sniper bullet within the specified coordinates. The coordinates form an axis-aligned bounding box.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5270A8FBC098C3F8": { + "name": "IS_PROJECTILE_IN_AREA", + "jhash": "0x78E1A557", + "comment": "Determines whether there is a projectile within the specified coordinates. The coordinates form a rectangle.\n\n- Nacorpio\n\n\nownedByPlayer = only projectiles fired by the player will be detected.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "ownedByPlayer" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2E0DC353342C4A6D": { + "name": "IS_PROJECTILE_TYPE_IN_AREA", + "jhash": "0x2B73BCF6", + "comment": "Determines whether there is a projectile of a specific type within the specified coordinates. The coordinates form a axis-aligned bounding box.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "type" + }, + { + "type": "BOOL", + "name": "ownedByPlayer" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF0BC12401061DEA0": { + "name": "IS_PROJECTILE_TYPE_IN_ANGLED_AREA", + "jhash": "0xD1AE2681", + "comment": "See IS_POINT_IN_ANGLED_AREA for the definition of an angled area.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "BOOL", + "name": "ownedByPlayer" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x34318593248C8FB2": { + "name": "IS_PROJECTILE_TYPE_WITHIN_DISTANCE", + "jhash": "0xBE81F1E2", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Hash", + "name": "projectileHash" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "ownedByPlayer" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PROJECTILE_TYPE_IN_RADIUS" + ] + }, + "0x8D7A43EC6A5FEA45": { + "name": "GET_COORDS_OF_PROJECTILE_TYPE_IN_AREA", + "jhash": "0x1A40454B", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "Hash", + "name": "projectileHash" + }, + { + "type": "Vector3*", + "name": "projectilePos" + }, + { + "type": "BOOL", + "name": "ownedByPlayer" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_IS_PROJECTILE_TYPE_IN_AREA" + ] + }, + "0x3DA8C28346B62CED": { + "name": "GET_COORDS_OF_PROJECTILE_TYPE_IN_ANGLED_AREA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "vecAngledAreaPoint1X" + }, + { + "type": "float", + "name": "vecAngledAreaPoint1Y" + }, + { + "type": "float", + "name": "vecAngledAreaPoint1Z" + }, + { + "type": "float", + "name": "vecAngledAreaPoint2X" + }, + { + "type": "float", + "name": "vecAngledAreaPoint2Y" + }, + { + "type": "float", + "name": "vecAngledAreaPoint2Z" + }, + { + "type": "float", + "name": "distanceOfOppositeFace" + }, + { + "type": "Hash", + "name": "weaponType" + }, + { + "type": "Vector3*", + "name": "positionOut" + }, + { + "type": "BOOL", + "name": "bIsPlayer" + } + ], + "return_type": "BOOL", + "build": "2802" + }, + "0xDFB4138EEFED7B81": { + "name": "GET_COORDS_OF_PROJECTILE_TYPE_WITHIN_DISTANCE", + "jhash": "0x6BDE5CE4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "Vector3*", + "name": "outCoords" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_PROJECTILE_NEAR_PED_COORDS" + ] + }, + "0x82FDE6A57EE4EE44": { + "name": "GET_PROJECTILE_OF_PROJECTILE_TYPE_WITHIN_DISTANCE", + "jhash": "0x507BC6F7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "Vector3*", + "name": "outCoords" + }, + { + "type": "Object*", + "name": "outProjectile" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_PROJECTILE_NEAR_PED" + ] + }, + "0x1A8B5F3C01E2B477": { + "name": "IS_BULLET_IN_ANGLED_AREA", + "jhash": "0xE2DB58F7", + "comment": "For projectiles, see: IS_PROJECTILE_TYPE_IN_ANGLED_AREA\nSee IS_POINT_IN_ANGLED_AREA for the definition of an angled area.\nReturns True if a bullet, as maintained by a pool within CWeaponManager, has been fired into the defined angled area.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "BOOL", + "name": "ownedByPlayer" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3F2023999AD51C1F": { + "name": "IS_BULLET_IN_AREA", + "jhash": "0xB54F46CA", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "ownedByPlayer" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDE0F6D7450D37351": { + "name": "IS_BULLET_IN_BOX", + "jhash": "0xAB73ED26", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "ownedByPlayer" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9870ACFB89A90995": { + "name": "HAS_BULLET_IMPACTED_IN_AREA", + "jhash": "0x902BC7D9", + "comment": "p3 - possibly radius?", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDC8C5D7CFEAB8394": { + "name": "HAS_BULLET_IMPACTED_IN_BOX", + "jhash": "0x2C2618CC", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA72BC0B675B1519E": { + "name": "IS_ORBIS_VERSION", + "jhash": "0x40282018", + "comment": "PS4", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4D982ADB1978442D": { + "name": "IS_DURANGO_VERSION", + "jhash": "0x46FB06A5", + "comment": "XBOX ONE", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF6201B4DAF662A9D": { + "name": "IS_XBOX360_VERSION", + "jhash": "0x24005CC8", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xCCA1072C29D096C2": { + "name": "IS_PS3_VERSION", + "jhash": "0x4C0D5303", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x48AF36444B965238": { + "name": "IS_PC_VERSION", + "jhash": "0x4D5D9EE3", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0A27B2B6282F7169": { + "name": "IS_STEAM_VERSION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2545" + }, + "0x9F1935CA1F724008": { + "name": "IS_AUSSIE_VERSION", + "jhash": "0x944BA1DC", + "comment": "Used to block some of the prostitute stuff due to laws in Australia.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xB8C0BB75D8A77DB3": { + "name": "IS_JAPANESE_VERSION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2545", + "old_names": [ + "_IS_JAPANESE_VERSION" + ] + }, + "0x138679CA01E21F53": { + "name": "IS_XBOX_PLATFORM", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2612" + }, + "0xC545AB1CF97ABB34": { + "name": "IS_SCARLETT_VERSION", + "jhash": "", + "comment": "Xbox Series (Scarlett) version...", + "params": [], + "return_type": "BOOL", + "build": "2612" + }, + "0xF911E695C1EB8518": { + "name": "IS_SCE_PLATFORM", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2612" + }, + "0x807ABE1AB65C24D2": { + "name": "IS_PROSPERO_VERSION", + "jhash": "", + "comment": "PS5 (Prospero) version...", + "params": [], + "return_type": "BOOL", + "build": "2612" + }, + "0xF22B6C47C6EAB066": { + "name": "IS_STRING_NULL", + "jhash": "0x8E71E00F", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCA042B6957743895": { + "name": "IS_STRING_NULL_OR_EMPTY", + "jhash": "0x42E9F2CA", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5A5F40FE637EB584": { + "name": "STRING_TO_INT", + "jhash": "0x590A8160", + "comment": "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.\n\nIf all checks have passed successfully, the return value will be set to whatever strtol(string, 0i64, 10); returns.", + "params": [ + { + "type": "const char*", + "name": "string" + }, + { + "type": "int*", + "name": "outInteger" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8EF07E15701D61ED": { + "name": "SET_BITS_IN_RANGE", + "jhash": "0x32094719", + "comment": "", + "params": [ + { + "type": "int*", + "name": "var" + }, + { + "type": "int", + "name": "rangeStart" + }, + { + "type": "int", + "name": "rangeEnd" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x53158863FCC0893A": { + "name": "GET_BITS_IN_RANGE", + "jhash": "0xCA03A1E5", + "comment": "", + "params": [ + { + "type": "int", + "name": "var" + }, + { + "type": "int", + "name": "rangeStart" + }, + { + "type": "int", + "name": "rangeEnd" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1A992DA297A4630C": { + "name": "ADD_STUNT_JUMP", + "jhash": "0xB630E5FF", + "comment": "See description of `ADD_STUNT_JUMP_ANGLED` for detailed info. The only difference really is this one does not have the radius (or angle, not sure) floats parameters for entry and landing zones.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z3" + }, + { + "type": "float", + "name": "x4" + }, + { + "type": "float", + "name": "y4" + }, + { + "type": "float", + "name": "z4" + }, + { + "type": "float", + "name": "camX" + }, + { + "type": "float", + "name": "camY" + }, + { + "type": "float", + "name": "camZ" + }, + { + "type": "int", + "name": "p15" + }, + { + "type": "int", + "name": "p16" + }, + { + "type": "int", + "name": "p17" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBBE5D803A5360CBF": { + "name": "ADD_STUNT_JUMP_ANGLED", + "jhash": "0xB9B7E777", + "comment": "Creates a new stunt jump.\n\nThe radius1 and radius2 might actually not be a radius at all, but that's what it seems to me testing them in-game. But they may be 'angle' floats instead, considering this native is named ADD_STUNT_JUMP_**ANGLED**.\n\nInfo about the specific 'parameter sections':\n\n\n**x1, y1, z1, x2, y2, z2 and radius1:**\n\nFirst coordinates are for the jump entry area, and the radius that will be checked around that area. So if you're not exactly within the coordinates, but you are within the outter radius limit then it will still register as entering the stunt jump. Note as mentioned above, the radius is just a guess, I'm not really sure about it's exact purpose.\n\n\n**x3, y3, z3, x4, y4, z4 and radius2:**\n\nNext part is the landing area, again starting with the left bottom (nearest to the stunt jump entry zone) coordinate, and the second one being the top right furthest away part of the landing area. Followed by another (most likely) radius float, this is usually slightly larger than the entry zone 'radius' float value, just because you have quite a lot of places where you can land (I'm guessing).\n\n\n**camX, camY and camZ:**\n\nThe final coordinate in this native is the Camera position. Rotation and zoom/FOV is managed by the game itself, you just need to provide the camera location.\n\n\n**unk1, unk2 and unk3:**\n\nNot sure what these are for, but they're always `150, 0, 0` in decompiled scripts.\n\nHere is a list of almost all of the stunt jumps from GTA V (taken from decompiled scripts): https://pastebin.com/EW1jBPkY", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "radius1" + }, + { + "type": "float", + "name": "x3" + }, + { + "type": "float", + "name": "y3" + }, + { + "type": "float", + "name": "z3" + }, + { + "type": "float", + "name": "x4" + }, + { + "type": "float", + "name": "y4" + }, + { + "type": "float", + "name": "z4" + }, + { + "type": "float", + "name": "radius2" + }, + { + "type": "float", + "name": "camX" + }, + { + "type": "float", + "name": "camY" + }, + { + "type": "float", + "name": "camZ" + }, + { + "type": "int", + "name": "p17" + }, + { + "type": "int", + "name": "p18" + }, + { + "type": "int", + "name": "p19" + } + ], + "return_type": "int", + "build": "323" + }, + "0xFB80AB299D2EE1BD": { + "name": "TOGGLE_SHOW_OPTIONAL_STUNT_JUMP_CAMERA", + "jhash": "", + "comment": "Toggles some stunt jump stuff.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "757" + }, + "0xDC518000E39DAE1F": { + "name": "DELETE_STUNT_JUMP", + "jhash": "0x840CB5DA", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE369A5783B866016": { + "name": "ENABLE_STUNT_JUMP_SET", + "jhash": "0x9D1E7785", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA5272EBEDD4747F6": { + "name": "DISABLE_STUNT_JUMP_SET", + "jhash": "0x644C9FA4", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD79185689F8FD5DF": { + "name": "SET_STUNT_JUMPS_CAN_TRIGGER", + "jhash": "0x3C806A2D", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7A3F19700A4D0525": { + "name": "IS_STUNT_JUMP_IN_PROGRESS", + "jhash": "0xF477D0B1", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2272B0A1343129F4": { + "name": "IS_STUNT_JUMP_MESSAGE_SHOWING", + "jhash": "0x021636EE", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x996DD1E1E02F1008": { + "name": "GET_NUM_SUCCESSFUL_STUNT_JUMPS", + "jhash": "0x006F9BA2", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x6856EC3D35C81EA4": { + "name": "GET_TOTAL_SUCCESSFUL_STUNT_JUMPS", + "jhash": "0x495BE324", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xE6B7B0ACD4E4B75E": { + "name": "CANCEL_STUNT_JUMP", + "jhash": "0xF43D9821", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x577D1284D6873711": { + "name": "SET_GAME_PAUSED", + "jhash": "0x8230FF6C", + "comment": "Make sure to call this from the correct thread if you're using multiple threads because all other threads except the one which is calling SET_GAME_PAUSED will be paused which means you will lose control and the game remains in paused mode until you exit GTA5.exe", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA391C728106F7AF": { + "name": "SET_THIS_SCRIPT_CAN_BE_PAUSED", + "jhash": "0xA0C3CE29", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB98236CAAECEF897": { + "name": "SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT", + "jhash": "0xD06F1720", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x071E2A839DE82D90": { + "name": "HAS_CHEAT_WITH_HASH_BEEN_ACTIVATED", + "jhash": "0xFF6191E1", + "comment": "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/\n\nINT_SCORES_SCORTED was a hash collision", + "params": [ + { + "type": "Hash", + "name": "hash" + }, + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_BUTTON_COMBINATION_JUST_BEEN_ENTERED" + ] + }, + "0x557E43C447E700A8": { + "name": "HAS_PC_CHEAT_WITH_HASH_BEEN_ACTIVATED", + "jhash": "", + "comment": "Get inputted \"Cheat code\", for example:\n\nwhile (TRUE)\n{\n if (MISC::HAS_PC_CHEAT_WITH_HASH_BEEN_ACTIVATED(${fugitive}))\n {\n // Do something.\n }\n SYSTEM::WAIT(0);\n}\n\nCalling this will also set the last saved string hash to zero.\n", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_CHEAT_STRING_JUST_BEEN_ENTERED" + ] + }, + "0xFA3FFB0EEBC288A3": { + "name": "OVERRIDE_FREEZE_FLAGS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "2060" + }, + "0x9BAE5AD2508DF078": { + "name": "SET_INSTANCE_PRIORITY_MODE", + "jhash": "0x721B2492", + "comment": "Formerly known as _LOWER_MAP_PROP_DENSITY and wrongly due to idiots as _ENABLE_MP_DLC_MAPS.\nSets 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.\n\nIn 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.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ENABLE_MP_DLC_MAPS", + "_USE_FREEMODE_MAP_BEHAVIOR", + "_LOWER_MAP_PROP_DENSITY" + ] + }, + "0xC5F0A8EBD3F361CE": { + "name": "SET_INSTANCE_PRIORITY_HINT", + "jhash": "0xE202879D", + "comment": "Sets an unknown flag used by CScene in determining which entities from CMapData scene nodes to draw, similar to SET_INSTANCE_PRIORITY_MODE.", + "params": [ + { + "type": "int", + "name": "flag" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_UNK_MAP_FLAG" + ] + }, + "0x7EA2B6AF97ECA6ED": { + "name": "IS_FRONTEND_FADING", + "jhash": "0x8FF6232C", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x7472BB270D7B4F3E": { + "name": "POPULATE_NOW", + "jhash": "0x72C20700", + "comment": "spawns a few distant/out-of-sight peds, vehicles, animals etc each time it is called", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCBAD6729F7B1F4FC": { + "name": "GET_INDEX_OF_CURRENT_LEVEL", + "jhash": "0x6F203C6E", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x740E14FAD5842351": { + "name": "SET_GRAVITY_LEVEL", + "jhash": "0x2D833F4A", + "comment": "level can be from 0 to 3\n0: 9.8 - normal\n1: 2.4 - low\n2: 0.1 - very low\n3: 0.0 - off", + "params": [ + { + "type": "int", + "name": "level" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA9575F812C6A7997": { + "name": "START_SAVE_DATA", + "jhash": "0x881A694D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x74E20C9145FB66FD": { + "name": "STOP_SAVE_DATA", + "jhash": "0x3B1C07C8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA09F896CE912481F": { + "name": "GET_SIZE_OF_SAVE_DATA", + "jhash": "0x9EF0BC64", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x34C9EE5986258415": { + "name": "REGISTER_INT_TO_SAVE", + "jhash": "0xB930956F", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA735353C77334EA0": { + "name": "REGISTER_INT64_TO_SAVE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REGISTER_INT64_TO_SAVE" + ] + }, + "0x10C2FA78D0E128A1": { + "name": "REGISTER_ENUM_TO_SAVE", + "jhash": "0x9B38374A", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7CAEC29ECB5DFEBB": { + "name": "REGISTER_FLOAT_TO_SAVE", + "jhash": "0xDB06F7AD", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC8F4131414C835A1": { + "name": "REGISTER_BOOL_TO_SAVE", + "jhash": "0x5417E0E0", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEDB1232C5BEAE62F": { + "name": "REGISTER_TEXT_LABEL_TO_SAVE", + "jhash": "0x284352C4", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6F7794F28C6B2535": { + "name": "REGISTER_TEXT_LABEL_15_TO_SAVE", + "jhash": "0xE2089749", + "comment": "MISC::REGISTER_TEXT_LABEL_15_TO_SAVE(&a_0._f1, \"tlPlateText\");\nMISC::REGISTER_TEXT_LABEL_15_TO_SAVE(&a_0._f1C, \"tlPlateText_pending\");\nMISC::REGISTER_TEXT_LABEL_15_TO_SAVE(&a_0._f10B, \"tlCarAppPlateText\");", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REGISTER_TEXT_LABEL_TO_SAVE_2" + ] + }, + "0x48F069265A0E4BEC": { + "name": "REGISTER_TEXT_LABEL_23_TO_SAVE", + "jhash": "0xF91B8C33", + "comment": "Only found 3 times in decompiled scripts.\n\nMISC::REGISTER_TEXT_LABEL_23_TO_SAVE(a_0, \"Movie_Name_For_This_Player\");\nMISC::REGISTER_TEXT_LABEL_23_TO_SAVE(&a_0._fB, \"Ringtone_For_This_Player\");\nMISC::REGISTER_TEXT_LABEL_23_TO_SAVE(&a_0._f1EC4._f12[v_A/*6*/], &v_13); // where v_13 is \"MPATMLOGSCRS0\" thru \"MPATMLOGSCRS15\"", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8269816F6CFD40F8": { + "name": "REGISTER_TEXT_LABEL_31_TO_SAVE", + "jhash": "0x74E8FAD9", + "comment": "Only found 2 times in decompiled scripts.\n\nMISC::REGISTER_TEXT_LABEL_31_TO_SAVE(&a_0._f1F5A._f6[0/*8*/], \"TEMPSTAT_LABEL\"); // gets saved in a struct called \"g_SaveData_STRING_ScriptSaves\"\nMISC::REGISTER_TEXT_LABEL_31_TO_SAVE(&a_0._f4B4[v_1A/*8*/], &v_5); // where v_5 is \"Name0\" thru \"Name9\", gets saved in a struct called \"OUTFIT_Name\"", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFAA457EF263E8763": { + "name": "REGISTER_TEXT_LABEL_63_TO_SAVE", + "jhash": "0x6B4335DD", + "comment": "MISC::REGISTER_TEXT_LABEL_63_TO_SAVE(a_0, \"Thumb_label\");\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(&a_0._f10, \"Photo_label\");\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(a_0, \"GXTlabel\");\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(&a_0._f21, \"StringComp\");\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(&a_0._f43, \"SecondStringComp\");\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(&a_0._f53, \"ThirdStringComp\");\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(&a_0._f32, \"SenderStringComp\");\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(&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\"\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(&a_0._f4B, \"PAID_PLAYER\");\nMISC::REGISTER_TEXT_LABEL_63_TO_SAVE(&a_0._f5B, \"RADIO_STATION\");", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBF737600CDDBEADD": { + "name": "START_SAVE_STRUCT_WITH_SIZE", + "jhash": "0xFB45728E", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "int", + "name": "size" + }, + { + "type": "const char*", + "name": "structName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_START_SAVE_STRUCT" + ] + }, + "0xEB1774DF12BB9F12": { + "name": "STOP_SAVE_STRUCT", + "jhash": "0xC2624A28", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x60FE567DF1B1AF9D": { + "name": "START_SAVE_ARRAY_WITH_SIZE", + "jhash": "0x893A342C", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "int", + "name": "size" + }, + { + "type": "const char*", + "name": "arrayName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_START_SAVE_ARRAY" + ] + }, + "0x04456F95153C6BE4": { + "name": "STOP_SAVE_ARRAY", + "jhash": "0x0CAD8217", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x213AEB2B90CBA7AC": { + "name": "COPY_SCRIPT_STRUCT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "dst" + }, + { + "type": "Any*", + "name": "src" + }, + { + "type": "int", + "name": "size" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_COPY_MEMORY" + ] + }, + "0xDC0F817884CDD856": { + "name": "ENABLE_DISPATCH_SERVICE", + "jhash": "0x0B710A51", + "comment": "https://alloc8or.re/gta5/doc/enums/DispatchType.txt", + "params": [ + { + "type": "int", + "name": "dispatchService" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9B2BD3773123EA2F": { + "name": "BLOCK_DISPATCH_SERVICE_RESOURCE_CREATION", + "jhash": "0xE0F0684F", + "comment": "", + "params": [ + { + "type": "int", + "name": "dispatchService" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB4A0C2D56441717": { + "name": "GET_NUMBER_RESOURCES_ALLOCATED_TO_WANTED_LEVEL", + "jhash": "0x3CE5BF6B", + "comment": "", + "params": [ + { + "type": "int", + "name": "dispatchService" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUMBER_OF_DISPATCHED_UNITS_FOR_PLAYER", + "_GET_NUM_DISPATCHED_UNITS_FOR_PLAYER" + ] + }, + "0x3F892CAF67444AE7": { + "name": "CREATE_INCIDENT", + "jhash": "0xFC5FF7B3", + "comment": "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. \n\nSide 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).\n\nSide Note 2: I say it breaks as if you call this proper,\nif(CREATE_INCIDENT) etc it will return false if you do as I said above.\n=====================================================", + "params": [ + { + "type": "int", + "name": "dispatchService" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "numUnits" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int*", + "name": "outIncidentID" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x05983472F0494E60": { + "name": "CREATE_INCIDENT_WITH_ENTITY", + "jhash": "0xBBC35B03", + "comment": "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. \n\nSide 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).\n\nSide Note 2: I say it breaks as if you call this proper,\nif(CREATE_INCIDENT) etc it will return false if you do as I said above.\n=====================================================", + "params": [ + { + "type": "int", + "name": "dispatchService" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "numUnits" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int*", + "name": "outIncidentID" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x556C1AA270D5A207": { + "name": "DELETE_INCIDENT", + "jhash": "0x212BD0DC", + "comment": "Delete an incident with a given id.\n\n=======================================================\nCorrection, I have change this to int, instead of int*\nas it doesn't use a pointer to the createdIncident.\nIf you try it you will crash (or) freeze.\n=======================================================", + "params": [ + { + "type": "int", + "name": "incidentId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC8BC6461E629BEAA": { + "name": "IS_INCIDENT_VALID", + "jhash": "0x31FD0BA4", + "comment": "=======================================================\nCorrection, I have change this to int, instead of int*\nas it doesn't use a pointer to the createdIncident.\nIf you try it you will crash (or) freeze.\n=======================================================", + "params": [ + { + "type": "int", + "name": "incidentId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB08B85D860E7BA3C": { + "name": "SET_INCIDENT_REQUESTED_UNITS", + "jhash": "0x0242D88E", + "comment": "", + "params": [ + { + "type": "int", + "name": "incidentId" + }, + { + "type": "int", + "name": "dispatchService" + }, + { + "type": "int", + "name": "numUnits" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD261BA3E7E998072": { + "name": "SET_IDEAL_SPAWN_DISTANCE_FOR_INCIDENT", + "jhash": "0x1F38102E", + "comment": "", + "params": [ + { + "type": "int", + "name": "incidentId" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_INCIDENT_UNK" + ] + }, + "0x6874E2190B0C1972": { + "name": "FIND_SPAWN_POINT_IN_DIRECTION", + "jhash": "0x71AEFD77", + "comment": "Finds a position ahead of the player by predicting the players next actions.\nThe positions match path finding node positions.\nWhen 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.", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "fwdVecX" + }, + { + "type": "float", + "name": "fwdVecY" + }, + { + "type": "float", + "name": "fwdVecZ" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "Vector3*", + "name": "spawnPoint" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x67F6413D3220E18D": { + "name": "ADD_POP_MULTIPLIER_AREA", + "jhash": "0x42BF09B3", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1327E2FE9746BAEE": { + "name": "DOES_POP_MULTIPLIER_AREA_EXIST", + "jhash": "0xE933B34A", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB129E447A2EDA4BF": { + "name": "REMOVE_POP_MULTIPLIER_AREA", + "jhash": "0xFBDBE374", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1312F4B242609CE3": { + "name": "IS_POP_MULTIPLIER_AREA_NETWORKED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "1290", + "old_names": [ + "_IS_POP_MULTIPLIER_AREA_UNK" + ] + }, + "0x32C7A7E8C43A1F80": { + "name": "ADD_POP_MULTIPLIER_SPHERE", + "jhash": "0xCE4A3D20", + "comment": "This native is adding a zone, where you can change density settings. For example, you can add a zone on 0.0, 0.0, 0.0 with radius 900.0 and vehicleMultiplier 0.0, and you will not see any new population vehicle spawned in a radius of 900.0 from 0.0, 0.0, 0.0. Returns the id. You can have only 15 zones at the same time. You can remove zone using REMOVE_POP_MULTIPLIER_SPHERE", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "pedMultiplier" + }, + { + "type": "float", + "name": "vehicleMultiplier" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "int", + "build": "323" + }, + "0x171BAFB3C60389F4": { + "name": "DOES_POP_MULTIPLIER_SPHERE_EXIST", + "jhash": "0xD2B7A5A0", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "791" + }, + "0xE6869BECDD8F2403": { + "name": "REMOVE_POP_MULTIPLIER_SPHERE", + "jhash": "0x92E7E4EB", + "comment": "Removes population multiplier sphere", + "params": [ + { + "type": "int", + "name": "id" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x28A04B411933F8A6": { + "name": "ENABLE_TENNIS_MODE", + "jhash": "0x0BD3F9EC", + "comment": "Makes the ped jump around like they're in a tennis match", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5D5479D115290C3F": { + "name": "IS_TENNIS_MODE", + "jhash": "0x04A947BA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE266ED23311F24D4": { + "name": "PLAY_TENNIS_SWING_ANIM", + "jhash": "0xC20A7D2B", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x17DF68D720AA77F8": { + "name": "GET_TENNIS_SWING_ANIM_COMPLETE", + "jhash": "0x8501E727", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x19BFED045C647C49": { + "name": "GET_TENNIS_SWING_ANIM_CAN_BE_INTERRUPTED", + "jhash": "0x1A332D2D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE95B0C7D5BA3B96B": { + "name": "GET_TENNIS_SWING_ANIM_SWUNG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8FA9C42FC5D7C64B": { + "name": "PLAY_TENNIS_DIVE_ANIM", + "jhash": "0x0C8865DF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x54F157E0336A3822": { + "name": "SET_TENNIS_MOVE_NETWORK_SIGNAL_FLOAT", + "jhash": "0x49F977A9", + "comment": "From the scripts:\n\nMISC::SET_TENNIS_MOVE_NETWORK_SIGNAL_FLOAT(sub_aa49(a_0), \"ForcedStopDirection\", v_E);\n\nRelated to tennis mode.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5896F2BD5683A4E1": { + "name": "RESET_DISPATCH_SPAWN_LOCATION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1868", + "old_names": [ + "_RESET_DISPATCH_SPAWN_LOCATION" + ] + }, + "0xD10F442036302D50": { + "name": "SET_DISPATCH_SPAWN_LOCATION", + "jhash": "0x6F009E33", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x77A84429DD9F0A15": { + "name": "RESET_DISPATCH_IDEAL_SPAWN_DISTANCE", + "jhash": "0xDA65ECAA", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x6FE601A64180D423": { + "name": "SET_DISPATCH_IDEAL_SPAWN_DISTANCE", + "jhash": "0x6283BE32", + "comment": "", + "params": [ + { + "type": "float", + "name": "distance" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB2DB0CAD13154B3": { + "name": "RESET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS", + "jhash": "0x1479E85A", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x44F7CBC1BEB3327D": { + "name": "SET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS", + "jhash": "0xABADB709", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x48838ED9937A15D1": { + "name": "SET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS_MULTIPLIER", + "jhash": "0x1C996BCD", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x918C7B2D2FF3928B": { + "name": "ADD_DISPATCH_SPAWN_ANGLED_BLOCKING_AREA", + "jhash": "0xF557BAF9", + "comment": "To remove, see: REMOVE_DISPATCH_SPAWN_BLOCKING_AREA\nSee IS_POINT_IN_ANGLED_AREA for the definition of an angled area.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_ADD_DISPATCH_SPAWN_BLOCKING_ANGLED_AREA" + ] + }, + "0x2D4259F1FEB81DA9": { + "name": "ADD_DISPATCH_SPAWN_SPHERE_BLOCKING_AREA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_ADD_DISPATCH_SPAWN_BLOCKING_AREA" + ] + }, + "0x264AC28B01B353A5": { + "name": "REMOVE_DISPATCH_SPAWN_BLOCKING_AREA", + "jhash": "0xA8D2FB92", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAC7BFD5C1D83EA75": { + "name": "RESET_DISPATCH_SPAWN_BLOCKING_AREAS", + "jhash": "0x9A17F835", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD9F692D349249528": { + "name": "RESET_WANTED_RESPONSE_NUM_PEDS_TO_SPAWN", + "jhash": "0xE0C9307E", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE532EC1A63231B4F": { + "name": "SET_WANTED_RESPONSE_NUM_PEDS_TO_SPAWN", + "jhash": "0xA0D8C749", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB8721407EE9C3FF6": { + "name": "ADD_TACTICAL_NAV_MESH_POINT", + "jhash": "0x24A4E0B2", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ADD_TACTICAL_ANALYSIS_POINT" + ] + }, + "0xB3CD58CCA6CDA852": { + "name": "CLEAR_TACTICAL_NAV_MESH_POINTS", + "jhash": "0x66C3C59C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_TACTICAL_ANALYSIS_POINTS" + ] + }, + "0x2587A48BC88DFADF": { + "name": "SET_RIOT_MODE_ENABLED", + "jhash": "0xD9660339", + "comment": "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.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCA78CFA0366592FE": { + "name": "DISPLAY_ONSCREEN_KEYBOARD_WITH_LONGER_INITIAL_STRING", + "jhash": "0xD2688412", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "windowTitle" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "const char*", + "name": "defaultText" + }, + { + "type": "const char*", + "name": "defaultConcat1" + }, + { + "type": "const char*", + "name": "defaultConcat2" + }, + { + "type": "const char*", + "name": "defaultConcat3" + }, + { + "type": "const char*", + "name": "defaultConcat4" + }, + { + "type": "const char*", + "name": "defaultConcat5" + }, + { + "type": "const char*", + "name": "defaultConcat6" + }, + { + "type": "const char*", + "name": "defaultConcat7" + }, + { + "type": "int", + "name": "maxInputLength" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISPLAY_ONSCREEN_KEYBOARD_2" + ] + }, + "0x00DC833F2568DBF6": { + "name": "DISPLAY_ONSCREEN_KEYBOARD", + "jhash": "0xAD99F2CE", + "comment": "sfink: note, p0 is set to 6 for PC platform in at least 1 script, or to `unk::_get_ui_language_id() == 0` otherwise.\n\nNOTE: windowTitle uses text labels, and an invalid value will display nothing.\n\nwww.gtaforums.com/topic/788343-vrel-script-hook-v/?p=1067380474\n\nwindowTitle's\n-----------------\nCELL_EMAIL_BOD = \"Enter your Eyefind message\"\nCELL_EMAIL_BODE = \"Message too long. Try again\"\nCELL_EMAIL_BODF = \"Forbidden message. Try again\"\nCELL_EMAIL_SOD = \"Enter your Eyefind subject\"\nCELL_EMAIL_SODE = \"Subject too long. Try again\"\nCELL_EMAIL_SODF = \"Forbidden text. Try again\"\nCELL_EMASH_BOD = \"Enter your Eyefind message\"\nCELL_EMASH_BODE = \"Message too long. Try again\"\nCELL_EMASH_BODF = \"Forbidden message. Try again\"\nCELL_EMASH_SOD = \"Enter your Eyefind subject\"\nCELL_EMASH_SODE = \"Subject too long. Try again\"\nCELL_EMASH_SODF = \"Forbidden Text. Try again\"\nFMMC_KEY_TIP10 = \"Enter Synopsis\"\nFMMC_KEY_TIP12 = \"Enter Custom Team Name\"\nFMMC_KEY_TIP12F = \"Forbidden Text. Try again\"\nFMMC_KEY_TIP12N = \"Custom Team Name\"\nFMMC_KEY_TIP8 = \"Enter Message\"\nFMMC_KEY_TIP8F = \"Forbidden Text. Try again\"\nFMMC_KEY_TIP8FS = \"Invalid Message. Try again\"\nFMMC_KEY_TIP8S = \"Enter Message\"\nFMMC_KEY_TIP9 = \"Enter Outfit Name\"\nFMMC_KEY_TIP9F = \"Invalid Outfit Name. Try again\"\nFMMC_KEY_TIP9N = \"Outfit Name\"\nPM_NAME_CHALL = \"Enter Challenge Name\"", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "windowTitle" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "const char*", + "name": "defaultText" + }, + { + "type": "const char*", + "name": "defaultConcat1" + }, + { + "type": "const char*", + "name": "defaultConcat2" + }, + { + "type": "const char*", + "name": "defaultConcat3" + }, + { + "type": "int", + "name": "maxInputLength" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0CF2B696BBF945AE": { + "name": "UPDATE_ONSCREEN_KEYBOARD", + "jhash": "0x23D0A1CE", + "comment": "Returns the current status of the onscreen keyboard, and updates the output.\n\nStatus Codes:\n\n-1: Keyboard isn't active\n0: User still editing\n1: User has finished editing\n2: User has canceled editing", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x8362B09B91893647": { + "name": "GET_ONSCREEN_KEYBOARD_RESULT", + "jhash": "0x44828FB3", + "comment": "Returns NULL unless UPDATE_ONSCREEN_KEYBOARD() returns 1 in the same tick.", + "params": [], + "return_type": "const char*", + "build": "323" + }, + "0x58A39BE597CE99CD": { + "name": "CANCEL_ONSCREEN_KEYBOARD", + "jhash": "", + "comment": "DO NOT use this as it doesn't clean up the text input box properly and your script will get stuck in the UPDATE_ONSCREEN_KEYBOARD() loop.\nUse FORCE_CLOSE_TEXT_INPUT_BOX instead.", + "params": [], + "return_type": "void", + "build": "757", + "old_names": [ + "_CANCEL_ONSCREEN_KEYBOARD" + ] + }, + "0x3ED1438C1F5C6612": { + "name": "NEXT_ONSCREEN_KEYBOARD_RESULT_WILL_DISPLAY_USING_THESE_FONTS", + "jhash": "0x3301EA47", + "comment": "p0 was always 2 in R* scripts.\nCalled before calling DISPLAY_ONSCREEN_KEYBOARD if the input needs to be saved.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA6A12939F16D85BE": { + "name": "ACTION_MANAGER_ENABLE_ACTION", + "jhash": "0x42B484ED", + "comment": "Appears to remove stealth kill action from memory", + "params": [ + { + "type": "Hash", + "name": "hash" + }, + { + "type": "BOOL", + "name": "enable" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REMOVE_STEALTH_KILL" + ] + }, + "0x3F60413F5DF65748": { + "name": "GET_REAL_WORLD_TIME", + "jhash": "", + "comment": "GET_GAME_TIMER() / 1000", + "params": [], + "return_type": "int", + "build": "2612" + }, + "0x1EAE0A6E978894A2": { + "name": "SUPRESS_RANDOM_EVENT_THIS_FRAME", + "jhash": "0x8F60366E", + "comment": "", + "params": [ + { + "type": "int", + "name": "eventType" + }, + { + "type": "BOOL", + "name": "suppress" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA66C71C98D5F2CFB": { + "name": "SET_EXPLOSIVE_AMMO_THIS_FRAME", + "jhash": "0x2EAFA1D1", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x11879CDD803D30F4": { + "name": "SET_FIRE_AMMO_THIS_FRAME", + "jhash": "0x7C18FC8A", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFF1BED81BFDC0FE0": { + "name": "SET_EXPLOSIVE_MELEE_THIS_FRAME", + "jhash": "0x96663D56", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x57FFF03E423A4C0B": { + "name": "SET_SUPER_JUMP_THIS_FRAME", + "jhash": "0x86745EF3", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x438822C279B73B93": { + "name": "SET_BEAST_JUMP_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SET_BEAST_MODE_ACTIVE" + ] + }, + "0xA1183BCFEE0F93D1": { + "name": "SET_FORCED_JUMP_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_SET_FORCE_PLAYER_TO_JUMP" + ] + }, + "0x6FDDF453C0C756EC": { + "name": "HAS_GAME_INSTALLED_THIS_SESSION", + "jhash": "0xC3C10FCC", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFB00CA71DA386228": { + "name": "SET_TICKER_JOHNMARSTON_IS_DONE", + "jhash": "0x054EC103", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5AA3BEFA29F03AD4": { + "name": "ARE_PROFILE_SETTINGS_VALID", + "jhash": "0x46B5A15C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xE3D969D2785FFB5E": { + "name": "PREVENT_ARREST_STATE_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC0AA53F866B3134D": { + "name": "FORCE_GAME_STATE_PLAYING", + "jhash": "0x5D209F25", + "comment": "Sets the localplayer playerinfo state back to playing (State 0)\n\nStates are:\n-1: \"Invalid\"\n0: \"Playing\"\n1: \"Died\"\n2: \"Arrested\"\n3: \"Failed Mission\"\n4: \"Left Game\"\n5: \"Respawn\"\n6: \"In MP Cutscene\"", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_LOCALPLAYER_STATE" + ] + }, + "0x0A60017F841A54F2": { + "name": "SCRIPT_RACE_INIT", + "jhash": "0x2D33F15A", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1FF6BF9A63E5757F": { + "name": "SCRIPT_RACE_SHUTDOWN", + "jhash": "0xDF99925C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1BB299305C3E8C13": { + "name": "SCRIPT_RACE_PLAYER_HIT_CHECKPOINT", + "jhash": "0xA27F4472", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8EF5573A1F801A5C": { + "name": "SCRIPT_RACE_GET_PLAYER_SPLIT_TIME", + "jhash": "0x07FF553F", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int*", + "name": "p1" + }, + { + "type": "int*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x92790862E36C2ADA": { + "name": "START_END_USER_BENCHMARK", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_START_BENCHMARK_RECORDING" + ] + }, + "0xC7DB36C24634F52B": { + "name": "STOP_END_USER_BENCHMARK", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_STOP_BENCHMARK_RECORDING" + ] + }, + "0x437138B6A830166A": { + "name": "RESET_END_USER_BENCHMARK", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_BENCHMARK_RECORDING" + ] + }, + "0x37DEB0AA183FB6D8": { + "name": "SAVE_END_USER_BENCHMARK", + "jhash": "", + "comment": "Saves the benchmark recording to %USERPROFILE%\\Documents\\Rockstar Games\\GTA V\\Benchmarks and submits some metrics.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_SAVE_BENCHMARK_RECORDING" + ] + }, + "0xEA2F2061875EED90": { + "name": "UI_STARTED_END_USER_BENCHMARK", + "jhash": "", + "comment": "Returns true if the current frontend menu is FE_MENU_VERSION_SP_PAUSE", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_UI_IS_SINGLEPLAYER_PAUSE_MENU_ACTIVE" + ] + }, + "0x3BBBD13E5041A79E": { + "name": "LANDING_SCREEN_STARTED_END_USER_BENCHMARK", + "jhash": "", + "comment": "Returns true if the current frontend menu is FE_MENU_VERSION_LANDING_MENU", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_LANDING_MENU_IS_ACTIVE" + ] + }, + "0xA049A5BE0F04F2F8": { + "name": "IS_COMMANDLINE_END_USER_BENCHMARK", + "jhash": "", + "comment": "Returns true if command line option '-benchmark' is set.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_COMMAND_LINE_BENCHMARK_VALUE_SET" + ] + }, + "0x4750FC27570311EC": { + "name": "GET_BENCHMARK_ITERATIONS", + "jhash": "", + "comment": "Returns value of the '-benchmarkIterations' command line option.", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_BENCHMARK_ITERATIONS_FROM_COMMAND_LINE" + ] + }, + "0x1B2366C3F2A5C8DF": { + "name": "GET_BENCHMARK_PASS", + "jhash": "", + "comment": "Returns value of the '-benchmarkPass' command line option.", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_BENCHMARK_PASS_FROM_COMMAND_LINE" + ] + }, + "0xE574A662ACAEFBB1": { + "name": "RESTART_GAME", + "jhash": "", + "comment": "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.", + "params": [], + "return_type": "void", + "build": "372", + "old_names": [ + "_RESTART_GAME" + ] + }, + "0xEB6891F03362FB12": { + "name": "QUIT_GAME", + "jhash": "", + "comment": "Exits the game and downloads a fresh social club update on next restart.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_FORCE_SOCIAL_CLUB_UPDATE" + ] + }, + "0x14832BF2ABA53FC5": { + "name": "HAS_ASYNC_INSTALL_FINISHED", + "jhash": "", + "comment": "Hardcoded to always return true.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_ASYNC_INSTALL_FINISHED" + ] + }, + "0xC79AE21974B01FB2": { + "name": "CLEANUP_ASYNC_INSTALL", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEANUP_ASYNC_INSTALL" + ] + }, + "0x684A41975F077262": { + "name": "PLM_IS_IN_CONSTRAINED_MODE", + "jhash": "", + "comment": "aka \"constrained\"", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_IN_POWER_SAVING_MODE" + ] + }, + "0xABB2FA71C83A1B72": { + "name": "PLM_GET_CONSTRAINED_DURATION_MS", + "jhash": "", + "comment": "Returns duration of how long the game has been in power-saving mode (aka \"constrained\") in milliseconds.", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_POWER_SAVING_MODE_DURATION" + ] + }, + "0x4EBB7E87AA0DBED4": { + "name": "SET_PLAYER_IS_IN_ANIMAL_FORM", + "jhash": "", + "comment": "If toggle is true, the ped's head is shown in the pause menu\nIf toggle is false, the ped's head is not shown in the pause menu", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHOW_PED_IN_PAUSE_MENU", + "_SET_PLAYER_IS_IN_ANIMAL_FORM" + ] + }, + "0x9689123E3F213AA5": { + "name": "GET_IS_PLAYER_IN_ANIMAL_FORM", + "jhash": "", + "comment": "Although we don't have a jenkins hash for this one, the name is 100% confirmed.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9D8D44ADBBA61EF2": { + "name": "SET_PLAYER_IS_REPEATING_A_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PLAYER_ROCKSTAR_EDITOR_DISABLED" + ] + }, + "0x23227DF0B2115469": { + "name": "DISABLE_SCREEN_DIMMING_THIS_FRAME", + "jhash": "", + "comment": "Does nothing (it's a nullsub).", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD10282B6E3751BA0": { + "name": "GET_CITY_DENSITY", + "jhash": "", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0x693478ACBD7F18E7": { + "name": "USE_ACTIVE_CAMERA_FOR_TIMESLICING_CENTRE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1103" + }, + "0x4B82FA6F2D624634": { + "name": "SET_CONTENT_ID_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "contentId" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "2612", + "old_names": [ + "_SET_CONTENT_MAP_INDEX" + ] + }, + "0xECF041186C5A94DC": { + "name": "GET_CONTENT_ID_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "contentId" + } + ], + "return_type": "int", + "build": "2612", + "old_names": [ + "_GET_CONTENT_MAP_INDEX" + ] + } + }, + "MOBILE": { + "0xA4E8E696C532FBC7": { + "name": "CREATE_MOBILE_PHONE", + "jhash": "0x5BBC5E23", + "comment": "Creates a mobile phone of the specified type.\n\nPossible phone types:\n\n0 - Default phone / Michael's phone\n1 - Trevor's phone\n2 - Franklin's phone\n3 - Unused police phone\n4 - Prologue phone\n\nHigher values may crash your game.", + "params": [ + { + "type": "int", + "name": "phoneType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3BC861DF703E5097": { + "name": "DESTROY_MOBILE_PHONE", + "jhash": "0x1A65037B", + "comment": "Destroys the currently active mobile phone.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCBDD322A73D6D932": { + "name": "SET_MOBILE_PHONE_SCALE", + "jhash": "0x09BCF1BE", + "comment": "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.", + "params": [ + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBB779C0CA917E865": { + "name": "SET_MOBILE_PHONE_ROTATION", + "jhash": "0x209C28CF", + "comment": "Last parameter is unknown and always zero.", + "params": [ + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1CEFB61F193070AE": { + "name": "GET_MOBILE_PHONE_ROTATION", + "jhash": "0x17A29F23", + "comment": "", + "params": [ + { + "type": "Vector3*", + "name": "rotation" + }, + { + "type": "Vehicle", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x693A5C6D6734085B": { + "name": "SET_MOBILE_PHONE_POSITION", + "jhash": "0x841800B3", + "comment": "", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0x584FDFDA48805B86": { + "name": "GET_MOBILE_PHONE_POSITION", + "jhash": "0xB2E1E1A0", + "comment": "", + "params": [ + { + "type": "Vector3*", + "name": "position" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF511F759238A5122": { + "name": "SCRIPT_IS_MOVING_MOBILE_PHONE_OFFSCREEN", + "jhash": "0x29828690", + "comment": "If bool Toggle = true so the mobile is hide to screen.\nIf bool Toggle = false so the mobile is show to screen.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC4E2813898C97A4B": { + "name": "CAN_PHONE_BE_SEEN_ON_SCREEN", + "jhash": "0x5F978584", + "comment": "This one is weird and seems to return a TRUE state regardless of whether the phone is visible on screen or tucked away.\n\n\nI can confirm the above. This function is hard-coded to always return 1.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x375A706A5C2FD084": { + "name": "SET_MOBILE_PHONE_DOF_STATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "372", + "old_names": [ + "_SET_MOBILE_PHONE_UNK" + ] + }, + "0x95C9E72F3D7DEC9B": { + "name": "CELL_SET_INPUT", + "jhash": "", + "comment": "For move the finger of player, the value of int goes 1 at 5.", + "params": [ + { + "type": "int", + "name": "direction" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_MOVE_FINGER", + "_CELL_CAM_MOVE_FINGER" + ] + }, + "0x44E44169EF70138E": { + "name": "CELL_HORIZONTAL_MODE_TOGGLE", + "jhash": "", + "comment": "if the bool \"Toggle\" is \"true\" so the phone is lean.\nif the bool \"Toggle\" is \"false\" so the phone is not lean.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PHONE_LEAN", + "_CELL_CAM_SET_LEAN" + ] + }, + "0xFDE8F069C542D126": { + "name": "CELL_CAM_ACTIVATE", + "jhash": "0x234C1AE9", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x015C49A93E3E086E": { + "name": "CELL_CAM_ACTIVATE_SELFIE_MODE", + "jhash": "0x4479B304", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_PHONE_THIS_FRAME", + "_CELL_CAM_DISABLE_THIS_FRAME" + ] + }, + "0xA2CCBE62CD4C91A4": { + "name": "CELL_CAM_ACTIVATE_SHALLOW_DOF_MODE", + "jhash": "0xC273BB4D", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1B0B4AEED5B9B41C": { + "name": "CELL_CAM_SET_SELFIE_MODE_SIDE_OFFSET_SCALING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x53F4892D18EC90A4": { + "name": "CELL_CAM_SET_SELFIE_MODE_HORZ_PAN_OFFSET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "horizontalPan" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3117D84EFA60F77B": { + "name": "CELL_CAM_SET_SELFIE_MODE_VERT_PAN_OFFSET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "vertPan" + } + ], + "return_type": "void", + "build": "323" + }, + "0x15E69E2802C24B8D": { + "name": "CELL_CAM_SET_SELFIE_MODE_ROLL_OFFSET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "roll" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAC2890471901861C": { + "name": "CELL_CAM_SET_SELFIE_MODE_DISTANCE_SCALING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "distanceScaling" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD6ADE981781FCA09": { + "name": "CELL_CAM_SET_SELFIE_MODE_HEAD_YAW_OFFSET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "yaw" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF1E22DC13F5EEBAD": { + "name": "CELL_CAM_SET_SELFIE_MODE_HEAD_ROLL_OFFSET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "roll" + } + ], + "return_type": "void", + "build": "323" + }, + "0x466DA42C89865553": { + "name": "CELL_CAM_SET_SELFIE_MODE_HEAD_PITCH_OFFSET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "pitch" + } + ], + "return_type": "void", + "build": "323" + }, + "0x439E9BC95B7E7FBE": { + "name": "CELL_CAM_IS_CHAR_VISIBLE_NO_FACE_CHECK", + "jhash": "0xBEA88097", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB4A53E05F68B6FA1": { + "name": "GET_MOBILE_PHONE_RENDER_ID", + "jhash": "0x88E4FECE", + "comment": "", + "params": [ + { + "type": "int*", + "name": "renderId" + } + ], + "return_type": "void", + "build": "323" + } + }, + "MONEY": { + "0x3DA5ECD1A56CBA6D": { + "name": "NETWORK_INITIALIZE_CASH", + "jhash": "0x66DA9935", + "comment": "", + "params": [ + { + "type": "int", + "name": "wallet" + }, + { + "type": "int", + "name": "bank" + } + ], + "return_type": "void", + "build": "323" + }, + "0x05A50AF38947EB8D": { + "name": "NETWORK_DELETE_CHARACTER", + "jhash": "0xA9F7E9C3", + "comment": "Note the 2nd parameters are always 1, 0. I have a feeling it deals with your money, wallet, bank. So when you delete the character it of course wipes the wallet cash at that time. So if that was the case, it would be eg, NETWORK_DELETE_CHARACTER(characterIndex, deleteWalletCash, deleteBankCash);", + "params": [ + { + "type": "int", + "name": "characterSlot" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x821418C727FCACD7": { + "name": "NETWORK_MANUAL_DELETE_CHARACTER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_NETWORK_MANUAL_DELETE_CHARACTER" + ] + }, + "0xFB2456B2040A6A67": { + "name": "NETWORK_GET_PLAYER_IS_HIGH_EARNER", + "jhash": "0x63F093A6", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_IS_HIGH_EARNER" + ] + }, + "0xA921DED15FDF28F5": { + "name": "NETWORK_CLEAR_CHARACTER_WALLET", + "jhash": "0x19F0C471", + "comment": "", + "params": [ + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFB18DF9CB95E0105": { + "name": "NETWORK_GIVE_PLAYER_JOBSHARE_CASH", + "jhash": "0xC6047FDB", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x56A3B51944C50598": { + "name": "NETWORK_RECEIVE_PLAYER_JOBSHARE_CASH", + "jhash": "0x4ED71C1A", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + }, + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1C2473301B1C66BA": { + "name": "NETWORK_CAN_SHARE_JOB_CASH", + "jhash": "0xA27B9FE8", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF9C812CD7C46E817": { + "name": "NETWORK_REFUND_CASH", + "jhash": "0x07C92F21", + "comment": "index\n-------\nSee function sub_1005 in am_boat_taxi.ysc\n\ncontext\n----------\n\"BACKUP_VAGOS\"\n\"BACKUP_LOST\"\n\"BACKUP_FAMILIES\"\n\"HIRE_MUGGER\"\n\"HIRE_MERCENARY\"\n\"BUY_CARDROPOFF\"\n\"HELI_PICKUP\"\n\"BOAT_PICKUP\"\n\"CLEAR_WANTED\"\n\"HEAD_2_HEAD\"\n\"CHALLENGE\"\n\"SHARE_LAST_JOB\"\n\"DEFAULT\"\n\nreason\n---------\n\"NOTREACHTARGET\"\n\"TARGET_ESCAPE\"\n\"DELIVERY_FAIL\"\n\"NOT_USED\"\n\"TEAM_QUIT\"\n\"SERVER_ERROR\"\n\"RECEIVE_LJ_L\"\n\"CHALLENGE_PLAYER_LEFT\"\n\"DEFAULT\"\n\nunk\n-----\nUnknown bool value\n\n", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "const char*", + "name": "context" + }, + { + "type": "const char*", + "name": "reason" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x18B7AE224B087E26": { + "name": "NETWORK_DEDUCT_CASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_DEDUCT_CASH" + ] + }, + "0x81404F3DC124FE5B": { + "name": "NETWORK_MONEY_CAN_BET", + "jhash": "0x8474E6F0", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3A54E33660DED67F": { + "name": "NETWORK_CAN_BET", + "jhash": "0xE3802533", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x158C16F5E4CF41F8": { + "name": "NETWORK_CASINO_CAN_BET", + "jhash": "", + "comment": "GTAO_CASINO_HOUSE\nGTAO_CASINO_INSIDETRACK\nGTAO_CASINO_LUCKYWHEEL\nGTAO_CASINO_BLACKJACK\nGTAO_CASINO_ROULETTE\nGTAO_CASINO_SLOTS\nGTAO_CASINO_PURCHASE_CHIPS\n\nNETWORK_C*", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "BOOL", + "build": "1734", + "old_names": [ + "_NETWORK_CASINO_CAN_USE_GAMBLING_TYPE" + ] + }, + "0x394DCDB9E836B7A9": { + "name": "NETWORK_CASINO_CAN_BET_PVC", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1734", + "old_names": [ + "_NETWORK_CASINO_CAN_PURCHASE_CHIPS_WITH_PVC" + ] + }, + "0xF62F6D9528358FE4": { + "name": "NETWORK_CASINO_CAN_BET_AMOUNT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "1734", + "unused": true, + "old_names": [ + "_NETWORK_CASINO_CAN_GAMBLE" + ] + }, + "0x8968D4D8C6C40C11": { + "name": "NETWORK_CASINO_CAN_BUY_CHIPS_PVC", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1734", + "old_names": [ + "_NETWORK_CASINO_CAN_PURCHASE_CHIPS_WITH_PVC_2" + ] + }, + "0x3BD101471C7F9EEC": { + "name": "NETWORK_CASINO_BUY_CHIPS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "1734", + "old_names": [ + "_NETWORK_CASINO_PURCHASE_CHIPS" + ] + }, + "0xED44897CB336F480": { + "name": "NETWORK_CASINO_SELL_CHIPS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "1734", + "old_names": [ + "_NETWORK_CASINO_SELL_CHIPS" + ] + }, + "0xCD0F5B5D932AE473": { + "name": "NETWORK_DEFER_CASH_TRANSACTIONS_UNTIL_SHOP_SAVE", + "jhash": "0xC4CD928D", + "comment": "Does nothing (it's a nullsub).", + "params": [], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x9777734DAD16992F": { + "name": "CAN_PAY_AMOUNT_TO_BOSS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "amount" + }, + { + "type": "int*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "573", + "unused": true, + "old_names": [ + "_CAN_PAY_GOON" + ] + }, + "0xED1517D3AF17C698": { + "name": "NETWORK_EARN_FROM_PICKUP", + "jhash": "0x70A0ED62", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0x718FBBF67414FA36": { + "name": "NETWORK_EARN_FROM_CASHING_OUT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_CASHING_OUT" + ] + }, + "0xA03D4ACE0A3284CE": { + "name": "NETWORK_EARN_FROM_GANGATTACK_PICKUP", + "jhash": "0x33C20BC4", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFA700D8A9905F78A": { + "name": "NETWORK_EARN_ASSASSINATE_TARGET_KILLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1604", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_ASSASSINATE_TARGET_KILLED" + ] + }, + "0xF514621E8EA463D0": { + "name": "NETWORK_EARN_FROM_ROB_ARMORED_CARS", + "jhash": "0x30B3EC0A", + "comment": "For the money bags that drop a max of $40,000. Often called 40k bags.\n\nMost likely NETWORK_EARN_FROM_ROB***", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_EARN_FROM_ARMOUR_TRUCK" + ] + }, + "0xB1CC1B9EC3007A2A": { + "name": "NETWORK_EARN_FROM_CRATE_DROP", + "jhash": "0xEAF04923", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0x827A5BA1A44ACA6D": { + "name": "NETWORK_EARN_FROM_BETTING", + "jhash": "0xA0F7F07C", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB2CC4836834E8A98": { + "name": "NETWORK_EARN_FROM_JOB", + "jhash": "0x0B6997FC", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDEBBF584665411D0": { + "name": "NETWORK_EARN_FROM_JOBX2", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "1734", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_JOB_X2" + ] + }, + "0xC8407624CEF2354B": { + "name": "NETWORK_EARN_FROM_PREMIUM_JOB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_NETWORK_EARN_FROM_PREMIUM_JOB" + ] + }, + "0x61326EE6DF15B0CA": { + "name": "NETWORK_EARN_FROM_BEND_JOB", + "jhash": "0xBB293400", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "heistHash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "NETWORK_EARN_FROM_MISSION_H" + ] + }, + "0x2B171E6B2F64D8DF": { + "name": "NETWORK_EARN_FROM_CHALLENGE_WIN", + "jhash": "0x2BEFB6C4", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x131BB5DA15453ACF": { + "name": "NETWORK_EARN_FROM_BOUNTY", + "jhash": "0x127F2DAE", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF92A014A634442D6": { + "name": "NETWORK_EARN_FROM_IMPORT_EXPORT", + "jhash": "0xF11FC458", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x45B8154E077D9E4D": { + "name": "NETWORK_EARN_FROM_HOLDUPS", + "jhash": "0xE6B90E9C", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0x849648349D77F5C5": { + "name": "NETWORK_EARN_FROM_PROPERTY", + "jhash": "0x9BE4F7E1", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "propertyName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x515B4A22E4D3C6D7": { + "name": "NETWORK_EARN_FROM_AI_TARGET_KILL", + "jhash": "0x866004A8", + "comment": "DSPORT", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4337511FA8221D36": { + "name": "NETWORK_EARN_FROM_NOT_BADSPORT", + "jhash": "0xCC068380", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0x02CE1D6AC0FC73EA": { + "name": "NETWORK_EARN_FROM_ROCKSTAR", + "jhash": "0x5A3733CC", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB539BD8A4C1EECF8": { + "name": "NETWORK_EARN_FROM_VEHICLE", + "jhash": "0xF803589D", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3F4D00167E41E0AD": { + "name": "NETWORK_EARN_FROM_PERSONAL_VEHICLE", + "jhash": "0x96B8BEE8", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6EA318C91C1A8786": { + "name": "NETWORK_EARN_FROM_DAILY_OBJECTIVES", + "jhash": "0xAB6BD72F", + "comment": "type either Monthly,Weekly,Daily", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "type" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_EARN_FROM_DAILY_OBJECTIVE" + ] + }, + "0xFB6DB092FBAE29E6": { + "name": "NETWORK_EARN_FROM_AMBIENT_JOB", + "jhash": "0xA14CC95D", + "comment": "Example for p1: \"AM_DISTRACT_COPS\"", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_EARN_FROM_AMBIENT_JOB" + ] + }, + "0x6816FB4416760775": { + "name": "NETWORK_EARN_FROM_JOB_BONUS", + "jhash": "0xBEE23713", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_EARN_FROM_JOB_BONUS" + ] + }, + "0xFA009A62990671D4": { + "name": "NETWORK_EARN_FROM_CRIMINAL_MASTERMIND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x9D4FDBB035229669": { + "name": "NETWORK_EARN_HEIST_AWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_JOB_BONUS_HEIST_AWARD" + ] + }, + "0x11B0A20C493F7E36": { + "name": "NETWORK_EARN_FIRST_TIME_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_JOB_BONUS_FIRST_TIME_BONUS" + ] + }, + "0xCDA1C62BE2777802": { + "name": "NETWORK_EARN_GOON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_NETWORK_EARN_GOON" + ] + }, + "0x08B0CA7A6AB3AC32": { + "name": "NETWORK_EARN_BOSS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_NETWORK_EARN_BOSS" + ] + }, + "0x0CB1BE0633C024A8": { + "name": "NETWORK_EARN_AGENCY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_NETWORK_EARN_BOSS_AGENCY" + ] + }, + "0x3E4ADAFF1830F146": { + "name": "NETWORK_EARN_FROM_WAREHOUSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "757", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_WAREHOUSE" + ] + }, + "0xECA658CE2A4E5A72": { + "name": "NETWORK_EARN_FROM_CONTRABAND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_EARN_FROM_CONTRABAND" + ] + }, + "0x84C0116D012E8FC2": { + "name": "NETWORK_EARN_FROM_DESTROYING_CONTRABAND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_EARN_FROM_DESTROYING_CONTRABAND" + ] + }, + "0x6B7E4FB50D5F3D65": { + "name": "NETWORK_EARN_FROM_SMUGGLER_WORK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_NETWORK_EARN_FROM_SMUGGLER_WORK" + ] + }, + "0x31BA138F6304FB9F": { + "name": "NETWORK_EARN_FROM_HANGAR_TRADE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_NETWORK_EARN_FROM_HANGAR_TRADE" + ] + }, + "0x55A1E095DB052FA5": { + "name": "NETWORK_EARN_PURCHASE_CLUB_HOUSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_EARN_FROM_PURCHASE_CLUBHOUSE" + ] + }, + "0x8586789730B10CAF": { + "name": "NETWORK_EARN_FROM_BUSINESS_PRODUCT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_EARN_FROM_BUSINESS_PRODUCT" + ] + }, + "0xEDEAD9A91EC768B3": { + "name": "NETWORK_EARN_FROM_VEHICLE_EXPORT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_EARN_FROM_VEHICLE_EXPORT" + ] + }, + "0xDEE612F2D71B0308": { + "name": "NETWORK_EARN_SMUGGLER_AGENCY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_NETWORK_EARN_FROM_SMUGGLING" + ] + }, + "0xF6B170F9A02E9E87": { + "name": "NETWORK_EARN_BOUNTY_HUNTER_REWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_BOUNTY_HUNTER_REWARD" + ] + }, + "0x42FCE14F50F27291": { + "name": "NETWORK_EARN_FROM_BUSINESS_BATTLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FROM_BUSINESS_BATTLE" + ] + }, + "0xA75EAC69F59E96E7": { + "name": "NETWORK_EARN_FROM_CLUB_MANAGEMENT_PARTICIPATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FROM_CLUB_MANAGEMENT_PARTICIPATION" + ] + }, + "0xC5156361F26E2212": { + "name": "NETWORK_EARN_FROM_FMBB_PHONECALL_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FROM_FMBB_PHONECALL_MISSION" + ] + }, + "0x0B39CF0D53F1C883": { + "name": "NETWORK_EARN_FROM_BUSINESS_HUB_SELL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FROM_BUSINESS_HUB_SELL" + ] + }, + "0x1FDA0AA679C9919B": { + "name": "NETWORK_EARN_FROM_FMBB_BOSS_WORK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FROM_FMBB_BOSS_WORK" + ] + }, + "0xFFFBA1B1F7C0B6F4": { + "name": "NETWORK_EARN_FMBB_WAGE_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FMBB_WAGE_BONUS" + ] + }, + "0xAB3CAA6B422164DA": { + "name": "NETWORK_CAN_SPEND_MONEY", + "jhash": "0x5AA379D9", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7303E27CC6532080": { + "name": "NETWORK_CAN_SPEND_MONEY2", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any*", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_CAN_SPEND_MONEY_2" + ] + }, + "0xF0077C797F66A355": { + "name": "NETWORK_BUY_ITEM", + "jhash": "0xA07B6368", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "item" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "const char*", + "name": "item_name" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + } + ], + "return_type": "void", + "build": "323" + }, + "0x17C3A7D31EAE39F9": { + "name": "NETWORK_SPENT_TAXI", + "jhash": "0x1F3DB3E3", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5FD5ED82CBBE9989": { + "name": "NETWORK_PAY_EMPLOYEE_WAGE", + "jhash": "0xBE70849B", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9346E14F2AF74D46": { + "name": "NETWORK_PAY_MATCH_ENTRY_FEE", + "jhash": "0x224A3488", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "matchId" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1C436FD11FFA692F": { + "name": "NETWORK_SPENT_BETTING", + "jhash": "0xF8A07513", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "const char*", + "name": "matchId" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD99DB210089617FE": { + "name": "NETWORK_SPENT_WAGER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_NETWORK_SPENT_WAGER" + ] + }, + "0xEE99784E4467689C": { + "name": "NETWORK_SPENT_IN_STRIPCLUB", + "jhash": "0x8957038E", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD9B067E55253E3DD": { + "name": "NETWORK_BUY_HEALTHCARE", + "jhash": "0x832150E5", + "comment": "", + "params": [ + { + "type": "int", + "name": "cost" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x763B4BD305338F19": { + "name": "NETWORK_BUY_AIRSTRIKE", + "jhash": "0x40470683", + "comment": "p1 = 0 (always)\np2 = 1 (always)", + "params": [ + { + "type": "int", + "name": "cost" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA3EDDAA42411D3B9": { + "name": "NETWORK_BUY_BACKUP_GANG", + "jhash": "0x2AD2EC51", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x81AA4610E3FD3A69": { + "name": "NETWORK_BUY_HELI_STRIKE", + "jhash": "0x047547D4", + "comment": "p1 = 0 (always)\np2 = 1 (always)", + "params": [ + { + "type": "int", + "name": "cost" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB162DC95C0A3317B": { + "name": "NETWORK_SPENT_AMMO_DROP", + "jhash": "0x4B643076", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7B718E197453F2D9": { + "name": "NETWORK_BUY_BOUNTY", + "jhash": "0xCB89CBE0", + "comment": "p1 is just an assumption. p2 was false and p3 was true.", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Player", + "name": "victim" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x650A08A280870AF6": { + "name": "NETWORK_BUY_PROPERTY", + "jhash": "0x7D479AAB", + "comment": "", + "params": [ + { + "type": "int", + "name": "cost" + }, + { + "type": "Hash", + "name": "propertyName" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x75AF80E61248EEBD": { + "name": "NETWORK_BUY_SMOKES", + "jhash": "0xC0AB03EB", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x7BF1D73DB2ECA492": { + "name": "NETWORK_SPENT_HELI_PICKUP", + "jhash": "0x27EEBCAB", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x524EE43A37232C00": { + "name": "NETWORK_SPENT_BOAT_PICKUP", + "jhash": "0xB241CABD", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA6DD8458CE24012C": { + "name": "NETWORK_SPENT_BULL_SHARK", + "jhash": "0xDE7D398C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x289016EC778D60E0": { + "name": "NETWORK_SPENT_CASH_DROP", + "jhash": "0x87BD1D11", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE404BFB981665BF0": { + "name": "NETWORK_SPENT_HIRE_MUGGER", + "jhash": "0xE792C4A5", + "comment": "Only used once in a script (am_contact_requests)\np1 = 0\np2 = 1", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x995A65F15F581359": { + "name": "NETWORK_SPENT_ROBBED_BY_MUGGER", + "jhash": "0xE6AAA0D5", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE7B80E2BF9D80BD6": { + "name": "NETWORK_SPENT_HIRE_MERCENARY", + "jhash": "0x99CF02C4", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE1B13771A843C4F6": { + "name": "NETWORK_SPENT_BUY_WANTEDLEVEL", + "jhash": "0xE7CB4F95", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA628A745E2275C5D": { + "name": "NETWORK_SPENT_BUY_OFFTHERADAR", + "jhash": "0x20DDCF2F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E176F1B18BC0637": { + "name": "NETWORK_SPENT_BUY_REVEAL_PLAYERS", + "jhash": "0x2F7836E2", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEC03C719DB2F4306": { + "name": "NETWORK_SPENT_CARWASH", + "jhash": "0x8283E028", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B38ECB05A63A685": { + "name": "NETWORK_SPENT_CINEMA", + "jhash": "0x1100CAF5", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7FE61782AD94CC09": { + "name": "NETWORK_SPENT_TELESCOPE", + "jhash": "0xAE7FF044", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD9B86B9872039763": { + "name": "NETWORK_SPENT_HOLDUPS", + "jhash": "0x1B3803B1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6D3A430D1A809179": { + "name": "NETWORK_SPENT_BUY_PASSIVE_MODE", + "jhash": "0x7E97C92C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCA230C9682556CF1": { + "name": "NETWORK_SPENT_BANK_INTEREST", + "jhash": "0xF02E92D7", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0xB21B89501CFAC79E": { + "name": "NETWORK_SPENT_PROSTITUTES", + "jhash": "0x78436D07", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x812F5488B1B2A299": { + "name": "NETWORK_SPENT_ARREST_BAIL", + "jhash": "0x5AEE2FC1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9FF28D88C766E3E8": { + "name": "NETWORK_SPENT_PAY_VEHICLE_INSURANCE_PREMIUM", + "jhash": "0x4E665BB2", + "comment": "According to how I understood this in the freemode script alone,\nThe 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.\n\nThe second parameter whoever put it was right, they call GET_ENTITY_MODEL with the vehicle as the paremeter.\n\nThe third parameter is the network handle as they call their little struct<13> func or atleast how the script decompiled it to look which in lamens terms just returns the network handle of the previous owner based on DECOR_GET_INT(vehicle, \"Previous_Owner\").\n\nThe fourth parameter is a bool that returns true/false depending on if your bank balance is greater then 0.\n\nThe 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,\nbool hasTheMoney = MONEY::_GET_BANK_BALANCE() < carCost.", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "vehicleModel" + }, + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "BOOL", + "name": "notBankrupt" + }, + { + "type": "BOOL", + "name": "hasTheMoney" + } + ], + "return_type": "void", + "build": "323" + }, + "0xACDE7185B374177C": { + "name": "NETWORK_SPENT_CALL_PLAYER", + "jhash": "0x1A89B5FC", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x29B260B84947DFCC": { + "name": "NETWORK_SPENT_BOUNTY", + "jhash": "0x3401FC96", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6A445B64ED7ABEB5": { + "name": "NETWORK_SPENT_FROM_ROCKSTAR", + "jhash": "0x54198922", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x9B5016A6433A68C5": { + "name": "NETWORK_SPEND_EARNED_FROM_BANK_AND_WALLETS", + "jhash": "0xBD64F1B7", + "comment": "Hardcoded to return 0.", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "int", + "build": "323", + "unused": true + }, + "0x20194D48EAEC9A41": { + "name": "PROCESS_CASH_GIFT", + "jhash": "0xC5D8B1E9", + "comment": "This isn't a hash collision.", + "params": [ + { + "type": "int*", + "name": "p0" + }, + { + "type": "int*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xCD4D66B43B1DD28D": { + "name": "NETWORK_SPENT_MOVE_SUBMARINE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_SPENT_ON_MOVE_SUBMARINE" + ] + }, + "0x7C99101F7FCE2EE5": { + "name": "NETWORK_SPENT_PLAYER_HEALTHCARE", + "jhash": "0x3D96A21C", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0xD5BB406F4E04019F": { + "name": "NETWORK_SPENT_NO_COPS", + "jhash": "0x2E51C61C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x948705F6F9C50824": { + "name": "NETWORK_SPENT_CARGO_SOURCING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_SPENT_CARGO_SOURCING" + ] + }, + "0x8204DA7934DF3155": { + "name": "NETWORK_SPENT_REQUEST_JOB", + "jhash": "0xD57A5125", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9D26502BB97BFE62": { + "name": "NETWORK_SPENT_REQUEST_HEIST", + "jhash": "0xF4287778", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_SPENT_REQUEST_HEIST" + ] + }, + "0x8A7B3952DD64D2B5": { + "name": "NETWORK_BUY_FAIRGROUND_RIDE", + "jhash": "0xD9622D64", + "comment": "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.\n\nThe last 3 parameters are, \n2,0,1 in the am_ferriswheel.c\n1,0,1 in the am_rollercoaster.c\n", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7C4FCCD2E4DEB394": { + "name": "NETWORK_ECONOMY_HAS_FIXED_CRAZY_NUMBERS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x28F174A67B8D0C2F": { + "name": "NETWORK_SPENT_JOB_SKIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "matchId" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_JOB_SKIP" + ] + }, + "0xFFBE02CD385356BD": { + "name": "NETWORK_SPENT_BOSS_GOON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "573", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_BOSS" + ] + }, + "0x08A1B82B91900682": { + "name": "NETWORK_SPEND_GOON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_NETWORK_SPENT_PAY_GOON", + "_NETWORK_SPENT_GOON_PAY" + ] + }, + "0xDBC966A01C02BCA7": { + "name": "NETWORK_SPEND_BOSS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_NETWORK_SPENT_PAY_BOSS", + "_NETWORK_SPENT_BOSS_PAY" + ] + }, + "0xE7DF4E0545DFB56E": { + "name": "NETWORK_SPENT_MOVE_YACHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_NETWORK_SPENT_MOVE_YACHT" + ] + }, + "0xFC4EE00A7B3BFB76": { + "name": "NETWORK_SPENT_RENAME_ORGANIZATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_NETWORK_SPENT_RENAME_ORGANIZATION" + ] + }, + "0x30FD873ECE50E9F6": { + "name": "NETWORK_BUY_CONTRABAND_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Hash", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_BUY_CONTRABAND" + ] + }, + "0x112209CE0290C03A": { + "name": "NETWORK_SPENT_PA_SERVICE_HELI", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_PA_SERVICE_HELI" + ] + }, + "0xED5FD7AF10F5E262": { + "name": "NETWORK_SPENT_PA_SERVICE_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_PA_SERVICE_VEHICLE" + ] + }, + "0x0D30EB83668E63C5": { + "name": "NETWORK_SPENT_PA_SERVICE_SNACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_PA_SERVICE_SNACK" + ] + }, + "0xB49ECA122467D05F": { + "name": "NETWORK_SPENT_PA_SERVICE_DANCER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_PA_SERVICE_DANCER" + ] + }, + "0xE23ADC6FCB1F29AE": { + "name": "NETWORK_SPENT_PA_SERVICE_IMPOUND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_PA_SERVICE_IMPOUND" + ] + }, + "0x0FE8E1FCD2B86B33": { + "name": "NETWORK_SPENT_PA_HELI_PICKUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_PA_SERVICE_HELI_PICKUP" + ] + }, + "0x69EF772B192614C1": { + "name": "NETWORK_SPENT_PURCHASE_OFFICE_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_PURCHASE_OFFICE" + ] + }, + "0x8E243837643D9583": { + "name": "NETWORK_SPENT_UPGRADE_OFFICE_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_OFFICE" + ] + }, + "0xBD0EFB25CCA8F97A": { + "name": "NETWORK_SPENT_PURCHASE_WAREHOUSE_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_PURCHASE_WAREHOUSE" + ] + }, + "0xA95F667A755725DA": { + "name": "NETWORK_SPENT_UPGRADE_WAREHOUSE_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_WAREHOUSE" + ] + }, + "0x33981D6804E62F49": { + "name": "NETWORK_SPENT_PURCHASE_IMPEXP_WAREHOUSE_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any*", + "name": "data" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SPENT_PURCHASE_IMPORTEXPORT_WAREHOUSE" + ] + }, + "0x4128464231E3CA0B": { + "name": "NETWORK_SPENT_UPGRADE_IMPEXP_WAREHOUSE_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_IMPORTEXPORT_WAREHOUSE" + ] + }, + "0x2FAB6614CE22E196": { + "name": "NETWORK_SPENT_TRADE_IMPEXP_WAREHOUSE_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "944" + }, + "0x05F04155A226FBBF": { + "name": "NETWORK_SPENT_ORDER_WAREHOUSE_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_ORDER_WAREHOUSE_VEHICLE" + ] + }, + "0xE8B0B270B6E7C76E": { + "name": "NETWORK_SPENT_ORDER_BODYGUARD_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_NETWORK_SPENT_ORDER_BODYGUARD_VEHICLE" + ] + }, + "0x5BCDE0F640C773D2": { + "name": "NETWORK_SPENT_JUKEBOX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_SPENT_JUKEBOX" + ] + }, + "0x998E18CEB44487FC": { + "name": "NETWORK_SPENT_PURCHASE_CLUB_HOUSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_SPENT_PURCHASE_CLUBHOUSE" + ] + }, + "0xFA07759E6FDDD7CF": { + "name": "NETWORK_SPENT_UPGRADE_CLUB_HOUSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_CLUBHOUSE" + ] + }, + "0x6FD97159FE3C971A": { + "name": "NETWORK_SPENT_PURCHASE_BUSINESS_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "877" + }, + "0x675D19C6067CAE08": { + "name": "NETWORK_SPENT_UPGRADE_BUSINESS_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_BUSINESS_PROPERTY" + ] + }, + "0xA51B086B0B2C0F7A": { + "name": "NETWORK_SPENT_TRADE_BUSINESS_PROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "877" + }, + "0xD7CCCBA28C4ECAF0": { + "name": "NETWORK_SPENT_MC_ABILITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_SPENT_BA_SERVICE" + ] + }, + "0x0035BB914316F1E3": { + "name": "NETWORK_SPENT_PAY_BUSINESS_SUPPLIES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_SPENT_BUSINESS" + ] + }, + "0x5F456788B05FAEAC": { + "name": "NETWORK_SPENT_CHANGE_APPEARANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SPENT_CHANGE_APPEARANCE" + ] + }, + "0xA75CCF58A60A5FD1": { + "name": "NETWORK_SPENT_VEHICLE_EXPORT_MODS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SPENT_VEHICLE_EXPORT_MODS" + ] + }, + "0xB4C2EC463672474E": { + "name": "NETWORK_SPENT_PURCHASE_OFFICE_GARAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SPENT_PURCHASE_OFFICE_GARAGE" + ] + }, + "0x2AFC2D19B50797F2": { + "name": "NETWORK_SPENT_UPGRADE_OFFICE_GARAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_OFFICE_GARAGE" + ] + }, + "0xC1952F3773BA18FE": { + "name": "NETWORK_SPENT_IMPORT_EXPORT_REPAIR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SPENT_IMPORT_EXPORT_REPAIR" + ] + }, + "0xCCB339CC970452DA": { + "name": "NETWORK_SPENT_PURCHASE_HANGAR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_NETWORK_SPENT_PURCHASE_HANGAR" + ] + }, + "0x615EB504B0788DAF": { + "name": "NETWORK_SPENT_UPGRADE_HANGAR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_HANGAR" + ] + }, + "0xB18AC2ECBB15CB6A": { + "name": "NETWORK_SPENT_HANGAR_UTILITY_CHARGES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1180", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_HANGAR_UTILITY_CHARGES" + ] + }, + "0xB1F1346FD57685D7": { + "name": "NETWORK_SPENT_HANGAR_STAFF_CHARGES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1180", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_HANGAR_STAFF_CHARGES" + ] + }, + "0xAC272C0AE01B4BD8": { + "name": "NETWORK_SPENT_BUY_TRUCK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_NETWORK_SPENT_BUY_TRUCK" + ] + }, + "0x365E877C61D6988B": { + "name": "NETWORK_SPENT_UPGRADE_TRUCK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_TRUCK" + ] + }, + "0x12D148D26538D0F9": { + "name": "NETWORK_SPENT_BUY_BUNKER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_NETWORK_SPENT_BUY_BUNKER" + ] + }, + "0x0C82D21A77C22D49": { + "name": "NETWORK_SPENT_UPRADE_BUNKER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_BUNKER" + ] + }, + "0x9251B6ABF2D0A5B4": { + "name": "NETWORK_EARN_FROM_SELL_BUNKER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "bunkerHash" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_NETWORK_EARN_FROM_SELL_BUNKER" + ] + }, + "0x5D97630A8A0EF123": { + "name": "NETWORK_SPENT_BALLISTIC_EQUIPMENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_NETWORK_SPENT_BALLISTIC_EQUIPMENT" + ] + }, + "0x7A5349B773584675": { + "name": "NETWORK_EARN_RDR_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_RDR_BONUS" + ] + }, + "0x35F8DA0E8A31EF1B": { + "name": "NETWORK_EARN_WAGE_PAYMENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_NETWORK_EARN_FROM_WAGE_PAYMENT" + ] + }, + "0x005ACA7100BD101D": { + "name": "NETWORK_EARN_WAGE_PAYMENT_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_NETWORK_EARN_FROM_WAGE_PAYMENT_BONUS" + ] + }, + "0x4EA3F425C7744D21": { + "name": "NETWORK_SPENT_BUY_BASE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_BUY_BASE" + ] + }, + "0x3DD3F33A5D55EA6F": { + "name": "NETWORK_SPENT_UPGRADE_BASE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_BASE" + ] + }, + "0x0CCE73BC7A11E885": { + "name": "NETWORK_SPENT_BUY_TILTROTOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_BUY_TILTROTOR" + ] + }, + "0x165E135D6DFA2907": { + "name": "NETWORK_SPENT_UPGRADE_TILTROTOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_TILTROTOR" + ] + }, + "0x5BBBD92186E1F1C5": { + "name": "NETWORK_SPENT_EMPLOY_ASSASSINS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_EMPLOY_ASSASSINS" + ] + }, + "0x771ADB0E7635B7BF": { + "name": "NETWORK_SPEND_GANGOPS_CANNON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_GANGOPS_CANNON" + ] + }, + "0xDA947AE8880D5C18": { + "name": "NETWORK_SPEND_GANGOPS_SKIP_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_GANGOPS_START_MISSION" + ] + }, + "0x487009DD91D93429": { + "name": "NETWORK_SPEND_CASINO_HEIST_SKIP_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_SPENT_CASINO_HEIST_SKIP_MISSION" + ] + }, + "0x0E1E2FF3F4EC11AA": { + "name": "NETWORK_EARN_SELL_BASE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "baseNameHash" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_SELL_BASE" + ] + }, + "0x5B669CF2299A271F": { + "name": "NETWORK_EARN_TARGET_REFUND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_TARGET_REFUND" + ] + }, + "0x2DCB19ABAB0380A8": { + "name": "NETWORK_EARN_GANGOPS_WAGES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_GANGOPS_WAGES" + ] + }, + "0x15BB2A5C757EB91F": { + "name": "NETWORK_EARN_GANGOPS_WAGES_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_GANGOPS_WAGES_BONUS" + ] + }, + "0xCAC672087B4A24AB": { + "name": "NETWORK_EARN_DAR_CHALLENGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1290", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_DAR_CHALLENGE" + ] + }, + "0x128A747F4A230952": { + "name": "NETWORK_EARN_DOOMSDAY_FINALE_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "vehicleHash" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_DOOMSDAY_FINALE_BONUS" + ] + }, + "0xA9A31475F530DFDA": { + "name": "NETWORK_EARN_GANGOPS_AWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_GANGOPS_AWARDS" + ] + }, + "0x2597A0D4A4FC2C77": { + "name": "NETWORK_EARN_GANGOPS_ELITE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "int", + "name": "actIndex" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_GANGOPS_ELITE" + ] + }, + "0x1B882107C23A9022": { + "name": "NETWORK_SERVICE_EARN_GANGOPS_RIVAL_DELIVERY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "earnedMoney" + } + ], + "return_type": "void", + "build": "1290", + "unused": true, + "old_names": [ + "_NETWORK_RIVAL_DELIVERY_COMPLETED" + ] + }, + "0xA19EC0786E326E06": { + "name": "NETWORK_SPEND_GANGOPS_START_STRAND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "type" + }, + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_GANGOPS_START_STRAND" + ] + }, + "0x5ECE6FD7B4EC8D6A": { + "name": "NETWORK_SPEND_GANGOPS_TRIP_SKIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_GANGOPS_TRIP_SKIP" + ] + }, + "0xED26584F6BDCBBFD": { + "name": "NETWORK_EARN_GANGOPS_PREP_PARTICIPATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_GANGOPS_JOBS_PREP_PARTICIPATION" + ] + }, + "0xA9160796D47A2CF8": { + "name": "NETWORK_EARN_GANGOPS_SETUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_GANGOPS_JOBS_SETUP" + ] + }, + "0x1C121FC9545E0D52": { + "name": "NETWORK_EARN_GANGOPS_FINALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_EARN_FROM_GANGOPS_JOBS_FINALE" + ] + }, + "0x2A7CEC72C3443BCC": { + "name": "NETWORK_SPEND_GANGOPS_REPAIR_COST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_NETWORK_SPENT_GANGOPS_REPAIR_COST" + ] + }, + "0xE0F82D68C7039158": { + "name": "NETWORK_EARN_NIGHTCLUB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FROM_NIGHTCLUB_INCOME" + ] + }, + "0xB4DEAE67F35E2ACD": { + "name": "NETWORK_EARN_NIGHTCLUB_DANCING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FROM_NIGHTCLUB_DANCING" + ] + }, + "0xFDD8D2440DAF1590": { + "name": "NETWORK_EARN_BB_EVENT_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_EARN_FROM_BB_EVENT_BONUS" + ] + }, + "0x2A93C46AAB1EACC9": { + "name": "NETWORK_SPENT_PURCHASE_HACKER_TRUCK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_SPENT_PURCHASE_HACKER" + ] + }, + "0x226C284C830D0CA8": { + "name": "NETWORK_SPENT_UPGRADE_HACKER_TRUCK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_HACKER" + ] + }, + "0xE8815FE993896AD3": { + "name": "NETWORK_EARN_HACKER_TRUCK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_HACKER_TRUCK_MISSION" + ] + }, + "0xED76D195E6E3BF7F": { + "name": "NETWORK_SPENT_PURCHASE_NIGHTCLUB_AND_WAREHOUSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_SPENT_PURCHASE_NIGHTCLUB" + ] + }, + "0x1DC9B749E7AE282B": { + "name": "NETWORK_SPENT_UPGRADE_NIGHTCLUB_AND_WAREHOUSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_NIGHTCLUB" + ] + }, + "0xC6E74CF8C884C880": { + "name": "NETWORK_EARN_NIGHTCLUB_AND_WAREHOUSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_EARN_FROM_NIGHTCLUB_LOCATION" + ] + }, + "0x65482BFD0923C8A1": { + "name": "NETWORK_SPEND_NIGHTCLUB_AND_WAREHOUSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_SPENT_NIGHTCLUB_BATHROOM_ATTENDANT" + ] + }, + "0xE284D46FFDB82E36": { + "name": "NETWORK_SPENT_RDR_HATCHET_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1493", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_RDRHATCHET_BONUS" + ] + }, + "0x876056684281655D": { + "name": "NETWORK_SPENT_NIGHTCLUB_ENTRY_FEE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_SPENT_NIGHTCLUB_ENTRY_FEE" + ] + }, + "0xDD21B016E4289465": { + "name": "NETWORK_SPEND_NIGHTCLUB_BAR_DRINK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_SPENT_NIGHTCLUB_BAR_DRINK" + ] + }, + "0x1BEA0CD93470BB1F": { + "name": "NETWORK_SPEND_BOUNTY_HUNTER_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1493", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_BOUNTY_HUNTER_MISSION" + ] + }, + "0xF6C8A544E4CF14FC": { + "name": "NETWORK_SPENT_REHIRE_DJ", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_NETWORK_SPENT_REHIRE_DJ" + ] + }, + "0x14EAEA58F93B55AF": { + "name": "NETWORK_SPENT_ARENA_JOIN_SPECTATOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_SPENT_ARENA_JOIN_SPECTATOR" + ] + }, + "0xE08256F972C7BB2C": { + "name": "NETWORK_EARN_ARENA_SKILL_LEVEL_PROGRESSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_EARN_FROM_ARENA_SKILL_LEVEL_PROGRESSION" + ] + }, + "0x0F99F70C61F14619": { + "name": "NETWORK_EARN_ARENA_CAREER_PROGRESSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_EARN_FROM_ARENA_CAREER_PROGRESSION" + ] + }, + "0xE5F5A060439C2F5D": { + "name": "NETWORK_SPEND_MAKE_IT_RAIN", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_SPENT_MAKE_IT_RAIN" + ] + }, + "0x40D5DA9550B7CB46": { + "name": "NETWORK_SPEND_BUY_ARENA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "const char*", + "name": "p3" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_SPENT_BUY_ARENA" + ] + }, + "0x037ABB06825D7AB1": { + "name": "NETWORK_SPEND_UPGRADE_ARENA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "const char*", + "name": "p3" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_ARENA" + ] + }, + "0x7049BF858601DC0F": { + "name": "NETWORK_SPEND_ARENA_SPECTATOR_BOX", + "jhash": "", + "comment": "type either, 1 for cam spectate, 2 for drone", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "type" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_SPENT_ARENA_SPECTATOR_BOX" + ] + }, + "0x9A5BD1D0000B339C": { + "name": "NETWORK_SPEND_SPIN_THE_WHEEL_PAYMENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_SPENT_SPIN_THE_WHEEL_PAYMENT" + ] + }, + "0x676C48776CACBB5A": { + "name": "NETWORK_EARN_SPIN_THE_WHEEL_CASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_EARN_FROM_SPIN_THE_WHEEL_CASH" + ] + }, + "0x619496D837EFD920": { + "name": "NETWORK_SPEND_ARENA_PREMIUM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1604", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_ARENA_PREMIUM" + ] + }, + "0x631F1CB8FB4130AA": { + "name": "NETWORK_EARN_ARENA_WAR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_EARN_FROM_ARENA_WAR" + ] + }, + "0x5E7AE8AABE8B7C0D": { + "name": "NETWORK_EARN_ARENA_WAR_ASSASSINATE_TARGET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_NETWORK_EARN_FROM_ASSASSINATE_TARGET_KILLED_2" + ] + }, + "0xA82959062361B259": { + "name": "NETWORK_EARN_ARENA_WAR_EVENT_CARGO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1604", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_BB_EVENT_CARGO" + ] + }, + "0xDFF49EE984E7AAE8": { + "name": "NETWORK_EARN_RC_TIME_TRIAL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_RC_TIME_TRIAL" + ] + }, + "0x5128DF14A5BB86FC": { + "name": "NETWORK_EARN_DAILY_OBJECTIVE_EVENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_DAILY_OBJECTIVE_EVENT" + ] + }, + "0xFBBE0570EDF39D46": { + "name": "NETWORK_SPEND_CASINO_MEMBERSHIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_SPENT_CASINO_MEMBERSHIP" + ] + }, + "0x34A6FC4D06C4DA0F": { + "name": "NETWORK_SPEND_BUY_CASINO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_SPENT_BUY_CASINO" + ] + }, + "0x4740D62BC1B4EBEA": { + "name": "NETWORK_SPEND_UPGRADE_CASINO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_CASINO" + ] + }, + "0x88BF9B612B84D3C3": { + "name": "NETWORK_SPEND_CASINO_GENERIC", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_SPENT_CASINO_GENERIC" + ] + }, + "0x0819DB99FD2FBBD8": { + "name": "NETWORK_EARN_CASINO_TIME_TRIAL_WIN", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1734", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_TIME_TRIAL_WIN" + ] + }, + "0x5517F90043466049": { + "name": "NETWORK_EARN_COLLECTABLES_ACTION_FIGURES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_COLLECTABLES_ACTION_FIGURES" + ] + }, + "0x83AD64F53F4E9483": { + "name": "NETWORK_EARN_CASINO_COLLECTABLE_COMPLETED_COLLECTION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_COMPLETE_COLLECTION" + ] + }, + "0x8BCB27A057DF7B7F": { + "name": "NETWORK_EARN_SELL_PRIZE_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_SELLING_VEHICLE" + ] + }, + "0x566FD402B25787DE": { + "name": "NETWORK_EARN_CASINO_MISSION_REWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_CASINO_MISSION_REWARD" + ] + }, + "0xAC95ED552157E092": { + "name": "NETWORK_EARN_CASINO_STORY_MISSION_REWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_CASINO_STORY_MISSION_REWARD" + ] + }, + "0x09E8F18641BE2575": { + "name": "NETWORK_EARN_CASINO_MISSION_PARTICIPATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1734", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_CASINO_MISSION_PARTICIPATION" + ] + }, + "0x973A9781A34F8DEB": { + "name": "NETWORK_EARN_CASINO_AWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_CASINO_AWARD" + ] + }, + "0x870289A558348378": { + "name": "NETWORK_SPEND_BUY_ARCADE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_SPENT_BUY_ARCADE" + ] + }, + "0x5574637681911FDA": { + "name": "NETWORK_SPEND_UPGRADE_ARCADE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_ARCADE" + ] + }, + "0xD30E8392F407C328": { + "name": "NETWORK_SPEND_CASINO_HEIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_SPENT_CASINO_HEIST" + ] + }, + "0xB5B58E24868CB09E": { + "name": "NETWORK_SPEND_ARCADE_MGMT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_SPENT_ARCADE_MGMT_CABINET" + ] + }, + "0xEAD3D81F2C3A1458": { + "name": "NETWORK_SPEND_PLAY_ARCADE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_SPENT_ARCADE_GAME", + "_NETWORK_SPENT_PLAY_ARCADE_CABINET" + ] + }, + "0x43AA7FAC4E6D6687": { + "name": "NETWORK_SPEND_ARCADE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_SPENT_ARCADE_GENERIC" + ] + }, + "0x72E7C7B9615FA3C3": { + "name": "NETWORK_EARN_CASINO_HEIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_EARN_CASINO_HEIST" + ] + }, + "0x4C3B75694F7E0D9C": { + "name": "NETWORK_EARN_UPGRADE_ARCADE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_EARN_FROM_UPGRADE_ARCADE_LOCATION" + ] + }, + "0xD29334ED1A256DBF": { + "name": "NETWORK_EARN_ARCADE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_EARN_FROM_ARCADE", + "_NETWORK_EARN_FROM_ARCADE_AWARD" + ] + }, + "0xA95CFB4E02390842": { + "name": "NETWORK_EARN_COLLECTABLES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_EARN_FROM_ARCADE_COLLECTABLES" + ] + }, + "0x0DD362F14F18942A": { + "name": "NETWORK_EARN_CHALLENGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1868", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_ARCADE_KILLS_CHALLENGE" + ] + }, + "0x3EC7471E6909798A": { + "name": "NETWORK_EARN_CASINO_HEIST_AWARDS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_NETWORK_EARN_CASINO_HEIST_BONUS" + ] + }, + "0x84FF63BD4966F33D": { + "name": "NETWORK_EARN_COLLECTABLE_ITEM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_NETWORK_EARN_FROM_COLLECTION_ITEM" + ] + }, + "0x5C9B198AF5A54FA6": { + "name": "NETWORK_EARN_COLLECTABLE_COMPLETED_COLLECTION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2060", + "old_names": [ + "_NETWORK_EARN_COLLECTABLE_COMPLETED_COLLECTION" + ] + }, + "0xDE68E30D89F97132": { + "name": "NETWORK_EARN_YATCH_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2060", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_YACHT_MISSION" + ] + }, + "0xE2E244AB823B4483": { + "name": "NETWORK_EARN_DISPATCH_CALL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2060", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_YACHT_MISSION_2" + ] + }, + "0x54ABA22FA6371249": { + "name": "NETWORK_SPEND_BEACH_PARTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_SPENT_BEACH_PARTY_GENERIC" + ] + }, + "0x6C8BC1488527AAAB": { + "name": "NETWORK_SPEND_SUBMARINE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_SPENT_SUBMARINE" + ] + }, + "0xC991C255AA6D90B2": { + "name": "NETWORK_SPEND_CASINO_CLUB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount1" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "p5" + }, + { + "type": "int", + "name": "p6" + }, + { + "type": "int", + "name": "amount2" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_SPENT_CASINO_CLUB_GENERIC" + ] + }, + "0x90CD7C6871FBF1B4": { + "name": "NETWORK_SPEND_BUY_SUB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_SPENT_BUY_SUB" + ] + }, + "0x89049A84065CE68E": { + "name": "NETWORK_SPEND_UPGRADE_SUB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_SUB" + ] + }, + "0xE86689E5F82DE429": { + "name": "NETWORK_SPEND_ISLAND_HEIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_SPENT_ISLAND_HEIST" + ] + }, + "0xD21D111C46BA9F15": { + "name": "NETWORK_EARN_ISLAND_HEIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount1" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "int", + "name": "amount2" + }, + { + "type": "int", + "name": "p5" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_EARN_ISLAND_HEIST" + ] + }, + "0xA51338E0DCCD4065": { + "name": "NETWORK_EARN_BEACH_PARTY_LOST_FOUND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "2189", + "unused": true, + "old_names": [ + "_NETWORK_EARN_FROM_BEACH_PARTY_LOST_FOUND" + ] + }, + "0xE2BB399D90942091": { + "name": "NETWORK_EARN_FROM_ISLAND_HEIST_DJ_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_EARN_FROM_ISLAND_HEIST_DJMISSION" + ] + }, + "0x1464E17207CD36E2": { + "name": "NETWORK_SPEND_CAR_CLUB_MEMBERSHIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount1" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "int", + "name": "amount2" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_SPENT_CARCLUB_MEMBERSHIP" + ] + }, + "0x925227803A0EAA1B": { + "name": "NETWORK_SPEND_CAR_CLUB_BAR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2372", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_CARCLUB" + ] + }, + "0x9BEA350D7C48061B": { + "name": "NETWORK_SPEND_AUTOSHOP_MODIFY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_SPENT_AUTOSHOP_MODIFICATIONS" + ] + }, + "0xD1E46824E6FB92B5": { + "name": "NETWORK_SPEND_CAR_CLUB_TAKEOVER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_SPENT_CARCLUB_TAKEOVER" + ] + }, + "0xEEB7E5D1FEB20869": { + "name": "NETWORK_SPEND_BUY_AUTOSHOP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_SPENT_BUY_AUTOSHOP" + ] + }, + "0xDD829AA198FDC46C": { + "name": "NETWORK_SPEND_UPGRADE_AUTOSHOP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_AUTOSHOP" + ] + }, + "0x36A7FD5A7194B03E": { + "name": "NETWORK_EARN_AUTOSHOP_BUSINESS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_EARN_FROM_AUTOSHOP_BUSINESS" + ] + }, + "0xC66D1CF99ED7FE25": { + "name": "NETWORK_EARN_AUTOSHOP_INCOME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_EARN_FROM_AUTOSHOP_INCOME" + ] + }, + "0xBC6227792A188E2E": { + "name": "NETWORK_EARN_CARCLUB_MEMBERSHIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_EARN_FROM_CARCLUB_MEMBERSHIP" + ] + }, + "0x533073E8A596008C": { + "name": "NETWORK_EARN_DAILY_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_EARN_FROM_VEHICLE_AUTOSHOP" + ] + }, + "0xFE65AFE7308E32B2": { + "name": "NETWORK_EARN_DAILY_VEHICLE_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_EARN_FROM_VEHICLE_AUTOSHOP_BONUS" + ] + }, + "0xB846F547D3792DF6": { + "name": "NETWORK_EARN_TUNER_AWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_EARN_FROM_TUNER_AWARD" + ] + }, + "0xBCB266247193AC61": { + "name": "NETWORK_EARN_TUNER_ROBBERY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_EARN_FROM_TUNER_FINALE" + ] + }, + "0xC10322A8D3E061EE": { + "name": "NETWORK_EARN_UPGRADE_AUTOSHOP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_EARN_FROM_UPGRADE_AUTOSHOP_LOCATION" + ] + }, + "0x93AA4165CB67E925": { + "name": "NETWORK_SPEND_INTERACTION_MENU_ABILITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_SPENT_INTERACTION_MENU_ABILITY" + ] + }, + "0xB9F7A469460E7A4A": { + "name": "NETWORK_SPEND_SET_COMMON_FIELDS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_SPENT_FROM_BANK" + ] + }, + "0x7E2F4E8F44CAF4E0": { + "name": "NETWORK_SPEND_SET_DISCOUNT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_SPENT_SALES_DISPLAY" + ] + }, + "0xEA8CD3C9B3C35884": { + "name": "NETWORK_SPEND_BUY_AGENCY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_BUY_AGENCY" + ] + }, + "0x6CCA64840589A3B6": { + "name": "NETWORK_SPEND_UPGRADE_AGENCY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_UPGRADE_AGENCY" + ] + }, + "0x1B2120405080125C": { + "name": "NETWORK_SPEND_AGENCY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_AGENCY_CONCIERGE" + ] + }, + "0xBF8793B91EA094A7": { + "name": "NETWORK_SPEND_HIDDEN", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_HIDDEN_CONTACT_SERVICE" + ] + }, + "0xD9DF467CBE4398C8": { + "name": "NETWORK_SPEND_SOURCE_BIKE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_SOURCE_BIKE_CONTACT_SERVICE" + ] + }, + "0xD86581F9E7CDA383": { + "name": "NETWORK_SPEND_COMP_SUV", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_COMPANY_SUV_CONTACT_SERVICE" + ] + }, + "0x61A2DF64ED2D396E": { + "name": "NETWORK_SPEND_SUV_FST_TRVL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "unused": true, + "old_names": [ + "_NETWORK_SPENT_SUV_FAST_TRAVEL" + ] + }, + "0xEBD482B82ACB8BAD": { + "name": "NETWORK_SPEND_SUPPLY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_SUPPLY_CONTACT_SERVICE" + ] + }, + "0x923AEA8E78F8DF0B": { + "name": "NETWORK_SPEND_BIKE_SHOP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_SPENT_BIKE_SHOP_MODIFY" + ] + }, + "0x02D24A35A9CC3503": { + "name": "NETWORK_SPEND_VEHICLE_REQUESTED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_SPENT_VEHICLE_REQUESTED" + ] + }, + "0x2CEB0E0BC2A77C05": { + "name": "NETWORK_SPEND_GUNRUNNING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_SPENT_GUNRUNNING_CONTACT_SERVICE" + ] + }, + "0x663B4B9D11742A12": { + "name": "NETWORK_EARN_AGENCY_SAFE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AGENCY_INCOME" + ] + }, + "0x146D4EB6D22A403F": { + "name": "NETWORK_EARN_AWARD_CONTRACT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AWARD_SECURITY_CONTRACT" + ] + }, + "0x38482AD49CB905C7": { + "name": "NETWORK_EARN_AGENCY_CONTRACT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AGENCY_SECURITY_CONTRACT" + ] + }, + "0x7397A115030F1BE3": { + "name": "NETWORK_EARN_AWARD_PHONE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AWARD_PHONE_HIT" + ] + }, + "0xE29F3D5FA63B1B82": { + "name": "NETWORK_EARN_AGENCY_PHONE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AGENCY_PHONE_HIT" + ] + }, + "0x88D6C327D6C57C45": { + "name": "NETWORK_EARN_AWARD_FIXER_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AWARD_AGENCY_STORY" + ] + }, + "0x6283E5DE4C4460C6": { + "name": "NETWORK_EARN_FIXER_PREP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AGENCY_STORY_PREP" + ] + }, + "0xBA154373C5FE51E8": { + "name": "NETWORK_EARN_FIXER_FINALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AGENCY_STORY_FINALE" + ] + }, + "0xF4A8E57460BF2037": { + "name": "NETWORK_EARN_FIXER_AGENCY_SHORT_TRIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AGENCY_SHORT_TRIP" + ] + }, + "0x5B4DBDED84D6A420": { + "name": "NETWORK_EARN_AWARD_SHORT_TRIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_AWARD_SHORT_TRIP" + ] + }, + "0x235D41210B3A1A5E": { + "name": "NETWORK_EARN_FIXER_RIVAL_DELIVERY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_RIVAL_DELIVERY_SECURITY_CONTRACT" + ] + }, + "0xD07C7C3F1995108C": { + "name": "NETWORK_EARN_UPGRADE_AGENCY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_EARN_FROM_UPGRADE_AGENCY_LOCATION" + ] + }, + "0x1254B5B3925EFD3D": { + "name": "NETWORK_SPEND_APARTMENT_UTILITIES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_AGGREGATED_UTILITY_BILLS" + ] + }, + "0x92D1CFDA1227FF1C": { + "name": "NETWORK_SPEND_BUSINESS_PROPERTY_FEES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_NETWORK_SPENT_BUSINESS_EXPENSES" + ] + }, + "0x45087AE480B233AC": { + "name": "NETWORK_EARN_SIGHTSEEING_REWARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_EARN_FROM_SIGHTSEEING" + ] + }, + "0x2C5809EB9DF57257": { + "name": "NETWORK_EARN_BIKER_SHOP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_EARN_FROM_BIKE_SHOP_BUSINESS" + ] + }, + "0x71BEC32FA466E105": { + "name": "NETWORK_EARN_BIKER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_EARN_FROM_BIKER_INCOME" + ] + }, + "0x59498BC8B1C8B15C": { + "name": "NETWORK_YOHAN_SOURCE_GOODS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_EARN_FROM_BUSINESS_HUB_SOURCE" + ] + }, + "0xA2ED36DCF0FCA413": { + "name": "_NETWORK_SPEND_BUY_MFGARAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xCF8F346DDDC66643": { + "name": "_NETWORK_SPEND_UPGRADE_MFGARAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xB48185C0CA67B16B": { + "name": "_NETWORK_SPEND_BUY_SUPPLIES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802", + "unused": true + }, + "0xF1E26A7924327152": { + "name": "_NETWORK_SPEND_BUY_ACID_LAB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x110EE9D486C23126": { + "name": "_NETWORK_SPEND_UPGRADE_ACID_LAB_EQUIPMENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xA7D541C9ACD63133": { + "name": "_NETWORK_SPEND_UPGRADE_ACID_LAB_ARMOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802", + "unused": true + }, + "0x2940558E05BCC2EC": { + "name": "_NETWORK_SPEND_UPGRADE_ACID_LAB_SCOOP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802", + "unused": true + }, + "0x4B99AB08C92C54E4": { + "name": "_NETWORK_SPEND_UPGRADE_ACID_LAB_MINES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802", + "unused": true + }, + "0x842B1C5AF61ACDE9": { + "name": "_NETWORK_SPEND_RENAME_ACID_LAB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x446798F7495DD7D8": { + "name": "_NETWORK_SPEND_RENAME_ACID_PRODUCT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xDDF047577F1A02A7": { + "name": "_NETWORK_EARN_AWARD_JUGGALO_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xD1A8165767AD2D23": { + "name": "_NETWORK_EARN_AWARD_ACID_LAB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xC30650FA74A19D02": { + "name": "_NETWORK_EARN_AWARD_DAILY_STASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xD01EBAEA1F905EF6": { + "name": "_NETWORK_EARN_AWARD_DEAD_DROP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xBEAFBB1B98B7EF55": { + "name": "_NETWORK_EARN_AWARD_RANDOM_EVENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xA914768AD35CD3A5": { + "name": "_NETWORK_EARN_AWARD_TAXI", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xA81017EE1324FDFE": { + "name": "_NETWORK_EARN_STREET_DEALER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x79B656937DF6DF5D": { + "name": "_NETWORK_EARN_SELL_ACID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xE3942D59E8A7F70D": { + "name": "_NETWORK_EARN_SETUP_PARTICIPATION_ACID_LAB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x136F11B5DF1B304D": { + "name": "_NETWORK_EARN_SOURCE_PARTICIPATION_ACID_LAB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xCA3EF9B09A8D76B4": { + "name": "_NETWORK_EARN_SELL_PARTICIPATION_ACID_LAB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xE01D10BA8CD53621": { + "name": "_NETWORK_EARN_JUGGALO_STORY_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x40FF6CCCC476185C": { + "name": "_NETWORK_EARN_JUGGALO_STORY_MISSION_PARTICIPATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xCE4452AE85F5E252": { + "name": "_NETWORK_EARN_FOOLIGAN_JOB", + "jhash": "", + "comment": "JUGGALO_PHONE_MISSION...", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xC376B92D0E060970": { + "name": "_NETWORK_EARN_FOOLIGAN_JOB_PARTICIPATION", + "jhash": "", + "comment": "JUGGALO_PHONE_MISSION_PARTICIPATION...", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x991E1588FAD9019D": { + "name": "_NETWORK_EARN_TAXI_JOB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xCABC9874AFA70D6D": { + "name": "_NETWORK_EARN_DAILY_STASH_HOUSE_COMPLETED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x9C0C6BD0F94CE391": { + "name": "_NETWORK_EARN_DAILY_STASH_HOUSE_PARTICIPATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x76EF28DA05EA395A": { + "name": "NETWORK_GET_VC_BANK_BALANCE", + "jhash": "0x16184FB5", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xA40F9C2623F6A8B5": { + "name": "NETWORK_GET_VC_WALLET_BALANCE", + "jhash": "0x4F5B781C", + "comment": "", + "params": [ + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "int", + "build": "323" + }, + "0x5CBAD97E059E1B94": { + "name": "NETWORK_GET_VC_BALANCE", + "jhash": "0xADF8F882", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x5D1E75F91C07DEE5": { + "name": "NETWORK_GET_EVC_BALANCE", + "jhash": "0xF1EDB7F4", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x4F54F3B6C202FB4E": { + "name": "NETWORK_GET_PVC_BALANCE", + "jhash": "0x56485B56", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "unused": true + }, + "0xF9B10B529DCFB33B": { + "name": "NETWORK_GET_STRING_WALLET_BALANCE", + "jhash": "0xC1A11435", + "comment": "", + "params": [ + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "const char*", + "build": "323", + "unused": true + }, + "0xA6FA3979BED01B81": { + "name": "NETWORK_GET_STRING_BANK_BALANCE", + "jhash": "0xAA7EA3BD", + "comment": "", + "params": [], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_NETWORK_GET_BANK_BALANCE_STRING" + ] + }, + "0x700AF71AE615E6DD": { + "name": "NETWORK_GET_STRING_BANK_WALLET_BALANCE", + "jhash": "0x7D4FD28C", + "comment": "", + "params": [], + "return_type": "const char*", + "build": "323", + "unused": true + }, + "0xED5AB8860415BABA": { + "name": "NETWORK_GET_CAN_SPEND_FROM_WALLET", + "jhash": "0x0EA2188C", + "comment": "Returns true if wallet balance >= amount.", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_VC_WALLET_BALANCE_IS_NOT_LESS_THAN" + ] + }, + "0xA31FD6A0865B6D14": { + "name": "NETWORK_GET_CAN_SPEND_FROM_BANK", + "jhash": "0xABED6020", + "comment": "Returns true if bank balance >= amount.", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_VC_BANK_BALANCE_IS_NOT_LESS_THAN" + ] + }, + "0xDC18531D7019A535": { + "name": "NETWORK_GET_CAN_SPEND_FROM_BANK_AND_WALLET", + "jhash": "0xCA23FD25", + "comment": "Returns true if bank balance + wallet balance >= amount.", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_VC_BANK_WALLET_BALANCE_IS_NOT_LESS_THAN" + ] + }, + "0x13A8DE2FD77D04F3": { + "name": "NETWORK_GET_PVC_TRANSFER_BALANCE", + "jhash": "0xC670C814", + "comment": "Retturns the same value as NETWORK_GET_REMAINING_TRANSFER_BALANCE.", + "params": [], + "return_type": "int", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_REMAINING_VC_DAILY_TRANSFERS" + ] + }, + "0x08E8EEADFD0DC4A0": { + "name": "NETWORK_GET_CAN_TRANSFER_CASH", + "jhash": "0x03461981", + "comment": "Returns false if amount > wallet balance or daily transfer limit has been hit.", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x5D17BE59D2123284": { + "name": "NETWORK_CAN_RECEIVE_PLAYER_CASH", + "jhash": "0x41F5F10E", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0xEA560AC9EEB1E19B": { + "name": "NETWORK_GET_REMAINING_TRANSFER_BALANCE", + "jhash": "0xA9021211", + "comment": "Returns the same value as NETWORK_GET_PVC_TRANSFER_BALANCE.", + "params": [], + "return_type": "int", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_REMAINING_VC_DAILY_TRANSFERS_2" + ] + }, + "0xF70EFA14FE091429": { + "name": "WITHDRAW_VC", + "jhash": "0x8B755993", + "comment": "Does nothing and always returns 0.", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE260E0BB9CD995AC": { + "name": "DEPOSIT_VC", + "jhash": "0x8F266745", + "comment": "Does nothing and always returns false.", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE154B48B68EF72BC": { + "name": "HAS_VC_WITHDRAWAL_COMPLETED", + "jhash": "0x531E4892", + "comment": "This function is hard-coded to always return 1.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6FCF8DDEA146C45B": { + "name": "WAS_VC_WITHDRAWAL_SUCCESSFUL", + "jhash": "0xB96C7ABE", + "comment": "This function is hard-coded to always return 1.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + } + }, + "NETSHOPPING": { + "0x7D2708796355B20B": { + "name": "NET_GAMESERVER_USE_SERVER_TRANSACTIONS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1290", + "old_names": [ + "_NET_GAMESERVER_USE_SERVER_TRANSACTIONS" + ] + }, + "0xBD4D7EAF8A30F637": { + "name": "NET_GAMESERVER_CATALOG_ITEM_IS_VALID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_IS_ITEM_UNLOCKED", + "_NETWORK_SHOP_DOES_ITEM_EXIST", + "_NET_GAMESERVER_CATALOG_ITEM_EXISTS" + ] + }, + "0x247F0F73A182EA0B": { + "name": "NET_GAMESERVER_CATALOG_ITEM_KEY_IS_VALID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_IS_ITEM_UNLOCKED_HASH", + "_NETWORK_SHOP_DOES_ITEM_EXIST_HASH", + "_NET_GAMESERVER_CATALOG_ITEM_EXISTS_HASH" + ] + }, + "0xC27009422FCCA88D": { + "name": "NET_GAMESERVER_GET_PRICE", + "jhash": "", + "comment": "bool is always true in game scripts", + "params": [ + { + "type": "Hash", + "name": "itemHash" + }, + { + "type": "Hash", + "name": "categoryHash" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_GET_PRICE" + ] + }, + "0x3C4487461E9B0DCB": { + "name": "NET_GAMESERVER_CATALOG_IS_VALID", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_CATALOG_IS_READY" + ] + }, + "0x2B949A1E6AEC8F6A": { + "name": "NET_GAMESERVER_IS_CATALOG_CURRENT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_IS_CATALOG_VALID" + ] + }, + "0x85F6C9ABA1DE2BCF": { + "name": "NET_GAMESERVER_GET_CATALOG_CLOUD_CRC", + "jhash": "", + "comment": "", + "params": [], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_GET_CATALOG_CRC" + ] + }, + "0x357B152EF96C30B6": { + "name": "NET_GAMESERVER_REFRESH_SERVER_CATALOG", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xCF38DAFBB49EDE5E": { + "name": "NET_GAMESERVER_RETRIEVE_CATALOG_REFRESH_STATUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "state" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_GET_CATALOG_STATE" + ] + }, + "0xE3E5A7C64CA2C6ED": { + "name": "NET_GAMESERVER_INIT_SESSION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0395CB47B022E62C": { + "name": "NET_GAMESERVER_RETRIEVE_INIT_SESSION_STATUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA135AC892A58FC07": { + "name": "NET_GAMESERVER_START_SESSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "charSlot" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_START_SESSION" + ] + }, + "0x72EB7BA9B69BF6AB": { + "name": "NET_GAMESERVER_START_SESSION_PENDING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x170910093218C8B9": { + "name": "NET_GAMESERVER_RETRIEVE_START_SESSION_STATUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC13C38E47EA5DF31": { + "name": "NET_GAMESERVER_RETRIEVE_SESSION_ERROR_CODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB24F0944DA203D9E": { + "name": "NET_GAMESERVER_IS_SESSION_VALID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "charSlot" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_GET_TRANSACTIONS_ENABLED_FOR_CHARACTER" + ] + }, + "0x74A0FD0688F1EE45": { + "name": "NET_GAMESERVER_CLEAR_SESSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2F41D51BA3BCD1F1": { + "name": "NET_GAMESERVER_SESSION_APPLY_RECEIVED_DATA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "charSlot" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_SESSION_APPLY_RECEIVED_DATA" + ] + }, + "0x810E8431C0614BF9": { + "name": "NET_GAMESERVER_IS_SESSION_REFRESH_PENDING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_GET_TRANSACTIONS_DISABLED" + ] + }, + "0x35A1B3E1D1315CFA": { + "name": "NET_GAMESERVER_START_SESSION_RESTART", + "jhash": "", + "comment": "Note: only one of the arguments can be set to true at a time", + "params": [ + { + "type": "BOOL", + "name": "inventory" + }, + { + "type": "BOOL", + "name": "playerbalance" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_UPDATE_BALANCE" + ] + }, + "0x613F125BA3BD2EB9": { + "name": "NET_GAMESERVER_TRANSACTION_IN_PROGRESS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "372" + }, + "0x897433D292B44130": { + "name": "NET_GAMESERVER_GET_SESSION_STATE_AND_STATUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + }, + { + "type": "BOOL*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_GET_TRANSACTION_MANAGER_DATA" + ] + }, + "0x279F08B1A4B29B7E": { + "name": "NET_GAMESERVER_BASKET_START", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "transactionId" + }, + { + "type": "Hash", + "name": "categoryHash" + }, + { + "type": "Hash", + "name": "actionHash" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_BASKET_START" + ] + }, + "0xFA336E7F40C0A0D0": { + "name": "NET_GAMESERVER_BASKET_END", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "372", + "old_names": [ + "_NET_GAMESERVER_BASKET_DELETE" + ] + }, + "0xA65568121DF2EA26": { + "name": "NET_GAMESERVER_BASKET_IS_ACTIVE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_BASKET_END", + "NET_GAMESERVER_BASKET_END" + ] + }, + "0xF30980718C8ED876": { + "name": "NET_GAMESERVER_BASKET_ADD_ITEM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "itemData" + }, + { + "type": "int", + "name": "quantity" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_BASKET_ADD_ITEM" + ] + }, + "0x27F76CC6C55AD30E": { + "name": "NET_GAMESERVER_BASKET_IS_FULL", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_BASKET_IS_FULL" + ] + }, + "0xE1A0450ED46A7812": { + "name": "NET_GAMESERVER_BASKET_APPLY_SERVER_DATA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_BASKET_APPLY_SERVER_DATA" + ] + }, + "0x39BE7CEA8D9CC8E6": { + "name": "NET_GAMESERVER_CHECKOUT_START", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "transactionId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_CHECKOUT_START" + ] + }, + "0x3C5FD37B5499582E": { + "name": "NET_GAMESERVER_BEGIN_SERVICE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "transactionId" + }, + { + "type": "Hash", + "name": "categoryHash" + }, + { + "type": "Hash", + "name": "itemHash" + }, + { + "type": "Hash", + "name": "actionTypeHash" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_BEGIN_SERVICE" + ] + }, + "0xE2A99A9B524BEFFF": { + "name": "NET_GAMESERVER_END_SERVICE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "transactionId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_END_SERVICE", + "_NETWORK_SHOP_TERMINATE_SERVICE" + ] + }, + "0x51F1A8E48C3D2F6D": { + "name": "NET_GAMESERVER_DELETE_CHARACTER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "slot" + }, + { + "type": "BOOL", + "name": "transfer" + }, + { + "type": "Hash", + "name": "reason" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_DELETE_CHARACTER_SLOT" + ] + }, + "0x0A6D923DFFC9BD89": { + "name": "NET_GAMESERVER_DELETE_CHARACTER_GET_STATUS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_DELETE_CHARACTER_SLOT_GET_STATUS" + ] + }, + "0x112CEF1615A1139F": { + "name": "NET_GAMESERVER_DELETE_SET_TELEMETRY_NONCE_SEED", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_DELETE_SET_TELEMETRY_NONCE_SEED" + ] + }, + "0xD47A2C1BA117471D": { + "name": "NET_GAMESERVER_TRANSFER_BANK_TO_WALLET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "charSlot" + }, + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_TRANSFER_BANK_TO_WALLET", + "_NET_GAMESERVER_TRANSFER_BANK_TO_WALLET" + ] + }, + "0xC2F7FE5309181C7D": { + "name": "NET_GAMESERVER_TRANSFER_WALLET_TO_BANK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "charSlot" + }, + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_TRANSFER_WALLET_TO_BANK", + "_NET_GAMESERVER_TRANSFER_WALLET_TO_BANK" + ] + }, + "0x23789E777D14CE44": { + "name": "NET_GAMESERVER_TRANSFER_BANK_TO_WALLET_GET_STATUS", + "jhash": "", + "comment": "Same as 0x350AA5EBC03D3BD2", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_TRANSFER_CASH_GET_STATUS" + ] + }, + "0x350AA5EBC03D3BD2": { + "name": "NET_GAMESERVER_TRANSFER_WALLET_TO_BANK_GET_STATUS", + "jhash": "", + "comment": "Same as 0x23789E777D14CE44", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_NET_GAMESERVER_TRANSFER_CASH_GET_STATUS_2" + ] + }, + "0x498C1E05CE5F7877": { + "name": "NET_GAMESERVER_TRANSFER_CASH_SET_TELEMETRY_NONCE_SEED", + "jhash": "", + "comment": "Used to be NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_CASH_TRANSFER_SET_TELEMETRY_NONCE_SEED", + "_NET_GAMESERVER_TRANSFER_CASH_SET_TELEMETRY_NONCE_SEED" + ] + }, + "0x9507D4271988E1AE": { + "name": "NET_GAMESERVER_SET_TELEMETRY_NONCE_SEED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SHOP_SET_TELEMETRY_NONCE_SEED" + ] + } + }, + "NETWORK": { + "0xFCA9373EF340AC0A": { + "name": "GET_ONLINE_VERSION", + "jhash": "", + "comment": "Online version is defined here: update\\update.rpf\\common\\data\\version.txt\n\nExample:\n\n[ONLINE_VERSION_NUMBER]\n1.33\n\n_GET_ONLINE_VERSION() will return \"1.33\"", + "params": [], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_GAME_VERSION", + "_GET_ONLINE_VERSION" + ] + }, + "0x054354A99211EB96": { + "name": "NETWORK_IS_SIGNED_IN", + "jhash": "0xADD0B40F", + "comment": "Returns whether the player is signed into Social Club.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x1077788E268557C2": { + "name": "NETWORK_IS_SIGNED_ONLINE", + "jhash": "0x6E5BDCE2", + "comment": "Returns whether the game is not in offline mode.\n\nseemed not to work for some ppl", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xBD545D44CCE70597": { + "name": "NETWORK_IS_NP_AVAILABLE", + "jhash": "", + "comment": "This function is hard-coded to always return 1.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEBCAB9E5048434F4": { + "name": "NETWORK_IS_NP_PENDING", + "jhash": "", + "comment": "This function is hard-coded to always return 1.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x74FB3E29E6D10FA9": { + "name": "NETWORK_GET_NP_UNAVAILABLE_REASON", + "jhash": "", + "comment": "Hardcoded to return zero.\n\n==== PS4 specific info ====\n\nReturns some sort of unavailable reason:\n-1 = REASON_INVALID\n 0 = REASON_OTHER\n 1 = REASON_SYSTEM_UPDATE\n 2 = REASON_GAME_UPDATE\n 3 = REASON_SIGNED_OUT\n 4 = REASON_AGE\n 5 = REASON_CONNECTION\n\n=================================", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x7808619F31FF22DB": { + "name": "NETWORK_IS_CONNETED_TO_NP_PRESENCE", + "jhash": "", + "comment": "This function is hard-coded to always return 1.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA0FA4EC6A05DA44E": { + "name": "NETWORK_IS_LOGGED_IN_TO_PSN", + "jhash": "", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x85443FF4C328F53B": { + "name": "NETWORK_HAS_VALID_ROS_CREDENTIALS", + "jhash": "0x3FB40673", + "comment": "Returns whether the signed-in user has valid Rockstar Online Services (ROS) credentials.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_ARE_ROS_AVAILABLE", + "NETWORK_HAVE_JUST_UPLOAD_LATER" + ] + }, + "0x8D11E61A4ABF49CC": { + "name": "NETWORK_IS_REFRESHING_ROS_CREDENTIALS", + "jhash": "0xBDC8F63E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9A4CF4F48AD77302": { + "name": "NETWORK_IS_CLOUD_AVAILABLE", + "jhash": "0xC7FF5AFC", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x67A5589628E0CFF6": { + "name": "NETWORK_HAS_SOCIAL_CLUB_ACCOUNT", + "jhash": "0x66EC713F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xBA9775570DB788CF": { + "name": "NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT", + "jhash": "0x358D1D77", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x8DB296B814EDDA07": { + "name": "NETWORK_IS_HOST", + "jhash": "0xE46AC10F", + "comment": "If you are host, returns true else returns false.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x8251FB94DC4FDFC8": { + "name": "NETWORK_GET_HOST_PLAYER_INDEX", + "jhash": "", + "comment": "", + "params": [], + "return_type": "Player", + "build": "2612", + "old_names": [ + "_NETWORK_GET_HOST" + ] + }, + "0x4237E822315D8BA9": { + "name": "NETWORK_WAS_GAME_SUSPENDED", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x25CB5A9F37BFD063": { + "name": "NETWORK_HAVE_ONLINE_PRIVILEGES", + "jhash": "0xEF63BFDF", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x1353F87E89946207": { + "name": "NETWORK_HAS_AGE_RESTRICTIONS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_HAS_AGE_RESTRICTED_PROFILE" + ] + }, + "0x72D918C99BCACC54": { + "name": "NETWORK_HAVE_USER_CONTENT_PRIVILEGES", + "jhash": "0x1F88819D", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAEEF48CDF5B6CE7C": { + "name": "NETWORK_HAVE_COMMUNICATION_PRIVILEGES", + "jhash": "0x2D817A5E", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x78321BEA235FD8CD": { + "name": "NETWORK_CHECK_ONLINE_PRIVILEGES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x595F028698072DD9": { + "name": "NETWORK_CHECK_USER_CONTENT_PRIVILEGES", + "jhash": "0xBB54AA3D", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x83F28CE49FBBFFBA": { + "name": "NETWORK_CHECK_COMMUNICATION_PRIVILEGES", + "jhash": "0xA79E5B05", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x07EAB372C8841D99": { + "name": "NETWORK_CHECK_TEXT_COMMUNICATION_PRIVILEGES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "1011" + }, + "0x906CA41A4B74ECA4": { + "name": "NETWORK_IS_USING_ONLINE_PROMOTION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1493" + }, + "0x023ACAB2DC9DC4A4": { + "name": "NETWORK_SHOULD_SHOW_PROMOTION_ALERT_SCREEN", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1493" + }, + "0x76BF03FADBF154F5": { + "name": "NETWORK_HAS_SOCIAL_NETWORKING_SHARING_PRIV", + "jhash": "0xEB864288", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9614B71F8ADB982B": { + "name": "NETWORK_GET_AGE_GROUP", + "jhash": "0xAB07CBBE", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x0CF6CC51AA18F0F8": { + "name": "NETWORK_CHECK_PRIVILEGES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "1180" + }, + "0x64E5C4CC82847B73": { + "name": "NETWORK_IS_PRIVILEGE_CHECK_IN_PROGRESS", + "jhash": "", + "comment": "Hardcoded to return false.", + "params": [], + "return_type": "BOOL", + "build": "1734" + }, + "0x1F7BC3539F9E0224": { + "name": "NETWORK_SET_PRIVILEGE_CHECK_RESULT_NOT_NEEDED", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1180" + }, + "0xDE9225854F37BF72": { + "name": "NETWORK_RESOLVE_PRIVILEGE_USER_CONTENT", + "jhash": "", + "comment": "Hardcoded to return true.", + "params": [], + "return_type": "BOOL", + "build": "2612" + }, + "0x5EA784D197556507": { + "name": "NETWORK_HAVE_PLATFORM_SUBSCRIPTION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_HAVE_ONLINE_PRIVILEGE_2" + ] + }, + "0xA8ACB6459542A8C8": { + "name": "NETWORK_IS_PLATFORM_SUBSCRIPTION_CHECK_PENDING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x83FE8D7229593017": { + "name": "NETWORK_SHOW_ACCOUNT_UPGRADE_UI", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x7788DFE15016A182": { + "name": "NETWORK_IS_SHOWING_SYSTEM_UI_OR_RECENTLY_REQUESTED_UPSELL", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2612" + }, + "0x53C10C8BD774F2C9": { + "name": "NETWORK_NEED_TO_START_NEW_GAME_BUT_BLOCKED", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1011" + }, + "0x580CE4438479CC61": { + "name": "NETWORK_CAN_BAIL", + "jhash": "0x60E1FEDF", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x95914459A87EBA28": { + "name": "NETWORK_BAIL", + "jhash": "0x87D79A04", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x283B6062A2C01E9B": { + "name": "NETWORK_ON_RETURN_TO_SINGLE_PLAYER", + "jhash": "0x96E28FE2", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x8B4FFC790CA131EF": { + "name": "NETWORK_TRANSITION_START", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "617" + }, + "0xC3BFED92026A2AAD": { + "name": "NETWORK_TRANSITION_ADD_STAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "hash" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "state" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "617", + "old_names": [ + "_NETWORK_TRANSITION_TRACK" + ] + }, + "0x04918A41BC9B8157": { + "name": "NETWORK_TRANSITION_FINISH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "617" + }, + "0xAF50DA1A3F8B1BA4": { + "name": "NETWORK_CAN_ACCESS_MULTIPLAYER", + "jhash": "0xA520B982", + "comment": "11 - Need to download tunables.\n12 - Need to download background script.\n\nReturns 1 if the multiplayer is loaded, otherwhise 0.", + "params": [ + { + "type": "int*", + "name": "loadingState" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9747292807126EDA": { + "name": "NETWORK_IS_MULTIPLAYER_DISABLED", + "jhash": "0x05518C0F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x7E782A910C362C25": { + "name": "NETWORK_CAN_ENTER_MULTIPLAYER", + "jhash": "0x4A23B9C9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x330ED4D05491934F": { + "name": "NETWORK_SESSION_DO_FREEROAM_QUICKMATCH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "int", + "name": "maxPlayers" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2CFC76E0D087C994": { + "name": "NETWORK_SESSION_DO_FRIEND_MATCHMAKING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "maxPlayers" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "NETWORK_SESSION_FRIEND_MATCHMAKING" + ] + }, + "0x94BC51E9449D917F": { + "name": "NETWORK_SESSION_DO_CREW_MATCHMAKING", + "jhash": "", + "comment": "p4 seems to be unused in 1.60/build 2628", + "params": [ + { + "type": "int", + "name": "crewId" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "maxPlayers" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "NETWORK_SESSION_CREW_MATCHMAKING" + ] + }, + "0xBE3E347A87ACEB82": { + "name": "NETWORK_SESSION_DO_ACTIVITY_QUICKMATCH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "NETWORK_SESSION_ACTIVITY_QUICKMATCH" + ] + }, + "0x6F3D4ED9BEE4E61D": { + "name": "NETWORK_SESSION_HOST", + "jhash": "0x6716460F", + "comment": "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.", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "maxPlayers" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xED34C0C02C098BB7": { + "name": "NETWORK_SESSION_HOST_CLOSED", + "jhash": "0x8AC9EA19", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "maxPlayers" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB9CFD27A5D578D83": { + "name": "NETWORK_SESSION_HOST_FRIENDS_ONLY", + "jhash": "0x26864403", + "comment": "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.", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "maxPlayers" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFBCFA2EA2E206890": { + "name": "NETWORK_SESSION_IS_CLOSED_FRIENDS", + "jhash": "0x56E75FE4", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x74732C6CA90DA2B4": { + "name": "NETWORK_SESSION_IS_CLOSED_CREW", + "jhash": "0xA95299B9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF3929C2379B60CCE": { + "name": "NETWORK_SESSION_IS_SOLO", + "jhash": "0x3D2C1916", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xCEF70AA5B3F89BA1": { + "name": "NETWORK_SESSION_IS_PRIVATE", + "jhash": "0xDB67785D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA02E59562D711006": { + "name": "NETWORK_SESSION_END", + "jhash": "0xBCACBEA2", + "comment": "p0 is always false and p1 varies.\nNETWORK_SESSION_END(0, 1)\nNETWORK_SESSION_END(0, 0)\nResults in: \"Connection to session lost due to an unknown network error. Please return to Grand Theft Auto V and try again later.\"", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB9351A07A0D458B1": { + "name": "NETWORK_SESSION_LEAVE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "2060" + }, + "0xFA8904DC5F304220": { + "name": "NETWORK_SESSION_KICK_PLAYER", + "jhash": "0x1E20138A", + "comment": "Only works as host.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD6D09A6F32F49EF1": { + "name": "NETWORK_SESSION_GET_KICK_VOTE", + "jhash": "0x8A559D26", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SESSION_ARE_PLAYERS_VOTING_TO_KICK", + "_NETWORK_SESSION_IS_PLAYER_VOTED_TO_KICK" + ] + }, + "0x041C7F2A6C9894E6": { + "name": "NETWORK_SESSION_RESERVE_SLOTS_TRANSITION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "463" + }, + "0x59DF79317F85A7E0": { + "name": "NETWORK_JOIN_PREVIOUSLY_FAILED_SESSION", + "jhash": "0x6CDAA7D2", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFFE1E5B792D92B34": { + "name": "NETWORK_JOIN_PREVIOUSLY_FAILED_TRANSITION", + "jhash": "0xBF21818E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x49EC8030F5015F8B": { + "name": "NETWORK_SESSION_SET_MATCHMAKING_GROUP", + "jhash": "0x3C3E2AB6", + "comment": "", + "params": [ + { + "type": "int", + "name": "matchmakingGroup" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_SCTV_SLOTS" + ] + }, + "0x8B6A4DD0AF9CE215": { + "name": "NETWORK_SESSION_SET_MATCHMAKING_GROUP_MAX", + "jhash": "0x5F29A7E0", + "comment": "playerType is an unsigned int from 0 to 4\n0 = regular joiner\n4 = spectator", + "params": [ + { + "type": "int", + "name": "playerType" + }, + { + "type": "int", + "name": "playerCount" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_SESSION_SET_MAX_PLAYERS" + ] + }, + "0x56CE820830EF040B": { + "name": "NETWORK_SESSION_GET_MATCHMAKING_GROUP_FREE", + "jhash": "0x36EAD960", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_SESSION_GET_UNK" + ] + }, + "0xCAE55F48D3D7875C": { + "name": "NETWORK_SESSION_ADD_ACTIVE_MATCHMAKING_GROUP", + "jhash": "0x5BE529F7", + "comment": "groupId range: [0, 4]", + "params": [ + { + "type": "int", + "name": "groupId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF49ABC20D8552257": { + "name": "NETWORK_SESSION_SET_UNIQUE_CREW_LIMIT", + "jhash": "0x454C7B67", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4811BBAC21C5FCD5": { + "name": "NETWORK_SESSION_SET_UNIQUE_CREW_LIMIT_TRANSITION", + "jhash": "0xE5961511", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5539C3EBF104A53A": { + "name": "NETWORK_SESSION_SET_UNIQUE_CREW_ONLY_CREWS_TRANSITION", + "jhash": "0xAE396263", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x702BC4D605522539": { + "name": "NETWORK_SESSION_SET_CREW_LIMIT_MAX_MEMBERS_TRANSITION", + "jhash": "0x913FD7D6", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3F52E880AAF6C8CA": { + "name": "NETWORK_SESSION_SET_MATCHMAKING_PROPERTY_ID", + "jhash": "0xB3D9A67F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF1EEA2DDA9FFA69D": { + "name": "NETWORK_SESSION_SET_MATCHMAKING_MENTAL_STATE", + "jhash": "0x6CC062FC", + "comment": "p0 in the decompiled scripts is always the stat mesh_texblend * 0.07 to int", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x59D421683D31835A": { + "name": "NETWORK_SESSION_SET_NUM_BOSSES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "num" + } + ], + "return_type": "void", + "build": "573" + }, + "0x1153FA02A659051C": { + "name": "NETWORK_SESSION_SET_SCRIPT_VALIDATE_JOIN", + "jhash": "0x57F9BC83", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC19F6C8E7865A6FF": { + "name": "NETWORK_SESSION_VALIDATE_JOIN", + "jhash": "0xF3768F90", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_SESSION_HOSTED" + ] + }, + "0x236406F60CF216D6": { + "name": "NETWORK_ADD_FOLLOWERS", + "jhash": "0x0EC62629", + "comment": "..", + "params": [ + { + "type": "int*", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x058F43EC59A8631A": { + "name": "NETWORK_CLEAR_FOLLOWERS", + "jhash": "0x5E557307", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x6D03BFBD643B2A02": { + "name": "NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK", + "jhash": "0x74E8C53E", + "comment": "", + "params": [ + { + "type": "int*", + "name": "hours" + }, + { + "type": "int*", + "name": "minutes" + }, + { + "type": "int*", + "name": "seconds" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_GET_SERVER_TIME" + ] + }, + "0x600F8CB31C7AAB6E": { + "name": "NETWORK_SESSION_SET_GAMEMODE", + "jhash": "0x959E43A3", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDFFA5BE8381C3314": { + "name": "NETWORK_SESSION_GET_HOST_AIM_PREFERENCE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "463", + "old_names": [ + "_NETWORK_GET_TARGETING_MODE" + ] + }, + "0xE532D6811B3A4D2A": { + "name": "NETWORK_FIND_GAMERS_IN_CREW", + "jhash": "0x7771AB83", + "comment": "", + "params": [ + { + "type": "int", + "name": "crewId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "NETWORK_X_AFFECTS_GAMERS" + ] + }, + "0xF7B2CFDE5C9F700D": { + "name": "NETWORK_FIND_MATCHED_GAMERS", + "jhash": "0xA13045D4", + "comment": "Uses attributes to find players with similar stats. Upper/Lower limit must be above zero or the fallback limit +/-0.1 is used.\nThere can be up to 15 attributes, they are as follows:\n\n0 = Races\n1 = Parachuting\n2 = Horde\n3 = Darts\n4 = Arm Wrestling\n5 = Tennis\n6 = Golf\n7 = Shooting Range\n8 = Deathmatch\n9 = MPPLY_MCMWIN/MPPLY_CRMISSION", + "params": [ + { + "type": "int", + "name": "attribute" + }, + { + "type": "float", + "name": "fallbackLimit" + }, + { + "type": "float", + "name": "lowerLimit" + }, + { + "type": "float", + "name": "upperLimit" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDDDF64C91BFCF0AA": { + "name": "NETWORK_IS_FINDING_GAMERS", + "jhash": "0xA6DAA79F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF9B83B77929D8863": { + "name": "NETWORK_DID_FIND_GAMERS_SUCCEED", + "jhash": "0xBEDC4503", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA1B043EE79A916FB": { + "name": "NETWORK_GET_NUM_FOUND_GAMERS", + "jhash": "0xF4B80C7E", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x9DCFF2AFB68B3476": { + "name": "NETWORK_GET_FOUND_GAMER", + "jhash": "0xA08C9141", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6D14CCEE1B40381A": { + "name": "NETWORK_CLEAR_FOUND_GAMERS", + "jhash": "0x6AA9A154", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x85A0EF54A500882C": { + "name": "NETWORK_QUEUE_GAMER_FOR_STATUS", + "jhash": "0x42BD0780", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_GAMER_STATUS" + ] + }, + "0x2CC848A861D01493": { + "name": "NETWORK_GET_GAMER_STATUS_FROM_QUEUE", + "jhash": "0xBEB98840", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x94A8394D150B013A": { + "name": "NETWORK_IS_GETTING_GAMER_STATUS", + "jhash": "0x08029970", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5AE17C6B0134B7F1": { + "name": "NETWORK_DID_GET_GAMER_STATUS_SUCCEED", + "jhash": "0xC871E745", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x02A8BEC6FD9AF660": { + "name": "NETWORK_GET_GAMER_STATUS_RESULT", + "jhash": "0xB5ABC4B4", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x86E0660E4F5C956D": { + "name": "NETWORK_CLEAR_GET_GAMER_STATUS", + "jhash": "0x3F7EDBBD", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC6F8AB8A4189CF3A": { + "name": "NETWORK_SESSION_JOIN_INVITE", + "jhash": "0x3D6360B5", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "NETWORK_IS_PLAYER_ANIMATION_DRAWING_SYNCHRONIZED" + ] + }, + "0x2FBF47B1B36D36F9": { + "name": "NETWORK_SESSION_CANCEL_INVITE", + "jhash": "0x20317535", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA29177F7703B5644": { + "name": "NETWORK_SESSION_FORCE_CANCEL_INVITE", + "jhash": "0x3FD49D3B", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAC8C7B9B88C4A668": { + "name": "NETWORK_HAS_PENDING_INVITE", + "jhash": "0x0C207D6E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC42DD763159F3461": { + "name": "NETWORK_HAS_CONFIRMED_INVITE", + "jhash": "0xFBBAC350", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x62A0296C1BB1CEB3": { + "name": "NETWORK_REQUEST_INVITE_CONFIRMED_EVENT", + "jhash": "0x0907A6BF", + "comment": "Triggers a CEventNetworkInviteConfirmed event", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_ACCEPT_INVITE" + ] + }, + "0x23DFB504655D0CE4": { + "name": "NETWORK_SESSION_WAS_INVITED", + "jhash": "0x6A0BEA60", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xE57397B4A3429DD0": { + "name": "NETWORK_SESSION_GET_INVITER", + "jhash": "0xE9C6B3FD", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD313DE83394AF134": { + "name": "NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE", + "jhash": "0x3EA9D44C", + "comment": "Seems to be true while \"Getting GTA Online session details\" shows up.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xBDB6F89C729CF388": { + "name": "NETWORK_SESSION_IS_DISPLAYING_INVITE_CONFIRMATION", + "jhash": "0x9374523F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA0682D67EF1FBA3D": { + "name": "NETWORK_SUPPRESS_INVITE", + "jhash": "0x323DC78C", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x34F9E9049454A7A0": { + "name": "NETWORK_BLOCK_INVITES", + "jhash": "0xD156FD1A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCFEB8AF24FC1D0BB": { + "name": "NETWORK_BLOCK_JOIN_QUEUE_INVITES", + "jhash": "0x8AB4890B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_BLOCK_INVITES_2" + ] + }, + "0x68980414688F7F9D": { + "name": "NETWORK_SET_CAN_RECEIVE_RS_INVITES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "2612" + }, + "0xF814FEC6A19FD6E0": { + "name": "NETWORK_STORE_INVITE_THROUGH_RESTART", + "jhash": "0x32B7A076", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x6B07B9CE4D390375": { + "name": "NETWORK_ALLOW_INVITE_PROCESS_IN_PLAYER_SWITCH", + "jhash": "0x0FCE995D", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_BLOCK_KICKED_PLAYERS" + ] + }, + "0x7AC752103856FB20": { + "name": "NETWORK_SET_SCRIPT_READY_FOR_EVENTS", + "jhash": "0xA639DCA2", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x74698374C45701D2": { + "name": "NETWORK_IS_OFFLINE_INVITE_PENDING", + "jhash": "0x70ED476A", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x140E6A44870A11CE": { + "name": "NETWORK_CLEAR_OFFLINE_INVITE_PENDING", + "jhash": "0x50507BED", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC74C33FCA52856D5": { + "name": "NETWORK_SESSION_HOST_SINGLE_PLAYER", + "jhash": "0xF3B1CA85", + "comment": "Loads up the map that is loaded when beeing in mission creator\nPlayer gets placed in a mix between online/offline mode\np0 is always 2 in R* scripts.\n\nAppears to be patched in gtav b757 (game gets terminated) alonside with most other network natives to prevent online modding ~ghost30812", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3442775428FD2DAA": { + "name": "NETWORK_SESSION_LEAVE_SINGLE_PLAYER", + "jhash": "0xC692F86A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x10FAB35428CCC9D7": { + "name": "NETWORK_IS_GAME_IN_PROGRESS", + "jhash": "0x09B88E3E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD83C2B94E7508980": { + "name": "NETWORK_IS_SESSION_ACTIVE", + "jhash": "0x715CB8C4", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xCA97246103B63917": { + "name": "NETWORK_IS_IN_SESSION", + "jhash": "0x4BC4105E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9DE624D2FC4B603F": { + "name": "NETWORK_IS_SESSION_STARTED", + "jhash": "0x9D854A37", + "comment": "This checks if player is playing on gta online or not.\nPlease add an if and block your mod if this is \"true\".", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF4435D66A8E2905E": { + "name": "NETWORK_IS_SESSION_BUSY", + "jhash": "0x8592152D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4EEBC3694E49C572": { + "name": "NETWORK_CAN_SESSION_END", + "jhash": "0xE1FCCDBA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4C9034162368E206": { + "name": "NETWORK_GET_GAME_MODE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "2060" + }, + "0x271CC6AB59EBF9A5": { + "name": "NETWORK_SESSION_MARK_VISIBLE", + "jhash": "0x7017257D", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBA416D68C631496A": { + "name": "NETWORK_SESSION_IS_VISIBLE", + "jhash": "0x4977AC28", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA73667484D7037C3": { + "name": "NETWORK_SESSION_BLOCK_JOIN_REQUESTS", + "jhash": "0xE6EEF8AF", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB4AB419E0D86ACAE": { + "name": "NETWORK_SESSION_CHANGE_SLOTS", + "jhash": "0x6BB93227", + "comment": "num player slots allowed in session, seems to work? 32 max", + "params": [ + { + "type": "int", + "name": "slots" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x53AFD64C6758F2F9": { + "name": "NETWORK_SESSION_GET_PRIVATE_SLOTS", + "jhash": "0xE642F2FD", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x9C1556705F864230": { + "name": "NETWORK_SESSION_VOICE_HOST", + "jhash": "0x345C2980", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x6793E42BE02B575D": { + "name": "NETWORK_SESSION_VOICE_LEAVE", + "jhash": "0xE566C7DA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xABD5E88B8A2D3DB2": { + "name": "NETWORK_SESSION_VOICE_CONNECT_TO_PLAYER", + "jhash": "0x9DFD89E6", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_VOICE_CONNECT_TO_PLAYER" + ] + }, + "0x7F8413B7FC2AA6B9": { + "name": "NETWORK_SESSION_VOICE_RESPOND_TO_REQUEST", + "jhash": "0x075321B5", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "NETWORK_SET_KEEP_FOCUSPOINT" + ] + }, + "0x5B8ED3DB018927B1": { + "name": "NETWORK_SESSION_VOICE_SET_TIMEOUT", + "jhash": "0x6EFC2FD0", + "comment": "", + "params": [ + { + "type": "int", + "name": "timeout" + } + ], + "return_type": "void", + "build": "323" + }, + "0x855BC38818F6F684": { + "name": "NETWORK_SESSION_IS_IN_VOICE_SESSION", + "jhash": "0x60AA4AA1", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xB5D3453C98456528": { + "name": "NETWORK_SESSION_IS_VOICE_SESSION_ACTIVE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEF0912DDF7C4CB4B": { + "name": "NETWORK_SESSION_IS_VOICE_SESSION_BUSY", + "jhash": "0x132CA01E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x3A214F2EC889B100": { + "name": "NETWORK_SEND_TEXT_MESSAGE", + "jhash": "0xAFFEA720", + "comment": "Message is limited to 64 characters.", + "params": [ + { + "type": "const char*", + "name": "message" + }, + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x75138790B4359A74": { + "name": "NETWORK_SET_ACTIVITY_SPECTATOR", + "jhash": "0xFC9AD060", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x12103B9E0C9F92FB": { + "name": "NETWORK_IS_ACTIVITY_SPECTATOR", + "jhash": "0xAF329720", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0E4F77F7B9D74D84": { + "name": "NETWORK_SET_ACTIVITY_PLAYER_MAX", + "jhash": "0x04CB2AB4", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573" + }, + "0x9D277B76D1D12222": { + "name": "NETWORK_SET_ACTIVITY_SPECTATOR_MAX", + "jhash": "0x74E0BC0A", + "comment": "", + "params": [ + { + "type": "int", + "name": "maxSpectators" + } + ], + "return_type": "void", + "build": "323" + }, + "0x73E2B500410DA5A2": { + "name": "NETWORK_GET_ACTIVITY_PLAYER_NUM", + "jhash": "0x31F951FD", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2763BBAA72A7BCB9": { + "name": "NETWORK_IS_ACTIVITY_SPECTATOR_FROM_HANDLE", + "jhash": "0x58F1DF7D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA60BB5CE242BB254": { + "name": "NETWORK_HOST_TRANSITION", + "jhash": "0x146764FB", + "comment": "p0: Unknown int\np1: Unknown int\np2: Unknown int\np3: Unknown int\np4: Unknown always 0 in decompiled scripts\np5: BOOL purpose unknown, both 0 and 1 are used in decompiled scripts.\np6: BOOL purpose unknown, both 0 and 1 are used in decompiled scripts.\np7: Unknown int, it's an int according to decompiled scripts, however the value is always 0 or 1.\np8: Unknown int, it's an int according to decompiled scripts, however the value is always 0 or 1.\np9: Unknown int, sometimes 0, but also 32768 or 16384 appear in decompiled scripst, maybe a flag of some sort?\n\nFrom what I can tell it looks like it does the following:\nCreates/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.\nYou also need to use `NetworkJoinTransition(Player player)` and `NetworkLaunchTransition()`.", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "int", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x71FB0EBCD4915D56": { + "name": "NETWORK_DO_TRANSITION_QUICKMATCH", + "jhash": "0x2FF65C0B", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA091A5E44F0072E5": { + "name": "NETWORK_DO_TRANSITION_QUICKMATCH_ASYNC", + "jhash": "0x47D61C99", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9C4AB58491FDC98A": { + "name": "NETWORK_DO_TRANSITION_QUICKMATCH_WITH_GROUP", + "jhash": "0x5CE60A11", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any*", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA06509A691D12BE4": { + "name": "NETWORK_JOIN_GROUP_ACTIVITY", + "jhash": "0x0D7E5CF9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x1888694923EF4591": { + "name": "NETWORK_CLEAR_GROUP_ACTIVITY", + "jhash": "0x157D44D3", + "comment": "", + "params": [], + "return_type": "void", + "build": "393" + }, + "0xB13E88E655E5A3BC": { + "name": "NETWORK_RETAIN_ACTIVITY_GROUP", + "jhash": "0x36A5F2DA", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x6512765E3BE78C50": { + "name": "NETWORK_IS_TRANSITION_CLOSED_FRIENDS", + "jhash": "0x95FFACF8", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0DBD5D7E3C5BEC3B": { + "name": "NETWORK_IS_TRANSITION_CLOSED_CREW", + "jhash": "0xB97A966B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5DC577201723960A": { + "name": "NETWORK_IS_TRANSITION_SOLO", + "jhash": "0x063DC4A5", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5A6AA44FF8E931E6": { + "name": "NETWORK_IS_TRANSITION_PRIVATE", + "jhash": "0x104DDE8D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x617F49C2668E6155": { + "name": "NETWORK_GET_NUM_TRANSITION_NON_ASYNC_GAMERS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "757" + }, + "0x261E97AD7BCF3D40": { + "name": "NETWORK_MARK_AS_PREFERRED_ACTIVITY", + "jhash": "0x7EF353E1", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x39917E1B4CB0F911": { + "name": "NETWORK_MARK_AS_WAITING_ASYNC", + "jhash": "0xF60986FC", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2CE9D95E4051AECD": { + "name": "NETWORK_SET_IN_PROGRESS_FINISH_TIME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "678" + }, + "0xEF26739BCD9907D5": { + "name": "NETWORK_SET_TRANSITION_CREATOR_HANDLE", + "jhash": "0x1DD01FE7", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFB3272229A82C759": { + "name": "NETWORK_CLEAR_TRANSITION_CREATOR_HANDLE", + "jhash": "0x8BB336F7", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x4A595C32F77DFF76": { + "name": "NETWORK_INVITE_GAMERS_TO_TRANSITION", + "jhash": "0x5332E645", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCA2C8073411ECDB6": { + "name": "NETWORK_SET_GAMER_INVITED_TO_TRANSITION", + "jhash": "0x17F1C69D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD23A1A815D21DB19": { + "name": "NETWORK_LEAVE_TRANSITION", + "jhash": "0x3A3599B7", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2DCF46CB1A4F0884": { + "name": "NETWORK_LAUNCH_TRANSITION", + "jhash": "0xE3570BA2", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA2E9C1AB8A92E8CD": { + "name": "NETWORK_SET_DO_NOT_LAUNCH_FROM_JOIN_AS_MIGRATED_HOST", + "jhash": "0x8D014B23", + "comment": "Appears to set whether a transition should be started when the session is migrating.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x023782EFC70585EE": { + "name": "NETWORK_CANCEL_TRANSITION_MATCHMAKING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_BAIL_TRANSITION_QUICKMATCH" + ] + }, + "0xEAA572036990CD1B": { + "name": "NETWORK_BAIL_TRANSITION", + "jhash": "0xB59D74CA", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3E9BB38102A589B0": { + "name": "NETWORK_DO_TRANSITION_TO_GAME", + "jhash": "0x1B2114D2", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "int", + "name": "maxPlayers" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4665F51EFED00034": { + "name": "NETWORK_DO_TRANSITION_TO_NEW_GAME", + "jhash": "0x58AFBE63", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "int", + "name": "maxPlayers" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3AAD8B2FCA1E289F": { + "name": "NETWORK_DO_TRANSITION_TO_FREEMODE", + "jhash": "0xC7CB8ADF", + "comment": "p2 is true 3/4 of the occurrences I found.\n'players' is the number of players for a session. On PS3/360 it's always 18. On PC it's 32.", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "players" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9E80A5BA8109F974": { + "name": "NETWORK_DO_TRANSITION_TO_NEW_FREEMODE", + "jhash": "0xAD13375E", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "int", + "name": "players" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9D7696D8F4FA6CB7": { + "name": "NETWORK_IS_TRANSITION_TO_GAME", + "jhash": "0x17146B2B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x73B000F7FBC55829": { + "name": "NETWORK_GET_TRANSITION_MEMBERS", + "jhash": "0x31F19263", + "comment": "Returns count.", + "params": [ + { + "type": "Any*", + "name": "data" + }, + { + "type": "int", + "name": "dataCount" + } + ], + "return_type": "int", + "build": "323" + }, + "0x521638ADA1BA0D18": { + "name": "NETWORK_APPLY_TRANSITION_PARAMETER", + "jhash": "0xCEE79711", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEBEFC2E77084F599": { + "name": "NETWORK_APPLY_TRANSITION_PARAMETER_STRING", + "jhash": "0xE0C28DB5", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "string" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x31D1D2B858D25E6B": { + "name": "NETWORK_SEND_TRANSITION_GAMER_INSTRUCTION", + "jhash": "0x468B0884", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5728BB6D63E3FF1D": { + "name": "NETWORK_MARK_TRANSITION_GAMER_AS_FULLY_JOINED", + "jhash": "0x03383F57", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0B824797C9BF2159": { + "name": "NETWORK_IS_TRANSITION_HOST", + "jhash": "0x0C0900BC", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x6B5C83BA3EFE6A10": { + "name": "NETWORK_IS_TRANSITION_HOST_FROM_HANDLE", + "jhash": "0x0E2854C4", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x65042B9774C4435E": { + "name": "NETWORK_GET_TRANSITION_HOST", + "jhash": "0x73098D40", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x68049AEFF83D8F0A": { + "name": "NETWORK_IS_IN_TRANSITION", + "jhash": "0xC3CDB626", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x53FA83401D9C07FE": { + "name": "NETWORK_IS_TRANSITION_STARTED", + "jhash": "0x7917E111", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x520F3282A53D26B7": { + "name": "NETWORK_IS_TRANSITION_BUSY", + "jhash": "0xA357A2C6", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x292564C735375EDF": { + "name": "NETWORK_IS_TRANSITION_MATCHMAKING", + "jhash": "0x8262C70E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC571D0E77D8BBC29": { + "name": "NETWORK_IS_TRANSITION_LEAVE_POSTPONED", + "jhash": "0x4F4BB300", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x1398582B7F72B3ED": { + "name": "NETWORK_TRANSITION_SET_IN_PROGRESS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "505" + }, + "0x1F8E00FB18239600": { + "name": "NETWORK_TRANSITION_SET_CONTENT_CREATOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573" + }, + "0xF6F4383B7C92F11A": { + "name": "NETWORK_TRANSITION_SET_ACTIVITY_ISLAND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573" + }, + "0x2B3A8F7CA3A38FDE": { + "name": "NETWORK_OPEN_TRANSITION_MATCHMAKING", + "jhash": "0xC71E607B", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x43F4DBA69710E01E": { + "name": "NETWORK_CLOSE_TRANSITION_MATCHMAKING", + "jhash": "0x82D32D07", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x37A4494483B9F5C9": { + "name": "NETWORK_IS_TRANSITION_OPEN_TO_MATCHMAKING", + "jhash": "0xC901AA9F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0C978FDA19692C2C": { + "name": "NETWORK_SET_TRANSITION_VISIBILITY_LOCK", + "jhash": "0x4AF0ADF5", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD0A484CB2F829FBE": { + "name": "NETWORK_IS_TRANSITION_VISIBILITY_LOCKED", + "jhash": "0xF637166E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x30DE938B516F0AD2": { + "name": "NETWORK_SET_TRANSITION_ACTIVITY_ID", + "jhash": "0xCCA9C022", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEEEDA5E6D7080987": { + "name": "NETWORK_CHANGE_TRANSITION_SLOTS", + "jhash": "0x1E5F6AEF", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x973D76AA760A6CB6": { + "name": "NETWORK_TRANSITION_BLOCK_JOIN_REQUESTS", + "jhash": "0x0532DDD2", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9AC9CCBFA8C29795": { + "name": "NETWORK_HAS_PLAYER_STARTED_TRANSITION", + "jhash": "0x4ABD1E59", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2615AA2A695930C1": { + "name": "NETWORK_ARE_TRANSITION_DETAILS_VALID", + "jhash": "0xCDEBCCE7", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9D060B08CD63321A": { + "name": "NETWORK_JOIN_TRANSITION", + "jhash": "0xB054EC4B", + "comment": "int handle[76];\n NETWORK_HANDLE_FROM_FRIEND(iSelectedPlayer, &handle[0], 13);\n Player uVar2 = NETWORK_GET_PLAYER_FROM_GAMER_HANDLE(&handle[0]);\n NETWORK_JOIN_TRANSITION(uVar2);\nnothing doin.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7284A47B3540E6CF": { + "name": "NETWORK_HAS_INVITED_GAMER_TO_TRANSITION", + "jhash": "0x4F41DF6B", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3F9990BF5F22759C": { + "name": "NETWORK_HAS_TRANSITION_INVITE_BEEN_ACKED", + "jhash": "0x00F26CDC", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x05095437424397FA": { + "name": "NETWORK_IS_ACTIVITY_SESSION", + "jhash": "0x577DAA8A", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x236905C700FDB54D": { + "name": "NETWORK_DISABLE_REALTIME_MULTIPLAYER", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "2612" + }, + "0x4A9FDE3A5A6D0437": { + "name": "NETWORK_SET_PRESENCE_SESSION_INVITES_BLOCKED", + "jhash": "0x18F03AFD", + "comment": "Does nothing. It's just a nullsub.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC3C7A6AFDB244624": { + "name": "NETWORK_SEND_INVITE_VIA_PRESENCE", + "jhash": "0x8B99B72B", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "int", + "name": "dataCount" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SEND_PRESENCE_INVITE" + ] + }, + "0xC116FF9B4D488291": { + "name": "NETWORK_SEND_TRANSITION_INVITE_VIA_PRESENCE", + "jhash": "0x877C0E1C", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "int", + "name": "dataCount" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SEND_PRESENCE_TRANSITION_INVITE" + ] + }, + "0x1171A97A3D3981B6": { + "name": "NETWORK_SEND_IMPORTANT_TRANSITION_INVITE_VIA_PRESENCE", + "jhash": "", + "comment": "Contains the string \"NETWORK_SEND_PRESENCE_TRANSITION_INVITE\" but so does 0xC116FF9B4D488291; seems to fit alphabetically here, tho.", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "int", + "name": "dataCount" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SEND_PRESENCE_TRANSITION_INVITE" + ] + }, + "0x742B58F723233ED9": { + "name": "NETWORK_GET_PRESENCE_INVITE_INDEX_BY_ID", + "jhash": "0x5E832444", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xCEFA968912D0F78D": { + "name": "NETWORK_GET_NUM_PRESENCE_INVITES", + "jhash": "0x3FDA00F3", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xFA91550DF9318B22": { + "name": "NETWORK_ACCEPT_PRESENCE_INVITE", + "jhash": "0xE5DA4CED", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF0210268DB0974B1": { + "name": "NETWORK_REMOVE_PRESENCE_INVITE", + "jhash": "0x93C665FA", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDFF09646E12EC386": { + "name": "NETWORK_GET_PRESENCE_INVITE_ID", + "jhash": "0xD50DF46C", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4962CC4AA2F345B7": { + "name": "NETWORK_GET_PRESENCE_INVITE_INVITER", + "jhash": "0x19EC65D9", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x38D5B0FEBB086F75": { + "name": "NETWORK_GET_PRESENCE_INVITE_HANDLE", + "jhash": "0xB2451429", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x26E1CD96B0903D60": { + "name": "NETWORK_GET_PRESENCE_INVITE_SESSION_ID", + "jhash": "0xC5E0C989", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x24409FC4C55CB22D": { + "name": "NETWORK_GET_PRESENCE_INVITE_CONTENT_ID", + "jhash": "0xA4302183", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xD39B3FFF8FFDD5BF": { + "name": "NETWORK_GET_PRESENCE_INVITE_PLAYLIST_LENGTH", + "jhash": "0x51B2D848", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x728C4CC7920CD102": { + "name": "NETWORK_GET_PRESENCE_INVITE_PLAYLIST_CURRENT", + "jhash": "0x4677C656", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x3DBF2DF0AEB7D289": { + "name": "NETWORK_GET_PRESENCE_INVITE_FROM_ADMIN", + "jhash": "0xF5E3401C", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8806CEBFABD3CE05": { + "name": "NETWORK_GET_PRESENCE_INVITE_IS_TOURNAMENT", + "jhash": "0x7D593B4C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x76D9B976C4C09FDE": { + "name": "NETWORK_HAS_FOLLOW_INVITE", + "jhash": "0xE96CFE7D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC88156EBB786F8D5": { + "name": "NETWORK_ACTION_FOLLOW_INVITE", + "jhash": "0xAB969F00", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x439BFDE3CD0610F6": { + "name": "NETWORK_CLEAR_FOLLOW_INVITE", + "jhash": "0x3242F952", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEBF8284D8CADEB53": { + "name": "NETWORK_REMOVE_AND_CANCEL_ALL_INVITES", + "jhash": "0x9773F36A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x7524B431B2E6F7EE": { + "name": "NETWORK_REMOVE_TRANSITION_INVITE", + "jhash": "0xFDE84CB7", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x726E0375C7A26368": { + "name": "NETWORK_REMOVE_ALL_TRANSITION_INVITE", + "jhash": "0xF7134E73", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xF083835B70BA9BFE": { + "name": "NETWORK_REMOVE_AND_CANCEL_ALL_TRANSITION_INVITES", + "jhash": "0xC47352E7", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9D80CD1D0E6327DE": { + "name": "NETWORK_INVITE_GAMERS", + "jhash": "0x52FB8074", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4D86CD31E8976ECE": { + "name": "NETWORK_HAS_INVITED_GAMER", + "jhash": "0xEC651BC0", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x71DC455F5CD1C2B1": { + "name": "NETWORK_HAS_MADE_INVITE_DECISION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "NETWORK_HAS_INVITE_BEEN_ACKED" + ] + }, + "0x3855FB5EB2C5E8B2": { + "name": "NETWORK_GET_INVITE_REPLY_STATUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "505" + }, + "0x74881E6BCAE2327C": { + "name": "NETWORK_GET_CURRENTLY_SELECTED_GAMER_HANDLE_FROM_INVITE_MENU", + "jhash": "0x72BA00CE", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7206F674F2A3B1BB": { + "name": "NETWORK_SET_CURRENTLY_SELECTED_GAMER_HANDLE_FROM_INVITE_MENU", + "jhash": "0xFD95899E", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x66F010A4B031A331": { + "name": "NETWORK_SET_INVITE_ON_CALL_FOR_INVITE_MENU", + "jhash": "0x11378777", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x44B37CDCAE765AAE": { + "name": "NETWORK_CHECK_DATA_MANAGER_SUCCEEDED_FOR_HANDLE", + "jhash": "0x13301529", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4AD490AE1536933B": { + "name": "NETWORK_CHECK_DATA_MANAGER_FOR_HANDLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "372" + }, + "0x0D77A82DC2D0DA59": { + "name": "NETWORK_SET_INVITE_FAILED_MESSAGE_FOR_INVITE_MENU", + "jhash": "0x0808D4CC", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCBBD7C4991B64809": { + "name": "FILLOUT_PM_PLAYER_LIST", + "jhash": "0xCE40F423", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x716B6DB9D1886106": { + "name": "FILLOUT_PM_PLAYER_LIST_WITH_NAMES", + "jhash": "0xB8DF604E", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE26CCFF8094D8C74": { + "name": "REFRESH_PLAYER_LIST_STATS", + "jhash": "0xF49C1533", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "USING_NETWORK_WEAPONTYPE" + ] + }, + "0x796A87B3B68D1F3D": { + "name": "NETWORK_SET_CURRENT_DATA_MANAGER_HANDLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_CHECK_DATA_MANAGER_FOR_HANDLE" + ] + }, + "0x2FC5650B0271CB57": { + "name": "NETWORK_IS_IN_PLATFORM_PARTY", + "jhash": "0xA812B6CB", + "comment": "Hardcoded to return false.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x01ABCE5E7CBDA196": { + "name": "NETWORK_GET_PLATFORM_PARTY_MEMBER_COUNT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_GET_PLATFORM_PARTY_UNK" + ] + }, + "0x120364DE2845DAF8": { + "name": "NETWORK_GET_PLATFORM_PARTY_MEMBERS", + "jhash": "0xF30E5814", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + }, + { + "type": "int", + "name": "dataSize" + } + ], + "return_type": "int", + "build": "323" + }, + "0xFD8B834A8BA05048": { + "name": "NETWORK_IS_IN_PLATFORM_PARTY_CHAT", + "jhash": "0xC6609191", + "comment": "Hardcoded to return false.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x8DE9945BCC9AEC52": { + "name": "NETWORK_IS_CHATTING_IN_PLATFORM_PARTY", + "jhash": "0x51367B34", + "comment": "This would be nice to see if someone is in party chat, but 2 sad notes.\n1) It only becomes true if said person is speaking in that party at the time.\n2) It will never, become true unless you are in that party with said person.", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2BF66D2E7414F686": { + "name": "NETWORK_CAN_QUEUE_FOR_PREVIOUS_SESSION_JOIN", + "jhash": "0x9156EFC0", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x14922ED3E38761F0": { + "name": "NETWORK_IS_QUEUING_FOR_SESSION_JOIN", + "jhash": "0x8FA6EE0E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x6CE50E47F5543D0C": { + "name": "NETWORK_CLEAR_QUEUED_JOIN_REQUEST", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "573" + }, + "0xFA2888E3833C8E96": { + "name": "NETWORK_SEND_QUEUED_JOIN_REQUEST", + "jhash": "0x7F70C15A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x25D990F8E0E3F13C": { + "name": "NETWORK_REMOVE_ALL_QUEUED_JOIN_REQUESTS", + "jhash": "0x4FD83F5B", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xF1B84178F8674195": { + "name": "NETWORK_SEED_RANDOM_NUMBER_GENERATOR", + "jhash": "0x41702C8A", + "comment": "", + "params": [ + { + "type": "int", + "name": "seed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x599E4FA1F87EB5FF": { + "name": "NETWORK_GET_RANDOM_INT", + "jhash": "0x208DD848", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xE30CF56F1EFA5F43": { + "name": "NETWORK_GET_RANDOM_INT_RANGED", + "jhash": "0xF9B6426D", + "comment": "Same as GET_RANDOM_INT_IN_RANGE", + "params": [ + { + "type": "int", + "name": "rangeStart" + }, + { + "type": "int", + "name": "rangeEnd" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_GET_RANDOM_INT_IN_RANGE" + ] + }, + "0x04BD27B5ACB67067": { + "name": "_NETWORK_GET_RANDOM_FLOAT_RANGED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "rangeStart" + }, + { + "type": "float", + "name": "rangeEnd" + } + ], + "return_type": "float", + "build": "2802" + }, + "0x655B91F1495A9090": { + "name": "NETWORK_PLAYER_IS_CHEATER", + "jhash": "0xA51DC214", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x172F75B6EE2233BA": { + "name": "NETWORK_PLAYER_GET_CHEATER_REASON", + "jhash": "0x1720ABA6", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_PLAYER_IS_UNK" + ] + }, + "0x19D8DA0E5A68045A": { + "name": "NETWORK_PLAYER_IS_BADSPORT", + "jhash": "0xA19708E3", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x46FB3ED415C7641C": { + "name": "TRIGGER_PLAYER_CRC_HACKER_CHECK", + "jhash": "0xF9A51B92", + "comment": "p1 = 6", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Hash", + "name": "scriptHash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_IS_PLAYER_IN_SCRIPT", + "_TRIGGER_SCRIPT_CRC_CHECK_ON_PLAYER" + ] + }, + "0xA12D3A5A3753CC23": { + "name": "TRIGGER_TUNING_CRC_HACKER_CHECK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "1103", + "unused": true + }, + "0xF287F506767CC8A9": { + "name": "TRIGGER_FILE_CRC_HACKER_CHECK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "1103", + "unused": true + }, + "0x472841A026D26D8B": { + "name": "REMOTE_CHEATER_PLAYER_DETECTED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "a" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "BOOL", + "build": "1103", + "unused": true, + "old_names": [ + "_REMOTE_CHEAT_DETECTED" + ] + }, + "0xEC5E3AF5289DCA81": { + "name": "BAD_SPORT_PLAYER_LEFT_DETECTED", + "jhash": "0x4C2C6B6A", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "int", + "name": "event" + }, + { + "type": "int", + "name": "amountReceived" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7F562DBC212E81F9": { + "name": "NETWORK_ADD_INVALID_OBJECT_MODEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "2545", + "unused": true, + "old_names": [ + "_NETWORK_ADD_INVALID_MODEL" + ] + }, + "0x791EDB5803B2F468": { + "name": "NETWORK_REMOVE_INVALID_OBJECT_MODEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "2545", + "unused": true, + "old_names": [ + "_NETWORK_REMOVE_INVALID_MODEL" + ] + }, + "0x03B2F03A53D85E41": { + "name": "NETWORK_CLEAR_INVALID_OBJECT_MODELS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "2545", + "unused": true, + "old_names": [ + "_NETWORK_CLEAR_INVALID_MODELS" + ] + }, + "0xE66C690248F11150": { + "name": "NETWORK_APPLY_PED_SCAR_DATA", + "jhash": "0x4818ACD0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1CA59E306ECB80A5": { + "name": "NETWORK_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT", + "jhash": "0x470810ED", + "comment": "", + "params": [ + { + "type": "int", + "name": "maxNumMissionParticipants" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int", + "name": "instanceId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD1110739EEADB592": { + "name": "NETWORK_TRY_TO_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_SET_THIS_SCRIPT_MARKED", + "_NETWORK_IS_THIS_SCRIPT_MARKED" + ] + }, + "0x2910669969E9535E": { + "name": "NETWORK_GET_THIS_SCRIPT_IS_NETWORK_SCRIPT", + "jhash": "0xD9BF6549", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA6C90FBC38E395EE": { + "name": "NETWORK_GET_MAX_NUM_PARTICIPANTS", + "jhash": "0xCCD8C02D", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_GET_NUM_PARTICIPANTS_HOST" + ] + }, + "0x18D0456E86604654": { + "name": "NETWORK_GET_NUM_PARTICIPANTS", + "jhash": "0x3E25A3C5", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x57D158647A6BFABF": { + "name": "NETWORK_GET_SCRIPT_STATUS", + "jhash": "0x2BE9235A", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x3E9B2F01C50DF595": { + "name": "NETWORK_REGISTER_HOST_BROADCAST_VARIABLES", + "jhash": "0xDAF3B0AE", + "comment": "", + "params": [ + { + "type": "int*", + "name": "vars" + }, + { + "type": "int", + "name": "numVars" + }, + { + "type": "const char*", + "name": "debugName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3364AA97340CA215": { + "name": "NETWORK_REGISTER_PLAYER_BROADCAST_VARIABLES", + "jhash": "0xBE3D32B4", + "comment": "", + "params": [ + { + "type": "int*", + "name": "vars" + }, + { + "type": "int", + "name": "numVars" + }, + { + "type": "const char*", + "name": "debugName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEA8C0DDB10E2822A": { + "name": "NETWORK_REGISTER_HIGH_FREQUENCY_HOST_BROADCAST_VARIABLES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1868" + }, + "0xD6D7478CA62B8D41": { + "name": "NETWORK_REGISTER_HIGH_FREQUENCY_PLAYER_BROADCAST_VARIABLES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1868" + }, + "0x64F62AFB081E260D": { + "name": "NETWORK_FINISH_BROADCASTING_DATA", + "jhash": "0xA71A1D2A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5D10B3795F3FC886": { + "name": "NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA", + "jhash": "0x0B739F53", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x24FB80D107371267": { + "name": "NETWORK_GET_PLAYER_INDEX", + "jhash": "0xBE1C1506", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "Player", + "build": "323" + }, + "0x1B84DF6AF2A46938": { + "name": "NETWORK_GET_PARTICIPANT_INDEX", + "jhash": "0xC4D91094", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "int", + "build": "323" + }, + "0x6C0E2E0125610278": { + "name": "NETWORK_GET_PLAYER_INDEX_FROM_PED", + "jhash": "0x40DBF464", + "comment": "Returns the Player associated to a given Ped when in an online session.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Player", + "build": "323" + }, + "0xA4A79DD2D9600654": { + "name": "NETWORK_GET_NUM_CONNECTED_PLAYERS", + "jhash": "0xF7952E62", + "comment": "Returns the amount of players connected in the current session. Only works when connected to a session/server.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x93DC1BE4E1ABE9D1": { + "name": "NETWORK_IS_PLAYER_CONNECTED", + "jhash": "0x168EE2C2", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCF61D4B4702EE9EB": { + "name": "NETWORK_GET_TOTAL_NUM_PLAYERS", + "jhash": "0xF4F13B06", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x6FF8FF40B6357D45": { + "name": "NETWORK_IS_PARTICIPANT_ACTIVE", + "jhash": "0x4E2C348B", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB8DFD30D6973E135": { + "name": "NETWORK_IS_PLAYER_ACTIVE", + "jhash": "0x43657B17", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3CA58F6CB7CBD784": { + "name": "NETWORK_IS_PLAYER_A_PARTICIPANT", + "jhash": "0xB08B6992", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x83CD99A1E6061AB5": { + "name": "NETWORK_IS_HOST_OF_THIS_SCRIPT", + "jhash": "0x6970BA94", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC7B4D79B01FA7A5C": { + "name": "NETWORK_GET_HOST_OF_THIS_SCRIPT", + "jhash": "0x89EA7B54", + "comment": "", + "params": [], + "return_type": "Player", + "build": "323" + }, + "0x1D6A14F1F9A736FC": { + "name": "NETWORK_GET_HOST_OF_SCRIPT", + "jhash": "0x9C95D0BB", + "comment": "scriptName examples:\n\"freemode\", \"AM_CR_SecurityVan\", ...\n\nMost of the time, these values are used:\ninstance_id = -1\nposition_hash = 0", + "params": [ + { + "type": "const char*", + "name": "scriptName" + }, + { + "type": "int", + "name": "instance_id" + }, + { + "type": "int", + "name": "position_hash" + } + ], + "return_type": "Player", + "build": "323" + }, + "0x3B3D11CD9FFCDFC9": { + "name": "NETWORK_SET_MISSION_FINISHED", + "jhash": "0x3083FAD7", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9D40DF90FAD26098": { + "name": "NETWORK_IS_SCRIPT_ACTIVE", + "jhash": "0x4A65250C", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scriptName" + }, + { + "type": "int", + "name": "instance_id" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "position_hash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDA7DE67F5FE5EE13": { + "name": "NETWORK_IS_SCRIPT_ACTIVE_BY_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "scriptHash" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "2245" + }, + "0x560B423D73015E77": { + "name": "NETWORK_IS_THREAD_A_NETWORK_SCRIPT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "threadId" + } + ], + "return_type": "BOOL", + "build": "1604", + "old_names": [ + "_NETWORK_IS_THREAD_ACTIVE" + ] + }, + "0x3658E8CD94FC121A": { + "name": "NETWORK_GET_NUM_SCRIPT_PARTICIPANTS", + "jhash": "0x8F7D9F46", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scriptName" + }, + { + "type": "int", + "name": "instance_id" + }, + { + "type": "int", + "name": "position_hash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x638A3A81733086DB": { + "name": "NETWORK_GET_INSTANCE_ID_OF_THIS_SCRIPT", + "jhash": "0xDB8B5D71", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x257ED0FADF750BCF": { + "name": "NETWORK_GET_POSITION_HASH_OF_THIS_SCRIPT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "Hash", + "build": "2372", + "old_names": [ + "_NETWORK_GET_POSITION_HASH_OF_THIS_SCRIPT" + ] + }, + "0x1AD5B71586B94820": { + "name": "NETWORK_IS_PLAYER_A_PARTICIPANT_ON_SCRIPT", + "jhash": "0xCEA55F4C", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "const char*", + "name": "script" + }, + { + "type": "int", + "name": "instance_id" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2302C0264EA58D31": { + "name": "NETWORK_PREVENT_SCRIPT_HOST_MIGRATION", + "jhash": "0x8DCFE77D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x741A3D8380319A81": { + "name": "NETWORK_REQUEST_TO_BE_HOST_OF_THIS_SCRIPT", + "jhash": "0x331D9A27", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x90986E8876CE0A83": { + "name": "PARTICIPANT_ID", + "jhash": "0x9C35A221", + "comment": "Return the local Participant ID", + "params": [], + "return_type": "Player", + "build": "323" + }, + "0x57A3BDDAD8E5AA0A": { + "name": "PARTICIPANT_ID_TO_INT", + "jhash": "0x907498B0", + "comment": "Return the local Participant ID.\n\nThis native is exactly the same as 'PARTICIPANT_ID' native.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x2DA41ED6E1FCD7A5": { + "name": "NETWORK_GET_KILLER_OF_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Hash*", + "name": "weaponHash" + } + ], + "return_type": "Player", + "build": "463", + "old_names": [ + "_NETWORK_GET_PLAYER_KILLER_OF_PLAYER" + ] + }, + "0x7A1ADEEF01740A24": { + "name": "NETWORK_GET_DESTROYER_OF_NETWORK_ID", + "jhash": "0x4FCA6436", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "Hash*", + "name": "weaponHash" + } + ], + "return_type": "Player", + "build": "323" + }, + "0xC434133D9BA52777": { + "name": "NETWORK_GET_DESTROYER_OF_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Hash*", + "name": "weaponHash" + } + ], + "return_type": "Player", + "build": "463", + "old_names": [ + "_NETWORK_GET_DESTROYER_OF_ENTITY" + ] + }, + "0x83660B734994124D": { + "name": "NETWORK_GET_ASSISTED_KILL_OF_ENTITY", + "jhash": "", + "comment": "NETWORK_GET_ASSISTED_DAMAGE_OF_ENTITY that ensures the entity is dead (IS_ENTITY_DEAD)", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_NETWORK_GET_ASSISTED_DAMAGE_OF_DEAD_ENTITY" + ] + }, + "0x4CACA84440FA26F6": { + "name": "NETWORK_GET_ASSISTED_DAMAGE_OF_ENTITY", + "jhash": "0x28A45454", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_DESROYER_OF_ENTITY", + "_NETWORK_GET_DESTROYER_OF_ENTITY" + ] + }, + "0x42B2DAA6B596F5F8": { + "name": "NETWORK_GET_ENTITY_KILLER_OF_PLAYER", + "jhash": "0xA7E7E04F", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Hash*", + "name": "weaponHash" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0x2C863ACDCD12B3DB": { + "name": "NETWORK_SET_CURRENT_PUBLIC_CONTENT_ID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "missionId" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_SET_CURRENT_MISSION_ID" + ] + }, + "0x3DAD00265FBF356B": { + "name": "NETWORK_SET_CURRENT_CHAT_OPTION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "newChatOption" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xAA6D5451DC3448B6": { + "name": "NETWORK_SET_CURRENT_SPAWN_LOCATION_OPTION", + "jhash": "", + "comment": "mpSettingSpawn:\n\nenum eMpSettingSpawn\n{\n\tMP_SETTING_SPAWN_NULL,\n\tMP_SETTING_SPAWN_PROPERTY,\n\tMP_SETTING_SPAWN_LAST_POSITION,\n\tMP_SETTING_SPAWN_GARAGE,\n\tMP_SETTING_SPAWN_RANDOM,\n\tMP_SETTING_SPAWN_PRIVATE_YACHT,\n\tMP_SETTING_SPAWN_OFFICE,\n\tMP_SETTING_SPAWN_CLUBHOUSE,\n\tMP_SETTING_SPAWN_IE_WAREHOUSE,\n\tMP_SETTING_SPAWN_BUNKER,\n\tMP_SETTING_SPAWN_HANGAR,\n\tMP_SETTING_SPAWN_DEFUNCT_BASE,\n\tMP_SETTING_SPAWN_NIGHTCLUB,\n\tMP_SETTING_SPAWN_ARENA_GARAGE,\n\tMP_SETTING_SPAWN_CASINO_APARTMENT,\n\tMP_SETTING_SPAWN_ARCADE,\n\tMP_SETTING_SPAWN_SUBMARINE,\n\tMP_SETTING_SPAWN_CAR_MEET,\n\tMP_SETTING_SPAWN_AUTO_SHOP,\n\tMP_SETTING_SPAWN_FIXER_HQ,\n\tMP_SETTING_SPAWN_MAX,\n};", + "params": [ + { + "type": "Hash", + "name": "mpSettingSpawn" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_SET_CURRENT_SPAWN_SETTING" + ] + }, + "0x8C70252FC40F320B": { + "name": "NETWORK_SET_VEHICLE_DRIVEN_IN_TEST_DRIVE", + "jhash": "", + "comment": "Used by MetricVEHICLE_DIST_DRIVEN", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_NETWORK_SET_VEHICLE_TEST_DRIVE" + ] + }, + "0xEA23C49EAA83ACFB": { + "name": "NETWORK_RESURRECT_LOCAL_PLAYER", + "jhash": "0xF1F9D4B4", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "changetime" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "int", + "name": "p7" + }, + { + "type": "int", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2D95C7E2D7E07307": { + "name": "NETWORK_SET_LOCAL_PLAYER_INVINCIBLE_TIME", + "jhash": "0xFEA9B85C", + "comment": "", + "params": [ + { + "type": "int", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8A8694B48715B000": { + "name": "NETWORK_IS_LOCAL_PLAYER_INVINCIBLE", + "jhash": "0x8DE13B36", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9DD368BF06983221": { + "name": "NETWORK_DISABLE_INVINCIBLE_FLASHING", + "jhash": "0x8D27280E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF0BC9BCD24A511D5": { + "name": "NETWORK_PATCH_POST_CUTSCENE_HS4F_TUN_ENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_PED_FORCE_GAME_STATE_UPDATE" + ] + }, + "0x524FF0AEFF9C3973": { + "name": "NETWORK_SET_LOCAL_PLAYER_SYNC_LOOK_AT", + "jhash": "0xB72F086D", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB07D3185E11657A5": { + "name": "NETWORK_HAS_ENTITY_BEEN_REGISTERED_WITH_THIS_THREAD", + "jhash": "0xEDA68956", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA11700682F3AD45C": { + "name": "NETWORK_GET_NETWORK_ID_FROM_ENTITY", + "jhash": "0x9E35DAB6", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "323" + }, + "0xCE4E5D9B0A4FF560": { + "name": "NETWORK_GET_ENTITY_FROM_NETWORK_ID", + "jhash": "0x5B912C3F", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0xC7827959479DCC78": { + "name": "NETWORK_GET_ENTITY_IS_NETWORKED", + "jhash": "0xD7F934F4", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0991549DE4D64762": { + "name": "NETWORK_GET_ENTITY_IS_LOCAL", + "jhash": "0x813353ED", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x06FAACD625D80CAA": { + "name": "NETWORK_REGISTER_ENTITY_AS_NETWORKED", + "jhash": "0x31A630A4", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7368E683BB9038D6": { + "name": "NETWORK_UNREGISTER_NETWORKED_ENTITY", + "jhash": "0x5C645F64", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x38CE16C96BD11344": { + "name": "NETWORK_DOES_NETWORK_ID_EXIST", + "jhash": "0xB8D2C99E", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x18A47D074708FD68": { + "name": "NETWORK_DOES_ENTITY_EXIST_WITH_NETWORK_ID", + "jhash": "0x1E2E3177", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA670B3662FAFFBD0": { + "name": "NETWORK_REQUEST_CONTROL_OF_NETWORK_ID", + "jhash": "0x9262A60A", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4D36070FE0215186": { + "name": "NETWORK_HAS_CONTROL_OF_NETWORK_ID", + "jhash": "0x92E77D21", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7242F8B741CE1086": { + "name": "NETWORK_IS_NETWORK_ID_REMOTELY_CONTROLLED", + "jhash": "", + "comment": "Returns true if the specified network id is controlled by someone else.", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "BOOL", + "build": "678", + "old_names": [ + "_NETWORK_IS_NETWORK_ID_A_CLONE" + ] + }, + "0xB69317BF5E782347": { + "name": "NETWORK_REQUEST_CONTROL_OF_ENTITY", + "jhash": "0xA05FEBD7", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x870DDFD5A4A796E4": { + "name": "NETWORK_REQUEST_CONTROL_OF_DOOR", + "jhash": "0xF60DAAF6", + "comment": "", + "params": [ + { + "type": "int", + "name": "doorID" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x01BF60A500E28887": { + "name": "NETWORK_HAS_CONTROL_OF_ENTITY", + "jhash": "0x005FD797", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5BC9495F0B3B6FA6": { + "name": "NETWORK_HAS_CONTROL_OF_PICKUP", + "jhash": "0xF7784FC8", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCB3C68ADB06195DF": { + "name": "NETWORK_HAS_CONTROL_OF_DOOR", + "jhash": "0x136326EC", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "doorHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC01E93FAC20C3346": { + "name": "NETWORK_IS_DOOR_NETWORKED", + "jhash": "0xD14D9C07", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "doorHash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_HAS_CONTROL_OF_PAVEMENT_STATS" + ] + }, + "0xB4C94523F023419C": { + "name": "VEH_TO_NET", + "jhash": "0xF17634EB", + "comment": "calls from vehicle to net.\n", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x0EDEC3C276198689": { + "name": "PED_TO_NET", + "jhash": "0x86A0B759", + "comment": "gets the network id of a ped", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x99BFDC94A603E541": { + "name": "OBJ_TO_NET", + "jhash": "0x1E05F29F", + "comment": "Lets objects spawn online simply do it like this:\n\nint createdObject = OBJ_TO_NET(CREATE_OBJECT_NO_OFFSET(oball, pCoords.x, pCoords.y, pCoords.z, 1, 0, 0));", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "int", + "build": "323" + }, + "0x367B936610BA360C": { + "name": "NET_TO_VEH", + "jhash": "0x7E02FAEA", + "comment": "", + "params": [ + { + "type": "int", + "name": "netHandle" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xBDCD95FC216A8B3E": { + "name": "NET_TO_PED", + "jhash": "0x87717DD4", + "comment": "gets the ped id of a network id", + "params": [ + { + "type": "int", + "name": "netHandle" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0xD8515F5FEA14CB3F": { + "name": "NET_TO_OBJ", + "jhash": "0x27AA14D8", + "comment": "gets the object id of a network id", + "params": [ + { + "type": "int", + "name": "netHandle" + } + ], + "return_type": "Object", + "build": "323" + }, + "0xBFFEAB45A9A9094A": { + "name": "NET_TO_ENT", + "jhash": "0x5E149683", + "comment": "gets the entity id of a network id", + "params": [ + { + "type": "int", + "name": "netHandle" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0xE86051786B66CD8E": { + "name": "NETWORK_GET_LOCAL_HANDLE", + "jhash": "0x08023B16", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "int", + "name": "gamerHandleSize" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDCD51DD8F87AEC5C": { + "name": "NETWORK_HANDLE_FROM_USER_ID", + "jhash": "0x74C2C1B7", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "userId" + }, + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "int", + "name": "gamerHandleSize" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA0FD21BED61E5C4C": { + "name": "NETWORK_HANDLE_FROM_MEMBER_ID", + "jhash": "0x9BFC9FE2", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "memberId" + }, + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "int", + "name": "gamerHandleSize" + } + ], + "return_type": "void", + "build": "323" + }, + "0x388EB2B86C73B6B3": { + "name": "NETWORK_HANDLE_FROM_PLAYER", + "jhash": "0xD3498917", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "int", + "name": "gamerHandleSize" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBC1D768F2F5D6C05": { + "name": "NETWORK_HASH_FROM_PLAYER_HANDLE", + "jhash": "0xF8D7AF3B", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_NETWORK_HASH_FROM_PLAYER_HANDLE" + ] + }, + "0x58575AC3CF2CA8EC": { + "name": "NETWORK_HASH_FROM_GAMER_HANDLE", + "jhash": "0x5AC9F04D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_NETWORK_HASH_FROM_GAMER_HANDLE" + ] + }, + "0xD45CB817D7E177D2": { + "name": "NETWORK_HANDLE_FROM_FRIEND", + "jhash": "0x3B0BB3A3", + "comment": "", + "params": [ + { + "type": "int", + "name": "friendIndex" + }, + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "int", + "name": "gamerHandleSize" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9F0C0A981D73FA56": { + "name": "NETWORK_GAMERTAG_FROM_HANDLE_START", + "jhash": "0xEBA00C2A", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB071E27958EF4CF0": { + "name": "NETWORK_GAMERTAG_FROM_HANDLE_PENDING", + "jhash": "0xF000828E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFD00798DBA7523DD": { + "name": "NETWORK_GAMERTAG_FROM_HANDLE_SUCCEEDED", + "jhash": "0x89C2B5EA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x426141162EBE5CDB": { + "name": "NETWORK_GET_GAMERTAG_FROM_HANDLE", + "jhash": "0xA18A1B26", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xD66C9E72B3CC4982": { + "name": "NETWORK_DISPLAYNAMES_FROM_HANDLES_START", + "jhash": "", + "comment": "Hardcoded to return -1.", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x58CC181719256197": { + "name": "NETWORK_GET_DISPLAYNAMES_FROM_HANDLES", + "jhash": "", + "comment": "This function is hard-coded to always return 0.", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x57DBA049E110F217": { + "name": "NETWORK_ARE_HANDLES_THE_SAME", + "jhash": "0x45975AE3", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle1" + }, + { + "type": "Any*", + "name": "gamerHandle2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6F79B93B0A8E4133": { + "name": "NETWORK_IS_HANDLE_VALID", + "jhash": "0xF0996C6E", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "int", + "name": "gamerHandleSize" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCE5F689CF5A0A49D": { + "name": "NETWORK_GET_PLAYER_FROM_GAMER_HANDLE", + "jhash": "0x2E96EF1E", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "Player", + "build": "323" + }, + "0xC82630132081BB6F": { + "name": "NETWORK_MEMBER_ID_FROM_GAMER_HANDLE", + "jhash": "0x62EF0A63", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x0F10B05DDF8D16E9": { + "name": "NETWORK_IS_GAMER_IN_MY_SESSION", + "jhash": "0x59127716", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x859ED1CEA343FCA8": { + "name": "NETWORK_SHOW_PROFILE_UI", + "jhash": "0xF00A20B0", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7718D2E2060837D2": { + "name": "NETWORK_PLAYER_GET_NAME", + "jhash": "0xCE48F260", + "comment": "Returns the name of a given player. Returns \"**Invalid**\" if rlGamerInfo of the given player cannot be retrieved or the player doesn't exist.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x4927FC39CD0869A0": { + "name": "NETWORK_PLAYER_GET_USERID", + "jhash": "0x4EC0D983", + "comment": "Returns a string of the player's Rockstar Id. \nTakes a 24 char buffer. Returns the buffer or \"**Invalid**\" if rlGamerInfo of the given player cannot be retrieved or the player doesn't exist.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int*", + "name": "userID" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_NETWORK_PLAYER_GET_USER_ID" + ] + }, + "0x544ABDDA3B409B6D": { + "name": "NETWORK_PLAYER_IS_ROCKSTAR_DEV", + "jhash": "0xF6659045", + "comment": "Checks if a specific value (BYTE) in CNetGamePlayer is nonzero.\nReturns always false in Singleplayer.\n\nNo longer used for dev checks since first mods were released on PS3 & 360.\nR* now checks with the IS_DLC_PRESENT native for the dlc hash 2532323046,\nif that is present it will unlock dev stuff.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x565E430DB3B05BEC": { + "name": "NETWORK_PLAYER_INDEX_IS_CHEATER", + "jhash": "0xD265B049", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_PLAYER_SOMETHING" + ] + }, + "0x815F18AD865F057F": { + "name": "NETWORK_ENTITY_GET_OBJECT_ID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "int", + "build": "463", + "old_names": [ + "_NETWORK_GET_ENTITY_NET_SCRIPT_ID" + ] + }, + "0x37D5F739FD494675": { + "name": "NETWORK_GET_ENTITY_FROM_OBJECT_ID", + "jhash": "", + "comment": "I've had this return the player's ped handle sometimes, but also other random entities.\nWhatever p0 is, it's at least not synced to other players.\nAt least not all the time, some p0 values actually output the same entity, (different handle of course, but same entity).\nBut 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).\n\nReturns an entity handle or -1, value changes based on p0's value.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "Entity", + "build": "505" + }, + "0x7E58745504313A2E": { + "name": "NETWORK_IS_INACTIVE_PROFILE", + "jhash": "0x95481343", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAFEBB0D5D8F687D2": { + "name": "NETWORK_GET_MAX_FRIENDS", + "jhash": "0x048171BC", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x203F1CFD823B27A4": { + "name": "NETWORK_GET_FRIEND_COUNT", + "jhash": "0xA396ACDE", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xE11EBBB2A783FE8B": { + "name": "NETWORK_GET_FRIEND_NAME", + "jhash": "0x97420B6D", + "comment": "", + "params": [ + { + "type": "int", + "name": "friendIndex" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x4164F227D052E293": { + "name": "NETWORK_GET_FRIEND_DISPLAY_NAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "friendIndex" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_NETWORK_GET_FRIEND_NAME", + "_NETWORK_GET_FRIEND_NAME_FROM_INDEX" + ] + }, + "0x425A44533437B64D": { + "name": "NETWORK_IS_FRIEND_ONLINE", + "jhash": "0xE0A42430", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x87EB7A3FFCB314DB": { + "name": "NETWORK_IS_FRIEND_HANDLE_ONLINE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_IS_FRIEND_ONLINE_2" + ] + }, + "0x2EA9A3BEDF3F17B8": { + "name": "NETWORK_IS_FRIEND_IN_SAME_TITLE", + "jhash": "0xC54365C2", + "comment": "In scripts R* calls 'NETWORK_GET_FRIEND_NAME' in this param.", + "params": [ + { + "type": "const char*", + "name": "friendName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x57005C18827F3A28": { + "name": "NETWORK_IS_FRIEND_IN_MULTIPLAYER", + "jhash": "0x400BDDD9", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "friendName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1A24A179F9B31654": { + "name": "NETWORK_IS_FRIEND", + "jhash": "0x2DA4C282", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0BE73DA6984A6E33": { + "name": "NETWORK_IS_PENDING_FRIEND", + "jhash": "0x5C85FF81", + "comment": "This function is hard-coded to always return 0.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6EA101606F6E4D81": { + "name": "NETWORK_IS_ADDING_FRIEND", + "jhash": "0xBB7EC8C4", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x8E02D73914064223": { + "name": "NETWORK_ADD_FRIEND", + "jhash": "0x20E5B3EE", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "const char*", + "name": "message" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBAD8F2A42B844821": { + "name": "NETWORK_IS_FRIEND_INDEX_ONLINE", + "jhash": "0x94AE7172", + "comment": "", + "params": [ + { + "type": "int", + "name": "friendIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1B857666604B1A74": { + "name": "NETWORK_SET_PLAYER_IS_PASSIVE", + "jhash": "0x76A9FEB6", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x82377B65E943F72D": { + "name": "NETWORK_GET_PLAYER_OWNS_WAYPOINT", + "jhash": "0xB802B671", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC927EC229934AF60": { + "name": "NETWORK_CAN_SET_WAYPOINT", + "jhash": "0x009E68F3", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4C2A9FDC22377075": { + "name": "NETWORK_IGNORE_REMOTE_WAYPOINTS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "372" + }, + "0xAD4326FCA30D62F8": { + "name": "NETWORK_IS_PLAYER_ON_BLOCKLIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "2802" + }, + "0xB309EBEA797E001F": { + "name": "NETWORK_SET_SCRIPT_AUTOMUTED", + "jhash": "0x5C0AB2A9", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x26F07DD83A5F7F98": { + "name": "NETWORK_HAS_AUTOMUTE_OVERRIDE", + "jhash": "0x9A176B6E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xE870F9F1F7B4F1FA": { + "name": "NETWORK_HAS_HEADSET", + "jhash": "0xA7DC5657", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x7D395EA61622E116": { + "name": "NETWORK_SET_LOOK_AT_TALKERS", + "jhash": "0x5C05B7E1", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC0D2AF00BCC234CA": { + "name": "NETWORK_IS_PUSH_TO_TALK_ACTIVE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "NETWORK_IS_LOCAL_TALKING" + ] + }, + "0xF2FD55CB574BCC55": { + "name": "NETWORK_GAMER_HAS_HEADSET", + "jhash": "0xD036DA4A", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x71C33B22606CD88A": { + "name": "NETWORK_IS_GAMER_TALKING", + "jhash": "0x99B58DBC", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x559EBF901A8C68E0": { + "name": "NETWORK_PERMISSIONS_HAS_GAMER_RECORD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "2699" + }, + "0x8F5D1AD832AEB06C": { + "name": "NETWORK_CAN_COMMUNICATE_WITH_GAMER", + "jhash": "0xD05EB7F6", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_CAN_COMMUNICATE_WITH_GAMER_2" + ] + }, + "0xA150A4F065806B1F": { + "name": "NETWORK_CAN_TEXT_CHAT_WITH_GAMER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "NETWORK_CAN_COMMUNICATE_WITH_GAMER" + ] + }, + "0xCE60DE011B6C7978": { + "name": "NETWORK_IS_GAMER_MUTED_BY_ME", + "jhash": "0x001B4046", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDF02A2C93F1F26DA": { + "name": "NETWORK_AM_I_MUTED_BY_GAMER", + "jhash": "0x7685B333", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE944C4F5AF1B5883": { + "name": "NETWORK_IS_GAMER_BLOCKED_BY_ME", + "jhash": "0x3FDCC8D7", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x15337C7C268A27B2": { + "name": "NETWORK_AM_I_BLOCKED_BY_GAMER", + "jhash": "0xD19B312C", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB57A49545BA53CE7": { + "name": "NETWORK_CAN_VIEW_GAMER_USER_CONTENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCCA4318E1AB03F1F": { + "name": "NETWORK_HAS_VIEW_GAMER_USER_CONTENT_RESULT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x07DD29D5E22763F1": { + "name": "NETWORK_CAN_PLAY_MULTIPLAYER_WITH_GAMER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x135F9B7B7ADD2185": { + "name": "NETWORK_CAN_GAMER_PLAY_MULTIPLAYER_WITH_ME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x021ABCBD98EC4320": { + "name": "NETWORK_CAN_SEND_LOCAL_INVITE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "2612" + }, + "0x421E34C55F125964": { + "name": "NETWORK_CAN_RECEIVE_LOCAL_INVITE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "2612" + }, + "0x031E11F3D447647E": { + "name": "NETWORK_IS_PLAYER_TALKING", + "jhash": "0xDA9FD9DB", + "comment": "returns true if someone is screaming or talking in a microphone", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3FB99A8B08D18FD6": { + "name": "NETWORK_PLAYER_HAS_HEADSET", + "jhash": "0x451FB6B6", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8C71288AE68EDE39": { + "name": "NETWORK_IS_PLAYER_MUTED_BY_ME", + "jhash": "0x7A21050E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9D6981DFC91A8604": { + "name": "NETWORK_AM_I_MUTED_BY_PLAYER", + "jhash": "0xE128F2B0", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x57AF1F8E27483721": { + "name": "NETWORK_IS_PLAYER_BLOCKED_BY_ME", + "jhash": "0xAE4F4560", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x87F395D957D4353D": { + "name": "NETWORK_AM_I_BLOCKED_BY_PLAYER", + "jhash": "0x953EF45E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x21A1684A25C2867F": { + "name": "NETWORK_GET_PLAYER_LOUDNESS", + "jhash": "0xF2F67014", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323" + }, + "0xCBF12D65F95AD686": { + "name": "NETWORK_SET_TALKER_PROXIMITY", + "jhash": "0x67555C66", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x84F0F13120B4E098": { + "name": "NETWORK_GET_TALKER_PROXIMITY", + "jhash": "0x19991ADD", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xBABEC9E69A91C57B": { + "name": "NETWORK_SET_VOICE_ACTIVE", + "jhash": "0x8011247F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCFEB46DCD7D8D5EB": { + "name": "NETWORK_REMAIN_IN_GAME_CHAT", + "jhash": "0x1A3EA6CD", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAF66059A131AA269": { + "name": "NETWORK_OVERRIDE_TRANSITION_CHAT", + "jhash": "0xCAB21090", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD5B4883AC32F24C3": { + "name": "NETWORK_SET_TEAM_ONLY_CHAT", + "jhash": "0x3813019A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x265559DA40B3F327": { + "name": "NETWORK_SET_SCRIPT_CONTROLLING_TEAMS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573" + }, + "0x4348BFDA56023A2F": { + "name": "NETWORK_SET_SAME_TEAM_AS_LOCAL_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "573" + }, + "0x6F697A66CE78674E": { + "name": "NETWORK_OVERRIDE_TEAM_RESTRICTIONS", + "jhash": "0xC8CC9E75", + "comment": "", + "params": [ + { + "type": "int", + "name": "team" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x70DA3BF8DACD3210": { + "name": "NETWORK_SET_OVERRIDE_SPECTATOR_MODE", + "jhash": "0xA0FD42D3", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3C5C1E2C2FF814B1": { + "name": "NETWORK_SET_OVERRIDE_TUTORIAL_SESSION_CHAT", + "jhash": "0xC9DDA85B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9D7AFCBF21C51712": { + "name": "NETWORK_SET_PROXIMITY_AFFECTS_TEAM", + "jhash": "0xE5219410", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF46A1E03E8755980": { + "name": "NETWORK_SET_NO_SPECTATOR_CHAT", + "jhash": "0xD33AFF79", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6A5D89D7769A40D8": { + "name": "NETWORK_SET_IGNORE_SPECTATOR_CHAT_LIMITS_SAME_TEAM", + "jhash": "0x4FFEFE43", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3039AE5AD2C9C0C4": { + "name": "NETWORK_OVERRIDE_CHAT_RESTRICTIONS", + "jhash": "0x74EE2D8B", + "comment": "Could possibly bypass being muted or automatically muted", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x97DD4C5944CC2E6A": { + "name": "NETWORK_OVERRIDE_SEND_RESTRICTIONS", + "jhash": "0x6C344AE3", + "comment": "This is used alongside the native,\n'NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS'. Read its description for more info.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_OVERRIDE_SEND_RESTRICTIONS" + ] + }, + "0x57B192B4D4AD23D5": { + "name": "NETWORK_OVERRIDE_SEND_RESTRICTIONS_ALL", + "jhash": "0x2F98B405", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_CHAT_MUTE" + ] + }, + "0xDDF73E2B1FEC5AB4": { + "name": "NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS", + "jhash": "0x95F1C60D", + "comment": "R* uses this to hear all player when spectating. \nIt allows you to hear other online players when their chat is on none, crew and or friends", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0FF2862B61A58AF9": { + "name": "NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS_ALL", + "jhash": "0x1BCD3DDF", + "comment": "p0 is always false in scripts.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEF6212C2EFEF1A23": { + "name": "NETWORK_SET_VOICE_CHANNEL", + "jhash": "0x3974879F", + "comment": "", + "params": [ + { + "type": "int", + "name": "channel" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE036A705F989E049": { + "name": "NETWORK_CLEAR_VOICE_CHANNEL", + "jhash": "0x9ECF722A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xDBD2056652689917": { + "name": "NETWORK_APPLY_VOICE_PROXIMITY_OVERRIDE", + "jhash": "0xF1E84832", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "IS_NETWORK_VEHICLE_BEEN_DAMAGED_BY_ANY_OBJECT" + ] + }, + "0xF03755696450470C": { + "name": "NETWORK_CLEAR_VOICE_PROXIMITY_OVERRIDE", + "jhash": "0x7F9B9052", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5E3AA4CA2B6FB0EE": { + "name": "NETWORK_ENABLE_VOICE_BANDWIDTH_RESTRICTION", + "jhash": "0x7BBEA8CF", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCA575C391FEA25CC": { + "name": "NETWORK_DISABLE_VOICE_BANDWIDTH_RESTRICTION", + "jhash": "0xE797A4B6", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xADB57E5B663CCA8B": { + "name": "NETWORK_GET_MUTE_COUNT_FOR_PLAYER", + "jhash": "0x92268BB5", + "comment": "NETWORK_GET_M[A-U]", + "params": [ + { + "type": "Player", + "name": "p0" + }, + { + "type": "float*", + "name": "p1" + }, + { + "type": "float*", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8EF52ACAECC51D9C": { + "name": "NETWORK_SET_SPECTATOR_TO_NON_SPECTATOR_TEXT_CHAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1734" + }, + "0x5FCF4D7069B09026": { + "name": "NETWORK_TEXT_CHAT_IS_TYPING", + "jhash": "", + "comment": "Same as _IS_TEXT_CHAT_ACTIVE, except it does not check if the text chat HUD component is initialized, and therefore may crash.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_IS_TEXT_CHAT_ACTIVE" + ] + }, + "0x593850C16A36B692": { + "name": "SHUTDOWN_AND_LAUNCH_SINGLE_PLAYER_GAME", + "jhash": "0x92B7351C", + "comment": "Starts a new singleplayer game (at the prologue).", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9ECA15ADFE141431": { + "name": "SHUTDOWN_AND_LOAD_MOST_RECENT_SAVE", + "jhash": "", + "comment": "In singleplayer this will re-load your game.\n\nIn 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.\n\nYou might need to DoScreenFadeIn and ShutdownLoadingScreen otherwise you probably won't end up loading into SP at all.\n\nSomewhat related note: opening the pause menu after loading into this 'singleplayer' mode crashes the game.", + "params": [], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_SHUTDOWN_AND_LOAD_MOST_RECENT_SAVE" + ] + }, + "0xF808475FA571D823": { + "name": "NETWORK_SET_FRIENDLY_FIRE_OPTION", + "jhash": "0x6BAF95FA", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1DCCACDCFC569362": { + "name": "NETWORK_SET_RICH_PRESENCE", + "jhash": "0x932A6CED", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3E200C2BCF4164EB": { + "name": "NETWORK_SET_RICH_PRESENCE_STRING", + "jhash": "0x017E6777", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "textLabel" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_SET_RICH_PRESENCE_2" + ] + }, + "0x5ED0356A0CE3A34F": { + "name": "NETWORK_GET_TIMEOUT_TIME", + "jhash": "0xE1F86C6A", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x9769F811D1785B03": { + "name": "NETWORK_LEAVE_PED_BEHIND_BEFORE_WARP", + "jhash": "0xBE6A30C3", + "comment": "p4 and p5 are always 0 in scripts", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_RESPAWN_COORDS" + ] + }, + "0xBF22E0F32968E967": { + "name": "NETWORK_LEAVE_PED_BEHIND_BEFORE_CUTSCENE", + "jhash": "0x22E03AD0", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x715135F4B82AC90D": { + "name": "REMOVE_ALL_STICKY_BOMBS_FROM_ENTITY", + "jhash": "0xCEAE5AFC", + "comment": "entity must be a valid entity; ped can be NULL", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x17C9E241111A674D": { + "name": "NETWORK_KEEP_ENTITY_COLLISION_DISABLED_AFTER_ANIM_SCENE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2060" + }, + "0x2E4C123D1C8A710E": { + "name": "NETWORK_IS_ANY_PLAYER_NEAR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "BOOL", + "build": "505" + }, + "0x579CCED0265D4896": { + "name": "NETWORK_CLAN_SERVICE_IS_VALID", + "jhash": "0xF5F4BD95", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_PLAYER_IS_IN_CLAN" + ] + }, + "0xB124B57F571D8F18": { + "name": "NETWORK_CLAN_PLAYER_IS_ACTIVE", + "jhash": "0xAB8319A3", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEEE6EACBE8874FBA": { + "name": "NETWORK_CLAN_PLAYER_GET_DESC", + "jhash": "0x6EE4A282", + "comment": "bufferSize is 35 in the scripts.\n\nbufferSize is the elementCount of p0(desc), sizeof(p0) == 280 == p1*8 == 35 * 8, p2(netHandle) is obtained from NETWORK::NETWORK_HANDLE_FROM_PLAYER. And no, I can't explain why 35 * sizeof(int) == 280 and not 140, but I'll get back to you on that.\n\nthe answer is: because p0 an int64_t* / int64_t[35]. and FYI p2 is an int64_t[13]\n\nhttps://pastebin.com/cSZniHak", + "params": [ + { + "type": "Any*", + "name": "clanDesc" + }, + { + "type": "int", + "name": "bufferSize" + }, + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7543BB439F63792B": { + "name": "NETWORK_CLAN_IS_ROCKSTAR_CLAN", + "jhash": "0x54E79E9C", + "comment": "bufferSize is 35 in the scripts.", + "params": [ + { + "type": "Any*", + "name": "clanDesc" + }, + { + "type": "int", + "name": "bufferSize" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF45352426FF3A4F0": { + "name": "NETWORK_CLAN_GET_UI_FORMATTED_TAG", + "jhash": "0xF633805A", + "comment": "bufferSize is 35 in the scripts.", + "params": [ + { + "type": "Any*", + "name": "clanDesc" + }, + { + "type": "int", + "name": "bufferSize" + }, + { + "type": "char*", + "name": "formattedTag" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1F471B79ACC90BEF": { + "name": "NETWORK_CLAN_GET_LOCAL_MEMBERSHIPS_COUNT", + "jhash": "0x807B3450", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUM_MEMBERSHIP_DESC", + "_NETWORK_CLAN_GET_NUM_MEMBERSHIP_DESC" + ] + }, + "0x48DE78AF2C8885B8": { + "name": "NETWORK_CLAN_GET_MEMBERSHIP_DESC", + "jhash": "0x3369DD1F", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "memberDesc" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA989044E70010ABE": { + "name": "NETWORK_CLAN_DOWNLOAD_MEMBERSHIP", + "jhash": "0x8E8CB520", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5B9E023DC6EBEDC0": { + "name": "NETWORK_CLAN_DOWNLOAD_MEMBERSHIP_PENDING", + "jhash": "0x1FDB590F", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB3F64A6A91432477": { + "name": "NETWORK_CLAN_ANY_DOWNLOAD_MEMBERSHIP_PENDING", + "jhash": "0x83ED8E08", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_IS_CLAN_MEMBERSHIP_FINISHED_DOWNLOADING" + ] + }, + "0xBB6E6FEE99D866B2": { + "name": "NETWORK_CLAN_REMOTE_MEMBERSHIPS_ARE_IN_CACHE", + "jhash": "0x40202867", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAAB11F6C4ADBC2C1": { + "name": "NETWORK_CLAN_GET_MEMBERSHIP_COUNT", + "jhash": "0x25924010", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x48A59CF88D43DF0E": { + "name": "NETWORK_CLAN_GET_MEMBERSHIP_VALID", + "jhash": "0x48914F6A", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC8BC2011F67B3411": { + "name": "NETWORK_CLAN_GET_MEMBERSHIP", + "jhash": "0xCDC4A590", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + }, + { + "type": "Any*", + "name": "clanMembership" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9FAAA4F4FC71F87F": { + "name": "NETWORK_CLAN_JOIN", + "jhash": "0x79C916C5", + "comment": "", + "params": [ + { + "type": "int", + "name": "clanDesc" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x729E3401F0430686": { + "name": "NETWORK_CLAN_CREWINFO_GET_STRING_VALUE", + "jhash": "0xBDA90BAC", + "comment": "Only documented...\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_CLAN_ANIMATION" + ] + }, + "0x2B51EDBEFC301339": { + "name": "NETWORK_CLAN_CREWINFO_GET_CREWRANKTITLE", + "jhash": "0x8E952B12", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC32EA7A2F6CA7557": { + "name": "NETWORK_CLAN_HAS_CREWINFO_METADATA_BEEN_RECEIVED", + "jhash": "0x966C90FD", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5835D9CD92E83184": { + "name": "NETWORK_CLAN_GET_EMBLEM_TXD_NAME", + "jhash": "0xBA672146", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "netHandle" + }, + { + "type": "char*", + "name": "txdName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_PLAYER_CREW_EMBLEM_TXD_NAME" + ] + }, + "0x13518FF1C6B28938": { + "name": "NETWORK_CLAN_REQUEST_EMBLEM", + "jhash": "0x7963FA4D", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA134777FF7F33331": { + "name": "NETWORK_CLAN_IS_EMBLEM_READY", + "jhash": "0x88B13CDC", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x113E6E3E50E286B0": { + "name": "NETWORK_CLAN_RELEASE_EMBLEM", + "jhash": "0xD6E3D5EA", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9AA46BADAD0E27ED": { + "name": "NETWORK_GET_PRIMARY_CLAN_DATA_CLEAR", + "jhash": "0xE22445DA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x042E4B70B93E6054": { + "name": "NETWORK_GET_PRIMARY_CLAN_DATA_CANCEL", + "jhash": "0x455DDF5C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCE86D8191B762107": { + "name": "NETWORK_GET_PRIMARY_CLAN_DATA_START", + "jhash": "0x89DB0EC7", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB5074DB804E28CE7": { + "name": "NETWORK_GET_PRIMARY_CLAN_DATA_PENDING", + "jhash": "0xA4EF02F3", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5B4F04F19376A0BA": { + "name": "NETWORK_GET_PRIMARY_CLAN_DATA_SUCCESS", + "jhash": "0x068A054E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC080FF658B2E41DA": { + "name": "NETWORK_GET_PRIMARY_CLAN_DATA_NEW", + "jhash": "0x9B8631EB", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x299EEB23175895FC": { + "name": "SET_NETWORK_ID_CAN_MIGRATE", + "jhash": "0x47C8E5FF", + "comment": "Whether or not another player is allowed to take control of the entity", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE05E81A888FA63C8": { + "name": "SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES", + "jhash": "0x68D486B2", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA8A024587329F36A": { + "name": "SET_NETWORK_ID_ALWAYS_EXISTS_FOR_PLAYER", + "jhash": "0x4D15FDB1", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_NETWORK_ID_SYNC_TO_PLAYER" + ] + }, + "0x9D724B400A7E8FFC": { + "name": "SET_NETWORK_ID_CAN_BE_REASSIGNED", + "jhash": "", + "comment": "\"No Reassign\" in CPhysicalScriptGameStateDataNode", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_SET_NETWORK_ID_CAN_BE_REASSIGNED" + ] + }, + "0xD830567D88A1E873": { + "name": "NETWORK_SET_ENTITY_CAN_BLEND", + "jhash": "0xDE8C0DB8", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0379DAF89BA09AA5": { + "name": "NETWORK_SET_OBJECT_CAN_BLEND_WHEN_FIXED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SET_OBJECT_FORCE_STATIC_BLEND" + ] + }, + "0xF1CA12B18AEF5298": { + "name": "NETWORK_SET_ENTITY_ONLY_EXISTS_FOR_PARTICIPANTS", + "jhash": "0x09CBC4B0", + "comment": "if set to true other network players can't see it\nif set to false other network player can see it\n=========================================\n^^ I attempted this by grabbing an object with GET_ENTITY_PLAYER_IS_FREE_AIMING_AT and setting this naive no matter the toggle he could still see it.\n\npc or last gen?\n\n^^ last-gen", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_SET_ENTITY_VISIBLE_TO_NETWORK", + "_NETWORK_SET_ENTITY_INVISIBLE_TO_NETWORK" + ] + }, + "0xA6928482543022B4": { + "name": "SET_NETWORK_ID_VISIBLE_IN_CUTSCENE", + "jhash": "0x199E75EF", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x32EBD154CB6B8B99": { + "name": "SET_NETWORK_ID_VISIBLE_IN_CUTSCENE_HACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_NETWORK_ID_VISIBLE_IN_CUTSCENE_NO_COLLISION" + ] + }, + "0x76B3F29D3F967692": { + "name": "SET_NETWORK_ID_VISIBLE_IN_CUTSCENE_REMAIN_HACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2189" + }, + "0xAAA553E7DD28A457": { + "name": "SET_NETWORK_CUTSCENE_ENTITIES", + "jhash": "0xFD0F7EDD", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x66D6A5E9C511214A": { + "name": "ARE_CUTSCENE_ENTITIES_NETWORKED", + "jhash": "", + "comment": "Getter for SET_NETWORK_CUTSCENE_ENTITIES.", + "params": [], + "return_type": "BOOL", + "build": "2699", + "old_names": [ + "_NETWORK_ARE_CUTSCENE_ENTITIES" + ] + }, + "0x3FA36981311FA4FF": { + "name": "SET_NETWORK_ID_PASS_CONTROL_IN_TUTORIAL", + "jhash": "0x00AE4E17", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA1607996431332DF": { + "name": "IS_NETWORK_ID_OWNED_BY_PARTICIPANT", + "jhash": "0xEA5176C0", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_CAN_NETWORK_ID_BE_SEEN" + ] + }, + "0x96320E6549DAE7B4": { + "name": "SET_REMOTE_PLAYER_VISIBLE_IN_CUTSCENE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "locallyVisible" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xD1065D68947E7B6E": { + "name": "SET_LOCAL_PLAYER_VISIBLE_IN_CUTSCENE", + "jhash": "0x59F3479B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE5F773C1A1D9D168": { + "name": "SET_LOCAL_PLAYER_INVISIBLE_LOCALLY", + "jhash": "0x764F6222", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "bIncludePlayersVehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7619364C82D3BF14": { + "name": "SET_LOCAL_PLAYER_VISIBLE_LOCALLY", + "jhash": "0x324B56DB", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "bIncludePlayersVehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x12B37D54667DB0B8": { + "name": "SET_PLAYER_INVISIBLE_LOCALLY", + "jhash": "0x18227209", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "bIncludePlayersVehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFAA10F1FAFB11AF2": { + "name": "SET_PLAYER_VISIBLE_LOCALLY", + "jhash": "0xBA2BB4B4", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "bIncludePlayersVehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x416DBD4CD6ED8DD2": { + "name": "FADE_OUT_LOCAL_PLAYER", + "jhash": "0x8FA7CEBD", + "comment": "Hardcoded to not work in SP.", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDE564951F95E09ED": { + "name": "NETWORK_FADE_OUT_ENTITY", + "jhash": "0x47EDEE56", + "comment": "normal - transition like when your coming out of LSC\nslow - transition like when you walk into a mission\n ", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "normal" + }, + { + "type": "BOOL", + "name": "slow" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1F4ED342ACEFE62D": { + "name": "NETWORK_FADE_IN_ENTITY", + "jhash": "0x9B9FCD02", + "comment": "state - 0 does 5 fades\nstate - 1 does 6 fades\n\np3: setting to 1 made vehicle fade in slower, probably \"slow\" as per NETWORK_FADE_OUT_ENTITY", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "state" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x631DC5DFF4B110E3": { + "name": "NETWORK_IS_PLAYER_FADING", + "jhash": "0x065C597B", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x422F32CC7E56ABAD": { + "name": "NETWORK_IS_ENTITY_FADING", + "jhash": "0xB5087ACF", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE73092F4157CD126": { + "name": "IS_PLAYER_IN_CUTSCENE", + "jhash": "0xE0A619BD", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE0031D3C8F36AB82": { + "name": "SET_ENTITY_VISIBLE_IN_CUTSCENE", + "jhash": "0xDBFB067B", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE135A9FF3F5D05D8": { + "name": "SET_ENTITY_LOCALLY_INVISIBLE", + "jhash": "0x51ADCC5F", + "comment": "Makes the provided entity visible for yourself for the current frame.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x241E289B5C059EDC": { + "name": "SET_ENTITY_LOCALLY_VISIBLE", + "jhash": "0x235A57B3", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E192E33AD436366": { + "name": "IS_DAMAGE_TRACKER_ACTIVE_ON_NETWORK_ID", + "jhash": "0x597063BA", + "comment": "", + "params": [ + { + "type": "int", + "name": "netID" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD45B1FFCCD52FF19": { + "name": "ACTIVATE_DAMAGE_TRACKER_ON_NETWORK_ID", + "jhash": "0x95D07BA5", + "comment": "", + "params": [ + { + "type": "int", + "name": "netID" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB2092A1EAA7FD45F": { + "name": "IS_DAMAGE_TRACKER_ACTIVE_ON_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "757", + "old_names": [ + "_IS_DAMAGE_TRACKER_ACTIVE_ON_PLAYER" + ] + }, + "0xBEC0816FF5ACBCDA": { + "name": "ACTIVATE_DAMAGE_TRACKER_ON_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_ACTIVATE_DAMAGE_TRACKER_ON_PLAYER" + ] + }, + "0xD82CF8E64C8729D8": { + "name": "IS_SPHERE_VISIBLE_TO_ANOTHER_MACHINE", + "jhash": "0x23C5274E", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDC3A310219E5DA62": { + "name": "IS_SPHERE_VISIBLE_TO_PLAYER", + "jhash": "0xE9FCFB32", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4E5C93BD0C32FBF8": { + "name": "RESERVE_NETWORK_MISSION_OBJECTS", + "jhash": "0x391DF4F3", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB60FEBA45333D36F": { + "name": "RESERVE_NETWORK_MISSION_PEDS", + "jhash": "0x54998C37", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0x76B02E21ED27A469": { + "name": "RESERVE_NETWORK_MISSION_VEHICLES", + "jhash": "0x5062875E", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0x797F9C5E661D920E": { + "name": "RESERVE_LOCAL_NETWORK_MISSION_OBJECTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_RESERVE_NETWORK_LOCAL_OBJECTS" + ] + }, + "0x2C8DF5D129595281": { + "name": "RESERVE_LOCAL_NETWORK_MISSION_PEDS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_RESERVE_NETWORK_LOCAL_PEDS" + ] + }, + "0x42613035157E4208": { + "name": "RESERVE_LOCAL_NETWORK_MISSION_VEHICLES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_RESERVE_NETWORK_LOCAL_VEHICLES" + ] + }, + "0x800DD4721A8B008B": { + "name": "CAN_REGISTER_MISSION_OBJECTS", + "jhash": "0x7F85DFDE", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBCBF4FEF9FA5D781": { + "name": "CAN_REGISTER_MISSION_PEDS", + "jhash": "0xCCAA5CE9", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7277F1F2E085EE74": { + "name": "CAN_REGISTER_MISSION_VEHICLES", + "jhash": "0x818B6830", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0A49D1CB6E34AF72": { + "name": "CAN_REGISTER_MISSION_PICKUPS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "BOOL", + "build": "757", + "old_names": [ + "_CAN_REGISTER_MISSION_PICKUPS" + ] + }, + "0xE16AA70CE9BEEDC3": { + "name": "CAN_REGISTER_MISSION_DOORS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "877" + }, + "0x69778E7564BADE6D": { + "name": "CAN_REGISTER_MISSION_ENTITIES", + "jhash": "0x83794008", + "comment": "", + "params": [ + { + "type": "int", + "name": "ped_amt" + }, + { + "type": "int", + "name": "vehicle_amt" + }, + { + "type": "int", + "name": "object_amt" + }, + { + "type": "int", + "name": "pickup_amt" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAA81B5F10BC43AC2": { + "name": "GET_NUM_RESERVED_MISSION_OBJECTS", + "jhash": "0x16A80CD6", + "comment": "p0 appears to be for MP", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1F13D5AE5CB17E17": { + "name": "GET_NUM_RESERVED_MISSION_PEDS", + "jhash": "0x6C25975C", + "comment": "p0 appears to be for MP", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0xCF3A965906452031": { + "name": "GET_NUM_RESERVED_MISSION_VEHICLES", + "jhash": "0xA9A308F3", + "comment": "p0 appears to be for MP", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x12B6281B6C6706C0": { + "name": "GET_NUM_CREATED_MISSION_OBJECTS", + "jhash": "0x603FA104", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xCB215C4B56A7FAE7": { + "name": "GET_NUM_CREATED_MISSION_PEDS", + "jhash": "0xD8FEC4F8", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x0CD9AB83489430EA": { + "name": "GET_NUM_CREATED_MISSION_VEHICLES", + "jhash": "0x20527695", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE42D626EEC94E5D9": { + "name": "GET_RESERVED_MISSION_ENTITIES_IN_AREA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any*", + "name": "out1" + }, + { + "type": "Any*", + "name": "out2" + }, + { + "type": "Any*", + "name": "out3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_GET_RESERVATIONS_FOR_SLOT_WORLD_POSITION" + ] + }, + "0xC7BE335216B5EC7C": { + "name": "GET_MAX_NUM_NETWORK_OBJECTS", + "jhash": "0x8687E285", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x0C1F7D49C39D2289": { + "name": "GET_MAX_NUM_NETWORK_PEDS", + "jhash": "0x744AC008", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x0AFCE529F69B21FF": { + "name": "GET_MAX_NUM_NETWORK_VEHICLES", + "jhash": "0xC3A12135", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xA72835064DD63E4C": { + "name": "GET_MAX_NUM_NETWORK_PICKUPS", + "jhash": "0x6A036061", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xBA7F0B77D80A4EB7": { + "name": "NETWORK_SET_OBJECT_SCOPE_DISTANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "float", + "name": "range" + } + ], + "return_type": "void", + "build": "372", + "old_names": [ + "_NETWORK_SET_OBJECT_INTEREST_RANGE" + ] + }, + "0x0F1A4B45B7693B95": { + "name": "NETWORK_ALLOW_CLONING_WHILE_IN_TUTORIAL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2189" + }, + "0xC6FCEE21C6FCEE21": { + "name": "NETWORK_SET_TASK_CUTSCENE_INSCOPE_MULTIPLER", + "jhash": "", + "comment": "A value between 1.0 and 5.0\n\n_NETWORK_SET_TASK_CUTSCENE_PROXIMITY_SCALE?", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2545" + }, + "0x7A5487FE9FAA6B48": { + "name": "GET_NETWORK_TIME", + "jhash": "0x998103C2", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x89023FBBF9200E9F": { + "name": "GET_NETWORK_TIME_ACCURATE", + "jhash": "0x98AA48E5", + "comment": "Returns the same value as GET_NETWORK_TIME in freemode, but as opposed to `GET_NETWORK_TIME` it always gets the most recent time, instead of once per tick.\nCould be used for benchmarking since it can return times in ticks.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x46718ACEEDEAFC84": { + "name": "HAS_NETWORK_TIME_STARTED", + "jhash": "0x4538C4A2", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x017008CCDAD48503": { + "name": "GET_TIME_OFFSET", + "jhash": "0x2E079AE6", + "comment": "Adds the first argument to the second.", + "params": [ + { + "type": "int", + "name": "timeA" + }, + { + "type": "int", + "name": "timeB" + } + ], + "return_type": "int", + "build": "323" + }, + "0xCB2CF5148012C8D0": { + "name": "IS_TIME_LESS_THAN", + "jhash": "0x50EF8FC6", + "comment": "Subtracts the second argument from the first, then returns whether the result is negative.", + "params": [ + { + "type": "int", + "name": "timeA" + }, + { + "type": "int", + "name": "timeB" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SUBTRACT_B_FROM_A_AND_CHECK_IF_NEGATIVE" + ] + }, + "0xDE350F8651E4346C": { + "name": "IS_TIME_MORE_THAN", + "jhash": "0xBBB6DF61", + "comment": "Subtracts the first argument from the second, then returns whether the result is negative.", + "params": [ + { + "type": "int", + "name": "timeA" + }, + { + "type": "int", + "name": "timeB" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SUBTRACT_A_FROM_B_AND_CHECK_IF_NEGATIVE" + ] + }, + "0xF5BC95857BD6D512": { + "name": "IS_TIME_EQUAL_TO", + "jhash": "0x8B4D1C06", + "comment": "Returns true if the two times are equal; otherwise returns false.", + "params": [ + { + "type": "int", + "name": "timeA" + }, + { + "type": "int", + "name": "timeB" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_ARE_INTEGERS_EQUAL" + ] + }, + "0xA2C6FC031D46FFF0": { + "name": "GET_TIME_DIFFERENCE", + "jhash": "0x5666A837", + "comment": "Subtracts the second argument from the first.", + "params": [ + { + "type": "int", + "name": "timeA" + }, + { + "type": "int", + "name": "timeB" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9E23B1777A927DAD": { + "name": "GET_TIME_AS_STRING", + "jhash": "0x8218944E", + "comment": "", + "params": [ + { + "type": "int", + "name": "time" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_FORMAT_TIME" + ] + }, + "0xF12E6CD06C73D69E": { + "name": "GET_CLOUD_TIME_AS_STRING", + "jhash": "", + "comment": "Same as GET_CLOUD_TIME_AS_INT but returns the value as a hex string (%I64X).", + "params": [], + "return_type": "const char*", + "build": "1103", + "old_names": [ + "_GET_CLOUD_TIME_AS_STRING" + ] + }, + "0x9A73240B49945C76": { + "name": "GET_CLOUD_TIME_AS_INT", + "jhash": "0xF2FDF2E0", + "comment": "Returns POSIX timestamp, an int representing the cloud time.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xAC97AF97FA68E5D5": { + "name": "CONVERT_POSIX_TIME", + "jhash": "0xBB7CCE49", + "comment": "Takes the specified time and writes it to the structure specified in the second argument.\n\nstruct date_time\n{\n int year;\n int PADDING1;\n int month;\n int PADDING2;\n int day;\n int PADDING3;\n int hour;\n int PADDING4;\n int minute;\n int PADDING5;\n int second;\n int PADDING6;\n};", + "params": [ + { + "type": "int", + "name": "posixTime" + }, + { + "type": "Any*", + "name": "timeStructure" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_DATE_AND_TIME_FROM_UNIX_EPOCH" + ] + }, + "0x423DE3854BB50894": { + "name": "NETWORK_SET_IN_SPECTATOR_MODE", + "jhash": "0x5C4C8458", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "Ped", + "name": "playerPed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x419594E137637120": { + "name": "NETWORK_SET_IN_SPECTATOR_MODE_EXTENDED", + "jhash": "0x54058F5F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "Ped", + "name": "playerPed" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFC18DB55AE19E046": { + "name": "NETWORK_SET_IN_FREE_CAM_MODE", + "jhash": "0xA7E36020", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5C707A667DF8B9FA": { + "name": "NETWORK_SET_ANTAGONISTIC_TO_PLAYER", + "jhash": "0x64235620", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "NETWORK_SET_CHOICE_MIGRATE_OPTIONS" + ] + }, + "0x048746E388762E11": { + "name": "NETWORK_IS_IN_SPECTATOR_MODE", + "jhash": "0x3EAD9DB8", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9CA5DE655269FEC4": { + "name": "NETWORK_SET_IN_MP_CUTSCENE", + "jhash": "0x8434CB43", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6CC27C9FA2040220": { + "name": "NETWORK_IS_IN_MP_CUTSCENE", + "jhash": "0x4BB33316", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x63F9EE203C3619F2": { + "name": "NETWORK_IS_PLAYER_IN_MP_CUTSCENE", + "jhash": "0x56F961E4", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFAC18E7356BD3210": { + "name": "NETWORK_HIDE_PROJECTILE_IN_CUTSCENE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1180" + }, + "0xEC51713AB6EC36E8": { + "name": "SET_NETWORK_VEHICLE_RESPOT_TIMER", + "jhash": "0x2C30912D", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDD7CEF5B3A4DA8A6": { + "name": "IS_NETWORK_VEHICLE_RUNNING_RESPOT_TIMER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "networkID" + } + ], + "return_type": "BOOL", + "build": "2802" + }, + "0x6274C4712850841E": { + "name": "SET_NETWORK_VEHICLE_AS_GHOST", + "jhash": "0xEA235081", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_NETWORK_OBJECT_NON_CONTACT" + ] + }, + "0xA2A707979FE754DC": { + "name": "SET_NETWORK_VEHICLE_MAX_POSITION_DELTA_MULTIPLIER", + "jhash": "", + "comment": "rage::netBlenderLinInterp::GetPositionMaxForUpdateLevel", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_NETWORK_VEHICLE_POSITION_UPDATE_MULTIPLIER" + ] + }, + "0x838DA0936A24ED4D": { + "name": "SET_NETWORK_ENABLE_HIGH_SPEED_EDGE_FALL_DETECTION", + "jhash": "", + "comment": "Enables a periodic ShapeTest within the NetBlender and invokes rage::netBlenderLinInterp::GoStraightToTarget (or some functional wrapper).", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_NETWORK_ENABLE_VEHICLE_POSITION_CORRECTION" + ] + }, + "0x5FFE9B4144F9712F": { + "name": "SET_LOCAL_PLAYER_AS_GHOST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_LOCAL_PLAYER_AS_GHOST" + ] + }, + "0x21D04D7BC538C146": { + "name": "IS_ENTITY_A_GHOST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_ENTITY_A_GHOST", + "_IS_ENTITY_GHOSTED_TO_LOCAL_PLAYER" + ] + }, + "0x13F1FCB111B820B0": { + "name": "SET_NON_PARTICIPANTS_OF_THIS_SCRIPT_AS_GHOSTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "877" + }, + "0xA7C511FA1C5BDA38": { + "name": "SET_REMOTE_PLAYER_AS_GHOST", + "jhash": "", + "comment": "Enables ghosting between specific players", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_RELATIONSHIP_TO_PLAYER" + ] + }, + "0x658500AE6D723A7E": { + "name": "SET_GHOST_ALPHA", + "jhash": "", + "comment": "Must be a value between 1 and 254", + "params": [ + { + "type": "int", + "name": "alpha" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_SET_GHOSTED_ENTITY_ALPHA" + ] + }, + "0x17330EBF2F2124A8": { + "name": "RESET_GHOST_ALPHA", + "jhash": "", + "comment": "Resets the entity ghost alpha to the default value (128)", + "params": [], + "return_type": "void", + "build": "791", + "old_names": [ + "_RESET_GHOSTED_ENTITY_ALPHA" + ] + }, + "0x4BA166079D658ED4": { + "name": "SET_ENTITY_GHOSTED_FOR_GHOST_PLAYERS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_NETWORK_SET_ENTITY_GHOSTED_WITH_OWNER" + ] + }, + "0xD7B6C73CAD419BCF": { + "name": "SET_INVERT_GHOSTING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "944" + }, + "0x7EF7649B64D7FF10": { + "name": "IS_ENTITY_IN_GHOST_COLLISION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "944" + }, + "0x77758139EC9B66C7": { + "name": "USE_PLAYER_COLOUR_INSTEAD_OF_TEAM_COLOUR", + "jhash": "0x4DD46DAE", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7CD6BC4C2BBDD526": { + "name": "NETWORK_CREATE_SYNCHRONISED_SCENE", + "jhash": "0xB06FE3FE", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "int", + "name": "rotationOrder" + }, + { + "type": "BOOL", + "name": "useOcclusionPortal" + }, + { + "type": "BOOL", + "name": "looped" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "animTime" + }, + { + "type": "float", + "name": "p11" + } + ], + "return_type": "int", + "build": "323" + }, + "0x742A637471BCECD9": { + "name": "NETWORK_ADD_PED_TO_SYNCHRONISED_SCENE", + "jhash": "0xB386713E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "netScene" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animnName" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "float", + "name": "speedMultiplier" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "int", + "name": "flag" + }, + { + "type": "float", + "name": "playbackRate" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA5EAFE473E45C442": { + "name": "NETWORK_ADD_PED_TO_SYNCHRONISED_SCENE_WITH_IK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xF2404D68CBC855FA": { + "name": "NETWORK_ADD_ENTITY_TO_SYNCHRONISED_SCENE", + "jhash": "0x10DD636C", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "netScene" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "float", + "name": "speedMulitiplier" + }, + { + "type": "int", + "name": "flag" + } + ], + "return_type": "void", + "build": "323" + }, + "0x45F35C0EDC33B03B": { + "name": "NETWORK_ADD_MAP_ENTITY_TO_SYNCHRONISED_SCENE", + "jhash": "", + "comment": "Similar structure as NETWORK_ADD_ENTITY_TO_SYNCHRONISED_SCENE but it includes this time a hash.\nIn casino_slots it is used one time in a synced scene involving a ped and the slot machine?", + "params": [ + { + "type": "int", + "name": "netScene" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "const char*", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "1734" + }, + "0xCF8BD3B0BD6D42D7": { + "name": "NETWORK_ADD_SYNCHRONISED_SCENE_CAMERA", + "jhash": "0xBFFE8B5C", + "comment": "", + "params": [ + { + "type": "int", + "name": "netScene" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x478DCBD2A98B705A": { + "name": "NETWORK_ATTACH_SYNCHRONISED_SCENE_TO_ENTITY", + "jhash": "0x3FE5B222", + "comment": "", + "params": [ + { + "type": "int", + "name": "netScene" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "bone" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9A1B3FCDB36C8697": { + "name": "NETWORK_START_SYNCHRONISED_SCENE", + "jhash": "0xA9DFDC40", + "comment": "", + "params": [ + { + "type": "int", + "name": "netScene" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC254481A4574CB2F": { + "name": "NETWORK_STOP_SYNCHRONISED_SCENE", + "jhash": "0x97B1CDF6", + "comment": "", + "params": [ + { + "type": "int", + "name": "netScene" + } + ], + "return_type": "void", + "build": "323" + }, + "0x02C40BF885C567B6": { + "name": "NETWORK_GET_LOCAL_SCENE_FROM_NETWORK_ID", + "jhash": "0x16AED87B", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_UNLINK_NETWORKED_SYNCHRONISED_SCENE", + "_NETWORK_CONVERT_SYNCHRONISED_SCENE_TO_SYNCHRONIZED_SCENE" + ] + }, + "0xC9B43A33D09CADA7": { + "name": "NETWORK_FORCE_LOCAL_USE_OF_SYNCED_SCENE_CAMERA", + "jhash": "0xC3AA2EC7", + "comment": "", + "params": [ + { + "type": "int", + "name": "netScene" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_FORCE_LOCAL_USE_OF_SYNCED_SCENE_CAMERA" + ] + }, + "0x144DA052257AE7D8": { + "name": "NETWORK_ALLOW_REMOTE_SYNCED_SCENE_LOCAL_PLAYER_REQUESTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xFB1F9381E80FA13F": { + "name": "NETWORK_FIND_LARGEST_BUNCH_OF_PLAYERS", + "jhash": "0x0679CE71", + "comment": "p0 is always 0. p1 is pointing to a global.", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5A6FFA2433E2F14C": { + "name": "NETWORK_START_RESPAWN_SEARCH_FOR_PLAYER", + "jhash": "0xC62E77B3", + "comment": "One of the first things it does is get the players ped.\nThen it calls a function that is used in some tasks and ped based functions.\np5, p6, p7 is another coordinate (or zero), often related to `GET_BLIP_COORDS, in the decompiled scripts.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4BA92A18502BCA61": { + "name": "NETWORK_START_RESPAWN_SEARCH_IN_ANGLED_AREA_FOR_PLAYER", + "jhash": "0x74D6B13C", + "comment": "p8, p9, p10 is another coordinate, or zero, often related to `GET_BLIP_COORDS in the decompiled scripts.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "p10" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3C891A251567DFCE": { + "name": "NETWORK_QUERY_RESPAWN_RESULTS", + "jhash": "0x90700C7D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xFB8F2A6F3DF08CBE": { + "name": "NETWORK_CANCEL_RESPAWN_SEARCH", + "jhash": "0x44BFB619", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x371EA43692861CF1": { + "name": "NETWORK_GET_RESPAWN_RESULT", + "jhash": "0xDDFE9FBC", + "comment": "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..", + "params": [ + { + "type": "int", + "name": "randomInt" + }, + { + "type": "Vector3*", + "name": "coordinates" + }, + { + "type": "float*", + "name": "heading" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6C34F1208B8923FD": { + "name": "NETWORK_GET_RESPAWN_RESULT_FLAGS", + "jhash": "0x03287FD2", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x17E0198B3882C2CB": { + "name": "NETWORK_START_SOLO_TUTORIAL_SESSION", + "jhash": "0x408A9436", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xFB680D403909DC70": { + "name": "NETWORK_ALLOW_GANG_TO_JOIN_TUTORIAL_SESSION", + "jhash": "0xFFB2ADA1", + "comment": "teamId must be < 3, instanceId must be < 64", + "params": [ + { + "type": "int", + "name": "teamId" + }, + { + "type": "int", + "name": "instanceId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD0AFAFF5A51D72F7": { + "name": "NETWORK_END_TUTORIAL_SESSION", + "jhash": "0xBA57E53E", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xADA24309FE08DACF": { + "name": "NETWORK_IS_IN_TUTORIAL_SESSION", + "jhash": "0x34DD7B28", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xB37E4E6A2388CA7B": { + "name": "NETWORK_WAITING_POP_CLEAR_TUTORIAL_SESSION", + "jhash": "0x755A2B3E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x35F0B98A8387274D": { + "name": "NETWORK_IS_TUTORIAL_SESSION_CHANGE_PENDING", + "jhash": "0xA003C40B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x3B39236746714134": { + "name": "NETWORK_GET_PLAYER_TUTORIAL_SESSION_INSTANCE", + "jhash": "0x5E1020CC", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9DE986FC9A87C474": { + "name": "NETWORK_ARE_PLAYERS_IN_SAME_TUTORIAL_SESSION", + "jhash": "0xE66A0B40", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_IS_PLAYER_EQUAL_TO_INDEX" + ] + }, + "0xFEA7A352DDB34D52": { + "name": "NETWORK_BLOCK_PROXY_MIGRATION_BETWEEN_TUTORIAL_SESSIONS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2545" + }, + "0xBBDF066252829606": { + "name": "NETWORK_CONCEAL_PLAYER", + "jhash": "0x72052DB3", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x919B3C98ED8292F9": { + "name": "NETWORK_IS_PLAYER_CONCEALED", + "jhash": "0xB0313590", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1632BE0AC1E62876": { + "name": "NETWORK_CONCEAL_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_NETWORK_CONCEAL_ENTITY" + ] + }, + "0x71302EC70689052A": { + "name": "NETWORK_IS_ENTITY_CONCEALED", + "jhash": "", + "comment": "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).", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "877", + "old_names": [ + "_NETWORK_IS_ENTITY_CONCEALED" + ] + }, + "0xE679E3E06E363892": { + "name": "NETWORK_OVERRIDE_CLOCK_TIME", + "jhash": "0xC077BCD6", + "comment": "Works in Singleplayer too.\nPassing wrong data (e.g. hours above 23) will cause the game to crash.", + "params": [ + { + "type": "int", + "name": "hours" + }, + { + "type": "int", + "name": "minutes" + }, + { + "type": "int", + "name": "seconds" + } + ], + "return_type": "void", + "build": "323" + }, + "0x42BF1D2E723B6D7E": { + "name": "NETWORK_OVERRIDE_CLOCK_RATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "ms" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_NETWORK_OVERRIDE_CLOCK_MILLISECONDS_PER_GAME_MINUTE" + ] + }, + "0xD972DF67326F966E": { + "name": "NETWORK_CLEAR_CLOCK_TIME_OVERRIDE", + "jhash": "0xC4AEAF49", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD7C95D322FF57522": { + "name": "NETWORK_IS_CLOCK_TIME_OVERRIDDEN", + "jhash": "0x2465296D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x494C8FB299290269": { + "name": "NETWORK_ADD_ENTITY_AREA", + "jhash": "0x51030E5B", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x376C6375BA60293A": { + "name": "NETWORK_ADD_ENTITY_ANGLED_AREA", + "jhash": "0xCD69BEA1", + "comment": "To remove, see: NETWORK_REMOVE_ENTITY_AREA\nSee IS_POINT_IN_ANGLED_AREA for the definition of an angled area.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_ADD_ENTITY_ANGLED_AREA" + ] + }, + "0x25B99872D588A101": { + "name": "NETWORK_ADD_CLIENT_ENTITY_AREA", + "jhash": "0x4C2C2B12", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "NETWORK_ADD_ENTITY_DISPLAYED_BOUNDARIES" + ] + }, + "0x2B1C623823DB0D9D": { + "name": "NETWORK_ADD_CLIENT_ENTITY_ANGLED_AREA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "int", + "build": "1103" + }, + "0x93CF869BAA0C4874": { + "name": "NETWORK_REMOVE_ENTITY_AREA", + "jhash": "0xEAB97F25", + "comment": "", + "params": [ + { + "type": "int", + "name": "areaHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE64A3CA08DFA37A9": { + "name": "NETWORK_ENTITY_AREA_DOES_EXIST", + "jhash": "0x69956127", + "comment": "", + "params": [ + { + "type": "int", + "name": "areaHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4DF7CFFF471A7FB1": { + "name": "NETWORK_ENTITY_AREA_HAVE_ALL_REPLIED", + "jhash": "0xCB1CD6D3", + "comment": "", + "params": [ + { + "type": "int", + "name": "areaHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4A2D4E8BF4265B0F": { + "name": "NETWORK_ENTITY_AREA_IS_OCCUPIED", + "jhash": "0xC6D53AA0", + "comment": "", + "params": [ + { + "type": "int", + "name": "areaHandle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2B1813ABA29016C5": { + "name": "NETWORK_USE_HIGH_PRECISION_BLENDING", + "jhash": "0x155465EE", + "comment": "", + "params": [ + { + "type": "int", + "name": "netID" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_SET_NETWORK_ID_DYNAMIC" + ] + }, + "0xA6FCECCF4721D679": { + "name": "NETWORK_SET_CUSTOM_ARENA_BALL_PARAMS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x95BAF97C82464629": { + "name": "NETWORK_ENTITY_USE_HIGH_PRECISION_ROTATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x924426BFFD82E915": { + "name": "NETWORK_REQUEST_CLOUD_BACKGROUND_SCRIPTS", + "jhash": "0x98EFB921", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_REQUEST_CLOUD_BACKGROUND_SCRIPTS" + ] + }, + "0x8132C0EB8B2B3293": { + "name": "NETWORK_IS_CLOUD_BACKGROUND_SCRIPT_REQUEST_PENDING", + "jhash": "0x20AB933A", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_BG_SCRIPT_BEEN_DOWNLOADED", + "_NETWORK_IS_CLOUD_BACKGROUND_SCRIPTS_REQUEST_PENDING" + ] + }, + "0x42FB3B532D526E6C": { + "name": "NETWORK_REQUEST_CLOUD_TUNABLES", + "jhash": "0xD760CAD5", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x0467C11ED88B7D28": { + "name": "NETWORK_IS_TUNABLE_CLOUD_REQUEST_PENDING", + "jhash": "0x47978D7F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_TUNABLES_BEEN_DOWNLOADED" + ] + }, + "0x10BD227A753B0D84": { + "name": "NETWORK_GET_TUNABLE_CLOUD_CRC", + "jhash": "0x231CFD12", + "comment": "Actually returns the version (TUNABLE_VERSION)", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_GET_TUNABLES_VERSION" + ] + }, + "0x85E5F8B9B898B20A": { + "name": "NETWORK_DOES_TUNABLE_EXIST", + "jhash": "0x9FCE9C9A", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "tunableContext" + }, + { + "type": "const char*", + "name": "tunableName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8BE1146DFD5D4468": { + "name": "NETWORK_ACCESS_TUNABLE_INT", + "jhash": "0xE4B3726A", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "tunableContext" + }, + { + "type": "const char*", + "name": "tunableName" + }, + { + "type": "int*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE5608CA7BC163A5F": { + "name": "NETWORK_ACCESS_TUNABLE_FLOAT", + "jhash": "0x41E8912A", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "tunableContext" + }, + { + "type": "const char*", + "name": "tunableName" + }, + { + "type": "float*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAA6A47A573ABB75A": { + "name": "NETWORK_ACCESS_TUNABLE_BOOL", + "jhash": "0x8A04E1FE", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "tunableContext" + }, + { + "type": "const char*", + "name": "tunableName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE4E53E1419D81127": { + "name": "NETWORK_DOES_TUNABLE_EXIST_HASH", + "jhash": "0x25915CB9", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "tunableContext" + }, + { + "type": "Hash", + "name": "tunableName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_DOES_TUNABLE_EXIST_HASH" + ] + }, + "0xFAFC23AEE23868DB": { + "name": "NETWORK_ACCESS_TUNABLE_MODIFICATION_DETECTION_CLEAR", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "393" + }, + "0x40FCE03E50E8DBE8": { + "name": "NETWORK_ACCESS_TUNABLE_INT_HASH", + "jhash": "0xB2E83B75", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "tunableContext" + }, + { + "type": "Hash", + "name": "tunableName" + }, + { + "type": "int*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_ACCESS_TUNABLE_INT_HASH" + ] + }, + "0x3A8B55FDA4C8DDEF": { + "name": "NETWORK_ACCESS_TUNABLE_INT_MODIFICATION_DETECTION_REGISTRATION_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "contextHash" + }, + { + "type": "Hash", + "name": "nameHash" + }, + { + "type": "int*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "393", + "old_names": [ + "_NETWORK_REGISTER_TUNABLE_INT_HASH" + ] + }, + "0x972BC203BBC4C4D5": { + "name": "NETWORK_ACCESS_TUNABLE_FLOAT_HASH", + "jhash": "0x3972551F", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "tunableContext" + }, + { + "type": "Hash", + "name": "tunableName" + }, + { + "type": "float*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_ACCESS_TUNABLE_FLOAT_HASH" + ] + }, + "0x1950DAE9848A4739": { + "name": "NETWORK_ACCESS_TUNABLE_FLOAT_MODIFICATION_DETECTION_REGISTRATION_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "contextHash" + }, + { + "type": "Hash", + "name": "nameHash" + }, + { + "type": "float*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "393", + "old_names": [ + "_NETWORK_REGISTER_TUNABLE_FLOAT_HASH" + ] + }, + "0xEA16B69D93D71A45": { + "name": "NETWORK_ACCESS_TUNABLE_BOOL_HASH", + "jhash": "0x18867C61", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "tunableContext" + }, + { + "type": "Hash", + "name": "tunableName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_ACCESS_TUNABLE_BOOL_HASH" + ] + }, + "0x697F508861875B42": { + "name": "NETWORK_ACCESS_TUNABLE_BOOL_MODIFICATION_DETECTION_REGISTRATION_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "contextHash" + }, + { + "type": "Hash", + "name": "nameHash" + }, + { + "type": "BOOL*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "393", + "old_names": [ + "_NETWORK_REGISTER_TUNABLE_BOOL_HASH" + ] + }, + "0xC7420099936CE286": { + "name": "NETWORK_TRY_ACCESS_TUNABLE_BOOL_HASH", + "jhash": "0x8AFE3D90", + "comment": "Returns defaultValue if the tunable doesn't exist.", + "params": [ + { + "type": "Hash", + "name": "tunableContext" + }, + { + "type": "Hash", + "name": "tunableName" + }, + { + "type": "BOOL", + "name": "defaultValue" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_ACCESS_TUNABLE_BOOL_HASH_FAIL_VAL" + ] + }, + "0x187382F8A3E0A6C3": { + "name": "NETWORK_GET_CONTENT_MODIFIER_LIST_ID", + "jhash": "0xA78571CA", + "comment": "Return the content modifier id (the tunables context if you want) of a specific content.\n\nIt takes the content hash (which is the mission id hash), and return the content modifier id, used as the tunables context.\n\nThe mission id can be found on the Social club, for example, 'socialclub.rockstargames.com/games/gtav/jobs/job/A8M6Bz8MLEC5xngvDCzGwA'\n\n'A8M6Bz8MLEC5xngvDCzGwA' is the mission id, so the game hash this and use it as the parameter for this native.\n", + "params": [ + { + "type": "Hash", + "name": "contentHash" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_TUNABLES_CONTENT_MODIFIER_ID" + ] + }, + "0x7DB53B37A2F211A0": { + "name": "NETWORK_GET_BONE_ID_OF_FATAL_HIT", + "jhash": "0x053BB329", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x72433699B4E6DD64": { + "name": "NETWORK_RESET_BODY_TRACKER", + "jhash": "0x3914463F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD38C4A6D047C019D": { + "name": "NETWORK_GET_NUMBER_BODY_TRACKER_HITS", + "jhash": "0x17CBC608", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_NETWORK_GET_NUM_BODY_TRACKERS" + ] + }, + "0x2E0BF682CC778D49": { + "name": "NETWORK_HAS_BONE_BEEN_HIT_BY_KILLER", + "jhash": "0xBFAA349B", + "comment": "", + "params": [ + { + "type": "int", + "name": "boneIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0EDE326D47CD0F3E": { + "name": "NETWORK_SET_ATTRIBUTE_DAMAGE_TO_PLAYER", + "jhash": "0xBEB7281A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x890E2C5ABED7236D": { + "name": "NETWORK_TRIGGER_DAMAGE_EVENT_FOR_ZERO_DAMAGE", + "jhash": "", + "comment": "Allows vehicle wheels to be destructible even when the vehicle entity is invincible.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_NETWORK_SET_VEHICLE_WHEELS_DESTRUCTIBLE" + ] + }, + "0x38B7C51AB1EDC7D8": { + "name": "NETWORK_TRIGGER_DAMAGE_EVENT_FOR_ZERO_WEAPON_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1734" + }, + "0x3FC795691834481D": { + "name": "NETWORK_SET_NO_LONGER_NEEDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1868" + }, + "0x301A42153C9AD707": { + "name": "NETWORK_EXPLODE_VEHICLE", + "jhash": "0x0E1B38AE", + "comment": "In the console script dumps, this is only referenced once. \nNETWORK::NETWORK_EXPLODE_VEHICLE(vehicle, 1, 0, 0);\n\n^^^^^ That must be PC script dumps? In X360 Script Dumps it is reference a few times with 2 differences in the parameters.\nWhich as you see below is 1, 0, 0 + 1, 1, 0 + 1, 0, and a *param?\n\nam_plane_takedown.c \nnetwork_explode_vehicle(net_to_veh(Local_40.imm_2), 1, 1, 0);\n\narmenian2.c \nnetwork_explode_vehicle(Local_80[6 <2>], 1, 0, 0);\n\nfm_horde_controler.c\nnetwork_explode_vehicle(net_to_veh(*uParam0), 1, 0, *uParam0);\n\nfm_mission_controller.c, has 6 hits so not going to list them.\n\nSide note, setting the first parameter to 0 seems to mute sound or so?\n\nSeems it's like ADD_EXPLOSION, etc. the first 2 params. The 3rd atm no need to worry since it always seems to be 0.\n", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + }, + { + "type": "int", + "name": "netId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2A5E0621DD815A9A": { + "name": "NETWORK_EXPLODE_HELI", + "jhash": "0x955B31BF", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + }, + { + "type": "int", + "name": "netId" + } + ], + "return_type": "void", + "build": "463" + }, + "0xCD71A4ECAB22709E": { + "name": "NETWORK_USE_LOGARITHMIC_BLENDING_THIS_FRAME", + "jhash": "0xBC54371B", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA7E30DE9272B6D49": { + "name": "NETWORK_OVERRIDE_COORDS_AND_HEADING", + "jhash": "0x644141C5", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE6717E652B8C8D8A": { + "name": "NETWORK_ENABLE_EXTRA_VEHICLE_ORIENTATION_BLEND_CHECKS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "netId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "617" + }, + "0x407091CF6037118E": { + "name": "NETWORK_DISABLE_PROXIMITY_MIGRATION", + "jhash": "0x9F82917F", + "comment": "", + "params": [ + { + "type": "int", + "name": "netID" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1775961C2FBBCB5C": { + "name": "NETWORK_SET_PROPERTY_ID", + "jhash": "0x5A74E873", + "comment": "value must be < 255", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC2B82527CA77053E": { + "name": "NETWORK_CLEAR_PROPERTY_ID", + "jhash": "0x38BC35C8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x367EF5E2F439B4C6": { + "name": "NETWORK_SET_PLAYER_MENTAL_STATE", + "jhash": "0x53C9563C", + "comment": "p0 in the decompiled scripts is always the stat mesh_texblend * 0.07 to int", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x94538037EE44F5CF": { + "name": "NETWORK_SET_MINIMUM_RANK_FOR_MISSION", + "jhash": "0x6B97075B", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBD0BE0BFC927EAC1": { + "name": "NETWORK_CACHE_LOCAL_PLAYER_HEAD_BLEND_DATA", + "jhash": "0x94AB35A9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x237D5336A9A54108": { + "name": "NETWORK_HAS_CACHED_PLAYER_HEAD_BLEND_DATA", + "jhash": "0x7B2A0337", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x99B72C7ABDE5C910": { + "name": "NETWORK_APPLY_CACHED_PLAYER_HEAD_BLEND_DATA", + "jhash": "0x99F58A07", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_COPY_PED_BLEND_DATA" + ] + }, + "0xF2EAC213D5EA0623": { + "name": "GET_NUM_COMMERCE_ITEMS", + "jhash": "0x965EA007", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xEA14EEF5B7CD2C30": { + "name": "IS_COMMERCE_DATA_VALID", + "jhash": "0xEEFC8A55", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xB606E6CC59664972": { + "name": "TRIGGER_COMMERCE_DATA_FETCH", + "jhash": "0x866D1B67", + "comment": "Does nothing (it's a nullsub).", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1D4DC17C38FEAFF0": { + "name": "IS_COMMERCE_DATA_FETCH_IN_PROGRESS", + "jhash": "0xED4A272F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x662635855957C411": { + "name": "GET_COMMERCE_ITEM_ID", + "jhash": "0x4ACF110C", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xB4271092CA7EDF48": { + "name": "GET_COMMERCE_ITEM_NAME", + "jhash": "0x1AA3A0D5", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xCA94551B50B4932C": { + "name": "GET_COMMERCE_PRODUCT_PRICE", + "jhash": "0x37877757", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x2A7776C709904AB0": { + "name": "GET_COMMERCE_ITEM_NUM_CATS", + "jhash": "0x1CF89DA5", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "int", + "build": "323" + }, + "0x6F44CBF56D79FAC0": { + "name": "GET_COMMERCE_ITEM_CAT", + "jhash": "0x16E53875", + "comment": "index2 is unused", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "int", + "name": "index2" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x58C21165F6545892": { + "name": "OPEN_COMMERCE_STORE", + "jhash": "0x365C50EE", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2EAC52B4019E2782": { + "name": "IS_COMMERCE_STORE_OPEN", + "jhash": "0x25E2DBA9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9641A9FF718E9C5E": { + "name": "SET_STORE_ENABLED", + "jhash": "0xC1F6443B", + "comment": "Access to the store for shark cards etc...", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA2F952104FC6DD4B": { + "name": "REQUEST_COMMERCE_ITEM_IMAGE", + "jhash": "0x1FDC75DC", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x72D0706CD6CCDB58": { + "name": "RELEASE_ALL_COMMERCE_ITEM_IMAGES", + "jhash": "0xCA7A0A49", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x722F5D28B61C5EA8": { + "name": "GET_COMMERCE_ITEM_TEXTURENAME", + "jhash": "0x44A58B0A", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x883D79C4071E18B3": { + "name": "IS_STORE_AVAILABLE_TO_USER", + "jhash": "0xD32FA11F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x265635150FB0D82E": { + "name": "DELAY_MP_STORE_OPEN", + "jhash": "0xA7FA70AE", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x444C4525ECE0A4B9": { + "name": "RESET_STORE_NETWORK_GAME_TRACKING", + "jhash": "0xCC7DCE24", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x59328EB08C5CEB2B": { + "name": "IS_USER_OLD_ENOUGH_TO_ACCESS_STORE", + "jhash": "0x70F6D3AD", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFAE628F1E9ADB239": { + "name": "SET_LAST_VIEWED_SHOP_ITEM", + "jhash": "0xD59A822B", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Hash", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x754615490A029508": { + "name": "GET_USER_PREMIUM_ACCESS", + "jhash": "", + "comment": "Checks some commerce stuff", + "params": [], + "return_type": "int", + "build": "1290" + }, + "0x155467ACA0F55705": { + "name": "GET_USER_STARTER_ACCESS", + "jhash": "", + "comment": "Checks some commerce stuff", + "params": [], + "return_type": "int", + "build": "1290" + }, + "0xC64DED7EF0D2FE37": { + "name": "CLOUD_DELETE_MEMBER_FILE", + "jhash": "0x2B7B57B3", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4C61B39930D045DA": { + "name": "CLOUD_HAS_REQUEST_COMPLETED", + "jhash": "0xBAF52DD8", + "comment": "", + "params": [ + { + "type": "int", + "name": "requestId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3A3D5568AF297CD5": { + "name": "CLOUD_DID_REQUEST_SUCCEED", + "jhash": "0x9B9AFFF1", + "comment": "", + "params": [ + { + "type": "int", + "name": "requestId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4F18196C8D38768D": { + "name": "CLOUD_CHECK_AVAILABILITY", + "jhash": "0xC38E9DB0", + "comment": "Downloads prod.cloud.rockstargames.com/titles/gta5/[platform]/check.json", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DOWNLOAD_CHECK" + ] + }, + "0xC7ABAC5DE675EE3B": { + "name": "CLOUD_IS_CHECKING_AVAILABILITY", + "jhash": "0x32A4EB22", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x0B0CC10720653F3B": { + "name": "CLOUD_GET_AVAILABILITY_CHECK_RESULT", + "jhash": "0x9262744C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "NETWORK_ENABLE_MOTION_DRUGGED" + ] + }, + "0x8B0C2964BA471961": { + "name": "GET_CONTENT_TO_LOAD_TYPE", + "jhash": "", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x88B588B41FF7868E": { + "name": "GET_IS_LAUNCH_FROM_LIVE_AREA", + "jhash": "", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x67FC09BC554A75E5": { + "name": "GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT", + "jhash": "", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x966DD84FB6A46017": { + "name": "CLEAR_SERVICE_EVENT_ARGUMENTS", + "jhash": "", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_LAUNCH_PARAMS" + ] + }, + "0x152D90E4C1B4738A": { + "name": "UGC_COPY_CONTENT", + "jhash": "0x08243B79", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9FEDF86898F100E9": { + "name": "UGC_IS_CREATING", + "jhash": "0x798D6C27", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5E24341A7F92A74B": { + "name": "UGC_HAS_CREATE_FINISHED", + "jhash": "0xE69E8D0D", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x24E4E51FC16305F9": { + "name": "UGC_DID_CREATE_SUCCEED", + "jhash": "0x742075FE", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFBC5E768C7A77A6A": { + "name": "UGC_GET_CREATE_RESULT", + "jhash": "0xCE569932", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xC55A0B40FFB1ED23": { + "name": "UGC_GET_CREATE_CONTENT_ID", + "jhash": "0x82146BE9", + "comment": "", + "params": [], + "return_type": "const char*", + "build": "323" + }, + "0x17440AA15D1D3739": { + "name": "UGC_CLEAR_CREATE_RESULT", + "jhash": "0x133FF2D5", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x9BF438815F5D96EA": { + "name": "UGC_QUERY_MY_CONTENT", + "jhash": "0xCBA7242F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x692D58DF40657E8C": { + "name": "UGC_QUERY_BY_CATEGORY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "const char*", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x158EC424F35EC469": { + "name": "UGC_QUERY_BY_CONTENT_ID", + "jhash": "0xDED82A6E", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentId" + }, + { + "type": "BOOL", + "name": "latestVersion" + }, + { + "type": "const char*", + "name": "contentTypeName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC7397A83F7A2A462": { + "name": "UGC_QUERY_BY_CONTENT_IDS", + "jhash": "0x47B3C35E", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "BOOL", + "name": "latestVersion" + }, + { + "type": "const char*", + "name": "contentTypeName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6D4CB481FAC835E8": { + "name": "UGC_QUERY_MOST_RECENTLY_CREATED_CONTENT", + "jhash": "0x40CF0783", + "comment": "", + "params": [ + { + "type": "int", + "name": "offset" + }, + { + "type": "int", + "name": "count" + }, + { + "type": "const char*", + "name": "contentTypeName" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_UGC_QUERY_RECENTLY_CREATED_CONTENT" + ] + }, + "0xD5A4B59980401588": { + "name": "UGC_GET_BOOKMARKED_CONTENT", + "jhash": "0x4609D596", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3195F8DD0D531052": { + "name": "UGC_GET_MY_CONTENT", + "jhash": "0x4C2C0D1F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF9E1CCAE8BA4C281": { + "name": "UGC_GET_FRIEND_CONTENT", + "jhash": "0x9EFBD5D1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9F6E2821885CAEE2": { + "name": "UGC_GET_CREW_CONTENT", + "jhash": "0xA6D8B798", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "const char*", + "name": "p3" + }, + { + "type": "Any*", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x678BB03C1A3BD51E": { + "name": "UGC_GET_GET_BY_CATEGORY", + "jhash": "0x67E74842", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "const char*", + "name": "p3" + }, + { + "type": "Any*", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x815E5E3073DA1D67": { + "name": "UGC_GET_GET_BY_CONTENT_ID", + "jhash": "0xE123C7AC", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentId" + }, + { + "type": "const char*", + "name": "contentTypeName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "SET_BALANCE_ADD_MACHINE" + ] + }, + "0xB8322EEB38BE7C26": { + "name": "UGC_GET_GET_BY_CONTENT_IDS", + "jhash": "0x22C33603", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + }, + { + "type": "int", + "name": "dataCount" + }, + { + "type": "const char*", + "name": "contentTypeName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "SET_BALANCE_ADD_MACHINES" + ] + }, + "0xA7862BC5ED1DFD7E": { + "name": "UGC_GET_MOST_RECENTLY_CREATED_CONTENT", + "jhash": "0x37F5BD93", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x97A770BEEF227E2B": { + "name": "UGC_GET_MOST_RECENTLY_PLAYED_CONTENT", + "jhash": "0x1CFB3F51", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5324A0E3E4CE3570": { + "name": "UGC_GET_TOP_RATED_CONTENT", + "jhash": "0x87D1E6BD", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE9B99B6853181409": { + "name": "UGC_CANCEL_QUERY", + "jhash": "0x021D5A94", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD53ACDBEF24A46E8": { + "name": "UGC_IS_GETTING", + "jhash": "0x4908A514", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x02ADA21EA2F6918F": { + "name": "UGC_HAS_GET_FINISHED", + "jhash": "0x50296140", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x941E5306BCD7C2C7": { + "name": "UGC_DID_GET_SUCCEED", + "jhash": "0x3970B0DA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC87E740D9F3872CC": { + "name": "UGC_WAS_QUERY_FORCE_CANCELLED", + "jhash": "0xC1487110", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEDF7F927136C224B": { + "name": "UGC_GET_QUERY_RESULT", + "jhash": "0xCC2356E3", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xE0A6138401BCB837": { + "name": "UGC_GET_CONTENT_NUM", + "jhash": "0x2DE69817", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x769951E2455E2EB5": { + "name": "UGC_GET_CONTENT_TOTAL", + "jhash": "0x81BD8D3B", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x3A17A27D75C74887": { + "name": "UGC_GET_CONTENT_HASH", + "jhash": "0x8E1D8F78", + "comment": "", + "params": [], + "return_type": "Hash", + "build": "323" + }, + "0xBA96394A0EECFA65": { + "name": "UGC_CLEAR_QUERY_RESULTS", + "jhash": "0x0D35DD93", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCD67AD041A394C9C": { + "name": "UGC_GET_CONTENT_USER_ID", + "jhash": "0x8F3137E6", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_CONTENT_USER_ID", + "GET_PLAYER_ADVANCED_MODIFIER_PRIVILEGES" + ] + }, + "0x584770794D758C18": { + "name": "UGC_GET_CONTENT_CREATOR_GAMER_HANDLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8C8D2739BA44AF0F": { + "name": "UGC_GET_CONTENT_CREATED_BY_LOCAL_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x703F12425ECA8BF5": { + "name": "UGC_GET_CONTENT_USER_NAME", + "jhash": "0xB9137BA7", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xAEAB987727C5A8A4": { + "name": "UGC_GET_CONTENT_IS_USING_SC_NICKNAME", + "jhash": "0x9FEEAA9C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA7BAB11E7C9C6C5A": { + "name": "UGC_GET_CONTENT_CATEGORY", + "jhash": "0x5E8A7559", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_CONTENT_CATEGORY" + ] + }, + "0x55AA95F481D694D2": { + "name": "UGC_GET_CONTENT_ID", + "jhash": "0x331AEABF", + "comment": "Return the mission id of a job.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_CONTENT_ID" + ] + }, + "0xC0173D6BFF4E0348": { + "name": "UGC_GET_ROOT_CONTENT_ID", + "jhash": "0x0E5E8E5C", + "comment": "Return the root content id of a job.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_ROOT_CONTENT_ID" + ] + }, + "0xBF09786A7FCAB582": { + "name": "UGC_GET_CONTENT_NAME", + "jhash": "0xA5A0C695", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x7CF0448787B23758": { + "name": "UGC_GET_CONTENT_DESCRIPTION_HASH", + "jhash": "0x91534C6E", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_CONTENT_DESCRIPTION_HASH" + ] + }, + "0xBAF6BABF9E7CCC13": { + "name": "UGC_GET_CONTENT_PATH", + "jhash": "0x744A9EA5", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_UGC_GET_CLOUD_PATH" + ] + }, + "0xCFD115B373C0DF63": { + "name": "UGC_GET_CONTENT_UPDATED_DATE", + "jhash": "0xA19A238D", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x37025B27D9B658B1": { + "name": "UGC_GET_CONTENT_FILE_VERSION", + "jhash": "0xFF7D44E6", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_CONTENT_FILE_VERSION" + ] + }, + "0x1D610EB0FEA716D9": { + "name": "UGC_GET_CONTENT_HAS_LO_RES_PHOTO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7FCC39C46C3C03BD": { + "name": "UGC_GET_CONTENT_HAS_HI_RES_PHOTO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x32DD916F3F7C9672": { + "name": "UGC_GET_CONTENT_LANGUAGE", + "jhash": "0xA2C5BD9D", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x3054F114121C21EA": { + "name": "UGC_GET_CONTENT_IS_PUBLISHED", + "jhash": "0xA850DDE1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA9240A96C74CCA13": { + "name": "UGC_GET_CONTENT_IS_VERIFIED", + "jhash": "0x8F6754AE", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1ACCFBA3D8DAB2EE": { + "name": "UGC_GET_CONTENT_RATING", + "jhash": "0x1E34953F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "float", + "build": "323" + }, + "0x759299C5BB31D2A9": { + "name": "UGC_GET_CONTENT_RATING_COUNT", + "jhash": "0x771FE190", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x87E5C46C187FE0AE": { + "name": "UGC_GET_CONTENT_RATING_POSITIVE_COUNT", + "jhash": "0x3276D9D3", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4E548C0D7AE39FF9": { + "name": "UGC_GET_CONTENT_RATING_NEGATIVE_COUNT", + "jhash": "0x41A0FB02", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x70EA8DA57840F9BE": { + "name": "UGC_GET_CONTENT_HAS_PLAYER_RECORD", + "jhash": "0x11DC0F27", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x993CBE59D350D225": { + "name": "UGC_GET_CONTENT_HAS_PLAYER_BOOKMARKED", + "jhash": "0x0DEB3F5A", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x171DF6A0C07FB3DC": { + "name": "UGC_REQUEST_CONTENT_DATA_FROM_INDEX", + "jhash": "0x84315226", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x7FD2990AF016795E": { + "name": "UGC_REQUEST_CONTENT_DATA_FROM_PARAMS", + "jhash": "0x38FC2EEB", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentTypeName" + }, + { + "type": "const char*", + "name": "contentId" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "int", + "build": "323" + }, + "0x5E0165278F6339EE": { + "name": "UGC_REQUEST_CACHED_DESCRIPTION", + "jhash": "0x1C4F9FDB", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2D5DC831176D0114": { + "name": "UGC_IS_DESCRIPTION_REQUEST_IN_PROGRESS", + "jhash": "0xA69AE16C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEBFA8D50ADDC54C4": { + "name": "UGC_HAS_DESCRIPTION_REQUEST_FINISHED", + "jhash": "0xF50BC67A", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x162C23CA83ED0A62": { + "name": "UGC_DID_DESCRIPTION_REQUEST_SUCCEED", + "jhash": "0xB3BBD241", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x40F7E66472DF3E5C": { + "name": "UGC_GET_CACHED_DESCRIPTION", + "jhash": "0x70A2845C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x5A34CD9C3C5BEC44": { + "name": "UGC_RELEASE_CACHED_DESCRIPTION", + "jhash": "0x346B506C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x68103E2247887242": { + "name": "UGC_RELEASE_ALL_CACHED_DESCRIPTIONS", + "jhash": "0x0095DB71", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1DE0F5F50D723CAA": { + "name": "UGC_PUBLISH", + "jhash": "0xAD334B40", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentId" + }, + { + "type": "const char*", + "name": "baseContentId" + }, + { + "type": "const char*", + "name": "contentTypeName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x274A1519DFC1094F": { + "name": "UGC_SET_BOOKMARKED", + "jhash": "0x980D45D7", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "contentId" + }, + { + "type": "BOOL", + "name": "bookmarked" + }, + { + "type": "const char*", + "name": "contentTypeName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD05D1A6C74DA3498": { + "name": "UGC_SET_DELETED", + "jhash": "0x48CCC328", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x45E816772E93A9DB": { + "name": "UGC_IS_MODIFYING", + "jhash": "0x8E664EFD", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x299EF3C576773506": { + "name": "UGC_HAS_MODIFY_FINISHED", + "jhash": "0x611E0BE2", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x793FF272D5B365F4": { + "name": "UGC_DID_MODIFY_SUCCEED", + "jhash": "0xF0211AC1", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5A0A3D1A186A5508": { + "name": "UGC_GET_MODIFY_RESULT", + "jhash": "0x1F0DD8AF", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xA1E5E0204A6FCC70": { + "name": "UGC_CLEAR_MODIFY_RESULT", + "jhash": "0x405ECA16", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xB746D20B17F2A229": { + "name": "UGC_GET_CREATORS_BY_USER_ID", + "jhash": "0x9567392B", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x63B406D7884BFA95": { + "name": "UGC_HAS_QUERY_CREATORS_FINISHED", + "jhash": "0xF79FFF3C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4D02279C83BE69FE": { + "name": "UGC_DID_QUERY_CREATORS_SUCCEED", + "jhash": "0xA7F3F82B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x597F8DBA9B206FC7": { + "name": "UGC_GET_CREATOR_NUM", + "jhash": "0x410C61D1", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x5CAE833B0EE0C500": { + "name": "UGC_LOAD_OFFLINE_QUERY", + "jhash": "0x0D4F845D", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "UGC_POLICIES_MAKE_PRIVATE" + ] + }, + "0x61A885D3F7CFEE9A": { + "name": "UGC_CLEAR_OFFLINE_QUERY", + "jhash": "0xE13C1F7F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xF98DDE0A8ED09323": { + "name": "UGC_SET_QUERY_DATA_FROM_OFFLINE", + "jhash": "0x213C6D36", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFD75DABC0957BF33": { + "name": "UGC_SET_USING_OFFLINE_CONTENT", + "jhash": "0x511E6F50", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF53E48461B71EECB": { + "name": "UGC_IS_LANGUAGE_SUPPORTED", + "jhash": "0xB4668B23", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x098AB65B9ED9A9EC": { + "name": "FACEBOOK_POST_COMPLETED_HEIST", + "jhash": "0x30B51753", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "heistName" + }, + { + "type": "int", + "name": "cashEarned" + }, + { + "type": "int", + "name": "xpEarned" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_FACEBOOK_SET_HEIST_COMPLETE" + ] + }, + "0xDC48473142545431": { + "name": "FACEBOOK_POST_CREATE_CHARACTER", + "jhash": "0x02DAD93F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_FACEBOOK_SET_CREATE_CHARACTER_COMPLETE" + ] + }, + "0x0AE1F1653B554AB9": { + "name": "FACEBOOK_POST_COMPLETED_MILESTONE", + "jhash": "0x2D947814", + "comment": "", + "params": [ + { + "type": "int", + "name": "milestoneId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_FACEBOOK_SET_MILESTONE_COMPLETE" + ] + }, + "0x62B9FEC9A11F10EF": { + "name": "FACEBOOK_HAS_POST_COMPLETED", + "jhash": "0x37A28C26", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_FACEBOOK_IS_SENDING_DATA" + ] + }, + "0xA75E2B6733DA5142": { + "name": "FACEBOOK_DID_POST_SUCCEED", + "jhash": "0x11E8B5CD", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_FACEBOOK_DO_UNK_CHECK" + ] + }, + "0x43865688AE10F0D7": { + "name": "FACEBOOK_CAN_POST_TO_FACEBOOK", + "jhash": "0x429AEAB3", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_FACEBOOK_IS_AVAILABLE" + ] + }, + "0x16160DA74A8E74A2": { + "name": "TEXTURE_DOWNLOAD_REQUEST", + "jhash": "0xAD546CC3", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + }, + { + "type": "const char*", + "name": "filePath" + }, + { + "type": "const char*", + "name": "name" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "int", + "build": "323" + }, + "0x0B203B4AFDE53A4F": { + "name": "TITLE_TEXTURE_DOWNLOAD_REQUEST", + "jhash": "0x1856D008", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "filePath" + }, + { + "type": "const char*", + "name": "name" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x308F96458B7087CC": { + "name": "UGC_TEXTURE_DOWNLOAD_REQUEST", + "jhash": "0x68C9AF69", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "const char*", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "int", + "build": "323" + }, + "0x487EB90B98E9FB19": { + "name": "TEXTURE_DOWNLOAD_RELEASE", + "jhash": "0xEE8D9E70", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5776ED562C134687": { + "name": "TEXTURE_DOWNLOAD_HAS_FAILED", + "jhash": "0xE4547765", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3448505B6E35262D": { + "name": "TEXTURE_DOWNLOAD_GET_NAME", + "jhash": "0xA40EF65A", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x8BD6C6DEA20E82C6": { + "name": "GET_STATUS_OF_TEXTURE_DOWNLOAD", + "jhash": "0x03225BA3", + "comment": "0 = succeeded\n1 = pending\n2 = failed", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_STATUS_OF_TEXTURE_DOWNLOAD" + ] + }, + "0x60EDD13EB3AC1FF3": { + "name": "NETWORK_CHECK_ROS_LINK_WENTDOWN_NOT_NET", + "jhash": "0x4DEBC227", + "comment": "Returns true if profile setting 901 is set to true and sets it to false.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x82A2B386716608F1": { + "name": "NETWORK_SHOULD_SHOW_STRICT_NAT_WARNING", + "jhash": "", + "comment": "Returns true if the NAT type is Strict (3) and a certain number of connections have failed.", + "params": [], + "return_type": "BOOL", + "build": "393", + "old_names": [ + "_NETWORK_SHOULD_SHOW_CONNECTIVITY_TROUBLESHOOTING" + ] + }, + "0xEFFB25453D8600F9": { + "name": "NETWORK_IS_CABLE_CONNECTED", + "jhash": "0x5C065D55", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x66B59CFFD78467AF": { + "name": "NETWORK_HAVE_SCS_PRIVATE_MSG_PRIV", + "jhash": "0x0CA1167F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_ROS_PRIVILEGE_9" + ] + }, + "0x606E4D3E3CCCF3EB": { + "name": "NETWORK_HAVE_ROS_SOCIAL_CLUB_PRIV", + "jhash": "0x424C6E27", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_ROS_PRIVILEGE_10" + ] + }, + "0x8020A73847E0CA7D": { + "name": "NETWORK_HAVE_ROS_BANNED_PRIV", + "jhash": "0xD3BBE42F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_ROCKSTAR_BANNED", + "_NETWORK_HAS_PLAYER_BEEN_BANNED" + ] + }, + "0xA0AD7E2AF5349F61": { + "name": "NETWORK_HAVE_ROS_CREATE_TICKET_PRIV", + "jhash": "0xBDBB5948", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_SOCIALCLUB_BANNED", + "_NETWORK_HAVE_SOCIAL_CLUB_PRIVILEGE" + ] + }, + "0x5F91D5D0B36AA310": { + "name": "NETWORK_HAVE_ROS_MULTIPLAYER_PRIV", + "jhash": "0x97287D68", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PLAYER_BANNED", + "_CAN_PLAY_ONLINE", + "_NETWORK_GET_ROS_PRIVILEGE_3" + ] + }, + "0x422D396F80A96547": { + "name": "NETWORK_HAVE_ROS_LEADERBOARD_WRITE_PRIV", + "jhash": "0xC6EA802E", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_ROS_PRIVILEGE_4" + ] + }, + "0xA699957E60D80214": { + "name": "NETWORK_HAS_ROS_PRIVILEGE", + "jhash": "0xFD261E30", + "comment": "index is always 18 in scripts", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC22912B1D85F26B1": { + "name": "NETWORK_HAS_ROS_PRIVILEGE_END_DATE", + "jhash": "0x8570DD34", + "comment": "", + "params": [ + { + "type": "int", + "name": "privilege" + }, + { + "type": "int*", + "name": "banType" + }, + { + "type": "Any*", + "name": "timeData" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_BAN_DATA" + ] + }, + "0x593570C289A77688": { + "name": "NETWORK_HAS_ROS_PRIVILEGE_PLAYED_LAST_GEN", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_ROS_PRIVILEGE_24" + ] + }, + "0x91B87C55093DE351": { + "name": "NETWORK_HAS_ROS_PRIVILEGE_SPECIAL_EDITION_CONTENT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_NETWORK_GET_ROS_PRIVILEGE_25" + ] + }, + "0x36391F397731595D": { + "name": "NETWORK_START_COMMUNICATION_PERMISSIONS_CHECK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xDEB2B99A1AF1A2A6": { + "name": "NETWORK_START_USER_CONTENT_PERMISSIONS_CHECK", + "jhash": "", + "comment": "Always returns -1. Seems to be XB1 specific.", + "params": [ + { + "type": "Any*", + "name": "netHandle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9465E683B12D3F6B": { + "name": "NETWORK_SKIP_RADIO_RESET_NEXT_CLOSE", + "jhash": "0x273C6180", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCA59CCAE5D01E4CE": { + "name": "NETWORK_SKIP_RADIO_RESET_NEXT_OPEN", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1734" + }, + "0x659CF2EF7F550C4F": { + "name": "NETWORK_SKIP_RADIO_WARNING", + "jhash": "", + "comment": "Returns true if dinput8.dll is present in the game directory.\nYou will get following error message if that is true: \"You are attempting to access GTA Online servers with an altered version of the game.\"", + "params": [], + "return_type": "BOOL", + "build": "1011", + "old_names": [ + "_NETWORK_HAS_GAME_BEEN_ALTERED" + ] + }, + "0xB7C7F6AD6424304B": { + "name": "NETWORK_FORCE_LOCAL_PLAYER_SCAR_SYNC", + "jhash": "0x371BBA08", + "comment": "NETWORK_F[I-O]", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_UPDATE_PLAYER_SCARS" + ] + }, + "0xC505036A35AFD01B": { + "name": "NETWORK_DISABLE_LEAVE_REMOTE_PED_BEHIND", + "jhash": "0xA100CC97", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x267C78C60E806B9A": { + "name": "NETWORK_ALLOW_REMOTE_ATTACHMENT_MODIFICATION", + "jhash": "0xBB2D33D3", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_NETWORK_ALLOW_LOCAL_ENTITY_ATTACHMENT" + ] + }, + "0x6BFF5F84102DF80A": { + "name": "NETWORK_SHOW_CHAT_RESTRICTION_MSC", + "jhash": "", + "comment": "Does nothing (it's a nullsub).", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5C497525F803486B": { + "name": "NETWORK_SHOW_PSN_UGC_RESTRICTION", + "jhash": "", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x6FB7BB3607D27FA2": { + "name": "NETWORK_IS_TITLE_UPDATE_REQUIRED", + "jhash": "", + "comment": "This function is hard-coded to always return 0.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x45A83257ED02D9BC": { + "name": "NETWORK_QUIT_MP_TO_DESKTOP", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x16D3D49902F697BB": { + "name": "NETWORK_IS_CONNECTED_VIA_RELAY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_IS_CONNECTION_ENDPOINT_RELAY_SERVER" + ] + }, + "0xD414BE129BB81B32": { + "name": "NETWORK_GET_AVERAGE_LATENCY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER" + ] + }, + "0x0E3A041ED6AC2B45": { + "name": "NETWORK_GET_AVERAGE_PING", + "jhash": "", + "comment": "Same as NETWORK_GET_AVERAGE_LATENCY", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_AVERAGE_LATENCY_FOR_PLAYER_2" + ] + }, + "0x350C23949E43686C": { + "name": "NETWORK_GET_AVERAGE_PACKET_LOSS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_AVERAGE_PACKET_LOSS_FOR_PLAYER" + ] + }, + "0xFF8FCF9FFC458A1C": { + "name": "NETWORK_GET_NUM_UNACKED_RELIABLES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_NUM_UNACKED_FOR_PLAYER" + ] + }, + "0x3765C3A3E8192E10": { + "name": "NETWORK_GET_UNRELIABLE_RESEND_COUNT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_UNRELIABLE_RESEND_COUNT_FOR_PLAYER" + ] + }, + "0x52C1EADAF7B10302": { + "name": "NETWORK_GET_HIGHEST_RELIABLE_RESEND_COUNT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323", + "unused": true, + "old_names": [ + "_NETWORK_GET_OLDEST_RESEND_COUNT_FOR_PLAYER" + ] + }, + "0x5626D9D6810730D5": { + "name": "NETWORK_REPORT_CODE_TAMPER", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "350", + "unused": true, + "old_names": [ + "_NETWORK_REPORT_MYSELF" + ] + }, + "0x64D779659BC37B19": { + "name": "NETWORK_GET_LAST_ENTITY_POS_RECEIVED_OVER_NETWORK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vector3", + "build": "393" + }, + "0x125E6D638B8605D4": { + "name": "NETWORK_GET_LAST_PLAYER_POS_RECEIVED_OVER_NETWORK", + "jhash": "", + "comment": "Returns the coordinates of another player.\nDoes not work if you enter your own player id as p0 (will return `(0.0, 0.0, 0.0)` in that case).", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "Vector3", + "build": "393", + "old_names": [ + "_NETWORK_GET_PLAYER_COORDS" + ] + }, + "0x33DE49EDF4DDE77A": { + "name": "NETWORK_GET_LAST_VEL_RECEIVED_OVER_NETWORK", + "jhash": "", + "comment": "Used by NetBlender", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vector3", + "build": "1103", + "old_names": [ + "_NETWORK_GET_LAST_VELOCITY_RECEIVED" + ] + }, + "0xAA5FAFCD2C5F5E47": { + "name": "NETWORK_GET_PREDICTED_VELOCITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vector3", + "build": "1103", + "unused": true + }, + "0xAEDF1BC1C133D6E3": { + "name": "NETWORK_DUMP_NET_IF_CONFIG", + "jhash": "", + "comment": "Does nothing (it's a nullsub).", + "params": [], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x2555CF7DA5473794": { + "name": "NETWORK_GET_SIGNALLING_INFO", + "jhash": "", + "comment": "Does nothing (it's a nullsub).", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x6FD992C4A1C1B986": { + "name": "NETWORK_GET_NET_STATISTICS_INFO", + "jhash": "", + "comment": "Does nothing (it's a nullsub).", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0xDB663CC9FF3407A9": { + "name": "NETWORK_GET_PLAYER_ACCOUNT_ID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "1734" + }, + "0xC1447451DDB512F0": { + "name": "NETWORK_UGC_NAV", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_UGC_NAV" + ] + } + }, + "OBJECT": { + "0x509D5878EB39E842": { + "name": "CREATE_OBJECT", + "jhash": "0x2F7AA05C", + "comment": "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", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "BOOL", + "name": "bScriptHostObj" + }, + { + "type": "BOOL", + "name": "dynamic" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x9A294B2138ABB884": { + "name": "CREATE_OBJECT_NO_OFFSET", + "jhash": "0x58040420", + "comment": "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", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "BOOL", + "name": "bScriptHostObj" + }, + { + "type": "BOOL", + "name": "dynamic" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x539E0AE3E6634B9F": { + "name": "DELETE_OBJECT", + "jhash": "0xD6EF9DA7", + "comment": "Deletes the specified object, then sets the handle pointed to by the pointer to NULL.", + "params": [ + { + "type": "Object*", + "name": "object" + } + ], + "return_type": "void", + "build": "323" + }, + "0x58A850EAEE20FAA3": { + "name": "PLACE_OBJECT_ON_GROUND_PROPERLY", + "jhash": "0x8F95A20B", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD76EEEF746057FD6": { + "name": "PLACE_OBJECT_ON_GROUND_OR_OBJECT_PROPERLY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_PLACE_OBJECT_ON_GROUND_PROPERLY_2" + ] + }, + "0xAFE24E4D29249E4A": { + "name": "ROTATE_OBJECT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "1734" + }, + "0x2FDFF4107B8C1147": { + "name": "SLIDE_OBJECT", + "jhash": "0x63BFA7A0", + "comment": "Returns true if the object has finished moving.\n\nIf false, moves the object towards the specified X, Y and Z coordinates with the specified X, Y and Z speed.\n\nSee also: https://gtagmodding.com/opcode-database/opcode/034E/\nHas to be looped until it returns true.", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "float", + "name": "toX" + }, + { + "type": "float", + "name": "toY" + }, + { + "type": "float", + "name": "toZ" + }, + { + "type": "float", + "name": "speedX" + }, + { + "type": "float", + "name": "speedY" + }, + { + "type": "float", + "name": "speedZ" + }, + { + "type": "BOOL", + "name": "collision" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8A7391690F5AFD81": { + "name": "SET_OBJECT_TARGETTABLE", + "jhash": "0x3F88CD86", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "targettable" + } + ], + "return_type": "void", + "build": "323" + }, + "0x77F33F2CCF64B3AA": { + "name": "SET_OBJECT_FORCE_VEHICLES_TO_AVOID", + "jhash": "0x483C5C88", + "comment": "Overrides a flag on the object which determines if the object should be avoided by a vehicle in task CTaskVehicleGoToPointWithAvoidanceAutomobile.", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_OBJECT_SOMETHING" + ] + }, + "0xE143FA2249364369": { + "name": "GET_CLOSEST_OBJECT_OF_TYPE", + "jhash": "0x45619B33", + "comment": "Has 8 params in the latest patches.\n\nisMission - if true doesn't return mission objects", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "isMission" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x8ABFB70C49CC43E2": { + "name": "HAS_OBJECT_BEEN_BROKEN", + "jhash": "0xFE21F891", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x761B0E69AC4D007E": { + "name": "HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_BROKEN", + "jhash": "0x6FC0353D", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x46494A2475701343": { + "name": "HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_COMPLETELY_DESTROYED", + "jhash": "0x7DB578DD", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2542269291C6AC84": { + "name": "GET_HAS_OBJECT_BEEN_COMPLETELY_DESTROYED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "1180" + }, + "0x163E252DE035A133": { + "name": "GET_OFFSET_FROM_COORD_AND_HEADING_IN_WORLD_COORDS", + "jhash": "0x87A42A12", + "comment": "", + "params": [ + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + } + ], + "return_type": "Vector3", + "build": "323", + "old_names": [ + "_GET_OBJECT_OFFSET_FROM_COORDS" + ] + }, + "0x163F8B586BC95F2A": { + "name": "GET_COORDS_AND_ROTATION_OF_CLOSEST_OBJECT_OF_TYPE", + "jhash": "0x65213FC3", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "Vector3*", + "name": "outRotation" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF82D8F1926A02C3D": { + "name": "SET_STATE_OF_CLOSEST_DOOR_OF_TYPE", + "jhash": "0x38C951A4", + "comment": "Hardcoded to not work in multiplayer.\n\n\nUsed to lock/unlock doors to interior areas of the game.\n\n(Possible) Door Types:\n\nhttps://pastebin.com/9S2m3qA4\n\nHeading is either 1, 0 or -1 in the scripts. Means default closed(0) or opened either into(1) or out(-1) of the interior.\nLocked means that the heading is locked. \np6 is always 0. \n\n225 door types, model names and coords found in stripclub.c4:\nhttps://pastebin.com/gywnbzsH\n\nget door info: https://pastebin.com/i14rbekD", + "params": [ + { + "type": "Hash", + "name": "type" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "locked" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "BOOL", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEDC1A5B84AEF33FF": { + "name": "GET_STATE_OF_CLOSEST_DOOR_OF_TYPE", + "jhash": "0x4B44A83D", + "comment": "locked is 0 if no door is found\nlocked is 0 if door is unlocked\nlocked is 1 if door is found and unlocked.\n\n-------------\nthe locked bool is either 0(unlocked)(false) or 1(locked)(true)", + "params": [ + { + "type": "Hash", + "name": "type" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL*", + "name": "locked" + }, + { + "type": "float*", + "name": "heading" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9B12F9A24FABEDB0": { + "name": "SET_LOCKED_UNSTREAMED_IN_DOOR_OF_TYPE", + "jhash": "0x4E0A260B", + "comment": "Hardcoded not to work in multiplayer environments.\nWhen you set locked to 0 the door open and to 1 the door close\nOBJECT::SET_LOCKED_UNSTREAMED_IN_DOOR_OF_TYPE(${prop_gate_prison_01}, 1845.0, 2605.0, 45.0, 0, 0.0, 50.0, 0); //door open\n\nOBJECT::SET_LOCKED_UNSTREAMED_IN_DOOR_OF_TYPE(${prop_gate_prison_01}, 1845.0, 2605.0, 45.0, 1, 0.0, 50.0, 0); //door close", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "locked" + }, + { + "type": "float", + "name": "xRotMult" + }, + { + "type": "float", + "name": "yRotMult" + }, + { + "type": "float", + "name": "zRotMult" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DOOR_CONTROL" + ] + }, + "0x006E4B040ED37EC3": { + "name": "PLAY_OBJECT_AUTO_START_ANIM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1868" + }, + "0x6F8838D03D1DC226": { + "name": "ADD_DOOR_TO_SYSTEM", + "jhash": "0x9D2D778D", + "comment": "doorHash has to be unique. scriptDoor false; relies upon getNetworkGameScriptHandler. isLocal On true disables the creation CRequestDoorEvent's in DOOR_SYSTEM_SET_DOOR_STATE.\np5 only set to true in single player native scripts.\nIf 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.\n\ndoor hashes normally look like PROP_[int]_DOOR_[int] for interior doors and PROP_BUILDING_[int]_DOOR_[int] exterior doors but you can just make up your own hash if you want\nAll doors need to be registered with ADD_DOOR_TO_SYSTEM before they can be manipulated with the door natives and the easiest way to get door models is just find the door in codewalker.\n\nExample: AddDoorToSystem(\"PROP_43_DOOR_0\", \"hei_v_ilev_fh_heistdoor2\", -1456.818, -520.5037, 69.67043, 0, 0, 0)", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "scriptDoor" + }, + { + "type": "BOOL", + "name": "isLocal" + } + ], + "return_type": "void", + "build": "323" + }, + "0x464D8E1427156FE4": { + "name": "REMOVE_DOOR_FROM_SYSTEM", + "jhash": "0x00253286", + "comment": "CDoor and CDoorSystemData still internally allocated (and their associations between doorHash, modelHash, and coordinates).\nOnly its NetObj removed and flag ``*(v2 + 192) |= 8u`` (1604 retail) toggled.", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6BAB9442830C7F53": { + "name": "DOOR_SYSTEM_SET_DOOR_STATE", + "jhash": "0xDF83DB47", + "comment": "Lockstates not applied and CNetObjDoor's not created until DOOR_SYSTEM_GET_IS_PHYSICS_LOADED returns true.\n`requestDoor` on true, and when door system is configured to, i.e., \"persists w/o netobj\", generate a CRequestDoorEvent.\n`forceUpdate` on true, forces an update on the door system (same path as netObjDoor_applyDoorStuff)\nDoor lock states:\n0: UNLOCKED\n1: LOCKED\n2: DOORSTATE_FORCE_LOCKED_UNTIL_OUT_OF_AREA\n3: DOORSTATE_FORCE_UNLOCKED_THIS_FRAME\n4: DOORSTATE_FORCE_LOCKED_THIS_FRAME\n5: DOORSTATE_FORCE_OPEN_THIS_FRAME\n6: DOORSTATE_FORCE_CLOSED_THIS_FRAME", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "int", + "name": "state" + }, + { + "type": "BOOL", + "name": "requestDoor" + }, + { + "type": "BOOL", + "name": "forceUpdate" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_DOOR_ACCELERATION_LIMIT" + ] + }, + "0x160AA1B32F6139B8": { + "name": "DOOR_SYSTEM_GET_DOOR_STATE", + "jhash": "0xD42A41C2", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "doorHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4BC2854478F3A749": { + "name": "DOOR_SYSTEM_GET_DOOR_PENDING_STATE", + "jhash": "0xD649B7E1", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "doorHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x03C27E13B42A0E82": { + "name": "DOOR_SYSTEM_SET_AUTOMATIC_RATE", + "jhash": "0x4F44AF21", + "comment": "Includes networking check: ownership vs. or the door itself **isn't** networked.\n`forceUpdate` on true invokes DOOR_SYSTEM_SET_DOOR_STATE otherwise requestDoor is unused.", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "float", + "name": "rate" + }, + { + "type": "BOOL", + "name": "requestDoor" + }, + { + "type": "BOOL", + "name": "forceUpdate" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9BA001CB45CBF627": { + "name": "DOOR_SYSTEM_SET_AUTOMATIC_DISTANCE", + "jhash": "0x47531446", + "comment": "`forceUpdate` on true invokes DOOR_SYSTEM_SET_DOOR_STATE otherwise requestDoor is unused.", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "BOOL", + "name": "requestDoor" + }, + { + "type": "BOOL", + "name": "forceUpdate" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB6E6FBA95C7324AC": { + "name": "DOOR_SYSTEM_SET_OPEN_RATIO", + "jhash": "0x34883DE3", + "comment": "Sets the ajar angle of a door.\nRanges from -1.0 to 1.0, and 0.0 is closed / default.\n`forceUpdate` on true invokes DOOR_SYSTEM_SET_DOOR_STATE otherwise requestDoor is unused.", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "float", + "name": "ajar" + }, + { + "type": "BOOL", + "name": "requestDoor" + }, + { + "type": "BOOL", + "name": "forceUpdate" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_DOOR_AJAR_ANGLE" + ] + }, + "0xE851471AEFC3374F": { + "name": "DOOR_SYSTEM_GET_AUTOMATIC_DISTANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "doorHash" + } + ], + "return_type": "float", + "build": "1868", + "old_names": [ + "_DOOR_SYSTEM_GET_AUTOMATIC_DISTANCE" + ] + }, + "0x65499865FCA6E5EC": { + "name": "DOOR_SYSTEM_GET_OPEN_RATIO", + "jhash": "0xB74C3BD7", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "doorHash" + } + ], + "return_type": "float", + "build": "323" + }, + "0xC485E07E4F0B7958": { + "name": "DOOR_SYSTEM_SET_SPRING_REMOVED", + "jhash": "0xB4A9A558", + "comment": "Includes networking check: ownership vs. or the door itself **isn't** networked.\n`forceUpdate` on true invokes DOOR_SYSTEM_SET_DOOR_STATE otherwise requestDoor is unused.", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "BOOL", + "name": "removed" + }, + { + "type": "BOOL", + "name": "requestDoor" + }, + { + "type": "BOOL", + "name": "forceUpdate" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD9B71952F78A2640": { + "name": "DOOR_SYSTEM_SET_HOLD_OPEN", + "jhash": "0xECE58AE0", + "comment": "Includes networking check: ownership vs. or the door itself **isn't** networked.", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA85A21582451E951": { + "name": "DOOR_SYSTEM_SET_DOOR_OPEN_FOR_RACES", + "jhash": "0xF736227C", + "comment": "Some property related to gates. Native name between ``DOOR_SYSTEM_SET_AUTOMATIC_RATE`` and ``DOOR_SYSTEM_SET_DOOR_STATE``.", + "params": [ + { + "type": "Hash", + "name": "doorHash" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC153C43EA202C8C1": { + "name": "IS_DOOR_REGISTERED_WITH_SYSTEM", + "jhash": "0x5AFCD8A1", + "comment": "if (OBJECT::IS_DOOR_REGISTERED_WITH_SYSTEM(doorHash)) \n{\n OBJECT::REMOVE_DOOR_FROM_SYSTEM(doorHash);\n}", + "params": [ + { + "type": "Hash", + "name": "doorHash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_DOES_DOOR_EXIST" + ] + }, + "0xC531EE8A1145A149": { + "name": "IS_DOOR_CLOSED", + "jhash": "0x48659CD7", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "doorHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC7F29CA00F46350E": { + "name": "OPEN_ALL_BARRIERS_FOR_RACE", + "jhash": "0x9BF33E41", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x701FDA1E82076BA4": { + "name": "CLOSE_ALL_BARRIERS_FOR_RACE", + "jhash": "0xF592AD10", + "comment": "Clears the fields sets by 0xC7F29CA00F46350E (1604 retail: 0x1424A7A10, 0x1424A7A11) and iterates over the global CDoor's bucket-list.\nRelated to its \"Pre-networked state\"?", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xDF97CDD4FC08FD34": { + "name": "DOOR_SYSTEM_GET_IS_PHYSICS_LOADED", + "jhash": "0x17FF9393", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x589F80B325CC82C5": { + "name": "DOOR_SYSTEM_FIND_EXISTING_DOOR", + "jhash": "0xE9AE494F", + "comment": "Search radius: 0.5", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "Hash*", + "name": "outDoorHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x90E47239EA1980B8": { + "name": "IS_GARAGE_EMPTY", + "jhash": "0xA8B37DEA", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x024A60DEB0EA69F0": { + "name": "IS_PLAYER_ENTIRELY_INSIDE_GARAGE", + "jhash": "0xC33ED360", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1761DC5D8471CBAA": { + "name": "IS_PLAYER_PARTIALLY_INSIDE_GARAGE", + "jhash": "0x41924877", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x85B6C850546FDDE2": { + "name": "ARE_ENTITIES_ENTIRELY_INSIDE_GARAGE", + "jhash": "0x4BD59750", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x673ED815D6E323B7": { + "name": "IS_ANY_ENTITY_ENTIRELY_INSIDE_GARAGE", + "jhash": "0x7B44D659", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x372EF6699146A1E4": { + "name": "IS_OBJECT_ENTIRELY_INSIDE_GARAGE", + "jhash": "0x142C8F76", + "comment": "Despite the name, it does work for any entity type.", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF0EED5A6BC7B237A": { + "name": "IS_OBJECT_PARTIALLY_INSIDE_GARAGE", + "jhash": "0x95A9AB2B", + "comment": "Despite the name, it does work for any entity type.", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDA05194260CDCDF9": { + "name": "CLEAR_GARAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "BOOL", + "name": "isNetwork" + } + ], + "return_type": "void", + "build": "678", + "old_names": [ + "_CLEAR_GARAGE_AREA" + ] + }, + "0x190428512B240692": { + "name": "CLEAR_OBJECTS_INSIDE_GARAGE", + "jhash": "0xA565E27E", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "BOOL", + "name": "vehicles" + }, + { + "type": "BOOL", + "name": "peds" + }, + { + "type": "BOOL", + "name": "objects" + }, + { + "type": "BOOL", + "name": "isNetwork" + } + ], + "return_type": "void", + "build": "323" + }, + "0x659F9D71F52843F8": { + "name": "DISABLE_TIDYING_UP_IN_GARAGE", + "jhash": "", + "comment": "Sets a flag. A valid id is 0x157DC10D", + "params": [ + { + "type": "int", + "name": "id" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xF2E1A7133DD356A6": { + "name": "ENABLE_SAVING_IN_GARAGE", + "jhash": "0x43BB7E48", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "garageHash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x66A49D021870FE88": { + "name": "CLOSE_SAFEHOUSE_GARAGES", + "jhash": "0x6158959E", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBFA48E2FF417213F": { + "name": "DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS", + "jhash": "0x23FF2BA4", + "comment": "p5 is usually 0.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "hash" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2A70BAE8883E4C81": { + "name": "IS_POINT_IN_ANGLED_AREA", + "jhash": "0x73BCFFDC", + "comment": "An angled area is an X-Z oriented rectangle with three parameters:\n1. origin: the mid-point along a base edge of the rectangle;\n2. extent: the mid-point of opposite base edge on the other Z;\n3. width: the length of the base edge; (named derived from logging strings ``CNetworkRoadNodeWorldStateData``).\n\nThe oriented rectangle can then be derived from the direction of the two points (``norm(origin - extent)``), its orthonormal, and the width, e.g:\n1. golf_mp https://i.imgur.com/JhsQAK9.png\n2. am_taxi https://i.imgur.com/TJWCZaT.jpg", + "params": [ + { + "type": "float", + "name": "xPos" + }, + { + "type": "float", + "name": "yPos" + }, + { + "type": "float", + "name": "zPos" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "BOOL", + "name": "debug" + }, + { + "type": "BOOL", + "name": "includeZ" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4D89D607CB3DD1D2": { + "name": "SET_OBJECT_ALLOW_LOW_LOD_BUOYANCY", + "jhash": "0x19B17769", + "comment": "Overrides the climbing/blocking flags of the object, used in the native scripts mostly for \"prop_dock_bouy_*\"", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_OBJECT_CAN_CLIMB_ON" + ] + }, + "0xF6DF6E90DE7DF90F": { + "name": "SET_OBJECT_PHYSICS_PARAMS", + "jhash": "0xE8D11C58", + "comment": "Adjust the physics parameters of a prop, or otherwise known as \"object\". This is useful for simulated gravity.\n\nOther parameters seem to be unknown.\n\np2: seems to be weight and gravity related. Higher value makes the obj fall faster. Very sensitive?\np3: seems similar to p2\np4: makes obj fall slower the higher the value\np5: similar to p4", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "float", + "name": "weight" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "gravity" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "p10" + }, + { + "type": "float", + "name": "buoyancy" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB6FBFD079B8D0596": { + "name": "GET_OBJECT_FRAGMENT_DAMAGE_HEALTH", + "jhash": "0xF0B330AD", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "float", + "build": "323" + }, + "0x406137F8EF90EAF5": { + "name": "SET_ACTIVATE_OBJECT_PHYSICS_AS_SOON_AS_IT_IS_UNFROZEN", + "jhash": "0x3E263AE1", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x397DC58FF00298D1": { + "name": "IS_ANY_OBJECT_NEAR_POINT", + "jhash": "0xE9E46941", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "range" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8C90FE4B381BA60A": { + "name": "IS_OBJECT_NEAR_POINT", + "jhash": "0x50A62C43", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "objectHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "range" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4A39DB43E47CF3AA": { + "name": "REMOVE_OBJECT_HIGH_DETAIL_MODEL", + "jhash": "0xE3261B35", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE7E4C198B0185900": { + "name": "BREAK_OBJECT_FRAGMENT_CHILD", + "jhash": "0x1E82C2AE", + "comment": "", + "params": [ + { + "type": "Object", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE05F6AEEFEB0BB02": { + "name": "DAMAGE_OBJECT_FRAGMENT_CHILD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1180" + }, + "0xF9C1681347C8BD15": { + "name": "FIX_OBJECT_FRAGMENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB252BC036B525623": { + "name": "TRACK_OBJECT_VISIBILITY", + "jhash": "0x46D06B9A", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8B32ACE6326A7546": { + "name": "IS_OBJECT_VISIBLE", + "jhash": "0xF4FD8AE4", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC6033D32241F6FB5": { + "name": "SET_OBJECT_IS_SPECIAL_GOLFBALL", + "jhash": "0xF4A1A14A", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB6F1A9B5510A5D2": { + "name": "SET_OBJECT_TAKES_DAMAGE_FROM_COLLIDING_WITH_BUILDINGS", + "jhash": "0xAF016CC1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xABDABF4E1EDECBFA": { + "name": "ALLOW_DAMAGE_EVENTS_FOR_NON_NETWORKED_OBJECTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_UNK_GLOBAL_BOOL_RELATED_TO_DAMAGE" + ] + }, + "0xBCE595371A5FBAAF": { + "name": "SET_CUTSCENES_WEAPON_FLASHLIGHT_ON_THIS_FRAME", + "jhash": "0x3A68AA46", + "comment": "Requires a component_at_*_flsh to be attached to the weapon object", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CREATE_WEAPON_OBJECT_LIGHT_SOURCE" + ] + }, + "0xB48FCED898292E52": { + "name": "GET_RAYFIRE_MAP_OBJECT", + "jhash": "0xA286DE96", + "comment": "Example:\nOBJECT::GET_RAYFIRE_MAP_OBJECT(-809.9619750976562, 170.919, 75.7406997680664, 3.0, \"des_tvsmash\");", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "Object", + "build": "323", + "old_names": [ + "_GET_DES_OBJECT" + ] + }, + "0x5C29F698D404C5E1": { + "name": "SET_STATE_OF_RAYFIRE_MAP_OBJECT", + "jhash": "0x21F51560", + "comment": "Defines the state of a destructible object.\nUse the GET_RAYFIRE_MAP_OBJECT native to find an object's handle with its name / coords.\nState 2 == object just spawned\nState 4 == Beginning of the animation\nState 6 == Start animation\nState 9 == End of the animation", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "int", + "name": "state" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_DES_OBJECT_STATE" + ] + }, + "0x899BA936634A322E": { + "name": "GET_STATE_OF_RAYFIRE_MAP_OBJECT", + "jhash": "0xF1B8817A", + "comment": "Get a destructible object's state.\nSubstract 1 to get the real state.\nSee SET_STATE_OF_RAYFIRE_MAP_OBJECT to see the different states\nFor example, if the object just spawned (state 2), the native will return 3.", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_DES_OBJECT_STATE" + ] + }, + "0x52AF537A0C5B8AAD": { + "name": "DOES_RAYFIRE_MAP_OBJECT_EXIST", + "jhash": "0xE08C834D", + "comment": "Returns true if a destructible object with this handle exists, false otherwise. ", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_DOES_DES_OBJECT_EXIST" + ] + }, + "0x260EE4FDBDF4DB01": { + "name": "GET_RAYFIRE_MAP_OBJECT_ANIM_PHASE", + "jhash": "0x020497DE", + "comment": "`object`: The des-object handle to get the animation progress from.\nReturn 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.", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_DES_OBJECT_ANIM_PROGRESS" + ] + }, + "0xFBA08C503DD5FA58": { + "name": "CREATE_PICKUP", + "jhash": "0x5E14DF68", + "comment": "Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "Pickup", + "build": "323" + }, + "0x891804727E0A98B7": { + "name": "CREATE_PICKUP_ROTATE", + "jhash": "0xF015BFE2", + "comment": "flags:\n8 (1 << 3): place on ground\n512 (1 << 9): spin around\n\nFull list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "int", + "name": "flag" + }, + { + "type": "int", + "name": "amount" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "BOOL", + "name": "p10" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "Pickup", + "build": "323" + }, + "0x394CD08E31313C28": { + "name": "FORCE_PICKUP_ROTATE_FACE_UP", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "944" + }, + "0x826D1EE4D1CAFC78": { + "name": "SET_CUSTOM_PICKUP_WEAPON_HASH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "void", + "build": "505" + }, + "0x673966A0C0FD7171": { + "name": "CREATE_AMBIENT_PICKUP", + "jhash": "0x17B99CE7", + "comment": "Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x9C93764223E29C50": { + "name": "CREATE_NON_NETWORKED_AMBIENT_PICKUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + } + ], + "return_type": "Object", + "build": "2372", + "old_names": [ + "_CREATE_NON_NETWORKED_AMBIENT_PICKUP" + ] + }, + "0x1E3F1B1B891A2AAA": { + "name": "BLOCK_PLAYERS_FOR_AMBIENT_PICKUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "573" + }, + "0x2EAF1FDB2FB55698": { + "name": "CREATE_PORTABLE_PICKUP", + "jhash": "0x8C886BE5", + "comment": "Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "placeOnGround" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x125494B98A21AAF7": { + "name": "CREATE_NON_NETWORKED_PORTABLE_PICKUP", + "jhash": "0x56A02502", + "comment": "Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "placeOnGround" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "Object", + "build": "323", + "old_names": [ + "_CREATE_PORTABLE_PICKUP_2" + ] + }, + "0x8DC39368BDD57755": { + "name": "ATTACH_PORTABLE_PICKUP_TO_PED", + "jhash": "0x184F6AB3", + "comment": "", + "params": [ + { + "type": "Object", + "name": "pickupObject" + }, + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCF463D1E9A0AECB1": { + "name": "DETACH_PORTABLE_PICKUP_FROM_PED", + "jhash": "0x1D094562", + "comment": "", + "params": [ + { + "type": "Object", + "name": "pickupObject" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5CE2E45A5CE2E45A": { + "name": "FORCE_PORTABLE_PICKUP_LAST_ACCESSIBLE_POSITION_SETTING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "void", + "build": "2545" + }, + "0x867458251D47CCB2": { + "name": "HIDE_PORTABLE_PICKUP_WHEN_DETACHED", + "jhash": "0x1F63B042", + "comment": "", + "params": [ + { + "type": "Object", + "name": "pickupObject" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_HIDE_PICKUP" + ] + }, + "0x0BF3B3BD47D79C08": { + "name": "SET_MAX_NUM_PORTABLE_PICKUPS_CARRIED_BY_PLAYER", + "jhash": "0x7EFBA039", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "number" + } + ], + "return_type": "void", + "build": "323" + }, + "0x78857FC65CADB909": { + "name": "SET_LOCAL_PLAYER_CAN_COLLECT_PORTABLE_PICKUPS", + "jhash": "0xA3CDF152", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E16BC2503FF1FF0": { + "name": "GET_SAFE_PICKUP_COORDS", + "jhash": "0x618B5F67", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xD4A7A435B3710D05": { + "name": "ADD_EXTENDED_PICKUP_PROBE_AREA", + "jhash": "", + "comment": "Adds an area that seems to be related to pickup physics behavior.\nMax amount of areas is 10. Only works in multiplayer.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xB7C6D80FB371659A": { + "name": "CLEAR_EXTENDED_PICKUP_PROBE_AREAS", + "jhash": "", + "comment": "Clears all areas created by ADD_EXTENDED_PICKUP_PROBE_AREA", + "params": [], + "return_type": "void", + "build": "1290" + }, + "0x225B8B35C88029B3": { + "name": "GET_PICKUP_COORDS", + "jhash": "0xC2E1E2C5", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x8DCA505A5C196F05": { + "name": "SUPPRESS_PICKUP_SOUND_FOR_PICKUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1180" + }, + "0x27F9D613092159CF": { + "name": "REMOVE_ALL_PICKUPS_OF_TYPE", + "jhash": "0x40062C53", + "comment": "Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x80EC48E6679313F9": { + "name": "HAS_PICKUP_BEEN_COLLECTED", + "jhash": "0x0BE5CCED", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3288D8ACAECD2AB2": { + "name": "REMOVE_PICKUP", + "jhash": "0x64A7A0E0", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0589B5E791CE9B2B": { + "name": "CREATE_MONEY_PICKUPS", + "jhash": "0x36C9A5EA", + "comment": "Spawns one or more money pickups.\n\nx: The X-component of the world position to spawn the money pickups at.\ny: The Y-component of the world position to spawn the money pickups at.\nz: The Z-component of the world position to spawn the money pickups at.\nvalue: The combined value of the pickups (in dollars).\namount: The number of pickups to spawn.\nmodel: The model to use, or 0 for default money model.\n\nExample:\nCREATE_MONEY_PICKUPS(x, y, z, 1000, 3, 0x684a97ae);\n\nSpawns 3 spray cans that'll collectively give $1000 when picked up. (Three spray cans, each giving $334, $334, $332 = $1000).\n\n==============================================\n\nMax 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", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAFC1CA75AD4074D1": { + "name": "DOES_PICKUP_EXIST", + "jhash": "0x9C6DA0B3", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD9EFB6DBF7DAAEA3": { + "name": "DOES_PICKUP_OBJECT_EXIST", + "jhash": "0xE0B32108", + "comment": "", + "params": [ + { + "type": "Object", + "name": "pickupObject" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5099BC55630B25AE": { + "name": "GET_PICKUP_OBJECT", + "jhash": "0x6052E62E", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "Object", + "build": "323" + }, + "0xFC481C641EBBD27D": { + "name": "IS_OBJECT_A_PICKUP", + "jhash": "0x93D23399", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "1365" + }, + "0x0378C08504160D0D": { + "name": "IS_OBJECT_A_PORTABLE_PICKUP", + "jhash": "0x0F0E94FF", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF9C36251F6E48E33": { + "name": "DOES_PICKUP_OF_TYPE_EXIST_IN_AREA", + "jhash": "0xF139681B", + "comment": "Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PICKUP_WITHIN_RADIUS" + ] + }, + "0x78015C9B4B3ECC9D": { + "name": "SET_PICKUP_REGENERATION_TIME", + "jhash": "0xAB11267D", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0x758A5C1B3B1E1990": { + "name": "FORCE_PICKUP_REGENERATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1011" + }, + "0x616093EC6B139DD9": { + "name": "SET_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_OF_TYPE", + "jhash": "0x7FADB4B9", + "comment": "Disabling/enabling a player from getting pickups. From the scripts:\n\nOBJECT::SET_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_OF_TYPE(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0);\nOBJECT::SET_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_OF_TYPE(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0);\nOBJECT::SET_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_OF_TYPE(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 1);\nOBJECT::SET_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_OF_TYPE(PLAYER::PLAYER_ID(), ${pickup_portable_package}, 0);\nOBJECT::SET_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_OF_TYPE(PLAYER::PLAYER_ID(), ${pickup_armour_standard}, 0);\nOBJECT::SET_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_OF_TYPE(PLAYER::PLAYER_ID(), ${pickup_armour_standard}, 1);\n\nFull list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Hash", + "name": "pickupHash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_TOGGLE_USE_PICKUPS_FOR_PLAYER" + ] + }, + "0x88EAEC617CD26926": { + "name": "SET_LOCAL_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_WITH_MODEL", + "jhash": "0x3A8F1BF7", + "comment": "Maximum amount of pickup models that can be disallowed is 30.", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_LOCAL_PLAYER_CAN_USE_PICKUPS_WITH_THIS_MODEL" + ] + }, + "0xFDC07C58E8AAB715": { + "name": "ALLOW_ALL_PLAYERS_TO_COLLECT_PICKUPS_OF_TYPE", + "jhash": "", + "comment": "Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + } + ], + "return_type": "void", + "build": "1734" + }, + "0x53E0DF1A2A3CF0CA": { + "name": "SET_TEAM_PICKUP_OBJECT", + "jhash": "0x77687DC5", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x92AEFB5F6E294023": { + "name": "PREVENT_COLLECTION_OF_PORTABLE_PICKUP", + "jhash": "0xCBB5F9B6", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x27F248C3FEBFAAD3": { + "name": "SET_PICKUP_OBJECT_GLOW_WHEN_UNCOLLECTABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2372" + }, + "0x0596843B34B95CE5": { + "name": "SET_PICKUP_GLOW_OFFSET", + "jhash": "", + "comment": "p1 is always 0.51. This native is called before SET_PICKUP_REGENERATION_TIME in all occurances.", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "505" + }, + "0xA08FE5E49BDC39DD": { + "name": "SET_PICKUP_OBJECT_GLOW_OFFSET", + "jhash": "0x276A7807", + "comment": "p1 is always -0.2 in scripts and p2 is always true in scripts.", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x62454A641B41F3C5": { + "name": "SET_OBJECT_GLOW_IN_SAME_TEAM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "void", + "build": "678" + }, + "0x39A5FB7EAF150840": { + "name": "SET_PICKUP_OBJECT_ARROW_MARKER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "678" + }, + "0x834344A414C7C85D": { + "name": "ALLOW_PICKUP_ARROW_MARKER_WHEN_UNCOLLECTABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2372" + }, + "0xDB41D07A45A6D4B7": { + "name": "GET_DEFAULT_AMMO_FOR_WEAPON_PICKUP", + "jhash": "0x000E92DC", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x318516E02DE3ECE2": { + "name": "SET_PICKUP_GENERATION_RANGE_MULTIPLIER", + "jhash": "0x9879AC51", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB3ECA65C7317F174": { + "name": "GET_PICKUP_GENERATION_RANGE_MULTIPLIER", + "jhash": "", + "comment": "", + "params": [], + "return_type": "float", + "build": "944", + "old_names": [ + "_GET_PICKUP_GENERATION_RANGE_MULTIPLIER" + ] + }, + "0x31F924B53EADDF65": { + "name": "SET_ONLY_ALLOW_AMMO_COLLECTION_WHEN_LOW", + "jhash": "0xDB18FA01", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1C1B69FAE509BA97": { + "name": "SET_PICKUP_UNCOLLECTABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "757" + }, + "0x858EC9FD25DE04AA": { + "name": "SET_PICKUP_TRANSPARENT_WHEN_UNCOLLECTABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "757" + }, + "0x3ED2B83AB2E82799": { + "name": "SET_PICKUP_HIDDEN_WHEN_UNCOLLECTABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "757" + }, + "0x8881C98A31117998": { + "name": "SET_PICKUP_OBJECT_TRANSPARENT_WHEN_UNCOLLECTABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "678" + }, + "0x8CFF648FBD7330F1": { + "name": "SET_PICKUP_OBJECT_ALPHA_WHEN_TRANSPARENT", + "jhash": "", + "comment": "p0 is either 0 or 50 in scripts.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "757" + }, + "0x46F3ADD1E2D5BAF2": { + "name": "SET_PORTABLE_PICKUP_PERSIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "877" + }, + "0x641F272B52E2F0F8": { + "name": "ALLOW_PORTABLE_PICKUP_TO_MIGRATE_TO_NON_PARTICIPANTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "877" + }, + "0x4C134B4DF76025D0": { + "name": "FORCE_ACTIVATE_PHYSICS_ON_UNFIXED_PICKUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1180" + }, + "0xAA059C615DE9DD03": { + "name": "ALLOW_PICKUP_BY_NONE_PARTICIPANT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1180" + }, + "0xF92099527DB8E2A7": { + "name": "SUPPRESS_PICKUP_REWARD_TYPE", + "jhash": "0xA7E936FD", + "comment": "enum ePickupRewardType\n{\n PICKUP_REWARD_TYPE_AMMO = (1 << 0),\n PICKUP_REWARD_TYPE_BULLET_MP = (1 << 1),\n PICKUP_REWARD_TYPE_MISSILE_MP = (1 << 2),\n PICKUP_REWARD_TYPE_GRENADE_LAUNCHER_MP = (1 << 3),\n PICKUP_REWARD_TYPE_ARMOUR = (1 << 4),\n PICKUP_REWARD_TYPE_HEALTH = (1 << 5),\n PICKUP_REWARD_TYPE_HEALTH_VARIABLE = PICKUP_REWARD_TYPE_HEALTH,\n PICKUP_REWARD_TYPE_MONEY_FIXED = (1 << 6),\n PICKUP_REWARD_TYPE_MONEY_VARIABLE = PICKUP_REWARD_TYPE_MONEY_FIXED,\n PICKUP_REWARD_TYPE_WEAPON = (1 << 7),\n PICKUP_REWARD_TYPE_STAT = (1 << 8),\n PICKUP_REWARD_TYPE_STAT_VARIABLE = PICKUP_REWARD_TYPE_STAT,\n PICKUP_REWARD_TYPE_VEHICLE_FIX = (1 << 9),\n PICKUP_REWARD_TYPE_FIREWORK_MP = (1 << 10),\n};", + "params": [ + { + "type": "int", + "name": "rewardType" + }, + { + "type": "BOOL", + "name": "suppress" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA2C1F5E92AFE49ED": { + "name": "CLEAR_ALL_PICKUP_REWARD_TYPE_SUPPRESSION", + "jhash": "0xB241806C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x762DB2D380B48D04": { + "name": "CLEAR_PICKUP_REWARD_TYPE_SUPPRESSION", + "jhash": "0xD1BAAFB7", + "comment": "", + "params": [ + { + "type": "int", + "name": "rewardType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3430676B11CDF21D": { + "name": "RENDER_FAKE_PICKUP_GLOW", + "jhash": "0x63B02FAD", + "comment": "draws circular marker at pos\n-1 = none\n0 = red\n1 = green\n2 = blue\n3 = green larger\n4 = nothing\n5 = green small", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "colorIndex" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_HIGHLIGHT_PLACEMENT_COORDS" + ] + }, + "0x7813E8B8C4AE4799": { + "name": "SET_PICKUP_OBJECT_COLLECTABLE_IN_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + } + ], + "return_type": "void", + "build": "1734" + }, + "0xBFFE53AE7E67FCDC": { + "name": "SET_PICKUP_TRACK_DAMAGE_EVENTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Pickup", + "name": "pickup" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xD05A3241B9A86F19": { + "name": "SET_ENTITY_FLAG_SUPPRESS_SHADOW", + "jhash": "", + "comment": "Sets entity+38 to C (when false) or 0xFF3f (when true)", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1180" + }, + "0xB2D0BDE54F0E8E5A": { + "name": "SET_ENTITY_FLAG_RENDER_SMALL_SHADOW", + "jhash": "0x132B6D92", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x08F96CA6C551AD51": { + "name": "GET_WEAPON_TYPE_FROM_PICKUP_TYPE", + "jhash": "0xEDD01937", + "comment": "Full list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_WEAPON_HASH_FROM_PICKUP" + ] + }, + "0xD6429A016084F1A5": { + "name": "GET_PICKUP_TYPE_FROM_WEAPON_HASH", + "jhash": "", + "comment": "Returns the pickup hash for the given weapon hash", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "Hash", + "build": "1290", + "old_names": [ + "_GET_PICKUP_HASH_FROM_WEAPON" + ] + }, + "0x11D1E53A726891FE": { + "name": "IS_PICKUP_WEAPON_OBJECT_VALID", + "jhash": "0x883DAB2D", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE84EB93729C5F36A": { + "name": "GET_OBJECT_TINT_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "int", + "build": "757", + "old_names": [ + "_GET_OBJECT_TEXTURE_VARIATION" + ] + }, + "0x971DA0055324D033": { + "name": "SET_OBJECT_TINT_INDEX", + "jhash": "", + "comment": "enum ObjectPaintVariants\n{\n Pacific = 0,\n Azure = 1,\n Nautical = 2,\n Continental = 3,\n Battleship = 4,\n Intrepid = 5,\n Uniform = 6,\n Classico = 7,\n Mediterranean = 8,\n Command = 9,\n Mariner = 10,\n Ruby = 11,\n Vintage = 12,\n Pristine = 13,\n Merchant = 14,\n Voyager = 15\n};", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "int", + "name": "textureVariation" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_OBJECT_TEXTURE_VARIANT", + "_SET_OBJECT_TEXTURE_VARIATION" + ] + }, + "0xF12E33034D887F66": { + "name": "SET_TINT_INDEX_CLOSEST_BUILDING_OF_TYPE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "textureVariation" + } + ], + "return_type": "BOOL", + "build": "1103", + "old_names": [ + "_SET_TEXTURE_VARIATION_OF_CLOSEST_OBJECT_OF_TYPE" + ] + }, + "0x31574B1B41268673": { + "name": "SET_PROP_TINT_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2189" + }, + "0x5F048334B4A4E774": { + "name": "SET_PROP_LIGHT_COLOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "BOOL", + "build": "1493", + "old_names": [ + "_SET_OBJECT_LIGHT_COLOR" + ] + }, + "0xADF084FB8F075D06": { + "name": "IS_PROP_LIGHT_OVERRIDEN", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "1604" + }, + "0x3B2FD68DB5F8331C": { + "name": "SET_OBJECT_IS_VISIBLE_IN_MIRRORS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_SET_OBJECT_COLOUR" + ] + }, + "0x96EE0EBA0163DF80": { + "name": "SET_OBJECT_SPEED_BOOST_AMOUNT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_SET_OBJECT_STUNT_PROP_SPEEDUP" + ] + }, + "0xDF6CA0330F2E737B": { + "name": "SET_OBJECT_SPEED_BOOST_DURATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "float", + "name": "duration" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_SET_OBJECT_STUNT_PROP_DURATION" + ] + }, + "0x5EAAD83F8CFB4575": { + "name": "CONVERT_OLD_PICKUP_TYPE_TO_NEW", + "jhash": "0x6AE36192", + "comment": "returns pickup hash.\n\nFull list of pickup types by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pickupTypes.json", + "params": [ + { + "type": "Hash", + "name": "pickupHash" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_PICKUP_HASH" + ] + }, + "0xF538081986E49E9D": { + "name": "SET_FORCE_OBJECT_THIS_FRAME", + "jhash": "0x3DA41C1A", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xADBE4809F19F927A": { + "name": "ONLY_CLEAN_UP_OBJECT_WHEN_OUT_OF_RANGE", + "jhash": "0x2048A7DD", + "comment": "is this like setting is as no longer needed?", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_MARK_OBJECT_FOR_DELETION" + ] + }, + "0x8CAAB2BD3EA58BD4": { + "name": "SET_DISABLE_COLLISIONS_BETWEEN_CARS_AND_CAR_PARACHUTE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1011" + }, + "0x63ECF581BC70E363": { + "name": "SET_PROJECTILES_SHOULD_EXPLODE_ON_CONTACT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1365" + }, + "0x911024442F4898F0": { + "name": "SET_DRIVE_ARTICULATED_JOINT", + "jhash": "", + "comment": "Activate the physics to: \"xs_prop_arena_{flipper,wall,bollard,turntable,pit}\"", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_ENABLE_ARENA_PROP_PHYSICS" + ] + }, + "0xB20834A7DD3D8896": { + "name": "SET_DRIVE_ARTICULATED_JOINT_WITH_INFLICTOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_ENABLE_ARENA_PROP_PHYSICS_ON_PED" + ] + }, + "0x734E1714D077DA9A": { + "name": "SET_OBJECT_IS_A_PRESSURE_PLATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x1A6CBB06E2D0D79D": { + "name": "SET_WEAPON_IMPACTS_APPLY_GREATER_FORCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x43C677F1E1158005": { + "name": "GET_IS_ARTICULATED_JOINT_AT_MIN_ANGLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "1604", + "old_names": [ + "_GET_IS_ARENA_PROP_PHYSICS_DISABLED" + ] + }, + "0x3BD770D281982DB5": { + "name": "GET_IS_ARTICULATED_JOINT_AT_MAX_ANGLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "1604" + }, + "0x1C57C94A6446492A": { + "name": "SET_IS_OBJECT_ARTICULATED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0xB5B7742424BD4445": { + "name": "SET_IS_OBJECT_BALL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + } + }, + "PAD": { + "0x1CEA6BFDF248E5D9": { + "name": "IS_CONTROL_ENABLED", + "jhash": "0x9174AF84", + "comment": "control: 0: PLAYER_CONTROL, 1: CAMERA_CONTROL, 2: FRONTEND_CONTROL\nFor more info, see https://docs.fivem.net/docs/game-references/controls/", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF3A21BCD95725A4A": { + "name": "IS_CONTROL_PRESSED", + "jhash": "0x517A4384", + "comment": "Returns whether a control is currently pressed.\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x648EE3E7F38877DD": { + "name": "IS_CONTROL_RELEASED", + "jhash": "0x1F91A06E", + "comment": "Returns whether a control is currently _not_ pressed.\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x580417101DDB492F": { + "name": "IS_CONTROL_JUST_PRESSED", + "jhash": "0x4487F579", + "comment": "Returns whether a control was newly pressed since the last check.\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x50F940259D3841E6": { + "name": "IS_CONTROL_JUST_RELEASED", + "jhash": "0x2314444B", + "comment": "Returns whether a control was newly released since the last check.\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD95E79E8686D2C27": { + "name": "GET_CONTROL_VALUE", + "jhash": "0xC526F3C6", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "int", + "build": "323" + }, + "0xEC3C9B8D5327B563": { + "name": "GET_CONTROL_NORMAL", + "jhash": "0x5DE226A5", + "comment": "Returns the value of GET_CONTROL_VALUE normalized (i.e. a real number value between -1 and 1)\n\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "float", + "build": "323" + }, + "0x5B73C77D9EB66E24": { + "name": "SET_USE_ADJUSTED_MOUSE_COORDS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5B84D09CEC5209C5": { + "name": "GET_CONTROL_UNBOUND_NORMAL", + "jhash": "0xC49343BB", + "comment": "Seems to return values between -1 and 1 for controls like gas and steering.\n\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "float", + "build": "323" + }, + "0xE8A25867FBA3B05E": { + "name": "SET_CONTROL_VALUE_NEXT_FRAME", + "jhash": "", + "comment": "This is for simulating player input.\nvalue is a float value from 0 - 1\n\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SET_CONTROL_NORMAL" + ] + }, + "0xE2587F8CBBD87B1D": { + "name": "IS_DISABLED_CONTROL_PRESSED", + "jhash": "0x32A93544", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFB6C4072E9A32E92": { + "name": "IS_DISABLED_CONTROL_RELEASED", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "757" + }, + "0x91AEF906BCA88877": { + "name": "IS_DISABLED_CONTROL_JUST_PRESSED", + "jhash": "0xEE6ABD32", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x305C8DCD79DA8B0F": { + "name": "IS_DISABLED_CONTROL_JUST_RELEASED", + "jhash": "0xD6A679E1", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x11E65974A982637C": { + "name": "GET_DISABLED_CONTROL_NORMAL", + "jhash": "0x66FF4FAA", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "float", + "build": "323" + }, + "0x4F8A26A890FD62FB": { + "name": "GET_DISABLED_CONTROL_UNBOUND_NORMAL", + "jhash": "0xF2A65A4C", + "comment": "The \"disabled\" variant of GET_CONTROL_UNBOUND_NORMAL.\n\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "float", + "build": "323" + }, + "0xD7D22F5592AED8BA": { + "name": "GET_CONTROL_HOW_LONG_AGO", + "jhash": "0x0E8EF929", + "comment": "Returns time in ms since last input.\n\ncontrol: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_MS_SINCE_LAST_INPUT" + ] + }, + "0xA571D46727E2B718": { + "name": "IS_USING_KEYBOARD_AND_MOUSE", + "jhash": "", + "comment": "control: unused parameter", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_LAST_INPUT_METHOD", + "_IS_INPUT_DISABLED", + "_IS_USING_KEYBOARD" + ] + }, + "0x13337B38DB572509": { + "name": "IS_USING_CURSOR", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_INPUT_JUST_DISABLED", + "_IS_USING_KEYBOARD_2" + ] + }, + "0xFC695459D4D0E219": { + "name": "SET_CURSOR_POSITION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SET_CURSOR_LOCATION" + ] + }, + "0x23F09EADC01449D6": { + "name": "IS_USING_REMOTE_PLAY", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED\n\nHardcoded to return false.", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6CD79468A1E595C6": { + "name": "HAVE_CONTROLS_CHANGED", + "jhash": "", + "comment": "control: unused parameter", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0499D7B09FC9B407": { + "name": "GET_CONTROL_INSTRUCTIONAL_BUTTONS_STRING", + "jhash": "", + "comment": "allowXOSwap appears to always be true.\n\nEG:\nGET_CONTROL_INSTRUCTIONAL_BUTTON (2, 201, 1) /*INPUT_FRONTEND_ACCEPT (e.g. Enter button)*/\nGET_CONTROL_INSTRUCTIONAL_BUTTON (2, 202, 1) /*INPUT_FRONTEND_CANCEL (e.g. ESC button)*/\nGET_CONTROL_INSTRUCTIONAL_BUTTON (2, 51, 1) /*INPUT_CONTEXT (e.g. E button)*/\n\ngtaforums.com/topic/819070-c-draw-instructional-buttons-scaleform-movie/#entry1068197378\n\ncontrol: unused parameter", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + }, + { + "type": "BOOL", + "name": "allowXOSwap" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "GET_CONTROL_INSTRUCTIONAL_BUTTON" + ] + }, + "0x80C2FD58D720C801": { + "name": "GET_CONTROL_GROUP_INSTRUCTIONAL_BUTTONS_STRING", + "jhash": "", + "comment": "control: unused parameter", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "controlGroup" + }, + { + "type": "BOOL", + "name": "allowXOSwap" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "GET_CONTROL_GROUP_INSTRUCTIONAL_BUTTON" + ] + }, + "0x8290252FFF36ACB5": { + "name": "SET_CONTROL_LIGHT_EFFECT_COLOR", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "red" + }, + { + "type": "int", + "name": "green" + }, + { + "type": "int", + "name": "blue" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CONTROL_GROUP_COLOR" + ] + }, + "0xCB0360EFEFB2580D": { + "name": "CLEAR_CONTROL_LIGHT_EFFECT", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "void", + "build": "323" + }, + "0x48B3886C1358D0D5": { + "name": "SET_CONTROL_SHAKE", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED\nduration in milliseconds \nfrequency should range from about 10 (slow vibration) to 255 (very fast)\n\nexample:\nSET_CONTROL_SHAKE(PLAYER_CONTROL, 100, 200);", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "int", + "name": "frequency" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_PAD_SHAKE" + ] + }, + "0x14D29BB12D47F68C": { + "name": "SET_CONTROL_TRIGGER_SHAKE", + "jhash": "", + "comment": "Does nothing (it's a nullsub).", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "leftDuration" + }, + { + "type": "int", + "name": "leftFrequency" + }, + { + "type": "int", + "name": "rightDuration" + }, + { + "type": "int", + "name": "rightFrequency" + } + ], + "return_type": "void", + "build": "323" + }, + "0x38C16A305E8CDC8D": { + "name": "STOP_CONTROL_SHAKE", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "STOP_PAD_SHAKE" + ] + }, + "0xF239400E16C23E08": { + "name": "SET_CONTROL_SHAKE_SUPPRESSED_ID", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "uniqueId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_PAD_SHAKE_SUPPRESSED_ID" + ] + }, + "0xA0CEFCEA390AAB9B": { + "name": "CLEAR_CONTROL_SHAKE_SUPPRESSED_ID", + "jhash": "", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_SUPPRESSED_PAD_RUMBLE" + ] + }, + "0x77B612531280010D": { + "name": "IS_LOOK_INVERTED", + "jhash": "0x313434B2", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xE1615EC03B3BB4FD": { + "name": "IS_MOUSE_LOOK_INVERTED", + "jhash": "", + "comment": "Used with IS_LOOK_INVERTED() and negates its affect.\n\n--\n\nNot sure how the person above got that description, but here's an actual example:\n\nif (PAD::IS_USING_KEYBOARD_AND_MOUSE(2)) {\n if (a_5) {\n if (PAD::IS_LOOK_INVERTED()) {\n a_3 *= -1;\n }\n if (PAD::IS_MOUSE_LOOK_INVERTED()) {\n a_3 *= -1;\n }\n }\n}", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xBB41AFBBBC0A0287": { + "name": "GET_LOCAL_PLAYER_AIM_STATE", + "jhash": "0x81802053", + "comment": "Hard-coded to return 3 if using KBM, otherwise same behavior as GET_LOCAL_PLAYER_GAMEPAD_AIM_STATE.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x59B9A7AF4C95133C": { + "name": "GET_LOCAL_PLAYER_GAMEPAD_AIM_STATE", + "jhash": "", + "comment": "Returns the local player's targeting mode. See PLAYER::SET_PLAYER_TARGETING_MODE.", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_LOCAL_PLAYER_AIM_STATE_2" + ] + }, + "0x25AAA32BDC98F2A3": { + "name": "GET_IS_USING_ALTERNATE_HANDBRAKE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "1365", + "old_names": [ + "_GET_IS_USING_ALTERNATE_HANDBRAKE" + ] + }, + "0x0F70731BACCFBB96": { + "name": "GET_IS_USING_ALTERNATE_DRIVEBY", + "jhash": "0xC1AFABD5", + "comment": "Returns profile setting 225.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFC859E2374407556": { + "name": "GET_ALLOW_MOVEMENT_WHILE_ZOOMED", + "jhash": "0xC0823820", + "comment": "Returns profile setting 17.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x798FDEB5B1575088": { + "name": "SET_PLAYERPAD_SHAKES_WHEN_CONTROLLER_DISABLED", + "jhash": "0xA86BD91F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEDE476E5EE29EDB1": { + "name": "SET_INPUT_EXCLUSIVE", + "jhash": "0x4E8E29E6", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFE99B66D079CF6BC": { + "name": "DISABLE_CONTROL_ACTION", + "jhash": "0x3800C0DC", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + }, + { + "type": "BOOL", + "name": "disableRelatedActions" + } + ], + "return_type": "void", + "build": "323" + }, + "0x351220255D64C155": { + "name": "ENABLE_CONTROL_ACTION", + "jhash": "0xD2753551", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + }, + { + "type": "int", + "name": "action" + }, + { + "type": "BOOL", + "name": "enableRelatedActions" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5F4B6931816E599B": { + "name": "DISABLE_ALL_CONTROL_ACTIONS", + "jhash": "0x16753CF4", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA5FFE9B05F199DE7": { + "name": "ENABLE_ALL_CONTROL_ACTIONS", + "jhash": "0xFC2F119F", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3D42B92563939375": { + "name": "INIT_PC_SCRIPTED_CONTROLS", + "jhash": "0xD2C80B2E", + "comment": "Used in carsteal3 script with schemeName = \"Carsteal4_spycar\".", + "params": [ + { + "type": "const char*", + "name": "schemeName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SWITCH_TO_INPUT_MAPPING_SCHEME" + ] + }, + "0x4683149ED1DDE7A1": { + "name": "SWITCH_PC_SCRIPTED_CONTROLS", + "jhash": "0xBBFC9050", + "comment": "Same as INIT_PC_SCRIPTED_CONTROLS", + "params": [ + { + "type": "const char*", + "name": "schemeName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SWITCH_TO_INPUT_MAPPING_SCHEME_2" + ] + }, + "0x643ED62D5EA3BEBD": { + "name": "SHUTDOWN_PC_SCRIPTED_CONTROLS", + "jhash": "0x42140FF9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_INPUT_MAPPING_SCHEME" + ] + }, + "0x7F4724035FDCA1DD": { + "name": "ALLOW_ALTERNATIVE_SCRIPT_CONTROLS_LAYOUT", + "jhash": "0x2CEDE6C5", + "comment": "control: see IS_CONTROL_ENABLED", + "params": [ + { + "type": "int", + "name": "control" + } + ], + "return_type": "void", + "build": "323" + } + }, + "PATHFIND": { + "0xBF1A602B5BA52FEE": { + "name": "SET_ROADS_IN_AREA", + "jhash": "0xEBC7B918", + "comment": "When nodeEnabled is set to false, all nodes in the area get disabled.\n`GET_VEHICLE_NODE_IS_SWITCHED_OFF` returns true afterwards.\nIf it's true, `GET_VEHICLE_NODE_IS_SWITCHED_OFF` returns false.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "nodeEnabled" + }, + { + "type": "BOOL", + "name": "unknown2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1A5AA1208AF5DB59": { + "name": "SET_ROADS_IN_ANGLED_AREA", + "jhash": "0xBD088F4B", + "comment": "unknown3 is related to `SEND_SCRIPT_WORLD_STATE_EVENT > CNetworkRoadNodeWorldStateData` in networked environments.\nSee IS_POINT_IN_ANGLED_AREA for the definition of an angled area.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "BOOL", + "name": "unknown1" + }, + { + "type": "BOOL", + "name": "unknown2" + }, + { + "type": "BOOL", + "name": "unknown3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x34F060F4BF92E018": { + "name": "SET_PED_PATHS_IN_AREA", + "jhash": "0x2148EA84", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB61C8E878A4199CA": { + "name": "GET_SAFE_COORD_FOR_PED", + "jhash": "0xB370270A", + "comment": "Flags are:\n1 = 1 = B02_IsFootpath\n2 = 4 = !B15_InteractionUnk\n4 = 0x20 = !B14_IsInterior\n8 = 0x40 = !B07_IsWater\n16 = 0x200 = B17_IsFlatGround\nWhen onGround == true outPosition is a position located on the nearest pavement.\n\nWhen a safe coord could not be found the result of a function is false and outPosition == Vector3.Zero.\n\nIn the scripts these flags are used: 0, 14, 12, 16, 20, 21, 28. 0 is most commonly used, then 16. \n\n16 works for me, 0 crashed the script.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "onGround" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x240A18690AE96513": { + "name": "GET_CLOSEST_VEHICLE_NODE", + "jhash": "0x6F5F1E6C", + "comment": "https://gtaforums.com/topic/843561-pathfind-node-types", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "int", + "name": "nodeFlags" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2EABE3B06F58C1BE": { + "name": "GET_CLOSEST_MAJOR_VEHICLE_NODE", + "jhash": "0x04B5F15B", + "comment": "Get the closest vehicle node to a given position.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "float", + "name": "unknown1" + }, + { + "type": "float", + "name": "unknown2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFF071FB798B803B0": { + "name": "GET_CLOSEST_VEHICLE_NODE_WITH_HEADING", + "jhash": "0x8BD5759B", + "comment": "p5, p6 and p7 seems to be about the same as p4, p5 and p6 for GET_CLOSEST_VEHICLE_NODE. p6 and/or p7 has something to do with finding a node on the same path/road and same direction(at least for this native, something to do with the heading maybe). Edit this when you find out more.\n\nnodeType: 0 = main roads, 1 = any dry path, 3 = water\np6 is always 3.0\np7 is always 0\n\ngtaforums.com/topic/843561-pathfind-node-types\n\nExample of usage, moving vehicle to closest path/road:\nVector3 coords = ENTITY::GET_ENTITY_COORDS(playerVeh, true);\nVector3 closestVehicleNodeCoords; \nfloat roadHeading; \nPATHFIND::GET_CLOSEST_VEHICLE_NODE_WITH_HEADING(coords.x, coords.y, coords.z, &closestVehicleNodeCoords, &roadHeading, 1, 3, 0); \nENTITY::SET_ENTITY_HEADING(playerVeh, roadHeading);\nENTITY::SET_ENTITY_COORDS(playerVeh, closestVehicleNodeCoords.x, closestVehicleNodeCoords.y, closestVehicleNodeCoords.z, 1, 0, 0, 1);\nVEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(playerVeh);\n\n------------------------------------------------------------------\nC# Example (ins1de) : https://pastebin.com/fxtMWAHD", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "float*", + "name": "outHeading" + }, + { + "type": "int", + "name": "nodeType" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE50E52416CCF948B": { + "name": "GET_NTH_CLOSEST_VEHICLE_NODE", + "jhash": "0xF125BFCC", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "nthClosest" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "int", + "name": "nodeFlags" + }, + { + "type": "float", + "name": "unknown1" + }, + { + "type": "float", + "name": "unknown2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x22D7275A79FE8215": { + "name": "GET_NTH_CLOSEST_VEHICLE_NODE_ID", + "jhash": "0x3F358BEA", + "comment": "Returns the id.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "nth" + }, + { + "type": "int", + "name": "nodeFlags" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + } + ], + "return_type": "int", + "build": "323" + }, + "0x80CA6A8B6C094CC4": { + "name": "GET_NTH_CLOSEST_VEHICLE_NODE_WITH_HEADING", + "jhash": "0x7349C856", + "comment": "Get the nth closest vehicle node and its heading.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "nthClosest" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "float*", + "name": "outHeading" + }, + { + "type": "int*", + "name": "outNumLanes" + }, + { + "type": "int", + "name": "nodeFlags" + }, + { + "type": "float", + "name": "unknown3" + }, + { + "type": "float", + "name": "unknown4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6448050E9C2A7207": { + "name": "GET_NTH_CLOSEST_VEHICLE_NODE_ID_WITH_HEADING", + "jhash": "0xC1AEB88D", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "nthClosest" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "float*", + "name": "outHeading" + }, + { + "type": "int", + "name": "nodeFlags" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + } + ], + "return_type": "int", + "build": "323" + }, + "0x45905BE8654AE067": { + "name": "GET_NTH_CLOSEST_VEHICLE_NODE_FAVOUR_DIRECTION", + "jhash": "0x928A4DEC", + "comment": "See gtaforums.com/topic/843561-pathfind-node-types for node type info. 0 = paved road only, 1 = any road, 3 = water\n\np10 always equals 3.0\np11 always equals 0", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "desiredX" + }, + { + "type": "float", + "name": "desiredY" + }, + { + "type": "float", + "name": "desiredZ" + }, + { + "type": "int", + "name": "nthClosest" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "float*", + "name": "outHeading" + }, + { + "type": "int", + "name": "nodeFlags" + }, + { + "type": "float", + "name": "p10" + }, + { + "type": "float", + "name": "p11" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0568566ACBB5DEDC": { + "name": "GET_VEHICLE_NODE_PROPERTIES", + "jhash": "0xCC90110B", + "comment": "Gets the density and flags of the closest node to the specified position.\nDensity is a value between 0 and 15, indicating how busy the road is.\nFlags is a bit field.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int*", + "name": "density" + }, + { + "type": "int*", + "name": "flags" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1EAF30FCFBF5AF74": { + "name": "IS_VEHICLE_NODE_ID_VALID", + "jhash": "0x57DFB1EF", + "comment": "Returns true if the id is non zero.", + "params": [ + { + "type": "int", + "name": "vehicleNodeId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x703123E5E7D429C2": { + "name": "GET_VEHICLE_NODE_POSITION", + "jhash": "0xE38E252D", + "comment": "Calling this with an invalid node id, will crash the game.\nNote that IS_VEHICLE_NODE_ID_VALID simply checks if nodeId is not zero. It does not actually ensure that the id is valid.\nEg. IS_VEHICLE_NODE_ID_VALID(1) will return true, but will crash when calling GET_VEHICLE_NODE_POSITION().", + "params": [ + { + "type": "int", + "name": "nodeId" + }, + { + "type": "Vector3*", + "name": "outPosition" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA2AE5C478B96E3B6": { + "name": "GET_VEHICLE_NODE_IS_GPS_ALLOWED", + "jhash": "0xEE4B1219", + "comment": "Returns false for nodes that aren't used for GPS routes.\nExample:\nNodes in Fort Zancudo and LSIA are false", + "params": [ + { + "type": "int", + "name": "nodeID" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_SUPPORTS_GPS_ROUTE_FLAG" + ] + }, + "0x4F5070AA58F69279": { + "name": "GET_VEHICLE_NODE_IS_SWITCHED_OFF", + "jhash": "0x56737A3C", + "comment": "Returns true when the node is Offroad. Alleys, some dirt roads, and carparks return true.\nNormal roads where plenty of Peds spawn will return false", + "params": [ + { + "type": "int", + "name": "nodeID" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_IS_SLOW_ROAD_FLAG" + ] + }, + "0x132F52BBA570FE92": { + "name": "GET_CLOSEST_ROAD", + "jhash": "0x567B0E11", + "comment": "p1 seems to be always 1.0f in the scripts", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "Vector3*", + "name": "p5" + }, + { + "type": "Vector3*", + "name": "p6" + }, + { + "type": "Any*", + "name": "p7" + }, + { + "type": "Any*", + "name": "p8" + }, + { + "type": "float*", + "name": "p9" + }, + { + "type": "BOOL", + "name": "p10" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC2AB6BFE34E92F8B": { + "name": "LOAD_ALL_PATH_NODES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "set" + } + ], + "return_type": "BOOL", + "build": "2802" + }, + "0x228E5C6AD4D74BFD": { + "name": "SET_ALLOW_STREAM_PROLOGUE_NODES", + "jhash": "0xD6A3B458", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_ALL_PATHS_CACHE_BOUNDINGSTRUCT" + ] + }, + "0xF74B1FFA4A15FBEA": { + "name": "SET_ALLOW_STREAM_HEIST_ISLAND_NODES", + "jhash": "", + "comment": "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.", + "params": [ + { + "type": "int", + "name": "type" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_SET_AI_GLOBAL_PATH_NODES_TYPE" + ] + }, + "0xF7B79A50B905A30D": { + "name": "ARE_NODES_LOADED_FOR_AREA", + "jhash": "0x86E80A17", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_ARE_PATH_NODES_LOADED_IN_AREA" + ] + }, + "0x07FB139B592FA687": { + "name": "REQUEST_PATH_NODES_IN_AREA_THIS_FRAME", + "jhash": "0x2CDA5012", + "comment": "Used internally for long range tasks", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "REQUEST_PATHS_PREFER_ACCURATE_BOUNDINGSTRUCT" + ] + }, + "0x1EE7063B80FFC77C": { + "name": "SET_ROADS_BACK_TO_ORIGINAL", + "jhash": "0x86AC4A85", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0027501B9F3B407E": { + "name": "SET_ROADS_BACK_TO_ORIGINAL_IN_ANGLED_AREA", + "jhash": "0x9DB5D209", + "comment": "See IS_POINT_IN_ANGLED_AREA for the definition of an angled area.\nbool p7 - always 1", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "Any", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0B919E1FB47CC4E0": { + "name": "SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME", + "jhash": "0x3C5085E4", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA76052DDA9BFC3E": { + "name": "ADJUST_AMBIENT_PED_SPAWN_DENSITIES_THIS_FRAME", + "jhash": "0xD0F51299", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE04B48F2CC926253": { + "name": "SET_PED_PATHS_BACK_TO_ORIGINAL", + "jhash": "0x3F1ABDA4", + "comment": "p6 is always 0", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0x93E0DB8440B73A7D": { + "name": "GET_RANDOM_VEHICLE_NODE", + "jhash": "0xAD1476EA", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "Vector3*", + "name": "outPosition" + }, + { + "type": "int*", + "name": "nodeId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2EB41072B4C1E4C0": { + "name": "GET_STREET_NAME_AT_COORD", + "jhash": "0xDEBEEFCF", + "comment": "Determines the name of the street which is the closest to the given coordinates.\n\nx,y,z - the coordinates of the street\nstreetName - returns a hash to the name of the street the coords are on\ncrossingRoad - if the coordinates are on an intersection, a hash to the name of the crossing road\n\nNote: the names are returned as hashes, the strings can be returned using the function HUD::GET_STREET_NAME_FROM_HASH_KEY.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Hash*", + "name": "streetName" + }, + { + "type": "Hash*", + "name": "crossingRoad" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF90125F1F79ECDF8": { + "name": "GENERATE_DIRECTIONS_TO_COORD", + "jhash": "0xED35C094", + "comment": "p3 is 0 in the only game script occurrence (trevor3) but 1 doesn't seem to make a difference\n\ndistToNxJunction seems to be the distance in metres * 10.0f\n\ndirection:\n0 = This happens randomly during the drive for seemingly no reason but if you consider that this native is only used in trevor3, it seems to mean \"Next frame, stop whatever's being said and tell the player the direction.\"\n1 = Route is being calculated or the player is going in the wrong direction\n2 = Please Proceed the Highlighted Route\n3 = In (distToNxJunction) Turn Left\n4 = In (distToNxJunction) Turn Right\n5 = In (distToNxJunction) Keep Straight\n6 = In (distToNxJunction) Turn Sharply To The Left\n7 = In (distToNxJunction) Turn Sharply To The Right\n8 = Route is being recalculated or the navmesh is confusing. This happens randomly during the drive but consistently at {2044.0358, 2996.6116, 44.9717} if you face towards the bar and the route needs you to turn right. In that particular case, it could be a bug with how the turn appears to be 270 deg. CCW instead of \"right.\" Either way, this seems to be the engine saying \"I don't know the route right now.\"\n\nreturn value set to 0 always", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "int*", + "name": "direction" + }, + { + "type": "float*", + "name": "p5" + }, + { + "type": "float*", + "name": "distToNxJunction" + } + ], + "return_type": "int", + "build": "323" + }, + "0x72751156E7678833": { + "name": "SET_IGNORE_NO_GPS_FLAG", + "jhash": "0xB72CF194", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1FC289A0C3FF470F": { + "name": "SET_IGNORE_NO_GPS_FLAG_UNTIL_FIRST_NORMAL_NODE", + "jhash": "0x90DF7A4C", + "comment": "See: SET_BLIP_ROUTE", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_IGNORE_SECONDARY_ROUTE_NODES" + ] + }, + "0xDC20483CD3DD5201": { + "name": "SET_GPS_DISABLED_ZONE", + "jhash": "0x720B8073", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBBB45C3CF5C8AA85": { + "name": "GET_GPS_BLIP_ROUTE_LENGTH", + "jhash": "0x4B770634", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xF3162836C28F9DA5": { + "name": "GET_POS_ALONG_GPS_TYPE_ROUTE", + "jhash": "", + "comment": "p3 can be 0, 1 or 2.", + "params": [ + { + "type": "Vector3*", + "name": "result" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "GET_GPS_WAYPOINT_ROUTE_END" + ] + }, + "0x869DAACBBE9FA006": { + "name": "GET_GPS_BLIP_ROUTE_FOUND", + "jhash": "0x286F82CC", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA0F8A7517A273C05": { + "name": "GET_ROAD_BOUNDARY_USING_HEADING", + "jhash": "0x5E440AC7", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "Vector3*", + "name": "outPosition" + } + ], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_GET_ROAD_SIDE_POINT_WITH_HEADING" + ] + }, + "0x16F46FB18C8009E4": { + "name": "GET_POSITION_BY_SIDE_OF_ROAD", + "jhash": "0xF6422F9A", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "Vector3*", + "name": "outPosition" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_POINT_ON_ROAD_SIDE" + ] + }, + "0x125BF4ABFC536B09": { + "name": "IS_POINT_ON_ROAD", + "jhash": "0xCF198055", + "comment": "Gets a value indicating whether the specified position is on a road.\nThe vehicle parameter is not implemented (ignored).", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD3A6A0EF48823A8C": { + "name": "GET_NEXT_GPS_DISABLED_ZONE_INDEX", + "jhash": "0xBE92551F", + "comment": "Gets the next zone that has been disabled using SET_GPS_DISABLED_ZONE_AT_INDEX.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xD0BC1C6FB18EE154": { + "name": "SET_GPS_DISABLED_ZONE_AT_INDEX", + "jhash": "0x98BDB311", + "comment": "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.\nYou can clear the disabled zone with CLEAR_GPS_DISABLED_ZONE_AT_INDEX.\n\n**Setting a waypoint at the same coordinate:**\nDisabled Zone: https://i.imgur.com/P9VUuxM.png\nEnabled Zone (normal): https://i.imgur.com/BPi24aw.png", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2801D0012266DF07": { + "name": "CLEAR_GPS_DISABLED_ZONE_AT_INDEX", + "jhash": "0x59090745", + "comment": "Clears a disabled GPS route area from a certain index previously set using `SET_GPS_DISABLED_ZONE_AT_INDEX`.", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_GPS_DISABLED_ZONE_AT_INDEX" + ] + }, + "0x387EAD7EE42F6685": { + "name": "ADD_NAVMESH_REQUIRED_REGION", + "jhash": "0x12B086EA", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0x916F0A3CDEC3445E": { + "name": "REMOVE_NAVMESH_REQUIRED_REGIONS", + "jhash": "0x637BB680", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x705A844002B39DC0": { + "name": "IS_NAVMESH_REQUIRED_REGION_IN_USE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_IS_NAVMESH_REQUIRED_REGION_OWNED_BY_ANY_THREAD" + ] + }, + "0x4C8872D8CDBE1B8B": { + "name": "DISABLE_NAVMESH_IN_AREA", + "jhash": "0x6E37F132", + "comment": "Set toggle true to disable navmesh.\nSet toggle false to enable navmesh.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8415D95B194A3AEA": { + "name": "ARE_ALL_NAVMESH_REGIONS_LOADED", + "jhash": "0x34C4E789", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF813C7E63F9062A5": { + "name": "IS_NAVMESH_LOADED_IN_AREA", + "jhash": "0x4C2BA99E", + "comment": "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.\n\nIf you can re-word this so it makes more sense, please do. I'm horrible with words sometimes...", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x01708E8DD3FF8C65": { + "name": "GET_NUM_NAVMESHES_EXISTING_IN_AREA", + "jhash": "0x76AFFBB5", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "int", + "build": "323" + }, + "0xFCD5C8E06E502F5A": { + "name": "ADD_NAVMESH_BLOCKING_OBJECT", + "jhash": "0x2952BA56", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "int", + "build": "323" + }, + "0x109E99373F290687": { + "name": "UPDATE_NAVMESH_BLOCKING_OBJECT", + "jhash": "0x4E9776D0", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46399A7895957C0E": { + "name": "REMOVE_NAVMESH_BLOCKING_OBJECT", + "jhash": "0x098602B0", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0EAEB0DB4B132399": { + "name": "DOES_NAVMESH_BLOCKING_OBJECT_EXIST", + "jhash": "0x4B67D7EE", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x29C24BFBED8AB8FB": { + "name": "GET_APPROX_HEIGHT_FOR_POINT", + "jhash": "0x3FE8C5A0", + "comment": "Returns CGameWorldHeightMap's maximum Z value at specified point (grid node).", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_HEIGHTMAP_TOP_Z_FOR_POSITION" + ] + }, + "0x8ABE8608576D9CE3": { + "name": "GET_APPROX_HEIGHT_FOR_AREA", + "jhash": "0x3ED21C90", + "comment": "Returns CGameWorldHeightMap's maximum Z among all grid nodes that intersect with the specified rectangle.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_HEIGHTMAP_TOP_Z_FOR_AREA" + ] + }, + "0x336511A34F2E5185": { + "name": "GET_APPROX_FLOOR_FOR_POINT", + "jhash": "0xA07C5B7D", + "comment": "Returns CGameWorldHeightMap's minimum Z value at specified point (grid node).", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_HEIGHTMAP_BOTTOM_Z_FOR_POSITION" + ] + }, + "0x3599D741C9AC6310": { + "name": "GET_APPROX_FLOOR_FOR_AREA", + "jhash": "0x76751DD4", + "comment": "Returns CGameWorldHeightMap's minimum Z among all grid nodes that intersect with the specified rectangle.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_HEIGHTMAP_BOTTOM_Z_FOR_AREA" + ] + }, + "0xADD95C7005C4A197": { + "name": "CALCULATE_TRAVEL_DISTANCE_BETWEEN_POINTS", + "jhash": "0xB114489B", + "comment": "Calculates the travel distance between a set of points.\n\nDoesn't seem to correlate with distance on gps sometimes.\nThis 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.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "float", + "build": "323" + } + }, + "PED": { + "0xD49F9B0955C367DE": { + "name": "CREATE_PED", + "jhash": "0x0389EF71", + "comment": "https://alloc8or.re/gta5/doc/enums/ePedType.txt\n\nFull list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json", + "params": [ + { + "type": "int", + "name": "pedType" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "BOOL", + "name": "bScriptHostPed" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x9614299DCB53E54B": { + "name": "DELETE_PED", + "jhash": "0x13EFB9A0", + "comment": "Deletes the specified ped, then sets the handle pointed to by the pointer to NULL.", + "params": [ + { + "type": "Ped*", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEF29A16337FACADB": { + "name": "CLONE_PED", + "jhash": "0x8C8A8D6E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "BOOL", + "name": "bScriptHostPed" + }, + { + "type": "BOOL", + "name": "copyHeadBlendFlag" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x668FD40BCBA5DE48": { + "name": "CLONE_PED_ALT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "BOOL", + "name": "bScriptHostPed" + }, + { + "type": "BOOL", + "name": "copyHeadBlendFlag" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "Ped", + "build": "463", + "old_names": [ + "_CLONE_PED_2", + "_CLONE_PED_EX" + ] + }, + "0xE952D6431689AD9A": { + "name": "CLONE_PED_TO_TARGET", + "jhash": "0xFC70EEC7", + "comment": "Copies ped's components and props to targetPed.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "targetPed" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ASSIGN_PLAYER_TO_PED" + ] + }, + "0x148B08C2D2ACB884": { + "name": "CLONE_PED_TO_TARGET_ALT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_CLONE_PED_TO_TARGET_EX" + ] + }, + "0xA3EE4A07279BB9DB": { + "name": "IS_PED_IN_VEHICLE", + "jhash": "0x7DA6BC83", + "comment": "Gets a value indicating whether the specified ped is in the specified vehicle.\n\nIf '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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "atGetIn" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x796D90EFB19AA332": { + "name": "IS_PED_IN_MODEL", + "jhash": "0xA6438D4B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x997ABD671D25CA0B": { + "name": "IS_PED_IN_ANY_VEHICLE", + "jhash": "0x3B0171EE", + "comment": "Gets a value indicating whether the specified ped is in any vehicle.\n\nIf '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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "atGetIn" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x16EC4839969F9F5E": { + "name": "IS_COP_PED_IN_AREA_3D", + "jhash": "0xB98DB96B", + "comment": "xyz - relative to the world origin.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x84A2DD9AC37C35C1": { + "name": "IS_PED_INJURED", + "jhash": "0x2530A087", + "comment": "Gets a value indicating whether this ped's health is below its injured threshold.\n\nThe default threshold is 100.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5983BB449D7FDB12": { + "name": "IS_PED_HURT", + "jhash": "0x69DFA0AF", + "comment": "Returns whether the specified ped is hurt.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD839450756ED5A80": { + "name": "IS_PED_FATALLY_INJURED", + "jhash": "0xBADA0093", + "comment": "Gets a value indicating whether this ped's health is below its fatally injured threshold. The default threshold is 100.\nIf the handle is invalid, the function returns true.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3317DEDB88C95038": { + "name": "IS_PED_DEAD_OR_DYING", + "jhash": "0xCBDB7739", + "comment": "Seems to consistently return true if the ped is dead.\n\np1 is always passed 1 in the scripts.\n\nI suggest to remove \"OR_DYING\" part, because it does not detect dying phase.\n\nThat's what the devs call it, cry about it.\n\nlol", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE0A0AEC214B1FABA": { + "name": "IS_CONVERSATION_PED_DEAD", + "jhash": "0x1FA39EFE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3998B1276A3300E5": { + "name": "IS_PED_AIMING_FROM_COVER", + "jhash": "0xDEBAB2AF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x24B100C68C645951": { + "name": "IS_PED_RELOADING", + "jhash": "0x961E1745", + "comment": "Returns whether the specified ped is reloading.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x12534C348C6CB68B": { + "name": "IS_PED_A_PLAYER", + "jhash": "0x404794CA", + "comment": "Returns true if the given ped has a valid pointer to CPlayerInfo in its CPed class. That's all.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7DD959874C1FD534": { + "name": "CREATE_PED_INSIDE_VEHICLE", + "jhash": "0x3000F092", + "comment": "pedType: see CREATE_PED\n\nFull list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "pedType" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "seat" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "BOOL", + "name": "bScriptHostPed" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0xAA5A7ECE2AA8FE70": { + "name": "SET_PED_DESIRED_HEADING", + "jhash": "0x961458F9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "heading" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFF287323B0E2C69A": { + "name": "FORCE_ALL_HEADING_VALUES_TO_ALIGN", + "jhash": "0x290421BE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_FREEZE_PED_CAMERA_ROTATION" + ] + }, + "0xD71649DB0A545AA3": { + "name": "IS_PED_FACING_PED", + "jhash": "0x0B775838", + "comment": "angle is ped's view cone", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "otherPed" + }, + { + "type": "float", + "name": "angle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4E209B2C1EAD5159": { + "name": "IS_PED_IN_MELEE_COMBAT", + "jhash": "0xFD7814A5", + "comment": "Notes: The function only returns true while the ped is: \nA.) Swinging a random melee attack (including pistol-whipping)\n\nB.) Reacting to being hit by a melee attack (including pistol-whipping)\n\nC.) Is locked-on to an enemy (arms up, strafing/skipping in the default fighting-stance, ready to dodge+counter). \n\nYou 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", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x530944F6F4B8A214": { + "name": "IS_PED_STOPPED", + "jhash": "0xA0DC0B87", + "comment": "Returns true if the ped doesn't do any movement. If the ped is being pushed forwards by using APPLY_FORCE_TO_ENTITY for example, the function returns false.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7E9DFE24AC1E58EF": { + "name": "IS_PED_SHOOTING_IN_AREA", + "jhash": "0x741BF04F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA0D3D71EA1086C55": { + "name": "IS_ANY_PED_SHOOTING_IN_AREA", + "jhash": "0x91833867", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x34616828CD07F1A1": { + "name": "IS_PED_SHOOTING", + "jhash": "0xE7C3405E", + "comment": "Returns whether the specified ped is shooting.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7AEFB85C1D49DEB6": { + "name": "SET_PED_ACCURACY", + "jhash": "0x6C17122E", + "comment": "accuracy = 0-100, 100 being perfectly accurate", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "accuracy" + } + ], + "return_type": "void", + "build": "323" + }, + "0x37F4AD56ECBC0CD6": { + "name": "GET_PED_ACCURACY", + "jhash": "0x0A2A0AA0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x87DDEB611B329A9C": { + "name": "SET_AMBIENT_LAW_PED_ACCURACY_MODIFIER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xC9D55B1A358A5BF7": { + "name": "IS_PED_MODEL", + "jhash": "0x5F1DDFCB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2D05CED3A38D0F3A": { + "name": "EXPLODE_PED_HEAD", + "jhash": "0x05CC1380", + "comment": "Forces the ped to fall back and kills it.\n\nIt doesn't really explode the ped's head but it kills the ped", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAC6D445B994DF95E": { + "name": "REMOVE_PED_ELEGANTLY", + "jhash": "0x4FFB8C6C", + "comment": "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..", + "params": [ + { + "type": "Ped*", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5BA652A0CD14DF2F": { + "name": "ADD_ARMOUR_TO_PED", + "jhash": "0xF686B26E", + "comment": "Same as SET_PED_ARMOUR, but ADDS 'amount' to the armor the Ped already has.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCEA04D83135264CC": { + "name": "SET_PED_ARMOUR", + "jhash": "0x4E3A0CC4", + "comment": "Sets the armor of the specified ped.\n\nped: The Ped to set the armor of.\namount: A value between 0 and 100 indicating the value to set the Ped's armor to.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF75B0D629E1C063D": { + "name": "SET_PED_INTO_VEHICLE", + "jhash": "0x07500C79", + "comment": "Ped: The ped to warp.\nvehicle: The vehicle to warp the ped into.\nSeat_Index: [-1 is driver seat, -2 first free passenger seat]\n\nMoreinfo of Seat Index\nDriverSeat = -1\nPassenger = 0\nLeft Rear = 1\nRightRear = 2", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3C028C636A414ED9": { + "name": "SET_PED_ALLOW_VEHICLES_OVERRIDE", + "jhash": "0x58A80BD5", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3E8349C08E4B82E4": { + "name": "CAN_CREATE_RANDOM_PED", + "jhash": "0xF9ABE88F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB4AC7D0CF06BFE8F": { + "name": "CREATE_RANDOM_PED", + "jhash": "0x5A949543", + "comment": "vb.net\nDim ped_handle As Integer\n With Game.Player.Character\n Dim pos As Vector3 = .Position + .ForwardVector * 3\n ped_handle = Native.Function.Call(Of Integer)(Hash.CREATE_RANDOM_PED, pos.X, pos.Y, pos.Z)\n End With\n\nCreates a Ped at the specified location, returns the Ped Handle. \nPed will not act until SET_PED_AS_NO_LONGER_NEEDED is called.", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x9B62392B474F44A0": { + "name": "CREATE_RANDOM_PED_AS_DRIVER", + "jhash": "0xB927CE9A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "returnHandle" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0xB8EB95E5B4E56978": { + "name": "CAN_CREATE_RANDOM_DRIVER", + "jhash": "0x99861609", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEACEEDA81751915C": { + "name": "CAN_CREATE_RANDOM_BIKE_RIDER", + "jhash": "0x7018BE31", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9E8C908F41584ECD": { + "name": "SET_PED_MOVE_ANIMS_BLEND_OUT", + "jhash": "0x20E01957", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC1670E958EEE24E5": { + "name": "SET_PED_CAN_BE_DRAGGED_OUT", + "jhash": "0xAA7F1131", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF2BEBCDFAFDAA19E": { + "name": "SET_PED_ALLOW_HURT_COMBAT_FOR_ALL_MISSION_PEDS", + "jhash": "0x6CD58238", + "comment": "ntoggle was always false except in one instance (b678).\n\nThe one time this is set to true seems to do with when you fail the mission.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6D9F5FAA7488BA46": { + "name": "IS_PED_MALE", + "jhash": "0x90950455", + "comment": "Returns true/false if the ped is/isn't male.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB980061DA992779D": { + "name": "IS_PED_HUMAN", + "jhash": "0x194BB7B0", + "comment": "Returns true/false if the ped is/isn't humanoid.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9A9112A0FE9A4713": { + "name": "GET_VEHICLE_PED_IS_IN", + "jhash": "0xAFE92319", + "comment": "Gets the vehicle the specified Ped is in. Returns 0 if the ped is/was not in a vehicle.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "includeEntering" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xBB8DE8CF6A8DD8BB": { + "name": "RESET_PED_LAST_VEHICLE", + "jhash": "0x5E3B5942", + "comment": "Resets the value for the last vehicle driven by the Ped.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x95E3D6257B166CF2": { + "name": "SET_PED_DENSITY_MULTIPLIER_THIS_FRAME", + "jhash": "0x039C82BB", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7A556143A1C03898": { + "name": "SET_SCENARIO_PED_DENSITY_MULTIPLIER_THIS_FRAME", + "jhash": "0x2909ABF0", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5A7F62FDA59759BD": { + "name": "SUPPRESS_AMBIENT_PED_AGGRESSIVE_CLEANUP_THIS_FRAME", + "jhash": "0xB48C0C04", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5086C7843552CF85": { + "name": "SET_SCRIPTED_CONVERSION_COORD_THIS_FRAME", + "jhash": "0x25EA2AA5", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEE01041D559983EA": { + "name": "SET_PED_NON_CREATION_AREA", + "jhash": "0x7A97283F", + "comment": "The distance between these points, is the diagonal of a box (remember it's 3D).", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2E05208086BA0651": { + "name": "CLEAR_PED_NON_CREATION_AREA", + "jhash": "0x6F7043A3", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x4759CC730F947C81": { + "name": "INSTANTLY_FILL_PED_POPULATION", + "jhash": "0x8C555ADD", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x460BC76A0E10655E": { + "name": "IS_PED_ON_MOUNT", + "jhash": "0x43103006", + "comment": "Same function call as PED::GET_MOUNT, aka just returns 0", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE7E11B8DCBED1058": { + "name": "GET_MOUNT", + "jhash": "0xDD31EC4E", + "comment": "\nFunction just returns 0\nvoid __fastcall ped__get_mount(NativeContext *a1)\n{\n NativeContext *v1; // rbx@1\n\n v1 = a1;\n GetAddressOfPedFromScriptHandle(a1->Args->Arg1);\n v1->Returns->Item1= 0;\n}", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x67722AEB798E5FAB": { + "name": "IS_PED_ON_VEHICLE", + "jhash": "0xA1AE7CC7", + "comment": "Gets a value indicating whether the specified ped is on top of any vehicle.\n\nReturn 1 when ped is on vehicle.\nReturn 0 when ped is not on a vehicle.\n", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEC5F66E459AF3BB2": { + "name": "IS_PED_ON_SPECIFIC_VEHICLE", + "jhash": "0x63CB4603", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA9C8960E8684C1B5": { + "name": "SET_PED_MONEY", + "jhash": "0x40D90BF2", + "comment": "Maximum possible amount of money on MP is 2000. ~JX\n\n-----------------------------------------------------------------------------\n\nMaximum amount that a ped can theoretically have is 65535 (0xFFFF) since the amount is stored as an unsigned short (uint16_t) value.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3F69145BBA87BAE7": { + "name": "GET_PED_MONEY", + "jhash": "0xEB3C4C7E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xFF4803BC019852D9": { + "name": "SET_HEALTH_SNACKS_CARRIED_BY_ALL_NEW_PEDS", + "jhash": "0xD41C9AED", + "comment": "Related to Peds dropping pickup_health_snack; p0 is a value between [0.0, 1.0] that corresponds to drop rate", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B0E6172C9A4D902": { + "name": "SET_AMBIENT_PEDS_DROP_MONEY", + "jhash": "0x30B98369", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9911F4A24485F653": { + "name": "SET_BLOCKING_OF_NON_TEMPORARY_EVENTS_FOR_AMBIENT_PEDS_THIS_FRAME", + "jhash": "0x02A080C8", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEBD76F2359F190AC": { + "name": "SET_PED_SUFFERS_CRITICAL_HITS", + "jhash": "0x6F6FC7E6", + "comment": "Ped no longer takes critical damage modifiers if set to FALSE.\nExample: Headshotting a player no longer one shots them. Instead they will take the same damage as a torso shot.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAFC976FD0580C7B3": { + "name": "SET_PED_UPPER_BODY_DAMAGE_ONLY", + "jhash": "0x1572022A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA808AA1D79230FC2": { + "name": "IS_PED_SITTING_IN_VEHICLE", + "jhash": "0xDDDE26FA", + "comment": "Detect if ped is sitting in the specified vehicle\n[True/False]", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x826AA586EDB9FEF8": { + "name": "IS_PED_SITTING_IN_ANY_VEHICLE", + "jhash": "0x0EA9CA03", + "comment": "Detect if ped is in any vehicle\n[True/False]", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x01FEE67DB37F59B2": { + "name": "IS_PED_ON_FOOT", + "jhash": "0xC60D0785", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x94495889E22C6479": { + "name": "IS_PED_ON_ANY_BIKE", + "jhash": "0x4D885B2E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC70B5FAE151982D8": { + "name": "IS_PED_PLANTING_BOMB", + "jhash": "0x0EDAC574", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCD5003B097200F36": { + "name": "GET_DEAD_PED_PICKUP_COORDS", + "jhash": "0x129F9DC1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x2E0E1C2B4F6CB339": { + "name": "IS_PED_IN_ANY_BOAT", + "jhash": "0x1118A947", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFBFC01CCFB35D99E": { + "name": "IS_PED_IN_ANY_SUB", + "jhash": "0xE65F8059", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x298B91AE825E5705": { + "name": "IS_PED_IN_ANY_HELI", + "jhash": "0x7AB5523B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5FFF4CFC74D8FB80": { + "name": "IS_PED_IN_ANY_PLANE", + "jhash": "0x51BBCE7E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9134873537FA419C": { + "name": "IS_PED_IN_FLYING_VEHICLE", + "jhash": "0xCA072485", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x56CEF0AC79073BDE": { + "name": "SET_PED_DIES_IN_WATER", + "jhash": "0x604C872B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x65671A4FB8218930": { + "name": "GET_PED_DIES_IN_WATER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "2699", + "old_names": [ + "_GET_PED_DIES_IN_WATER" + ] + }, + "0xD718A22995E2B4BC": { + "name": "SET_PED_DIES_IN_SINKING_VEHICLE", + "jhash": "0x8D4D9ABB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9483AF821605B1D8": { + "name": "GET_PED_ARMOUR", + "jhash": "0x2CE311A7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xEDF4079F9D54C9A1": { + "name": "SET_PED_STAY_IN_VEHICLE_WHEN_JACKED", + "jhash": "0xB014A09C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC7EF1BA83230BA07": { + "name": "SET_PED_CAN_BE_SHOT_IN_VEHICLE", + "jhash": "0x5DB7B3A9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD75960F6BD9EA49C": { + "name": "GET_PED_LAST_DAMAGE_BONE", + "jhash": "0xAB933841", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int*", + "name": "outBone" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8EF6B7AC68E2F01B": { + "name": "CLEAR_PED_LAST_DAMAGE_BONE", + "jhash": "0x56CB715E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1B1E2A40A65B8521": { + "name": "SET_AI_WEAPON_DAMAGE_MODIFIER", + "jhash": "0x516E30EE", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEA16670E7BA4743C": { + "name": "RESET_AI_WEAPON_DAMAGE_MODIFIER", + "jhash": "0x6E965420", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x66460DEDDD417254": { + "name": "SET_AI_MELEE_WEAPON_DAMAGE_MODIFIER", + "jhash": "0x0F9A401F", + "comment": "", + "params": [ + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46E56A7CD1D63C3F": { + "name": "RESET_AI_MELEE_WEAPON_DAMAGE_MODIFIER", + "jhash": "0x97886238", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x2F3C3D9F50681DE4": { + "name": "SET_TREAT_AS_AMBIENT_PED_FOR_DRIVER_LOCKON", + "jhash": "0xCC9D7F1A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x63F58F7C80513AAD": { + "name": "SET_PED_CAN_BE_TARGETTED", + "jhash": "0x75C49F74", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBF1CA77833E58F2C": { + "name": "SET_PED_CAN_BE_TARGETTED_BY_TEAM", + "jhash": "0xB103A8E1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "team" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x66B57B72E0836A76": { + "name": "SET_PED_CAN_BE_TARGETTED_BY_PLAYER", + "jhash": "0xD050F490", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x061CB768363D6424": { + "name": "SET_ALLOW_LOCKON_TO_PED_IF_FRIENDLY", + "jhash": "0x7DA12905", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFD325494792302D7": { + "name": "SET_USE_CAMERA_HEADING_FOR_DESIRED_DIRECTION_LOCK_ON_TEST", + "jhash": "0x7F67671D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_TIME_EXCLUSIVE_DISPLAY_TEXTURE" + ] + }, + "0x0BD04E29640C9C12": { + "name": "IS_PED_IN_ANY_POLICE_VEHICLE", + "jhash": "0x84FA790D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x16E42E800B472221": { + "name": "FORCE_PED_TO_OPEN_PARACHUTE", + "jhash": "0xA819680B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7DCE8BDA0F1C1200": { + "name": "IS_PED_IN_PARACHUTE_FREE_FALL", + "jhash": "0xCD71F11B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFB92A102F1C4DFA3": { + "name": "IS_PED_FALLING", + "jhash": "0xABF77334", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCEDABC5900A0BF97": { + "name": "IS_PED_JUMPING", + "jhash": "0x07E5BC0E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x412F1364FA066CFB": { + "name": "IS_PED_LANDING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "573" + }, + "0x451D05012CCEC234": { + "name": "IS_PED_DOING_A_BEAST_JUMP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "573" + }, + "0x53E8CB4F48BFE623": { + "name": "IS_PED_CLIMBING", + "jhash": "0xBCE03D35", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x117C70D1F5730B5E": { + "name": "IS_PED_VAULTING", + "jhash": "0xC3169BDA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5527B8246FEF9B11": { + "name": "IS_PED_DIVING", + "jhash": "0x7BC5BF3C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x433DDFFE2044B636": { + "name": "IS_PED_JUMPING_OUT_OF_VEHICLE", + "jhash": "0xB19215F6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x26AF0E8E30BD2A2C": { + "name": "IS_PED_OPENING_DOOR", + "jhash": "", + "comment": "Returns true if the ped is currently opening a door (CTaskOpenDoor).", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PED_OPENING_A_DOOR" + ] + }, + "0x79CFD9827CC979B6": { + "name": "GET_PED_PARACHUTE_STATE", + "jhash": "0x7D4BC475", + "comment": "Returns:\n\n-1: Normal\n0: Wearing parachute on back\n1: Parachute opening\n2: Parachute open\n3: Falling to doom (e.g. after exiting parachute)\n\nNormal means no parachute?", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x8B9F1FC6AE8166C0": { + "name": "GET_PED_PARACHUTE_LANDING_TYPE", + "jhash": "0x01F3B035", + "comment": "-1: no landing\n0: landing on both feet\n1: stumbling\n2: rolling\n3: ragdoll", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x333FC8DB079B7186": { + "name": "SET_PED_PARACHUTE_TINT_INDEX", + "jhash": "0x5AEFEC3A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "tintIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEAF5F7E5AE7C6C9D": { + "name": "GET_PED_PARACHUTE_TINT_INDEX", + "jhash": "0xE9E7FAC5", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int*", + "name": "outTintIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE88DA0751C22A2AD": { + "name": "SET_PED_RESERVE_PARACHUTE_TINT_INDEX", + "jhash": "0x177EFC79", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8C4F3BF23B6237DB": { + "name": "CREATE_PARACHUTE_BAG_OBJECT", + "jhash": "0x19198A16", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "Object", + "build": "323", + "old_names": [ + "_CREATE_PARACHUTE_OBJECT" + ] + }, + "0x030983CA930B692D": { + "name": "SET_PED_DUCKING", + "jhash": "0xB90353D7", + "comment": "This is the SET_CHAR_DUCKING from GTA IV, that makes Peds duck. This function does nothing in GTA V. It cannot set the ped as ducking in vehicles, and IS_PED_DUCKING will always return false.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD125AE748725C6BC": { + "name": "IS_PED_DUCKING", + "jhash": "0x9199C77D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6E575D6A898AB852": { + "name": "IS_PED_IN_ANY_TAXI", + "jhash": "0x16FD386C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF107E836A70DCE05": { + "name": "SET_PED_ID_RANGE", + "jhash": "0xEF3B4ED9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x52D59AB61DDC05DD": { + "name": "SET_PED_HIGHLY_PERCEPTIVE", + "jhash": "0x9A2180FF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2F074C904D85129E": { + "name": "SET_COP_PERCEPTION_OVERRIDES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "seeingRange" + }, + { + "type": "float", + "name": "seeingRangePeripheral" + }, + { + "type": "float", + "name": "hearingRange" + }, + { + "type": "float", + "name": "visualFieldMinAzimuthAngle" + }, + { + "type": "float", + "name": "visualFieldMaxAzimuthAngle" + }, + { + "type": "float", + "name": "fieldOfGazeMaxAngle" + }, + { + "type": "float", + "name": "p6" + } + ], + "return_type": "void", + "build": "393", + "old_names": [ + "_SET_PED_PERCEPTION_OVERRIDE_THIS_FRAME" + ] + }, + "0xEC4B4B3B9908052A": { + "name": "SET_PED_INJURED_ON_GROUND_BEHAVIOUR", + "jhash": "0xF30658D2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x733C87D4CE22BEA2": { + "name": "DISABLE_PED_INJURED_ON_GROUND_BEHAVIOUR", + "jhash": "0x43709044", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF29CF591C4BF6CEE": { + "name": "SET_PED_SEEING_RANGE", + "jhash": "0x4BD72FE8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x33A8F7F7D5F7F33C": { + "name": "SET_PED_HEARING_RANGE", + "jhash": "0xB32087E0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2DB492222FB21E26": { + "name": "SET_PED_VISUAL_FIELD_MIN_ANGLE", + "jhash": "0x72E2E18B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x70793BDCA1E854D4": { + "name": "SET_PED_VISUAL_FIELD_MAX_ANGLE", + "jhash": "0x0CEA0F9A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7A276EB2C224D70F": { + "name": "SET_PED_VISUAL_FIELD_MIN_ELEVATION_ANGLE", + "jhash": "0x5CC2F1B8", + "comment": "This native refers to the field of vision the ped has below them, starting at 0 degrees. The angle value should be negative.\n-90f should let the ped see 90 degrees below them, for example.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "angle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x78D0B67629D75856": { + "name": "SET_PED_VISUAL_FIELD_MAX_ELEVATION_ANGLE", + "jhash": "0x39D9102F", + "comment": "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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "angle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C74B0BC831B753A": { + "name": "SET_PED_VISUAL_FIELD_PERIPHERAL_RANGE", + "jhash": "0xFDF2F7C2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "range" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3B6405E8AB34A907": { + "name": "SET_PED_VISUAL_FIELD_CENTER_ANGLE", + "jhash": "0xE57202A1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "angle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEF2C71A32CAD5FBD": { + "name": "GET_PED_VISUAL_FIELD_CENTER_ANGLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "float", + "build": "1493", + "old_names": [ + "_GET_PED_VISUAL_FIELD_CENTER_ANGLE" + ] + }, + "0x88CBB5CEB96B7BD2": { + "name": "SET_PED_STEALTH_MOVEMENT", + "jhash": "0x67E28E1D", + "comment": "p1 is usually 0 in the scripts. action is either 0 or a pointer to \"DEFAULT_ACTION\".", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "const char*", + "name": "action" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7C2AC9CA66575FBF": { + "name": "GET_PED_STEALTH_MOVEMENT", + "jhash": "0x40321B83", + "comment": "Returns whether the entity is in stealth mode", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x90370EBE0FEE1A3D": { + "name": "CREATE_GROUP", + "jhash": "0x8DC0368D", + "comment": "Creates a new ped group.\nGroups can contain up to 8 peds.\n\nThe parameter is unused.\n\nReturns a handle to the created group, or 0 if a group couldn't be created.", + "params": [ + { + "type": "int", + "name": "unused" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2A7819605465FBCE": { + "name": "SET_PED_AS_GROUP_LEADER", + "jhash": "0x7265BEA2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "groupId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9F3480FE65DB31B5": { + "name": "SET_PED_AS_GROUP_MEMBER", + "jhash": "0x0EE13F92", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "groupId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2E2F4240B3F24647": { + "name": "SET_PED_CAN_TELEPORT_TO_GROUP_LEADER", + "jhash": "0xD0D8BDBC", + "comment": "This only will teleport the ped to the group leader if the group leader teleports (sets coords).\n\nOnly works in singleplayer", + "params": [ + { + "type": "Ped", + "name": "pedHandle" + }, + { + "type": "int", + "name": "groupHandle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8EB2F69076AF7053": { + "name": "REMOVE_GROUP", + "jhash": "0x48D72B88", + "comment": "", + "params": [ + { + "type": "int", + "name": "groupId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xED74007FFB146BC2": { + "name": "REMOVE_PED_FROM_GROUP", + "jhash": "0x82697713", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9BB01E3834671191": { + "name": "IS_PED_GROUP_MEMBER", + "jhash": "0x876D5363", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "groupId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1C86D8AEF8254B78": { + "name": "IS_PED_HANGING_ON_TO_VEHICLE", + "jhash": "0x9678D4FF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4102C7858CFEE4E4": { + "name": "SET_GROUP_SEPARATION_RANGE", + "jhash": "0x7B820CD5", + "comment": "Sets the range at which members will automatically leave the group.", + "params": [ + { + "type": "int", + "name": "groupHandle" + }, + { + "type": "float", + "name": "separationRange" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFA0675AB151073FA": { + "name": "SET_PED_MIN_GROUND_TIME_FOR_STUNGUN", + "jhash": "0x2F0D0973", + "comment": "Ped will stay on the ground after being stunned for at lest ms time. (in milliseconds)", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "ms" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD6A86331A537A7B9": { + "name": "IS_PED_PRONE", + "jhash": "0x02C2A6C3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4859F1FC66A6278E": { + "name": "IS_PED_IN_COMBAT", + "jhash": "0xFE027CB5", + "comment": "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.\n\np1 is usually 0 in the scripts because it gets the ped id during the task sequence. For instance: PED::IS_PED_IN_COMBAT(l_42E[4/*14*/], PLAYER::PLAYER_PED_ID()) // armenian2.ct4: 43794", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x32C27A11307B01CC": { + "name": "GET_PED_TARGET_FROM_COMBAT_PED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "Entity", + "build": "2372", + "old_names": [ + "_GET_PED_TASK_COMBAT_TARGET" + ] + }, + "0xEAD42DE3610D0721": { + "name": "CAN_PED_IN_COMBAT_SEE_TARGET", + "jhash": "0xCCD525E1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB2C086CC1BF8F2BF": { + "name": "IS_PED_DOING_DRIVEBY", + "jhash": "0xAC3CEB9C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4AE4FF911DFB61DA": { + "name": "IS_PED_JACKING", + "jhash": "0x3B321816", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9A497FE2DF198913": { + "name": "IS_PED_BEING_JACKED", + "jhash": "0xD45D605C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4FBACCE3B4138EE8": { + "name": "IS_PED_BEING_STUNNED", + "jhash": "0x0A66CE30", + "comment": "p1 is always 0", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9B128DC36C1E04CF": { + "name": "GET_PEDS_JACKER", + "jhash": "0xDE1DBB59", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x5486A79D9FBD342D": { + "name": "GET_JACK_TARGET", + "jhash": "0x1D196361", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0xBBCCE00B381F8482": { + "name": "IS_PED_FLEEING", + "jhash": "0x85D813C6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x60DFD0691A170B88": { + "name": "IS_PED_IN_COVER", + "jhash": "0x972C5A8B", + "comment": "p1 is nearly always 0 in the scripts. ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "exceptUseWeapon" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x845333B3150583AB": { + "name": "IS_PED_IN_COVER_FACING_LEFT", + "jhash": "0xB89DBB80", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6A03BF943D767C93": { + "name": "IS_PED_IN_HIGH_COVER", + "jhash": "0xDD5D08A7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PED_STANDING_IN_COVER" + ] + }, + "0x9F65DBC537E59AD5": { + "name": "IS_PED_GOING_INTO_COVER", + "jhash": "0xA3589628", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAAD6D1ACF08F4612": { + "name": "SET_PED_PINNED_DOWN", + "jhash": "0xCC78999D", + "comment": "i could be time. Only example in the decompiled scripts uses it as -1.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "pinned" + }, + { + "type": "int", + "name": "i" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6F4C85ACD641BCD2": { + "name": "GET_SEAT_PED_IS_TRYING_TO_ENTER", + "jhash": "0xACF162E0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x814FA8BE5449445D": { + "name": "GET_VEHICLE_PED_IS_TRYING_TO_ENTER", + "jhash": "0x99968B37", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0x93C8B64DEB84728C": { + "name": "GET_PED_SOURCE_OF_DEATH", + "jhash": "0x84ADF9EB", + "comment": "Returns the Entity (Ped, Vehicle, or ?Object?) that killed the 'ped'\n\nIs best to check if the Ped is dead before asking for its killer.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Entity", + "build": "323", + "old_names": [ + "_GET_PED_KILLER" + ] + }, + "0x16FFE42AB2D2DC59": { + "name": "GET_PED_CAUSE_OF_DEATH", + "jhash": "0x63458C27", + "comment": "Returns the hash of the weapon/model/object that killed the ped.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x1E98817B311AE98A": { + "name": "GET_PED_TIME_OF_DEATH", + "jhash": "0xDF6D5D54", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_PED_TIME_OF_DEATH" + ] + }, + "0x5407B7288D0478B7": { + "name": "COUNT_PEDS_IN_COMBAT_WITH_TARGET", + "jhash": "0xEF0B78E6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x336B3D200AB007CB": { + "name": "COUNT_PEDS_IN_COMBAT_WITH_TARGET_WITHIN_RADIUS", + "jhash": "0xFB18CB19", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "int", + "build": "323" + }, + "0xADB3F206518799E8": { + "name": "SET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH", + "jhash": "0x423B7BA2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC80A74AC829DDD92": { + "name": "SET_PED_RELATIONSHIP_GROUP_HASH", + "jhash": "0x79F8C18C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBF25EB89375A37AD": { + "name": "SET_RELATIONSHIP_BETWEEN_GROUPS", + "jhash": "0xD4A215BA", + "comment": "Sets the relationship between two groups. This should be called twice (once for each group).\n\nRelationship types:\n0 = Companion\n1 = Respect\n2 = Like\n3 = Neutral\n4 = Dislike\n5 = Hate\n255 = Pedestrians\n\nExample:\nPED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, l_1017, 0xA49E591C);\nPED::SET_RELATIONSHIP_BETWEEN_GROUPS(2, 0xA49E591C, l_1017);", + "params": [ + { + "type": "int", + "name": "relationship" + }, + { + "type": "Hash", + "name": "group1" + }, + { + "type": "Hash", + "name": "group2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5E29243FB56FC6D4": { + "name": "CLEAR_RELATIONSHIP_BETWEEN_GROUPS", + "jhash": "0x994B8C2D", + "comment": "Clears the relationship between two groups. This should be called twice (once for each group).\n\nRelationship types:\n0 = Companion\n1 = Respect\n2 = Like\n3 = Neutral\n4 = Dislike\n5 = Hate\n255 = Pedestrians\n(Credits: Inco)\n\nExample:\nPED::CLEAR_RELATIONSHIP_BETWEEN_GROUPS(2, l_1017, 0xA49E591C);\nPED::CLEAR_RELATIONSHIP_BETWEEN_GROUPS(2, 0xA49E591C, l_1017);", + "params": [ + { + "type": "int", + "name": "relationship" + }, + { + "type": "Hash", + "name": "group1" + }, + { + "type": "Hash", + "name": "group2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF372BC22FCB88606": { + "name": "ADD_RELATIONSHIP_GROUP", + "jhash": "0x8B635546", + "comment": "Can't select void. This function returns nothing. The hash of the created relationship group is output in the second parameter.", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "Hash*", + "name": "groupHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB6BA2444AB393DA2": { + "name": "REMOVE_RELATIONSHIP_GROUP", + "jhash": "0x4A1DC59A", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "groupHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCC6E3B6BB69501F1": { + "name": "DOES_RELATIONSHIP_GROUP_EXIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "groupHash" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_DOES_RELATIONSHIP_GROUP_EXIST" + ] + }, + "0xEBA5AD3A0EAF7121": { + "name": "GET_RELATIONSHIP_BETWEEN_PEDS", + "jhash": "0xE254C39C", + "comment": "Gets the relationship between two peds. This should be called twice (once for each ped).\n\nRelationship types:\n0 = Companion\n1 = Respect\n2 = Like\n3 = Neutral\n4 = Dislike\n5 = Hate\n255 = Pedestrians\n(Credits: Inco)\n\nExample:\nPED::GET_RELATIONSHIP_BETWEEN_PEDS(2, l_1017, 0xA49E591C);\nPED::GET_RELATIONSHIP_BETWEEN_PEDS(2, 0xA49E591C, l_1017);", + "params": [ + { + "type": "Ped", + "name": "ped1" + }, + { + "type": "Ped", + "name": "ped2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x42FDD0F017B1E38E": { + "name": "GET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH", + "jhash": "0x714BD6E4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x7DBDD04862D95F04": { + "name": "GET_PED_RELATIONSHIP_GROUP_HASH", + "jhash": "0x354F283C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x9E6B70061662AE5C": { + "name": "GET_RELATIONSHIP_BETWEEN_GROUPS", + "jhash": "0x4E372FE2", + "comment": "Gets the relationship between two groups. This should be called twice (once for each group).\n\nRelationship types:\n0 = Companion\n1 = Respect\n2 = Like\n3 = Neutral\n4 = Dislike\n5 = Hate\n255 = Pedestrians\n\nExample:\nPED::GET_RELATIONSHIP_BETWEEN_GROUPS(l_1017, 0xA49E591C);\nPED::GET_RELATIONSHIP_BETWEEN_GROUPS(0xA49E591C, l_1017);", + "params": [ + { + "type": "Hash", + "name": "group1" + }, + { + "type": "Hash", + "name": "group2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x5615E0C5EB2BC6E2": { + "name": "SET_RELATIONSHIP_GROUP_AFFECTS_WANTED_LEVEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "group" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_RELATIONSHIP_GROUP_DONT_AFFECT_WANTED_LEVEL" + ] + }, + "0xAD27D957598E49E9": { + "name": "TELL_GROUP_PEDS_IN_AREA_TO_ATTACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "Hash", + "name": "hash" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x4328652AE5769C71": { + "name": "SET_PED_CAN_BE_TARGETED_WITHOUT_LOS", + "jhash": "0x7FDDC0A6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x112942C6E708F70B": { + "name": "SET_PED_TO_INFORM_RESPECTED_FRIENDS", + "jhash": "0xD78AC46C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "maxFriends" + } + ], + "return_type": "void", + "build": "323" + }, + "0x625B774D75C87068": { + "name": "IS_PED_RESPONDING_TO_EVENT", + "jhash": "0x7A877554", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "event" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBA656A3BB01BDEA3": { + "name": "GET_POS_FROM_FIRED_EVENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "eventType" + }, + { + "type": "Any*", + "name": "outData" + } + ], + "return_type": "BOOL", + "build": "2189", + "old_names": [ + "_GET_PED_EVENT_DATA" + ] + }, + "0x9AC577F5A12AD8A9": { + "name": "SET_PED_FIRING_PATTERN", + "jhash": "0xB4629D66", + "comment": "FIRING_PATTERN_BURST_FIRE = 0xD6FF6D61 ( 1073727030 )\nFIRING_PATTERN_BURST_FIRE_IN_COVER = 0x026321F1 ( 40051185 )\nFIRING_PATTERN_BURST_FIRE_DRIVEBY = 0xD31265F2 ( -753768974 )\nFIRING_PATTERN_FROM_GROUND = 0x2264E5D6 ( 577037782 )\nFIRING_PATTERN_DELAY_FIRE_BY_ONE_SEC = 0x7A845691 ( 2055493265 )\nFIRING_PATTERN_FULL_AUTO = 0xC6EE6B4C ( -957453492 )\nFIRING_PATTERN_SINGLE_SHOT = 0x5D60E4E0 ( 1566631136 )\nFIRING_PATTERN_BURST_FIRE_PISTOL = 0xA018DB8A ( -1608983670 )\nFIRING_PATTERN_BURST_FIRE_SMG = 0xD10DADEE ( 1863348768 )\nFIRING_PATTERN_BURST_FIRE_RIFLE = 0x9C74B406 ( -1670073338 )\nFIRING_PATTERN_BURST_FIRE_MG = 0xB573C5B4 ( -1250703948 )\nFIRING_PATTERN_BURST_FIRE_PUMPSHOTGUN = 0x00BAC39B ( 12239771 )\nFIRING_PATTERN_BURST_FIRE_HELI = 0x914E786F ( -1857128337 )\nFIRING_PATTERN_BURST_FIRE_MICRO = 0x42EF03FD ( 1122960381 )\nFIRING_PATTERN_SHORT_BURSTS = 0x1A92D7DF ( 445831135 )\nFIRING_PATTERN_SLOW_FIRE_TANK = 0xE2CA3A71 ( -490063247 )\n\nFiring pattern info: https://pastebin.com/Px036isB", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "patternHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x614DA022990752DC": { + "name": "SET_PED_SHOOT_RATE", + "jhash": "0xFB301746", + "comment": "shootRate 0-1000", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "shootRate" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFF41B4B141ED981C": { + "name": "SET_COMBAT_FLOAT", + "jhash": "0xD8B7637C", + "comment": "combatType can be between 0-14. See GET_COMBAT_FLOAT below for a list of possible parameters.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "combatType" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x52DFF8A10508090A": { + "name": "GET_COMBAT_FLOAT", + "jhash": "0x511D7EF8", + "comment": "p0: Ped Handle\np1: int i | 0 <= i <= 27\n\np1 probably refers to the attributes configured in combatbehavior.meta. There are 13. Example:\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n-------------Confirmed by editing combatbehavior.meta:\np1:\n0=BlindFireChance\n1=BurstDurationInCover\n3=TimeBetweenBurstsInCover\n4=TimeBetweenPeeks\n5=StrafeWhenMovingChance\n8=WalkWhenStrafingChance\n11=AttackWindowDistanceForCover\n12=TimeToInvalidateInjuredTarget\n16=OptimalCoverDistance\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "float", + "build": "323" + }, + "0x8DE69FE35CA09A45": { + "name": "GET_GROUP_SIZE", + "jhash": "0xF7E1A691", + "comment": "p1 may be a BOOL representing whether or not the group even exists", + "params": [ + { + "type": "int", + "name": "groupID" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "int*", + "name": "sizeInMembers" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7C6B0C22F9F40BBE": { + "name": "DOES_GROUP_EXIST", + "jhash": "0x935C978D", + "comment": "", + "params": [ + { + "type": "int", + "name": "groupId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF162E133B4E7A675": { + "name": "GET_PED_GROUP_INDEX", + "jhash": "0x134E0785", + "comment": "Returns the group id of which the specified ped is a member of.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x5891CAC5D4ACFF74": { + "name": "IS_PED_IN_GROUP", + "jhash": "0x836D9795", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6A3975DEA89F9A17": { + "name": "GET_PLAYER_PED_IS_FOLLOWING", + "jhash": "0xDE7442EE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Player", + "build": "323" + }, + "0xCE2F5FC3AF7E8C1E": { + "name": "SET_GROUP_FORMATION", + "jhash": "0x08FAC739", + "comment": "0: Default\n1: Circle Around Leader\n2: Alternative Circle Around Leader\n3: Line, with Leader at center", + "params": [ + { + "type": "int", + "name": "groupId" + }, + { + "type": "int", + "name": "formationType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1D9D45004C28C916": { + "name": "SET_GROUP_FORMATION_SPACING", + "jhash": "0xB1E086FF", + "comment": "", + "params": [ + { + "type": "int", + "name": "groupId" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x63DAB4CCB3273205": { + "name": "RESET_GROUP_FORMATION_DEFAULT_SPACING", + "jhash": "0x267FCEAD", + "comment": "", + "params": [ + { + "type": "int", + "name": "groupHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6094AD011A2EA87D": { + "name": "GET_VEHICLE_PED_IS_USING", + "jhash": "0x6DE3AADA", + "comment": "Gets ID of vehicle player using. It means it can get ID at any interaction with vehicle. Enter\\exit for example. And that means it is faster than GET_VEHICLE_PED_IS_IN but less safe.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xF92691AED837A5FC": { + "name": "GET_VEHICLE_PED_IS_ENTERING", + "jhash": "0x56E0C163", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Vehicle", + "build": "323", + "old_names": [ + "SET_EXCLUSIVE_PHONE_RELATIONSHIPS" + ] + }, + "0x9FF447B6B6AD960A": { + "name": "SET_PED_GRAVITY", + "jhash": "0x3CA16652", + "comment": "enable or disable the gravity of a ped\n\nExamples:\nPED::SET_PED_GRAVITY(PLAYER::PLAYER_PED_ID(), 0x00000001);\nPED::SET_PED_GRAVITY(Local_289[iVar0 /*20*/], 0x00000001);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x697157CED63F18D4": { + "name": "APPLY_DAMAGE_TO_PED", + "jhash": "0x4DC27FCF", + "comment": "damages a ped with the given amount", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "damageAmount" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x36B77BB84687C318": { + "name": "GET_TIME_PED_DAMAGED_BY_WEAPON", + "jhash": "0x0170C6E1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_TIME_OF_LAST_PED_WEAPON_DAMAGE" + ] + }, + "0xDA1F1B7BE1A8766F": { + "name": "SET_PED_ALLOWED_TO_DUCK", + "jhash": "0xC4D122F8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3DBFC55D5C9BB447": { + "name": "SET_PED_NEVER_LEAVES_GROUP", + "jhash": "0x0E038813", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFF059E1E4C01E63C": { + "name": "GET_PED_TYPE", + "jhash": "0xB1460D43", + "comment": "https://alloc8or.re/gta5/doc/enums/ePedType.txt", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBB03C38DD3FB7FFD": { + "name": "SET_PED_AS_COP", + "jhash": "0x84E7DE9F", + "comment": "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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB3352E018D6F89DF": { + "name": "SET_PED_HEALTH_PENDING_LAST_DAMAGE_EVENT_OVERRIDE_FLAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2699" + }, + "0xF5F6378C4F3419D3": { + "name": "SET_PED_MAX_HEALTH", + "jhash": "0x5533F60B", + "comment": "Sets the maximum health of a ped.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4700A416E8324EF3": { + "name": "GET_PED_MAX_HEALTH", + "jhash": "0xA45B6C8D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x43C851690662113D": { + "name": "SET_PED_MAX_TIME_IN_WATER", + "jhash": "0xFE0A106B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6BA428C528D9E522": { + "name": "SET_PED_MAX_TIME_UNDERWATER", + "jhash": "0x082EF240", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2735233A786B1BEF": { + "name": "SET_CORPSE_RAGDOLL_FRICTION", + "jhash": "0x373CC405", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x952F06BEECD775CC": { + "name": "SET_PED_VEHICLE_FORCED_SEAT_USAGE", + "jhash": "0x79CA237B", + "comment": "seatIndex must be <= 2", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE6CA85E7259CE16B": { + "name": "CLEAR_ALL_PED_VEHICLE_FORCED_SEAT_USAGE", + "jhash": "0xCC1D8F66", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB282749D5E028163": { + "name": "SET_PED_CAN_BE_KNOCKED_OFF_BIKE", + "jhash": "", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "877" + }, + "0x7A6535691B477C48": { + "name": "SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE", + "jhash": "0x8A251612", + "comment": "state: https://alloc8or.re/gta5/doc/enums/eKnockOffVehicle.txt", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0x51AC07A44D4F5B8A": { + "name": "CAN_KNOCK_PED_OFF_VEHICLE", + "jhash": "0xC9D098B3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x45BBCBA77C29A841": { + "name": "KNOCK_PED_OFF_VEHICLE", + "jhash": "0xACDD0674", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x87052FE446E07247": { + "name": "SET_PED_COORDS_NO_GANG", + "jhash": "0x9561AD98", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0x51455483CF23ED97": { + "name": "GET_PED_AS_GROUP_MEMBER", + "jhash": "0x9AA3CC8C", + "comment": "from fm_mission_controller.c4 (variable names changed for clarity):\n\nint groupID = PLAYER::GET_PLAYER_GROUP(PLAYER::PLAYER_ID());\nPED::GET_GROUP_SIZE(group, &unused, &groupSize);\nif (groupSize >= 1) {\n. . . . for (int memberNumber = 0; memberNumber < groupSize; memberNumber++) {\n. . . . . . . . Ped ped1 = PED::GET_PED_AS_GROUP_MEMBER(groupID, memberNumber);\n. . . . . . . . //and so on", + "params": [ + { + "type": "int", + "name": "groupID" + }, + { + "type": "int", + "name": "memberNumber" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x5CCE68DBD5FE93EC": { + "name": "GET_PED_AS_GROUP_LEADER", + "jhash": "0x52873C6A", + "comment": "", + "params": [ + { + "type": "int", + "name": "groupID" + } + ], + "return_type": "Ped", + "build": "323", + "old_names": [ + "_GET_PED_AS_GROUP_LEADER" + ] + }, + "0x971D38760FBC02EF": { + "name": "SET_PED_KEEP_TASK", + "jhash": "0xA7EC79CE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x49E50BDB8BA4DAB2": { + "name": "SET_PED_ALLOW_MINOR_REACTIONS_AS_MISSION_PED", + "jhash": "0x397F06E3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9DE327631295B4C2": { + "name": "IS_PED_SWIMMING", + "jhash": "0x7AB43DB8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC024869A53992F34": { + "name": "IS_PED_SWIMMING_UNDER_WATER", + "jhash": "0x0E8D524F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9AFEFF481A85AB2E": { + "name": "SET_PED_COORDS_KEEP_VEHICLE", + "jhash": "0xD66AE1D3", + "comment": "teleports ped to coords along with the vehicle ped is in", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2A30922C90C9B42C": { + "name": "SET_PED_DIES_IN_VEHICLE", + "jhash": "0x6FE1E440", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x102E68B2024D536D": { + "name": "SET_CREATE_RANDOM_COPS", + "jhash": "0x23441648", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8A4986851C4EF6E7": { + "name": "SET_CREATE_RANDOM_COPS_NOT_ON_SCENARIOS", + "jhash": "0x82E548CC", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x444CB7D7DBE6973D": { + "name": "SET_CREATE_RANDOM_COPS_ON_SCENARIOS", + "jhash": "0xEDC31475", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5EE2CAFF7F17770D": { + "name": "CAN_CREATE_RANDOM_COPS", + "jhash": "0xAA73DAD9", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x02A0C9720B854BFA": { + "name": "SET_PED_AS_ENEMY", + "jhash": "0xAE620A1B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1CCE141467FF42A2": { + "name": "SET_PED_CAN_SMASH_GLASS", + "jhash": "0x149C60A8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6F972C1AB75A1ED0": { + "name": "IS_PED_IN_ANY_TRAIN", + "jhash": "0x759EF63A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBB062B2B5722478E": { + "name": "IS_PED_GETTING_INTO_A_VEHICLE", + "jhash": "0x90E805AC", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x44D28D5DDFE5F68C": { + "name": "IS_PED_TRYING_TO_ENTER_A_LOCKED_VEHICLE", + "jhash": "0x46828B4E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDF1AF8B5D56542FA": { + "name": "SET_ENABLE_HANDCUFFS", + "jhash": "0xAC9BBA23", + "comment": "ped can not pull out a weapon when true", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC52E0F855C58FC2E": { + "name": "SET_ENABLE_BOUND_ANKLES", + "jhash": "0x9208D689", + "comment": "Used with SET_ENABLE_HANDCUFFS in decompiled scripts. From my observations, I have noticed that while being ragdolled you are not able to get up but you can still run. Your legs can also bend.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF99F62004024D506": { + "name": "SET_ENABLE_SCUBA", + "jhash": "0x7BF61471", + "comment": "Enables diving motion when underwater.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB3B1CB349FF9C75D": { + "name": "SET_CAN_ATTACK_FRIENDLY", + "jhash": "0x47C60963", + "comment": "Setting ped to true allows the ped to shoot \"friendlies\".\n\np2 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.\n\np1 = false & p2 = false for unable to aim at.\np1 = true & p2 = false for able to aim at. ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF6AA118530443FD2": { + "name": "GET_PED_ALERTNESS", + "jhash": "0xF83E4DAF", + "comment": "Returns the ped's alertness (0-3).\n\nValues : \n\n0 : Neutral\n1 : Heard something (gun shot, hit, etc)\n2 : Knows (the origin of the event)\n3 : Fully alerted (is facing the event?)\n\nIf the Ped does not exist, returns -1.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xDBA71115ED9941A6": { + "name": "SET_PED_ALERTNESS", + "jhash": "0x2C32D9AE", + "comment": "value ranges from 0 to 3.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBC0ED94165A48BC2": { + "name": "SET_PED_GET_OUT_UPSIDE_DOWN_VEHICLE", + "jhash": "0x89AD49FF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAF8A94EDE7712BEF": { + "name": "SET_PED_MOVEMENT_CLIPSET", + "jhash": "0xA817CDEB", + "comment": "transitionSpeed is the time in seconds it takes to transition from one movement clipset to another.\transitionSpeed is usually 1.0f\n\nList of movement clipsets:\nThanks to elsewhat for list.\n\n \"ANIM_GROUP_MOVE_BALLISTIC\"\n \"ANIM_GROUP_MOVE_LEMAR_ALLEY\"\n \"clipset@move@trash_fast_turn\"\n \"FEMALE_FAST_RUNNER\"\n \"missfbi4prepp1_garbageman\"\n \"move_characters@franklin@fire\"\n \"move_characters@Jimmy@slow@\"\n \"move_characters@michael@fire\"\n \"move_f@flee@a\"\n \"move_f@scared\"\n \"move_f@sexy@a\"\n \"move_heist_lester\"\n \"move_injured_generic\"\n \"move_lester_CaneUp\"\n \"move_m@bag\"\n \"MOVE_M@BAIL_BOND_NOT_TAZERED\"\n \"MOVE_M@BAIL_BOND_TAZERED\"\n \"move_m@brave\"\n \"move_m@casual@d\"\n \"move_m@drunk@moderatedrunk\"\n \"MOVE_M@DRUNK@MODERATEDRUNK\"\n \"MOVE_M@DRUNK@MODERATEDRUNK_HEAD_UP\"\n \"MOVE_M@DRUNK@SLIGHTLYDRUNK\"\n \"MOVE_M@DRUNK@VERYDRUNK\"\n \"move_m@fire\"\n \"move_m@gangster@var_e\"\n \"move_m@gangster@var_f\"\n \"move_m@gangster@var_i\"\n \"move_m@JOG@\"\n \"MOVE_M@PRISON_GAURD\"\n \"MOVE_P_M_ONE\"\n \"MOVE_P_M_ONE_BRIEFCASE\"\n \"move_p_m_zero_janitor\"\n \"move_p_m_zero_slow\"\n \"move_ped_bucket\"\n \"move_ped_crouched\"\n \"move_ped_mop\"\n \"MOVE_M@FEMME@\"\n \"MOVE_F@FEMME@\"\n \"MOVE_M@GANGSTER@NG\"\n \"MOVE_F@GANGSTER@NG\"\n \"MOVE_M@POSH@\"\n \"MOVE_F@POSH@\"\n \"MOVE_M@TOUGH_GUY@\"\n \"MOVE_F@TOUGH_GUY@\"\n\n~ NotCrunchyTaco\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "clipSet" + }, + { + "type": "float", + "name": "transitionSpeed" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA74EC0CB0AAEA2C": { + "name": "RESET_PED_MOVEMENT_CLIPSET", + "jhash": "0xB83CEE93", + "comment": "If p1 is 0.0, I believe you are back to normal. \nIf p1 is 1.0, it looks like you can only rotate the ped, not walk.\n\nUsing the following code to reset back to normal\nPED::RESET_PED_MOVEMENT_CLIPSET(PLAYER::PLAYER_PED_ID(), 0.0);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x29A28F3F8CF6D854": { + "name": "SET_PED_STRAFE_CLIPSET", + "jhash": "0x0BACF010", + "comment": "Full list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "clipSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0x20510814175EA477": { + "name": "RESET_PED_STRAFE_CLIPSET", + "jhash": "0xF1967A12", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2622E35B77D3ACA2": { + "name": "SET_PED_WEAPON_MOVEMENT_CLIPSET", + "jhash": "0xF8BE54DC", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "clipSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0x97B0DB5B4AA74E77": { + "name": "RESET_PED_WEAPON_MOVEMENT_CLIPSET", + "jhash": "0xC60C9ACD", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xED34AB6C5CB36520": { + "name": "SET_PED_DRIVE_BY_CLIPSET_OVERRIDE", + "jhash": "0xD4C73595", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "clipset" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4AFE3690D7E0B5AC": { + "name": "CLEAR_PED_DRIVE_BY_CLIPSET_OVERRIDE", + "jhash": "0xAEC9163B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9DBA107B4937F809": { + "name": "SET_PED_MOTION_IN_COVER_CLIPSET_OVERRIDE", + "jhash": "", + "comment": "Found in the b617d scripts:\nPED::SET_PED_MOTION_IN_COVER_CLIPSET_OVERRIDE(v_7, \"trevor_heist_cover_2h\");", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_COVER_CLIPSET_OVERRIDE" + ] + }, + "0xC79196DCB36F6121": { + "name": "CLEAR_PED_MOTION_IN_COVER_CLIPSET_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_PED_COVER_CLIPSET_OVERRIDE" + ] + }, + "0x80054D7FCC70EEC6": { + "name": "CLEAR_PED_FALL_UPPER_BODY_CLIPSET_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x530071295899A8C6": { + "name": "SET_PED_IN_VEHICLE_CONTEXT", + "jhash": "0x27F25C0E", + "comment": "PED::SET_PED_IN_VEHICLE_CONTEXT(l_128, MISC::GET_HASH_KEY(\"MINI_PROSTITUTE_LOW_PASSENGER\"));\nPED::SET_PED_IN_VEHICLE_CONTEXT(l_128, MISC::GET_HASH_KEY(\"MINI_PROSTITUTE_LOW_RESTRICTED_PASSENGER\"));\nPED::SET_PED_IN_VEHICLE_CONTEXT(l_3212, MISC::GET_HASH_KEY(\"MISS_FAMILY1_JIMMY_SIT\"));\nPED::SET_PED_IN_VEHICLE_CONTEXT(l_3212, MISC::GET_HASH_KEY(\"MISS_FAMILY1_JIMMY_SIT_REAR\"));\nPED::SET_PED_IN_VEHICLE_CONTEXT(l_95, MISC::GET_HASH_KEY(\"MISS_FAMILY2_JIMMY_BICYCLE\"));\nPED::SET_PED_IN_VEHICLE_CONTEXT(num3, MISC::GET_HASH_KEY(\"MISSFBI2_MICHAEL_DRIVEBY\"));\nPED::SET_PED_IN_VEHICLE_CONTEXT(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"MISS_ARMENIAN3_FRANKLIN_TENSE\"));\nPED::SET_PED_IN_VEHICLE_CONTEXT(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"MISSFBI5_TREVOR_DRIVING\"));", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "context" + } + ], + "return_type": "void", + "build": "323" + }, + "0x22EF8FF8778030EB": { + "name": "RESET_PED_IN_VEHICLE_CONTEXT", + "jhash": "0x3C94D88A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6EC47A344923E1ED": { + "name": "IS_SCRIPTED_SCENARIO_PED_USING_CONDITIONAL_ANIM", + "jhash": "0x3C30B447", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "anim" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6C60394CB4F75E9A": { + "name": "SET_PED_ALTERNATE_WALK_ANIM", + "jhash": "0x895E1D67", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8844BBFCE30AA9E9": { + "name": "CLEAR_PED_ALTERNATE_WALK_ANIM", + "jhash": "0x5736FB23", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x90A43CC281FFAB46": { + "name": "SET_PED_ALTERNATE_MOVEMENT_ANIM", + "jhash": "0xBA84FD8C", + "comment": "stance:\n0 = idle\n1 = walk\n2 = running\n\np5 = usually set to true\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "stance" + }, + { + "type": "const char*", + "name": "animDictionary" + }, + { + "type": "const char*", + "name": "animationName" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD8D19675ED5FBDCE": { + "name": "CLEAR_PED_ALTERNATE_MOVEMENT_ANIM", + "jhash": "0x7A7F5BC3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "stance" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDDF803377F94AAA8": { + "name": "SET_PED_GESTURE_GROUP", + "jhash": "0x170DA109", + "comment": "From the scripts:\nPED::SET_PED_GESTURE_GROUP(PLAYER::PLAYER_PED_ID(),\n\"ANIM_GROUP_GESTURE_MISS_FRA0\");\nPED::SET_PED_GESTURE_GROUP(PLAYER::PLAYER_PED_ID(),\n\"ANIM_GROUP_GESTURE_MISS_DocksSetup1\");", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animGroupGesture" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBE22B26DD764C040": { + "name": "GET_ANIM_INITIAL_OFFSET_POSITION", + "jhash": "0xC59D4268", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x4B805E6046EE9E47": { + "name": "GET_ANIM_INITIAL_OFFSET_ROTATION", + "jhash": "0x5F7789E6", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x67F3780DD425D4FC": { + "name": "GET_PED_DRAWABLE_VARIATION", + "jhash": "0x29850FE2", + "comment": "Ids\n0 - Head\n1 - Beard\n2 - Hair\n3 - Torso\n4 - Legs\n5 - Hands\n6 - Foot\n7 - ------\n8 - Accessories 1\n9 - Accessories 2\n10- Decals\n11 - Auxiliary parts for torso", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x27561561732A7842": { + "name": "GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS", + "jhash": "0x9754C27D", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x04A355E041E004E6": { + "name": "GET_PED_TEXTURE_VARIATION", + "jhash": "0xC0A8590A", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x8F7156A3142A6BAD": { + "name": "GET_NUMBER_OF_PED_TEXTURE_VARIATIONS", + "jhash": "0x83D9FBE7", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "drawableId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x5FAF9754E789FB47": { + "name": "GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS", + "jhash": "0xC9780B95", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "propId" + } + ], + "return_type": "int", + "build": "323" + }, + "0xA6E7F1CEB523E171": { + "name": "GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS", + "jhash": "0x4892B882", + "comment": "Need to check behavior when drawableId = -1\n\n- Doofy.Ass\nWhy this function doesn't work and return nill value?\nGET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS(PLAYER.PLAYER_PED_ID(), 0, 5)\n\ntick: scripts/addins/menu_execute.lua:51: attempt to call field 'GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS' (a nil value)\n\n\nList of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "propId" + }, + { + "type": "int", + "name": "drawableId" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE3DD5F2A84B42281": { + "name": "GET_PED_PALETTE_VARIATION", + "jhash": "0xEF1BC082", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9E30E91FB03A2CAF": { + "name": "GET_MP_OUTFIT_DATA_FROM_METADATA", + "jhash": "0x52559BB6", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1E77FA7A62EE6C4C": { + "name": "GET_FM_MALE_SHOP_PED_APPAREL_ITEM_INDEX", + "jhash": "0x021F5B36", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF033419D1B81FAE8": { + "name": "GET_FM_FEMALE_SHOP_PED_APPAREL_ITEM_INDEX", + "jhash": "0x8FDDB5DB", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE825F6B6CEA7671D": { + "name": "IS_PED_COMPONENT_VARIATION_VALID", + "jhash": "0x952ABD9A", + "comment": "Checks if the component variation is valid, this works great for randomizing components using loops.\n\nList of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html\n\nFull list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "drawableId" + }, + { + "type": "int", + "name": "textureId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x262B14F48D29DE80": { + "name": "SET_PED_COMPONENT_VARIATION", + "jhash": "0xD4F7B05C", + "comment": "paletteId: 0 to 3.\n\ncomponentId:\nenum ePedVarComp\n{\n\tPV_COMP_INVALID = -1,\n\tPV_COMP_HEAD,\n\tPV_COMP_BERD,\n\tPV_COMP_HAIR,\n\tPV_COMP_UPPR,\n\tPV_COMP_LOWR,\n\tPV_COMP_HAND,\n\tPV_COMP_FEET,\n\tPV_COMP_TEEF,\n\tPV_COMP_ACCS,\n\tPV_COMP_TASK,\n\tPV_COMP_DECL,\n\tPV_COMP_JBIB,\n\tPV_COMP_MAX\n};\n\nExamples: https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html\n\nFull list of ped components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedComponentVariations.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "drawableId" + }, + { + "type": "int", + "name": "textureId" + }, + { + "type": "int", + "name": "paletteId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC8A9481A01E63C28": { + "name": "SET_PED_RANDOM_COMPONENT_VARIATION", + "jhash": "0x4111BA46", + "comment": "p1 is always 0 in R* scripts.\n\nList of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC44AA05345C992C6": { + "name": "SET_PED_RANDOM_PROPS", + "jhash": "0xE3318E0E", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x45EEE61580806D63": { + "name": "SET_PED_DEFAULT_COMPONENT_VARIATION", + "jhash": "0xC866A984", + "comment": "Sets Ped Default Clothes", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x137BBD05230DB22D": { + "name": "SET_PED_BLEND_FROM_PARENTS", + "jhash": "0x837BD370", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9414E18B9434C2FE": { + "name": "SET_PED_HEAD_BLEND_DATA", + "jhash": "0x60746B88", + "comment": "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.\n\nThe IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.\n\n!!!Can someone add working example for this???\n\ntry this:\n headBlendData headData;\n GET_PED_HEAD_BLEND_DATA(PLAYER_PED_ID(), &headData);\n\n SET_PED_HEAD_BLEND_DATA(PLAYER_PED_ID(), headData.shapeFirst, headData.shapeSecond, headData.shapeThird, headData.skinFirst, headData.skinSecond\n , headData.skinThird, headData.shapeMix, headData.skinMix, headData.skinThird, 0);\n\n\nFor more info please refer to this topic. \ngtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "shapeFirstID" + }, + { + "type": "int", + "name": "shapeSecondID" + }, + { + "type": "int", + "name": "shapeThirdID" + }, + { + "type": "int", + "name": "skinFirstID" + }, + { + "type": "int", + "name": "skinSecondID" + }, + { + "type": "int", + "name": "skinThirdID" + }, + { + "type": "float", + "name": "shapeMix" + }, + { + "type": "float", + "name": "skinMix" + }, + { + "type": "float", + "name": "thirdMix" + }, + { + "type": "BOOL", + "name": "isParent" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2746BD9D88C5C5D0": { + "name": "GET_PED_HEAD_BLEND_DATA", + "jhash": "0x44E1680C", + "comment": "The pointer is to a padded struct that matches the arguments to SET_PED_HEAD_BLEND_DATA(...). There are 4 bytes of padding after each field.\npass this struct in the second parameter \nstruct headBlendData\n{\n int shapeFirst;\n int padding1;\n int shapeSecond;\n int padding2;\n int shapeThird;\n int padding3;\n int skinFirst;\n int padding4;\n int skinSecond;\n int padding5;\n int skinThird;\n int padding6;\n float shapeMix;\n int padding7;\n float skinMix;\n int padding8;\n float thirdMix;\n int padding9;\n bool isParent;\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any*", + "name": "headBlendData" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_PED_HEAD_BLEND_DATA" + ] + }, + "0x723538F61C647C5A": { + "name": "UPDATE_PED_HEAD_BLEND_DATA", + "jhash": "0x5CB76219", + "comment": "See SET_PED_HEAD_BLEND_DATA().", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "shapeMix" + }, + { + "type": "float", + "name": "skinMix" + }, + { + "type": "float", + "name": "thirdMix" + } + ], + "return_type": "void", + "build": "323" + }, + "0x50B56988B170AFDF": { + "name": "SET_HEAD_BLEND_EYE_COLOR", + "jhash": "", + "comment": "Used for freemode (online) characters.\n\nFor some reason, the scripts use a rounded float for the index.\nIndexes:\n1. black\n2. very light blue/green\n3. dark blue\n4. brown\n5. darker brown\n6. light brown\n7. blue\n8. light blue\n9. pink\n10. yellow\n11. purple\n12. black\n13. dark green\n14. light brown\n15. yellow/black pattern\n16. light colored spiral pattern\n17. shiny red\n18. shiny half blue/half red\n19. half black/half light blue\n20. white/red perimter\n21. green snake\n22. red snake\n23. dark blue snake\n24. dark yellow\n25. bright yellow\n26. all black\n28. red small pupil\n29. devil blue/black\n30. white small pupil\n31. glossed over", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_EYE_COLOR" + ] + }, + "0x76BBA2CEE66D47E9": { + "name": "GET_HEAD_BLEND_EYE_COLOR", + "jhash": "", + "comment": "A getter for _SET_PED_EYE_COLOR. Returns -1 if fails to get.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "1011", + "old_names": [ + "_GET_PED_EYE_COLOR" + ] + }, + "0x48F44967FA05CC1E": { + "name": "SET_PED_HEAD_OVERLAY", + "jhash": "0xD28DBA90", + "comment": "OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0. \n\noverlayID Part Index, to disable\n0 Blemishes 0 - 23, 255\n1 Facial Hair 0 - 28, 255\n2 Eyebrows 0 - 33, 255\n3 Ageing 0 - 14, 255\n4 Makeup 0 - 74, 255\n5 Blush 0 - 6, 255\n6 Complexion 0 - 11, 255\n7 Sun Damage 0 - 10, 255\n8 Lipstick 0 - 9, 255\n9 Moles/Freckles 0 - 17, 255\n10 Chest Hair 0 - 16, 255\n11 Body Blemishes 0 - 11, 255\n12 Add Body Blemishes 0 - 1, 255", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "overlayID" + }, + { + "type": "int", + "name": "index" + }, + { + "type": "float", + "name": "opacity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA60EF3B6461A4D43": { + "name": "GET_PED_HEAD_OVERLAY", + "jhash": "", + "comment": "Likely a char, if that overlay is not set, e.i. \"None\" option, returns 255;\n\nThis might be the once removed native GET_PED_HEAD_OVERLAY.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "overlayID" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_PED_HEAD_OVERLAY_VALUE" + ] + }, + "0xCF1CE768BB43480E": { + "name": "GET_PED_HEAD_OVERLAY_NUM", + "jhash": "0xFF43C18D", + "comment": "", + "params": [ + { + "type": "int", + "name": "overlayID" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUM_HEAD_OVERLAY_VALUES" + ] + }, + "0x497BF74A7B9CB952": { + "name": "SET_PED_HEAD_OVERLAY_TINT", + "jhash": "", + "comment": "\n\nColorType is 1 for eyebrows, beards, and chest hair; 2 for blush and lipstick; and 0 otherwise, though not called in those cases.\n\nCalled after SET_PED_HEAD_OVERLAY().", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "overlayID" + }, + { + "type": "int", + "name": "colorType" + }, + { + "type": "int", + "name": "colorID" + }, + { + "type": "int", + "name": "secondColorID" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_HEAD_OVERLAY_COLOR" + ] + }, + "0x4CFFC65454C93A49": { + "name": "SET_PED_HAIR_TINT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "colorID" + }, + { + "type": "int", + "name": "highlightColorID" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_HAIR_COLOR" + ] + }, + "0xE5C0CF872C2AD150": { + "name": "GET_NUM_PED_HAIR_TINTS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUM_HAIR_COLORS" + ] + }, + "0xD1F7CA1535D22818": { + "name": "GET_NUM_PED_MAKEUP_TINTS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUM_MAKEUP_COLORS" + ] + }, + "0x4852FC386E2E1BB5": { + "name": "GET_PED_HAIR_TINT_COLOR", + "jhash": "", + "comment": "Input: Haircolor index, value between 0 and 63 (inclusive).\nOutput: RGB values for the haircolor specified in the input.\n\nThis is used with the hair color swatches scaleform.\nUse `GET_PED_MAKEUP_TINT_COLOR` to get the makeup colors.", + "params": [ + { + "type": "int", + "name": "hairColorIndex" + }, + { + "type": "int*", + "name": "outR" + }, + { + "type": "int*", + "name": "outG" + }, + { + "type": "int*", + "name": "outB" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_HAIR_RGB_COLOR", + "_GET_PED_HAIR_RGB_COLOR" + ] + }, + "0x013E5CFC38CD5387": { + "name": "GET_PED_MAKEUP_TINT_COLOR", + "jhash": "", + "comment": "Input: Makeup color index, value between 0 and 63 (inclusive).\nOutput: RGB values for the makeup color specified in the input.\n\nThis is used with the makeup color swatches scaleform.\nUse `GET_PED_HAIR_TINT_COLOR` to get the hair colors.", + "params": [ + { + "type": "int", + "name": "makeupColorIndex" + }, + { + "type": "int*", + "name": "outR" + }, + { + "type": "int*", + "name": "outG" + }, + { + "type": "int*", + "name": "outB" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_MAKEUP_RGB_COLOR", + "_GET_PED_MAKEUP_RGB_COLOR" + ] + }, + "0xED6D8E27A43B8CDE": { + "name": "IS_PED_HAIR_TINT_FOR_CREATOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PED_HAIR_COLOR_VALID_2", + "_IS_PED_HAIR_VALID_CREATOR_COLOR" + ] + }, + "0xEA9960D07DADCF10": { + "name": "GET_DEFAULT_SECONDARY_TINT_FOR_CREATOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorId" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_DEFAULT_SECONDARY_HAIR_CREATOR_COLOR" + ] + }, + "0x3E802F11FBE27674": { + "name": "IS_PED_LIPSTICK_TINT_FOR_CREATOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PED_LIPSTICK_COLOR_VALID_2", + "_IS_PED_LIPSTICK_VALID_CREATOR_COLOR" + ] + }, + "0xF41B5D290C99A3D6": { + "name": "IS_PED_BLUSH_TINT_FOR_CREATOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PED_BLUSH_COLOR_VALID_2", + "_IS_PED_BLUSH_VALID_CREATOR_COLOR" + ] + }, + "0xE0D36E5D9E99CC21": { + "name": "IS_PED_HAIR_TINT_FOR_BARBER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorID" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PED_HAIR_COLOR_VALID", + "_IS_PED_HAIR_VALID_BARBER_COLOR" + ] + }, + "0xAAA6A3698A69E048": { + "name": "GET_DEFAULT_SECONDARY_TINT_FOR_BARBER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorID" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_DEFAULT_SECONDARY_HAIR_BARBER_COLOR" + ] + }, + "0x0525A2C2562F3CD4": { + "name": "IS_PED_LIPSTICK_TINT_FOR_BARBER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorID" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PED_LIPSTICK_COLOR_VALID", + "_IS_PED_LIPSTICK_VALID_BARBER_COLOR" + ] + }, + "0x604E810189EE3A59": { + "name": "IS_PED_BLUSH_TINT_FOR_BARBER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorID" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PED_BLUSH_COLOR_VALID", + "_IS_PED_BLUSH_VALID_BARBER_COLOR" + ] + }, + "0x09E7ECA981D9B210": { + "name": "IS_PED_BLUSH_FACEPAINT_TINT_FOR_BARBER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "colorId" + } + ], + "return_type": "BOOL", + "build": "1290", + "old_names": [ + "_IS_PED_BODY_BLEMISH_VALID", + "_IS_PED_BLUSH_FACEPAINT_VALID_BARBER_COLOR" + ] + }, + "0xC56FBF2F228E1DAC": { + "name": "GET_TINT_INDEX_FOR_LAST_GEN_HAIR_TEXTURE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "drawableId" + }, + { + "type": "int", + "name": "textureId" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_TINT_OF_HAIR_COMPONENT_VARIATION" + ] + }, + "0x71A5C1DBA060049E": { + "name": "SET_PED_MICRO_MORPH", + "jhash": "", + "comment": "Sets the various freemode face features, e.g. nose length, chin shape. Scale ranges from -1.0 to 1.0.\n\n\n\n0 - Nose Width (Thin/Wide)\n\n1 - Nose Peak (Up/Down)\n\n2 - Nose Length (Long/Short)\n\n3 - Nose Bone Curveness (Crooked/Curved)\n\n4 - Nose Tip (Up/Down)\n\n5 - Nose Bone Twist (Left/Right)\n\n6 - Eyebrow (Up/Down)\n\n7 - Eyebrow (In/Out)\n\n8 - Cheek Bones (Up/Down)\n\n9 - Cheek Sideways Bone Size (In/Out)\n\n10 - Cheek Bones Width (Puffed/Gaunt)\n\n11 - Eye Opening (Both) (Wide/Squinted)\n\n12 - Lip Thickness (Both) (Fat/Thin)\n\n13 - Jaw Bone Width (Narrow/Wide)\n\n14 - Jaw Bone Shape (Round/Square)\n\n15 - Chin Bone (Up/Down)\n\n16 - Chin Bone Length (In/Out or Backward/Forward)\n\n17 - Chin Bone Shape (Pointed/Square)\n\n18 - Chin Hole (Chin Bum)\n\n19 - Neck Thickness (Thin/Thick)", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "index" + }, + { + "type": "float", + "name": "scale" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_FACE_FEATURE", + "_SET_PED_MICRO_MORPH_VALUE" + ] + }, + "0x654CD0A825161131": { + "name": "HAS_PED_HEAD_BLEND_FINISHED", + "jhash": "0x2B1BD9C5", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4668D80430D6C299": { + "name": "FINALIZE_HEAD_BLEND", + "jhash": "0x894314A4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCC9682B8951C5229": { + "name": "SET_HEAD_BLEND_PALETTE_COLOR", + "jhash": "0x57E5B3F9", + "comment": "p4 seems to vary from 0 to 3.\nPreview: https://gfycat.com/MaleRareAmazonparrot", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + }, + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA21C118553BBDF02": { + "name": "DISABLE_HEAD_BLEND_PALETTE_COLOR", + "jhash": "0xC6F36292", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x68D353AB88B97E0C": { + "name": "GET_PED_HEAD_BLEND_FIRST_INDEX", + "jhash": "0x211DEFEC", + "comment": "Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc.\n\nUsed when calling SET_PED_HEAD_BLEND_DATA.", + "params": [ + { + "type": "int", + "name": "type" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_FIRST_PARENT_ID_FOR_PED_TYPE" + ] + }, + "0x5EF37013A6539C9D": { + "name": "GET_PED_HEAD_BLEND_NUM_HEADS", + "jhash": "0x095D3BD8", + "comment": "Type equals 0 for male non-dlc, 1 for female non-dlc, 2 for male dlc, and 3 for female dlc.", + "params": [ + { + "type": "int", + "name": "type" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUM_PARENT_PEDS_OF_TYPE" + ] + }, + "0x39D55A620FCB6A3A": { + "name": "SET_PED_PRELOAD_VARIATION_DATA", + "jhash": "0x45F3BDFB", + "comment": "from extreme3.c4\nPED::SET_PED_PRELOAD_VARIATION_DATA(PLAYER::PLAYER_PED_ID(), 8, PED::GET_PED_DRAWABLE_VARIATION(PLAYER::PLAYER_PED_ID(), 8), PED::GET_PED_TEXTURE_VARIATION(PLAYER::PLAYER_PED_ID(), 8));\n\np1 is probably componentId", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "slot" + }, + { + "type": "int", + "name": "drawableId" + }, + { + "type": "int", + "name": "textureId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x66680A92700F43DF": { + "name": "HAS_PED_PRELOAD_VARIATION_DATA_FINISHED", + "jhash": "0xC6517D52", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5AAB586FFEC0FD96": { + "name": "RELEASE_PED_PRELOAD_VARIATION_DATA", + "jhash": "0x6435F67F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2B16A3BFF1FBCE49": { + "name": "SET_PED_PRELOAD_PROP_DATA", + "jhash": "0xC0E23671", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "drawableId" + }, + { + "type": "int", + "name": "TextureId" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_IS_PED_PROP_VALID" + ] + }, + "0x784002A632822099": { + "name": "HAS_PED_PRELOAD_PROP_DATA_FINISHED", + "jhash": "0x3B0CA391", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF79F9DEF0AADE61A": { + "name": "RELEASE_PED_PRELOAD_PROP_DATA", + "jhash": "0xFD103BA7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x898CC20EA75BACD8": { + "name": "GET_PED_PROP_INDEX", + "jhash": "0x746DDAC0", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x93376B65A266EB5F": { + "name": "SET_PED_PROP_INDEX", + "jhash": "0x0829F2E2", + "comment": "ComponentId can be set to various things based on what category you're wanting to set\nenum PedPropsData\n{\n PED_PROP_HATS = 0,\n PED_PROP_GLASSES = 1,\n PED_PROP_EARS = 2,\n PED_PROP_WATCHES = 3,\n};\nUsage: SET_PED_PROP_INDEX(playerPed, PED_PROP_HATS, GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS(playerPed, PED_PROP_HATS), GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS(playerPed, PED_PROP_HATS, 0), TRUE);\n\nList of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + }, + { + "type": "int", + "name": "drawableId" + }, + { + "type": "int", + "name": "TextureId" + }, + { + "type": "BOOL", + "name": "attach" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6FD7816A36615F48": { + "name": "KNOCK_OFF_PED_PROP", + "jhash": "0x08D8B180", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0943E5B8E078E76E": { + "name": "CLEAR_PED_PROP", + "jhash": "0x2D23D743", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "propId" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCD8A7537A9B52F06": { + "name": "CLEAR_ALL_PED_PROPS", + "jhash": "0x81DF8B43", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAFF4710E2A0A6C12": { + "name": "DROP_AMBIENT_PROP", + "jhash": "0x728D3D53", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE131A28626F81AB2": { + "name": "GET_PED_PROP_TEXTURE_INDEX", + "jhash": "0x922A6653", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "componentId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1280804F7CFD2D6C": { + "name": "CLEAR_PED_PARACHUTE_PACK_VARIATION", + "jhash": "0x7BCD8991", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x36C6984C3ED0C911": { + "name": "SET_PED_SCUBA_GEAR_VARIATION", + "jhash": "", + "comment": "This native sets a scuba mask for freemode models and an oxygen bottle for player_* models. It works on freemode and player_* models.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_SCUBA_GEAR_VARIATION" + ] + }, + "0xB50EB4CCB29704AC": { + "name": "CLEAR_PED_SCUBA_GEAR_VARIATION", + "jhash": "0x080275EE", + "comment": "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.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REMOVE_PED_SCUBA_GEAR_NOW" + ] + }, + "0xFEC9A3B1820F3331": { + "name": "IS_USING_PED_SCUBA_GEAR_VARIATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9F8AA94D6D97DBF4": { + "name": "SET_BLOCKING_OF_NON_TEMPORARY_EVENTS", + "jhash": "0xDFE34E4A", + "comment": "works with TASK::TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS to make a ped completely oblivious to all events going on around him", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4F5F651ACCC9C4CF": { + "name": "SET_PED_BOUNDS_ORIENTATION", + "jhash": "0xCFA20D68", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2F25D9AEFA34FBA2": { + "name": "REGISTER_TARGET", + "jhash": "0x50A95442", + "comment": "PED::REGISTER_TARGET(l_216, PLAYER::PLAYER_PED_ID()); from re_prisonbreak.txt.\n\nl_216 = RECSBRobber1", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9222F300BF8354FE": { + "name": "REGISTER_HATED_TARGETS_AROUND_PED", + "jhash": "0x7F87559E", + "comment": "Based on TASK_COMBAT_HATED_TARGETS_AROUND_PED, the parameters are likely similar (PedHandle, and area to attack in).", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0x876046A8E3A4B71C": { + "name": "GET_RANDOM_PED_AT_COORD", + "jhash": "0xDC8239EB", + "comment": "Gets a random ped in the x/y/zRadius near the x/y/z coordinates passed. \n\nPed Types:\nAny = -1\nPlayer = 1\nMale = 4 \nFemale = 5 \nCop = 6\nHuman = 26\nSWAT = 27 \nAnimal = 28\nArmy = 29", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "xRadius" + }, + { + "type": "float", + "name": "yRadius" + }, + { + "type": "float", + "name": "zRadius" + }, + { + "type": "int", + "name": "pedType" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0xC33AB876A77F8164": { + "name": "GET_CLOSEST_PED", + "jhash": "0x8F6C1F55", + "comment": "Gets the closest ped in a radius.\n\nPed Types:\nAny ped = -1\nPlayer = 1\nMale = 4 \nFemale = 5 \nCop = 6\nHuman = 26\nSWAT = 27 \nAnimal = 28\nArmy = 29\n\n------------------\nP4 P5 P7 P8\n1 0 x x = return nearest walking Ped\n1 x 0 x = return nearest walking Ped\nx 1 1 x = return Ped you are using\n0 0 x x = no effect\n0 x 0 x = no effect\n\nx = can be 1 or 0. Does not have any obvious changes.\n\nThis function does not return ped who is:\n1. Standing still\n2. Driving\n3. Fleeing\n4. Attacking\n\nThis function only work if the ped is:\n1. walking normally.\n2. waiting to cross a road.\n\nNote: PED::GET_PED_NEARBY_PEDS works for more peds.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "Ped*", + "name": "outPed" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "int", + "name": "pedType" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x14F19A8782C8071E": { + "name": "SET_SCENARIO_PEDS_TO_BE_RETURNED_BY_NEXT_COMMAND", + "jhash": "0x85615FD0", + "comment": "Sets a value indicating whether scenario peds should be returned by the next call to a command that returns peds. Eg. GET_CLOSEST_PED.", + "params": [ + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x03EA03AF85A85CB7": { + "name": "GET_CAN_PED_BE_GRABBED_BY_SCRIPT", + "jhash": "0x18DD76A1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDED5AF5A0EA4B297": { + "name": "SET_DRIVER_RACING_MODIFIER", + "jhash": "0x6D55B3B3", + "comment": "Scripts use 0.2, 0.5 and 1.0. Value must be >= 0.0 && <= 1.0", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB195FFA8042FC5C3": { + "name": "SET_DRIVER_ABILITY", + "jhash": "0xAAD4012C", + "comment": "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.", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "float", + "name": "ability" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA731F608CA104E3C": { + "name": "SET_DRIVER_AGGRESSIVENESS", + "jhash": "0x8B02A8FB", + "comment": "range 0.0f - 1.0f", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "float", + "name": "aggressiveness" + } + ], + "return_type": "void", + "build": "323" + }, + "0x128F79EDCECE4FD5": { + "name": "CAN_PED_RAGDOLL", + "jhash": "0xC0EFB7A3", + "comment": "Prevents the ped from going limp.\n\n[Example: Can prevent peds from falling when standing on moving vehicles.]", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAE99FB955581844A": { + "name": "SET_PED_TO_RAGDOLL", + "jhash": "0x83CB5052", + "comment": "p4/p5: Unused in TU27\nRagdoll Types:\n**0**: CTaskNMRelax\n**1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.\n**Else**: CTaskNMBalance\ntime1- Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1.\n\ntime2- Unknown time, in milliseconds\n\nragdollType-\n0 : Normal ragdoll\n1 : Falls with stiff legs/body\n2 : Narrow leg stumble(may not fall)\n3 : Wide leg stumble(may not fall)\n\np4, p5, p6- No idea. In R*'s scripts they are usually either \"true, true, false\" or \"false, false, false\".\n\n\n\n\nEDIT 3/11/16: unclear what 'mircoseconds' mean-- a microsecond is 1000x a ms, so time2 must be 1000x time1? more testing needed. -sob\n\nEdit 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "time1" + }, + { + "type": "int", + "name": "time2" + }, + { + "type": "int", + "name": "ragdollType" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD76632D99E4966C8": { + "name": "SET_PED_TO_RAGDOLL_WITH_FALL", + "jhash": "0xFA12E286", + "comment": "Return variable is never used in R*'s scripts.\n\nNot 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.\n\nenum eRagdollType\n{\n RD_MALE=0,\n RD_FEMALE = 1,\n RD_MALE_LARGE = 2,\n RD_CUSTOM = 3,\n}\n\nx, y, and z are coordinates, most likely to where the ped will fall.\n\np8 to p13 are always 0f in R*'s scripts.\n\n(Simplified) Example of the usage of the function from R*'s scripts:\nped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "ragdollType" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "velocity" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "p10" + }, + { + "type": "float", + "name": "p11" + }, + { + "type": "float", + "name": "p12" + }, + { + "type": "float", + "name": "p13" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF0A4F1BBF4FA7497": { + "name": "SET_PED_RAGDOLL_ON_COLLISION", + "jhash": "0x2654A0F4", + "comment": "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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x47E4E977581C5B55": { + "name": "IS_PED_RAGDOLL", + "jhash": "0xC833BBE1", + "comment": "If the ped handle passed through the parenthesis is in a ragdoll state this will return true.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE3B6097CC25AA69E": { + "name": "IS_PED_RUNNING_RAGDOLL_TASK", + "jhash": "0x44A153F2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x01F6594B923B9251": { + "name": "SET_PED_RAGDOLL_FORCE_FALL", + "jhash": "0x20A5BDE0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9FA4664CF62E47E8": { + "name": "RESET_PED_RAGDOLL_TIMER", + "jhash": "0xF2865370", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB128377056A54E2A": { + "name": "SET_PED_CAN_RAGDOLL", + "jhash": "0xCF1384C4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD1871251F3B5ACD7": { + "name": "IS_PED_RUNNING_MELEE_TASK", + "jhash": "0xBD4236F6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2AFE52F782F25775": { + "name": "IS_PED_RUNNING_MOBILE_PHONE_TASK", + "jhash": "0xFB2AFED1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA3F3564A5B3646C0": { + "name": "IS_MOBILE_PHONE_TO_PED_EAR", + "jhash": "0x97353375", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x26695EC767728D84": { + "name": "SET_RAGDOLL_BLOCKING_FLAGS", + "jhash": "0x9C8F830D", + "comment": "Works for both player and peds,\n\nenum eRagdollBlockingFlags\n{\n RBF_BULLET_IMPACT = 0,\n RBF_VEHICLE_IMPACT = 1,\n RBF_FIRE = 2,\n RBF_ELECTROCUTION = 3,\n RBF_PLAYER_IMPACT = 4,\n RBF_EXPLOSION = 5,0\n RBF_IMPACT_OBJECT = 6,\n RBF_MELEE = 7,\n RBF_RUBBER_BULLET = 8,\n RBF_FALLING = 9,\n RBF_WATER_JET = 10,\n RBF_DROWNING = 11,\n _0x9F52E2C4 = 12,\n RBF_PLAYER_BUMP = 13,\n RBF_PLAYER_RAGDOLL_BUMP = 14,\n RBF_PED_RAGDOLL_BUMP = 15,\n RBF_VEHICLE_GRAB = 16,\n RBF_SMOKE_GRENADE = 17,\n};\n\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "blockingFlag" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_RAGDOLL_BLOCKING_FLAGS" + ] + }, + "0xD86D101FCFD00A4B": { + "name": "CLEAR_RAGDOLL_BLOCKING_FLAGS", + "jhash": "0x77CBA290", + "comment": "See SET_RAGDOLL_BLOCKING_FLAGS for flags", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "blockingFlag" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_PED_RAGDOLL_BLOCKING_FLAGS" + ] + }, + "0xC7F76DF27A5045A1": { + "name": "SET_PED_ANGLED_DEFENSIVE_AREA", + "jhash": "0x3EFBDD9B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9D3151A373974804": { + "name": "SET_PED_SPHERE_DEFENSIVE_AREA", + "jhash": "0xBD96D8E8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF9B8F91AAD3B953E": { + "name": "SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_PED", + "jhash": "0x40638BDC", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE4723DB6E736CCFF": { + "name": "SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_VEHICLE", + "jhash": "0x4763B2C6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "target" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4EF47FE21698A8B6": { + "name": "SET_PED_DEFENSIVE_AREA_ATTACHED_TO_PED", + "jhash": "0x74BDA7CE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "attachPed" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + }, + { + "type": "BOOL", + "name": "p10" + } + ], + "return_type": "void", + "build": "323" + }, + "0x413C6C763A4AFFAD": { + "name": "SET_PED_DEFENSIVE_AREA_DIRECTION", + "jhash": "0xB66B0C9A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x74D4E028107450A9": { + "name": "REMOVE_PED_DEFENSIVE_AREA", + "jhash": "0x34AAAFA5", + "comment": "Ped will no longer get angry when you stay near him.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3C06B8786DD94CD1": { + "name": "GET_PED_DEFENSIVE_AREA_POSITION", + "jhash": "0xCB65198D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xBA63D9FE45412247": { + "name": "IS_PED_DEFENSIVE_AREA_ACTIVE", + "jhash": "0x6D88BCD3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8421EB4DA7E391B9": { + "name": "SET_PED_PREFERRED_COVER_SET", + "jhash": "0xF3B7EFBF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "itemSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFDDB234CF74073D9": { + "name": "REMOVE_PED_PREFERRED_COVER_SET", + "jhash": "0xA0134498", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8D8ACD8388CD99CE": { + "name": "REVIVE_INJURED_PED", + "jhash": "0x14D3E6E3", + "comment": "It will revive/cure the injured ped. The condition is ped must not be dead.\n\nUpon 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).\n\nThis function is well suited there.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x71BC8E838B9C6035": { + "name": "RESURRECT_PED", + "jhash": "0xA4B82097", + "comment": "This function will simply bring the dead person back to life.\n\nTry 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).\n\nInstead, before calling this function, you may want to declare the position, where your Resurrected ped to be spawn at.(For instance, Around 2 floats of Player's current position.) \n\nAlso, disabling any assigned task immediately helped in the number of scenarios, where If you want peds to perform certain decided tasks.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x98EFA132A4117BE1": { + "name": "SET_PED_NAME_DEBUG", + "jhash": "0x20D6273E", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.\n\n*untested but char *name could also be a hash for a localized string", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE0AF41401ADF87E3": { + "name": "GET_PED_EXTRACTED_DISPLACEMENT", + "jhash": "0x5231F901", + "comment": "Gets the offset the specified ped has moved since the previous tick.\n\nIf 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.\n\nIf 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "worldSpace" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x5BA7919BED300023": { + "name": "SET_PED_DIES_WHEN_INJURED", + "jhash": "0xE94E24D4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x97A790315D3831FD": { + "name": "SET_PED_ENABLE_WEAPON_BLOCKING", + "jhash": "0x4CAD1A4A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF9ACF4A08098EA25": { + "name": "SPECIAL_FUNCTION_DO_NOT_USE", + "jhash": "0x141CC936", + "comment": "p1 was always 1 (true).\n\nKicks 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3AC1F7B898F30C05": { + "name": "RESET_PED_VISIBLE_DAMAGE", + "jhash": "0xC4BC4841", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x816F6981C60BF53B": { + "name": "APPLY_PED_BLOOD_DAMAGE_BY_ZONE", + "jhash": "0x1E54DB12", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x83F7E01C7B769A26": { + "name": "APPLY_PED_BLOOD", + "jhash": "0x376CE3C0", + "comment": "woundTypes:\n- soak_splat\n- wound_sheet\n- BulletSmall\n- BulletLarge\n- ShotgunSmall\n- ShotgunSmallMonolithic\n- ShotgunLarge\n- ShotgunLargeMonolithic\n- NonFatalHeadshot\n- stab\n- BasicSlash\n- Scripted_Ped_Splash_Back\n- BackSplash", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "boneIndex" + }, + { + "type": "float", + "name": "xRot" + }, + { + "type": "float", + "name": "yRot" + }, + { + "type": "float", + "name": "zRot" + }, + { + "type": "const char*", + "name": "woundType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3311E47B91EDCBBC": { + "name": "APPLY_PED_BLOOD_BY_ZONE", + "jhash": "0x8F3F3A9C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "const char*", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEF0D582CBF2D9B0F": { + "name": "APPLY_PED_BLOOD_SPECIFIC", + "jhash": "0xFC13CE80", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "int", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "const char*", + "name": "p8" + } + ], + "return_type": "void", + "build": "323" + }, + "0x397C38AA7B4A5F83": { + "name": "APPLY_PED_DAMAGE_DECAL", + "jhash": "0x8A13A41F", + "comment": "enum eDamageZone\n{\n\tDZ_Torso = 0,\n\tDZ_Head,\n\tDZ_LeftArm,\n\tDZ_RightArm,\n\tDZ_LeftLeg,\n\tDZ_RightLeg,\n};\n\nDecal Names:\nscar\nblushing\ncs_flush_anger\ncs_flush_anger_face\nbruise\nbruise_large\nherpes\nArmorBullet\nbasic_dirt_cloth\nbasic_dirt_skin\ncs_trev1_dirt\n\nAPPLY_PED_DAMAGE_DECAL(ped, 1, 0.5f, 0.513f, 0f, 1f, unk, 0, 0, \"blushing\");", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "damageZone" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "float", + "name": "alpha" + }, + { + "type": "int", + "name": "variation" + }, + { + "type": "BOOL", + "name": "fadeIn" + }, + { + "type": "const char*", + "name": "decalName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46DF918788CB093F": { + "name": "APPLY_PED_DAMAGE_PACK", + "jhash": "0x208D0CB8", + "comment": "Damage Packs:\n\n\"SCR_TrevorTreeBang\"\n\"HOSPITAL_0\"\n\"HOSPITAL_1\"\n\"HOSPITAL_2\"\n\"HOSPITAL_3\"\n\"HOSPITAL_4\"\n\"HOSPITAL_5\"\n\"HOSPITAL_6\"\n\"HOSPITAL_7\"\n\"HOSPITAL_8\"\n\"HOSPITAL_9\"\n\"SCR_Dumpster\"\n\"BigHitByVehicle\"\n\"SCR_Finale_Michael_Face\"\n\"SCR_Franklin_finb\"\n\"SCR_Finale_Michael\"\n\"SCR_Franklin_finb2\"\n\"Explosion_Med\"\n\"SCR_Torture\"\n\"SCR_TracySplash\"\n\"Skin_Melee_0\"\n\nAdditional damage packs:\n\ngist.github.com/alexguirre/f3f47f75ddcf617f416f3c8a55ae2227\nFull list of ped damage packs by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedDamagePacks.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "damagePack" + }, + { + "type": "float", + "name": "damage" + }, + { + "type": "float", + "name": "mult" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8FE22675A5A45817": { + "name": "CLEAR_PED_BLOOD_DAMAGE", + "jhash": "0xF7ADC960", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x56E3B78C5408D9F4": { + "name": "CLEAR_PED_BLOOD_DAMAGE_BY_ZONE", + "jhash": "0xF210BE69", + "comment": "Somehow related to changing ped's clothes.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x62AB793144DE75DC": { + "name": "HIDE_PED_BLOOD_DAMAGE_BY_ZONE", + "jhash": "0x0CB6C4ED", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x523C79AEEFCC4A2A": { + "name": "CLEAR_PED_DAMAGE_DECAL_BY_ZONE", + "jhash": "0x70AA5B7D", + "comment": "p1: from 0 to 5 in the b617d scripts.\np2: \"blushing\" and \"ALL\" found in the b617d scripts.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x71EAB450D86954A1": { + "name": "GET_PED_DECORATIONS_STATE", + "jhash": "0x47187F7F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2B694AFCF64E6994": { + "name": "MARK_PED_DECORATIONS_AS_CLONED_FROM_LOCAL_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C720776DAA43E7E": { + "name": "CLEAR_PED_WETNESS", + "jhash": "0x629F15BD", + "comment": "It clears the wetness of the selected Ped/Player. Clothes have to be wet to notice the difference.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x44CB6447D2571AA0": { + "name": "SET_PED_WETNESS_HEIGHT", + "jhash": "0x7B33289A", + "comment": "It adds the wetness level to the player clothing/outfit. As if player just got out from water surface.\n\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "height" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB5485E4907B53019": { + "name": "SET_PED_WETNESS_ENABLED_THIS_FRAME", + "jhash": "0xBDE749F7", + "comment": "combined with PED::SET_PED_WETNESS_HEIGHT(), this native makes the ped drenched in water up to the height specified in the other function", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAC0BB4D87777CAE2": { + "name": "SET_PED_WETNESS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "wetLevel" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x6585D955A68452A5": { + "name": "CLEAR_PED_ENV_DIRT", + "jhash": "0xA993915F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x27B0405F59637D1F": { + "name": "SET_PED_SWEAT", + "jhash": "0x76A1DB9F", + "comment": "Sweat is set to 100.0 or 0.0 in the decompiled scripts.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "sweat" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5F5D1665E352A839": { + "name": "ADD_PED_DECORATION_FROM_HASHES", + "jhash": "0x70559AC7", + "comment": "Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.\n\ncollection - PedDecorationCollection filename hash\noverlay - Item name hash\n\nExample:\nEntry inside \"mpbeach_overlays.xml\" -\n\n \n \n \n FM_Hair_Fuzz\n mp_hair_fuzz\n mp_hair_fuzz\n ZONE_HEAD\n TYPE_TATTOO\n FM\n All\n GENDER_DONTCARE\n \n \n\n\nCode:\nPED::ADD_PED_DECORATION_FROM_HASHES(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"mpbeach_overlays\"), MISC::GET_HASH_KEY(\"fm_hair_fuzz\"))\n\nFull list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "collection" + }, + { + "type": "Hash", + "name": "overlay" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_APPLY_PED_OVERLAY", + "_SET_PED_DECORATION" + ] + }, + "0x5619BFA07CFD7833": { + "name": "ADD_PED_DECORATION_FROM_HASHES_IN_CORONA", + "jhash": "0x8CD3E487", + "comment": "Full list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "collection" + }, + { + "type": "Hash", + "name": "overlay" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_FACIAL_DECORATION" + ] + }, + "0x9FD452BFBE7A7A8B": { + "name": "GET_PED_DECORATION_ZONE_FROM_HASHES", + "jhash": "0x3543019E", + "comment": "Returns the zoneID for the overlay if it is a member of collection.\nenum ePedDecorationZone\n{\n\tZONE_TORSO = 0,\n\tZONE_HEAD = 1,\n\tZONE_LEFT_ARM = 2,\n\tZONE_RIGHT_ARM = 3,\n\tZONE_LEFT_LEG = 4,\n\tZONE_RIGHT_LEG = 5,\n\tZONE_MEDALS = 6,\n\tZONE_INVALID = 7\n};\n\nFull list of ped overlays / decorations by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/pedOverlayCollections.json", + "params": [ + { + "type": "Hash", + "name": "collection" + }, + { + "type": "Hash", + "name": "overlay" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_TATTOO_ZONE" + ] + }, + "0x0E5173C163976E38": { + "name": "CLEAR_PED_DECORATIONS", + "jhash": "0xD4496BF3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE3B27E70CEAB9F0C": { + "name": "CLEAR_PED_DECORATIONS_LEAVE_SCARS", + "jhash": "0xEFD58EB9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CLEAR_PED_FACIAL_DECORATIONS" + ] + }, + "0x11B499C1E0FF8559": { + "name": "WAS_PED_SKELETON_UPDATED", + "jhash": "0xF7E2FBAD", + "comment": "Despite this function's name, it simply returns whether the specified handle is a Ped.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x17C07FC640E86B4E": { + "name": "GET_PED_BONE_COORDS", + "jhash": "0x4579CAB1", + "comment": "Gets the position of the specified bone of the specified ped.\n\nped: The ped to get the position of a bone from.\nboneId: The ID of the bone to get the position from. This is NOT the index.\noffsetX: The X-component of the offset to add to the position relative to the bone's rotation.\noffsetY: The Y-component of the offset to add to the position relative to the bone's rotation.\noffsetZ: The Z-component of the offset to add to the position relative to the bone's rotation.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "boneId" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x418EF2A1BCE56685": { + "name": "CREATE_NM_MESSAGE", + "jhash": "0x1CFBFD4B", + "comment": "Creates a new NaturalMotion message.\n\nstartImmediately: If set to true, the character will perform the message the moment it receives it by GIVE_PED_NM_MESSAGE. If false, the Ped will get the message but won't perform it yet. While it's a boolean value, if negative, the message will not be initialized.\nmessageId: The ID of the NaturalMotion message.\n\nIf a message already exists, this function does nothing. A message exists until the point it has been successfully dispatched by GIVE_PED_NM_MESSAGE.", + "params": [ + { + "type": "BOOL", + "name": "startImmediately" + }, + { + "type": "int", + "name": "messageId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB158DFCCC56E5C5B": { + "name": "GIVE_PED_NM_MESSAGE", + "jhash": "0x737C3689", + "comment": "Sends the message that was created by a call to CREATE_NM_MESSAGE to the specified Ped.\n\nIf a message hasn't been created already, this function does nothing.\nIf the Ped is not ragdolled with Euphoria enabled, this function does nothing.\nThe following call can be used to ragdoll the Ped with Euphoria enabled: SET_PED_TO_RAGDOLL(ped, 4000, 5000, 1, 1, 1, 0);\n\nCall order:\nSET_PED_TO_RAGDOLL\nCREATE_NM_MESSAGE\nGIVE_PED_NM_MESSAGE\n\nMultiple messages can be chained. Eg. to make the ped stagger and swing his arms around, the following calls can be made:\nSET_PED_TO_RAGDOLL(ped, 4000, 5000, 1, 1, 1, 0);\nCREATE_NM_MESSAGE(true, 0); // stopAllBehaviours - Stop all other behaviours, in case the Ped is already doing some Euphoria stuff.\nGIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped.\nCREATE_NM_MESSAGE(true, 1151); // staggerFall - Attempt to walk while falling.\nGIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped.\nCREATE_NM_MESSAGE(true, 372); // armsWindmill - Swing arms around.\nGIVE_PED_NM_MESSAGE(ped); // Dispatch message to Ped.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1B5C85C612E5256E": { + "name": "ADD_SCENARIO_BLOCKING_AREA", + "jhash": "0xA38C0234", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "p6" + }, + { + "type": "BOOL", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "BOOL", + "name": "p9" + } + ], + "return_type": "int", + "build": "323" + }, + "0xD37401D78A929A49": { + "name": "REMOVE_SCENARIO_BLOCKING_AREAS", + "jhash": "0x4DDF845F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x31D16B74C6E29D66": { + "name": "REMOVE_SCENARIO_BLOCKING_AREA", + "jhash": "0x4483EF06", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x28157D43CF600981": { + "name": "SET_SCENARIO_PEDS_SPAWN_IN_SPHERE_AREA", + "jhash": "0x80EAD297", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "range" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8A24B067D175A7BD": { + "name": "DOES_SCENARIO_BLOCKING_AREA_EXISTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "BOOL", + "build": "678", + "old_names": [ + "_DOES_SCENARIO_BLOCKING_AREA_EXIST" + ] + }, + "0x1BF094736DD62C2E": { + "name": "IS_PED_USING_SCENARIO", + "jhash": "0x0F65B0D4", + "comment": "Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "scenario" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x57AB4A3080F85143": { + "name": "IS_PED_USING_ANY_SCENARIO", + "jhash": "0x195EF5B7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFE07FF6495D52E2A": { + "name": "SET_PED_PANIC_EXIT_SCENARIO", + "jhash": "0x59DE73AC", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9A77DFD295E29B09": { + "name": "TOGGLE_SCENARIO_PED_COWER_IN_PLACE", + "jhash": "0xC08FE5F6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_SCARED_WHEN_USING_SCENARIO" + ] + }, + "0x25361A96E0F7E419": { + "name": "TRIGGER_PED_SCENARIO_PANICEXITTOFLEE", + "jhash": "0x58C0F6CF", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEC6935EBE0847B90": { + "name": "SET_PED_SHOULD_PLAY_DIRECTED_NORMAL_SCENARIO_EXIT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SET_PED_SHOULD_PLAY_DIRECTED_SCENARIO_EXIT" + ] + }, + "0xA3A9299C4F2ADB98": { + "name": "SET_PED_SHOULD_PLAY_NORMAL_SCENARIO_EXIT", + "jhash": "0x033F43FA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF1C03A5352243A30": { + "name": "SET_PED_SHOULD_PLAY_IMMEDIATE_SCENARIO_EXIT", + "jhash": "0x4C684C81", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEEED8FAFEC331A70": { + "name": "SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT", + "jhash": "0x7B4C3E6F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x425AECF167663F48": { + "name": "SET_PED_SHOULD_IGNORE_SCENARIO_EXIT_COLLISION_CHECKS", + "jhash": "0x5BC276AE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5B6010B3CBC29095": { + "name": "SET_PED_SHOULD_IGNORE_SCENARIO_NAV_CHECKS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCEDA60A74219D064": { + "name": "SET_PED_SHOULD_PROBE_FOR_SCENARIO_EXITS_IN_ONE_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC30BDAEE47256C13": { + "name": "IS_PED_GESTURING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "1868" + }, + "0x007FDE5A7897E426": { + "name": "RESET_FACIAL_IDLE_ANIM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xE1E65CA8AC9C00ED": { + "name": "PLAY_FACIAL_ANIM", + "jhash": "0x1F6CCDDE", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "const char*", + "name": "animDict" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5687C7F05B39E401": { + "name": "SET_FACIAL_CLIPSET", + "jhash": "", + "comment": "Clipsets:\nfacials@gen_female@base\nfacials@gen_male@base\nfacials@p_m_zero@base\n\nTypically followed with SET_FACIAL_IDLE_ANIM_OVERRIDE:\nmood_drunk_1\nmood_stressed_1\nmood_happy_1\nmood_talking_1\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_FACIAL_CLIPSET_OVERRIDE" + ] + }, + "0xFFC24B988B938B38": { + "name": "SET_FACIAL_IDLE_ANIM_OVERRIDE", + "jhash": "0x9BA19C13", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "const char*", + "name": "animDict" + } + ], + "return_type": "void", + "build": "323" + }, + "0x726256CC1EEB182F": { + "name": "CLEAR_FACIAL_IDLE_ANIM_OVERRIDE", + "jhash": "0x5244F4E2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBAF20C5432058024": { + "name": "SET_PED_CAN_PLAY_GESTURE_ANIMS", + "jhash": "0xE131E3B3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF833DDBA3B104D43": { + "name": "SET_PED_CAN_PLAY_VISEME_ANIMS", + "jhash": "0xA2FDAF27", + "comment": "p2 usually 0", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x33A60D8BDD6E508C": { + "name": "SET_PED_IS_IGNORED_BY_AUTO_OPEN_DOORS", + "jhash": "0xADB2511A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_CAN_PLAY_INJURED_ANIMS" + ] + }, + "0x6373D1349925A70E": { + "name": "SET_PED_CAN_PLAY_AMBIENT_ANIMS", + "jhash": "0xF8053081", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0EB0585D15254740": { + "name": "SET_PED_CAN_PLAY_AMBIENT_BASE_ANIMS", + "jhash": "0x5720A5DD", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC2EE020F5FB4DB53": { + "name": "TRIGGER_IDLE_ANIMATION_ON_PED", + "jhash": "0xB7CD0A49", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6C3B4D6D13B4C841": { + "name": "SET_PED_CAN_ARM_IK", + "jhash": "0x343B4DE0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC11C18092C5530DC": { + "name": "SET_PED_CAN_HEAD_IK", + "jhash": "0xD3B04476", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x73518ECE2485412B": { + "name": "SET_PED_CAN_LEG_IK", + "jhash": "0x9955BC6F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF2B7106D37947CE0": { + "name": "SET_PED_CAN_TORSO_IK", + "jhash": "0x8E5D4EAB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF5846EDB26A98A24": { + "name": "SET_PED_CAN_TORSO_REACT_IK", + "jhash": "0x7B0040A8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6647C5F6F5792496": { + "name": "SET_PED_CAN_TORSO_VEHICLE_IK", + "jhash": "0x0FDA62DE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEC4686EC06434678": { + "name": "SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT", + "jhash": "0x584C5178", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5CD3CB88A7F8850D": { + "name": "IS_PED_HEADTRACKING_PED", + "jhash": "0x2A5DF721", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped1" + }, + { + "type": "Ped", + "name": "ped2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x813A0A7C9D2E831F": { + "name": "IS_PED_HEADTRACKING_ENTITY", + "jhash": "0x233C9ACF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCD17B554996A8D9E": { + "name": "SET_PED_PRIMARY_LOOKAT", + "jhash": "0x6DEF6F1C", + "comment": "This is only called once in the scripts.\n\nsub_1CD9(&l_49, 0, getElem(3, &l_34, 4), \"MICHAEL\", 0, 1);\n sub_1CA8(\"WORLD_HUMAN_SMOKING\", 2);\n PED::SET_PED_PRIMARY_LOOKAT(getElem(3, &l_34, 4), PLAYER::PLAYER_PED_ID());", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "lookAt" + } + ], + "return_type": "void", + "build": "323" + }, + "0x78C4E9961DB3EB5B": { + "name": "SET_PED_CLOTH_PIN_FRAMES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_PED_CLOTH_PACKAGE_INDEX" + ] + }, + "0x82A3D6D9CC2CB8E3": { + "name": "SET_PED_CLOTH_PACKAGE_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_PED_CLOTH_PRONE" + ] + }, + "0xA660FAF550EB37E5": { + "name": "SET_PED_CLOTH_PRONE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1913FE4CBF41C463": { + "name": "SET_PED_CONFIG_FLAG", + "jhash": "0x9CFBE10D", + "comment": "enum ePedConfigFlags\n{\n\t_CPED_CONFIG_FLAG_0xC63DE95E = 1,\n\tCPED_CONFIG_FLAG_NoCriticalHits = 2,\n\tCPED_CONFIG_FLAG_DrownsInWater = 3,\n\tCPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,\n\t_CPED_CONFIG_FLAG_0x37D196F4 = 5,\n\t_CPED_CONFIG_FLAG_0xE2462399 = 6,\n\tCPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,\n\t_CPED_CONFIG_FLAG_0xEDDEB838 = 8,\n\t_CPED_CONFIG_FLAG_0xB398B6FD = 9,\n\t_CPED_CONFIG_FLAG_0xF6664E68 = 10,\n\t_CPED_CONFIG_FLAG_0xA05E7CA3 = 11,\n\t_CPED_CONFIG_FLAG_0xCE394045 = 12,\n\tCPED_CONFIG_FLAG_NeverLeavesGroup = 13,\n\t_CPED_CONFIG_FLAG_0xCD8D1411 = 14,\n\t_CPED_CONFIG_FLAG_0xB031F1A9 = 15,\n\t_CPED_CONFIG_FLAG_0xFE65BEE3 = 16,\n\tCPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,\n\t_CPED_CONFIG_FLAG_0x380165BD = 18,\n\t_CPED_CONFIG_FLAG_0x07C045C7 = 19,\n\t_CPED_CONFIG_FLAG_0x583B5E2D = 20,\n\t_CPED_CONFIG_FLAG_0x475EDA58 = 21,\n\t_CPED_CONFIG_FLAG_0x8629D05B = 22,\n\t_CPED_CONFIG_FLAG_0x1522968B = 23,\n\tCPED_CONFIG_FLAG_IgnoreSeenMelee = 24,\n\t_CPED_CONFIG_FLAG_0x4CC09C4B = 25,\n\t_CPED_CONFIG_FLAG_0x034F3053 = 26,\n\t_CPED_CONFIG_FLAG_0xD91BA7CC = 27,\n\t_CPED_CONFIG_FLAG_0x5C8DC66E = 28,\n\tCPED_CONFIG_FLAG_GetOutUndriveableVehicle = 29,\n\t_CPED_CONFIG_FLAG_0x6580B9D2 = 30,\n\t_CPED_CONFIG_FLAG_0x0EF7A297 = 31,\n\tCPED_CONFIG_FLAG_WillFlyThruWindscreen = 32,\n\tCPED_CONFIG_FLAG_DieWhenRagdoll = 33,\n\tCPED_CONFIG_FLAG_HasHelmet = 34,\n\tCPED_CONFIG_FLAG_UseHelmet = 35,\n\tCPED_CONFIG_FLAG_DontTakeOffHelmet = 36,\n\t_CPED_CONFIG_FLAG_0xB130D17B = 37,\n\t_CPED_CONFIG_FLAG_0x5F071200 = 38,\n\tCPED_CONFIG_FLAG_DisableEvasiveDives = 39,\n\t_CPED_CONFIG_FLAG_0xC287AAFF = 40,\n\t_CPED_CONFIG_FLAG_0x203328CC = 41,\n\tCPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,\n\tCPED_CONFIG_FLAG_DisablePlayerLockon = 43,\n\tCPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,\n\tCPED_CONFIG_FLAG_AllowLockonToFriendlyPlayers = 45,\n\t_CPED_CONFIG_FLAG_0xDB115BFA = 46,\n\tCPED_CONFIG_FLAG_PedBeingDeleted = 47,\n\tCPED_CONFIG_FLAG_BlockWeaponSwitching = 48,\n\t_CPED_CONFIG_FLAG_0xF8E99565 = 49,\n\t_CPED_CONFIG_FLAG_0xDD17FEE6 = 50,\n\t_CPED_CONFIG_FLAG_0x7ED9B2C9 = 51,\n\t_CPED_CONFIG_FLAG_NoCollison = 52,\n\t_CPED_CONFIG_FLAG_0x5A6C1F6E = 53,\n\t_CPED_CONFIG_FLAG_0xD749FC41 = 54,\n\t_CPED_CONFIG_FLAG_0x357F63F3 = 55,\n\t_CPED_CONFIG_FLAG_0xC5E60961 = 56,\n\t_CPED_CONFIG_FLAG_0x29275C3E = 57,\n\tCPED_CONFIG_FLAG_IsFiring = 58,\n\tCPED_CONFIG_FLAG_WasFiring = 59,\n\tCPED_CONFIG_FLAG_IsStanding = 60,\n\tCPED_CONFIG_FLAG_WasStanding = 61,\n\tCPED_CONFIG_FLAG_InVehicle = 62,\n\tCPED_CONFIG_FLAG_OnMount = 63,\n\tCPED_CONFIG_FLAG_AttachedToVehicle = 64,\n\tCPED_CONFIG_FLAG_IsSwimming = 65,\n\tCPED_CONFIG_FLAG_WasSwimming = 66,\n\tCPED_CONFIG_FLAG_IsSkiing = 67,\n\tCPED_CONFIG_FLAG_IsSitting = 68,\n\tCPED_CONFIG_FLAG_KilledByStealth = 69,\n\tCPED_CONFIG_FLAG_KilledByTakedown = 70,\n\tCPED_CONFIG_FLAG_Knockedout = 71,\n\t_CPED_CONFIG_FLAG_0x3E3C4560 = 72,\n\t_CPED_CONFIG_FLAG_0x2994C7B7 = 73,\n\t_CPED_CONFIG_FLAG_0x6D59D275 = 74,\n\tCPED_CONFIG_FLAG_UsingCoverPoint = 75,\n\tCPED_CONFIG_FLAG_IsInTheAir = 76,\n\t_CPED_CONFIG_FLAG_0x2D493FB7 = 77,\n\tCPED_CONFIG_FLAG_IsAimingGun = 78,\n\t_CPED_CONFIG_FLAG_0x14D69875 = 79,\n\t_CPED_CONFIG_FLAG_0x40B05311 = 80,\n\t_CPED_CONFIG_FLAG_0x8B230BC5 = 81,\n\t_CPED_CONFIG_FLAG_0xC74E5842 = 82,\n\t_CPED_CONFIG_FLAG_0x9EA86147 = 83,\n\t_CPED_CONFIG_FLAG_0x674C746C = 84,\n\t_CPED_CONFIG_FLAG_0x3E56A8C2 = 85,\n\t_CPED_CONFIG_FLAG_0xC144A1EF = 86,\n\t_CPED_CONFIG_FLAG_0x0548512D = 87,\n\t_CPED_CONFIG_FLAG_0x31C93909 = 88,\n\t_CPED_CONFIG_FLAG_0xA0269315 = 89,\n\t_CPED_CONFIG_FLAG_0xD4D59D4D = 90,\n\t_CPED_CONFIG_FLAG_0x411D4420 = 91,\n\t_CPED_CONFIG_FLAG_0xDF4AEF0D = 92,\n\tCPED_CONFIG_FLAG_ForcePedLoadCover = 93,\n\t_CPED_CONFIG_FLAG_0x300E4CD3 = 94,\n\t_CPED_CONFIG_FLAG_0xF1C5BF04 = 95,\n\t_CPED_CONFIG_FLAG_0x89C2EF13 = 96,\n\tCPED_CONFIG_FLAG_VaultFromCover = 97,\n\t_CPED_CONFIG_FLAG_0x02A852C8 = 98,\n\t_CPED_CONFIG_FLAG_0x3D9407F1 = 99,\n\t_CPED_CONFIG_FLAG_IsDrunk = 100, // 0x319B4558\n\tCPED_CONFIG_FLAG_ForcedAim = 101,\n\t_CPED_CONFIG_FLAG_0xB942D71A = 102,\n\t_CPED_CONFIG_FLAG_0xD26C55A8 = 103,\n\tCPED_CONFIG_FLAG_OpenDoorArmIK = 104,\n\tCPED_CONFIG_FLAG_ForceReload = 105,\n\tCPED_CONFIG_FLAG_DontActivateRagdollFromVehicleImpact = 106,\n\tCPED_CONFIG_FLAG_DontActivateRagdollFromBulletImpact = 107,\n\tCPED_CONFIG_FLAG_DontActivateRagdollFromExplosions = 108,\n\tCPED_CONFIG_FLAG_DontActivateRagdollFromFire = 109,\n\tCPED_CONFIG_FLAG_DontActivateRagdollFromElectrocution = 110,\n\t_CPED_CONFIG_FLAG_0x83C0A4BF = 111,\n\t_CPED_CONFIG_FLAG_0x0E0FAF8C = 112,\n\tCPED_CONFIG_FLAG_KeepWeaponHolsteredUnlessFired = 113,\n\t_CPED_CONFIG_FLAG_0x43B80B79 = 114,\n\t_CPED_CONFIG_FLAG_0x0D2A9309 = 115,\n\tCPED_CONFIG_FLAG_GetOutBurningVehicle = 116,\n\tCPED_CONFIG_FLAG_BumpedByPlayer = 117,\n\tCPED_CONFIG_FLAG_RunFromFiresAndExplosions = 118,\n\tCPED_CONFIG_FLAG_TreatAsPlayerDuringTargeting = 119,\n\tCPED_CONFIG_FLAG_IsHandCuffed = 120,\n\tCPED_CONFIG_FLAG_IsAnkleCuffed = 121,\n\tCPED_CONFIG_FLAG_DisableMelee = 122,\n\tCPED_CONFIG_FLAG_DisableUnarmedDrivebys = 123,\n\tCPED_CONFIG_FLAG_JustGetsPulledOutWhenElectrocuted = 124,\n\t_CPED_CONFIG_FLAG_0x5FED6BFD = 125,\n\tCPED_CONFIG_FLAG_WillNotHotwireLawEnforcementVehicle = 126,\n\tCPED_CONFIG_FLAG_WillCommandeerRatherThanJack = 127,\n\tCPED_CONFIG_FLAG_CanBeAgitated = 128,\n\tCPED_CONFIG_FLAG_ForcePedToFaceLeftInCover = 129,\n\tCPED_CONFIG_FLAG_ForcePedToFaceRightInCover = 130,\n\tCPED_CONFIG_FLAG_BlockPedFromTurningInCover = 131,\n\tCPED_CONFIG_FLAG_KeepRelationshipGroupAfterCleanUp = 132,\n\tCPED_CONFIG_FLAG_ForcePedToBeDragged = 133,\n\tCPED_CONFIG_FLAG_PreventPedFromReactingToBeingJacked = 134,\n\tCPED_CONFIG_FLAG_IsScuba = 135,\n\tCPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,\n\tCPED_CONFIG_FLAG_RemoveDeadExtraFarAway = 137,\n\tCPED_CONFIG_FLAG_RidingTrain = 138,\n\tCPED_CONFIG_FLAG_ArrestResult = 139,\n\tCPED_CONFIG_FLAG_CanAttackFriendly = 140,\n\tCPED_CONFIG_FLAG_WillJackAnyPlayer = 141,\n\t_CPED_CONFIG_FLAG_0x6901E731 = 142,\n\t_CPED_CONFIG_FLAG_0x9EC9BF6C = 143,\n\tCPED_CONFIG_FLAG_WillJackWantedPlayersRatherThanStealCar = 144,\n\tCPED_CONFIG_FLAG_ShootingAnimFlag = 145,\n\tCPED_CONFIG_FLAG_DisableLadderClimbing = 146,\n\tCPED_CONFIG_FLAG_StairsDetected = 147,\n\tCPED_CONFIG_FLAG_SlopeDetected = 148,\n\t_CPED_CONFIG_FLAG_0x1A15670B = 149,\n\tCPED_CONFIG_FLAG_CowerInsteadOfFlee = 150,\n\tCPED_CONFIG_FLAG_CanActivateRagdollWhenVehicleUpsideDown = 151,\n\tCPED_CONFIG_FLAG_AlwaysRespondToCriesForHelp = 152,\n\tCPED_CONFIG_FLAG_DisableBloodPoolCreation = 153,\n\tCPED_CONFIG_FLAG_ShouldFixIfNoCollision = 154,\n\tCPED_CONFIG_FLAG_CanPerformArrest = 155,\n\tCPED_CONFIG_FLAG_CanPerformUncuff = 156,\n\tCPED_CONFIG_FLAG_CanBeArrested = 157,\n\t_CPED_CONFIG_FLAG_0xF7960FF5 = 158,\n\tCPED_CONFIG_FLAG_PlayerPreferFrontSeatMP = 159,\n\t_CPED_CONFIG_FLAG_0x0C6C3099 = 160,\n\t_CPED_CONFIG_FLAG_0x645F927A = 161,\n\t_CPED_CONFIG_FLAG_0xA86549B9 = 162,\n\t_CPED_CONFIG_FLAG_0x8AAF337A = 163,\n\t_CPED_CONFIG_FLAG_0x13BAA6E7 = 164,\n\t_CPED_CONFIG_FLAG_0x5FB9D1F5 = 165,\n\tCPED_CONFIG_FLAG_IsInjured = 166,\n\tCPED_CONFIG_FLAG_DontEnterVehiclesInPlayersGroup = 167,\n\t_CPED_CONFIG_FLAG_0xD8072639 = 168,\n\tCPED_CONFIG_FLAG_PreventAllMeleeTaunts = 169,\n\tCPED_CONFIG_FLAG_ForceDirectEntry = 170,\n\tCPED_CONFIG_FLAG_AlwaysSeeApproachingVehicles = 171,\n\tCPED_CONFIG_FLAG_CanDiveAwayFromApproachingVehicles = 172,\n\tCPED_CONFIG_FLAG_AllowPlayerToInterruptVehicleEntryExit = 173,\n\tCPED_CONFIG_FLAG_OnlyAttackLawIfPlayerIsWanted = 174,\n\t_CPED_CONFIG_FLAG_0x90008BFA = 175,\n\t_CPED_CONFIG_FLAG_0x07C7A910 = 176,\n\tCPED_CONFIG_FLAG_PedsJackingMeDontGetIn = 177,\n\t_CPED_CONFIG_FLAG_0xCE4E8BE2 = 178,\n\tCPED_CONFIG_FLAG_PedIgnoresAnimInterruptEvents = 179,\n\tCPED_CONFIG_FLAG_IsInCustody = 180,\n\tCPED_CONFIG_FLAG_ForceStandardBumpReactionThresholds = 181,\n\tCPED_CONFIG_FLAG_LawWillOnlyAttackIfPlayerIsWanted = 182,\n\tCPED_CONFIG_FLAG_IsAgitated = 183,\n\tCPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,\n\tCPED_CONFIG_FLAG_UseKinematicModeWhenStationary = 185,\n\tCPED_CONFIG_FLAG_EnableWeaponBlocking = 186,\n\tCPED_CONFIG_FLAG_HasHurtStarted = 187,\n\tCPED_CONFIG_FLAG_DisableHurt = 188,\n\tCPED_CONFIG_FLAG_PlayerIsWeird = 189,\n\t_CPED_CONFIG_FLAG_0x32FC208B = 190,\n\t_CPED_CONFIG_FLAG_0x0C296E5A = 191,\n\t_CPED_CONFIG_FLAG_0xE63B73EC = 192,\n\tCPED_CONFIG_FLAG_DoNothingWhenOnFootByDefault = 193,\n\tCPED_CONFIG_FLAG_UsingScenario = 194,\n\tCPED_CONFIG_FLAG_VisibleOnScreen = 195,\n\t_CPED_CONFIG_FLAG_0xD88C58A1 = 196,\n\t_CPED_CONFIG_FLAG_0x5A3DCF43 = 197,\n\t_CPED_CONFIG_FLAG_0xEA02B420 = 198,\n\tCPED_CONFIG_FLAG_DontActivateRagdollOnVehicleCollisionWhenDead = 199,\n\tCPED_CONFIG_FLAG_HasBeenInArmedCombat = 200,\n\t_CPED_CONFIG_FLAG_0x5E6466F6 = 201,\n\tCPED_CONFIG_FLAG_Avoidance_Ignore_All = 202,\n\tCPED_CONFIG_FLAG_Avoidance_Ignored_by_All = 203,\n\tCPED_CONFIG_FLAG_Avoidance_Ignore_Group1 = 204,\n\tCPED_CONFIG_FLAG_Avoidance_Member_of_Group1 = 205,\n\tCPED_CONFIG_FLAG_ForcedToUseSpecificGroupSeatIndex = 206,\n\t_CPED_CONFIG_FLAG_0x415B26B9 = 207,\n\tCPED_CONFIG_FLAG_DisableExplosionReactions = 208,\n\tCPED_CONFIG_FLAG_DodgedPlayer = 209,\n\tCPED_CONFIG_FLAG_WaitingForPlayerControlInterrupt = 210,\n\tCPED_CONFIG_FLAG_ForcedToStayInCover = 211,\n\tCPED_CONFIG_FLAG_GeneratesSoundEvents = 212,\n\tCPED_CONFIG_FLAG_ListensToSoundEvents = 213,\n\tCPED_CONFIG_FLAG_AllowToBeTargetedInAVehicle = 214,\n\tCPED_CONFIG_FLAG_WaitForDirectEntryPointToBeFreeWhenExiting = 215,\n\tCPED_CONFIG_FLAG_OnlyRequireOnePressToExitVehicle = 216,\n\tCPED_CONFIG_FLAG_ForceExitToSkyDive = 217,\n\t_CPED_CONFIG_FLAG_0x3C7DF9DF = 218,\n\t_CPED_CONFIG_FLAG_0x848FFEF2 = 219,\n\tCPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,\n\tCPED_CONFIG_FLAG_DisableExitToSkyDive = 221,\n\t_CPED_CONFIG_FLAG_0x84F722FA = 222,\n\t_CPED_CONFIG_FLAG_Shrink = 223, // 0xD1B87B1F\n\t_CPED_CONFIG_FLAG_0x728AA918 = 224,\n\tCPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,\n\tCPED_CONFIG_FLAG_DisablePedAvoidance = 226,\n\tCPED_CONFIG_FLAG_ForceRagdollUponDeath = 227,\n\t_CPED_CONFIG_FLAG_0x1EA7225F = 228,\n\tCPED_CONFIG_FLAG_DisablePanicInVehicle = 229,\n\tCPED_CONFIG_FLAG_AllowedToDetachTrailer = 230,\n\t_CPED_CONFIG_FLAG_0xFC3E572D = 231,\n\t_CPED_CONFIG_FLAG_0x08E9F9CF = 232,\n\t_CPED_CONFIG_FLAG_0x2D3BA52D = 233,\n\t_CPED_CONFIG_FLAG_0xFD2F53EA = 234,\n\t_CPED_CONFIG_FLAG_0x31A1B03B = 235,\n\tCPED_CONFIG_FLAG_IsHoldingProp = 236,\n\tCPED_CONFIG_FLAG_BlocksPathingWhenDead = 237,\n\t_CPED_CONFIG_FLAG_0xCE57C9A3 = 238,\n\t_CPED_CONFIG_FLAG_0x26149198 = 239,\n\tCPED_CONFIG_FLAG_ForceSkinCharacterCloth = 240,\n\tCPED_CONFIG_FLAG_LeaveEngineOnWhenExitingVehicles = 241,\n\tCPED_CONFIG_FLAG_PhoneDisableTextingAnimations = 242,\n\tCPED_CONFIG_FLAG_PhoneDisableTalkingAnimations = 243,\n\tCPED_CONFIG_FLAG_PhoneDisableCameraAnimations = 244,\n\tCPED_CONFIG_FLAG_DisableBlindFiringInShotReactions = 245,\n\tCPED_CONFIG_FLAG_AllowNearbyCoverUsage = 246,\n\t_CPED_CONFIG_FLAG_0x0C754ACA = 247,\n\tCPED_CONFIG_FLAG_CanPlayInCarIdles = 248,\n\tCPED_CONFIG_FLAG_CanAttackNonWantedPlayerAsLaw = 249,\n\tCPED_CONFIG_FLAG_WillTakeDamageWhenVehicleCrashes = 250,\n\tCPED_CONFIG_FLAG_AICanDrivePlayerAsRearPassenger = 251,\n\tCPED_CONFIG_FLAG_PlayerCanJackFriendlyPlayers = 252,\n\tCPED_CONFIG_FLAG_OnStairs = 253,\n\t_CPED_CONFIG_FLAG_0xE1A2F73F = 254,\n\tCPED_CONFIG_FLAG_AIDriverAllowFriendlyPassengerSeatEntry = 255,\n\t_CPED_CONFIG_FLAG_0xF1EB20A9 = 256,\n\tCPED_CONFIG_FLAG_AllowMissionPedToUseInjuredMovement = 257,\n\t_CPED_CONFIG_FLAG_0x329DCF1A = 258,\n\t_CPED_CONFIG_FLAG_0x8D90DD1B = 259,\n\t_CPED_CONFIG_FLAG_0xB8A292B7 = 260,\n\tCPED_CONFIG_FLAG_PreventUsingLowerPrioritySeats = 261,\n\t_CPED_CONFIG_FLAG_0x2AF558F0 = 262,\n\t_CPED_CONFIG_FLAG_0x82251455 = 263,\n\t_CPED_CONFIG_FLAG_0x30CF498B = 264,\n\t_CPED_CONFIG_FLAG_0xE1CD50AF = 265,\n\t_CPED_CONFIG_FLAG_0x72E4AE48 = 266,\n\t_CPED_CONFIG_FLAG_0xC2657EA1 = 267,\n\tCPED_CONFIG_FLAG_TeleportToLeaderVehicle = 268,\n\tCPED_CONFIG_FLAG_Avoidance_Ignore_WeirdPedBuffer = 269,\n\tCPED_CONFIG_FLAG_OnStairSlope = 270,\n\t_CPED_CONFIG_FLAG_0xA0897933 = 271,\n\tCPED_CONFIG_FLAG_DontBlipCop = 272,\n\tCPED_CONFIG_FLAG_ClimbedShiftedFence = 273,\n\t_CPED_CONFIG_FLAG_0xF7823618 = 274,\n\tCPED_CONFIG_FLAG_KillWhenTrapped = 275,\n\tCPED_CONFIG_FLAG_EdgeDetected = 276,\n\t_CPED_CONFIG_FLAG_0x92B67896 = 277,\n\t_CPED_CONFIG_FLAG_0xCAD677C9 = 278,\n\tCPED_CONFIG_FLAG_AvoidTearGas = 279,\n\t_CPED_CONFIG_FLAG_0x5276AC7B = 280,\n\tCPED_CONFIG_FLAG_DisableGoToWritheWhenInjured = 281,\n\tCPED_CONFIG_FLAG_OnlyUseForcedSeatWhenEnteringHeliInGroup = 282,\n\t_CPED_CONFIG_FLAG_0x9139724D = 283,\n\t_CPED_CONFIG_FLAG_0xA1457461 = 284,\n\tCPED_CONFIG_FLAG_DisableWeirdPedEvents = 285,\n\tCPED_CONFIG_FLAG_ShouldChargeNow = 286,\n\tCPED_CONFIG_FLAG_RagdollingOnBoat = 287,\n\tCPED_CONFIG_FLAG_HasBrandishedWeapon = 288,\n\t_CPED_CONFIG_FLAG_0x1B9EE8A1 = 289,\n\t_CPED_CONFIG_FLAG_0xF3F5758C = 290,\n\t_CPED_CONFIG_FLAG_0x2A9307F1 = 291,\n\t_CPED_CONFIG_FLAG_FreezePosition = 292, // 0x7403D216\n\t_CPED_CONFIG_FLAG_0xA06A3C6C = 293,\n\tCPED_CONFIG_FLAG_DisableShockingEvents = 294,\n\t_CPED_CONFIG_FLAG_0xF8DA25A5 = 295,\n\tCPED_CONFIG_FLAG_NeverReactToPedOnRoof = 296,\n\t_CPED_CONFIG_FLAG_0xB31F1187 = 297,\n\t_CPED_CONFIG_FLAG_0x84315402 = 298,\n\tCPED_CONFIG_FLAG_DisableShockingDrivingOnPavementEvents = 299,\n\t_CPED_CONFIG_FLAG_0xC7829B67 = 300,\n\tCPED_CONFIG_FLAG_DisablePedConstraints = 301,\n\tCPED_CONFIG_FLAG_ForceInitialPeekInCover = 302,\n\t_CPED_CONFIG_FLAG_0x2ADA871B = 303,\n\t_CPED_CONFIG_FLAG_0x47BC8A58 = 304,\n\tCPED_CONFIG_FLAG_DisableJumpingFromVehiclesAfterLeader = 305,\n\t_CPED_CONFIG_FLAG_0x4A133C50 = 306,\n\t_CPED_CONFIG_FLAG_0xC58099C3 = 307,\n\t_CPED_CONFIG_FLAG_0xF3D76D41 = 308,\n\t_CPED_CONFIG_FLAG_0xB0EEE9F2 = 309,\n\tCPED_CONFIG_FLAG_IsInCluster = 310,\n\tCPED_CONFIG_FLAG_ShoutToGroupOnPlayerMelee = 311,\n\tCPED_CONFIG_FLAG_IgnoredByAutoOpenDoors = 312,\n\t_CPED_CONFIG_FLAG_0xD4136C22 = 313,\n\tCPED_CONFIG_FLAG_ForceIgnoreMeleeActiveCombatant = 314,\n\tCPED_CONFIG_FLAG_CheckLoSForSoundEvents = 315,\n\t_CPED_CONFIG_FLAG_0xD5C98277 = 316,\n\tCPED_CONFIG_FLAG_CanSayFollowedByPlayerAudio = 317,\n\tCPED_CONFIG_FLAG_ActivateRagdollFromMinorPlayerContact = 318,\n\t_CPED_CONFIG_FLAG_0xD8BE1D54 = 319,\n\tCPED_CONFIG_FLAG_ForcePoseCharacterCloth = 320,\n\tCPED_CONFIG_FLAG_HasClothCollisionBounds = 321,\n\tCPED_CONFIG_FLAG_HasHighHeels = 322,\n\t_CPED_CONFIG_FLAG_0x86B01E54 = 323,\n\tCPED_CONFIG_FLAG_DontBehaveLikeLaw = 324,\n\t_CPED_CONFIG_FLAG_0xC03B736C = 325, // SpawnedAtScenario?\n\tCPED_CONFIG_FLAG_DisablePoliceInvestigatingBody = 326,\n\tCPED_CONFIG_FLAG_DisableWritheShootFromGround = 327,\n\tCPED_CONFIG_FLAG_LowerPriorityOfWarpSeats = 328,\n\tCPED_CONFIG_FLAG_DisableTalkTo = 329,\n\tCPED_CONFIG_FLAG_DontBlip = 330,\n\tCPED_CONFIG_FLAG_IsSwitchingWeapon = 331,\n\tCPED_CONFIG_FLAG_IgnoreLegIkRestrictions = 332,\n\t_CPED_CONFIG_FLAG_0x150468FD = 333,\n\t_CPED_CONFIG_FLAG_0x914EBD6B = 334,\n\t_CPED_CONFIG_FLAG_0x79AF3B6D = 335,\n\t_CPED_CONFIG_FLAG_0x75C7A632 = 336,\n\t_CPED_CONFIG_FLAG_0x52D530E2 = 337,\n\t_CPED_CONFIG_FLAG_0xDB2A90E0 = 338,\n\tCPED_CONFIG_FLAG_AllowTaskDoNothingTimeslicing = 339,\n\t_CPED_CONFIG_FLAG_0x12ADB567 = 340,\n\t_CPED_CONFIG_FLAG_0x105C8518 = 341,\n\tCPED_CONFIG_FLAG_NotAllowedToJackAnyPlayers = 342,\n\t_CPED_CONFIG_FLAG_0xED152C3E = 343,\n\t_CPED_CONFIG_FLAG_0xA0EFE6A8 = 344,\n\tCPED_CONFIG_FLAG_AlwaysLeaveTrainUponArrival = 345,\n\t_CPED_CONFIG_FLAG_0xCDDFE830 = 346,\n\tCPED_CONFIG_FLAG_OnlyWritheFromWeaponDamage = 347,\n\tCPED_CONFIG_FLAG_UseSloMoBloodVfx = 348,\n\tCPED_CONFIG_FLAG_EquipJetpack = 349,\n\tCPED_CONFIG_FLAG_PreventDraggedOutOfCarThreatResponse = 350,\n\t_CPED_CONFIG_FLAG_0xE13D1F7C = 351,\n\t_CPED_CONFIG_FLAG_0x40E25FB9 = 352,\n\t_CPED_CONFIG_FLAG_0x930629D9 = 353,\n\t_CPED_CONFIG_FLAG_0xECCF0C7F = 354,\n\t_CPED_CONFIG_FLAG_0xB6E9613B = 355,\n\tCPED_CONFIG_FLAG_ForceDeepSurfaceCheck = 356,\n\tCPED_CONFIG_FLAG_DisableDeepSurfaceAnims = 357,\n\tCPED_CONFIG_FLAG_DontBlipNotSynced = 358,\n\tCPED_CONFIG_FLAG_IsDuckingInVehicle = 359,\n\tCPED_CONFIG_FLAG_PreventAutoShuffleToTurretSeat = 360,\n\tCPED_CONFIG_FLAG_DisableEventInteriorStatusCheck = 361,\n\tCPED_CONFIG_FLAG_HasReserveParachute = 362,\n\tCPED_CONFIG_FLAG_UseReserveParachute = 363,\n\tCPED_CONFIG_FLAG_TreatDislikeAsHateWhenInCombat = 364,\n\tCPED_CONFIG_FLAG_OnlyUpdateTargetWantedIfSeen = 365,\n\tCPED_CONFIG_FLAG_AllowAutoShuffleToDriversSeat = 366,\n\t_CPED_CONFIG_FLAG_0xD7E07D37 = 367,\n\t_CPED_CONFIG_FLAG_0x03C4FD24 = 368,\n\t_CPED_CONFIG_FLAG_0x7675789A = 369,\n\t_CPED_CONFIG_FLAG_0xB7288A88 = 370,\n\t_CPED_CONFIG_FLAG_0xC06B6291 = 371,\n\tCPED_CONFIG_FLAG_PreventReactingToSilencedCloneBullets = 372,\n\tCPED_CONFIG_FLAG_DisableInjuredCryForHelpEvents = 373,\n\tCPED_CONFIG_FLAG_NeverLeaveTrain = 374,\n\tCPED_CONFIG_FLAG_DontDropJetpackOnDeath = 375,\n\t_CPED_CONFIG_FLAG_0x147F1FFB = 376,\n\t_CPED_CONFIG_FLAG_0x4376DD79 = 377,\n\t_CPED_CONFIG_FLAG_0xCD3DB518 = 378,\n\t_CPED_CONFIG_FLAG_0xFE4BA4B6 = 379,\n\tCPED_CONFIG_FLAG_DisableAutoEquipHelmetsInBikes = 380,\n\t_CPED_CONFIG_FLAG_0xBCD816CD = 381,\n\t_CPED_CONFIG_FLAG_0xCF02DD69 = 382,\n\t_CPED_CONFIG_FLAG_0xF73AFA2E = 383,\n\t_CPED_CONFIG_FLAG_0x80B9A9D0 = 384,\n\t_CPED_CONFIG_FLAG_0xF601F7EE = 385,\n\t_CPED_CONFIG_FLAG_0xA91350FC = 386,\n\t_CPED_CONFIG_FLAG_0x3AB23B96 = 387,\n\tCPED_CONFIG_FLAG_IsClimbingLadder = 388,\n\tCPED_CONFIG_FLAG_HasBareFeet = 389,\n\tCPED_CONFIG_FLAG_UNUSED_REPLACE_ME_2 = 390,\n\tCPED_CONFIG_FLAG_GoOnWithoutVehicleIfItIsUnableToGetBackToRoad = 391,\n\tCPED_CONFIG_FLAG_BlockDroppingHealthSnacksOnDeath = 392,\n\t_CPED_CONFIG_FLAG_0xC11D3E8F = 393,\n\tCPED_CONFIG_FLAG_ForceThreatResponseToNonFriendToFriendMeleeActions = 394,\n\tCPED_CONFIG_FLAG_DontRespondToRandomPedsDamage = 395,\n\tCPED_CONFIG_FLAG_AllowContinuousThreatResponseWantedLevelUpdates = 396,\n\tCPED_CONFIG_FLAG_KeepTargetLossResponseOnCleanup = 397,\n\tCPED_CONFIG_FLAG_PlayersDontDragMeOutOfCar = 398,\n\tCPED_CONFIG_FLAG_BroadcastRepondedToThreatWhenGoingToPointShooting = 399,\n\tCPED_CONFIG_FLAG_IgnorePedTypeForIsFriendlyWith = 400,\n\tCPED_CONFIG_FLAG_TreatNonFriendlyAsHateWhenInCombat = 401,\n\tCPED_CONFIG_FLAG_DontLeaveVehicleIfLeaderNotInVehicle = 402,\n\t_CPED_CONFIG_FLAG_0x5E5B9591 = 403,\n\tCPED_CONFIG_FLAG_AllowMeleeReactionIfMeleeProofIsOn = 404,\n\t_CPED_CONFIG_FLAG_0x77840177 = 405,\n\t_CPED_CONFIG_FLAG_0x1C7ACAC4 = 406,\n\tCPED_CONFIG_FLAG_UseNormalExplosionDamageWhenBlownUpInVehicle = 407,\n\tCPED_CONFIG_FLAG_DisableHomingMissileLockForVehiclePedInside = 408,\n\tCPED_CONFIG_FLAG_DisableTakeOffScubaGear = 409,\n\tCPED_CONFIG_FLAG_IgnoreMeleeFistWeaponDamageMult = 410,\n\tCPED_CONFIG_FLAG_LawPedsCanFleeFromNonWantedPlayer = 411,\n\tCPED_CONFIG_FLAG_ForceBlipSecurityPedsIfPlayerIsWanted = 412,\n\tCPED_CONFIG_FLAG_IsHolsteringWeapon = 413,\n\tCPED_CONFIG_FLAG_UseGoToPointForScenarioNavigation = 414,\n\tCPED_CONFIG_FLAG_DontClearLocalPassengersWantedLevel = 415,\n\tCPED_CONFIG_FLAG_BlockAutoSwapOnWeaponPickups = 416,\n\tCPED_CONFIG_FLAG_ThisPedIsATargetPriorityForAI = 417,\n\tCPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,\n\tCPED_CONFIG_FLAG_ForceHelmetVisorSwitch = 419,\n\t_CPED_CONFIG_FLAG_0xCFF5F6DE = 420,\n\tCPED_CONFIG_FLAG_UseOverrideFootstepPtFx = 421,\n\tCPED_CONFIG_FLAG_DisableVehicleCombat = 422,\n\t_CPED_CONFIG_FLAG_0xFE401D26 = 423,\n\tCPED_CONFIG_FLAG_FallsLikeAircraft = 424,\n\t_CPED_CONFIG_FLAG_0x2B42AE82 = 425,\n\tCPED_CONFIG_FLAG_UseLockpickVehicleEntryAnimations = 426,\n\tCPED_CONFIG_FLAG_IgnoreInteriorCheckForSprinting = 427,\n\tCPED_CONFIG_FLAG_SwatHeliSpawnWithinLastSpottedLocation = 428,\n\tCPED_CONFIG_FLAG_DisableStartEngine = 429,\n\tCPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,\n\tCPED_CONFIG_FLAG_DisableTurretOrRearSeatPreference = 431,\n\tCPED_CONFIG_FLAG_DisableWantedHelicopterSpawning = 432,\n\tCPED_CONFIG_FLAG_UseTargetPerceptionForCreatingAimedAtEvents = 433,\n\tCPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,\n\tCPED_CONFIG_FLAG_ForceIgnoreMaxMeleeActiveSupportCombatants = 435,\n\tCPED_CONFIG_FLAG_StayInDefensiveAreaWhenInVehicle = 436,\n\tCPED_CONFIG_FLAG_DontShoutTargetPosition = 437,\n\tCPED_CONFIG_FLAG_DisableHelmetArmor = 438,\n\t_CPED_CONFIG_FLAG_0xCB7F3A1E = 439,\n\t_CPED_CONFIG_FLAG_0x50178878 = 440,\n\tCPED_CONFIG_FLAG_PreventVehExitDueToInvalidWeapon = 441,\n\tCPED_CONFIG_FLAG_IgnoreNetSessionFriendlyFireCheckForAllowDamage = 442,\n\tCPED_CONFIG_FLAG_DontLeaveCombatIfTargetPlayerIsAttackedByPolice = 443,\n\tCPED_CONFIG_FLAG_CheckLockedBeforeWarp = 444,\n\tCPED_CONFIG_FLAG_DontShuffleInVehicleToMakeRoom = 445,\n\tCPED_CONFIG_FLAG_GiveWeaponOnGetup = 446,\n\tCPED_CONFIG_FLAG_DontHitVehicleWithProjectiles = 447,\n\tCPED_CONFIG_FLAG_DisableForcedEntryForOpenVehiclesFromTryLockedDoor = 448,\n\tCPED_CONFIG_FLAG_FiresDummyRockets = 449,\n\tCPED_CONFIG_FLAG_PedIsArresting = 450,\n\tCPED_CONFIG_FLAG_IsDecoyPed = 451,\n\tCPED_CONFIG_FLAG_HasEstablishedDecoy = 452,\n\tCPED_CONFIG_FLAG_BlockDispatchedHelicoptersFromLanding = 453,\n\tCPED_CONFIG_FLAG_DontCryForHelpOnStun = 454,\n\t_CPED_CONFIG_FLAG_0xB68D3EAB = 455,\n\tCPED_CONFIG_FLAG_CanBeIncapacitated = 456,\n\t_CPED_CONFIG_FLAG_0x4BD5EBAD = 457,\n\tCPED_CONFIG_FLAG_DontChangeTargetFromMelee = 458,\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "flagId" + }, + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC1E8A365BF3B29F2": { + "name": "SET_PED_RESET_FLAG", + "jhash": "0xCFF6FF66", + "comment": "PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);\nKnown values:\nPRF_PreventGoingIntoStillInVehicleState = 236 *(fanatic2.c)*", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "flagId" + }, + { + "type": "BOOL", + "name": "doReset" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7EE53118C892B513": { + "name": "GET_PED_CONFIG_FLAG", + "jhash": "0xABE98267", + "comment": "See SET_PED_CONFIG_FLAG", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "flagId" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAF9E59B1B1FBF2A0": { + "name": "GET_PED_RESET_FLAG", + "jhash": "0x2FC10D11", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "flagId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0BDDB8D9EC6BCF3C": { + "name": "SET_PED_GROUP_MEMBER_PASSENGER_INDEX", + "jhash": "0x2AB3670B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B7A646C242A7059": { + "name": "SET_PED_CAN_EVASIVE_DIVE", + "jhash": "0x542FEB4D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x414641C26E105898": { + "name": "IS_PED_EVASIVE_DIVING", + "jhash": "0xD82829DC", + "comment": "Presumably returns the Entity that the Ped is currently diving out of the way of.\n\nvar num3;\n if (PED::IS_PED_EVASIVE_DIVING(A_0, &num3) != 0)\n if (ENTITY::IS_ENTITY_A_VEHICLE(num3) != 0)", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity*", + "name": "evadingEntity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x96A05E4FB321B1BA": { + "name": "SET_PED_SHOOTS_AT_COORD", + "jhash": "0xFD64EAE5", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE163A4BCE4DE6F11": { + "name": "SET_PED_MODEL_IS_SUPPRESSED", + "jhash": "0x7820CA43", + "comment": "Full list of peds by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/peds.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB47BD05FA66B40CF": { + "name": "STOP_ANY_PED_MODEL_BEING_SUPPRESSED", + "jhash": "0x5AD7DC55", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x638C03B0F9878F57": { + "name": "SET_PED_CAN_BE_TARGETED_WHEN_INJURED", + "jhash": "0x6FD9A7CD", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7FB17BA2E7DECA5B": { + "name": "SET_PED_GENERATES_DEAD_BODY_EVENTS", + "jhash": "0xE9B97A2B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE43A13C9E4CCCBCF": { + "name": "BLOCK_PED_FROM_GENERATING_DEAD_BODY_EVENTS_WHEN_DEAD", + "jhash": "0xFF1F6AEB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_BLOCK_PED_DEAD_BODY_SHOCKING_EVENTS" + ] + }, + "0x3E9679C1DFCF422C": { + "name": "SET_PED_WILL_ONLY_ATTACK_WANTED_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "877" + }, + "0xDF993EE5E90ABA25": { + "name": "SET_PED_CAN_RAGDOLL_FROM_PLAYER_IMPACT", + "jhash": "0xE9BD733A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x54C7C4A94367717E": { + "name": "GIVE_PED_HELMET", + "jhash": "0x1862A461", + "comment": "PoliceMotorcycleHelmet 1024 \nRegularMotorcycleHelmet 4096 \nFiremanHelmet 16384 \nPilotHeadset 32768 \nPilotHelmet 65536\n--\np2 is generally 4096 or 16384 in the scripts. p1 varies between 1 and 0.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "cannotRemove" + }, + { + "type": "int", + "name": "helmetFlag" + }, + { + "type": "int", + "name": "textureIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA7B2458D0AD6DED8": { + "name": "REMOVE_PED_HELMET", + "jhash": "0x2086B1F0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "instantly" + } + ], + "return_type": "void", + "build": "323" + }, + "0x14590DDBEDB1EC85": { + "name": "IS_PED_TAKING_OFF_HELMET", + "jhash": "0xA1008E0E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x560A43136EB58105": { + "name": "SET_PED_HELMET", + "jhash": "0xED366E53", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "canWearHelmet" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC0E78D5C2CE3EB25": { + "name": "SET_PED_HELMET_FLAG", + "jhash": "0x12677780", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "helmetFlag" + } + ], + "return_type": "void", + "build": "323" + }, + "0x26D83693ED99291C": { + "name": "SET_PED_HELMET_PROP_INDEX", + "jhash": "0xA316D13F", + "comment": "List of component/props ID\ngtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "propIndex" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3F7325574E41B44D": { + "name": "SET_PED_HELMET_VISOR_PROP_INDICES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_SET_PED_HELMET_UNK" + ] + }, + "0xB9496CE47546DB2C": { + "name": "IS_PED_HELMET_VISOR_UP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "791", + "old_names": [ + "_IS_PED_HELMET_UNK" + ] + }, + "0xF1550C4BD22582E2": { + "name": "SET_PED_HELMET_TEXTURE_INDEX", + "jhash": "0x5F6C3328", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "textureIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF33BDFE19B309B19": { + "name": "IS_PED_WEARING_HELMET", + "jhash": "0x0D680D49", + "comment": "Returns true if the ped passed through the parenthesis is wearing a helmet.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x687C0B594907D2E8": { + "name": "CLEAR_PED_STORED_HAT_PROP", + "jhash": "0x24A1284E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x451294E859ECC018": { + "name": "GET_PED_HELMET_STORED_HAT_PROP_INDEX", + "jhash": "0x8A3A3116", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9D728C1E12BF5518": { + "name": "GET_PED_HELMET_STORED_HAT_TEX_INDEX", + "jhash": "0x74EB662D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF2385935BFFD4D92": { + "name": "IS_CURRENT_HEAD_PROP_A_HELMET", + "jhash": "0xFFF149FE", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x332B562EEDA62399": { + "name": "SET_PED_TO_LOAD_COVER", + "jhash": "0xCF94BA97", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCB7553CDCEF4A735": { + "name": "SET_PED_CAN_COWER_IN_COVER", + "jhash": "0x5194658B", + "comment": "It simply makes the said ped to cower behind cover object(wall, desk, car)\n\nPeds 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC514825C507E3736": { + "name": "SET_PED_CAN_PEEK_IN_COVER", + "jhash": "0xC1DAE216", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x94D94BF1A75AED3D": { + "name": "SET_PED_PLAYS_HEAD_ON_HORN_ANIM_WHEN_DIES_IN_VEHICLE", + "jhash": "0x7C563CD2", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC396F5B86FF9FEBD": { + "name": "SET_PED_LEG_IK_MODE", + "jhash": "0xFDDB042E", + "comment": "\"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", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "mode" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0A986918B102B448": { + "name": "SET_PED_MOTION_BLUR", + "jhash": "0xA211A128", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xED7F7EFE9FABF340": { + "name": "SET_PED_CAN_SWITCH_WEAPON", + "jhash": "0xB5F8BA28", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEEB64139BA29A7CF": { + "name": "SET_PED_DIES_INSTANTLY_IN_WATER", + "jhash": "0xFE2554FC", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1A330D297AAC6BC1": { + "name": "SET_LADDER_CLIMB_INPUT_STATE", + "jhash": "0x77BB7CB8", + "comment": "Only appears in lamar1 script.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC158D28142A34608": { + "name": "STOP_PED_WEAPON_FIRING_WHEN_DROPPED", + "jhash": "0x4AC3421E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5917BBA32D06C230": { + "name": "SET_SCRIPTED_ANIM_SEAT_OFFSET", + "jhash": "0x7CEFFA45", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4D9CA1009AFBD057": { + "name": "SET_PED_COMBAT_MOVEMENT", + "jhash": "0x12E62F9E", + "comment": "enum eCombatMovement // 0x4F456B61\n{\n\tCM_Stationary,\n\tCM_Defensive,\n\tCM_WillAdvance,\n\tCM_WillRetreat\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "combatMovement" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDEA92412FCAEB3F5": { + "name": "GET_PED_COMBAT_MOVEMENT", + "jhash": "0xF3E7730E", + "comment": "See SET_PED_COMBAT_MOVEMENT", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xC7622C0D36B2FDA8": { + "name": "SET_PED_COMBAT_ABILITY", + "jhash": "0x6C23D329", + "comment": "enum eCombatAbility // 0xE793438C\n{\n\tCA_Poor,\n\tCA_Average,\n\tCA_Professional,\n\tCA_NumTypes\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "abilityLevel" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3C606747B23E497B": { + "name": "SET_PED_COMBAT_RANGE", + "jhash": "0x8818A959", + "comment": "enum eCombatRange // 0xB69160F5\n{\n\tCR_Near,\n\tCR_Medium,\n\tCR_Far,\n\tCR_VeryFar,\n\tCR_NumRanges\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "combatRange" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF9D9F7F2DB8E2FA0": { + "name": "GET_PED_COMBAT_RANGE", + "jhash": "0x9B9B7163", + "comment": "See SET_PED_COMBAT_RANGE", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9F7794730795E019": { + "name": "SET_PED_COMBAT_ATTRIBUTES", + "jhash": "0x81D64248", + "comment": "enum eCombatAttributes // 0x0E8E7201\n{\n\tBF_CanUseCover = 0,\n\tBF_CanUseVehicles = 1,\n\tBF_CanDoDrivebys = 2,\n\tBF_CanLeaveVehicle = 3,\n\tBF_CanUseDynamicStrafeDecisions = 4,\n\tBF_AlwaysFight = 5,\n\tBF_0x66BB9FCC = 6,\n\tBF_0x6837DA41 = 7,\n\tBF_0xB4A13A5A = 8,\n\tBF_0xEE326AAD = 9,\n\tBF_0x7DF2CCFA = 10,\n\tBF_0x0036D422 = 11,\n\tBF_BlindFireWhenInCover = 12,\n\tBF_Aggressive = 13,\n\tBF_CanInvestigate = 14,\n\tBF_HasRadio = 15,\n\tBF_0x6BDE28D1 = 16,\n\tBF_AlwaysFlee = 17,\n\tBF_0x7852797D = 18,\n\tBF_0x33497B95 = 19,\n\tBF_CanTauntInVehicle = 20,\n\tBF_CanChaseTargetOnFoot = 21,\n\tBF_WillDragInjuredPedsToSafety = 22,\n\tBF_0xCD7168B8 = 23,\n\tBF_UseProximityFiringRate = 24,\n\tBF_0x48F914F8 = 25,\n\tBF_0x2EA543D0 = 26,\n\tBF_PerfectAccuracy = 27,\n\tBF_CanUseFrustratedAdvance = 28,\n\tBF_0x3D131AC1 = 29,\n\tBF_0x3AD95F27 = 30,\n\tBF_MaintainMinDistanceToTarget = 31,\n\tBF_0xEAD68AD2 = 32,\n\tBF_0xA206C2E0 = 33,\n\tBF_CanUsePeekingVariations = 34,\n\tBF_0xA5715184 = 35,\n\tBF_0xD5265533 = 36,\n\tBF_0x2B84C2BF = 37,\n\tBF_DisableBulletReactions = 38,\n\tBF_CanBust = 39,\n\tBF_0xAA525726 = 40,\n\tBF_CanCommandeerVehicles = 41,\n\tBF_CanFlank = 42,\n\tBF_SwitchToAdvanceIfCantFindCover = 43,\n\tBF_SwitchToDefensiveIfInCover = 44,\n\tBF_0xEB4786A0 = 45,\n\tBF_CanFightArmedPedsWhenNotArmed = 46,\n\tBF_0xA08E9402 = 47,\n\tBF_0x952EAD7D = 48,\n\tBF_UseEnemyAccuracyScaling = 49,\n\tBF_CanCharge = 50,\n\tBF_0xDA8C2BD3 = 51,\n\tBF_0x6562F017 = 52,\n\tBF_0xA2C3D53B = 53,\n\tBF_AlwaysEquipBestWeapon = 54,\n\tBF_CanSeeUnderwaterPeds = 55,\n\tBF_0xF619486B = 56,\n\tBF_0x61EB63A3 = 57,\n\tBF_DisableFleeFromCombat = 58,\n\tBF_0x8976D12B = 59,\n\tBF_CanThrowSmokeGrenade = 60,\n\tBF_NonMissionPedsFleeFromThisPedUnlessArmed = 61,\n\tBF_0x5452A10C = 62,\n\tBF_FleesFromInvincibleOpponents = 63,\n\tBF_DisableBlockFromPursueDuringVehicleChase = 64,\n\tBF_DisableSpinOutDuringVehicleChase = 65,\n\tBF_DisableCruiseInFrontDuringBlockDuringVehicleChase = 66,\n\tBF_0x0B404731 = 67,\n\tBF_DisableReactToBuddyShot = 68,\n\tBF_0x7FFD6AEB = 69,\n\tBF_0x51F4AEF8 = 70,\n\tBF_PermitChargeBeyondDefensiveArea = 71,\n\tBF_0x63E0A8E2 = 72,\n\tBF_0xDF974436 = 73,\n\tBF_0x556C080B = 74,\n\tBF_0xA4D50035 = 75,\n\tBF_SetDisableShoutTargetPositionOnCombatStart = 76,\n\tBF_DisableRespondedToThreatBroadcast = 77,\n\tBF_0xCBB01765 = 78,\n\tBF_0x4F862ED4 = 79,\n\tBF_0xEF9C7C40 = 80,\n\tBF_0xE51B494F = 81,\n\tBF_0x054D0199 = 82,\n\tBF_0xD36BCE94 = 83,\n\tBF_0xFB11F690 = 84,\n\tBF_0xD208A9AD = 85,\n\tBF_AllowDogFighting = 86,\n\tBF_0x07A6E531 = 87,\n\tBF_0x34F9317B = 88,\n\tBF_0x4240F5A9 = 89,\n\tBF_0xEE129DBD = 90,\n\tBF_0x053AEAD9 = 91\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "attributeId" + }, + { + "type": "BOOL", + "name": "enabled" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0703B9079823DA4A": { + "name": "SET_PED_TARGET_LOSS_RESPONSE", + "jhash": "0xCFA613FF", + "comment": "enum eTargetLossResponseType\n{\n\tTLR_ExitTask,\n\tTLR_NeverLoseTarget,\n\tTLR_SearchForTarget\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "responseType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDCCA191DF9980FD7": { + "name": "IS_PED_PERFORMING_MELEE_ACTION", + "jhash": "0x139C0875", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFD4CCDBCC59941B7": { + "name": "IS_PED_PERFORMING_STEALTH_KILL", + "jhash": "0x9ADD7B21", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEBD0EDBA5BE957CF": { + "name": "IS_PED_PERFORMING_A_COUNTER_ATTACK", + "jhash": "0x9BE7C860", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "IS_PED_PERFORMING_DEPENDENT_COMBO_LIMIT" + ] + }, + "0x863B23EFDE9C5DF2": { + "name": "IS_PED_BEING_STEALTH_KILLED", + "jhash": "0xD044C8AF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x18A3E9EE1297FD39": { + "name": "GET_MELEE_TARGET_FOR_PED", + "jhash": "0xAFEC26A4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0xF9800AA1A771B000": { + "name": "WAS_PED_KILLED_BY_STEALTH", + "jhash": "0x2EA4B54E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7F08E26039C7347C": { + "name": "WAS_PED_KILLED_BY_TAKEDOWN", + "jhash": "0xBDD3CE69", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x61767F73EACEED21": { + "name": "WAS_PED_KNOCKED_OUT", + "jhash": "0x3993092B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x70A2D1137C8ED7C9": { + "name": "SET_PED_FLEE_ATTRIBUTES", + "jhash": "0xA717A875", + "comment": "bit 1 (0x2) = use vehicle\nbit 15 (0x8000) = force cower", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "attributeFlags" + }, + { + "type": "BOOL", + "name": "enable" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA549131166868ED3": { + "name": "SET_PED_COWER_HASH", + "jhash": "0x16F30DF4", + "comment": "p1: Only \"CODE_HUMAN_STAND_COWER\" found in the b617d scripts.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2016C603D6B8987C": { + "name": "SET_PED_STEERS_AROUND_DEAD_BODIES", + "jhash": "0xA6F2C057", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46F2193B3AD1D891": { + "name": "SET_PED_STEERS_AROUND_PEDS", + "jhash": "0x797CAE4F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1509C089ADC208BF": { + "name": "SET_PED_STEERS_AROUND_OBJECTS", + "jhash": "0x3BD9B0A6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB6FB9D48DDE23EC": { + "name": "SET_PED_STEERS_AROUND_VEHICLES", + "jhash": "0x533C0651", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA9B61A329BFDCBEA": { + "name": "SET_PED_IS_AVOIDED_BY_OTHERS", + "jhash": "0x2276DE0D", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x570389D1C3DE3C6B": { + "name": "SET_PED_INCREASED_AVOIDANCE_RADIUS", + "jhash": "0x59C52BE6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x576594E8D64375E2": { + "name": "SET_PED_BLOCKS_PATHING_WHEN_DEAD", + "jhash": "0x1D87DDC1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA52D5247A4227E14": { + "name": "SET_PED_NO_TIME_DELAY_BEFORE_SHOT", + "jhash": "0xB52BA5F5", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x083961498679DC9F": { + "name": "IS_ANY_PED_NEAR_POINT", + "jhash": "0xFBD9B050", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2208438012482A1A": { + "name": "FORCE_PED_AI_AND_ANIMATION_UPDATE", + "jhash": "0x187B9070", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFCF37A457CB96DC0": { + "name": "IS_PED_HEADING_TOWARDS_POSITION", + "jhash": "0x45037B9B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7D7A2E43E74E2EB8": { + "name": "REQUEST_PED_VISIBILITY_TRACKING", + "jhash": "0x840D24D3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2BC338A7B21F4608": { + "name": "REQUEST_PED_VEHICLE_VISIBILITY_TRACKING", + "jhash": "0x31C31DAA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "GET_PED_FLOOD_INVINCIBILITY" + ] + }, + "0xCD018C591F94CB43": { + "name": "REQUEST_PED_RESTRICTED_VEHICLE_VISIBILITY_TRACKING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x75BA1CB3B7D40CAF": { + "name": "REQUEST_PED_USE_SMALL_BBOX_VISIBILITY_TRACKING", + "jhash": "0x9194DB71", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x91C8E617F64188AC": { + "name": "IS_TRACKED_PED_VISIBLE", + "jhash": "0x33248CC1", + "comment": "returns whether or not a ped is visible within your FOV, not this check auto's to false after a certain distance.\n\n\nTarget needs to be tracked.. won't work otherwise.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x511F1A683387C7E2": { + "name": "GET_TRACKED_PED_PIXELCOUNT", + "jhash": "0x5B1B70AA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_TRACKED_PED_VISIBILITY" + ] + }, + "0x4C5E1F087CD10BB7": { + "name": "IS_PED_TRACKED", + "jhash": "0x7EB613D9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8507BCB710FA6DC0": { + "name": "HAS_PED_RECEIVED_EVENT", + "jhash": "0xECD73DB0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "eventId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6CD5A433374D4CFB": { + "name": "CAN_PED_SEE_HATED_PED", + "jhash": "0x74A0F291", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped1" + }, + { + "type": "Ped", + "name": "ped2" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_CAN_PED_SEE_PED" + ] + }, + "0x9C6A6C19B6C0C496": { + "name": "CAN_PED_SHUFFLE_TO_OR_FROM_TURRET_SEAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2DFC81C9B9608549": { + "name": "CAN_PED_SHUFFLE_TO_OR_FROM_EXTRA_SEAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "944" + }, + "0x3F428D08BE5AAE31": { + "name": "GET_PED_BONE_INDEX", + "jhash": "0x259C6BA2", + "comment": "no bone= -1\n\nboneIds:\n SKEL_ROOT = 0x0,\n SKEL_Pelvis = 0x2e28,\n SKEL_L_Thigh = 0xe39f,\n SKEL_L_Calf = 0xf9bb,\n SKEL_L_Foot = 0x3779,\n SKEL_L_Toe0 = 0x83c,\n IK_L_Foot = 0xfedd,\n PH_L_Foot = 0xe175,\n MH_L_Knee = 0xb3fe,\n SKEL_R_Thigh = 0xca72,\n SKEL_R_Calf = 0x9000,\n SKEL_R_Foot = 0xcc4d,\n SKEL_R_Toe0 = 0x512d,\n IK_R_Foot = 0x8aae,\n PH_R_Foot = 0x60e6,\n MH_R_Knee = 0x3fcf,\n RB_L_ThighRoll = 0x5c57,\n RB_R_ThighRoll = 0x192a,\n SKEL_Spine_Root = 0xe0fd,\n SKEL_Spine0 = 0x5c01,\n SKEL_Spine1 = 0x60f0,\n SKEL_Spine2 = 0x60f1,\n SKEL_Spine3 = 0x60f2,\n SKEL_L_Clavicle = 0xfcd9,\n SKEL_L_UpperArm = 0xb1c5,\n SKEL_L_Forearm = 0xeeeb,\n SKEL_L_Hand = 0x49d9,\n SKEL_L_Finger00 = 0x67f2,\n SKEL_L_Finger01 = 0xff9,\n SKEL_L_Finger02 = 0xffa,\n SKEL_L_Finger10 = 0x67f3,\n SKEL_L_Finger11 = 0x1049,\n SKEL_L_Finger12 = 0x104a,\n SKEL_L_Finger20 = 0x67f4,\n SKEL_L_Finger21 = 0x1059,\n SKEL_L_Finger22 = 0x105a,\n SKEL_L_Finger30 = 0x67f5,\n SKEL_L_Finger31 = 0x1029,\n SKEL_L_Finger32 = 0x102a,\n SKEL_L_Finger40 = 0x67f6,\n SKEL_L_Finger41 = 0x1039,\n SKEL_L_Finger42 = 0x103a,\n PH_L_Hand = 0xeb95,\n IK_L_Hand = 0x8cbd,\n RB_L_ForeArmRoll = 0xee4f,\n RB_L_ArmRoll = 0x1470,\n MH_L_Elbow = 0x58b7,\n SKEL_R_Clavicle = 0x29d2,\n SKEL_R_UpperArm = 0x9d4d,\n SKEL_R_Forearm = 0x6e5c,\n SKEL_R_Hand = 0xdead,\n SKEL_R_Finger00 = 0xe5f2,\n SKEL_R_Finger01 = 0xfa10,\n SKEL_R_Finger02 = 0xfa11,\n SKEL_R_Finger10 = 0xe5f3,\n SKEL_R_Finger11 = 0xfa60,\n SKEL_R_Finger12 = 0xfa61,\n SKEL_R_Finger20 = 0xe5f4,\n SKEL_R_Finger21 = 0xfa70,\n SKEL_R_Finger22 = 0xfa71,\n SKEL_R_Finger30 = 0xe5f5,\n SKEL_R_Finger31 = 0xfa40,\n SKEL_R_Finger32 = 0xfa41,\n SKEL_R_Finger40 = 0xe5f6,\n SKEL_R_Finger41 = 0xfa50,\n SKEL_R_Finger42 = 0xfa51,\n PH_R_Hand = 0x6f06,\n IK_R_Hand = 0x188e,\n RB_R_ForeArmRoll = 0xab22,\n RB_R_ArmRoll = 0x90ff,\n MH_R_Elbow = 0xbb0,\n SKEL_Neck_1 = 0x9995,\n SKEL_Head = 0x796e,\n IK_Head = 0x322c,\n FACIAL_facialRoot = 0xfe2c,\n FB_L_Brow_Out_000 = 0xe3db,\n FB_L_Lid_Upper_000 = 0xb2b6,\n FB_L_Eye_000 = 0x62ac,\n FB_L_CheekBone_000 = 0x542e,\n FB_L_Lip_Corner_000 = 0x74ac,\n FB_R_Lid_Upper_000 = 0xaa10,\n FB_R_Eye_000 = 0x6b52,\n FB_R_CheekBone_000 = 0x4b88,\n FB_R_Brow_Out_000 = 0x54c,\n FB_R_Lip_Corner_000 = 0x2ba6,\n FB_Brow_Centre_000 = 0x9149,\n FB_UpperLipRoot_000 = 0x4ed2,\n FB_UpperLip_000 = 0xf18f,\n FB_L_Lip_Top_000 = 0x4f37,\n FB_R_Lip_Top_000 = 0x4537,\n FB_Jaw_000 = 0xb4a0,\n FB_LowerLipRoot_000 = 0x4324,\n FB_LowerLip_000 = 0x508f,\n FB_L_Lip_Bot_000 = 0xb93b,\n FB_R_Lip_Bot_000 = 0xc33b,\n FB_Tongue_000 = 0xb987,\n RB_Neck_1 = 0x8b93,\n IK_Root = 0xdd1c", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "boneId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2057EF813397A772": { + "name": "GET_PED_RAGDOLL_BONE_INDEX", + "jhash": "0x849F0716", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "bone" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBF29516833893561": { + "name": "SET_PED_ENVEFF_SCALE", + "jhash": "0xFC1CFC27", + "comment": "Values look to be between 0.0 and 1.0\nFrom decompiled scripts: 0.0, 0.6, 0.65, 0.8, 1.0\n\nYou are correct, just looked in IDA it breaks from the function if it's less than 0.0f or greater than 1.0f.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C14D30395A51A3C": { + "name": "GET_PED_ENVEFF_SCALE", + "jhash": "0xA3421E39", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "float", + "build": "323" + }, + "0xD2C5AA0C0E8D0F1E": { + "name": "SET_ENABLE_PED_ENVEFF_SCALE", + "jhash": "0xC70F4A84", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x110F526AB784111F": { + "name": "SET_PED_ENVEFF_CPV_ADD", + "jhash": "0x3B882533", + "comment": "In agency_heist3b.c4, its like this 90% of the time:\n\nPED::SET_PED_ENVEFF_CPV_ADD(ped, 0.099);\nPED::SET_PED_ENVEFF_SCALE(ped, 1.0);\nPED::SET_PED_ENVEFF_CPV_ADD(ped, 87, 81, 68);\nPED::SET_ENABLE_PED_ENVEFF_SCALE(ped, 1);\n\nand its like this 10% of the time:\n\nPED::SET_PED_ENVEFF_CPV_ADD(ped, 0.2);\nPED::SET_PED_ENVEFF_SCALE(ped, 0.65);\nPED::SET_PED_ENVEFF_COLOR_MODULATOR(ped, 74, 69, 60);\nPED::SET_ENABLE_PED_ENVEFF_SCALE(ped, 1);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD69411AA0CEBF9E9": { + "name": "SET_PED_ENVEFF_COLOR_MODULATOR", + "jhash": "0x87A0C174", + "comment": "Something related to the environmental effects natives.\nIn the \"agency_heist3b\" script, p1 - p3 are always under 100 - usually they are {87, 81, 68}. If SET_PED_ENVEFF_SCALE is set to 0.65 (instead of the usual 1.0), they use {74, 69, 60}", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4E90D746056E273D": { + "name": "SET_PED_EMISSIVE_SCALE", + "jhash": "", + "comment": "intensity: 0.0f - 1.0f\n\nThis native sets the emissive intensity for the given ped. It is used for different 'glow' levels on illuminated clothing.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "intensity" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_PED_REFLECTION_INTENSITY", + "_SET_PED_ILLUMINATED_CLOTHING_GLOW_INTENSITY", + "_SET_PED_EMISSIVE_INTENSITY" + ] + }, + "0x1461B28A06717D68": { + "name": "GET_PED_EMISSIVE_SCALE", + "jhash": "", + "comment": "Use 0x4E90D746056E273D to set the illuminated clothing glow intensity for a specific ped.\nReturns a float between 0.0 and 1.0 representing the current illuminated clothing glow intensity.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "float", + "build": "944", + "old_names": [ + "_GET_PED_REFLECTION_INTENSITY", + "_GET_PED_ILLUMINATED_CLOTHING_GLOW_INTENSITY", + "_GET_PED_EMISSIVE_INTENSITY" + ] + }, + "0x81AA517FBBA05D39": { + "name": "IS_PED_SHADER_READY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_IS_PED_SHADER_EFFECT_VALID" + ] + }, + "0xE906EC930F5FE7C8": { + "name": "SET_PED_ENABLE_CREW_EMBLEM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "791" + }, + "0x1216E0BFA72CC703": { + "name": "REQUEST_RAGDOLL_BOUNDS_UPDATE", + "jhash": "0x7BD26837", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2B5AA717A181FB4C": { + "name": "SET_PED_AO_BLOB_RENDERING", + "jhash": "0x98E29ED0", + "comment": "Enable/disable ped shadow (ambient occlusion). https://gfycat.com/thankfulesteemedgecko", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB8B52E498014F5B0": { + "name": "IS_PED_SHELTERED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8C18E0F9080ADD73": { + "name": "CREATE_SYNCHRONIZED_SCENE", + "jhash": "0xFFDDF8FA", + "comment": "p6 always 2 (but it doesnt seem to matter...)\n\nroll and pitch 0\nyaw to Ped.rotation", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "roll" + }, + { + "type": "float", + "name": "pitch" + }, + { + "type": "float", + "name": "yaw" + }, + { + "type": "int", + "name": "p6" + } + ], + "return_type": "int", + "build": "323" + }, + "0x62EC273D00187DCA": { + "name": "CREATE_SYNCHRONIZED_SCENE_AT_MAP_OBJECT", + "jhash": "0xF3876894", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "object" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_CREATE_SYNCHRONIZED_SCENE_2" + ] + }, + "0x25D39B935A038A26": { + "name": "IS_SYNCHRONIZED_SCENE_RUNNING", + "jhash": "0x57A282F1", + "comment": "Returns true if a synchronized scene is running", + "params": [ + { + "type": "int", + "name": "sceneId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6ACF6B7225801CD7": { + "name": "SET_SYNCHRONIZED_SCENE_ORIGIN", + "jhash": "0x2EC2A0B2", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "roll" + }, + { + "type": "float", + "name": "pitch" + }, + { + "type": "float", + "name": "yaw" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0x734292F4F0ABF6D0": { + "name": "SET_SYNCHRONIZED_SCENE_PHASE", + "jhash": "0xF5AB0D98", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + }, + { + "type": "float", + "name": "phase" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE4A310B1D7FA73CC": { + "name": "GET_SYNCHRONIZED_SCENE_PHASE", + "jhash": "0xB0B2C852", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + } + ], + "return_type": "float", + "build": "323" + }, + "0xB6C49F8A5E295A5D": { + "name": "SET_SYNCHRONIZED_SCENE_RATE", + "jhash": "0xF10112FD", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + }, + { + "type": "float", + "name": "rate" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD80932D577274D40": { + "name": "GET_SYNCHRONIZED_SCENE_RATE", + "jhash": "0x89365F0D", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + } + ], + "return_type": "float", + "build": "323" + }, + "0xD9A897A4C6C2974F": { + "name": "SET_SYNCHRONIZED_SCENE_LOOPED", + "jhash": "0x32ED9F82", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x62522002E0C391BA": { + "name": "IS_SYNCHRONIZED_SCENE_LOOPED", + "jhash": "0x47D87A84", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x394B9CD12435C981": { + "name": "SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME", + "jhash": "0x2DE48DA1", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_SYNCHRONIZED_SCENE_OCCLUSION_PORTAL" + ] + }, + "0x7F2F4F13AC5257EF": { + "name": "IS_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME", + "jhash": "0x72CF2514", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x272E4723B56A3B96": { + "name": "ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY", + "jhash": "0xE9BA6189", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "boneIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6D38F1F04CBB37EA": { + "name": "DETACH_SYNCHRONIZED_SCENE", + "jhash": "0x52A1CAB2", + "comment": "", + "params": [ + { + "type": "int", + "name": "sceneID" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCD9CC7E200A52A6F": { + "name": "TAKE_OWNERSHIP_OF_SYNCHRONIZED_SCENE", + "jhash": "0xBF7F9035", + "comment": "", + "params": [ + { + "type": "int", + "name": "scene" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISPOSE_SYNCHRONIZED_SCENE" + ] + }, + "0xF28965D04F570DCA": { + "name": "FORCE_PED_MOTION_STATE", + "jhash": "0x164DDEFF", + "comment": "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.\n\nenum eMotionState // 0x92A659FE\n{\n\tMotionState_None = 0xEE717723,\n\tMotionState_Idle = 0x9072A713,\n\tMotionState_Walk = 0xD827C3DB,\n\tMotionState_Run = 0xFFF7E7A4,\n\tMotionState_Sprint = 0xBD8817DB,\n\tMotionState_Crouch_Idle = 0x43FB099E,\n\tMotionState_Crouch_Walk = 0x08C31A98,\n\tMotionState_Crouch_Run = 0x3593CF09,\n\tMotionState_DoNothing = 0x0EC17E58,\n\tMotionState_AnimatedVelocity = 0x551AAC43,\n\tMotionState_InVehicle = 0x94D9D58D,\n\tMotionState_Aiming = 0x3F67C6AF,\n\tMotionState_Diving_Idle = 0x4848CDED,\n\tMotionState_Diving_Swim = 0x916E828C,\n\tMotionState_Swimming_TreadWater = 0xD1BF11C7,\n\tMotionState_Dead = 0x0DBB071C,\n\tMotionState_Stealth_Idle = 0x422D7A25,\n\tMotionState_Stealth_Walk = 0x042AB6A2,\n\tMotionState_Stealth_Run = 0xFB0B79E1,\n\tMotionState_Parachuting = 0xBAC0F10B,\n\tMotionState_ActionMode_Idle = 0xDA40A0DC,\n\tMotionState_ActionMode_Walk = 0xD2905EA7,\n\tMotionState_ActionMode_Run = 0x31BADE14,\n\tMotionState_Jetpack = 0x535E6A5E\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "motionStateHash" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF60165E1D2C5370B": { + "name": "GET_PED_CURRENT_MOVE_BLEND_RATIO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float*", + "name": "speedX" + }, + { + "type": "float*", + "name": "speedY" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_PED_CURRENT_MOVEMENT_SPEED" + ] + }, + "0x433083750C5E064A": { + "name": "SET_PED_MAX_MOVE_BLEND_RATIO", + "jhash": "0xEAD0269A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x01A898D26E2333DD": { + "name": "SET_PED_MIN_MOVE_BLEND_RATIO", + "jhash": "0x383EC364", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x085BF80FA50A39D1": { + "name": "SET_PED_MOVE_RATE_OVERRIDE", + "jhash": "0x900008C6", + "comment": "Min: 0.00\nMax: 10.00\n\nCan be used in combo with fast run cheat.\n\nWhen value is set to 10.00:\nSprinting without fast run cheat: 66 m/s\nSprinting with fast run cheat: 77 m/s\n\nNeeds to be looped!\n\nNote: 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0B3E35AC043707D9": { + "name": "SET_PED_MOVE_RATE_IN_WATER_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "573" + }, + "0x46B05BCAE43856B0": { + "name": "PED_HAS_SEXINESS_FLAG_SET", + "jhash": "0x79543043", + "comment": "Checks if the specified sexiness flag is set\n\nenum eSexinessFlags\n{\n SF_JEER_AT_HOT_PED = 0,\n SF_HURRIEDFEMALES_SEXY = 1,\n SF_HOT_PERSON = 2,\n };", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "sexinessFlag" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCFF869CBFA210D82": { + "name": "GET_PED_NEARBY_VEHICLES", + "jhash": "0xCB716F68", + "comment": "Returns size of array, passed into the second variable.\n\nSee below for usage information.\n\nThis function actually requires a struct, where the first value is the maximum number of elements to return. Here is a sample of how I was able to get it to work correctly, without yet knowing the struct format.\n\n//Setup the array\n const int numElements = 10;\n const int arrSize = numElements * 2 + 2;\n Any veh[arrSize];\n //0 index is the size of the array\n veh[0] = numElements;\n\n int count = PED::GET_PED_NEARBY_VEHICLES(PLAYER::PLAYER_PED_ID(), veh);\n\n if (veh != NULL)\n {\n //Simple loop to go through results\n for (int i = 0; i < count; i++)\n {\n int offsettedID = i * 2 + 2;\n //Make sure it exists\n if (veh[offsettedID] != NULL && ENTITY::DOES_ENTITY_EXIST(veh[offsettedID]))\n {\n //Do something\n }\n }\n } ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any*", + "name": "sizeAndVehs" + } + ], + "return_type": "int", + "build": "323" + }, + "0x23F8F5FC7E8C4A6B": { + "name": "GET_PED_NEARBY_PEDS", + "jhash": "0x4D3325F4", + "comment": "sizeAndPeds - is a pointer to an array. The array is filled with peds found nearby the ped supplied to the first argument.\nignore - ped type to ignore\n\nReturn value is the number of peds found and added to the array passed.\n\n-----------------------------------\n\nTo make this work in most menu bases at least in C++ do it like so,\n\n Formatted Example: https://pastebin.com/D8an9wwp\n\n-----------------------------------\n\nExample: gtaforums.com/topic/789788-function-args-to-pedget-ped-nearby-peds/?p=1067386687", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any*", + "name": "sizeAndPeds" + }, + { + "type": "int", + "name": "ignore" + } + ], + "return_type": "int", + "build": "323" + }, + "0x7350823473013C02": { + "name": "HAVE_ALL_STREAMING_REQUESTS_COMPLETED", + "jhash": "0xF9FB4B71", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_STREAMED_PED_ASSETS_LOADED" + ] + }, + "0x00E73468D085F745": { + "name": "IS_PED_USING_ACTION_MODE", + "jhash": "0x5AE7EDA2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD75ACCF5E0FB5367": { + "name": "SET_PED_USING_ACTION_MODE", + "jhash": "0x8802F696", + "comment": "p2 is usually -1 in the scripts. action is either 0 or \"DEFAULT_ACTION\".", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "const char*", + "name": "action" + } + ], + "return_type": "void", + "build": "323" + }, + "0x781DE8FA214E87D2": { + "name": "SET_MOVEMENT_MODE_OVERRIDE", + "jhash": "0x83BAE814", + "comment": "name: \"MP_FEMALE_ACTION\" found multiple times in the b617d scripts.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x364DF566EC833DE2": { + "name": "SET_PED_CAPSULE", + "jhash": "0xB153E1B9", + "comment": "Overrides the ped's collision capsule radius for the current tick.\nMust be called every tick to be effective.\n\nSetting this to 0.001 will allow warping through some objects.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4462658788425076": { + "name": "REGISTER_PEDHEADSHOT", + "jhash": "0xFFE2667B", + "comment": "gtaforums.com/topic/885580-ped-headshotmugshot-txd/", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBA8805A1108A2515": { + "name": "REGISTER_PEDHEADSHOT_HIRES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "877", + "old_names": [ + "_REGISTER_PEDHEADSHOT_3" + ] + }, + "0x953563CE563143AF": { + "name": "REGISTER_PEDHEADSHOT_TRANSPARENT", + "jhash": "0x4DD03628", + "comment": "Similar to REGISTER_PEDHEADSHOT but creates a transparent background instead of black. Example: https://i.imgur.com/iHz8ztn.png", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x96B1361D9B24C2FF": { + "name": "UNREGISTER_PEDHEADSHOT", + "jhash": "0x0879AE45", + "comment": "gtaforums.com/topic/885580-ped-headshotmugshot-txd/", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA0A9668F158129A2": { + "name": "IS_PEDHEADSHOT_VALID", + "jhash": "0x0B1080C4", + "comment": "gtaforums.com/topic/885580-ped-headshotmugshot-txd/", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7085228842B13A67": { + "name": "IS_PEDHEADSHOT_READY", + "jhash": "0x761CD02E", + "comment": "gtaforums.com/topic/885580-ped-headshotmugshot-txd/", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDB4EACD4AD0A5D6B": { + "name": "GET_PEDHEADSHOT_TXD_STRING", + "jhash": "0x76D28E96", + "comment": "gtaforums.com/topic/885580-ped-headshotmugshot-txd/", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xF0DAEF2F545BEE25": { + "name": "REQUEST_PEDHEADSHOT_IMG_UPLOAD", + "jhash": "0x10F2C023", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5D517B27CF6ECD04": { + "name": "RELEASE_PEDHEADSHOT_IMG_UPLOAD", + "jhash": "0x0DBB2FA7", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEBB376779A760AA8": { + "name": "IS_PEDHEADSHOT_IMG_UPLOAD_AVAILABLE", + "jhash": "0x810158F8", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x876928DDDFCCC9CD": { + "name": "HAS_PEDHEADSHOT_IMG_UPLOAD_FAILED", + "jhash": "0x05023F8F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xE8A169E666CBC541": { + "name": "HAS_PEDHEADSHOT_IMG_UPLOAD_SUCCEEDED", + "jhash": "0xAA39FD6C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC1F6EBF9A3D55538": { + "name": "SET_PED_HEATSCALE_OVERRIDE", + "jhash": "0xEF9142DB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "heatScale" + } + ], + "return_type": "void", + "build": "323" + }, + "0x600048C60D5C2C51": { + "name": "DISABLE_PED_HEATSCALE_OVERRIDE", + "jhash": "0x0688DE64", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2DF9038C90AD5264": { + "name": "SPAWNPOINTS_START_SEARCH", + "jhash": "0x909A1D76", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "int", + "name": "interiorFlags" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB2AFF10216DEFA2F": { + "name": "SPAWNPOINTS_START_SEARCH_IN_ANGLED_AREA", + "jhash": "0x4AAD0ECB", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "width" + }, + { + "type": "int", + "name": "interiorFlags" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFEE4A5459472A9F8": { + "name": "SPAWNPOINTS_CANCEL_SEARCH", + "jhash": "0x492C9E46", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x3C67506996001F5E": { + "name": "SPAWNPOINTS_IS_SEARCH_ACTIVE", + "jhash": "0x814A28F4", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA586FBEB32A53DBB": { + "name": "SPAWNPOINTS_IS_SEARCH_COMPLETE", + "jhash": "0x0B60D2BA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF445DE8DA80A1792": { + "name": "SPAWNPOINTS_IS_SEARCH_FAILED", + "jhash": "0x6B83ABDF", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xA635C11B8C44AFC2": { + "name": "SPAWNPOINTS_GET_NUM_SEARCH_RESULTS", + "jhash": "0xF46B4DC8", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x280C7E3AC7F56E90": { + "name": "SPAWNPOINTS_GET_SEARCH_RESULT", + "jhash": "0x36A4AC65", + "comment": "", + "params": [ + { + "type": "int", + "name": "randomInt" + }, + { + "type": "float*", + "name": "x" + }, + { + "type": "float*", + "name": "y" + }, + { + "type": "float*", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB782F8238512BAD5": { + "name": "SPAWNPOINTS_GET_SEARCH_RESULT_FLAGS", + "jhash": "0xBA699DDF", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int*", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC32779C16FCEECD9": { + "name": "SET_IK_TARGET", + "jhash": "0x6FE5218C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "ikIndex" + }, + { + "type": "Entity", + "name": "entityLookAt" + }, + { + "type": "int", + "name": "boneLookAt" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "int", + "name": "blendInDuration" + }, + { + "type": "int", + "name": "blendOutDuration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xED3C76ADFA6D07C4": { + "name": "FORCE_INSTANT_LEG_IK_SETUP", + "jhash": "0xFB4000DC", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x290E2780BB7AA598": { + "name": "REQUEST_ACTION_MODE_ASSET", + "jhash": "0x572BA553", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "asset" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE4B5F4BF2CB24E65": { + "name": "HAS_ACTION_MODE_ASSET_LOADED", + "jhash": "0xF7EB2BF1", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "asset" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x13E940F88470FA51": { + "name": "REMOVE_ACTION_MODE_ASSET", + "jhash": "0x3F480F92", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "asset" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2A0A62FCDEE16D4F": { + "name": "REQUEST_STEALTH_MODE_ASSET", + "jhash": "0x280A004A", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "asset" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE977FC5B08AF3441": { + "name": "HAS_STEALTH_MODE_ASSET_LOADED", + "jhash": "0x39245667", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "asset" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9219857D21F0E842": { + "name": "REMOVE_STEALTH_MODE_ASSET", + "jhash": "0x8C0B243A", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "asset" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDC2C5C242AAC342B": { + "name": "SET_PED_LOD_MULTIPLIER", + "jhash": "0x1D2B5C70", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE861D0B05C7662B8": { + "name": "SET_PED_CAN_LOSE_PROPS_ON_DAMAGE", + "jhash": "0x2F9550C2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x129466ED55140F8D": { + "name": "SET_FORCE_FOOTSTEP_UPDATE", + "jhash": "0x37DBC2AD", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCB968B53FC7F916D": { + "name": "SET_FORCE_STEP_TYPE", + "jhash": "0xC0F1BC91", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int", + "name": "type" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x68772DB2B2526F9F": { + "name": "IS_ANY_HOSTILE_PED_NEAR_POINT", + "jhash": "0x1A464167", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x820E9892A77E97CD": { + "name": "SET_PED_CAN_PLAY_IN_CAR_IDLES", + "jhash": "", + "comment": "Toggles config flag CPED_CONFIG_FLAG_CanPlayInCarIdles.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_SET_PED_CAN_PLAY_IN_CAR_IDLES" + ] + }, + "0x06087579E7AA85A9": { + "name": "IS_TARGET_PED_IN_PERCEPTION_AREA", + "jhash": "0xD0567D41", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD8C3BE3EE94CAF2D": { + "name": "SET_POP_CONTROL_SPHERE_THIS_FRAME", + "jhash": "0x4BBE5E2C", + "comment": "Min and max are usually 100.0 and 200.0", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "min" + }, + { + "type": "float", + "name": "max" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD33DAA36272177C4": { + "name": "FORCE_ZERO_MASS_IN_COLLISIONS", + "jhash": "0xA89A53F2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x711794453CFD692B": { + "name": "SET_DISABLE_HIGH_FALL_DEATH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_DISABLE_PED_FALL_DAMAGE" + ] + }, + "0x83A169EABCDB10A2": { + "name": "SET_PED_PHONE_PALETTE_IDX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x288DF530C92DAD6F": { + "name": "SET_PED_STEER_BIAS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PED_STEER_BIAS" + ] + }, + "0x3795688A307E1EB6": { + "name": "IS_PED_SWITCHING_WEAPON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "Ped" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_IS_PED_SWAPPING_WEAPON" + ] + }, + "0x0F62619393661D6E": { + "name": "SET_PED_TREATED_AS_FRIENDLY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "877" + }, + "0xDFE68C4B787E1BFB": { + "name": "SET_DISABLE_PED_MAP_COLLISION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "1180" + }, + "0xEE2476B9EE4A094F": { + "name": "ENABLE_MP_LIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_ENABLE_SCUBA_GEAR_LIGHT" + ] + }, + "0x88274C11CF0D866D": { + "name": "GET_MP_LIGHT_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "1493", + "old_names": [ + "_IS_SCUBA_GEAR_LIGHT_ENABLED" + ] + }, + "0x637822DC2AFEEBF8": { + "name": "CLEAR_COVER_POINT_FOR_PED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_CLEAR_FACIAL_CLIPSET_OVERRIDE" + ] + }, + "0xFAB944D4D481ACCB": { + "name": "SET_ALLOW_STUNT_JUMP_CAMERA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1734" + } + }, + "PHYSICS": { + "0xE832D760399EB220": { + "name": "ADD_ROPE", + "jhash": "0xA592EC74", + "comment": "Creates a rope at the specific position, that extends in the specified direction when not attached to any entities.\n__\n\nAdd_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)\n\nWhen attached, Position does not matter\nWhen attached, Angle does not matter\n\nRope Type:\n4 and bellow is a thick rope\n5 and up are small metal wires\n0 crashes the game\n\nMax_length - Rope is forced to this length, generally best to keep this the same as your rope length.\n\nwindingSpeed - Speed the Rope is being winded, using native START_ROPE_WINDING. Set positive for winding and negative for unwinding.\n\nRigid - If max length is zero, and this is set to false the rope will become rigid (it will force a specific distance, what ever length is, between the objects).\n\nbreakable - Whether or not shooting the rope will break it.\n\nunkPtr - unknown ptr, always 0 in orig scripts\n__\n\nLengths can be calculated like so:\n\nfloat distance = abs(x1 - x2) + abs(y1 - y2) + abs(z1 - z2); // Rope length\n\n\nNOTES:\n\nRope does NOT interact with anything you attach it to, in some cases it make interact with the world AFTER it breaks (seems to occur if you set the type to -1).\n\nRope 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.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "length" + }, + { + "type": "int", + "name": "ropeType" + }, + { + "type": "float", + "name": "maxLength" + }, + { + "type": "float", + "name": "minLength" + }, + { + "type": "float", + "name": "windingSpeed" + }, + { + "type": "BOOL", + "name": "p11" + }, + { + "type": "BOOL", + "name": "p12" + }, + { + "type": "BOOL", + "name": "rigid" + }, + { + "type": "float", + "name": "p14" + }, + { + "type": "BOOL", + "name": "breakWhenShot" + }, + { + "type": "Any*", + "name": "unkPtr" + } + ], + "return_type": "int", + "build": "323" + }, + "0x52B4829281364649": { + "name": "DELETE_ROPE", + "jhash": "0x748D72AF", + "comment": "", + "params": [ + { + "type": "int*", + "name": "ropeId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA5D6B1888E4DB20": { + "name": "DELETE_CHILD_ROPE", + "jhash": "0xB19B4706", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFD5448BE3111ED96": { + "name": "DOES_ROPE_EXIST", + "jhash": "0x66E4A3AC", + "comment": "", + "params": [ + { + "type": "int*", + "name": "ropeId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA1AE736541B0FCA3": { + "name": "ROPE_DRAW_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "ropeId" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "1868" + }, + "0xF159A63806BB5BA8": { + "name": "ROPE_DRAW_SHADOW_ENABLED", + "jhash": "0x51523B8C", + "comment": "", + "params": [ + { + "type": "int*", + "name": "ropeId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCBB203C04D1ABD27": { + "name": "LOAD_ROPE_DATA", + "jhash": "0x9E8F1644", + "comment": "Rope presets can be found in the gamefiles. One example is \"ropeFamily3\", it is NOT a hash but rather a string.", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "const char*", + "name": "rope_preset" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2B320CF14146B69A": { + "name": "PIN_ROPE_VERTEX", + "jhash": "0xAE1D101B", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "int", + "name": "vertex" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4B5AE2EEE4A8F180": { + "name": "UNPIN_ROPE_VERTEX", + "jhash": "0xB30B552F", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "int", + "name": "vertex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3655F544CD30F0B5": { + "name": "GET_ROPE_VERTEX_COUNT", + "jhash": "0x5131CD2C", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x3D95EC8B6D940AC3": { + "name": "ATTACH_ENTITIES_TO_ROPE", + "jhash": "0x7508668F", + "comment": "Attaches entity 1 to entity 2.", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "Entity", + "name": "ent1" + }, + { + "type": "Entity", + "name": "ent2" + }, + { + "type": "float", + "name": "ent1_x" + }, + { + "type": "float", + "name": "ent1_y" + }, + { + "type": "float", + "name": "ent1_z" + }, + { + "type": "float", + "name": "ent2_x" + }, + { + "type": "float", + "name": "ent2_y" + }, + { + "type": "float", + "name": "ent2_z" + }, + { + "type": "float", + "name": "length" + }, + { + "type": "BOOL", + "name": "p10" + }, + { + "type": "BOOL", + "name": "p11" + }, + { + "type": "Any*", + "name": "p12" + }, + { + "type": "Any*", + "name": "p13" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4B490A6832559A65": { + "name": "ATTACH_ROPE_TO_ENTITY", + "jhash": "0xB25D9536", + "comment": "The position supplied can be anywhere, and the entity should anchor relative to that point from it's origin.", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBCF3026912A8647D": { + "name": "DETACH_ROPE_FROM_ENTITY", + "jhash": "0x3E720BEE", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC8D667EE52114ABA": { + "name": "ROPE_SET_UPDATE_PINVERTS", + "jhash": "0xEAF291A0", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDC57A637A20006ED": { + "name": "ROPE_SET_UPDATE_ORDER", + "jhash": "0x80DB77A7", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x36CCB9BE67B970FD": { + "name": "ROPE_SET_SMOOTH_REELIN", + "jhash": "0xC67D5CF6", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x84DE3B5FB3E666F0": { + "name": "IS_ROPE_ATTACHED_AT_BOTH_ENDS", + "jhash": "0x7A18BB9C", + "comment": "", + "params": [ + { + "type": "int*", + "name": "ropeId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x21BB0FBD3E217C2D": { + "name": "GET_ROPE_LAST_VERTEX_COORD", + "jhash": "0x91F6848B", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xEA61CA8E80F09E4D": { + "name": "GET_ROPE_VERTEX_COORD", + "jhash": "0x84374452", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "int", + "name": "vertex" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x1461C72C889E343E": { + "name": "START_ROPE_WINDING", + "jhash": "0x5187BED3", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCB2D4AB84A19AA7C": { + "name": "STOP_ROPE_WINDING", + "jhash": "0x46826B53", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x538D1179EC1AA9A9": { + "name": "START_ROPE_UNWINDING_FRONT", + "jhash": "0xFC0DB4C3", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFFF3A50779EFBBB3": { + "name": "STOP_ROPE_UNWINDING_FRONT", + "jhash": "0x2EEDB18F", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5389D48EFA2F079A": { + "name": "ROPE_CONVERT_TO_SIMPLE", + "jhash": "0x43E92628", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9B9039DBF2D258C1": { + "name": "ROPE_LOAD_TEXTURES", + "jhash": "0xBA97CE91", + "comment": "Loads rope textures for all ropes in the current scene.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xF2D0E6A75CC05597": { + "name": "ROPE_ARE_TEXTURES_LOADED", + "jhash": "0x5FDC1047", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x6CE36C35C1AC8163": { + "name": "ROPE_UNLOAD_TEXTURES", + "jhash": "0x584463E0", + "comment": "Unloads rope textures for all ropes in the current scene.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x271C9D3ACA5D6409": { + "name": "DOES_SCRIPT_OWN_ROPE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_DOES_ROPE_BELONG_TO_THIS_SCRIPT" + ] + }, + "0xBC0CE682D4D05650": { + "name": "ROPE_ATTACH_VIRTUAL_BOUND_GEOM", + "jhash": "0x106BA127", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + }, + { + "type": "float", + "name": "p10" + }, + { + "type": "float", + "name": "p11" + }, + { + "type": "float", + "name": "p12" + }, + { + "type": "float", + "name": "p13" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB1B6216CA2E7B55E": { + "name": "ROPE_CHANGE_SCRIPT_OWNER", + "jhash": "0x7C6F7668", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB743F735C03D7810": { + "name": "ROPE_SET_REFFRAMEVELOCITY_COLLIDERORDER", + "jhash": "0x686672DD", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x73040398DFF9A4A6": { + "name": "ROPE_GET_DISTANCE_BETWEEN_ENDS", + "jhash": "0xFD309DC8", + "comment": "", + "params": [ + { + "type": "int", + "name": "ropeId" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_ROPE_LENGTH" + ] + }, + "0xD009F759A723DB1B": { + "name": "ROPE_FORCE_LENGTH", + "jhash": "0xABF3130F", + "comment": "Forces a rope to a certain length.", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "float", + "name": "length" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC16DE94D9BEA14A0": { + "name": "ROPE_RESET_LENGTH", + "jhash": "0xC8A423A3", + "comment": "Reset a rope to a certain length.", + "params": [ + { + "type": "int", + "name": "ropeId" + }, + { + "type": "float", + "name": "length" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE37F721824571784": { + "name": "APPLY_IMPULSE_TO_CLOTH", + "jhash": "0xA2A5C9FE", + "comment": "", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "vecX" + }, + { + "type": "float", + "name": "vecY" + }, + { + "type": "float", + "name": "vecZ" + }, + { + "type": "float", + "name": "impulse" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEEA3B200A6FEB65B": { + "name": "SET_DAMPING", + "jhash": "0xCFB37773", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "vertex" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x710311ADF0E20730": { + "name": "ACTIVATE_PHYSICS", + "jhash": "0x031711B8", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD8FA3908D7B86904": { + "name": "SET_CGOFFSET", + "jhash": "0x59910AB2", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8214A4B5A7A33612": { + "name": "GET_CGOFFSET", + "jhash": "0x49A11F0D", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xBE520D9761FF811F": { + "name": "SET_CG_AT_BOUNDCENTER", + "jhash": "0xA5B55421", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2E648D16F6E308F3": { + "name": "BREAK_ENTITY_GLASS", + "jhash": "0xD0E0402F", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "BOOL", + "name": "p10" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0C112765300C7E1E": { + "name": "GET_IS_ENTITY_A_FRAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_DOES_ENTITY_HAVE_FRAG_INST", + "_GET_HAS_OBJECT_FRAG_INST" + ] + }, + "0x5CEC1A84620E7D5B": { + "name": "SET_DISABLE_BREAKING", + "jhash": "0xEE77C326", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCC6E963682533882": { + "name": "RESET_DISABLE_BREAKING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + } + ], + "return_type": "void", + "build": "323" + }, + "0x01BA3AED21C16CFB": { + "name": "SET_DISABLE_FRAG_DAMAGE", + "jhash": "0x97269DC8", + "comment": "", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x15F944730C832252": { + "name": "SET_USE_KINEMATIC_PHYSICS", + "jhash": "", + "comment": "PED_RAGDOLL_BUMP Proof?", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_ENTITY_PROOF_UNK" + ] + }, + "0x9EBD751E5787BAF2": { + "name": "SET_IN_STUNT_MODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "791" + }, + "0xAA6A6098851C396F": { + "name": "SET_IN_ARENA_MODE", + "jhash": "", + "comment": "Related to the lower-end of a vehicles fTractionCurve, e.g., from standing starts and acceleration from low/zero speeds.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_LAUNCH_CONTROL_ENABLED" + ] + } + }, + "PLAYER": { + "0x43A66C31C68491C0": { + "name": "GET_PLAYER_PED", + "jhash": "0x6E31E993", + "comment": "Gets the ped for a specified player index.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x50FAC3A3E030A6E1": { + "name": "GET_PLAYER_PED_SCRIPT_INDEX", + "jhash": "0x6AC64990", + "comment": "Does the same like PLAYER::GET_PLAYER_PED", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x00A1CADD00108836": { + "name": "SET_PLAYER_MODEL", + "jhash": "0x774A4C54", + "comment": "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\nMake sure to request the model first and wait until it has loaded.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "323" + }, + "0x048189FAC643DEEE": { + "name": "CHANGE_PLAYER_PED", + "jhash": "0xBE515485", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "resetDamage" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE902EF951DCE178F": { + "name": "GET_PLAYER_RGB_COLOUR", + "jhash": "0x6EF43BBB", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0x407C7F91DDB46C16": { + "name": "GET_NUMBER_OF_PLAYERS", + "jhash": "0x4C1B8867", + "comment": "Gets the number of players in the current session.\nIf not multiplayer, always returns 1.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x37039302F4E0A008": { + "name": "GET_PLAYER_TEAM", + "jhash": "0x9873E404", + "comment": "Gets the player's team.\nDoes nothing in singleplayer.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0x0299FA38396A4940": { + "name": "SET_PLAYER_TEAM", + "jhash": "0x725ADCF2", + "comment": "Set player team on deathmatch and last team standing..", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "team" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1FC200409F10E6F1": { + "name": "GET_NUMBER_OF_PLAYERS_IN_TEAM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "team" + } + ], + "return_type": "int", + "build": "1180", + "old_names": [ + "_GET_NUMBER_OF_PLAYERS_IN_TEAM" + ] + }, + "0x6D0DE6A7B5DA71F8": { + "name": "GET_PLAYER_NAME", + "jhash": "0x406B4B20", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x085DEB493BE80812": { + "name": "GET_WANTED_LEVEL_RADIUS", + "jhash": "0x1CF7D7DA", + "comment": "Remnant from GTA IV. Does nothing in GTA V.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323" + }, + "0x0C92BA89F1AF26F8": { + "name": "GET_PLAYER_WANTED_CENTRE_POSITION", + "jhash": "0x821F2D2C", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x520E541A97A13354": { + "name": "SET_PLAYER_WANTED_CENTRE_POSITION", + "jhash": "0xF261633A", + "comment": "# Predominant call signatures\nPLAYER::SET_PLAYER_WANTED_CENTRE_POSITION(PLAYER::PLAYER_ID(), ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1));\n\n# Parameter value ranges\nP0: PLAYER::PLAYER_ID()\nP1: ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1)\nP2: Not set by any call", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Vector3*", + "name": "position" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFDD179EAF45B556C": { + "name": "GET_WANTED_LEVEL_THRESHOLD", + "jhash": "0xD9783F6B", + "comment": "Drft", + "params": [ + { + "type": "int", + "name": "wantedLevel" + } + ], + "return_type": "int", + "build": "323" + }, + "0x39FF19C64EF7DA5B": { + "name": "SET_PLAYER_WANTED_LEVEL", + "jhash": "0xB7A0914B", + "comment": "Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect\n\nwantedLevel 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\n\ndisableNoMission- Disables When Off Mission- appears to always be false\n", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "wantedLevel" + }, + { + "type": "BOOL", + "name": "disableNoMission" + } + ], + "return_type": "void", + "build": "323" + }, + "0x340E61DE7F471565": { + "name": "SET_PLAYER_WANTED_LEVEL_NO_DROP", + "jhash": "0xED6F44F5", + "comment": "p2 is always false in R* scripts", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "wantedLevel" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE0A7D1E497FFCD6F": { + "name": "SET_PLAYER_WANTED_LEVEL_NOW", + "jhash": "0xAF3AFD83", + "comment": "Forces any pending wanted level to be applied to the specified player immediately.\n\nCall SET_PLAYER_WANTED_LEVEL with the desired wanted level, followed by SET_PLAYER_WANTED_LEVEL_NOW.\n\nSecond parameter is unknown (always false).", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAFAF86043E5874E9": { + "name": "ARE_PLAYER_FLASHING_STARS_ABOUT_TO_DROP", + "jhash": "0xE13A71C7", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0A6EB355EE14A2DB": { + "name": "ARE_PLAYER_STARS_GREYED_OUT", + "jhash": "0x5E72AB72", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7E07C78925D5FD96": { + "name": "IS_WANTED_AND_HAS_BEEN_SEEN_BY_COPS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "372" + }, + "0xDB172424876553F4": { + "name": "SET_DISPATCH_COPS_FOR_PLAYER", + "jhash": "0x48A18913", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x238DB2A2C23EE9EF": { + "name": "IS_PLAYER_WANTED_LEVEL_GREATER", + "jhash": "0x589A2661", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "wantedLevel" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB302540597885499": { + "name": "CLEAR_PLAYER_WANTED_LEVEL", + "jhash": "0x54EA5BCC", + "comment": "This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);\n\nPLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible. ", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x424D4687FA1E5652": { + "name": "IS_PLAYER_DEAD", + "jhash": "0x140CA5A8", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFA1E2BF8B10598F9": { + "name": "IS_PLAYER_PRESSING_HORN", + "jhash": "0xED1D1662", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8D32347D6D4C40A2": { + "name": "SET_PLAYER_CONTROL", + "jhash": "0xD17AFCD8", + "comment": "Flags:\nSPC_AMBIENT_SCRIPT = (1 << 1),\nSPC_CLEAR_TASKS = (1 << 2),\nSPC_REMOVE_FIRES = (1 << 3),\nSPC_REMOVE_EXPLOSIONS = (1 << 4),\nSPC_REMOVE_PROJECTILES = (1 << 5),\nSPC_DEACTIVATE_GADGETS = (1 << 6),\nSPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),\nSPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),\nSPC_ALLOW_PLAYER_DAMAGE = (1 << 9),\nSPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),\nSPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),\nSPC_ALLOW_PAD_SHAKE = (1 << 12)\n\nSee: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "bHasControl" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE28E54788CE8F12D": { + "name": "GET_PLAYER_WANTED_LEVEL", + "jhash": "0xBDCDD163", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0xAA5F02DB48D704B9": { + "name": "SET_MAX_WANTED_LEVEL", + "jhash": "0x665A06F5", + "comment": "", + "params": [ + { + "type": "int", + "name": "maxWantedLevel" + } + ], + "return_type": "void", + "build": "323" + }, + "0x43286D561B72B8BF": { + "name": "SET_POLICE_RADAR_BLIPS", + "jhash": "0x8E114B10", + "comment": "If toggle is set to false:\n The police won't be shown on the (mini)map\n\nIf toggle is set to true:\n The police will be shown on the (mini)map", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x32C62AA929C2DA6A": { + "name": "SET_POLICE_IGNORE_PLAYER", + "jhash": "0xE6DE71B7", + "comment": "The player will be ignored by the police if toggle is set to true", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5E9564D8246B909A": { + "name": "IS_PLAYER_PLAYING", + "jhash": "0xE15D777F", + "comment": "Checks whether the specified player has a Ped, the Ped is not dead, is not injured and is not arrested.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8EEDA153AD141BA4": { + "name": "SET_EVERYONE_IGNORE_PLAYER", + "jhash": "0xC915285E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x056E0FE8534C2949": { + "name": "SET_ALL_RANDOM_PEDS_FLEE", + "jhash": "0x49EAE968", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x471D2FF42A94B4F2": { + "name": "SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME", + "jhash": "0xBF974891", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDE45D1A1EF45EE61": { + "name": "SET_ALL_NEUTRAL_RANDOM_PEDS_FLEE", + "jhash": "0x274631FE", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_HUD_ANIM_STOP_LEVEL" + ] + }, + "0xC3376F42B1FACCC6": { + "name": "SET_ALL_NEUTRAL_RANDOM_PEDS_FLEE_THIS_FRAME", + "jhash": "0x02DF7AF4", + "comment": "- This is called after SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME\n", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_AREAS_GENERATOR_ORIENTATION" + ] + }, + "0xFAC75988A7D078D3": { + "name": "SET_LAW_PEDS_CAN_ATTACK_NON_WANTED_PLAYER_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "463" + }, + "0x596976B02B6B5700": { + "name": "SET_IGNORE_LOW_PRIORITY_SHOCKING_EVENTS", + "jhash": "0xA3D675ED", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x020E5F00CDA207BA": { + "name": "SET_WANTED_LEVEL_MULTIPLIER", + "jhash": "0x1359292F", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9B0BB33B04405E7A": { + "name": "SET_WANTED_LEVEL_DIFFICULTY", + "jhash": "0xB552626C", + "comment": "Max value is 1.0", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "difficulty" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB9D0DD990DC141DD": { + "name": "RESET_WANTED_LEVEL_DIFFICULTY", + "jhash": "0xA64C378D", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA72200F51875FEA4": { + "name": "GET_WANTED_LEVEL_TIME_TO_ESCAPE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "2372", + "old_names": [ + "_GET_WANTED_LEVEL_PAROLE_DURATION" + ] + }, + "0x49B856B1360C47C7": { + "name": "SET_WANTED_LEVEL_HIDDEN_ESCAPE_TIME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "wantedLevel" + }, + { + "type": "int", + "name": "lossTime" + } + ], + "return_type": "void", + "build": "2060", + "old_names": [ + "_SET_WANTED_LEVEL_HIDDEN_EVASION_TIME" + ] + }, + "0x823EC8E82BA45986": { + "name": "RESET_WANTED_LEVEL_HIDDEN_ESCAPE_TIME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "2060", + "old_names": [ + "_RESET_WANTED_LEVEL_HIDDEN_EVASION_TIME" + ] + }, + "0xBF9BD71691857E48": { + "name": "START_FIRING_AMNESTY", + "jhash": "0x5F8A22A6", + "comment": "", + "params": [ + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE9B09589827545E7": { + "name": "REPORT_CRIME", + "jhash": "0xD8EB3A44", + "comment": "PLAYER::REPORT_CRIME(PLAYER::PLAYER_ID(), 37, PLAYER::GET_WANTED_LEVEL_THRESHOLD(1));\n\nFrom am_armybase.ysc.c4:\n\nPLAYER::REPORT_CRIME(PLAYER::PLAYER_ID(4), 36, PLAYER::GET_WANTED_LEVEL_THRESHOLD(4));\n\n-----\n\nThis was taken from the GTAV.exe v1.334. The function is called sub_140592CE8. For a full decompilation of the function, see here: https://pastebin.com/09qSMsN7 \n\n-----\ncrimeType:\n1: Firearms possession\n2: Person running a red light (\"5-0-5\")\n3: Reckless driver\n4: Speeding vehicle (a \"5-10\")\n5: Traffic violation (a \"5-0-5\")\n6: Motorcycle rider without a helmet\n7: Vehicle theft (a \"5-0-3\")\n8: Grand Theft Auto\n9: ???\n10: ???\n11: Assault on a civilian (a \"2-40\")\n12: Assault on an officer\n13: Assault with a deadly weapon (a \"2-45\")\n14: Officer shot (a \"2-45\")\n15: Pedestrian struck by a vehicle\n16: Officer struck by a vehicle\n17: Helicopter down (an \"AC\"?)\n18: Civilian on fire (a \"2-40\")\n19: Officer set on fire (a \"10-99\")\n20: Car on fire\n21: Air unit down (an \"AC\"?)\n22: An explosion (a \"9-96\")\n23: A stabbing (a \"2-45\") (also something else I couldn't understand)\n24: Officer stabbed (also something else I couldn't understand)\n25: Attack on a vehicle (\"MDV\"?)\n26: Damage to property\n27: Suspect threatening officer with a firearm\n28: Shots fired\n29: ???\n30: ???\n31: ???\n32: ???\n33: ???\n34: A \"2-45\"\n35: ???\n36: A \"9-25\"\n37: ???\n38: ???\n39: ???\n40: ???\n41: ???\n42: ???\n43: Possible disturbance\n44: Civilian in need of assistance\n45: ???\n46: ???", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "crimeType" + }, + { + "type": "int", + "name": "wantedLvlThresh" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9A987297ED8BD838": { + "name": "SUPPRESS_CRIME_THIS_FRAME", + "jhash": "0x59B5C2A2", + "comment": "crimeType: see REPORT_CRIME", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "crimeType" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SWITCH_CRIME_TYPE" + ] + }, + "0xBC9490CA15AEA8FB": { + "name": "UPDATE_WANTED_POSITION_THIS_FRAME", + "jhash": "0x6B34A160", + "comment": "This native is used in both singleplayer and multiplayer scripts.\n\nAlways used like this in scripts\nPLAYER::UPDATE_WANTED_POSITION_THIS_FRAME(PLAYER::PLAYER_ID());", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4669B3ED80F24B4E": { + "name": "SUPPRESS_LOSING_WANTED_LEVEL_IF_HIDDEN_THIS_FRAME", + "jhash": "0xB9FB142F", + "comment": "This has been found in use in the decompiled files.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2F41A3BAE005E5FA": { + "name": "ALLOW_EVASION_HUD_IF_DISABLING_HIDDEN_EVASION_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "372" + }, + "0xAD73CE5A09E42D12": { + "name": "FORCE_START_HIDDEN_EVASION", + "jhash": "0x85725848", + "comment": "This has been found in use in the decompiled files.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x36F1B38855F2A8DF": { + "name": "SUPPRESS_WITNESSES_CALLING_POLICE_THIS_FRAME", + "jhash": "0x3A7E5FB6", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDC64D2C53493ED12": { + "name": "REPORT_POLICE_SPOTTED_PLAYER", + "jhash": "0xD15C4B1C", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB45EFF719D8427A6": { + "name": "SET_LAW_RESPONSE_DELAY_OVERRIDE", + "jhash": "0xBF6993C7", + "comment": "PLAYER::SET_LAW_RESPONSE_DELAY_OVERRIDE(rPtr((&l_122) + 71)); // Found in decompilation\n\n***\n\nIn \"am_hold_up.ysc\" used once:\n\nl_8d._f47 = MISC::GET_RANDOM_FLOAT_IN_RANGE(18.0, 28.0);\nPLAYER::SET_LAW_RESPONSE_DELAY_OVERRIDE((l_8d._f47));", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0032A6DBA562C518": { + "name": "RESET_LAW_RESPONSE_DELAY_OVERRIDE", + "jhash": "0x47CAB814", + "comment": "2 matches in 1 script - am_hold_up\n\nUsed in multiplayer scripts?", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xDE7465A27D403C06": { + "name": "CAN_PLAYER_START_MISSION", + "jhash": "0x39E3CB3F", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x908CBECC2CAA3690": { + "name": "IS_PLAYER_READY_FOR_CUTSCENE", + "jhash": "0xBB77E9CD", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7912F7FC4F6264B6": { + "name": "IS_PLAYER_TARGETTING_ENTITY", + "jhash": "0xF3240B77", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x13EDE1A5DBF797C9": { + "name": "GET_PLAYER_TARGET_ENTITY", + "jhash": "0xF6AAA2D7", + "comment": "Assigns the handle of locked-on melee target to *entity that you pass it.\nReturns false if no entity found.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Entity*", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2E397FD2ECD37C87": { + "name": "IS_PLAYER_FREE_AIMING", + "jhash": "0x1DEC67B7", + "comment": "Gets a value indicating whether the specified player is currently aiming freely.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3C06B5C839B38F7B": { + "name": "IS_PLAYER_FREE_AIMING_AT_ENTITY", + "jhash": "0x7D80EEAA", + "comment": "Gets a value indicating whether the specified player is currently aiming freely at the specified entity.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2975C866E6713290": { + "name": "GET_ENTITY_PLAYER_IS_FREE_AIMING_AT", + "jhash": "0x8866D9D0", + "comment": "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.\nReturns false if no entity found.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Entity*", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x29961D490E5814FD": { + "name": "SET_PLAYER_LOCKON_RANGE_OVERRIDE", + "jhash": "0x74D42C03", + "comment": "Affects the range of auto aim target.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "range" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E8834B52EC20C77": { + "name": "SET_PLAYER_CAN_DO_DRIVE_BY", + "jhash": "0xF4D99685", + "comment": "Set whether this player should be able to do drive-bys.\n\n\"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.\"\n", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD5E460AD7020A246": { + "name": "SET_PLAYER_CAN_BE_HASSLED_BY_GANGS", + "jhash": "0x71B305BB", + "comment": "Sets whether this player can be hassled by gangs.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD465A8599DFF6814": { + "name": "SET_PLAYER_CAN_USE_COVER", + "jhash": "0x13CAFAFA", + "comment": "Sets whether this player can take cover.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x462E0DB9B137DC5F": { + "name": "GET_MAX_WANTED_LEVEL", + "jhash": "0x457F1E44", + "comment": "Gets the maximum wanted level the player can get.\nRanges from 0 to 5.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x78CFE51896B6B8A4": { + "name": "IS_PLAYER_TARGETTING_ANYTHING", + "jhash": "0x456DB50D", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA01B8075D8B92DF4": { + "name": "SET_PLAYER_SPRINT", + "jhash": "0x7DD7900C", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA6F312FCCE9C1DFE": { + "name": "RESET_PLAYER_STAMINA", + "jhash": "0xC0445A9C", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA352C1B864CAFD33": { + "name": "RESTORE_PLAYER_STAMINA", + "jhash": "0x62A93608", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3F9F16F8E65A7ED7": { + "name": "GET_PLAYER_SPRINT_STAMINA_REMAINING", + "jhash": "0x47017C90", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323" + }, + "0x1885BC9B108B4C99": { + "name": "GET_PLAYER_SPRINT_TIME_REMAINING", + "jhash": "0x40E80543", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323" + }, + "0xA1FCF8E6AF40B731": { + "name": "GET_PLAYER_UNDERWATER_TIME_REMAINING", + "jhash": "0x1317125A", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323" + }, + "0xA0D3E4F7AAFB7E78": { + "name": "SET_PLAYER_UNDERWATER_BREATH_PERCENT_REMAINING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "time" + } + ], + "return_type": "float", + "build": "757", + "old_names": [ + "_SET_PLAYER_UNDERWATER_TIME_REMAINING" + ] + }, + "0x0D127585F77030AF": { + "name": "GET_PLAYER_GROUP", + "jhash": "0xA5EDCDE8", + "comment": "Returns the group ID the player is member of.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0x92659B4CE1863CB3": { + "name": "GET_PLAYER_MAX_ARMOUR", + "jhash": "0x02A50657", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0x49C32D60007AFA47": { + "name": "IS_PLAYER_CONTROL_ON", + "jhash": "0x618857F2", + "comment": "Can the player control himself, used to disable controls for player for things like a cutscene.\n\n---\n\nYou can't disable controls with this, use SET_PLAYER_CONTROL(...) for this. ", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7C814D2FB49F40C0": { + "name": "GET_ARE_CAMERA_CONTROLS_DISABLED", + "jhash": "", + "comment": "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.\n\nNote: I am not 100% sure if the native actually checks if the cam control is disabled but it seems promising.", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_PLAYER_CAM_CONTROL_DISABLED" + ] + }, + "0x8A876A65283DD7D7": { + "name": "IS_PLAYER_SCRIPT_CONTROL_ON", + "jhash": "0x61B00A84", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x95E8F73DC65EFB9C": { + "name": "IS_PLAYER_CLIMBING", + "jhash": "0x4A9E9AE0", + "comment": "Returns TRUE if the player ('s ped) is climbing at the moment.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x388A47C51ABDAC8E": { + "name": "IS_PLAYER_BEING_ARRESTED", + "jhash": "0x7F6A60D3", + "comment": "Return true while player is being arrested / busted.\n\nIf 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)\n\nIf atArresting is set to 0, this function will return 1 only when the busted screen is shown.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "atArresting" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2D03E13C460760D6": { + "name": "RESET_PLAYER_ARREST_STATE", + "jhash": "0x453C7CAB", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB6997A7EB3F5C8C0": { + "name": "GET_PLAYERS_LAST_VEHICLE", + "jhash": "0xE2757AC1", + "comment": "Alternative: GET_VEHICLE_PED_IS_IN(PLAYER_PED_ID(), 1);", + "params": [], + "return_type": "Vehicle", + "build": "323" + }, + "0xA5EDC40EF369B48D": { + "name": "GET_PLAYER_INDEX", + "jhash": "0x309BBDC1", + "comment": "Returns the same as PLAYER_ID and NETWORK_PLAYER_ID_TO_INT", + "params": [], + "return_type": "Player", + "build": "323" + }, + "0x41BD2A6B006AF756": { + "name": "INT_TO_PLAYERINDEX", + "jhash": "0x98DD98F1", + "comment": "Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "Player", + "build": "323" + }, + "0x9EC6603812C24710": { + "name": "INT_TO_PARTICIPANTINDEX", + "jhash": "0x98F3B274", + "comment": "Simply returns whatever is passed to it (Regardless of whether the handle is valid or not).\n--------------------------------------------------------\nif (NETWORK::NETWORK_IS_PARTICIPANT_ACTIVE(PLAYER::INT_TO_PARTICIPANTINDEX(i)))\n", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "int", + "build": "323" + }, + "0x5D35ECF3A81A0EE0": { + "name": "GET_TIME_SINCE_PLAYER_HIT_VEHICLE", + "jhash": "0x6E9B8B9E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE36A25322DC35F42": { + "name": "GET_TIME_SINCE_PLAYER_HIT_PED", + "jhash": "0xB6209195", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0xD559D2BE9E37853B": { + "name": "GET_TIME_SINCE_PLAYER_DROVE_ON_PAVEMENT", + "jhash": "0x8836E732", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0xDB89591E290D9182": { + "name": "GET_TIME_SINCE_PLAYER_DROVE_AGAINST_TRAFFIC", + "jhash": "0x9F27D00E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0xDCCFD3F106C36AB4": { + "name": "IS_PLAYER_FREE_FOR_AMBIENT_TASK", + "jhash": "0x85C7E232", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4F8644AF03D0E0D6": { + "name": "PLAYER_ID", + "jhash": "0x8AEA886C", + "comment": "This returns YOUR 'identity' as a Player type.\n\nAlways returns 0 in story mode.", + "params": [], + "return_type": "Player", + "build": "323" + }, + "0xD80958FC74E988A6": { + "name": "PLAYER_PED_ID", + "jhash": "0xFA92E226", + "comment": "Returns current player ped", + "params": [], + "return_type": "Ped", + "build": "323" + }, + "0xEE68096F9F37341E": { + "name": "NETWORK_PLAYER_ID_TO_INT", + "jhash": "0x8DD5B838", + "comment": "Does exactly the same thing as PLAYER_ID()", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xC968670BFACE42D9": { + "name": "HAS_FORCE_CLEANUP_OCCURRED", + "jhash": "0x4B37333C", + "comment": "", + "params": [ + { + "type": "int", + "name": "cleanupFlags" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBC8983F38F78ED51": { + "name": "FORCE_CLEANUP", + "jhash": "0xFDAAEA2B", + "comment": "used with 1,2,8,64,128 in the scripts", + "params": [ + { + "type": "int", + "name": "cleanupFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4C68DDDDF0097317": { + "name": "FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME", + "jhash": "0x04256C73", + "comment": "PLAYER::FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME(\"pb_prostitute\", 1); // Found in decompilation", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "int", + "name": "cleanupFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF745B37630DF176B": { + "name": "FORCE_CLEANUP_FOR_THREAD_WITH_THIS_ID", + "jhash": "0x882D3EB3", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + }, + { + "type": "int", + "name": "cleanupFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9A41CF4674A12272": { + "name": "GET_CAUSE_OF_MOST_RECENT_FORCE_CLEANUP", + "jhash": "0x39AA9FC8", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x8026FF78F208978A": { + "name": "SET_PLAYER_MAY_ONLY_ENTER_THIS_VEHICLE", + "jhash": "0xA454DD29", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1DE37BBF9E9CC14A": { + "name": "SET_PLAYER_MAY_NOT_ENTER_ANY_VEHICLE", + "jhash": "0xAF7AFCC4", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBEC7076D64130195": { + "name": "GIVE_ACHIEVEMENT_TO_PLAYER", + "jhash": "0x822BC992", + "comment": "1 - Welcome to Los Santos\n2 - A Friendship Resurrected\n3 - A Fair Day's Pay\n4 - The Moment of Truth\n5 - To Live or Die in Los Santos\n6 - Diamond Hard\n7 - Subversive\n8 - Blitzed\n9 - Small Town, Big Job\n10 - The Government Gimps\n11 - The Big One!\n12 - Solid Gold, Baby!\n13 - Career Criminal\n14 - San Andreas Sightseer\n15 - All's Fare in Love and War\n16 - TP Industries Arms Race\n17 - Multi-Disciplined\n18 - From Beyond the Stars\n19 - A Mystery, Solved\n20 - Waste Management\n21 - Red Mist\n22 - Show Off\n23 - Kifflom!\n24 - Three Man Army\n25 - Out of Your Depth\n26 - Altruist Acolyte\n27 - A Lot of Cheddar\n28 - Trading Pure Alpha\n29 - Pimp My Sidearm\n30 - Wanted: Alive Or Alive\n31 - Los Santos Customs\n32 - Close Shave\n33 - Off the Plane\n34 - Three-Bit Gangster\n35 - Making Moves\n36 - Above the Law\n37 - Numero Uno\n38 - The Midnight Club\n39 - Unnatural Selection\n40 - Backseat Driver\n41 - Run Like The Wind\n42 - Clean Sweep\n43 - Decorated\n44 - Stick Up Kid\n45 - Enjoy Your Stay\n46 - Crew Cut\n47 - Full Refund\n48 - Dialling Digits\n49 - American Dream\n50 - A New Perspective\n51 - Be Prepared\n52 - In the Name of Science\n53 - Dead Presidents\n54 - Parole Day\n55 - Shot Caller\n56 - Four Way\n57 - Live a Little\n58 - Can't Touch This\n59 - Mastermind\n60 - Vinewood Visionary\n61 - Majestic\n62 - Humans of Los Santos\n63 - First Time Director\n64 - Animal Lover\n65 - Ensemble Piece\n66 - Cult Movie\n67 - Location Scout\n68 - Method Actor\n69 - Cryptozoologist\n70 - Getting Started\n71 - The Data Breaches\n72 - The Bogdan Problem\n73 - The Doomsday Scenario\n74 - A World Worth Saving\n75 - Orbital Obliteration\n76 - Elitist\n77 - Masterminds", + "params": [ + { + "type": "int", + "name": "achievementId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC2AFFFDABBDC2C5C": { + "name": "SET_ACHIEVEMENT_PROGRESS", + "jhash": "", + "comment": "For Steam.\nDoes nothing and always returns false in the retail version of the game.", + "params": [ + { + "type": "int", + "name": "achievementId" + }, + { + "type": "int", + "name": "progress" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SET_ACHIEVEMENT_PROGRESSION", + "_SET_ACHIEVEMENT_PROGRESS" + ] + }, + "0x1C186837D0619335": { + "name": "GET_ACHIEVEMENT_PROGRESS", + "jhash": "", + "comment": "For Steam.\nAlways returns 0 in retail version of the game.", + "params": [ + { + "type": "int", + "name": "achievementId" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_ACHIEVEMENT_PROGRESSION", + "_GET_ACHIEVEMENT_PROGRESS" + ] + }, + "0x867365E111A3B6EB": { + "name": "HAS_ACHIEVEMENT_BEEN_PASSED", + "jhash": "0x136A5BE9", + "comment": "See GIVE_ACHIEVEMENT_TO_PLAYER", + "params": [ + { + "type": "int", + "name": "achievementId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF25D331DC2627BBC": { + "name": "IS_PLAYER_ONLINE", + "jhash": "0x9FAB6729", + "comment": "Returns TRUE if the game is in online mode and FALSE if in offline mode.\n\nThis is an alias for NETWORK_IS_SIGNED_ONLINE.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x74556E1420867ECA": { + "name": "IS_PLAYER_LOGGING_IN_NP", + "jhash": "0x8F72FAD0", + "comment": "this function is hard-coded to always return 0.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x94DD7888C10A979E": { + "name": "DISPLAY_SYSTEM_SIGNIN_UI", + "jhash": "0x4264CED2", + "comment": "Purpose of the BOOL currently unknown.\nBoth, true and false, work", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5D511E3867C87139": { + "name": "IS_SYSTEM_UI_BEING_DISPLAYED", + "jhash": "0xE495B6DA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x239528EACDC3E7DE": { + "name": "SET_PLAYER_INVINCIBLE", + "jhash": "0xDFB9A2A2", + "comment": "Simply sets you as invincible (Health will not deplete).\n\nUse 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:\n*(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB721981B2B939E07": { + "name": "GET_PLAYER_INVINCIBLE", + "jhash": "0x680C90EE", + "comment": "Returns the Player's Invincible status.\n\nThis function will always return false if 0x733A643B5B0C53C1 is used to set the invincibility status. To always get the correct result, use this:\n\n bool IsPlayerInvincible(Player player)\n {\n auto addr = getScriptHandleBaseAddress(GET_PLAYER_PED(player)); \n\n if (addr)\n {\n DWORD flag = *(DWORD *)(addr + 0x188);\n return ((flag & (1 << 8)) != 0) || ((flag & (1 << 9)) != 0);\n }\n\n return false;\n }\n\n", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDCC07526B8EC45AF": { + "name": "GET_PLAYER_DEBUG_INVINCIBLE", + "jhash": "", + "comment": "Always returns false.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "1868" + }, + "0x6BC97F4F4BB3C04B": { + "name": "SET_PLAYER_INVINCIBLE_BUT_HAS_REACTIONS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_PLAYER_INVINCIBLE_KEEP_RAGDOLL_ENABLED" + ] + }, + "0xCAC57395B151135F": { + "name": "SET_PLAYER_CAN_COLLECT_DROPPED_MONEY", + "jhash": "0x00563E0D", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF3AC26D3CC576528": { + "name": "REMOVE_PLAYER_HELMET", + "jhash": "0x6255F3B4", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3C49C870E66F0A28": { + "name": "GIVE_PLAYER_RAGDOLL_CONTROL", + "jhash": "0xC7B4D7AC", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5C8B2F450EE4328E": { + "name": "SET_PLAYER_LOCKON", + "jhash": "0x0B270E0F", + "comment": "Example from fm_mission_controler.ysc.c4:\n\nPLAYER::SET_PLAYER_LOCKON(PLAYER::PLAYER_ID(), 1);\n\nAll other decompiled scripts using this seem to be using the player id as the first parameter, so I feel the need to confirm it as so.\n\nNo need to confirm it says PLAYER_ID() so it uses PLAYER_ID() lol.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB1906895227793F3": { + "name": "SET_PLAYER_TARGETING_MODE", + "jhash": "0x61CAE253", + "comment": "Sets your targeting mode.\n0 = Assisted Aim - Full\n1 = Assisted Aim - Partial\n2 = Free Aim - Assisted\n3 = Free Aim", + "params": [ + { + "type": "int", + "name": "targetMode" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5702B917B99DB1CD": { + "name": "SET_PLAYER_TARGET_LEVEL", + "jhash": "0x772DA539", + "comment": "", + "params": [ + { + "type": "int", + "name": "targetLevel" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB9CF1F793A9F1BF1": { + "name": "GET_IS_USING_FPS_THIRD_PERSON_COVER", + "jhash": "", + "comment": "Returns profile setting 237.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xCB645E85E97EA48B": { + "name": "GET_IS_USING_HOOD_CAMERA", + "jhash": "", + "comment": "Returns profile setting 243.", + "params": [], + "return_type": "BOOL", + "build": "372" + }, + "0xF0B67A4DE6AB5F98": { + "name": "CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_PED", + "jhash": "0x1D31CBBD", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x20CE80B0C2BF4ACC": { + "name": "HAS_PLAYER_DAMAGED_AT_LEAST_ONE_PED", + "jhash": "0x14F52453", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4AACB96203D11A31": { + "name": "CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED", + "jhash": "0x7E3BFBC5", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE4B90F367BD81752": { + "name": "HAS_PLAYER_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED", + "jhash": "0xA3707DFC", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCA7DC8329F0A1E9E": { + "name": "SET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE", + "jhash": "0xF20F72E5", + "comment": "This can be between 1.0f - 14.9f \n\nYou 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.\n\n", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA91C6F0FF7D16A13": { + "name": "SET_SWIM_MULTIPLIER_FOR_PLAYER", + "jhash": "0xB986FF47", + "comment": "Swim speed multiplier.\nMultiplier goes up to 1.49\n\nJust call it one time, it is not required to be called once every tick. - Note copied from below native.\n\nNote: 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.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6DB47AA77FD94E09": { + "name": "SET_RUN_SPRINT_MULTIPLIER_FOR_PLAYER", + "jhash": "0x825423C2", + "comment": "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.\n\nJust call it one time, it is not required to be called once every tick.\n\nNote: 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.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5063F92F07C2A316": { + "name": "GET_TIME_SINCE_LAST_ARREST", + "jhash": "0x62824EF4", + "comment": "Returns the time since the character was arrested in (ms) milliseconds.\n\nexample\n\nvar time = Function.call(Hash.GET_TIME_SINCE_LAST_ARREST();\n\nUI.DrawSubtitle(time.ToString());\n\nif player has not been arrested, the int returned will be -1.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xC7034807558DDFCA": { + "name": "GET_TIME_SINCE_LAST_DEATH", + "jhash": "0x24BC5AC0", + "comment": "Returns the time since the character died in (ms) milliseconds.\n\nexample\n\nvar time = Function.call(Hash.GET_TIME_SINCE_LAST_DEATH();\n\nUI.DrawSubtitle(time.ToString());\n\nif player has not died, the int returned will be -1.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xAEBF081FFC0A0E5E": { + "name": "ASSISTED_MOVEMENT_CLOSE_ROUTE", + "jhash": "0xF23277F3", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x8621390F0CDCFE1F": { + "name": "ASSISTED_MOVEMENT_FLUSH_ROUTE", + "jhash": "0xD04568B9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x0FEE4F80AC44A726": { + "name": "SET_PLAYER_FORCED_AIM", + "jhash": "0x94E42E2E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x75E7D505F2B15902": { + "name": "SET_PLAYER_FORCED_ZOOM", + "jhash": "0xB0C576CB", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7651BC64AE59E128": { + "name": "SET_PLAYER_FORCE_SKIP_AIM_INTRO", + "jhash": "0x374F42F0", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5E6CC07646BBEAB8": { + "name": "DISABLE_PLAYER_FIRING", + "jhash": "0x30CB28CB", + "comment": "Inhibits the player from using any method of combat including melee and firearms.\n\nNOTE: Only disables the firing for one frame", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB885852C39CC265D": { + "name": "DISABLE_PLAYER_THROW_GRENADE_WHILE_USING_GUN", + "jhash": "", + "comment": "Used only once in R* scripts (freemode.ysc).", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x2E8AABFA40A84F8C": { + "name": "SET_DISABLE_AMBIENT_MELEE_MOVE", + "jhash": "0xCCD937E7", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x77DFCCF5948B8C71": { + "name": "SET_PLAYER_MAX_ARMOUR", + "jhash": "0xC6C3C53B", + "comment": "Default is 100. Use player id and not ped id. For instance: PLAYER::SET_PLAYER_MAX_ARMOUR(PLAYER::PLAYER_ID(), 100); // main_persistent.ct4", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x821FDC827D6F4090": { + "name": "SPECIAL_ABILITY_ACTIVATE", + "jhash": "", + "comment": "p1 is always 0 in the scripts", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "678", + "old_names": [ + "_SPECIAL_ABILITY_ACTIVATE" + ] + }, + "0xB214D570EAD7F81A": { + "name": "SET_SPECIAL_ABILITY_MP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "678", + "old_names": [ + "_SET_SPECIAL_ABILITY" + ] + }, + "0x17F7471EACA78290": { + "name": "SPECIAL_ABILITY_DEACTIVATE_MP", + "jhash": "", + "comment": "p1 is always 0 in the scripts", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "678", + "old_names": [ + "_SPECIAL_ABILITY_DEPLETE" + ] + }, + "0xD6A953C6D1492057": { + "name": "SPECIAL_ABILITY_DEACTIVATE", + "jhash": "0x80C2AB09", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9CB5CE07A3968D5A": { + "name": "SPECIAL_ABILITY_DEACTIVATE_FAST", + "jhash": "0x0751908A", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x375F0E738F861A94": { + "name": "SPECIAL_ABILITY_RESET", + "jhash": "0xA7D8BCD3", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC9A763D8FE87436A": { + "name": "SPECIAL_ABILITY_CHARGE_ON_MISSION_FAILED", + "jhash": "0x4136829A", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2E7B9B683481687D": { + "name": "SPECIAL_ABILITY_CHARGE_SMALL", + "jhash": "0x6F463F56", + "comment": "Every occurrence of p1 & p2 were both true.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF113E3AA9BC54613": { + "name": "SPECIAL_ABILITY_CHARGE_MEDIUM", + "jhash": "0xAB55D8F3", + "comment": "Only 1 match. Both p1 & p2 were true.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF733F45FA4497D93": { + "name": "SPECIAL_ABILITY_CHARGE_LARGE", + "jhash": "0xF440C04D", + "comment": "2 matches. p1 was always true.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xED481732DFF7E997": { + "name": "SPECIAL_ABILITY_CHARGE_CONTINUOUS", + "jhash": "0x5FEE98A2", + "comment": "p1 appears to always be 1 (only comes up twice)", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Ped", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB7B0870EB531D08D": { + "name": "SPECIAL_ABILITY_CHARGE_ABSOLUTE", + "jhash": "0x72429998", + "comment": "p1 appears as 5, 10, 15, 25, or 30. p2 is always true.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA0696A65F009EE18": { + "name": "SPECIAL_ABILITY_CHARGE_NORMALIZED", + "jhash": "0x8C7E68C1", + "comment": "\nnormalizedValue is from 0.0 - 1.0\np2 is always 1", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "normalizedValue" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "RESET_SPECIAL_ABILITY_CONTROLS_CINEMATIC" + ] + }, + "0x3DACA8DDC6FD4980": { + "name": "SPECIAL_ABILITY_FILL_METER", + "jhash": "0xB71589DA", + "comment": "Also known as _RECHARGE_SPECIAL_ABILITY", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1D506DBBBC51E64B": { + "name": "SPECIAL_ABILITY_DEPLETE_METER", + "jhash": "0x9F80F6DF", + "comment": "p1 was always true.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6A09D0D590A47D13": { + "name": "SPECIAL_ABILITY_LOCK", + "jhash": "0x1B7BB388", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "playerModel" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF145F3BE2EFA9A3B": { + "name": "SPECIAL_ABILITY_UNLOCK", + "jhash": "0x1FDB2919", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "playerModel" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC6017F6A6CDFA694": { + "name": "IS_SPECIAL_ABILITY_UNLOCKED", + "jhash": "0xC9C75E82", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "playerModel" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3E5F7FC85D854E15": { + "name": "IS_SPECIAL_ABILITY_ACTIVE", + "jhash": "0x1B17E334", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x05A1FE504B7F2587": { + "name": "IS_SPECIAL_ABILITY_METER_FULL", + "jhash": "0x2E19D7F6", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x181EC197DAEFE121": { + "name": "ENABLE_SPECIAL_ABILITY", + "jhash": "0xC86C1B4E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB1D200FE26AEF3CB": { + "name": "IS_SPECIAL_ABILITY_ENABLED", + "jhash": "0xC01238CC", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA49C426ED0CA4AB7": { + "name": "SET_SPECIAL_ABILITY_MULTIPLIER", + "jhash": "0xFF1BC556", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFFEE8FA29AB9A18E": { + "name": "UPDATE_SPECIAL_ABILITY_FROM_STAT", + "jhash": "0x5D0FE25B", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5FC472C501CCADB3": { + "name": "GET_IS_PLAYER_DRIVING_ON_HIGHWAY", + "jhash": "0x46E7E31D", + "comment": "Appears once in \"re_dealgonewrong\"", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF10B44FD479D69F3": { + "name": "GET_IS_PLAYER_DRIVING_WRECKLESS", + "jhash": "0x1E359CC8", + "comment": "Only 1 occurrence. p1 was 2.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDD2620B7B9D16FF1": { + "name": "GET_IS_MOPPING_AREA_FREE_IN_FRONT_OF_PLAYER", + "jhash": "0x8CB53C9F", + "comment": "2 occurrences in agency_heist3a. p1 was 0.7f then 0.4f.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAD15F075A4DA0FDE": { + "name": "START_PLAYER_TELEPORT", + "jhash": "0xC552E06C", + "comment": "`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.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "BOOL", + "name": "findCollisionLand" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE23D5873C2394C61": { + "name": "UPDATE_PLAYER_TELEPORT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_PLAYER_TELEPORT_FINISHED" + ] + }, + "0xC449EDED9D73009C": { + "name": "STOP_PLAYER_TELEPORT", + "jhash": "0x86AB8DBB", + "comment": "Disables the player's teleportation", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x02B15662D7F8886F": { + "name": "IS_PLAYER_TELEPORT_ACTIVE", + "jhash": "0x3A11D118", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2F395D61F3A1F877": { + "name": "GET_PLAYER_CURRENT_STEALTH_NOISE", + "jhash": "0xC3B02362", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "323" + }, + "0x5DB660B38DD98A31": { + "name": "SET_PLAYER_HEALTH_RECHARGE_MULTIPLIER", + "jhash": "0x45514731", + "comment": "`regenRate`: The recharge multiplier, a value between 0.0 and 1.0.\nUse 1.0 to reset it back to normal", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "regenRate" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8BC515BAE4AAF8FF": { + "name": "GET_PLAYER_HEALTH_RECHARGE_MAX_PERCENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "float", + "build": "617", + "old_names": [ + "_GET_PLAYER_HEALTH_RECHARGE_LIMIT" + ] + }, + "0xC388A0F065F5BC34": { + "name": "SET_PLAYER_HEALTH_RECHARGE_MAX_PERCENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "limit" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SET_PLAYER_HEALTH_RECHARGE_LIMIT" + ] + }, + "0xBCB06442F7E52666": { + "name": "DISABLE_PLAYER_HEALTH_RECHARGE", + "jhash": "", + "comment": "Needs to be called every frame.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xEFD79FA81DFBA9CB": { + "name": "SET_PLAYER_FALL_DISTANCE_TO_TRIGGER_RAGDOLL_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SET_PLAYER_FALL_DISTANCE" + ] + }, + "0xCE07B9F7817AADA3": { + "name": "SET_PLAYER_WEAPON_DAMAGE_MODIFIER", + "jhash": "0xB02C2F39", + "comment": "This modifies the damage value of your weapon. Whether it is a multiplier or base damage is unknown. \n\nBased on tests, it is unlikely to be a multiplier.\n\nmodifier's min value is 0.1", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2D83BC011CA14A3C": { + "name": "SET_PLAYER_WEAPON_DEFENSE_MODIFIER", + "jhash": "0xAE446344", + "comment": "modifier's min value is 0.1", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBCFDE9EDE4CF27DC": { + "name": "SET_PLAYER_WEAPON_MINIGUN_DEFENSE_MODIFIER", + "jhash": "", + "comment": "modifier's min value is 0.1", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_PLAYER_WEAPON_DEFENSE_MODIFIER_2" + ] + }, + "0x4A3DC7ECCC321032": { + "name": "SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER", + "jhash": "0x362E69AD", + "comment": "modifier's min value is 0.1", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "modifier" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAE540335B4ABC4E2": { + "name": "SET_PLAYER_MELEE_WEAPON_DEFENSE_MODIFIER", + "jhash": "0x9F3D577F", + "comment": "modifier's min value is 0.1", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA50E117CDDF82F0C": { + "name": "SET_PLAYER_VEHICLE_DAMAGE_MODIFIER", + "jhash": "0x823ECA63", + "comment": "modifier's min value is 0.1", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4C60E6EFDAFF2462": { + "name": "SET_PLAYER_VEHICLE_DEFENSE_MODIFIER", + "jhash": "0xA16626C7", + "comment": "modifier's min value is 0.1", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8D768602ADEF2245": { + "name": "SET_PLAYER_MAX_EXPLOSIVE_DAMAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "463" + }, + "0xD821056B9ACF8052": { + "name": "SET_PLAYER_EXPLOSIVE_DAMAGE_MODIFIER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1011" + }, + "0x31E90B8873A4CD3B": { + "name": "SET_PLAYER_WEAPON_TAKEDOWN_DEFENSE_MODIFIER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "617" + }, + "0xA3D0E54541D9A5E5": { + "name": "SET_PLAYER_PARACHUTE_TINT_INDEX", + "jhash": "0x8EA12EDB", + "comment": "Tints:\n None = -1,\n Rainbow = 0,\n Red = 1,\n SeasideStripes = 2,\n WidowMaker = 3,\n Patriot = 4,\n Blue = 5,\n Black = 6,\n Hornet = 7,\n AirFocce = 8,\n Desert = 9,\n Shadow = 10,\n HighAltitude = 11,\n Airbone = 12,\n Sunrise = 13,\n", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "tintIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x75D3F7A1B0D9B145": { + "name": "GET_PLAYER_PARACHUTE_TINT_INDEX", + "jhash": "0x432B0509", + "comment": "Tints:\n None = -1,\n Rainbow = 0,\n Red = 1,\n SeasideStripes = 2,\n WidowMaker = 3,\n Patriot = 4,\n Blue = 5,\n Black = 6,\n Hornet = 7,\n AirFocce = 8,\n Desert = 9,\n Shadow = 10,\n HighAltitude = 11,\n Airbone = 12,\n Sunrise = 13,", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int*", + "name": "tintIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAF04C87F5DC1DF38": { + "name": "SET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX", + "jhash": "0x70689638", + "comment": "Tints:\n None = -1,\n Rainbow = 0,\n Red = 1,\n SeasideStripes = 2,\n WidowMaker = 3,\n Patriot = 4,\n Blue = 5,\n Black = 6,\n Hornet = 7,\n AirFocce = 8,\n Desert = 9,\n Shadow = 10,\n HighAltitude = 11,\n Airbone = 12,\n Sunrise = 13,", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD5A016BC3C09CF40": { + "name": "GET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX", + "jhash": "0x77B8EF01", + "comment": "Tints:\n None = -1,\n Rainbow = 0,\n Red = 1,\n SeasideStripes = 2,\n WidowMaker = 3,\n Patriot = 4,\n Blue = 5,\n Black = 6,\n Hornet = 7,\n AirFocce = 8,\n Desert = 9,\n Shadow = 10,\n HighAltitude = 11,\n Airbone = 12,\n Sunrise = 13,", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int*", + "name": "index" + } + ], + "return_type": "void", + "build": "323" + }, + "0x93B0FB27C9A04060": { + "name": "SET_PLAYER_PARACHUTE_PACK_TINT_INDEX", + "jhash": "0xD79D5D1B", + "comment": "tints 0- 13\n0 - unkown\n1 - unkown\n2 - unkown\n3 - unkown\n4 - unkown", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "tintIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E9C742F340CE5A2": { + "name": "GET_PLAYER_PARACHUTE_PACK_TINT_INDEX", + "jhash": "0x4E418E13", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int*", + "name": "tintIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7DDAB28D31FAC363": { + "name": "SET_PLAYER_HAS_RESERVE_PARACHUTE", + "jhash": "0xA3E4798E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5DDFE2FF727F3CA3": { + "name": "GET_PLAYER_HAS_RESERVE_PARACHUTE", + "jhash": "0x30DA1DA1", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF401B182DBA8AF53": { + "name": "SET_PLAYER_CAN_LEAVE_PARACHUTE_SMOKE_TRAIL", + "jhash": "0x832DEB7A", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "enabled" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8217FD371A4625CF": { + "name": "SET_PLAYER_PARACHUTE_SMOKE_TRAIL_COLOR", + "jhash": "0x14FE9264", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEF56DBABD3CD4887": { + "name": "GET_PLAYER_PARACHUTE_SMOKE_TRAIL_COLOR", + "jhash": "0xF66E5CDD", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0x11D5F725F0E780E0": { + "name": "SET_PLAYER_PHONE_PALETTE_IDX", + "jhash": "", + "comment": "example:\n\nflags: 0-6\n\nPLAYER::SET_PLAYER_RESET_FLAG_PREFER_REAR_SEATS(PLAYER::PLAYER_ID(), 6);\n\nwouldnt the flag be the seatIndex?", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_PLAYER_RESET_FLAG_PREFER_REAR_SEATS" + ] + }, + "0xDB89EF50FF25FCE9": { + "name": "SET_PLAYER_NOISE_MULTIPLIER", + "jhash": "0x15786DD1", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB2C1A29588A9F47C": { + "name": "SET_PLAYER_SNEAKING_NOISE_MULTIPLIER", + "jhash": "0x8D2D89C4", + "comment": "Values around 1.0f to 2.0f used in game scripts.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF297383AA91DCA29": { + "name": "CAN_PED_HEAR_PLAYER", + "jhash": "0x1C70B2EB", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x477D5D63E63ECA5D": { + "name": "SIMULATE_PLAYER_INPUT_GAIT", + "jhash": "0x0D77CC34", + "comment": "This is to make the player walk without accepting input from INPUT.\n\ngaitType is in increments of 100s. 2000, 500, 300, 200, etc.\n\np4 is always 1 and p5 is always 0.\n\nC# Example :\n\nFunction.Call(Hash.SIMULATE_PLAYER_INPUT_GAIT, Game.Player, 1.0f, 100, 1.0f, 1, 0); //Player will go forward for 100ms", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "amount" + }, + { + "type": "int", + "name": "gaitType" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0x19531C47A2ABD691": { + "name": "RESET_PLAYER_INPUT_GAIT", + "jhash": "0x4A701EE1", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9F343285A00B4BB6": { + "name": "SET_AUTO_GIVE_PARACHUTE_WHEN_ENTER_PLANE", + "jhash": "0xA97C2059", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD2B315B6689D537D": { + "name": "SET_AUTO_GIVE_SCUBA_GEAR_WHEN_EXIT_VEHICLE", + "jhash": "0xA25D767E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4E9021C1FCDD507A": { + "name": "SET_PLAYER_STEALTH_PERCEPTION_MODIFIER", + "jhash": "0x3D26105F", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x690A61A6D13583F6": { + "name": "IS_REMOTE_PLAYER_IN_NON_CLONED_VEHICLE", + "jhash": "0x1D371529", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9EDD76E87D5D51BA": { + "name": "INCREASE_PLAYER_JUMP_SUPPRESSION_RANGE", + "jhash": "0xE30A64DC", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC54C95DA968EC5B5": { + "name": "SET_PLAYER_SIMULATE_AIMING", + "jhash": "0xF1E0CAFC", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x749FADDF97DFE930": { + "name": "SET_PLAYER_CLOTH_PIN_FRAMES", + "jhash": "0xF7A0F00F", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9F7BBA2EA6372500": { + "name": "SET_PLAYER_CLOTH_PACKAGE_INDEX", + "jhash": "0xB8209F16", + "comment": "Every occurrence was either 0 or 2.", + "params": [ + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "323" + }, + "0x14D913B777DFF5DA": { + "name": "SET_PLAYER_CLOTH_LOCK_COUNTER", + "jhash": "0x8D9FD4D1", + "comment": "6 matches across 4 scripts. 5 occurrences were 240. The other was 255.", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xED51733DC73AED51": { + "name": "PLAYER_ATTACH_VIRTUAL_BOUND", + "jhash": "0xECD12E60", + "comment": "Only 1 match. ob_sofa_michael.\n\nPLAYER::PLAYER_ATTACH_VIRTUAL_BOUND(-804.5928f, 173.1801f, 71.68436f, 0f, 0f, 0.590625f, 1f, 0.7f);1.0.335.2, 1.0.350.1/2, 1.0.372.2, 1.0.393.2, 1.0.393.4, 1.0.463.1;", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1DD5897E2FA6E7C9": { + "name": "PLAYER_DETACH_VIRTUAL_BOUND", + "jhash": "0x96100EA4", + "comment": "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;", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD705740BB0A1CF4C": { + "name": "HAS_PLAYER_BEEN_SPOTTED_IN_STOLEN_VEHICLE", + "jhash": "0x4A01B76A", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x38D28DA81E4E9BF9": { + "name": "IS_PLAYER_BATTLE_AWARE", + "jhash": "0x013B4F72", + "comment": "Returns true if an unk value is greater than 0.0f", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBC0753C9CA14B506": { + "name": "GET_PLAYER_RECEIVED_BATTLE_EVENT_RECENTLY", + "jhash": "0x9DF75B2A", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5006D96C995A5827": { + "name": "EXTEND_WORLD_BOUNDARY_FOR_PLAYER", + "jhash": "0x64DDB07D", + "comment": "Appears only 3 times in the scripts, more specifically in michael1.ysc\n\n-\nThis can be used to prevent dying if you are \"out of the world\"", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_EXPAND_WORLD_LIMITS" + ] + }, + "0xDA1DF03D5A315F4E": { + "name": "RESET_WORLD_BOUNDARY_FOR_PLAYER", + "jhash": "0xA97C2F6C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x4EC12697209F2196": { + "name": "IS_PLAYER_RIDING_TRAIN", + "jhash": "0x9765E71D", + "comment": "Returns true if the player is riding a train.", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD55DDFB47991A294": { + "name": "HAS_PLAYER_LEFT_THE_WORLD", + "jhash": "0xFEA40B6C", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFF300C7649724A0B": { + "name": "SET_PLAYER_LEAVE_PED_BEHIND", + "jhash": "0xAD8383FA", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD9284A8C0D48352C": { + "name": "SET_PLAYER_PARACHUTE_VARIATION_OVERRIDE", + "jhash": "0x9254249D", + "comment": "p1 was always 5.\np4 was always false.", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0F4CC924CF8C7B21": { + "name": "CLEAR_PLAYER_PARACHUTE_VARIATION_OVERRIDE", + "jhash": "0xFD60F5AB", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x977DB4641F6FC3DB": { + "name": "SET_PLAYER_PARACHUTE_MODEL_OVERRIDE", + "jhash": "0x5D382498", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0764486AEDE748DB": { + "name": "SET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE" + ] + }, + "0xC219887CA3E65C41": { + "name": "GET_PLAYER_PARACHUTE_MODEL_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "Hash", + "build": "2372", + "old_names": [ + "_GET_PLAYER_PARACHUTE_MODEL_OVERRIDE" + ] + }, + "0x37FAAA68DCA9D08D": { + "name": "GET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "Hash", + "build": "2372", + "old_names": [ + "_GET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE" + ] + }, + "0x8753997EB5F6EE3F": { + "name": "CLEAR_PLAYER_PARACHUTE_MODEL_OVERRIDE", + "jhash": "0x6FF034BB", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x290D248E25815AE8": { + "name": "CLEAR_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_CLEAR_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE" + ] + }, + "0xDC80A4C2F18A2B64": { + "name": "SET_PLAYER_PARACHUTE_PACK_MODEL_OVERRIDE", + "jhash": "0xA877FF5E", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "323" + }, + "0x10C54E4389C12B42": { + "name": "CLEAR_PLAYER_PARACHUTE_PACK_MODEL_OVERRIDE", + "jhash": "0xBB62AAC5", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC142BE3BB9CE125F": { + "name": "DISABLE_PLAYER_VEHICLE_REWARDS", + "jhash": "0x8C6E611D", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2F7CEB6520288061": { + "name": "SET_PLAYER_SPECTATED_VEHICLE_RADIO_OVERRIDE", + "jhash": "0x2849D4B2", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5DC40A8869C22141": { + "name": "SET_PLAYER_BLUETOOTH_STATE", + "jhash": "0x7A6B0EF8", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0x65FAEE425DE637B0": { + "name": "IS_PLAYER_BLUETOOTH_ENABLE", + "jhash": "0xEA01BD4A", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5501B7A5CDB79D37": { + "name": "DISABLE_CAMERA_VIEW_MODE_CYCLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "void", + "build": "323" + }, + "0x56105E599CAB0EFA": { + "name": "GET_PLAYER_FAKE_WANTED_LEVEL", + "jhash": "0x0098D244", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + } + ], + "return_type": "int", + "build": "323" + }, + "0x55FCC0C390620314": { + "name": "SET_PLAYER_CAN_DAMAGE_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player1" + }, + { + "type": "Player", + "name": "player2" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "573" + }, + "0x2382AB11450AE7BA": { + "name": "SET_APPLY_WAYPOINT_OF_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "hudColor" + } + ], + "return_type": "void", + "build": "877" + }, + "0x6E4361FF3E8CD7CA": { + "name": "IS_PLAYER_VEHICLE_WEAPON_TOGGLED_TO_NON_HOMING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "1011" + }, + "0x237440E46D918649": { + "name": "SET_PLAYER_VEHICLE_WEAPON_TO_NON_HOMING", + "jhash": "", + "comment": "Unsets playerPed+330 if the current weapon has certain flags.", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xEE4EBDD2593BA844": { + "name": "SET_PLAYER_HOMING_DISABLED_FOR_ALL_VEHICLE_WEAPONS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_SET_PLAYER_HOMING_ROCKET_DISABLED" + ] + }, + "0x9097EB6D4BB9A12A": { + "name": "ADD_PLAYER_TARGETABLE_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "1868" + }, + "0x9F260BFB59ADBCA3": { + "name": "REMOVE_PLAYER_TARGETABLE_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "1868" + }, + "0x7BAE68775557AE0B": { + "name": "SET_PLAYER_PREVIOUS_VARIATION_DATA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x7148E0F43D11F0D9": { + "name": "REMOVE_SCRIPT_FIRE_POSITION", + "jhash": "", + "comment": "Resets values set by SET_SCRIPT_FIRE_POSITION", + "params": [], + "return_type": "void", + "build": "1604" + }, + "0x70A382ADEC069DD3": { + "name": "SET_SCRIPT_FIRE_POSITION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "coordX" + }, + { + "type": "float", + "name": "coordY" + }, + { + "type": "float", + "name": "coordZ" + } + ], + "return_type": "void", + "build": "1604" + } + }, + "RECORDING": { + "0x48621C9FCA3EBD28": { + "name": "REPLAY_START_EVENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x81CBAE94390F9F89": { + "name": "REPLAY_STOP_EVENT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x13B350B8AD0EEE10": { + "name": "REPLAY_CANCEL_EVENT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x293220DA1B46CEBC": { + "name": "REPLAY_RECORD_BACK_FOR_TIME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x208784099002BC30": { + "name": "REPLAY_CHECK_FOR_EVENT_THIS_FRAME", + "jhash": "", + "comment": "-This function appears to be deprecated/ unused. Tracing the call internally leads to a _nullsub -\n\nfirst one seems to be a string of a mission name, second one seems to be a bool/toggle\n\np1 was always 0.\n", + "params": [ + { + "type": "const char*", + "name": "missionNameLabel" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB2D525B57F42B40": { + "name": "REPLAY_PREVENT_RECORDING_THIS_FRAME", + "jhash": "", + "comment": "This disable the recording feature and has to be called every frame.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_STOP_RECORDING_THIS_FRAME" + ] + }, + "0xF854439EFBB3B583": { + "name": "REPLAY_RESET_EVENT_INFO", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAF66DCEE6609B148": { + "name": "REPLAY_DISABLE_CAMERA_MOVEMENT_THIS_FRAME", + "jhash": "", + "comment": "This will disable the ability to make camera changes in R* Editor.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISABLE_ROCKSTAR_EDITOR_CAMERA_CHANGES" + ] + }, + "0x66972397E0757E7A": { + "name": "RECORD_GREATEST_MOMENT", + "jhash": "", + "comment": "Does nothing (it's a nullsub).", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC3AC2FFF9612AC81": { + "name": "START_REPLAY_RECORDING", + "jhash": "", + "comment": "Starts recording a replay.\nIf mode is 0, turns on action replay.\nIf mode is 1, starts recording.\nIf already recording a replay, does nothing.", + "params": [ + { + "type": "int", + "name": "mode" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_START_RECORDING" + ] + }, + "0x071A5197D6AFC8B3": { + "name": "STOP_REPLAY_RECORDING", + "jhash": "", + "comment": "Stops recording and saves the recorded clip.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_STOP_RECORDING", + "_STOP_RECORDING_AND_SAVE_CLIP" + ] + }, + "0x88BB3507ED41A240": { + "name": "CANCEL_REPLAY_RECORDING", + "jhash": "", + "comment": "Stops recording and discards the recorded clip.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_STOP_RECORDING_AND_DISCARD_CLIP" + ] + }, + "0x644546EC5287471B": { + "name": "SAVE_REPLAY_RECORDING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SAVE_RECORDING_CLIP" + ] + }, + "0x1897CA71995A90B4": { + "name": "IS_REPLAY_RECORDING", + "jhash": "", + "comment": "Checks if you're recording, returns TRUE when you start recording (F1) or turn on action replay (F2)\n\nmov al, cs:g_bIsRecordingGameplay // byte_141DD0CD0 in b944\nretn", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_RECORDING" + ] + }, + "0xDF4B952F7D381B95": { + "name": "IS_REPLAY_INITIALIZED", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4282E08174868BE3": { + "name": "IS_REPLAY_AVAILABLE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x33D47E85B476ABCD": { + "name": "IS_REPLAY_RECORD_SPACE_AVAILABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + } + }, + "REPLAY": { + "0x7E2BD3EF6C205F09": { + "name": "REGISTER_EFFECT_FOR_REPLAY_EDITOR", + "jhash": "", + "comment": "Does nothing (it's a nullsub).", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x95AB8B5C992C7B58": { + "name": "REPLAY_SYSTEM_HAS_REQUESTED_A_SCRIPT_CLEANUP", + "jhash": "", + "comment": "Returns a bool if interior rendering is disabled, if yes, all \"normal\" rendered interiors are invisible", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_INTERIOR_RENDERING_DISABLED" + ] + }, + "0x5AD3932DAEB1E5D3": { + "name": "SET_SCRIPTS_HAVE_CLEANED_UP_FOR_REPLAY_SYSTEM", + "jhash": "", + "comment": "Disables some other rendering (internal)", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE058175F8EAFE79A": { + "name": "SET_REPLAY_SYSTEM_PAUSED_FOR_SAVE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3353D13F09307691": { + "name": "REPLAY_CONTROL_SHUTDOWN", + "jhash": "", + "comment": "Sets (almost, not sure) all Rockstar Editor values (bIsRecording etc) to 0.", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_EDITOR_VALUES" + ] + }, + "0x49DA8145672B2725": { + "name": "ACTIVATE_ROCKSTAR_EDITOR", + "jhash": "", + "comment": "Please note that you will need to call DO_SCREEN_FADE_IN after exiting the Rockstar Editor when you call this.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ACTIVATE_ROCKSTAR_EDITOR" + ] + } + }, + "SAVEMIGRATION": { + "0x84B418E93894AC1C": { + "name": "SAVEMIGRATION_IS_MP_ENABLED", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2372" + }, + "0x85F41F9225D08C72": { + "name": "SAVEMIGRATION_MP_REQUEST_ACCOUNTS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2612" + }, + "0xC8CB5999919EA2CA": { + "name": "SAVEMIGRATION_MP_GET_ACCOUNTS_STATUS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "2612" + }, + "0x77A16200E18E0C55": { + "name": "SAVEMIGRATION_MP_NUM_ACCOUNTS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "2612" + }, + "0xFCE2747EEF1D05FC": { + "name": "SAVEMIGRATION_MP_GET_ACCOUNT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "2612" + }, + "0xE5E9746A66359F9D": { + "name": "SAVEMIGRATION_MP_REQUEST_STATUS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2372" + }, + "0x690B76BD2763E068": { + "name": "SAVEMIGRATION_MP_GET_STATUS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "2372" + } + }, + "SCRIPT": { + "0x6EB5F71AA68F2E8E": { + "name": "REQUEST_SCRIPT", + "jhash": "0xE26B2666", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scriptName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC90D2DCACD56184C": { + "name": "SET_SCRIPT_AS_NO_LONGER_NEEDED", + "jhash": "0x6FCB7795", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scriptName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE6CC9F3BA0FB9EF1": { + "name": "HAS_SCRIPT_LOADED", + "jhash": "0x5D67F751", + "comment": "Returns if a script has been loaded into the game. Used to see if a script was loaded after requesting.", + "params": [ + { + "type": "const char*", + "name": "scriptName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFC04745FBE67C19A": { + "name": "DOES_SCRIPT_EXIST", + "jhash": "0xDEAB87AB", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "scriptName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD62A67D26D9653E6": { + "name": "REQUEST_SCRIPT_WITH_NAME_HASH", + "jhash": "0x1C68D9DC", + "comment": "formerly _REQUEST_STREAMED_SCRIPT", + "params": [ + { + "type": "Hash", + "name": "scriptHash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REQUEST_STREAMED_SCRIPT" + ] + }, + "0xC5BC038960E9DB27": { + "name": "SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED", + "jhash": "0x96C26F66", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "scriptHash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_STREAMED_SCRIPT_AS_NO_LONGER_NEEDED" + ] + }, + "0x5F0F0C783EB16C04": { + "name": "HAS_SCRIPT_WITH_NAME_HASH_LOADED", + "jhash": "0x06674818", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "scriptHash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_STREAMED_SCRIPT_LOADED" + ] + }, + "0xF86AA3C56BA31381": { + "name": "DOES_SCRIPT_WITH_NAME_HASH_EXIST", + "jhash": "0x19EAE282", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "scriptHash" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_DOES_SCRIPT_WITH_NAME_HASH_EXIST" + ] + }, + "0xC8B189ED9138BCD4": { + "name": "TERMINATE_THREAD", + "jhash": "0x253FD520", + "comment": "", + "params": [ + { + "type": "int", + "name": "threadId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46E9AE36D8FA6417": { + "name": "IS_THREAD_ACTIVE", + "jhash": "0x78D7A5A0", + "comment": "", + "params": [ + { + "type": "int", + "name": "threadId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x05A42BA9FC8DA96B": { + "name": "GET_NAME_OF_SCRIPT_WITH_THIS_ID", + "jhash": "0xBE7ACD89", + "comment": "", + "params": [ + { + "type": "int", + "name": "threadId" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_GET_THREAD_NAME", + "_GET_NAME_OF_THREAD" + ] + }, + "0xDADFADA5A20143A8": { + "name": "SCRIPT_THREAD_ITERATOR_RESET", + "jhash": "0xBB4E2F66", + "comment": "Starts a new iteration of the current threads.\nCall this first, then SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID (0x30B4FA1C82DD4B9F)", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_BEGIN_ENUMERATING_THREADS" + ] + }, + "0x30B4FA1C82DD4B9F": { + "name": "SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID", + "jhash": "0x1E28B28F", + "comment": "If the function returns 0, the end of the iteration has been reached.", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_ID_OF_NEXT_THREAD_IN_ENUMERATION" + ] + }, + "0xC30338E8088E2E21": { + "name": "GET_ID_OF_THIS_THREAD", + "jhash": "0xDE524830", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x1090044AD1DA76FA": { + "name": "TERMINATE_THIS_THREAD", + "jhash": "0x3CD9CBB7", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x2C83A9DA6BFFC4F9": { + "name": "GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH", + "jhash": "0x029D3841", + "comment": "Gets the number of instances of the specified script is currently running.\n\nActually returns numRefs - 1.\nif (program)\n\tv3 = rage::scrProgram::GetNumRefs(program) - 1;\nreturn v3;", + "params": [ + { + "type": "Hash", + "name": "scriptHash" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT", + "_GET_NUMBER_OF_INSTANCES_OF_SCRIPT_WITH_NAME_HASH", + "_GET_NUMBER_OF_REFERENCES_OF_SCRIPT_WITH_NAME_HASH" + ] + }, + "0x442E0A7EDE4A738A": { + "name": "GET_THIS_SCRIPT_NAME", + "jhash": "0xA40FD5D9", + "comment": "", + "params": [], + "return_type": "const char*", + "build": "323" + }, + "0x8A1C8B1738FFE87E": { + "name": "GET_HASH_OF_THIS_SCRIPT_NAME", + "jhash": "0x2BEE1F45", + "comment": "", + "params": [], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_THIS_SCRIPT_HASH" + ] + }, + "0x5F92A689A06620AA": { + "name": "GET_NUMBER_OF_EVENTS", + "jhash": "0xA3525D60", + "comment": "eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)", + "params": [ + { + "type": "int", + "name": "eventGroup" + } + ], + "return_type": "int", + "build": "323" + }, + "0x936E6168A9BCEDB5": { + "name": "GET_EVENT_EXISTS", + "jhash": "0xA1B447B5", + "comment": "eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)", + "params": [ + { + "type": "int", + "name": "eventGroup" + }, + { + "type": "int", + "name": "eventIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD8F66A3A60C62153": { + "name": "GET_EVENT_AT_INDEX", + "jhash": "0xB49C1442", + "comment": "eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)", + "params": [ + { + "type": "int", + "name": "eventGroup" + }, + { + "type": "int", + "name": "eventIndex" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2902843FCD2B2D79": { + "name": "GET_EVENT_DATA", + "jhash": "0x4280F92F", + "comment": "eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)\n\nNote: 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!).", + "params": [ + { + "type": "int", + "name": "eventGroup" + }, + { + "type": "int", + "name": "eventIndex" + }, + { + "type": "Any*", + "name": "eventData" + }, + { + "type": "int", + "name": "eventDataSize" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5AE99C571D5BBE5D": { + "name": "TRIGGER_SCRIPT_EVENT", + "jhash": "0x54763B35", + "comment": "eventGroup: 0 = SCRIPT_EVENT_QUEUE_AI (CEventGroupScriptAI), 1 = SCRIPT_EVENT_QUEUE_NETWORK (CEventGroupScriptNetwork)\n\nNote: 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!).\n\nplayerBits (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.", + "params": [ + { + "type": "int", + "name": "eventGroup" + }, + { + "type": "Any*", + "name": "eventData" + }, + { + "type": "int", + "name": "eventDataSize" + }, + { + "type": "int", + "name": "playerBits" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x078EBE9809CCD637": { + "name": "SHUTDOWN_LOADING_SCREEN", + "jhash": "0xA2826D17", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5262CC1995D07E09": { + "name": "SET_NO_LOADING_SCREEN", + "jhash": "0xC8055034", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x18C1270EA7F199BC": { + "name": "GET_NO_LOADING_SCREEN", + "jhash": "0x27512BA0", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_NO_LOADING_SCREEN" + ] + }, + "0xB1577667C3708F9B": { + "name": "COMMIT_TO_LOADINGSCREEN_SELCTION", + "jhash": "0xB03BCCDF", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x836B62713E0534CA": { + "name": "BG_IS_EXITFLAG_SET", + "jhash": "0x22B9F132", + "comment": "Returns true if bit 0 in GtaThread+0x154 is set.", + "params": [], + "return_type": "BOOL", + "build": "323", + "unused": true, + "old_names": [ + "_BG_EXITED_BECAUSE_BACKGROUND_THREAD_STOPPED" + ] + }, + "0x760910B49D2B98EA": { + "name": "BG_SET_EXITFLAG_RESPONSE", + "jhash": "0x5C95B670", + "comment": "Sets bit 1 in GtaThread+0x154", + "params": [], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x75B18E49607874C7": { + "name": "BG_START_CONTEXT_HASH", + "jhash": "0x67B23E17", + "comment": "Hashed version of BG_START_CONTEXT.", + "params": [ + { + "type": "Hash", + "name": "contextHash" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x107E5CC7CA942BC1": { + "name": "BG_END_CONTEXT_HASH", + "jhash": "0x3D981EBF", + "comment": "Hashed version of BG_END_CONTEXT.", + "params": [ + { + "type": "Hash", + "name": "contextHash" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x9D5A25BADB742ACD": { + "name": "BG_START_CONTEXT", + "jhash": "0xF3F1D953", + "comment": "Inserts the given context into the background scripts context map.", + "params": [ + { + "type": "const char*", + "name": "contextName" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0xDC2BACD920D0A0DD": { + "name": "BG_END_CONTEXT", + "jhash": "0x11F38FB3", + "comment": "Deletes the given context from the background scripts context map.", + "params": [ + { + "type": "const char*", + "name": "contextName" + } + ], + "return_type": "void", + "build": "323", + "unused": true + }, + "0x0F6F1EBBC4E1D5E6": { + "name": "BG_DOES_LAUNCH_PARAM_EXIST", + "jhash": "0xF8E5F73A", + "comment": "", + "params": [ + { + "type": "int", + "name": "scriptIndex" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x22E21FBCFC88C149": { + "name": "BG_GET_LAUNCH_PARAM_VALUE", + "jhash": "0x682CB7E1", + "comment": "", + "params": [ + { + "type": "int", + "name": "scriptIndex" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "int", + "build": "323", + "unused": true + }, + "0x829CD22E043A2577": { + "name": "BG_GET_SCRIPT_ID_FROM_NAME_HASH", + "jhash": "0xC515E735", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "unused": true + }, + "0xA40CC53DF8E50837": { + "name": "SEND_TU_SCRIPT_EVENT", + "jhash": "", + "comment": "See TRIGGER_SCRIPT_EVENT", + "params": [ + { + "type": "int", + "name": "eventGroup" + }, + { + "type": "Any*", + "name": "eventData" + }, + { + "type": "int", + "name": "eventDataSize" + }, + { + "type": "int", + "name": "playerBits" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_TRIGGER_SCRIPT_EVENT_2" + ] + } + }, + "SECURITY": { + "0x40EB1EFD921822BC": { + "name": "REGISTER_SCRIPT_VARIABLE", + "jhash": "", + "comment": "Registers a protected variable that will be checked for modifications by the anticheat", + "params": [ + { + "type": "Any*", + "name": "variable" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_REGISTER_PROTECTED_VARIABLE" + ] + }, + "0x340A36A700E99699": { + "name": "UNREGISTER_SCRIPT_VARIABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "variable" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_UNREGISTER_PROTECTED_VARIABLE" + ] + }, + "0x8E580AB902917360": { + "name": "FORCE_CHECK_SCRIPT_VARIABLES", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "2545", + "old_names": [ + "_FORCE_CHECK_PROTECTED_VARIABLES_NOW" + ] + } + }, + "SHAPETEST": { + "0x7EE9F5D83DD4F90E": { + "name": "START_SHAPE_TEST_LOS_PROBE", + "jhash": "0xEFAF4BA6", + "comment": "Asynchronously starts a line-of-sight (raycast) world probe shape test.\n\nUse the handle with 0x3D87450E15D98694 or 0x65287525D951F6BE until it returns 0 or 2.\n\np8 is a bit mask with bits 1, 2 and/or 4, relating to collider types; 4 should usually be used.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "p8" + } + ], + "return_type": "int", + "build": "323" + }, + "0x377906D8A31E5586": { + "name": "START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE", + "jhash": "0x8251485D", + "comment": "Does the same as 0x7EE9F5D83DD4F90E, except blocking until the shape test completes.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "p8" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_CAST_RAY_POINT_TO_POINT", + "_START_SHAPE_TEST_RAY" + ] + }, + "0x052837721A854EC7": { + "name": "START_SHAPE_TEST_BOUNDING_BOX", + "jhash": "0xCEEAD94B", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "flags1" + }, + { + "type": "int", + "name": "flags2" + } + ], + "return_type": "int", + "build": "323" + }, + "0xFE466162C4401D18": { + "name": "START_SHAPE_TEST_BOX", + "jhash": "0x249BC876", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "dimX" + }, + { + "type": "float", + "name": "dimY" + }, + { + "type": "float", + "name": "dimZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Any", + "name": "p12" + } + ], + "return_type": "int", + "build": "323" + }, + "0x37181417CE7C8900": { + "name": "START_SHAPE_TEST_BOUND", + "jhash": "0x13BC46C0", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "flags1" + }, + { + "type": "int", + "name": "flags2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x28579D1B8F8AAC80": { + "name": "START_SHAPE_TEST_CAPSULE", + "jhash": "0x591EA833", + "comment": "Raycast from point to point, where the ray has a radius. \n\nflags:\nvehicles=10\npeds =12\n\nIterating through flags yields many ped / vehicle/ object combinations\n\np9 = 7, but no idea what it does\n\nEntity is an entity to ignore", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "p9" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_CAST_3D_RAY_POINT_TO_POINT" + ] + }, + "0xE6AC6C45FBE83004": { + "name": "START_SHAPE_TEST_SWEPT_SPHERE", + "jhash": "0x4559460A", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_START_SHAPE_TEST_CAPSULE_2" + ] + }, + "0xFF6BE494C7987F34": { + "name": "START_SHAPE_TEST_MOUSE_CURSOR_LOS_PROBE", + "jhash": "", + "comment": "Returns a ShapeTest handle that can be used with GET_SHAPE_TEST_RESULT.\n\nIn its only usage in game scripts its called with flag set to 511, entity to player_ped_id and flag2 set to 7", + "params": [ + { + "type": "Vector3*", + "name": "pVec1" + }, + { + "type": "Vector3*", + "name": "pVec2" + }, + { + "type": "int", + "name": "flag" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "flag2" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_START_SHAPE_TEST_SURROUNDING_COORDS" + ] + }, + "0x3D87450E15D98694": { + "name": "GET_SHAPE_TEST_RESULT", + "jhash": "0xF3C2875A", + "comment": "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.\n\nWhen used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated.", + "params": [ + { + "type": "int", + "name": "shapeTestHandle" + }, + { + "type": "BOOL*", + "name": "hit" + }, + { + "type": "Vector3*", + "name": "endCoords" + }, + { + "type": "Vector3*", + "name": "surfaceNormal" + }, + { + "type": "Entity*", + "name": "entityHit" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_RAYCAST_RESULT" + ] + }, + "0x65287525D951F6BE": { + "name": "GET_SHAPE_TEST_RESULT_INCLUDING_MATERIAL", + "jhash": "0x4301E10C", + "comment": "Returns the result of a shape test, also returning the material of any touched surface.\n\nWhen used with an asynchronous shape test, this native should be looped until returning 0 or 2, after which the handle is invalidated.\n\nUnless the return value is 2, the other return values are undefined.", + "params": [ + { + "type": "int", + "name": "shapeTestHandle" + }, + { + "type": "BOOL*", + "name": "hit" + }, + { + "type": "Vector3*", + "name": "endCoords" + }, + { + "type": "Vector3*", + "name": "surfaceNormal" + }, + { + "type": "Hash*", + "name": "materialHash" + }, + { + "type": "Entity*", + "name": "entityHit" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_SHAPE_TEST_RESULT_EX" + ] + }, + "0x2B3334BCA57CD799": { + "name": "RELEASE_SCRIPT_GUID_FROM_ENTITY", + "jhash": "0xEC2AAF06", + "comment": "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.", + "params": [ + { + "type": "Entity", + "name": "entityHit" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SHAPE_TEST_RESULT_ENTITY" + ] + } + }, + "SOCIALCLUB": { + "0x03A93FF1A2CA0864": { + "name": "SC_INBOX_GET_TOTAL_NUM_MESSAGES", + "jhash": "0x6BE5DF29", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_TOTAL_SC_INBOX_IDS" + ] + }, + "0xBB8EA16ECBC976C4": { + "name": "SC_INBOX_GET_MESSAGE_TYPE_AT_INDEX", + "jhash": "0x5ECF955D", + "comment": "", + "params": [ + { + "type": "int", + "name": "msgIndex" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x93028F1DB42BFD08": { + "name": "SC_INBOX_GET_MESSAGE_IS_READ_AT_INDEX", + "jhash": "0xD1ED1D48", + "comment": "", + "params": [ + { + "type": "int", + "name": "msgIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2C015348CF19CA1D": { + "name": "SC_INBOX_SET_MESSAGE_AS_READ_AT_INDEX", + "jhash": "0x19EE0CCB", + "comment": "", + "params": [ + { + "type": "int", + "name": "msgIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA00EFE4082C4056E": { + "name": "SC_INBOX_MESSAGE_GET_DATA_INT", + "jhash": "0x88068C7C", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "context" + }, + { + "type": "int*", + "name": "out" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFFE5C16F402D851D": { + "name": "SC_INBOX_MESSAGE_GET_DATA_BOOL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_INBOX_MESSAGE_GET_DATA_BOOL" + ] + }, + "0x7572EF42FC6A9B6D": { + "name": "SC_INBOX_MESSAGE_GET_DATA_STRING", + "jhash": "0x15607620", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "context" + }, + { + "type": "char*", + "name": "out" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9A2C8064B6C1E41A": { + "name": "SC_INBOX_MESSAGE_DO_APPLY", + "jhash": "0xEBE420A4", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_INBOX_MESSAGE_PUSH" + ] + }, + "0xF3E31D16CBDCB304": { + "name": "SC_INBOX_MESSAGE_GET_RAW_TYPE_AT_INDEX", + "jhash": "0x2C959AF9", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_SC_INBOX_MESSAGE_GET_STRING" + ] + }, + "0xDA024BDBD600F44A": { + "name": "SC_INBOX_MESSAGE_PUSH_GAMER_T0_RECIP_LIST", + "jhash": "0x0B9A3512", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA68D3D229F4F3B06": { + "name": "SC_INBOX_SEND_UGCSTATUPDATE_TO_RECIP_LIST", + "jhash": "0x75324674", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SC_INBOX_MESSAGE_SEND_UGC_STAT_UPDATE_EVENT" + ] + }, + "0x69D82604A1A5A254": { + "name": "SC_INBOX_MESSAGE_GET_UGCDATA", + "jhash": "0x88CA3BFC", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6AFD2CD753FEEF83": { + "name": "SC_INBOX_SEND_BOUNTY_TO_RECIP_LIST", + "jhash": "0x628F489B", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_INBOX_MESSAGE_SEND_BOUNTY_PRESENCE_EVENT" + ] + }, + "0x87E0052F08BD64E6": { + "name": "SC_INBOX_GET_BOUNTY_DATA_AT_INDEX", + "jhash": "0xAB3346B5", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "Any*", + "name": "outData" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_INBOX_MESSAGE_GET_BOUNTY_DATA" + ] + }, + "0x040ADDCBAFA1018A": { + "name": "SC_EMAIL_RETRIEVE_EMAILS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "offset" + }, + { + "type": "int", + "name": "limit" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SC_INBOX_GET_EMAILS" + ] + }, + "0x16DA8172459434AA": { + "name": "SC_EMAIL_GET_RETRIEVAL_STATUS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x7DB18CA8CAD5B098": { + "name": "SC_EMAIL_GET_NUM_RETRIEVED_EMAILS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "505" + }, + "0x4737980E8A283806": { + "name": "SC_EMAIL_GET_EMAIL_AT_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x44ACA259D67651DB": { + "name": "SC_EMAIL_DELETE_EMAILS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2330C12A7A605D16": { + "name": "SC_EMAIL_MESSAGE_PUSH_GAMER_TO_RECIP_LIST", + "jhash": "0x9A703A2B", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "gamerHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x55DF6DB45179236E": { + "name": "SC_EMAIL_MESSAGE_CLEAR_RECIP_LIST", + "jhash": "0xD094F11A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x116FB94DC4B79F17": { + "name": "SC_EMAIL_SEND_EMAIL", + "jhash": "0xAF3C081B", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x07DBD622D9533857": { + "name": "SC_EMAIL_SET_CURRENT_EMAIL_TAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "505" + }, + "0xBFA0A56A817C6C7D": { + "name": "SC_CACHE_NEW_ROCKSTAR_MSGS", + "jhash": "0x2FB9F53C", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_HANDLE_ROCKSTAR_MESSAGE_VIA_SCRIPT" + ] + }, + "0xBC1CC91205EC8D6E": { + "name": "SC_HAS_NEW_ROCKSTAR_MSG", + "jhash": "0x6C5738AB", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_ROCKSTAR_MESSAGE_READY_FOR_SCRIPT" + ] + }, + "0xDF649C4E9AFDD788": { + "name": "SC_GET_NEW_ROCKSTAR_MSG", + "jhash": "0x468668F0", + "comment": "", + "params": [], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_ROCKSTAR_MESSAGE_GET_STRING" + ] + }, + "0x1F1E9682483697C7": { + "name": "SC_PRESENCE_ATTR_SET_INT", + "jhash": "0x90C74343", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "attrHash" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC4C4575F62534A24": { + "name": "SC_PRESENCE_ATTR_SET_FLOAT", + "jhash": "0x94BF0D35", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "attrHash" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x287F1F75D2803595": { + "name": "SC_PRESENCE_ATTR_SET_STRING", + "jhash": "0x3ACE6D6B", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "attrHash" + }, + { + "type": "const char*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x487912FD248EFDDF": { + "name": "SC_PRESENCE_SET_ACTIVITY_RATING", + "jhash": "0x579B4510", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC85A7127E7AD02AA": { + "name": "SC_GAMERDATA_GET_INT", + "jhash": "0xF8BDA989", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "int*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0xA770C8EEC6FB2AC5": { + "name": "SC_GAMERDATA_GET_FLOAT", + "jhash": "0x515AF67C", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "float*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x8416FE4E4629D7D7": { + "name": "SC_GAMERDATA_GET_BOOL", + "jhash": "0xDF45B2A7", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_GET_IS_PROFILE_ATTRIBUTE_SET" + ] + }, + "0x7FFCBFEE44ECFABF": { + "name": "SC_GAMERDATA_GET_STRING", + "jhash": "0x2AE35169", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "char*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x2D874D4AE612A65F": { + "name": "SC_GAMERDATA_GET_ACTIVE_XP_BONUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x75632C5ECD7ED843": { + "name": "SC_PROFANITY_CHECK_STRING", + "jhash": "0xDF084A6B", + "comment": "Starts a task to check an entered string for profanity on the ROS/Social Club services.\n\nSee also: 1753344C770358AE, 82E4A58BABC15AE7.", + "params": [ + { + "type": "const char*", + "name": "string" + }, + { + "type": "int*", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_START_CHECK_STRING_TASK" + ] + }, + "0xEB2BF817463DFA28": { + "name": "SC_PROFANITY_CHECK_STRING_UGC", + "jhash": "", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "string" + }, + { + "type": "int*", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "678", + "old_names": [ + "_SC_PROFANITY_CHECK_UGC_STRING" + ] + }, + "0x1753344C770358AE": { + "name": "SC_PROFANITY_GET_CHECK_IS_VALID", + "jhash": "0xFFED3676", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_HAS_CHECK_STRING_TASK_COMPLETED" + ] + }, + "0x82E4A58BABC15AE7": { + "name": "SC_PROFANITY_GET_CHECK_IS_PENDING", + "jhash": "0xA796D7A7", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_GET_CHECK_STRING_STATUS" + ] + }, + "0x85535ACF97FC0969": { + "name": "SC_PROFANITY_GET_STRING_PASSED", + "jhash": "0x09497F31", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x930DE22F07B1CCE3": { + "name": "SC_PROFANITY_GET_STRING_STATUS", + "jhash": "0x4D8A6521", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF6BAAAF762E1BF40": { + "name": "SC_LICENSEPLATE_CHECK_STRING", + "jhash": "0x7AA36406", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "int*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF22CA0FD74B80E7A": { + "name": "SC_LICENSEPLATE_GET_CHECK_IS_VALID", + "jhash": "0xF379DCE4", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9237E334F6E43156": { + "name": "SC_LICENSEPLATE_GET_CHECK_IS_PENDING", + "jhash": "0x65D84665", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x700569DBA175A77C": { + "name": "SC_LICENSEPLATE_GET_COUNT", + "jhash": "0x159FE39C", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1D4446A62D35B0D0": { + "name": "SC_LICENSEPLATE_GET_PLATE", + "jhash": "0x4CE9BAA7", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + }, + { + "type": "int", + "name": "plateIndex" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x2E89990DDFF670C3": { + "name": "SC_LICENSEPLATE_GET_PLATE_DATA", + "jhash": "0x05303FC8", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + }, + { + "type": "int", + "name": "plateIndex" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xD0EE05FE193646EA": { + "name": "SC_LICENSEPLATE_SET_PLATE_DATA", + "jhash": "0x9F98FA5C", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "oldPlateText" + }, + { + "type": "const char*", + "name": "newPlateText" + }, + { + "type": "Any*", + "name": "plateData" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1989C6E6F67E76A8": { + "name": "SC_LICENSEPLATE_ADD", + "jhash": "0xEEDE7FAB", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "plateText" + }, + { + "type": "Any*", + "name": "plateData" + }, + { + "type": "int*", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x07C61676E5BB52CD": { + "name": "SC_LICENSEPLATE_GET_ADD_IS_PENDING", + "jhash": "0xE190E45A", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8147FFF6A718E1AD": { + "name": "SC_LICENSEPLATE_GET_ADD_STATUS", + "jhash": "0x930B3AE5", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "int", + "build": "323" + }, + "0x0F73393BAC7E6730": { + "name": "SC_LICENSEPLATE_ISVALID", + "jhash": "0x5298F472", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "plateText" + }, + { + "type": "int*", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD302E99EDF0449CF": { + "name": "SC_LICENSEPLATE_GET_ISVALID_IS_PENDING", + "jhash": "0x86DAE6D6", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5C4EBFFA98BDB41C": { + "name": "SC_LICENSEPLATE_GET_ISVALID_STATUS", + "jhash": "0x9AA2BA3F", + "comment": "", + "params": [ + { + "type": "int", + "name": "token" + } + ], + "return_type": "int", + "build": "323" + }, + "0xFF8F3A92B75ED67A": { + "name": "SC_COMMUNITY_EVENT_IS_ACTIVE", + "jhash": "0xC96456BA", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x4ED9C8D6DA297639": { + "name": "SC_COMMUNITY_EVENT_GET_EVENT_ID", + "jhash": "0xC5E08B66", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "unused": true + }, + "0x710BCDA8071EDED1": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT", + "jhash": "0x04EE74A3", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "int*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x50A8A36201DBF83E": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT", + "jhash": "0x8DA93C3D", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "float*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x9DE5D2F723575ED0": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING", + "jhash": "0x37DD48B5", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "char*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0xC2C97EA97711D1AE": { + "name": "SC_COMMUNITY_EVENT_GET_DISPLAY_NAME", + "jhash": "0xF929F61D", + "comment": "", + "params": [ + { + "type": "char*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x450819D8CF90C416": { + "name": "SC_COMMUNITY_EVENT_IS_ACTIVE_FOR_TYPE", + "jhash": "0x0572EB5E", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x4A7D6E727F941747": { + "name": "SC_COMMUNITY_EVENT_GET_EVENT_ID_FOR_TYPE", + "jhash": "0x8E7AEEB7", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE75A4A2E5E316D86": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT_FOR_TYPE", + "jhash": "0x28C57FA0", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "int*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x2570E26BE63964E3": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT_FOR_TYPE", + "jhash": "0x59394583", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "float*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x1D12A56FC95BE92E": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING_FOR_TYPE", + "jhash": "0x92452C0E", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "char*", + "name": "p1" + }, + { + "type": "const char*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x33DF47CC0642061B": { + "name": "SC_COMMUNITY_EVENT_GET_DISPLAY_NAME_FOR_TYPE", + "jhash": "0xBBA8D34D", + "comment": "", + "params": [ + { + "type": "char*", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0xA468E0BE12B12C70": { + "name": "SC_COMMUNITY_EVENT_IS_ACTIVE_BY_ID", + "jhash": "0xB21288FA", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x8CC469AB4D349B7C": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT_BY_ID", + "jhash": "0xE778B2A7", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "int*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC5A35C73B68F3C49": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT_BY_ID", + "jhash": "0x7E24BD6E", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "float*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323", + "unused": true + }, + "0x699E4A5C8C893A18": { + "name": "SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING_BY_ID", + "jhash": "0xCE7D50A8", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "const char*", + "name": "p1" + }, + { + "type": "char*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x19853B5B17D77BCA": { + "name": "SC_COMMUNITY_EVENT_GET_DISPLAY_NAME_BY_ID", + "jhash": "0xD26CCA46", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "char*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6BFB12CE158E3DD4": { + "name": "SC_TRANSITION_NEWS_SHOW", + "jhash": "0x24D84334", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFE4C1D0D3B9CC17E": { + "name": "SC_TRANSITION_NEWS_SHOW_TIMED", + "jhash": "0x8A023024", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD8122C407663B995": { + "name": "SC_TRANSITION_NEWS_SHOW_NEXT_ITEM", + "jhash": "0x1C65B038", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x3001BEF2FECA3680": { + "name": "SC_TRANSITION_NEWS_HAS_EXTRA_DATA_TU", + "jhash": "0x4D4C37B3", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x92DA6E70EF249BD1": { + "name": "SC_TRANSITION_NEWS_GET_EXTRA_DATA_INT_TU", + "jhash": "0xAED95A6F", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "int*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x675721C9F644D161": { + "name": "SC_TRANSITION_NEWS_END", + "jhash": "0x486867E6", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xE4F6E8D07A2F0F51": { + "name": "SC_PAUSE_NEWS_INIT_STARTER_PACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "1290" + }, + "0x8A4416C0DB05FA66": { + "name": "SC_PAUSE_NEWS_GET_PENDING_STORY", + "jhash": "", + "comment": "Fills some 0x30 sized struct", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "1290" + }, + "0xEA95C0853A27888E": { + "name": "SC_PAUSE_NEWS_SHUTDOWN", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1290" + }, + "0x198D161F458ECC7F": { + "name": "SC_ACCOUNT_INFO_GET_NICKNAME", + "jhash": "", + "comment": "Returns the nickname of the logged-in Rockstar Social Club account.", + "params": [], + "return_type": "const char*", + "build": "323", + "old_names": [ + "_SC_GET_NICKNAME" + ] + }, + "0x225798743970412B": { + "name": "SC_ACHIEVEMENT_INFO_STATUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x418DC16FAE452C1C": { + "name": "SC_HAS_ACHIEVEMENT_BEEN_PASSED", + "jhash": "", + "comment": "Same as HAS_ACHIEVEMENT_BEEN_PASSED", + "params": [ + { + "type": "int", + "name": "achievementId" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_SC_GET_HAS_ACHIEVEMENT_BEEN_PASSED" + ] + } + }, + "STATS": { + "0xEB0A72181D4AA4AD": { + "name": "STAT_CLEAR_SLOT_FOR_RELOAD", + "jhash": "0x84BDD475", + "comment": "Example:\n\nfor (v_2 = 0; v_2 <= 4; v_2 += 1) {\n STATS::STAT_CLEAR_SLOT_FOR_RELOAD(v_2);\n}", + "params": [ + { + "type": "int", + "name": "statSlot" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA651443F437B1CE6": { + "name": "STAT_LOAD", + "jhash": "0x9E5629F4", + "comment": "", + "params": [ + { + "type": "int", + "name": "statSlot" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE07BCA305B82D2FD": { + "name": "STAT_SAVE", + "jhash": "0xE10A7CA4", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5688585E6D563CD8": { + "name": "STAT_SET_OPEN_SAVETYPE_IN_JOB", + "jhash": "0xC62406A6", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA1750FFAFA181661": { + "name": "STAT_LOAD_PENDING", + "jhash": "0x4E9AC983", + "comment": "", + "params": [ + { + "type": "int", + "name": "statSlot" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7D3A583856F2C5AC": { + "name": "STAT_SAVE_PENDING", + "jhash": "0xC3FD3822", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xBBB6AD006F1BBEA3": { + "name": "STAT_SAVE_PENDING_OR_REQUESTED", + "jhash": "0xA3407CA3", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x49A49BED12794D70": { + "name": "STAT_DELETE_SLOT", + "jhash": "0x2F171B94", + "comment": "p0 is characterSlot? seems range from 0 to 2", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0D0A9F0E7BD91E3C": { + "name": "STAT_SLOT_IS_LOADED", + "jhash": "0x7A299C13", + "comment": "", + "params": [ + { + "type": "int", + "name": "statSlot" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7F2C4CDF2E82DF4C": { + "name": "STAT_CLOUD_SLOT_LOAD_FAILED", + "jhash": "0x0BF0F4B2", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE496A53BA5F50A56": { + "name": "STAT_CLOUD_SLOT_LOAD_FAILED_CODE", + "jhash": "0xCE6B62B5", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF434A10BA01C37D0": { + "name": "STAT_SET_BLOCK_SAVES", + "jhash": "0xCE7A2411", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6A7F19756F1A9016": { + "name": "STAT_GET_BLOCK_SAVES", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "2060" + }, + "0x7E6946F68A38B74F": { + "name": "STAT_CLOUD_SLOT_SAVE_FAILED", + "jhash": "0x22804C20", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA8733668D1047B51": { + "name": "STAT_CLEAR_PENDING_SAVES", + "jhash": "0x395D18B1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xECB41AC6AB754401": { + "name": "STAT_LOAD_DIRTY_READ_DETECTED", + "jhash": "0xED7000C8", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9B4BD21D69B1E609": { + "name": "STAT_CLEAR_DIRTY_READ_DETECTED", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC0E0D686DDFC6EAE": { + "name": "STAT_GET_LOAD_SAFE_TO_PROGRESS_TO_MP_FROM_SP", + "jhash": "0x099FCC86", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xB3271D7AB655B441": { + "name": "STAT_SET_INT", + "jhash": "0xC9CC1C5C", + "comment": "Example:\n STATS::STAT_SET_INT(MISC::GET_HASH_KEY(\"MPPLY_KILLS_PLAYERS\"), 1337, true);", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4851997F37FE9B3C": { + "name": "STAT_SET_FLOAT", + "jhash": "0x6CEA96F2", + "comment": "Example:\n STATS::STAT_SET_FLOAT(MISC::GET_HASH_KEY(\"MP0_WEAPON_ACCURACY\"), 66.6f, true);", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "float", + "name": "value" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4B33C4243DE0C432": { + "name": "STAT_SET_BOOL", + "jhash": "0x55D79DFB", + "comment": "Example:\n STATS::STAT_SET_BOOL(MISC::GET_HASH_KEY(\"MPPLY_MELEECHLENGECOMPLETED\"), trur, true);", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "BOOL", + "name": "value" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x17695002FD8B2AE0": { + "name": "STAT_SET_GXT_LABEL", + "jhash": "0xC1224AA7", + "comment": "The following values have been found in the decompiled scripts:\n\"RC_ABI1\"\n\"RC_ABI2\"\n\"RC_BA1\"\n\"RC_BA2\"\n\"RC_BA3\"\n\"RC_BA3A\"\n\"RC_BA3C\"\n\"RC_BA4\"\n\"RC_DRE1\"\n\"RC_EPS1\"\n\"RC_EPS2\"\n\"RC_EPS3\"\n\"RC_EPS4\"\n\"RC_EPS5\"\n\"RC_EPS6\"\n\"RC_EPS7\"\n\"RC_EPS8\"\n\"RC_EXT1\"\n\"RC_EXT2\"\n\"RC_EXT3\"\n\"RC_EXT4\"\n\"RC_FAN1\"\n\"RC_FAN2\"\n\"RC_FAN3\"\n\"RC_HAO1\"\n\"RC_HUN1\"\n\"RC_HUN2\"\n\"RC_JOS1\"\n\"RC_JOS2\"\n\"RC_JOS3\"\n\"RC_JOS4\"\n\"RC_MAU1\"\n\"RC_MIN1\"\n\"RC_MIN2\"\n\"RC_MIN3\"\n\"RC_MRS1\"\n\"RC_MRS2\"\n\"RC_NI1\"\n\"RC_NI1A\"\n\"RC_NI1B\"\n\"RC_NI1C\"\n\"RC_NI1D\"\n\"RC_NI2\"\n\"RC_NI3\"\n\"RC_OME1\"\n\"RC_OME2\"\n\"RC_PA1\"\n\"RC_PA2\"\n\"RC_PA3\"\n\"RC_PA3A\"\n\"RC_PA3B\"\n\"RC_PA4\"\n\"RC_RAM1\"\n\"RC_RAM2\"\n\"RC_RAM3\"\n\"RC_RAM4\"\n\"RC_RAM5\"\n\"RC_SAS1\"\n\"RC_TON1\"\n\"RC_TON2\"\n\"RC_TON3\"\n\"RC_TON4\"\n\"RC_TON5\"", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "const char*", + "name": "value" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2C29BFB64F4FCBE4": { + "name": "STAT_SET_DATE", + "jhash": "0x36BE807B", + "comment": "'value' is a structure to a structure, 'numFields' is how many fields there are in said structure (usually 7).\n\nThe structure looks like this:\n\nint year\nint month\nint day\nint hour\nint minute\nint second\nint millisecond\n\nThe decompiled scripts use TIME::GET_POSIX_TIME to fill this structure.", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "Any*", + "name": "value" + }, + { + "type": "int", + "name": "numFields" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA87B2335D12531D7": { + "name": "STAT_SET_STRING", + "jhash": "0xB1EF2E21", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "const char*", + "name": "value" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDB283FDE680FE72E": { + "name": "STAT_SET_POS", + "jhash": "0x1192C9A3", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7BBB1B54583ED410": { + "name": "STAT_SET_MASKED_INT", + "jhash": "0x2CBAA739", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8CDDF1E452BABE11": { + "name": "STAT_SET_USER_ID", + "jhash": "0xDBE78ED7", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "const char*", + "name": "value" + }, + { + "type": "BOOL", + "name": "save" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC2F84B7F9C4D0C61": { + "name": "STAT_SET_CURRENT_POSIX_TIME", + "jhash": "0xA286F015", + "comment": "p1 always true.", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x767FBC2AC802EF3D": { + "name": "STAT_GET_INT", + "jhash": "0x1C6FE43E", + "comment": "p2 appears to always be -1\n", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "int*", + "name": "outValue" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD7AE6C9C9C6AC54C": { + "name": "STAT_GET_FLOAT", + "jhash": "0xFCBDA612", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "float*", + "name": "outValue" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x11B5E6D2AE73F48E": { + "name": "STAT_GET_BOOL", + "jhash": "0x28A3DD2B", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "BOOL*", + "name": "outValue" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8B0FACEFC36C824B": { + "name": "STAT_GET_DATE", + "jhash": "0xD762D16C", + "comment": "p3 is probably characterSlot or BOOL save, always -1", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "Any*", + "name": "outValue" + }, + { + "type": "int", + "name": "numFields" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE50384ACC2C3DB74": { + "name": "STAT_GET_STRING", + "jhash": "0x10CE4BDE", + "comment": "p1 is always -1 in the script files", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x350F82CCB186AA1B": { + "name": "STAT_GET_POS", + "jhash": "0xC846ECCE", + "comment": "p3 is probably characterSlot or BOOL save, always -1", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "float*", + "name": "outX" + }, + { + "type": "float*", + "name": "outY" + }, + { + "type": "float*", + "name": "outZ" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x655185A06D9EEAAB": { + "name": "STAT_GET_MASKED_INT", + "jhash": "0xE9D9B70F", + "comment": "p4 is probably characterSlot or BOOL save", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "int*", + "name": "outValue" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2365C388E393BBE2": { + "name": "STAT_GET_USER_ID", + "jhash": "0xE2E8B6BA", + "comment": "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", + "params": [ + { + "type": "Hash", + "name": "statHash" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x5473D4195058B2E4": { + "name": "STAT_GET_LICENSE_PLATE", + "jhash": "0x1544B29F", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x69FF13266D7296DA": { + "name": "STAT_SET_LICENSE_PLATE", + "jhash": "0x3507D253", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "const char*", + "name": "str" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9B5A68C6489E9909": { + "name": "STAT_INCREMENT", + "jhash": "0xDFC5F71E", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5A556B229A169402": { + "name": "STAT_COMMUNITY_START_SYNCH", + "jhash": "0x46F21343", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xB1D2BB1E1631F5B1": { + "name": "STAT_COMMUNITY_SYNCH_IS_PENDING", + "jhash": "0x02F283CE", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xBED9F5693F34ED17": { + "name": "STAT_COMMUNITY_GET_HISTORY", + "jhash": "0xC4110917", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "float*", + "name": "outValue" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x26D7399B9587FE89": { + "name": "STAT_RESET_ALL_ONLINE_CHARACTER_STATS", + "jhash": "0x343B27E2", + "comment": "p0 seems to range from 0 to 7", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA78B8FA58200DA56": { + "name": "STAT_LOCAL_RESET_ALL_ONLINE_CHARACTER_STATS", + "jhash": "0xE3247582", + "comment": "p0 seems to range from 0 to 7", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE0E854F5280FB769": { + "name": "STAT_GET_NUMBER_OF_DAYS", + "jhash": "0xFD66A429", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF2D4B2FE415AAFC3": { + "name": "STAT_GET_NUMBER_OF_HOURS", + "jhash": "0x9B431236", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + } + ], + "return_type": "int", + "build": "323" + }, + "0x7583B4BE4C5A41B5": { + "name": "STAT_GET_NUMBER_OF_MINUTES", + "jhash": "0x347B4436", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2CE056FF3723F00B": { + "name": "STAT_GET_NUMBER_OF_SECONDS", + "jhash": "0x2C1D6C31", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statName" + } + ], + "return_type": "int", + "build": "323" + }, + "0x68F01422BE1D838F": { + "name": "STAT_SET_PROFILE_SETTING_VALUE", + "jhash": "0x24DD4929", + "comment": "Does not take effect immediately, unfortunately.\n\nprofileSetting seems to only be 936, 937 and 938 in scripts", + "params": [ + { + "type": "int", + "name": "profileSetting" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_STAT_SET_PROFILE_SETTING" + ] + }, + "0xC01D2470F22CDE5A": { + "name": "STATS_COMPLETED_CHARACTER_CREATION", + "jhash": "", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2372" + }, + "0x94F12ABF9C79E339": { + "name": "PACKED_STAT_GET_INT_STAT_INDEX", + "jhash": "0xCA160BCC", + "comment": "Needs more research. Possibly used to calculate the \"mask\" when calling \"STAT_SET_MASKED_INT\"?", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_STAT_GET_PACKED_INT_MASK" + ] + }, + "0x61E111E323419E07": { + "name": "GET_PACKED_INT_STAT_KEY", + "jhash": "0x1F938864", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "BOOL", + "name": "spStat" + }, + { + "type": "BOOL", + "name": "charStat" + }, + { + "type": "int", + "name": "character" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_PSTAT_INT_HASH" + ] + }, + "0xD16C2AD6B8E32854": { + "name": "GET_PACKED_TU_INT_STAT_KEY", + "jhash": "0xFB93C5A2", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "BOOL", + "name": "spStat" + }, + { + "type": "BOOL", + "name": "charStat" + }, + { + "type": "int", + "name": "character" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_TUPSTAT_INT_HASH", + "_GET_PACKED_TITLE_UPDATE_INT_STAT_KEY" + ] + }, + "0x2B4CDCA6F07FF3DA": { + "name": "GET_PACKED_NG_INT_STAT_KEY", + "jhash": "", + "comment": "Needs more research. Gets the stat name of a masked int?\n\nsection - values used in the decompiled scripts:\n\"_NGPSTAT_INT\"\n\"_MP_NGPSTAT_INT\"\n\"_MP_LRPSTAT_INT\"\n\"_MP_APAPSTAT_INT\"\n\"_MP_LR2PSTAT_INT\"\n\"_MP_BIKEPSTAT_INT\"\n\"_MP_IMPEXPPSTAT_INT\"\n\"_MP_GUNRPSTAT_INT\"\n\"_NGDLCPSTAT_INT\"\n\"_MP_NGDLCPSTAT_INT\"\n\"_DLCSMUGCHARPSTAT_INT\"\n\"_GANGOPSPSTAT_INT\"\n\"_BUSINESSBATPSTAT_INT\"\n\"_ARENAWARSPSTAT_INT\"\n\"_CASINOPSTAT_INT\"\n\"_CASINOHSTPSTAT_INT\"", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "BOOL", + "name": "spStat" + }, + { + "type": "BOOL", + "name": "charStat" + }, + { + "type": "int", + "name": "character" + }, + { + "type": "const char*", + "name": "section" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_NGSTAT_INT_HASH" + ] + }, + "0xDA7EBFC49AE3F1B0": { + "name": "GET_PACKED_STAT_BOOL_CODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "BOOL", + "build": "2545", + "old_names": [ + "_GET_PACKED_STAT_BOOL" + ] + }, + "0x0BC900A6FE73770C": { + "name": "GET_PACKED_STAT_INT_CODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "int", + "build": "2545", + "old_names": [ + "_GET_PACKED_STAT_INT" + ] + }, + "0xDB8A58AEAA67CD07": { + "name": "SET_PACKED_STAT_BOOL_CODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "BOOL", + "name": "value" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_SET_PACKED_STAT_BOOL" + ] + }, + "0x1581503AE529CD2E": { + "name": "SET_PACKED_STAT_INT_CODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "index" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_SET_PACKED_STAT_INT" + ] + }, + "0x5009DFD741329729": { + "name": "PLAYSTATS_BACKGROUND_SCRIPT_ACTION", + "jhash": "0x61ECC465", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "action" + }, + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x93054C88E6AA7C44": { + "name": "PLAYSTATS_NPC_INVITE", + "jhash": "0x598C06F3", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46F917F6B4128FE4": { + "name": "PLAYSTATS_AWARD_XP", + "jhash": "0x8770017B", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "Hash", + "name": "type" + }, + { + "type": "Hash", + "name": "category" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC7F2DE41D102BFB4": { + "name": "PLAYSTATS_RANK_UP", + "jhash": "0x56AFB9F5", + "comment": "", + "params": [ + { + "type": "int", + "name": "rank" + } + ], + "return_type": "void", + "build": "323" + }, + "0x098760C7461724CD": { + "name": "PLAYSTATS_STARTED_SESSION_IN_OFFLINEMODE", + "jhash": "0x896CDF8D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA071E0ED98F91286": { + "name": "PLAYSTATS_ACTIVITY_DONE", + "jhash": "0x1A66945F", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "activityId" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC5BE134EC7BA96A0": { + "name": "PLAYSTATS_LEAVE_JOB_CHAIN", + "jhash": "0xC960E161", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC19A2925C34D2231": { + "name": "PLAYSTATS_MISSION_STARTED", + "jhash": "0x3AAB699C", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7C4BB33A8CED7324": { + "name": "PLAYSTATS_MISSION_OVER", + "jhash": "0x5B90B5FF", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC900596A63978C1D": { + "name": "PLAYSTATS_MISSION_CHECKPOINT", + "jhash": "0xCDC52280", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x71862B1D855F32E1": { + "name": "PLAYSTATS_RANDOM_MISSION_DONE", + "jhash": "0xAC2C7C63", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x121FB4DDDC2D5291": { + "name": "PLAYSTATS_ROS_BET", + "jhash": "0x413539BC", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + }, + { + "type": "int", + "name": "act" + }, + { + "type": "Player", + "name": "player" + }, + { + "type": "float", + "name": "cm" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C375C315099DDE4": { + "name": "PLAYSTATS_RACE_CHECKPOINT", + "jhash": "0x580D5508", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6DEE77AFF8C21BD1": { + "name": "PLAYSTATS_CREATE_MATCH_HISTORY_ID_2", + "jhash": "0x489E27E7", + "comment": "", + "params": [ + { + "type": "int*", + "name": "playerAccountId" + }, + { + "type": "int*", + "name": "posixTime" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBC80E22DED931E3D": { + "name": "PLAYSTATS_MATCH_STARTED", + "jhash": "0x2BDE85C1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x176852ACAAC173D1": { + "name": "PLAYSTATS_SHOP_ITEM", + "jhash": "0xA4746384", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1CAE5D2E3F9A07F0": { + "name": "PLAYSTATS_CRATE_DROP_MISSION_DONE", + "jhash": "0x6602CED6", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAYSTATS_CRATE_DROP" + ] + }, + "0xAFC7E5E075A96F46": { + "name": "PLAYSTATS_CRATE_CREATED", + "jhash": "0xD003E648", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAYSTATS_AMBIENT_MISSION_CRATE_CREATED", + "_PLAYSTATS_CRATE_CREATED_MISSION_DONE" + ] + }, + "0xCB00196B31C39EB1": { + "name": "PLAYSTATS_HOLD_UP_MISSION_DONE", + "jhash": "0x759E0EC9", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAYSTATS_HOLD_UP" + ] + }, + "0x2B69F5074C894811": { + "name": "PLAYSTATS_IMPORT_EXPORT_MISSION_DONE", + "jhash": "0x62073DF7", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAYSTATS_IMP_EXP" + ] + }, + "0xADDD1C754E2E2914": { + "name": "PLAYSTATS_RACE_TO_POINT_MISSION_DONE", + "jhash": "0x06CE3692", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAYSTATS_RACE_TO_POINT" + ] + }, + "0x79AB33F0FBFAC40C": { + "name": "PLAYSTATS_ACQUIRED_HIDDEN_PACKAGE", + "jhash": "0x8D5C7B37", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDDF24D535060F811": { + "name": "PLAYSTATS_WEBSITE_VISITED", + "jhash": "0x37D152BB", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "scaleformHash" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0F71DE29AB2258F1": { + "name": "PLAYSTATS_FRIEND_ACTIVITY", + "jhash": "0xD1FA1BDB", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x69DEA3E9DB727B4C": { + "name": "PLAYSTATS_ODDJOB_DONE", + "jhash": "0xFE14A8EA", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "int", + "name": "totalTimeMs" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBA739D6D5A05D6E7": { + "name": "PLAYSTATS_PROP_CHANGE", + "jhash": "0x25740A1D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x34B973047A2268B9": { + "name": "PLAYSTATS_CLOTH_CHANGE", + "jhash": "0x3AFF9E58", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE95C8A1875A02CA4": { + "name": "PLAYSTATS_WEAPON_MODE_CHANGE", + "jhash": "0x79716890", + "comment": "This is a typo made by R*. It's supposed to be called PLAYSTATS_WEAPON_MOD_CHANGE.", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "componentHashTo" + }, + { + "type": "Hash", + "name": "componentHashFrom" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6058665D72302D3F": { + "name": "PLAYSTATS_CHEAT_APPLIED", + "jhash": "0x345166F3", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "cheat" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF8C54A461C3E11DC": { + "name": "PLAYSTATS_JOB_ACTIVITY_END", + "jhash": "0x04181752", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF5BB8DAC426A52C0": { + "name": "PLAYSTATS_JOB_BEND", + "jhash": "0x40520E70", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA736CF7FB7C5BFF4": { + "name": "PLAYSTATS_JOB_LTS_END", + "jhash": "0x31002201", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x14E0B2D1AD1044E0": { + "name": "PLAYSTATS_JOB_LTS_ROUND_END", + "jhash": "0xDDD1F1F3", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x90D0622866E80445": { + "name": "PLAYSTATS_QUICKFIX_TOOL", + "jhash": "0x66FEB701", + "comment": "", + "params": [ + { + "type": "int", + "name": "element" + }, + { + "type": "const char*", + "name": "item" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5DA3A8DE8CB6226F": { + "name": "PLAYSTATS_IDLE_KICK", + "jhash": "0x9E2B9522", + "comment": "", + "params": [ + { + "type": "int", + "name": "msStoodIdle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD1032E482629049E": { + "name": "PLAYSTATS_SET_JOIN_TYPE", + "jhash": "0x1AC97138", + "comment": "", + "params": [ + { + "type": "int", + "name": "joinType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF4FF020A08BC8863": { + "name": "PLAYSTATS_HEIST_SAVE_CHEAT", + "jhash": "0xB731DF54", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "hash" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAYSTATS_HEIST_SAVE_CHEAT" + ] + }, + "0x46326E13DA4E0546": { + "name": "PLAYSTATS_APPEND_DIRECTOR_METRIC", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_PLAYSTATS_DIRECTOR_MODE" + ] + }, + "0x47B32F5611E6E483": { + "name": "PLAYSTATS_AWARD_BAD_SPORT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_AWARD_BADSPORT" + ] + }, + "0x9572BD4DD6B72122": { + "name": "PLAYSTATS_PEGASUS_AS_PERSONAL_AIRCRAFT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_PLAYSTATS_PEGASAIRCRAFT" + ] + }, + "0xF96E9EA876D9DC92": { + "name": "_PLAYSTATS_SHOPMENU_NAV", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x6A60E43998228229": { + "name": "PLAYSTATS_FM_EVENT_CHALLENGES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_CHALLENGES" + ] + }, + "0xBFAFDB5FAAA5C5AB": { + "name": "PLAYSTATS_FM_EVENT_VEHICLETARGET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_VEHICLE_TARGET" + ] + }, + "0x8C9D11605E59D955": { + "name": "PLAYSTATS_FM_EVENT_URBANWARFARE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_URBAN_WARFARE" + ] + }, + "0x3DE3AA516FB126A4": { + "name": "PLAYSTATS_FM_EVENT_CHECKPOINTCOLLECTION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_CHECKPOINT_COLLECTION" + ] + }, + "0xBAA2F0490E146BE8": { + "name": "PLAYSTATS_FM_EVENT_ATOB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_ATOB" + ] + }, + "0x1A7CE7CD3E653485": { + "name": "PLAYSTATS_FM_EVENT_PENNEDIN", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_PENNED_IN" + ] + }, + "0x419615486BBF1956": { + "name": "PLAYSTATS_FM_EVENT_PASSTHEPARCEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_PASS_THE_PARCEL" + ] + }, + "0x84DFC579C2FC214C": { + "name": "PLAYSTATS_FM_EVENT_HOTPROPERTY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_HOT_PROPERTY" + ] + }, + "0x0A9C7F36E5D7B683": { + "name": "PLAYSTATS_FM_EVENT_DEADDROP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_DEADDROP" + ] + }, + "0x164C5FF663790845": { + "name": "PLAYSTATS_FM_EVENT_KINGOFTHECASTLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_KING_OF_THE_CASTLE" + ] + }, + "0xEDBF6C9B0D2C65C8": { + "name": "PLAYSTATS_FM_EVENT_CRIMINALDAMAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_CRIMINAL_DAMAGE" + ] + }, + "0x6551B1F7F6CD46EA": { + "name": "PLAYSTATS_FM_EVENT_COMPETITIVEURBANWARFARE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_COMPETITIVE_URBAN_WARFARE" + ] + }, + "0x2CD90358F67D0AA8": { + "name": "PLAYSTATS_FM_EVENT_HUNTBEAST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_PLAYSTATS_FREEMODE_HUNT_BEAST" + ] + }, + "0x203B381133817079": { + "name": "PLAYSTATS_PIMENU_HIDE_OPTIONS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "393", + "old_names": [ + "_PLAYSTATS_PI_MENU_HIDE_SETTINGS" + ] + }, + "0x117B45156D7EFF2E": { + "name": "LEADERBOARDS_GET_NUMBER_OF_COLUMNS", + "jhash": "0x0A56EE34", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0xC4B5467A1886EA7E": { + "name": "LEADERBOARDS_GET_COLUMN_ID", + "jhash": "0x3821A334", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBF4FEF46DB7894D3": { + "name": "LEADERBOARDS_GET_COLUMN_TYPE", + "jhash": "0x6F2820F4", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "int", + "build": "323" + }, + "0xA34CB6E6F0DF4A0B": { + "name": "LEADERBOARDS_READ_CLEAR_ALL", + "jhash": "0x233E058A", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x7CCE5C737A665701": { + "name": "LEADERBOARDS_READ_CLEAR", + "jhash": "0x7090012F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "int", + "build": "323" + }, + "0xAC392C8483342AC2": { + "name": "LEADERBOARDS_READ_PENDING", + "jhash": "0xEEB8BF5C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA31FD15197B192BD": { + "name": "LEADERBOARDS_READ_ANY_PENDING", + "jhash": "0x1789437B", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x2FB19228983E832C": { + "name": "LEADERBOARDS_READ_SUCCESSFUL", + "jhash": "0x3AC5B2F1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x918B101666F9CB83": { + "name": "LEADERBOARDS2_READ_FRIENDS_BY_ROW", + "jhash": "0xBD91B136", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC30713A383BFBF0E": { + "name": "LEADERBOARDS2_READ_BY_HANDLE", + "jhash": "0x6B553408", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA9CDB1E3F0A49883": { + "name": "LEADERBOARDS2_READ_BY_ROW", + "jhash": "0xCA931F34", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any*", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any*", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBA2C7DB0C129449A": { + "name": "LEADERBOARDS2_READ_BY_RANK", + "jhash": "0x1B03F59F", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5CE587FB5A42C8C4": { + "name": "LEADERBOARDS2_READ_BY_RADIUS", + "jhash": "0xC5B7E685", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7EEC7E4F6984A16A": { + "name": "LEADERBOARDS2_READ_BY_SCORE_INT", + "jhash": "0xAC020C18", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE662C8B759D08F3C": { + "name": "LEADERBOARDS2_READ_BY_SCORE_FLOAT", + "jhash": "0xC678B29F", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC38DC1E90D22547C": { + "name": "LEADERBOARDS2_READ_RANK_PREDICTION", + "jhash": "0x9BEC3401", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF1AE5DCDBFCA2721": { + "name": "LEADERBOARDS2_READ_BY_PLAFORM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "const char*", + "name": "gamerHandleCsv" + }, + { + "type": "const char*", + "name": "platformName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_LEADERBOARDS2_READ_BY_PLATFORM" + ] + }, + "0xA0F93D5465B3094D": { + "name": "LEADERBOARDS2_READ_GET_ROW_DATA_START", + "jhash": "0xC977D6E2", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "LEADERBOARDS2_READ_BY_HELP_PURPLE_START" + ] + }, + "0x71B008056E5692D6": { + "name": "LEADERBOARDS2_READ_GET_ROW_DATA_END", + "jhash": "0xF2DB6A82", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "LEADERBOARDS2_READ_BY_HELP_PURPLE_END" + ] + }, + "0x34770B9CE0E03B91": { + "name": "LEADERBOARDS2_READ_GET_ROW_DATA_INFO", + "jhash": "0x766A74FE", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "LEADERBOARDS2_READ_BY_HELP_PURPLE_INFO" + ] + }, + "0x88578F6EC36B4A3A": { + "name": "LEADERBOARDS2_READ_GET_ROW_DATA_INT", + "jhash": "0x6B90E730", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "LEADERBOARDS2_READ_BY_HELP_PURPLE_INT" + ] + }, + "0x38491439B6BA7F7D": { + "name": "LEADERBOARDS2_READ_GET_ROW_DATA_FLOAT", + "jhash": "0x509A286F", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "LEADERBOARDS2_READ_BY_HELP_PURPLE_FLOAT" + ] + }, + "0xAE2206545888AE49": { + "name": "LEADERBOARDS2_WRITE_DATA", + "jhash": "0x5F9DF634", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0BCA1D2C47B0D269": { + "name": "LEADERBOARDS_WRITE_ADD_COLUMN", + "jhash": "0x7524E27B", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2E65248609523599": { + "name": "LEADERBOARDS_WRITE_ADD_COLUMN_LONG", + "jhash": "0x1C5CCC3A", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB9BB18E2C40142ED": { + "name": "LEADERBOARDS_CACHE_DATA_ROW", + "jhash": "0x44F7D82B", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD4B02A6B476E1FDC": { + "name": "LEADERBOARDS_CLEAR_CACHE_DATA", + "jhash": "0x87F498C1", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x8EC74CEB042E7CFF": { + "name": "LEADERBOARDS_CLEAR_CACHE_DATA_ID", + "jhash": "0x88AE9667", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C51349BE6CDFE2C": { + "name": "LEADERBOARDS_GET_CACHE_EXISTS", + "jhash": "0xFC8A71F3", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF04C1C27DA35F6C8": { + "name": "LEADERBOARDS_GET_CACHE_TIME", + "jhash": "0xEDF02302", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x58A651CD201D89AD": { + "name": "LEADERBOARDS_GET_CACHE_NUMBER_OF_ROWS", + "jhash": "0xCE7CB520", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9120E8DBA3D69273": { + "name": "LEADERBOARDS_GET_CACHE_DATA_ROW", + "jhash": "0xA11289EC", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any*", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x11FF1C80276097ED": { + "name": "PRESENCE_EVENT_UPDATESTAT_INT", + "jhash": "0x4AC39C6C", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_UPDATE_STAT_INT" + ] + }, + "0x30A6614C1F7799B8": { + "name": "PRESENCE_EVENT_UPDATESTAT_FLOAT", + "jhash": "0x3E69E7C3", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "float", + "name": "value" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_UPDATE_STAT_FLOAT" + ] + }, + "0x6483C25849031C4F": { + "name": "PRESENCE_EVENT_UPDATESTAT_INT_WITH_STRING", + "jhash": "0x2FFD2FA5", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "statHash" + }, + { + "type": "int", + "name": "value" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "const char*", + "name": "string" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5EAD2BF6484852E4": { + "name": "GET_PLAYER_HAS_DRIVEN_ALL_VEHICLES", + "jhash": "0x23D70C39", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC141B8917E0017EC": { + "name": "SET_HAS_POSTED_ALL_VEHICLES_DRIVEN", + "jhash": "0x0AD43306", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xB475F27C6A994D65": { + "name": "SET_PROFILE_SETTING_PROLOGUE_COMPLETE", + "jhash": "0xC7DE5C30", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC67E2DA1CBE759E2": { + "name": "SET_PROFILE_SETTING_SP_CHOP_MISSION_COMPLETE", + "jhash": "", + "comment": "Sets profile setting 939", + "params": [], + "return_type": "void", + "build": "1734" + }, + "0xF1A1803D3476F215": { + "name": "SET_PROFILE_SETTING_CREATOR_RACES_DONE", + "jhash": "0xA3DAC790", + "comment": "Sets profile setting 933", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x38BAAA5DD4C9D19F": { + "name": "SET_PROFILE_SETTING_CREATOR_DM_DONE", + "jhash": "0x726FAE66", + "comment": "Sets profile setting 934", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x55384438FC55AD8E": { + "name": "SET_PROFILE_SETTING_CREATOR_CTF_DONE", + "jhash": "0xF03895A4", + "comment": "Sets profile setting 935", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0x723C1CE13FBFDB67": { + "name": "SET_JOB_ACTIVITY_ID_STARTED", + "jhash": "0x4C39CF10", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0D01D20616FC73FB": { + "name": "SET_FREEMODE_PROLOGUE_DONE", + "jhash": "0x2180AE13", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "int", + "name": "characterSlot" + } + ], + "return_type": "void", + "build": "323" + }, + "0x79D310A861697CC9": { + "name": "SET_FREEMODE_STRAND_PROGRESSION_STATUS", + "jhash": "", + "comment": "Sets profile setting 940 and 941", + "params": [ + { + "type": "int", + "name": "profileSetting" + }, + { + "type": "int", + "name": "settingValue" + } + ], + "return_type": "void", + "build": "2699" + }, + "0x428EAF89E24F6C36": { + "name": "STAT_NETWORK_INCREMENT_ON_SUICIDE", + "jhash": "0xEE292B91", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x047CBED6F6F8B63C": { + "name": "STAT_SET_CHEAT_IS_ACTIVE", + "jhash": "0xA063CABD", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC980E62E33DF1D5C": { + "name": "LEADERBOARDS2_WRITE_DATA_FOR_EVENT_TYPE", + "jhash": "0x62C19A3D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6F361B8889A792A3": { + "name": "FORCE_CLOUD_MP_STATS_DOWNLOAD_AND_OVERWRITE_LOCAL_SAVE", + "jhash": "0x3B4EF322", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xC847B43F369AC0B5": { + "name": "STAT_MIGRATE_CLEAR_FOR_RESTART", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA5C80D8E768A9E66": { + "name": "STAT_MIGRATE_SAVEGAME_START", + "jhash": "", + "comment": "platformName must be one of the following: ps3, xbox360, ps4, xboxone", + "params": [ + { + "type": "const char*", + "name": "platformName" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_STAT_MIGRATE_SAVE" + ] + }, + "0x9A62EC95AE10E011": { + "name": "STAT_MIGRATE_SAVEGAME_GET_STATUS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x4C89FE2BDEB3F169": { + "name": "STAT_MIGRATE_CHECK_ALREADY_DONE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xC6E0E2616A7576BB": { + "name": "STAT_MIGRATE_CHECK_START", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x5BD5F255321C4AAF": { + "name": "STAT_MIGRATE_CHECK_GET_IS_PLATFORM_AVAILABLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "int", + "build": "323" + }, + "0xDEAAF77EB3687E97": { + "name": "STAT_MIGRATE_CHECK_GET_PLATFORM_STATUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Any*", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x886913BBEACA68C1": { + "name": "STAT_GET_SAVE_MIGRATION_STATUS", + "jhash": "0xE3F0D62D", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4FEF53183C3C6414": { + "name": "STAT_SAVE_MIGRATION_CANCEL_PENDING_OPERATION", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_STAT_SAVE_MIGRATION_CANCEL" + ] + }, + "0x567384DFA67029E6": { + "name": "STAT_GET_CANCEL_SAVE_MIGRATION_STATUS", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "_STAT_GET_CANCEL_SAVE_MIGRATION_STATUS" + ] + }, + "0x3270F67EED31FBC1": { + "name": "STAT_SAVE_MIGRATION_CONSUME_CONTENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "contentId" + }, + { + "type": "const char*", + "name": "srcPlatform" + }, + { + "type": "const char*", + "name": "srcGamerHandle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_STAT_SAVE_MIGRATION_CONSUME_CONTENT_UNLOCK" + ] + }, + "0xCE5AA445ABA8DEE0": { + "name": "STAT_GET_SAVE_MIGRATION_CONSUME_CONTENT_STATUS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int*", + "name": "p0" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_STAT_GET_SAVE_MIGRATION_CONSUME_CONTENT_UNLOCK_STATUS" + ] + }, + "0x98E2BC1CA26287C3": { + "name": "STAT_ENABLE_STATS_TRACKING", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_STAT_MANAGER_SET_MUTABLE" + ] + }, + "0x629526ABA383BCAA": { + "name": "STAT_DISABLE_STATS_TRACKING", + "jhash": "", + "comment": "Prevents updates to CStatsMgr (e.g., STAT_SET_* natives)", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_STAT_MANAGER_SET_IMMUTABLE" + ] + }, + "0xBE3DB208333D9844": { + "name": "STAT_IS_STATS_TRACKING_ENABLED", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_STAT_MANAGER_IS_MUTABLE" + ] + }, + "0x33D72899E24C3365": { + "name": "STAT_START_RECORD_STAT", + "jhash": "", + "comment": "enum StatTrackingType\n{\n\tLongestWheelie = 1,\n\tLongestStoppie = 2,\n\tNoCrashes = 3,\n\tHighestSpeed = 4,\n\t_MostFlips = 5,\n\t_LongestSpin = 6,\n\t_HighestJumpReached = 7,\n\tLongestJump = 8,\n\t_NearMissesNoCrash = 9,\n\tLongestFallSurvived = 10,\n\tLowestParachute = 11,\n\tReverseDriving = 12,\n\tLongestFreefall = 13,\n\tVehiclesStolen = 14,\n\t_SomeCFireEventCount = 15,\n\t_Unk16 = 16,\n\t_LowFlyingTime = 17,\n\tLowFlying = 18,\n\t_InvertedFlyingTime = 19,\n\tInvertedFlying = 20,\n\t_PlaneSpinCount = 21,\n\tMeleeKills = 22, // Players\n\t_LongestSniperKill = 23,\n\tSniperSkills = 24, // Players\n\tDrivebyKills = 25, // Players\n\tHeadshotKills = 26, // Players\n\tLongestBail = 27,\n\t_TotalRammedByCar = 28,\n\tNearMissesPrecise = 29,\n\t_FreefallTime = 30,\n\tUnk31 = 31,\n}\n\nenum StatTrackingValueType\n{\n\tTotal,\n\tMax,\n\tMin\n}", + "params": [ + { + "type": "int", + "name": "statType" + }, + { + "type": "int", + "name": "valueType" + } + ], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_STAT_TRACKING_ENABLE" + ] + }, + "0xA761D4AC6115623D": { + "name": "STAT_STOP_RECORD_STAT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_STAT_TRACKING_CLEAR_PROGRESS" + ] + }, + "0xF11F01D98113536A": { + "name": "STAT_GET_RECORDED_VALUE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float*", + "name": "value" + } + ], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_STAT_GET_PROGRESS_OF_TRACKED_STAT" + ] + }, + "0x8B9CDBD6C566C38C": { + "name": "STAT_IS_RECORDING_STAT", + "jhash": "", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_STAT_IS_TRACKING_ENABLED" + ] + }, + "0xE8853FBCE7D8D0D6": { + "name": "STAT_GET_CURRENT_NEAR_MISS_NOCRASH_PRECISE", + "jhash": "", + "comment": "Perform the most near misses with other vehicles in a land vehicle without crashing", + "params": [], + "return_type": "int", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_NEAR_MISSES" + ] + }, + "0xA943FD1722E11EFD": { + "name": "STAT_GET_CURRENT_REAR_WHEEL_DISTANCE", + "jhash": "", + "comment": "Perform the longest wheelie on a motorcycle", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_LONGEST_WHEELIE" + ] + }, + "0x84A810B375E69C0E": { + "name": "STAT_GET_CURRENT_FRONT_WHEEL_DISTANCE", + "jhash": "", + "comment": "Perform the longest stoppie on a motorcycle", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_LONGEST_STOPPIE" + ] + }, + "0x9EC8858184CD253A": { + "name": "STAT_GET_CURRENT_JUMP_DISTANCE", + "jhash": "", + "comment": "Perform the longest jump in a land vehicle", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_LONGEST_JUMP" + ] + }, + "0xBA9749CC94C1FD85": { + "name": "STAT_GET_CURRENT_DRIVE_NOCRASH_DISTANCE", + "jhash": "", + "comment": "Drive the furthest distance in a land vehicle without crashing", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_NO_CRASHES" + ] + }, + "0x55A8BECAF28A4EB7": { + "name": "STAT_GET_CURRENT_SPEED", + "jhash": "", + "comment": "Achieve the highest speed in a land vehicle", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_HIGHEST_SPEED" + ] + }, + "0x32CAC93C9DE73D32": { + "name": "STAT_GET_CURRENT_DRIVING_REVERSE_DISTANCE", + "jhash": "", + "comment": "Reverse the longest distance without crashing", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_REVERSE_DRIVING" + ] + }, + "0xAFF47709F1D5DCCE": { + "name": "STAT_GET_CURRENT_SKYDIVING_DISTANCE", + "jhash": "", + "comment": "Fall the longest distance with a parachute before opening it", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_LONGEST_FREEFALL" + ] + }, + "0x6E0A5253375C4584": { + "name": "STAT_GET_CHALLENGE_FLYING_DIST", + "jhash": "", + "comment": "Fly low to the ground for the longest distance", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_CHALLENGE_LOW_FLYING" + ] + }, + "0x1A8EA222F9C67DBB": { + "name": "STAT_GET_FLYING_ALTITUDE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float*", + "name": "outValue" + } + ], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_STAT_GET_HEIGHT_ABOVE_GROUND" + ] + }, + "0xF9F2922717B819EC": { + "name": "STAT_IS_PLAYER_VEHICLE_ABOVE_OCEAN", + "jhash": "", + "comment": "Or non-flyable area", + "params": [], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_STAT_IS_ABOVE_DEEP_WATER" + ] + }, + "0x0B8B7F74BF061C6D": { + "name": "STAT_GET_VEHICLE_BAIL_DISTANCE", + "jhash": "", + "comment": "Travel the furthest distance when bailing from a vehicle", + "params": [], + "return_type": "float", + "build": "463", + "old_names": [ + "_STAT_GET_LONGEST_BAIL" + ] + }, + "0xB3DA2606774A8E2D": { + "name": "STAT_ROLLBACK_SAVE_MIGRATION", + "jhash": "", + "comment": "This function is hard-coded to always return 1.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xDAC073C7901F9E15": { + "name": "SET_HAS_SPECIALEDITION_CONTENT", + "jhash": "", + "comment": "Sets profile setting 866", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_HAS_CONTENT_UNLOCKS_FLAGS" + ] + }, + "0xF6792800AC95350D": { + "name": "SET_SAVE_MIGRATION_TRANSACTION_ID_WARNING", + "jhash": "", + "comment": "Sets profile setting 501", + "params": [ + { + "type": "int", + "name": "transactionId" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_SAVE_MIGRATION_TRANSACTION_ID" + ] + }, + "0x6BC0ACD0673ACEBE": { + "name": "GET_BOSS_GOON_UUID", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "characterSlot" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "573" + }, + "0x8D8ADB562F09A245": { + "name": "PLAYSTATS_BW_BOSSONBOSSDEATHMATCH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BW_BOSS_ON_BOSS_DEATH_MATCH" + ] + }, + "0xD1A1EE3B4FA8E760": { + "name": "PLAYSTATS_BW_YATCHATTACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BW_YACHT_ATTACK" + ] + }, + "0x88087EE1F28024AE": { + "name": "PLAYSTATS_BW_HUNT_THE_BOSS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BW_HUNT_THE_BOSS" + ] + }, + "0xFCC228E07217FCAC": { + "name": "PLAYSTATS_BW_SIGHTSEER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BW_SIGHTSEER" + ] + }, + "0x678F86D8FC040BDB": { + "name": "PLAYSTATS_BW_ASSAULT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BW_ASSAULT" + ] + }, + "0xA6F54BB2FFCA35EA": { + "name": "PLAYSTATS_BW_BELLY_OF_THE_BEAST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BW_BELLY_OF_THE_BEAST" + ] + }, + "0x5FF2C33B13A02A11": { + "name": "PLAYSTATS_BW_HEAD_HUNTER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_BW_HEADHUNTER" + ] + }, + "0x282B6739644F4347": { + "name": "PLAYSTATS_BW_FRAGILE_GOODS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_BW_FRAGILE_GOOODS" + ] + }, + "0xF06A6F41CB445443": { + "name": "PLAYSTATS_BW_AIR_FREIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_BW_AIR_FREIGHT" + ] + }, + "0x7B18DA61F6BAE9D5": { + "name": "PLAYSTATS_BC_CAR_JACKING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BC_CAR_JACKING" + ] + }, + "0x06EAF70AE066441E": { + "name": "PLAYSTATS_BC_SMASH_AND_GRAB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BC_SMASH_AND_GRAB" + ] + }, + "0x14EDA9EE27BD1626": { + "name": "PLAYSTATS_BC_PROTECTION_RACKET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BC_PROTECTION_RACKET" + ] + }, + "0x930F504203F561C9": { + "name": "PLAYSTATS_BC_MOST_WANTED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BC_MOST_WANTED" + ] + }, + "0xE3261D791EB44ACB": { + "name": "PLAYSTATS_BC_FINDERS_KEEPERS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BC_FINDERS_KEEPERS" + ] + }, + "0x73001E34F85137F8": { + "name": "PLAYSTATS_BC_POINT_TO_POINT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BC_POINT_TO_POINT" + ] + }, + "0x53CAE13E9B426993": { + "name": "PLAYSTATS_BC_CASHING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_BC_CASHING" + ] + }, + "0x7D36291161859389": { + "name": "PLAYSTATS_BC_SALVAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_BC_SALVAGE" + ] + }, + "0xBE509B0A3693DE8B": { + "name": "PLAYSTATS_SPENT_PI_CUSTOM_LOADOUT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "amount" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_SPENT_PI_CUSTOM_LOADOUT" + ] + }, + "0xD6781E42755531F7": { + "name": "PLAYSTATS_BUY_CONTRABAND_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_BUY_CONTRABAND" + ] + }, + "0xC729991A9065376E": { + "name": "PLAYSTATS_SELL_CONTRABAND_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_SELL_CONTRABAND" + ] + }, + "0x2605663BD4F23B5D": { + "name": "PLAYSTATS_DEFEND_CONTRABAND_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_DEFEND_CONTRABAND" + ] + }, + "0x04D90BA8207ADA2D": { + "name": "PLAYSTATS_RECOVER_CONTRABAND_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_RECOVER_CONTRABAND" + ] + }, + "0x60EEDC12AF66E846": { + "name": "PLAYSTATS_HIT_CONTRABAND_DESTROY_LIMIT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_HIT_CONTRABAND_DESTROY_LIMIT" + ] + }, + "0x3EBEAC6C3F81F6BD": { + "name": "START_BEING_BOSS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BECOME_BOSS" + ] + }, + "0x96E6D5150DBF1C09": { + "name": "START_BEING_GOON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_BECOME_GOON" + ] + }, + "0xA3C53804BDB68ED2": { + "name": "END_BEING_BOSS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_END_BEING_BOSS" + ] + }, + "0x6BCCF9948492FD85": { + "name": "END_BEING_GOON", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_END_BEING_GOON" + ] + }, + "0x792271AB35C356A4": { + "name": "HIRED_LIMO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_HIRED_LIMO" + ] + }, + "0xCEA553E35C2246E1": { + "name": "ORDER_BOSS_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Hash", + "name": "vehicleHash" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_ORDERED_BOSS_VEHICLE" + ] + }, + "0xD1C9B92BDD3F151D": { + "name": "CHANGE_UNIFORM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_CHANGE_UNIFORM" + ] + }, + "0x44919CC079BB60BF": { + "name": "CHANGE_GOON_LOOKING_FOR_WORK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_PLAYSTATS_CHANGE_GOON_LOOKING_FOR_WORK" + ] + }, + "0x7033EEFD9B28088E": { + "name": "SEND_METRIC_GHOSTING_TO_PLAYER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "678", + "old_names": [ + "_PLAYSTATS_GHOSTING_TO_PLAYER" + ] + }, + "0xAA525DFF66BB82F5": { + "name": "SEND_METRIC_VIP_POACH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_VIP_POACH" + ] + }, + "0x015B03EE1C43E6EC": { + "name": "SEND_METRIC_PUNISH_BODYGUARD", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_PLAYSTATS_PUNISH_BODYGUARD" + ] + }, + "0x928DBFB892638EF3": { + "name": "PLAYSTATS_START_TRACKING_STUNTS", + "jhash": "", + "comment": "Allows CEventNetworkStuntPerformed to be triggered.", + "params": [], + "return_type": "void", + "build": "791", + "old_names": [ + "_PLAYSTATS_STUNT_PERFORMED_EVENT_ALLOW_TRIGGER" + ] + }, + "0x8A800DACCC0DA55D": { + "name": "PLAYSTATS_STOP_TRACKING_STUNTS", + "jhash": "", + "comment": "Disallows CEventNetworkStuntPerformed to be triggered.", + "params": [], + "return_type": "void", + "build": "791", + "old_names": [ + "_PLAYSTATS_STUNT_PERFORMED_EVENT_DISALLOW_TRIGGER" + ] + }, + "0xBF371CD2B64212FD": { + "name": "PLAYSTATS_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_MISSION_ENDED" + ] + }, + "0x7D8BA05688AD64C7": { + "name": "PLAYSTATS_IMPEXP_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_PLAYSTATS_IMPEXP_MISSION_ENDED" + ] + }, + "0x0B565B0AAE56A0E8": { + "name": "PLAYSTATS_CHANGE_MC_ROLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "int", + "name": "role" + }, + { + "type": "int", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_CHANGE_MC_ROLE" + ] + }, + "0x28ECB8AC2F607DB2": { + "name": "PLAYSTATS_CHANGE_MC_OUTFIT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_CHANGE_MC_OUTFIT" + ] + }, + "0x0A50D2604E05CB94": { + "name": "PLAYSTATS_SWITCH_MC_EMBLEM", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_CHANGE_MC_EMBLEM" + ] + }, + "0xCC25A4553DFBF9EA": { + "name": "PLAYSTATS_MC_REQUEST_BIKE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_MC_REQUEST_BIKE" + ] + }, + "0xF534D94DFA2EAD26": { + "name": "PLAYSTATS_MC_KILLED_RIVAL_MC_MEMBER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_KILLED_RIVAL_MC_MEMBER" + ] + }, + "0xD558BEC0BBA7E8D2": { + "name": "PLAYSTATS_ABANDONED_MC", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_ABANDONING_MC" + ] + }, + "0x501478855A6074CE": { + "name": "PLAYSTATS_EARNED_MC_POINTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_EARNED_MC_POINTS" + ] + }, + "0x03C2EEBB04B3FB72": { + "name": "PLAYSTATS_MC_FORMATION_ENDS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_MC_FORMATION_ENDS" + ] + }, + "0x8989CBD7B4E82534": { + "name": "PLAYSTATS_MC_CLUBHOUSE_ACTIVITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_MC_CLUBHOUSE_ACTIVITY" + ] + }, + "0x27AA1C973CACFE63": { + "name": "PLAYSTATS_RIVAL_BEHAVIOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_PLAYSTATS_RIVAL_BEHAVIOUR" + ] + }, + "0xB7257BA2550EA10A": { + "name": "PLAYSTATS_COPY_RANK_INTO_NEW_SLOT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "_PLAYSTATS_COPY_RANK_INTO_NEW_SLOT" + ] + }, + "0x848B66100EE33B05": { + "name": "PLAYSTATS_DUPE_DETECTED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1011", + "old_names": [ + "_PLAYSTATS_DUPE_DETECTION" + ] + }, + "0x516FC96EB88EEFE5": { + "name": "PLAYSTATS_BAN_ALERT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "1011", + "old_names": [ + "_PLAYSTATS_BAN_ALERT" + ] + }, + "0x0EACDF8487D5155A": { + "name": "PLAYSTATS_GUNRUNNING_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_PLAYSTATS_GUNRUN_MISSION_ENDED" + ] + }, + "0xDAF80797FC534BEC": { + "name": "PLAYSTATS_GUNRUNNING_RND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_PLAYSTATS_GUNRUN_RND" + ] + }, + "0x316DB59CD14C1774": { + "name": "PLAYSTATS_BUSINESS_BATTLE_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_PLAYSTATS_BUSINESS_BATTLE_ENDED" + ] + }, + "0x2D7A9B577E72385E": { + "name": "PLAYSTATS_WAREHOUSE_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_PLAYSTATS_WAREHOUSE_MISSION_ENDED" + ] + }, + "0x830C3A44EB3F2CF9": { + "name": "PLAYSTATS_NIGHTCLUB_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_PLAYSTATS_NIGHTCLUB_MISSION_ENDED" + ] + }, + "0xB26F670685631727": { + "name": "PLAYSTATS_DJ_USAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_PLAYSTATS_DJ_USAGE" + ] + }, + "0xC14BD9F5337219B2": { + "name": "PLAYSTATS_MINIGAME_USAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_PLAYSTATS_MINIGAME_USAGE" + ] + }, + "0x35E39E5570358630": { + "name": "PLAYSTATS_STONE_HATCHET_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_PLAYSTATS_STONE_HATCHET_END" + ] + }, + "0x320C35147D5B5DDD": { + "name": "PLAYSTATS_SMUGGLER_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_PLAYSTATS_SMUG_MISSION_ENDED" + ] + }, + "0xD8AFB345A9C5CCBB": { + "name": "PLAYSTATS_FM_HEIST_PREP_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_PLAYSTATS_H2_FMPREP_END" + ] + }, + "0x1E1497D0D2108115": { + "name": "PLAYSTATS_INSTANCED_HEIST_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_PLAYSTATS_H2_INSTANCE_END" + ] + }, + "0x0BC254FF3A911501": { + "name": "PLAYSTATS_DAR_CHECKPOINT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_PLAYSTATS_DAR_MISSION_END" + ] + }, + "0x878FF156D36E9956": { + "name": "PLAYSTATS_ENTER_SESSION_PACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_PLAYSTATS_ENTER_SESSION_PACK" + ] + }, + "0x66C7BB2416ED3FCE": { + "name": "PLAYSTATS_DRONE_USAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_PLAYSTATS_DRONE_USAGE" + ] + }, + "0x6731DE84A38BFAD0": { + "name": "PLAYSTATS_SPIN_WHEEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_PLAYSTATS_SPECTATOR_WHEEL_SPIN" + ] + }, + "0x6F4F599753F8200A": { + "name": "PLAYSTATS_ARENA_WARS_SPECTATOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_PLAYSTATS_ARENA_WAR_SPECTATOR" + ] + }, + "0xB479D9F0D48A1BC5": { + "name": "PLAYSTATS_ARENA_WARS_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_PLAYSTATS_ARENA_WARS_ENDED" + ] + }, + "0x35EEC6C2BC821A71": { + "name": "PLAYSTATS_SWITCH_PASSIVE_MODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_PASSIVE_MODE" + ] + }, + "0xCD0A8A9338681CF2": { + "name": "PLAYSTATS_COLLECTIBLE_PICKED_UP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Hash", + "name": "objectHash" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "int", + "name": "moneyAmount" + }, + { + "type": "int", + "name": "rpAmount" + }, + { + "type": "int", + "name": "chipsAmount" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "int", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_COLLECTIBLE" + ] + }, + "0xFCCCAC2BD3C1F180": { + "name": "PLAYSTATS_CASINO_STORY_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_STORY_MISSION_ENDED" + ] + }, + "0x0999F3F090EC5012": { + "name": "PLAYSTATS_CASINO_CHIP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_CHIP" + ] + }, + "0x95101C443A84E7F1": { + "name": "PLAYSTATS_CASINO_ROULETTE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_ROULETTE" + ] + }, + "0x3EAE97309727E7AD": { + "name": "PLAYSTATS_CASINO_BLACKJACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_BLACKJACK" + ] + }, + "0xF740FB339D471C35": { + "name": "PLAYSTATS_CASINO_THREE_CARD_POKER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_THREECARDPOKER" + ] + }, + "0xEF5EC67D392B830A": { + "name": "PLAYSTATS_CASINO_SLOT_MACHINE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_SLOTMACHINE" + ] + }, + "0x049F059625058A86": { + "name": "PLAYSTATS_CASINO_INSIDE_TRACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_INSIDETRACK" + ] + }, + "0x0C432C1435F5E4FA": { + "name": "PLAYSTATS_CASINO_LUCKY_SEVEN", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_LUCKYSEVEN" + ] + }, + "0x6572ABA3DE1197FC": { + "name": "PLAYSTATS_CASINO_ROULETTE_LIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_ROULETTE_LIGHT" + ] + }, + "0xD5451C7BF151EB6F": { + "name": "PLAYSTATS_CASINO_BLACKJACK_LIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_BLACKJACK_LIGHT" + ] + }, + "0xC9001364B4388F22": { + "name": "PLAYSTATS_CASINO_THREE_CARD_POKER_LIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_THREECARDPOKER_LIGHT" + ] + }, + "0xE60054A0FAE8227F": { + "name": "PLAYSTATS_CASINO_SLOT_MACHINE_LIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_SLOTMACHINE_LIGHT" + ] + }, + "0x23A3CBCD50D54E47": { + "name": "PLAYSTATS_CASINO_INSIDE_TRACK_LIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_INSIDETRACK_LIGHT" + ] + }, + "0x533A7D1EA58DF958": { + "name": "PLAYSTATS_ARCADE_GAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_ARCADEGAME" + ] + }, + "0x4FCDBD3F0A813C25": { + "name": "PLAYSTATS_ARCADE_LOVE_MATCH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_ARCADE_LOVEMATCH" + ] + }, + "0x1A0D4A6C336B7BC5": { + "name": "PLAYSTATS_FREEMODE_CASINO_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "data" + } + ], + "return_type": "void", + "build": "1734", + "old_names": [ + "_PLAYSTATS_CASINO_MISSION_ENDED" + ] + }, + "0xDFBD93BF2943E29B": { + "name": "PLAYSTATS_HEIST3_DRONE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_HEIST3_DRONE" + ] + }, + "0x92FC0EEDFAC04A14": { + "name": "PLAYSTATS_HEIST3_HACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_HEIST3_HACK" + ] + }, + "0x0077F15613D36993": { + "name": "PLAYSTATS_NPC_PHONE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + }, + { + "type": "Any", + "name": "p11" + }, + { + "type": "Any", + "name": "p12" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_NPC_PHONE" + ] + }, + "0xF9096193DF1F99D4": { + "name": "PLAYSTATS_ARCADE_CABINET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_ARCADE_CABINET" + ] + }, + "0x2E0259BABC27A327": { + "name": "PLAYSTATS_HEIST3_FINALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_HEIST3_FINALE" + ] + }, + "0x53C31853EC9531FF": { + "name": "PLAYSTATS_HEIST3_PREP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_HEIST3_PREP" + ] + }, + "0x810B5FCC52EC7FF0": { + "name": "PLAYSTATS_MASTER_CONTROL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_MASTER_CONTROL" + ] + }, + "0x5BF29846C6527C54": { + "name": "PLAYSTATS_QUIT_MODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_QUIT_MODE" + ] + }, + "0xC03FAB2C2F92289B": { + "name": "PLAYSTATS_MISSION_VOTE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_MISSION_VOTE" + ] + }, + "0x5CDAED54B34B0ED0": { + "name": "PLAYSTATS_NJVS_VOTE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_PLAYSTATS_NJVS_VOTE" + ] + }, + "0x4AFF7E02E485E92B": { + "name": "PLAYSTATS_KILL_YOURSELF", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "1868" + }, + "0x46A70777BE6CEAB9": { + "name": "PLAYSTATS_FM_MISSION_END", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_PLAYSTATS_FREEMODE_MISSION_END" + ] + }, + "0xDFCDB14317A9B361": { + "name": "PLAYSTATS_HEIST4_PREP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_PLAYSTATS_HEIST4_PREP" + ] + }, + "0xC1E963C58664B556": { + "name": "PLAYSTATS_HEIST4_FINALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_PLAYSTATS_HEIST4_FINALE" + ] + }, + "0x2FA3173480008493": { + "name": "PLAYSTATS_HEIST4_HACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_PLAYSTATS_HEIST4_HACK" + ] + }, + "0xD4367D310F079DB0": { + "name": "PLAYSTATS_SUB_WEAP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_PLAYSTATS_SUB_WEAP" + ] + }, + "0x4DC416F246A41FC8": { + "name": "PLAYSTATS_FAST_TRVL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + }, + { + "type": "Any", + "name": "p10" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_PLAYSTATS_FAST_TRVL" + ] + }, + "0x2818FF6638CB09DE": { + "name": "PLAYSTATS_HUB_ENTRY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_PLAYSTATS_HUB_ENTRY" + ] + }, + "0xD6CA58B3B53A0F22": { + "name": "PLAYSTATS_DJ_MISSION_ENDED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_PLAYSTATS_DJ_MISSION_ENDED" + ] + }, + "0x1A67DFBF1F5C3835": { + "name": "PLAYSTATS_ROBBERY_PREP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_PLAYSTATS_ROBBERY_PREP" + ] + }, + "0xBBA55BE9AAAABF44": { + "name": "PLAYSTATS_ROBBERY_FINALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_PLAYSTATS_ROBBERY_FINALE" + ] + }, + "0xFA5B74BAB8A7EF99": { + "name": "PLAYSTATS_EXTRA_EVENT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_PLAYSTATS_EXTRA_EVENT" + ] + }, + "0xFF14D6FEEC507BBE": { + "name": "PLAYSTATS_CARCLUB_POINTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_PLAYSTATS_CARCLUB_POINTS" + ] + }, + "0x1187CB58D7F3BED7": { + "name": "PLAYSTATS_CARCLUB_CHALLENGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_PLAYSTATS_CARCLUB_CHALLENGE" + ] + }, + "0x69C922B677621428": { + "name": "PLAYSTATS_CARCLUB_PRIZE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + }, + { + "type": "Hash", + "name": "vehicleModel" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_PLAYSTATS_CARCLUB_PRIZE" + ] + }, + "0x70F52471E758EBAE": { + "name": "PLAYSTATS_AWARD_NAV", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_PLAYSTATS_AWARDS_NAV" + ] + }, + "0xFEA3F7E83C0610FA": { + "name": "PLAYSTATS_INST_MISSION_END", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_PLAYSTATS_INST_MISSION_END" + ] + }, + "0x5A46ACE5C4661132": { + "name": "PLAYSTATS_HUB_EXIT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_PLAYSTATS_HUB_EXIT" + ] + }, + "0x887DAD63CF5B7908": { + "name": "PLAYSTATS_INVENTORY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2699", + "old_names": [ + "_PLAYSTATS_INVENTORY" + ] + }, + "0x8A23D1324F6B2BAC": { + "name": "_PLAYSTATS_ACID_MISSION_END", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xCEACCF0550FDC5BA": { + "name": "_PLAYSTATS_ACID_RND", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2802" + }, + "0xEC9553A178E8F1D1": { + "name": "_PLAYSTATS_IDLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x48FAC5DC7AC6EA99": { + "name": "_PLAYSTATS_PLAYER_STYLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2802" + } + }, + "STREAMING": { + "0xBD6E84632DD4CB3F": { + "name": "LOAD_ALL_OBJECTS_NOW", + "jhash": "0xC9DBDA90", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x4448EB75B4904BDB": { + "name": "LOAD_SCENE", + "jhash": "0xB72403F5", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC4582015556D1C46": { + "name": "NETWORK_UPDATE_LOAD_SCENE", + "jhash": "0xC76E023C", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x41CA5A33160EA4AB": { + "name": "IS_NETWORK_LOADING_SCENE", + "jhash": "0x6DCFC021", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xE37B76C387BE28ED": { + "name": "SET_INTERIOR_ACTIVE", + "jhash": "0xE1013910", + "comment": "", + "params": [ + { + "type": "int", + "name": "interiorID" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x963D27A58DF860AC": { + "name": "REQUEST_MODEL", + "jhash": "0xFFF1B500", + "comment": "Request a model to be loaded into memory.\n", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA0261AEF7ACFC51E": { + "name": "REQUEST_MENU_PED_MODEL", + "jhash": "0x48CEB6B4", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "323" + }, + "0x98A4EB5D89A0C952": { + "name": "HAS_MODEL_LOADED", + "jhash": "0x62BFDB37", + "comment": "Checks if the specified model has loaded into memory.", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8A7A40100EDFEC58": { + "name": "REQUEST_MODELS_IN_ROOM", + "jhash": "0x939243FB", + "comment": "STREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, \"V_FIB01_cur_elev\");\nSTREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, \"limbo\");\nSTREAMING::REQUEST_MODELS_IN_ROOM(l_13BB, \"V_Office_gnd_lifts\");\nSTREAMING::REQUEST_MODELS_IN_ROOM(l_13BB, \"limbo\");\nSTREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, \"v_fib01_jan_elev\");\nSTREAMING::REQUEST_MODELS_IN_ROOM(l_13BC, \"limbo\");", + "params": [ + { + "type": "Interior", + "name": "interior" + }, + { + "type": "const char*", + "name": "roomName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REQUEST_INTERIOR_ROOM_BY_NAME" + ] + }, + "0xE532F5D78798DAAB": { + "name": "SET_MODEL_AS_NO_LONGER_NEEDED", + "jhash": "0xAE0F069E", + "comment": "Unloads model from memory", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "323" + }, + "0x35B9E0803292B641": { + "name": "IS_MODEL_IN_CDIMAGE", + "jhash": "0x1094782F", + "comment": "Check if model is in cdimage(rpf)", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC0296A2EDF545E92": { + "name": "IS_MODEL_VALID", + "jhash": "0xAF8F8E9D", + "comment": "Returns whether the specified model exists in the game.", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x75816577FEA6DAD5": { + "name": "IS_MODEL_A_PED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "1103" + }, + "0x19AAC8F07BFEC53E": { + "name": "IS_MODEL_A_VEHICLE", + "jhash": "0xFFFC85D4", + "comment": "Returns whether the specified model represents a vehicle.", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x07503F7948F491A7": { + "name": "REQUEST_COLLISION_AT_COORD", + "jhash": "0xCD9805E7", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x923CB32A3B874FCB": { + "name": "REQUEST_COLLISION_FOR_MODEL", + "jhash": "0x3930C042", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "void", + "build": "323" + }, + "0x22CCA434E368F03A": { + "name": "HAS_COLLISION_FOR_MODEL_LOADED", + "jhash": "0x41A094F8", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC9156DC11411A9EA": { + "name": "REQUEST_ADDITIONAL_COLLISION_AT_COORD", + "jhash": "0xC2CC1DF2", + "comment": "Alias of REQUEST_COLLISION_AT_COORD.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2DA49C3B79856961": { + "name": "DOES_ANIM_DICT_EXIST", + "jhash": "0xCD31C872", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDict" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD3BD40951412FEF6": { + "name": "REQUEST_ANIM_DICT", + "jhash": "0xDCA96950", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDict" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD031A9162D01088C": { + "name": "HAS_ANIM_DICT_LOADED", + "jhash": "0x05E6763C", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDict" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF66A602F829E2A06": { + "name": "REMOVE_ANIM_DICT", + "jhash": "0x0AE050B5", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animDict" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6EA47DAE7FAD0EED": { + "name": "REQUEST_ANIM_SET", + "jhash": "0x2988B3FC", + "comment": "Starts loading the specified animation set. An animation set provides movement animations for a ped. See SET_PED_MOVEMENT_CLIPSET.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC4EA073D86FB29B0": { + "name": "HAS_ANIM_SET_LOADED", + "jhash": "0x4FFF397D", + "comment": "Gets whether the specified animation set has finished loading. An animation set provides movement animations for a ped. See SET_PED_MOVEMENT_CLIPSET.\n\nAnimation set and clip set are synonymous.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animSet" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x16350528F93024B3": { + "name": "REMOVE_ANIM_SET", + "jhash": "0xD04A817A", + "comment": "Unloads the specified animation set. An animation set provides movement animations for a ped. See SET_PED_MOVEMENT_CLIPSET.\n\nAnimation set and clip set are synonymous.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "const char*", + "name": "animSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD2A71E1A77418A49": { + "name": "REQUEST_CLIP_SET", + "jhash": "0x546C627A", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "const char*", + "name": "clipSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0x318234F4F3738AF3": { + "name": "HAS_CLIP_SET_LOADED", + "jhash": "0x230D5455", + "comment": "Alias for HAS_ANIM_SET_LOADED.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "const char*", + "name": "clipSet" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x01F73A131C18CD94": { + "name": "REMOVE_CLIP_SET", + "jhash": "0x1E21F7AA", + "comment": "Alias for REMOVE_ANIM_SET.\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nFull list of movement clipsets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/movementClipsetsCompact.json", + "params": [ + { + "type": "const char*", + "name": "clipSet" + } + ], + "return_type": "void", + "build": "323" + }, + "0x41B4893843BBDB74": { + "name": "REQUEST_IPL", + "jhash": "0x3B70D1DB", + "comment": "Exemple: REQUEST_IPL(\"TrevorsTrailerTrash\");\n\nFull list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json", + "params": [ + { + "type": "const char*", + "name": "iplName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEE6C5AD3ECE0A82D": { + "name": "REMOVE_IPL", + "jhash": "0xDF7CBD36", + "comment": "Removes an IPL from the map.\n\nFull list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json\n\nExample:\nC#:\nFunction.Call(Hash.REMOVE_IPL, \"trevorstrailertidy\");\n\nC++:\nSTREAMING::REMOVE_IPL(\"trevorstrailertidy\");\n\niplName = Name of IPL you want to remove.", + "params": [ + { + "type": "const char*", + "name": "iplName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x88A741E44A2B3495": { + "name": "IS_IPL_ACTIVE", + "jhash": "0xB2C33714", + "comment": "Full list of IPLs and interior entity sets by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/ipls.json", + "params": [ + { + "type": "const char*", + "name": "iplName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x6E0C692677008888": { + "name": "SET_STREAMING", + "jhash": "0x27EF6CB2", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7E3F55ED251B76D3": { + "name": "LOAD_GLOBAL_WATER_FILE", + "jhash": "", + "comment": "0 - default\n1 - HeistIsland", + "params": [ + { + "type": "int", + "name": "waterType" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_LOAD_GLOBAL_WATER_TYPE" + ] + }, + "0xF741BD853611592D": { + "name": "GET_GLOBAL_WATER_FILE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "int", + "build": "2189", + "old_names": [ + "_GET_GLOBAL_WATER_TYPE" + ] + }, + "0x717CD6E6FAEBBEDC": { + "name": "SET_GAME_PAUSES_FOR_STREAMING", + "jhash": "0x9211A28A", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x77B5F9A36BF96710": { + "name": "SET_REDUCE_PED_MODEL_BUDGET", + "jhash": "0xAFCB2B86", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x80C527893080CCF3": { + "name": "SET_REDUCE_VEHICLE_MODEL_BUDGET", + "jhash": "0xCDB4FB7E", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x42CBE54462D92634": { + "name": "SET_DITCH_POLICE_MODELS", + "jhash": "0x3EA7FCE4", + "comment": "This is a NOP function. It does nothing at all.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4060057271CEBC89": { + "name": "GET_NUMBER_OF_STREAMING_REQUESTS", + "jhash": "0xC2EE9A02", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x944955FB2A3935C8": { + "name": "REQUEST_PTFX_ASSET", + "jhash": "0x2C649263", + "comment": "maps script name (thread + 0xD0) by lookup via scriptfx.dat - does nothing when script name is empty", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xCA7D9B86ECA7481B": { + "name": "HAS_PTFX_ASSET_LOADED", + "jhash": "0x3EFF96BE", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x88C6814073DD4A73": { + "name": "REMOVE_PTFX_ASSET", + "jhash": "0xC10F178C", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xB80D8756B4668AB6": { + "name": "REQUEST_NAMED_PTFX_ASSET", + "jhash": "0xCFEA19A9", + "comment": " From the b678d decompiled scripts:\n\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"core_snow\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"fm_mission_controler\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"proj_xmas_firework\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_apartment_mp\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_biolab_heist\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_indep_fireworks\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_indep_parachute\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_indep_wheelsmoke\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_mp_cig_plane\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_mp_creator\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_mp_tankbattle\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_ornate_heist\");\n STREAMING::REQUEST_NAMED_PTFX_ASSET(\"scr_prison_break_heist_station\");", + "params": [ + { + "type": "const char*", + "name": "fxName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8702416E512EC454": { + "name": "HAS_NAMED_PTFX_ASSET_LOADED", + "jhash": "0x9ACC6446", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "fxName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5F61EBBE1A00F96D": { + "name": "REMOVE_NAMED_PTFX_ASSET", + "jhash": "0xC44762A1", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "fxName" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REMOVE_NAMED_PTFX_ASSET" + ] + }, + "0xCB9E1EB3BE2AF4E9": { + "name": "SET_VEHICLE_POPULATION_BUDGET", + "jhash": "0x1D56993C", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8C95333CFC3340F3": { + "name": "SET_PED_POPULATION_BUDGET", + "jhash": "0xD2D026CD", + "comment": "Control how many new (ambient?) peds will spawn in the game world.\nRange for p0 seems to be 0-3, where 0 is none and 3 is the normal level.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x31B73D1EA9F01DA2": { + "name": "CLEAR_FOCUS", + "jhash": "0x34D91E7A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBB7454BAFF08FE25": { + "name": "SET_FOCUS_POS_AND_VEL", + "jhash": "0x14680A60", + "comment": "Override the area where the camera will render the terrain.\np3, p4 and p5 are usually set to 0.0\n", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_FOCUS_AREA" + ] + }, + "0x198F77705FA0931D": { + "name": "SET_FOCUS_ENTITY", + "jhash": "0x18DB04AC", + "comment": "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.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2DDFF3FB9075D747": { + "name": "IS_ENTITY_FOCUS", + "jhash": "0xB456D707", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0811381EF5062FEC": { + "name": "SET_RESTORE_FOCUS_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAF12610C644A35C9": { + "name": "SET_MAPDATACULLBOX_ENABLED", + "jhash": "0x403CD434", + "comment": "Possible p0 values:\n\n\"prologue\"\n\"Prologue_Main\"", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4E52E752C76E7E7A": { + "name": "SET_ALL_MAPDATA_CULLED", + "jhash": "0xA07BAEB9", + "comment": "This native does absolutely nothing, just a nullsub", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x219C7B8D53E429FD": { + "name": "STREAMVOL_CREATE_SPHERE", + "jhash": "0x10B6AB36", + "comment": "Always returns zero.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "rad" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "FORMAT_FOCUS_HEADING" + ] + }, + "0x1F3F018BC3AFA77C": { + "name": "STREAMVOL_CREATE_FRUSTUM", + "jhash": "0x72344191", + "comment": "Always returns zero.", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "int", + "build": "323" + }, + "0x0AD9710CEE2F590F": { + "name": "STREAMVOL_CREATE_LINE", + "jhash": "0xC0157255", + "comment": "Always returns zero.", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1EE7D8DF4425F053": { + "name": "STREAMVOL_DELETE", + "jhash": "0xE80F8ABE", + "comment": "", + "params": [ + { + "type": "Any", + "name": "unused" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7D41E9D2D17C5B2D": { + "name": "STREAMVOL_HAS_LOADED", + "jhash": "0x1B3521F4", + "comment": "", + "params": [ + { + "type": "Any", + "name": "unused" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x07C313F94746702C": { + "name": "STREAMVOL_IS_VALID", + "jhash": "0x42CFE9C0", + "comment": "", + "params": [ + { + "type": "Any", + "name": "unused" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBC9823AB80A3DCAC": { + "name": "IS_STREAMVOL_ACTIVE", + "jhash": "0x56253356", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x212A8D0D2BABFAC2": { + "name": "NEW_LOAD_SCENE_START", + "jhash": "0xDF9C38B6", + "comment": "`radius` value is usually between `3f` and `7000f` in original 1868 scripts.\n`p7` is 0, 1, 2, 3 or 4 used in decompiled scripts, 0 is by far the most common.\nReturns True if success, used only 7 times in decompiled scripts of 1868", + "params": [ + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "p7" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xACCFB4ACF53551B0": { + "name": "NEW_LOAD_SCENE_START_SPHERE", + "jhash": "0xFA037FEB", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC197616D221FF4A4": { + "name": "NEW_LOAD_SCENE_STOP", + "jhash": "0x7C05B1F6", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA41A05B6CB741B85": { + "name": "IS_NEW_LOAD_SCENE_ACTIVE", + "jhash": "0xAD234B7F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x01B8247A7A8B9AD1": { + "name": "IS_NEW_LOAD_SCENE_LOADED", + "jhash": "0x3ECD839F", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x71E7B2E657449AAD": { + "name": "IS_SAFE_TO_START_PLAYER_SWITCH", + "jhash": "0xEAA51103", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xFAA23F2CBA159D67": { + "name": "START_PLAYER_SWITCH", + "jhash": "0x0829E975", + "comment": "// this enum comes directly from R* so don't edit this\nenum ePlayerSwitchTypes\n{\n SWITCH_TYPE_AUTO,\n SWITCH_TYPE_LONG,\n SWITCH_TYPE_MEDIUM,\n SWITCH_TYPE_SHORT\n};\n\nUse GET_IDEAL_PLAYER_SWITCH_TYPE for the best switch type.\n\n----------------------------------------------------\n\nExamples from the decompiled scripts:\n\nSTREAMING::START_PLAYER_SWITCH(l_832._f3, PLAYER::PLAYER_PED_ID(), 0, 3);\nSTREAMING::START_PLAYER_SWITCH(l_832._f3, PLAYER::PLAYER_PED_ID(), 2050, 3);\nSTREAMING::START_PLAYER_SWITCH(PLAYER::PLAYER_PED_ID(), l_832._f3, 1024, 3);\nSTREAMING::START_PLAYER_SWITCH(g_141F27, PLAYER::PLAYER_PED_ID(), 513, v_14);\n\nNote: DO NOT, use SWITCH_TYPE_LONG with flag 513. It leaves you stuck in the clouds. You'll have to call STOP_PLAYER_SWITCH() to return to your ped.\n\nFlag 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.\nFlag 8 w/ SWITCH_TYPE_MEDIUM will zoom out 1 step, and just hang there.", + "params": [ + { + "type": "Ped", + "name": "from" + }, + { + "type": "Ped", + "name": "to" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "int", + "name": "switchType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x95C0A5BBDC189AA1": { + "name": "STOP_PLAYER_SWITCH", + "jhash": "0x2832C010", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xD9D2CFFF49FAB35F": { + "name": "IS_PLAYER_SWITCH_IN_PROGRESS", + "jhash": "0x56135ACC", + "comment": "Returns true if the player is currently switching, false otherwise.\n(When the camera is in the sky moving from Trevor to Franklin for example)", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xB3C94A90D9FC9E62": { + "name": "GET_PLAYER_SWITCH_TYPE", + "jhash": "0x280DC015", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xB5D7B26B45720E05": { + "name": "GET_IDEAL_PLAYER_SWITCH_TYPE", + "jhash": "0xD5A450F1", + "comment": "x1, y1, z1 -- Coords of your ped model\nx2, y2, z2 -- Coords of the ped you want to switch to", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x470555300D10B2A5": { + "name": "GET_PLAYER_SWITCH_STATE", + "jhash": "0x39A0E1F2", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x20F898A5D9782800": { + "name": "GET_PLAYER_SHORT_SWITCH_STATE", + "jhash": "0x9B7BA38F", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x5F2013F8BC24EE69": { + "name": "SET_PLAYER_SHORT_SWITCH_STYLE", + "jhash": "0xF0BD420D", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x78C0D93253149435": { + "name": "GET_PLAYER_SWITCH_JUMP_CUT_INDEX", + "jhash": "0x02BA7AC2", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xC208B673CE446B61": { + "name": "SET_PLAYER_SWITCH_OUTRO", + "jhash": "0x47352E14", + "comment": "", + "params": [ + { + "type": "float", + "name": "cameraCoordX" + }, + { + "type": "float", + "name": "cameraCoordY" + }, + { + "type": "float", + "name": "cameraCoordZ" + }, + { + "type": "float", + "name": "camRotationX" + }, + { + "type": "float", + "name": "camRotationY" + }, + { + "type": "float", + "name": "camRotationZ" + }, + { + "type": "float", + "name": "camFov" + }, + { + "type": "float", + "name": "camFarClip" + }, + { + "type": "int", + "name": "rotationOrder" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0FDE9DBFC0A6BC65": { + "name": "SET_PLAYER_SWITCH_ESTABLISHING_SHOT", + "jhash": "0x279077B0", + "comment": "All names can be found in playerswitchestablishingshots.meta", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x43D1680C6D19A8E9": { + "name": "ALLOW_PLAYER_SWITCH_PAN", + "jhash": "0x55CB21F9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x74DE2E8739086740": { + "name": "ALLOW_PLAYER_SWITCH_OUTRO", + "jhash": "0x1084F2F4", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x8E2A065ABDAE6994": { + "name": "ALLOW_PLAYER_SWITCH_ASCENT", + "jhash": "0x5B1E995D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAD5FDF34B81BFE79": { + "name": "ALLOW_PLAYER_SWITCH_DESCENT", + "jhash": "0x4B4B9A13", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xDFA80CB25D0A19B3": { + "name": "IS_SWITCH_READY_FOR_DESCENT", + "jhash": "0x408F7148", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xD4793DFF3AF2ABCD": { + "name": "ENABLE_SWITCH_PAUSE_BEFORE_DESCENT", + "jhash": "0x4062FF73", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBD605B8E0E18B3BB": { + "name": "DISABLE_SWITCH_OUTRO_FX", + "jhash": "0x59CC312D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAAB3200ED59016BC": { + "name": "SWITCH_TO_MULTI_FIRSTPART", + "jhash": "0xFB4D062D", + "comment": "doesn't act normally when used on mount chilliad\nFlags is a bitflag:\n2^n - Enabled Functionality:\n0 - Skip camera rotate up\n3 - Wait for SET_PLAYER_SWITCH_ESTABLISHING_SHOT / hang at last step. You will still need to run 0x74DE2E8739086740 to exit \"properly\" and then STOP_PLAYER_SWITCH\n6 - Invert Switch Direction (false = out, true = in)\n8 - Hang above ped\n\nswitchType: 0 - 3\n0: 1 step towards ped\n1: 3 steps out from ped\n2: 1 step out from ped\n3: 1 step towards ped", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "int", + "name": "switchType" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SWITCH_OUT_PLAYER" + ] + }, + "0xD8295AF639FD9CB8": { + "name": "SWITCH_TO_MULTI_SECONDPART", + "jhash": "0x2349373B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SWITCH_IN_PLAYER" + ] + }, + "0x933BBEEB8C61B5F4": { + "name": "IS_SWITCH_TO_MULTI_FIRSTPART_FINISHED", + "jhash": "0x74C16879", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x08C2D6C52A3104BB": { + "name": "GET_PLAYER_SWITCH_INTERP_OUT_DURATION", + "jhash": "0x569847E3", + "comment": "", + "params": [], + "return_type": "int", + "build": "323", + "old_names": [ + "SET_PLAYER_INVERTED_UP" + ] + }, + "0x5B48A06DD0E792A5": { + "name": "GET_PLAYER_SWITCH_INTERP_OUT_CURRENT_TIME", + "jhash": "0xC7A3D279", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x5B74EA8CFD5E3E7E": { + "name": "IS_SWITCH_SKIPPING_DESCENT", + "jhash": "0x90F64284", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "DESTROY_PLAYER_IN_PAUSE_MENU" + ] + }, + "0x1E9057A74FD73E23": { + "name": "SET_SCENE_STREAMING_TRACKS_CAM_POS_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x0C15B0E443B2349D": { + "name": "GET_LODSCALE", + "jhash": "0x7154B6FD", + "comment": "", + "params": [], + "return_type": "float", + "build": "323" + }, + "0xA76359FC80B2438E": { + "name": "OVERRIDE_LODSCALE_THIS_FRAME", + "jhash": "0xE5612C1A", + "comment": "This allows you to override \"extended distance scaling\" setting. Needs to be called each frame.\nMax scaling seems to be 200.0, normal is 1.0\nSee https://gfycat.com/DetailedHauntingIncatern", + "params": [ + { + "type": "float", + "name": "scaling" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBED8CA5FF5E04113": { + "name": "REMAP_LODSCALE_RANGE_THIS_FRAME", + "jhash": "0x9CD6A451", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x472397322E92A856": { + "name": "SUPPRESS_HD_MAP_STREAMING_THIS_FRAME", + "jhash": "0x4267DA87", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x40AEFD1A244741F2": { + "name": "SET_RENDER_HD_ONLY", + "jhash": "0x9FA4AF99", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x03F1A106BDA7DD3E": { + "name": "FORCE_ALLOW_TIME_BASED_FADING_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x95A7DABDDBB78AE7": { + "name": "IPL_GROUP_SWAP_START", + "jhash": "0x9EF0A9CF", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "iplName1" + }, + { + "type": "const char*", + "name": "iplName2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x63EB2B972A218CAC": { + "name": "IPL_GROUP_SWAP_CANCEL", + "jhash": "0xF2CDD6A8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xFB199266061F820A": { + "name": "IPL_GROUP_SWAP_IS_READY", + "jhash": "0x17B0A1CD", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xF4A0DADB70F57FA6": { + "name": "IPL_GROUP_SWAP_FINISH", + "jhash": "0x3DA7AA5D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x5068F488DDB54DD8": { + "name": "IPL_GROUP_SWAP_IS_ACTIVE", + "jhash": "0xDAB4BAC0", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x3D245789CE12982C": { + "name": "PREFETCH_SRL", + "jhash": "0x37BE2FBB", + "comment": "This native is used to attribute the SRL that BEGIN_SRL is going to load. This is usually used for 'in-game' cinematics (not cutscenes but camera stuff) instead of SET_FOCUS_POS_AND_VEL because it loads a specific area of the map which is pretty useful when the camera moves from distant areas.\nFor instance, GTA:O opening cutscene.\nhttps://pastebin.com/2EeKVeLA : a list of SRL found in srllist.meta\nhttps://pastebin.com/zd9XYUWY here is the content of a SRL file opened with codewalker.", + "params": [ + { + "type": "const char*", + "name": "srl" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD0263801A4C5B0BB": { + "name": "IS_SRL_LOADED", + "jhash": "0x670FA2A6", + "comment": "Returns true when the srl from BEGIN_SRL is loaded.", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0x9BADDC94EF83B823": { + "name": "BEGIN_SRL", + "jhash": "0x24F49427", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x0A41540E63C9EE17": { + "name": "END_SRL", + "jhash": "0x1977C56A", + "comment": "Clear the current srl and stop rendering the area selected by PREFETCH_SRL and started with BEGIN_SRL.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xA74A541C6884E7B8": { + "name": "SET_SRL_TIME", + "jhash": "0x30F8A487", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEF39EE20C537E98C": { + "name": "SET_SRL_POST_CUTSCENE_CAMERA", + "jhash": "0x814D0752", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBEB2D9A1D9A8F55A": { + "name": "SET_SRL_READAHEAD_TIMES", + "jhash": "0x62F02485", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x20C6C7E4EB082A7F": { + "name": "SET_SRL_LONG_JUMP_MODE", + "jhash": "0xA6459CAA", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF8155A7F03DDFC8E": { + "name": "SET_SRL_FORCE_PRESTREAM", + "jhash": "0xF8F515E4", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB85F26619073E775": { + "name": "SET_HD_AREA", + "jhash": "0x80BAA035", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCE58B1CFB9290813": { + "name": "CLEAR_HD_AREA", + "jhash": "0x7CAC6FA0", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xB5A4DB34FE89B88A": { + "name": "INIT_CREATOR_BUDGET", + "jhash": "0xE243B2AF", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_LOAD_MISSION_CREATOR_DATA" + ] + }, + "0xCCE26000E9A6FAD7": { + "name": "SHUTDOWN_CREATOR_BUDGET", + "jhash": "0x897A510F", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x0BC3144DEB678666": { + "name": "ADD_MODEL_TO_CREATOR_BUDGET", + "jhash": "0xC0E83320", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF086AD9354FAC3A3": { + "name": "REMOVE_MODEL_FROM_CREATOR_BUDGET", + "jhash": "0x1C576388", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3D3D8B3BE5A83D35": { + "name": "GET_USED_CREATOR_BUDGET", + "jhash": "0x3E9C4CBE", + "comment": "0.0 = no memory used\n1.0 = all memory used\n\nMaximum model memory (as defined in common\\data\\missioncreatordata.meta) is 100 MiB", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_USED_CREATOR_MODEL_MEMORY_PERCENTAGE" + ] + }, + "0x9A9D1BA639675CF1": { + "name": "SET_ISLAND_ENABLED", + "jhash": "", + "comment": "Enables the specified island. For more information, see islandhopper.meta", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2189", + "old_names": [ + "_SET_ISLAND_HOPPER_ENABLED" + ] + } + }, + "TASK": { + "0xE73A266DB0CA9042": { + "name": "TASK_PAUSE", + "jhash": "0x17A64668", + "comment": "Stand still (?)", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "ms" + } + ], + "return_type": "void", + "build": "323" + }, + "0x919BE13EED931959": { + "name": "TASK_STAND_STILL", + "jhash": "0x6F80965D", + "comment": "Makes the specified ped stand still for (time) milliseconds.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0AE4086104E067B1": { + "name": "TASK_JUMP", + "jhash": "0x0356E3CE", + "comment": "Definition is wrong. This has 4 parameters (Not sure when they were added. v350 has 2, v678 has 4).\n\nv350: Ped ped, bool unused\nv678: Ped ped, bool unused, bool flag1, bool flag2\n\nflag1 = super jump, flag2 = do nothing if flag1 is false and doubles super jump height if flag1 is true.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "usePlayerLaunchForce" + }, + { + "type": "BOOL", + "name": "doSuperJump" + }, + { + "type": "BOOL", + "name": "useFullSuperJumpForce" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3EB1FE9E8E908E15": { + "name": "TASK_COWER", + "jhash": "0x9CF1C19B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF2EAB31979A7F910": { + "name": "TASK_HANDS_UP", + "jhash": "0x8DCC19C5", + "comment": "In the scripts, p3 was always -1.\n\np3 seems to be duration or timeout of turn animation.\nAlso facingPed can be 0 or -1 so ped will just raise hands up.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "Ped", + "name": "facingPed" + }, + { + "type": "int", + "name": "timeToFacePed" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA98FCAFD7893C834": { + "name": "UPDATE_TASK_HANDS_UP_DURATION", + "jhash": "0x3AA39BE9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0x965791A9A488A062": { + "name": "TASK_OPEN_VEHICLE_DOOR", + "jhash": "0x8EE06BF4", + "comment": "The given ped will try to open the nearest door to 'seat'.\nExample: 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "timeOut" + }, + { + "type": "int", + "name": "seat" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC20E50AA46D09CA8": { + "name": "TASK_ENTER_VEHICLE", + "jhash": "0xB8689B4E", + "comment": "speed 1.0 = walk, 2.0 = run\np5 1 = normal, 3 = teleport to vehicle, 16 = teleport directly into vehicle\np6 is always 0\n\nUsage of seat \n-1 = driver\n0 = passenger\n1 = left back seat\n2 = right back seat\n3 = outside left\n4 = outside right", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "timeout" + }, + { + "type": "int", + "name": "seat" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "flag" + }, + { + "type": "const char*", + "name": "overrideEntryClipsetName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD3DBCE61A490BE02": { + "name": "TASK_LEAVE_VEHICLE", + "jhash": "0x7B1141C6", + "comment": "Flags from decompiled scripts:\n0 = normal exit and closes door.\n1 = normal exit and closes door.\n16 = teleports outside, door kept closed.\n64 = normal exit and closes door, maybe a bit slower animation than 0.\n256 = normal exit but does not close the door.\n4160 = ped is throwing himself out, even when the vehicle is still.\n262144 = ped moves to passenger seat first, then exits normally\n\nOthers to be tried out: 320, 512, 131072.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C00E77AF14B2DFF": { + "name": "TASK_GET_OFF_BOAT", + "jhash": "0x4293601F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "boat" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_TASK_GET_OFF_BOAT" + ] + }, + "0x601736CFE536B0A0": { + "name": "TASK_SKY_DIVE", + "jhash": "0xD3874AFA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "instant" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD2F1C53C97EE81AB": { + "name": "TASK_PARACHUTE", + "jhash": "0xEC3060A2", + "comment": "Second parameter is unused.\n\nsecond parameter was for jetpack in the early stages of gta and the hard coded code is now removed", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "giveParachuteItem" + }, + { + "type": "BOOL", + "name": "instant" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB33E291AFA6BD03A": { + "name": "TASK_PARACHUTE_TO_TARGET", + "jhash": "0xE0104D6C", + "comment": "makes ped parachute to coords x y z. Works well with PATHFIND::GET_SAFE_COORD_FOR_PED", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC313379AF0FCEDA7": { + "name": "SET_PARACHUTE_TASK_TARGET", + "jhash": "0x6ED3AD81", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0729BAC1B8C64317": { + "name": "SET_PARACHUTE_TASK_THRUST", + "jhash": "0xD07C8AAA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "thrust" + } + ], + "return_type": "void", + "build": "323" + }, + "0x09693B0312F91649": { + "name": "TASK_RAPPEL_FROM_HELI", + "jhash": "0x2C7ADB93", + "comment": "minHeightAboveGround: the minimum height above ground the heli must be at before the ped can start rappelling\n\nOnly appears twice in the scripts.\n\nTASK::TASK_RAPPEL_FROM_HELI(PLAYER::PLAYER_PED_ID(), 10.0f);\nTASK::TASK_RAPPEL_FROM_HELI(a_0, 10.0f);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "minHeightAboveGround" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE2A2AA2F659D77A7": { + "name": "TASK_VEHICLE_DRIVE_TO_COORD", + "jhash": "0xE4AC0387", + "comment": "info about driving modes: https://gtaforums.com/topic/822314-guide-driving-styles/", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Hash", + "name": "vehicleModel" + }, + { + "type": "int", + "name": "drivingMode" + }, + { + "type": "float", + "name": "stopRange" + }, + { + "type": "float", + "name": "straightLineDistance" + } + ], + "return_type": "void", + "build": "323" + }, + "0x158BB33F920D360C": { + "name": "TASK_VEHICLE_DRIVE_TO_COORD_LONGRANGE", + "jhash": "0x1490182A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "driveMode" + }, + { + "type": "float", + "name": "stopRange" + } + ], + "return_type": "void", + "build": "323" + }, + "0x480142959D337D00": { + "name": "TASK_VEHICLE_DRIVE_WANDER", + "jhash": "0x36EC0EB0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "drivingStyle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x304AE42E357B8C7E": { + "name": "TASK_FOLLOW_TO_OFFSET_OF_ENTITY", + "jhash": "0x2DF5A6AC", + "comment": "p6 always -1\np7 always 10.0\np8 always 1", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "float", + "name": "movementSpeed" + }, + { + "type": "int", + "name": "timeout" + }, + { + "type": "float", + "name": "stoppingRange" + }, + { + "type": "BOOL", + "name": "persistFollowing" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD76B57B44F1E6F8B": { + "name": "TASK_GO_STRAIGHT_TO_COORD", + "jhash": "0x80A9E7A7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "timeout" + }, + { + "type": "float", + "name": "targetHeading" + }, + { + "type": "float", + "name": "distanceToSlide" + } + ], + "return_type": "void", + "build": "323" + }, + "0x61E360B7E040D12E": { + "name": "TASK_GO_STRAIGHT_TO_COORD_RELATIVE_TO_ENTITY", + "jhash": "0xD26CAC68", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "int", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0x93B93A37987F1F3D": { + "name": "TASK_ACHIEVE_HEADING", + "jhash": "0x0A0E9B42", + "comment": "Makes the specified ped achieve the specified heading.\n\npedHandle: The handle of the ped to assign the task to.\nheading: The desired heading.\ntimeout: 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "int", + "name": "timeout" + } + ], + "return_type": "void", + "build": "323" + }, + "0x841142A1376E9006": { + "name": "TASK_FLUSH_ROUTE", + "jhash": "0x34219154", + "comment": "MulleKD19: Clears the current point route. Call this before TASK_EXTEND_ROUTE and TASK_FOLLOW_POINT_ROUTE.", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x1E7889778264843A": { + "name": "TASK_EXTEND_ROUTE", + "jhash": "0x43271F69", + "comment": "MulleKD19: Adds a new point to the current point route. Call TASK_FLUSH_ROUTE before the first call to this. Call TASK_FOLLOW_POINT_ROUTE to make the Ped go the route.\n\nA maximum of 8 points can be added.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x595583281858626E": { + "name": "TASK_FOLLOW_POINT_ROUTE", + "jhash": "0xB837C816", + "comment": "MulleKD19: Makes the ped go on the created point route.\n\nped: The ped to give the task to.\nspeed: The speed to move at in m/s.\nint: Unknown. Can be 0, 1, 2 or 3.\n\nExample:\nTASK_FLUSH_ROUTE();\nTASK_EXTEND_ROUTE(0f, 0f, 70f);\nTASK_EXTEND_ROUTE(10f, 0f, 70f);\nTASK_EXTEND_ROUTE(10f, 10f, 70f);\nTASK_FOLLOW_POINT_ROUTE(GET_PLAYER_PED(), 1f, 0);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "mode" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6A071245EB0D1882": { + "name": "TASK_GO_TO_ENTITY", + "jhash": "0x374827C2", + "comment": "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\n\nNote: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.\n\nExample: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)\n\nPed will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).\n\nenum EGOTO_ENTITY_SCRIPT_FLAGS\n{\n\tEGOTO_ENTITY_NEVER_SLOW_FOR_PATH_LENGTH = 0x01,\n};", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Entity", + "name": "target" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "float", + "name": "slowDownDistance" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x94587F17E9C365D5": { + "name": "TASK_SMART_FLEE_COORD", + "jhash": "0xB2E686FC", + "comment": "Makes the specified ped flee the specified distance from the specified position.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "BOOL", + "name": "preferPavements" + }, + { + "type": "BOOL", + "name": "quitIfOutOfRange" + } + ], + "return_type": "void", + "build": "323" + }, + "0x22B0D0E37CCB840D": { + "name": "TASK_SMART_FLEE_PED", + "jhash": "0xE52EB560", + "comment": "Makes a ped run away from another ped (fleeTarget).\n\ndistance = ped will flee this distance.\nfleeTime = ped will flee for this amount of time, set to \"-1\" to flee forever", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "fleeTarget" + }, + { + "type": "float", + "name": "safeDistance" + }, + { + "type": "int", + "name": "fleeTime" + }, + { + "type": "BOOL", + "name": "preferPavements" + }, + { + "type": "BOOL", + "name": "updateToNearestHatedPed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x72C896464915D1B1": { + "name": "TASK_REACT_AND_FLEE_PED", + "jhash": "0x8A632BD8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "fleeTarget" + } + ], + "return_type": "void", + "build": "323" + }, + "0x452419CBD838065B": { + "name": "TASK_SHOCKING_EVENT_REACT", + "jhash": "0x9BD00ACF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "eventHandle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE054346CA3A0F315": { + "name": "TASK_WANDER_IN_AREA", + "jhash": "0xC6981FB9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "minimalLength" + }, + { + "type": "float", + "name": "timeBetweenWalks" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBB9CE077274F6A1B": { + "name": "TASK_WANDER_STANDARD", + "jhash": "0xAF59151A", + "comment": "Makes ped walk around the area.\n\nset p1 to 10.0f and p2 to 10 if you want the ped to walk anywhere without a duration.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6919A2F136426098": { + "name": "TASK_WANDER_SPECIFIC", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "conditionalAnimGroupStr" + }, + { + "type": "const char*", + "name": "conditionalAnimStr" + }, + { + "type": "float", + "name": "heading" + } + ], + "return_type": "void", + "build": "1868" + }, + "0x0F3E34E968EA374E": { + "name": "TASK_VEHICLE_PARK", + "jhash": "0x5C85FF90", + "comment": "Modes:\n0 - ignore heading\n1 - park forward\n2 - park backwards\n\nDepending on the angle of approach, the vehicle can park at the specified heading or at its exact opposite (-180) angle.\n\nRadius 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "int", + "name": "mode" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "keepEngineOn" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA5DC05579D60BD9": { + "name": "TASK_STEALTH_KILL", + "jhash": "0x0D64C2FA", + "comment": "known \"killTypes\" are: \"AR_stealth_kill_knife\" and \"AR_stealth_kill_a\".", + "params": [ + { + "type": "Ped", + "name": "killer" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "Hash", + "name": "stealthKillActionResultHash" + }, + { + "type": "float", + "name": "desiredMoveBlendRatio" + }, + { + "type": "int", + "name": "stealthFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x965FEC691D55E9BF": { + "name": "TASK_PLANT_BOMB", + "jhash": "0x33457535", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + } + ], + "return_type": "void", + "build": "323" + }, + "0x15D3A79D4E44B913": { + "name": "TASK_FOLLOW_NAV_MESH_TO_COORD", + "jhash": "0xFE4A10D9", + "comment": "If no timeout, set timeout to -1.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "float", + "name": "targetRadius" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "float", + "name": "targetHeading" + } + ], + "return_type": "void", + "build": "323" + }, + "0x17F58B88D085DBAC": { + "name": "TASK_FOLLOW_NAV_MESH_TO_COORD_ADVANCED", + "jhash": "0x6BF6E296", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "float", + "name": "targetRadius" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "float", + "name": "slideToCoordHeading" + }, + { + "type": "float", + "name": "maxSlopeNavigable" + }, + { + "type": "float", + "name": "clampMaxSearchDistance" + }, + { + "type": "float", + "name": "targetHeading" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8E06A6FE76C9EFF4": { + "name": "SET_PED_PATH_CAN_USE_CLIMBOVERS", + "jhash": "0xB7B7D442", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "Toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x77A5B103C87F476E": { + "name": "SET_PED_PATH_CAN_USE_LADDERS", + "jhash": "0x53A879EE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "Toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE361C5C71C431A4F": { + "name": "SET_PED_PATH_CAN_DROP_FROM_HEIGHT", + "jhash": "0x394B7AC9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "Toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x88E32DB8C1A4AA4B": { + "name": "SET_PED_PATH_CLIMB_COST_MODIFIER", + "jhash": "0x55E06443", + "comment": "Default modifier is 1.0, minimum is 0.0 and maximum is 10.0.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "modifier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF35425A4204367EC": { + "name": "SET_PED_PATH_MAY_ENTER_WATER", + "jhash": "0x9C606EE3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "mayEnterWater" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_PED_PATHS_WIDTH_PLANT" + ] + }, + "0x38FE1EC73743793C": { + "name": "SET_PED_PATH_PREFER_TO_AVOID_WATER", + "jhash": "0x0EA39A29", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "avoidWater" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4455517B28441E60": { + "name": "SET_PED_PATH_AVOID_FIRE", + "jhash": "0xDCC5B934", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "avoidFire" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6C6B148586F934F7": { + "name": "SET_GLOBAL_MIN_BIRD_FLIGHT_HEIGHT", + "jhash": "0x2AFB14B8", + "comment": "Needs to be looped! And yes, it does work and is not a hash collision.\nBirds will try to reach the given height.", + "params": [ + { + "type": "float", + "name": "height" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC6F5C0BCDC74D62D": { + "name": "GET_NAVMESH_ROUTE_DISTANCE_REMAINING", + "jhash": "0xD9281778", + "comment": "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.\nReturn value of native is the same as GET_NAVMESH_ROUTE_RESULT\nLooks like the native returns an int for the path's state:\n1 - ???\n2 - ???\n3 - Finished Generating ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float*", + "name": "distanceRemaining" + }, + { + "type": "BOOL*", + "name": "isPathReady" + } + ], + "return_type": "int", + "build": "323" + }, + "0x632E831F382A0FA8": { + "name": "GET_NAVMESH_ROUTE_RESULT", + "jhash": "0x96491602", + "comment": "See GET_NAVMESH_ROUTE_DISTANCE_REMAINING for more details.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0x3E38E28A1D80DDF6": { + "name": "IS_CONTROLLED_VEHICLE_UNABLE_TO_GET_TO_ROAD", + "jhash": "0x54856309", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5BC448CB78FA3E88": { + "name": "TASK_GO_TO_COORD_ANY_MEANS", + "jhash": "0xF91DF93B", + "comment": "example from fm_mission_controller\n\nTASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);\n ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "useLongRangeVehiclePathing" + }, + { + "type": "int", + "name": "drivingFlags" + }, + { + "type": "float", + "name": "maxRangeToShootTargets" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1DD45F9ECFDB1BC9": { + "name": "TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS", + "jhash": "0x094B75EF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "useLongRangeVehiclePathing" + }, + { + "type": "int", + "name": "drivingFlags" + }, + { + "type": "float", + "name": "maxRangeToShootTargets" + }, + { + "type": "float", + "name": "extraVehToTargetDistToPreferVehicle" + }, + { + "type": "float", + "name": "driveStraightLineDistance" + }, + { + "type": "int", + "name": "extraFlags" + }, + { + "type": "float", + "name": "warpTimerMS" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB8ECD61F531A7B02": { + "name": "TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS_WITH_CRUISE_SPEED", + "jhash": "0x86DC03F9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "useLongRangeVehiclePathing" + }, + { + "type": "int", + "name": "drivingFlags" + }, + { + "type": "float", + "name": "maxRangeToShootTargets" + }, + { + "type": "float", + "name": "extraVehToTargetDistToPreferVehicle" + }, + { + "type": "float", + "name": "driveStraightLineDistance" + }, + { + "type": "int", + "name": "extraFlags" + }, + { + "type": "float", + "name": "cruiseSpeed" + }, + { + "type": "float", + "name": "targetArriveDist" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEA47FE3719165B94": { + "name": "TASK_PLAY_ANIM", + "jhash": "0x5AB552C6", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json\n\nfloat speed > normal speed is 8.0f\n----------------------\n\nfloat speedMultiplier > multiply the playback speed\n----------------------\n\nint duration: time in millisecond\n----------------------\n-1 _ _ _ _ _ _ _> Default (see flag)\n0 _ _ _ _ _ _ _ > Not play at all\nSmall value _ _ > Slow down animation speed\nOther _ _ _ _ _ > freeze player control until specific time (ms) has \n_ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be \n_ _ _ _ _ _ _ _ _ controllable.)\n\nint flag:\n----------------------\nenum eAnimationFlags\n{\n ANIM_FLAG_NORMAL = 0,\n ANIM_FLAG_REPEAT = 1,\n ANIM_FLAG_STOP_LAST_FRAME = 2,\n ANIM_FLAG_UPPERBODY = 16,\n ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,\n ANIM_FLAG_CANCELABLE = 120,\n};\nOdd number : loop infinitely\nEven number : Freeze at last frame\nMultiple of 4: Freeze at last frame but controllable\n\n01 to 15 > Full body\n10 to 31 > Upper body\n32 to 47 > Full body > Controllable\n48 to 63 > Upper body > Controllable\n...\n001 to 255 > Normal\n256 to 511 > Garbled\n...\n\nplaybackRate:\n\nvalues are between 0.0 and 1.0\n\n\nlockX: \n\n0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3\n> 1 for mini@sprunk\n \n\nlockY:\n\n0 in most cases \n1 for missfam5_yoga, missfra1mcs_2_crew_react\n\n\nlockZ: \n\n 0 for single player \n Can be 1 but only for MP ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDictionary" + }, + { + "type": "const char*", + "name": "animationName" + }, + { + "type": "float", + "name": "blendInSpeed" + }, + { + "type": "float", + "name": "blendOutSpeed" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "int", + "name": "flag" + }, + { + "type": "float", + "name": "playbackRate" + }, + { + "type": "BOOL", + "name": "lockX" + }, + { + "type": "BOOL", + "name": "lockY" + }, + { + "type": "BOOL", + "name": "lockZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0x83CDB10EA29B370B": { + "name": "TASK_PLAY_ANIM_ADVANCED", + "jhash": "0x3DDEB0E6", + "comment": "It's similar to TASK_PLAY_ANIM, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "float", + "name": "animEnterSpeed" + }, + { + "type": "float", + "name": "animExitSpeed" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "Any", + "name": "flag" + }, + { + "type": "float", + "name": "animTime" + }, + { + "type": "int", + "name": "rotOrder" + }, + { + "type": "int", + "name": "ikFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x97FF36A1D40EA00A": { + "name": "STOP_ANIM_TASK", + "jhash": "0x2B520A57", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "const char*", + "name": "animDictionary" + }, + { + "type": "const char*", + "name": "animationName" + }, + { + "type": "float", + "name": "blendDelta" + } + ], + "return_type": "void", + "build": "323" + }, + "0x126EF75F1E17ABE5": { + "name": "TASK_SCRIPTED_ANIMATION", + "jhash": "0xFC2DCF47", + "comment": "From fm_mission_controller.c:\nreserve_network_mission_objects(get_num_reserved_mission_objects(0) + 1);\n vVar28 = {0.094f, 0.02f, -0.005f};\n vVar29 = {-92.24f, 63.64f, 150.24f};\n func_253(&uVar30, joaat(\"prop_ld_case_01\"), Global_1592429.imm_34757[iParam1 <268>], 1, 1, 0, 1);\n set_entity_lod_dist(net_to_ent(uVar30), 500);\n attach_entity_to_entity(net_to_ent(uVar30), iParam0, get_ped_bone_index(iParam0, 28422), vVar28, vVar29, 1, 0, 0, 0, 2, 1);\n Var31.imm_4 = 1065353216;\n Var31.imm_5 = 1065353216;\n Var31.imm_9 = 1065353216;\n Var31.imm_10 = 1065353216;\n Var31.imm_14 = 1065353216;\n Var31.imm_15 = 1065353216;\n Var31.imm_17 = 1040187392;\n Var31.imm_18 = 1040187392;\n Var31.imm_19 = -1;\n Var32.imm_4 = 1065353216;\n Var32.imm_5 = 1065353216;\n Var32.imm_9 = 1065353216;\n Var32.imm_10 = 1065353216;\n Var32.imm_14 = 1065353216;\n Var32.imm_15 = 1065353216;\n Var32.imm_17 = 1040187392;\n Var32.imm_18 = 1040187392;\n Var32.imm_19 = -1;\n Var31 = 1;\n Var31.imm_1 = \"weapons@misc@jerrycan@mp_male\";\n Var31.imm_2 = \"idle\";\n Var31.imm_20 = 1048633;\n Var31.imm_4 = 0.5f;\n Var31.imm_16 = get_hash_key(\"BONEMASK_ARMONLY_R\");\n task_scripted_animation(iParam0, &Var31, &Var32, &Var32, 0f, 0.25f);\n set_model_as_no_longer_needed(joaat(\"prop_ld_case_01\"));\n remove_anim_dict(\"anim@heists@biolab@\");", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int*", + "name": "priorityLowData" + }, + { + "type": "int*", + "name": "priorityMidData" + }, + { + "type": "int*", + "name": "priorityHighData" + }, + { + "type": "float", + "name": "blendInDelta" + }, + { + "type": "float", + "name": "blendOutDelta" + } + ], + "return_type": "void", + "build": "323" + }, + "0x77A1EEC547E7FCF1": { + "name": "PLAY_ENTITY_SCRIPTED_ANIM", + "jhash": "0x02F72AE5", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int*", + "name": "priorityLowData" + }, + { + "type": "int*", + "name": "priorityMidData" + }, + { + "type": "int*", + "name": "priorityHighData" + }, + { + "type": "float", + "name": "blendInDelta" + }, + { + "type": "float", + "name": "blendOutDelta" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEE08C992D238C5D1": { + "name": "STOP_ANIM_PLAYBACK", + "jhash": "0xE5F16398", + "comment": "Looks like p1 may be a flag, still need to do some research, though.", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "priority" + }, + { + "type": "BOOL", + "name": "secondary" + } + ], + "return_type": "void", + "build": "323" + }, + "0x207F1A47C0342F48": { + "name": "SET_ANIM_WEIGHT", + "jhash": "0x17229D98", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "weight" + }, + { + "type": "int", + "name": "priority" + }, + { + "type": "int", + "name": "index" + }, + { + "type": "BOOL", + "name": "secondary" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDDF3CB5A0A4C0B49": { + "name": "SET_ANIM_PHASE", + "jhash": "0xB621E7E4", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "phase" + }, + { + "type": "int", + "name": "priority" + }, + { + "type": "BOOL", + "name": "secondary" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_ANIM_PLAYBACK_TIME" + ] + }, + "0x032D49C5E359C847": { + "name": "SET_ANIM_RATE", + "jhash": "0x6DB46584", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "rate" + }, + { + "type": "int", + "name": "priority" + }, + { + "type": "BOOL", + "name": "secondary" + } + ], + "return_type": "void", + "build": "323" + }, + "0x70033C3CC29A1FF4": { + "name": "SET_ANIM_LOOPED", + "jhash": "0x095D61A4", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "BOOL", + "name": "looped" + }, + { + "type": "int", + "name": "priority" + }, + { + "type": "BOOL", + "name": "secondary" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8FBB6758B3B3E9EC": { + "name": "TASK_PLAY_PHONE_GESTURE_ANIMATION", + "jhash": "0x1582162C", + "comment": "Example from the scripts:\nTASK::TASK_PLAY_PHONE_GESTURE_ANIMATION(PLAYER::PLAYER_PED_ID(), v_3, v_2, v_4, 0.25, 0.25, 0, 0);\n\n=========================================================\n^^ No offense, but Idk how that would really help anyone.\n\nAs for the animDict & animation, they're both store in a global in all 5 scripts. So if anyone would be so kind as to read that global and comment what strings they use. Thanks.\n\nKnown boneMaskTypes'\n\"BONEMASK_HEADONLY\"\n\"BONEMASK_HEAD_NECK_AND_ARMS\"\n\"BONEMASK_HEAD_NECK_AND_L_ARM\"\n\"BONEMASK_HEAD_NECK_AND_R_ARM\"\n\np4 known args - 0.0f, 0.5f, 0.25f\np5 known args - 0.0f, 0.25f\np6 known args - 1 if a global if check is passed.\np7 known args - 1 if a global if check is passed.\n\nThe values found above, I found within the 5 scripts this is ever called in. (fmmc_launcher, fm_deathmatch_controller, fm_impromptu_dm_controller, fm_mission_controller, and freemode).\n=========================================================\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animation" + }, + { + "type": "const char*", + "name": "boneMaskType" + }, + { + "type": "float", + "name": "blendInDuration" + }, + { + "type": "float", + "name": "blendOutDuration" + }, + { + "type": "BOOL", + "name": "isLooping" + }, + { + "type": "BOOL", + "name": "holdLastFrame" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3FA00D4F4641BFAE": { + "name": "TASK_STOP_PHONE_GESTURE_ANIMATION", + "jhash": "0x5A32D4B4", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "blendOutOverride" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_TASK_STOP_PHONE_GESTURE_ANIMATION" + ] + }, + "0xB8EBB1E9D3588C10": { + "name": "IS_PLAYING_PHONE_GESTURE_ANIM", + "jhash": "0x500B6805", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x47619ABE8B268C60": { + "name": "GET_PHONE_GESTURE_ANIM_CURRENT_TIME", + "jhash": "0x7B72AFD1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "float", + "build": "323" + }, + "0x1EE0F68A7C25DEC6": { + "name": "GET_PHONE_GESTURE_ANIM_TOTAL_TIME", + "jhash": "0xEF8C3959", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "float", + "build": "323" + }, + "0x69F5C3BD0F3EBD89": { + "name": "TASK_VEHICLE_PLAY_ANIM", + "jhash": "0x2B28F598", + "comment": "Most probably plays a specific animation on vehicle. For example getting chop out of van etc...\n\nHere's how its used - \n\nTASK::TASK_VEHICLE_PLAY_ANIM(l_325, \"rcmnigel1b\", \"idle_speedo\");\n\nTASK::TASK_VEHICLE_PLAY_ANIM(l_556[0/*1*/], \"missfra0_chop_drhome\", \"InCar_GetOutofBack_Speedo\");\n\nFYI : Speedo is the name of van in which chop was put in the mission.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "const char*", + "name": "animationSet" + }, + { + "type": "const char*", + "name": "animationName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6FA46612594F7973": { + "name": "TASK_LOOK_AT_COORD", + "jhash": "0x7B784DD8", + "comment": "enum eScriptLookatFlags\n{\n\tSLF_SLOW_TURN_RATE = 1, // turn the head toward the target slowly\n\tSLF_FAST_TURN_RATE = 2, // turn the head toward the target quickly\n\tSLF_EXTEND_YAW_LIMIT = 4, // wide yaw head limits\n\tSLF_EXTEND_PITCH_LIMIT = 8, // wide pitch head limit\n\tSLF_WIDEST_YAW_LIMIT = 16, // widest yaw head limit\n\tSLF_WIDEST_PITCH_LIMIT = 32, // widest pitch head limit\n\tSLF_NARROW_YAW_LIMIT = 64, // narrow yaw head limits\n\tSLF_NARROW_PITCH_LIMIT = 128, // narrow pitch head limit\n\tSLF_NARROWEST_YAW_LIMIT = 256, // narrowest yaw head limit\n\tSLF_NARROWEST_PITCH_LIMIT = 512, // narrowest pitch head limit\n\tSLF_USE_TORSO = 1024, // use the torso aswell as the neck and head (currently disabled)\n\tSLF_WHILE_NOT_IN_FOV = 2048, // keep tracking the target even if they are not in the hard coded FOV\n\tSLF_USE_CAMERA_FOCUS = 4096, // use the camera as the target\n\tSLF_USE_EYES_ONLY = 8192, // only track the target with the eyes \n\tSLF_USE_LOOK_DIR = 16384, // use information in look dir DOF\n\tSLF_FROM_SCRIPT = 32768, // internal use only\n\tSLF_USE_REF_DIR_ABSOLUTE = 65536 // use absolute reference direction mode for solver\n};", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "int", + "name": "priority" + } + ], + "return_type": "void", + "build": "323" + }, + "0x69F4BE8C8CC4796C": { + "name": "TASK_LOOK_AT_ENTITY", + "jhash": "0x991D6619", + "comment": "For flags, please refer to TASK_LOOK_AT_COORD.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "lookAt" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "int", + "name": "priority" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0F804F1DB19B9689": { + "name": "TASK_CLEAR_LOOK_AT", + "jhash": "0x60EB4054", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE8854A4326B9E12B": { + "name": "OPEN_SEQUENCE_TASK", + "jhash": "0xABA6923E", + "comment": "", + "params": [ + { + "type": "int*", + "name": "taskSequenceId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x39E72BC99E6360CB": { + "name": "CLOSE_SEQUENCE_TASK", + "jhash": "0x1A7CEBD0", + "comment": "", + "params": [ + { + "type": "int", + "name": "taskSequenceId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5ABA3986D90D8A3B": { + "name": "TASK_PERFORM_SEQUENCE", + "jhash": "0x4D9FBD11", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "taskSequenceId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8C33220C8D78CA0D": { + "name": "TASK_PERFORM_SEQUENCE_LOCALLY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "taskSequenceId" + } + ], + "return_type": "void", + "build": "944" + }, + "0x3841422E9C488D8C": { + "name": "CLEAR_SEQUENCE_TASK", + "jhash": "0x47ED03CE", + "comment": "", + "params": [ + { + "type": "int*", + "name": "taskSequenceId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x58C70CF3A41E4AE7": { + "name": "SET_SEQUENCE_TO_REPEAT", + "jhash": "0xCDDF1508", + "comment": "", + "params": [ + { + "type": "int", + "name": "taskSequenceId" + }, + { + "type": "BOOL", + "name": "repeat" + } + ], + "return_type": "void", + "build": "323" + }, + "0x00A9010CFE1E3533": { + "name": "GET_SEQUENCE_PROGRESS", + "jhash": "0xA3419909", + "comment": "returned values:\n0 to 7 = task that's currently in progress, 0 meaning the first one.\n-1 no task sequence in progress.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xB0760331C7AA4155": { + "name": "GET_IS_TASK_ACTIVE", + "jhash": "0x86FDDF55", + "comment": "Task index enum: https://alloc8or.re/gta5/doc/enums/eTaskTypeIndex.txt", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "taskIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x77F1BEB8863288D5": { + "name": "GET_SCRIPT_TASK_STATUS", + "jhash": "0xB2477B23", + "comment": "Gets the status of a script-assigned task.\ntaskHash: https://alloc8or.re/gta5/doc/enums/eScriptTaskHash.txt", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "taskHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x534AEBA6E5ED4CAB": { + "name": "GET_ACTIVE_VEHICLE_MISSION_TYPE", + "jhash": "0xAFA914EF", + "comment": "https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x504D54DF3F6F2247": { + "name": "TASK_LEAVE_ANY_VEHICLE", + "jhash": "0xDBDD79FA", + "comment": "Flags are the same flags used in TASK_LEAVE_VEHICLE", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "delayTime" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7A192BE16D373D00": { + "name": "TASK_AIM_GUN_SCRIPTED", + "jhash": "0x9D296BCD", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "scriptTask" + }, + { + "type": "BOOL", + "name": "disableBlockingClip" + }, + { + "type": "BOOL", + "name": "instantBlendToAim" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8605AF0DE8B3A5AC": { + "name": "TASK_AIM_GUN_SCRIPTED_WITH_TARGET", + "jhash": "0xFD517CE3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "gunTaskType" + }, + { + "type": "BOOL", + "name": "disableBlockingClip" + }, + { + "type": "BOOL", + "name": "forceAim" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9724FB59A3E72AD0": { + "name": "UPDATE_TASK_AIM_GUN_SCRIPTED_TARGET", + "jhash": "0x67E73525", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "disableBlockingClip" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3A8CADC7D37AACC5": { + "name": "GET_CLIP_SET_FOR_SCRIPTED_GUN_TASK", + "jhash": "0x249EB4EB", + "comment": "", + "params": [ + { + "type": "int", + "name": "gunTaskType" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x9B53BB6E8943AF53": { + "name": "TASK_AIM_GUN_AT_ENTITY", + "jhash": "0xBE32B3B6", + "comment": "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", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "BOOL", + "name": "instantBlendToAim" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5AD23D40115353AC": { + "name": "TASK_TURN_PED_TO_FACE_ENTITY", + "jhash": "0x3C37C767", + "comment": "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", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6671F3EEC681BDA1": { + "name": "TASK_AIM_GUN_AT_COORD", + "jhash": "0xFBF44AD3", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "BOOL", + "name": "instantBlendToAim" + }, + { + "type": "BOOL", + "name": "playAnimIntro" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46A6CC01E0826106": { + "name": "TASK_SHOOT_AT_COORD", + "jhash": "0x601C22E3", + "comment": "Firing Pattern Hash Information: https://pastebin.com/Px036isB", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "Hash", + "name": "firingPattern" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7AA80209BDA643EB": { + "name": "TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT", + "jhash": "0xBEAF8F67", + "comment": "Makes the specified ped shuffle to the next vehicle seat.\nThe ped MUST be in a vehicle and the vehicle parameter MUST be the ped's current vehicle.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "useAlternateShuffle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE1EF3C1216AFF2CD": { + "name": "CLEAR_PED_TASKS", + "jhash": "0xDE3316AB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x176CECF6F920D707": { + "name": "CLEAR_PED_SECONDARY_TASK", + "jhash": "0xA635F451", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7F93691AB4B92272": { + "name": "TASK_EVERYONE_LEAVE_VEHICLE", + "jhash": "0xC1971F30", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE39B4FF4FDEBDE27": { + "name": "TASK_GOTO_ENTITY_OFFSET", + "jhash": "0x1A17A85E", + "comment": "enum ESEEK_ENTITY_OFFSET_FLAGS\n{\n\tESEEK_OFFSET_ORIENTATES_WITH_ENTITY = 0x01,\n\tESEEK_KEEP_TO_PAVEMENTS = 0x02\n};", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "float", + "name": "seekRadius" + }, + { + "type": "float", + "name": "seekAngleDeg" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "int", + "name": "gotoEntityOffsetFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x338E7EF52B6095A9": { + "name": "TASK_GOTO_ENTITY_OFFSET_XY", + "jhash": "0xBC1E3D0A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "float", + "name": "targetRadius" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "int", + "name": "gotoEntityOffsetFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1DDA930A0AC38571": { + "name": "TASK_TURN_PED_TO_FACE_COORD", + "jhash": "0x30463D73", + "comment": "duration in milliseconds", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC429DCEEB339E129": { + "name": "TASK_VEHICLE_TEMP_ACTION", + "jhash": "0x0679DFB8", + "comment": "'1 - brake\n'3 - brake + reverse\n'4 - turn left 90 + braking\n'5 - turn right 90 + braking\n'6 - brake strong (handbrake?) until time ends\n'7 - turn left + accelerate\n'8 - turn right + accelerate\n'9 - weak acceleration\n'10 - turn left + restore wheel pos to center in the end\n'11 - turn right + restore wheel pos to center in the end\n'13 - turn left + go reverse\n'14 - turn left + go reverse\n'16 - crash the game after like 2 seconds :)\n'17 - keep actual state, game crashed after few tries\n'18 - game crash\n'19 - strong brake + turn left/right\n'20 - weak brake + turn left then turn right\n'21 - weak brake + turn right then turn left\n'22 - brake + reverse\n'23 - accelerate fast\n'24 - brake\n'25 - brake turning left then when almost stopping it turns left more\n'26 - brake turning right then when almost stopping it turns right more\n'27 - brake until car stop or until time ends\n'28 - brake + strong reverse acceleration\n'30 - performs a burnout (brake until stop + brake and accelerate)\n'31 - accelerate + handbrake\n'32 - accelerate very strong\n\nSeems to be this:\nWorks 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", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "action" + }, + { + "type": "int", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0x659427E0EF36BCDE": { + "name": "TASK_VEHICLE_MISSION", + "jhash": "0x20609E56", + "comment": "missionType: https://alloc8or.re/gta5/doc/enums/eVehicleMissionType.txt", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle", + "name": "vehicleTarget" + }, + { + "type": "int", + "name": "missionType" + }, + { + "type": "float", + "name": "cruiseSpeed" + }, + { + "type": "int", + "name": "drivingStyle" + }, + { + "type": "float", + "name": "targetReached" + }, + { + "type": "float", + "name": "straightLineDistance" + }, + { + "type": "BOOL", + "name": "DriveAgainstTraffic" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9454528DF15D657A": { + "name": "TASK_VEHICLE_MISSION_PED_TARGET", + "jhash": "0xC81C4677", + "comment": "See TASK_VEHICLE_MISSION", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Ped", + "name": "pedTarget" + }, + { + "type": "int", + "name": "missionType" + }, + { + "type": "float", + "name": "maxSpeed" + }, + { + "type": "int", + "name": "drivingStyle" + }, + { + "type": "float", + "name": "minDistance" + }, + { + "type": "float", + "name": "straightLineDistance" + }, + { + "type": "BOOL", + "name": "DriveAgainstTraffic" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF0AF20AA7731F8C3": { + "name": "TASK_VEHICLE_MISSION_COORS_TARGET", + "jhash": "0x6719C109", + "comment": "See TASK_VEHICLE_MISSION", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "mission" + }, + { + "type": "float", + "name": "cruiseSpeed" + }, + { + "type": "int", + "name": "drivingStyle" + }, + { + "type": "float", + "name": "targetReached" + }, + { + "type": "float", + "name": "straightLineDistance" + }, + { + "type": "BOOL", + "name": "DriveAgainstTraffic" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0FA6E4B75F302400": { + "name": "TASK_VEHICLE_ESCORT", + "jhash": "0x9FDCB250", + "comment": "Makes a ped follow the targetVehicle with in between.\n\nnote: minDistance is ignored if drivingstyle is avoiding traffic, but Rushed is fine.\n\nMode: The mode defines the relative position to the targetVehicle. The ped will try to position its vehicle there.\n-1 = behind\n0 = ahead\n1 = left\n2 = right\n3 = back left\n4 = back right\n\nif the target is closer than noRoadsDistance, the driver will ignore pathing/roads and follow you directly.\n\nDriving Styles guide: gtaforums.com/topic/822314-guide-driving-styles/", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle", + "name": "targetVehicle" + }, + { + "type": "int", + "name": "mode" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "drivingStyle" + }, + { + "type": "float", + "name": "minDistance" + }, + { + "type": "int", + "name": "minHeightAboveTerrain" + }, + { + "type": "float", + "name": "noRoadsDistance" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFC545A9F0626E3B6": { + "name": "TASK_VEHICLE_FOLLOW", + "jhash": "0xA8B917D7", + "comment": "Makes a ped in a vehicle follow an entity (ped, vehicle, etc.)\n\ndrivingStyle: http://gtaforums.com/topic/822314-guide-driving-styles/", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Entity", + "name": "targetEntity" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "drivingStyle" + }, + { + "type": "int", + "name": "minDistance" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_TASK_VEHICLE_FOLLOW" + ] + }, + "0x3C08A8E30363B353": { + "name": "TASK_VEHICLE_CHASE", + "jhash": "0x55634798", + "comment": "chases targetEnt fast and aggressively\n--\nMakes ped (needs to be in vehicle) chase targetEnt.", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "Entity", + "name": "targetEnt" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1E09C32048FEFD1C": { + "name": "TASK_VEHICLE_HELI_PROTECT", + "jhash": "0x0CB415EE", + "comment": "pilot, vehicle and altitude are rather self-explanatory.\n\np4: is unused variable in the function.\n\nentityToFollow: you can provide a Vehicle entity or a Ped entity, the heli will protect them.\n\n'targetSpeed': The pilot will dip the nose AS MUCH AS POSSIBLE so as to reach this value AS FAST AS POSSIBLE. As such, you'll want to modulate it as opposed to calling it via a hard-wired, constant #.\n\n'radius' isn't just \"stop within radius of X of target\" like with ground vehicles. In this case, the pilot will fly an entire circle around 'radius' and continue to do so.\n\nNOT CONFIRMED: p7 appears to be a FlyingStyle enum. Still investigating it as of this writing, but playing around with values here appears to result in different -behavior- as opposed to offsetting coordinates, altitude, target speed, etc.\n\nNOTE: If the pilot finds enemies, it will engage them until it kills them, but will return to protect the ped/vehicle given shortly thereafter.", + "params": [ + { + "type": "Ped", + "name": "pilot" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Entity", + "name": "entityToFollow" + }, + { + "type": "float", + "name": "targetSpeed" + }, + { + "type": "int", + "name": "drivingFlags" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "altitude" + }, + { + "type": "int", + "name": "heliFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCC665AAC360D31E7": { + "name": "SET_TASK_VEHICLE_CHASE_BEHAVIOR_FLAG", + "jhash": "0x2A83083F", + "comment": "Flag 8: Medium-aggressive boxing tactic with a bit of PIT\nFlag 1: Aggressive ramming of suspect\nFlag 2: Ram attempts\nFlag 32: Stay back from suspect, no tactical contact. Convoy-like.\nFlag 16: Ramming, seems to be slightly less aggressive than 1-2.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "flag" + }, + { + "type": "BOOL", + "name": "set" + } + ], + "return_type": "void", + "build": "323" + }, + "0x639B642FACBE4EDD": { + "name": "SET_TASK_VEHICLE_CHASE_IDEAL_PURSUIT_DISTANCE", + "jhash": "0x04FD3EE7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "distance" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAC83B1DB38D0ADA0": { + "name": "TASK_HELI_CHASE", + "jhash": "0xAC290A21", + "comment": "Ped pilot should be in a heli.\nEntityToFollow can be a vehicle or Ped.\n\nx,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)\n\n\nNOTE: If the pilot finds enemies, it will engage them, then remain there idle, not continuing to chase the Entity given.", + "params": [ + { + "type": "Ped", + "name": "pilot" + }, + { + "type": "Entity", + "name": "entityToFollow" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2D2386F273FF7A25": { + "name": "TASK_PLANE_CHASE", + "jhash": "0x12FA1C28", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "pilot" + }, + { + "type": "Entity", + "name": "entityToFollow" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBF19721FA34D32C0": { + "name": "TASK_PLANE_LAND", + "jhash": "0x5F7E23EA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "pilot" + }, + { + "type": "Vehicle", + "name": "plane" + }, + { + "type": "float", + "name": "runwayStartX" + }, + { + "type": "float", + "name": "runwayStartY" + }, + { + "type": "float", + "name": "runwayStartZ" + }, + { + "type": "float", + "name": "runwayEndX" + }, + { + "type": "float", + "name": "runwayEndY" + }, + { + "type": "float", + "name": "runwayEndZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6100B3CEFD43452E": { + "name": "CLEAR_DEFAULT_PRIMARY_TASK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "2189" + }, + "0xDBBC7A2432524127": { + "name": "CLEAR_PRIMARY_VEHICLE_TASK", + "jhash": "", + "comment": "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.\nIt 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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_CLEAR_VEHICLE_TASKS" + ] + }, + "0x53DDC75BC3AC0A90": { + "name": "CLEAR_VEHICLE_CRASH_TASK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xF7F9DCCA89E7505B": { + "name": "TASK_PLANE_GOTO_PRECISE_VTOL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "flightHeight" + }, + { + "type": "int", + "name": "minHeightAboveTerrain" + }, + { + "type": "BOOL", + "name": "useDesiredOrientation" + }, + { + "type": "float", + "name": "desiredOrientation" + }, + { + "type": "BOOL", + "name": "autopilot" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xC22B40579A498CA4": { + "name": "TASK_SUBMARINE_GOTO_AND_STOP", + "jhash": "", + "comment": "Used in am_vehicle_spawn.ysc and am_mp_submarine.ysc.\n\np0 is always 0, p5 is always 1\n\np1 is the vehicle handle of the submarine. Submarine must have a driver, but the ped handle is not passed to the native.\n\nSpeed can be set by calling SET_DRIVE_TASK_CRUISE_SPEED after", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "submarine" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "autopilot" + } + ], + "return_type": "void", + "build": "2189" + }, + "0xDAD029E187A2BEB4": { + "name": "TASK_HELI_MISSION", + "jhash": "0x0C143E97", + "comment": "Must have targetVehicle, targetPed, OR destination X/Y/Z set\nWill follow targeted vehicle/ped, or fly to destination\nSet whichever is not being used to 0\n\n\nMission mode type:\n - 4, 7: Forces heli to snap to the heading if set, flies to destination or tracks specified entity (mode 4 only works for coordinates, 7 works for coordinates OR ped/vehicle)\n - 6: Attacks the target ped/vehicle with mounted weapons. If radius is set, will maintain that distance from target.\n - 8: Makes the heli flee from the ped/vehicle/coordinate\n - 9: Circles around target ped/vehicle, snaps to angle if set. Behavior flag (last parameter) of 2048 switches from counter-clockwise to clockwise circling. Does not work with coordinate destination.\n - 10, 11: Follows ped/vehicle target and imitates target heading. Only works with ped/vehicle target, not coord target\n - 19: Heli lands at specified coordinate, ignores heading (lands facing whatever direction it is facing when the task is started)\n - 20: Makes the heli land when near target ped. It won't resume chasing.\n - 21: Emulates a helicopter crash\n - 23: makes the heli circle erratically around ped\n\n\nHeli will fly at maxSpeed (up to actual maximum speed defined by the model's handling config)\nYou can use SET_DRIVE_TASK_CRUISE_SPEED to modulate the speed based on distance to the target without having to re-invoke the task native. Setting to 8.0 when close to the destination results in a much smoother approach.\n\nIf minHeight and maxHeight are set, heli will fly between those specified elevations, relative to ground level and any obstructions/buildings below. You can specify -1 for either if you only want to specify one. Usually it is easiest to leave maxHeight at -1, and specify a reasonable minHeight to ensure clearance over any obstacles. Note this MUST be passed as an INT, not a FLOAT. \n\nRadius affects how closely the heli will follow tracked ped/vehicle, and when circling (mission type 9) sets the radius (in meters) that it will circle the target from\n\nHeading is -1.0 for default behavior, which will point the nose of the helicopter towards the destination. Set a heading and the heli will lock to that direction when near its destination/target, but may still turn towards the destination when flying at higher speed from a further distance.\n\nBehavior Flags is a bitwise value that modifies the AI behavior. Not clear what all flags do, but here are some guesses/notes:\n 1: Forces heading to face E\n 2: Unknown\n 4: Tight circles around coordinate destination\n 8: Unknown\n 16: Circles around coordinate destination facing towards destination\n 32: Flys to normally, then lands at coordinate destination and stays on the ground (using mission type 4)\n 64: Ignores obstacles when flying, will follow at specified minHeight above ground level but will not avoid buildings, vehicles, etc.\n 128: Unknown\n 256: Unknown\n 512: Unknown\n1024: Unknown \n2048: Reverses direction of circling (mission type 9) to clockwise\n4096: Hugs closer to the ground, maintains minHeight from ground generally, but barely clears buildings and dips down more between buildings instead of taking a more efficient/safe route\n8192: Unknown\n\nUnk3 is a float value, you may see -1082130432 for this value in decompiled native scripts, this is the equivalent to -1.0f. Seems to affect acceleration/aggressiveness, but not sure exactly how it works. Higher value seems to result in lower acceleration/less aggressive flying. Almost always -1.0 in native scripts, occasionally 20.0 or 50.0. Setting to 400.0 seems to work well for making the pilot not overshoot the destination when using coordinate destination.\n\nNotes updated by PNWParksFan, May 2021\n", + "params": [ + { + "type": "Ped", + "name": "pilot" + }, + { + "type": "Vehicle", + "name": "aircraft" + }, + { + "type": "Vehicle", + "name": "targetVehicle" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "float", + "name": "destinationX" + }, + { + "type": "float", + "name": "destinationY" + }, + { + "type": "float", + "name": "destinationZ" + }, + { + "type": "int", + "name": "missionFlag" + }, + { + "type": "float", + "name": "maxSpeed" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "targetHeading" + }, + { + "type": "int", + "name": "maxHeight" + }, + { + "type": "int", + "name": "minHeight" + }, + { + "type": "float", + "name": "slowDownDistance" + }, + { + "type": "int", + "name": "behaviorFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB385523325077210": { + "name": "TASK_HELI_ESCORT_HELI", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "pilot" + }, + { + "type": "Vehicle", + "name": "heli1" + }, + { + "type": "Vehicle", + "name": "heli2" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x23703CD154E83B88": { + "name": "TASK_PLANE_MISSION", + "jhash": "0x1D007E65", + "comment": "EXAMPLE USAGE:\n\nFly around target (Precautiously, keeps high altitude):\nFunction.Call(Hash.TASK_PLANE_MISSION, pilot, selectedAirplane, 0, 0, Target.X, Target.Y, Target.Z, 4, 100f, 0f, 90f, 0, 200f);\n\nFly around target (Dangerously, keeps VERY low altitude):\nFunction.Call(Hash.TASK_PLANE_MISSION, pilot, selectedAirplane, 0, 0, Target.X, Target.Y, Target.Z, 4, 100f, 0f, 90f, 0, -500f);\n\nFly directly into target:\nFunction.Call(Hash.TASK_PLANE_MISSION, pilot, selectedAirplane, 0, 0, Target.X, Target.Y, Target.Z, 4, 100f, 0f, 90f, 0, -5000f);\n\nEXPANDED INFORMATION FOR ADVANCED USAGE (custom pilot)\n\n'physicsSpeed': (THIS IS NOT YOUR ORDINARY SPEED PARAMETER: READ!!)\nThink of this -first- as a radius value, not a true speed value. The ACTUAL effective speed of the plane will be that of the maximum speed permissible to successfully fly in a -circle- with a radius of 'physicsSpeed'. This also means that the plane must complete a circle before it can begin its \"bombing run\", its straight line pass towards the target. p9 appears to influence the angle at which a \"bombing run\" begins, although I can't confirm yet.\n\nVERY IMPORTANT: A \"bombing run\" will only occur if a plane can successfully determine a possible navigable route (the slower the value of 'physicsSpeed', the more precise the pilot can be due to less influence of physics on flightpath). Otherwise, the pilot will continue to patrol around Destination (be it a dynamic Entity position vector or a fixed world coordinate vector.)\n\n0 = Plane's physics are almost entirely frozen, plane appears to \"orbit\" around precise destination point\n1-299 = Blend of \"frozen, small radius\" vs. normal vs. \"accelerated, hyperfast, large radius\"\n300+ = Vehicle behaves entirely like a normal gameplay plane.\n\n'patrolBlend' (The lower the value, the more the Destination is treated as a \"fly AT\" rather than a \"fly AROUND point\".)\n\nScenario: Destination is an Entity on ground level, wide open field\n-5000 = Pilot kamikazes directly into Entity\n-1000 = Pilot flies extremely low -around- Entity, very prone to crashing\n-200 = Pilot flies lower than average around Entity.\n0 = Pilot flies around Entity, normal altitude\n200 = Pilot flies an extra eighty units or so higher than 0 while flying around Destination (this doesn't seem to correlate directly into distance units.)\n\n-- Valid mission types found in the exe: --\n\n0 = None\n1 = Unk\n2 = CTaskVehicleRam\n3 = CTaskVehicleBlock\n4 = CTaskVehicleGoToPlane\n5 = CTaskVehicleStop\n6 = CTaskVehicleAttack\n7 = CTaskVehicleFollow\n8 = CTaskVehicleFleeAirborne\n9= CTaskVehicleCircle\n10 = CTaskVehicleEscort\n15 = CTaskVehicleFollowRecording\n16 = CTaskVehiclePoliceBehaviour\n17 = CTaskVehicleCrash", + "params": [ + { + "type": "Ped", + "name": "pilot" + }, + { + "type": "Vehicle", + "name": "aircraft" + }, + { + "type": "Vehicle", + "name": "targetVehicle" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "float", + "name": "destinationX" + }, + { + "type": "float", + "name": "destinationY" + }, + { + "type": "float", + "name": "destinationZ" + }, + { + "type": "int", + "name": "missionFlag" + }, + { + "type": "float", + "name": "angularDrag" + }, + { + "type": "float", + "name": "targetReached" + }, + { + "type": "float", + "name": "targetHeading" + }, + { + "type": "float", + "name": "maxZ" + }, + { + "type": "float", + "name": "minZ" + }, + { + "type": "BOOL", + "name": "precise" + } + ], + "return_type": "void", + "build": "323" + }, + "0x92C360B5F15D2302": { + "name": "TASK_PLANE_TAXI", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "pilot" + }, + { + "type": "Vehicle", + "name": "aircraft" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "cruiseSpeed" + }, + { + "type": "float", + "name": "targetReached" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x15C86013127CE63F": { + "name": "TASK_BOAT_MISSION", + "jhash": "0x5865B031", + "comment": "You need to call PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS after TASK_BOAT_MISSION in order for the task to execute.\n\nWorking example\nfloat vehicleMaxSpeed = VEHICLE::GET_VEHICLE_ESTIMATED_MAX_SPEED(ENTITY::GET_ENTITY_MODEL(pedVehicle));\nTASK::TASK_BOAT_MISSION(pedDriver, pedVehicle, 0, 0, waypointCoord.x, waypointCoord.y, waypointCoord.z, 4, vehicleMaxSpeed, 786469, -1.0, 7);\nPED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedDriver, 1);\n\nP8 appears to be driving style flag - see gtaforums.com/topic/822314-guide-driving-styles/ for documentation", + "params": [ + { + "type": "Ped", + "name": "pedDriver" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle", + "name": "targetVehicle" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "mission" + }, + { + "type": "float", + "name": "maxSpeed" + }, + { + "type": "int", + "name": "drivingStyle" + }, + { + "type": "float", + "name": "targetReached" + }, + { + "type": "Any", + "name": "boatFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2F8AF0E82773A171": { + "name": "TASK_DRIVE_BY", + "jhash": "0x2B84D1C4", + "comment": "Example:\n\nTASK::TASK_DRIVE_BY(l_467[1/*22*/], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});\n\n\n\n\nNeeds working example. Doesn't seem to do anything.\n\nI marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.\nI 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.\nI 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.", + "params": [ + { + "type": "Ped", + "name": "driverPed" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "Vehicle", + "name": "targetVehicle" + }, + { + "type": "float", + "name": "targetX" + }, + { + "type": "float", + "name": "targetY" + }, + { + "type": "float", + "name": "targetZ" + }, + { + "type": "float", + "name": "distanceToShoot" + }, + { + "type": "int", + "name": "pedAccuracy" + }, + { + "type": "BOOL", + "name": "pushUnderneathDrivingTaskIfDriving" + }, + { + "type": "Hash", + "name": "firingPattern" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE5B302114D8162EE": { + "name": "SET_DRIVEBY_TASK_TARGET", + "jhash": "0xDA6A6FC1", + "comment": "For p1 & p2 (Ped, Vehicle). I could be wrong, as the only time this native is called in scripts is once and both are 0, but I assume this native will work like SET_MOUNTED_WEAPON_TARGET in which has the same exact amount of parameters and the 1st and last 3 parameters are right and the same for both natives.", + "params": [ + { + "type": "Ped", + "name": "shootingPed" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "Vehicle", + "name": "targetVehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC35B5CDB2824CF69": { + "name": "CLEAR_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK", + "jhash": "0x9B76F7E6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8785E6E40C7A8818": { + "name": "IS_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK", + "jhash": "0xB23F46E6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDCFE42068FE0135A": { + "name": "CONTROL_MOUNTED_WEAPON", + "jhash": "0x500D9244", + "comment": "Forces the ped to use the mounted weapon.\nReturns false if task is not possible.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCCD892192C6D2BB9": { + "name": "SET_MOUNTED_WEAPON_TARGET", + "jhash": "0x98713C68", + "comment": "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.", + "params": [ + { + "type": "Ped", + "name": "shootingPed" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "Vehicle", + "name": "targetVehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "taskMode" + }, + { + "type": "BOOL", + "name": "ignoreTargetVehDeadCheck" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA320EF046186FA3B": { + "name": "IS_MOUNTED_WEAPON_TASK_UNDERNEATH_DRIVING_TASK", + "jhash": "0x291E938C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBD2A8EC3AF4DE7DB": { + "name": "TASK_USE_MOBILE_PHONE", + "jhash": "0x225A38C8", + "comment": "Actually has 3 params, not 2.\n\np0: Ped\np1: int (or bool?)\np2: int", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "usePhone" + }, + { + "type": "int", + "name": "desiredPhoneMode" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5EE02954A14C69DB": { + "name": "TASK_USE_MOBILE_PHONE_TIMED", + "jhash": "0xC99C19F5", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8C338E0263E4FD19": { + "name": "TASK_CHAT_TO_PED", + "jhash": "0xA2BE1821", + "comment": "p2 tend to be 16, 17 or 1\np3 to p7 tend to be 0.0", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "float", + "name": "goToLocationX" + }, + { + "type": "float", + "name": "goToLocationY" + }, + { + "type": "float", + "name": "goToLocationZ" + }, + { + "type": "float", + "name": "headingDegs" + }, + { + "type": "float", + "name": "idleTime" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9A7D091411C5F684": { + "name": "TASK_WARP_PED_INTO_VEHICLE", + "jhash": "0x65D4A35D", + "comment": "Seat Numbers\n-------------------------------\nDriver = -1\nAny = -2\nLeft-Rear = 1\nRight-Front = 0\nRight-Rear = 2\nExtra seats = 3-14(This may differ from vehicle type e.g. Firetruck Rear Stand, Ambulance Rear)", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seat" + } + ], + "return_type": "void", + "build": "323" + }, + "0x08DA95E8298AE772": { + "name": "TASK_SHOOT_AT_ENTITY", + "jhash": "0xAC0631C9", + "comment": "//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\nEntity aimedentity;\nPlayer player = PLAYER::PLAYER_ID();\nPLAYER::_GET_AIMED_ENTITY(player, &aimedentity);\n\n//bg is an array of peds\nTASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY(\"FIRING_PATTERN_FULL_AUTO\"));\n\nin practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.\n\nFiring Pattern Hash Information: https://pastebin.com/Px036isB", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Entity", + "name": "target" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "Hash", + "name": "firingPattern" + } + ], + "return_type": "void", + "build": "323" + }, + "0x89D9FCC2435112F1": { + "name": "TASK_CLIMB", + "jhash": "0x90847790", + "comment": "Climbs or vaults the nearest thing.\nusePlayerLaunchForce is unused.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "usePlayerLaunchForce" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB6C987F9285A3814": { + "name": "TASK_CLIMB_LADDER", + "jhash": "0x35BB4EE0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "fast" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEAF66ACDDC794793": { + "name": "TASK_RAPPEL_DOWN_WALL_USING_CLIPSET_OVERRIDE", + "jhash": "", + "comment": "Attaches a ped to a rope and allows player control to rappel down a wall. Disables all collisions while on the rope.\np10: 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 ADD_ROPE", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "float", + "name": "minZ" + }, + { + "type": "int", + "name": "ropeHandle" + }, + { + "type": "const char*", + "name": "clipSet" + }, + { + "type": "Any", + "name": "p10" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "TASK_RAPPEL_DOWN_WALL" + ] + }, + "0x9D252648778160DF": { + "name": "GET_TASK_RAPPEL_DOWN_WALL_STATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "1868" + }, + "0xAAA34F8A7CB32098": { + "name": "CLEAR_PED_TASKS_IMMEDIATELY", + "jhash": "0xBC045625", + "comment": "Immediately stops the pedestrian from whatever it's doing. They stop fighting, animations, etc. they forget what they were doing.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x89221B16730234F0": { + "name": "TASK_PERFORM_SEQUENCE_FROM_PROGRESS", + "jhash": "0xFA60601B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "taskIndex" + }, + { + "type": "int", + "name": "progress1" + }, + { + "type": "int", + "name": "progress2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF1B9F16E89E2C93A": { + "name": "SET_NEXT_DESIRED_MOVE_STATE", + "jhash": "0x4E937D57", + "comment": "This native does absolutely nothing, just a nullsub\n\nR* Comment:\nSET_NEXT_DESIRED_MOVE_STATE - Function is deprecated - do not use anymore", + "params": [ + { + "type": "float", + "name": "nextMoveState" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1E982AC8716912C5": { + "name": "SET_PED_DESIRED_MOVE_BLEND_RATIO", + "jhash": "0xC65FC712", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "newMoveBlendRatio" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8517D4A6CA8513ED": { + "name": "GET_PED_DESIRED_MOVE_BLEND_RATIO", + "jhash": "0x5FEFAB72", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "float", + "build": "323" + }, + "0xA9DA48FAB8A76C12": { + "name": "TASK_GOTO_ENTITY_AIMING", + "jhash": "0xF1C493CF", + "comment": "eg\n\n TASK::TASK_GOTO_ENTITY_AIMING(v_2, PLAYER::PLAYER_PED_ID(), 5.0, 25.0);\n\nped = Ped you want to perform this task.\ntarget = the Entity they should aim at.\ndistanceToStopAt = distance from the target, where the ped should stop to aim.\nStartAimingDist = distance where the ped should start to aim.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "target" + }, + { + "type": "float", + "name": "distanceToStopAt" + }, + { + "type": "float", + "name": "StartAimingDist" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB8517DDA73720DA": { + "name": "TASK_SET_DECISION_MAKER", + "jhash": "0x830AD50C", + "comment": "p1 is always GET_HASH_KEY(\"empty\") in scripts, for the rare times this is used", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "decisionMakerId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x933C06518B52A9A4": { + "name": "TASK_SET_SPHERE_DEFENSIVE_AREA", + "jhash": "0x9F3C5D6A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0x95A6C46A31D1917D": { + "name": "TASK_CLEAR_DEFENSIVE_AREA", + "jhash": "0x7A05BF0D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD04FE6765D990A06": { + "name": "TASK_PED_SLIDE_TO_COORD", + "jhash": "0x225380EF", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5A4A6A6D3DC64F52": { + "name": "TASK_PED_SLIDE_TO_COORD_HDG_RATE", + "jhash": "0x38A995C1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "float", + "name": "headingChangeRate" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD5C12A75C7B9497F": { + "name": "ADD_COVER_POINT", + "jhash": "0xA0AF0B98", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "direction" + }, + { + "type": "int", + "name": "usage" + }, + { + "type": "int", + "name": "height" + }, + { + "type": "int", + "name": "arc" + }, + { + "type": "BOOL", + "name": "isPriority" + } + ], + "return_type": "ScrHandle", + "build": "323" + }, + "0xAE287C923D891715": { + "name": "REMOVE_COVER_POINT", + "jhash": "0x0776888B", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "coverpoint" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA98B8E3C088E5A31": { + "name": "DOES_SCRIPTED_COVER_POINT_EXIST_AT_COORDS", + "jhash": "0x29F97A71", + "comment": "Checks if there is a cover point at position", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x594A1028FC2A3E85": { + "name": "GET_SCRIPTED_COVER_POINT_COORDS", + "jhash": "0xC6B6CCC1", + "comment": "", + "params": [ + { + "type": "ScrHandle", + "name": "coverpoint" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x28B7B9BFDAF274AA": { + "name": "ADD_SCRIPTED_COVER_AREA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_ADD_SCRIPTED_BLOCKING_AREA" + ] + }, + "0xF166E48407BAC484": { + "name": "TASK_COMBAT_PED", + "jhash": "0xCB0D8932", + "comment": "Makes the specified ped attack the target ped.\np2 should be 0\np3 should be 16", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "targetPed" + }, + { + "type": "int", + "name": "combatFlags" + }, + { + "type": "int", + "name": "threatResponseFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x944F30DCB7096BDE": { + "name": "TASK_COMBAT_PED_TIMED", + "jhash": "0xF5CA2A45", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x75AC2B60386D89F2": { + "name": "TASK_SEEK_COVER_FROM_POS", + "jhash": "0x83F18EE9", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "BOOL", + "name": "allowPeekingAndFiring" + } + ], + "return_type": "void", + "build": "323" + }, + "0x84D32B3BEC531324": { + "name": "TASK_SEEK_COVER_FROM_PED", + "jhash": "0xC1EC907E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "BOOL", + "name": "allowPeekingAndFiring" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD43D95C7A869447F": { + "name": "TASK_SEEK_COVER_TO_COVER_POINT", + "jhash": "0x3D026B29", + "comment": "p5 is always -1", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "ScrHandle", + "name": "coverpoint" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "BOOL", + "name": "allowPeekingAndFiring" + } + ], + "return_type": "void", + "build": "323" + }, + "0x39246A6958EF072C": { + "name": "TASK_SEEK_COVER_TO_COORDS", + "jhash": "0xFFFE754E", + "comment": "p8 causes the ped to take the shortest route to the cover position. It may have something to do with navmesh or pathfinding mechanics.\n\nfrom michael2:\nTASK::TASK_SEEK_COVER_TO_COORDS(ped, 967.5164794921875, -2121.603515625, 30.479299545288086, 978.94677734375, -2125.84130859375, 29.4752, -1, 1);\n\n\nappears to be shorter variation\nfrom michael3:\nTASK::TASK_SEEK_COVER_TO_COORDS(ped, -2231.011474609375, 263.6326599121094, 173.60195922851562, -1, 0);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "timeout" + }, + { + "type": "BOOL", + "name": "shortRoute" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4172393E6BE1FECE": { + "name": "TASK_PUT_PED_DIRECTLY_INTO_COVER", + "jhash": "0xC9F00E68", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "BOOL", + "name": "allowPeekingAndFiring" + }, + { + "type": "float", + "name": "blendInDuration" + }, + { + "type": "BOOL", + "name": "forceInitialFacingDirection" + }, + { + "type": "BOOL", + "name": "forceFaceLeft" + }, + { + "type": "int", + "name": "identifier" + }, + { + "type": "BOOL", + "name": "doEntry" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E01E9E8D89F8276": { + "name": "TASK_WARP_PED_DIRECTLY_INTO_COVER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "BOOL", + "name": "allowPeekingAndFiring" + }, + { + "type": "BOOL", + "name": "forceInitialFacingDirection" + }, + { + "type": "BOOL", + "name": "forceFaceLeft" + }, + { + "type": "int", + "name": "identifier" + } + ], + "return_type": "void", + "build": "2545" + }, + "0x79B258E397854D29": { + "name": "TASK_EXIT_COVER", + "jhash": "0xC829FAC9", + "comment": "p1 is 1, 2, or 3 in scripts", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "exitType" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1C6CD14A876FFE39": { + "name": "TASK_PUT_PED_DIRECTLY_INTO_MELEE", + "jhash": "0x79E1D27D", + "comment": "from armenian3.c4\n\nTASK::TASK_PUT_PED_DIRECTLY_INTO_MELEE(PlayerPed, armenianPed, 0.0, -1.0, 0.0, 0);\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "meleeTarget" + }, + { + "type": "float", + "name": "blendInDuration" + }, + { + "type": "float", + "name": "timeInMelee" + }, + { + "type": "float", + "name": "strafePhaseSync" + }, + { + "type": "int", + "name": "aiCombatFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAC96609B9995EDF8": { + "name": "TASK_TOGGLE_DUCK", + "jhash": "0x61CFBCBF", + "comment": "used in sequence task\n\nboth parameters seems to be always 0", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "toggleType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4A58A47A72E3FCB4": { + "name": "TASK_GUARD_CURRENT_POSITION", + "jhash": "0x2FB099E9", + "comment": "From re_prisonvanbreak:\n\nTASK::TASK_GUARD_CURRENT_POSITION(l_DD, 35.0, 35.0, 1);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "maxPatrolProximity" + }, + { + "type": "float", + "name": "defensiveAreaRadius" + }, + { + "type": "BOOL", + "name": "setDefensiveArea" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD2A207EEBDF9889B": { + "name": "TASK_GUARD_ASSIGNED_DEFENSIVE_AREA", + "jhash": "0x7AF0133D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "float", + "name": "maxPatrolProximity" + }, + { + "type": "int", + "name": "timer" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC946FE14BE0EB5E2": { + "name": "TASK_GUARD_SPHERE_DEFENSIVE_AREA", + "jhash": "0x86B76CB7", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "defendPositionX" + }, + { + "type": "float", + "name": "defendPositionY" + }, + { + "type": "float", + "name": "defendPositionZ" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "float", + "name": "maxPatrolProximity" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "defensiveAreaRadius" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAE032F8BBA959E90": { + "name": "TASK_STAND_GUARD", + "jhash": "0xD130F636", + "comment": "scenarioName example: \"WORLD_HUMAN_GUARD_STAND\"", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "const char*", + "name": "scenarioName" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5C9B84BD7D31D908": { + "name": "SET_DRIVE_TASK_CRUISE_SPEED", + "jhash": "0x3CEC07B1", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "float", + "name": "cruiseSpeed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x404A5AA9B9F0B746": { + "name": "SET_DRIVE_TASK_MAX_CRUISE_SPEED", + "jhash": "0x7FDF6131", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDACE1BE37D88AF67": { + "name": "SET_DRIVE_TASK_DRIVING_STYLE", + "jhash": "0x59C5FAD7", + "comment": "This native is used to set the driving style for specific ped.\n\nDriving styles id seems to be:\n786468\n262144\n786469\n\nhttp://gtaforums.com/topic/822314-guide-driving-styles/", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "drivingStyle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x45C597097DD7CB81": { + "name": "ADD_COVER_BLOCKING_AREA", + "jhash": "0x3536946F", + "comment": "", + "params": [ + { + "type": "float", + "name": "startX" + }, + { + "type": "float", + "name": "startY" + }, + { + "type": "float", + "name": "startZ" + }, + { + "type": "float", + "name": "endX" + }, + { + "type": "float", + "name": "endY" + }, + { + "type": "float", + "name": "endZ" + }, + { + "type": "BOOL", + "name": "blockObjects" + }, + { + "type": "BOOL", + "name": "blockVehicles" + }, + { + "type": "BOOL", + "name": "blockMap" + }, + { + "type": "BOOL", + "name": "blockPlayer" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDB6708C0B46F56D8": { + "name": "REMOVE_ALL_COVER_BLOCKING_AREAS", + "jhash": "0xCF9221A7", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xFA83CA6776038F64": { + "name": "REMOVE_COVER_BLOCKING_AREAS_AT_POSITION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_REMOVE_COVER_BLOCKING_AREAS_AT_COORD" + ] + }, + "0x1F351CF1C6475734": { + "name": "REMOVE_SPECIFIC_COVER_BLOCKING_AREAS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "startX" + }, + { + "type": "float", + "name": "startY" + }, + { + "type": "float", + "name": "startZ" + }, + { + "type": "float", + "name": "endX" + }, + { + "type": "float", + "name": "endY" + }, + { + "type": "float", + "name": "endZ" + }, + { + "type": "BOOL", + "name": "blockObjects" + }, + { + "type": "BOOL", + "name": "blockVehicles" + }, + { + "type": "BOOL", + "name": "blockMap" + }, + { + "type": "BOOL", + "name": "blockPlayer" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_REMOVE_SPECIFIC_COVER_BLOCKING_AREA" + ] + }, + "0x142A02425FF02BD9": { + "name": "TASK_START_SCENARIO_IN_PLACE", + "jhash": "0xE50D6DDE", + "comment": "Plays a scenario on a Ped at their current location.\n\nunkDelay - Usually 0 or -1, doesn't seem to have any effect. Might be a delay between sequences.\nplayEnterAnim - 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.\n\n----\n\nFrom \"am_hold_up.ysc.c4\" at line 339:\n\nTASK::TASK_START_SCENARIO_IN_PLACE(NETWORK::NET_TO_PED(l_8D._f4), sub_adf(), 0, 1);\n\nI'm unsure of what the last two parameters are, however sub_adf() randomly returns 1 of 3 scenarios, those being:\nWORLD_HUMAN_SMOKING\nWORLD_HUMAN_HANG_OUT_STREET\nWORLD_HUMAN_STAND_MOBILE\n\nThis makes sense, as these are what I commonly see when going by a liquor store.\n-------------------------\nList of scenarioNames: https://pastebin.com/6mrYTdQv\n(^ Thank you so fucking much for this)\n\nAlso these:\nWORLD_FISH_FLEE\nDRIVE\nWORLD_HUMAN_HIKER\nWORLD_VEHICLE_ATTRACTOR\nWORLD_VEHICLE_BICYCLE_MOUNTAIN\nWORLD_VEHICLE_BIKE_OFF_ROAD_RACE\nWORLD_VEHICLE_BIKER\nWORLD_VEHICLE_CONSTRUCTION_PASSENGERS\nWORLD_VEHICLE_CONSTRUCTION_SOLO\nWORLD_VEHICLE_DRIVE_PASSENGERS\nWORLD_VEHICLE_DRIVE_SOLO\nWORLD_VEHICLE_EMPTY\nWORLD_VEHICLE_PARK_PARALLEL\nWORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN\nWORLD_VEHICLE_POLICE_BIKE\nWORLD_VEHICLE_POLICE_CAR\nWORLD_VEHICLE_POLICE_NEXT_TO_CAR\nWORLD_VEHICLE_SALTON_DIRT_BIKE\nWORLD_VEHICLE_TRUCK_LOGS\n\nFull list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "scenarioName" + }, + { + "type": "int", + "name": "unkDelay" + }, + { + "type": "BOOL", + "name": "playEnterAnim" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFA4EFC79F69D4F07": { + "name": "TASK_START_SCENARIO_AT_POSITION", + "jhash": "0xAA2C4AC2", + "comment": "Full list of ped scenarios by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json\n\nAlso a few more listed at TASK::TASK_START_SCENARIO_IN_PLACE just above.\n---------------\nThe first parameter in every scenario has always been a Ped of some sort. The second like TASK_START_SCENARIO_IN_PLACE is the name of the scenario. \n\nThe next 4 parameters were harder to decipher. After viewing \"hairdo_shop_mp.ysc.c4\", and being confused from seeing the case in other scripts, they passed the first three of the arguments as one array from a function, and it looked like it was obviously x, y, and z.\n\nI haven't seen the sixth parameter go to or over 360, making me believe that it is rotation, but I really can't confirm anything.\n\nI have no idea what the last 3 parameters are, but I'll try to find out.\n\n-going on the last 3 parameters, they appear to always be \"0, 0, 1\"\n\np6 -1 also used in scrips\n\np7 used for sitting scenarios\n\np8 teleports ped to position", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "scenarioName" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "BOOL", + "name": "sittingScenario" + }, + { + "type": "BOOL", + "name": "teleport" + } + ], + "return_type": "void", + "build": "323" + }, + "0x277F471BA9DB000B": { + "name": "TASK_USE_NEAREST_SCENARIO_TO_COORD", + "jhash": "0x9C50FBF0", + "comment": "Updated variables\n\nAn alternative to TASK::TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP. Makes the ped walk to the scenario instead.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0x58E2E0F23F6B76C3": { + "name": "TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP", + "jhash": "0x1BE9D65C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "timeToLeave" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9FDA1B3D7E7028B3": { + "name": "TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD", + "jhash": "0xE32FFB22", + "comment": "p5 is always 0 in scripts", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "maxRange" + }, + { + "type": "int", + "name": "timeToLeave" + } + ], + "return_type": "void", + "build": "323" + }, + "0x97A28E63F0BA5631": { + "name": "TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD_WARP", + "jhash": "0xBAB4C0AE", + "comment": "p5 is always -1 or 0 in scripts", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "timeToLeave" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5A59271FFADD33C1": { + "name": "DOES_SCENARIO_EXIST_IN_AREA", + "jhash": "0xFA7F5047", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "mustBeFree" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0A9D0C2A3BBC86C1": { + "name": "DOES_SCENARIO_OF_TYPE_EXIST_IN_AREA", + "jhash": "0x0FB138A5", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "const char*", + "name": "scenarioName" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "mustBeFree" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x788756D73AC2E07C": { + "name": "IS_SCENARIO_OCCUPIED", + "jhash": "0x697FC008", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "maxRange" + }, + { + "type": "BOOL", + "name": "onlyUsersActuallyAtScenario" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x295E3CCEC879CCD7": { + "name": "PED_HAS_USE_SCENARIO_TASK", + "jhash": "0x9BE9C691", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x748040460F8DF5DC": { + "name": "PLAY_ANIM_ON_RUNNING_SCENARIO", + "jhash": "0x1984A5D1", + "comment": "Full list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "animName" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF9034C136C9E00D3": { + "name": "DOES_SCENARIO_GROUP_EXIST", + "jhash": "0x5F072EB9", + "comment": "Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json\nOccurrences in the b617d scripts:\n\n\"ARMY_GUARD\",\n\"ARMY_HELI\",\n\"Cinema_Downtown\",\n\"Cinema_Morningwood\",\n\"Cinema_Textile\",\n\"City_Banks\",\n\"Countryside_Banks\",\n\"DEALERSHIP\",\n\"GRAPESEED_PLANES\",\n\"KORTZ_SECURITY\",\n\"LOST_BIKERS\",\n\"LSA_Planes\",\n\"LSA_Planes\",\n\"MP_POLICE\",\n\"Observatory_Bikers\", \n\"POLICE_POUND1\",\n\"POLICE_POUND2\",\n\"POLICE_POUND3\",\n\"POLICE_POUND4\",\n\"POLICE_POUND5\"\n\"QUARRY\",\n\"SANDY_PLANES\",\n\"SCRAP_SECURITY\",\n\"SEW_MACHINE\",\n\"SOLOMON_GATE\",\n\"Triathlon_1_Start\", \n\"Triathlon_2_Start\", \n\"Triathlon_3_Start\"\n\nSometimes used with IS_SCENARIO_GROUP_ENABLED:\nif (TASK::DOES_SCENARIO_GROUP_EXIST(\"Observatory_Bikers\") && (!TASK::IS_SCENARIO_GROUP_ENABLED(\"Observatory_Bikers\"))) {\nelse if (TASK::IS_SCENARIO_GROUP_ENABLED(\"BLIMP\")) {\n", + "params": [ + { + "type": "const char*", + "name": "scenarioGroup" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x367A09DED4E05B99": { + "name": "IS_SCENARIO_GROUP_ENABLED", + "jhash": "0x90991122", + "comment": "Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json\nOccurrences in the b617d scripts: \n\n \"ARMY_GUARD\",\n \"ARMY_HELI\",\n \"BLIMP\",\n \"Cinema_Downtown\",\n \"Cinema_Morningwood\",\n \"Cinema_Textile\",\n \"City_Banks\",\n \"Countryside_Banks\",\n \"DEALERSHIP\",\n \"KORTZ_SECURITY\",\n \"LSA_Planes\",\n \"MP_POLICE\",\n \"Observatory_Bikers\",\n \"POLICE_POUND1\",\n \"POLICE_POUND2\",\n \"POLICE_POUND3\",\n \"POLICE_POUND4\",\n \"POLICE_POUND5\",\n \"Rampage1\",\n \"SANDY_PLANES\",\n \"SCRAP_SECURITY\",\n \"SEW_MACHINE\",\n \"SOLOMON_GATE\"\n\nSometimes used with DOES_SCENARIO_GROUP_EXIST:\nif (TASK::DOES_SCENARIO_GROUP_EXIST(\"Observatory_Bikers\") && (!TASK::IS_SCENARIO_GROUP_ENABLED(\"Observatory_Bikers\"))) {\nelse if (TASK::IS_SCENARIO_GROUP_ENABLED(\"BLIMP\")) {", + "params": [ + { + "type": "const char*", + "name": "scenarioGroup" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x02C8E5B49848664E": { + "name": "SET_SCENARIO_GROUP_ENABLED", + "jhash": "0x116997B1", + "comment": "Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json\nOccurrences in the b617d scripts: https://pastebin.com/Tvg2PRHU", + "params": [ + { + "type": "const char*", + "name": "scenarioGroup" + }, + { + "type": "BOOL", + "name": "enabled" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDD902D0349AFAD3A": { + "name": "RESET_SCENARIO_GROUPS_ENABLED", + "jhash": "0xBF55025D", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x535E97E1F7FC0C6A": { + "name": "SET_EXCLUSIVE_SCENARIO_GROUP", + "jhash": "0x59DB8F26", + "comment": "Full list of scenario groups used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenarioGroupNames.json\nGroups found in the scripts used with this native:\n\n\"AMMUNATION\",\n\"QUARRY\",\n\"Triathlon_1\",\n\"Triathlon_2\",\n\"Triathlon_3\"", + "params": [ + { + "type": "const char*", + "name": "scenarioGroup" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4202BBCB8684563D": { + "name": "RESET_EXCLUSIVE_SCENARIO_GROUP", + "jhash": "0x17F9DFE8", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x3A815DB3EA088722": { + "name": "IS_SCENARIO_TYPE_ENABLED", + "jhash": "0xAE37E969", + "comment": "Full list of scenario types used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json\nOccurrences in the b617d scripts:\n\"PROP_HUMAN_SEAT_CHAIR\",\n\"WORLD_HUMAN_DRINKING\",\n\"WORLD_HUMAN_HANG_OUT_STREET\",\n\"WORLD_HUMAN_SMOKING\",\n\"WORLD_MOUNTAIN_LION_WANDER\",\n\"WORLD_HUMAN_DRINKING\"\n\nSometimes used together with MISC::IS_STRING_NULL_OR_EMPTY in the scripts.\n\nscenarioType could be the same as scenarioName, used in for example TASK::TASK_START_SCENARIO_AT_POSITION.\n", + "params": [ + { + "type": "const char*", + "name": "scenarioType" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEB47EC4E34FB7EE1": { + "name": "SET_SCENARIO_TYPE_ENABLED", + "jhash": "0xDB18E5DE", + "comment": "Full list of scenario types used in scripts by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/scenariosCompact.json\nseems to enable/disable specific scenario-types from happening in the game world.\n\nHere are some scenario types from the scripts:\n\"WORLD_MOUNTAIN_LION_REST\" \n\"WORLD_MOUNTAIN_LION_WANDER\" \n\"DRIVE\" \n\"WORLD_VEHICLE_POLICE_BIKE\" \n\"WORLD_VEHICLE_POLICE_CAR\" \n\"WORLD_VEHICLE_POLICE_NEXT_TO_CAR\" \n\"WORLD_VEHICLE_DRIVE_SOLO\" \n\"WORLD_VEHICLE_BIKER\" \n\"WORLD_VEHICLE_DRIVE_PASSENGERS\" \n\"WORLD_VEHICLE_SALTON_DIRT_BIKE\" \n\"WORLD_VEHICLE_BICYCLE_MOUNTAIN\" \n\"PROP_HUMAN_SEAT_CHAIR\" \n\"WORLD_VEHICLE_ATTRACTOR\" \n\"WORLD_HUMAN_LEANING\" \n\"WORLD_HUMAN_HANG_OUT_STREET\" \n\"WORLD_HUMAN_DRINKING\" \n\"WORLD_HUMAN_SMOKING\" \n\"WORLD_HUMAN_GUARD_STAND\" \n\"WORLD_HUMAN_CLIPBOARD\" \n\"WORLD_HUMAN_HIKER\" \n\"WORLD_VEHICLE_EMPTY\" \n\"WORLD_VEHICLE_BIKE_OFF_ROAD_RACE\" \n\"WORLD_HUMAN_PAPARAZZI\" \n\"WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN\" \n\"WORLD_VEHICLE_PARK_PARALLEL\" \n\"WORLD_VEHICLE_CONSTRUCTION_SOLO\" \n\"WORLD_VEHICLE_CONSTRUCTION_PASSENGERS\" \n\"WORLD_VEHICLE_TRUCK_LOGS\"\n\nscenarioType could be the same as scenarioName, used in for example TASK::TASK_START_SCENARIO_AT_POSITION.", + "params": [ + { + "type": "const char*", + "name": "scenarioType" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0D40EE2A7F2B2D6D": { + "name": "RESET_SCENARIO_TYPES_ENABLED", + "jhash": "0xF58FDEB4", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAA135F9482C82CC3": { + "name": "IS_PED_ACTIVE_IN_SCENARIO", + "jhash": "0x05038F1A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x621C6E4729388E41": { + "name": "IS_PED_PLAYING_BASE_CLIP_IN_SCENARIO", + "jhash": "0xA0DA6B1D", + "comment": "Used only once (am_mp_property_int)\n\nped was PLAYER_PED_ID()\n\nRelated to CTaskAmbientClips.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8FD89A6240813FD0": { + "name": "SET_PED_CAN_PLAY_AMBIENT_IDLES", + "jhash": "0xB5AD044E", + "comment": "Appears only in fm_mission_controller and used only 3 times.\n\nped was always PLAYER_PED_ID()\np1 was always true\np2 was always true", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "blockIdleClips" + }, + { + "type": "BOOL", + "name": "removeIdleClipIfPlaying" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4CF5F55DAC3280A0": { + "name": "TASK_COMBAT_HATED_TARGETS_IN_AREA", + "jhash": "0xDF099E18", + "comment": "Despite its name, it only attacks ONE hated target. The one closest to the specified position.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "combatFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7BF835BB9E2698C8": { + "name": "TASK_COMBAT_HATED_TARGETS_AROUND_PED", + "jhash": "0x2E7064E4", + "comment": "Despite its name, it only attacks ONE hated target. The one closest hated target.\n\np2 seems to be always 0", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "combatFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2BBA30B854534A0C": { + "name": "TASK_COMBAT_HATED_TARGETS_AROUND_PED_TIMED", + "jhash": "0xF127AD6A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "int", + "name": "combatFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7285951DBF6B5A51": { + "name": "TASK_THROW_PROJECTILE", + "jhash": "0xF65C20A7", + "comment": "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.\n\nThe last 3 parameters are definitely coordinates after seeing them passed in other scripts, and even being used straight from the player's coordinates.\n---\nIt seems that - in the decompiled scripts - this native was used on a ped who was in a vehicle to throw a projectile out the window at the player. This is something any ped will naturally do if they have a throwable and they are doing driveby-combat (although not very accurately).\nIt is possible, however, that this is how SWAT throws smoke grenades at the player when in cover.\n----------------------------------------------------\nThe 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "ignoreCollisionEntityIndex" + }, + { + "type": "BOOL", + "name": "createInvincibleProjectile" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA21C51255B205245": { + "name": "TASK_SWAP_WEAPON", + "jhash": "0xDAF4F8FC", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "drawWeapon" + } + ], + "return_type": "void", + "build": "323" + }, + "0x62D2916F56B9CD2D": { + "name": "TASK_RELOAD_WEAPON", + "jhash": "0xCA6E91FD", + "comment": "The 2nd param (drawWeapon) is not implemented.\n\n-----------------------------------------------------------------------\n\nThe only occurrence I found in a R* script (\"assassin_construction.ysc.c4\"):\n\n if (((v_3 < v_4) && (TASK::GET_SCRIPT_TASK_STATUS(PLAYER::PLAYER_PED_ID(), 0x6a67a5cc) != 1)) && (v_5 > v_3)) {\n TASK::TASK_RELOAD_WEAPON(PLAYER::PLAYER_PED_ID(), 1);\n }", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "drawWeapon" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2A74E1D5F2F00EEC": { + "name": "IS_PED_GETTING_UP", + "jhash": "0x320813E6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCDDC2B77CE54AC6E": { + "name": "TASK_WRITHE", + "jhash": "0x0FDC54FC", + "comment": "EX: Function.Call(Ped1, Ped2, Time, 0);\n\nThe 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.\n\n\n\nThird parameter does not appear to be time. The last parameter is not implemented (It's not used, regardless of value).", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "int", + "name": "minFireLoops" + }, + { + "type": "int", + "name": "startState" + }, + { + "type": "BOOL", + "name": "forceShootOnGround" + }, + { + "type": "int", + "name": "shootFromGroundTimer" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDEB6D52126E7D640": { + "name": "IS_PED_IN_WRITHE", + "jhash": "0x09E61921", + "comment": "This native checks if a ped is on the ground, in pain from a (gunshot) wound.\nReturns `true` if the ped is in writhe, `false` otherwise.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA36BFB5EE89F3D82": { + "name": "OPEN_PATROL_ROUTE", + "jhash": "0xF33F83CA", + "comment": " patrolRoutes found in the b617d scripts:\n \"miss_Ass0\",\n \"miss_Ass1\",\n \"miss_Ass2\",\n \"miss_Ass3\",\n \"miss_Ass4\",\n \"miss_Ass5\",\n \"miss_Ass6\",\n \"MISS_PATROL_6\",\n \"MISS_PATROL_7\",\n \"MISS_PATROL_8\",\n \"MISS_PATROL_9\",\n \"miss_Tower_01\",\n \"miss_Tower_02\",\n \"miss_Tower_03\",\n \"miss_Tower_04\",\n \"miss_Tower_05\",\n \"miss_Tower_06\",\n \"miss_Tower_07\",\n \"miss_Tower_08\",\n \"miss_Tower_10\"", + "params": [ + { + "type": "const char*", + "name": "patrolRoute" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB043ECA801B8CBC1": { + "name": "CLOSE_PATROL_ROUTE", + "jhash": "0x67305E59", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x8EDF950167586B7C": { + "name": "ADD_PATROL_ROUTE_NODE", + "jhash": "0x21B48F10", + "comment": "Example: \nTASK::ADD_PATROL_ROUTE_NODE(2, \"WORLD_HUMAN_GUARD_STAND\", -193.4915, -2378.864990234375, 10.9719, -193.4915, -2378.864990234375, 10.9719, 3000);\n\np0 is between 0 and 4 in the scripts.\n\np1 is \"WORLD_HUMAN_GUARD_STAND\" or \"StandGuard\".\n\np2, p3 and p4 is only one parameter sometimes in the scripts. Most likely a Vector3 hence p2, p3 and p4 are coordinates. \nExamples: \nTASK::ADD_PATROL_ROUTE_NODE(1, \"WORLD_HUMAN_GUARD_STAND\", l_739[7/*3*/], 0.0, 0.0, 0.0, 0);\n\nTASK::ADD_PATROL_ROUTE_NODE(1, \"WORLD_HUMAN_GUARD_STAND\", l_B0[17/*44*/]._f3, l_B0[17/*44*/]._f3, 2000);\n\np5, p6 and p7 are for example set to: 1599.0406494140625, 2713.392578125, 44.4309.\n\np8 is an int, often random set to for example: MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000).", + "params": [ + { + "type": "int", + "name": "nodeId" + }, + { + "type": "const char*", + "name": "nodeType" + }, + { + "type": "float", + "name": "posX" + }, + { + "type": "float", + "name": "posY" + }, + { + "type": "float", + "name": "posZ" + }, + { + "type": "float", + "name": "headingX" + }, + { + "type": "float", + "name": "headingY" + }, + { + "type": "float", + "name": "headingZ" + }, + { + "type": "int", + "name": "duration" + } + ], + "return_type": "void", + "build": "323" + }, + "0x23083260DEC3A551": { + "name": "ADD_PATROL_ROUTE_LINK", + "jhash": "0xD8761BB3", + "comment": "", + "params": [ + { + "type": "int", + "name": "nodeId1" + }, + { + "type": "int", + "name": "nodeId2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAF8A443CCC8018DC": { + "name": "CREATE_PATROL_ROUTE", + "jhash": "0x0A6C7864", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x7767DD9D65E91319": { + "name": "DELETE_PATROL_ROUTE", + "jhash": "0x2A4E6706", + "comment": "From the b617d scripts:\n\nTASK::DELETE_PATROL_ROUTE(\"miss_merc0\");\nTASK::DELETE_PATROL_ROUTE(\"miss_merc1\");\nTASK::DELETE_PATROL_ROUTE(\"miss_merc2\");\nTASK::DELETE_PATROL_ROUTE(\"miss_dock\");", + "params": [ + { + "type": "const char*", + "name": "patrolRoute" + } + ], + "return_type": "void", + "build": "323" + }, + "0x52F734CEBE20DFBA": { + "name": "GET_PATROL_TASK_INFO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int*", + "name": "timeLeftAtNode" + }, + { + "type": "int*", + "name": "nodeId" + } + ], + "return_type": "BOOL", + "build": "2545", + "old_names": [ + "_GET_PATROL_TASK_STATUS" + ] + }, + "0xBDA5DF49D080FE4E": { + "name": "TASK_PATROL", + "jhash": "0xB92E5AF6", + "comment": "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:\n\n\"miss_Tower_01\" (this went from 01 - 10)\n\"miss_Ass0\" (0, 4, 6, 3)\n\"MISS_PATROL_8\"\n\nI think they're patrol routes, but I'm not sure. And I believe the 3rd parameter is a BOOL, but I can't confirm other than only seeing 0 and 1 being passed.\n\n\nAs far as I can see the patrol routes names such as \"miss_Ass0\" have been defined earlier in the scripts. This leads me to believe we can defined our own new patrol routes by following the same approach. \nFrom the scripts\n\n TASK::OPEN_PATROL_ROUTE(\"miss_Ass0\");\n TASK::ADD_PATROL_ROUTE_NODE(0, \"WORLD_HUMAN_GUARD_STAND\", l_738[0/*3*/], -139.4076690673828, -993.4732055664062, 26.2754, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000));\n TASK::ADD_PATROL_ROUTE_NODE(1, \"WORLD_HUMAN_GUARD_STAND\", l_738[1/*3*/], -116.1391830444336, -987.4984130859375, 26.38541030883789, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000));\n TASK::ADD_PATROL_ROUTE_NODE(2, \"WORLD_HUMAN_GUARD_STAND\", l_738[2/*3*/], -128.46847534179688, -979.0340576171875, 26.2754, MISC::GET_RANDOM_INT_IN_RANGE(5000, 10000));\n TASK::ADD_PATROL_ROUTE_LINK(0, 1);\n TASK::ADD_PATROL_ROUTE_LINK(1, 2);\n TASK::ADD_PATROL_ROUTE_LINK(2, 0);\n TASK::CLOSE_PATROL_ROUTE();\n TASK::CREATE_PATROL_ROUTE();\n\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "patrolRouteName" + }, + { + "type": "int", + "name": "alertState" + }, + { + "type": "BOOL", + "name": "canChatToPeds" + }, + { + "type": "BOOL", + "name": "useHeadLookAt" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE5DA8615A6180789": { + "name": "TASK_STAY_IN_COVER", + "jhash": "0xA27A9413", + "comment": "Makes the ped run to take cover", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5CF0D8F9BBA0DD75": { + "name": "ADD_VEHICLE_SUBTASK_ATTACK_COORD", + "jhash": "0x50779A2C", + "comment": "x, y, z: offset in world coords from some entity.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x85F462BADC7DA47F": { + "name": "ADD_VEHICLE_SUBTASK_ATTACK_PED", + "jhash": "0x80461113", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + } + ], + "return_type": "void", + "build": "323" + }, + "0x10AB107B887214D8": { + "name": "TASK_VEHICLE_SHOOT_AT_PED", + "jhash": "0x59677BA0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "float", + "name": "fireTolerance" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE41885592B08B097": { + "name": "TASK_VEHICLE_AIM_AT_PED", + "jhash": "0x920AE6DB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5190796ED39C9B6D": { + "name": "TASK_VEHICLE_SHOOT_AT_COORD", + "jhash": "0xA7AAA4D6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "fireTolerance" + } + ], + "return_type": "void", + "build": "323" + }, + "0x447C1E9EF844BC0F": { + "name": "TASK_VEHICLE_AIM_AT_COORD", + "jhash": "0x010F47CE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x195AEEB13CEFE2EE": { + "name": "TASK_VEHICLE_GOTO_NAVMESH", + "jhash": "0x55CF3BCD", + "comment": "Differs from TASK_VEHICLE_DRIVE_TO_COORDS in that it will pick the shortest possible road route without taking one-way streets and other \"road laws\" into consideration.\n\nWARNING:\nA behaviorFlag value of 0 will result in a clunky, stupid driver!\n\nRecommended settings:\nspeed = 30.0f,\nbehaviorFlag = 156, \nstoppingRange = 5.0f;\n\nIf you simply want to have your driver move to a fixed location, call it only once, or, when necessary in the event of interruption. \n\nIf using this to continually follow a Ped who is on foot: You will need to run this in a tick loop. Call it in with the Ped's updated coordinates every 20 ticks or so and you will have one hell of a smart, fast-reacting NPC driver -- provided he doesn't get stuck. If your update frequency is too fast, the Ped may not have enough time to figure his way out of being stuck, and thus, remain stuck. One way around this would be to implement an \"anti-stuck\" mechanism, which allows the driver to realize he's stuck, temporarily pause the tick, unstuck, then resume the tick.\n\nEDIT: 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/ ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "behaviorFlag" + }, + { + "type": "float", + "name": "stoppingRange" + } + ], + "return_type": "void", + "build": "323" + }, + "0x11315AB3385B8AC0": { + "name": "TASK_GO_TO_COORD_WHILE_AIMING_AT_COORD", + "jhash": "0x1552DC91", + "comment": "movement_speed: mostly 2f, but also 1/1.2f, etc.\np8: always false\np9: 2f\np10: 0.5f\np11: true\np12: 0 / 512 / 513, etc.\np13: 0\nfiring_pattern: ${firing_pattern_full_auto}, 0xC6EE6B4C", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "aimAtX" + }, + { + "type": "float", + "name": "aimAtY" + }, + { + "type": "float", + "name": "aimAtZ" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "BOOL", + "name": "shoot" + }, + { + "type": "float", + "name": "targetRadius" + }, + { + "type": "float", + "name": "slowDistance" + }, + { + "type": "BOOL", + "name": "useNavMesh" + }, + { + "type": "int", + "name": "navFlags" + }, + { + "type": "BOOL", + "name": "instantBlendToAim" + }, + { + "type": "Hash", + "name": "firingPattern" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB2A16444EAD9AE47": { + "name": "TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY", + "jhash": "0x9BD52ABD", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Entity", + "name": "aimAtID" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "BOOL", + "name": "shoot" + }, + { + "type": "float", + "name": "targetRadius" + }, + { + "type": "float", + "name": "slowDistance" + }, + { + "type": "BOOL", + "name": "useNavMesh" + }, + { + "type": "int", + "name": "navFlags" + }, + { + "type": "BOOL", + "name": "instantBlendToAim" + }, + { + "type": "Hash", + "name": "firingPattern" + }, + { + "type": "int", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA55547801EB331FC": { + "name": "TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD", + "jhash": "0x3F91358E", + "comment": "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.\n\nIf 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.\n\nIf the speed is set to 0.0f, the ped will just stand there while aiming, if set to 1.0f he will walk while aiming, 2.0f will run while aiming.\n\nThe ped will stop aiming when he is closer than distanceToStopAt to goToLocation.\n\nI still can't figure out what unkTrue is used for. I don't notice any difference if I set it to false but in the decompiled scripts is always true.\n\nI think that unkFlag, like the driving styles, could be a flag that \"work as a list of 32 bits converted to a decimal integer. Each bit acts as a flag, and enables or disables a function\". What leads me to this conclusion is the fact that in the decompiled scripts, unkFlag takes values like: 0, 1, 5 (101 in binary) and 4097 (4096 + 1 or 1000000000001 in binary). For now, I don't know what behavior enable or disable this possible flag so I leave it at 0.\n\nNote: After some testing, using unkFlag = 16 (0x10) enables the use of sidewalks while moving towards goToLocation.\n\nThe aimingFlag takes 2 values: 0 to aim at the focusLocation, 1 to aim at where the ped is heading (goToLocation).\n\nExample:\n\nenum AimFlag\n{\n AimAtFocusLocation,\n AimAtGoToLocation\n};\n\nVector3 goToLocation1 = { 996.2867f, 0, -2143.044f, 0, 28.4763f, 0 }; // remember the padding.\n\nVector3 goToLocation2 = { 990.2867f, 0, -2140.044f, 0, 28.4763f, 0 }; // remember the padding.\n\nVector3 focusLocation = { 994.3478f, 0, -2136.118f, 0, 29.2463f, 0 }; // the coord z should be a little higher, around +1.0f to avoid aiming at the ground\n\n// 1st example\nTASK::TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD(pedHandle, goToLocation1.x, goToLocation1.y, goToLocation1.z, focusLocation.x, focusLocation.y, focusLocation.z, 2.0f /*run*/, true /*shoot*/, 3.0f /*stop at*/, 0.0f /*noRoadsDistance*/, true /*always true*/, 0 /*possible flag*/, AimFlag::AimAtGoToLocation, -957453492 /*FullAuto pattern*/);\n\n// 2nd example\nTASK::TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD(pedHandle, goToLocation2.x, goToLocation2.y, goToLocation2.z, focusLocation.x, focusLocation.y, focusLocation.z, 1.0f /*walk*/, false /*don't shoot*/, 3.0f /*stop at*/, 0.0f /*noRoadsDistance*/, true /*always true*/, 0 /*possible flag*/, AimFlag::AimAtFocusLocation, -957453492 /*FullAuto pattern*/);\n\n\n1st example: The ped (pedhandle) will run towards goToLocation1. While running and aiming towards goToLocation1, the ped will shoot on sight to any enemy in his path, using \"FullAuto\" firing pattern. The ped will stop once he is closer than distanceToStopAt to goToLocation1.\n\n2nd 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.", + "params": [ + { + "type": "Ped", + "name": "pedHandle" + }, + { + "type": "float", + "name": "goToLocationX" + }, + { + "type": "float", + "name": "goToLocationY" + }, + { + "type": "float", + "name": "goToLocationZ" + }, + { + "type": "float", + "name": "focusLocationX" + }, + { + "type": "float", + "name": "focusLocationY" + }, + { + "type": "float", + "name": "focusLocationZ" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "BOOL", + "name": "shootAtEnemies" + }, + { + "type": "float", + "name": "distanceToStopAt" + }, + { + "type": "float", + "name": "noRoadsDistance" + }, + { + "type": "BOOL", + "name": "useNavMesh" + }, + { + "type": "int", + "name": "navFlags" + }, + { + "type": "int", + "name": "taskFlags" + }, + { + "type": "Hash", + "name": "firingPattern" + } + ], + "return_type": "void", + "build": "323" + }, + "0x04701832B739DCE5": { + "name": "TASK_GO_TO_ENTITY_WHILE_AIMING_AT_COORD", + "jhash": "0xD896CD82", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "aimX" + }, + { + "type": "float", + "name": "aimY" + }, + { + "type": "float", + "name": "aimZ" + }, + { + "type": "float", + "name": "moveBlendRatio" + }, + { + "type": "BOOL", + "name": "shoot" + }, + { + "type": "float", + "name": "targetRadius" + }, + { + "type": "float", + "name": "slowDistance" + }, + { + "type": "BOOL", + "name": "useNavMesh" + }, + { + "type": "BOOL", + "name": "instantBlendToAim" + }, + { + "type": "Hash", + "name": "firingPattern" + } + ], + "return_type": "void", + "build": "323" + }, + "0x97465886D35210E9": { + "name": "TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY", + "jhash": "0x68E36B7A", + "comment": "shootatEntity:\nIf true, peds will shoot at Entity till it is dead.\nIf false, peds will just walk till they reach the entity and will cease shooting.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entityToWalkTo" + }, + { + "type": "Entity", + "name": "entityToAimAt" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "BOOL", + "name": "shootatEntity" + }, + { + "type": "float", + "name": "targetRadius" + }, + { + "type": "float", + "name": "slowDistance" + }, + { + "type": "BOOL", + "name": "useNavMesh" + }, + { + "type": "BOOL", + "name": "instantBlendToAim" + }, + { + "type": "Hash", + "name": "firingPattern" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8C825BDC7741D37C": { + "name": "SET_HIGH_FALL_TASK", + "jhash": "0xBBB26172", + "comment": "Makes the ped ragdoll like when falling from a great height", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "minTime" + }, + { + "type": "int", + "name": "maxTime" + }, + { + "type": "int", + "name": "entryType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9EEFB62EB27B5792": { + "name": "REQUEST_WAYPOINT_RECORDING", + "jhash": "0xAFABFB5D", + "comment": "Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json\nFor a full list of the points, see here: goo.gl/wIH0vn\n\nMax number of loaded recordings is 32.", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCB4E8BE8A0063C5D": { + "name": "GET_IS_WAYPOINT_RECORDING_LOADED", + "jhash": "0x87125F5D", + "comment": "Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFF1B8B4AA1C25DC8": { + "name": "REMOVE_WAYPOINT_RECORDING", + "jhash": "0x624530B0", + "comment": "Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json", + "params": [ + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5343532C01A07234": { + "name": "WAYPOINT_RECORDING_GET_NUM_POINTS", + "jhash": "0xF5F9B71E", + "comment": "Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json\nFor a full list of the points, see here: goo.gl/wIH0vn", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "int*", + "name": "points" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2FB897405C90B361": { + "name": "WAYPOINT_RECORDING_GET_COORD", + "jhash": "0x19266913", + "comment": "Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json\nFor a full list of the points, see here: goo.gl/wIH0vn", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "int", + "name": "point" + }, + { + "type": "Vector3*", + "name": "coord" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x005622AEBC33ACA9": { + "name": "WAYPOINT_RECORDING_GET_SPEED_AT_POINT", + "jhash": "0xC765633A", + "comment": "Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "int", + "name": "point" + } + ], + "return_type": "float", + "build": "323" + }, + "0xB629A298081F876F": { + "name": "WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT", + "jhash": "0xC4CD35AF", + "comment": "Full list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json\nFor a full list of the points, see here: goo.gl/wIH0vn", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int*", + "name": "point" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0759591819534F7B": { + "name": "TASK_FOLLOW_WAYPOINT_RECORDING", + "jhash": "0xADF9904D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "name" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE03B3F2D3DC59B64": { + "name": "IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_PED", + "jhash": "0x85B7725F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2720AAA75001E094": { + "name": "GET_PED_WAYPOINT_PROGRESS", + "jhash": "0x3595B104", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE6A877C64CAF1BC5": { + "name": "GET_PED_WAYPOINT_DISTANCE", + "jhash": "0x084B35B0", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "float", + "build": "323" + }, + "0xED98E10B0AFCE4B4": { + "name": "SET_PED_WAYPOINT_ROUTE_OFFSET", + "jhash": "0xF867F747", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA5B769058763E497": { + "name": "GET_WAYPOINT_DISTANCE_ALONG_ROUTE", + "jhash": "0xE8422AC4", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "int", + "name": "point" + } + ], + "return_type": "float", + "build": "323" + }, + "0x701375A7D43F01CB": { + "name": "WAYPOINT_PLAYBACK_GET_IS_PAUSED", + "jhash": "0xA6BB5717", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0F342546AA06FED5": { + "name": "WAYPOINT_PLAYBACK_PAUSE", + "jhash": "0xFE39ECF8", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x244F70C84C547D2D": { + "name": "WAYPOINT_PLAYBACK_RESUME", + "jhash": "0x50F392EF", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7D7D2B47FA788E85": { + "name": "WAYPOINT_PLAYBACK_OVERRIDE_SPEED", + "jhash": "0x23E6BA96", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6599D834B12D0800": { + "name": "WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED", + "jhash": "0x1BBB2CAC", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5A353B8E6B1095B5": { + "name": "USE_WAYPOINT_RECORDING_AS_ASSISTED_MOVEMENT_ROUTE", + "jhash": "0x4DFD5FEC", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "name" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x20E330937C399D29": { + "name": "WAYPOINT_PLAYBACK_START_AIMING_AT_PED", + "jhash": "0x75E60CF6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8968400D900ED8B3": { + "name": "WAYPOINT_PLAYBACK_START_AIMING_AT_COORD", + "jhash": "0xF120A34E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE70BA7B90F8390DC": { + "name": "WAYPOINT_PLAYBACK_START_SHOOTING_AT_PED", + "jhash": "0xBD5F0EB8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "ped2" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x057A25CFCC9DB671": { + "name": "WAYPOINT_PLAYBACK_START_SHOOTING_AT_COORD", + "jhash": "0xCDDB44D5", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "Hash", + "name": "firingPattern" + } + ], + "return_type": "void", + "build": "323" + }, + "0x47EFA040EBB8E2EA": { + "name": "WAYPOINT_PLAYBACK_STOP_AIMING_OR_SHOOTING", + "jhash": "0x6D7CF40C", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x817268968605947A": { + "name": "ASSISTED_MOVEMENT_REQUEST_ROUTE", + "jhash": "0x48262EDA", + "comment": "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\"", + "params": [ + { + "type": "const char*", + "name": "route" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3548536485DD792B": { + "name": "ASSISTED_MOVEMENT_REMOVE_ROUTE", + "jhash": "0xB3CEC06F", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "route" + } + ], + "return_type": "void", + "build": "323" + }, + "0x60F9A4393A21F741": { + "name": "ASSISTED_MOVEMENT_IS_ROUTE_LOADED", + "jhash": "0x79B067AF", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "route" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD5002D78B7162E1B": { + "name": "ASSISTED_MOVEMENT_SET_ROUTE_PROPERTIES", + "jhash": "0x01CAAFCC", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "route" + }, + { + "type": "int", + "name": "props" + } + ], + "return_type": "void", + "build": "323" + }, + "0x13945951E16EF912": { + "name": "ASSISTED_MOVEMENT_OVERRIDE_LOAD_DISTANCE_THIS_FRAME", + "jhash": "0x8FB923EC", + "comment": "", + "params": [ + { + "type": "float", + "name": "dist" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3123FAA6DB1CF7ED": { + "name": "TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING", + "jhash": "0x959818B6", + "comment": "\n\np2 = Waypoint recording string (found in update\\update.rpf\\x64\\levels\\gta5\\waypointrec.rpf\np3 = 786468\np4 = 0\np5 = 16\np6 = -1 (angle?)\np7/8/9 = usually v3.zero\np10 = bool (repeat?)\np11 = 1073741824\n\nFull list of waypoint recordings by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/waypointRecordings.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "const char*", + "name": "WPRecording" + }, + { + "type": "int", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "p5" + }, + { + "type": "int", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "BOOL", + "name": "p8" + }, + { + "type": "float", + "name": "p9" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF5134943EA29868C": { + "name": "IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE", + "jhash": "0x80DD15DB", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9824CFF8FC66E159": { + "name": "GET_VEHICLE_WAYPOINT_PROGRESS", + "jhash": "0xD3CCF64E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x416B62AC8B9E5BBD": { + "name": "GET_VEHICLE_WAYPOINT_TARGET_POINT", + "jhash": "0x81049608", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x8A4E6AC373666BC5": { + "name": "VEHICLE_WAYPOINT_PLAYBACK_PAUSE", + "jhash": "0x7C00B415", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDC04FCAA7839D492": { + "name": "VEHICLE_WAYPOINT_PLAYBACK_RESUME", + "jhash": "0xBEB14C82", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5CEB25A7D2848963": { + "name": "VEHICLE_WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED", + "jhash": "0x923C3AA4", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x121F0593E0A431D7": { + "name": "VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED", + "jhash": "0xBE1E7BB4", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x90D2156198831D69": { + "name": "TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS", + "jhash": "0x1B54FB6B", + "comment": "I cant believe I have to define this, this is one of the best natives.\n\nIt 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.\n\nSince it is a task, every time the native is called the ped will stop for a moment. ", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4F056E1AFFEF17AB": { + "name": "TASK_FORCE_MOTION_STATE", + "jhash": "0xCAD2EF77", + "comment": "p2 always false\n\n[30/03/2017] ins1de :\n\nSee FORCE_PED_MOTION_STATE", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "state" + }, + { + "type": "BOOL", + "name": "forceRestart" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2D537BA194896636": { + "name": "TASK_MOVE_NETWORK_BY_NAME", + "jhash": "0x6F5D215F", + "comment": "Example:\nTASK::TASK_MOVE_NETWORK_BY_NAME(PLAYER::PLAYER_PED_ID(), \"arm_wrestling_sweep_paired_a_rev3\", 0.0f, true, \"mini@arm_wrestling\", 0);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "task" + }, + { + "type": "float", + "name": "multiplier" + }, + { + "type": "BOOL", + "name": "allowOverrideCloneUpdate" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_TASK_MOVE_NETWORK" + ] + }, + "0xD5B35BEA41919ACB": { + "name": "TASK_MOVE_NETWORK_ADVANCED_BY_NAME", + "jhash": "0x71A5C5DB", + "comment": "Example:\nTASK::TASK_MOVE_NETWORK_ADVANCED_BY_NAME(PLAYER::PLAYER_PED_ID(), \"minigame_tattoo_michael_parts\", 324.13f, 181.29f, 102.6f, 0.0f, 0.0f, 22.32f, 2, 0, false, 0, 0);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "network" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "int", + "name": "rotOrder" + }, + { + "type": "float", + "name": "blendDuration" + }, + { + "type": "BOOL", + "name": "allowOverrideCloneUpdate" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_TASK_MOVE_NETWORK_ADVANCED" + ] + }, + "0x3D45B0B355C5E0C9": { + "name": "TASK_MOVE_NETWORK_BY_NAME_WITH_INIT_PARAMS", + "jhash": "", + "comment": "Used only once in the scripts (am_mp_nightclub)", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "network" + }, + { + "type": "int*", + "name": "initialParameters" + }, + { + "type": "float", + "name": "blendDuration" + }, + { + "type": "BOOL", + "name": "allowOverrideCloneUpdate" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_TASK_MOVE_NETWORK_SCRIPTED", + "_TASK_MOVE_NETWORK_BY_NAME_WITH_INIT_PARAMS" + ] + }, + "0x29682E2CCF21E9B5": { + "name": "TASK_MOVE_NETWORK_ADVANCED_BY_NAME_WITH_INIT_PARAMS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "network" + }, + { + "type": "int*", + "name": "initialParameters" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "int", + "name": "rotOrder" + }, + { + "type": "float", + "name": "blendDuration" + }, + { + "type": "BOOL", + "name": "allowOverrideCloneUpdate" + }, + { + "type": "const char*", + "name": "dictionary" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "void", + "build": "1868" + }, + "0x921CE12C489C4C41": { + "name": "IS_TASK_MOVE_NETWORK_ACTIVE", + "jhash": "0x902656EB", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x30ED88D5E0C56A37": { + "name": "IS_TASK_MOVE_NETWORK_READY_FOR_TRANSITION", + "jhash": "0x92FDBAE6", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD01015C7316AE176": { + "name": "REQUEST_TASK_MOVE_NETWORK_STATE_TRANSITION", + "jhash": "0x885724DE", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAB13A5565480B6D9": { + "name": "SET_EXPECTED_CLONE_NEXT_TASK_MOVE_NETWORK_STATE", + "jhash": "0x1E58A7AD", + "comment": "Used only once in the scripts (fm_mission_controller) like so:\n\nTASK::SET_EXPECTED_CLONE_NEXT_TASK_MOVE_NETWORK_STATE(iLocal_3160, \"Cutting\");", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "state" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x717E4D1F2048376D": { + "name": "GET_TASK_MOVE_NETWORK_STATE", + "jhash": "0x96C0277B", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x8423541E8B3A1589": { + "name": "SET_TASK_MOVE_NETWORK_ANIM_SET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "clipSet" + }, + { + "type": "Hash", + "name": "variableClipSet" + } + ], + "return_type": "void", + "build": "1493" + }, + "0xD5BB4025AE449A4E": { + "name": "SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT", + "jhash": "0xA79BE783", + "comment": "signalName - \"Phase\", \"Wobble\", \"x_axis\",\"y_axis\",\"introphase\",\"speed\".\np2 - From what i can see it goes up to 1f (maybe).\n\nExample: TASK::SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT(PLAYER::PLAYER_PED_ID(), \"Phase\", 0.5);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "signalName" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TASK_PROPERTY_FLOAT" + ] + }, + "0x373EF409B82697A3": { + "name": "SET_TASK_MOVE_NETWORK_SIGNAL_LOCAL_FLOAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "signalName" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT_2" + ] + }, + "0x8634CEF2522D987B": { + "name": "SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT_LERP_RATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "signalName" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "1493" + }, + "0xB0A6CFD2C69C1088": { + "name": "SET_TASK_MOVE_NETWORK_SIGNAL_BOOL", + "jhash": "0xF3538041", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "signalName" + }, + { + "type": "BOOL", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TASK_PROPERTY_BOOL" + ] + }, + "0x44AB0B3AFECCE242": { + "name": "GET_TASK_MOVE_NETWORK_SIGNAL_FLOAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "signalName" + } + ], + "return_type": "float", + "build": "1493", + "old_names": [ + "_GET_TASK_MOVE_NETWORK_SIGNAL_FLOAT" + ] + }, + "0xA7FFBA498E4AAF67": { + "name": "GET_TASK_MOVE_NETWORK_SIGNAL_BOOL", + "jhash": "0x1EBB6F3D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "signalName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB4F47213DF45A64C": { + "name": "GET_TASK_MOVE_NETWORK_EVENT", + "jhash": "0x72FA5EF2", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "eventName" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0FFB3C758E8C07B9": { + "name": "SET_TASK_MOVE_NETWORK_ENABLE_COLLISION_ON_NETWORK_CLONE_WHEN_FIXED", + "jhash": "", + "comment": "Doesn't actually return anything.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "enable" + } + ], + "return_type": "BOOL", + "build": "2060" + }, + "0x349CE7B56DAFD95C": { + "name": "IS_MOVE_BLEND_RATIO_STILL", + "jhash": "0xE9DAF877", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF133BBBE91E1691F": { + "name": "IS_MOVE_BLEND_RATIO_WALKING", + "jhash": "0xD21639A8", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD4D8636C0199A939": { + "name": "IS_MOVE_BLEND_RATIO_RUNNING", + "jhash": "0xE76A2353", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x24A2AD74FA9814E2": { + "name": "IS_MOVE_BLEND_RATIO_SPRINTING", + "jhash": "0xDD616893", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAC29253EEF8F0180": { + "name": "IS_PED_STILL", + "jhash": "0x09E3418D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDE4C184B2B9B071A": { + "name": "IS_PED_WALKING", + "jhash": "0x4B865C4A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC5286FFC176F28A2": { + "name": "IS_PED_RUNNING", + "jhash": "0xE9A5578F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x57E457CD2C0FC168": { + "name": "IS_PED_SPRINTING", + "jhash": "0x4F3E0633", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE45B7F222DE47E09": { + "name": "IS_PED_STRAFING", + "jhash": "0xEFEED13C", + "comment": "What's strafing?", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEEA929141F699854": { + "name": "TASK_SYNCHRONIZED_SCENE", + "jhash": "0x4F217E7B", + "comment": " TASK::TASK_SYNCHRONIZED_SCENE(ped, scene, \"creatures@rottweiler@in_vehicle@std_car\", \"get_in\", 1000.0, -8.0, 4, 0, 0x447a0000, 0);\n\nFull list of animation dictionaries and anims by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/animDictsCompact.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "scene" + }, + { + "type": "const char*", + "name": "animDictionary" + }, + { + "type": "const char*", + "name": "animationName" + }, + { + "type": "float", + "name": "blendIn" + }, + { + "type": "float", + "name": "blendOut" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "int", + "name": "ragdollBlockingFlags" + }, + { + "type": "float", + "name": "moverBlendDelta" + }, + { + "type": "int", + "name": "ikFlags" + } + ], + "return_type": "void", + "build": "323" + }, + "0x19D1B791CB3670FE": { + "name": "TASK_AGITATED_ACTION_CONFRONT_RESPONSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "ped2" + } + ], + "return_type": "void", + "build": "877", + "old_names": [ + "TASK_AGITATED_ACTION" + ] + }, + "0x2047C02158D6405A": { + "name": "TASK_SWEEP_AIM_ENTITY", + "jhash": "0x4D210467", + "comment": "This function is called on peds in vehicles.\n\nanim: animation name\np2, p3, p4: \"sweep_low\", \"sweep_med\" or \"sweep_high\"\np5: no idea what it does but is usually -1", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "lowAnimName" + }, + { + "type": "const char*", + "name": "medAnimName" + }, + { + "type": "const char*", + "name": "hiAnimName" + }, + { + "type": "int", + "name": "runtime" + }, + { + "type": "Entity", + "name": "targetEntity" + }, + { + "type": "float", + "name": "turnRate" + }, + { + "type": "float", + "name": "blendInDuration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE4973DBDBE6E44B3": { + "name": "UPDATE_TASK_SWEEP_AIM_ENTITY", + "jhash": "0xF65F0F4F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7AFE8FDC10BC07D2": { + "name": "TASK_SWEEP_AIM_POSITION", + "jhash": "0x1683FE66", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "const char*", + "name": "animDict" + }, + { + "type": "const char*", + "name": "lowAnimName" + }, + { + "type": "const char*", + "name": "medAnimName" + }, + { + "type": "const char*", + "name": "hiAnimName" + }, + { + "type": "int", + "name": "runtime" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "turnRate" + }, + { + "type": "float", + "name": "blendInDuration" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBB106883F5201FC4": { + "name": "UPDATE_TASK_SWEEP_AIM_POSITION", + "jhash": "0x6345EC80", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF3B9A78A178572B1": { + "name": "TASK_ARREST_PED", + "jhash": "0xBC0F153D", + "comment": "Example from \"me_amanda1.ysc.c4\":\nTASK::TASK_ARREST_PED(l_19F /* This is a Ped */ , PLAYER::PLAYER_PED_ID());\n\nExample from \"armenian1.ysc.c4\":\nif (!PED::IS_PED_INJURED(l_B18[0/*1*/])) {\n TASK::TASK_ARREST_PED(l_B18[0/*1*/], PLAYER::PLAYER_PED_ID());\n}\n\nI would love to have time to experiment to see if a player Ped can arrest another Ped. Might make for a good cop mod.\n\n\nLooks 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.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Ped", + "name": "target" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3DC52677769B4AE0": { + "name": "IS_PED_RUNNING_ARREST_TASK", + "jhash": "0x6942DB7A", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x90A09F3A45FED688": { + "name": "IS_PED_BEING_ARRESTED", + "jhash": "0x5FF6C2ED", + "comment": "This function is hard-coded to always return 0.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x67406F2C8F87FC4F": { + "name": "UNCUFF_PED", + "jhash": "0xA23A1D61", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x74E559B3BC910685": { + "name": "IS_PED_CUFFED", + "jhash": "0x511CE741", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + } + }, + "VEHICLE": { + "0xAF35D0D2583051B0": { + "name": "CREATE_VEHICLE", + "jhash": "0xDD75460A", + "comment": "p7 when set to true allows you to spawn vehicles under -100 z.\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "BOOL", + "name": "isNetwork" + }, + { + "type": "BOOL", + "name": "bScriptHostVeh" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xEA386986E786A54F": { + "name": "DELETE_VEHICLE", + "jhash": "0x9803AF60", + "comment": "Deletes a vehicle.\nThe vehicle must be a mission entity to delete, so call this before deleting: SET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);\n\neg how to use:\nSET_ENTITY_AS_MISSION_ENTITY(vehicle, true, true);\nDELETE_VEHICLE(&vehicle);\n\nDeletes the specified vehicle, then sets the handle pointed to by the pointer to NULL.", + "params": [ + { + "type": "Vehicle*", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7D6F9A3EF26136A0": { + "name": "SET_VEHICLE_ALLOW_HOMING_MISSLE_LOCKON", + "jhash": "0xBB54ECCA", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1DDA078D12879EEE": { + "name": "SET_VEHICLE_ALLOW_HOMING_MISSLE_LOCKON_SYNCED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "canBeLockedOn" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_VEHICLE_CAN_BE_LOCKED_ON" + ] + }, + "0x5D14D4154BFE7B2C": { + "name": "SET_VEHICLE_ALLOW_NO_PASSENGERS_LOCKON", + "jhash": "0x8BAAC437", + "comment": "Makes the vehicle accept no passengers.", + "params": [ + { + "type": "Vehicle", + "name": "veh" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE6B0E8CFC3633BF0": { + "name": "GET_VEHICLE_HOMING_LOCKON_STATE", + "jhash": "0xFBDE9FD8", + "comment": "Returns a value depending on the lock-on state of vehicle weapons.\n0: not locked on\n1: locking on\n2: locked on", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x6EAAEFC76ACC311F": { + "name": "GET_VEHICLE_HOMING_LOCKEDONTO_STATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "int", + "build": "757" + }, + "0x407DC5E97DB1A4D3": { + "name": "SET_VEHICLE_HOMING_LOCKEDONTO_STATE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1493" + }, + "0x423E8DE37D934D89": { + "name": "IS_VEHICLE_MODEL", + "jhash": "0x013B10B6", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF6086BC836400876": { + "name": "DOES_SCRIPT_VEHICLE_GENERATOR_EXIST", + "jhash": "0xF6BDDA30", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleGenerator" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9DEF883114668116": { + "name": "CREATE_SCRIPT_VEHICLE_GENERATOR", + "jhash": "0x25A9A261", + "comment": "Creates a script vehicle generator at the given coordinates. Most parameters after the model hash are unknown.\n\nParameters:\nx/y/z - Generator position\nheading - Generator heading\np4 - Unknown (always 5.0)\np5 - Unknown (always 3.0)\nmodelHash - Vehicle model hash\np7/8/9/10 - Unknown (always -1)\np11 - Unknown (usually TRUE, only one instance of FALSE)\np12/13 - Unknown (always FALSE)\np14 - Unknown (usally FALSE, only two instances of TRUE)\np15 - Unknown (always TRUE)\np16 - Unknown (always -1)\n\nVector3 coords = GET_ENTITY_COORDS(PLAYER_PED_ID(), 0); CREATE_SCRIPT_VEHICLE_GENERATOR(coords.x, coords.y, coords.z, 1.0f, 5.0f, 3.0f, GET_HASH_KEY(\"adder\"), -1. -1, -1, -1, -1, true, false, false, false, true, -1);", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "heading" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "p7" + }, + { + "type": "int", + "name": "p8" + }, + { + "type": "int", + "name": "p9" + }, + { + "type": "int", + "name": "p10" + }, + { + "type": "BOOL", + "name": "p11" + }, + { + "type": "BOOL", + "name": "p12" + }, + { + "type": "BOOL", + "name": "p13" + }, + { + "type": "BOOL", + "name": "p14" + }, + { + "type": "BOOL", + "name": "p15" + }, + { + "type": "int", + "name": "p16" + } + ], + "return_type": "int", + "build": "323" + }, + "0x22102C9ABFCF125D": { + "name": "DELETE_SCRIPT_VEHICLE_GENERATOR", + "jhash": "0xE4328E3F", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleGenerator" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD9D620E0AC6DC4B0": { + "name": "SET_SCRIPT_VEHICLE_GENERATOR", + "jhash": "0x40D73747", + "comment": "Only called once in the decompiled scripts. Presumably activates the specified generator.", + "params": [ + { + "type": "int", + "name": "vehicleGenerator" + }, + { + "type": "BOOL", + "name": "enabled" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC12321827687FE4D": { + "name": "SET_ALL_VEHICLE_GENERATORS_ACTIVE_IN_AREA", + "jhash": "0xB4E0E69A", + "comment": "When p6 is true, vehicle generators are active.\np7 seems to always be true in story mode scripts, but it's sometimes false in online scripts.", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "p7" + } + ], + "return_type": "void", + "build": "323" + }, + "0x34AD89078831A4BC": { + "name": "SET_ALL_VEHICLE_GENERATORS_ACTIVE", + "jhash": "0xAB1FDD76", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x608207E7A8FB787C": { + "name": "SET_ALL_LOW_PRIORITY_VEHICLE_GENERATORS_ACTIVE", + "jhash": "0x87F767F2", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "active" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9A75585FB2E54FAD": { + "name": "SET_VEHICLE_GENERATOR_AREA_OF_INTEREST", + "jhash": "0x935A95DA", + "comment": "Related to car generators & CPlayerSwitchMgrLong", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0A436B8643716D14": { + "name": "CLEAR_VEHICLE_GENERATOR_AREA_OF_INTEREST", + "jhash": "0x6C73E45A", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x49733E92263139D1": { + "name": "SET_VEHICLE_ON_GROUND_PROPERLY", + "jhash": "0xE14FDBA6", + "comment": "Sets a vehicle on the ground on all wheels. Returns whether or not the operation was successful.\n\nsfink: This has an additional param(Vehicle vehicle, float p1) which is always set to 5.0f in the b944 scripts.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE023E8AC4EF7C117": { + "name": "SET_VEHICLE_USE_CUTSCENE_WHEEL_COMPRESSION", + "jhash": "0xA0909ADB", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "SET_ALL_VEHICLES_SPAWN" + ] + }, + "0xB497F06B288DCFDF": { + "name": "IS_VEHICLE_STUCK_ON_ROOF", + "jhash": "0x18D07C6C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB72E26D81006005B": { + "name": "ADD_VEHICLE_UPSIDEDOWN_CHECK", + "jhash": "0x3A13D384", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC53EB42A499A7E90": { + "name": "REMOVE_VEHICLE_UPSIDEDOWN_CHECK", + "jhash": "0xF390BA1B", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5721B434AD84D57A": { + "name": "IS_VEHICLE_STOPPED", + "jhash": "0x655F072C", + "comment": "Returns true if the vehicle's current speed is less than, or equal to 0.0025f.\n\nFor some vehicles it returns true if the current speed is <= 0.00039999999.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x24CB2137731FFE89": { + "name": "GET_VEHICLE_NUMBER_OF_PASSENGERS", + "jhash": "0x1EF20849", + "comment": "Gets the number of passengers.\n\nThis native was modified in b2545 to take two additional parameters, allowing you to include the driver or exclude dead passengers.\n\nTo keep it working like before b2545, set includeDriver to false and includeDeadOccupants to true.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "includeDriver" + }, + { + "type": "BOOL", + "name": "includeDeadOccupants" + } + ], + "return_type": "int", + "build": "323" + }, + "0xA7C4F2C6E744A550": { + "name": "GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS", + "jhash": "0x0A2FC08C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2AD93716F184EDA4": { + "name": "GET_VEHICLE_MODEL_NUMBER_OF_SEATS", + "jhash": "0x838F7BF7", + "comment": "Returns max number of passengers (including the driver) for the specified vehicle model.\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_VEHICLE_MODEL_MAX_NUMBER_OF_PASSENGERS" + ] + }, + "0xF7F203E31F96F6A1": { + "name": "IS_SEAT_WARP_ONLY", + "jhash": "0x769E5CF2", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE33FFA906CE74880": { + "name": "IS_TURRET_SEAT", + "jhash": "0x7C43D32A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4E417C547182C84D": { + "name": "DOES_VEHICLE_ALLOW_RAPPEL", + "jhash": "", + "comment": "Returns true if the vehicle has the FLAG_ALLOWS_RAPPEL flag set.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "757", + "old_names": [ + "_DOES_VEHICLE_ALLOW_RAPPEL" + ] + }, + "0x245A6883D966D537": { + "name": "SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME", + "jhash": "0xF4187E51", + "comment": "Use this native inside a looped function.\nValues:\n- `0.0` = no vehicles on streets\n- `1.0` = normal vehicles on streets", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB3B3359379FE77D3": { + "name": "SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME", + "jhash": "0x543F712B", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEAE6DCC7EEE3DB1D": { + "name": "SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME", + "jhash": "0xDD46CEBE", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD4B8E3D1917BC86B": { + "name": "SET_DISABLE_RANDOM_TRAINS_THIS_FRAME", + "jhash": "0x09462665", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_SOMETHING_MULTIPLIER_THIS_FRAME" + ] + }, + "0x90B6DA738A9A25DA": { + "name": "SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME", + "jhash": "0xDAE2A2BE", + "comment": "", + "params": [ + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_SOME_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME" + ] + }, + "0x26324F33423F3CC3": { + "name": "SET_FAR_DRAW_VEHICLES", + "jhash": "0x9F019C49", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCAA15F13EBD417FF": { + "name": "SET_NUMBER_OF_PARKED_VEHICLES", + "jhash": "0x206A58E8", + "comment": "", + "params": [ + { + "type": "int", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB664292EAECF7FA6": { + "name": "SET_VEHICLE_DOORS_LOCKED", + "jhash": "0x4CDD35D0", + "comment": "enum eVehicleLockState\n{\n\tVEHICLELOCK_NONE,\n\tVEHICLELOCK_UNLOCKED,\n\tVEHICLELOCK_LOCKED,\n\tVEHICLELOCK_LOCKOUT_PLAYER_ONLY,\n\tVEHICLELOCK_LOCKED_PLAYER_INSIDE,\n\tVEHICLELOCK_LOCKED_INITIALLY,\n\tVEHICLELOCK_FORCE_SHUT_DOORS,\n\tVEHICLELOCK_LOCKED_BUT_CAN_BE_DAMAGED,\n\tVEHICLELOCK_LOCKED_BUT_BOOT_UNLOCKED,\n\tVEHICLELOCK_LOCKED_NO_PASSENGERS,\n\tVEHICLELOCK_CANNOT_ENTER\t\n};", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorLockStatus" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBE70724027F85BCD": { + "name": "SET_VEHICLE_INDIVIDUAL_DOORS_LOCKED", + "jhash": "0xD61D182D", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + }, + { + "type": "int", + "name": "doorLockStatus" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_PED_TARGETTABLE_VEHICLE_DESTROY", + "_SET_VEHICLE_DOOR_DESTROY_TYPE" + ] + }, + "0xD8050E0EB60CF274": { + "name": "SET_VEHICLE_HAS_MUTED_SIRENS", + "jhash": "0xC54156A9", + "comment": "If set to true, prevents vehicle sirens from having sound, leaving only the lights.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "DISABLE_VEHICLE_IMPACT_EXPLOSION_ACTIVATION", + "_SET_DISABLE_VEHICLE_SIREN_SOUND" + ] + }, + "0x517AAF684BB50CD1": { + "name": "SET_VEHICLE_DOORS_LOCKED_FOR_PLAYER", + "jhash": "0x49829236", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Player", + "name": "player" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF6AF6CB341349015": { + "name": "GET_VEHICLE_DOORS_LOCKED_FOR_PLAYER", + "jhash": "0x1DC50247", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Player", + "name": "player" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA2F80B8D040727CC": { + "name": "SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS", + "jhash": "0x891BA8A4", + "comment": "After some analysis, I've decided that these are what the parameters are.\n\nWe can see this being used in R* scripts such as \"am_mp_property_int.ysc.c4\":\nl_11A1 = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 1);\n...\nVEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS(l_11A1, 1);", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9737A37136F07E75": { + "name": "SET_VEHICLE_DOORS_LOCKED_FOR_NON_SCRIPT_PLAYERS", + "jhash": "0xE4EF6514", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB81F6D4A8F5EEBA8": { + "name": "SET_VEHICLE_DOORS_LOCKED_FOR_TEAM", + "jhash": "0x4F85E783", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "team" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x203B527D1B77904C": { + "name": "SET_VEHICLE_DOORS_LOCKED_FOR_ALL_TEAMS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_VEHICLE_DOORS_LOCKED_FOR_UNK" + ] + }, + "0x76D26A22750E849E": { + "name": "SET_VEHICLE_DONT_TERMINATE_TASK_WHEN_ACHIEVED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xBA71116ADF5B514C": { + "name": "EXPLODE_VEHICLE", + "jhash": "0xBEDEACEB", + "comment": "Explodes a selected vehicle.\n\nVehicle vehicle = Vehicle you want to explode.\nBOOL isAudible = If explosion makes a sound.\nBOOL isInvisible = If the explosion is invisible or not.\n\nFirst BOOL does not give any visual explosion, the vehicle just falls apart completely but slowly and starts to burn.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "isAudible" + }, + { + "type": "BOOL", + "name": "isInvisible" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF19D095E42D430CC": { + "name": "SET_VEHICLE_OUT_OF_CONTROL", + "jhash": "0x3764D734", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "killDriver" + }, + { + "type": "BOOL", + "name": "explodeOnImpact" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2E0A74E1002380B1": { + "name": "SET_VEHICLE_TIMED_EXPLOSION", + "jhash": "0xDB8CB8E2", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x99AD4CCCB128CBC9": { + "name": "ADD_VEHICLE_PHONE_EXPLOSIVE_DEVICE", + "jhash": "0x811373DE", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA3F739ABDDCF21F": { + "name": "CLEAR_VEHICLE_PHONE_EXPLOSIVE_DEVICE", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "463", + "old_names": [ + "_CLEAR_VEHICLE_PHONE_EXPLOSIVE_DEVICE" + ] + }, + "0x6ADAABD3068C5235": { + "name": "HAS_VEHICLE_PHONE_EXPLOSIVE_DEVICE", + "jhash": "0xA4E69134", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323" + }, + "0xEF49CF0270307CBE": { + "name": "DETONATE_VEHICLE_PHONE_EXPLOSIVE_DEVICE", + "jhash": "0x65255524", + "comment": "", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_REQUEST_VEHICLE_PHONE_EXPLOSION" + ] + }, + "0x598803E85E8448D9": { + "name": "SET_TAXI_LIGHTS", + "jhash": "0x68639D85", + "comment": "This is not tested - it's just an assumption.\n- Nac\n\nDoesn't seem to work. I'll try with an int instead. --JT\n\nRead the scripts, im dumpass. \n\n if (!VEHICLE::IS_TAXI_LIGHT_ON(l_115)) {\n VEHICLE::SET_TAXI_LIGHTS(l_115, 1);\n }", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7504C0F113AB50FC": { + "name": "IS_TAXI_LIGHT_ON", + "jhash": "0x6FC4924A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCEE4490CD57BB3C2": { + "name": "IS_VEHICLE_IN_GARAGE_AREA", + "jhash": "0xA90EC257", + "comment": "garageName example \"Michael - Beverly Hills\"\n\nFull list of garages by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/garages.json", + "params": [ + { + "type": "const char*", + "name": "garageName" + }, + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4F1D4BE3A7F24601": { + "name": "SET_VEHICLE_COLOURS", + "jhash": "0x57F24253", + "comment": "colorPrimary & colorSecondary are the paint index for the vehicle.\nFor a list of valid paint indexes, view: https://pastebin.com/pwHci0xK\n-------------------------------------------------------------------------\nNote: minimum color index is 0, maximum color index is (numColorIndices - 1)\n\nFull list of vehicle colors by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "colorPrimary" + }, + { + "type": "int", + "name": "colorSecondary" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8B7FD87F0DDB421E": { + "name": "SET_VEHICLE_FULLBEAM", + "jhash": "0x9C49CC15", + "comment": "It switch to highbeam when p1 is set to true.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x07116E24E9D1929D": { + "name": "SET_VEHICLE_IS_RACING", + "jhash": "0xA59E3DCD", + "comment": "p1 (toggle) was always 1 (true) except in one case in the b678 scripts.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "STEER_UNLOCK_BIAS" + ] + }, + "0x7141766F91D15BEA": { + "name": "SET_VEHICLE_CUSTOM_PRIMARY_COLOUR", + "jhash": "0x8DF9F9BC", + "comment": "p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB64CF2CCA9D95F52": { + "name": "GET_VEHICLE_CUSTOM_PRIMARY_COLOUR", + "jhash": "0x1C2B9FEF", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0x55E1D2758F34E437": { + "name": "CLEAR_VEHICLE_CUSTOM_PRIMARY_COLOUR", + "jhash": "0x51E1E33D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF095C0405307B21B": { + "name": "GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM", + "jhash": "0xD7EC8760", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x36CED73BFED89754": { + "name": "SET_VEHICLE_CUSTOM_SECONDARY_COLOUR", + "jhash": "0x9D77259E", + "comment": "p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8389CD56CA8072DC": { + "name": "GET_VEHICLE_CUSTOM_SECONDARY_COLOUR", + "jhash": "0x3FF247A2", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5FFBDEEC3E8E2009": { + "name": "CLEAR_VEHICLE_CUSTOM_SECONDARY_COLOUR", + "jhash": "0x7CE00B29", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x910A32E7AAD2656C": { + "name": "GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM", + "jhash": "0x288AD228", + "comment": "Check if Vehicle Secondary is avaliable for customize", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3AFDC536C3D01674": { + "name": "SET_VEHICLE_ENVEFF_SCALE", + "jhash": "0x8332730C", + "comment": "The parameter fade is a value from 0-1, where 0 is fresh paint.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "fade" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_PAINT_FADE" + ] + }, + "0xA82819CAC9C4C403": { + "name": "GET_VEHICLE_ENVEFF_SCALE", + "jhash": "0xD5F1EEE1", + "comment": "The result is a value from 0-1, where 0 is fresh paint.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_PAINT_FADE" + ] + }, + "0x52BBA29D5EC69356": { + "name": "SET_CAN_RESPRAY_VEHICLE", + "jhash": "0x37677590", + "comment": "Hardcoded to not work in multiplayer.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAB31EF4DE6800CE9": { + "name": "SET_GOON_BOSS_VEHICLE", + "jhash": "", + "comment": "Used for GTAO CEO/Associate spawned vehicles.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "573" + }, + "0x1B212B26DD3C04DF": { + "name": "SET_OPEN_REAR_DOORS_ON_EXPLOSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "757" + }, + "0x33506883545AC0DF": { + "name": "FORCE_SUBMARINE_SURFACE_MODE", + "jhash": "0x54E9EE75", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC67DB108A9ADE3BE": { + "name": "FORCE_SUBMARINE_NEURTAL_BUOYANCY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2189" + }, + "0xC59872A5134879C7": { + "name": "SET_SUBMARINE_CRUSH_DEPTHS", + "jhash": "0x4A46E814", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "float", + "name": "depth1" + }, + { + "type": "float", + "name": "depth2" + }, + { + "type": "float", + "name": "depth3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_JITTER_VEHICLE" + ] + }, + "0x3E71D0B300B7AA79": { + "name": "GET_SUBMARINE_IS_UNDER_DESIGN_DEPTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "submarine" + } + ], + "return_type": "BOOL", + "build": "2189", + "old_names": [ + "_GET_SUBMARINE_IS_BELOW_FIRST_CRUSH_DEPTH" + ] + }, + "0x093D6DDCA5B8FBAE": { + "name": "GET_SUBMARINE_NUMBER_OF_AIR_LEAKS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "submarine" + } + ], + "return_type": "int", + "build": "2189", + "old_names": [ + "_GET_SUBMARINE_CRUSH_DEPTH_WARNING_STATE" + ] + }, + "0xED5EDE9E676643C9": { + "name": "SET_BOAT_IGNORE_LAND_PROBES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "944" + }, + "0x85FC953F6C6CBDE1": { + "name": "_SET_BOUNDS_AFFECT_WATER_PROBES", + "jhash": "", + "comment": "Use the vehicle bounds (instead of viewport) when deciding if a vehicle is sufficiently above the water (waterheight.dat), bypassing wave simulation checks", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x75DBEC174AEEAD10": { + "name": "SET_BOAT_ANCHOR", + "jhash": "0xA3906284", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x26C10ECBDA5D043B": { + "name": "CAN_ANCHOR_BOAT_HERE", + "jhash": "0xE97A4F5E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_BOAT_ANCHOR", + "_CAN_BOAT_BE_ANCHORED" + ] + }, + "0x24F4121D07579880": { + "name": "CAN_ANCHOR_BOAT_HERE_IGNORE_PLAYERS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "678", + "old_names": [ + "_CAN_BOAT_BE_ANCHORED_2", + "_CAN_ANCHOR_BOAT_HERE_2" + ] + }, + "0xE3EBAAE484798530": { + "name": "SET_BOAT_REMAINS_ANCHORED_WHILE_PLAYER_IS_DRIVER", + "jhash": "0x0ED84792", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BOAT_FROZEN_WHEN_ANCHORED" + ] + }, + "0xB28B1FE5BFADD7F5": { + "name": "SET_FORCE_LOW_LOD_ANCHOR_MODE", + "jhash": "0xA739012A", + "comment": "No observed effect.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE842A9398079BD82": { + "name": "SET_BOAT_LOW_LOD_ANCHOR_DISTANCE", + "jhash": "0x66FA450C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BOAT_ANCHOR_BUOYANCY_COEFFICIENT", + "_SET_BOAT_MOVEMENT_RESISTANCE" + ] + }, + "0xB0AD1238A709B1A2": { + "name": "IS_BOAT_ANCHORED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "573", + "old_names": [ + "_IS_BOAT_ANCHORED_AND_FROZEN" + ] + }, + "0x8F719973E1445BA2": { + "name": "SET_BOAT_SINKS_WHEN_WRECKED", + "jhash": "0x35614622", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BOAT_EXPLODES_ON_WRECKED_ACTION" + ] + }, + "0xBD32E46AA95C1DD2": { + "name": "SET_BOAT_WRECKED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "757", + "old_names": [ + "_SET_BOAT_SINKING", + "_SET_BOAT_IS_SINKING" + ] + }, + "0xF4924635A19EB37D": { + "name": "SET_VEHICLE_SIREN", + "jhash": "0x4AC1EFC7", + "comment": "Activate siren on vehicle (Only works if the vehicle has a siren).", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4C9BF537BE2634B2": { + "name": "IS_VEHICLE_SIREN_ON", + "jhash": "0x25EB5873", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB5CC40FBCB586380": { + "name": "IS_VEHICLE_SIREN_AUDIO_ON", + "jhash": "0xC9458688", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_VEHICLE_SIREN_SOUND_ON" + ] + }, + "0x3E8C8727991A8A0B": { + "name": "SET_VEHICLE_STRONG", + "jhash": "0xC758D19F", + "comment": "If set to true, vehicle will not take crash damage, but is still susceptible to damage from bullets and explosives", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8386BFB614D06749": { + "name": "REMOVE_VEHICLE_STUCK_CHECK", + "jhash": "0x81594917", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA19435F193E081AC": { + "name": "GET_VEHICLE_COLOURS", + "jhash": "0x40D82D88", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "colorPrimary" + }, + { + "type": "int*", + "name": "colorSecondary" + } + ], + "return_type": "void", + "build": "323" + }, + "0x22AC59A870E6A669": { + "name": "IS_VEHICLE_SEAT_FREE", + "jhash": "0xDAF42B02", + "comment": "Check if a vehicle seat is free.\n\nseatIndex = -1 being the driver seat.\nUse GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(vehicle) - 1 for last seat index.\nisTaskRunning = on true the function returns already false while a task on the target seat is running (TASK_ENTER_VEHICLE/TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT) - on false only when a ped is finally sitting in the seat.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + }, + { + "type": "BOOL", + "name": "isTaskRunning" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBB40DD2270B65366": { + "name": "GET_PED_IN_VEHICLE_SEAT", + "jhash": "0x388FDE9A", + "comment": "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.\n\nSeat indexes:\n-1 = Driver\n0 = Front Right Passenger\n1 = Back Left Passenger\n2 = Back Right Passenger\n3 = Further Back Left Passenger (vehicles > 4 seats)\n4 = Further Back Right Passenger (vehicles > 4 seats)\netc.\n\nIf p2 is true it uses a different GetOccupant function.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0x83F969AA1EE2A664": { + "name": "GET_LAST_PED_IN_VEHICLE_SEAT", + "jhash": "0xF7C6792D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + } + ], + "return_type": "Ped", + "build": "323" + }, + "0xB91B4C20085BD12F": { + "name": "GET_VEHICLE_LIGHTS_STATE", + "jhash": "0x7C278621", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL*", + "name": "lightsOn" + }, + { + "type": "BOOL*", + "name": "highbeamsOn" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBA291848A0815CA9": { + "name": "IS_VEHICLE_TYRE_BURST", + "jhash": "0x48C80210", + "comment": "wheelID used for 4 wheelers seem to be (0, 1, 4, 5)\ncompletely - is to check if tire completely gone from rim.\n\n'0 = wheel_lf / bike, plane or jet front\n'1 = wheel_rf\n'2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left\n'3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right\n'4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left\n'5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right\n'45 = 6 wheels trailer mid wheel left\n'47 = 6 wheels trailer mid wheel right", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelID" + }, + { + "type": "BOOL", + "name": "completely" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAB54A438726D25D5": { + "name": "SET_VEHICLE_FORWARD_SPEED", + "jhash": "0x69880D14", + "comment": "SCALE: Setting the speed to 30 would result in a speed of roughly 60mph, according to speedometer.\n\nSpeed is in meters per second\nYou can convert meters/s to mph here:\nhttp://www.calculateme.com/Speed/MetersperSecond/ToMilesperHour.htm", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6501129C9E0FFA05": { + "name": "SET_VEHICLE_FORWARD_SPEED_XY", + "jhash": "", + "comment": "Seems to be identical to SET_VEHICLE_FORWARD_SPEED", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "877" + }, + "0x260BE8F09E326A20": { + "name": "BRING_VEHICLE_TO_HALT", + "jhash": "0xCBC7D3C8", + "comment": "This native makes the vehicle stop immediately, as happens when we enter a MP garage.\n\n. distance defines how far it will travel until stopping. Garage doors use 3.0.\n\n. If killEngine is set to 1, you cannot resume driving the vehicle once it stops. This looks like is a bitmapped integer.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "distance" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_HALT" + ] + }, + "0xDCE97BDF8A0EABC8": { + "name": "SET_VEHICLE_STEER_FOR_BUILDINGS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x9849DE24FCF23CCC": { + "name": "SET_VEHICLE_CAUSES_SWERVING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x8664170EF165C4A6": { + "name": "SET_IGNORE_PLANES_SMALL_PITCH_CHANGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "2189" + }, + "0x7C06330BFDDA182E": { + "name": "STOP_BRINGING_VEHICLE_TO_HALT", + "jhash": "", + "comment": "Stops CTaskBringVehicleToHalt", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_STOP_BRING_VEHICLE_TO_HALT" + ] + }, + "0xC69BB1D832A710EF": { + "name": "IS_VEHICLE_BEING_BROUGHT_TO_HALT", + "jhash": "", + "comment": "Returns true if vehicle is halted by BRING_VEHICLE_TO_HALT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1493", + "old_names": [ + "_IS_VEHICLE_BEING_HALTED" + ] + }, + "0x923A293361DF44E5": { + "name": "LOWER_FORKLIFT_FORKS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "forklift" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x37EBBF3117BD6A25": { + "name": "SET_FORKLIFT_FORK_HEIGHT", + "jhash": "0x943A6CFC", + "comment": "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", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "height" + } + ], + "return_type": "void", + "build": "323" + }, + "0x57715966069157AD": { + "name": "IS_ENTITY_ATTACHED_TO_HANDLER_FRAME", + "jhash": "0x7FB25568", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "SET_PED_ENABLED_BIKE_RINGTONE", + "_IS_VEHICLE_NEAR_ENTITY" + ] + }, + "0x62CA17B74C435651": { + "name": "IS_ANY_ENTITY_ATTACHED_TO_HANDLER_FRAME", + "jhash": "0x593143B9", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x375E7FC44F21C8AB": { + "name": "FIND_HANDLER_VEHICLE_CONTAINER_IS_ATTACHED_TO", + "jhash": "0x70DD5E25", + "comment": "Finds the vehicle that is carrying this entity with a handler frame.\nThe model of the entity must be prop_contr_03b_ld or the function will return 0.", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "Vehicle", + "build": "323", + "old_names": [ + "_GET_VEHICLE_ATTACHED_TO_ENTITY", + "_FIND_VEHICLE_CARRYING_THIS_ENTITY" + ] + }, + "0x89D630CF5EA96D23": { + "name": "IS_HANDLER_FRAME_LINED_UP_WITH_CONTAINER", + "jhash": "0xFBF5536A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_HANDLER_FRAME_ABOVE_CONTAINER" + ] + }, + "0x6A98C2ECF57FA5D4": { + "name": "ATTACH_CONTAINER_TO_HANDLER_FRAME_WHEN_LINED_UP", + "jhash": "0x20AB5783", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7C0043FDFF6436BC": { + "name": "DETACH_CONTAINER_FROM_HANDLER_FRAME", + "jhash": "0x0F11D01F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8AA9180DE2FEDD45": { + "name": "SET_VEHICLE_DISABLE_HEIGHT_MAP_AVOIDANCE", + "jhash": "0xAE040377", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0A6A279F3AA4FD70": { + "name": "SET_BOAT_DISABLE_AVOIDANCE", + "jhash": "0x4C0E4031", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x634148744F385576": { + "name": "IS_HELI_LANDING_AREA_BLOCKED", + "jhash": "0x6346B7CC", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x107A473D7A6647A9": { + "name": "SET_SHORT_SLOWDOWN_FOR_LANDING", + "jhash": "", + "comment": "Used on helicopters and blimps during the CTaskVehicleLand task. Sets a value on the task to 10f", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xE6F13851780394DA": { + "name": "SET_HELI_TURBULENCE_SCALAR", + "jhash": "0xCCB41A55", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFC40CBF7B90CA77C": { + "name": "SET_CAR_BOOT_OPEN", + "jhash": "", + "comment": "Initially used in Max Payne 3, that's why we know the name.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "877" + }, + "0xEC6A202EE4960385": { + "name": "SET_VEHICLE_TYRE_BURST", + "jhash": "0x89D28068", + "comment": "\"To burst tyres VEHICLE::SET_VEHICLE_TYRE_BURST(vehicle, 0, true, 1000.0)\nto burst all tyres type it 8 times where p1 = 0 to 7.\n\np3 seems to be how much damage it has taken. 0 doesn't deflate them, 1000 completely deflates them.\n\n'0 = wheel_lf / bike, plane or jet front\n'1 = wheel_rf\n'2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left\n'3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right\n'4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left\n'5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right\n'45 = 6 wheels trailer mid wheel left\n'47 = 6 wheels trailer mid wheel right", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "index" + }, + { + "type": "BOOL", + "name": "onRim" + }, + { + "type": "float", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x781B3D62BB013EF5": { + "name": "SET_VEHICLE_DOORS_SHUT", + "jhash": "0xBB1FF6E7", + "comment": "Closes all doors of a vehicle:", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "closeInstantly" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEB9DC3C7D8596C46": { + "name": "SET_VEHICLE_TYRES_CAN_BURST", + "jhash": "0xA198DB54", + "comment": "Allows you to toggle bulletproof tires.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x678B9BB8C3F58FEB": { + "name": "GET_VEHICLE_TYRES_CAN_BURST", + "jhash": "0x4D76CD2F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x29B18B4FD460CA8F": { + "name": "SET_VEHICLE_WHEELS_CAN_BREAK", + "jhash": "0x829ED654", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "enabled" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7C65DAC73C35C862": { + "name": "SET_VEHICLE_DOOR_OPEN", + "jhash": "0xBB75D38B", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + }, + { + "type": "BOOL", + "name": "loose" + }, + { + "type": "BOOL", + "name": "openInstantly" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3B458DDB57038F08": { + "name": "SET_VEHICLE_DOOR_AUTO_LOCK", + "jhash": "", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT\n\nUsually used alongside other vehicle door natives.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "877" + }, + "0xA247F9EF01D8082E": { + "name": "SET_FLEEING_VEHICLES_USE_SWITCHED_OFF_NODES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xA711568EEDB43069": { + "name": "REMOVE_VEHICLE_WINDOW", + "jhash": "0xBB8104A3", + "comment": "windowIndex:\n0 = Front Right Window\n1 = Front Left Window\n2 = Back Right Window\n3 = Back Left Window\n4 = Unknown\n5 = Unknown\n6 = Windscreen\n7 = Rear Windscreen", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "windowIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x85796B0549DDE156": { + "name": "ROLL_DOWN_WINDOWS", + "jhash": "0x51A16DC6", + "comment": "Roll down all the windows of the vehicle passed through the first parameter.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7AD9E6CE657D69E3": { + "name": "ROLL_DOWN_WINDOW", + "jhash": "0xF840134C", + "comment": "windowIndex:\n0 = Front Left Window\n1 = Front Right Window\n2 = Rear Left Window\n3 = Rear Right Window\n4 = Front Windscreen\n5 = Rear Windscreen\n6 = Mid Left\n7 = Mid Right\n8 = Invalid", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "windowIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x602E548F46E24D59": { + "name": "ROLL_UP_WINDOW", + "jhash": "0x83B7E06A", + "comment": "windowIndex:\n0 = Front Left Window\n1 = Front Right Window\n2 = Rear Left Window\n3 = Rear Right Window\n4 = Front Windscreen\n5 = Rear Windscreen\n6 = Mid Left\n7 = Mid Right\n8 = Invalid", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "windowIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9E5B5E4D2CCD2259": { + "name": "SMASH_VEHICLE_WINDOW", + "jhash": "0xDDD9A8C2", + "comment": "windowIndex:\n0 = Front Left Window\n1 = Front Right Window\n2 = Rear Left Window\n3 = Rear Right Window\n4 = Front Windscreen\n5 = Rear Windscreen\n6 = Mid Left\n7 = Mid Right\n8 = Invalid", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "windowIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x772282EBEB95E682": { + "name": "FIX_VEHICLE_WINDOW", + "jhash": "0x6B8E990D", + "comment": "windowIndex:\n0 = Front Left Window\n1 = Front Right Window\n2 = Rear Left Window\n3 = Rear Right Window\n4 = Front Windscreen\n5 = Rear Windscreen\n6 = Mid Left\n7 = Mid Right\n8 = Invalid\n\nAdditional information: FIX_VEHICLE_WINDOW (0x140D0BB88) references an array of bone vehicle indices (0x141D4B3E0) { 2Ah, 2Bh, 2Ch, 2Dh, 2Eh, 2Fh, 28h, 29h } that correspond to: window_lf, window_rf, window_lr, window_rr, window_lm, window_rm, windscreen, windscreen_r. This array is used by most vehwindow natives.\n\nAlso, this function is coded to not work on vehicles of type: CBike, Bmx, CBoat, CTrain, and CSubmarine.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "windowIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6D645D59FB5F5AD3": { + "name": "POP_OUT_VEHICLE_WINDSCREEN", + "jhash": "0xCC95C96B", + "comment": "Detaches the vehicle's windscreen.\nFor further information, see : gtaforums.com/topic/859570-glass/#entry1068894566", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DETACH_VEHICLE_WINDSCREEN" + ] + }, + "0xE38CB9D7D39FDBCC": { + "name": "POP_OFF_VEHICLE_ROOF_WITH_IMPULSE", + "jhash": "0xFDA7B6CA", + "comment": "Pops off the \"roof\" bone in the direction of the specified offset from the vehicle.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_EJECT_JB700_ROOF" + ] + }, + "0x34E710FF01247C5A": { + "name": "SET_VEHICLE_LIGHTS", + "jhash": "0xE8930226", + "comment": "set's if the vehicle has lights or not.\nnot an on off toggle.\np1 = 0 ;vehicle normal lights, off then lowbeams, then highbeams\np1 = 1 ;vehicle doesn't have lights, always off\np1 = 2 ;vehicle has always on lights\np1 = 3 ;or even larger like 4,5,... normal lights like =1\nnote1: when using =2 on day it's lowbeam,highbeam\nbut at night it's lowbeam,lowbeam,highbeam\nnote2: when using =0 it's affected by day or night for highbeams don't exist in daytime.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC45C27EF50F36ADC": { + "name": "SET_VEHICLE_USE_PLAYER_LIGHT_SETTINGS", + "jhash": "0x4221E435", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_USE_PLAYER_LIGHT_SETTINGS" + ] + }, + "0x1FD09E7390A74D54": { + "name": "SET_VEHICLE_HEADLIGHT_SHADOWS", + "jhash": "", + "comment": "p1 can be either 0, 1 or 2.\n\nDetermines how vehicle lights behave when toggled.\n\n0 = Default (Lights can be toggled between off, normal and high beams)\n1 = Lights Disabled (Lights are fully disabled, cannot be toggled)\n2 = Always On (Lights can be toggled between normal and high beams)", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_LIGHTS_MODE" + ] + }, + "0xCDE5E70C1DDB954C": { + "name": "SET_VEHICLE_ALARM", + "jhash": "0x24877D84", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB8FF7AB45305C345": { + "name": "START_VEHICLE_ALARM", + "jhash": "0x5B451FF7", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4319E335B71FFF34": { + "name": "IS_VEHICLE_ALARM_ACTIVATED", + "jhash": "0xF2630A4C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBC2042F090AF6AD3": { + "name": "SET_VEHICLE_INTERIORLIGHT", + "jhash": "0x9AD1FE1E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8821196D91FA2DE5": { + "name": "SET_VEHICLE_FORCE_INTERIORLIGHT", + "jhash": "", + "comment": "Sets some bit of vehicle", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xB385454F8791F57C": { + "name": "SET_VEHICLE_LIGHT_MULTIPLIER", + "jhash": "0x48039D6A", + "comment": "multiplier = brightness of head lights.\nthis value isn't capped afaik.\n\nmultiplier = 0.0 no lights\nmultiplier = 1.0 default game value\n", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3C7D42D58F770B54": { + "name": "ATTACH_VEHICLE_TO_TRAILER", + "jhash": "0x2133977F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle", + "name": "trailer" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "void", + "build": "323" + }, + "0x16B5E274BDE402F8": { + "name": "ATTACH_VEHICLE_ON_TO_TRAILER", + "jhash": "0x12AC1A16", + "comment": "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", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle", + "name": "trailer" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + }, + { + "type": "float", + "name": "coordsX" + }, + { + "type": "float", + "name": "coordsY" + }, + { + "type": "float", + "name": "coordsZ" + }, + { + "type": "float", + "name": "rotationX" + }, + { + "type": "float", + "name": "rotationY" + }, + { + "type": "float", + "name": "rotationZ" + }, + { + "type": "float", + "name": "disableCollisions" + } + ], + "return_type": "void", + "build": "323" + }, + "0x374706271354CB18": { + "name": "STABILISE_ENTITY_ATTACHED_TO_HELI", + "jhash": "0x40C4763F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x90532EDF0D2BDD86": { + "name": "DETACH_VEHICLE_FROM_TRAILER", + "jhash": "0xB5DBF91D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE7CF3C4F9F489F0C": { + "name": "IS_VEHICLE_ATTACHED_TO_TRAILER", + "jhash": "0xE142BBCC", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2A8F319B392E7B3F": { + "name": "SET_TRAILER_INVERSE_MASS_SCALE", + "jhash": "0xE74E85CE", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x95CF53B3D687F9FA": { + "name": "SET_TRAILER_LEGS_RAISED", + "jhash": "0x06C47A6F", + "comment": "in the decompiled scripts, seems to be always called on the vehicle right after being attached to a trailer.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x878C75C09FBDB942": { + "name": "SET_TRAILER_LEGS_LOWERED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_TRAILER_LEGS_LOWERED" + ] + }, + "0x6E13FC662B882D1D": { + "name": "SET_VEHICLE_TYRE_FIXED", + "jhash": "0xA42EFA6B", + "comment": "tyreIndex = 0 to 4 on normal vehicles\n\n'0 = wheel_lf / bike, plane or jet front\n'1 = wheel_rf\n'2 = wheel_lm / in 6 wheels trailer, plane or jet is first one on left\n'3 = wheel_rm / in 6 wheels trailer, plane or jet is first one on right\n'4 = wheel_lr / bike rear / in 6 wheels trailer, plane or jet is last one on left\n'5 = wheel_rr / in 6 wheels trailer, plane or jet is last one on right\n'45 = 6 wheels trailer mid wheel left\n'47 = 6 wheels trailer mid wheel right", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "tyreIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x95A88F0B409CDA47": { + "name": "SET_VEHICLE_NUMBER_PLATE_TEXT", + "jhash": "0x400F9556", + "comment": "Sets a vehicle's license plate text. 8 chars maximum.\n\nExample:\nPed playerPed = PLAYER::PLAYER_PED_ID();\nVehicle veh = PED::GET_VEHICLE_PED_IS_USING(playerPed);\nchar *plateText = \"KING\";\nVEHICLE::SET_VEHICLE_NUMBER_PLATE_TEXT(veh, plateText);", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "const char*", + "name": "plateText" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7CE1CCB9B293020E": { + "name": "GET_VEHICLE_NUMBER_PLATE_TEXT", + "jhash": "0xE8522D58", + "comment": "Returns the license plate text from a vehicle. 8 chars maximum.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x4C4D6B2644F458CB": { + "name": "GET_NUMBER_OF_VEHICLE_NUMBER_PLATES", + "jhash": "0xD24BC1AE", + "comment": "Returns the number of *types* of licence plates, enumerated below in SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX.", + "params": [], + "return_type": "int", + "build": "323" + }, + "0x9088EB5A43FFB0A1": { + "name": "SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX", + "jhash": "0xA1A1890E", + "comment": "Plates:\nBlue/White - 0\nYellow/black - 1\nYellow/Blue - 2\nBlue/White2 - 3\nBlue/White3 - 4\nYankton - 5", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "plateIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF11BC2DD9A3E7195": { + "name": "GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX", + "jhash": "0x499747B6", + "comment": "Returns the PlateType of a vehicle\n Blue_on_White_1 = 3,\n Blue_on_White_2 = 0,\n Blue_on_White_3 = 4,\n Yellow_on_Blue = 2,\n Yellow_on_Black = 1,\n North_Yankton = 5,", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x80D9F74197EA47D9": { + "name": "SET_RANDOM_TRAINS", + "jhash": "0xD461CA7F", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x63C6CCA8E68AE8C8": { + "name": "CREATE_MISSION_TRAIN", + "jhash": "0xD4C2EAFD", + "comment": "Train models HAVE TO be loaded (requested) before you use this.\nFor variation 15 - request:\n\nfreight\nfreightcar\nfreightgrain\nfreightcont1\nfreightcont2\nfreighttrailer\n\n", + "params": [ + { + "type": "int", + "name": "variation" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "direction" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xFD813BB7DB977F20": { + "name": "SWITCH_TRAIN_TRACK", + "jhash": "0x68BFDD61", + "comment": "Toggles whether ambient trains can spawn on the specified track or not\n\n`trackId` is the internal id of the train track to switch.\n`state` is whether ambient trains can spawn or not\n\ntrackIds\n0 (`trains1.dat`) Main track around SA\n1 (`trains2.dat`) Davis Quartz Quarry branch\n2 (`trains3.dat`) Second track alongside live track along Roy Lewenstein Blv.\n3 (`trains4.dat`) Metro track circuit\n4 (`trains5.dat`) Branch in Mirror Park Railyard\n5 (`trains6.dat`) Branch in Mirror Park Railyard\n6 (`trains7.dat`) LS branch to Mirror Park Railyard\n7 (`trains8.dat`) Overground part of metro track along Forum Dr.\n8 (`trains9.dat`) Branch to Mirror Park Railyard\n9 (`trains10.dat`) Yankton train\n10 (`trains11.dat`) Part of metro track near mission row\n11 (`trains12.dat`) Yankton prologue mission train\nFull list of all train tracks + track nodes by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/traintracks.json", + "params": [ + { + "type": "int", + "name": "trackId" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0x21973BBF8D17EDFA": { + "name": "SET_TRAIN_TRACK_SPAWN_FREQUENCY", + "jhash": "0xD5774FB7", + "comment": "Only called once inside main_persitant with the parameters p0 = 0, p1 = 120000\n\ntrackIndex: 0 - 26\nFull list of all train tracks + track nodes by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/traintracks.json", + "params": [ + { + "type": "int", + "name": "trackIndex" + }, + { + "type": "int", + "name": "frequency" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2310A8F9421EBF43": { + "name": "ALLOW_TRAIN_TO_BE_REMOVED_BY_POPULATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "2372" + }, + "0x736A718577F39C7D": { + "name": "DELETE_ALL_TRAINS", + "jhash": "0x83DE7ABF", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xAA0BC91BE0B796E3": { + "name": "SET_TRAIN_SPEED", + "jhash": "0xDFC35E4D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "train" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x16469284DB8C62B5": { + "name": "SET_TRAIN_CRUISE_SPEED", + "jhash": "0xB507F51D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "train" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x84436EC293B1415F": { + "name": "SET_RANDOM_BOATS", + "jhash": "0xB505BD89", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDA5E12F728DB30CA": { + "name": "SET_RANDOM_BOATS_MP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_RANDOM_BOATS_IN_MP" + ] + }, + "0x2AFD795EEAC8D30D": { + "name": "SET_GARBAGE_TRUCKS", + "jhash": "0xD9ABB0FF", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x57E4C39DE5EE8470": { + "name": "DOES_VEHICLE_HAVE_STUCK_VEHICLE_CHECK", + "jhash": "0x5D91D9AC", + "comment": "Maximum amount of vehicles with vehicle stuck check appears to be 16.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x21543C612379DB3C": { + "name": "GET_VEHICLE_RECORDING_ID", + "jhash": "0x328D601D", + "comment": "See REQUEST_VEHICLE_RECORDING", + "params": [ + { + "type": "int", + "name": "recording" + }, + { + "type": "const char*", + "name": "script" + } + ], + "return_type": "int", + "build": "323" + }, + "0xAF514CABE74CBF15": { + "name": "REQUEST_VEHICLE_RECORDING", + "jhash": "0x91AFEFD9", + "comment": "Request the vehicle recording defined by the lowercase format string \"%s%03d.yvr\". For example, REQUEST_VEHICLE_RECORDING(1, \"FBIs1UBER\") corresponds to fbis1uber001.yvr.\nFor all vehicle recording/playback natives, \"script\" is a common prefix that usually corresponds to the script/mission the recording is used in, \"recording\" is its int suffix, and \"id\" (e.g., in native GET_TOTAL_DURATION_OF_VEHICLE_RECORDING_ID) corresponds to a unique identifier within the recording streaming module.\nNote that only 24 recordings (hardcoded in multiple places) can ever active at a given time before clobbering begins.", + "params": [ + { + "type": "int", + "name": "recording" + }, + { + "type": "const char*", + "name": "script" + } + ], + "return_type": "void", + "build": "323" + }, + "0x300D614A4C785FC4": { + "name": "HAS_VEHICLE_RECORDING_BEEN_LOADED", + "jhash": "0xF52CD7F5", + "comment": "See REQUEST_VEHICLE_RECORDING", + "params": [ + { + "type": "int", + "name": "recording" + }, + { + "type": "const char*", + "name": "script" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xF1160ACCF98A3FC8": { + "name": "REMOVE_VEHICLE_RECORDING", + "jhash": "0xD3C05B00", + "comment": "See REQUEST_VEHICLE_RECORDING", + "params": [ + { + "type": "int", + "name": "recording" + }, + { + "type": "const char*", + "name": "script" + } + ], + "return_type": "void", + "build": "323" + }, + "0x92523B76657A517D": { + "name": "GET_POSITION_OF_VEHICLE_RECORDING_ID_AT_TIME", + "jhash": "0xF31973BB", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + }, + { + "type": "float", + "name": "time" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xD242728AA6F0FBA2": { + "name": "GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME", + "jhash": "0x7178558D", + "comment": "This native does no interpolation between pathpoints. The same position will be returned for all times up to the next pathpoint in the recording.\n\nSee REQUEST_VEHICLE_RECORDING", + "params": [ + { + "type": "int", + "name": "recording" + }, + { + "type": "float", + "name": "time" + }, + { + "type": "const char*", + "name": "script" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0xF0F2103EFAF8CBA7": { + "name": "GET_ROTATION_OF_VEHICLE_RECORDING_ID_AT_TIME", + "jhash": "0x4D1C15C2", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + }, + { + "type": "float", + "name": "time" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x2058206FBE79A8AD": { + "name": "GET_ROTATION_OF_VEHICLE_RECORDING_AT_TIME", + "jhash": "0xD96DEC68", + "comment": "This native does no interpolation between pathpoints. The same rotation will be returned for all times up to the next pathpoint in the recording.\n\nSee REQUEST_VEHICLE_RECORDING", + "params": [ + { + "type": "int", + "name": "recording" + }, + { + "type": "float", + "name": "time" + }, + { + "type": "const char*", + "name": "script" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x102D125411A7B6E6": { + "name": "GET_TOTAL_DURATION_OF_VEHICLE_RECORDING_ID", + "jhash": "0x7116785E", + "comment": "", + "params": [ + { + "type": "int", + "name": "id" + } + ], + "return_type": "float", + "build": "323" + }, + "0x0E48D1C262390950": { + "name": "GET_TOTAL_DURATION_OF_VEHICLE_RECORDING", + "jhash": "0x5B35EEB7", + "comment": "See REQUEST_VEHICLE_RECORDING", + "params": [ + { + "type": "int", + "name": "recording" + }, + { + "type": "const char*", + "name": "script" + } + ], + "return_type": "float", + "build": "323" + }, + "0x2DACD605FC681475": { + "name": "GET_POSITION_IN_RECORDING", + "jhash": "0x7DCD644C", + "comment": "Distance traveled in the vehicles current recording.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0x5746F3A7AB7FE544": { + "name": "GET_TIME_POSITION_IN_RECORDING", + "jhash": "0xF8C3E4A2", + "comment": "Can be used with GET_TOTAL_DURATION_OF_VEHICLE_RECORDING{_ID} to compute a percentage.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0x3F878F92B3A7A071": { + "name": "START_PLAYBACK_RECORDED_VEHICLE", + "jhash": "0xCF614CA8", + "comment": "p3 is some flag related to 'trailers' (invokes CVehicle::GetTrailer).\n\nSee REQUEST_VEHICLE_RECORDING", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "recording" + }, + { + "type": "const char*", + "name": "script" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7D80FD645D4DA346": { + "name": "START_PLAYBACK_RECORDED_VEHICLE_WITH_FLAGS", + "jhash": "0x4E721AD2", + "comment": "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.\n\ntime, often zero and capped at 500, is related to SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "recording" + }, + { + "type": "const char*", + "name": "script" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "int", + "name": "drivingStyle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1F2E4E06DEA8992B": { + "name": "FORCE_PLAYBACK_RECORDED_VEHICLE_UPDATE", + "jhash": "0x01B91CD0", + "comment": "Often called after START_PLAYBACK_RECORDED_VEHICLE and SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE; similar in use to FORCE_ENTITY_AI_AND_ANIMATION_UPDATE.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x54833611C17ABDEA": { + "name": "STOP_PLAYBACK_RECORDED_VEHICLE", + "jhash": "0xAE99C57C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x632A689BF42301B1": { + "name": "PAUSE_PLAYBACK_RECORDED_VEHICLE", + "jhash": "0xCCF54912", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8879EE09268305D5": { + "name": "UNPAUSE_PLAYBACK_RECORDED_VEHICLE", + "jhash": "0x59060F75", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1C8A4C2C19E68EEC": { + "name": "IS_PLAYBACK_GOING_ON_FOR_VEHICLE", + "jhash": "0x61F7650D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAEA8FD591FAD4106": { + "name": "IS_PLAYBACK_USING_AI_GOING_ON_FOR_VEHICLE", + "jhash": "0x63022C58", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x42BC05C27A946054": { + "name": "GET_CURRENT_PLAYBACK_FOR_VEHICLE", + "jhash": "0xA3F44390", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0xAB8E2EDA0C0A5883": { + "name": "SKIP_TO_END_AND_STOP_PLAYBACK_RECORDED_VEHICLE", + "jhash": "0x8DEA18C8", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6683AB880E427778": { + "name": "SET_PLAYBACK_SPEED", + "jhash": "0x684E26E4", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x29DE5FA52D00428C": { + "name": "START_PLAYBACK_RECORDED_VEHICLE_USING_AI", + "jhash": "0x8DE8E24E", + "comment": "AI abides by the provided driving style (e.g., stopping at red lights or waiting behind traffic) while executing the specificed vehicle recording.\n\nFORCE_PLAYBACK_RECORDED_VEHICLE_UPDATE is a related native that deals with the AI physics for such recordings.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "recording" + }, + { + "type": "const char*", + "name": "script" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "int", + "name": "drivingStyle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9438F7AD68771A20": { + "name": "SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE", + "jhash": "0xCF3EFA4B", + "comment": "SET_TIME_POSITION_IN_RECORDING can be emulated by: desired_time - GET_TIME_POSITION_IN_RECORDING(vehicle)", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "time" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA549C3B37EA28131": { + "name": "SET_PLAYBACK_TO_USE_AI", + "jhash": "0xB536CCD7", + "comment": "Identical to SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER with 0 as arguments for p1 and p3.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "drivingStyle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E63860BBB190730": { + "name": "SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER", + "jhash": "0x0C8ABAA4", + "comment": "Time is number of milliseconds before reverting, zero for indefinitely.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "time" + }, + { + "type": "int", + "name": "drivingStyle" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5845066D8A1EA7F7": { + "name": "SET_ADDITIONAL_ROTATION_FOR_RECORDED_VEHICLE_PLAYBACK", + "jhash": "0x943A58EB", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x796A877E459B99EA": { + "name": "SET_POSITION_OFFSET_FOR_RECORDED_VEHICLE_PLAYBACK", + "jhash": "0x5C9F477C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFAF2A78061FD9EF4": { + "name": "SET_GLOBAL_POSITION_OFFSET_FOR_RECORDED_VEHICLE_PLAYBACK", + "jhash": "0xCD83C393", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x063AE2B2CC273588": { + "name": "SET_SHOULD_LERP_FROM_AI_TO_FULL_RECORDING", + "jhash": "0x2EF8435C", + "comment": "A vehicle recording playback flag only used in jewelry_heist", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x786A4EB67B01BF0B": { + "name": "EXPLODE_VEHICLE_IN_CUTSCENE", + "jhash": "0xA85207B5", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2FA9923062DD396C": { + "name": "ADD_VEHICLE_STUCK_CHECK_WITH_WARP", + "jhash": "0xC8B789AD", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + }, + { + "type": "BOOL", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0FC2D89AC25A5814": { + "name": "SET_VEHICLE_MODEL_IS_SUPPRESSED", + "jhash": "0x42A08C9B", + "comment": "Makes the vehicle stop spawning naturally in traffic. Here's an essential example:\n\nVEHICLE::SET_VEHICLE_MODEL_IS_SUPPRESSED(MISC::GET_HASH_KEY(\"taco\"), true);\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "model" + }, + { + "type": "BOOL", + "name": "suppressed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x386F6CE5BAF6091C": { + "name": "GET_RANDOM_VEHICLE_IN_SPHERE", + "jhash": "0x57216D03", + "comment": "Gets a random vehicle in a sphere at the specified position, of the specified radius.\n\nx: The X-component of the position of the sphere.\ny: The Y-component of the position of the sphere.\nz: The Z-component of the position of the sphere.\nradius: The radius of the sphere. Max is 9999.9004.\nmodelHash: The vehicle model to limit the selection to. Pass 0 for any model.\nflags: The bitwise flags that modifies the behaviour of this function.\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xC5574E0AEB86BA68": { + "name": "GET_RANDOM_VEHICLE_FRONT_BUMPER_IN_SPHERE", + "jhash": "0xDCADEB66", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "p5" + }, + { + "type": "int", + "name": "p6" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xB50807EABE20A8DC": { + "name": "GET_RANDOM_VEHICLE_BACK_BUMPER_IN_SPHERE", + "jhash": "0xD6343F6B", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "int", + "name": "p4" + }, + { + "type": "int", + "name": "p5" + }, + { + "type": "int", + "name": "p6" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xF73EB622C4F1689B": { + "name": "GET_CLOSEST_VEHICLE", + "jhash": "0xD7E26B2C", + "comment": "Example usage\nVEHICLE::GET_CLOSEST_VEHICLE(x, y, z, radius, hash, unknown leave at 70) \n\nx, y, z: Position to get closest vehicle to.\nradius: Max radius to get a vehicle.\nmodelHash: Limit to vehicles with this model. 0 for any.\nflags: The bitwise flags altering the function's behaviour.\n\nDoes not return police cars or helicopters.\n\nIt seems to return police cars for me, does not seem to return helicopters, planes or boats for some reason\n\nOnly returns non police cars and motorbikes with the flag set to 70 and modelHash to 0. ModelHash seems to always be 0 when not a modelHash in the scripts, as stated above. \n\nThese flags were found in the b617d scripts: 0,2,4,6,7,23,127,260,2146,2175,12294,16384,16386,20503,32768,67590,67711,98309,100359.\nConverted to binary, each bit probably represents a flag as explained regarding another native here: gtaforums.com/topic/822314-guide-driving-styles\n\nConversion of found flags to binary: https://pastebin.com/kghNFkRi\n\nAt exactly 16384 which is 0100000000000000 in binary and 4000 in hexadecimal only planes are returned. \n\nIt's probably more convenient to use worldGetAllVehicles(int *arr, int arrSize) and check the shortest distance yourself and sort if you want by checking the vehicle type with for example VEHICLE::IS_THIS_MODEL_A_BOAT\n\n-------------------------------------------------------------------------\n\nConclusion: This native is not worth trying to use. Use something like this instead: https://pastebin.com/xiFdXa7h\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "modelHash" + }, + { + "type": "int", + "name": "flags" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0x08AAFD0814722BC3": { + "name": "GET_TRAIN_CARRIAGE", + "jhash": "0x2544E7A6", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "train" + }, + { + "type": "int", + "name": "trailerNumber" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0xAD464F2E18836BFC": { + "name": "IS_MISSION_TRAIN", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "train" + } + ], + "return_type": "BOOL", + "build": "2372", + "old_names": [ + "_IS_MISSION_TRAIN" + ] + }, + "0x5B76B14AE875C795": { + "name": "DELETE_MISSION_TRAIN", + "jhash": "0x86C9497D", + "comment": "", + "params": [ + { + "type": "Vehicle*", + "name": "train" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBBE7648349B49BE8": { + "name": "SET_MISSION_TRAIN_AS_NO_LONGER_NEEDED", + "jhash": "0x19808560", + "comment": "p1 is always 0", + "params": [ + { + "type": "Vehicle*", + "name": "train" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x591CA673AA6AB736": { + "name": "SET_MISSION_TRAIN_COORDS", + "jhash": "0xD6D70803", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "train" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0x45A9187928F4B9E3": { + "name": "IS_THIS_MODEL_A_BOAT", + "jhash": "0x10F6085C", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x9537097412CF75FE": { + "name": "IS_THIS_MODEL_A_JETSKI", + "jhash": "", + "comment": "Checks if model is a boat, then checks for FLAG_IS_JETSKI.", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_THIS_MODEL_A_SUBMERSIBLE", + "_IS_THIS_MODEL_AN_EMERGENCY_BOAT" + ] + }, + "0xA0948AB42D7BA0DE": { + "name": "IS_THIS_MODEL_A_PLANE", + "jhash": "0x3B3907BB", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDCE4334788AF94EA": { + "name": "IS_THIS_MODEL_A_HELI", + "jhash": "0x8AF7F568", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7F6DB52EEFC96DF8": { + "name": "IS_THIS_MODEL_A_CAR", + "jhash": "0x60E4C22F", + "comment": "To check if the model is an amphibious car, use IS_THIS_MODEL_AN_AMPHIBIOUS_CAR.", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAB935175B22E822B": { + "name": "IS_THIS_MODEL_A_TRAIN", + "jhash": "0xF87DCFFD", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB50C0B0CEDC6CE84": { + "name": "IS_THIS_MODEL_A_BIKE", + "jhash": "0x7E702CDD", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBF94DD42F63BDED2": { + "name": "IS_THIS_MODEL_A_BICYCLE", + "jhash": "0x328E6FF5", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x39DAC362EE65FA28": { + "name": "IS_THIS_MODEL_A_QUADBIKE", + "jhash": "0xC1625277", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x633F6F44A537EBB6": { + "name": "IS_THIS_MODEL_AN_AMPHIBIOUS_CAR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_IS_THIS_MODEL_AN_AMPHIBIOUS_CAR" + ] + }, + "0xA1A9FC1C76A6730D": { + "name": "IS_THIS_MODEL_AN_AMPHIBIOUS_QUADBIKE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "model" + } + ], + "return_type": "BOOL", + "build": "1103", + "old_names": [ + "_IS_THIS_MODEL_AN_AMPHIBIOUS_QUADBIKE" + ] + }, + "0xA178472EBB8AE60D": { + "name": "SET_HELI_BLADES_FULL_SPEED", + "jhash": "0x033A9408", + "comment": "Equivalent of SET_HELI_BLADES_SPEED(vehicleHandle, 1.0f);\n\nthis native works on planes to?", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFD280B4D7F3ABC4D": { + "name": "SET_HELI_BLADES_SPEED", + "jhash": "0x5C7D4EA9", + "comment": "Sets the speed of the helicopter blades in percentage of the full speed.\n\nvehicleHandle: The helicopter.\nspeed: The speed in percentage, 0.0f being 0% and 1.0f being 100%.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x99CAD8E7AFDB60FA": { + "name": "FORCE_SUB_THROTTLE_FOR_TIME", + "jhash": "0x1128A45B", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3750146A28097A82": { + "name": "SET_VEHICLE_CAN_BE_TARGETTED", + "jhash": "0x64B70B1D", + "comment": "This has not yet been tested - it's just an assumption of what the types could be.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDBC631F109350B8C": { + "name": "SET_DONT_ALLOW_PLAYER_TO_ENTER_VEHICLE_IF_LOCKED_FOR_PLAYER", + "jhash": "0x486C1280", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4C7028F78FFD3681": { + "name": "SET_VEHICLE_CAN_BE_VISIBLY_DAMAGED", + "jhash": "0xC5D94017", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1AA8A837D2169D94": { + "name": "SET_VEHICLE_HAS_UNBREAKABLE_LIGHTS", + "jhash": "0x009AB49E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_LIGHTS_CAN_BE_VISIBLY_DAMAGED" + ] + }, + "0x2311DD7159F00582": { + "name": "SET_VEHICLE_RESPECTS_LOCKS_WHEN_HAS_DRIVER", + "jhash": "0x758C5E2E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x065D03A9D6B2C6B5": { + "name": "SET_VEHICLE_CAN_EJECT_PASSENGERS_IF_LOCKED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "463" + }, + "0x8F17BC8BA08DA62B": { + "name": "GET_VEHICLE_DIRT_LEVEL", + "jhash": "0xFD15C065", + "comment": "Dirt level does not become greater than 15.0", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0x79D3B596FE44EE8B": { + "name": "SET_VEHICLE_DIRT_LEVEL", + "jhash": "0x2B39128B", + "comment": "You can't use values greater than 15.0\nAlso, R* does (float)(rand() % 15) to get a random dirt level when generating a vehicle.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "dirtLevel" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBCDC5017D3CE1E9E": { + "name": "GET_DOES_VEHICLE_HAVE_DAMAGE_DECALS", + "jhash": "0xDAC523BC", + "comment": "Appears to return true if the vehicle has any damage, including cosmetically.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_VEHICLE_DAMAGED" + ] + }, + "0x3E933CFF7B111C22": { + "name": "IS_VEHICLE_DOOR_FULLY_OPEN", + "jhash": "0xC2385B6F", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2497C4717C8B881E": { + "name": "SET_VEHICLE_ENGINE_ON", + "jhash": "0x7FBC86F1", + "comment": "Starts or stops the engine on the specified vehicle.\n\nvehicle: The vehicle to start or stop the engine on.\nvalue: true to turn the vehicle on; false to turn it off.\ninstantly: if true, the vehicle will be set to the state immediately; otherwise, the current driver will physically turn on or off the engine.\ndisableAutoStart: If true, the system will prevent the engine from starting when the player got into it.\n\nfrom 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?", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "value" + }, + { + "type": "BOOL", + "name": "instantly" + }, + { + "type": "BOOL", + "name": "disableAutoStart" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8ABA6AF54B942B95": { + "name": "SET_VEHICLE_UNDRIVEABLE", + "jhash": "0x48D02A4E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5AFEEDD9BB2899D7": { + "name": "SET_VEHICLE_PROVIDES_COVER", + "jhash": "0xEFC01CA9", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF2BFA0430F0A0FCB": { + "name": "SET_VEHICLE_DOOR_CONTROL", + "jhash": "0x572DD360", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + }, + { + "type": "int", + "name": "speed" + }, + { + "type": "float", + "name": "angle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA5A9653A8D2CAF48": { + "name": "SET_VEHICLE_DOOR_LATCHED", + "jhash": "0x4EB7BBFC", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFE3F9C29F7B32BD5": { + "name": "GET_VEHICLE_DOOR_ANGLE_RATIO", + "jhash": "0x0E399C26", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + } + ], + "return_type": "float", + "build": "323" + }, + "0x218297BF0CFD853B": { + "name": "GET_PED_USING_VEHICLE_DOOR", + "jhash": "0x0630101F", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doord" + } + ], + "return_type": "Ped", + "build": "323", + "old_names": [ + "_GET_PED_USING_VEHICLE_DOOR" + ] + }, + "0x93D9BD300D7789E5": { + "name": "SET_VEHICLE_DOOR_SHUT", + "jhash": "0x142606BD", + "comment": "enum eDoorId\n{\n\tVEH_EXT_DOOR_INVALID_ID = -1,\n\tVEH_EXT_DOOR_DSIDE_F,\n\tVEH_EXT_DOOR_DSIDE_R,\n\tVEH_EXT_DOOR_PSIDE_F,\n\tVEH_EXT_DOOR_PSIDE_R,\n\tVEH_EXT_BONNET,\n\tVEH_EXT_BOOT\n};", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + }, + { + "type": "BOOL", + "name": "closeInstantly" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD4D4F6A4AB575A33": { + "name": "SET_VEHICLE_DOOR_BROKEN", + "jhash": "0x8147FEA7", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + }, + { + "type": "BOOL", + "name": "deleteDoor" + } + ], + "return_type": "void", + "build": "323" + }, + "0x59BF8C3D52C92F66": { + "name": "SET_VEHICLE_CAN_BREAK", + "jhash": "0x90A810D1", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8AC862B0B32C5B80": { + "name": "DOES_VEHICLE_HAVE_ROOF", + "jhash": "0xDB817403", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC4B3347BD68BD609": { + "name": "SET_VEHICLE_REMOVE_AGGRESSIVE_CARJACK_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "573" + }, + "0xD3301660A57C9272": { + "name": "SET_VEHICLE_AVOID_PLAYER_VEHICLE_RIOT_VAN_MISSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "757" + }, + "0xB9562064627FF9DB": { + "name": "SET_CARJACK_MISSION_REMOVAL_PARAMETERS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "573" + }, + "0x9F243D3919F442FE": { + "name": "IS_BIG_VEHICLE", + "jhash": "0x9CDBA8DE", + "comment": "Returns true if MF_IS_BIG (strModelFlags 0x8) handling model flag is set.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3B963160CD65D41E": { + "name": "GET_NUMBER_OF_VEHICLE_COLOURS", + "jhash": "0xF2442EE2", + "comment": "Returns the total amount of color combinations found in the vehicle's carvariations.meta entry.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x33E8CD3322E2FE31": { + "name": "SET_VEHICLE_COLOUR_COMBINATION", + "jhash": "0xA557AEAD", + "comment": "Sets the selected vehicle's colors to the specified index of the color combination found in the vehicle's carvariations.meta entry.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "colorCombination" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6A842D197F845D56": { + "name": "GET_VEHICLE_COLOUR_COMBINATION", + "jhash": "0x77AC1B4C", + "comment": "Returns the index of the color combination found in the vehicle's carvariations.meta entry.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE41033B25D003A07": { + "name": "SET_VEHICLE_XENON_LIGHT_COLOR_INDEX", + "jhash": "", + "comment": "`color`: is the paint index for the vehicle.\nPaint index goes from 0 to 12.\nBe aware that it only works on xenon lights. Example: https://i.imgur.com/yV3cpG9.png\nFull list of all vehicle xenon lights by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "colorIndex" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_VEHICLE_HEADLIGHTS_COLOUR", + "_SET_VEHICLE_XENON_LIGHTS_COLOUR", + "_SET_VEHICLE_XENON_LIGHTS_COLOR" + ] + }, + "0x3DFF319A831E0CDB": { + "name": "GET_VEHICLE_XENON_LIGHT_COLOR_INDEX", + "jhash": "", + "comment": "Returns the headlight color index from the vehicle. Value between 0, 12.\nUse SET_VEHICLE_XENON_LIGHT_COLOR_INDEX to set the headlights color for the vehicle.\nMust enable xenon headlights before it'll take affect.\n\nReturns an int, value between 0-12 or 255 if no color is set.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "1604", + "old_names": [ + "_GET_VEHICLE_HEADLIGHTS_COLOUR", + "_GET_VEHICLE_XENON_LIGHTS_COLOUR", + "_GET_VEHICLE_XENON_LIGHTS_COLOR" + ] + }, + "0x31B927BBC44156CD": { + "name": "SET_VEHICLE_IS_CONSIDERED_BY_PLAYER", + "jhash": "0x14413319", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBE5C1255A1830FF5": { + "name": "SET_VEHICLE_WILL_FORCE_OTHER_VEHICLES_TO_STOP", + "jhash": "0xA6D8D7A5", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9BECD4B9FEF3F8A6": { + "name": "SET_VEHICLE_ACT_AS_IF_HAS_SIREN_ON", + "jhash": "0xACAB8FF3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x88BC673CA9E0AE99": { + "name": "SET_VEHICLE_USE_MORE_RESTRICTIVE_SPAWN_CHECKS", + "jhash": "0xF0E5C41D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE851E480B814D4BA": { + "name": "SET_VEHICLE_MAY_BE_USED_BY_GOTO_POINT_ANY_MEANS", + "jhash": "0x2F98B4B7", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x055BF0AC0C34F4FD": { + "name": "GET_RANDOM_VEHICLE_MODEL_IN_MEMORY", + "jhash": "0xE2C45631", + "comment": "Not present in the retail version! It's just a nullsub.\n\np0 always true (except in one case)\nsuccessIndicator: 0 if success, -1 if failed", + "params": [ + { + "type": "BOOL", + "name": "p0" + }, + { + "type": "Hash*", + "name": "modelHash" + }, + { + "type": "int*", + "name": "successIndicator" + } + ], + "return_type": "void", + "build": "323" + }, + "0x25BC98A59C2EA962": { + "name": "GET_VEHICLE_DOOR_LOCK_STATUS", + "jhash": "0x0D72CEF2", + "comment": "enum VehicleLockStatus = {\n None = 0,\n Unlocked = 1,\n Locked = 2,\n LockedForPlayer = 3,\n StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.\n CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1\n CanBeBrokenIntoPersist = 8, -- Can be broken into persist\n CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).\n}", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0xCA4AC3EAAE46EC7B": { + "name": "GET_VEHICLE_INDIVIDUAL_DOOR_LOCK_STATUS", + "jhash": "", + "comment": "Returns vehicle door lock state previously set with SET_VEHICLE_INDIVIDUAL_DOORS_LOCKED", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + } + ], + "return_type": "int", + "build": "1103", + "old_names": [ + "_GET_VEHICLE_DOOR_DESTROY_TYPE" + ] + }, + "0xB8E181E559464527": { + "name": "IS_VEHICLE_DOOR_DAMAGED", + "jhash": "0x4999E3C3", + "comment": "doorID starts at 0, not seeming to skip any numbers. Four door vehicles intuitively range from 0 to 3.", + "params": [ + { + "type": "Vehicle", + "name": "veh" + }, + { + "type": "int", + "name": "doorID" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2FA133A4A9D37ED8": { + "name": "SET_DOOR_ALLOWED_TO_BE_BROKEN_OFF", + "jhash": "0x065B92B3", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + }, + { + "type": "BOOL", + "name": "isBreakable" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_DOOR_BREAKABLE", + "_SET_VEHICLE_DOOR_CAN_BREAK" + ] + }, + "0x27B926779DEB502D": { + "name": "IS_VEHICLE_BUMPER_BOUNCING", + "jhash": "0xB3A2CC4F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "frontBumper" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x468056A6BB6F3846": { + "name": "IS_VEHICLE_BUMPER_BROKEN_OFF", + "jhash": "0xAF25C027", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "frontBumper" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7EEF65D5F153E26A": { + "name": "IS_COP_VEHICLE_IN_AREA_3D", + "jhash": "0xFB16C6D1", + "comment": "Usage:\n\npublic bool isCopInRange(Vector3 Location, float Range)\n {\n return Function.Call(Hash.IS_COP_PED_IN_AREA_3D, Location.X - Range, Location.Y - Range, Location.Z - Range, Location.X + Range, Location.Y + Range, Location.Z + Range);\n }", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "z2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB104CD1BABF302E2": { + "name": "IS_VEHICLE_ON_ALL_WHEELS", + "jhash": "0x10089F8E", + "comment": " Public Function isVehicleOnAllWheels(vh As Vehicle) As Boolean\n Return Native.Function.Call(Of Boolean)(Hash.IS_VEHICLE_ON_ALL_WHEELS, vh)\n End Function\n", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5873C14A52D74236": { + "name": "GET_VEHICLE_MODEL_VALUE", + "jhash": "0x58FEFC3D", + "comment": "Returns `nMonetaryValue` from handling.meta for specific model.", + "params": [ + { + "type": "Hash", + "name": "vehicleModel" + } + ], + "return_type": "int", + "build": "463", + "old_names": [ + "_GET_VEHICLE_MODEL_MONETARY_VALUE" + ] + }, + "0x28D37D4F71AC5C58": { + "name": "GET_VEHICLE_LAYOUT_HASH", + "jhash": "0xE0B35187", + "comment": "Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0xA01BC64DD4BFBBAC": { + "name": "GET_IN_VEHICLE_CLIPSET_HASH_FOR_SEAT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x317B11A312DF5534": { + "name": "SET_RENDER_TRAIN_AS_DERAILED", + "jhash": "0x899D9092", + "comment": "Makes the train all jumbled up and derailed as it moves on the tracks (though that wont stop it from its normal operations)", + "params": [ + { + "type": "Vehicle", + "name": "train" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2036F561ADD12E33": { + "name": "SET_VEHICLE_EXTRA_COLOURS", + "jhash": "0x515DB2A0", + "comment": "They use the same color indexs as SET_VEHICLE_COLOURS.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "pearlescentColor" + }, + { + "type": "int", + "name": "wheelColor" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3BC4245933A166F7": { + "name": "GET_VEHICLE_EXTRA_COLOURS", + "jhash": "0x80E4659B", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "pearlescentColor" + }, + { + "type": "int*", + "name": "wheelColor" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF40DD601A65F7F19": { + "name": "SET_VEHICLE_EXTRA_COLOUR_5", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "color" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_VEHICLE_INTERIOR_COLOUR", + "_SET_VEHICLE_INTERIOR_COLOR" + ] + }, + "0x7D1464D472D32136": { + "name": "GET_VEHICLE_EXTRA_COLOUR_5", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "color" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_GET_VEHICLE_INTERIOR_COLOUR", + "_GET_VEHICLE_INTERIOR_COLOR" + ] + }, + "0x6089CDF6A57F326C": { + "name": "SET_VEHICLE_EXTRA_COLOUR_6", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "color" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_VEHICLE_DASHBOARD_COLOUR", + "_SET_VEHICLE_DASHBOARD_COLOR" + ] + }, + "0xB7635E80A5C31BFF": { + "name": "GET_VEHICLE_EXTRA_COLOUR_6", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "color" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_GET_VEHICLE_DASHBOARD_COLOUR", + "_GET_VEHICLE_DASHBOARD_COLOR" + ] + }, + "0x0F87E938BDF29D66": { + "name": "STOP_ALL_GARAGE_ACTIVITY", + "jhash": "0x17A0BCE5", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x115722B1B9C14C1C": { + "name": "SET_VEHICLE_FIXED", + "jhash": "0x17469AA1", + "comment": "This fixes a vehicle.\nIf the vehicle's engine's broken then you cannot fix it with this native.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x953DA1E1B12C0491": { + "name": "SET_VEHICLE_DEFORMATION_FIXED", + "jhash": "0xDD2920C8", + "comment": "This fixes the deformation of a vehicle but the vehicle health doesn't improve", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x206BC5DC9D1AC70A": { + "name": "SET_VEHICLE_CAN_ENGINE_MISSFIRE", + "jhash": "0x8EACBD13", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_CAN_ENGINE_OPERATE_ON_FIRE" + ] + }, + "0x51BB2D88D31A914B": { + "name": "SET_VEHICLE_CAN_LEAK_OIL", + "jhash": "0x88F0F7E7", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x192547247864DFDD": { + "name": "SET_VEHICLE_CAN_LEAK_PETROL", + "jhash": "0x90D6EE57", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x465BF26AB9684352": { + "name": "SET_DISABLE_VEHICLE_PETROL_TANK_FIRES", + "jhash": "0xC40192B5", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x37C8252A7C92D017": { + "name": "SET_DISABLE_VEHICLE_PETROL_TANK_DAMAGE", + "jhash": "0xAD3E05F2", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x91A0BD635321F145": { + "name": "SET_DISABLE_VEHICLE_ENGINE_FIRES", + "jhash": "0x1784BA1A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC50CE861B55EAB8B": { + "name": "SET_VEHICLE_LIMIT_SPEED_WHEN_PLAYER_INACTIVE", + "jhash": "0x40C323AE", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6EBFB22D646FFC18": { + "name": "SET_VEHICLE_STOP_INSTANTLY_WHEN_PLAYER_INACTIVE", + "jhash": "0x847F1304", + "comment": "sfink: sets bit in vehicle's structure, used by maintransition, fm_mission_controller, mission_race and a couple of other scripts. see dissassembly: \nCVehicle *__fastcall sub_140CDAA10(signed int a1, char a2)\n{\n CVehicle *result; // rax@1\n\n result = EntityAsCVehicle(a1);\n if ( result )\n {\n result->field_886 &= 0xEFu;\n result->field_886 |= 16 * (a2 & 1);\n }\n return result;\n}", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x25367DE49D64CF16": { + "name": "SET_DISABLE_PRETEND_OCCUPANTS", + "jhash": "0xCBD98BA1", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x46A1E1A299EC4BBA": { + "name": "REMOVE_VEHICLES_FROM_GENERATORS_IN_AREA", + "jhash": "0x42CC15E0", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "Any", + "name": "p6" + } + ], + "return_type": "void", + "build": "323" + }, + "0x42A8EC77D5150CBE": { + "name": "SET_VEHICLE_STEER_BIAS", + "jhash": "0x7357C1EB", + "comment": "Locks the vehicle's steering to the desired angle, explained below.\n\nRequires to be called onTick. Steering is unlocked the moment the function stops being called on the vehicle.\n\nSteer bias:\n-1.0 = full right\n0.0 = centered steering\n1.0 = full left", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD2E6822DBFD6C8BD": { + "name": "IS_VEHICLE_EXTRA_TURNED_ON", + "jhash": "0x042098B5", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "extraId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x7EE3A3C5E4A40CC9": { + "name": "SET_VEHICLE_EXTRA", + "jhash": "0x642D065C", + "comment": "Available extraIds are 1-14, however none of the vehicles have extras above 12.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "extraId" + }, + { + "type": "BOOL", + "name": "disable" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1262D55792428154": { + "name": "DOES_EXTRA_EXIST", + "jhash": "0x409411CC", + "comment": "Checks via CVehicleModelInfo", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "extraId" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x534E36D4DB9ECC5D": { + "name": "IS_EXTRA_BROKEN_OFF", + "jhash": "", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "extraId" + } + ], + "return_type": "BOOL", + "build": "1493", + "old_names": [ + "_DOES_VEHICLE_TYRE_EXIST" + ] + }, + "0xF39C4F538B5124C2": { + "name": "SET_CONVERTIBLE_ROOF", + "jhash": "0xC87B6A51", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDED51F703D0FA83D": { + "name": "LOWER_CONVERTIBLE_ROOF", + "jhash": "0xC5F72EAE", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "instantlyLower" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8F5FB35D7E88FC70": { + "name": "RAISE_CONVERTIBLE_ROOF", + "jhash": "0xA4E4CBA3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "instantlyRaise" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF8C397922FC03F41": { + "name": "GET_CONVERTIBLE_ROOF_STATE", + "jhash": "0x1B09714D", + "comment": "0 -> up\n1 -> lowering down\n2 -> down\n3 -> raising up", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x52F357A30698BCCE": { + "name": "IS_VEHICLE_A_CONVERTIBLE", + "jhash": "0x6EF54490", + "comment": "Returns true if the vehicle has a convertible roof.\n\np1 is false almost always. However, in launcher_carwash/carwash1/carwash2 scripts, p1 is true and is accompanied by DOES_VEHICLE_HAVE_ROOF. If p1 is true, it seems that every single vehicle will return true irrespective of being a convertible.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xBE4C854FFDB6EEBE": { + "name": "TRANSFORM_TO_SUBMARINE", + "jhash": "0xCAFE5FE0", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "noAnimation" + } + ], + "return_type": "BOOL", + "build": "1365", + "old_names": [ + "_TRANSFORM_STORMBERG_TO_WATER_VEHICLE", + "_TRANSFORM_VEHICLE_TO_SUBMARINE" + ] + }, + "0x2A69FFD1B42BFF9E": { + "name": "TRANSFORM_TO_CAR", + "jhash": "0xD8B90941", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "noAnimation" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_TRANSFORM_STORMBERG_TO_ROAD_VEHICLE", + "_TRANSFORM_SUBMARINE_TO_VEHICLE" + ] + }, + "0xA77DC70BD689A1E5": { + "name": "IS_VEHICLE_IN_SUBMARINE_MODE", + "jhash": "0xE2FF06DB", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1290", + "old_names": [ + "_GET_IS_SUBMARINE_VEHICLE_TRANSFORMED" + ] + }, + "0x2959F696AE390A99": { + "name": "IS_VEHICLE_STOPPED_AT_TRAFFIC_LIGHTS", + "jhash": "0x69200FA4", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA1DD317EA8FD4F29": { + "name": "SET_VEHICLE_DAMAGE", + "jhash": "0x21B458B2", + "comment": "Apply damage to vehicle at a location. Location is relative to vehicle model (not world).\n\nRadius of effect damage applied in a sphere at impact location\nWhen `focusOnModel` set to `true`, the damage sphere will travel towards the vehicle from the given point, thus guaranteeing an impact", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "float", + "name": "damage" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "BOOL", + "name": "focusOnModel" + } + ], + "return_type": "void", + "build": "323" + }, + "0x35BB21DE06784373": { + "name": "SET_VEHICLE_OCCUPANTS_TAKE_EXPLOSIVE_DAMAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "463" + }, + "0xC45D23BAF168AAB8": { + "name": "GET_VEHICLE_ENGINE_HEALTH", + "jhash": "0x8880038A", + "comment": "Returns 1000.0 if the function is unable to get the address of the specified vehicle or if it's not a vehicle.\n\nMinimum: -4000\nMaximum: 1000\n\n-4000: Engine is destroyed\n0 and below: Engine catches fire and health rapidly declines\n300: Engine is smoking and losing functionality\n1000: Engine is perfect", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0x45F6D8EEF34ABEF1": { + "name": "SET_VEHICLE_ENGINE_HEALTH", + "jhash": "0x1B760FB5", + "comment": "1000 is max health\nBegins leaking gas at around 650 health\nMinimum: -4000\nMaximum: 1000\n\n-4000: Engine is destroyed\n0 and below: Engine catches fire and health rapidly declines\n300: Engine is smoking and losing functionality\n1000: Engine is perfect", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "health" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2A86A0475B6A1434": { + "name": "SET_PLANE_ENGINE_HEALTH", + "jhash": "", + "comment": "Works just like SET_VEHICLE_ENGINE_HEALTH, but only for planes.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "health" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_PLANE_ENGINE_HEALTH" + ] + }, + "0x7D5DABE888D2D074": { + "name": "GET_VEHICLE_PETROL_TANK_HEALTH", + "jhash": "0xE41595CE", + "comment": "1000 is max health\nBegins leaking gas at around 650 health\n-999.90002441406 appears to be minimum health, although nothing special occurs", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0x70DB57649FA8D0D8": { + "name": "SET_VEHICLE_PETROL_TANK_HEALTH", + "jhash": "0x660A3692", + "comment": "1000 is max health\nBegins leaking gas at around 650 health\n-999.90002441406 appears to be minimum health, although nothing special occurs", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "health" + } + ], + "return_type": "void", + "build": "323" + }, + "0x679BE1DAF71DA874": { + "name": "IS_VEHICLE_STUCK_TIMER_UP", + "jhash": "0x2FCF58C1", + "comment": "p1 can be anywhere from 0 to 3 in the scripts.\np2 being how long in milliseconds the vehicle has been stuck", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "ms" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD7591B0065AFAA7A": { + "name": "RESET_VEHICLE_STUCK_TIMER", + "jhash": "0xEF2A6016", + "comment": "The inner function has a switch on the second parameter. It's the stuck timer index.\n\nHere's some pseudo code I wrote for the inner function:\nvoid __fastcall NATIVE_RESET_VEHICLE_STUCK_TIMER_INNER(CUnknown* unknownClassInVehicle, int timerIndex)\n{\n switch (timerIndex)\n {\n case 0:\n unknownClassInVehicle->FirstStuckTimer = (WORD)0u;\n case 1:\n unknownClassInVehicle->SecondStuckTimer = (WORD)0u;\n case 2:\n unknownClassInVehicle->ThirdStuckTimer = (WORD)0u;\n case 3:\n unknownClassInVehicle->FourthStuckTimer = (WORD)0u;\n case 4:\n unknownClassInVehicle->FirstStuckTimer = (WORD)0u;\n unknownClassInVehicle->SecondStuckTimer = (WORD)0u;\n unknownClassInVehicle->ThirdStuckTimer = (WORD)0u;\n unknownClassInVehicle->FourthStuckTimer = (WORD)0u;\n break;\n };\n}", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "nullAttributes" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4C241E39B23DF959": { + "name": "IS_VEHICLE_DRIVEABLE", + "jhash": "0x41A7267A", + "comment": "p1 is always 0 in the scripts.\n\np1 = check if vehicle is on fire", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "isOnFireCheck" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2B5F9D2AF1F1722D": { + "name": "SET_VEHICLE_HAS_BEEN_OWNED_BY_PLAYER", + "jhash": "0xB4D3DBFB", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "owned" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFBA550EA44404EE6": { + "name": "SET_VEHICLE_NEEDS_TO_BE_HOTWIRED", + "jhash": "0xD8260751", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9F3F689B814F2599": { + "name": "SET_VEHICLE_BLIP_THROTTLE_RANDOMLY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4E74E62E0A97E901": { + "name": "SET_POLICE_FOCUS_WILL_TRACK_VEHICLE", + "jhash": "0x5690F6C3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9C8C6504B5B63D2C": { + "name": "START_VEHICLE_HORN", + "jhash": "0x0DF5ADB3", + "comment": "Sounds the horn for the specified vehicle.\n\nvehicle: The vehicle to activate the horn for.\nmode: The hash of \"NORMAL\" or \"HELDDOWN\". Can be 0.\nduration: The duration to sound the horn, in milliseconds.\n\nNote: If a player is in the vehicle, it will only sound briefly.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "duration" + }, + { + "type": "Hash", + "name": "mode" + }, + { + "type": "BOOL", + "name": "forever" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9D44FCCE98450843": { + "name": "SET_VEHICLE_IN_CAR_MOD_SHOP", + "jhash": "0x968E5770", + "comment": "If set to TRUE, it seems to suppress door noises and doesn't allow the horn to be continuous.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_SILENT" + ] + }, + "0x92F0CF722BC4202F": { + "name": "SET_VEHICLE_HAS_STRONG_AXLES", + "jhash": "0x0D1CBC65", + "comment": "if true, axles won't bend.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB215AAC32D25D019": { + "name": "GET_DISPLAY_NAME_FROM_VEHICLE_MODEL", + "jhash": "0xEC86DF39", + "comment": "Returns model name of vehicle in all caps. Needs to be displayed through localizing text natives to get proper display name.\n-----------------------------------------------------------------------------------------------------------------------------------------\nWhile 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.\n-----------------------------------------------------------------------------------------------------------------------------------------\n\nReturns \"CARNOTFOUND\" if the hash doesn't match a vehicle hash.\n\nUsing HUD::GET_FILENAME_FOR_AUDIO_CONVERSATION, you can get the localized name.\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xF7AF4F159FF99F97": { + "name": "GET_MAKE_NAME_FROM_VEHICLE_MODEL", + "jhash": "", + "comment": "Will return a vehicle's manufacturer display label.\nReturns \"CARNOTFOUND\" if the hash doesn't match a vehicle hash.\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "const char*", + "build": "1868", + "old_names": [ + "_GET_MAKE_NAME_FROM_VEHICLE_MODEL" + ] + }, + "0x4EC6CFBC7B2E9536": { + "name": "GET_VEHICLE_DEFORMATION_AT_POS", + "jhash": "0xABF02075", + "comment": "The only example I can find of this function in the scripts, is this:\n\nstruct _s = VEHICLE::GET_VEHICLE_DEFORMATION_AT_POS(rPtr((A_0) + 4), 1.21f, 6.15f, 0.3f);\n\n-----------------------------------------------------------------------------------------------------------------------------------------\nPC scripts:\n\nv_5/*{3}*/ = VEHICLE::GET_VEHICLE_DEFORMATION_AT_POS(a_0._f1, 1.21, 6.15, 0.3);", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "offsetX" + }, + { + "type": "float", + "name": "offsetY" + }, + { + "type": "float", + "name": "offsetZ" + } + ], + "return_type": "Vector3", + "build": "323" + }, + "0x60BF608F1B8CD1B6": { + "name": "SET_VEHICLE_LIVERY", + "jhash": "0x7AD87059", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "livery" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2BB9230590DA5E8A": { + "name": "GET_VEHICLE_LIVERY", + "jhash": "0xEC82A51D", + "comment": "-1 = no livery", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x87B63E25A529D526": { + "name": "GET_VEHICLE_LIVERY_COUNT", + "jhash": "0xFB0CA947", + "comment": "Returns -1 if the vehicle has no livery", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0xA6D3A8750DC73270": { + "name": "SET_VEHICLE_LIVERY2", + "jhash": "", + "comment": "Used to set the secondary livery (the roof on Tornado Custom being one such example.)\n\nLivery value is dependent on the amount of liveries present in the vehicle's texture dictionary, for Tornado Custom this would be 0-6.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "livery" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_VEHICLE_ROOF_LIVERY" + ] + }, + "0x60190048C0764A26": { + "name": "GET_VEHICLE_LIVERY2", + "jhash": "", + "comment": "Returns index of the current vehicle's secondary livery. A getter for SET_VEHICLE_LIVERY2.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "505", + "old_names": [ + "_GET_VEHICLE_ROOF_LIVERY" + ] + }, + "0x5ECB40269053C0D4": { + "name": "GET_VEHICLE_LIVERY2_COUNT", + "jhash": "", + "comment": "Returns a number of available secondary liveries, or -1 if vehicle has no secondary liveries available.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "505", + "old_names": [ + "_GET_VEHICLE_ROOF_LIVERY_COUNT" + ] + }, + "0x46E571A0E20D01F1": { + "name": "IS_VEHICLE_WINDOW_INTACT", + "jhash": "0xAC4EF23D", + "comment": "This will return false if the window is broken, or rolled down.\nWindow indexes:\n0 = Front Right Window\n1 = Front Left Window\n2 = Back Right Window\n3 = Back Left Window\n\n\nThose numbers go on for vehicles that have more than 4 doors with windows.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "windowIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x11D862A3E977A9EF": { + "name": "ARE_ALL_VEHICLE_WINDOWS_INTACT", + "jhash": "0xBB619744", + "comment": "Appears to return false if any window is broken.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_ARE_ALL_VEHICLE_WINDOWS_INTACT" + ] + }, + "0x2D34FC3BC4ADB780": { + "name": "ARE_ANY_VEHICLE_SEATS_FREE", + "jhash": "0x648E685A", + "comment": "Returns false if every seat is occupied.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_ANY_VEHICLE_SEAT_EMPTY" + ] + }, + "0x21D2E5662C1F6FED": { + "name": "RESET_VEHICLE_WHEELS", + "jhash": "0xD5FFE779", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBC74B4BE25EB6C8A": { + "name": "IS_HELI_PART_BROKEN", + "jhash": "0xF4E4C439", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xE4CB7541F413D2C5": { + "name": "GET_HELI_MAIN_ROTOR_HEALTH", + "jhash": "0xF01E2AAB", + "comment": "Max 1000.\nAt 0 the main rotor will stall.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_HELI_MAIN_ROTOR_HEALTH" + ] + }, + "0xAE8CE82A4219AC8C": { + "name": "GET_HELI_TAIL_ROTOR_HEALTH", + "jhash": "0xA41BC13D", + "comment": "Max 1000.\nAt 0 the tail rotor will stall.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_HELI_TAIL_ROTOR_HEALTH" + ] + }, + "0xAC51915D27E4A5F7": { + "name": "GET_HELI_TAIL_BOOM_HEALTH", + "jhash": "0x8A68388F", + "comment": "Max 1000.\nAt -100 both helicopter rotors will stall.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_HELI_ENGINE_HEALTH" + ] + }, + "0x4056EA1105F5ABD7": { + "name": "SET_HELI_MAIN_ROTOR_HEALTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "health" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_HELI_MAIN_ROTOR_HEALTH" + ] + }, + "0xFE205F38AAA58E5B": { + "name": "SET_HELI_TAIL_ROTOR_HEALTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "health" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_SET_HELI_TAIL_ROTOR_HEALTH" + ] + }, + "0x3EC8BF18AA453FE9": { + "name": "SET_HELI_TAIL_BOOM_CAN_BREAK_OFF", + "jhash": "0x2916D69B", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "WAS_COUNTER_ACTIVATED", + "SET_HELI_TAIL_EXPLODE_THROW_DASHBOARD" + ] + }, + "0xBFDF984E2C22B94F": { + "name": "SET_VEHICLE_NAME_DEBUG", + "jhash": "0xA712FF5C", + "comment": "NOTE: Debugging functions are not present in the retail version of the game.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "const char*", + "name": "name" + } + ], + "return_type": "void", + "build": "323" + }, + "0x71B0892EC081D60A": { + "name": "SET_VEHICLE_EXPLODES_ON_HIGH_EXPLOSION_DAMAGE", + "jhash": "0x38CC692B", + "comment": "Sets a vehicle to be strongly resistant to explosions. p0 is the vehicle; set p1 to false to toggle the effect on/off.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD565F438137F0E10": { + "name": "SET_VEHICLE_EXPLODES_ON_EXPLOSION_DAMAGE_AT_ZERO_BODY_HEALTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x3441CAD2F2231923": { + "name": "SET_ALLOW_VEHICLE_EXPLODES_ON_CONTACT", + "jhash": "0xC306A9A3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2B6747FAA9DB9D6B": { + "name": "SET_VEHICLE_DISABLE_TOWING", + "jhash": "0x95A9ACCB", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE43701C36CAFF1A4": { + "name": "GET_VEHICLE_HAS_LANDING_GEAR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1180", + "old_names": [ + "_GET_VEHICLE_HAS_LANDING_GEAR", + "_DOES_VEHICLE_HAVE_LANDING_GEAR" + ] + }, + "0xCFC8BE9A5E1FE575": { + "name": "CONTROL_LANDING_GEAR", + "jhash": "0x24F873FB", + "comment": "Works for vehicles with a retractable landing gear\n\nLanding gear states:\n\n0: Deployed\n1: Closing\n2: Opening\n3: Retracted", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "state" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_LANDING_GEAR" + ] + }, + "0x9B0F3DCA3DB0F4CD": { + "name": "GET_LANDING_GEAR_STATE", + "jhash": "0xA6F02670", + "comment": "Landing gear states:\n\n0: Deployed\n1: Closing (Retracting)\n2: (Landing gear state 2 is never used.)\n3: Opening (Deploying)\n4: Retracted\n\nReturns the current state of the vehicles landing gear.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_VEHICLE_LANDING_GEAR" + ] + }, + "0x61E1DD6125A3EEE6": { + "name": "IS_ANY_VEHICLE_NEAR_POINT", + "jhash": "0x2867A834", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA6E9FDCB2C76785E": { + "name": "REQUEST_VEHICLE_HIGH_DETAIL_MODEL", + "jhash": "0x9DA21956", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x00689CDE5F7C6787": { + "name": "REMOVE_VEHICLE_HIGH_DETAIL_MODEL", + "jhash": "0x382BE070", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1F25887F3C104278": { + "name": "IS_VEHICLE_HIGH_DETAIL", + "jhash": "0x55D41928", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x81A15811460FAB3A": { + "name": "REQUEST_VEHICLE_ASSET", + "jhash": "0x902B4F06", + "comment": "REQUEST_VEHICLE_ASSET(GET_HASH_KEY(cargobob3), 3);\n\nvehicle found that have asset's:\ncargobob3\nsubmersible\nblazer", + "params": [ + { + "type": "Hash", + "name": "vehicleHash" + }, + { + "type": "int", + "name": "vehicleAsset" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1BBE0523B8DB9A21": { + "name": "HAS_VEHICLE_ASSET_LOADED", + "jhash": "0x8DAAC3CB", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleAsset" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xACE699C71AB9DEB5": { + "name": "REMOVE_VEHICLE_ASSET", + "jhash": "0x9620E9C6", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleAsset" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFE54B92A344583CA": { + "name": "SET_VEHICLE_TOW_TRUCK_ARM_POSITION", + "jhash": "0x88236E22", + "comment": "Sets how much the crane on the tow truck is raised, where 0.0 is fully lowered and 1.0 is fully raised.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "position" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_TOW_TRUCK_CRANE_RAISED", + "_SET_TOW_TRUCK_CRANE_HEIGHT" + ] + }, + "0x29A16F8D621C4508": { + "name": "ATTACH_VEHICLE_TO_TOW_TRUCK", + "jhash": "0x8151571A", + "comment": "HookOffset defines where the hook is attached. leave at 0 for default attachment.", + "params": [ + { + "type": "Vehicle", + "name": "towTruck" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "rear" + }, + { + "type": "float", + "name": "hookOffsetX" + }, + { + "type": "float", + "name": "hookOffsetY" + }, + { + "type": "float", + "name": "hookOffsetZ" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC2DB6B6708350ED8": { + "name": "DETACH_VEHICLE_FROM_TOW_TRUCK", + "jhash": "0xC666CF33", + "comment": "First two parameters swapped. Scripts verify that towTruck is the first parameter, not the second.", + "params": [ + { + "type": "Vehicle", + "name": "towTruck" + }, + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD0E9CE05A1E68CD8": { + "name": "DETACH_VEHICLE_FROM_ANY_TOW_TRUCK", + "jhash": "0x3BF93651", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x146DF9EC4C4B9FD4": { + "name": "IS_VEHICLE_ATTACHED_TO_TOW_TRUCK", + "jhash": "0x9699CFDC", + "comment": "Scripts verify that towTruck is the first parameter, not the second.", + "params": [ + { + "type": "Vehicle", + "name": "towTruck" + }, + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEFEA18DCF10F8F75": { + "name": "GET_ENTITY_ATTACHED_TO_TOW_TRUCK", + "jhash": "0x11EC7844", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "towTruck" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0x8BA6F76BC53A1493": { + "name": "SET_VEHICLE_AUTOMATICALLY_ATTACHES", + "jhash": "0x4273A8D3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0xF8EBCCC96ADB9FB7": { + "name": "SET_VEHICLE_BULLDOZER_ARM_POSITION", + "jhash": "0xED23C8A3", + "comment": "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%).", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "position" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x56B94C6D7127DFBA": { + "name": "SET_VEHICLE_TANK_TURRET_POSITION", + "jhash": "0xB1A52EF7", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "position" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0581730AB9380412": { + "name": "SET_VEHICLE_TURRET_TARGET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x737E398138550FFF": { + "name": "SET_VEHICLE_TANK_STATIONARY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "944" + }, + "0x1093408B4B9D1146": { + "name": "SET_VEHICLE_TURRET_SPEED_THIS_FRAME", + "jhash": "0xF30C566F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "323" + }, + "0x32CAEDF24A583345": { + "name": "DISABLE_VEHICLE_TURRET_MOVEMENT_THIS_FRAME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_DISABLE_VEHICLE_TURRET_MOVEMENT_THIS_FRAME" + ] + }, + "0x30D779DE7C4F6DD3": { + "name": "SET_VEHICLE_FLIGHT_NOZZLE_POSITION", + "jhash": "0xA7DF64D7", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "angleRatio" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_DESIRED_VERTICAL_FLIGHT_PHASE", + "_SET_PLANE_VTOL_DESIRED_DIRECTION" + ] + }, + "0x9AA47FFF660CB932": { + "name": "SET_VEHICLE_FLIGHT_NOZZLE_POSITION_IMMEDIATE", + "jhash": "0xDD7936F5", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "angle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VERTICAL_FLIGHT_PHASE", + "_SET_PLANE_VTOL_DIRECTION" + ] + }, + "0xDA62027C8BDB326E": { + "name": "GET_VEHICLE_FLIGHT_NOZZLE_POSITION", + "jhash": "0xAD40AD55", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "plane" + } + ], + "return_type": "float", + "build": "1180", + "old_names": [ + "_GET_PLANE_HOVER_MODE_PERCENTAGE", + "_GET_VEHICLE_HOVER_MODE_PERCENTAGE", + "_GET_PLANE_VTOL_DIRECTION", + "_GET_VEHICLE_FLIGHT_NOZZLE_POSITION" + ] + }, + "0xCE2B43770B655F8F": { + "name": "SET_DISABLE_VERTICAL_FLIGHT_MODE_TRANSITION", + "jhash": "", + "comment": "True stops vtols from switching modes. Doesn't stop the sound though.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_PLANE_VTOL_ANIMATION_DISABLED", + "_SET_DISABLE_VEHICLE_FLIGHT_NOZZLE_POSITION" + ] + }, + "0xA4822F1CF23F4810": { + "name": "GENERATE_VEHICLE_CREATION_POS_FROM_PATHS", + "jhash": "0x34E02FCD", + "comment": "", + "params": [ + { + "type": "Vector3*", + "name": "outVec" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Vector3*", + "name": "outVec1" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + }, + { + "type": "Any", + "name": "p6" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFB8794444A7D60FB": { + "name": "SET_VEHICLE_BURNOUT", + "jhash": "0x9B6EF0EA", + "comment": "On accelerating, spins the driven wheels with the others braked, so you don't go anywhere.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1297A88E081430EB": { + "name": "IS_VEHICLE_IN_BURNOUT", + "jhash": "0x6632BC12", + "comment": "Returns whether the specified vehicle is currently in a burnout.\n\n\nvb.net\nPublic Function isVehicleInBurnout(vh As Vehicle) As Boolean\n Return Native.Function.Call(Of Boolean)(Hash.IS_VEHICLE_IN_BURNOUT, vh)\n End Function", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x222FF6A823D122E2": { + "name": "SET_VEHICLE_REDUCE_GRIP", + "jhash": "0x90D3A0D9", + "comment": "Reduces grip significantly so it's hard to go anywhere.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6DEE944E1EE90CFB": { + "name": "SET_VEHICLE_REDUCE_GRIP_LEVEL", + "jhash": "", + "comment": "val is 0-3\nOften used in conjunction with: SET_VEHICLE_REDUCE_GRIP", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "val" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_VEHICLE_REDUCE_TRACTION" + ] + }, + "0xB5D45264751B7DF0": { + "name": "SET_VEHICLE_INDICATOR_LIGHTS", + "jhash": "0xA6073B5D", + "comment": "Sets the turn signal enabled for a vehicle.\nSet turnSignal to 1 for left light, 0 for right light.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "turnSignal" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x92B35082E0B42F66": { + "name": "SET_VEHICLE_BRAKE_LIGHTS", + "jhash": "0x6D9BA11E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5815BD2763178DF4": { + "name": "SET_VEHICLE_TAIL_LIGHTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2802" + }, + "0x684785568EF26A22": { + "name": "SET_VEHICLE_HANDBRAKE", + "jhash": "0xBA729A25", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE4E2FD323574965C": { + "name": "SET_VEHICLE_BRAKE", + "jhash": "0x5A36BC37", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "757" + }, + "0x48ADC8A773564670": { + "name": "INSTANTLY_FILL_VEHICLE_POPULATION", + "jhash": "0x37BC6ACB", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x91D6DD290888CBAB": { + "name": "HAS_INSTANT_FILL_VEHICLE_POPULATION_FINISHED", + "jhash": "0x71D898EF", + "comment": "", + "params": [], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_HAS_FILLED_VEHICLE_POPULATION" + ] + }, + "0x51DB102F4A3BA5E0": { + "name": "NETWORK_ENABLE_EMPTY_CROWDING_VEHICLES_REMOVAL", + "jhash": "0x0B0523B0", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA4A9A4C40E615885": { + "name": "NETWORK_CAP_EMPTY_CROWDING_VEHICLES_REMOVAL", + "jhash": "", + "comment": "Default:1000||This sets a value which is used when NETWORK_ENABLE_EMPTY_CROWDING_VEHICLES_REMOVAL(true) is called each frame.", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x1CDD6BADC297830D": { + "name": "GET_VEHICLE_TRAILER_VEHICLE", + "jhash": "0xAE84D758", + "comment": "Gets the trailer of a vehicle and puts it into the trailer parameter.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle*", + "name": "trailer" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x80D9D32636369C92": { + "name": "_GET_VEHICLE_TRAILER_PARENT_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "trailer" + } + ], + "return_type": "Vehicle", + "build": "2802" + }, + "0xCAC66558B944DA67": { + "name": "SET_VEHICLE_USES_LARGE_REAR_RAMP", + "jhash": "0x0B200CE2", + "comment": "vehicle must be a plane", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x09606148B6C71DEF": { + "name": "SET_VEHICLE_RUDDER_BROKEN", + "jhash": "0x3FAC3CD4", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1A78AD3D8240536F": { + "name": "SET_CONVERTIBLE_ROOF_LATCH_STATE", + "jhash": "0x0858678C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0x53AF99BAA671CA47": { + "name": "GET_VEHICLE_ESTIMATED_MAX_SPEED", + "jhash": "0x7D1A0616", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_MAX_SPEED" + ] + }, + "0xAD7E85FC227197C4": { + "name": "GET_VEHICLE_MAX_BRAKING", + "jhash": "0x03B926F6", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0xA132FB5370554DB0": { + "name": "GET_VEHICLE_MAX_TRACTION", + "jhash": "0x7E5A1587", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0x5DD35C8D074E57AE": { + "name": "GET_VEHICLE_ACCELERATION", + "jhash": "0x00478321", + "comment": "static - max acceleration", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0xF417C2502FFFED43": { + "name": "GET_VEHICLE_MODEL_ESTIMATED_MAX_SPEED", + "jhash": "0x8F291C4A", + "comment": "Returns max speed (without mods) of the specified vehicle model in m/s.\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_MODEL_MAX_SPEED" + ] + }, + "0xDC53FD41B4ED944C": { + "name": "GET_VEHICLE_MODEL_MAX_BRAKING", + "jhash": "0x7EF02883", + "comment": "Returns max braking of the specified vehicle model.\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "float", + "build": "323" + }, + "0xBFBA3BA79CFF7EBF": { + "name": "GET_VEHICLE_MODEL_MAX_BRAKING_MAX_MODS", + "jhash": "0xF3A7293F", + "comment": "Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_MODEL_HAND_BRAKE" + ] + }, + "0x539DE94D44FDFD0D": { + "name": "GET_VEHICLE_MODEL_MAX_TRACTION", + "jhash": "0x7F985597", + "comment": "Returns max traction of the specified vehicle model.\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "float", + "build": "323" + }, + "0x8C044C5C84505B6A": { + "name": "GET_VEHICLE_MODEL_ACCELERATION", + "jhash": "0x29CB3537", + "comment": "Returns the acceleration of the specified model.\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "float", + "build": "323" + }, + "0x53409B5163D5B846": { + "name": "GET_VEHICLE_MODEL_ACCELERATION_MAX_MODS", + "jhash": "0x37FBA7BC", + "comment": "9.8 * thrust if air vehicle, else 0.38 + drive force?\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_MODEL_DOWN_FORCE", + "_GET_VEHICLE_MODEL_ESTIMATED_AGILITY" + ] + }, + "0xC6AD107DDC9054CC": { + "name": "GET_FLYING_VEHICLE_MODEL_AGILITY", + "jhash": "0x95BB67EB", + "comment": "Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_MODEL_MAX_KNOTS" + ] + }, + "0x5AA3F878A178C4FC": { + "name": "GET_BOAT_VEHICLE_MODEL_AGILITY", + "jhash": "0x87C5D271", + "comment": "Full list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_MODEL_MOVE_RESISTANCE" + ] + }, + "0x00C09F246ABEDD82": { + "name": "GET_VEHICLE_CLASS_ESTIMATED_MAX_SPEED", + "jhash": "0xCE67162C", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleClass" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_CLASS_MAX_SPEED" + ] + }, + "0xDBC86D85C5059461": { + "name": "GET_VEHICLE_CLASS_MAX_TRACTION", + "jhash": "0x5B4FDC16", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleClass" + } + ], + "return_type": "float", + "build": "323" + }, + "0x4F930AD022D6DE3B": { + "name": "GET_VEHICLE_CLASS_MAX_AGILITY", + "jhash": "0x45F2BD83", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleClass" + } + ], + "return_type": "float", + "build": "323" + }, + "0x2F83E7E45D9EA7AE": { + "name": "GET_VEHICLE_CLASS_MAX_ACCELERATION", + "jhash": "0x3E220A9B", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleClass" + } + ], + "return_type": "float", + "build": "323" + }, + "0x4BF54C16EC8FEC03": { + "name": "GET_VEHICLE_CLASS_MAX_BRAKING", + "jhash": "0xD08CC1A5", + "comment": "", + "params": [ + { + "type": "int", + "name": "vehicleClass" + } + ], + "return_type": "float", + "build": "323" + }, + "0x2CE544C68FB812A0": { + "name": "ADD_ROAD_NODE_SPEED_ZONE", + "jhash": "0xD6685803", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "speed" + }, + { + "type": "BOOL", + "name": "p5" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_ADD_SPEED_ZONE_FOR_COORD" + ] + }, + "0x1033371FC8E842A7": { + "name": "REMOVE_ROAD_NODE_SPEED_ZONE", + "jhash": "0x0C0332A6", + "comment": "", + "params": [ + { + "type": "int", + "name": "speedzone" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_REMOVE_SPEED_ZONE" + ] + }, + "0x87E7F24270732CB1": { + "name": "OPEN_BOMB_BAY_DOORS", + "jhash": "0x6574041D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_OPEN_VEHICLE_BOMB_BAY" + ] + }, + "0x3556041742A0DC74": { + "name": "CLOSE_BOMB_BAY_DOORS", + "jhash": "0xF8EC5751", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xD0917A423314BBA8": { + "name": "GET_ARE_BOMB_BAY_DOORS_OPEN", + "jhash": "", + "comment": "Returns true when the bomb bay doors of this plane are open. False if they're closed.", + "params": [ + { + "type": "Vehicle", + "name": "aircraft" + } + ], + "return_type": "BOOL", + "build": "1180", + "old_names": [ + "_GET_ARE_BOMB_BAY_DOORS_OPEN", + "_ARE_BOMB_BAY_DOORS_OPEN" + ] + }, + "0xC0F97FCE55094987": { + "name": "IS_VEHICLE_SEARCHLIGHT_ON", + "jhash": "0xADAF3513", + "comment": "Possibly: Returns whether the searchlight (found on police vehicles) is toggled on.\n\n@Author Nac", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x14E85C5EE7A4D542": { + "name": "SET_VEHICLE_SEARCHLIGHT", + "jhash": "0xE2C0DD8A", + "comment": "Only works during nighttime.", + "params": [ + { + "type": "Vehicle", + "name": "heli" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "BOOL", + "name": "canBeUsedByAI" + } + ], + "return_type": "void", + "build": "323" + }, + "0x99015ED7DBEA5113": { + "name": "DOES_VEHICLE_HAVE_SEARCHLIGHT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "2189", + "old_names": [ + "_DOES_VEHICLE_HAVE_SEARCHLIGHT" + ] + }, + "0x639431E895B9AA57": { + "name": "IS_ENTRY_POINT_FOR_SEAT_CLEAR", + "jhash": "0xAB0E79EB", + "comment": "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).\n\nseatIndex = -1 being the driver seat.\nUse GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS(vehicle) - 1 for last seat index.\nside = only relevant for bikes/motorcycles to check if the left (false)/right (true) side is blocked.\nonEnter = check if you can enter (true) or exit (false) a vehicle.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + }, + { + "type": "BOOL", + "name": "side" + }, + { + "type": "BOOL", + "name": "onEnter" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_VEHICLE_SEAT_ACCESSIBLE" + ] + }, + "0xC0572928C0ABFDA3": { + "name": "GET_ENTRY_POINT_POSITION", + "jhash": "", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + } + ], + "return_type": "Vector3", + "build": "944", + "old_names": [ + "_GET_ENTRY_POSITION_OF_DOOR" + ] + }, + "0x30785D90C956BF35": { + "name": "CAN_SHUFFLE_SEAT", + "jhash": "0xB3EB01ED", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "seatIndex" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x33F2E3FE70EAAE1D": { + "name": "GET_NUM_MOD_KITS", + "jhash": "0xE4903AA0", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x1F2AA07F00B3217A": { + "name": "SET_VEHICLE_MOD_KIT", + "jhash": "0xB8132158", + "comment": "Set modKit to 0 if you plan to call SET_VEHICLE_MOD. That's what the game does. Most body modifications through SET_VEHICLE_MOD will not take effect until this is set to 0.\n\nFull list of vehicle mod kits and mods by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleModKits.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modKit" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6325D1A044AE510D": { + "name": "GET_VEHICLE_MOD_KIT", + "jhash": "0x9FE60927", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0xFC058F5121E54C32": { + "name": "GET_VEHICLE_MOD_KIT_TYPE", + "jhash": "0xE5F76765", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0xB3ED1BFB4BE636DC": { + "name": "GET_VEHICLE_WHEEL_TYPE", + "jhash": "0xDA58D7AE", + "comment": "Returns an int\n\nWheel Types:\n0: Sport\n1: Muscle\n2: Lowrider\n3: SUV\n4: Offroad\n5: Tuner\n6: Bike Wheels\n7: High End\n8: Benny's Originals\n9: Benny's Bespoke\n10: Racing\n11: Street\n12: Track\n\nTested in Los Santos Customs", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x487EB21CC7295BA1": { + "name": "SET_VEHICLE_WHEEL_TYPE", + "jhash": "0x64BDAAAD", + "comment": "0: Sport\n1: Muscle\n2: Lowrider\n3: SUV\n4: Offroad\n5: Tuner\n6: Bike Wheels\n7: High End\n8: Benny's Originals\n9: Benny's Bespoke\n10: Racing\n11: Street\n12: Track", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "WheelType" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA551BE18C11A476D": { + "name": "GET_NUM_MOD_COLORS", + "jhash": "0x73722CD9", + "comment": "paintType:\n0: Normal\n1: Metallic\n2: Pearl\n3: Matte\n4: Metal\n5: Chrome\n6: Chameleon", + "params": [ + { + "type": "int", + "name": "paintType" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "int", + "build": "323" + }, + "0x43FEB945EE7F85B8": { + "name": "SET_VEHICLE_MOD_COLOR_1", + "jhash": "0xCBE9A54D", + "comment": "paintType:\n0: Normal\n1: Metallic\n2: Pearl\n3: Matte\n4: Metal\n5: Chrome\n6: Chameleon\n\ncolor: number of the color.\n\np3 seems to always be 0.\n\nFull list of vehicle colors and vehicle plates by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "paintType" + }, + { + "type": "int", + "name": "color" + }, + { + "type": "int", + "name": "pearlescentColor" + } + ], + "return_type": "void", + "build": "323" + }, + "0x816562BADFDEC83E": { + "name": "SET_VEHICLE_MOD_COLOR_2", + "jhash": "0xC32613C2", + "comment": "Changes the secondary paint type and color\npaintType:\n0: Normal\n1: Metallic\n2: Pearl\n3: Matte\n4: Metal\n5: Chrome\n6: Chameleon\n\ncolor: number of the color\n\nFull list of vehicle colors and vehicle plates by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "paintType" + }, + { + "type": "int", + "name": "color" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE8D65CA700C9A693": { + "name": "GET_VEHICLE_MOD_COLOR_1", + "jhash": "0xE625510A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "paintType" + }, + { + "type": "int*", + "name": "color" + }, + { + "type": "int*", + "name": "pearlescentColor" + } + ], + "return_type": "void", + "build": "323" + }, + "0x81592BE4E3878728": { + "name": "GET_VEHICLE_MOD_COLOR_2", + "jhash": "0x9B76BB8E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "paintType" + }, + { + "type": "int*", + "name": "color" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB45085B721EFD38C": { + "name": "GET_VEHICLE_MOD_COLOR_1_NAME", + "jhash": "0x9A0840FD", + "comment": "Returns a string which is the codename of the vehicle's currently selected primary color\n\np1 is always 0", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x4967A516ED23A5A1": { + "name": "GET_VEHICLE_MOD_COLOR_2_NAME", + "jhash": "0x9BDC0B49", + "comment": "Returns a string which is the codename of the vehicle's currently selected secondary color", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x9A83F5F9963775EF": { + "name": "HAVE_VEHICLE_MODS_STREAMED_IN", + "jhash": "0x112D637A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_VEHICLE_MOD_LOAD_DONE" + ] + }, + "0x00834EAC4A96E010": { + "name": "IS_VEHICLE_MOD_GEN9_EXCLUSIVE", + "jhash": "", + "comment": "Returns true for any mod part listed in GEN9_EXCLUSIVE_ASSETS_VEHICLES_FILE.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + }, + { + "type": "int", + "name": "modIndex" + } + ], + "return_type": "BOOL", + "build": "2699", + "old_names": [ + "_IS_VEHICLE_MOD_HSW_EXCLUSIVE" + ] + }, + "0x6AF0636DDEDCB6DD": { + "name": "SET_VEHICLE_MOD", + "jhash": "0xB52E5ED5", + "comment": "In b944, there are 50 (0 - 49) mod types.\n\nSets the vehicle mod.\nThe vehicle must have a mod kit first.\n\nAny out of range ModIndex is stock.\n\n#Mod Type\nSpoilers - 0\nFront Bumper - 1\nRear Bumper - 2\nSide Skirt - 3\nExhaust - 4\nFrame - 5\nGrille - 6\nHood - 7\nFender - 8\nRight Fender - 9\nRoof - 10\nEngine - 11\nBrakes - 12\nTransmission - 13\nHorns - 14 (modIndex from 0 to 51)\nSuspension - 15\nArmor - 16\nFront Wheels - 23\nBack Wheels - 24 //only for motocycles\nPlate holders - 25\nTrim Design - 27\nOrnaments - 28\nDial Design - 30\nSteering Wheel - 33\nShifter Leavers - 34\nPlaques - 35\nHydraulics - 38\nLivery - 48\n\nENUMS: https://pastebin.com/QzEAn02v", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + }, + { + "type": "int", + "name": "modIndex" + }, + { + "type": "BOOL", + "name": "customTires" + } + ], + "return_type": "void", + "build": "323" + }, + "0x772960298DA26FDB": { + "name": "GET_VEHICLE_MOD", + "jhash": "0xDC520069", + "comment": "In b944, there are 50 (0 - 49) mod types. See SET_VEHICLE_MOD for the list.\n\nReturns -1 if the vehicle mod is stock", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + } + ], + "return_type": "int", + "build": "323" + }, + "0xB3924ECD70E095DC": { + "name": "GET_VEHICLE_MOD_VARIATION", + "jhash": "0xC1B92003", + "comment": "Only used for wheels(ModType = 23/24) Returns true if the wheels are custom wheels", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE38E9162A2500646": { + "name": "GET_NUM_VEHICLE_MODS", + "jhash": "0x8A814FF9", + "comment": "Returns how many possible mods a vehicle has for a given mod type", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + } + ], + "return_type": "int", + "build": "323" + }, + "0x92D619E420858204": { + "name": "REMOVE_VEHICLE_MOD", + "jhash": "0x9CC80A43", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2A1F4F37F95BAD08": { + "name": "TOGGLE_VEHICLE_MOD", + "jhash": "0xD095F811", + "comment": "Toggles:\nUNK17 - 17\nTurbo - 18\nUNK19 - 19\nTire Smoke - 20\nUNK21 - 21\nXenon Headlights - 22", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x84B233A8C8FC8AE7": { + "name": "IS_TOGGLE_MOD_ON", + "jhash": "0xF0E1689F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8935624F8C5592CC": { + "name": "GET_MOD_TEXT_LABEL", + "jhash": "0x0BA39CA7", + "comment": "Returns the text label of a mod type for a given vehicle\n\nUse GET_FILENAME_FOR_AUDIO_CONVERSATION to get the part name in the game's language", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + }, + { + "type": "int", + "name": "modValue" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x51F0FEB9F6AE98C0": { + "name": "GET_MOD_SLOT_NAME", + "jhash": "0x5E113483", + "comment": "Returns the name for the type of vehicle mod(Armour, engine etc)\n", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xB4C7A93837C91A1F": { + "name": "GET_LIVERY_NAME", + "jhash": "0xED80B5BE", + "comment": "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.\n\nexample \n\nint count = VEHICLE::GET_VEHICLE_LIVERY_COUNT(veh);\nfor (int i = 0; i < count; i++) \n {\n const char* LiveryName = VEHICLE::GET_LIVERY_NAME(veh, i);\n }\n\n\nthis example will work fine to fetch all names \nfor example for Sanchez we get \n\nSANC_LV1\nSANC_LV2\nSANC_LV3\nSANC_LV4\nSANC_LV5\n\n\nUse GET_FILENAME_FOR_AUDIO_CONVERSATION, to get the localized livery name.\n\nFull list of vehicle mod kits and mods by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleModKits.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "liveryIndex" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0x90A38E9838E0A8C1": { + "name": "GET_VEHICLE_MOD_MODIFIER_VALUE", + "jhash": "0x73AE5505", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + }, + { + "type": "int", + "name": "modIndex" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4593CF82AA179706": { + "name": "GET_VEHICLE_MOD_IDENTIFIER_HASH", + "jhash": "0x94850968", + "comment": "Can be used for IS_DLC_VEHICLE_MOD and GET_DLC_VEHICLE_MOD_LOCK_HASH", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + }, + { + "type": "int", + "name": "modIndex" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_VEHICLE_MOD_DATA" + ] + }, + "0x758F49C24925568A": { + "name": "PRELOAD_VEHICLE_MOD", + "jhash": "0x6EA5F4A8", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "modType" + }, + { + "type": "int", + "name": "modIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x06F43E5175EB6D96": { + "name": "HAS_PRELOAD_MODS_FINISHED", + "jhash": "0xA8A0D246", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x445D79F995508307": { + "name": "RELEASE_PRELOAD_MODS", + "jhash": "0xD442521F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB5BA80F839791C0F": { + "name": "SET_VEHICLE_TYRE_SMOKE_COLOR", + "jhash": "0x3EDEC0DB", + "comment": "Sets the tire smoke's color of this vehicle.\n\nvehicle: The vehicle that is the target of this method.\nr: The red level in the RGB color code.\ng: The green level in the RGB color code.\nb: The blue level in the RGB color code.\n\nNote: setting r,g,b to 0 will give the car the \"Patriot\" tire smoke.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB635392A4938B3C3": { + "name": "GET_VEHICLE_TYRE_SMOKE_COLOR", + "jhash": "0x75280015", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0x57C51E6BAD752696": { + "name": "SET_VEHICLE_WINDOW_TINT", + "jhash": "0x497C8787", + "comment": "enum WindowTints\n{\n WINDOWTINT_NONE,\n WINDOWTINT_PURE_BLACK,\n WINDOWTINT_DARKSMOKE,\n WINDOWTINT_LIGHTSMOKE,\n WINDOWTINT_STOCK,\n WINDOWTINT_LIMO,\n WINDOWTINT_GREEN\n};\nFull list of all vehicle window tints by DurtyFree https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicleColors.json", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "tint" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0EE21293DAD47C95": { + "name": "GET_VEHICLE_WINDOW_TINT", + "jhash": "0x13D53892", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9D1224004B3A6707": { + "name": "GET_NUM_VEHICLE_WINDOW_TINTS", + "jhash": "0x625C7B66", + "comment": "", + "params": [], + "return_type": "int", + "build": "323" + }, + "0xF3CC740D36221548": { + "name": "GET_VEHICLE_COLOR", + "jhash": "0x03BC8F1B", + "comment": "What's this for? Primary and Secondary RGB have their own natives and this one doesn't seem specific.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + } + ], + "return_type": "void", + "build": "323" + }, + "0xEEBFC7A7EFDC35B4": { + "name": "GET_VEHICLE_COLOURS_WHICH_CAN_BE_SET", + "jhash": "0x749DEEA2", + "comment": "Some kind of flags.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE495D1EF4C91FD20": { + "name": "GET_VEHICLE_CAUSE_OF_DESTRUCTION", + "jhash": "0x7F8C20DD", + "comment": "iVar3 = get_vehicle_cause_of_destruction(uLocal_248[iVar2]);\nif (iVar3 == joaat(\"weapon_stickybomb\"))\n{\n\tfunc_171(726);\n\tiLocal_260 = 1;\n}", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x5EE5632F47AE9695": { + "name": "OVERRIDE_PLANE_DAMAGE_THREHSOLD", + "jhash": "", + "comment": "Used for helis.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "health" + } + ], + "return_type": "void", + "build": "463", + "old_names": [ + "_OVERRIDE_OVERHEAT_HEALTH" + ] + }, + "0x5EF77C9ADD3B11A3": { + "name": "GET_IS_LEFT_VEHICLE_HEADLIGHT_DAMAGED", + "jhash": "0xA0777943", + "comment": "From the driver's perspective, is the left headlight broken.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_HEADLIGHT_L_BROKEN" + ] + }, + "0xA7ECB73355EB2F20": { + "name": "GET_IS_RIGHT_VEHICLE_HEADLIGHT_DAMAGED", + "jhash": "0xF178390B", + "comment": "From the driver's perspective, is the right headlight broken.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_HEADLIGHT_R_BROKEN" + ] + }, + "0xEC69ADF931AAE0C3": { + "name": "GET_BOTH_VEHICLE_HEADLIGHTS_DAMAGED", + "jhash": "", + "comment": "Returns true when both headlights are broken. This does not include extralights.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "505", + "old_names": [ + "_IS_VEHICLE_ENGINE_ON_FIRE" + ] + }, + "0x93A3996368C94158": { + "name": "MODIFY_VEHICLE_TOP_SPEED", + "jhash": "0xE943B09C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_ENGINE_POWER_MULTIPLIER" + ] + }, + "0xBAA045B4E42F3C06": { + "name": "SET_VEHICLE_MAX_SPEED", + "jhash": "", + "comment": "To reset the max speed, set the `speed` value to `0.0` or lower.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "speed" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_VEHICLE_MAX_SPEED" + ] + }, + "0x1CF38D529D7441D9": { + "name": "SET_VEHICLE_STAYS_FROZEN_WHEN_CLEANED_UP", + "jhash": "0xDF594D8D", + "comment": "Has something to do with trains. Always precedes SET_MISSION_TRAIN_AS_NO_LONGER_NEEDED.\nMay 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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1F9FB66F3A3842D2": { + "name": "SET_VEHICLE_ACT_AS_IF_HIGH_SPEED_FOR_FRAG_SMASHING", + "jhash": "0x4D840FC4", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x59C3757B3B7408E8": { + "name": "SET_PEDS_CAN_FALL_OFF_THIS_VEHICLE_FROM_LARGE_FALL_DAMAGE", + "jhash": "", + "comment": "Sets some bit and float of vehicle. float is >= 0", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "1493" + }, + "0x54B0F614960F4A5F": { + "name": "ADD_VEHICLE_COMBAT_ANGLED_AVOIDANCE_AREA", + "jhash": "0x5AB26C2B", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_ADD_VEHICLE_COMBAT_AVOIDANCE_AREA" + ] + }, + "0xE30524E1871F481D": { + "name": "REMOVE_VEHICLE_COMBAT_AVOIDANCE_AREA", + "jhash": "0xEF05F807", + "comment": "", + "params": [ + { + "type": "int", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x291E373D483E7EE7": { + "name": "IS_ANY_PED_RAPPELLING_FROM_HELI", + "jhash": "0xD656E7E5", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_ANY_PASSENGERS_RAPPELING", + "_IS_ANY_PASSENGER_RAPPELING_FROM_VEHICLE" + ] + }, + "0xB59E4BD37AE292DB": { + "name": "SET_VEHICLE_CHEAT_POWER_INCREASE", + "jhash": "0x642DA5AA", + "comment": "<1.0 - Decreased torque\n=1.0 - Default torque\n>1.0 - Increased torque\n\nNegative values will cause the vehicle to go backwards instead of forwards while accelerating.\n\nvalue - is between 0.2 and 1.8 in the decompiled scripts. \n\nThis needs to be called every frame to take effect.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_ENGINE_TORQUE_MULTIPLIER" + ] + }, + "0x0AD9E8F87FF7C16F": { + "name": "SET_VEHICLE_INFLUENCES_WANTED_LEVEL", + "jhash": "0x04F5546C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF7EC25A3EBEEC726": { + "name": "SET_VEHICLE_IS_WANTED", + "jhash": "0xDAA388E8", + "comment": "Sets the wanted state of this vehicle.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF488C566413B4232": { + "name": "SWING_BOAT_BOOM_TO_RATIO", + "jhash": "0xA25CCB8C", + "comment": "Sets the boat boom position for the `TR3` trailer.\nRatio 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.\nTo get the current boom position ratio, use GET_BOAT_BOOM_POSITION_RATIO", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "ratio" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BOAT_BOOM_POSITION_RATIO" + ] + }, + "0xC1F981A6F74F0C23": { + "name": "SWING_BOAT_BOOM_FREELY", + "jhash": "0x00966934", + "comment": "Same call as ALLOW_BOAT_BOOM_TO_ANIMATE", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_BOAT_BOOM_POSITION_RATIO_2" + ] + }, + "0x0F3B4D4E43177236": { + "name": "ALLOW_BOAT_BOOM_TO_ANIMATE", + "jhash": "0x113DF5FD", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_BOAT_BOOM_POSITION_RATIO_3" + ] + }, + "0x6636C535F6CC2725": { + "name": "GET_BOAT_BOOM_POSITION_RATIO", + "jhash": "0x7C8D6464", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0x23428FC53C60919C": { + "name": "DISABLE_PLANE_AILERON", + "jhash": "0x7E84C45C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAE31E7DF9B5B132E": { + "name": "GET_IS_VEHICLE_ENGINE_RUNNING", + "jhash": "0x7DC6D022", + "comment": "Returns true when in a vehicle, false whilst entering/exiting.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_VEHICLE_ENGINE_ON" + ] + }, + "0x1D97D1E3A70A649F": { + "name": "SET_VEHICLE_USE_ALTERNATE_HANDLING", + "jhash": "0xA03E42DF", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9CFA4896C3A53CBB": { + "name": "SET_BIKE_ON_STAND", + "jhash": "0x15D40761", + "comment": "Only works on bikes, both X and Y work in the -1 - 1 range.\n\nX forces the bike to turn left or right (-1, 1)\nY forces the bike to lean to the left or to the right (-1, 1)\n\nExample with X -1/Y 1\nhttp://i.imgur.com/TgIuAPJ.jpg", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_BIKE_LEAN_ANGLE" + ] + }, + "0xAB04325045427AAE": { + "name": "SET_VEHICLE_NOT_STEALABLE_AMBIENTLY", + "jhash": "0x1984F88D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCFD778E7904C255E": { + "name": "LOCK_DOORS_WHEN_NO_LONGER_NEEDED", + "jhash": "0x3FBE904F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xACFB2463CC22BED2": { + "name": "SET_LAST_DRIVEN_VEHICLE", + "jhash": "0xD1B71A25", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB2D06FAEDE65B577": { + "name": "GET_LAST_DRIVEN_VEHICLE", + "jhash": "0xFEB0C0C8", + "comment": "", + "params": [], + "return_type": "Vehicle", + "build": "323" + }, + "0xE01903C47C7AC89E": { + "name": "CLEAR_LAST_DRIVEN_VEHICLE", + "jhash": "0x07186AD9", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0x02398B627547189C": { + "name": "SET_VEHICLE_HAS_BEEN_DRIVEN_FLAG", + "jhash": "0x08CD58F9", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB893215D8D4C015B": { + "name": "SET_TASK_VEHICLE_GOTO_PLANE_MIN_HEIGHT_ABOVE_TERRAIN", + "jhash": "0x8C4B63E2", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "plane" + }, + { + "type": "int", + "name": "height" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_PLANE_MIN_HEIGHT_ABOVE_GROUND", + "_SET_PLANE_MIN_HEIGHT_ABOVE_TERRAIN" + ] + }, + "0x93AE6A61BE015BF1": { + "name": "SET_VEHICLE_LOD_MULTIPLIER", + "jhash": "0x569E5AE3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x428BACCDF5E26EAD": { + "name": "SET_VEHICLE_CAN_SAVE_IN_GARAGE", + "jhash": "0x1604C2F5", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x42A4BEB35D372407": { + "name": "GET_VEHICLE_NUM_OF_BROKEN_OFF_PARTS", + "jhash": "0x8CDB0C09", + "comment": "Also includes some \"turnOffBones\" when vehicle mods are installed.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_VEHICLE_NUMBER_OF_BROKEN_OFF_BONES" + ] + }, + "0x2C8CBFE1EA5FC631": { + "name": "GET_VEHICLE_NUM_OF_BROKEN_LOOSEN_PARTS", + "jhash": "0xABC99E21", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_GET_VEHICLE_NUMBER_OF_BROKEN_BONES" + ] + }, + "0x4D9D109F63FEE1D4": { + "name": "SET_FORCE_VEHICLE_ENGINE_DAMAGE_BY_BULLET", + "jhash": "0x900C878C", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x279D50DE5652D935": { + "name": "SET_VEHICLE_GENERATES_ENGINE_SHOCKING_EVENTS", + "jhash": "0xB3200F72", + "comment": "Allows creation of CEventShockingPlaneFlyby, CEventShockingHelicopterOverhead, and other(?) Shocking events", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE44A982368A4AF23": { + "name": "COPY_VEHICLE_DAMAGES", + "jhash": "0xBAE491C7", + "comment": "Copies sourceVehicle's damage (broken bumpers, broken lights, etc.) to targetVehicle.", + "params": [ + { + "type": "Vehicle", + "name": "sourceVehicle" + }, + { + "type": "Vehicle", + "name": "targetVehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF25E02CB9C5818F8": { + "name": "DISABLE_VEHICLE_EXPLOSION_BREAK_OFF_PARTS", + "jhash": "0xF0E59BC1", + "comment": "", + "params": [], + "return_type": "void", + "build": "323" + }, + "0xBC3CCA5844452B06": { + "name": "SET_LIGHTS_CUTOFF_DISTANCE_TWEAK", + "jhash": "0x929801C6", + "comment": "", + "params": [ + { + "type": "float", + "name": "distance" + } + ], + "return_type": "void", + "build": "323" + }, + "0x74CD9A9327A282EA": { + "name": "SET_VEHICLE_SHOOT_AT_TARGET", + "jhash": "0x2343FFDF", + "comment": "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:\n\nWEAPON::SET_CURRENT_PED_VEHICLE_WEAPON(pilot,MISC::GET_HASH_KEY(\"VEHICLE_WEAPON_PLANE_ROCKET\")); VEHICLE::SET_VEHICLE_SHOOT_AT_TARGET(pilot, target, targPos.x, targPos.y, targPos.z);", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "Entity", + "name": "entity" + }, + { + "type": "float", + "name": "xTarget" + }, + { + "type": "float", + "name": "yTarget" + }, + { + "type": "float", + "name": "zTarget" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8F5EBAB1F260CFCE": { + "name": "GET_VEHICLE_LOCK_ON_TARGET", + "jhash": "0x4A557117", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Entity*", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_GET_VEHICLE_OWNER" + ] + }, + "0x97CE68CB032583F0": { + "name": "SET_FORCE_HD_VEHICLE", + "jhash": "0xE0FC6A32", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x182F266C2D9E2BEB": { + "name": "SET_VEHICLE_CUSTOM_PATH_NODE_STREAMING_RADIUS", + "jhash": "0x7D0DE7EA", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9CCC9525BF2408E0": { + "name": "GET_VEHICLE_PLATE_TYPE", + "jhash": "0x65CA9286", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0x64473AEFDCF47DCA": { + "name": "TRACK_VEHICLE_VISIBILITY", + "jhash": "0x78122DC1", + "comment": "in script hook .net \n\nVehicle v = ...;\nFunction.Call(Hash.TRACK_VEHICLE_VISIBILITY, v.Handle);", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAA0A52D24FB98293": { + "name": "IS_VEHICLE_VISIBLE", + "jhash": "0x7E0D6056", + "comment": "must be called after TRACK_VEHICLE_VISIBILITY \n\nit's not instant so probabilly must pass an 'update' to see correct result.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x89F149B6131E57DA": { + "name": "SET_VEHICLE_GRAVITY", + "jhash": "0x07B2A6DC", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE6C0C80B8C867537": { + "name": "SET_ENABLE_VEHICLE_SLIPSTREAMING", + "jhash": "0xD2B8ACBD", + "comment": "Enable/Disables global slipstream physics", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF051D9BFB6BA39C0": { + "name": "SET_VEHICLE_SLIPSTREAMING_SHOULD_TIME_OUT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "877" + }, + "0x36492C2F0D134C56": { + "name": "GET_VEHICLE_CURRENT_TIME_IN_SLIP_STREAM", + "jhash": "0xA4A75FCF", + "comment": "Returns a float value between 0.0 and 3.0 related to its slipstream draft (boost/speedup).", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_CURRENT_SLIPSTREAM_DRAFT" + ] + }, + "0x48C633E94A8142A7": { + "name": "IS_VEHICLE_PRODUCING_SLIP_STREAM", + "jhash": "", + "comment": "Returns true if the vehicle is being slipstreamed by another vehicle", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "877", + "old_names": [ + "_IS_VEHICLE_SLIPSTREAM_LEADER" + ] + }, + "0x06582AFF74894C75": { + "name": "SET_VEHICLE_INACTIVE_DURING_PLAYBACK", + "jhash": "0x50F89338", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDFFCEF48E511DB48": { + "name": "SET_VEHICLE_ACTIVE_DURING_PLAYBACK", + "jhash": "0xEB7D7C27", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8D474C8FAEFF6CDE": { + "name": "IS_VEHICLE_SPRAYABLE", + "jhash": "0x5EB00A6A", + "comment": "Returns false if the vehicle has the FLAG_NO_RESPRAY flag set.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_VEHICLE_SHOP_RESPRAY_ALLOWED" + ] + }, + "0x983765856F2564F9": { + "name": "SET_VEHICLE_ENGINE_CAN_DEGRADE", + "jhash": "0x081DAC12", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF0E4BA16D1DB546C": { + "name": "DISABLE_VEHCILE_DYNAMIC_AMBIENT_SCALES", + "jhash": "0x5BD8D82D", + "comment": "Adds some kind of shadow to the vehicle.\n\np1 and p2 use values from 0-255 and both make the shadow darker the lower the value is. -1 disables the effect.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_SHADOW_EFFECT" + ] + }, + "0xF87D9F2301F7D206": { + "name": "ENABLE_VEHICLE_DYNAMIC_AMBIENT_SCALES", + "jhash": "0x450AD03A", + "comment": "Remove the weird shadow applied by DISABLE_VEHCILE_DYNAMIC_AMBIENT_SCALES.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REMOVE_VEHICLE_SHADOW_EFFECT" + ] + }, + "0x4198AB0022B15F87": { + "name": "IS_PLANE_LANDING_GEAR_INTACT", + "jhash": "0xBD085DCA", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "plane" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_VEHICLE_HAS_LANDING_GEAR" + ] + }, + "0x755D6D5267CBBD7E": { + "name": "ARE_PLANE_PROPELLERS_INTACT", + "jhash": "0xABBDD5C6", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "plane" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_ARE_PROPELLERS_UNDAMAGED" + ] + }, + "0x4C815EB175086F84": { + "name": "SET_PLANE_PROPELLER_HEALTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "plane" + }, + { + "type": "float", + "name": "health" + } + ], + "return_type": "BOOL", + "build": "1103", + "old_names": [ + "_SET_PLANE_PROPELLERS_HEALTH" + ] + }, + "0x0CDDA42F9E360CA6": { + "name": "SET_VEHICLE_CAN_DEFORM_WHEELS", + "jhash": "0x9B581DE7", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4AF9BD80EEBEB453": { + "name": "IS_VEHICLE_STOLEN", + "jhash": "0x20B61DDE", + "comment": "Only returns true if the vehicle was marked as stolen with SET_VEHICLE_IS_STOLEN.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x67B2C79AA7FF5738": { + "name": "SET_VEHICLE_IS_STOLEN", + "jhash": "0x70912E42", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "isStolen" + } + ], + "return_type": "void", + "build": "323" + }, + "0xAD2D28A1AFDFF131": { + "name": "SET_PLANE_TURBULENCE_MULTIPLIER", + "jhash": "0xED159AE6", + "comment": "This native sets the turbulence multiplier. It only works for planes.\n0.0 = no turbulence at all.\n1.0 = heavy turbulence.\nWorks by just calling it once, does not need to be called every tick.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5991A01434CE9677": { + "name": "ARE_WINGS_OF_PLANE_INTACT", + "jhash": "0xAF8CB3DF", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "plane" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "ADD_A_MARKER_OVER_VEHICLE", + "_ARE_VEHICLE_WINGS_INTACT", + "_ARE_PLANE_WINGS_INTACT" + ] + }, + "0xB264C4D2F2B0A78B": { + "name": "ALLOW_AMBIENT_VEHICLES_TO_AVOID_ADVERSE_CONDITIONS", + "jhash": "0x45F72495", + "comment": "This native doesn't seem to do anything, might be a debug-only native.\n\nConfirmed, it is a debug native.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0E21D3DF1051399D": { + "name": "DETACH_VEHICLE_FROM_CARGOBOB", + "jhash": "0x83D3D331", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle", + "name": "cargobob" + } + ], + "return_type": "void", + "build": "323" + }, + "0xADF7BE450512C12F": { + "name": "DETACH_VEHICLE_FROM_ANY_CARGOBOB", + "jhash": "0x50E0EABE", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAF03011701811146": { + "name": "DETACH_ENTITY_FROM_CARGOBOB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "BOOL", + "build": "678", + "old_names": [ + "_DETACH_ENTITY_FROM_CARGOBOB" + ] + }, + "0xD40148F22E81A1D9": { + "name": "IS_VEHICLE_ATTACHED_TO_CARGOBOB", + "jhash": "0x5DEEC76C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "Vehicle", + "name": "vehicleAttached" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x873B82D42AC2B9E5": { + "name": "GET_VEHICLE_ATTACHED_TO_CARGOBOB", + "jhash": "0x301A1D24", + "comment": "Returns attached vehicle (Vehicle in parameter must be cargobob)", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0x99093F60746708CA": { + "name": "GET_ENTITY_ATTACHED_TO_CARGOBOB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "Entity", + "build": "1103", + "old_names": [ + "_GET_ENTITY_ATTACHED_TO_CARGOBOB" + ] + }, + "0x4127F1D84E347769": { + "name": "ATTACH_VEHICLE_TO_CARGOBOB", + "jhash": "0x607DC9D5", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "int", + "name": "p2" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA1DD82F3CCF9A01E": { + "name": "ATTACH_ENTITY_TO_CARGOBOB", + "jhash": "0xAEB29F98", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + }, + { + "type": "Any", + "name": "p5" + } + ], + "return_type": "void", + "build": "944" + }, + "0x571FEB383F629926": { + "name": "SET_CARGOBOB_FORCE_DONT_DETACH_VEHICLE", + "jhash": "0x49949FDA", + "comment": "Stops cargobob from being able to detach the attached vehicle.", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CARGOBOB_HOOK_CAN_DETACH" + ] + }, + "0x1F34B0626C594380": { + "name": "SET_CARGOBOB_EXCLUDE_FROM_PICKUP_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "757" + }, + "0x2C1D8B3B19E517CC": { + "name": "CAN_CARGOBOB_PICK_UP_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "757" + }, + "0xCBDB9B923CACC92D": { + "name": "GET_ATTACHED_PICK_UP_HOOK_POSITION", + "jhash": "0xE6633DCF", + "comment": "Gets the position of the cargobob hook, in world coords.", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + } + ], + "return_type": "Vector3", + "build": "323", + "old_names": [ + "_GET_CARGOBOB_HOOK_POSITION" + ] + }, + "0x1821D91AD4B56108": { + "name": "DOES_CARGOBOB_HAVE_PICK_UP_ROPE", + "jhash": "0xAF769B81", + "comment": "Returns true only when the hook is active, will return false if the magnet is active", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_CARGOBOB_HOOK_ACTIVE" + ] + }, + "0x7BEB0C7A235F6F3B": { + "name": "CREATE_PICK_UP_ROPE_FOR_CARGOBOB", + "jhash": "0x4D3C9A99", + "comment": "Drops the Hook/Magnet on a cargobob\n\nstate\nenum eCargobobHook\n{\n CARGOBOB_HOOK = 0,\n CARGOBOB_MAGNET = 1,\n};", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "int", + "name": "state" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_ENABLE_CARGOBOB_HOOK" + ] + }, + "0x9768CF648F54C804": { + "name": "REMOVE_PICK_UP_ROPE_FOR_CARGOBOB", + "jhash": "0xA8211EE9", + "comment": "Retracts the hook on the cargobob.\n\nNote: after you retract it the natives for dropping the hook no longer work", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_RETRACT_CARGOBOB_HOOK" + ] + }, + "0x877C1EAEAC531023": { + "name": "SET_PICKUP_ROPE_LENGTH_FOR_CARGOBOB", + "jhash": "0x3A8AB081", + "comment": "min: 1.9f, max: 100.0f", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "float", + "name": "length1" + }, + { + "type": "float", + "name": "length2" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CARGOBOB_HOOK_POSITION" + ] + }, + "0xC0ED6438E6D39BA8": { + "name": "SET_PICKUP_ROPE_LENGTH_WITHOUT_CREATING_ROPE_FOR_CARGOBOB", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "944" + }, + "0xCF1182F682F65307": { + "name": "SET_CARGOBOB_PICKUP_ROPE_DAMPING_MULTIPLIER", + "jhash": "0x7D927E1B", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0D5F65A8F4EBDAB5": { + "name": "SET_CARGOBOB_PICKUP_ROPE_TYPE", + "jhash": "0xF258ADA1", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x6E08BF5B3722BAC9": { + "name": "DOES_CARGOBOB_HAVE_PICKUP_MAGNET", + "jhash": "0x4778CA0A", + "comment": "Returns true only when the magnet is active, will return false if the hook is active", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_CARGOBOB_MAGNET_ACTIVE", + "_DOES_CARGOBOB_HAVE_PICKUP_MAGNET" + ] + }, + "0x9A665550F8DA349B": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_ACTIVE", + "jhash": "0xF57066DA", + "comment": "Won't attract or magnetize to any helicopters or planes of course, but that's common sense.", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "BOOL", + "name": "isActive" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_CARGOBOB_MAGNET_GRAB_VEHICLE", + "_SET_CARGOBOB_PICKUP_MAGNET_ACTIVE" + ] + }, + "0xBCBFCD9D1DAC19E2": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_STRENGTH", + "jhash": "0xCC3CF97D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "float", + "name": "strength" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CARGOBOB_PICKUP_MAGNET_STRENGTH" + ] + }, + "0xA17BAD153B51547E": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_FALLOFF", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_CARGOBOB_PICKUP_MAGNET_EFFECT_RADIUS" + ] + }, + "0x66979ACF5102FD2F": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_REDUCED_STRENGTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_CARGOBOB_PICKUP_MAGNET_REDUCED_FALLOFF" + ] + }, + "0x6D8EAC07506291FB": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_REDUCED_FALLOFF", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_CARGOBOB_PICKUP_MAGNET_PULL_ROPE_LENGTH" + ] + }, + "0xED8286F71A819BAA": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_PULL_STRENGTH", + "jhash": "0x8191BC1A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "cargobob" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x685D5561680D088B": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_PULL_ROPE_LENGTH", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_CARGOBOB_PICKUP_MAGNET_FALLOFF" + ] + }, + "0xE301BD63E9E13CF0": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_SET_TARGETED_MODE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vehicle", + "name": "cargobob" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_CARGOBOB_PICKUP_MAGNET_REDUCED_STRENGTH" + ] + }, + "0x9BDDC73CC6A115D4": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_SET_AMBIENT_MODE", + "jhash": "0x50CDB295", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x56EB5E94318D3FB6": { + "name": "SET_CARGOBOB_PICKUP_MAGNET_ENSURE_PICKUP_ENTITY_UPRIGHT", + "jhash": "0x30F43FE3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x25ECB9F8017D98E0": { + "name": "DOES_VEHICLE_HAVE_WEAPONS", + "jhash": "0xB2E1E1FB", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x2C4A1590ABF43E8B": { + "name": "SET_VEHICLE_WILL_TELL_OTHERS_TO_HURRY", + "jhash": "0x2EC19A8B", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF4FC6A6F67D8D856": { + "name": "DISABLE_VEHICLE_WEAPON", + "jhash": "0xA688B7D1", + "comment": "Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "BOOL", + "name": "disabled" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Ped", + "name": "owner" + } + ], + "return_type": "void", + "build": "323" + }, + "0x563B65A643ED072E": { + "name": "IS_VEHICLE_WEAPON_DISABLED", + "jhash": "", + "comment": "Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Ped", + "name": "owner" + } + ], + "return_type": "BOOL", + "build": "1011", + "old_names": [ + "_IS_VEHICLE_WEAPON_DISABLED" + ] + }, + "0xE05DD0E9707003A3": { + "name": "SET_VEHICLE_USED_FOR_PILOT_SCHOOL", + "jhash": "0x123E5B90", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x21115BCD6E44656A": { + "name": "SET_VEHICLE_ACTIVE_FOR_PED_NAVIGATION", + "jhash": "0xEBC225C1", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_CLOSE_DOOR_DEFERED_ACTION" + ] + }, + "0x29439776AAA00A62": { + "name": "GET_VEHICLE_CLASS", + "jhash": "0xC025338E", + "comment": "Returns an int\n\nVehicle Classes:\n0: Compacts\n1: Sedans\n2: SUVs\n3: Coupes\n4: Muscle\n5: Sports Classics\n6: Sports\n7: Super\n8: Motorcycles\n9: Off-road\n10: Industrial\n11: Utility\n12: Vans\n13: Cycles\n14: Boats\n15: Helicopters\n16: Planes\n17: Service\n18: Emergency\n19: Military\n20: Commercial\n21: Trains\n\nchar buffer[128];\nstd::sprintf(buffer, \"VEH_CLASS_%i\", VEHICLE::GET_VEHICLE_CLASS(vehicle));\n\nconst char* className = HUD::GET_FILENAME_FOR_AUDIO_CONVERSATION(buffer);", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "323" + }, + "0xDEDF1C8BD47C2200": { + "name": "GET_VEHICLE_CLASS_FROM_NAME", + "jhash": "0xEA469980", + "comment": "char buffer[128];\nstd::sprintf(buffer, \"VEH_CLASS_%i\", VEHICLE::GET_VEHICLE_CLASS_FROM_NAME (hash));\n\nconst char* className = HUD::GET_FILENAME_FOR_AUDIO_CONVERSATION(buffer);\n\nFull list of vehicles by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/vehicles.json", + "params": [ + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0xBCDF8BAF56C87B6A": { + "name": "SET_PLAYERS_LAST_VEHICLE", + "jhash": "0xDE86447D", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x300504B23BD3B711": { + "name": "SET_VEHICLE_CAN_BE_USED_BY_FLEEING_PEDS", + "jhash": "0x5130DB1E", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE5810AC70602F2F5": { + "name": "SET_AIRCRAFT_PILOT_SKILL_NOISE_SCALAR", + "jhash": "0xB6BE07E0", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x068F64F2470F9656": { + "name": "SET_VEHICLE_DROPS_MONEY_WHEN_BLOWN_UP", + "jhash": "0x4BB5605D", + "comment": "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.\n\nyoutu.be/3arlUxzHl5Y \ni.imgur.com/WrNpYFs.jpg", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_CREATES_MONEY_PICKUPS_WHEN_EXPLODED" + ] + }, + "0xB8FBC8B1330CA9B4": { + "name": "SET_VEHICLE_KEEP_ENGINE_ON_WHEN_ABANDONED", + "jhash": "0x51E0064F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_JET_ENGINE_ON" + ] + }, + "0x6A973569BA094650": { + "name": "SET_VEHICLE_IMPATIENCE_TIMER", + "jhash": "", + "comment": "Seems to copy some values in vehicle", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x10655FAB9915623D": { + "name": "SET_VEHICLE_HANDLING_OVERRIDE", + "jhash": "", + "comment": "Use the \"AIHandling\" string found in handling.meta", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Hash", + "name": "hash" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_HANDLING_HASH_FOR_AI" + ] + }, + "0x79DF7E806202CE01": { + "name": "SET_VEHICLE_EXTENDED_REMOVAL_RANGE", + "jhash": "0xAEF9611C", + "comment": "Max value is 32767", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "range" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9007A2F21DC108D4": { + "name": "SET_VEHICLE_STEERING_BIAS_SCALAR", + "jhash": "0x585E49B6", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6E0859B530A365CC": { + "name": "SET_HELI_CONTROL_LAGGING_RATE_SCALAR", + "jhash": "0x6E67FD35", + "comment": "value between 0.0 and 1.0", + "params": [ + { + "type": "Vehicle", + "name": "helicopter" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_HELICOPTER_ROLL_PITCH_YAW_MULT" + ] + }, + "0x1837AF7C627009BA": { + "name": "SET_VEHICLE_FRICTION_OVERRIDE", + "jhash": "0x32AFD42E", + "comment": "Seems to be related to the metal parts, not tyres (like i was expecting lol)", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "friction" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA37B9A517B133349": { + "name": "SET_VEHICLE_WHEELS_CAN_BREAK_OFF_WHEN_BLOW_UP", + "jhash": "0x670913A4", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "SET_VEHICLE_MAX_STR_TRAP" + ] + }, + "0xF78F94D60248C737": { + "name": "ARE_PLANE_CONTROL_PANELS_INTACT", + "jhash": "0x3B51B348", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xA46413066687A328": { + "name": "SET_VEHICLE_CEILING_HEIGHT", + "jhash": "0x98A10A86", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "height" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "GET_VEHICLE_DEFORMATION_GET_TREE" + ] + }, + "0x5E569EC46EC21CAE": { + "name": "SET_VEHICLE_NO_EXPLOSION_DAMAGE_FROM_DRIVER", + "jhash": "0xBC649C49", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6D6AF961B72728AE": { + "name": "CLEAR_VEHICLE_ROUTE_HISTORY", + "jhash": "0x8DD9AA0C", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x956B409B984D9BF7": { + "name": "DOES_VEHICLE_EXIST_WITH_DECORATOR", + "jhash": "0x39E68EDD", + "comment": "", + "params": [ + { + "type": "const char*", + "name": "decorator" + } + ], + "return_type": "Vehicle", + "build": "323" + }, + "0x41062318F23ED854": { + "name": "SET_VEHICLE_AI_CAN_USE_EXCLUSIVE_SEATS", + "jhash": "", + "comment": "Used to be incorrectly named SET_VEHICLE_EXCLUSIVE_DRIVER\nToggles a flag related to SET_VEHICLE_EXCLUSIVE_DRIVER, however, doesn't enable that feature (or trigger script events related to it).", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB5C51B5502E85E83": { + "name": "SET_VEHICLE_EXCLUSIVE_DRIVER", + "jhash": "0xAA8BD440", + "comment": "index: 0 - 1\n\nUsed to be incorrectly named _SET_VEHICLE_EXCLUSIVE_DRIVER_2", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB09D25E77C33EB3F": { + "name": "IS_PED_EXCLUSIVE_DRIVER_OF_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "outIndex" + } + ], + "return_type": "BOOL", + "build": "463", + "old_names": [ + "_IS_PED_EXCLUSIVE_DRIVER_OF_VEHICLE" + ] + }, + "0x500873A45724C863": { + "name": "DISABLE_INDIVIDUAL_PLANE_PROPELLER", + "jhash": "0x004926A3", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "propeller" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB055A34527CB8FD7": { + "name": "SET_VEHICLE_FORCE_AFTERBURNER", + "jhash": "0xC195803B", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1087BC8EC540DAEB": { + "name": "SET_DONT_PROCESS_VEHICLE_GLASS", + "jhash": "", + "comment": "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)", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_DISABLE_VEHICLE_WINDOW_COLLISIONS" + ] + }, + "0x4AD280EB48B2D8E6": { + "name": "SET_DISABLE_WANTED_CONES_RESPONSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1868" + }, + "0xB68CFAF83A02768D": { + "name": "SET_USE_DESIRED_Z_CRUISE_SPEED_FOR_LANDING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x0205F5365292D2EB": { + "name": "SET_ARRIVE_DISTANCE_OVERRIDE_FOR_VEHICLE_PERSUIT_ATTACK", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xCF9159024555488C": { + "name": "SET_VEHICLE_READY_FOR_CLEANUP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "944" + }, + "0xF796359A959DF65D": { + "name": "SET_DISTANT_CARS_ENABLED", + "jhash": "0xB5CC548B", + "comment": "Toggles to render distant vehicles. They may not be vehicles but images to look like vehicles.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_DISPLAY_DISTANT_VEHICLES" + ] + }, + "0x8E0A582209A62695": { + "name": "SET_VEHICLE_NEON_COLOUR", + "jhash": "", + "comment": "Sets the color of the neon lights of the specified vehicle.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "r" + }, + { + "type": "int", + "name": "g" + }, + { + "type": "int", + "name": "b" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_NEON_LIGHTS_COLOUR" + ] + }, + "0xB93B2867F7B479D1": { + "name": "SET_VEHICLE_NEON_INDEX_COLOUR", + "jhash": "", + "comment": "Index references CVehicleModelColor", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "void", + "build": "1493", + "old_names": [ + "_SET_VEHICLE_NEON_LIGHTS_COLOUR_INDEX" + ] + }, + "0x7619EEE8C886757F": { + "name": "GET_VEHICLE_NEON_COLOUR", + "jhash": "", + "comment": "Gets the color of the neon lights of the specified vehicle.\n\nSee SET_VEHICLE_NEON_COLOUR (0x8E0A582209A62695) for more information", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int*", + "name": "r" + }, + { + "type": "int*", + "name": "g" + }, + { + "type": "int*", + "name": "b" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_VEHICLE_NEON_LIGHTS_COLOUR" + ] + }, + "0x2AA720E4287BF269": { + "name": "SET_VEHICLE_NEON_ENABLED", + "jhash": "", + "comment": "Sets the neon lights of the specified vehicle on/off.\n\nIndices:\n0 = Left\n1 = Right\n2 = Front\n3 = Back", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "index" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_NEON_LIGHT_ENABLED" + ] + }, + "0x8C4B92553E4766A5": { + "name": "GET_VEHICLE_NEON_ENABLED", + "jhash": "", + "comment": "indices:\n0 = Left\n1 = Right\n2 = Front\n3 = Back", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "index" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_IS_VEHICLE_NEON_LIGHT_ENABLED" + ] + }, + "0x35E0654F4BAD7971": { + "name": "SET_AMBIENT_VEHICLE_NEON_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x83F813570FF519DE": { + "name": "SUPPRESS_NEONS_ON_VEHICLE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_DISABLE_VEHICLE_NEON_LIGHTS" + ] + }, + "0xB088E9A47AE6EDD5": { + "name": "SET_DISABLE_SUPERDUMMY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_DISABLE_SUPERDUMMY_MODE" + ] + }, + "0xDBA3C090E3D74690": { + "name": "REQUEST_VEHICLE_DIAL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REQUEST_VEHICLE_DASHBOARD_SCALEFORM_MOVIE" + ] + }, + "0xF271147EB7B40F12": { + "name": "GET_VEHICLE_BODY_HEALTH", + "jhash": "0x2B2FCC28", + "comment": "Seems related to vehicle health, like the one in IV.\nMax 1000, min 0.\nVehicle does not necessarily explode or become undrivable at 0.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323" + }, + "0xB77D05AC8C78AADB": { + "name": "SET_VEHICLE_BODY_HEALTH", + "jhash": "0x920C2517", + "comment": "p2 often set to 1000.0 in the decompiled scripts.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "323" + }, + "0xDF7E3EEB29642C38": { + "name": "GET_VEHICLE_SIZE", + "jhash": "", + "comment": "Outputs 2 Vector3's.\nScripts check if out2.x - out1.x > someshit.x\nCould be suspension related, as in max suspension height and min suspension height, considering the natives location.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Vector3*", + "name": "out1" + }, + { + "type": "Vector3*", + "name": "out2" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_GET_VEHICLE_SUSPENSION_BOUNDS" + ] + }, + "0x53952FD2BAA19F17": { + "name": "GET_FAKE_SUSPENSION_LOWERING_AMOUNT", + "jhash": "0xB73A1486", + "comment": "Gets the height of the vehicle's suspension.\nThe higher the value the lower the suspension. Each 0.002 corresponds with one more level lowered.\n0.000 is the stock suspension.\n0.008 is Ultra Suspension.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_SUSPENSION_HEIGHT" + ] + }, + "0x84FD40F56075E816": { + "name": "SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER" + ] + }, + "0x92922A607497B14D": { + "name": "GET_NUMBER_OF_VEHICLE_DOORS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "463", + "old_names": [ + "_GET_NUMBER_OF_VEHICLE_DOORS" + ] + }, + "0x28B18377EB6E25F6": { + "name": "SET_HYDRAULICS_CONTROL", + "jhash": "", + "comment": "If false, lowers hydraulics (if raised) and disables hydraulics controls. If true, raises hydraulics and enables hydraulics controls.\n\nOnly used once in each carmod script, on a car that does not have hydraulics to begin with.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_HYDRAULIC_RAISED" + ] + }, + "0xA7DCDF4DED40A8F4": { + "name": "SET_CAN_ADJUST_GROUND_CLEARANCE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB8EF61207C2393A9": { + "name": "GET_VEHICLE_HEALTH_PERCENTAGE", + "jhash": "0x196BA503", + "comment": "0 min 100 max\nstarts at 100\nSeams to have health zones\nFront of vehicle when damaged goes from 100-50 and stops at 50.\nRear can be damaged from 100-0\nOnly tested with two cars.\n\nany idea how this differs from the first one?\n\n--\nMay return the vehicle health on a scale of 0.0 - 100.0 (needs to be confirmed)\n\nexample:\n\nv_F = ENTITY::GET_ENTITY_MODEL(v_3);\nif (((v_F == ${tanker}) || (v_F == ${armytanker})) || (v_F == ${tanker2})) {\n if (VEHICLE::GET_VEHICLE_HEALTH_PERCENTAGE(v_3) <= 1.0) {\n NETWORK::NETWORK_EXPLODE_VEHICLE(v_3, 1, 1, -1);\n }\n}", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "maxEngineHealth" + }, + { + "type": "float", + "name": "maxPetrolTankHealth" + }, + { + "type": "float", + "name": "maxBodyHealth" + }, + { + "type": "float", + "name": "maxMainRotorHealth" + }, + { + "type": "float", + "name": "maxTailRotorHealth" + }, + { + "type": "float", + "name": "maxUnkHealth" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_VEHICLE_BODY_HEALTH_2" + ] + }, + "0xD4C4642CB7F50B5D": { + "name": "GET_VEHICLE_IS_MERCENARY", + "jhash": "0x575504DE", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xC361AA040D6637A8": { + "name": "SET_VEHICLE_BROKEN_PARTS_DONT_AFFECT_AI_HANDLING", + "jhash": "0x819CD954", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x99C82F8A139F3E4E": { + "name": "SET_VEHICLE_KERS_ALLOWED", + "jhash": "0x71CDD52F", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_VEHICLE_HUD_SPECIAL_ABILITY_BAR_ACTIVE" + ] + }, + "0x50634E348C8D44EF": { + "name": "GET_VEHICLE_HAS_KERS", + "jhash": "0x0761E635", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "372", + "old_names": [ + "_HAS_VEHICLE_KERS_BOOST" + ] + }, + "0xE16142B94664DEFD": { + "name": "SET_PLANE_RESIST_TO_EXPLOSION", + "jhash": "0xFBBA699A", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x8074CC1886802912": { + "name": "SET_HELI_RESIST_TO_EXPLOSION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2545", + "old_names": [ + "_SET_HELI_RESIST_TO_EXPLOSION" + ] + }, + "0x26D99D5A82FD18E8": { + "name": "SET_DISABLE_BMX_EXTRA_TRICK_FORCES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "463" + }, + "0x84EA99C62CB3EF0C": { + "name": "SET_HYDRAULIC_SUSPENSION_RAISE_FACTOR", + "jhash": "", + "comment": "Works only on vehicles that support hydraulics.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelId" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_HYDRAULIC_STATE", + "_SET_HYDRAULIC_WHEEL_VALUE" + ] + }, + "0x0BB5CBDDD0F25AE3": { + "name": "GET_HYDRAULIC_SUSPENSION_RAISE_FACTOR", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelId" + } + ], + "return_type": "float", + "build": "2372", + "old_names": [ + "_GET_HYDRAULIC_WHEEL_VALUE" + ] + }, + "0x1201E8A3290A3B98": { + "name": "SET_CAN_USE_HYDRAULICS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_CAMBERED_WHEELS_DISABLED" + ] + }, + "0x8EA86DF356801C7D": { + "name": "SET_HYDRAULIC_VEHICLE_STATE", + "jhash": "", + "comment": "States:\n4 = raise\n5 = lower\n6 = jump", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "state" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_HYDRAULIC_WHEEL_STATE" + ] + }, + "0xC24075310A8B9CD1": { + "name": "SET_HYDRAULIC_WHEEL_STATE", + "jhash": "", + "comment": "Sets vehicle wheel hydraulic states transition. Known states:\n0 - reset\n1 - raise wheel (uses value arg, works just like _SET_VEHICLE_HYDRAULIC_WHEEL_VALUE)\n2 - jump using wheel", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelId" + }, + { + "type": "int", + "name": "state" + }, + { + "type": "float", + "name": "value" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_HYDRAULIC_WHEEL_STATE_TRANSITION" + ] + }, + "0x5BA68A0840D546AC": { + "name": "HAS_VEHICLE_PETROLTANK_SET_ON_FIRE_BY_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "463" + }, + "0x4419966C9936071A": { + "name": "CLEAR_VEHICLE_PETROLTANK_FIRE_CULPRIT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "463" + }, + "0x870B8B7A766615C8": { + "name": "SET_VEHICLE_BOBBLEHEAD_VELOCITY", + "jhash": "", + "comment": "Controls how fast bobbleheads and tsurikawas move on each axis.\n\np2 is probably z, but changing that value didn't seem to have a noticeable effect.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "p2" + } + ], + "return_type": "void", + "build": "505" + }, + "0x8533CAFDE1F0F336": { + "name": "GET_VEHICLE_IS_DUMMY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "BOOL", + "build": "505" + }, + "0x4E20D2A627011E8E": { + "name": "SET_VEHICLE_DAMAGE_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "757", + "old_names": [ + "_SET_VEHICLE_DAMAGE_MODIFIER" + ] + }, + "0x45A561A9421AB6AD": { + "name": "SET_VEHICLE_WEAPON_DAMAGE_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_SET_VEHICLE_UNK_DAMAGE_MULTIPLIER" + ] + }, + "0xD4196117AF7BB974": { + "name": "SET_DISABLE_DAMAGE_WITH_PICKED_UP_ENTITY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "BOOL", + "build": "757" + }, + "0xBB2333BB87DDD87F": { + "name": "SET_VEHICLE_USES_MP_PLAYER_DAMAGE_MULTIPLIER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "757" + }, + "0x73561D4425A021A2": { + "name": "SET_BIKE_EASY_TO_LAND", + "jhash": "", + "comment": "When enabled, the player won't fall off the bike when landing from large heights.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "791" + }, + "0x5B91B229243351A8": { + "name": "SET_INVERT_VEHICLE_CONTROLS", + "jhash": "", + "comment": "Inverts vehicle's controls. So INPUT_VEH_ACCELERATE will be INPUT_VEH_BRAKE and vise versa (same for A/D controls)\nDoesn't work for planes/helis.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "791", + "old_names": [ + "_SET_VEHICLE_CONTROLS_INVERTED" + ] + }, + "0x7BBE7FF626A591FE": { + "name": "SET_SPEED_BOOST_EFFECT_DISABLED", + "jhash": "", + "comment": "Disables the screen effects and sound effects when driving over a speed boost pad.", + "params": [ + { + "type": "BOOL", + "name": "disabled" + } + ], + "return_type": "void", + "build": "877" + }, + "0x65B080555EA48149": { + "name": "SET_SLOW_DOWN_EFFECT_DISABLED", + "jhash": "", + "comment": "Disables the screen effects and sound effects when driving over a slowdown pad.", + "params": [ + { + "type": "BOOL", + "name": "disabled" + } + ], + "return_type": "void", + "build": "1011" + }, + "0x428AD3E26C8D9EB0": { + "name": "SET_FORMATION_LEADER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "p4" + } + ], + "return_type": "void", + "build": "877" + }, + "0xE2F53F172B45EDE1": { + "name": "RESET_FORMATION_LEADER", + "jhash": "", + "comment": "Resets the effect of SET_FORMATION_LEADER", + "params": [], + "return_type": "void", + "build": "877" + }, + "0xBA91D045575699AD": { + "name": "GET_IS_BOAT_CAPSIZED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "877" + }, + "0x80E3357FDEF45C21": { + "name": "SET_ALLOW_RAMMING_SOOP_OR_RAMP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "944" + }, + "0xEFC13B1CE30D755D": { + "name": "SET_SCRIPT_RAMP_IMPULSE_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "impulseScale" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_VEHICLE_RAMP_LAUNCH_MODIFIER" + ] + }, + "0x645F4B6E8499F632": { + "name": "GET_IS_DOOR_VALID", + "jhash": "", + "comment": "doorId: see SET_VEHICLE_DOOR_SHUT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "doorId" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_DOES_VEHICLE_HAVE_DOOR", + "_GET_IS_DOOR_VALID" + ] + }, + "0xE00F2AB100B76E89": { + "name": "SET_SCRIPT_ROCKET_BOOST_RECHARGE_TIME", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "seconds" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_VEHICLE_ROCKET_BOOST_REFILL_TIME" + ] + }, + "0x36D782F68B309BDA": { + "name": "GET_HAS_ROCKET_BOOST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_HAS_VEHICLE_ROCKET_BOOST", + "_DOES_VEHICLE_HAVE_ROCKET_BOOST", + "_GET_HAS_ROCKET_BOOST" + ] + }, + "0x3D34E80EED4AE3BE": { + "name": "IS_ROCKET_BOOST_ACTIVE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_IS_VEHICLE_ROCKET_BOOST_ACTIVE" + ] + }, + "0x81E1552E35DC3839": { + "name": "SET_ROCKET_BOOST_ACTIVE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "active" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_VEHICLE_ROCKET_BOOST_ACTIVE" + ] + }, + "0xDCA174A42133F08C": { + "name": "GET_HAS_RETRACTABLE_WHEELS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_GET_HAS_LOWERABLE_WHEELS", + "_DOES_VEHICLE_HAVE_RETRACTABLE_WHEELS", + "_GET_HAS_RETRACTABLE_WHEELS" + ] + }, + "0x1DA0DA9CB3F0C8BF": { + "name": "GET_IS_WHEELS_RETRACTED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_GET_IS_WHEELS_LOWERED_STATE_ACTIVE" + ] + }, + "0xF660602546D27BA8": { + "name": "SET_WHEELS_EXTENDED_INSTANTLY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_RAISE_LOWERABLE_WHEELS", + "_RAISE_RETRACTABLE_WHEELS" + ] + }, + "0x5335BE58C083E74E": { + "name": "SET_WHEELS_RETRACTED_INSTANTLY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1011", + "old_names": [ + "_LOWER_RETRACTABLE_WHEELS" + ] + }, + "0x9078C0C5EF8C19E9": { + "name": "GET_CAR_HAS_JUMP", + "jhash": "", + "comment": "Returns true if the vehicle has the FLAG_JUMPING_CAR flag set.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_HAS_VEHICLE_JUMPING_ABILITY", + "_DOES_VEHICLE_HAVE_JUMPING_ABILITY", + "_GET_CAN_VEHICLE_JUMP" + ] + }, + "0xF06A16CA55D138D8": { + "name": "SET_USE_HIGHER_CAR_JUMP", + "jhash": "", + "comment": "Allows vehicles with the FLAG_JUMPING_CAR flag to jump higher (i.e. Ruiner 2000).", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_USE_HIGHER_VEHICLE_JUMP_FORCE" + ] + }, + "0xB2E0C0D6922D31F2": { + "name": "SET_CLEAR_FREEZE_WAITING_ON_COLLISION_ONCE_PLAYER_ENTERS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "944" + }, + "0x44CD1F493DB2A0A6": { + "name": "SET_VEHICLE_WEAPON_RESTRICTED_AMMO", + "jhash": "", + "comment": "Set vehicle's primary mounted weapon 2 ammo. For example, use it on APC.\nFor example, you can \"remove\" any vehicle weapon from any vehicle.\nammoAmount -1 = infinite ammo (default value for any spawned vehicle tho)", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "weaponIndex" + }, + { + "type": "int", + "name": "capacity" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_VEHICLE_WEAPON_CAPACITY" + ] + }, + "0x8181CE2F25CB9BB7": { + "name": "GET_VEHICLE_WEAPON_RESTRICTED_AMMO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "weaponIndex" + } + ], + "return_type": "int", + "build": "1011", + "old_names": [ + "_GET_VEHICLE_WEAPON_CAPACITY" + ] + }, + "0xBC9CFF381338CB4F": { + "name": "GET_VEHICLE_HAS_PARACHUTE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_HAS_VEHICLE_PARACHUTE", + "_DOES_VEHICLE_HAVE_PARACHUTE", + "_GET_VEHICLE_HAS_PARACHUTE" + ] + }, + "0xA916396DF4154EE3": { + "name": "GET_VEHICLE_CAN_DEPLOY_PARACHUTE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "944", + "old_names": [ + "_CAN_VEHICLE_PARACHUTE_BE_ACTIVATED", + "_GET_VEHICLE_CAN_ACTIVATE_PARACHUTE" + ] + }, + "0x0BFFB028B3DD0A97": { + "name": "VEHICLE_START_PARACHUTING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "active" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_VEHICLE_PARACHUTE_ACTIVE" + ] + }, + "0x3DE51E9C80B116CF": { + "name": "IS_VEHICLE_PARACHUTE_DEPLOYED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1011", + "old_names": [ + "_IS_VEHICLE_PARACHUTE_ACTIVE" + ] + }, + "0x28D034A93FE31BF5": { + "name": "VEHICLE_SET_RAMP_AND_RAMMING_CARS_TAKE_DAMAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_RAMP_VEHICLE_RECEIVES_RAMP_DAMAGE", + "_SET_VEHICLE_RECEIVES_RAMP_DAMAGE" + ] + }, + "0x1BBAC99C0BC53656": { + "name": "VEHICLE_SET_ENABLE_RAMP_CAR_SIDE_IMPULSE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_VEHICLE_RAMP_SIDEWAYS_LAUNCH_MOTION" + ] + }, + "0x756AE6E962168A04": { + "name": "VEHICLE_SET_ENABLE_NORMALISE_RAMP_CAR_VERTICAL_VELOCTIY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "944", + "old_names": [ + "_SET_VEHICLE_RAMP_UPWARDS_LAUNCH_MOTION" + ] + }, + "0x9D30687C57BAA0BB": { + "name": "VEHICLE_SET_JET_WASH_FORCE_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + } + ], + "return_type": "void", + "build": "1011" + }, + "0x86B4B6212CB8B627": { + "name": "SET_VEHICLE_WEAPON_CAN_TARGET_OBJECTS", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1011", + "old_names": [ + "_SET_VEHICLE_WEAPONS_DISABLED" + ] + }, + "0x41290B40FA63E6DA": { + "name": "SET_VEHICLE_USE_BOOST_BUTTON_FOR_WHEEL_RETRACT", + "jhash": "", + "comment": "Used for blazer5. Changes the quadbike-jetski transformation input from raise/lower convertible roof (hold H by default) to horn (press E by default.)", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1011" + }, + "0x4D610C6B56031351": { + "name": "VEHICLE_SET_PARACHUTE_MODEL_OVERRIDE", + "jhash": "", + "comment": "Parachute models:\n- sr_prop_specraces_para_s_01\n- imp_prop_impexp_para_s (SecuroServ; Default)\nPlus, many more props can be used as vehicle parachutes, like umbrellas (prop_beach_parasol_03), and unlike SET_PLAYER_PARACHUTE_MODEL_OVERRIDE, you won't get stuck mid-air when using an umbrella.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Hash", + "name": "modelHash" + } + ], + "return_type": "void", + "build": "1011", + "old_names": [ + "_VEHICLE_SET_CUSTOM_PARACHUTE_MODEL", + "_SET_VEHICLE_PARACHUTE_MODEL" + ] + }, + "0xA74AD2439468C883": { + "name": "VEHICLE_SET_PARACHUTE_MODEL_TINT_INDEX", + "jhash": "", + "comment": "Variations available for the generic parachute (sr_prop_specraces_para_s_01):\n- 0: Rainbow\n- 1: Red\n- 2: White, blue, yellow\n- 3: Black, red, white\n- 4: Red, white, blue\n- 5: Blue\n- 6: Black\n- 7: Black, yellow", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "textureVariation" + } + ], + "return_type": "void", + "build": "1011", + "old_names": [ + "_VEHICLE_SET_CUSTOM_PARACHUTE_TEXTURE", + "_SET_VEHICLE_PARACHUTE_TEXTURE_VARIATION" + ] + }, + "0x0419B167EE128F33": { + "name": "VEHICLE_SET_OVERRIDE_EXTENABLE_SIDE_RATIO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "1103" + }, + "0xF3B0E0AED097A3F5": { + "name": "VEHICLE_SET_EXTENABLE_SIDE_TARGET_RATIO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "1103" + }, + "0xD3E51C0AB8C26EEE": { + "name": "VEHICLE_SET_OVERRIDE_SIDE_RATIO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "int", + "build": "1103" + }, + "0x9B8E1BF04B51F2E8": { + "name": "GET_ALL_VEHICLES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any*", + "name": "vehsStruct" + } + ], + "return_type": "int", + "build": "1103", + "old_names": [ + "_GET_ALL_VEHICLES" + ] + }, + "0x72BECCF4B829522E": { + "name": "SET_CARGOBOB_EXTA_PICKUP_RANGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x66E3AAFACE2D1EB8": { + "name": "SET_OVERRIDE_VEHICLE_DOOR_TORQUE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x1312DDD8385AEE4E": { + "name": "SET_WHEELIE_ENABLED", + "jhash": "", + "comment": "Enables/disables the ability to wheelie on motorcycles.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "enabled" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xEDBC8405B3895CC9": { + "name": "SET_DISABLE_HELI_EXPLODE_FROM_BODY_DAMAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x26E13D440E7F6064": { + "name": "SET_DISABLE_EXPLODE_FROM_BODY_DAMAGE_ON_COLLISION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "value" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x2FA2494B47FDD009": { + "name": "SET_TRAILER_ATTACHMENT_ENABLED", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xFEB2DDED3509562E": { + "name": "SET_ROCKET_BOOST_FILL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "percentage" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_VEHICLE_ROCKET_BOOST_PERCENTAGE" + ] + }, + "0x544996C0081ABDEB": { + "name": "SET_GLIDER_ACTIVE", + "jhash": "", + "comment": "Set state to true to extend the wings, false to retract them.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "state" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_OPPRESSOR_TRANSFORM_STATE" + ] + }, + "0x78CEEE41F49F421F": { + "name": "SET_SHOULD_RESET_TURRET_IN_SCRIPTED_CAMERAS", + "jhash": "", + "comment": "Resets the vehicle's turret to its default position in scripted cameras. Doesn't seem to affect turrets that are occupied by a ped.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "shouldReset" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xAF60E6A2936F982A": { + "name": "SET_VEHICLE_DISABLE_COLLISION_UPON_CREATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "disable" + } + ], + "return_type": "void", + "build": "1103" + }, + "0x430A7631A84C9BE7": { + "name": "SET_GROUND_EFFECT_REDUCES_DRAG", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1180" + }, + "0x75627043C6AA90AD": { + "name": "SET_DISABLE_MAP_COLLISION", + "jhash": "", + "comment": "Disables collision for this vehicle (maybe it also supports other entities, not sure).\nOnly world/building/fixed world objects will have their collisions disabled, props, peds, or any other entity still collides with the vehicle.\nExample: https://streamable.com/6n45d5\nNot sure if there is a native (and if so, which one) that resets the collisions.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_DISABLE_VEHICLE_WORLD_COLLISION" + ] + }, + "0x8235F1BEAD557629": { + "name": "SET_DISABLE_PED_STAND_ON_TOP", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1180" + }, + "0x9640E30A7F395E4B": { + "name": "SET_VEHICLE_DAMAGE_SCALES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + }, + { + "type": "Any", + "name": "p3" + }, + { + "type": "Any", + "name": "p4" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x0BBB9A7A8FFE931B": { + "name": "SET_PLANE_SECTION_DAMAGE_SCALE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Any", + "name": "p1" + }, + { + "type": "Any", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290" + }, + "0x94A68DA412C4007D": { + "name": "SET_HELI_CAN_PICKUP_ENTITY_THAT_HAS_PICK_UP_DISABLED", + "jhash": "", + "comment": "Stops the cargobob from being able to attach any vehicle", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_SET_CARGOBOB_HOOK_CAN_ATTACH" + ] + }, + "0xF4B2ED59DEB5D774": { + "name": "SET_VEHICLE_BOMB_AMMO", + "jhash": "", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "bombCount" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_SET_VEHICLE_BOMBS", + "_SET_AIRCRAFT_BOMB_COUNT", + "_SET_VEHICLE_BOMB_COUNT" + ] + }, + "0xEA12BD130D7569A1": { + "name": "GET_VEHICLE_BOMB_AMMO", + "jhash": "", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "1180", + "old_names": [ + "_GET_AIRCRAFT_BOMB_COUNT", + "_GET_VEHICLE_BOMB_COUNT" + ] + }, + "0x9BDA23BF666F0855": { + "name": "SET_VEHICLE_COUNTERMEASURE_AMMO", + "jhash": "", + "comment": "Similar to SET_VEHICLE_BOMB_AMMO, this sets the amount of countermeasures that are present on this vehicle.\nUse GET_VEHICLE_BOMB_AMMO to get the current amount.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "counterMeasureCount" + } + ], + "return_type": "void", + "build": "1180", + "old_names": [ + "_SET_AIRCRAFT_COUNTERMEASURE_COUNT", + "_SET_VEHICLE_COUNTERMEASURE_COUNT" + ] + }, + "0xF846AA63DF56B804": { + "name": "GET_VEHICLE_COUNTERMEASURE_AMMO", + "jhash": "", + "comment": "Similar to `GET_VEHICLE_BOMB_AMMO`, this gets the amount of countermeasures that are present on this vehicle.\nUse SET_VEHICLE_COUNTERMEASURE_AMMO to set the current amount.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "int", + "build": "1180", + "old_names": [ + "_GET_AIRCRAFT_COUNTERMEASURE_COUNT", + "_GET_VEHICLE_COUNTERMEASURE_COUNT" + ] + }, + "0x0A3F820A9A9A9AC5": { + "name": "SET_HELI_COMBAT_OFFSET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "1180" + }, + "0x51F30DB60626A20E": { + "name": "GET_CAN_VEHICLE_BE_PLACED_HERE", + "jhash": "", + "comment": "Used in decompiled scripts in combination with GET_VEHICLE_SIZE\np7 is usually 2\np8 is usually 1", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "rotX" + }, + { + "type": "float", + "name": "rotY" + }, + { + "type": "float", + "name": "rotZ" + }, + { + "type": "int", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + } + ], + "return_type": "BOOL", + "build": "1180" + }, + "0x97841634EF7DF1D6": { + "name": "SET_DISABLE_AUTOMATIC_CRASH_TASK", + "jhash": "", + "comment": "Sets a flag on heli and another vehicle type.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1180" + }, + "0xD138FA15C9776837": { + "name": "SET_SPECIAL_FLIGHT_MODE_RATIO", + "jhash": "", + "comment": "Used in conjunction with SET_SPECIAL_FLIGHT_MODE_TARGET_RATIO, 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 SET_SPECIAL_FLIGHT_MODE_TARGET_RATIO, the vehicle will automatically transform back into car mode.\n\nUsable only with the deluxo and other vehicles with deluxo-like hover mode toggle, modded or otherwise. Does nothing when used on oppressor2.\n\nExample:\nPed playerPed = PLAYER::PLAYER_PED_ID();\nVehicle veh = PED::GET_VEHICLE_PED_IS_USING(playerPed);\nVEHICLE::SET_SPECIAL_FLIGHT_MODE_RATIO(veh, 0.7f);\nVEHICLE::SET_SPECIAL_FLIGHT_MODE_TARGET_RATIO(veh, 1.0f);", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "ratio" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_VEHICLE_HOVER_TRANSFORM_RATIO" + ] + }, + "0x438B3D7CA026FE91": { + "name": "SET_SPECIAL_FLIGHT_MODE_TARGET_RATIO", + "jhash": "", + "comment": "Used in conjunction with SET_SPECIAL_FLIGHT_MODE_RATIO, 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 SET_SPECIAL_FLIGHT_MODE_RATIO,) 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.\n\ntargetRatio is recommended to always be 0.0 or 1.0, otherwise the vehicle will transform into a glitched state.\n\nUsable only with the deluxo and other vehicles with deluxo-like hover mode toggle, modded or otherwise. Does nothing when used on oppressor2.\n\nExample:\nPed playerPed = PLAYER::PLAYER_PED_ID();\nVehicle veh = PED::GET_VEHICLE_PED_IS_USING(playerPed);\nVEHICLE::SET_SPECIAL_FLIGHT_MODE_RATIO(veh, 0.7f);\nVEHICLE::SET_SPECIAL_FLIGHT_MODE_TARGET_RATIO(veh, 1.0f);", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "targetRatio" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_VEHICLE_TRANSFORM_STATE", + "_SET_VEHICLE_HOVER_TRANSFORM_PERCENTAGE" + ] + }, + "0xF1211889DF15A763": { + "name": "SET_SPECIAL_FLIGHT_MODE_ALLOWED", + "jhash": "", + "comment": "It will override the ability to transform deluxo. For oppressor it will work just like SET_DISABLE_HOVER_MODE_FLIGHT", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_VEHICLE_HOVER_TRANSFORM_ENABLED" + ] + }, + "0x2D55FE374D5FDB91": { + "name": "SET_DISABLE_HOVER_MODE_FLIGHT", + "jhash": "", + "comment": "Disables \"wings\" for some flying vehicles. Works only for oppressor _2_ and deluxo.\nFor deluxo it just immediately removes vehicle's \"wings\" and you will be not able to fly up.\nFor oppressor 2 it will remove wings right after you land. And you will not able to fly up anymore too.\nBut for opressor 2 you still can fly if you somehow get back in the air.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_VEHICLE_HOVER_TRANSFORM_ACTIVE" + ] + }, + "0x3A9128352EAC9E85": { + "name": "GET_OUTRIGGERS_DEPLOYED", + "jhash": "", + "comment": "Checks if Chernobog's stabilizers are deployed or not.\nThese are the metal supports that allow it to fire.\nThis native only applies to the Chernobog.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1290", + "old_names": [ + "_ARE_CHERNOBOG_STABILIZERS_DEPLOYED" + ] + }, + "0x8DC9675797123522": { + "name": "FIND_SPAWN_COORDINATES_FOR_HELI", + "jhash": "", + "comment": "Native is significantly more complicated than simply generating a random vector & length.\nThe 'point' is either 400.0 or 250.0 units away from the Ped's current coordinates; and paths into functions like rage::grcViewport___IsSphereVisible", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Vector3", + "build": "1290", + "old_names": [ + "_FIND_RANDOM_POINT_IN_SPACE" + ] + }, + "0xB251E0B33E58B424": { + "name": "SET_DEPLOY_FOLDING_WINGS", + "jhash": "", + "comment": "Only used with the \"akula\" and \"annihilator2\" in the decompiled native scripts.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "deploy" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_DEPLOY_HELI_STUB_WINGS" + ] + }, + "0xAEF12960FA943792": { + "name": "ARE_FOLDING_WINGS_DEPLOYED", + "jhash": "", + "comment": "Only used with the \"akula\" and \"annihilator2\" in the decompiled native scripts.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1290", + "old_names": [ + "_ARE_HELI_STUB_WINGS_DEPLOYED" + ] + }, + "0xAA653AE61924B0A0": { + "name": "SET_DIP_STRAIGHT_DOWN_WHEN_CRASHING_PLANE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290" + }, + "0xC60060EB0D8AC7B1": { + "name": "SET_TURRET_HIDDEN", + "jhash": "", + "comment": "Toggles specific flag on turret", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "index" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1290", + "old_names": [ + "_SET_VEHICLE_TURRET_UNK" + ] + }, + "0x70A252F60A3E036B": { + "name": "SET_HOVER_MODE_WING_RATIO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "ratio" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_SPECIALFLIGHT_WING_RATIO" + ] + }, + "0xE615BB7A7752C76A": { + "name": "SET_DISABLE_TURRET_MOVEMENT", + "jhash": "", + "comment": "Disables turret movement when called in a loop. You can still fire and aim. You cannot shoot backwards though.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "turretId" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_DISABLE_TURRET_MOVEMENT", + "_SET_DISABLE_TURRET_MOVEMENT_THIS_FRAME" + ] + }, + "0x887FA38787DE8C72": { + "name": "SET_FORCE_FIX_LINK_MATRICES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "void", + "build": "1365" + }, + "0x498218259FB7C72D": { + "name": "SET_TRANSFORM_RATE_FOR_ANIMATION", + "jhash": "", + "comment": "Affects the playback speed of the submarine car conversion animations. Does not affect hardcoded animations such as the wheels being retracted.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "float", + "name": "transformRate" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_UNK_FLOAT_FOR_SUBMARINE_VEHICLE_TASK" + ] + }, + "0x41B9FB92EDED32A6": { + "name": "SET_TRANSFORM_TO_SUBMARINE_USES_ALTERNATE_INPUT", + "jhash": "", + "comment": "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.)", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1365", + "old_names": [ + "_SET_UNK_BOOL_FOR_SUBMARINE_VEHICLE_TASK" + ] + }, + "0x36DE109527A2C0C4": { + "name": "SET_VEHICLE_COMBAT_MODE", + "jhash": "", + "comment": "Does nothing. It's a nullsub.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x82E0AC411E41A5B4": { + "name": "SET_VEHICLE_DETONATION_MODE", + "jhash": "", + "comment": "Does nothing. It's a nullsub.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x99A05839C46CE316": { + "name": "SET_VEHICLE_SHUNT_ON_STICK", + "jhash": "", + "comment": "Does nothing. It's a nullsub.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0xA2459F72C14E2E8D": { + "name": "GET_IS_VEHICLE_SHUNTING", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1604", + "old_names": [ + "_GET_IS_VEHICLE_SHUNT_BOOST_ACTIVE" + ] + }, + "0xE8718FAF591FD224": { + "name": "GET_HAS_VEHICLE_BEEN_HIT_BY_SHUNT", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1604" + }, + "0x04F2FA6E234162F7": { + "name": "GET_LAST_SHUNT_VEHICLE", + "jhash": "", + "comment": "Returns last vehicle that was rammed by the given vehicle using the shunt boost.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "Vehicle", + "build": "1604", + "old_names": [ + "_GET_LAST_RAMMED_VEHICLE" + ] + }, + "0x143921E45EC44D62": { + "name": "SET_DISABLE_VEHICLE_EXPLOSIONS_DAMAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_DISABLE_VEHICLE_UNK" + ] + }, + "0xC8E9B6B71B8E660D": { + "name": "SET_OVERRIDE_NITROUS_LEVEL", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "float", + "name": "level" + }, + { + "type": "float", + "name": "power" + }, + { + "type": "float", + "name": "rechargeTime" + }, + { + "type": "BOOL", + "name": "disableSound" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_VEHICLE_NITRO_ENABLED" + ] + }, + "0x2970EAA18FD5E42F": { + "name": "SET_INCREASE_WHEEL_CRUSH_DAMAGE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_VEHICLE_WHEELS_DEAL_DAMAGE" + ] + }, + "0x211E95CE9903940C": { + "name": "SET_DISABLE_WEAPON_BLADE_FORCES", + "jhash": "", + "comment": "Sets some global vehicle related bool", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_SET_DISABLE_VEHICLE_UNK_2" + ] + }, + "0x5BBCF35BF6E456F7": { + "name": "SET_USE_DOUBLE_CLICK_FOR_CAR_JUMP", + "jhash": "", + "comment": "Changes the car jump control to require a double-tap to activate.", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x71AFB258CCED3A27": { + "name": "GET_DOES_VEHICLE_HAVE_TOMBSTONE", + "jhash": "", + "comment": "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.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1604", + "old_names": [ + "_GET_DOES_VEHICLE_HAVE_TOMBSTONE" + ] + }, + "0xAE71FB656C600587": { + "name": "HIDE_TOMBSTONE", + "jhash": "", + "comment": "Disables detachable bumber from domnator4, dominator5, dominator6, see https://gfycat.com/SecondUnluckyGosling", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604", + "old_names": [ + "_HIDE_VEHICLE_TOMBSTONE" + ] + }, + "0x0506ED94363AD905": { + "name": "GET_IS_VEHICLE_DISABLED_BY_EMP", + "jhash": "", + "comment": "Returns whether this vehicle is currently disabled by an EMP mine.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "1604", + "old_names": [ + "_GET_IS_VEHICLE_EMP_DISABLED" + ] + }, + "0x8F0D5BA1C2CC91D7": { + "name": "SET_DISABLE_RETRACTING_WEAPON_BLADES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1604" + }, + "0x55EAB010FAEE9380": { + "name": "GET_TYRE_HEALTH", + "jhash": "", + "comment": "Usable wheels:\n0: wheel_lf\n1: wheel_rf\n2: wheel_lm1\n3: wheel_rm1\n4: wheel_lr\n5: wheel_rr", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelIndex" + } + ], + "return_type": "float", + "build": "1868", + "old_names": [ + "_GET_TYRE_HEALTH" + ] + }, + "0x74C68EF97645E79D": { + "name": "SET_TYRE_HEALTH", + "jhash": "", + "comment": "SET_TYRE_WEAR_RATE must be active, otherwise values set to <1000.0f will default to 350.0f\n\nUsable wheels:\n0: wheel_lf\n1: wheel_rf\n2: wheel_lm1\n3: wheel_rm1\n4: wheel_lr\n5: wheel_rr", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelIndex" + }, + { + "type": "float", + "name": "health" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_SET_TYRE_HEALTH" + ] + }, + "0x6E387895952F4F71": { + "name": "GET_TYRE_WEAR_RATE", + "jhash": "", + "comment": "Returns the multiplier value from SET_TYRE_WEAR_RATE\n\nUsable wheels:\n0: wheel_lf\n1: wheel_rf\n2: wheel_lm1\n3: wheel_rm1\n4: wheel_lr\n5: wheel_rr", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelIndex" + } + ], + "return_type": "float", + "build": "2060", + "old_names": [ + "_GET_TYRE_WEAR_MULTIPLIER" + ] + }, + "0x01894E2EDE923CA2": { + "name": "SET_TYRE_WEAR_RATE", + "jhash": "", + "comment": "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.\nDefault value in Rockstar's Open Wheel Race JSON's (\"owrtws\", \"owrtwm\", \"owrtwh\") is 1.0\n\nUsable wheels:\n0: wheel_lf\n1: wheel_rf\n2: wheel_lm1\n3: wheel_rm1\n4: wheel_lr\n5: wheel_rr", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelIndex" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "1868", + "old_names": [ + "_SET_TYRE_WEAR_MULTIPLIER" + ] + }, + "0x392183BB9EA57697": { + "name": "SET_TYRE_WEAR_RATE_SCALE", + "jhash": "", + "comment": "Controls how fast the tires wear out.\n\nDefault values from Rockstar's Open Wheel Race JSON's:\n\"owrtss\" (Soft): 2.2\n\"owrtsm\" (Medium): 1.7\n\"owrtsh\" (Hard): 1.2\n\nUsable wheels:\n0: wheel_lf\n1: wheel_rf\n2: wheel_lm1\n3: wheel_rm1\n4: wheel_lr\n5: wheel_rr", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelIndex" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "2060", + "old_names": [ + "_SET_TYRE_SOFTNESS_MULTIPLIER" + ] + }, + "0xC970D0E0FC31D768": { + "name": "SET_TYRE_MAXIMUM_GRIP_DIFFERENCE_DUE_TO_WEAR_RATE", + "jhash": "", + "comment": "Controls how much traction the wheel loses.\n\nDefault values from Rockstar's Open Wheel Race JSON's:\n\"owrtds\" (Soft): 0.05\n\"owrtdm\" (Medium): 0.45\n\"owrtdh\" (Hard): 0.8\n\nUsable wheels:\n0: wheel_lf\n1: wheel_rf\n2: wheel_lm1\n3: wheel_rm1\n4: wheel_lr\n5: wheel_rr", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "wheelIndex" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "2060", + "old_names": [ + "_SET_TYRE_TRACTION_LOSS_MULTIPLIER" + ] + }, + "0xF8B49F5BA7F850E7": { + "name": "SET_AIRCRAFT_IGNORE_HIGHTMAP_OPTIMISATION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "2060" + }, + "0x3A375167F5782A65": { + "name": "SET_REDUCED_SUSPENSION_FORCE", + "jhash": "", + "comment": "Lowers the vehicle's stance. Only works for vehicles that have strAdvancedFlags 0x8000 and 0x4000000 set.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "enable" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_REDUCE_DRIFT_VEHICLE_SUSPENSION" + ] + }, + "0x5AC79C98C5C17F05": { + "name": "SET_DRIFT_TYRES", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_DRIFT_TYRES_ENABLED" + ] + }, + "0x2F5A72430E78C8D3": { + "name": "GET_DRIFT_TYRES_SET", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + } + ], + "return_type": "BOOL", + "build": "2372", + "old_names": [ + "_GET_DRIFT_TYRES_ENABLED" + ] + }, + "0xEC0C1D4922AF9754": { + "name": "NETWORK_USE_HIGH_PRECISION_TRAIN_BLENDING", + "jhash": "", + "comment": "Implemented only for trains.", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_NETWORK_USE_HIGH_PRECISION_VEHICLE_BLENDING" + ] + }, + "0xEF9D388F8D377F44": { + "name": "SET_CHECK_FOR_ENOUGH_ROOM_FOR_PED", + "jhash": "", + "comment": "Only used in R* Script fm_content_cargo", + "params": [ + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "2699" + } + }, + "WATER": { + "0xF6829842C06AE524": { + "name": "GET_WATER_HEIGHT", + "jhash": "0xD864E17C", + "comment": "This function set height to the value of z-axis of the water surface.\n\nThis function works with sea and lake. However it does not work with shallow rivers (e.g. raton canyon will return -100000.0f)\n\nnote: seems to return true when you are in water", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float*", + "name": "height" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8EE6B53CE13A9794": { + "name": "GET_WATER_HEIGHT_NO_WAVES", + "jhash": "0x262017F8", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float*", + "name": "height" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xFFA5D878809819DB": { + "name": "TEST_PROBE_AGAINST_WATER", + "jhash": "0xAA4AE00C", + "comment": "", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "Vector3*", + "name": "result" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8974647ED222EA5F": { + "name": "TEST_PROBE_AGAINST_ALL_WATER", + "jhash": "0x4A962D55", + "comment": "enum eScriptWaterTestResult\n{\n\tSCRIPT_WATER_TEST_RESULT_NONE,\n\tSCRIPT_WATER_TEST_RESULT_WATER,\n\tSCRIPT_WATER_TEST_RESULT_BLOCKED,\n};", + "params": [ + { + "type": "float", + "name": "x1" + }, + { + "type": "float", + "name": "y1" + }, + { + "type": "float", + "name": "z1" + }, + { + "type": "float", + "name": "x2" + }, + { + "type": "float", + "name": "y2" + }, + { + "type": "float", + "name": "z2" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "float*", + "name": "waterHeight" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2B3451FA1E3142E2": { + "name": "TEST_VERTICAL_PROBE_AGAINST_ALL_WATER", + "jhash": "0x4C71D143", + "comment": "See TEST_PROBE_AGAINST_ALL_WATER.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "int", + "name": "flags" + }, + { + "type": "float*", + "name": "waterHeight" + } + ], + "return_type": "int", + "build": "323" + }, + "0xC443FD757C3BA637": { + "name": "MODIFY_WATER", + "jhash": "0xC49E005A", + "comment": "Sets the water height for a given position and radius.\n", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "height" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFDBF4CDBC07E1706": { + "name": "ADD_EXTRA_CALMING_QUAD", + "jhash": "0xA9419B6D", + "comment": "", + "params": [ + { + "type": "float", + "name": "xLow" + }, + { + "type": "float", + "name": "yLow" + }, + { + "type": "float", + "name": "xHigh" + }, + { + "type": "float", + "name": "yHigh" + }, + { + "type": "float", + "name": "height" + } + ], + "return_type": "int", + "build": "323", + "old_names": [ + "_ADD_CURRENT_RISE" + ] + }, + "0xB1252E3E59A82AAF": { + "name": "REMOVE_EXTRA_CALMING_QUAD", + "jhash": "0x45268B6F", + "comment": "p0 is the handle returned from ADD_EXTRA_CALMING_QUAD", + "params": [ + { + "type": "int", + "name": "calmingQuad" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_REMOVE_CURRENT_RISE" + ] + }, + "0xB96B00E976BE977F": { + "name": "SET_DEEP_OCEAN_SCALER", + "jhash": "0x53B694B1", + "comment": "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.\n\nWorks only ~200 meters around the player.", + "params": [ + { + "type": "float", + "name": "intensity" + } + ], + "return_type": "void", + "build": "323", + "old_names": [ + "_SET_WAVES_INTENSITY", + "_SET_CURRENT_INTENSITY" + ] + }, + "0x2B2A2CC86778B619": { + "name": "GET_DEEP_OCEAN_SCALER", + "jhash": "0xBD0A67FB", + "comment": "Gets the aggressiveness factor of the ocean waves.", + "params": [], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_WAVES_INTENSITY", + "_GET_CURRENT_INTENSITY" + ] + }, + "0x547237AA71AB44DE": { + "name": "SET_CALMED_WAVE_HEIGHT_SCALER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "height" + } + ], + "return_type": "void", + "build": "573" + }, + "0x5E5E99285AE812DB": { + "name": "RESET_DEEP_OCEAN_SCALER", + "jhash": "0x4AD23212", + "comment": "Sets the waves intensity back to original (1.0 in most cases).", + "params": [], + "return_type": "void", + "build": "323", + "old_names": [ + "_RESET_WAVES_INTENSITY", + "_RESET_CURRENT_INTENSITY" + ] + } + }, + "WEAPON": { + "0xC8B46D7727D864AA": { + "name": "ENABLE_LASER_SIGHT_RENDERING", + "jhash": "0xE3438955", + "comment": "Enables laser sight on any weapon.\n\nIt doesn't work. Neither on tick nor OnKeyDown", + "params": [ + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0DB57B41EC1DB083": { + "name": "GET_WEAPON_COMPONENT_TYPE_MODEL", + "jhash": "0x324FA47A", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0xF46CDC33180FDA94": { + "name": "GET_WEAPONTYPE_MODEL", + "jhash": "0x44E1C269", + "comment": "Returns the model of any weapon.\n\nCan also take an ammo hash?\nsub_6663a(&l_115B, WEAPON::GET_WEAPONTYPE_MODEL(${ammo_rpg}));", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x4215460B9B8B7FA0": { + "name": "GET_WEAPONTYPE_SLOT", + "jhash": "0x2E3759AF", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0xC3287EE3050FB74C": { + "name": "GET_WEAPONTYPE_GROUP", + "jhash": "0x5F2DE833", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x6558AC7C17BFEF58": { + "name": "GET_WEAPON_COMPONENT_VARIANT_EXTRA_COUNT", + "jhash": "", + "comment": "Returns the amount of extra components the specified component has.\nReturns -1 if the component isn't of type CWeaponComponentVariantModel.", + "params": [ + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "int", + "build": "372", + "old_names": [ + "_GET_WEAPON_COMPONENT_VARIANT_EXTRA_COMPONENT_COUNT" + ] + }, + "0x4D1CB8DC40208A17": { + "name": "GET_WEAPON_COMPONENT_VARIANT_EXTRA_MODEL", + "jhash": "", + "comment": "Returns the model hash of the extra component at specified index.", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "int", + "name": "extraComponentIndex" + } + ], + "return_type": "Hash", + "build": "372", + "old_names": [ + "_GET_WEAPON_COMPONENT_VARIANT_EXTRA_COMPONENT_MODEL" + ] + }, + "0xADF692B254977C0C": { + "name": "SET_CURRENT_PED_WEAPON", + "jhash": "0xB8278882", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "BOOL", + "name": "bForceInHand" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3A87E44BB9A01D54": { + "name": "GET_CURRENT_PED_WEAPON", + "jhash": "0xB0237302", + "comment": "The return value seems to indicate returns true if the hash of the weapon object weapon equals the weapon hash.\np2 seems to be 1 most of the time.\n\n\n\n\n\np2 is not implemented\n\ndisassembly said that?\n", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash*", + "name": "weaponHash" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3B390A939AF0B5FC": { + "name": "GET_CURRENT_PED_WEAPON_ENTITY_INDEX", + "jhash": "0x5D73CD20", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "Entity", + "build": "323" + }, + "0x8483E98E8B888AE2": { + "name": "GET_BEST_PED_WEAPON", + "jhash": "0xB998D444", + "comment": "p1 is always 0 in the scripts.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x75C55983C2C39DAA": { + "name": "SET_CURRENT_PED_VEHICLE_WEAPON", + "jhash": "0x8E6F2AF1", + "comment": "Full list of weapons by DurtyFree (Search for VEHICLE_*): https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x1017582BCD3832DC": { + "name": "GET_CURRENT_PED_VEHICLE_WEAPON", + "jhash": "0xF26C5D65", + "comment": "Example in VB\n\n Public Shared Function GetVehicleCurrentWeapon(Ped As Ped) As Integer\n Dim arg As New OutputArgument()\n Native.Function.Call(Hash.GET_CURRENT_PED_VEHICLE_WEAPON, Ped, arg)\n Return arg.GetResult(Of Integer)()\n End Function\n\nUsage:\nIf GetVehicleCurrentWeapon(Game.Player.Character) = -821520672 Then ...Do something\nNote: -821520672 = VEHICLE_WEAPON_PLANE_ROCKET", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash*", + "name": "weaponHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x50276EF8172F5F12": { + "name": "SET_PED_CYCLE_VEHICLE_WEAPONS_ONLY", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "1734" + }, + "0x475768A975D5AD17": { + "name": "IS_PED_ARMED", + "jhash": "0x0BFC892C", + "comment": "Checks if the ped is currently equipped with a weapon matching a bit specified using a bitwise-or in typeFlags.\n\nType flag bit values:\n1 = Melee weapons\n2 = Explosive weapons\n4 = Any other weapons\n\nNot specifying any bit will lead to the native *always* returning 'false', and for example specifying '4 | 2' will check for any weapon except fists and melee weapons.\n7 returns true if you are equipped with any weapon except your fists.\n6 returns true if you are equipped with any weapon except melee weapons.\n5 returns true if you are equipped with any weapon except the Explosives weapon group.\n4 returns true if you are equipped with any weapon except Explosives weapon group AND melee weapons.\n3 returns true if you are equipped with either Explosives or Melee weapons (the exact opposite of 4).\n2 returns true only if you are equipped with any weapon from the Explosives weapon group.\n1 returns true only if you are equipped with any Melee weapon.\n0 never returns true.\n\nNote: When I say \"Explosives weapon group\", it does not include the Jerry can and Fire Extinguisher.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "typeFlags" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x937C71165CF334B3": { + "name": "IS_WEAPON_VALID", + "jhash": "0x38CA2954", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8DECB02F88F428BC": { + "name": "HAS_PED_GOT_WEAPON", + "jhash": "0x43D2FA82", + "comment": "p2 should be FALSE, otherwise it seems to always return FALSE\n\nBool does not check if the weapon is current equipped, unfortunately.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB80CA294F2F26749": { + "name": "IS_PED_WEAPON_READY_TO_SHOOT", + "jhash": "0x02A32CB0", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xEFFED78E9011134D": { + "name": "GET_PED_WEAPONTYPE_IN_SLOT", + "jhash": "0x9BC64E16", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponSlot" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0x015A522136D7F951": { + "name": "GET_AMMO_IN_PED_WEAPON", + "jhash": "0x0C755733", + "comment": "WEAPON::GET_AMMO_IN_PED_WEAPON(PLAYER::PLAYER_PED_ID(), a_0)\n\nFrom decompiled scripts\nReturns total ammo in weapon\n\nGTALua Example :\nnatives.WEAPON.GET_AMMO_IN_PED_WEAPON(plyPed, WeaponHash)\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponhash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x78F0424C34306220": { + "name": "ADD_AMMO_TO_PED", + "jhash": "0x7F0580C7", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "ammo" + } + ], + "return_type": "void", + "build": "323" + }, + "0x14E56BC5B5DB6A19": { + "name": "SET_PED_AMMO", + "jhash": "0xBF90DF1A", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "ammo" + }, + { + "type": "BOOL", + "name": "p3" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3EDCB0505123623B": { + "name": "SET_PED_INFINITE_AMMO", + "jhash": "0x9CB8D278", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x183DADC6AA953186": { + "name": "SET_PED_INFINITE_AMMO_CLIP", + "jhash": "0x5A5E3B67", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x24C024BA8379A70A": { + "name": "SET_PED_STUN_GUN_FINITE_AMMO", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Any", + "name": "p0" + }, + { + "type": "Any", + "name": "p1" + } + ], + "return_type": "void", + "build": "1868" + }, + "0xBF0FD6E56C964FCB": { + "name": "GIVE_WEAPON_TO_PED", + "jhash": "0xC4D88A85", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "ammoCount" + }, + { + "type": "BOOL", + "name": "isHidden" + }, + { + "type": "BOOL", + "name": "bForceInHand" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB282DC6EBD803C75": { + "name": "GIVE_DELAYED_WEAPON_TO_PED", + "jhash": "0x5868D20D", + "comment": "Gives a weapon to PED with a delay, example:\n\nWEAPON::GIVE_DELAYED_WEAPON_TO_PED(PED::PLAYER_PED_ID(), MISC::GET_HASH_KEY(\"WEAPON_PISTOL\"), 1000, false)\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "ammoCount" + }, + { + "type": "BOOL", + "name": "bForceInHand" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF25DF915FA38C5F3": { + "name": "REMOVE_ALL_PED_WEAPONS", + "jhash": "0xA44CE817", + "comment": "setting the last params to false it does that same so I would suggest its not a toggle", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4899CB088EDF59B8": { + "name": "REMOVE_WEAPON_FROM_PED", + "jhash": "0x9C37F220", + "comment": "This native removes a specified weapon from your selected ped.\n\nExample:\nC#:\nFunction.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);\n\nC++:\nWEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);\n\nThe code above removes the knife from the player.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6F6981D2253C208F": { + "name": "HIDE_PED_WEAPON_FOR_SCRIPTED_CUTSCENE", + "jhash": "0x00CFD6E9", + "comment": "Hides the players weapon during a cutscene.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x0725A4CCFDED9A70": { + "name": "SET_PED_CURRENT_WEAPON_VISIBLE", + "jhash": "0x00BECD77", + "comment": "Has 5 parameters since latest patches.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "visible" + }, + { + "type": "BOOL", + "name": "deselectWeapon" + }, + { + "type": "BOOL", + "name": "p3" + }, + { + "type": "BOOL", + "name": "p4" + } + ], + "return_type": "void", + "build": "323" + }, + "0x476AE72C1D19D1A8": { + "name": "SET_PED_DROPS_WEAPONS_WHEN_DEAD", + "jhash": "0x8A444056", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2D343D2219CD027A": { + "name": "HAS_PED_BEEN_DAMAGED_BY_WEAPON", + "jhash": "0xCDFBBCC6", + "comment": "It determines what weapons caused damage:\n\nIf you want to define only a specific weapon, second parameter=weapon hash code, third parameter=0\nIf you want to define any melee weapon, second parameter=0, third parameter=1.\nIf you want to identify any weapon (firearms, melee, rockets, etc.), second parameter=0, third parameter=2.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "weaponType" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0E98F88A24C5F4B8": { + "name": "CLEAR_PED_LAST_WEAPON_DAMAGE", + "jhash": "0x52C68832", + "comment": "Does NOT seem to work with HAS_PED_BEEN_DAMAGED_BY_WEAPON. Use CLEAR_ENTITY_LAST_WEAPON_DAMAGE and HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON instead.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x131D401334815E94": { + "name": "HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON", + "jhash": "0x6DAABB39", + "comment": "It determines what weapons caused damage:\n\nIf you want to define only a specific weapon, second parameter=weapon hash code, third parameter=0\nIf you want to define any melee weapon, second parameter=0, third parameter=1.\nIf you want to identify any weapon (firearms, melee, rockets, etc.), second parameter=0, third parameter=2.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Entity", + "name": "entity" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "weaponType" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAC678E40BE7C74D2": { + "name": "CLEAR_ENTITY_LAST_WEAPON_DAMAGE", + "jhash": "0xCEC2732B", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "entity" + } + ], + "return_type": "void", + "build": "323" + }, + "0x6B7513D9966FBEC0": { + "name": "SET_PED_DROPS_WEAPON", + "jhash": "0x3D3329FA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x208A1888007FC0E6": { + "name": "SET_PED_DROPS_INVENTORY_WEAPON", + "jhash": "0x81FFB874", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "float", + "name": "xOffset" + }, + { + "type": "float", + "name": "yOffset" + }, + { + "type": "float", + "name": "zOffset" + }, + { + "type": "int", + "name": "ammoCount" + } + ], + "return_type": "void", + "build": "323" + }, + "0xA38DCFFCEA8962FA": { + "name": "GET_MAX_AMMO_IN_CLIP", + "jhash": "0x6961E2A4", + "comment": "p2 is mostly 1 in the scripts.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "int", + "build": "323" + }, + "0x2E1202248937775C": { + "name": "GET_AMMO_IN_CLIP", + "jhash": "0x73C100C3", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int*", + "name": "ammo" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDCD2A934D65CB497": { + "name": "SET_AMMO_IN_CLIP", + "jhash": "0xA54B0B10", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "ammo" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xDC16122C7A20C933": { + "name": "GET_MAX_AMMO", + "jhash": "0x0B294796", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int*", + "name": "ammo" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x585847C5E4E11709": { + "name": "GET_MAX_AMMO_BY_TYPE", + "jhash": "", + "comment": "Returns the max ammo for an ammo type. Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "ammoTypeHash" + }, + { + "type": "int*", + "name": "ammo" + } + ], + "return_type": "BOOL", + "build": "1103", + "old_names": [ + "_GET_MAX_AMMO_2", + "_GET_MAX_AMMO_BY_TYPE" + ] + }, + "0x2472622CE1F2D45F": { + "name": "ADD_PED_AMMO_BY_TYPE", + "jhash": "", + "comment": "Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "ammoTypeHash" + }, + { + "type": "int", + "name": "ammo" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_ADD_PED_AMMO", + "_ADD_AMMO_TO_PED_BY_TYPE" + ] + }, + "0x5FD1E1F011E76D7E": { + "name": "SET_PED_AMMO_BY_TYPE", + "jhash": "0x311C52BB", + "comment": "Ammo types: https://gist.github.com/root-cause/faf41f59f7a6d818b7db0b839bd147c1", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "ammoTypeHash" + }, + { + "type": "int", + "name": "ammo" + } + ], + "return_type": "void", + "build": "323" + }, + "0x39D22031557946C1": { + "name": "GET_PED_AMMO_BY_TYPE", + "jhash": "0x54077C4D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "ammoTypeHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0xA4EFEF9440A5B0EF": { + "name": "SET_PED_AMMO_TO_DROP", + "jhash": "0x2386A307", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "323" + }, + "0xE620FD3512A04F18": { + "name": "SET_PICKUP_AMMO_AMOUNT_SCALER", + "jhash": "0xD6460EA2", + "comment": "", + "params": [ + { + "type": "float", + "name": "p0" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7FEAD38B326B9F74": { + "name": "GET_PED_AMMO_TYPE_FROM_WEAPON", + "jhash": "0x09337863", + "comment": "Returns the current ammo type of the specified ped's specified weapon.\nMkII 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.\nUse 0xF489B44DD5AF4BD9 if you always want AMMO_PISTOL.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "Hash", + "build": "323", + "old_names": [ + "_GET_PED_AMMO_TYPE" + ] + }, + "0xF489B44DD5AF4BD9": { + "name": "GET_PED_ORIGINAL_AMMO_TYPE_FROM_WEAPON", + "jhash": "", + "comment": "Returns the base/default ammo type of the specified ped's specified weapon.\nUse GET_PED_AMMO_TYPE_FROM_WEAPON if you want current ammo type (like AMMO_MG_INCENDIARY/AMMO_MG_TRACER while using MkII magazines) and use this if you want base ammo type. (AMMO_MG)\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "Hash", + "build": "1103", + "old_names": [ + "_GET_PED_AMMO_TYPE_FROM_WEAPON_2" + ] + }, + "0x6C4D0409BA1A2BC2": { + "name": "GET_PED_LAST_WEAPON_IMPACT_COORD", + "jhash": "0x9B266079", + "comment": "Pass ped. Pass address of Vector3.\nThe coord will be put into the Vector3.\nThe return will determine whether there was a coord found or not.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Vector3*", + "name": "coords" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD0D7B1E680ED4A1A": { + "name": "SET_PED_GADGET", + "jhash": "0x8A256D0A", + "comment": "p1/gadgetHash was always 0xFBAB5776 (\"GADGET_PARACHUTE\").\np2 is always true.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "gadgetHash" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF731332072F5156C": { + "name": "GET_IS_PED_GADGET_EQUIPPED", + "jhash": "0x8DDD0B5B", + "comment": "gadgetHash - was always 0xFBAB5776 (\"GADGET_PARACHUTE\").", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "gadgetHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0A6DB4965674D243": { + "name": "GET_SELECTED_PED_WEAPON", + "jhash": "0xD240123E", + "comment": "Returns the hash of the weapon. \n\n var num7 = WEAPON::GET_SELECTED_PED_WEAPON(num4);\n sub_27D3(num7);\n switch (num7)\n {\n case 0x24B17070:\n\nAlso see WEAPON::GET_CURRENT_PED_WEAPON. Difference?\n\n-------------------------------------------------------------------------\n\nThe difference is that GET_SELECTED_PED_WEAPON simply returns the ped's current weapon hash but GET_CURRENT_PED_WEAPON also checks the weapon object and returns true if the hash of the weapon object equals the weapon hash\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "Hash", + "build": "323" + }, + "0xFC4BD125DE7611E4": { + "name": "EXPLODE_PROJECTILES", + "jhash": "0x35A0B955", + "comment": " WEAPON::EXPLODE_PROJECTILES(PLAYER::PLAYER_PED_ID(), func_221(0x00000003), 0x00000001);", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "BOOL", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0xFC52E0F37E446528": { + "name": "REMOVE_ALL_PROJECTILES_OF_TYPE", + "jhash": "0xA5F89919", + "comment": "If `explode` true, then removal is done through exploding the projectile. Basically the same as EXPLODE_PROJECTILES but without defining the owner ped.", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "BOOL", + "name": "explode" + } + ], + "return_type": "void", + "build": "323" + }, + "0x840F03E9041E2C9C": { + "name": "GET_LOCKON_DISTANCE_OF_CURRENT_PED_WEAPON", + "jhash": "0x3612110D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_LOCKON_RANGE_OF_CURRENT_PED_WEAPON" + ] + }, + "0x814C9D19DFD69679": { + "name": "GET_MAX_RANGE_OF_CURRENT_PED_WEAPON", + "jhash": "0xB2B2BBAA", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "float", + "build": "323" + }, + "0x717C8481234E3B88": { + "name": "HAS_VEHICLE_GOT_PROJECTILE_ATTACHED", + "jhash": "0xA57E2E80", + "comment": "Fourth Parameter = unsure, almost always -1", + "params": [ + { + "type": "Ped", + "name": "driver" + }, + { + "type": "Vehicle", + "name": "vehicle" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Any", + "name": "p3" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xD966D51AA5B28BB9": { + "name": "GIVE_WEAPON_COMPONENT_TO_PED", + "jhash": "0x3E1E286D", + "comment": "Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x1E8BE90C74FB4C09": { + "name": "REMOVE_WEAPON_COMPONENT_FROM_PED", + "jhash": "0x412AA00D", + "comment": "Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0xC593212475FAE340": { + "name": "HAS_PED_GOT_WEAPON_COMPONENT", + "jhash": "0xDC0FC145", + "comment": "Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x0D78DE0572D3969E": { + "name": "IS_PED_WEAPON_COMPONENT_ACTIVE", + "jhash": "0x7565FB19", + "comment": "Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x8C0D57EA686FAD87": { + "name": "REFILL_AMMO_INSTANTLY", + "jhash": "0x82EEAF0F", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "_PED_SKIP_NEXT_RELOADING" + ] + }, + "0x20AE33F3AC9C0033": { + "name": "MAKE_PED_RELOAD", + "jhash": "0x515292C2", + "comment": "Forces a ped to reload only if they are able to; if they have a full magazine, they will not reload.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x5443438F033E29C3": { + "name": "REQUEST_WEAPON_ASSET", + "jhash": "0x65D139A5", + "comment": "Nearly every instance of p1 I found was 31. Nearly every instance of p2 I found was 0.\n\nREQUEST_WEAPON_ASSET(iLocal_1888, 31, 26);", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "p1" + }, + { + "type": "int", + "name": "p2" + } + ], + "return_type": "void", + "build": "323" + }, + "0x36E353271F0E90EE": { + "name": "HAS_WEAPON_ASSET_LOADED", + "jhash": "0x1891D5BB", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xAA08EF13F341C8FC": { + "name": "REMOVE_WEAPON_ASSET", + "jhash": "0x2C0DFE3C", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x9541D3CF0D398F36": { + "name": "CREATE_WEAPON_OBJECT", + "jhash": "0x62F5987F", + "comment": "Now has 8 params.", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "ammoCount" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "BOOL", + "name": "showWorldModel" + }, + { + "type": "float", + "name": "scale" + }, + { + "type": "Any", + "name": "p7" + }, + { + "type": "Any", + "name": "p8" + }, + { + "type": "Any", + "name": "p9" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x33E179436C0B31DB": { + "name": "GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT", + "jhash": "0xF7612A37", + "comment": "componentHash:\n(use WEAPON::GET_WEAPON_COMPONENT_TYPE_MODEL() to get hash value)\n${component_at_ar_flsh}, ${component_at_ar_supp}, ${component_at_pi_flsh}, ${component_at_scope_large}, ${component_at_ar_supp_02}", + "params": [ + { + "type": "Object", + "name": "weaponObject" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0xF7D82B0D66777611": { + "name": "REMOVE_WEAPON_COMPONENT_FROM_WEAPON_OBJECT", + "jhash": "0xA6E7ED3C", + "comment": "see DOES_WEAPON_TAKE_WEAPON_COMPONENT for full list of weapons & components", + "params": [ + { + "type": "Object", + "name": "object" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x76A18844E743BF91": { + "name": "HAS_WEAPON_GOT_WEAPON_COMPONENT", + "jhash": "0x1D368510", + "comment": "see DOES_WEAPON_TAKE_WEAPON_COMPONENT for full list of weapons & components", + "params": [ + { + "type": "Object", + "name": "weapon" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB1FA61371AF7C4B7": { + "name": "GIVE_WEAPON_OBJECT_TO_PED", + "jhash": "0x639AF3EF", + "comment": "", + "params": [ + { + "type": "Object", + "name": "weaponObject" + }, + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5CEE3DF569CECAB0": { + "name": "DOES_WEAPON_TAKE_WEAPON_COMPONENT", + "jhash": "0xB1817BAA", + "comment": "Full list of weapons & components by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xCAE1DC9A0E22A16D": { + "name": "GET_WEAPON_OBJECT_FROM_PED", + "jhash": "0xDF939A38", + "comment": "Drops the current weapon and returns the object\n\nUnknown behavior when unarmed.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "p1" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x68F8BE6AF5CDF8A6": { + "name": "GIVE_LOADOUT_TO_PED", + "jhash": "", + "comment": "Gives the specified loadout to the specified ped. \nLoadouts are defined in common.rpf\\data\\ai\\loadouts.meta", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "loadoutHash" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_GIVE_LOADOUT_TO_PED" + ] + }, + "0x50969B9B89ED5738": { + "name": "SET_PED_WEAPON_TINT_INDEX", + "jhash": "0xEB2A7B23", + "comment": "tintIndex can be the following:\n\n0 - Normal\n1 - Green\n2 - Gold\n3 - Pink\n4 - Army\n5 - LSPD\n6 - Orange\n7 - Platinum\nFull list of weapons, components & tint indexes by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "int", + "name": "tintIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0x2B9EEDC07BD06B9F": { + "name": "GET_PED_WEAPON_TINT_INDEX", + "jhash": "0x3F9C90A7", + "comment": "Full list of weapons, components & tint indexes by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0xF827589017D4E4A9": { + "name": "SET_WEAPON_OBJECT_TINT_INDEX", + "jhash": "0x44ACC1DA", + "comment": "Full list of weapons, components & tint indexes by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Object", + "name": "weapon" + }, + { + "type": "int", + "name": "tintIndex" + } + ], + "return_type": "void", + "build": "323" + }, + "0xCD183314F7CD2E57": { + "name": "GET_WEAPON_OBJECT_TINT_INDEX", + "jhash": "0xD91D9576", + "comment": "", + "params": [ + { + "type": "Object", + "name": "weapon" + } + ], + "return_type": "int", + "build": "323" + }, + "0x5DCF6C5CAB2E9BF7": { + "name": "GET_WEAPON_TINT_COUNT", + "jhash": "0x99E4EAAB", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x9FE5633880ECD8ED": { + "name": "SET_PED_WEAPON_COMPONENT_TINT_INDEX", + "jhash": "", + "comment": "Colors:\n0 = Gray\n1 = Dark Gray\n2 = Black\n3 = White\n4 = Blue\n5 = Cyan\n6 = Aqua\n7 = Cool Blue\n8 = Dark Blue\n9 = Royal Blue\n10 = Plum\n11 = Dark Purple\n12 = Purple\n13 = Red\n14 = Wine Red\n15 = Magenta\n16 = Pink\n17 = Salmon\n18 = Hot Pink\n19 = Rust Orange\n20 = Brown\n21 = Earth\n22 = Orange\n23 = Light Orange\n24 = Dark Yellow\n25 = Yellow\n26 = Light Brown\n27 = Lime Green\n28 = Olive\n29 = Moss\n30 = Turquoise\n31 = Dark Green\nFull list of weapons, components, tint indexes & weapon liveries by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "camoComponentHash" + }, + { + "type": "int", + "name": "colorIndex" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_PED_WEAPON_LIVERY_COLOR" + ] + }, + "0xF0A60040BE558F2D": { + "name": "GET_PED_WEAPON_COMPONENT_TINT_INDEX", + "jhash": "", + "comment": "Returns -1 if camoComponentHash is invalid/not attached to the weapon.\nFull list of weapons, components, tint indexes & weapon liveries by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "camoComponentHash" + } + ], + "return_type": "int", + "build": "1103", + "old_names": [ + "_GET_PED_WEAPON_LIVERY_COLOR" + ] + }, + "0x5DA825A85D0EA6E6": { + "name": "SET_WEAPON_OBJECT_COMPONENT_TINT_INDEX", + "jhash": "", + "comment": "Colors:\n0 = Gray\n1 = Dark Gray\n2 = Black\n3 = White\n4 = Blue\n5 = Cyan\n6 = Aqua\n7 = Cool Blue\n8 = Dark Blue\n9 = Royal Blue\n10 = Plum\n11 = Dark Purple\n12 = Purple\n13 = Red\n14 = Wine Red\n15 = Magenta\n16 = Pink\n17 = Salmon\n18 = Hot Pink\n19 = Rust Orange\n20 = Brown\n21 = Earth\n22 = Orange\n23 = Light Orange\n24 = Dark Yellow\n25 = Yellow\n26 = Light Brown\n27 = Lime Green\n28 = Olive\n29 = Moss\n30 = Turquoise\n31 = Dark Green\nFull list of weapons, components, tint indexes & weapon liveries by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Object", + "name": "weaponObject" + }, + { + "type": "Hash", + "name": "camoComponentHash" + }, + { + "type": "int", + "name": "colorIndex" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_WEAPON_OBJECT_LIVERY_COLOR" + ] + }, + "0xB3EA4FEABF41464B": { + "name": "GET_WEAPON_OBJECT_COMPONENT_TINT_INDEX", + "jhash": "", + "comment": "Returns -1 if camoComponentHash is invalid/not attached to the weapon object.\nFull list of weapons, components, tint indexes & weapon liveries by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Object", + "name": "weaponObject" + }, + { + "type": "Hash", + "name": "camoComponentHash" + } + ], + "return_type": "int", + "build": "1103", + "old_names": [ + "_GET_WEAPON_OBJECT_LIVERY_COLOR" + ] + }, + "0xA2C9AC24B4061285": { + "name": "GET_PED_WEAPON_CAMO_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "int", + "build": "1103" + }, + "0x977CA98939E82E4B": { + "name": "SET_WEAPON_OBJECT_CAMO_INDEX", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Object", + "name": "weaponObject" + }, + { + "type": "int", + "name": "p1" + } + ], + "return_type": "void", + "build": "1103" + }, + "0xD92C739EE34C9EBA": { + "name": "GET_WEAPON_HUD_STATS", + "jhash": "0xA9AD3D98", + "comment": "struct WeaponHudStatsData\n{\n BYTE hudDamage; // 0x0000\n char _0x0001[0x7]; // 0x0001\n BYTE hudSpeed; // 0x0008\n char _0x0009[0x7]; // 0x0009\n BYTE hudCapacity; // 0x0010\n char _0x0011[0x7]; // 0x0011\n BYTE hudAccuracy; // 0x0018\n char _0x0019[0x7]; // 0x0019\n BYTE hudRange; // 0x0020\n};\n\nUsage:\n\nWeaponHudStatsData data;\nif (GET_WEAPON_HUD_STATS(weaponHash, (int *)&data))\n{\n // BYTE damagePercentage = data.hudDamage and so on\n}\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Any*", + "name": "outData" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0xB3CAF387AE12E9F8": { + "name": "GET_WEAPON_COMPONENT_HUD_STATS", + "jhash": "0xBB5498F4", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "componentHash" + }, + { + "type": "Any*", + "name": "outData" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x3133B907D8B32053": { + "name": "GET_WEAPON_DAMAGE", + "jhash": "0xE81649C0", + "comment": "This native does not return damages of weapons from the melee and explosive group.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "Hash", + "name": "componentHash" + } + ], + "return_type": "float", + "build": "323", + "old_names": [ + "_GET_WEAPON_DAMAGE" + ] + }, + "0x583BE370B1EC6EB4": { + "name": "GET_WEAPON_CLIP_SIZE", + "jhash": "0x8D515E66", + "comment": "// Returns the size of the default weapon component clip.\n\nUse it like this:\n\nchar cClipSize[32];\nHash cur;\nif (WEAPON::GET_CURRENT_PED_WEAPON(playerPed, &cur, 1))\n{\n if (WEAPON::IS_WEAPON_VALID(cur))\n {\n int iClipSize = WEAPON::GET_WEAPON_CLIP_SIZE(cur);\n sprintf_s(cClipSize, \"ClipSize: %.d\", iClipSize);\n vDrawString(cClipSize, 0.5f, 0.5f);\n }\n}\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0x065D2AACAD8CF7A4": { + "name": "GET_WEAPON_TIME_BETWEEN_SHOTS", + "jhash": "", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "float", + "build": "1290", + "old_names": [ + "_GET_WEAPON_TIME_BETWEEN_SHOTS" + ] + }, + "0x8378627201D5497D": { + "name": "SET_PED_CHANCE_OF_FIRING_BLANKS", + "jhash": "0xB4F44C6E", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "xBias" + }, + { + "type": "float", + "name": "yBias" + } + ], + "return_type": "void", + "build": "323" + }, + "0xB4C8D77C80C0421E": { + "name": "SET_PED_SHOOT_ORDNANCE_WEAPON", + "jhash": "0xEC2E5304", + "comment": "Returns handle of the projectile.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "Object", + "build": "323" + }, + "0x48164DBB970AC3F0": { + "name": "REQUEST_WEAPON_HIGH_DETAIL_MODEL", + "jhash": "0xE3BD00F9", + "comment": "", + "params": [ + { + "type": "Entity", + "name": "weaponObject" + } + ], + "return_type": "void", + "build": "323" + }, + "0x4757F00BC6323CFE": { + "name": "SET_WEAPON_DAMAGE_MODIFIER", + "jhash": "", + "comment": "Changes the weapon damage output by the given multiplier value. Must be run every frame.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "float", + "name": "damageMultiplier" + } + ], + "return_type": "void", + "build": "505", + "old_names": [ + "_SET_WEAPON_DAMAGE_MODIFIER", + "_SET_WEAPON_DAMAGE_MODIFIER_THIS_FRAME" + ] + }, + "0x4AE5AC8B852D642C": { + "name": "SET_WEAPON_AOE_MODIFIER", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "float", + "name": "multiplier" + } + ], + "return_type": "void", + "build": "2372", + "old_names": [ + "_SET_WEAPON_EXPLOSION_RADIUS_MULTIPLIER" + ] + }, + "0xE6D2CEDD370FF98E": { + "name": "SET_WEAPON_EFFECT_DURATION_MODIFIER", + "jhash": "", + "comment": "ex, WEAPON::SET_WEAPON_EFFECT_DURATION_MODIFIER(joaat(\"vehicle_weapon_mine_slick\"), 1.0);", + "params": [ + { + "type": "Hash", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + } + ], + "return_type": "void", + "build": "2372" + }, + "0x65F0C5AE05943EC7": { + "name": "IS_PED_CURRENT_WEAPON_SILENCED", + "jhash": "0xBAF7BFBE", + "comment": "This native returns a true or false value.\n\nPed ped = The ped whose weapon you want to check.", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x4B7620C47217126C": { + "name": "IS_FLASH_LIGHT_ON", + "jhash": "0x76876154", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "BOOL", + "build": "323", + "old_names": [ + "SET_WEAPON_SMOKEGRENADE_ASSIGNED" + ] + }, + "0xCEA66DAD478CD39B": { + "name": "SET_FLASH_LIGHT_FADE_DISTANCE", + "jhash": "0xB0127EA7", + "comment": "", + "params": [ + { + "type": "float", + "name": "distance" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x988DB6FE9B3AC000": { + "name": "SET_FLASH_LIGHT_ACTIVE_HISTORY", + "jhash": "", + "comment": "Enables/disables flashlight on ped's weapon.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "2060", + "old_names": [ + "_SET_FLASH_LIGHT_ENABLED" + ] + }, + "0x1055AC3A667F09D9": { + "name": "SET_WEAPON_ANIMATION_OVERRIDE", + "jhash": "0xA5DF7484", + "comment": "Changes the selected ped aiming animation style. \nNote : You must use GET_HASH_KEY!\n\nStrings to use with GET_HASH_KEY :\n\n \"Ballistic\",\n \"Default\",\n \"Fat\",\n \"Female\",\n \"FirstPerson\",\n \"FirstPersonAiming\",\n \"FirstPersonFranklin\",\n \"FirstPersonFranklinAiming\",\n \"FirstPersonFranklinRNG\",\n \"FirstPersonFranklinScope\",\n \"FirstPersonMPFemale\",\n \"FirstPersonMichael\",\n \"FirstPersonMichaelAiming\",\n \"FirstPersonMichaelRNG\",\n \"FirstPersonMichaelScope\",\n \"FirstPersonRNG\",\n \"FirstPersonScope\",\n \"FirstPersonTrevor\",\n \"FirstPersonTrevorAiming\",\n \"FirstPersonTrevorRNG\",\n \"FirstPersonTrevorScope\",\n \"Franklin\",\n \"Gang\",\n \"Gang1H\",\n \"GangFemale\",\n \"Hillbilly\",\n \"MP_F_Freemode\",\n \"Michael\",\n \"SuperFat\",\n \"Trevor\"", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "animStyle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x3BE0BB12D25FB305": { + "name": "GET_WEAPON_DAMAGE_TYPE", + "jhash": "0x013AFC13", + "comment": "enum class eDamageType\n{\n\tUNKNOWN = 0,\n\tNONE = 1,\n\tMELEE = 2,\n\tBULLET = 3,\n\tBULLET_RUBBER = 4,\n\tEXPLOSIVE = 5,\n\tFIRE = 6,\n\tCOLLISION = 7,\n\tFALL = 8,\n\tDROWN = 9,\n\tELECTRIC = 10,\n\tBARBED_WIRE = 11,\n\tFIRE_EXTINGUISHER = 12,\n\tSMOKE = 13,\n\tWATER_CANNON = 14,\n\tTRANQUILIZER = 15,\n};\n\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "int", + "build": "323" + }, + "0xE4DCEC7FD5B739A5": { + "name": "SET_EQIPPED_WEAPON_START_SPINNING_AT_FULL_SPEED", + "jhash": "0x64646F1D", + "comment": "", + "params": [ + { + "type": "Ped", + "name": "ped" + } + ], + "return_type": "void", + "build": "323" + }, + "0xBC7BE5ABC0879F74": { + "name": "CAN_USE_WEAPON_ON_PARACHUTE", + "jhash": "0x135E7AD4", + "comment": "this returns if you can use the weapon while using a parachute\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "BOOL", + "build": "323" + }, + "0x91EF34584710BE99": { + "name": "CREATE_AIR_DEFENCE_SPHERE", + "jhash": "", + "comment": "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.", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "int", + "build": "573", + "old_names": [ + "_CREATE_AIR_DEFENSE_SPHERE" + ] + }, + "0x9DA58CDBF6BDBC08": { + "name": "CREATE_AIR_DEFENCE_ANGLED_AREA", + "jhash": "", + "comment": "Full list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "float", + "name": "p0" + }, + { + "type": "float", + "name": "p1" + }, + { + "type": "float", + "name": "p2" + }, + { + "type": "float", + "name": "p3" + }, + { + "type": "float", + "name": "p4" + }, + { + "type": "float", + "name": "p5" + }, + { + "type": "float", + "name": "p6" + }, + { + "type": "float", + "name": "p7" + }, + { + "type": "float", + "name": "p8" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "Hash", + "name": "weaponHash" + } + ], + "return_type": "int", + "build": "1011", + "old_names": [ + "_CREATE_AIR_DEFENSE_AREA" + ] + }, + "0x0ABF535877897560": { + "name": "REMOVE_AIR_DEFENCE_SPHERE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "zoneId" + } + ], + "return_type": "BOOL", + "build": "573", + "old_names": [ + "_REMOVE_AIR_DEFENSE_ZONE" + ] + }, + "0x1E45B34ADEBEE48E": { + "name": "REMOVE_ALL_AIR_DEFENCE_SPHERES", + "jhash": "", + "comment": "", + "params": [], + "return_type": "void", + "build": "573", + "old_names": [ + "_REMOVE_ALL_AIR_DEFENSE_ZONES" + ] + }, + "0xECDC202B25E5CF48": { + "name": "SET_PLAYER_TARGETTABLE_FOR_AIR_DEFENCE_SPHERE", + "jhash": "", + "comment": "", + "params": [ + { + "type": "Player", + "name": "player" + }, + { + "type": "int", + "name": "zoneId" + }, + { + "type": "BOOL", + "name": "enable" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_SET_PLAYER_AIR_DEFENSE_ZONE_FLAG" + ] + }, + "0xDAB963831DBFD3F4": { + "name": "IS_AIR_DEFENCE_SPHERE_IN_AREA", + "jhash": "", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + }, + { + "type": "float", + "name": "radius" + }, + { + "type": "int*", + "name": "outZoneId" + } + ], + "return_type": "BOOL", + "build": "1103", + "old_names": [ + "_IS_AIR_DEFENSE_ZONE_INSIDE_SPHERE", + "_IS_ANY_AIR_DEFENSE_ZONE_INSIDE_SPHERE" + ] + }, + "0x44F1012B69313374": { + "name": "FIRE_AIR_DEFENCE_SPHERE_WEAPON_AT_POSITION", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "zoneId" + }, + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "void", + "build": "573", + "old_names": [ + "_FIRE_AIR_DEFENSE_WEAPON" + ] + }, + "0xCD79A550999D7D4F": { + "name": "DOES_AIR_DEFENCE_SPHERE_EXIST", + "jhash": "", + "comment": "", + "params": [ + { + "type": "int", + "name": "zoneId" + } + ], + "return_type": "BOOL", + "build": "678", + "old_names": [ + "_DOES_AIR_DEFENSE_ZONE_EXIST" + ] + }, + "0xB4771B9AAF4E68E4": { + "name": "SET_CAN_PED_SELECT_INVENTORY_WEAPON", + "jhash": "", + "comment": "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.\nFull list of weapons by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/weapons.json", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "Hash", + "name": "weaponHash" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_CAN_PED_SELECT_WEAPON", + "_SET_CAN_PED_EQUIP_WEAPON" + ] + }, + "0xEFF296097FF1E509": { + "name": "SET_CAN_PED_SELECT_ALL_WEAPONS", + "jhash": "", + "comment": "Disable all weapons. Does the same as 0xB4771B9AAF4E68E4 except for all weapons.", + "params": [ + { + "type": "Ped", + "name": "ped" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "1103", + "old_names": [ + "_SET_CAN_PED_EQUIP_ALL_WEAPONS" + ] + } + }, + "ZONE": { + "0x27040C25DE6CB2F4": { + "name": "GET_ZONE_AT_COORDS", + "jhash": "0xC9018181", + "comment": "", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "int", + "build": "323" + }, + "0x98CD1D2934B76CC1": { + "name": "GET_ZONE_FROM_NAME_ID", + "jhash": "0x8EC68304", + "comment": "'zoneName' corresponds to an entry in 'popzone.ipl'.\n\nAIRP = Los Santos International Airport\nALAMO = Alamo Sea\nALTA = Alta\nARMYB = Fort Zancudo\nBANHAMC = Banham Canyon Dr\nBANNING = Banning\nBEACH = Vespucci Beach\nBHAMCA = Banham Canyon\nBRADP = Braddock Pass\nBRADT = Braddock Tunnel\nBURTON = Burton\nCALAFB = Calafia Bridge\nCANNY = Raton Canyon\nCCREAK = Cassidy Creek\nCHAMH = Chamberlain Hills\nCHIL = Vinewood Hills\nCHU = Chumash\nCMSW = Chiliad Mountain State Wilderness\nCYPRE = Cypress Flats\nDAVIS = Davis\nDELBE = Del Perro Beach\nDELPE = Del Perro\nDELSOL = La Puerta\nDESRT = Grand Senora Desert\nDOWNT = Downtown\nDTVINE = Downtown Vinewood\nEAST_V = East Vinewood\nEBURO = El Burro Heights\nELGORL = El Gordo Lighthouse\nELYSIAN = Elysian Island\nGALFISH = Galilee\nGOLF = GWC and Golfing Society\nGRAPES = Grapeseed\nGREATC = Great Chaparral\nHARMO = Harmony\nHAWICK = Hawick\nHORS = Vinewood Racetrack\nHUMLAB = Humane Labs and Research\nJAIL = Bolingbroke Penitentiary\nKOREAT = Little Seoul\nLACT = Land Act Reservoir\nLAGO = Lago Zancudo\nLDAM = Land Act Dam\nLEGSQU = Legion Square\nLMESA = La Mesa\nLOSPUER = La Puerta\nMIRR = Mirror Park\nMORN = Morningwood\nMOVIE = Richards Majestic\nMTCHIL = Mount Chiliad\nMTGORDO = Mount Gordo\nMTJOSE = Mount Josiah\nMURRI = Murrieta Heights\nNCHU = North Chumash\nNOOSE = N.O.O.S.E\nOCEANA = Pacific Ocean\nPALCOV = Paleto Cove\nPALETO = Paleto Bay\nPALFOR = Paleto Forest\nPALHIGH = Palomino Highlands\nPALMPOW = Palmer-Taylor Power Station\nPBLUFF = Pacific Bluffs\nPBOX = Pillbox Hill\nPROCOB = Procopio Beach\nRANCHO = Rancho\nRGLEN = Richman Glen\nRICHM = Richman\nROCKF = Rockford Hills\nRTRAK = Redwood Lights Track\nSANAND = San Andreas\nSANCHIA = San Chianski Mountain Range\nSANDY = Sandy Shores\nSKID = Mission Row\nSLAB = Stab City\nSTAD = Maze Bank Arena\nSTRAW = Strawberry\nTATAMO = Tataviam Mountains\nTERMINA = Terminal\nTEXTI = Textile City\nTONGVAH = Tongva Hills\nTONGVAV = Tongva Valley\nVCANA = Vespucci Canals\nVESP = Vespucci\nVINE = Vinewood\nWINDF = Ron Alternates Wind Farm\nWVINE = West Vinewood\nZANCUDO = Zancudo River\nZP_ORT = Port of South Los Santos\nZQ_UAR = Davis Quartz\n\nFull list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json", + "params": [ + { + "type": "const char*", + "name": "zoneName" + } + ], + "return_type": "int", + "build": "323" + }, + "0x4334BC40AA0CB4BB": { + "name": "GET_ZONE_POPSCHEDULE", + "jhash": "0x20AB2FC9", + "comment": "", + "params": [ + { + "type": "int", + "name": "zoneId" + } + ], + "return_type": "int", + "build": "323" + }, + "0xCD90657D4C30E1CA": { + "name": "GET_NAME_OF_ZONE", + "jhash": "0x7875CE91", + "comment": "AIRP = Los Santos International Airport\nALAMO = Alamo Sea\nALTA = Alta\nARMYB = Fort Zancudo\nBANHAMC = Banham Canyon Dr\nBANNING = Banning\nBEACH = Vespucci Beach\nBHAMCA = Banham Canyon\nBRADP = Braddock Pass\nBRADT = Braddock Tunnel\nBURTON = Burton\nCALAFB = Calafia Bridge\nCANNY = Raton Canyon\nCCREAK = Cassidy Creek\nCHAMH = Chamberlain Hills\nCHIL = Vinewood Hills\nCHU = Chumash\nCMSW = Chiliad Mountain State Wilderness\nCYPRE = Cypress Flats\nDAVIS = Davis\nDELBE = Del Perro Beach\nDELPE = Del Perro\nDELSOL = La Puerta\nDESRT = Grand Senora Desert\nDOWNT = Downtown\nDTVINE = Downtown Vinewood\nEAST_V = East Vinewood\nEBURO = El Burro Heights\nELGORL = El Gordo Lighthouse\nELYSIAN = Elysian Island\nGALFISH = Galilee\nGOLF = GWC and Golfing Society\nGRAPES = Grapeseed\nGREATC = Great Chaparral\nHARMO = Harmony\nHAWICK = Hawick\nHORS = Vinewood Racetrack\nHUMLAB = Humane Labs and Research\nJAIL = Bolingbroke Penitentiary\nKOREAT = Little Seoul\nLACT = Land Act Reservoir\nLAGO = Lago Zancudo\nLDAM = Land Act Dam\nLEGSQU = Legion Square\nLMESA = La Mesa\nLOSPUER = La Puerta\nMIRR = Mirror Park\nMORN = Morningwood\nMOVIE = Richards Majestic\nMTCHIL = Mount Chiliad\nMTGORDO = Mount Gordo\nMTJOSE = Mount Josiah\nMURRI = Murrieta Heights\nNCHU = North Chumash\nNOOSE = N.O.O.S.E\nOCEANA = Pacific Ocean\nPALCOV = Paleto Cove\nPALETO = Paleto Bay\nPALFOR = Paleto Forest\nPALHIGH = Palomino Highlands\nPALMPOW = Palmer-Taylor Power Station\nPBLUFF = Pacific Bluffs\nPBOX = Pillbox Hill\nPROCOB = Procopio Beach\nRANCHO = Rancho\nRGLEN = Richman Glen\nRICHM = Richman\nROCKF = Rockford Hills\nRTRAK = Redwood Lights Track\nSANAND = San Andreas\nSANCHIA = San Chianski Mountain Range\nSANDY = Sandy Shores\nSKID = Mission Row\nSLAB = Stab City\nSTAD = Maze Bank Arena\nSTRAW = Strawberry\nTATAMO = Tataviam Mountains\nTERMINA = Terminal\nTEXTI = Textile City\nTONGVAH = Tongva Hills\nTONGVAV = Tongva Valley\nVCANA = Vespucci Canals\nVESP = Vespucci\nVINE = Vinewood\nWINDF = Ron Alternates Wind Farm\nWVINE = West Vinewood\nZANCUDO = Zancudo River\nZP_ORT = Port of South Los Santos\nZQ_UAR = Davis Quartz\n\nFull list of zones by DurtyFree: https://github.com/DurtyFree/gta-v-data-dumps/blob/master/zones.json", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "const char*", + "build": "323" + }, + "0xBA5ECEEA120E5611": { + "name": "SET_ZONE_ENABLED", + "jhash": "0x04E21B03", + "comment": "", + "params": [ + { + "type": "int", + "name": "zoneId" + }, + { + "type": "BOOL", + "name": "toggle" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5F7B268D15BA0739": { + "name": "GET_ZONE_SCUMMINESS", + "jhash": "0xB2FB5C4C", + "comment": "cellphone range 1- 5 used for signal bar in iFruit phone", + "params": [ + { + "type": "int", + "name": "zoneId" + } + ], + "return_type": "int", + "build": "323" + }, + "0x5F7D596BAC2E7777": { + "name": "OVERRIDE_POPSCHEDULE_VEHICLE_MODEL", + "jhash": "0x3F0A3680", + "comment": "Only used once in the decompiled scripts. Seems to be related to scripted vehicle generators.\n\nModified example from \"am_imp_exp.c4\", line 6406:\n/* popSchedules[0] = ZONE::GET_ZONE_POPSCHEDULE(ZONE::GET_ZONE_AT_COORDS(891.3, 807.9, 188.1));\netc.\n*/\nZONE::OVERRIDE_POPSCHEDULE_VEHICLE_MODEL(popSchedules[index], vehicleHash);\nSTREAMING::REQUEST_MODEL(vehicleHash);", + "params": [ + { + "type": "int", + "name": "scheduleId" + }, + { + "type": "Hash", + "name": "vehicleHash" + } + ], + "return_type": "void", + "build": "323" + }, + "0x5C0DE367AA0D911C": { + "name": "CLEAR_POPSCHEDULE_OVERRIDE_VEHICLE_MODEL", + "jhash": "0x7A72A24E", + "comment": "Only used once in the decompiled scripts. Seems to be related to scripted vehicle generators.\n\nModified example from \"am_imp_exp.c4\", line 6418:\n/* popSchedules[0] = ZONE::GET_ZONE_POPSCHEDULE(ZONE::GET_ZONE_AT_COORDS(891.3, 807.9, 188.1));\netc.\n*/\nSTREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(vehicleHash);\nZONE::CLEAR_POPSCHEDULE_OVERRIDE_VEHICLE_MODEL(popSchedules[index]);", + "params": [ + { + "type": "int", + "name": "scheduleId" + } + ], + "return_type": "void", + "build": "323" + }, + "0x7EE64D51E8498728": { + "name": "GET_HASH_OF_MAP_AREA_AT_COORDS", + "jhash": "0xB5C5C99B", + "comment": "Returns a hash representing which part of the map the given coords are located.\n\nPossible return values:\n(Hash of) city -> -289320599\n(Hash of) countryside -> 2072609373\n\nC# Example :\n\nPed player = Game.Player.Character;\nHash h = Function.Call(Hash.GET_HASH_OF_MAP_AREA_AT_COORDS, player.Position.X, player.Position.Y, player.Position.Z);", + "params": [ + { + "type": "float", + "name": "x" + }, + { + "type": "float", + "name": "y" + }, + { + "type": "float", + "name": "z" + } + ], + "return_type": "Hash", + "build": "323" + } + } +} \ No newline at end of file diff --git a/src/lua/natives/natives_data.cpp b/src/lua/natives/natives_data.cpp new file mode 100644 index 00000000..03289987 --- /dev/null +++ b/src/lua/natives/natives_data.cpp @@ -0,0 +1,6590 @@ +#pragma once +// clang-format off +// Generated by natives_gen.py. DO NOT EDIT +char natives_data[] = +"SYSTEM = {\n"\ +"WAIT=function(ms)return _natives.invoke_void(0x4EDE34FBADD967A6,ms);end,\n"\ +"START_NEW_SCRIPT=function(scriptName,stackSize)return _natives.invoke_int(0xE81651AD79516E48,scriptName,stackSize);end,\n"\ +"START_NEW_SCRIPT_WITH_ARGS=function(scriptName,args,argCount,stackSize)return _natives.invoke_int(0xB8BA7F44DF1575E1,scriptName,args,argCount,stackSize);end,\n"\ +"START_NEW_SCRIPT_WITH_NAME_HASH=function(scriptHash,stackSize)return _natives.invoke_int(0xEB1C67C3A5333A92,scriptHash,stackSize);end,\n"\ +"START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS=function(scriptHash,args,argCount,stackSize)return _natives.invoke_int(0xC4BB298BD441BE78,scriptHash,args,argCount,stackSize);end,\n"\ +"TIMERA=function()return _natives.invoke_int(0x83666F9FB8FEBD4B);end,\n"\ +"TIMERB=function()return _natives.invoke_int(0xC9D9444186B5A374);end,\n"\ +"SETTIMERA=function(value)return _natives.invoke_void(0xC1B1E9A034A63A62,value);end,\n"\ +"SETTIMERB=function(value)return _natives.invoke_void(0x5AE11BC36633DE4E,value);end,\n"\ +"TIMESTEP=function()return _natives.invoke_float(0x0000000050597EE2);end,\n"\ +"SIN=function(value)return _natives.invoke_float(0x0BADBFA3B172435F,value);end,\n"\ +"COS=function(value)return _natives.invoke_float(0xD0FFB162F40A139C,value);end,\n"\ +"SQRT=function(value)return _natives.invoke_float(0x71D93B57D07F9804,value);end,\n"\ +"POW=function(base,exponent)return _natives.invoke_float(0xE3621CC40F31FE2E,base,exponent);end,\n"\ +"LOG10=function(value)return _natives.invoke_float(0xE816E655DE37FE20,value);end,\n"\ +"VMAG=function(x,y,z)return _natives.invoke_float(0x652D2EEEF1D3E62C,x,y,z);end,\n"\ +"VMAG2=function(x,y,z)return _natives.invoke_float(0xA8CEACB4F35AE058,x,y,z);end,\n"\ +"VDIST=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_float(0x2A488C176D52CCA5,x1,y1,z1,x2,y2,z2);end,\n"\ +"VDIST2=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_float(0xB7A628320EFF8E47,x1,y1,z1,x2,y2,z2);end,\n"\ +"SHIFT_LEFT=function(value,bitShift)return _natives.invoke_int(0xEDD95A39E5544DE8,value,bitShift);end,\n"\ +"SHIFT_RIGHT=function(value,bitShift)return _natives.invoke_int(0x97EF1E5BCE9DC075,value,bitShift);end,\n"\ +"FLOOR=function(value)return _natives.invoke_int(0xF34EE736CF047844,value);end,\n"\ +"CEIL=function(value)return _natives.invoke_int(0x11E019C8F43ACC8A,value);end,\n"\ +"ROUND=function(value)return _natives.invoke_int(0xF2DB717A73826179,value);end,\n"\ +"TO_FLOAT=function(value)return _natives.invoke_float(0xBBDA792448DB5A89,value);end,\n"\ +"SET_THIS_THREAD_PRIORITY=function(priority)return _natives.invoke_void(0x42B65DEEF2EDF2A1,priority);end,\n"\ +"};\n"\ +"APP = {\n"\ +"APP_DATA_VALID=function()return _natives.invoke_bool(0x846AA8E7D55EE5B6);end,\n"\ +"APP_GET_INT=function(property)return _natives.invoke_int(0xD3A58A12C77D9D4B,property);end,\n"\ +"APP_GET_FLOAT=function(property)return _natives.invoke_float(0x1514FB24C02C2322,property);end,\n"\ +"APP_GET_STRING=function(property)return _natives.invoke_str(0x749B023950D2311C,property);end,\n"\ +"APP_SET_INT=function(property,value)return _natives.invoke_void(0x607E8E3D3E4F9611,property,value);end,\n"\ +"APP_SET_FLOAT=function(property,value)return _natives.invoke_void(0x25D7687C68E0DAA4,property,value);end,\n"\ +"APP_SET_STRING=function(property,value)return _natives.invoke_void(0x3FF2FCEC4B7721B4,property,value);end,\n"\ +"APP_SET_APP=function(appName)return _natives.invoke_void(0xCFD0406ADAF90D2B,appName);end,\n"\ +"APP_SET_BLOCK=function(blockName)return _natives.invoke_void(0x262AB456A3D21F93,blockName);end,\n"\ +"APP_CLEAR_BLOCK=function()return _natives.invoke_void(0x5FE1DF3342DB7DBA);end,\n"\ +"APP_CLOSE_APP=function()return _natives.invoke_void(0xE41C65E07A5F05FC);end,\n"\ +"APP_CLOSE_BLOCK=function()return _natives.invoke_void(0xE8E3FCF72EAC0EF8);end,\n"\ +"APP_HAS_LINKED_SOCIAL_CLUB_ACCOUNT=function()return _natives.invoke_bool(0x71EEE69745088DA0);end,\n"\ +"APP_HAS_SYNCED_DATA=function(appName)return _natives.invoke_bool(0xCA52279A7271517F,appName);end,\n"\ +"APP_SAVE_DATA=function()return _natives.invoke_void(0x95C5D356CDA6E85F);end,\n"\ +"APP_GET_DELETED_FILE_STATUS=function()return _natives.invoke_int(0xC9853A2BE3DED1A6);end,\n"\ +"APP_DELETE_APP_DATA=function(appName)return _natives.invoke_bool(0x44151AEA95C8A003,appName);end,\n"\ +"};\n"\ +"AUDIO = {\n"\ +"PLAY_PED_RINGTONE=function(ringtoneName,ped,p2)return _natives.invoke_void(0xF9E56683CA8E11A5,ringtoneName,ped,p2);end,\n"\ +"IS_PED_RINGTONE_PLAYING=function(ped)return _natives.invoke_bool(0x1E8E5E20937E3137,ped);end,\n"\ +"STOP_PED_RINGTONE=function(ped)return _natives.invoke_void(0x6C5AE23EFA885092,ped);end,\n"\ +"IS_MOBILE_PHONE_CALL_ONGOING=function()return _natives.invoke_bool(0x7497D2CE2C30D24C);end,\n"\ +"IS_MOBILE_INTERFERENCE_ACTIVE=function()return _natives.invoke_bool(0xC8B1B2425604CDD0);end,\n"\ +"CREATE_NEW_SCRIPTED_CONVERSATION=function()return _natives.invoke_void(0xD2C91A0B572AAE56);end,\n"\ +"ADD_LINE_TO_CONVERSATION=function(index,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12)return _natives.invoke_void(0xC5EF963405593646,index,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12);end,\n"\ +"ADD_PED_TO_CONVERSATION=function(index,ped,p2)return _natives.invoke_void(0x95D9F4BC443956E7,index,ped,p2);end,\n"\ +"SET_POSITION_FOR_NULL_CONV_PED=function(p0,p1,p2,p3)return _natives.invoke_void(0x33E3C6C6F2F0B506,p0,p1,p2,p3);end,\n"\ +"SET_ENTITY_FOR_NULL_CONV_PED=function(p0,entity)return _natives.invoke_void(0x892B6AB8F33606F5,p0,entity);end,\n"\ +"SET_MICROPHONE_POSITION=function(toggle,x1,y1,z1,x2,y2,z2,x3,y3,z3)return _natives.invoke_void(0xB6AE90EDDE95C762,toggle,x1,y1,z1,x2,y2,z2,x3,y3,z3);end,\n"\ +"SET_CONVERSATION_AUDIO_CONTROLLED_BY_ANIM=function(p0)return _natives.invoke_void(0x0B568201DD99F0EB,p0);end,\n"\ +"SET_CONVERSATION_AUDIO_PLACEHOLDER=function(p0)return _natives.invoke_void(0x61631F5DF50D1C34,p0);end,\n"\ +"START_SCRIPT_PHONE_CONVERSATION=function(p0,p1)return _natives.invoke_void(0x252E5F915EABB675,p0,p1);end,\n"\ +"PRELOAD_SCRIPT_PHONE_CONVERSATION=function(p0,p1)return _natives.invoke_void(0x6004BCB0E226AAEA,p0,p1);end,\n"\ +"START_SCRIPT_CONVERSATION=function(p0,p1,p2,p3)return _natives.invoke_void(0x6B17C62C9635D2DC,p0,p1,p2,p3);end,\n"\ +"PRELOAD_SCRIPT_CONVERSATION=function(p0,p1,p2,p3)return _natives.invoke_void(0x3B3CAD6166916D87,p0,p1,p2,p3);end,\n"\ +"START_PRELOADED_CONVERSATION=function()return _natives.invoke_void(0x23641AFE870AF385);end,\n"\ +"GET_IS_PRELOADED_CONVERSATION_READY=function()return _natives.invoke_bool(0xE73364DB90778FFA);end,\n"\ +"IS_SCRIPTED_CONVERSATION_ONGOING=function()return _natives.invoke_bool(0x16754C556D2EDE3D);end,\n"\ +"IS_SCRIPTED_CONVERSATION_LOADED=function()return _natives.invoke_bool(0xDF0D54BE7A776737);end,\n"\ +"GET_CURRENT_SCRIPTED_CONVERSATION_LINE=function()return _natives.invoke_int(0x480357EE890C295A);end,\n"\ +"PAUSE_SCRIPTED_CONVERSATION=function(p0)return _natives.invoke_void(0x8530AD776CD72B12,p0);end,\n"\ +"RESTART_SCRIPTED_CONVERSATION=function()return _natives.invoke_void(0x9AEB285D1818C9AC);end,\n"\ +"STOP_SCRIPTED_CONVERSATION=function(p0)return _natives.invoke_int(0xD79DEEFB53455EBA,p0);end,\n"\ +"SKIP_TO_NEXT_SCRIPTED_CONVERSATION_LINE=function()return _natives.invoke_void(0x9663FE6B7A61EB00);end,\n"\ +"INTERRUPT_CONVERSATION=function(ped,voiceline,speaker)return _natives.invoke_void(0xA018A12E5C5C2FA6,ped,voiceline,speaker);end,\n"\ +"INTERRUPT_CONVERSATION_AND_PAUSE=function(ped,p1,speaker)return _natives.invoke_void(0x8A694D7A68F8DC38,ped,p1,speaker);end,\n"\ +"GET_VARIATION_CHOSEN_FOR_SCRIPTED_LINE=function(p0)return _natives.invoke_int(0xAA19F5572C38B564,p0);end,\n"\ +"SET_NO_DUCKING_FOR_CONVERSATION=function(p0)return _natives.invoke_void(0xB542DE8C3D1CB210,p0);end,\n"\ +"REGISTER_SCRIPT_WITH_AUDIO=function(p0)return _natives.invoke_void(0xC6ED9D5092438D91,p0);end,\n"\ +"UNREGISTER_SCRIPT_WITH_AUDIO=function()return _natives.invoke_void(0xA8638BE228D4751A);end,\n"\ +"REQUEST_MISSION_AUDIO_BANK=function(audioBank,p1,p2)return _natives.invoke_bool(0x7345BDD95E62E0F2,audioBank,p1,p2);end,\n"\ +"REQUEST_AMBIENT_AUDIO_BANK=function(audioBank,p1,p2)return _natives.invoke_bool(0xFE02FFBED8CA9D99,audioBank,p1,p2);end,\n"\ +"REQUEST_SCRIPT_AUDIO_BANK=function(audioBank,p1,p2)return _natives.invoke_bool(0x2F844A8B08D76685,audioBank,p1,p2);end,\n"\ +"HINT_MISSION_AUDIO_BANK=function(audioBank,p1,p2)return _natives.invoke_bool(0x40763EA7B9B783E7,audioBank,p1,p2);end,\n"\ +"HINT_AMBIENT_AUDIO_BANK=function(audioBank,p1,p2)return _natives.invoke_bool(0x8F8C0E370AE62F5C,audioBank,p1,p2);end,\n"\ +"HINT_SCRIPT_AUDIO_BANK=function(audioBank,p1,p2)return _natives.invoke_bool(0xFB380A29641EC31A,audioBank,p1,p2);end,\n"\ +"RELEASE_MISSION_AUDIO_BANK=function()return _natives.invoke_void(0x0EC92A1BF0857187);end,\n"\ +"RELEASE_AMBIENT_AUDIO_BANK=function()return _natives.invoke_void(0x65475A218FFAA93D);end,\n"\ +"RELEASE_NAMED_SCRIPT_AUDIO_BANK=function(audioBank)return _natives.invoke_void(0x77ED170667F50170,audioBank);end,\n"\ +"RELEASE_SCRIPT_AUDIO_BANK=function()return _natives.invoke_void(0x7A2D8AD0A9EB9C3F);end,\n"\ +"UNHINT_AMBIENT_AUDIO_BANK=function()return _natives.invoke_void(0x19AF7ED9B9D23058);end,\n"\ +"UNHINT_SCRIPT_AUDIO_BANK=function()return _natives.invoke_void(0x9AC92EED5E4793AB);end,\n"\ +"UNHINT_NAMED_SCRIPT_AUDIO_BANK=function(audioBank)return _natives.invoke_void(0x11579D940949C49E,audioBank);end,\n"\ +"GET_SOUND_ID=function()return _natives.invoke_int(0x430386FE9BF80B45);end,\n"\ +"RELEASE_SOUND_ID=function(soundId)return _natives.invoke_void(0x353FC880830B88FA,soundId);end,\n"\ +"PLAY_SOUND=function(soundId,audioName,audioRef,p3,p4,p5)return _natives.invoke_void(0x7FF4944CC209192D,soundId,audioName,audioRef,p3,p4,p5);end,\n"\ +"PLAY_SOUND_FRONTEND=function(soundId,audioName,audioRef,p3)return _natives.invoke_void(0x67C540AA08E4A6F5,soundId,audioName,audioRef,p3);end,\n"\ +"PLAY_DEFERRED_SOUND_FRONTEND=function(soundName,soundsetName)return _natives.invoke_void(0xCADA5A0D0702381E,soundName,soundsetName);end,\n"\ +"PLAY_SOUND_FROM_ENTITY=function(soundId,audioName,entity,audioRef,isNetwork,p5)return _natives.invoke_void(0xE65F427EB70AB1ED,soundId,audioName,entity,audioRef,isNetwork,p5);end,\n"\ +"PLAY_SOUND_FROM_ENTITY_HASH=function(soundId,model,entity,soundSetHash,p4,p5)return _natives.invoke_void(0x5B9853296731E88D,soundId,model,entity,soundSetHash,p4,p5);end,\n"\ +"PLAY_SOUND_FROM_COORD=function(soundId,audioName,x,y,z,audioRef,isNetwork,range,p8)return _natives.invoke_void(0x8D8686B622B88120,soundId,audioName,x,y,z,audioRef,isNetwork,range,p8);end,\n"\ +"UPDATE_SOUND_COORD=function(soundId,x,y,z)return _natives.invoke_void(0x7EC3C679D0E7E46B,soundId,x,y,z);end,\n"\ +"STOP_SOUND=function(soundId)return _natives.invoke_void(0xA3B0C41BA5CC0BB5,soundId);end,\n"\ +"GET_NETWORK_ID_FROM_SOUND_ID=function(soundId)return _natives.invoke_int(0x2DE3F0A134FFBC0D,soundId);end,\n"\ +"GET_SOUND_ID_FROM_NETWORK_ID=function(netId)return _natives.invoke_int(0x75262FD12D0A1C84,netId);end,\n"\ +"SET_VARIABLE_ON_SOUND=function(soundId,variable,p2)return _natives.invoke_void(0xAD6B3148A78AE9B6,soundId,variable,p2);end,\n"\ +"SET_VARIABLE_ON_STREAM=function(variable,p1)return _natives.invoke_void(0x2F9D3834AEB9EF79,variable,p1);end,\n"\ +"OVERRIDE_UNDERWATER_STREAM=function(p0,p1)return _natives.invoke_void(0xF2A9CDABCEA04BD6,p0,p1);end,\n"\ +"SET_VARIABLE_ON_UNDER_WATER_STREAM=function(variableName,value)return _natives.invoke_void(0x733ADF241531E5C2,variableName,value);end,\n"\ +"HAS_SOUND_FINISHED=function(soundId)return _natives.invoke_bool(0xFCBDCE714A7C88E5,soundId);end,\n"\ +"PLAY_PED_AMBIENT_SPEECH_NATIVE=function(ped,speechName,speechParam,p3)return _natives.invoke_void(0x8E04FEDD28D42462,ped,speechName,speechParam,p3);end,\n"\ +"PLAY_PED_AMBIENT_SPEECH_AND_CLONE_NATIVE=function(ped,speechName,speechParam,p3)return _natives.invoke_void(0xC6941B4A3A8FBBB9,ped,speechName,speechParam,p3);end,\n"\ +"PLAY_PED_AMBIENT_SPEECH_WITH_VOICE_NATIVE=function(ped,speechName,voiceName,speechParam,p4)return _natives.invoke_void(0x3523634255FC3318,ped,speechName,voiceName,speechParam,p4);end,\n"\ +"PLAY_AMBIENT_SPEECH_FROM_POSITION_NATIVE=function(speechName,voiceName,x,y,z,speechParam)return _natives.invoke_void(0xED640017ED337E45,speechName,voiceName,x,y,z,speechParam);end,\n"\ +"OVERRIDE_TREVOR_RAGE=function(voiceEffect)return _natives.invoke_void(0x13AD665062541A7E,voiceEffect);end,\n"\ +"RESET_TREVOR_RAGE=function()return _natives.invoke_void(0xE78503B10C4314E0);end,\n"\ +"SET_PLAYER_ANGRY=function(ped,toggle)return _natives.invoke_void(0xEA241BB04110F091,ped,toggle);end,\n"\ +"PLAY_PAIN=function(ped,painID,p1,p3)return _natives.invoke_void(0xBC9AE166038A5CEC,ped,painID,p1,p3);end,\n"\ +"RELEASE_WEAPON_AUDIO=function()return _natives.invoke_void(0xCE4AC0439F607045);end,\n"\ +"ACTIVATE_AUDIO_SLOWMO_MODE=function(mode)return _natives.invoke_void(0xD01005D2BA2EB778,mode);end,\n"\ +"DEACTIVATE_AUDIO_SLOWMO_MODE=function(mode)return _natives.invoke_void(0xDDC635D5B3262C56,mode);end,\n"\ +"SET_AMBIENT_VOICE_NAME=function(ped,name)return _natives.invoke_void(0x6C8065A3B780185B,ped,name);end,\n"\ +"SET_AMBIENT_VOICE_NAME_HASH=function(ped,hash)return _natives.invoke_void(0x9A53DED9921DE990,ped,hash);end,\n"\ +"GET_AMBIENT_VOICE_NAME_HASH=function(ped)return _natives.invoke_int(0x5E203DA2BA15D436,ped);end,\n"\ +"SET_PED_VOICE_FULL=function(ped)return _natives.invoke_void(0x40CF0D12D142A9E8,ped);end,\n"\ +"SET_PED_RACE_AND_VOICE_GROUP=function(ped,p1,voiceGroup)return _natives.invoke_void(0x1B7ABE26CBCBF8C7,ped,p1,voiceGroup);end,\n"\ +"SET_PED_VOICE_GROUP=function(ped,voiceGroupHash)return _natives.invoke_void(0x7CDC8C3B89F661B3,ped,voiceGroupHash);end,\n"\ +"SET_PED_VOICE_GROUP_FROM_RACE_TO_PVG=function(ped,voiceGroupHash)return _natives.invoke_void(0x0BABC1345ABBFB16,ped,voiceGroupHash);end,\n"\ +"SET_PED_GENDER=function(ped,p1)return _natives.invoke_void(0xA5342D390CDA41D6,ped,p1);end,\n"\ +"STOP_CURRENT_PLAYING_SPEECH=function(ped)return _natives.invoke_void(0x7A73D05A607734C7,ped);end,\n"\ +"STOP_CURRENT_PLAYING_AMBIENT_SPEECH=function(ped)return _natives.invoke_void(0xB8BEC0CA6F0EDB0F,ped);end,\n"\ +"IS_AMBIENT_SPEECH_PLAYING=function(ped)return _natives.invoke_bool(0x9072C8B49907BFAD,ped);end,\n"\ +"IS_SCRIPTED_SPEECH_PLAYING=function(p0)return _natives.invoke_bool(0xCC9AA18DCC7084F4,p0);end,\n"\ +"IS_ANY_SPEECH_PLAYING=function(ped)return _natives.invoke_bool(0x729072355FA39EC9,ped);end,\n"\ +"IS_ANY_POSITIONAL_SPEECH_PLAYING=function()return _natives.invoke_bool(0x30CA2EF91D15ADF8);end,\n"\ +"DOES_CONTEXT_EXIST_FOR_THIS_PED=function(ped,speechName,p2)return _natives.invoke_bool(0x49B99BF3FDA89A7A,ped,speechName,p2);end,\n"\ +"IS_PED_IN_CURRENT_CONVERSATION=function(ped)return _natives.invoke_bool(0x049E937F18F4020C,ped);end,\n"\ +"SET_PED_IS_DRUNK=function(ped,toggle)return _natives.invoke_void(0x95D2D383D5396B8A,ped,toggle);end,\n"\ +"PLAY_ANIMAL_VOCALIZATION=function(pedHandle,p1,speechName)return _natives.invoke_void(0xEE066C7006C49C0A,pedHandle,p1,speechName);end,\n"\ +"IS_ANIMAL_VOCALIZATION_PLAYING=function(pedHandle)return _natives.invoke_bool(0xC265DF9FB44A9FBD,pedHandle);end,\n"\ +"SET_ANIMAL_MOOD=function(animal,mood)return _natives.invoke_void(0xCC97B29285B1DC3B,animal,mood);end,\n"\ +"IS_MOBILE_PHONE_RADIO_ACTIVE=function()return _natives.invoke_bool(0xB35CE999E8EF317E);end,\n"\ +"SET_MOBILE_PHONE_RADIO_STATE=function(state)return _natives.invoke_void(0xBF286C554784F3DF,state);end,\n"\ +"GET_PLAYER_RADIO_STATION_INDEX=function()return _natives.invoke_int(0xE8AF77C4C06ADC93);end,\n"\ +"GET_PLAYER_RADIO_STATION_NAME=function()return _natives.invoke_str(0xF6D733C32076AD03);end,\n"\ +"GET_RADIO_STATION_NAME=function(radioStation)return _natives.invoke_str(0xB28ECA15046CA8B9,radioStation);end,\n"\ +"GET_PLAYER_RADIO_STATION_GENRE=function()return _natives.invoke_int(0xA571991A7FE6CCEB);end,\n"\ +"IS_RADIO_RETUNING=function()return _natives.invoke_bool(0xA151A7394A214E65);end,\n"\ +"IS_RADIO_FADED_OUT=function()return _natives.invoke_bool(0x0626A247D2405330);end,\n"\ +"SET_RADIO_RETUNE_UP=function()return _natives.invoke_void(0xFF266D1D0EB1195D);end,\n"\ +"SET_RADIO_RETUNE_DOWN=function()return _natives.invoke_void(0xDD6BCF9E94425DF9);end,\n"\ +"SET_RADIO_TO_STATION_NAME=function(stationName)return _natives.invoke_void(0xC69EDA28699D5107,stationName);end,\n"\ +"SET_VEH_RADIO_STATION=function(vehicle,radioStation)return _natives.invoke_void(0x1B9C0099CB942AC6,vehicle,radioStation);end,\n"\ +"SET_VEH_HAS_NORMAL_RADIO=function(vehicle)return _natives.invoke_void(0x3E45765F3FBB582F,vehicle);end,\n"\ +"IS_VEHICLE_RADIO_ON=function(vehicle)return _natives.invoke_bool(0x0BE4BE946463F917,vehicle);end,\n"\ +"SET_VEH_FORCED_RADIO_THIS_FRAME=function(vehicle)return _natives.invoke_void(0xC1805D05E6D4FE10,vehicle);end,\n"\ +"SET_EMITTER_RADIO_STATION=function(emitterName,radioStation,p2)return _natives.invoke_void(0xACF57305B12AF907,emitterName,radioStation,p2);end,\n"\ +"SET_STATIC_EMITTER_ENABLED=function(emitterName,toggle)return _natives.invoke_void(0x399D2D3B33F1B8EB,emitterName,toggle);end,\n"\ +"LINK_STATIC_EMITTER_TO_ENTITY=function(emitterName,entity)return _natives.invoke_void(0x651D3228960D08AF,emitterName,entity);end,\n"\ +"SET_RADIO_TO_STATION_INDEX=function(radioStation)return _natives.invoke_void(0xA619B168B8A8570F,radioStation);end,\n"\ +"SET_FRONTEND_RADIO_ACTIVE=function(active)return _natives.invoke_void(0xF7F26C6E9CC9EBB8,active);end,\n"\ +"UNLOCK_MISSION_NEWS_STORY=function(newsStory)return _natives.invoke_void(0xB165AB7C248B2DC1,newsStory);end,\n"\ +"IS_MISSION_NEWS_STORY_UNLOCKED=function(newsStory)return _natives.invoke_bool(0x66E49BF55B4B1874,newsStory);end,\n"\ +"GET_AUDIBLE_MUSIC_TRACK_TEXT_ID=function()return _natives.invoke_int(0x50B196FC9ED6545B);end,\n"\ +"PLAY_END_CREDITS_MUSIC=function(play)return _natives.invoke_void(0xCD536C4D33DCC900,play);end,\n"\ +"SKIP_RADIO_FORWARD=function()return _natives.invoke_void(0x6DDBBDD98E2E9C25);end,\n"\ +"FREEZE_RADIO_STATION=function(radioStation)return _natives.invoke_void(0x344F393B027E38C3,radioStation);end,\n"\ +"UNFREEZE_RADIO_STATION=function(radioStation)return _natives.invoke_void(0xFC00454CF60B91DD,radioStation);end,\n"\ +"SET_RADIO_AUTO_UNFREEZE=function(toggle)return _natives.invoke_void(0xC1AA9F53CE982990,toggle);end,\n"\ +"SET_INITIAL_PLAYER_STATION=function(radioStation)return _natives.invoke_void(0x88795F13FACDA88D,radioStation);end,\n"\ +"SET_USER_RADIO_CONTROL_ENABLED=function(toggle)return _natives.invoke_void(0x19F21E63AE6EAE4E,toggle);end,\n"\ +"SET_RADIO_TRACK=function(radioStation,radioTrack)return _natives.invoke_void(0xB39786F201FEE30B,radioStation,radioTrack);end,\n"\ +"SET_RADIO_TRACK_WITH_START_OFFSET=function(radioStationName,mixName,p2)return _natives.invoke_void(0x2CB0075110BE1E56,radioStationName,mixName,p2);end,\n"\ +"SET_NEXT_RADIO_TRACK=function(radioName,radioTrack,p2,p3)return _natives.invoke_void(0x55ECF4D13D9903B0,radioName,radioTrack,p2,p3);end,\n"\ +"SET_VEHICLE_RADIO_LOUD=function(vehicle,toggle)return _natives.invoke_void(0xBB6F1CAEC68B0BCE,vehicle,toggle);end,\n"\ +"CAN_VEHICLE_RECEIVE_CB_RADIO=function(vehicle)return _natives.invoke_bool(0x032A116663A4D5AC,vehicle);end,\n"\ +"SET_MOBILE_RADIO_ENABLED_DURING_GAMEPLAY=function(toggle)return _natives.invoke_void(0x1098355A16064BB3,toggle);end,\n"\ +"DOES_PLAYER_VEH_HAVE_RADIO=function()return _natives.invoke_bool(0x109697E2FFBAC8A1);end,\n"\ +"IS_PLAYER_VEH_RADIO_ENABLE=function()return _natives.invoke_bool(0x5F43D83FD6738741);end,\n"\ +"SET_VEHICLE_RADIO_ENABLED=function(vehicle,toggle)return _natives.invoke_void(0x3B988190C0AA6C0B,vehicle,toggle);end,\n"\ +"SET_POSITIONED_PLAYER_VEHICLE_RADIO_EMITTER_ENABLED=function(p0)return _natives.invoke_void(0xDA07819E452FFE8F,p0);end,\n"\ +"SET_CUSTOM_RADIO_TRACK_LIST=function(radioStation,trackListName,p2)return _natives.invoke_void(0x4E404A9361F75BB2,radioStation,trackListName,p2);end,\n"\ +"CLEAR_CUSTOM_RADIO_TRACK_LIST=function(radioStation)return _natives.invoke_void(0x1654F24A88A8E3FE,radioStation);end,\n"\ +"GET_NUM_UNLOCKED_RADIO_STATIONS=function()return _natives.invoke_int(0xF1620ECB50E01DE7);end,\n"\ +"FIND_RADIO_STATION_INDEX=function(stationNameHash)return _natives.invoke_int(0x8D67489793FF428B,stationNameHash);end,\n"\ +"SET_RADIO_STATION_MUSIC_ONLY=function(radioStation,toggle)return _natives.invoke_void(0x774BD811F656A122,radioStation,toggle);end,\n"\ +"SET_RADIO_FRONTEND_FADE_TIME=function(fadeTime)return _natives.invoke_void(0x2C96CDB04FCA358E,fadeTime);end,\n"\ +"UNLOCK_RADIO_STATION_TRACK_LIST=function(radioStation,trackListName)return _natives.invoke_void(0x031ACB6ABA18C729,radioStation,trackListName);end,\n"\ +"LOCK_RADIO_STATION_TRACK_LIST=function(radioStation,trackListName)return _natives.invoke_void(0xFF5E5EA2DCEEACF3,radioStation,trackListName);end,\n"\ +"UPDATE_UNLOCKABLE_DJ_RADIO_TRACKS=function(enableMixes)return _natives.invoke_void(0x47AED84213A47510,enableMixes);end,\n"\ +"LOCK_RADIO_STATION=function(radioStationName,toggle)return _natives.invoke_void(0x477D9DB48F889591,radioStationName,toggle);end,\n"\ +"SET_RADIO_STATION_AS_FAVOURITE=function(radioStation,toggle)return _natives.invoke_void(0x4CAFEBFA21EC188D,radioStation,toggle);end,\n"\ +"IS_RADIO_STATION_FAVOURITED=function(radioStation)return _natives.invoke_bool(0x2B1784DB08AFEA79,radioStation);end,\n"\ +"GET_NEXT_AUDIBLE_BEAT=function(out1,out2,out3)return _natives.invoke_bool(0xC64A06D939F826F5,out1,out2,out3);end,\n"\ +"FORCE_MUSIC_TRACK_LIST=function(radioStation,trackListName,milliseconds)return _natives.invoke_void(0x4E0AF9114608257C,radioStation,trackListName,milliseconds);end,\n"\ +"GET_CURRENT_TRACK_PLAY_TIME=function(radioStationName)return _natives.invoke_int(0x3E65CDE5215832C1,radioStationName);end,\n"\ +"GET_CURRENT_TRACK_SOUND_NAME=function(radioStationName)return _natives.invoke_int(0x34D66BC058019CE0,radioStationName);end,\n"\ +"SET_VEHICLE_MISSILE_WARNING_ENABLED=function(vehicle,toggle)return _natives.invoke_void(0xF3365489E0DD50F9,vehicle,toggle);end,\n"\ +"SET_AMBIENT_ZONE_STATE=function(zoneName,p1,p2)return _natives.invoke_void(0xBDA07E5950085E46,zoneName,p1,p2);end,\n"\ +"CLEAR_AMBIENT_ZONE_STATE=function(zoneName,p1)return _natives.invoke_void(0x218DD44AAAC964FF,zoneName,p1);end,\n"\ +"SET_AMBIENT_ZONE_LIST_STATE=function(ambientZone,p1,p2)return _natives.invoke_void(0x9748FA4DE50CCE3E,ambientZone,p1,p2);end,\n"\ +"CLEAR_AMBIENT_ZONE_LIST_STATE=function(ambientZone,p1)return _natives.invoke_void(0x120C48C614909FA4,ambientZone,p1);end,\n"\ +"SET_AMBIENT_ZONE_STATE_PERSISTENT=function(ambientZone,p1,p2)return _natives.invoke_void(0x1D6650420CEC9D3B,ambientZone,p1,p2);end,\n"\ +"SET_AMBIENT_ZONE_LIST_STATE_PERSISTENT=function(ambientZone,p1,p2)return _natives.invoke_void(0xF3638DAE8C4045E1,ambientZone,p1,p2);end,\n"\ +"IS_AMBIENT_ZONE_ENABLED=function(ambientZone)return _natives.invoke_bool(0x01E2817A479A7F9B,ambientZone);end,\n"\ +"REFRESH_CLOSEST_OCEAN_SHORELINE=function()return _natives.invoke_void(0x5D2BFAAB8D956E0E);end,\n"\ +"SET_CUTSCENE_AUDIO_OVERRIDE=function(name)return _natives.invoke_void(0x3B4BF5F0859204D9,name);end,\n"\ +"SET_VARIABLE_ON_SYNCH_SCENE_AUDIO=function(variableName,value)return _natives.invoke_void(0xBCC29F935ED07688,variableName,value);end,\n"\ +"PLAY_POLICE_REPORT=function(name,p1)return _natives.invoke_int(0xDFEBD56D9BD1EB16,name,p1);end,\n"\ +"CANCEL_ALL_POLICE_REPORTS=function()return _natives.invoke_void(0xB4F90FAF7670B16F);end,\n"\ +"BLIP_SIREN=function(vehicle)return _natives.invoke_void(0x1B9025BDA76822B6,vehicle);end,\n"\ +"OVERRIDE_VEH_HORN=function(vehicle,override,hornHash)return _natives.invoke_void(0x3CDC1E622CCE0356,vehicle,override,hornHash);end,\n"\ +"IS_HORN_ACTIVE=function(vehicle)return _natives.invoke_bool(0x9D6BFC12B05C6121,vehicle);end,\n"\ +"SET_AGGRESSIVE_HORNS=function(toggle)return _natives.invoke_void(0x395BF71085D1B1D9,toggle);end,\n"\ +"SET_RADIO_POSITION_AUDIO_MUTE=function(p0)return _natives.invoke_void(0x02E93C796ABD3A97,p0);end,\n"\ +"SET_VEHICLE_CONVERSATIONS_PERSIST=function(p0,p1)return _natives.invoke_void(0x58BB377BEC7CD5F4,p0,p1);end,\n"\ +"SET_VEHICLE_CONVERSATIONS_PERSIST_NEW=function(p0,p1,p2)return _natives.invoke_void(0x9BD7BD55E4533183,p0,p1,p2);end,\n"\ +"IS_STREAM_PLAYING=function()return _natives.invoke_bool(0xD11FA52EB849D978);end,\n"\ +"GET_STREAM_PLAY_TIME=function()return _natives.invoke_int(0x4E72BBDBCA58A3DB);end,\n"\ +"LOAD_STREAM=function(streamName,soundSet)return _natives.invoke_bool(0x1F1F957154EC51DF,streamName,soundSet);end,\n"\ +"LOAD_STREAM_WITH_START_OFFSET=function(streamName,startOffset,soundSet)return _natives.invoke_bool(0x59C16B79F53B3712,streamName,startOffset,soundSet);end,\n"\ +"PLAY_STREAM_FROM_PED=function(ped)return _natives.invoke_void(0x89049DD63C08B5D1,ped);end,\n"\ +"PLAY_STREAM_FROM_VEHICLE=function(vehicle)return _natives.invoke_void(0xB70374A758007DFA,vehicle);end,\n"\ +"PLAY_STREAM_FROM_OBJECT=function(object)return _natives.invoke_void(0xEBAA9B64D76356FD,object);end,\n"\ +"PLAY_STREAM_FRONTEND=function()return _natives.invoke_void(0x58FCE43488F9F5F4);end,\n"\ +"PLAY_STREAM_FROM_POSITION=function(x,y,z)return _natives.invoke_void(0x21442F412E8DE56B,x,y,z);end,\n"\ +"STOP_STREAM=function()return _natives.invoke_void(0xA4718A1419D18151);end,\n"\ +"STOP_PED_SPEAKING=function(ped,shaking)return _natives.invoke_void(0x9D64D7405520E3D3,ped,shaking);end,\n"\ +"BLOCK_ALL_SPEECH_FROM_PED=function(ped,p1,p2)return _natives.invoke_void(0xF8AD2EED7C47E8FE,ped,p1,p2);end,\n"\ +"STOP_PED_SPEAKING_SYNCED=function(ped,p1)return _natives.invoke_void(0xAB6781A5F3101470,ped,p1);end,\n"\ +"DISABLE_PED_PAIN_AUDIO=function(ped,toggle)return _natives.invoke_void(0xA9A41C1E940FB0E8,ped,toggle);end,\n"\ +"IS_AMBIENT_SPEECH_DISABLED=function(ped)return _natives.invoke_bool(0x932C2D096A2C3FFF,ped);end,\n"\ +"BLOCK_SPEECH_CONTEXT_GROUP=function(p0,p1)return _natives.invoke_void(0xA8A7D434AFB4B97B,p0,p1);end,\n"\ +"UNBLOCK_SPEECH_CONTEXT_GROUP=function(p0)return _natives.invoke_void(0x2ACABED337622DF2,p0);end,\n"\ +"SET_SIREN_WITH_NO_DRIVER=function(vehicle,toggle)return _natives.invoke_void(0x1FEF0683B96EBCF2,vehicle,toggle);end,\n"\ +"SET_SIREN_BYPASS_MP_DRIVER_CHECK=function(vehicle,toggle)return _natives.invoke_void(0xF584CF8529B51434,vehicle,toggle);end,\n"\ +"TRIGGER_SIREN_AUDIO=function(vehicle)return _natives.invoke_void(0x66C3FB05206041BA,vehicle);end,\n"\ +"SET_HORN_PERMANENTLY_ON=function(vehicle)return _natives.invoke_void(0x9C11908013EA4715,vehicle);end,\n"\ +"SET_HORN_ENABLED=function(vehicle,toggle)return _natives.invoke_void(0x76D683C108594D0E,vehicle,toggle);end,\n"\ +"SET_AUDIO_VEHICLE_PRIORITY=function(vehicle,p1)return _natives.invoke_void(0xE5564483E407F914,vehicle,p1);end,\n"\ +"SET_HORN_PERMANENTLY_ON_TIME=function(vehicle,time)return _natives.invoke_void(0x9D3AF56E94C9AE98,vehicle,time);end,\n"\ +"USE_SIREN_AS_HORN=function(vehicle,toggle)return _natives.invoke_void(0xFA932DE350266EF8,vehicle,toggle);end,\n"\ +"FORCE_USE_AUDIO_GAME_OBJECT=function(vehicle,audioName)return _natives.invoke_void(0x4F0C413926060B38,vehicle,audioName);end,\n"\ +"PRELOAD_VEHICLE_AUDIO_BANK=function(vehicleModel)return _natives.invoke_void(0xCA4CEA6AE0000A7E,vehicleModel);end,\n"\ +"SET_VEHICLE_STARTUP_REV_SOUND=function(vehicle,p1,p2)return _natives.invoke_void(0xF1F8157B8C3F171C,vehicle,p1,p2);end,\n"\ +"RESET_VEHICLE_STARTUP_REV_SOUND=function(vehicle)return _natives.invoke_void(0xD2DCCD8E16E20997,vehicle);end,\n"\ +"SET_VEHICLE_FORCE_REVERSE_WARNING=function(p0,p1)return _natives.invoke_void(0x97FFB4ADEED08066,p0,p1);end,\n"\ +"IS_VEHICLE_AUDIBLY_DAMAGED=function(vehicle)return _natives.invoke_bool(0x5DB8010EE71FDEF2,vehicle);end,\n"\ +"SET_VEHICLE_AUDIO_ENGINE_DAMAGE_FACTOR=function(vehicle,damageFactor)return _natives.invoke_void(0x59E7B488451F4D3A,vehicle,damageFactor);end,\n"\ +"SET_VEHICLE_AUDIO_BODY_DAMAGE_FACTOR=function(vehicle,intensity)return _natives.invoke_void(0x01BB4D577D38BD9E,vehicle,intensity);end,\n"\ +"ENABLE_VEHICLE_FANBELT_DAMAGE=function(vehicle,toggle)return _natives.invoke_void(0x1C073274E065C6D2,vehicle,toggle);end,\n"\ +"ENABLE_VEHICLE_EXHAUST_POPS=function(vehicle,toggle)return _natives.invoke_void(0x2BE4BC731D039D5A,vehicle,toggle);end,\n"\ +"SET_VEHICLE_BOOST_ACTIVE=function(vehicle,toggle)return _natives.invoke_void(0x4A04DE7CAB2739A1,vehicle,toggle);end,\n"\ +"SET_PLAYER_VEHICLE_ALARM_AUDIO_ACTIVE=function(vehicle,toggle)return _natives.invoke_void(0x6FDDAD856E36988A,vehicle,toggle);end,\n"\ +"SET_SCRIPT_UPDATE_DOOR_AUDIO=function(doorHash,toggle)return _natives.invoke_void(0x06C0023BED16DD6B,doorHash,toggle);end,\n"\ +"PLAY_VEHICLE_DOOR_OPEN_SOUND=function(vehicle,doorId)return _natives.invoke_void(0x3A539D52857EA82D,vehicle,doorId);end,\n"\ +"PLAY_VEHICLE_DOOR_CLOSE_SOUND=function(vehicle,doorId)return _natives.invoke_void(0x62A456AA4769EF34,vehicle,doorId);end,\n"\ +"ENABLE_STALL_WARNING_SOUNDS=function(vehicle,toggle)return _natives.invoke_void(0xC15907D667F7CFB2,vehicle,toggle);end,\n"\ +"IS_GAME_IN_CONTROL_OF_MUSIC=function()return _natives.invoke_bool(0x6D28DC1671E334FD);end,\n"\ +"SET_GPS_ACTIVE=function(active)return _natives.invoke_void(0x3BD3F52BA9B1E4E8,active);end,\n"\ +"PLAY_MISSION_COMPLETE_AUDIO=function(audioName)return _natives.invoke_void(0xB138AAB8A70D3C69,audioName);end,\n"\ +"IS_MISSION_COMPLETE_PLAYING=function()return _natives.invoke_bool(0x19A30C23F5827F8A);end,\n"\ +"IS_MISSION_COMPLETE_READY_FOR_UI=function()return _natives.invoke_bool(0x6F259F82D873B8B8);end,\n"\ +"BLOCK_DEATH_JINGLE=function(toggle)return _natives.invoke_void(0xF154B8D1775B2DEC,toggle);end,\n"\ +"START_AUDIO_SCENE=function(scene)return _natives.invoke_bool(0x013A80FC08F6E4F2,scene);end,\n"\ +"STOP_AUDIO_SCENE=function(scene)return _natives.invoke_void(0xDFE8422B3B94E688,scene);end,\n"\ +"STOP_AUDIO_SCENES=function()return _natives.invoke_void(0xBAC7FC81A75EC1A1);end,\n"\ +"IS_AUDIO_SCENE_ACTIVE=function(scene)return _natives.invoke_bool(0xB65B60556E2A9225,scene);end,\n"\ +"SET_AUDIO_SCENE_VARIABLE=function(scene,variable,value)return _natives.invoke_void(0xEF21A9EF089A2668,scene,variable,value);end,\n"\ +"SET_AUDIO_SCRIPT_CLEANUP_TIME=function(time)return _natives.invoke_void(0xA5F377B175A699C5,time);end,\n"\ +"ADD_ENTITY_TO_AUDIO_MIX_GROUP=function(entity,groupName,p2)return _natives.invoke_void(0x153973AB99FE8980,entity,groupName,p2);end,\n"\ +"REMOVE_ENTITY_FROM_AUDIO_MIX_GROUP=function(entity,p1)return _natives.invoke_void(0x18EB48CFC41F2EA0,entity,p1);end,\n"\ +"AUDIO_IS_MUSIC_PLAYING=function()return _natives.invoke_bool(0x845FFC3A4FEEFA3E);end,\n"\ +"AUDIO_IS_SCRIPTED_MUSIC_PLAYING=function()return _natives.invoke_bool(0x2DD39BF3E2F9C47F);end,\n"\ +"PREPARE_MUSIC_EVENT=function(eventName)return _natives.invoke_bool(0x1E5185B72EF5158A,eventName);end,\n"\ +"CANCEL_MUSIC_EVENT=function(eventName)return _natives.invoke_bool(0x5B17A90291133DA5,eventName);end,\n"\ +"TRIGGER_MUSIC_EVENT=function(eventName)return _natives.invoke_bool(0x706D57B0F50DA710,eventName);end,\n"\ +"IS_MUSIC_ONESHOT_PLAYING=function()return _natives.invoke_bool(0xA097AB275061FB21);end,\n"\ +"GET_MUSIC_PLAYTIME=function()return _natives.invoke_int(0xE7A0D23DC414507B);end,\n"\ +"SET_GLOBAL_RADIO_SIGNAL_LEVEL=function(p0)return _natives.invoke_void(0x159B7318403A1CD8,p0);end,\n"\ +"RECORD_BROKEN_GLASS=function(x,y,z,radius)return _natives.invoke_void(0xFBE20329593DEC9D,x,y,z,radius);end,\n"\ +"CLEAR_ALL_BROKEN_GLASS=function()return _natives.invoke_void(0xB32209EFFDC04913);end,\n"\ +"SCRIPT_OVERRIDES_WIND_ELEVATION=function(p0,p1)return _natives.invoke_void(0x70B8EC8FC108A634,p0,p1);end,\n"\ +"SET_PED_WALLA_DENSITY=function(p0,p1)return _natives.invoke_void(0x149AEE66F0CB3A99,p0,p1);end,\n"\ +"SET_PED_INTERIOR_WALLA_DENSITY=function(p0,p1)return _natives.invoke_void(0x8BF907833BE275DE,p0,p1);end,\n"\ +"FORCE_PED_PANIC_WALLA=function()return _natives.invoke_void(0x062D5EAD4DA2FA6A);end,\n"\ +"PREPARE_ALARM=function(alarmName)return _natives.invoke_bool(0x9D74AE343DB65533,alarmName);end,\n"\ +"START_ALARM=function(alarmName,p2)return _natives.invoke_void(0x0355EF116C4C97B2,alarmName,p2);end,\n"\ +"STOP_ALARM=function(alarmName,toggle)return _natives.invoke_void(0xA1CADDCD98415A41,alarmName,toggle);end,\n"\ +"STOP_ALL_ALARMS=function(stop)return _natives.invoke_void(0x2F794A877ADD4C92,stop);end,\n"\ +"IS_ALARM_PLAYING=function(alarmName)return _natives.invoke_bool(0x226435CB96CCFC8C,alarmName);end,\n"\ +"GET_VEHICLE_DEFAULT_HORN=function(vehicle)return _natives.invoke_int(0x02165D55000219AC,vehicle);end,\n"\ +"GET_VEHICLE_DEFAULT_HORN_IGNORE_MODS=function(vehicle)return _natives.invoke_int(0xACB5DCCA1EC76840,vehicle);end,\n"\ +"RESET_PED_AUDIO_FLAGS=function(ped)return _natives.invoke_void(0xF54BB7B61036F335,ped);end,\n"\ +"SET_PED_FOOTSTEPS_EVENTS_ENABLED=function(ped,toggle)return _natives.invoke_void(0x0653B735BFBDFE87,ped,toggle);end,\n"\ +"SET_PED_CLOTH_EVENTS_ENABLED=function(ped,toggle)return _natives.invoke_void(0x29DA3CA8D8B2692D,ped,toggle);end,\n"\ +"OVERRIDE_PLAYER_GROUND_MATERIAL=function(hash,toggle)return _natives.invoke_void(0xD2CC78CD3D0B50F9,hash,toggle);end,\n"\ +"USE_FOOTSTEP_SCRIPT_SWEETENERS=function(ped,p1,hash)return _natives.invoke_void(0xBF4DC1784BE94DFA,ped,p1,hash);end,\n"\ +"OVERRIDE_MICROPHONE_SETTINGS=function(hash,toggle)return _natives.invoke_void(0x75773E11BA459E90,hash,toggle);end,\n"\ +"FREEZE_MICROPHONE=function()return _natives.invoke_void(0xD57AAAE0E2214D11);end,\n"\ +"DISTANT_COP_CAR_SIRENS=function(value)return _natives.invoke_void(0x552369F549563AD5,value);end,\n"\ +"SET_SIREN_CAN_BE_CONTROLLED_BY_AUDIO=function(vehicle,p1)return _natives.invoke_void(0x43FA0DFC5DF87815,vehicle,p1);end,\n"\ +"ENABLE_STUNT_JUMP_AUDIO=function()return _natives.invoke_void(0xB81CF134AEB56FFB);end,\n"\ +"SET_AUDIO_FLAG=function(flagName,toggle)return _natives.invoke_void(0xB9EFD5C25018725A,flagName,toggle);end,\n"\ +"PREPARE_SYNCHRONIZED_AUDIO_EVENT=function(audioEvent,p1)return _natives.invoke_bool(0xC7ABCACA4985A766,audioEvent,p1);end,\n"\ +"PREPARE_SYNCHRONIZED_AUDIO_EVENT_FOR_SCENE=function(sceneID,audioEvent)return _natives.invoke_bool(0x029FE7CD1B7E2E75,sceneID,audioEvent);end,\n"\ +"PLAY_SYNCHRONIZED_AUDIO_EVENT=function(sceneID)return _natives.invoke_bool(0x8B2FD4560E55DD2D,sceneID);end,\n"\ +"STOP_SYNCHRONIZED_AUDIO_EVENT=function(sceneID)return _natives.invoke_bool(0x92D6A88E64A94430,sceneID);end,\n"\ +"INIT_SYNCH_SCENE_AUDIO_WITH_POSITION=function(audioEvent,x,y,z)return _natives.invoke_void(0xC8EDE9BDBCCBA6D4,audioEvent,x,y,z);end,\n"\ +"INIT_SYNCH_SCENE_AUDIO_WITH_ENTITY=function(audioEvent,entity)return _natives.invoke_void(0x950A154B8DAB6185,audioEvent,entity);end,\n"\ +"SET_AUDIO_SPECIAL_EFFECT_MODE=function(mode)return _natives.invoke_void(0x12561FCBB62D5B9C,mode);end,\n"\ +"SET_PORTAL_SETTINGS_OVERRIDE=function(p0,p1)return _natives.invoke_void(0x044DBAD7A7FA2BE5,p0,p1);end,\n"\ +"REMOVE_PORTAL_SETTINGS_OVERRIDE=function(p0)return _natives.invoke_void(0xB4BBFD9CD8B3922B,p0);end,\n"\ +"STOP_SMOKE_GRENADE_EXPLOSION_SOUNDS=function()return _natives.invoke_void(0xE4E6DD5566D28C82);end,\n"\ +"GET_MUSIC_VOL_SLIDER=function()return _natives.invoke_int(0x3A48AB4445D499BE);end,\n"\ +"REQUEST_TENNIS_BANKS=function(ped)return _natives.invoke_void(0x4ADA3F19BE4A6047,ped);end,\n"\ +"UNREQUEST_TENNIS_BANKS=function()return _natives.invoke_void(0x0150B6FF25A9E2E5);end,\n"\ +"SET_SKIP_MINIGUN_SPIN_UP_AUDIO=function(p0)return _natives.invoke_void(0xBEF34B1D9624D5DD,p0);end,\n"\ +"STOP_CUTSCENE_AUDIO=function()return _natives.invoke_void(0x806058BBDC136E06);end,\n"\ +"HAS_LOADED_MP_DATA_SET=function()return _natives.invoke_bool(0x544810ED9DB6BBE6);end,\n"\ +"HAS_LOADED_SP_DATA_SET=function()return _natives.invoke_bool(0x5B50ABB1FE3746F4);end,\n"\ +"GET_VEHICLE_HORN_SOUND_INDEX=function(vehicle)return _natives.invoke_int(0xD53F3A29BCE2580E,vehicle);end,\n"\ +"SET_VEHICLE_HORN_SOUND_INDEX=function(vehicle,value)return _natives.invoke_void(0x0350E7E17BA767D0,vehicle,value);end,\n"\ +"};\n"\ +"BRAIN = {\n"\ +"ADD_SCRIPT_TO_RANDOM_PED=function(name,model,p2,p3)return _natives.invoke_void(0x4EE5367468A65CCC,name,model,p2,p3);end,\n"\ +"REGISTER_OBJECT_SCRIPT_BRAIN=function(scriptName,modelHash,p2,activationRange,p4,p5)return _natives.invoke_void(0x0BE84C318BA6EC22,scriptName,modelHash,p2,activationRange,p4,p5);end,\n"\ +"IS_OBJECT_WITHIN_BRAIN_ACTIVATION_RANGE=function(object)return _natives.invoke_bool(0xCCBA154209823057,object);end,\n"\ +"REGISTER_WORLD_POINT_SCRIPT_BRAIN=function(scriptName,activationRange,p2)return _natives.invoke_void(0x3CDC7136613284BD,scriptName,activationRange,p2);end,\n"\ +"IS_WORLD_POINT_WITHIN_BRAIN_ACTIVATION_RANGE=function()return _natives.invoke_bool(0xC5042CC6F5E3D450);end,\n"\ +"ENABLE_SCRIPT_BRAIN_SET=function(brainSet)return _natives.invoke_void(0x67AA4D73F0CFA86B,brainSet);end,\n"\ +"DISABLE_SCRIPT_BRAIN_SET=function(brainSet)return _natives.invoke_void(0x14D8518E9760F08F,brainSet);end,\n"\ +"REACTIVATE_ALL_WORLD_BRAINS_THAT_ARE_WAITING_TILL_OUT_OF_RANGE=function()return _natives.invoke_void(0x0B40ED49D7D6FF84);end,\n"\ +"REACTIVATE_ALL_OBJECT_BRAINS_THAT_ARE_WAITING_TILL_OUT_OF_RANGE=function()return _natives.invoke_void(0x4D953DF78EBF8158);end,\n"\ +"REACTIVATE_NAMED_WORLD_BRAINS_WAITING_TILL_OUT_OF_RANGE=function(scriptName)return _natives.invoke_void(0x6D6840CEE8845831,scriptName);end,\n"\ +"REACTIVATE_NAMED_OBJECT_BRAINS_WAITING_TILL_OUT_OF_RANGE=function(scriptName)return _natives.invoke_void(0x6E91B04E08773030,scriptName);end,\n"\ +"};\n"\ +"CAM = {\n"\ +"RENDER_SCRIPT_CAMS=function(render,ease,easeTime,p3,p4,p5)return _natives.invoke_void(0x07E5B515DB0636FC,render,ease,easeTime,p3,p4,p5);end,\n"\ +"STOP_RENDERING_SCRIPT_CAMS_USING_CATCH_UP=function(render,p1,p2,p3)return _natives.invoke_void(0xC819F3CBB62BF692,render,p1,p2,p3);end,\n"\ +"CREATE_CAM=function(camName,p1)return _natives.invoke_int(0xC3981DCE61D9E13F,camName,p1);end,\n"\ +"CREATE_CAM_WITH_PARAMS=function(camName,posX,posY,posZ,rotX,rotY,rotZ,fov,p8,p9)return _natives.invoke_int(0xB51194800B257161,camName,posX,posY,posZ,rotX,rotY,rotZ,fov,p8,p9);end,\n"\ +"CREATE_CAMERA=function(camHash,p1)return _natives.invoke_int(0x5E3CF89C6BCCA67D,camHash,p1);end,\n"\ +"CREATE_CAMERA_WITH_PARAMS=function(camHash,posX,posY,posZ,rotX,rotY,rotZ,fov,p8,p9)return _natives.invoke_int(0x6ABFA3E16460F22D,camHash,posX,posY,posZ,rotX,rotY,rotZ,fov,p8,p9);end,\n"\ +"DESTROY_CAM=function(cam,bScriptHostCam)return _natives.invoke_void(0x865908C81A2C22E9,cam,bScriptHostCam);end,\n"\ +"DESTROY_ALL_CAMS=function(bScriptHostCam)return _natives.invoke_void(0x8E5FB15663F79120,bScriptHostCam);end,\n"\ +"DOES_CAM_EXIST=function(cam)return _natives.invoke_bool(0xA7A932170592B50E,cam);end,\n"\ +"SET_CAM_ACTIVE=function(cam,active)return _natives.invoke_void(0x026FB97D0A425F84,cam,active);end,\n"\ +"IS_CAM_ACTIVE=function(cam)return _natives.invoke_bool(0xDFB2B516207D3534,cam);end,\n"\ +"IS_CAM_RENDERING=function(cam)return _natives.invoke_bool(0x02EC0AF5C5A49B7A,cam);end,\n"\ +"GET_RENDERING_CAM=function()return _natives.invoke_int(0x5234F9F10919EABA);end,\n"\ +"GET_CAM_COORD=function(cam)return _natives.invoke_vec3(0xBAC038F7459AE5AE,cam);end,\n"\ +"GET_CAM_ROT=function(cam,rotationOrder)return _natives.invoke_vec3(0x7D304C1C955E3E12,cam,rotationOrder);end,\n"\ +"GET_CAM_FOV=function(cam)return _natives.invoke_float(0xC3330A45CCCDB26A,cam);end,\n"\ +"GET_CAM_NEAR_CLIP=function(cam)return _natives.invoke_float(0xC520A34DAFBF24B1,cam);end,\n"\ +"GET_CAM_FAR_CLIP=function(cam)return _natives.invoke_float(0xB60A9CFEB21CA6AA,cam);end,\n"\ +"GET_CAM_NEAR_DOF=function(cam)return _natives.invoke_float(0xC2612D223D915A1C,cam);end,\n"\ +"GET_CAM_FAR_DOF=function(cam)return _natives.invoke_float(0x255F8DAFD540D397,cam);end,\n"\ +"GET_CAM_DOF_STRENGTH=function(cam)return _natives.invoke_float(0x06D153C0B99B6128,cam);end,\n"\ +"SET_CAM_PARAMS=function(cam,posX,posY,posZ,rotX,rotY,rotZ,fieldOfView,p8,p9,p10,p11)return _natives.invoke_void(0xBFD8727AEA3CCEBA,cam,posX,posY,posZ,rotX,rotY,rotZ,fieldOfView,p8,p9,p10,p11);end,\n"\ +"SET_CAM_COORD=function(cam,posX,posY,posZ)return _natives.invoke_void(0x4D41783FB745E42E,cam,posX,posY,posZ);end,\n"\ +"SET_CAM_ROT=function(cam,rotX,rotY,rotZ,rotationOrder)return _natives.invoke_void(0x85973643155D0B07,cam,rotX,rotY,rotZ,rotationOrder);end,\n"\ +"SET_CAM_FOV=function(cam,fieldOfView)return _natives.invoke_void(0xB13C14F66A00D047,cam,fieldOfView);end,\n"\ +"SET_CAM_NEAR_CLIP=function(cam,nearClip)return _natives.invoke_void(0xC7848EFCCC545182,cam,nearClip);end,\n"\ +"SET_CAM_FAR_CLIP=function(cam,farClip)return _natives.invoke_void(0xAE306F2A904BF86E,cam,farClip);end,\n"\ +"FORCE_CAM_FAR_CLIP=function(cam,p1)return _natives.invoke_void(0xAABD62873FFB1A33,cam,p1);end,\n"\ +"SET_CAM_MOTION_BLUR_STRENGTH=function(cam,strength)return _natives.invoke_void(0x6F0F77FBA9A8F2E6,cam,strength);end,\n"\ +"SET_CAM_NEAR_DOF=function(cam,nearDOF)return _natives.invoke_void(0x3FA4BF0A7AB7DE2C,cam,nearDOF);end,\n"\ +"SET_CAM_FAR_DOF=function(cam,farDOF)return _natives.invoke_void(0xEDD91296CD01AEE0,cam,farDOF);end,\n"\ +"SET_CAM_DOF_STRENGTH=function(cam,dofStrength)return _natives.invoke_void(0x5EE29B4D7D5DF897,cam,dofStrength);end,\n"\ +"SET_CAM_DOF_PLANES=function(cam,p1,p2,p3,p4)return _natives.invoke_void(0x3CF48F6F96E749DC,cam,p1,p2,p3,p4);end,\n"\ +"SET_CAM_USE_SHALLOW_DOF_MODE=function(cam,toggle)return _natives.invoke_void(0x16A96863A17552BB,cam,toggle);end,\n"\ +"SET_USE_HI_DOF=function()return _natives.invoke_void(0xA13B0222F3D94A94);end,\n"\ +"SET_USE_HI_DOF_ON_SYNCED_SCENE_THIS_UPDATE=function()return _natives.invoke_void(0x731A880555DA3647);end,\n"\ +"SET_CAM_DOF_OVERRIDDEN_FOCUS_DISTANCE=function(camera,p1)return _natives.invoke_void(0xF55E4046F6F831DC,camera,p1);end,\n"\ +"SET_CAM_DOF_OVERRIDDEN_FOCUS_DISTANCE_BLEND_LEVEL=function(p0,p1)return _natives.invoke_void(0xE111A7C0D200CBC5,p0,p1);end,\n"\ +"SET_CAM_DOF_FNUMBER_OF_LENS=function(camera,p1)return _natives.invoke_void(0x7DD234D6F3914C5B,camera,p1);end,\n"\ +"SET_CAM_DOF_FOCAL_LENGTH_MULTIPLIER=function(camera,multiplier)return _natives.invoke_void(0x47B595D60664CFFA,camera,multiplier);end,\n"\ +"SET_CAM_DOF_FOCUS_DISTANCE_BIAS=function(camera,p1)return _natives.invoke_void(0xC669EEA5D031B7DE,camera,p1);end,\n"\ +"SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE=function(camera,p1)return _natives.invoke_void(0xC3654A441402562D,camera,p1);end,\n"\ +"SET_CAM_DOF_MAX_NEAR_IN_FOCUS_DISTANCE_BLEND_LEVEL=function(camera,p1)return _natives.invoke_void(0x2C654B4943BDDF7C,camera,p1);end,\n"\ +"ATTACH_CAM_TO_ENTITY=function(cam,entity,xOffset,yOffset,zOffset,isRelative)return _natives.invoke_void(0xFEDB7D269E8C60E3,cam,entity,xOffset,yOffset,zOffset,isRelative);end,\n"\ +"ATTACH_CAM_TO_PED_BONE=function(cam,ped,boneIndex,x,y,z,heading)return _natives.invoke_void(0x61A3DBA14AB7F411,cam,ped,boneIndex,x,y,z,heading);end,\n"\ +"HARD_ATTACH_CAM_TO_PED_BONE=function(cam,ped,boneIndex,p3,p4,p5,p6,p7,p8,p9)return _natives.invoke_void(0x149916F50C34A40D,cam,ped,boneIndex,p3,p4,p5,p6,p7,p8,p9);end,\n"\ +"HARD_ATTACH_CAM_TO_ENTITY=function(cam,entity,xRot,yRot,zRot,xOffset,yOffset,zOffset,isRelative)return _natives.invoke_void(0x202A5ED9CE01D6E7,cam,entity,xRot,yRot,zRot,xOffset,yOffset,zOffset,isRelative);end,\n"\ +"ATTACH_CAM_TO_VEHICLE_BONE=function(cam,vehicle,boneIndex,relativeRotation,rotX,rotY,rotZ,offsetX,offsetY,offsetZ,fixedDirection)return _natives.invoke_void(0x8DB3F12A02CAEF72,cam,vehicle,boneIndex,relativeRotation,rotX,rotY,rotZ,offsetX,offsetY,offsetZ,fixedDirection);end,\n"\ +"DETACH_CAM=function(cam)return _natives.invoke_void(0xA2FABBE87F4BAD82,cam);end,\n"\ +"SET_CAM_INHERIT_ROLL_VEHICLE=function(cam,p1)return _natives.invoke_void(0x45F1DE9C34B93AE6,cam,p1);end,\n"\ +"POINT_CAM_AT_COORD=function(cam,x,y,z)return _natives.invoke_void(0xF75497BB865F0803,cam,x,y,z);end,\n"\ +"POINT_CAM_AT_ENTITY=function(cam,entity,p2,p3,p4,p5)return _natives.invoke_void(0x5640BFF86B16E8DC,cam,entity,p2,p3,p4,p5);end,\n"\ +"POINT_CAM_AT_PED_BONE=function(cam,ped,boneIndex,x,y,z,p6)return _natives.invoke_void(0x68B2B5F33BA63C41,cam,ped,boneIndex,x,y,z,p6);end,\n"\ +"STOP_CAM_POINTING=function(cam)return _natives.invoke_void(0xF33AB75780BA57DE,cam);end,\n"\ +"SET_CAM_AFFECTS_AIMING=function(cam,toggle)return _natives.invoke_void(0x8C1DC7770C51DC8D,cam,toggle);end,\n"\ +"SET_CAM_CONTROLS_MINI_MAP_HEADING=function(cam,toggle)return _natives.invoke_void(0x661B5C8654ADD825,cam,toggle);end,\n"\ +"SET_CAM_IS_INSIDE_VEHICLE=function(cam,toggle)return _natives.invoke_void(0xA2767257A320FC82,cam,toggle);end,\n"\ +"ALLOW_MOTION_BLUR_DECAY=function(p0,p1)return _natives.invoke_void(0x271017B9BA825366,p0,p1);end,\n"\ +"SET_CAM_DEBUG_NAME=function(camera,name)return _natives.invoke_void(0x1B93E0107865DD40,camera,name);end,\n"\ +"GET_DEBUG_CAM=function()return _natives.invoke_int(0x77C3CEC46BE286F6);end,\n"\ +"ADD_CAM_SPLINE_NODE=function(camera,x,y,z,xRot,yRot,zRot,length,smoothingStyle,rotationOrder)return _natives.invoke_void(0x8609C75EC438FB3B,camera,x,y,z,xRot,yRot,zRot,length,smoothingStyle,rotationOrder);end,\n"\ +"ADD_CAM_SPLINE_NODE_USING_CAMERA_FRAME=function(cam,cam2,length,p3)return _natives.invoke_void(0x0A9F2A468B328E74,cam,cam2,length,p3);end,\n"\ +"ADD_CAM_SPLINE_NODE_USING_CAMERA=function(cam,cam2,length,p3)return _natives.invoke_void(0x0FB82563989CF4FB,cam,cam2,length,p3);end,\n"\ +"ADD_CAM_SPLINE_NODE_USING_GAMEPLAY_FRAME=function(cam,length,p2)return _natives.invoke_void(0x609278246A29CA34,cam,length,p2);end,\n"\ +"SET_CAM_SPLINE_PHASE=function(cam,p1)return _natives.invoke_void(0x242B5874F0A4E052,cam,p1);end,\n"\ +"GET_CAM_SPLINE_PHASE=function(cam)return _natives.invoke_float(0xB5349E36C546509A,cam);end,\n"\ +"GET_CAM_SPLINE_NODE_PHASE=function(cam)return _natives.invoke_float(0xD9D0E694C8282C96,cam);end,\n"\ +"SET_CAM_SPLINE_DURATION=function(cam,timeDuration)return _natives.invoke_void(0x1381539FEE034CDA,cam,timeDuration);end,\n"\ +"SET_CAM_SPLINE_SMOOTHING_STYLE=function(cam,smoothingStyle)return _natives.invoke_void(0xD1B0F412F109EA5D,cam,smoothingStyle);end,\n"\ +"GET_CAM_SPLINE_NODE_INDEX=function(cam)return _natives.invoke_int(0xB22B17DF858716A6,cam);end,\n"\ +"SET_CAM_SPLINE_NODE_EASE=function(cam,easingFunction,p2,p3)return _natives.invoke_void(0x83B8201ED82A9A2D,cam,easingFunction,p2,p3);end,\n"\ +"SET_CAM_SPLINE_NODE_VELOCITY_SCALE=function(cam,p1,scale)return _natives.invoke_void(0xA6385DEB180F319F,cam,p1,scale);end,\n"\ +"OVERRIDE_CAM_SPLINE_VELOCITY=function(cam,p1,p2,p3)return _natives.invoke_void(0x40B62FA033EB0346,cam,p1,p2,p3);end,\n"\ +"OVERRIDE_CAM_SPLINE_MOTION_BLUR=function(cam,p1,p2,p3)return _natives.invoke_void(0x7DCF7C708D292D55,cam,p1,p2,p3);end,\n"\ +"SET_CAM_SPLINE_NODE_EXTRA_FLAGS=function(cam,p1,flags)return _natives.invoke_void(0x7BF1A54AE67AC070,cam,p1,flags);end,\n"\ +"IS_CAM_SPLINE_PAUSED=function(cam)return _natives.invoke_bool(0x0290F35C0AD97864,cam);end,\n"\ +"SET_CAM_ACTIVE_WITH_INTERP=function(camTo,camFrom,duration,easeLocation,easeRotation)return _natives.invoke_void(0x9FBDA379383A52A4,camTo,camFrom,duration,easeLocation,easeRotation);end,\n"\ +"IS_CAM_INTERPOLATING=function(cam)return _natives.invoke_bool(0x036F97C908C2B52C,cam);end,\n"\ +"SHAKE_CAM=function(cam,type,amplitude)return _natives.invoke_void(0x6A25241C340D3822,cam,type,amplitude);end,\n"\ +"ANIMATED_SHAKE_CAM=function(cam,p1,p2,p3,amplitude)return _natives.invoke_void(0xA2746EEAE3E577CD,cam,p1,p2,p3,amplitude);end,\n"\ +"IS_CAM_SHAKING=function(cam)return _natives.invoke_bool(0x6B24BFE83A2BE47B,cam);end,\n"\ +"SET_CAM_SHAKE_AMPLITUDE=function(cam,amplitude)return _natives.invoke_void(0xD93DB43B82BC0D00,cam,amplitude);end,\n"\ +"STOP_CAM_SHAKING=function(cam,p1)return _natives.invoke_void(0xBDECF64367884AC3,cam,p1);end,\n"\ +"SHAKE_SCRIPT_GLOBAL=function(p0,p1)return _natives.invoke_void(0xF4C8CF9E353AFECA,p0,p1);end,\n"\ +"ANIMATED_SHAKE_SCRIPT_GLOBAL=function(p0,p1,p2,p3)return _natives.invoke_void(0xC2EAE3FB8CDBED31,p0,p1,p2,p3);end,\n"\ +"IS_SCRIPT_GLOBAL_SHAKING=function()return _natives.invoke_bool(0xC912AF078AF19212);end,\n"\ +"STOP_SCRIPT_GLOBAL_SHAKING=function(p0)return _natives.invoke_void(0x1C9D7949FA533490,p0);end,\n"\ +"TRIGGER_VEHICLE_PART_BROKEN_CAMERA_SHAKE=function(vehicle,p1,p2)return _natives.invoke_void(0x5D96CFB59DA076A0,vehicle,p1,p2);end,\n"\ +"PLAY_CAM_ANIM=function(cam,animName,animDictionary,x,y,z,xRot,yRot,zRot,p9,p10)return _natives.invoke_bool(0x9A2D0FB2E7852392,cam,animName,animDictionary,x,y,z,xRot,yRot,zRot,p9,p10);end,\n"\ +"IS_CAM_PLAYING_ANIM=function(cam,animName,animDictionary)return _natives.invoke_bool(0xC90621D8A0CEECF2,cam,animName,animDictionary);end,\n"\ +"SET_CAM_ANIM_CURRENT_PHASE=function(cam,phase)return _natives.invoke_void(0x4145A4C44FF3B5A6,cam,phase);end,\n"\ +"GET_CAM_ANIM_CURRENT_PHASE=function(cam)return _natives.invoke_float(0xA10B2DB49E92A6B0,cam);end,\n"\ +"PLAY_SYNCHRONIZED_CAM_ANIM=function(p0,p1,animName,animDictionary)return _natives.invoke_bool(0xE32EFE9AB4A9AA0C,p0,p1,animName,animDictionary);end,\n"\ +"SET_FLY_CAM_HORIZONTAL_RESPONSE=function(cam,p1,p2,p3)return _natives.invoke_void(0x503F5920162365B2,cam,p1,p2,p3);end,\n"\ +"SET_FLY_CAM_VERTICAL_RESPONSE=function(cam,p1,p2,p3)return _natives.invoke_void(0xE827B9382CFB41BA,cam,p1,p2,p3);end,\n"\ +"SET_FLY_CAM_MAX_HEIGHT=function(cam,height)return _natives.invoke_void(0xF9D02130ECDD1D77,cam,height);end,\n"\ +"SET_FLY_CAM_COORD_AND_CONSTRAIN=function(cam,x,y,z)return _natives.invoke_void(0xC91C6C55199308CA,cam,x,y,z);end,\n"\ +"SET_FLY_CAM_VERTICAL_CONTROLS_THIS_UPDATE=function(cam)return _natives.invoke_void(0xC8B5C4A79CC18B94,cam);end,\n"\ +"WAS_FLY_CAM_CONSTRAINED_ON_PREVIOUS_UDPATE=function(cam)return _natives.invoke_bool(0x5C48A1D6E3B33179,cam);end,\n"\ +"IS_SCREEN_FADED_OUT=function()return _natives.invoke_bool(0xB16FCE9DDC7BA182);end,\n"\ +"IS_SCREEN_FADED_IN=function()return _natives.invoke_bool(0x5A859503B0C08678);end,\n"\ +"IS_SCREEN_FADING_OUT=function()return _natives.invoke_bool(0x797AC7CB535BA28F);end,\n"\ +"IS_SCREEN_FADING_IN=function()return _natives.invoke_bool(0x5C544BC6C57AC575);end,\n"\ +"DO_SCREEN_FADE_IN=function(duration)return _natives.invoke_void(0xD4E8E24955024033,duration);end,\n"\ +"DO_SCREEN_FADE_OUT=function(duration)return _natives.invoke_void(0x891B5B39AC6302AF,duration);end,\n"\ +"SET_WIDESCREEN_BORDERS=function(p0,p1)return _natives.invoke_void(0xDCD4EA924F42D01A,p0,p1);end,\n"\ +"ARE_WIDESCREEN_BORDERS_ACTIVE=function()return _natives.invoke_bool(0x4879E4FE39074CDF);end,\n"\ +"GET_GAMEPLAY_CAM_COORD=function()return _natives.invoke_vec3(0x14D6F5678D8F1B37);end,\n"\ +"GET_GAMEPLAY_CAM_ROT=function(rotationOrder)return _natives.invoke_vec3(0x837765A25378F0BB,rotationOrder);end,\n"\ +"GET_GAMEPLAY_CAM_FOV=function()return _natives.invoke_float(0x65019750A0324133);end,\n"\ +"SET_GAMEPLAY_CAM_MOTION_BLUR_SCALING_THIS_UPDATE=function(p0)return _natives.invoke_void(0x487A82C650EB7799,p0);end,\n"\ +"SET_GAMEPLAY_CAM_MAX_MOTION_BLUR_STRENGTH_THIS_UPDATE=function(p0)return _natives.invoke_void(0x0225778816FDC28C,p0);end,\n"\ +"GET_GAMEPLAY_CAM_RELATIVE_HEADING=function()return _natives.invoke_float(0x743607648ADD4587);end,\n"\ +"SET_GAMEPLAY_CAM_RELATIVE_HEADING=function(heading)return _natives.invoke_void(0xB4EC2312F4E5B1F1,heading);end,\n"\ +"GET_GAMEPLAY_CAM_RELATIVE_PITCH=function()return _natives.invoke_float(0x3A6867B4845BEDA2);end,\n"\ +"SET_GAMEPLAY_CAM_RELATIVE_PITCH=function(angle,scalingFactor)return _natives.invoke_void(0x6D0858B8EDFD2B7D,angle,scalingFactor);end,\n"\ +"RESET_GAMEPLAY_CAM_FULL_ATTACH_PARENT_TRANSFORM_TIMER=function()return _natives.invoke_void(0x7295C203DD659DFE);end,\n"\ +"FORCE_CAMERA_RELATIVE_HEADING_AND_PITCH=function(roll,pitch,yaw)return _natives.invoke_void(0x48608C3464F58AB4,roll,pitch,yaw);end,\n"\ +"FORCE_BONNET_CAMERA_RELATIVE_HEADING_AND_PITCH=function(p0,p1)return _natives.invoke_void(0x28B022A17B068A3A,p0,p1);end,\n"\ +"SET_FIRST_PERSON_SHOOTER_CAMERA_HEADING=function(yaw)return _natives.invoke_void(0x103991D4A307D472,yaw);end,\n"\ +"SET_FIRST_PERSON_SHOOTER_CAMERA_PITCH=function(pitch)return _natives.invoke_void(0x759E13EBC1C15C5A,pitch);end,\n"\ +"SET_SCRIPTED_CAMERA_IS_FIRST_PERSON_THIS_FRAME=function(p0)return _natives.invoke_void(0x469F2ECDEC046337,p0);end,\n"\ +"SHAKE_GAMEPLAY_CAM=function(shakeName,intensity)return _natives.invoke_void(0xFD55E49555E017CF,shakeName,intensity);end,\n"\ +"IS_GAMEPLAY_CAM_SHAKING=function()return _natives.invoke_bool(0x016C090630DF1F89);end,\n"\ +"SET_GAMEPLAY_CAM_SHAKE_AMPLITUDE=function(amplitude)return _natives.invoke_void(0xA87E00932DB4D85D,amplitude);end,\n"\ +"STOP_GAMEPLAY_CAM_SHAKING=function(p0)return _natives.invoke_void(0x0EF93E9F3D08C178,p0);end,\n"\ +"SET_GAMEPLAY_CAM_FOLLOW_PED_THIS_UPDATE=function(ped)return _natives.invoke_void(0x8BBACBF51DA047A8,ped);end,\n"\ +"IS_GAMEPLAY_CAM_RENDERING=function()return _natives.invoke_bool(0x39B5D1B10383F0C8);end,\n"\ +"IS_INTERPOLATING_FROM_SCRIPT_CAMS=function()return _natives.invoke_bool(0x3044240D2E0FA842);end,\n"\ +"IS_INTERPOLATING_TO_SCRIPT_CAMS=function()return _natives.invoke_bool(0x705A276EBFF3133D);end,\n"\ +"SET_GAMEPLAY_CAM_ALTITUDE_FOV_SCALING_STATE=function(p0)return _natives.invoke_void(0xDB90C6CCA48940F1,p0);end,\n"\ +"DISABLE_GAMEPLAY_CAM_ALTITUDE_FOV_SCALING_THIS_UPDATE=function()return _natives.invoke_void(0xEA7F0AD7E9BA676F);end,\n"\ +"IS_GAMEPLAY_CAM_LOOKING_BEHIND=function()return _natives.invoke_bool(0x70FDA869F3317EA9);end,\n"\ +"SET_GAMEPLAY_CAM_IGNORE_ENTITY_COLLISION_THIS_UPDATE=function(entity)return _natives.invoke_void(0x2AED6301F67007D5,entity);end,\n"\ +"DISABLE_CAM_COLLISION_FOR_OBJECT=function(entity)return _natives.invoke_void(0x49482F9FCD825AAA,entity);end,\n"\ +"BYPASS_CAMERA_COLLISION_BUOYANCY_TEST_THIS_UPDATE=function()return _natives.invoke_void(0xA7092AFE81944852);end,\n"\ +"SET_GAMEPLAY_CAM_ENTITY_TO_LIMIT_FOCUS_OVER_BOUNDING_SPHERE_THIS_UPDATE=function(entity)return _natives.invoke_void(0xFD3151CD37EA2245,entity);end,\n"\ +"DISABLE_FIRST_PERSON_CAMERA_WATER_CLIPPING_TEST_THIS_UPDATE=function()return _natives.invoke_void(0xB1381B97F70C7B30);end,\n"\ +"SET_FOLLOW_CAM_IGNORE_ATTACH_PARENT_MOVEMENT_THIS_UPDATE=function()return _natives.invoke_void(0xDD79DF9F4D26E1C9);end,\n"\ +"IS_SPHERE_VISIBLE=function(x,y,z,radius)return _natives.invoke_bool(0xE33D59DA70B58FDF,x,y,z,radius);end,\n"\ +"IS_FOLLOW_PED_CAM_ACTIVE=function()return _natives.invoke_bool(0xC6D3D26810C8E0F9);end,\n"\ +"SET_FOLLOW_PED_CAM_THIS_UPDATE=function(camName,p1)return _natives.invoke_bool(0x44A113DD6FFC48D1,camName,p1);end,\n"\ +"USE_SCRIPT_CAM_FOR_AMBIENT_POPULATION_ORIGIN_THIS_FRAME=function(p0,p1)return _natives.invoke_void(0x271401846BD26E92,p0,p1);end,\n"\ +"SET_FOLLOW_PED_CAM_LADDER_ALIGN_THIS_UPDATE=function()return _natives.invoke_void(0xC8391C309684595A);end,\n"\ +"SET_THIRD_PERSON_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE=function(minimum,maximum)return _natives.invoke_void(0x8F993D26E0CA5E8E,minimum,maximum);end,\n"\ +"SET_THIRD_PERSON_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE=function(minimum,maximum)return _natives.invoke_void(0xA516C198B7DCA1E1,minimum,maximum);end,\n"\ +"SET_THIRD_PERSON_CAM_ORBIT_DISTANCE_LIMITS_THIS_UPDATE=function(p0,distance)return _natives.invoke_void(0xDF2E1F7742402E81,p0,distance);end,\n"\ +"SET_IN_VEHICLE_CAM_STATE_THIS_UPDATE=function(p0,p1)return _natives.invoke_void(0xE9EA16D6E54CDCA4,p0,p1);end,\n"\ +"DISABLE_ON_FOOT_FIRST_PERSON_VIEW_THIS_UPDATE=function()return _natives.invoke_void(0xDE2EF5DA284CC8DF);end,\n"\ +"DISABLE_FIRST_PERSON_FLASH_EFFECT_THIS_UPDATE=function()return _natives.invoke_void(0x59424BD75174C9B1);end,\n"\ +"BLOCK_FIRST_PERSON_ORIENTATION_RESET_THIS_UPDATE=function()return _natives.invoke_void(0x9F97DA93681F87EA);end,\n"\ +"GET_FOLLOW_PED_CAM_ZOOM_LEVEL=function()return _natives.invoke_int(0x33E6C8EFD0CD93E9);end,\n"\ +"GET_FOLLOW_PED_CAM_VIEW_MODE=function()return _natives.invoke_int(0x8D4D46230B2C353A);end,\n"\ +"SET_FOLLOW_PED_CAM_VIEW_MODE=function(viewMode)return _natives.invoke_void(0x5A4F9EDF1673F704,viewMode);end,\n"\ +"IS_FOLLOW_VEHICLE_CAM_ACTIVE=function()return _natives.invoke_bool(0xCBBDE6D335D6D496);end,\n"\ +"SET_FOLLOW_VEHICLE_CAM_HIGH_ANGLE_MODE_THIS_UPDATE=function(p0)return _natives.invoke_void(0x91EF6EE6419E5B97,p0);end,\n"\ +"SET_FOLLOW_VEHICLE_CAM_HIGH_ANGLE_MODE_EVERY_UPDATE=function(p0,p1)return _natives.invoke_void(0x9DFE13ECDC1EC196,p0,p1);end,\n"\ +"SET_TABLE_GAMES_CAMERA_THIS_UPDATE=function(hash)return _natives.invoke_bool(0x79C0E43EB9B944E2,hash);end,\n"\ +"GET_FOLLOW_VEHICLE_CAM_ZOOM_LEVEL=function()return _natives.invoke_int(0xEE82280AB767B690);end,\n"\ +"SET_FOLLOW_VEHICLE_CAM_ZOOM_LEVEL=function(zoomLevel)return _natives.invoke_void(0x19464CB6E4078C8A,zoomLevel);end,\n"\ +"GET_FOLLOW_VEHICLE_CAM_VIEW_MODE=function()return _natives.invoke_int(0xA4FF579AC0E3AAAE);end,\n"\ +"SET_FOLLOW_VEHICLE_CAM_VIEW_MODE=function(viewMode)return _natives.invoke_void(0xAC253D7842768F48,viewMode);end,\n"\ +"GET_CAM_VIEW_MODE_FOR_CONTEXT=function(context)return _natives.invoke_int(0xEE778F8C7E1142E2,context);end,\n"\ +"SET_CAM_VIEW_MODE_FOR_CONTEXT=function(context,viewMode)return _natives.invoke_void(0x2A2173E46DAECD12,context,viewMode);end,\n"\ +"GET_CAM_ACTIVE_VIEW_MODE_CONTEXT=function()return _natives.invoke_int(0x19CAFA3C87F7C2FF);end,\n"\ +"USE_VEHICLE_CAM_STUNT_SETTINGS_THIS_UPDATE=function()return _natives.invoke_void(0x6493CF69859B116A);end,\n"\ +"USE_DEDICATED_STUNT_CAMERA_THIS_UPDATE=function(camName)return _natives.invoke_void(0x425A920FDB9A0DDA,camName);end,\n"\ +"FORCE_VEHICLE_CAM_STUNT_SETTINGS_THIS_UPDATE=function()return _natives.invoke_void(0x0AA27680A0BD43FA);end,\n"\ +"SET_FOLLOW_VEHICLE_CAM_SEAT_THIS_UPDATE=function(seatIndex)return _natives.invoke_void(0x5C90CAB09951A12F,seatIndex);end,\n"\ +"IS_AIM_CAM_ACTIVE=function()return _natives.invoke_bool(0x68EDDA28A5976D07);end,\n"\ +"IS_AIM_CAM_ACTIVE_IN_ACCURATE_MODE=function()return _natives.invoke_bool(0x74BD83EA840F6BC9);end,\n"\ +"IS_FIRST_PERSON_AIM_CAM_ACTIVE=function()return _natives.invoke_bool(0x5E346D934122613F);end,\n"\ +"DISABLE_AIM_CAM_THIS_UPDATE=function()return _natives.invoke_void(0x1A31FE0049E542F6);end,\n"\ +"GET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR=function()return _natives.invoke_float(0x7EC52CC40597D170);end,\n"\ +"SET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR=function(zoomFactor)return _natives.invoke_void(0x70894BD0915C5BCA,zoomFactor);end,\n"\ +"SET_FIRST_PERSON_AIM_CAM_ZOOM_FACTOR_LIMITS_THIS_UPDATE=function(p0,p1)return _natives.invoke_void(0xCED08CBE8EBB97C7,p0,p1);end,\n"\ +"SET_FIRST_PERSON_AIM_CAM_RELATIVE_HEADING_LIMITS_THIS_UPDATE=function(p0,p1)return _natives.invoke_void(0x2F7F2B26DD3F18EE,p0,p1);end,\n"\ +"SET_FIRST_PERSON_AIM_CAM_RELATIVE_PITCH_LIMITS_THIS_UPDATE=function(p0,p1)return _natives.invoke_void(0xBCFC632DB7673BF0,p0,p1);end,\n"\ +"SET_FIRST_PERSON_AIM_CAM_NEAR_CLIP_THIS_UPDATE=function(p0)return _natives.invoke_void(0x0AF7B437918103B3,p0);end,\n"\ +"SET_THIRD_PERSON_AIM_CAM_NEAR_CLIP_THIS_UPDATE=function(p0)return _natives.invoke_void(0x42156508606DE65E,p0);end,\n"\ +"SET_ALLOW_CUSTOM_VEHICLE_DRIVE_BY_CAM_THIS_UPDATE=function(p0)return _natives.invoke_void(0x4008EDF7D6E48175,p0);end,\n"\ +"FORCE_TIGHTSPACE_CUSTOM_FRAMING_THIS_UPDATE=function()return _natives.invoke_void(0x380B4968D1E09E55);end,\n"\ +"GET_FINAL_RENDERED_CAM_COORD=function()return _natives.invoke_vec3(0xA200EB1EE790F448);end,\n"\ +"GET_FINAL_RENDERED_CAM_ROT=function(rotationOrder)return _natives.invoke_vec3(0x5B4E4C817FCC2DFB,rotationOrder);end,\n"\ +"GET_FINAL_RENDERED_REMOTE_PLAYER_CAM_ROT=function(player,rotationOrder)return _natives.invoke_vec3(0x26903D9CD1175F2C,player,rotationOrder);end,\n"\ +"GET_FINAL_RENDERED_CAM_FOV=function()return _natives.invoke_float(0x80EC114669DAEFF4);end,\n"\ +"GET_FINAL_RENDERED_REMOTE_PLAYER_CAM_FOV=function(player)return _natives.invoke_float(0x5F35F6732C3FBBA0,player);end,\n"\ +"GET_FINAL_RENDERED_CAM_NEAR_CLIP=function()return _natives.invoke_float(0xD0082607100D7193);end,\n"\ +"GET_FINAL_RENDERED_CAM_FAR_CLIP=function()return _natives.invoke_float(0xDFC8CBC606FDB0FC);end,\n"\ +"GET_FINAL_RENDERED_CAM_NEAR_DOF=function()return _natives.invoke_float(0xA03502FC581F7D9B);end,\n"\ +"GET_FINAL_RENDERED_CAM_FAR_DOF=function()return _natives.invoke_float(0x9780F32BCAF72431);end,\n"\ +"GET_FINAL_RENDERED_CAM_MOTION_BLUR_STRENGTH=function()return _natives.invoke_float(0x162F9D995753DC19);end,\n"\ +"SET_GAMEPLAY_COORD_HINT=function(x,y,z,duration,blendOutDuration,blendInDuration,p6)return _natives.invoke_void(0xD51ADCD2D8BC0FB3,x,y,z,duration,blendOutDuration,blendInDuration,p6);end,\n"\ +"SET_GAMEPLAY_PED_HINT=function(ped,x1,y1,z1,p4,duration,blendOutDuration,blendInDuration)return _natives.invoke_void(0x2B486269ACD548D3,ped,x1,y1,z1,p4,duration,blendOutDuration,blendInDuration);end,\n"\ +"SET_GAMEPLAY_VEHICLE_HINT=function(vehicle,offsetX,offsetY,offsetZ,p4,time,easeInTime,easeOutTime)return _natives.invoke_void(0xA2297E18F3E71C2E,vehicle,offsetX,offsetY,offsetZ,p4,time,easeInTime,easeOutTime);end,\n"\ +"SET_GAMEPLAY_OBJECT_HINT=function(object,xOffset,yOffset,zOffset,p4,time,easeInTime,easeOutTime)return _natives.invoke_void(0x83E87508A2CA2AC6,object,xOffset,yOffset,zOffset,p4,time,easeInTime,easeOutTime);end,\n"\ +"SET_GAMEPLAY_ENTITY_HINT=function(entity,xOffset,yOffset,zOffset,p4,time,easeInTime,easeOutTime,p8)return _natives.invoke_void(0x189E955A8313E298,entity,xOffset,yOffset,zOffset,p4,time,easeInTime,easeOutTime,p8);end,\n"\ +"IS_GAMEPLAY_HINT_ACTIVE=function()return _natives.invoke_bool(0xE520FF1AD2785B40);end,\n"\ +"STOP_GAMEPLAY_HINT=function(p0)return _natives.invoke_void(0xF46C581C61718916,p0);end,\n"\ +"STOP_GAMEPLAY_HINT_BEING_CANCELLED_THIS_UPDATE=function(p0)return _natives.invoke_void(0xCCD078C2665D2973,p0);end,\n"\ +"STOP_CODE_GAMEPLAY_HINT=function(p0)return _natives.invoke_void(0x247ACBC4ABBC9D1C,p0);end,\n"\ +"IS_CODE_GAMEPLAY_HINT_ACTIVE=function()return _natives.invoke_bool(0xBF72910D0F26F025);end,\n"\ +"SET_GAMEPLAY_HINT_FOV=function(FOV)return _natives.invoke_void(0x513403FB9C56211F,FOV);end,\n"\ +"SET_GAMEPLAY_HINT_FOLLOW_DISTANCE_SCALAR=function(value)return _natives.invoke_void(0xF8BDBF3D573049A1,value);end,\n"\ +"SET_GAMEPLAY_HINT_BASE_ORBIT_PITCH_OFFSET=function(value)return _natives.invoke_void(0xD1F8363DFAD03848,value);end,\n"\ +"SET_GAMEPLAY_HINT_CAMERA_RELATIVE_SIDE_OFFSET=function(xOffset)return _natives.invoke_void(0x5D7B620DAE436138,xOffset);end,\n"\ +"SET_GAMEPLAY_HINT_CAMERA_RELATIVE_VERTICAL_OFFSET=function(yOffset)return _natives.invoke_void(0xC92717EF615B6704,yOffset);end,\n"\ +"SET_GAMEPLAY_HINT_CAMERA_BLEND_TO_FOLLOW_PED_MEDIUM_VIEW_MODE=function(toggle)return _natives.invoke_void(0xE3433EADAAF7EE40,toggle);end,\n"\ +"SET_CINEMATIC_BUTTON_ACTIVE=function(p0)return _natives.invoke_void(0x51669F7D1FB53D9F,p0);end,\n"\ +"IS_CINEMATIC_CAM_RENDERING=function()return _natives.invoke_bool(0xB15162CB5826E9E8);end,\n"\ +"SHAKE_CINEMATIC_CAM=function(shakeType,amount)return _natives.invoke_void(0xDCE214D9ED58F3CF,shakeType,amount);end,\n"\ +"IS_CINEMATIC_CAM_SHAKING=function()return _natives.invoke_bool(0xBBC08F6B4CB8FF0A);end,\n"\ +"SET_CINEMATIC_CAM_SHAKE_AMPLITUDE=function(p0)return _natives.invoke_void(0xC724C701C30B2FE7,p0);end,\n"\ +"STOP_CINEMATIC_CAM_SHAKING=function(p0)return _natives.invoke_void(0x2238E588E588A6D7,p0);end,\n"\ +"DISABLE_CINEMATIC_BONNET_CAMERA_THIS_UPDATE=function()return _natives.invoke_void(0xADFF1B2A555F5FBA);end,\n"\ +"DISABLE_CINEMATIC_VEHICLE_IDLE_MODE_THIS_UPDATE=function()return _natives.invoke_void(0x62ECFCFDEE7885D6);end,\n"\ +"INVALIDATE_CINEMATIC_VEHICLE_IDLE_MODE=function()return _natives.invoke_void(0x9E4CFFF989258472);end,\n"\ +"INVALIDATE_IDLE_CAM=function()return _natives.invoke_void(0xF4F2C0D4EE209E20);end,\n"\ +"IS_CINEMATIC_IDLE_CAM_RENDERING=function()return _natives.invoke_bool(0xCA9D2AA3E326D720);end,\n"\ +"IS_CINEMATIC_FIRST_PERSON_VEHICLE_INTERIOR_CAM_RENDERING=function()return _natives.invoke_bool(0x4F32C0D5A90A9B40);end,\n"\ +"CREATE_CINEMATIC_SHOT=function(p0,time,p2,entity)return _natives.invoke_void(0x741B0129D4560F31,p0,time,p2,entity);end,\n"\ +"IS_CINEMATIC_SHOT_ACTIVE=function(p0)return _natives.invoke_bool(0xCC9F3371A7C28BC9,p0);end,\n"\ +"STOP_CINEMATIC_SHOT=function(p0)return _natives.invoke_void(0x7660C6E75D3A078E,p0);end,\n"\ +"FORCE_CINEMATIC_RENDERING_THIS_UPDATE=function(toggle)return _natives.invoke_void(0xA41BCD7213805AAC,toggle);end,\n"\ +"SET_CINEMATIC_NEWS_CHANNEL_ACTIVE_THIS_UPDATE=function()return _natives.invoke_void(0xDC9DA9E8789F5246);end,\n"\ +"SET_CINEMATIC_MODE_ACTIVE=function(toggle)return _natives.invoke_void(0xDCF0754AC3D6FD4E,toggle);end,\n"\ +"IS_IN_VEHICLE_MOBILE_PHONE_CAMERA_RENDERING=function()return _natives.invoke_bool(0x1F2300CB7FA7B7F6);end,\n"\ +"DISABLE_CINEMATIC_SLOW_MO_THIS_UPDATE=function()return _natives.invoke_bool(0x17FCA7199A530203);end,\n"\ +"IS_BONNET_CINEMATIC_CAM_RENDERING=function()return _natives.invoke_bool(0xD7360051C885628B);end,\n"\ +"IS_CINEMATIC_CAM_INPUT_ACTIVE=function()return _natives.invoke_bool(0xF5F1E89A970B7796);end,\n"\ +"IGNORE_MENU_PREFERENCE_FOR_BONNET_CAMERA_THIS_UPDATE=function()return _natives.invoke_void(0x7B8A361C1813FBEF);end,\n"\ +"BYPASS_CUTSCENE_CAM_RENDERING_THIS_UPDATE=function()return _natives.invoke_void(0xDB629FFD9285FA06);end,\n"\ +"STOP_CUTSCENE_CAM_SHAKING=function(p0)return _natives.invoke_void(0x324C5AA411DA7737,p0);end,\n"\ +"SET_CUTSCENE_CAM_FAR_CLIP_THIS_UPDATE=function(p0)return _natives.invoke_void(0x12DED8CA53D47EA5,p0);end,\n"\ +"GET_FOCUS_PED_ON_SCREEN=function(p0,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_int(0x89215EC747DF244A,p0,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"DISABLE_NEAR_CLIP_SCAN_THIS_UPDATE=function()return _natives.invoke_void(0x5A43C76F7FC7BA5F);end,\n"\ +"SET_CAM_DEATH_FAIL_EFFECT_STATE=function(p0)return _natives.invoke_void(0x80C8B1846639BB19,p0);end,\n"\ +"SET_FIRST_PERSON_FLASH_EFFECT_TYPE=function(p0)return _natives.invoke_void(0x5C41E6BABC9E2112,p0);end,\n"\ +"SET_FIRST_PERSON_FLASH_EFFECT_VEHICLE_MODEL_NAME=function(vehicleName)return _natives.invoke_void(0x21E253A7F8DA5DFB,vehicleName);end,\n"\ +"SET_FIRST_PERSON_FLASH_EFFECT_VEHICLE_MODEL_HASH=function(vehicleModel)return _natives.invoke_void(0x11FA5D3479C7DD47,vehicleModel);end,\n"\ +"IS_ALLOWED_INDEPENDENT_CAMERA_MODES=function()return _natives.invoke_bool(0xEAF0FA793D05C592);end,\n"\ +"CAMERA_PREVENT_COLLISION_SETTINGS_FOR_TRIPLEHEAD_IN_INTERIORS_THIS_UPDATE=function()return _natives.invoke_void(0x62374889A4D59F72);end,\n"\ +"REPLAY_GET_MAX_DISTANCE_ALLOWED_FROM_PLAYER=function()return _natives.invoke_float(0x8BFCEB5EA1B161B6);end,\n"\ +"};\n"\ +"CLOCK = {\n"\ +"SET_CLOCK_TIME=function(hour,minute,second)return _natives.invoke_void(0x47C3B5848C3E45D8,hour,minute,second);end,\n"\ +"PAUSE_CLOCK=function(toggle)return _natives.invoke_void(0x4055E40BD2DBEC1D,toggle);end,\n"\ +"ADVANCE_CLOCK_TIME_TO=function(hour,minute,second)return _natives.invoke_void(0xC8CA9670B9D83B3B,hour,minute,second);end,\n"\ +"ADD_TO_CLOCK_TIME=function(hours,minutes,seconds)return _natives.invoke_void(0xD716F30D8C8980E2,hours,minutes,seconds);end,\n"\ +"GET_CLOCK_HOURS=function()return _natives.invoke_int(0x25223CA6B4D20B7F);end,\n"\ +"GET_CLOCK_MINUTES=function()return _natives.invoke_int(0x13D2B8ADD79640F2);end,\n"\ +"GET_CLOCK_SECONDS=function()return _natives.invoke_int(0x494E97C2EF27C470);end,\n"\ +"SET_CLOCK_DATE=function(day,month,year)return _natives.invoke_void(0xB096419DF0D06CE7,day,month,year);end,\n"\ +"GET_CLOCK_DAY_OF_WEEK=function()return _natives.invoke_int(0xD972E4BD7AEB235F);end,\n"\ +"GET_CLOCK_DAY_OF_MONTH=function()return _natives.invoke_int(0x3D10BC92A4DB1D35);end,\n"\ +"GET_CLOCK_MONTH=function()return _natives.invoke_int(0xBBC72712E80257A1);end,\n"\ +"GET_CLOCK_YEAR=function()return _natives.invoke_int(0x961777E64BDAF717);end,\n"\ +"GET_MILLISECONDS_PER_GAME_MINUTE=function()return _natives.invoke_int(0x2F8B4D1C595B11DB);end,\n"\ +"GET_POSIX_TIME=function(year,month,day,hour,minute,second)return _natives.invoke_void(0xDA488F299A5B164E,year,month,day,hour,minute,second);end,\n"\ +"GET_UTC_TIME=function(year,month,day,hour,minute,second)return _natives.invoke_void(0x8117E09A19EEF4D3,year,month,day,hour,minute,second);end,\n"\ +"GET_LOCAL_TIME=function(year,month,day,hour,minute,second)return _natives.invoke_void(0x50C7A99057A69748,year,month,day,hour,minute,second);end,\n"\ +"};\n"\ +"CUTSCENE = {\n"\ +"REQUEST_CUTSCENE=function(cutsceneName,flags)return _natives.invoke_void(0x7A86743F475D9E09,cutsceneName,flags);end,\n"\ +"REQUEST_CUTSCENE_WITH_PLAYBACK_LIST=function(cutsceneName,playbackFlags,flags)return _natives.invoke_void(0xC23DE0E91C30B58C,cutsceneName,playbackFlags,flags);end,\n"\ +"REMOVE_CUTSCENE=function()return _natives.invoke_void(0x440AF51A3462B86F);end,\n"\ +"HAS_CUTSCENE_LOADED=function()return _natives.invoke_bool(0xC59F528E9AB9F339);end,\n"\ +"HAS_THIS_CUTSCENE_LOADED=function(cutsceneName)return _natives.invoke_bool(0x228D3D94F8A11C3C,cutsceneName);end,\n"\ +"SET_SCRIPT_CAN_START_CUTSCENE=function(threadId)return _natives.invoke_void(0x8D9DF6ECA8768583,threadId);end,\n"\ +"CAN_REQUEST_ASSETS_FOR_CUTSCENE_ENTITY=function()return _natives.invoke_bool(0xB56BBBCC2955D9CB);end,\n"\ +"IS_CUTSCENE_PLAYBACK_FLAG_SET=function(flag)return _natives.invoke_bool(0x71B74D2AE19338D0,flag);end,\n"\ +"SET_CUTSCENE_ENTITY_STREAMING_FLAGS=function(cutsceneEntName,p1,p2)return _natives.invoke_void(0x4C61C75BEE8184C2,cutsceneEntName,p1,p2);end,\n"\ +"REQUEST_CUT_FILE=function(cutsceneName)return _natives.invoke_void(0x06A3524161C502BA,cutsceneName);end,\n"\ +"HAS_CUT_FILE_LOADED=function(cutsceneName)return _natives.invoke_bool(0xA1C996C2A744262E,cutsceneName);end,\n"\ +"REMOVE_CUT_FILE=function(cutsceneName)return _natives.invoke_void(0xD00D76A7DFC9D852,cutsceneName);end,\n"\ +"GET_CUT_FILE_CONCAT_COUNT=function(cutsceneName)return _natives.invoke_int(0x0ABC54DE641DC0FC,cutsceneName);end,\n"\ +"START_CUTSCENE=function(flags)return _natives.invoke_void(0x186D5CB5E7B0FF7B,flags);end,\n"\ +"START_CUTSCENE_AT_COORDS=function(x,y,z,flags)return _natives.invoke_void(0x1C9ADDA3244A1FBF,x,y,z,flags);end,\n"\ +"STOP_CUTSCENE=function(p0)return _natives.invoke_void(0xC7272775B4DC786E,p0);end,\n"\ +"STOP_CUTSCENE_IMMEDIATELY=function()return _natives.invoke_void(0xD220BDD222AC4A1E);end,\n"\ +"SET_CUTSCENE_ORIGIN=function(x,y,z,p3,p4)return _natives.invoke_void(0xB812B3FD1C01CF27,x,y,z,p3,p4);end,\n"\ +"SET_CUTSCENE_ORIGIN_AND_ORIENTATION=function(x1,y1,z1,x2,y2,z2,p6)return _natives.invoke_void(0x011883F41211432A,x1,y1,z1,x2,y2,z2,p6);end,\n"\ +"GET_CUTSCENE_TIME=function()return _natives.invoke_int(0xE625BEABBAFFDAB9);end,\n"\ +"GET_CUTSCENE_TOTAL_DURATION=function()return _natives.invoke_int(0xEE53B14A19E480D4);end,\n"\ +"GET_CUTSCENE_END_TIME=function()return _natives.invoke_int(0x971D7B15BCDBEF99);end,\n"\ +"GET_CUTSCENE_PLAY_DURATION=function()return _natives.invoke_int(0x5D583F71C901F2A3);end,\n"\ +"WAS_CUTSCENE_SKIPPED=function()return _natives.invoke_bool(0x40C8656EDAEDD569);end,\n"\ +"HAS_CUTSCENE_FINISHED=function()return _natives.invoke_bool(0x7C0A893088881D57);end,\n"\ +"IS_CUTSCENE_ACTIVE=function()return _natives.invoke_bool(0x991251AFC3981F84);end,\n"\ +"IS_CUTSCENE_PLAYING=function()return _natives.invoke_bool(0xD3C2E180A40F031E);end,\n"\ +"GET_CUTSCENE_SECTION_PLAYING=function()return _natives.invoke_int(0x49010A6A396553D8);end,\n"\ +"GET_ENTITY_INDEX_OF_CUTSCENE_ENTITY=function(cutsceneEntName,modelHash)return _natives.invoke_int(0x0A2E9FDB9A8C62F6,cutsceneEntName,modelHash);end,\n"\ +"GET_CUTSCENE_CONCAT_SECTION_PLAYING=function()return _natives.invoke_int(0x583DF8E3D4AFBD98);end,\n"\ +"IS_CUTSCENE_AUTHORIZED=function(cutsceneName)return _natives.invoke_bool(0x4CEBC1ED31E8925E,cutsceneName);end,\n"\ +"DOES_CUTSCENE_HANDLE_EXIST=function(cutsceneHandle)return _natives.invoke_int(0x4FCD976DA686580C,cutsceneHandle);end,\n"\ +"REGISTER_ENTITY_FOR_CUTSCENE=function(cutscenePed,cutsceneEntName,p2,modelHash,p4)return _natives.invoke_void(0xE40C1C56DF95C2E8,cutscenePed,cutsceneEntName,p2,modelHash,p4);end,\n"\ +"GET_ENTITY_INDEX_OF_REGISTERED_ENTITY=function(cutsceneEntName,modelHash)return _natives.invoke_int(0xC0741A26499654CD,cutsceneEntName,modelHash);end,\n"\ +"SET_VEHICLE_MODEL_PLAYER_WILL_EXIT_SCENE=function(modelHash)return _natives.invoke_void(0x7F96F23FA9B73327,modelHash);end,\n"\ +"SET_CUTSCENE_TRIGGER_AREA=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_void(0x9896CE4721BE84BA,x1,y1,z1,x2,y2,z2);end,\n"\ +"CAN_SET_ENTER_STATE_FOR_REGISTERED_ENTITY=function(cutsceneEntName,modelHash)return _natives.invoke_bool(0x645D0B458D8E17B5,cutsceneEntName,modelHash);end,\n"\ +"CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY=function(cutsceneEntName,modelHash)return _natives.invoke_bool(0x4C6A6451C79E4662,cutsceneEntName,modelHash);end,\n"\ +"CAN_SET_EXIT_STATE_FOR_CAMERA=function(p0)return _natives.invoke_bool(0xB2CBCD0930DFB420,p0);end,\n"\ +"SET_PAD_CAN_SHAKE_DURING_CUTSCENE=function(toggle)return _natives.invoke_void(0xC61B86C9F61EB404,toggle);end,\n"\ +"SET_CUTSCENE_FADE_VALUES=function(p0,p1,p2,p3)return _natives.invoke_void(0x8093F23ABACCC7D4,p0,p1,p2,p3);end,\n"\ +"SET_CUTSCENE_MULTIHEAD_FADE=function(p0,p1,p2,p3)return _natives.invoke_void(0x20746F7B1032A3C7,p0,p1,p2,p3);end,\n"\ +"SET_CUTSCENE_MULTIHEAD_FADE_MANUAL=function(p0)return _natives.invoke_void(0x06EE9048FD080382,p0);end,\n"\ +"IS_MULTIHEAD_FADE_UP=function()return _natives.invoke_bool(0xA0FE76168A189DDB);end,\n"\ +"NETWORK_SET_MOCAP_CUTSCENE_CAN_BE_SKIPPED=function(p0)return _natives.invoke_void(0x2F137B508DE238F2,p0);end,\n"\ +"SET_CAR_GENERATORS_CAN_UPDATE_DURING_CUTSCENE=function(p0)return _natives.invoke_void(0xE36A98D8AB3D3C66,p0);end,\n"\ +"CAN_USE_MOBILE_PHONE_DURING_CUTSCENE=function()return _natives.invoke_bool(0x5EDEF0CF8C1DAB3C);end,\n"\ +"SET_CUTSCENE_CAN_BE_SKIPPED=function(p0)return _natives.invoke_void(0x41FAA8FB2ECE8720,p0);end,\n"\ +"SET_CAN_DISPLAY_MINIMAP_DURING_CUTSCENE_THIS_UPDATE=function()return _natives.invoke_void(0x2131046957F31B04);end,\n"\ +"SET_CUTSCENE_PED_COMPONENT_VARIATION=function(cutsceneEntName,componentId,drawableId,textureId,modelHash)return _natives.invoke_void(0xBA01E7B6DEEFBBC9,cutsceneEntName,componentId,drawableId,textureId,modelHash);end,\n"\ +"SET_CUTSCENE_PED_COMPONENT_VARIATION_FROM_PED=function(cutsceneEntName,ped,modelHash)return _natives.invoke_void(0x2A56C06EBEF2B0D9,cutsceneEntName,ped,modelHash);end,\n"\ +"DOES_CUTSCENE_ENTITY_EXIST=function(cutsceneEntName,modelHash)return _natives.invoke_bool(0x499EF20C5DB25C59,cutsceneEntName,modelHash);end,\n"\ +"SET_CUTSCENE_PED_PROP_VARIATION=function(cutsceneEntName,componentId,drawableId,textureId,modelHash)return _natives.invoke_void(0x0546524ADE2E9723,cutsceneEntName,componentId,drawableId,textureId,modelHash);end,\n"\ +"HAS_CUTSCENE_CUT_THIS_FRAME=function()return _natives.invoke_bool(0x708BDD8CD795B043);end,\n"\ +"};\n"\ +"DATAFILE = {\n"\ +"DATAFILE_WATCH_REQUEST_ID=function(requestId)return _natives.invoke_void(0xAD6875BBC0FC899C,requestId);end,\n"\ +"DATAFILE_CLEAR_WATCH_LIST=function()return _natives.invoke_void(0x6CC86E78358D5119);end,\n"\ +"DATAFILE_IS_VALID_REQUEST_ID=function(index)return _natives.invoke_bool(0xFCCAE5B92A830878,index);end,\n"\ +"DATAFILE_HAS_LOADED_FILE_DATA=function(requestId)return _natives.invoke_bool(0x15FF52B809DB2353,requestId);end,\n"\ +"DATAFILE_HAS_VALID_FILE_DATA=function(requestId)return _natives.invoke_bool(0xF8CC1EBE0B62E29F,requestId);end,\n"\ +"DATAFILE_SELECT_ACTIVE_FILE=function(requestId,p1)return _natives.invoke_bool(0x22DA66936E0FFF37,requestId,p1);end,\n"\ +"DATAFILE_DELETE_REQUESTED_FILE=function(requestId)return _natives.invoke_bool(0x8F5EA1C01D65A100,requestId);end,\n"\ +"UGC_CREATE_CONTENT=function(data,dataCount,contentName,description,tagsCsv,contentTypeName,publish,p7)return _natives.invoke_bool(0xC84527E235FCA219,data,dataCount,contentName,description,tagsCsv,contentTypeName,publish,p7);end,\n"\ +"UGC_CREATE_MISSION=function(contentName,description,tagsCsv,contentTypeName,publish,p5)return _natives.invoke_bool(0xA5EFC3E847D60507,contentName,description,tagsCsv,contentTypeName,publish,p5);end,\n"\ +"UGC_UPDATE_CONTENT=function(contentId,data,dataCount,contentName,description,tagsCsv,contentTypeName,p7)return _natives.invoke_bool(0x648E7A5434AF7969,contentId,data,dataCount,contentName,description,tagsCsv,contentTypeName,p7);end,\n"\ +"UGC_UPDATE_MISSION=function(contentId,contentName,description,tagsCsv,contentTypeName,p5)return _natives.invoke_bool(0x4645DE9980999E93,contentId,contentName,description,tagsCsv,contentTypeName,p5);end,\n"\ +"UGC_SET_PLAYER_DATA=function(contentId,rating,contentTypeName,p3)return _natives.invoke_bool(0x692D808C34A82143,contentId,rating,contentTypeName,p3);end,\n"\ +"DATAFILE_SELECT_UGC_DATA=function(p0,p1)return _natives.invoke_bool(0xA69AC4ADE82B57A4,p0,p1);end,\n"\ +"DATAFILE_SELECT_UGC_STATS=function(p0,p1,p2)return _natives.invoke_bool(0x9CB0BFA7A9342C3D,p0,p1,p2);end,\n"\ +"DATAFILE_SELECT_UGC_PLAYER_DATA=function(p0,p1)return _natives.invoke_bool(0x52818819057F2B40,p0,p1);end,\n"\ +"DATAFILE_SELECT_CREATOR_STATS=function(p0,p1)return _natives.invoke_bool(0x01095C95CD46B624,p0,p1);end,\n"\ +"DATAFILE_LOAD_OFFLINE_UGC=function(filename,p1)return _natives.invoke_bool(0xC5238C011AF405E4,filename,p1);end,\n"\ +"DATAFILE_CREATE=function(p0)return _natives.invoke_void(0xD27058A1CA2B13EE,p0);end,\n"\ +"DATAFILE_DELETE=function(p0)return _natives.invoke_void(0x9AB9C1CFC8862DFB,p0);end,\n"\ +"DATAFILE_STORE_MISSION_HEADER=function(p0)return _natives.invoke_void(0x2ED61456317B8178,p0);end,\n"\ +"DATAFILE_FLUSH_MISSION_HEADER=function()return _natives.invoke_void(0xC55854C7D7274882);end,\n"\ +"DATAFILE_GET_FILE_DICT=function(p0)return _natives.invoke_ptr(0x906B778CA1DC72B6,p0);end,\n"\ +"DATAFILE_START_SAVE_TO_CLOUD=function(filename,p1)return _natives.invoke_bool(0x83BCCE3224735F05,filename,p1);end,\n"\ +"DATAFILE_UPDATE_SAVE_TO_CLOUD=function(p0)return _natives.invoke_bool(0x4DFDD9EB705F8140,p0);end,\n"\ +"DATAFILE_IS_SAVE_PENDING=function()return _natives.invoke_bool(0xBEDB96A7584AA8CF);end,\n"\ +"DATAFILE_LOAD_OFFLINE_UGC_FOR_ADDITIONAL_DATA_FILE=function(p0,p1)return _natives.invoke_bool(0xA6EEF01087181EDD,p0,p1);end,\n"\ +"DATAFILE_DELETE_FOR_ADDITIONAL_DATA_FILE=function(p0)return _natives.invoke_void(0x6AD0BD5E087866CB,p0);end,\n"\ +"DATAFILE_GET_FILE_DICT_FOR_ADDITIONAL_DATA_FILE=function(p0)return _natives.invoke_ptr(0xDBF860CF1DB8E599,p0);end,\n"\ +"DATADICT_SET_BOOL=function(objectData,key,value)return _natives.invoke_void(0x35124302A556A325,objectData,key,value);end,\n"\ +"DATADICT_SET_INT=function(objectData,key,value)return _natives.invoke_void(0xE7E035450A7948D5,objectData,key,value);end,\n"\ +"DATADICT_SET_FLOAT=function(objectData,key,value)return _natives.invoke_void(0xC27E1CC2D795105E,objectData,key,value);end,\n"\ +"DATADICT_SET_STRING=function(objectData,key,value)return _natives.invoke_void(0x8FF3847DADD8E30C,objectData,key,value);end,\n"\ +"DATADICT_SET_VECTOR=function(objectData,key,valueX,valueY,valueZ)return _natives.invoke_void(0x4CD49B76338C7DEE,objectData,key,valueX,valueY,valueZ);end,\n"\ +"DATADICT_CREATE_DICT=function(objectData,key)return _natives.invoke_ptr(0xA358F56F10732EE1,objectData,key);end,\n"\ +"DATADICT_CREATE_ARRAY=function(objectData,key)return _natives.invoke_ptr(0x5B11728527CA6E5F,objectData,key);end,\n"\ +"DATADICT_GET_BOOL=function(objectData,key)return _natives.invoke_bool(0x1186940ED72FFEEC,objectData,key);end,\n"\ +"DATADICT_GET_INT=function(objectData,key)return _natives.invoke_int(0x78F06F6B1FB5A80C,objectData,key);end,\n"\ +"DATADICT_GET_FLOAT=function(objectData,key)return _natives.invoke_float(0x06610343E73B9727,objectData,key);end,\n"\ +"DATADICT_GET_STRING=function(objectData,key)return _natives.invoke_str(0x3D2FD9E763B24472,objectData,key);end,\n"\ +"DATADICT_GET_VECTOR=function(objectData,key)return _natives.invoke_vec3(0x46CD3CB66E0825CC,objectData,key);end,\n"\ +"DATADICT_GET_DICT=function(objectData,key)return _natives.invoke_ptr(0xB6B9DDC412FCEEE2,objectData,key);end,\n"\ +"DATADICT_GET_ARRAY=function(objectData,key)return _natives.invoke_ptr(0x7A983AA9DA2659ED,objectData,key);end,\n"\ +"DATADICT_GET_TYPE=function(objectData,key)return _natives.invoke_int(0x031C55ED33227371,objectData,key);end,\n"\ +"DATAARRAY_ADD_BOOL=function(arrayData,value)return _natives.invoke_void(0xF8B0F5A43E928C76,arrayData,value);end,\n"\ +"DATAARRAY_ADD_INT=function(arrayData,value)return _natives.invoke_void(0xCABDB751D86FE93B,arrayData,value);end,\n"\ +"DATAARRAY_ADD_FLOAT=function(arrayData,value)return _natives.invoke_void(0x57A995FD75D37F56,arrayData,value);end,\n"\ +"DATAARRAY_ADD_STRING=function(arrayData,value)return _natives.invoke_void(0x2F0661C155AEEEAA,arrayData,value);end,\n"\ +"DATAARRAY_ADD_VECTOR=function(arrayData,valueX,valueY,valueZ)return _natives.invoke_void(0x407F8D034F70F0C2,arrayData,valueX,valueY,valueZ);end,\n"\ +"DATAARRAY_ADD_DICT=function(arrayData)return _natives.invoke_ptr(0x6889498B3E19C797,arrayData);end,\n"\ +"DATAARRAY_GET_BOOL=function(arrayData,arrayIndex)return _natives.invoke_bool(0x50C1B2874E50C114,arrayData,arrayIndex);end,\n"\ +"DATAARRAY_GET_INT=function(arrayData,arrayIndex)return _natives.invoke_int(0x3E5AE19425CD74BE,arrayData,arrayIndex);end,\n"\ +"DATAARRAY_GET_FLOAT=function(arrayData,arrayIndex)return _natives.invoke_float(0xC0C527B525D7CFB5,arrayData,arrayIndex);end,\n"\ +"DATAARRAY_GET_STRING=function(arrayData,arrayIndex)return _natives.invoke_str(0xD3F2FFEB8D836F52,arrayData,arrayIndex);end,\n"\ +"DATAARRAY_GET_VECTOR=function(arrayData,arrayIndex)return _natives.invoke_vec3(0x8D2064E5B64A628A,arrayData,arrayIndex);end,\n"\ +"DATAARRAY_GET_DICT=function(arrayData,arrayIndex)return _natives.invoke_ptr(0x8B5FADCC4E3A145F,arrayData,arrayIndex);end,\n"\ +"DATAARRAY_GET_COUNT=function(arrayData)return _natives.invoke_int(0x065DB281590CEA2D,arrayData);end,\n"\ +"DATAARRAY_GET_TYPE=function(arrayData,arrayIndex)return _natives.invoke_int(0x3A0014ADB172A3C5,arrayData,arrayIndex);end,\n"\ +"};\n"\ +"DECORATOR = {\n"\ +"DECOR_SET_TIME=function(entity,propertyName,timestamp)return _natives.invoke_bool(0x95AED7B8E39ECAA4,entity,propertyName,timestamp);end,\n"\ +"DECOR_SET_BOOL=function(entity,propertyName,value)return _natives.invoke_bool(0x6B1E8E2ED1335B71,entity,propertyName,value);end,\n"\ +"DECOR_SET_FLOAT=function(entity,propertyName,value)return _natives.invoke_bool(0x211AB1DD8D0F363A,entity,propertyName,value);end,\n"\ +"DECOR_SET_INT=function(entity,propertyName,value)return _natives.invoke_bool(0x0CE3AA5E1CA19E10,entity,propertyName,value);end,\n"\ +"DECOR_GET_BOOL=function(entity,propertyName)return _natives.invoke_bool(0xDACE671663F2F5DB,entity,propertyName);end,\n"\ +"DECOR_GET_FLOAT=function(entity,propertyName)return _natives.invoke_float(0x6524A2F114706F43,entity,propertyName);end,\n"\ +"DECOR_GET_INT=function(entity,propertyName)return _natives.invoke_int(0xA06C969B02A97298,entity,propertyName);end,\n"\ +"DECOR_EXIST_ON=function(entity,propertyName)return _natives.invoke_bool(0x05661B80A8C9165F,entity,propertyName);end,\n"\ +"DECOR_REMOVE=function(entity,propertyName)return _natives.invoke_bool(0x00EE9F297C738720,entity,propertyName);end,\n"\ +"DECOR_REGISTER=function(propertyName,type)return _natives.invoke_void(0x9FD90732F56403CE,propertyName,type);end,\n"\ +"DECOR_IS_REGISTERED_AS_TYPE=function(propertyName,type)return _natives.invoke_bool(0x4F14F9F870D6FBC8,propertyName,type);end,\n"\ +"DECOR_REGISTER_LOCK=function()return _natives.invoke_void(0xA9D14EEA259F9248);end,\n"\ +"};\n"\ +"DLC = {\n"\ +"ARE_ANY_CCS_PENDING=function()return _natives.invoke_bool(0x241FCA5B1AA14F75);end,\n"\ +"IS_DLC_PRESENT=function(dlcHash)return _natives.invoke_bool(0x812595A0644CE1DE,dlcHash);end,\n"\ +"DLC_CHECK_CLOUD_DATA_CORRECT=function()return _natives.invoke_bool(0xF2E07819EF1A5289);end,\n"\ +"GET_EXTRACONTENT_CLOUD_RESULT=function()return _natives.invoke_int(0x9489659372A81585);end,\n"\ +"DLC_CHECK_COMPAT_PACK_CONFIGURATION=function()return _natives.invoke_bool(0xA213B11DFF526300);end,\n"\ +"GET_EVER_HAD_BAD_PACK_ORDER=function()return _natives.invoke_bool(0x8D30F648014A92B5);end,\n"\ +"GET_IS_LOADING_SCREEN_ACTIVE=function()return _natives.invoke_bool(0x10D0A8F259E93EC9);end,\n"\ +"GET_IS_INITIAL_LOADING_SCREEN_ACTIVE=function()return _natives.invoke_bool(0xC4637A6D03C24CC3);end,\n"\ +"HAS_CLOUD_REQUESTS_FINISHED=function(p0,unused)return _natives.invoke_bool(0x46E2B844905BC5F0,p0,unused);end,\n"\ +"ON_ENTER_SP=function()return _natives.invoke_void(0xD7C10C4A637992C9);end,\n"\ +"ON_ENTER_MP=function()return _natives.invoke_void(0x0888C3502DBBEEF5);end,\n"\ +"};\n"\ +"ENTITY = {\n"\ +"DOES_ENTITY_EXIST=function(entity)return _natives.invoke_bool(0x7239B21A38F536BA,entity);end,\n"\ +"DOES_ENTITY_BELONG_TO_THIS_SCRIPT=function(entity,p1)return _natives.invoke_bool(0xDDE6DF5AE89981D2,entity,p1);end,\n"\ +"DOES_ENTITY_HAVE_DRAWABLE=function(entity)return _natives.invoke_bool(0x060D6E96F8B8E48D,entity);end,\n"\ +"DOES_ENTITY_HAVE_PHYSICS=function(entity)return _natives.invoke_bool(0xDA95EA3317CC5064,entity);end,\n"\ +"DOES_ENTITY_HAVE_SKELETON=function(entity)return _natives.invoke_bool(0x764EB96874EFFDC1,entity);end,\n"\ +"DOES_ENTITY_HAVE_ANIM_DIRECTOR=function(entity)return _natives.invoke_bool(0x2158E81A6AF65EA9,entity);end,\n"\ +"HAS_ENTITY_ANIM_FINISHED=function(entity,animDict,animName,p3)return _natives.invoke_bool(0x20B711662962B472,entity,animDict,animName,p3);end,\n"\ +"HAS_ENTITY_BEEN_DAMAGED_BY_ANY_OBJECT=function(entity)return _natives.invoke_bool(0x95EB9964FF5C5C65,entity);end,\n"\ +"HAS_ENTITY_BEEN_DAMAGED_BY_ANY_PED=function(entity)return _natives.invoke_bool(0x605F5A140F202491,entity);end,\n"\ +"HAS_ENTITY_BEEN_DAMAGED_BY_ANY_VEHICLE=function(entity)return _natives.invoke_bool(0xDFD5033FDBA0A9C8,entity);end,\n"\ +"HAS_ENTITY_BEEN_DAMAGED_BY_ENTITY=function(entity1,entity2,p2)return _natives.invoke_bool(0xC86D67D52A707CF8,entity1,entity2,p2);end,\n"\ +"HAS_ENTITY_CLEAR_LOS_TO_ENTITY=function(entity1,entity2,traceType)return _natives.invoke_bool(0xFCDFF7B72D23A1AC,entity1,entity2,traceType);end,\n"\ +"HAS_ENTITY_CLEAR_LOS_TO_ENTITY_ADJUST_FOR_COVER=function(entity1,entity2,traceType)return _natives.invoke_bool(0x394BDE2A7BBA031E,entity1,entity2,traceType);end,\n"\ +"HAS_ENTITY_CLEAR_LOS_TO_ENTITY_IN_FRONT=function(entity1,entity2)return _natives.invoke_bool(0x0267D00AF114F17A,entity1,entity2);end,\n"\ +"HAS_ENTITY_COLLIDED_WITH_ANYTHING=function(entity)return _natives.invoke_bool(0x8BAD02F0368D9E14,entity);end,\n"\ +"_GET_LAST_ENTITY_HIT_BY_ENTITY=function(entity)return _natives.invoke_int(0xA75EE4F689B85391,entity);end,\n"\ +"GET_LAST_MATERIAL_HIT_BY_ENTITY=function(entity)return _natives.invoke_int(0x5C3D0A935F535C4C,entity);end,\n"\ +"GET_COLLISION_NORMAL_OF_LAST_HIT_FOR_ENTITY=function(entity)return _natives.invoke_vec3(0xE465D4AB7CA6AE72,entity);end,\n"\ +"FORCE_ENTITY_AI_AND_ANIMATION_UPDATE=function(entity)return _natives.invoke_void(0x40FDEDB72F8293B2,entity);end,\n"\ +"GET_ENTITY_ANIM_CURRENT_TIME=function(entity,animDict,animName)return _natives.invoke_float(0x346D81500D088F42,entity,animDict,animName);end,\n"\ +"GET_ENTITY_ANIM_TOTAL_TIME=function(entity,animDict,animName)return _natives.invoke_float(0x50BD2730B191E360,entity,animDict,animName);end,\n"\ +"GET_ANIM_DURATION=function(animDict,animName)return _natives.invoke_float(0xFEDDF04D62B8D790,animDict,animName);end,\n"\ +"GET_ENTITY_ATTACHED_TO=function(entity)return _natives.invoke_int(0x48C2BED9180FE123,entity);end,\n"\ +"GET_ENTITY_COORDS=function(entity,alive)return _natives.invoke_vec3(0x3FEF770D40960D5A,entity,alive);end,\n"\ +"GET_ENTITY_FORWARD_VECTOR=function(entity)return _natives.invoke_vec3(0x0A794A5A57F8DF91,entity);end,\n"\ +"GET_ENTITY_FORWARD_X=function(entity)return _natives.invoke_float(0x8BB4EF4214E0E6D5,entity);end,\n"\ +"GET_ENTITY_FORWARD_Y=function(entity)return _natives.invoke_float(0x866A4A5FAE349510,entity);end,\n"\ +"GET_ENTITY_HEADING=function(entity)return _natives.invoke_float(0xE83D4F9BA2A38914,entity);end,\n"\ +"GET_ENTITY_HEADING_FROM_EULERS=function(entity)return _natives.invoke_float(0x846BF6291198A71E,entity);end,\n"\ +"GET_ENTITY_HEALTH=function(entity)return _natives.invoke_int(0xEEF059FAD016D209,entity);end,\n"\ +"GET_ENTITY_MAX_HEALTH=function(entity)return _natives.invoke_int(0x15D757606D170C3C,entity);end,\n"\ +"SET_ENTITY_MAX_HEALTH=function(entity,value)return _natives.invoke_void(0x166E7CF68597D8B5,entity,value);end,\n"\ +"GET_ENTITY_HEIGHT=function(entity,X,Y,Z,atTop,inWorldCoords)return _natives.invoke_float(0x5A504562485944DD,entity,X,Y,Z,atTop,inWorldCoords);end,\n"\ +"GET_ENTITY_HEIGHT_ABOVE_GROUND=function(entity)return _natives.invoke_float(0x1DD55701034110E5,entity);end,\n"\ +"GET_ENTITY_MATRIX=function(entity,forwardVector,rightVector,upVector,position)return _natives.invoke_void(0xECB2FC7235A7D137,entity,forwardVector,rightVector,upVector,position);end,\n"\ +"GET_ENTITY_MODEL=function(entity)return _natives.invoke_int(0x9F47B058362C84B5,entity);end,\n"\ +"GET_OFFSET_FROM_ENTITY_GIVEN_WORLD_COORDS=function(entity,posX,posY,posZ)return _natives.invoke_vec3(0x2274BC1C4885E333,entity,posX,posY,posZ);end,\n"\ +"GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS=function(entity,offsetX,offsetY,offsetZ)return _natives.invoke_vec3(0x1899F328B0E12848,entity,offsetX,offsetY,offsetZ);end,\n"\ +"GET_ENTITY_PITCH=function(entity)return _natives.invoke_float(0xD45DC2893621E1FE,entity);end,\n"\ +"GET_ENTITY_QUATERNION=function(entity,x,y,z,w)return _natives.invoke_void(0x7B3703D2D32DFA18,entity,x,y,z,w);end,\n"\ +"GET_ENTITY_ROLL=function(entity)return _natives.invoke_float(0x831E0242595560DF,entity);end,\n"\ +"GET_ENTITY_ROTATION=function(entity,rotationOrder)return _natives.invoke_vec3(0xAFBD61CC738D9EB9,entity,rotationOrder);end,\n"\ +"GET_ENTITY_ROTATION_VELOCITY=function(entity)return _natives.invoke_vec3(0x213B91045D09B983,entity);end,\n"\ +"GET_ENTITY_SCRIPT=function(entity,script)return _natives.invoke_str(0xA6E9C38DB51D7748,entity,script);end,\n"\ +"GET_ENTITY_SPEED=function(entity)return _natives.invoke_float(0xD5037BA82E12416F,entity);end,\n"\ +"GET_ENTITY_SPEED_VECTOR=function(entity,relative)return _natives.invoke_vec3(0x9A8D700A51CB7B0D,entity,relative);end,\n"\ +"GET_ENTITY_UPRIGHT_VALUE=function(entity)return _natives.invoke_float(0x95EED5A694951F9F,entity);end,\n"\ +"GET_ENTITY_VELOCITY=function(entity)return _natives.invoke_vec3(0x4805D2B1D8CF94A9,entity);end,\n"\ +"GET_OBJECT_INDEX_FROM_ENTITY_INDEX=function(entity)return _natives.invoke_int(0xD7E3B9735C0F89D6,entity);end,\n"\ +"GET_PED_INDEX_FROM_ENTITY_INDEX=function(entity)return _natives.invoke_int(0x04A2A40C73395041,entity);end,\n"\ +"GET_VEHICLE_INDEX_FROM_ENTITY_INDEX=function(entity)return _natives.invoke_int(0x4B53F92932ADFAC0,entity);end,\n"\ +"GET_WORLD_POSITION_OF_ENTITY_BONE=function(entity,boneIndex)return _natives.invoke_vec3(0x44A8FCB8ED227738,entity,boneIndex);end,\n"\ +"GET_NEAREST_PLAYER_TO_ENTITY=function(entity)return _natives.invoke_int(0x7196842CB375CDB3,entity);end,\n"\ +"GET_NEAREST_PLAYER_TO_ENTITY_ON_TEAM=function(entity,team)return _natives.invoke_int(0x4DC9A62F844D9337,entity,team);end,\n"\ +"GET_ENTITY_TYPE=function(entity)return _natives.invoke_int(0x8ACD366038D14505,entity);end,\n"\ +"GET_ENTITY_POPULATION_TYPE=function(entity)return _natives.invoke_int(0xF6F5161F4534EDFF,entity);end,\n"\ +"IS_AN_ENTITY=function(handle)return _natives.invoke_bool(0x731EC8A916BD11A1,handle);end,\n"\ +"IS_ENTITY_A_PED=function(entity)return _natives.invoke_bool(0x524AC5ECEA15343E,entity);end,\n"\ +"IS_ENTITY_A_MISSION_ENTITY=function(entity)return _natives.invoke_bool(0x0A7B270912999B3C,entity);end,\n"\ +"IS_ENTITY_A_VEHICLE=function(entity)return _natives.invoke_bool(0x6AC7003FA6E5575E,entity);end,\n"\ +"IS_ENTITY_AN_OBJECT=function(entity)return _natives.invoke_bool(0x8D68C8FD0FACA94E,entity);end,\n"\ +"IS_ENTITY_AT_COORD=function(entity,xPos,yPos,zPos,xSize,ySize,zSize,p7,p8,p9)return _natives.invoke_bool(0x20B60995556D004F,entity,xPos,yPos,zPos,xSize,ySize,zSize,p7,p8,p9);end,\n"\ +"IS_ENTITY_AT_ENTITY=function(entity1,entity2,xSize,ySize,zSize,p5,p6,p7)return _natives.invoke_bool(0x751B70C3D034E187,entity1,entity2,xSize,ySize,zSize,p5,p6,p7);end,\n"\ +"IS_ENTITY_ATTACHED=function(entity)return _natives.invoke_bool(0xB346476EF1A64897,entity);end,\n"\ +"IS_ENTITY_ATTACHED_TO_ANY_OBJECT=function(entity)return _natives.invoke_bool(0xCF511840CEEDE0CC,entity);end,\n"\ +"IS_ENTITY_ATTACHED_TO_ANY_PED=function(entity)return _natives.invoke_bool(0xB1632E9A5F988D11,entity);end,\n"\ +"IS_ENTITY_ATTACHED_TO_ANY_VEHICLE=function(entity)return _natives.invoke_bool(0x26AA915AD89BFB4B,entity);end,\n"\ +"IS_ENTITY_ATTACHED_TO_ENTITY=function(from,to)return _natives.invoke_bool(0xEFBE71898A993728,from,to);end,\n"\ +"IS_ENTITY_DEAD=function(entity,p1)return _natives.invoke_bool(0x5F9532F3B5CC2551,entity,p1);end,\n"\ +"IS_ENTITY_IN_AIR=function(entity)return _natives.invoke_bool(0x886E37EC497200B6,entity);end,\n"\ +"IS_ENTITY_IN_ANGLED_AREA=function(entity,x1,y1,z1,x2,y2,z2,width,debug,includeZ,p10)return _natives.invoke_bool(0x51210CED3DA1C78A,entity,x1,y1,z1,x2,y2,z2,width,debug,includeZ,p10);end,\n"\ +"IS_ENTITY_IN_AREA=function(entity,x1,y1,z1,x2,y2,z2,p7,p8,p9)return _natives.invoke_bool(0x54736AA40E271165,entity,x1,y1,z1,x2,y2,z2,p7,p8,p9);end,\n"\ +"IS_ENTITY_IN_ZONE=function(entity,zone)return _natives.invoke_bool(0xB6463CF6AF527071,entity,zone);end,\n"\ +"IS_ENTITY_IN_WATER=function(entity)return _natives.invoke_bool(0xCFB0A0D8EDD145A3,entity);end,\n"\ +"GET_ENTITY_SUBMERGED_LEVEL=function(entity)return _natives.invoke_float(0xE81AFC1BC4CC41CE,entity);end,\n"\ +"SET_ENTITY_REQUIRES_MORE_EXPENSIVE_RIVER_CHECK=function(entity,toggle)return _natives.invoke_void(0x694E00132F2823ED,entity,toggle);end,\n"\ +"IS_ENTITY_ON_SCREEN=function(entity)return _natives.invoke_bool(0xE659E47AF827484B,entity);end,\n"\ +"IS_ENTITY_PLAYING_ANIM=function(entity,animDict,animName,taskFlag)return _natives.invoke_bool(0x1F0B79228E461EC9,entity,animDict,animName,taskFlag);end,\n"\ +"IS_ENTITY_STATIC=function(entity)return _natives.invoke_bool(0x1218E6886D3D8327,entity);end,\n"\ +"IS_ENTITY_TOUCHING_ENTITY=function(entity,targetEntity)return _natives.invoke_bool(0x17FFC1B2BA35A494,entity,targetEntity);end,\n"\ +"IS_ENTITY_TOUCHING_MODEL=function(entity,modelHash)return _natives.invoke_bool(0x0F42323798A58C8C,entity,modelHash);end,\n"\ +"IS_ENTITY_UPRIGHT=function(entity,angle)return _natives.invoke_bool(0x5333F526F6AB19AA,entity,angle);end,\n"\ +"IS_ENTITY_UPSIDEDOWN=function(entity)return _natives.invoke_bool(0x1DBD58820FA61D71,entity);end,\n"\ +"IS_ENTITY_VISIBLE=function(entity)return _natives.invoke_bool(0x47D6F43D77935C75,entity);end,\n"\ +"IS_ENTITY_VISIBLE_TO_SCRIPT=function(entity)return _natives.invoke_bool(0xD796CB5BA8F20E32,entity);end,\n"\ +"IS_ENTITY_OCCLUDED=function(entity)return _natives.invoke_bool(0xE31C2C72B8692B64,entity);end,\n"\ +"WOULD_ENTITY_BE_OCCLUDED=function(entityModelHash,x,y,z,p4)return _natives.invoke_bool(0xEE5D2A122E09EC42,entityModelHash,x,y,z,p4);end,\n"\ +"IS_ENTITY_WAITING_FOR_WORLD_COLLISION=function(entity)return _natives.invoke_bool(0xD05BFF0C0A12C68F,entity);end,\n"\ +"APPLY_FORCE_TO_ENTITY_CENTER_OF_MASS=function(entity,forceType,x,y,z,p5,isDirectionRel,isForceRel,p8)return _natives.invoke_void(0x18FF00FC7EFF559E,entity,forceType,x,y,z,p5,isDirectionRel,isForceRel,p8);end,\n"\ +"APPLY_FORCE_TO_ENTITY=function(entity,forceFlags,x,y,z,offX,offY,offZ,boneIndex,isDirectionRel,ignoreUpVec,isForceRel,p12,p13)return _natives.invoke_void(0xC5F68BE9613E2D18,entity,forceFlags,x,y,z,offX,offY,offZ,boneIndex,isDirectionRel,ignoreUpVec,isForceRel,p12,p13);end,\n"\ +"ATTACH_ENTITY_TO_ENTITY=function(entity1,entity2,boneIndex,xPos,yPos,zPos,xRot,yRot,zRot,p9,useSoftPinning,collision,isPed,vertexIndex,fixedRot,p15)return _natives.invoke_void(0x6B9BBD38AB0796DF,entity1,entity2,boneIndex,xPos,yPos,zPos,xRot,yRot,zRot,p9,useSoftPinning,collision,isPed,vertexIndex,fixedRot,p15);end,\n"\ +"ATTACH_ENTITY_BONE_TO_ENTITY_BONE=function(entity1,entity2,boneIndex1,boneIndex2,p4,p5)return _natives.invoke_void(0x5C48B75732C8456C,entity1,entity2,boneIndex1,boneIndex2,p4,p5);end,\n"\ +"ATTACH_ENTITY_BONE_TO_ENTITY_BONE_Y_FORWARD=function(entity1,entity2,boneIndex1,boneIndex2,p4,p5)return _natives.invoke_void(0xFD1695C5D3B05439,entity1,entity2,boneIndex1,boneIndex2,p4,p5);end,\n"\ +"ATTACH_ENTITY_TO_ENTITY_PHYSICALLY=function(entity1,entity2,boneIndex1,boneIndex2,xPos1,yPos1,zPos1,xPos2,yPos2,zPos2,xRot,yRot,zRot,breakForce,fixedRot,p15,collision,p17,p18)return _natives.invoke_void(0xC3675780C92F90F9,entity1,entity2,boneIndex1,boneIndex2,xPos1,yPos1,zPos1,xPos2,yPos2,zPos2,xRot,yRot,zRot,breakForce,fixedRot,p15,collision,p17,p18);end,\n"\ +"PROCESS_ENTITY_ATTACHMENTS=function(entity)return _natives.invoke_void(0xF4080490ADC51C6F,entity);end,\n"\ +"GET_ENTITY_BONE_INDEX_BY_NAME=function(entity,boneName)return _natives.invoke_int(0xFB71170B7E76ACBA,entity,boneName);end,\n"\ +"CLEAR_ENTITY_LAST_DAMAGE_ENTITY=function(entity)return _natives.invoke_void(0xA72CD9CA74A5ECBA,entity);end,\n"\ +"DELETE_ENTITY=function(entity)return _natives.invoke_void(0xAE3CBE5BF394C9C9,entity);end,\n"\ +"DETACH_ENTITY=function(entity,dynamic,collision)return _natives.invoke_void(0x961AC54BF0613F5D,entity,dynamic,collision);end,\n"\ +"FREEZE_ENTITY_POSITION=function(entity,toggle)return _natives.invoke_void(0x428CA6DBD1094446,entity,toggle);end,\n"\ +"SET_ENTITY_SHOULD_FREEZE_WAITING_ON_COLLISION=function(entity,toggle)return _natives.invoke_void(0x3910051CCECDB00C,entity,toggle);end,\n"\ +"PLAY_ENTITY_ANIM=function(entity,animName,animDict,p3,loop,stayInAnim,p6,delta,bitset)return _natives.invoke_bool(0x7FB218262B810701,entity,animName,animDict,p3,loop,stayInAnim,p6,delta,bitset);end,\n"\ +"PLAY_SYNCHRONIZED_ENTITY_ANIM=function(entity,syncedScene,animation,propName,p4,p5,p6,p7)return _natives.invoke_bool(0xC77720A12FE14A86,entity,syncedScene,animation,propName,p4,p5,p6,p7);end,\n"\ +"PLAY_SYNCHRONIZED_MAP_ENTITY_ANIM=function(x1,y1,z1,x2,y2,z2,p6,p7,p8,p9,p10,p11)return _natives.invoke_bool(0xB9C54555ED30FBC4,x1,y1,z1,x2,y2,z2,p6,p7,p8,p9,p10,p11);end,\n"\ +"STOP_SYNCHRONIZED_MAP_ENTITY_ANIM=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_bool(0x11E79CAB7183B6F5,x1,y1,z1,x2,y2,z2);end,\n"\ +"STOP_ENTITY_ANIM=function(entity,animation,animGroup,p3)return _natives.invoke_bool(0x28004F88151E03E0,entity,animation,animGroup,p3);end,\n"\ +"STOP_SYNCHRONIZED_ENTITY_ANIM=function(entity,p1,p2)return _natives.invoke_bool(0x43D3807C077261E3,entity,p1,p2);end,\n"\ +"HAS_ANIM_EVENT_FIRED=function(entity,actionHash)return _natives.invoke_bool(0xEAF4CD9EA3E7E922,entity,actionHash);end,\n"\ +"FIND_ANIM_EVENT_PHASE=function(animDictionary,animName,p2,p3,p4)return _natives.invoke_bool(0x07F1BE2BCCAA27A7,animDictionary,animName,p2,p3,p4);end,\n"\ +"SET_ENTITY_ANIM_CURRENT_TIME=function(entity,animDictionary,animName,time)return _natives.invoke_void(0x4487C259F0F70977,entity,animDictionary,animName,time);end,\n"\ +"SET_ENTITY_ANIM_SPEED=function(entity,animDictionary,animName,speedMultiplier)return _natives.invoke_void(0x28D1A16553C51776,entity,animDictionary,animName,speedMultiplier);end,\n"\ +"SET_ENTITY_AS_MISSION_ENTITY=function(entity,p1,p2)return _natives.invoke_void(0xAD738C3085FE7E11,entity,p1,p2);end,\n"\ +"SET_ENTITY_AS_NO_LONGER_NEEDED=function(entity)return _natives.invoke_void(0xB736A491E64A32CF,entity);end,\n"\ +"SET_PED_AS_NO_LONGER_NEEDED=function(ped)return _natives.invoke_void(0x2595DD4236549CE3,ped);end,\n"\ +"SET_VEHICLE_AS_NO_LONGER_NEEDED=function(vehicle)return _natives.invoke_void(0x629BFA74418D6239,vehicle);end,\n"\ +"SET_OBJECT_AS_NO_LONGER_NEEDED=function(object)return _natives.invoke_void(0x3AE22DEB5BA5A3E6,object);end,\n"\ +"SET_ENTITY_CAN_BE_DAMAGED=function(entity,toggle)return _natives.invoke_void(0x1760FFA8AB074D66,entity,toggle);end,\n"\ +"GET_ENTITY_CAN_BE_DAMAGED=function(entity)return _natives.invoke_bool(0xD95CC5D2AB15A09F,entity);end,\n"\ +"SET_ENTITY_CAN_BE_DAMAGED_BY_RELATIONSHIP_GROUP=function(entity,bCanBeDamaged,relGroup)return _natives.invoke_void(0xE22D8FDE858B8119,entity,bCanBeDamaged,relGroup);end,\n"\ +"SET_ENTITY_CAN_ONLY_BE_DAMAGED_BY_SCRIPT_PARTICIPANTS=function(entity,toggle)return _natives.invoke_void(0x352E2B5CF420BF3B,entity,toggle);end,\n"\ +"SET_ENTITY_CAN_BE_TARGETED_WITHOUT_LOS=function(entity,toggle)return _natives.invoke_void(0xD3997889736FD899,entity,toggle);end,\n"\ +"SET_ENTITY_COLLISION=function(entity,toggle,keepPhysics)return _natives.invoke_void(0x1A9205C1B9EE827F,entity,toggle,keepPhysics);end,\n"\ +"GET_ENTITY_COLLISION_DISABLED=function(entity)return _natives.invoke_bool(0xCCF1E97BEFDAE480,entity);end,\n"\ +"SET_ENTITY_COMPLETELY_DISABLE_COLLISION=function(entity,toggle,keepPhysics)return _natives.invoke_void(0x9EBC85ED0FFFE51C,entity,toggle,keepPhysics);end,\n"\ +"SET_ENTITY_COORDS=function(entity,xPos,yPos,zPos,xAxis,yAxis,zAxis,clearArea)return _natives.invoke_void(0x06843DA7060A026B,entity,xPos,yPos,zPos,xAxis,yAxis,zAxis,clearArea);end,\n"\ +"SET_ENTITY_COORDS_WITHOUT_PLANTS_RESET=function(entity,xPos,yPos,zPos,alive,deadFlag,ragdollFlag,clearArea)return _natives.invoke_void(0x621873ECE1178967,entity,xPos,yPos,zPos,alive,deadFlag,ragdollFlag,clearArea);end,\n"\ +"SET_ENTITY_COORDS_NO_OFFSET=function(entity,xPos,yPos,zPos,xAxis,yAxis,zAxis)return _natives.invoke_void(0x239A3351AC1DA385,entity,xPos,yPos,zPos,xAxis,yAxis,zAxis);end,\n"\ +"SET_ENTITY_DYNAMIC=function(entity,toggle)return _natives.invoke_void(0x1718DE8E3F2823CA,entity,toggle);end,\n"\ +"SET_ENTITY_HEADING=function(entity,heading)return _natives.invoke_void(0x8E2530AA8ADA980E,entity,heading);end,\n"\ +"SET_ENTITY_HEALTH=function(entity,health,p2)return _natives.invoke_void(0x6B76DC1F3AE6E6A3,entity,health,p2);end,\n"\ +"SET_ENTITY_INVINCIBLE=function(entity,toggle)return _natives.invoke_void(0x3882114BDE571AD4,entity,toggle);end,\n"\ +"SET_ENTITY_IS_TARGET_PRIORITY=function(entity,p1,p2)return _natives.invoke_void(0xEA02E132F5C68722,entity,p1,p2);end,\n"\ +"SET_ENTITY_LIGHTS=function(entity,toggle)return _natives.invoke_void(0x7CFBA6A80BDF3874,entity,toggle);end,\n"\ +"SET_ENTITY_LOAD_COLLISION_FLAG=function(entity,toggle,p2)return _natives.invoke_void(0x0DC7CABAB1E9B67E,entity,toggle,p2);end,\n"\ +"HAS_COLLISION_LOADED_AROUND_ENTITY=function(entity)return _natives.invoke_bool(0xE9676F61BC0B3321,entity);end,\n"\ +"SET_ENTITY_MAX_SPEED=function(entity,speed)return _natives.invoke_void(0x0E46A3FCBDE2A1B1,entity,speed);end,\n"\ +"SET_ENTITY_ONLY_DAMAGED_BY_PLAYER=function(entity,toggle)return _natives.invoke_void(0x79F020FF9EDC0748,entity,toggle);end,\n"\ +"SET_ENTITY_ONLY_DAMAGED_BY_RELATIONSHIP_GROUP=function(entity,p1,p2)return _natives.invoke_void(0x7022BD828FA0B082,entity,p1,p2);end,\n"\ +"SET_ENTITY_PROOFS=function(entity,bulletProof,fireProof,explosionProof,collisionProof,meleeProof,steamProof,p7,waterProof)return _natives.invoke_void(0xFAEE099C6F890BB8,entity,bulletProof,fireProof,explosionProof,collisionProof,meleeProof,steamProof,p7,waterProof);end,\n"\ +"GET_ENTITY_PROOFS=function(entity,bulletProof,fireProof,explosionProof,collisionProof,meleeProof,steamProof,p7,drownProof)return _natives.invoke_bool(0xBE8CD9BE829BBEBF,entity,bulletProof,fireProof,explosionProof,collisionProof,meleeProof,steamProof,p7,drownProof);end,\n"\ +"SET_ENTITY_QUATERNION=function(entity,x,y,z,w)return _natives.invoke_void(0x77B21BE7AC540F07,entity,x,y,z,w);end,\n"\ +"SET_ENTITY_RECORDS_COLLISIONS=function(entity,toggle)return _natives.invoke_void(0x0A50A1EEDAD01E65,entity,toggle);end,\n"\ +"SET_ENTITY_ROTATION=function(entity,pitch,roll,yaw,rotationOrder,p5)return _natives.invoke_void(0x8524A8B0171D5E07,entity,pitch,roll,yaw,rotationOrder,p5);end,\n"\ +"SET_ENTITY_VISIBLE=function(entity,toggle,p2)return _natives.invoke_void(0xEA1C610A04DB6BBB,entity,toggle,p2);end,\n"\ +"SET_ENTITY_WATER_REFLECTION_FLAG=function(entity,toggle)return _natives.invoke_void(0xC34BC448DA29F5E9,entity,toggle);end,\n"\ +"SET_ENTITY_MIRROR_REFLECTION_FLAG=function(entity,p1)return _natives.invoke_void(0xE66377CDDADA4810,entity,p1);end,\n"\ +"SET_ENTITY_VELOCITY=function(entity,x,y,z)return _natives.invoke_void(0x1C99BB7B6E96D16F,entity,x,y,z);end,\n"\ +"SET_ENTITY_ANGULAR_VELOCITY=function(entity,x,y,z)return _natives.invoke_void(0x8339643499D1222E,entity,x,y,z);end,\n"\ +"SET_ENTITY_HAS_GRAVITY=function(entity,toggle)return _natives.invoke_void(0x4A4722448F18EEF5,entity,toggle);end,\n"\ +"SET_ENTITY_LOD_DIST=function(entity,value)return _natives.invoke_void(0x5927F96A78577363,entity,value);end,\n"\ +"GET_ENTITY_LOD_DIST=function(entity)return _natives.invoke_int(0x4159C2762B5791D6,entity);end,\n"\ +"SET_ENTITY_ALPHA=function(entity,alphaLevel,skin)return _natives.invoke_void(0x44A0870B7E92D7C0,entity,alphaLevel,skin);end,\n"\ +"GET_ENTITY_ALPHA=function(entity)return _natives.invoke_int(0x5A47B3B5E63E94C6,entity);end,\n"\ +"RESET_ENTITY_ALPHA=function(entity)return _natives.invoke_void(0x9B1E824FFBB7027A,entity);end,\n"\ +"RESET_PICKUP_ENTITY_GLOW=function(entity)return _natives.invoke_void(0x490861B88F4FD846,entity);end,\n"\ +"SET_PICKUP_COLLIDES_WITH_PROJECTILES=function(p0,p1)return _natives.invoke_void(0xCEA7C8E1B48FF68C,p0,p1);end,\n"\ +"SET_ENTITY_SORT_BIAS=function(entity,p1)return _natives.invoke_void(0x5C3B791D580E0BC2,entity,p1);end,\n"\ +"SET_ENTITY_ALWAYS_PRERENDER=function(entity,toggle)return _natives.invoke_void(0xACAD101E1FB66689,entity,toggle);end,\n"\ +"SET_ENTITY_RENDER_SCORCHED=function(entity,toggle)return _natives.invoke_void(0x730F5F8D3F0F2050,entity,toggle);end,\n"\ +"SET_ENTITY_TRAFFICLIGHT_OVERRIDE=function(entity,state)return _natives.invoke_void(0x57C5DB656185EAC4,entity,state);end,\n"\ +"SET_ENTITY_IS_IN_VEHICLE=function(entity)return _natives.invoke_void(0x78E8E3A640178255,entity);end,\n"\ +"CREATE_MODEL_SWAP=function(x,y,z,radius,originalModel,newModel,p6)return _natives.invoke_void(0x92C47782FDA8B2A3,x,y,z,radius,originalModel,newModel,p6);end,\n"\ +"REMOVE_MODEL_SWAP=function(x,y,z,radius,originalModel,newModel,p6)return _natives.invoke_void(0x033C0F9A64E229AE,x,y,z,radius,originalModel,newModel,p6);end,\n"\ +"CREATE_MODEL_HIDE=function(x,y,z,radius,modelHash,p5)return _natives.invoke_void(0x8A97BCA30A0CE478,x,y,z,radius,modelHash,p5);end,\n"\ +"CREATE_MODEL_HIDE_EXCLUDING_SCRIPT_OBJECTS=function(x,y,z,radius,modelHash,p5)return _natives.invoke_void(0x3A52AE588830BF7F,x,y,z,radius,modelHash,p5);end,\n"\ +"REMOVE_MODEL_HIDE=function(x,y,z,radius,modelHash,p5)return _natives.invoke_void(0xD9E3006FB3CBD765,x,y,z,radius,modelHash,p5);end,\n"\ +"CREATE_FORCED_OBJECT=function(x,y,z,p3,modelHash,p5)return _natives.invoke_void(0x150E808B375A385A,x,y,z,p3,modelHash,p5);end,\n"\ +"REMOVE_FORCED_OBJECT=function(x,y,z,p3,modelHash)return _natives.invoke_void(0x61B6775E83C0DB6F,x,y,z,p3,modelHash);end,\n"\ +"SET_ENTITY_NO_COLLISION_ENTITY=function(entity1,entity2,thisFrameOnly)return _natives.invoke_void(0xA53ED5520C07654A,entity1,entity2,thisFrameOnly);end,\n"\ +"SET_ENTITY_MOTION_BLUR=function(entity,toggle)return _natives.invoke_void(0x295D82A8559F9150,entity,toggle);end,\n"\ +"SET_CAN_AUTO_VAULT_ON_ENTITY=function(entity,toggle)return _natives.invoke_void(0xE12ABE5E3A389A6C,entity,toggle);end,\n"\ +"SET_CAN_CLIMB_ON_ENTITY=function(entity,toggle)return _natives.invoke_void(0xA80AE305E0A3044F,entity,toggle);end,\n"\ +"SET_WAIT_FOR_COLLISIONS_BEFORE_PROBE=function(entity,toggle)return _natives.invoke_void(0xDC6F8601FAF2E893,entity,toggle);end,\n"\ +"SET_ENTITY_NOWEAPONDECALS=function(entity,p1)return _natives.invoke_void(0x2C2E3DC128F44309,entity,p1);end,\n"\ +"SET_ENTITY_USE_MAX_DISTANCE_FOR_WATER_REFLECTION=function(entity,p1)return _natives.invoke_void(0x1A092BB0C3808B96,entity,p1);end,\n"\ +"GET_ENTITY_BONE_ROTATION=function(entity,boneIndex)return _natives.invoke_vec3(0xCE6294A232D03786,entity,boneIndex);end,\n"\ +"GET_ENTITY_BONE_POSTION=function(entity,boneIndex)return _natives.invoke_vec3(0x46F8696933A63C9B,entity,boneIndex);end,\n"\ +"GET_ENTITY_BONE_OBJECT_ROTATION=function(entity,boneIndex)return _natives.invoke_vec3(0xBD8D32550E5CEBFE,entity,boneIndex);end,\n"\ +"GET_ENTITY_BONE_OBJECT_POSTION=function(entity,boneIndex)return _natives.invoke_vec3(0xCF1247CC86961FD6,entity,boneIndex);end,\n"\ +"GET_ENTITY_BONE_COUNT=function(entity)return _natives.invoke_int(0xB328DCC3A3AA401B,entity);end,\n"\ +"ENABLE_ENTITY_BULLET_COLLISION=function(entity)return _natives.invoke_void(0x6CE177D014502E8A,entity);end,\n"\ +"SET_ENTITY_CAN_ONLY_BE_DAMAGED_BY_ENTITY=function(entity1,entity2)return _natives.invoke_void(0xB17BC6453F6CF5AC,entity1,entity2);end,\n"\ +"SET_ENTITY_CANT_CAUSE_COLLISION_DAMAGED_ENTITY=function(entity1,entity2)return _natives.invoke_void(0x68B562E124CC0AEF,entity1,entity2);end,\n"\ +"SET_ALLOW_MIGRATE_TO_SPECTATOR=function(entity,p1)return _natives.invoke_void(0x36F32DE87082343E,entity,p1);end,\n"\ +"GET_ENTITY_OF_TYPE_ATTACHED_TO_ENTITY=function(entity,modelHash)return _natives.invoke_int(0x1F922734E259BD26,entity,modelHash);end,\n"\ +"SET_PICK_UP_BY_CARGOBOB_DISABLED=function(entity,toggle)return _natives.invoke_void(0xD7B80E7C3BEFC396,entity,toggle);end,\n"\ +"};\n"\ +"EVENT = {\n"\ +"SET_DECISION_MAKER=function(ped,name)return _natives.invoke_void(0xB604A2942ADED0EE,ped,name);end,\n"\ +"CLEAR_DECISION_MAKER_EVENT_RESPONSE=function(name,eventType)return _natives.invoke_void(0x4FC9381A7AEE8968,name,eventType);end,\n"\ +"BLOCK_DECISION_MAKER_EVENT=function(name,eventType)return _natives.invoke_void(0xE42FCDFD0E4196F7,name,eventType);end,\n"\ +"UNBLOCK_DECISION_MAKER_EVENT=function(name,eventType)return _natives.invoke_void(0xD7CD9CF34F2C99E8,name,eventType);end,\n"\ +"ADD_SHOCKING_EVENT_AT_POSITION=function(eventType,x,y,z,duration)return _natives.invoke_int(0xD9F8455409B525E9,eventType,x,y,z,duration);end,\n"\ +"ADD_SHOCKING_EVENT_FOR_ENTITY=function(eventType,entity,duration)return _natives.invoke_int(0x7FD8F3BE76F89422,eventType,entity,duration);end,\n"\ +"IS_SHOCKING_EVENT_IN_SPHERE=function(eventType,x,y,z,radius)return _natives.invoke_bool(0x1374ABB7C15BAB92,eventType,x,y,z,radius);end,\n"\ +"REMOVE_SHOCKING_EVENT=function(event)return _natives.invoke_bool(0x2CDA538C44C6CCE5,event);end,\n"\ +"REMOVE_ALL_SHOCKING_EVENTS=function(p0)return _natives.invoke_void(0xEAABE8FDFA21274C,p0);end,\n"\ +"REMOVE_SHOCKING_EVENT_SPAWN_BLOCKING_AREAS=function()return _natives.invoke_void(0x340F1415B68AEADE);end,\n"\ +"SUPPRESS_SHOCKING_EVENTS_NEXT_FRAME=function()return _natives.invoke_void(0x2F9A292AD0A3BD89);end,\n"\ +"SUPPRESS_SHOCKING_EVENT_TYPE_NEXT_FRAME=function(eventType)return _natives.invoke_void(0x3FD2EC8BF1F1CF30,eventType);end,\n"\ +"SUPPRESS_AGITATION_EVENTS_NEXT_FRAME=function()return _natives.invoke_void(0x5F3B7749C112D552);end,\n"\ +"};\n"\ +"FILES = {\n"\ +"GET_NUM_TATTOO_SHOP_DLC_ITEMS=function(character)return _natives.invoke_int(0x278F76C3B0A8F109,character);end,\n"\ +"GET_TATTOO_SHOP_DLC_ITEM_DATA=function(characterType,decorationIndex,outComponent)return _natives.invoke_bool(0xFF56381874F82086,characterType,decorationIndex,outComponent);end,\n"\ +"GET_TATTOO_SHOP_DLC_ITEM_INDEX=function(overlayHash,p1,character)return _natives.invoke_int(0x10144267DD22866C,overlayHash,p1,character);end,\n"\ +"INIT_SHOP_PED_COMPONENT=function(outComponent)return _natives.invoke_void(0x1E8C308FD312C036,outComponent);end,\n"\ +"INIT_SHOP_PED_PROP=function(outProp)return _natives.invoke_void(0xEB0A2B758F7B850F,outProp);end,\n"\ +"SETUP_SHOP_PED_APPAREL_QUERY=function(p0,p1,p2,p3)return _natives.invoke_int(0x50F457823CE6EB5F,p0,p1,p2,p3);end,\n"\ +"SETUP_SHOP_PED_APPAREL_QUERY_TU=function(character,p1,p2,p3,p4,componentId)return _natives.invoke_int(0x9BDF59818B1E38C1,character,p1,p2,p3,p4,componentId);end,\n"\ +"GET_SHOP_PED_QUERY_COMPONENT=function(componentId,outComponent)return _natives.invoke_void(0x249E310B2D920699,componentId,outComponent);end,\n"\ +"GET_SHOP_PED_QUERY_COMPONENT_INDEX=function(componentHash)return _natives.invoke_int(0x96E2929292A4DB77,componentHash);end,\n"\ +"GET_SHOP_PED_COMPONENT=function(componentHash,outComponent)return _natives.invoke_void(0x74C0E2A57EC66760,componentHash,outComponent);end,\n"\ +"GET_SHOP_PED_QUERY_PROP=function(componentId,outProp)return _natives.invoke_void(0xDE44A00999B2837D,componentId,outProp);end,\n"\ +"GET_SHOP_PED_QUERY_PROP_INDEX=function(componentHash)return _natives.invoke_int(0x6CEBE002E58DEE97,componentHash);end,\n"\ +"GET_SHOP_PED_PROP=function(componentHash,outProp)return _natives.invoke_void(0x5D5CAFF661DDF6FC,componentHash,outProp);end,\n"\ +"GET_HASH_NAME_FOR_COMPONENT=function(entity,componentId,drawableVariant,textureVariant)return _natives.invoke_int(0x0368B3A838070348,entity,componentId,drawableVariant,textureVariant);end,\n"\ +"GET_HASH_NAME_FOR_PROP=function(entity,componentId,propIndex,propTextureIndex)return _natives.invoke_int(0x5D6160275CAEC8DD,entity,componentId,propIndex,propTextureIndex);end,\n"\ +"GET_SHOP_PED_APPAREL_VARIANT_COMPONENT_COUNT=function(componentHash)return _natives.invoke_int(0xC17AD0E5752BECDA,componentHash);end,\n"\ +"GET_SHOP_PED_APPAREL_VARIANT_PROP_COUNT=function(propHash)return _natives.invoke_int(0xD40AAC51E8E4C663,propHash);end,\n"\ +"GET_VARIANT_COMPONENT=function(componentHash,variantComponentIndex,nameHash,enumValue,componentType)return _natives.invoke_void(0x6E11F282F11863B6,componentHash,variantComponentIndex,nameHash,enumValue,componentType);end,\n"\ +"GET_VARIANT_PROP=function(componentHash,variantPropIndex,nameHash,enumValue,anchorPoint)return _natives.invoke_void(0xD81B7F27BC773E66,componentHash,variantPropIndex,nameHash,enumValue,anchorPoint);end,\n"\ +"GET_SHOP_PED_APPAREL_FORCED_COMPONENT_COUNT=function(componentHash)return _natives.invoke_int(0xC6B9DB42C04DD8C3,componentHash);end,\n"\ +"GET_SHOP_PED_APPAREL_FORCED_PROP_COUNT=function(componentHash)return _natives.invoke_int(0x017568A8182D98A6,componentHash);end,\n"\ +"GET_FORCED_COMPONENT=function(componentHash,forcedComponentIndex,nameHash,enumValue,componentType)return _natives.invoke_void(0x6C93ED8C2F74859B,componentHash,forcedComponentIndex,nameHash,enumValue,componentType);end,\n"\ +"GET_FORCED_PROP=function(componentHash,forcedPropIndex,nameHash,enumValue,anchorPoint)return _natives.invoke_void(0xE1CA84EBF72E691D,componentHash,forcedPropIndex,nameHash,enumValue,anchorPoint);end,\n"\ +"DOES_SHOP_PED_APPAREL_HAVE_RESTRICTION_TAG=function(componentHash,restrictionTagHash,componentId)return _natives.invoke_bool(0x341DE7ED1D2A1BFD,componentHash,restrictionTagHash,componentId);end,\n"\ +"DOES_CURRENT_PED_COMPONENT_HAVE_RESTRICTION_TAG=function(ped,componentId,restrictionTagHash)return _natives.invoke_bool(0x7796B21B76221BC5,ped,componentId,restrictionTagHash);end,\n"\ +"DOES_CURRENT_PED_PROP_HAVE_RESTRICTION_TAG=function(ped,componentId,restrictionTagHash)return _natives.invoke_bool(0xD726BAB4554DA580,ped,componentId,restrictionTagHash);end,\n"\ +"SETUP_SHOP_PED_OUTFIT_QUERY=function(character,p1)return _natives.invoke_int(0xF3FBE2D50A6A8C28,character,p1);end,\n"\ +"GET_SHOP_PED_QUERY_OUTFIT=function(outfitIndex,outfit)return _natives.invoke_void(0x6D793F03A631FE56,outfitIndex,outfit);end,\n"\ +"GET_SHOP_PED_OUTFIT=function(p0,p1)return _natives.invoke_void(0xB7952076E444979D,p0,p1);end,\n"\ +"GET_SHOP_PED_OUTFIT_LOCATE=function(p0)return _natives.invoke_int(0x073CA26B079F956E,p0);end,\n"\ +"GET_SHOP_PED_OUTFIT_PROP_VARIANT=function(outfitHash,variantIndex,outPropVariant)return _natives.invoke_bool(0xA9F9C2E0FDE11CBB,outfitHash,variantIndex,outPropVariant);end,\n"\ +"GET_SHOP_PED_OUTFIT_COMPONENT_VARIANT=function(outfitHash,variantIndex,outComponentVariant)return _natives.invoke_bool(0x19F2A026EDF0013F,outfitHash,variantIndex,outComponentVariant);end,\n"\ +"GET_NUM_DLC_VEHICLES=function()return _natives.invoke_int(0xA7A866D21CD2329B);end,\n"\ +"GET_DLC_VEHICLE_MODEL=function(dlcVehicleIndex)return _natives.invoke_int(0xECC01B7C5763333C,dlcVehicleIndex);end,\n"\ +"GET_DLC_VEHICLE_DATA=function(dlcVehicleIndex,outData)return _natives.invoke_bool(0x33468EDC08E371F6,dlcVehicleIndex,outData);end,\n"\ +"GET_DLC_VEHICLE_FLAGS=function(dlcVehicleIndex)return _natives.invoke_int(0x5549EE11FA22FCF2,dlcVehicleIndex);end,\n"\ +"GET_NUM_DLC_WEAPONS=function()return _natives.invoke_int(0xEE47635F352DA367);end,\n"\ +"GET_NUM_DLC_WEAPONS_SP=function()return _natives.invoke_int(0x4160B65AE085B5A9);end,\n"\ +"GET_DLC_WEAPON_DATA=function(dlcWeaponIndex,outData)return _natives.invoke_bool(0x79923CD21BECE14E,dlcWeaponIndex,outData);end,\n"\ +"GET_DLC_WEAPON_DATA_SP=function(dlcWeaponIndex,outData)return _natives.invoke_bool(0x310836EE7129BA33,dlcWeaponIndex,outData);end,\n"\ +"GET_NUM_DLC_WEAPON_COMPONENTS=function(dlcWeaponIndex)return _natives.invoke_int(0x405425358A7D61FE,dlcWeaponIndex);end,\n"\ +"GET_NUM_DLC_WEAPON_COMPONENTS_SP=function(dlcWeaponIndex)return _natives.invoke_int(0xAD2A7A6DFF55841B,dlcWeaponIndex);end,\n"\ +"GET_DLC_WEAPON_COMPONENT_DATA=function(dlcWeaponIndex,dlcWeapCompIndex,ComponentDataPtr)return _natives.invoke_bool(0x6CF598A2957C2BF8,dlcWeaponIndex,dlcWeapCompIndex,ComponentDataPtr);end,\n"\ +"GET_DLC_WEAPON_COMPONENT_DATA_SP=function(dlcWeaponIndex,dlcWeapCompIndex,ComponentDataPtr)return _natives.invoke_bool(0x31D5E073B6F93CDC,dlcWeaponIndex,dlcWeapCompIndex,ComponentDataPtr);end,\n"\ +"IS_CONTENT_ITEM_LOCKED=function(itemHash)return _natives.invoke_bool(0xD4D7B033C3AA243C,itemHash);end,\n"\ +"IS_DLC_VEHICLE_MOD=function(hash)return _natives.invoke_bool(0x0564B9FF9631B82C,hash);end,\n"\ +"GET_DLC_VEHICLE_MOD_LOCK_HASH=function(hash)return _natives.invoke_int(0xC098810437312FFF,hash);end,\n"\ +"EXECUTE_CONTENT_CHANGESET_GROUP_FOR_ALL=function(hash)return _natives.invoke_void(0x6BEDF5769AC2DC07,hash);end,\n"\ +"REVERT_CONTENT_CHANGESET_GROUP_FOR_ALL=function(hash)return _natives.invoke_void(0x3C1978285B036B25,hash);end,\n"\ +"};\n"\ +"FIRE = {\n"\ +"START_SCRIPT_FIRE=function(X,Y,Z,maxChildren,isGasFire)return _natives.invoke_int(0x6B83617E04503888,X,Y,Z,maxChildren,isGasFire);end,\n"\ +"REMOVE_SCRIPT_FIRE=function(fireHandle)return _natives.invoke_void(0x7FF548385680673F,fireHandle);end,\n"\ +"START_ENTITY_FIRE=function(entity)return _natives.invoke_int(0xF6A9D9708F6F23DF,entity);end,\n"\ +"STOP_ENTITY_FIRE=function(entity)return _natives.invoke_void(0x7F0DD2EBBB651AFF,entity);end,\n"\ +"IS_ENTITY_ON_FIRE=function(entity)return _natives.invoke_bool(0x28D3FED7190D3A0B,entity);end,\n"\ +"GET_NUMBER_OF_FIRES_IN_RANGE=function(x,y,z,radius)return _natives.invoke_int(0x50CAD495A460B305,x,y,z,radius);end,\n"\ +"SET_FLAMMABILITY_MULTIPLIER=function(p0)return _natives.invoke_void(0x8F390AC4155099BA,p0);end,\n"\ +"STOP_FIRE_IN_RANGE=function(x,y,z,radius)return _natives.invoke_void(0x056A8A219B8E829F,x,y,z,radius);end,\n"\ +"GET_CLOSEST_FIRE_POS=function(outPosition,x,y,z)return _natives.invoke_bool(0x352A9F6BCF90081F,outPosition,x,y,z);end,\n"\ +"ADD_EXPLOSION=function(x,y,z,explosionType,damageScale,isAudible,isInvisible,cameraShake,noDamage)return _natives.invoke_void(0xE3AD2BDBAEE269AC,x,y,z,explosionType,damageScale,isAudible,isInvisible,cameraShake,noDamage);end,\n"\ +"ADD_OWNED_EXPLOSION=function(ped,x,y,z,explosionType,damageScale,isAudible,isInvisible,cameraShake)return _natives.invoke_void(0x172AA1B624FA1013,ped,x,y,z,explosionType,damageScale,isAudible,isInvisible,cameraShake);end,\n"\ +"ADD_EXPLOSION_WITH_USER_VFX=function(x,y,z,explosionType,explosionFx,damageScale,isAudible,isInvisible,cameraShake)return _natives.invoke_void(0x36DD3FE58B5E5212,x,y,z,explosionType,explosionFx,damageScale,isAudible,isInvisible,cameraShake);end,\n"\ +"IS_EXPLOSION_IN_AREA=function(explosionType,x1,y1,z1,x2,y2,z2)return _natives.invoke_bool(0x2E2EBA0EE7CED0E0,explosionType,x1,y1,z1,x2,y2,z2);end,\n"\ +"IS_EXPLOSION_ACTIVE_IN_AREA=function(explosionType,x1,y1,z1,x2,y2,z2)return _natives.invoke_bool(0x6070104B699B2EF4,explosionType,x1,y1,z1,x2,y2,z2);end,\n"\ +"IS_EXPLOSION_IN_SPHERE=function(explosionType,x,y,z,radius)return _natives.invoke_bool(0xAB0F816885B0E483,explosionType,x,y,z,radius);end,\n"\ +"GET_OWNER_OF_EXPLOSION_IN_SPHERE=function(explosionType,x,y,z,radius)return _natives.invoke_int(0xB3CD51E3DB86F176,explosionType,x,y,z,radius);end,\n"\ +"IS_EXPLOSION_IN_ANGLED_AREA=function(explosionType,x1,y1,z1,x2,y2,z2,width)return _natives.invoke_bool(0xA079A6C51525DC4B,explosionType,x1,y1,z1,x2,y2,z2,width);end,\n"\ +"GET_OWNER_OF_EXPLOSION_IN_ANGLED_AREA=function(explosionType,x1,y1,z1,x2,y2,z2,radius)return _natives.invoke_int(0x14BA4BA137AF6CEC,explosionType,x1,y1,z1,x2,y2,z2,radius);end,\n"\ +"};\n"\ +"GRAPHICS = {\n"\ +"SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE=function(enabled)return _natives.invoke_void(0x175B6BFC15CDD0C5,enabled);end,\n"\ +"DRAW_DEBUG_LINE=function(x1,y1,z1,x2,y2,z2,r,g,b,alpha)return _natives.invoke_void(0x7FDFADE676AA3CB0,x1,y1,z1,x2,y2,z2,r,g,b,alpha);end,\n"\ +"DRAW_DEBUG_LINE_WITH_TWO_COLOURS=function(x1,y1,z1,x2,y2,z2,r1,g1,b1,r2,g2,b2,alpha1,alpha2)return _natives.invoke_void(0xD8B9A8AC5608FF94,x1,y1,z1,x2,y2,z2,r1,g1,b1,r2,g2,b2,alpha1,alpha2);end,\n"\ +"DRAW_DEBUG_SPHERE=function(x,y,z,radius,red,green,blue,alpha)return _natives.invoke_void(0xAAD68E1AB39DA632,x,y,z,radius,red,green,blue,alpha);end,\n"\ +"DRAW_DEBUG_BOX=function(x1,y1,z1,x2,y2,z2,r,g,b,alpha)return _natives.invoke_void(0x083A2CA4F2E573BD,x1,y1,z1,x2,y2,z2,r,g,b,alpha);end,\n"\ +"DRAW_DEBUG_CROSS=function(x,y,z,size,red,green,blue,alpha)return _natives.invoke_void(0x73B1189623049839,x,y,z,size,red,green,blue,alpha);end,\n"\ +"DRAW_DEBUG_TEXT=function(text,x,y,z,red,green,blue,alpha)return _natives.invoke_void(0x3903E216620488E8,text,x,y,z,red,green,blue,alpha);end,\n"\ +"DRAW_DEBUG_TEXT_2D=function(text,x,y,z,red,green,blue,alpha)return _natives.invoke_void(0xA3BB2E9555C05A8F,text,x,y,z,red,green,blue,alpha);end,\n"\ +"DRAW_LINE=function(x1,y1,z1,x2,y2,z2,red,green,blue,alpha)return _natives.invoke_void(0x6B7256074AE34680,x1,y1,z1,x2,y2,z2,red,green,blue,alpha);end,\n"\ +"DRAW_POLY=function(x1,y1,z1,x2,y2,z2,x3,y3,z3,red,green,blue,alpha)return _natives.invoke_void(0xAC26716048436851,x1,y1,z1,x2,y2,z2,x3,y3,z3,red,green,blue,alpha);end,\n"\ +"DRAW_TEXTURED_POLY=function(x1,y1,z1,x2,y2,z2,x3,y3,z3,red,green,blue,alpha,textureDict,textureName,u1,v1,w1,u2,v2,w2,u3,v3,w3)return _natives.invoke_void(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);end,\n"\ +"DRAW_TEXTURED_POLY_WITH_THREE_COLOURS=function(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)return _natives.invoke_void(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);end,\n"\ +"DRAW_BOX=function(x1,y1,z1,x2,y2,z2,red,green,blue,alpha)return _natives.invoke_void(0xD3A9971CADAC7252,x1,y1,z1,x2,y2,z2,red,green,blue,alpha);end,\n"\ +"SET_BACKFACECULLING=function(toggle)return _natives.invoke_void(0x23BA6B0C2AD7B0D3,toggle);end,\n"\ +"SET_DEPTHWRITING=function(toggle)return _natives.invoke_void(0xC5C8F970D4EDFF71,toggle);end,\n"\ +"BEGIN_TAKE_MISSION_CREATOR_PHOTO=function()return _natives.invoke_bool(0x1DD2139A9A20DCE8);end,\n"\ +"GET_STATUS_OF_TAKE_MISSION_CREATOR_PHOTO=function()return _natives.invoke_int(0x90A78ECAA4E78453);end,\n"\ +"FREE_MEMORY_FOR_MISSION_CREATOR_PHOTO=function()return _natives.invoke_void(0x0A46AF8A78DC5E0A);end,\n"\ +"LOAD_MISSION_CREATOR_PHOTO=function(p0,p1,p2,p3)return _natives.invoke_bool(0x4862437A486F91B0,p0,p1,p2,p3);end,\n"\ +"GET_STATUS_OF_LOAD_MISSION_CREATOR_PHOTO=function(p0)return _natives.invoke_int(0x1670F8D05056F257,p0);end,\n"\ +"BEGIN_CREATE_MISSION_CREATOR_PHOTO_PREVIEW=function()return _natives.invoke_bool(0x7FA5D82B8F58EC06);end,\n"\ +"GET_STATUS_OF_CREATE_MISSION_CREATOR_PHOTO_PREVIEW=function()return _natives.invoke_int(0x5B0316762AFD4A64);end,\n"\ +"FREE_MEMORY_FOR_MISSION_CREATOR_PHOTO_PREVIEW=function()return _natives.invoke_void(0x346EF3ECAAAB149E);end,\n"\ +"BEGIN_TAKE_HIGH_QUALITY_PHOTO=function()return _natives.invoke_bool(0xA67C35C56EB1BD9D);end,\n"\ +"GET_STATUS_OF_TAKE_HIGH_QUALITY_PHOTO=function()return _natives.invoke_int(0x0D6CA79EEEBD8CA3);end,\n"\ +"FREE_MEMORY_FOR_HIGH_QUALITY_PHOTO=function()return _natives.invoke_void(0xD801CC02177FA3F1);end,\n"\ +"SET_TAKEN_PHOTO_IS_MUGSHOT=function(toggle)return _natives.invoke_void(0x1BBC135A4D25EDDE,toggle);end,\n"\ +"SET_ARENA_THEME_AND_VARIATION_FOR_TAKEN_PHOTO=function(p0,p1)return _natives.invoke_void(0xF3F776ADA161E47D,p0,p1);end,\n"\ +"SET_ON_ISLAND_X_FOR_TAKEN_PHOTO=function(p0)return _natives.invoke_void(0xADD6627C4D325458,p0);end,\n"\ +"SAVE_HIGH_QUALITY_PHOTO=function(unused)return _natives.invoke_bool(0x3DEC726C25A11BAC,unused);end,\n"\ +"GET_STATUS_OF_SAVE_HIGH_QUALITY_PHOTO=function()return _natives.invoke_int(0x0C0C4E81E1AC60A0);end,\n"\ +"BEGIN_CREATE_LOW_QUALITY_COPY_OF_PHOTO=function(p0)return _natives.invoke_bool(0x759650634F07B6B4,p0);end,\n"\ +"GET_STATUS_OF_CREATE_LOW_QUALITY_COPY_OF_PHOTO=function(p0)return _natives.invoke_int(0xCB82A0BF0E3E3265,p0);end,\n"\ +"FREE_MEMORY_FOR_LOW_QUALITY_PHOTO=function()return _natives.invoke_void(0x6A12D88881435DCA);end,\n"\ +"DRAW_LOW_QUALITY_PHOTO_TO_PHONE=function(p0,p1)return _natives.invoke_void(0x1072F115DAB0717E,p0,p1);end,\n"\ +"GET_MAXIMUM_NUMBER_OF_PHOTOS=function()return _natives.invoke_int(0x34D23450F028B0BF);end,\n"\ +"GET_MAXIMUM_NUMBER_OF_CLOUD_PHOTOS=function()return _natives.invoke_int(0xDC54A7AF8B3A14EF);end,\n"\ +"GET_CURRENT_NUMBER_OF_CLOUD_PHOTOS=function()return _natives.invoke_int(0x473151EBC762C6DA);end,\n"\ +"QUEUE_OPERATION_TO_CREATE_SORTED_LIST_OF_PHOTOS=function(p0)return _natives.invoke_bool(0x2A893980E96B659A,p0);end,\n"\ +"GET_STATUS_OF_SORTED_LIST_OPERATION=function(p0)return _natives.invoke_int(0xF5BED327CEA362B1,p0);end,\n"\ +"CLEAR_STATUS_OF_SORTED_LIST_OPERATION=function()return _natives.invoke_void(0x4AF92ACD3141D96C);end,\n"\ +"DOES_THIS_PHOTO_SLOT_CONTAIN_A_VALID_PHOTO=function(p0)return _natives.invoke_bool(0xE791DF1F73ED2C8B,p0);end,\n"\ +"LOAD_HIGH_QUALITY_PHOTO=function(p0)return _natives.invoke_bool(0xEC72C258667BE5EA,p0);end,\n"\ +"GET_LOAD_HIGH_QUALITY_PHOTO_STATUS=function(p0)return _natives.invoke_int(0x40AFB081F8ADD4EE,p0);end,\n"\ +"DRAW_LIGHT_WITH_RANGEEX=function(x,y,z,r,g,b,range,intensity,shadow)return _natives.invoke_void(0xF49E9A9716A04595,x,y,z,r,g,b,range,intensity,shadow);end,\n"\ +"DRAW_LIGHT_WITH_RANGE=function(posX,posY,posZ,colorR,colorG,colorB,range,intensity)return _natives.invoke_void(0xF2A1B2771A01DBD4,posX,posY,posZ,colorR,colorG,colorB,range,intensity);end,\n"\ +"DRAW_SPOT_LIGHT=function(posX,posY,posZ,dirX,dirY,dirZ,colorR,colorG,colorB,distance,brightness,hardness,radius,falloff)return _natives.invoke_void(0xD0F64B265C8C8B33,posX,posY,posZ,dirX,dirY,dirZ,colorR,colorG,colorB,distance,brightness,hardness,radius,falloff);end,\n"\ +"DRAW_SHADOWED_SPOT_LIGHT=function(posX,posY,posZ,dirX,dirY,dirZ,colorR,colorG,colorB,distance,brightness,roundness,radius,falloff,shadowId)return _natives.invoke_void(0x5BCA583A583194DB,posX,posY,posZ,dirX,dirY,dirZ,colorR,colorG,colorB,distance,brightness,roundness,radius,falloff,shadowId);end,\n"\ +"FADE_UP_PED_LIGHT=function(p0)return _natives.invoke_void(0xC9B18B4619F48F7B,p0);end,\n"\ +"UPDATE_LIGHTS_ON_ENTITY=function(entity)return _natives.invoke_void(0xDEADC0DEDEADC0DE,entity);end,\n"\ +"SET_LIGHT_OVERRIDE_MAX_INTENSITY_SCALE=function(p0)return _natives.invoke_void(0x9641588DAB93B4B5,p0);end,\n"\ +"GET_LIGHT_OVERRIDE_MAX_INTENSITY_SCALE=function()return _natives.invoke_float(0x393BD2275CEB7793);end,\n"\ +"DRAW_MARKER=function(type,posX,posY,posZ,dirX,dirY,dirZ,rotX,rotY,rotZ,scaleX,scaleY,scaleZ,red,green,blue,alpha,bobUpAndDown,faceCamera,p19,rotate,textureDict,textureName,drawOnEnts)return _natives.invoke_void(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);end,\n"\ +"DRAW_MARKER_EX=function(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)return _natives.invoke_void(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);end,\n"\ +"DRAW_MARKER_SPHERE=function(x,y,z,radius,red,green,blue,alpha)return _natives.invoke_void(0x799017F9E3B10112,x,y,z,radius,red,green,blue,alpha);end,\n"\ +"CREATE_CHECKPOINT=function(type,posX1,posY1,posZ1,posX2,posY2,posZ2,diameter,red,green,blue,alpha,reserved)return _natives.invoke_int(0x0134F0835AB6BFCB,type,posX1,posY1,posZ1,posX2,posY2,posZ2,diameter,red,green,blue,alpha,reserved);end,\n"\ +"SET_CHECKPOINT_INSIDE_CYLINDER_HEIGHT_SCALE=function(checkpoint,scale)return _natives.invoke_void(0x4B5B4DA5D79F1943,checkpoint,scale);end,\n"\ +"SET_CHECKPOINT_INSIDE_CYLINDER_SCALE=function(checkpoint,scale)return _natives.invoke_void(0x44621483FF966526,checkpoint,scale);end,\n"\ +"SET_CHECKPOINT_CYLINDER_HEIGHT=function(checkpoint,nearHeight,farHeight,radius)return _natives.invoke_void(0x2707AAE9D9297D89,checkpoint,nearHeight,farHeight,radius);end,\n"\ +"SET_CHECKPOINT_RGBA=function(checkpoint,red,green,blue,alpha)return _natives.invoke_void(0x7167371E8AD747F7,checkpoint,red,green,blue,alpha);end,\n"\ +"SET_CHECKPOINT_RGBA2=function(checkpoint,red,green,blue,alpha)return _natives.invoke_void(0xB9EA40907C680580,checkpoint,red,green,blue,alpha);end,\n"\ +"SET_CHECKPOINT_CLIPPLANE_WITH_POS_NORM=function(checkpoint,posX,posY,posZ,unkX,unkY,unkZ)return _natives.invoke_void(0xF51D36185993515D,checkpoint,posX,posY,posZ,unkX,unkY,unkZ);end,\n"\ +"SET_CHECKPOINT_FORCE_OLD_ARROW_POINTING=function(checkpoint)return _natives.invoke_void(0xFCF6788FC4860CD4,checkpoint);end,\n"\ +"SET_CHECKPOINT_DECAL_ROT_ALIGNED_TO_CAMERA_ROT=function(checkpoint)return _natives.invoke_void(0x615D3925E87A3B26,checkpoint);end,\n"\ +"SET_CHECKPOINT_FORCE_DIRECTION=function(checkpoint)return _natives.invoke_void(0xDB1EA9411C8911EC,checkpoint);end,\n"\ +"SET_CHECKPOINT_DIRECTION=function(checkpoint,posX,posY,posZ)return _natives.invoke_void(0x3C788E7F6438754D,checkpoint,posX,posY,posZ);end,\n"\ +"DELETE_CHECKPOINT=function(checkpoint)return _natives.invoke_void(0xF5ED37F54CD4D52E,checkpoint);end,\n"\ +"DONT_RENDER_IN_GAME_UI=function(p0)return _natives.invoke_void(0x22A249A53034450A,p0);end,\n"\ +"FORCE_RENDER_IN_GAME_UI=function(toggle)return _natives.invoke_void(0xDC459CFA0CCE245B,toggle);end,\n"\ +"REQUEST_STREAMED_TEXTURE_DICT=function(textureDict,p1)return _natives.invoke_void(0xDFA2EF8E04127DD5,textureDict,p1);end,\n"\ +"HAS_STREAMED_TEXTURE_DICT_LOADED=function(textureDict)return _natives.invoke_bool(0x0145F696AAAAD2E4,textureDict);end,\n"\ +"SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED=function(textureDict)return _natives.invoke_void(0xBE2CACCF5A8AA805,textureDict);end,\n"\ +"DRAW_RECT=function(x,y,width,height,r,g,b,a,p8)return _natives.invoke_void(0x3A618A217E5154F0,x,y,width,height,r,g,b,a,p8);end,\n"\ +"SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU=function(toggle)return _natives.invoke_void(0xC6372ECD45D73BCD,toggle);end,\n"\ +"SET_SCRIPT_GFX_DRAW_ORDER=function(drawOrder)return _natives.invoke_void(0x61BB1D9B3A95D802,drawOrder);end,\n"\ +"SET_SCRIPT_GFX_ALIGN=function(horizontalAlign,verticalAlign)return _natives.invoke_void(0xB8A850F20A067EB6,horizontalAlign,verticalAlign);end,\n"\ +"RESET_SCRIPT_GFX_ALIGN=function()return _natives.invoke_void(0xE3A3DB414A373DAB);end,\n"\ +"SET_SCRIPT_GFX_ALIGN_PARAMS=function(x,y,w,h)return _natives.invoke_void(0xF5A2C681787E579D,x,y,w,h);end,\n"\ +"GET_SCRIPT_GFX_ALIGN_POSITION=function(x,y,calculatedX,calculatedY)return _natives.invoke_void(0x6DD8F5AA635EB4B2,x,y,calculatedX,calculatedY);end,\n"\ +"GET_SAFE_ZONE_SIZE=function()return _natives.invoke_float(0xBAF107B6BB2C97F0);end,\n"\ +"DRAW_SPRITE=function(textureDict,textureName,screenX,screenY,width,height,heading,red,green,blue,alpha,p11,p12)return _natives.invoke_void(0xE7FFAE5EBF23D890,textureDict,textureName,screenX,screenY,width,height,heading,red,green,blue,alpha,p11,p12);end,\n"\ +"DRAW_SPRITE_ARX=function(textureDict,textureName,x,y,width,height,p6,red,green,blue,alpha,p11,p12)return _natives.invoke_void(0x2D3B147AFAD49DE0,textureDict,textureName,x,y,width,height,p6,red,green,blue,alpha,p11,p12);end,\n"\ +"DRAW_SPRITE_NAMED_RENDERTARGET=function(textureDict,textureName,screenX,screenY,width,height,heading,red,green,blue,alpha,p11)return _natives.invoke_void(0x2BC54A8188768488,textureDict,textureName,screenX,screenY,width,height,heading,red,green,blue,alpha,p11);end,\n"\ +"DRAW_SPRITE_ARX_WITH_UV=function(textureDict,textureName,x,y,width,height,u1,v1,u2,v2,heading,red,green,blue,alpha,p15)return _natives.invoke_void(0x95812F9B26074726,textureDict,textureName,x,y,width,height,u1,v1,u2,v2,heading,red,green,blue,alpha,p15);end,\n"\ +"ADD_ENTITY_ICON=function(entity,icon)return _natives.invoke_int(0x9CD43EEE12BF4DD0,entity,icon);end,\n"\ +"SET_ENTITY_ICON_VISIBILITY=function(entity,toggle)return _natives.invoke_void(0xE0E8BEECCA96BA31,entity,toggle);end,\n"\ +"SET_ENTITY_ICON_COLOR=function(entity,red,green,blue,alpha)return _natives.invoke_void(0x1D5F595CCAE2E238,entity,red,green,blue,alpha);end,\n"\ +"SET_DRAW_ORIGIN=function(x,y,z,p3)return _natives.invoke_void(0xAA0008F3BBB8F416,x,y,z,p3);end,\n"\ +"CLEAR_DRAW_ORIGIN=function()return _natives.invoke_void(0xFF0B610F6BE0D7AF);end,\n"\ +"SET_BINK_MOVIE=function(name)return _natives.invoke_int(0x338D9F609FD632DB,name);end,\n"\ +"PLAY_BINK_MOVIE=function(binkMovie)return _natives.invoke_void(0x70D2CC8A542A973C,binkMovie);end,\n"\ +"STOP_BINK_MOVIE=function(binkMovie)return _natives.invoke_void(0x63606A61DE68898A,binkMovie);end,\n"\ +"RELEASE_BINK_MOVIE=function(binkMovie)return _natives.invoke_void(0x04D950EEFA4EED8C,binkMovie);end,\n"\ +"DRAW_BINK_MOVIE=function(binkMovie,p1,p2,p3,p4,p5,r,g,b,a)return _natives.invoke_void(0x7118E83EEB9F7238,binkMovie,p1,p2,p3,p4,p5,r,g,b,a);end,\n"\ +"SET_BINK_MOVIE_TIME=function(binkMovie,progress)return _natives.invoke_void(0x0CB6B3446855B57A,binkMovie,progress);end,\n"\ +"GET_BINK_MOVIE_TIME=function(binkMovie)return _natives.invoke_float(0x8E17DDD6B9D5BF29,binkMovie);end,\n"\ +"SET_BINK_MOVIE_VOLUME=function(binkMovie,value)return _natives.invoke_void(0xAFF33B1178172223,binkMovie,value);end,\n"\ +"ATTACH_TV_AUDIO_TO_ENTITY=function(entity)return _natives.invoke_void(0x845BAD77CC770633,entity);end,\n"\ +"SET_BINK_MOVIE_AUDIO_FRONTEND=function(binkMovie,p1)return _natives.invoke_void(0xF816F2933752322D,binkMovie,p1);end,\n"\ +"SET_TV_AUDIO_FRONTEND=function(toggle)return _natives.invoke_void(0x113D2C5DC57E1774,toggle);end,\n"\ +"SET_BINK_SHOULD_SKIP=function(binkMovie,bShouldSkip)return _natives.invoke_void(0x6805D58CAA427B72,binkMovie,bShouldSkip);end,\n"\ +"LOAD_MOVIE_MESH_SET=function(movieMeshSetName)return _natives.invoke_int(0xB66064452270E8F1,movieMeshSetName);end,\n"\ +"RELEASE_MOVIE_MESH_SET=function(movieMeshSet)return _natives.invoke_void(0xEB119AA014E89183,movieMeshSet);end,\n"\ +"QUERY_MOVIE_MESH_SET_STATE=function(p0)return _natives.invoke_int(0x9B6E70C5CEEF4EEB,p0);end,\n"\ +"GET_SCREEN_RESOLUTION=function(x,y)return _natives.invoke_void(0x888D57E407E63624,x,y);end,\n"\ +"GET_ACTUAL_SCREEN_RESOLUTION=function(x,y)return _natives.invoke_void(0x873C9F3104101DD3,x,y);end,\n"\ +"GET_ASPECT_RATIO=function(b)return _natives.invoke_float(0xF1307EF624A80D87,b);end,\n"\ +"GET_SCREEN_ASPECT_RATIO=function()return _natives.invoke_float(0xB2EBE8CBC58B90E9);end,\n"\ +"GET_IS_WIDESCREEN=function()return _natives.invoke_bool(0x30CF4BDA4FCB1905);end,\n"\ +"GET_IS_HIDEF=function()return _natives.invoke_bool(0x84ED31191CC5D2C9);end,\n"\ +"ADJUST_NEXT_POS_SIZE_AS_NORMALIZED_16_9=function()return _natives.invoke_void(0xEFABC7722293DA7C);end,\n"\ +"SET_NIGHTVISION=function(toggle)return _natives.invoke_void(0x18F621F7A5B1F85D,toggle);end,\n"\ +"GET_REQUESTINGNIGHTVISION=function()return _natives.invoke_bool(0x35FB78DC42B7BD21);end,\n"\ +"GET_USINGNIGHTVISION=function()return _natives.invoke_bool(0x2202A3F42C8E5F79);end,\n"\ +"SET_EXPOSURETWEAK=function(toggle)return _natives.invoke_void(0xEF398BEEE4EF45F9,toggle);end,\n"\ +"FORCE_EXPOSURE_READBACK=function(toggle)return _natives.invoke_void(0x814AF7DCAACC597B,toggle);end,\n"\ +"OVERRIDE_NIGHTVISION_LIGHT_RANGE=function(p0)return _natives.invoke_void(0x43FA7CBE20DAB219,p0);end,\n"\ +"SET_NOISEOVERIDE=function(toggle)return _natives.invoke_void(0xE787BF1C5CF823C9,toggle);end,\n"\ +"SET_NOISINESSOVERIDE=function(value)return _natives.invoke_void(0xCB6A7C3BB17A0C67,value);end,\n"\ +"GET_SCREEN_COORD_FROM_WORLD_COORD=function(worldX,worldY,worldZ,screenX,screenY)return _natives.invoke_bool(0x34E82F05DF2974F5,worldX,worldY,worldZ,screenX,screenY);end,\n"\ +"GET_TEXTURE_RESOLUTION=function(textureDict,textureName)return _natives.invoke_vec3(0x35736EE65BD00C11,textureDict,textureName);end,\n"\ +"OVERRIDE_PED_CREW_LOGO_TEXTURE=function(ped,txd,txn)return _natives.invoke_bool(0x95EB5E34F821BABE,ped,txd,txn);end,\n"\ +"SET_DISTANCE_BLUR_STRENGTH_OVERRIDE=function(p0)return _natives.invoke_void(0xE2892E7E55D7073A,p0);end,\n"\ +"SET_FLASH=function(p0,p1,fadeIn,duration,fadeOut)return _natives.invoke_void(0x0AB84296FED9CFC6,p0,p1,fadeIn,duration,fadeOut);end,\n"\ +"DISABLE_OCCLUSION_THIS_FRAME=function()return _natives.invoke_void(0x3669F1B198DCAA4F);end,\n"\ +"SET_ARTIFICIAL_LIGHTS_STATE=function(state)return _natives.invoke_void(0x1268615ACE24D504,state);end,\n"\ +"SET_ARTIFICIAL_VEHICLE_LIGHTS_STATE=function(toggle)return _natives.invoke_void(0xE2B187C0939B3D32,toggle);end,\n"\ +"DISABLE_HDTEX_THIS_FRAME=function()return _natives.invoke_void(0xC35A6D07C93802B2);end,\n"\ +"CREATE_TRACKED_POINT=function()return _natives.invoke_int(0xE2C9439ED45DEA60);end,\n"\ +"SET_TRACKED_POINT_INFO=function(point,x,y,z,radius)return _natives.invoke_void(0x164ECBB3CF750CB0,point,x,y,z,radius);end,\n"\ +"IS_TRACKED_POINT_VISIBLE=function(point)return _natives.invoke_bool(0xC45CCDAAC9221CA8,point);end,\n"\ +"DESTROY_TRACKED_POINT=function(point)return _natives.invoke_void(0xB25DC90BAD56CA42,point);end,\n"\ +"SET_GRASS_CULL_SPHERE=function(p0,p1,p2,p3)return _natives.invoke_int(0xBE197EAA669238F4,p0,p1,p2,p3);end,\n"\ +"REMOVE_GRASS_CULL_SPHERE=function(handle)return _natives.invoke_void(0x61F95E5BB3E0A8C6,handle);end,\n"\ +"PROCGRASS_ENABLE_CULLSPHERE=function(handle,x,y,z,scale)return _natives.invoke_void(0xAE51BC858F32BA66,handle,x,y,z,scale);end,\n"\ +"PROCGRASS_DISABLE_CULLSPHERE=function(handle)return _natives.invoke_void(0x649C97D52332341A,handle);end,\n"\ +"PROCGRASS_IS_CULLSPHERE_ENABLED=function(handle)return _natives.invoke_bool(0x2C42340F916C5930,handle);end,\n"\ +"PROCGRASS_ENABLE_AMBSCALESCAN=function()return _natives.invoke_void(0x14FC5833464340A8);end,\n"\ +"PROCGRASS_DISABLE_AMBSCALESCAN=function()return _natives.invoke_void(0x0218BA067D249DEA);end,\n"\ +"DISABLE_PROCOBJ_CREATION=function()return _natives.invoke_void(0x1612C45F9E3E0D44);end,\n"\ +"ENABLE_PROCOBJ_CREATION=function()return _natives.invoke_void(0x5DEBD9C4DC995692);end,\n"\ +"GRASSBATCH_ENABLE_FLATTENING_EXT_IN_SPHERE=function(x,y,z,p3,p4,p5,p6,scale)return _natives.invoke_void(0xAAE9BE70EC7C69AB,x,y,z,p3,p4,p5,p6,scale);end,\n"\ +"GRASSBATCH_ENABLE_FLATTENING_IN_SPHERE=function(x,y,z,radius,p4,p5,p6)return _natives.invoke_void(0x6D955F6A9E0295B1,x,y,z,radius,p4,p5,p6);end,\n"\ +"GRASSBATCH_DISABLE_FLATTENING=function()return _natives.invoke_void(0x302C91AB2D477F7E);end,\n"\ +"CASCADE_SHADOWS_INIT_SESSION=function()return _natives.invoke_void(0x03FC694AE06C5A20);end,\n"\ +"CASCADE_SHADOWS_SET_CASCADE_BOUNDS=function(p0,p1,p2,p3,p4,p5,p6,p7)return _natives.invoke_void(0xD2936CAB8B58FCBD,p0,p1,p2,p3,p4,p5,p6,p7);end,\n"\ +"CASCADE_SHADOWS_SET_CASCADE_BOUNDS_SCALE=function(p0)return _natives.invoke_void(0x5F0F3F56635809EF,p0);end,\n"\ +"CASCADE_SHADOWS_SET_ENTITY_TRACKER_SCALE=function(p0)return _natives.invoke_void(0x5E9DAF5A20F15908,p0);end,\n"\ +"CASCADE_SHADOWS_SET_SPLIT_Z_EXP_WEIGHT=function(p0)return _natives.invoke_void(0x36F6626459D91457,p0);end,\n"\ +"CASCADE_SHADOWS_SET_BOUND_POSITION=function(p0)return _natives.invoke_void(0x259BA6D4E6F808F1,p0);end,\n"\ +"CASCADE_SHADOWS_ENABLE_ENTITY_TRACKER=function(toggle)return _natives.invoke_void(0x80ECBC0C856D3B0B,toggle);end,\n"\ +"CASCADE_SHADOWS_SET_SCREEN_SIZE_CHECK_ENABLED=function(p0)return _natives.invoke_void(0x25FC3E33A31AD0C9,p0);end,\n"\ +"CASCADE_SHADOWS_SET_SHADOW_SAMPLE_TYPE=function(type)return _natives.invoke_void(0xB11D94BC55F41932,type);end,\n"\ +"CASCADE_SHADOWS_CLEAR_SHADOW_SAMPLE_TYPE=function()return _natives.invoke_void(0x27CB772218215325);end,\n"\ +"CASCADE_SHADOWS_SET_AIRCRAFT_MODE=function(p0)return _natives.invoke_void(0x6DDBF9DFFC4AC080,p0);end,\n"\ +"CASCADE_SHADOWS_SET_DYNAMIC_DEPTH_MODE=function(p0)return _natives.invoke_void(0xD39D13C9FEBF0511,p0);end,\n"\ +"CASCADE_SHADOWS_SET_DYNAMIC_DEPTH_VALUE=function(p0)return _natives.invoke_void(0x02AC28F3A01FA04A,p0);end,\n"\ +"CASCADE_SHADOWS_ENABLE_FREEZER=function(p0)return _natives.invoke_void(0x0AE73D8DF3A762B2,p0);end,\n"\ +"WATER_REFLECTION_SET_SCRIPT_OBJECT_VISIBILITY=function(p0)return _natives.invoke_void(0xCA465D9CC0D231BA,p0);end,\n"\ +"GOLF_TRAIL_SET_ENABLED=function(toggle)return _natives.invoke_void(0xA51C4B86B71652AE,toggle);end,\n"\ +"GOLF_TRAIL_SET_PATH=function(p0,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_void(0x312342E1A4874F3F,p0,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"GOLF_TRAIL_SET_RADIUS=function(p0,p1,p2)return _natives.invoke_void(0x2485D34E50A22E84,p0,p1,p2);end,\n"\ +"GOLF_TRAIL_SET_COLOUR=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)return _natives.invoke_void(0x12995F2E53FFA601,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11);end,\n"\ +"GOLF_TRAIL_SET_TESSELLATION=function(p0,p1)return _natives.invoke_void(0xDBAA5EC848BA2D46,p0,p1);end,\n"\ +"GOLF_TRAIL_SET_FIXED_CONTROL_POINT_ENABLE=function(p0)return _natives.invoke_void(0xC0416B061F2B7E5E,p0);end,\n"\ +"GOLF_TRAIL_SET_FIXED_CONTROL_POINT=function(type,xPos,yPos,zPos,p4,red,green,blue,alpha)return _natives.invoke_void(0xB1BB03742917A5D6,type,xPos,yPos,zPos,p4,red,green,blue,alpha);end,\n"\ +"GOLF_TRAIL_SET_SHADER_PARAMS=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x9CFDD90B2B844BF7,p0,p1,p2,p3,p4);end,\n"\ +"GOLF_TRAIL_SET_FACING=function(p0)return _natives.invoke_void(0x06F761EA47C1D3ED,p0);end,\n"\ +"GOLF_TRAIL_GET_MAX_HEIGHT=function()return _natives.invoke_float(0xA4819F5E23E2FFAD);end,\n"\ +"GOLF_TRAIL_GET_VISUAL_CONTROL_POINT=function(p0)return _natives.invoke_vec3(0xA4664972A9B8F8BA,p0);end,\n"\ +"SET_SEETHROUGH=function(toggle)return _natives.invoke_void(0x7E08924259E08CE0,toggle);end,\n"\ +"GET_USINGSEETHROUGH=function()return _natives.invoke_bool(0x44B80ABAB9D80BD3);end,\n"\ +"SEETHROUGH_RESET=function()return _natives.invoke_void(0x70A64C0234EF522C);end,\n"\ +"SEETHROUGH_SET_FADE_STARTDISTANCE=function(distance)return _natives.invoke_void(0xA78DE25577300BA1,distance);end,\n"\ +"SEETHROUGH_SET_FADE_ENDDISTANCE=function(distance)return _natives.invoke_void(0x9D75795B9DC6EBBF,distance);end,\n"\ +"SEETHROUGH_GET_MAX_THICKNESS=function()return _natives.invoke_float(0x43DBAE39626CE83F);end,\n"\ +"SEETHROUGH_SET_MAX_THICKNESS=function(thickness)return _natives.invoke_void(0x0C8FAC83902A62DF,thickness);end,\n"\ +"SEETHROUGH_SET_NOISE_MIN=function(amount)return _natives.invoke_void(0xFF5992E1C9E65D05,amount);end,\n"\ +"SEETHROUGH_SET_NOISE_MAX=function(amount)return _natives.invoke_void(0xFEBFBFDFB66039DE,amount);end,\n"\ +"SEETHROUGH_SET_HILIGHT_INTENSITY=function(intensity)return _natives.invoke_void(0x19E50EB6E33E1D28,intensity);end,\n"\ +"SEETHROUGH_SET_HIGHLIGHT_NOISE=function(noise)return _natives.invoke_void(0x1636D7FC127B10D2,noise);end,\n"\ +"SEETHROUGH_SET_HEATSCALE=function(index,heatScale)return _natives.invoke_void(0xD7D0B00177485411,index,heatScale);end,\n"\ +"SEETHROUGH_SET_COLOR_NEAR=function(red,green,blue)return _natives.invoke_void(0x1086127B3A63505E,red,green,blue);end,\n"\ +"SET_MOTIONBLUR_MAX_VEL_SCALER=function(p0)return _natives.invoke_void(0xB3C641F3630BF6DA,p0);end,\n"\ +"GET_MOTIONBLUR_MAX_VEL_SCALER=function()return _natives.invoke_float(0xE59343E9E96529E7);end,\n"\ +"SET_FORCE_MOTIONBLUR=function(toggle)return _natives.invoke_void(0x6A51F78772175A51,toggle);end,\n"\ +"TOGGLE_PLAYER_DAMAGE_OVERLAY=function(toggle)return _natives.invoke_void(0xE63D7C6EECECB66B,toggle);end,\n"\ +"RESET_ADAPTATION=function(p0)return _natives.invoke_void(0xE3E2C1B4C59DBC77,p0);end,\n"\ +"TRIGGER_SCREENBLUR_FADE_IN=function(transitionTime)return _natives.invoke_bool(0xA328A24AAA6B7FDC,transitionTime);end,\n"\ +"TRIGGER_SCREENBLUR_FADE_OUT=function(transitionTime)return _natives.invoke_bool(0xEFACC8AEF94430D5,transitionTime);end,\n"\ +"DISABLE_SCREENBLUR_FADE=function()return _natives.invoke_void(0xDE81239437E8C5A8);end,\n"\ +"GET_SCREENBLUR_FADE_CURRENT_TIME=function()return _natives.invoke_float(0x5CCABFFCA31DDE33);end,\n"\ +"IS_SCREENBLUR_FADE_RUNNING=function()return _natives.invoke_bool(0x7B226C785A52A0A9);end,\n"\ +"TOGGLE_PAUSED_RENDERPHASES=function(toggle)return _natives.invoke_void(0xDFC252D8A3E15AB7,toggle);end,\n"\ +"GET_TOGGLE_PAUSED_RENDERPHASES_STATUS=function()return _natives.invoke_bool(0xEB3DAC2C86001E5E);end,\n"\ +"RESET_PAUSED_RENDERPHASES=function()return _natives.invoke_void(0xE1C8709406F2C41C);end,\n"\ +"GRAB_PAUSEMENU_OWNERSHIP=function()return _natives.invoke_void(0x851CD923176EBA7C);end,\n"\ +"SET_HIDOF_OVERRIDE=function(p0,p1,nearplaneOut,nearplaneIn,farplaneOut,farplaneIn)return _natives.invoke_void(0xBA3D65906822BED5,p0,p1,nearplaneOut,nearplaneIn,farplaneOut,farplaneIn);end,\n"\ +"SET_LOCK_ADAPTIVE_DOF_DISTANCE=function(p0)return _natives.invoke_void(0xB569F41F3E7E83A4,p0);end,\n"\ +"PHONEPHOTOEDITOR_TOGGLE=function(p0)return _natives.invoke_bool(0x7AC24EAB6D74118D,p0);end,\n"\ +"PHONEPHOTOEDITOR_IS_ACTIVE=function()return _natives.invoke_bool(0xBCEDB009461DA156);end,\n"\ +"PHONEPHOTOEDITOR_SET_FRAME_TXD=function(textureDict,p1)return _natives.invoke_bool(0x27FEB5254759CDE3,textureDict,p1);end,\n"\ +"START_PARTICLE_FX_NON_LOOPED_AT_COORD=function(effectName,xPos,yPos,zPos,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis)return _natives.invoke_bool(0x25129531F77B9ED3,effectName,xPos,yPos,zPos,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis);end,\n"\ +"START_NETWORKED_PARTICLE_FX_NON_LOOPED_AT_COORD=function(effectName,xPos,yPos,zPos,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis,p11)return _natives.invoke_bool(0xF56B8137DF10135D,effectName,xPos,yPos,zPos,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis,p11);end,\n"\ +"START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE=function(effectName,ped,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,boneIndex,scale,axisX,axisY,axisZ)return _natives.invoke_bool(0x0E7E72961BA18619,effectName,ped,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,boneIndex,scale,axisX,axisY,axisZ);end,\n"\ +"START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_PED_BONE=function(effectName,ped,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,boneIndex,scale,axisX,axisY,axisZ)return _natives.invoke_bool(0xA41B6A43642AC2CF,effectName,ped,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,boneIndex,scale,axisX,axisY,axisZ);end,\n"\ +"START_PARTICLE_FX_NON_LOOPED_ON_ENTITY=function(effectName,entity,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,scale,axisX,axisY,axisZ)return _natives.invoke_bool(0x0D53A3B8DA0809D2,effectName,entity,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,scale,axisX,axisY,axisZ);end,\n"\ +"START_NETWORKED_PARTICLE_FX_NON_LOOPED_ON_ENTITY=function(effectName,entity,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,scale,axisX,axisY,axisZ)return _natives.invoke_bool(0xC95EB1DB6E92113D,effectName,entity,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,scale,axisX,axisY,axisZ);end,\n"\ +"START_PARTICLE_FX_NON_LOOPED_ON_ENTITY_BONE=function(effectName,entity,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,boneIndex,scale,axisX,axisY,axisZ)return _natives.invoke_bool(0x02B1F2A72E0F5325,effectName,entity,offsetX,offsetY,offsetZ,rotX,rotY,rotZ,boneIndex,scale,axisX,axisY,axisZ);end,\n"\ +"SET_PARTICLE_FX_NON_LOOPED_COLOUR=function(r,g,b)return _natives.invoke_void(0x26143A59EF48B262,r,g,b);end,\n"\ +"SET_PARTICLE_FX_NON_LOOPED_ALPHA=function(alpha)return _natives.invoke_void(0x77168D722C58B2FC,alpha);end,\n"\ +"SET_PARTICLE_FX_NON_LOOPED_SCALE=function(scale)return _natives.invoke_void(0xB7EF5850C39FABCA,scale);end,\n"\ +"SET_PARTICLE_FX_NON_LOOPED_EMITTER_SIZE=function(p0,p1,scale)return _natives.invoke_void(0x1E2E01C00837D26E,p0,p1,scale);end,\n"\ +"SET_PARTICLE_FX_FORCE_VEHICLE_INTERIOR=function(toggle)return _natives.invoke_void(0x8CDE909A0370BB3A,toggle);end,\n"\ +"START_PARTICLE_FX_LOOPED_AT_COORD=function(effectName,x,y,z,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis,p11)return _natives.invoke_int(0xE184F4F0DC5910E7,effectName,x,y,z,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis,p11);end,\n"\ +"START_PARTICLE_FX_LOOPED_ON_PED_BONE=function(effectName,ped,xOffset,yOffset,zOffset,xRot,yRot,zRot,boneIndex,scale,xAxis,yAxis,zAxis)return _natives.invoke_int(0xF28DA9F38CD1787C,effectName,ped,xOffset,yOffset,zOffset,xRot,yRot,zRot,boneIndex,scale,xAxis,yAxis,zAxis);end,\n"\ +"START_PARTICLE_FX_LOOPED_ON_ENTITY=function(effectName,entity,xOffset,yOffset,zOffset,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis)return _natives.invoke_int(0x1AE42C1660FD6517,effectName,entity,xOffset,yOffset,zOffset,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis);end,\n"\ +"START_PARTICLE_FX_LOOPED_ON_ENTITY_BONE=function(effectName,entity,xOffset,yOffset,zOffset,xRot,yRot,zRot,boneIndex,scale,xAxis,yAxis,zAxis)return _natives.invoke_int(0xC6EB449E33977F0B,effectName,entity,xOffset,yOffset,zOffset,xRot,yRot,zRot,boneIndex,scale,xAxis,yAxis,zAxis);end,\n"\ +"START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY=function(effectName,entity,xOffset,yOffset,zOffset,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis,r,g,b,a)return _natives.invoke_int(0x6F60E89A7B64EE1D,effectName,entity,xOffset,yOffset,zOffset,xRot,yRot,zRot,scale,xAxis,yAxis,zAxis,r,g,b,a);end,\n"\ +"START_NETWORKED_PARTICLE_FX_LOOPED_ON_ENTITY_BONE=function(effectName,entity,xOffset,yOffset,zOffset,xRot,yRot,zRot,boneIndex,scale,xAxis,yAxis,zAxis,r,g,b,a)return _natives.invoke_int(0xDDE23F30CC5A0F03,effectName,entity,xOffset,yOffset,zOffset,xRot,yRot,zRot,boneIndex,scale,xAxis,yAxis,zAxis,r,g,b,a);end,\n"\ +"STOP_PARTICLE_FX_LOOPED=function(ptfxHandle,p1)return _natives.invoke_void(0x8F75998877616996,ptfxHandle,p1);end,\n"\ +"REMOVE_PARTICLE_FX=function(ptfxHandle,p1)return _natives.invoke_void(0xC401503DFE8D53CF,ptfxHandle,p1);end,\n"\ +"REMOVE_PARTICLE_FX_FROM_ENTITY=function(entity)return _natives.invoke_void(0xB8FEAEEBCC127425,entity);end,\n"\ +"REMOVE_PARTICLE_FX_IN_RANGE=function(X,Y,Z,radius)return _natives.invoke_void(0xDD19FA1C6D657305,X,Y,Z,radius);end,\n"\ +"FORCE_PARTICLE_FX_IN_VEHICLE_INTERIOR=function(p0,p1)return _natives.invoke_void(0xBA0127DA25FD54C9,p0,p1);end,\n"\ +"DOES_PARTICLE_FX_LOOPED_EXIST=function(ptfxHandle)return _natives.invoke_bool(0x74AFEF0D2E1E409B,ptfxHandle);end,\n"\ +"SET_PARTICLE_FX_LOOPED_OFFSETS=function(ptfxHandle,x,y,z,rotX,rotY,rotZ)return _natives.invoke_void(0xF7DDEBEC43483C43,ptfxHandle,x,y,z,rotX,rotY,rotZ);end,\n"\ +"SET_PARTICLE_FX_LOOPED_EVOLUTION=function(ptfxHandle,propertyName,amount,noNetwork)return _natives.invoke_void(0x5F0C4B5B1C393BE2,ptfxHandle,propertyName,amount,noNetwork);end,\n"\ +"SET_PARTICLE_FX_LOOPED_COLOUR=function(ptfxHandle,r,g,b,p4)return _natives.invoke_void(0x7F8F65877F88783B,ptfxHandle,r,g,b,p4);end,\n"\ +"SET_PARTICLE_FX_LOOPED_ALPHA=function(ptfxHandle,alpha)return _natives.invoke_void(0x726845132380142E,ptfxHandle,alpha);end,\n"\ +"SET_PARTICLE_FX_LOOPED_SCALE=function(ptfxHandle,scale)return _natives.invoke_void(0xB44250AAA456492D,ptfxHandle,scale);end,\n"\ +"SET_PARTICLE_FX_LOOPED_FAR_CLIP_DIST=function(ptfxHandle,range)return _natives.invoke_void(0xDCB194B85EF7B541,ptfxHandle,range);end,\n"\ +"SET_PARTICLE_FX_CAM_INSIDE_VEHICLE=function(p0)return _natives.invoke_void(0xEEC4047028426510,p0);end,\n"\ +"SET_PARTICLE_FX_CAM_INSIDE_NONPLAYER_VEHICLE=function(vehicle,p1)return _natives.invoke_void(0xACEE6F360FC1F6B6,vehicle,p1);end,\n"\ +"SET_PARTICLE_FX_SHOOTOUT_BOAT=function(p0)return _natives.invoke_void(0x96EF97DAEB89BEF5,p0);end,\n"\ +"CLEAR_PARTICLE_FX_SHOOTOUT_BOAT=function()return _natives.invoke_void(0x2A251AA48B2B46DB);end,\n"\ +"SET_PARTICLE_FX_BLOOD_SCALE=function(p0)return _natives.invoke_void(0x908311265D42A820,p0);end,\n"\ +"DISABLE_IN_WATER_PTFX=function(toggle)return _natives.invoke_void(0xCFD16F0DB5A3535C,toggle);end,\n"\ +"DISABLE_DOWNWASH_PTFX=function(toggle)return _natives.invoke_void(0x5F6DF3D92271E8A1,toggle);end,\n"\ +"SET_PARTICLE_FX_SLIPSTREAM_LODRANGE_SCALE=function(scale)return _natives.invoke_void(0x2B40A97646381508,scale);end,\n"\ +"ENABLE_CLOWN_BLOOD_VFX=function(toggle)return _natives.invoke_void(0xD821490579791273,toggle);end,\n"\ +"ENABLE_ALIEN_BLOOD_VFX=function(toggle)return _natives.invoke_void(0x9DCE1F0F78260875,toggle);end,\n"\ +"SET_PARTICLE_FX_BULLET_IMPACT_SCALE=function(scale)return _natives.invoke_void(0x27E32866E9A5C416,scale);end,\n"\ +"SET_PARTICLE_FX_BULLET_IMPACT_LODRANGE_SCALE=function(p0)return _natives.invoke_void(0xBB90E12CAC1DAB25,p0);end,\n"\ +"SET_PARTICLE_FX_BULLET_TRACE_NO_ANGLE_REJECT=function(p0)return _natives.invoke_void(0xCA4AE345A153D573,p0);end,\n"\ +"SET_PARTICLE_FX_BANG_SCRAPE_LODRANGE_SCALE=function(p0)return _natives.invoke_void(0x54E22EA2C1956A8D,p0);end,\n"\ +"SET_PARTICLE_FX_FOOT_LODRANGE_SCALE=function(p0)return _natives.invoke_void(0x949F397A288B28B3,p0);end,\n"\ +"SET_PARTICLE_FX_FOOT_OVERRIDE_NAME=function(p0)return _natives.invoke_void(0xBA3D194057C79A7B,p0);end,\n"\ +"SET_SKIDMARK_RANGE_SCALE=function(scale)return _natives.invoke_void(0x5DBF05DB5926D089,scale);end,\n"\ +"SET_PTFX_FORCE_VEHICLE_INTERIOR_FLAG=function(p0)return _natives.invoke_void(0xC6730E0D14E50703,p0);end,\n"\ +"REGISTER_POSTFX_BULLET_IMPACT=function(weaponWorldPosX,weaponWorldPosY,weaponWorldPosZ,intensity)return _natives.invoke_void(0x170911F37F646F29,weaponWorldPosX,weaponWorldPosY,weaponWorldPosZ,intensity);end,\n"\ +"FORCE_POSTFX_BULLET_IMPACTS_AFTER_HUD=function(p0)return _natives.invoke_void(0x9B079E5221D984D3,p0);end,\n"\ +"USE_PARTICLE_FX_ASSET=function(name)return _natives.invoke_void(0x6C38AF3693A69A91,name);end,\n"\ +"SET_PARTICLE_FX_OVERRIDE=function(oldAsset,newAsset)return _natives.invoke_void(0xEA1E2D93F6F75ED9,oldAsset,newAsset);end,\n"\ +"RESET_PARTICLE_FX_OVERRIDE=function(name)return _natives.invoke_void(0x89C8553DD3274AAE,name);end,\n"\ +"SET_WEATHER_PTFX_USE_OVERRIDE_SETTINGS=function(p0)return _natives.invoke_void(0xA46B73FAA3460AE1,p0);end,\n"\ +"SET_WEATHER_PTFX_OVERRIDE_CURR_LEVEL=function(p0)return _natives.invoke_void(0xF78B803082D4386F,p0);end,\n"\ +"WASH_DECALS_IN_RANGE=function(x,y,z,range,p4)return _natives.invoke_void(0x9C30613D50A6ADEF,x,y,z,range,p4);end,\n"\ +"WASH_DECALS_FROM_VEHICLE=function(vehicle,p1)return _natives.invoke_void(0x5B712761429DBC14,vehicle,p1);end,\n"\ +"FADE_DECALS_IN_RANGE=function(x,y,z,p3,p4)return _natives.invoke_void(0xD77EDADB0420E6E0,x,y,z,p3,p4);end,\n"\ +"REMOVE_DECALS_IN_RANGE=function(x,y,z,range)return _natives.invoke_void(0x5D6B2D4830A67C62,x,y,z,range);end,\n"\ +"REMOVE_DECALS_FROM_OBJECT=function(obj)return _natives.invoke_void(0xCCF71CBDDF5B6CB9,obj);end,\n"\ +"REMOVE_DECALS_FROM_OBJECT_FACING=function(obj,x,y,z)return _natives.invoke_void(0xA6F6F70FDC6D144C,obj,x,y,z);end,\n"\ +"REMOVE_DECALS_FROM_VEHICLE=function(vehicle)return _natives.invoke_void(0xE91F1B65F2B48D57,vehicle);end,\n"\ +"ADD_DECAL=function(decalType,posX,posY,posZ,p4,p5,p6,p7,p8,p9,width,height,rCoef,gCoef,bCoef,opacity,timeout,p17,p18,p19)return _natives.invoke_int(0xB302244A1839BDAD,decalType,posX,posY,posZ,p4,p5,p6,p7,p8,p9,width,height,rCoef,gCoef,bCoef,opacity,timeout,p17,p18,p19);end,\n"\ +"ADD_PETROL_DECAL=function(x,y,z,groundLvl,width,transparency)return _natives.invoke_int(0x4F5212C7AD880DF8,x,y,z,groundLvl,width,transparency);end,\n"\ +"ADD_OIL_DECAL=function(x,y,z,groundLvl,width,transparency)return _natives.invoke_int(0x126D7F89FE859A5E,x,y,z,groundLvl,width,transparency);end,\n"\ +"START_PETROL_TRAIL_DECALS=function(p0)return _natives.invoke_void(0x99AC7F0D8B9C893D,p0);end,\n"\ +"ADD_PETROL_TRAIL_DECAL_INFO=function(x,y,z,p3)return _natives.invoke_void(0x967278682CB6967A,x,y,z,p3);end,\n"\ +"END_PETROL_TRAIL_DECALS=function()return _natives.invoke_void(0x0A123435A26C36CD);end,\n"\ +"REMOVE_DECAL=function(decal)return _natives.invoke_void(0xED3F346429CCD659,decal);end,\n"\ +"IS_DECAL_ALIVE=function(decal)return _natives.invoke_bool(0xC694D74949CAFD0C,decal);end,\n"\ +"GET_DECAL_WASH_LEVEL=function(decal)return _natives.invoke_float(0x323F647679A09103,decal);end,\n"\ +"SET_DISABLE_PETROL_DECALS_IGNITING_THIS_FRAME=function()return _natives.invoke_void(0xD9454B5752C857DC);end,\n"\ +"SET_DISABLE_PETROL_DECALS_RECYCLING_THIS_FRAME=function()return _natives.invoke_void(0x27CFB1B1E078CB2D);end,\n"\ +"SET_DISABLE_DECAL_RENDERING_THIS_FRAME=function()return _natives.invoke_void(0x4B5CFC83122DF602);end,\n"\ +"GET_IS_PETROL_DECAL_IN_RANGE=function(xCoord,yCoord,zCoord,radius)return _natives.invoke_bool(0x2F09F7976C512404,xCoord,yCoord,zCoord,radius);end,\n"\ +"PATCH_DECAL_DIFFUSE_MAP=function(decalType,textureDict,textureName)return _natives.invoke_void(0x8A35C742130C6080,decalType,textureDict,textureName);end,\n"\ +"UNPATCH_DECAL_DIFFUSE_MAP=function(decalType)return _natives.invoke_void(0xB7ED70C49521A61D,decalType);end,\n"\ +"MOVE_VEHICLE_DECALS=function(p0,p1)return _natives.invoke_void(0x84C8D7C2D30D3280,p0,p1);end,\n"\ +"ADD_VEHICLE_CREW_EMBLEM=function(vehicle,ped,boneIndex,x1,x2,x3,y1,y2,y3,z1,z2,z3,scale,p13,alpha)return _natives.invoke_bool(0x428BDCB9DA58DA53,vehicle,ped,boneIndex,x1,x2,x3,y1,y2,y3,z1,z2,z3,scale,p13,alpha);end,\n"\ +"ABORT_VEHICLE_CREW_EMBLEM_REQUEST=function(p0)return _natives.invoke_bool(0x82ACC484FFA3B05F,p0);end,\n"\ +"REMOVE_VEHICLE_CREW_EMBLEM=function(vehicle,p1)return _natives.invoke_void(0xD2300034310557E4,vehicle,p1);end,\n"\ +"GET_VEHICLE_CREW_EMBLEM_REQUEST_STATE=function(vehicle,p1)return _natives.invoke_int(0xFE26117A5841B2FF,vehicle,p1);end,\n"\ +"DOES_VEHICLE_HAVE_CREW_EMBLEM=function(vehicle,p1)return _natives.invoke_bool(0x060D935D3981A275,vehicle,p1);end,\n"\ +"DISABLE_COMPOSITE_SHOTGUN_DECALS=function(toggle)return _natives.invoke_void(0x0E4299C549F0D1F1,toggle);end,\n"\ +"DISABLE_SCUFF_DECALS=function(toggle)return _natives.invoke_void(0x02369D5C8A51FDCF,toggle);end,\n"\ +"SET_DECAL_BULLET_IMPACT_RANGE_SCALE=function(p0)return _natives.invoke_void(0x46D1A61A21F566FC,p0);end,\n"\ +"OVERRIDE_INTERIOR_SMOKE_NAME=function(name)return _natives.invoke_void(0x2A2A52824DB96700,name);end,\n"\ +"OVERRIDE_INTERIOR_SMOKE_LEVEL=function(level)return _natives.invoke_void(0x1600FD8CF72EBC12,level);end,\n"\ +"OVERRIDE_INTERIOR_SMOKE_END=function()return _natives.invoke_void(0xEFB55E7C25D3B3BE);end,\n"\ +"REGISTER_NOIR_LENS_EFFECT=function()return _natives.invoke_void(0xA44FF770DFBC5DAE);end,\n"\ +"DISABLE_VEHICLE_DISTANTLIGHTS=function(toggle)return _natives.invoke_void(0xC9F98AC1884E73A2,toggle);end,\n"\ +"RENDER_SHADOWED_LIGHTS_WITH_NO_SHADOWS=function(p0)return _natives.invoke_void(0x03300B57FCAC6DDB,p0);end,\n"\ +"REQUEST_EARLY_LIGHT_CHECK=function()return _natives.invoke_void(0x98EDF76A7271E4F2);end,\n"\ +"USE_SNOW_FOOT_VFX_WHEN_UNSHELTERED=function(toggle)return _natives.invoke_void(0xAEEDAD1420C65CC0,toggle);end,\n"\ +"USE_SNOW_WHEEL_VFX_WHEN_UNSHELTERED=function(toggle)return _natives.invoke_void(0x4CC7F0FEA5283FE0,toggle);end,\n"\ +"DISABLE_REGION_VFX=function(p0)return _natives.invoke_void(0xEFD97FF47B745B8D,p0);end,\n"\ +"PRESET_INTERIOR_AMBIENT_CACHE=function(timecycleModifierName)return _natives.invoke_void(0xD7021272EB0A451E,timecycleModifierName);end,\n"\ +"SET_TIMECYCLE_MODIFIER=function(modifierName)return _natives.invoke_void(0x2C933ABF17A1DF41,modifierName);end,\n"\ +"SET_TIMECYCLE_MODIFIER_STRENGTH=function(strength)return _natives.invoke_void(0x82E7FFCD5B2326B3,strength);end,\n"\ +"SET_TRANSITION_TIMECYCLE_MODIFIER=function(modifierName,transition)return _natives.invoke_void(0x3BCF567485E1971C,modifierName,transition);end,\n"\ +"SET_TRANSITION_OUT_OF_TIMECYCLE_MODIFIER=function(strength)return _natives.invoke_void(0x1CBA05AE7BD7EE05,strength);end,\n"\ +"CLEAR_TIMECYCLE_MODIFIER=function()return _natives.invoke_void(0x0F07E7745A236711);end,\n"\ +"GET_TIMECYCLE_MODIFIER_INDEX=function()return _natives.invoke_int(0xFDF3D97C674AFB66);end,\n"\ +"GET_TIMECYCLE_TRANSITION_MODIFIER_INDEX=function()return _natives.invoke_int(0x459FD2C8D0AB78BC);end,\n"\ +"GET_IS_TIMECYCLE_TRANSITIONING_OUT=function()return _natives.invoke_bool(0x98D18905BF723B99);end,\n"\ +"PUSH_TIMECYCLE_MODIFIER=function()return _natives.invoke_void(0x58F735290861E6B4);end,\n"\ +"POP_TIMECYCLE_MODIFIER=function()return _natives.invoke_void(0x3C8938D7D872211E);end,\n"\ +"SET_CURRENT_PLAYER_TCMODIFIER=function(modifierName)return _natives.invoke_void(0xBBF327DED94E4DEB,modifierName);end,\n"\ +"SET_PLAYER_TCMODIFIER_TRANSITION=function(value)return _natives.invoke_void(0xBDEB86F4D5809204,value);end,\n"\ +"SET_NEXT_PLAYER_TCMODIFIER=function(modifierName)return _natives.invoke_void(0xBF59707B3E5ED531,modifierName);end,\n"\ +"ADD_TCMODIFIER_OVERRIDE=function(modifierName1,modifierName2)return _natives.invoke_void(0x1A8E2C8B9CF4549C,modifierName1,modifierName2);end,\n"\ +"CLEAR_ALL_TCMODIFIER_OVERRIDES=function(p0)return _natives.invoke_void(0x15E33297C3E8DC60,p0);end,\n"\ +"SET_EXTRA_TCMODIFIER=function(modifierName)return _natives.invoke_void(0x5096FD9CCB49056D,modifierName);end,\n"\ +"CLEAR_EXTRA_TCMODIFIER=function()return _natives.invoke_void(0x92CCC17A7A2285DA);end,\n"\ +"GET_EXTRA_TCMODIFIER=function()return _natives.invoke_int(0xBB0527EC6341496D);end,\n"\ +"ENABLE_MOON_CYCLE_OVERRIDE=function(strength)return _natives.invoke_void(0x2C328AF17210F009,strength);end,\n"\ +"DISABLE_MOON_CYCLE_OVERRIDE=function()return _natives.invoke_void(0x2BF72AD5B41AA739);end,\n"\ +"REQUEST_SCALEFORM_MOVIE=function(scaleformName)return _natives.invoke_int(0x11FE353CF9733E6F,scaleformName);end,\n"\ +"REQUEST_SCALEFORM_MOVIE_WITH_IGNORE_SUPER_WIDESCREEN=function(scaleformName)return _natives.invoke_int(0x65E7E78842E74CDB,scaleformName);end,\n"\ +"REQUEST_SCALEFORM_MOVIE_INSTANCE=function(scaleformName)return _natives.invoke_int(0xC514489CFB8AF806,scaleformName);end,\n"\ +"REQUEST_SCALEFORM_MOVIE_SKIP_RENDER_WHILE_PAUSED=function(scaleformName)return _natives.invoke_int(0xBD06C611BB9048C2,scaleformName);end,\n"\ +"HAS_SCALEFORM_MOVIE_LOADED=function(scaleformHandle)return _natives.invoke_bool(0x85F01B8D5B90570E,scaleformHandle);end,\n"\ +"IS_ACTIVE_SCALEFORM_MOVIE_DELETING=function(val)return _natives.invoke_bool(0x2FCB133CA50A49EB,val);end,\n"\ +"IS_SCALEFORM_MOVIE_DELETING=function(val)return _natives.invoke_bool(0x86255B1FC929E33E,val);end,\n"\ +"HAS_SCALEFORM_MOVIE_FILENAME_LOADED=function(scaleformName)return _natives.invoke_bool(0x0C1C5D756FB5F337,scaleformName);end,\n"\ +"HAS_SCALEFORM_CONTAINER_MOVIE_LOADED_INTO_PARENT=function(scaleformHandle)return _natives.invoke_bool(0x8217150E1217EBFD,scaleformHandle);end,\n"\ +"SET_SCALEFORM_MOVIE_AS_NO_LONGER_NEEDED=function(scaleformHandle)return _natives.invoke_void(0x1D132D614DD86811,scaleformHandle);end,\n"\ +"SET_SCALEFORM_MOVIE_TO_USE_SYSTEM_TIME=function(scaleform,toggle)return _natives.invoke_void(0x6D8EB211944DCE08,scaleform,toggle);end,\n"\ +"SET_SCALEFORM_MOVIE_TO_USE_LARGE_RT=function(scaleformHandle,toggle)return _natives.invoke_void(0x32F34FF7F617643B,scaleformHandle,toggle);end,\n"\ +"SET_SCALEFORM_MOVIE_TO_USE_SUPER_LARGE_RT=function(scaleformHandle,toggle)return _natives.invoke_void(0xE6A9F00D4240B519,scaleformHandle,toggle);end,\n"\ +"DRAW_SCALEFORM_MOVIE=function(scaleformHandle,x,y,width,height,red,green,blue,alpha,p9)return _natives.invoke_void(0x54972ADAF0294A93,scaleformHandle,x,y,width,height,red,green,blue,alpha,p9);end,\n"\ +"DRAW_SCALEFORM_MOVIE_FULLSCREEN=function(scaleform,red,green,blue,alpha,p5)return _natives.invoke_void(0x0DF606929C105BE1,scaleform,red,green,blue,alpha,p5);end,\n"\ +"DRAW_SCALEFORM_MOVIE_FULLSCREEN_MASKED=function(scaleform1,scaleform2,red,green,blue,alpha)return _natives.invoke_void(0xCF537FDE4FBD4CE5,scaleform1,scaleform2,red,green,blue,alpha);end,\n"\ +"DRAW_SCALEFORM_MOVIE_3D=function(scaleform,posX,posY,posZ,rotX,rotY,rotZ,p7,p8,p9,scaleX,scaleY,scaleZ,rotationOrder)return _natives.invoke_void(0x87D51D72255D4E78,scaleform,posX,posY,posZ,rotX,rotY,rotZ,p7,p8,p9,scaleX,scaleY,scaleZ,rotationOrder);end,\n"\ +"DRAW_SCALEFORM_MOVIE_3D_SOLID=function(scaleform,posX,posY,posZ,rotX,rotY,rotZ,p7,p8,p9,scaleX,scaleY,scaleZ,rotationOrder)return _natives.invoke_void(0x1CE592FDC749D6F5,scaleform,posX,posY,posZ,rotX,rotY,rotZ,p7,p8,p9,scaleX,scaleY,scaleZ,rotationOrder);end,\n"\ +"CALL_SCALEFORM_MOVIE_METHOD=function(scaleform,method)return _natives.invoke_void(0xFBD96D87AC96D533,scaleform,method);end,\n"\ +"CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER=function(scaleform,methodName,param1,param2,param3,param4,param5)return _natives.invoke_void(0xD0837058AE2E4BEE,scaleform,methodName,param1,param2,param3,param4,param5);end,\n"\ +"CALL_SCALEFORM_MOVIE_METHOD_WITH_STRING=function(scaleform,methodName,param1,param2,param3,param4,param5)return _natives.invoke_void(0x51BC1ED3CC44E8F7,scaleform,methodName,param1,param2,param3,param4,param5);end,\n"\ +"CALL_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING=function(scaleform,methodName,floatParam1,floatParam2,floatParam3,floatParam4,floatParam5,stringParam1,stringParam2,stringParam3,stringParam4,stringParam5)return _natives.invoke_void(0xEF662D8D57E290B1,scaleform,methodName,floatParam1,floatParam2,floatParam3,floatParam4,floatParam5,stringParam1,stringParam2,stringParam3,stringParam4,stringParam5);end,\n"\ +"BEGIN_SCALEFORM_SCRIPT_HUD_MOVIE_METHOD=function(hudComponent,methodName)return _natives.invoke_bool(0x98C494FD5BDFBFD5,hudComponent,methodName);end,\n"\ +"BEGIN_SCALEFORM_MOVIE_METHOD=function(scaleform,methodName)return _natives.invoke_bool(0xF6E48914C7A8694E,scaleform,methodName);end,\n"\ +"BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND=function(methodName)return _natives.invoke_bool(0xAB58C27C2E6123C6,methodName);end,\n"\ +"BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER=function(methodName)return _natives.invoke_bool(0xB9449845F73F5E9C,methodName);end,\n"\ +"END_SCALEFORM_MOVIE_METHOD=function()return _natives.invoke_void(0xC6796A8FFA375E53);end,\n"\ +"END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE=function()return _natives.invoke_int(0xC50AA39A577AF886);end,\n"\ +"IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY=function(methodReturn)return _natives.invoke_bool(0x768FF8961BA904D6,methodReturn);end,\n"\ +"GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT=function(methodReturn)return _natives.invoke_int(0x2DE7EFA66B906036,methodReturn);end,\n"\ +"GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_BOOL=function(methodReturn)return _natives.invoke_bool(0xD80A80346A45D761,methodReturn);end,\n"\ +"GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_STRING=function(methodReturn)return _natives.invoke_str(0xE1E258829A885245,methodReturn);end,\n"\ +"SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT=function(value)return _natives.invoke_void(0xC3D0841A0CC546A6,value);end,\n"\ +"SCALEFORM_MOVIE_METHOD_ADD_PARAM_FLOAT=function(value)return _natives.invoke_void(0xD69736AAE04DB51A,value);end,\n"\ +"SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL=function(value)return _natives.invoke_void(0xC58424BA936EB458,value);end,\n"\ +"BEGIN_TEXT_COMMAND_SCALEFORM_STRING=function(componentType)return _natives.invoke_void(0x80338406F3475E55,componentType);end,\n"\ +"END_TEXT_COMMAND_SCALEFORM_STRING=function()return _natives.invoke_void(0x362E2D3FE93A9959);end,\n"\ +"END_TEXT_COMMAND_UNPARSED_SCALEFORM_STRING=function()return _natives.invoke_void(0xAE4E8157D9ECF087);end,\n"\ +"SCALEFORM_MOVIE_METHOD_ADD_PARAM_LITERAL_STRING=function(string)return _natives.invoke_void(0x77FE3402004CD1B0,string);end,\n"\ +"SCALEFORM_MOVIE_METHOD_ADD_PARAM_TEXTURE_NAME_STRING=function(string)return _natives.invoke_void(0xBA7148484BD90365,string);end,\n"\ +"SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING=function(string)return _natives.invoke_void(0xE83A3E3557A56640,string);end,\n"\ +"DOES_LATEST_BRIEF_STRING_EXIST=function(p0)return _natives.invoke_bool(0x5E657EF1099EDD65,p0);end,\n"\ +"SCALEFORM_MOVIE_METHOD_ADD_PARAM_LATEST_BRIEF_STRING=function(value)return _natives.invoke_void(0xEC52C631A1831C03,value);end,\n"\ +"REQUEST_SCALEFORM_SCRIPT_HUD_MOVIE=function(hudComponent)return _natives.invoke_void(0x9304881D6F6537EA,hudComponent);end,\n"\ +"HAS_SCALEFORM_SCRIPT_HUD_MOVIE_LOADED=function(hudComponent)return _natives.invoke_bool(0xDF6E5987D2B4D140,hudComponent);end,\n"\ +"REMOVE_SCALEFORM_SCRIPT_HUD_MOVIE=function(hudComponent)return _natives.invoke_void(0xF44A5456AC3F4F97,hudComponent);end,\n"\ +"PASS_KEYBOARD_INPUT_TO_SCALEFORM=function(scaleformHandle)return _natives.invoke_bool(0xD1C7CB175E012964,scaleformHandle);end,\n"\ +"SET_TV_CHANNEL=function(channel)return _natives.invoke_void(0xBAABBB23EB6E484E,channel);end,\n"\ +"GET_TV_CHANNEL=function()return _natives.invoke_int(0xFC1E275A90D39995);end,\n"\ +"SET_TV_VOLUME=function(volume)return _natives.invoke_void(0x2982BF73F66E9DDC,volume);end,\n"\ +"GET_TV_VOLUME=function()return _natives.invoke_float(0x2170813D3DD8661B);end,\n"\ +"DRAW_TV_CHANNEL=function(xPos,yPos,xScale,yScale,rotation,red,green,blue,alpha)return _natives.invoke_void(0xFDDC2B4ED3C69DF0,xPos,yPos,xScale,yScale,rotation,red,green,blue,alpha);end,\n"\ +"SET_TV_CHANNEL_PLAYLIST=function(tvChannel,playlistName,restart)return _natives.invoke_void(0xF7B38B8305F1FE8B,tvChannel,playlistName,restart);end,\n"\ +"SET_TV_CHANNEL_PLAYLIST_AT_HOUR=function(tvChannel,playlistName,hour)return _natives.invoke_void(0x2201C576FACAEBE8,tvChannel,playlistName,hour);end,\n"\ +"CLEAR_TV_CHANNEL_PLAYLIST=function(tvChannel)return _natives.invoke_void(0xBEB3D46BB7F043C0,tvChannel);end,\n"\ +"IS_PLAYLIST_ON_CHANNEL=function(tvChannel,p1)return _natives.invoke_bool(0x1F710BFF7DAE6261,tvChannel,p1);end,\n"\ +"IS_TVSHOW_CURRENTLY_PLAYING=function(videoCliphash)return _natives.invoke_bool(0x0AD973CA1E077B60,videoCliphash);end,\n"\ +"ENABLE_MOVIE_KEYFRAME_WAIT=function(toggle)return _natives.invoke_void(0x74C180030FDE4B69,toggle);end,\n"\ +"SET_TV_PLAYER_WATCHING_THIS_FRAME=function(p0)return _natives.invoke_void(0xD1C55B110E4DF534,p0);end,\n"\ +"GET_CURRENT_TV_CLIP_NAMEHASH=function()return _natives.invoke_int(0x30432A0118736E00);end,\n"\ +"ENABLE_MOVIE_SUBTITLES=function(toggle)return _natives.invoke_void(0x873FA65C778AD970,toggle);end,\n"\ +"UI3DSCENE_IS_AVAILABLE=function()return _natives.invoke_bool(0xD3A10FC7FD8D98CD);end,\n"\ +"UI3DSCENE_PUSH_PRESET=function(presetName)return _natives.invoke_bool(0xF1CEA8A4198D8E9A,presetName);end,\n"\ +"UI3DSCENE_ASSIGN_PED_TO_SLOT=function(presetName,ped,slot,posX,posY,posZ)return _natives.invoke_bool(0x98C4FE6EC34154CA,presetName,ped,slot,posX,posY,posZ);end,\n"\ +"UI3DSCENE_CLEAR_PATCHED_DATA=function()return _natives.invoke_void(0x7A42B2E236E71415);end,\n"\ +"UI3DSCENE_MAKE_PUSHED_PRESET_PERSISTENT=function(toggle)return _natives.invoke_void(0x108BE26959A9D9BB,toggle);end,\n"\ +"TERRAINGRID_ACTIVATE=function(toggle)return _natives.invoke_void(0xA356990E161C9E65,toggle);end,\n"\ +"TERRAINGRID_SET_PARAMS=function(x,y,z,forwardX,forwardY,forwardZ,sizeX,sizeY,sizeZ,gridScale,glowIntensity,normalHeight,heightDiff)return _natives.invoke_void(0x1C4FC5752BCD8E48,x,y,z,forwardX,forwardY,forwardZ,sizeX,sizeY,sizeZ,gridScale,glowIntensity,normalHeight,heightDiff);end,\n"\ +"TERRAINGRID_SET_COLOURS=function(lowR,lowG,lowB,lowAlpha,r,g,b,alpha,highR,highG,highB,highAlpha)return _natives.invoke_void(0x5CE62918F8D703C7,lowR,lowG,lowB,lowAlpha,r,g,b,alpha,highR,highG,highB,highAlpha);end,\n"\ +"ANIMPOSTFX_PLAY=function(effectName,duration,looped)return _natives.invoke_void(0x2206BF9A37B7F724,effectName,duration,looped);end,\n"\ +"ANIMPOSTFX_STOP=function(effectName)return _natives.invoke_void(0x068E835A1D0DC0E3,effectName);end,\n"\ +"ANIMPOSTFX_GET_CURRENT_TIME=function(effectName)return _natives.invoke_float(0xE35B38A27E8E7179,effectName);end,\n"\ +"ANIMPOSTFX_IS_RUNNING=function(effectName)return _natives.invoke_bool(0x36AD3E690DA5ACEB,effectName);end,\n"\ +"ANIMPOSTFX_STOP_ALL=function()return _natives.invoke_void(0xB4EDDC19532BFB85);end,\n"\ +"ANIMPOSTFX_STOP_AND_FLUSH_REQUESTS=function(effectName)return _natives.invoke_void(0xD2209BE128B5418C,effectName);end,\n"\ +"};\n"\ +"HUD = {\n"\ +"BEGIN_TEXT_COMMAND_BUSYSPINNER_ON=function(string)return _natives.invoke_void(0xABA17D7CE615ADBF,string);end,\n"\ +"END_TEXT_COMMAND_BUSYSPINNER_ON=function(busySpinnerType)return _natives.invoke_void(0xBD12F8228410D9B4,busySpinnerType);end,\n"\ +"BUSYSPINNER_OFF=function()return _natives.invoke_void(0x10D373323E5B9C0D);end,\n"\ +"PRELOAD_BUSYSPINNER=function()return _natives.invoke_void(0xC65AB383CD91DF98);end,\n"\ +"BUSYSPINNER_IS_ON=function()return _natives.invoke_bool(0xD422FCC5F239A915);end,\n"\ +"BUSYSPINNER_IS_DISPLAYING=function()return _natives.invoke_bool(0xB2A592B04648A9CB);end,\n"\ +"DISABLE_PAUSEMENU_SPINNER=function(p0)return _natives.invoke_void(0x9245E81072704B8A,p0);end,\n"\ +"SET_MOUSE_CURSOR_THIS_FRAME=function()return _natives.invoke_void(0xAAE7CE1D63167423);end,\n"\ +"SET_MOUSE_CURSOR_STYLE=function(spriteId)return _natives.invoke_void(0x8DB8CFFD58B62552,spriteId);end,\n"\ +"SET_MOUSE_CURSOR_VISIBLE=function(toggle)return _natives.invoke_void(0x98215325A695E78A,toggle);end,\n"\ +"IS_MOUSE_ROLLED_OVER_INSTRUCTIONAL_BUTTONS=function()return _natives.invoke_bool(0x3D9ACB1EB139E702);end,\n"\ +"GET_MOUSE_EVENT=function(scaleformHandle,p1,p2,p3)return _natives.invoke_bool(0x632B2940C67F4EA9,scaleformHandle,p1,p2,p3);end,\n"\ +"THEFEED_ONLY_SHOW_TOOLTIPS=function(toggle)return _natives.invoke_void(0x6F1554B0CC2089FA,toggle);end,\n"\ +"THEFEED_SET_SCRIPTED_MENU_HEIGHT=function(pos)return _natives.invoke_void(0x55598D21339CB998,pos);end,\n"\ +"THEFEED_HIDE=function()return _natives.invoke_void(0x32888337579A5970);end,\n"\ +"THEFEED_HIDE_THIS_FRAME=function()return _natives.invoke_void(0x25F87B30C382FCA7);end,\n"\ +"THEFEED_SHOW=function()return _natives.invoke_void(0x15CFA549788D35EF);end,\n"\ +"THEFEED_FLUSH_QUEUE=function()return _natives.invoke_void(0xA8FDB297A8D25FBA);end,\n"\ +"THEFEED_REMOVE_ITEM=function(notificationId)return _natives.invoke_void(0xBE4390CB40B3E627,notificationId);end,\n"\ +"THEFEED_FORCE_RENDER_ON=function()return _natives.invoke_void(0xA13C11E1B5C06BFC);end,\n"\ +"THEFEED_FORCE_RENDER_OFF=function()return _natives.invoke_void(0x583049884A2EEE3C);end,\n"\ +"THEFEED_PAUSE=function()return _natives.invoke_void(0xFDB423997FA30340);end,\n"\ +"THEFEED_RESUME=function()return _natives.invoke_void(0xE1CD1E48E025E661);end,\n"\ +"THEFEED_IS_PAUSED=function()return _natives.invoke_bool(0xA9CBFD40B3FA3010);end,\n"\ +"THEFEED_REPORT_LOGO_ON=function()return _natives.invoke_void(0xD4438C0564490E63);end,\n"\ +"THEFEED_REPORT_LOGO_OFF=function()return _natives.invoke_void(0xB695E2CD0A2DA9EE);end,\n"\ +"THEFEED_GET_LAST_SHOWN_PHONE_ACTIVATABLE_FEED_ID=function()return _natives.invoke_int(0x82352748437638CA);end,\n"\ +"THEFEED_AUTO_POST_GAMETIPS_ON=function()return _natives.invoke_void(0x56C8B608CFD49854);end,\n"\ +"THEFEED_AUTO_POST_GAMETIPS_OFF=function()return _natives.invoke_void(0xADED7F5748ACAFE6);end,\n"\ +"THEFEED_SET_BACKGROUND_COLOR_FOR_NEXT_POST=function(hudColorIndex)return _natives.invoke_void(0x92F0DA1E27DB96DC,hudColorIndex);end,\n"\ +"THEFEED_SET_RGBA_PARAMETER_FOR_NEXT_MESSAGE=function(red,green,blue,alpha)return _natives.invoke_void(0x17430B918701C342,red,green,blue,alpha);end,\n"\ +"THEFEED_SET_FLASH_DURATION_PARAMETER_FOR_NEXT_MESSAGE=function(count)return _natives.invoke_void(0x17AD8C9706BDD88A,count);end,\n"\ +"THEFEED_SET_VIBRATE_PARAMETER_FOR_NEXT_MESSAGE=function(toggle)return _natives.invoke_void(0x4A0C7C9BB10ABB36,toggle);end,\n"\ +"THEFEED_RESET_ALL_PARAMETERS=function()return _natives.invoke_void(0xFDD85225B2DEA55E);end,\n"\ +"THEFEED_FREEZE_NEXT_POST=function()return _natives.invoke_void(0xFDEC055AB549E328);end,\n"\ +"THEFEED_CLEAR_FROZEN_POST=function()return _natives.invoke_void(0x80FE4F3AB4E1B62A);end,\n"\ +"THEFEED_SET_SNAP_FEED_ITEM_POSITIONS=function(p0)return _natives.invoke_void(0xBAE4F9B97CD43B30,p0);end,\n"\ +"THEFEED_UPDATE_ITEM_TEXTURE=function(txdString1,txnString1,txdString2,txnString2)return _natives.invoke_void(0x317EBA71D7543F52,txdString1,txnString1,txdString2,txnString2);end,\n"\ +"BEGIN_TEXT_COMMAND_THEFEED_POST=function(text)return _natives.invoke_void(0x202709F4C58A0424,text);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_STATS=function(statTitle,iconEnum,stepVal,barValue,isImportant,pictureTextureDict,pictureTextureName)return _natives.invoke_int(0x2B7E9A4EAAA93C89,statTitle,iconEnum,stepVal,barValue,isImportant,pictureTextureDict,pictureTextureName);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT=function(txdName,textureName,flash,iconType,sender,subject)return _natives.invoke_int(0x1CCD9A37359072CF,txdName,textureName,flash,iconType,sender,subject);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_SUBTITLE_LABEL=function(txdName,textureName,flash,iconType,sender,subject)return _natives.invoke_int(0xC6F580E4C94926AC,txdName,textureName,flash,iconType,sender,subject);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_TU=function(txdName,textureName,flash,iconType,sender,subject,duration)return _natives.invoke_int(0x1E6611149DB3DB6B,txdName,textureName,flash,iconType,sender,subject,duration);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_WITH_CREW_TAG=function(txdName,textureName,flash,iconType,sender,subject,duration,clanTag)return _natives.invoke_int(0x5CBF7BADE20DB93E,txdName,textureName,flash,iconType,sender,subject,duration,clanTag);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_MESSAGETEXT_WITH_CREW_TAG_AND_ADDITIONAL_ICON=function(txdName,textureName,flash,iconType1,sender,subject,duration,clanTag,iconType2,p9)return _natives.invoke_int(0x531B84E7DA981FB6,txdName,textureName,flash,iconType1,sender,subject,duration,clanTag,iconType2,p9);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_TICKER=function(blink,p1)return _natives.invoke_int(0x2ED7843F8F801023,blink,p1);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_TICKER_FORCED=function(blink,p1)return _natives.invoke_int(0x44FA03975424A0EE,blink,p1);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_TICKER_WITH_TOKENS=function(blink,p1)return _natives.invoke_int(0x378E809BF61EC840,blink,p1);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_AWARD=function(textureDict,textureName,rpBonus,colorOverlay,titleLabel)return _natives.invoke_int(0xAA295B6F28BD587D,textureDict,textureName,rpBonus,colorOverlay,titleLabel);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_CREWTAG=function(p0,p1,p2,p3,isLeader,unk0,clanDesc,R,G,B)return _natives.invoke_int(0x97C9E4E7024A8F2C,p0,p1,p2,p3,isLeader,unk0,clanDesc,R,G,B);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_CREWTAG_WITH_GAME_NAME=function(p0,p1,p2,p3,isLeader,unk0,clanDesc,playerName,R,G,B)return _natives.invoke_int(0x137BC35589E34E1E,p0,p1,p2,p3,isLeader,unk0,clanDesc,playerName,R,G,B);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_UNLOCK=function(gxtLabel1,p1,gxtLabel2)return _natives.invoke_int(0x33EE12743CCD6343,gxtLabel1,p1,gxtLabel2);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_UNLOCK_TU=function(gxtLabel1,p1,gxtLabel2,p3)return _natives.invoke_int(0xC8F3AAF93D0600BF,gxtLabel1,p1,gxtLabel2,p3);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_UNLOCK_TU_WITH_COLOR=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_int(0x7AE0589093A2E088,p0,p1,p2,p3,p4,p5);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_MPTICKER=function(blink,p1)return _natives.invoke_int(0xF020C96915705B3A,blink,p1);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_CREW_RANKUP_WITH_LITERAL_FLAG=function(p0,p1,p2,p3,p4)return _natives.invoke_int(0x8EFCCF6EC66D85E4,p0,p1,p2,p3,p4);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_VERSUS_TU=function(txdName1,textureName1,count1,txdName2,textureName2,count2,hudColor1,hudColor2)return _natives.invoke_int(0xB6871B0555B02996,txdName1,textureName1,count1,txdName2,textureName2,count2,hudColor1,hudColor2);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_REPLAY=function(type,image,text)return _natives.invoke_int(0xD202B92CBF1D816F,type,image,text);end,\n"\ +"END_TEXT_COMMAND_THEFEED_POST_REPLAY_INPUT=function(type,button,text)return _natives.invoke_int(0xDD6CB2CCE7C2735C,type,button,text);end,\n"\ +"BEGIN_TEXT_COMMAND_PRINT=function(GxtEntry)return _natives.invoke_void(0xB87A37EEB7FAA67D,GxtEntry);end,\n"\ +"END_TEXT_COMMAND_PRINT=function(duration,drawImmediately)return _natives.invoke_void(0x9D77056A530643F6,duration,drawImmediately);end,\n"\ +"BEGIN_TEXT_COMMAND_IS_MESSAGE_DISPLAYED=function(text)return _natives.invoke_void(0x853648FD1063A213,text);end,\n"\ +"END_TEXT_COMMAND_IS_MESSAGE_DISPLAYED=function()return _natives.invoke_bool(0x8A9BA1AB3E237613);end,\n"\ +"BEGIN_TEXT_COMMAND_DISPLAY_TEXT=function(text)return _natives.invoke_void(0x25FBB336DF1804CB,text);end,\n"\ +"END_TEXT_COMMAND_DISPLAY_TEXT=function(x,y,p2)return _natives.invoke_void(0xCD015E5BB0D96A57,x,y,p2);end,\n"\ +"BEGIN_TEXT_COMMAND_GET_SCREEN_WIDTH_OF_DISPLAY_TEXT=function(text)return _natives.invoke_void(0x54CE8AC98E120CAB,text);end,\n"\ +"END_TEXT_COMMAND_GET_SCREEN_WIDTH_OF_DISPLAY_TEXT=function(p0)return _natives.invoke_float(0x85F061DA64ED2F67,p0);end,\n"\ +"BEGIN_TEXT_COMMAND_GET_NUMBER_OF_LINES_FOR_STRING=function(entry)return _natives.invoke_void(0x521FB041D93DD0E4,entry);end,\n"\ +"END_TEXT_COMMAND_GET_NUMBER_OF_LINES_FOR_STRING=function(x,y)return _natives.invoke_int(0x9040DFB09BE75706,x,y);end,\n"\ +"BEGIN_TEXT_COMMAND_DISPLAY_HELP=function(inputType)return _natives.invoke_void(0x8509B634FBE7DA11,inputType);end,\n"\ +"END_TEXT_COMMAND_DISPLAY_HELP=function(p0,loop,beep,shape)return _natives.invoke_void(0x238FFE5C7B0498A6,p0,loop,beep,shape);end,\n"\ +"BEGIN_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED=function(labelName)return _natives.invoke_void(0x0A24DA3A41B718F5,labelName);end,\n"\ +"END_TEXT_COMMAND_IS_THIS_HELP_MESSAGE_BEING_DISPLAYED=function(p0)return _natives.invoke_bool(0x10BDDBFC529428DD,p0);end,\n"\ +"BEGIN_TEXT_COMMAND_SET_BLIP_NAME=function(textLabel)return _natives.invoke_void(0xF9113A30DE5C6670,textLabel);end,\n"\ +"END_TEXT_COMMAND_SET_BLIP_NAME=function(blip)return _natives.invoke_void(0xBC38B49BCB83BC9B,blip);end,\n"\ +"BEGIN_TEXT_COMMAND_ADD_DIRECTLY_TO_PREVIOUS_BRIEFS=function(p0)return _natives.invoke_void(0x23D69E0465570028,p0);end,\n"\ +"END_TEXT_COMMAND_ADD_DIRECTLY_TO_PREVIOUS_BRIEFS=function(p0)return _natives.invoke_void(0xCFDBDF5AE59BA0F4,p0);end,\n"\ +"BEGIN_TEXT_COMMAND_CLEAR_PRINT=function(text)return _natives.invoke_void(0xE124FA80A759019C,text);end,\n"\ +"END_TEXT_COMMAND_CLEAR_PRINT=function()return _natives.invoke_void(0xFCC75460ABA29378);end,\n"\ +"BEGIN_TEXT_COMMAND_OVERRIDE_BUTTON_TEXT=function(gxtEntry)return _natives.invoke_void(0x8F9EE5687F8EECCD,gxtEntry);end,\n"\ +"END_TEXT_COMMAND_OVERRIDE_BUTTON_TEXT=function(p0)return _natives.invoke_void(0xA86911979638106F,p0);end,\n"\ +"ADD_TEXT_COMPONENT_INTEGER=function(value)return _natives.invoke_void(0x03B504CF259931BC,value);end,\n"\ +"ADD_TEXT_COMPONENT_FLOAT=function(value,decimalPlaces)return _natives.invoke_void(0xE7DCB5B874BCD96E,value,decimalPlaces);end,\n"\ +"ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL=function(labelName)return _natives.invoke_void(0xC63CD5D2920ACBE7,labelName);end,\n"\ +"ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL_HASH_KEY=function(gxtEntryHash)return _natives.invoke_void(0x17299B63C7683A2B,gxtEntryHash);end,\n"\ +"ADD_TEXT_COMPONENT_SUBSTRING_BLIP_NAME=function(blip)return _natives.invoke_void(0x80EAD8E2E1D5D52E,blip);end,\n"\ +"ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME=function(text)return _natives.invoke_void(0x6C188BE134E074AA,text);end,\n"\ +"ADD_TEXT_COMPONENT_SUBSTRING_TIME=function(timestamp,flags)return _natives.invoke_void(0x1115F16B8AB9E8BF,timestamp,flags);end,\n"\ +"ADD_TEXT_COMPONENT_FORMATTED_INTEGER=function(value,commaSeparated)return _natives.invoke_void(0x0E4C749FF9DE9CC4,value,commaSeparated);end,\n"\ +"ADD_TEXT_COMPONENT_SUBSTRING_PHONE_NUMBER=function(p0,p1)return _natives.invoke_void(0x761B77454205A61D,p0,p1);end,\n"\ +"ADD_TEXT_COMPONENT_SUBSTRING_WEBSITE=function(website)return _natives.invoke_void(0x94CF4AC034C9C986,website);end,\n"\ +"ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY=function(string)return _natives.invoke_void(0x5F68520888E69014,string);end,\n"\ +"SET_COLOUR_OF_NEXT_TEXT_COMPONENT=function(hudColor)return _natives.invoke_void(0x39BBF623FC803EAC,hudColor);end,\n"\ +"GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME=function(text,position,length)return _natives.invoke_str(0x169BD9382084C8C0,text,position,length);end,\n"\ +"GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME_WITH_BYTE_LIMIT=function(text,position,length,maxLength)return _natives.invoke_str(0xB2798643312205C5,text,position,length,maxLength);end,\n"\ +"GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME_BYTES=function(text,startPosition,endPosition)return _natives.invoke_str(0xCE94AEBA5D82908A,text,startPosition,endPosition);end,\n"\ +"GET_FILENAME_FOR_AUDIO_CONVERSATION=function(labelName)return _natives.invoke_str(0x7B5280EBA9840C72,labelName);end,\n"\ +"CLEAR_PRINTS=function()return _natives.invoke_void(0xCC33FA791322B9D9);end,\n"\ +"CLEAR_BRIEF=function()return _natives.invoke_void(0x9D292F73ADBD9313);end,\n"\ +"CLEAR_ALL_HELP_MESSAGES=function()return _natives.invoke_void(0x6178F68A87A4D3A0);end,\n"\ +"CLEAR_THIS_PRINT=function(p0)return _natives.invoke_void(0xCF708001E1E536DD,p0);end,\n"\ +"CLEAR_SMALL_PRINTS=function()return _natives.invoke_void(0x2CEA2839313C09AC);end,\n"\ +"DOES_TEXT_BLOCK_EXIST=function(gxt)return _natives.invoke_bool(0x1C7302E725259789,gxt);end,\n"\ +"REQUEST_ADDITIONAL_TEXT=function(gxt,slot)return _natives.invoke_void(0x71A78003C8E71424,gxt,slot);end,\n"\ +"REQUEST_ADDITIONAL_TEXT_FOR_DLC=function(gxt,slot)return _natives.invoke_void(0x6009F9F1AE90D8A6,gxt,slot);end,\n"\ +"HAS_ADDITIONAL_TEXT_LOADED=function(slot)return _natives.invoke_bool(0x02245FE4BED318B8,slot);end,\n"\ +"CLEAR_ADDITIONAL_TEXT=function(p0,p1)return _natives.invoke_void(0x2A179DF17CCF04CD,p0,p1);end,\n"\ +"IS_STREAMING_ADDITIONAL_TEXT=function(p0)return _natives.invoke_bool(0x8B6817B71B85EBF0,p0);end,\n"\ +"HAS_THIS_ADDITIONAL_TEXT_LOADED=function(gxt,slot)return _natives.invoke_bool(0xADBF060E2B30C5BC,gxt,slot);end,\n"\ +"IS_MESSAGE_BEING_DISPLAYED=function()return _natives.invoke_bool(0x7984C03AA5CC2F41);end,\n"\ +"DOES_TEXT_LABEL_EXIST=function(gxt)return _natives.invoke_bool(0xAC09CA973C564252,gxt);end,\n"\ +"GET_FIRST_N_CHARACTERS_OF_LITERAL_STRING=function(string,length)return _natives.invoke_str(0x98C3CF913D895111,string,length);end,\n"\ +"GET_LENGTH_OF_STRING_WITH_THIS_TEXT_LABEL=function(gxt)return _natives.invoke_int(0x801BD273D3A23F74,gxt);end,\n"\ +"GET_LENGTH_OF_LITERAL_STRING=function(string)return _natives.invoke_int(0xF030907CCBB8A9FD,string);end,\n"\ +"GET_LENGTH_OF_LITERAL_STRING_IN_BYTES=function(string)return _natives.invoke_int(0x43E4111189E54F0E,string);end,\n"\ +"GET_STREET_NAME_FROM_HASH_KEY=function(hash)return _natives.invoke_str(0xD0EF8A959B8A4CB9,hash);end,\n"\ +"IS_HUD_PREFERENCE_SWITCHED_ON=function()return _natives.invoke_bool(0x1930DFA731813EC4);end,\n"\ +"IS_RADAR_PREFERENCE_SWITCHED_ON=function()return _natives.invoke_bool(0x9EB6522EA68F22FE);end,\n"\ +"IS_SUBTITLE_PREFERENCE_SWITCHED_ON=function()return _natives.invoke_bool(0xAD6DACA4BA53E0A4);end,\n"\ +"DISPLAY_HUD=function(toggle)return _natives.invoke_void(0xA6294919E56FF02A,toggle);end,\n"\ +"DISPLAY_HUD_WHEN_NOT_IN_STATE_OF_PLAY_THIS_FRAME=function()return _natives.invoke_void(0x7669F9E39DC17063);end,\n"\ +"DISPLAY_HUD_WHEN_PAUSED_THIS_FRAME=function()return _natives.invoke_void(0x402F9ED62087E898);end,\n"\ +"DISPLAY_RADAR=function(toggle)return _natives.invoke_void(0xA0EBB943C300E693,toggle);end,\n"\ +"SET_FAKE_SPECTATOR_MODE=function(toggle)return _natives.invoke_void(0xCD74233600C4EA6B,toggle);end,\n"\ +"GET_FAKE_SPECTATOR_MODE=function()return _natives.invoke_bool(0xC2D2AD9EAAE265B8);end,\n"\ +"IS_HUD_HIDDEN=function()return _natives.invoke_bool(0xA86478C6958735C5);end,\n"\ +"IS_RADAR_HIDDEN=function()return _natives.invoke_bool(0x157F93B036700462);end,\n"\ +"IS_MINIMAP_RENDERING=function()return _natives.invoke_bool(0xAF754F20EB5CD51A);end,\n"\ +"USE_VEHICLE_TARGETING_RETICULE=function(p0)return _natives.invoke_void(0x0C698D8F099174C7,p0);end,\n"\ +"ADD_VALID_VEHICLE_HIT_HASH=function(p0)return _natives.invoke_void(0xE4C3B169876D33D7,p0);end,\n"\ +"CLEAR_VALID_VEHICLE_HIT_HASHES=function()return _natives.invoke_void(0xEB81A3DADD503187);end,\n"\ +"SET_BLIP_ROUTE=function(blip,enabled)return _natives.invoke_void(0x4F7D8A9BFB0B43E9,blip,enabled);end,\n"\ +"CLEAR_ALL_BLIP_ROUTES=function()return _natives.invoke_void(0xD12882D3FF82BF11);end,\n"\ +"SET_BLIP_ROUTE_COLOUR=function(blip,colour)return _natives.invoke_void(0x837155CD2F63DA09,blip,colour);end,\n"\ +"SET_FORCE_SHOW_GPS=function(toggle)return _natives.invoke_void(0x2790F4B17D098E26,toggle);end,\n"\ +"SET_USE_SET_DESTINATION_IN_PAUSE_MAP=function(toggle)return _natives.invoke_void(0x6CDD58146A436083,toggle);end,\n"\ +"SET_BLOCK_WANTED_FLASH=function(disabled)return _natives.invoke_void(0xD1942374085C8469,disabled);end,\n"\ +"ADD_NEXT_MESSAGE_TO_PREVIOUS_BRIEFS=function(p0)return _natives.invoke_void(0x60296AF4BA14ABC5,p0);end,\n"\ +"FORCE_NEXT_MESSAGE_TO_PREVIOUS_BRIEFS_LIST=function(p0)return _natives.invoke_void(0x57D760D55F54E071,p0);end,\n"\ +"SET_RADAR_ZOOM_PRECISE=function(zoom)return _natives.invoke_void(0xBD12C5EEE184C337,zoom);end,\n"\ +"SET_RADAR_ZOOM=function(zoomLevel)return _natives.invoke_void(0x096EF57A0C999BBA,zoomLevel);end,\n"\ +"SET_RADAR_ZOOM_TO_BLIP=function(blip,zoom)return _natives.invoke_void(0xF98E4B3E56AFC7B1,blip,zoom);end,\n"\ +"SET_RADAR_ZOOM_TO_DISTANCE=function(zoom)return _natives.invoke_void(0xCB7CC0D58405AD41,zoom);end,\n"\ +"UPDATE_RADAR_ZOOM_TO_BLIP=function()return _natives.invoke_void(0xD2049635DEB9C375);end,\n"\ +"GET_HUD_COLOUR=function(hudColorIndex,r,g,b,a)return _natives.invoke_void(0x7C9C91AB74A0360F,hudColorIndex,r,g,b,a);end,\n"\ +"SET_SCRIPT_VARIABLE_HUD_COLOUR=function(r,g,b,a)return _natives.invoke_void(0xD68A5FF8A3A89874,r,g,b,a);end,\n"\ +"SET_SECOND_SCRIPT_VARIABLE_HUD_COLOUR=function(r,g,b,a)return _natives.invoke_void(0x16A304E6CB2BFAB9,r,g,b,a);end,\n"\ +"REPLACE_HUD_COLOUR=function(hudColorIndex,hudColorIndex2)return _natives.invoke_void(0x1CCC708F0F850613,hudColorIndex,hudColorIndex2);end,\n"\ +"REPLACE_HUD_COLOUR_WITH_RGBA=function(hudColorIndex,r,g,b,a)return _natives.invoke_void(0xF314CF4F0211894E,hudColorIndex,r,g,b,a);end,\n"\ +"SET_ABILITY_BAR_VISIBILITY=function(visible)return _natives.invoke_void(0x1DFEDD15019315A9,visible);end,\n"\ +"SET_ALLOW_ABILITY_BAR=function(toggle)return _natives.invoke_void(0x889329C80FE5963C,toggle);end,\n"\ +"FLASH_ABILITY_BAR=function(millisecondsToFlash)return _natives.invoke_void(0x02CFBA0C9E9275CE,millisecondsToFlash);end,\n"\ +"SET_ABILITY_BAR_VALUE=function(p0,p1)return _natives.invoke_void(0x9969599CCFF5D85E,p0,p1);end,\n"\ +"FLASH_WANTED_DISPLAY=function(p0)return _natives.invoke_void(0xA18AFB39081B6A1F,p0);end,\n"\ +"FORCE_OFF_WANTED_STAR_FLASH=function(toggle)return _natives.invoke_void(0xBA8D65C1C65702E5,toggle);end,\n"\ +"SET_CUSTOM_MP_HUD_COLOR=function(hudColorId)return _natives.invoke_void(0x2ACCB195F3CCD9DE,hudColorId);end,\n"\ +"GET_RENDERED_CHARACTER_HEIGHT=function(size,font)return _natives.invoke_float(0xDB88A37483346780,size,font);end,\n"\ +"SET_TEXT_SCALE=function(scale,size)return _natives.invoke_void(0x07C837F9A01C34C9,scale,size);end,\n"\ +"SET_TEXT_COLOUR=function(red,green,blue,alpha)return _natives.invoke_void(0xBE6B23FFA53FB442,red,green,blue,alpha);end,\n"\ +"SET_TEXT_CENTRE=function(align)return _natives.invoke_void(0xC02F4DBFB51D988B,align);end,\n"\ +"SET_TEXT_RIGHT_JUSTIFY=function(toggle)return _natives.invoke_void(0x6B3C4650BC8BEE47,toggle);end,\n"\ +"SET_TEXT_JUSTIFICATION=function(justifyType)return _natives.invoke_void(0x4E096588B13FFECA,justifyType);end,\n"\ +"SET_TEXT_WRAP=function(start,_end)return _natives.invoke_void(0x63145D9C883A1A70,start,_end);end,\n"\ +"SET_TEXT_LEADING=function(p0)return _natives.invoke_void(0xA50ABC31E3CDFAFF,p0);end,\n"\ +"SET_TEXT_PROPORTIONAL=function(p0)return _natives.invoke_void(0x038C1F517D7FDCF8,p0);end,\n"\ +"SET_TEXT_FONT=function(fontType)return _natives.invoke_void(0x66E0276CC5F6B9DA,fontType);end,\n"\ +"SET_TEXT_DROP_SHADOW=function()return _natives.invoke_void(0x1CA3E9EAC9D93E5E);end,\n"\ +"SET_TEXT_DROPSHADOW=function(distance,r,g,b,a)return _natives.invoke_void(0x465C84BC39F1C351,distance,r,g,b,a);end,\n"\ +"SET_TEXT_OUTLINE=function()return _natives.invoke_void(0x2513DFB0FB8400FE);end,\n"\ +"SET_TEXT_EDGE=function(p0,r,g,b,a)return _natives.invoke_void(0x441603240D202FA6,p0,r,g,b,a);end,\n"\ +"SET_TEXT_RENDER_ID=function(renderId)return _natives.invoke_void(0x5F15302936E07111,renderId);end,\n"\ +"GET_DEFAULT_SCRIPT_RENDERTARGET_RENDER_ID=function()return _natives.invoke_int(0x52F0982D7FD156B6);end,\n"\ +"REGISTER_NAMED_RENDERTARGET=function(name,p1)return _natives.invoke_bool(0x57D9C12635E25CE3,name,p1);end,\n"\ +"IS_NAMED_RENDERTARGET_REGISTERED=function(name)return _natives.invoke_bool(0x78DCDC15C9F116B4,name);end,\n"\ +"RELEASE_NAMED_RENDERTARGET=function(name)return _natives.invoke_bool(0xE9F6FFE837354DD4,name);end,\n"\ +"LINK_NAMED_RENDERTARGET=function(modelHash)return _natives.invoke_void(0xF6C09E276AEB3F2D,modelHash);end,\n"\ +"GET_NAMED_RENDERTARGET_RENDER_ID=function(name)return _natives.invoke_int(0x1A6478B61C6BDC3B,name);end,\n"\ +"IS_NAMED_RENDERTARGET_LINKED=function(modelHash)return _natives.invoke_bool(0x113750538FA31298,modelHash);end,\n"\ +"CLEAR_HELP=function(toggle)return _natives.invoke_void(0x8DFCED7A656F8802,toggle);end,\n"\ +"IS_HELP_MESSAGE_ON_SCREEN=function()return _natives.invoke_bool(0xDAD37F45428801AE);end,\n"\ +"HAS_SCRIPT_HIDDEN_HELP_THIS_FRAME=function()return _natives.invoke_bool(0x214CD562A939246A);end,\n"\ +"IS_HELP_MESSAGE_BEING_DISPLAYED=function()return _natives.invoke_bool(0x4D79439A6B55AC67);end,\n"\ +"IS_HELP_MESSAGE_FADING_OUT=function()return _natives.invoke_bool(0x327EDEEEAC55C369);end,\n"\ +"SET_HELP_MESSAGE_STYLE=function(style,hudColor,alpha,p3,p4)return _natives.invoke_void(0xB9C362BABECDDC7A,style,hudColor,alpha,p3,p4);end,\n"\ +"GET_STANDARD_BLIP_ENUM_ID=function()return _natives.invoke_int(0x4A9923385BDB9DAD);end,\n"\ +"GET_WAYPOINT_BLIP_ENUM_ID=function()return _natives.invoke_int(0x186E5D252FA50E7D);end,\n"\ +"GET_NUMBER_OF_ACTIVE_BLIPS=function()return _natives.invoke_int(0x9A3FF3DE163034E8);end,\n"\ +"GET_NEXT_BLIP_INFO_ID=function(blipSprite)return _natives.invoke_int(0x14F96AA50D6FBEA7,blipSprite);end,\n"\ +"GET_FIRST_BLIP_INFO_ID=function(blipSprite)return _natives.invoke_int(0x1BEDE233E6CD2A1F,blipSprite);end,\n"\ +"GET_CLOSEST_BLIP_INFO_ID=function(blipSprite)return _natives.invoke_int(0xD484BF71050CA1EE,blipSprite);end,\n"\ +"GET_BLIP_INFO_ID_COORD=function(blip)return _natives.invoke_vec3(0xFA7C7F0AADF25D09,blip);end,\n"\ +"GET_BLIP_INFO_ID_DISPLAY=function(blip)return _natives.invoke_int(0x1E314167F701DC3B,blip);end,\n"\ +"GET_BLIP_INFO_ID_TYPE=function(blip)return _natives.invoke_int(0xBE9B0959FFD0779B,blip);end,\n"\ +"GET_BLIP_INFO_ID_ENTITY_INDEX=function(blip)return _natives.invoke_int(0x4BA4E2553AFEDC2C,blip);end,\n"\ +"GET_BLIP_INFO_ID_PICKUP_INDEX=function(blip)return _natives.invoke_int(0x9B6786E4C03DD382,blip);end,\n"\ +"GET_BLIP_FROM_ENTITY=function(entity)return _natives.invoke_int(0xBC8DBDCA2436F7E8,entity);end,\n"\ +"ADD_BLIP_FOR_RADIUS=function(posX,posY,posZ,radius)return _natives.invoke_int(0x46818D79B1F7499A,posX,posY,posZ,radius);end,\n"\ +"ADD_BLIP_FOR_AREA=function(x,y,z,width,height)return _natives.invoke_int(0xCE5D0E5E315DB238,x,y,z,width,height);end,\n"\ +"ADD_BLIP_FOR_ENTITY=function(entity)return _natives.invoke_int(0x5CDE92C702A8FCE7,entity);end,\n"\ +"ADD_BLIP_FOR_PICKUP=function(pickup)return _natives.invoke_int(0xBE339365C863BD36,pickup);end,\n"\ +"ADD_BLIP_FOR_COORD=function(x,y,z)return _natives.invoke_int(0x5A039BB0BCA604B6,x,y,z);end,\n"\ +"TRIGGER_SONAR_BLIP=function(posX,posY,posZ,radius,p4)return _natives.invoke_void(0x72DD432F3CDFC0EE,posX,posY,posZ,radius,p4);end,\n"\ +"ALLOW_SONAR_BLIPS=function(toggle)return _natives.invoke_void(0x60734CC207C9833C,toggle);end,\n"\ +"SET_BLIP_COORDS=function(blip,posX,posY,posZ)return _natives.invoke_void(0xAE2AF67E9D9AF65D,blip,posX,posY,posZ);end,\n"\ +"GET_BLIP_COORDS=function(blip)return _natives.invoke_vec3(0x586AFE3FF72D996E,blip);end,\n"\ +"SET_BLIP_SPRITE=function(blip,spriteId)return _natives.invoke_void(0xDF735600A4696DAF,blip,spriteId);end,\n"\ +"GET_BLIP_SPRITE=function(blip)return _natives.invoke_int(0x1FC877464A04FC4F,blip);end,\n"\ +"SET_COP_BLIP_SPRITE=function(p0,p1)return _natives.invoke_void(0x9FCB3CBFB3EAD69A,p0,p1);end,\n"\ +"SET_COP_BLIP_SPRITE_AS_STANDARD=function()return _natives.invoke_void(0xB7B873520C84C118);end,\n"\ +"SET_BLIP_NAME_FROM_TEXT_FILE=function(blip,gxtEntry)return _natives.invoke_void(0xEAA0FFE120D92784,blip,gxtEntry);end,\n"\ +"SET_BLIP_NAME_TO_PLAYER_NAME=function(blip,player)return _natives.invoke_void(0x127DE7B20C60A6A3,blip,player);end,\n"\ +"SET_BLIP_ALPHA=function(blip,alpha)return _natives.invoke_void(0x45FF974EEE1C8734,blip,alpha);end,\n"\ +"GET_BLIP_ALPHA=function(blip)return _natives.invoke_int(0x970F608F0EE6C885,blip);end,\n"\ +"SET_BLIP_FADE=function(blip,opacity,duration)return _natives.invoke_void(0x2AEE8F8390D2298C,blip,opacity,duration);end,\n"\ +"GET_BLIP_FADE_DIRECTION=function(blip)return _natives.invoke_int(0x2C173AE2BDB9385E,blip);end,\n"\ +"SET_BLIP_ROTATION=function(blip,rotation)return _natives.invoke_void(0xF87683CDF73C3F6E,blip,rotation);end,\n"\ +"SET_BLIP_ROTATION_WITH_FLOAT=function(blip,heading)return _natives.invoke_void(0xA8B6AFDAC320AC87,blip,heading);end,\n"\ +"GET_BLIP_ROTATION=function(blip)return _natives.invoke_int(0x003E92BA477F9D7F,blip);end,\n"\ +"SET_BLIP_FLASH_TIMER=function(blip,duration)return _natives.invoke_void(0xD3CD6FD297AE87CC,blip,duration);end,\n"\ +"SET_BLIP_FLASH_INTERVAL=function(blip,p1)return _natives.invoke_void(0xAA51DB313C010A7E,blip,p1);end,\n"\ +"SET_BLIP_COLOUR=function(blip,color)return _natives.invoke_void(0x03D7FB09E75D6B7E,blip,color);end,\n"\ +"SET_BLIP_SECONDARY_COLOUR=function(blip,r,g,b)return _natives.invoke_void(0x14892474891E09EB,blip,r,g,b);end,\n"\ +"GET_BLIP_COLOUR=function(blip)return _natives.invoke_int(0xDF729E8D20CF7327,blip);end,\n"\ +"GET_BLIP_HUD_COLOUR=function(blip)return _natives.invoke_int(0x729B5F1EFBC0AAEE,blip);end,\n"\ +"IS_BLIP_SHORT_RANGE=function(blip)return _natives.invoke_bool(0xDA5F8727EB75B926,blip);end,\n"\ +"IS_BLIP_ON_MINIMAP=function(blip)return _natives.invoke_bool(0xE41CA53051197A27,blip);end,\n"\ +"DOES_BLIP_HAVE_GPS_ROUTE=function(blip)return _natives.invoke_bool(0xDD2238F57B977751,blip);end,\n"\ +"SET_BLIP_HIDDEN_ON_LEGEND=function(blip,toggle)return _natives.invoke_void(0x54318C915D27E4CE,blip,toggle);end,\n"\ +"SET_BLIP_HIGH_DETAIL=function(blip,toggle)return _natives.invoke_void(0xE2590BC29220CEBB,blip,toggle);end,\n"\ +"SET_BLIP_AS_MISSION_CREATOR_BLIP=function(blip,toggle)return _natives.invoke_void(0x24AC0137444F9FD5,blip,toggle);end,\n"\ +"IS_MISSION_CREATOR_BLIP=function(blip)return _natives.invoke_bool(0x26F49BF3381D933D,blip);end,\n"\ +"GET_NEW_SELECTED_MISSION_CREATOR_BLIP=function()return _natives.invoke_int(0x5C90988E7C8E1AF4);end,\n"\ +"IS_HOVERING_OVER_MISSION_CREATOR_BLIP=function()return _natives.invoke_bool(0x4167EFE0527D706E);end,\n"\ +"SHOW_START_MISSION_INSTRUCTIONAL_BUTTON=function(toggle)return _natives.invoke_void(0xF1A6C18B35BCADE6,toggle);end,\n"\ +"SHOW_CONTACT_INSTRUCTIONAL_BUTTON=function(toggle)return _natives.invoke_void(0xC772A904CDE1186F,toggle);end,\n"\ +"RELOAD_MAP_MENU=function()return _natives.invoke_void(0x2916A928514C9827);end,\n"\ +"SET_BLIP_MARKER_LONG_DISTANCE=function(p0,p1)return _natives.invoke_void(0xB552929B85FC27EC,p0,p1);end,\n"\ +"SET_BLIP_FLASHES=function(blip,toggle)return _natives.invoke_void(0xB14552383D39CE3E,blip,toggle);end,\n"\ +"SET_BLIP_FLASHES_ALTERNATE=function(blip,toggle)return _natives.invoke_void(0x2E8D9498C56DD0D1,blip,toggle);end,\n"\ +"IS_BLIP_FLASHING=function(blip)return _natives.invoke_bool(0xA5E41FD83AD6CEF0,blip);end,\n"\ +"SET_BLIP_AS_SHORT_RANGE=function(blip,toggle)return _natives.invoke_void(0xBE8BE4FE60E27B72,blip,toggle);end,\n"\ +"SET_BLIP_SCALE=function(blip,scale)return _natives.invoke_void(0xD38744167B2FA257,blip,scale);end,\n"\ +"SET_BLIP_SCALE_2D=function(blip,xScale,yScale)return _natives.invoke_void(0xCD6524439909C979,blip,xScale,yScale);end,\n"\ +"SET_BLIP_PRIORITY=function(blip,priority)return _natives.invoke_void(0xAE9FC9EF6A9FAC79,blip,priority);end,\n"\ +"SET_BLIP_DISPLAY=function(blip,displayId)return _natives.invoke_void(0x9029B2F3DA924928,blip,displayId);end,\n"\ +"SET_BLIP_CATEGORY=function(blip,index)return _natives.invoke_void(0x234CDD44D996FD9A,blip,index);end,\n"\ +"REMOVE_BLIP=function(blip)return _natives.invoke_void(0x86A652570E5F25DD,blip);end,\n"\ +"SET_BLIP_AS_FRIENDLY=function(blip,toggle)return _natives.invoke_void(0x6F6F290102C02AB4,blip,toggle);end,\n"\ +"PULSE_BLIP=function(blip)return _natives.invoke_void(0x742D6FD43115AF73,blip);end,\n"\ +"SHOW_NUMBER_ON_BLIP=function(blip,number)return _natives.invoke_void(0xA3C0B359DCB848B6,blip,number);end,\n"\ +"HIDE_NUMBER_ON_BLIP=function(blip)return _natives.invoke_void(0x532CFF637EF80148,blip);end,\n"\ +"SHOW_HEIGHT_ON_BLIP=function(blip,toggle)return _natives.invoke_void(0x75A16C3DA34F1245,blip,toggle);end,\n"\ +"SHOW_TICK_ON_BLIP=function(blip,toggle)return _natives.invoke_void(0x74513EA3E505181E,blip,toggle);end,\n"\ +"SHOW_GOLD_TICK_ON_BLIP=function(blip,toggle)return _natives.invoke_void(0xCAC2031EBF79B1A8,blip,toggle);end,\n"\ +"SHOW_FOR_SALE_ICON_ON_BLIP=function(blip,toggle)return _natives.invoke_void(0x19BD6E3C0E16A8FA,blip,toggle);end,\n"\ +"SHOW_HEADING_INDICATOR_ON_BLIP=function(blip,toggle)return _natives.invoke_void(0x5FBCA48327B914DF,blip,toggle);end,\n"\ +"SHOW_OUTLINE_INDICATOR_ON_BLIP=function(blip,toggle)return _natives.invoke_void(0xB81656BC81FE24D1,blip,toggle);end,\n"\ +"SHOW_FRIEND_INDICATOR_ON_BLIP=function(blip,toggle)return _natives.invoke_void(0x23C3EB807312F01A,blip,toggle);end,\n"\ +"SHOW_CREW_INDICATOR_ON_BLIP=function(blip,toggle)return _natives.invoke_void(0xDCFB5D4DB8BF367E,blip,toggle);end,\n"\ +"SET_BLIP_EXTENDED_HEIGHT_THRESHOLD=function(blip,toggle)return _natives.invoke_void(0xC4278F70131BAA6D,blip,toggle);end,\n"\ +"SET_BLIP_SHORT_HEIGHT_THRESHOLD=function(p0,p1)return _natives.invoke_void(0x4B5B620C9B59ED34,p0,p1);end,\n"\ +"SET_BLIP_USE_HEIGHT_INDICATOR_ON_EDGE=function(blip,p1)return _natives.invoke_void(0x2C9F302398E13141,blip,p1);end,\n"\ +"SET_BLIP_AS_MINIMAL_ON_EDGE=function(blip,toggle)return _natives.invoke_void(0x2B6D467DAB714E8D,blip,toggle);end,\n"\ +"SET_RADIUS_BLIP_EDGE=function(blip,toggle)return _natives.invoke_void(0x25615540D894B814,blip,toggle);end,\n"\ +"DOES_BLIP_EXIST=function(blip)return _natives.invoke_bool(0xA6DB27D19ECBB7DA,blip);end,\n"\ +"SET_WAYPOINT_OFF=function()return _natives.invoke_void(0xA7E4E2D361C2627F);end,\n"\ +"DELETE_WAYPOINTS_FROM_THIS_PLAYER=function()return _natives.invoke_void(0xD8E694757BCEA8E9);end,\n"\ +"REFRESH_WAYPOINT=function()return _natives.invoke_void(0x81FA173F170560D1);end,\n"\ +"IS_WAYPOINT_ACTIVE=function()return _natives.invoke_bool(0x1DD1F58F493F1DA5);end,\n"\ +"SET_NEW_WAYPOINT=function(x,y)return _natives.invoke_void(0xFE43368D2AA4F2FC,x,y);end,\n"\ +"SET_BLIP_BRIGHT=function(blip,toggle)return _natives.invoke_void(0xB203913733F27884,blip,toggle);end,\n"\ +"SET_BLIP_SHOW_CONE=function(blip,toggle,hudColorIndex)return _natives.invoke_void(0x13127EC3665E8EE1,blip,toggle,hudColorIndex);end,\n"\ +"REMOVE_COP_BLIP_FROM_PED=function(ped)return _natives.invoke_void(0xC594B315EDF2D4AF,ped);end,\n"\ +"SETUP_FAKE_CONE_DATA=function(blip,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_void(0xF83D0FEBE75E62C9,blip,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"REMOVE_FAKE_CONE_DATA=function(blip)return _natives.invoke_void(0x35A3CD97B2C0A6D2,blip);end,\n"\ +"CLEAR_FAKE_CONE_ARRAY=function()return _natives.invoke_void(0x8410C5E0CD847B9D);end,\n"\ +"SET_MINIMAP_COMPONENT=function(componentId,toggle,overrideColor)return _natives.invoke_bool(0x75A9A10948D1DEA6,componentId,toggle,overrideColor);end,\n"\ +"SET_MINIMAP_SONAR_SWEEP=function(toggle)return _natives.invoke_void(0x6B50FC8749632EC1,toggle);end,\n"\ +"SHOW_ACCOUNT_PICKER=function()return _natives.invoke_void(0x60E892BA4F5BDCA4);end,\n"\ +"GET_MAIN_PLAYER_BLIP_ID=function()return _natives.invoke_int(0xDCD4EC3F419D02FA);end,\n"\ +"SET_PM_WARNINGSCREEN_ACTIVE=function(p0)return _natives.invoke_void(0x41350B4FC28E3941,p0);end,\n"\ +"HIDE_LOADING_ON_FADE_THIS_FRAME=function()return _natives.invoke_void(0x4B0311D3CDC4648F);end,\n"\ +"SET_RADAR_AS_INTERIOR_THIS_FRAME=function(interior,x,y,z,zoom)return _natives.invoke_void(0x59E727A1C9D3E31A,interior,x,y,z,zoom);end,\n"\ +"SET_INSIDE_VERY_SMALL_INTERIOR=function(toggle)return _natives.invoke_void(0x504DFE62A1692296,toggle);end,\n"\ +"SET_INSIDE_VERY_LARGE_INTERIOR=function(toggle)return _natives.invoke_void(0x7EC8ABA5E74B3D7A,toggle);end,\n"\ +"SET_RADAR_AS_EXTERIOR_THIS_FRAME=function()return _natives.invoke_void(0xE81B7D2A3DAB2D81);end,\n"\ +"SET_FAKE_PAUSEMAP_PLAYER_POSITION_THIS_FRAME=function(x,y)return _natives.invoke_void(0x77E2DD177910E1CF,x,y);end,\n"\ +"SET_FAKE_GPS_PLAYER_POSITION_THIS_FRAME=function(x,y,p2)return _natives.invoke_void(0xA17784FCA9548D15,x,y,p2);end,\n"\ +"IS_PAUSEMAP_IN_INTERIOR_MODE=function()return _natives.invoke_bool(0x9049FE339D5F6F6F);end,\n"\ +"HIDE_MINIMAP_EXTERIOR_MAP_THIS_FRAME=function()return _natives.invoke_void(0x5FBAE526203990C9);end,\n"\ +"HIDE_MINIMAP_INTERIOR_MAP_THIS_FRAME=function()return _natives.invoke_void(0x20FE7FDFEEAD38C0);end,\n"\ +"SET_USE_ISLAND_MAP=function(toggle)return _natives.invoke_void(0x5E1460624D194A38,toggle);end,\n"\ +"DONT_TILT_MINIMAP_THIS_FRAME=function()return _natives.invoke_void(0x6D14BFDC33B34F55);end,\n"\ +"DONT_ZOOM_MINIMAP_WHEN_RUNNING_THIS_FRAME=function()return _natives.invoke_void(0x89DA85D949CE57A0);end,\n"\ +"DONT_ZOOM_MINIMAP_WHEN_SNIPING_THIS_FRAME=function()return _natives.invoke_void(0x55F5A5F07134DE60);end,\n"\ +"SET_WIDESCREEN_FORMAT=function(p0)return _natives.invoke_void(0xC3B07BA00A83B0F1,p0);end,\n"\ +"DISPLAY_AREA_NAME=function(toggle)return _natives.invoke_void(0x276B6CE369C33678,toggle);end,\n"\ +"DISPLAY_CASH=function(toggle)return _natives.invoke_void(0x96DEC8D5430208B7,toggle);end,\n"\ +"USE_FAKE_MP_CASH=function(toggle)return _natives.invoke_void(0x170F541E1CADD1DE,toggle);end,\n"\ +"CHANGE_FAKE_MP_CASH=function(cash,bank)return _natives.invoke_void(0x0772DF77852C2E30,cash,bank);end,\n"\ +"DISPLAY_AMMO_THIS_FRAME=function(display)return _natives.invoke_void(0xA5E78BA2B1331C55,display);end,\n"\ +"DISPLAY_SNIPER_SCOPE_THIS_FRAME=function()return _natives.invoke_void(0x73115226F4814E62);end,\n"\ +"HIDE_HUD_AND_RADAR_THIS_FRAME=function()return _natives.invoke_void(0x719FF505F097FD20);end,\n"\ +"ALLOW_DISPLAY_OF_MULTIPLAYER_CASH_TEXT=function(allow)return _natives.invoke_void(0xE67C6DFD386EA5E7,allow);end,\n"\ +"SET_MULTIPLAYER_WALLET_CASH=function()return _natives.invoke_void(0xC2D15BEF167E27BC);end,\n"\ +"REMOVE_MULTIPLAYER_WALLET_CASH=function()return _natives.invoke_void(0x95CF81BD06EE1887);end,\n"\ +"SET_MULTIPLAYER_BANK_CASH=function()return _natives.invoke_void(0xDD21B55DF695CD0A);end,\n"\ +"REMOVE_MULTIPLAYER_BANK_CASH=function()return _natives.invoke_void(0xC7C6789AA1CFEDD0);end,\n"\ +"SET_MULTIPLAYER_HUD_CASH=function(p0,p1)return _natives.invoke_void(0xFD1D220394BCB824,p0,p1);end,\n"\ +"REMOVE_MULTIPLAYER_HUD_CASH=function()return _natives.invoke_void(0x968F270E39141ECA);end,\n"\ +"HIDE_HELP_TEXT_THIS_FRAME=function()return _natives.invoke_void(0xD46923FC481CA285);end,\n"\ +"IS_IME_IN_PROGRESS=function()return _natives.invoke_bool(0x801879A9B4F4B2FB);end,\n"\ +"DISPLAY_HELP_TEXT_THIS_FRAME=function(message,p1)return _natives.invoke_void(0x960C9FF8F616E41C,message,p1);end,\n"\ +"HUD_FORCE_WEAPON_WHEEL=function(show)return _natives.invoke_void(0xEB354E5376BC81A7,show);end,\n"\ +"HUD_FORCE_SPECIAL_VEHICLE_WEAPON_WHEEL=function()return _natives.invoke_void(0x488043841BBE156F);end,\n"\ +"HUD_SUPPRESS_WEAPON_WHEEL_RESULTS_THIS_FRAME=function()return _natives.invoke_void(0x0AFC4AF510774B47);end,\n"\ +"HUD_GET_WEAPON_WHEEL_CURRENTLY_HIGHLIGHTED=function()return _natives.invoke_int(0xA48931185F0536FE);end,\n"\ +"HUD_SET_WEAPON_WHEEL_TOP_SLOT=function(weaponHash)return _natives.invoke_void(0x72C1056D678BB7D8,weaponHash);end,\n"\ +"HUD_GET_WEAPON_WHEEL_TOP_SLOT=function(weaponTypeIndex)return _natives.invoke_int(0xA13E93403F26C812,weaponTypeIndex);end,\n"\ +"HUD_SHOWING_CHARACTER_SWITCH_SELECTION=function(toggle)return _natives.invoke_void(0x14C9FDCC41F81F63,toggle);end,\n"\ +"SET_GPS_FLAGS=function(p0,p1)return _natives.invoke_void(0x5B440763A4C8D15B,p0,p1);end,\n"\ +"CLEAR_GPS_FLAGS=function()return _natives.invoke_void(0x21986729D6A3A830);end,\n"\ +"SET_RACE_TRACK_RENDER=function(toggle)return _natives.invoke_void(0x1EAC5F91BCBC5073,toggle);end,\n"\ +"CLEAR_GPS_RACE_TRACK=function()return _natives.invoke_void(0x7AA5B4CE533C858B);end,\n"\ +"START_GPS_CUSTOM_ROUTE=function(hudColor,displayOnFoot,followPlayer)return _natives.invoke_void(0xDB34E8D56FC13B08,hudColor,displayOnFoot,followPlayer);end,\n"\ +"ADD_POINT_TO_GPS_CUSTOM_ROUTE=function(x,y,z)return _natives.invoke_void(0x311438A071DD9B1A,x,y,z);end,\n"\ +"SET_GPS_CUSTOM_ROUTE_RENDER=function(toggle,radarThickness,mapThickness)return _natives.invoke_void(0x900086F371220B6F,toggle,radarThickness,mapThickness);end,\n"\ +"CLEAR_GPS_CUSTOM_ROUTE=function()return _natives.invoke_void(0xE6DE0561D9232A64);end,\n"\ +"START_GPS_MULTI_ROUTE=function(hudColor,routeFromPlayer,displayOnFoot)return _natives.invoke_void(0x3D3D15AF7BCAAF83,hudColor,routeFromPlayer,displayOnFoot);end,\n"\ +"ADD_POINT_TO_GPS_MULTI_ROUTE=function(x,y,z)return _natives.invoke_void(0xA905192A6781C41B,x,y,z);end,\n"\ +"SET_GPS_MULTI_ROUTE_RENDER=function(toggle)return _natives.invoke_void(0x3DDA37128DD1ACA8,toggle);end,\n"\ +"CLEAR_GPS_MULTI_ROUTE=function()return _natives.invoke_void(0x67EEDEA1B9BAFD94);end,\n"\ +"CLEAR_GPS_PLAYER_WAYPOINT=function()return _natives.invoke_void(0xFF4FB7C8CDFA3DA7);end,\n"\ +"SET_GPS_FLASHES=function(toggle)return _natives.invoke_void(0x320D0E0D936A0E9B,toggle);end,\n"\ +"SET_PLAYER_ICON_COLOUR=function(color)return _natives.invoke_void(0x7B21E0BB01E8224A,color);end,\n"\ +"FLASH_MINIMAP_DISPLAY=function()return _natives.invoke_void(0xF2DD778C22B15BDA);end,\n"\ +"FLASH_MINIMAP_DISPLAY_WITH_COLOR=function(hudColorIndex)return _natives.invoke_void(0x6B1DE27EE78E6A19,hudColorIndex);end,\n"\ +"TOGGLE_STEALTH_RADAR=function(toggle)return _natives.invoke_void(0x6AFDFB93754950C7,toggle);end,\n"\ +"SET_MINIMAP_IN_SPECTATOR_MODE=function(toggle,ped)return _natives.invoke_void(0x1A5CD7752DD28CD3,toggle,ped);end,\n"\ +"SET_MISSION_NAME=function(p0,name)return _natives.invoke_void(0x5F28ECF5FC84772F,p0,name);end,\n"\ +"SET_MISSION_NAME_FOR_UGC_MISSION=function(p0,name)return _natives.invoke_void(0xE45087D85F468BC2,p0,name);end,\n"\ +"SET_DESCRIPTION_FOR_UGC_MISSION_EIGHT_STRINGS=function(p0,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_void(0x817B86108EB94E51,p0,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"SET_MINIMAP_BLOCK_WAYPOINT=function(toggle)return _natives.invoke_void(0x58FADDED207897DC,toggle);end,\n"\ +"SET_MINIMAP_IN_PROLOGUE=function(toggle)return _natives.invoke_void(0x9133955F1A2DA957,toggle);end,\n"\ +"SET_MINIMAP_HIDE_FOW=function(toggle)return _natives.invoke_void(0xF8DEE0A5600CBB93,toggle);end,\n"\ +"GET_MINIMAP_FOW_DISCOVERY_RATIO=function()return _natives.invoke_float(0xE0130B41D3CF4574);end,\n"\ +"GET_MINIMAP_FOW_COORDINATE_IS_REVEALED=function(x,y,z)return _natives.invoke_bool(0x6E31B91145873922,x,y,z);end,\n"\ +"SET_MINIMAP_FOW_DO_NOT_UPDATE=function(p0)return _natives.invoke_void(0x62E849B7EB28E770,p0);end,\n"\ +"SET_MINIMAP_FOW_REVEAL_COORDINATE=function(x,y,z)return _natives.invoke_void(0x0923DBF87DFF735E,x,y,z);end,\n"\ +"SET_MINIMAP_GOLF_COURSE=function(hole)return _natives.invoke_void(0x71BDB63DBAF8DA59,hole);end,\n"\ +"SET_MINIMAP_GOLF_COURSE_OFF=function()return _natives.invoke_void(0x35EDD5B2E3FF01C0);end,\n"\ +"LOCK_MINIMAP_ANGLE=function(angle)return _natives.invoke_void(0x299FAEBB108AE05B,angle);end,\n"\ +"UNLOCK_MINIMAP_ANGLE=function()return _natives.invoke_void(0x8183455E16C42E3A);end,\n"\ +"LOCK_MINIMAP_POSITION=function(x,y)return _natives.invoke_void(0x1279E861A329E73F,x,y);end,\n"\ +"UNLOCK_MINIMAP_POSITION=function()return _natives.invoke_void(0x3E93E06DB8EF1F30);end,\n"\ +"SET_FAKE_MINIMAP_MAX_ALTIMETER_HEIGHT=function(altitude,p1,p2)return _natives.invoke_void(0xD201F3FF917A506D,altitude,p1,p2);end,\n"\ +"SET_HEALTH_HUD_DISPLAY_VALUES=function(health,capacity,wasAdded)return _natives.invoke_void(0x3F5CC444DCAAA8F2,health,capacity,wasAdded);end,\n"\ +"SET_MAX_HEALTH_HUD_DISPLAY=function(maximumValue)return _natives.invoke_void(0x975D66A0BC17064C,maximumValue);end,\n"\ +"SET_MAX_ARMOUR_HUD_DISPLAY=function(maximumValue)return _natives.invoke_void(0x06A320535F5F0248,maximumValue);end,\n"\ +"SET_BIGMAP_ACTIVE=function(toggleBigMap,showFullMap)return _natives.invoke_void(0x231C8F89D0539D8F,toggleBigMap,showFullMap);end,\n"\ +"IS_HUD_COMPONENT_ACTIVE=function(id)return _natives.invoke_bool(0xBC4C9EA5391ECC0D,id);end,\n"\ +"IS_SCRIPTED_HUD_COMPONENT_ACTIVE=function(id)return _natives.invoke_bool(0xDD100EB17A94FF65,id);end,\n"\ +"HIDE_SCRIPTED_HUD_COMPONENT_THIS_FRAME=function(id)return _natives.invoke_void(0xE374C498D8BADC14,id);end,\n"\ +"SHOW_SCRIPTED_HUD_COMPONENT_THIS_FRAME=function(id)return _natives.invoke_void(0x4F38DCA127DAAEA2,id);end,\n"\ +"IS_SCRIPTED_HUD_COMPONENT_HIDDEN_THIS_FRAME=function(id)return _natives.invoke_bool(0x09C0403ED9A751C2,id);end,\n"\ +"HIDE_HUD_COMPONENT_THIS_FRAME=function(id)return _natives.invoke_void(0x6806C51AD12B83B8,id);end,\n"\ +"SHOW_HUD_COMPONENT_THIS_FRAME=function(id)return _natives.invoke_void(0x0B4DF1FA60C0E664,id);end,\n"\ +"HIDE_STREET_AND_CAR_NAMES_THIS_FRAME=function()return _natives.invoke_void(0xA4DEDE28B1814289);end,\n"\ +"RESET_RETICULE_VALUES=function()return _natives.invoke_void(0x12782CE0A636E9F0);end,\n"\ +"RESET_HUD_COMPONENT_VALUES=function(id)return _natives.invoke_void(0x450930E616475D0D,id);end,\n"\ +"SET_HUD_COMPONENT_POSITION=function(id,x,y)return _natives.invoke_void(0xAABB1F56E2A17CED,id,x,y);end,\n"\ +"GET_HUD_COMPONENT_POSITION=function(id)return _natives.invoke_vec3(0x223CA69A8C4417FD,id);end,\n"\ +"CLEAR_REMINDER_MESSAGE=function()return _natives.invoke_void(0xB57D8DD645CFA2CF);end,\n"\ +"GET_HUD_SCREEN_POSITION_FROM_WORLD_POSITION=function(worldX,worldY,worldZ,screenX,screenY)return _natives.invoke_int(0xF9904D11F1ACBEC3,worldX,worldY,worldZ,screenX,screenY);end,\n"\ +"OPEN_REPORTUGC_MENU=function()return _natives.invoke_void(0x523A590C1A3CC0D3);end,\n"\ +"FORCE_CLOSE_REPORTUGC_MENU=function()return _natives.invoke_void(0xEE4C0E6DBC6F2C6F);end,\n"\ +"IS_REPORTUGC_MENU_OPEN=function()return _natives.invoke_bool(0x9135584D09A3437E);end,\n"\ +"IS_FLOATING_HELP_TEXT_ON_SCREEN=function(hudIndex)return _natives.invoke_bool(0x2432784ACA090DA4,hudIndex);end,\n"\ +"SET_FLOATING_HELP_TEXT_SCREEN_POSITION=function(hudIndex,x,y)return _natives.invoke_void(0x7679CC1BCEBE3D4C,hudIndex,x,y);end,\n"\ +"SET_FLOATING_HELP_TEXT_WORLD_POSITION=function(hudIndex,x,y,z)return _natives.invoke_void(0x784BA7E0ECEB4178,hudIndex,x,y,z);end,\n"\ +"SET_FLOATING_HELP_TEXT_TO_ENTITY=function(hudIndex,entity,offsetX,offsetY)return _natives.invoke_void(0xB094BC1DB4018240,hudIndex,entity,offsetX,offsetY);end,\n"\ +"SET_FLOATING_HELP_TEXT_STYLE=function(hudIndex,p1,p2,p3,p4,p5)return _natives.invoke_void(0x788E7FD431BD67F1,hudIndex,p1,p2,p3,p4,p5);end,\n"\ +"CLEAR_FLOATING_HELP=function(hudIndex,p1)return _natives.invoke_void(0x50085246ABD3FEFA,hudIndex,p1);end,\n"\ +"CREATE_MP_GAMER_TAG_WITH_CREW_COLOR=function(player,username,pointedClanTag,isRockstarClan,clanTag,clanFlag,r,g,b)return _natives.invoke_void(0x6DD05E9D83EFA4C9,player,username,pointedClanTag,isRockstarClan,clanTag,clanFlag,r,g,b);end,\n"\ +"IS_MP_GAMER_TAG_MOVIE_ACTIVE=function()return _natives.invoke_bool(0x6E0EB3EB47C8D7AA);end,\n"\ +"CREATE_FAKE_MP_GAMER_TAG=function(ped,username,pointedClanTag,isRockstarClan,clanTag,clanFlag)return _natives.invoke_int(0xBFEFE3321A3F5015,ped,username,pointedClanTag,isRockstarClan,clanTag,clanFlag);end,\n"\ +"REMOVE_MP_GAMER_TAG=function(gamerTagId)return _natives.invoke_void(0x31698AA80E0223F8,gamerTagId);end,\n"\ +"IS_MP_GAMER_TAG_ACTIVE=function(gamerTagId)return _natives.invoke_bool(0x4E929E7A5796FD26,gamerTagId);end,\n"\ +"IS_MP_GAMER_TAG_FREE=function(gamerTagId)return _natives.invoke_bool(0x595B5178E412E199,gamerTagId);end,\n"\ +"SET_MP_GAMER_TAG_VISIBILITY=function(gamerTagId,component,toggle,p3)return _natives.invoke_void(0x63BB75ABEDC1F6A0,gamerTagId,component,toggle,p3);end,\n"\ +"SET_ALL_MP_GAMER_TAGS_VISIBILITY=function(gamerTagId,toggle)return _natives.invoke_void(0xEE76FF7E6A0166B0,gamerTagId,toggle);end,\n"\ +"SET_MP_GAMER_TAGS_SHOULD_USE_VEHICLE_HEALTH=function(gamerTagId,toggle)return _natives.invoke_void(0xA67F9C46D612B6F1,gamerTagId,toggle);end,\n"\ +"SET_MP_GAMER_TAGS_SHOULD_USE_POINTS_HEALTH=function(gamerTagId,toggle)return _natives.invoke_void(0xD29EC58C2F6B5014,gamerTagId,toggle);end,\n"\ +"SET_MP_GAMER_TAGS_POINT_HEALTH=function(gamerTagId,value,maximumValue)return _natives.invoke_void(0x1563FE35E9928E67,gamerTagId,value,maximumValue);end,\n"\ +"SET_MP_GAMER_TAG_COLOUR=function(gamerTagId,component,hudColorIndex)return _natives.invoke_void(0x613ED644950626AE,gamerTagId,component,hudColorIndex);end,\n"\ +"SET_MP_GAMER_TAG_HEALTH_BAR_COLOUR=function(gamerTagId,hudColorIndex)return _natives.invoke_void(0x3158C77A7E888AB4,gamerTagId,hudColorIndex);end,\n"\ +"SET_MP_GAMER_TAG_ALPHA=function(gamerTagId,component,alpha)return _natives.invoke_void(0xD48FE545CD46F857,gamerTagId,component,alpha);end,\n"\ +"SET_MP_GAMER_TAG_WANTED_LEVEL=function(gamerTagId,wantedlvl)return _natives.invoke_void(0xCF228E2AA03099C3,gamerTagId,wantedlvl);end,\n"\ +"SET_MP_GAMER_TAG_NUM_PACKAGES=function(gamerTagId,p1)return _natives.invoke_void(0x9C16459B2324B2CF,gamerTagId,p1);end,\n"\ +"SET_MP_GAMER_TAG_NAME=function(gamerTagId,string)return _natives.invoke_void(0xDEA2B8283BAA3944,gamerTagId,string);end,\n"\ +"IS_UPDATING_MP_GAMER_TAG_NAME_AND_CREW_DETAILS=function(gamerTagId)return _natives.invoke_bool(0xEB709A36958ABE0D,gamerTagId);end,\n"\ +"SET_MP_GAMER_TAG_BIG_TEXT=function(gamerTagId,string)return _natives.invoke_void(0x7B7723747CCB55B6,gamerTagId,string);end,\n"\ +"GET_CURRENT_WEBPAGE_ID=function()return _natives.invoke_int(0x01A358D9128B7A86);end,\n"\ +"GET_CURRENT_WEBSITE_ID=function()return _natives.invoke_int(0x97D47996FC48CBAD);end,\n"\ +"GET_GLOBAL_ACTIONSCRIPT_FLAG=function(flagIndex)return _natives.invoke_int(0xE3B05614DCE1D014,flagIndex);end,\n"\ +"RESET_GLOBAL_ACTIONSCRIPT_FLAG=function(flagIndex)return _natives.invoke_void(0xB99C4E4D9499DF29,flagIndex);end,\n"\ +"IS_WARNING_MESSAGE_READY_FOR_CONTROL=function()return _natives.invoke_bool(0xAF42195A42C63BBA);end,\n"\ +"SET_WARNING_MESSAGE=function(titleMsg,flags,promptMsg,p3,p4,p5,p6,showBackground,errorCode)return _natives.invoke_void(0x7B1776B3B53F8D74,titleMsg,flags,promptMsg,p3,p4,p5,p6,showBackground,errorCode);end,\n"\ +"SET_WARNING_MESSAGE_WITH_HEADER=function(entryHeader,entryLine1,instructionalKey,entryLine2,p4,p5,showBackground,p7,p8,p9)return _natives.invoke_void(0xDC38CC1E35B6A5D7,entryHeader,entryLine1,instructionalKey,entryLine2,p4,p5,showBackground,p7,p8,p9);end,\n"\ +"SET_WARNING_MESSAGE_WITH_HEADER_AND_SUBSTRING_FLAGS=function(entryHeader,entryLine1,instructionalKey,entryLine2,p4,p5,additionalIntInfo,additionalTextInfoLine1,additionalTextInfoLine2,showBackground,errorCode)return _natives.invoke_void(0x701919482C74B5AB,entryHeader,entryLine1,instructionalKey,entryLine2,p4,p5,additionalIntInfo,additionalTextInfoLine1,additionalTextInfoLine2,showBackground,errorCode);end,\n"\ +"SET_WARNING_MESSAGE_WITH_HEADER_EXTENDED=function(entryHeader,entryLine1,flags,entryLine2,p4,p5,p6,p7,showBg,p9,p10)return _natives.invoke_void(0x38B55259C2E078ED,entryHeader,entryLine1,flags,entryLine2,p4,p5,p6,p7,showBg,p9,p10);end,\n"\ +"SET_WARNING_MESSAGE_WITH_HEADER_AND_SUBSTRING_FLAGS_EXTENDED=function(labelTitle,labelMessage,p2,p3,labelMessage2,p5,p6,p7,p8,p9,background,errorCode)return _natives.invoke_void(0x15803FEC3B9A872B,labelTitle,labelMessage,p2,p3,labelMessage2,p5,p6,p7,p8,p9,background,errorCode);end,\n"\ +"GET_WARNING_SCREEN_MESSAGE_HASH=function()return _natives.invoke_int(0x81DF9ABA6C83DFF9);end,\n"\ +"SET_WARNING_MESSAGE_OPTION_ITEMS=function(index,name,cash,rp,lvl,colour)return _natives.invoke_bool(0x0C5A80A9E096D529,index,name,cash,rp,lvl,colour);end,\n"\ +"SET_WARNING_MESSAGE_OPTION_HIGHLIGHT=function(p0)return _natives.invoke_bool(0xDAF87174BE7454FF,p0);end,\n"\ +"REMOVE_WARNING_MESSAGE_OPTION_ITEMS=function()return _natives.invoke_void(0x6EF54AB721DC6242);end,\n"\ +"IS_WARNING_MESSAGE_ACTIVE=function()return _natives.invoke_bool(0xE18B138FABC53103);end,\n"\ +"CLEAR_DYNAMIC_PAUSE_MENU_ERROR_MESSAGE=function()return _natives.invoke_void(0x7792424AA0EAC32E);end,\n"\ +"CUSTOM_MINIMAP_SET_ACTIVE=function(toggle)return _natives.invoke_void(0x5354C5BA2EA868A4,toggle);end,\n"\ +"CUSTOM_MINIMAP_SET_BLIP_OBJECT=function(spriteId)return _natives.invoke_void(0x1EAE6DD17B7A5EFA,spriteId);end,\n"\ +"CUSTOM_MINIMAP_CREATE_BLIP=function(x,y,z)return _natives.invoke_int(0x551DF99658DB6EE8,x,y,z);end,\n"\ +"CUSTOM_MINIMAP_CLEAR_BLIPS=function()return _natives.invoke_void(0x2708FC083123F9FF);end,\n"\ +"FORCE_SONAR_BLIPS_THIS_FRAME=function()return _natives.invoke_bool(0x1121BFA1A1A522A8);end,\n"\ +"GET_NORTH_BLID_INDEX=function()return _natives.invoke_int(0x3F0CF9CB7E589B88);end,\n"\ +"DISPLAY_PLAYER_NAME_TAGS_ON_BLIPS=function(toggle)return _natives.invoke_void(0x82CEDC33687E1F50,toggle);end,\n"\ +"DRAW_FRONTEND_BACKGROUND_THIS_FRAME=function()return _natives.invoke_void(0x211C4EF450086857);end,\n"\ +"DRAW_HUD_OVER_FADE_THIS_FRAME=function()return _natives.invoke_void(0xBF4F34A85CA2970C);end,\n"\ +"ACTIVATE_FRONTEND_MENU=function(menuhash,togglePause,component)return _natives.invoke_void(0xEF01D36B9C9D0C7B,menuhash,togglePause,component);end,\n"\ +"RESTART_FRONTEND_MENU=function(menuHash,p1)return _natives.invoke_void(0x10706DC6AD2D49C0,menuHash,p1);end,\n"\ +"GET_CURRENT_FRONTEND_MENU_VERSION=function()return _natives.invoke_int(0x2309595AD6145265);end,\n"\ +"SET_PAUSE_MENU_ACTIVE=function(toggle)return _natives.invoke_void(0xDF47FC56C71569CF,toggle);end,\n"\ +"DISABLE_FRONTEND_THIS_FRAME=function()return _natives.invoke_void(0x6D3465A73092F0E6);end,\n"\ +"SUPPRESS_FRONTEND_RENDERING_THIS_FRAME=function()return _natives.invoke_void(0xBA751764F0821256);end,\n"\ +"ALLOW_PAUSE_WHEN_NOT_IN_STATE_OF_PLAY_THIS_FRAME=function()return _natives.invoke_void(0xCC3FDDED67BCFC63);end,\n"\ +"SET_FRONTEND_ACTIVE=function(active)return _natives.invoke_void(0x745711A75AB09277,active);end,\n"\ +"IS_PAUSE_MENU_ACTIVE=function()return _natives.invoke_bool(0xB0034A223497FFCB);end,\n"\ +"IS_STORE_PENDING_NETWORK_SHUTDOWN_TO_OPEN=function()return _natives.invoke_bool(0x2F057596F2BD0061);end,\n"\ +"GET_PAUSE_MENU_STATE=function()return _natives.invoke_int(0x272ACD84970869C5);end,\n"\ +"GET_PAUSE_MENU_POSITION=function()return _natives.invoke_vec3(0x5BFF36D6ED83E0AE);end,\n"\ +"IS_PAUSE_MENU_RESTARTING=function()return _natives.invoke_bool(0x1C491717107431C7);end,\n"\ +"FORCE_SCRIPTED_GFX_WHEN_FRONTEND_ACTIVE=function(p0)return _natives.invoke_void(0x2162C446DFDF38FD,p0);end,\n"\ +"PAUSE_MENUCEPTION_GO_DEEPER=function(page)return _natives.invoke_void(0x77F16B447824DA6C,page);end,\n"\ +"PAUSE_MENUCEPTION_THE_KICK=function()return _natives.invoke_void(0xCDCA26E80FAECB8F);end,\n"\ +"PAUSE_TOGGLE_FULLSCREEN_MAP=function(p0)return _natives.invoke_void(0x2DE6C5E2E996F178,p0);end,\n"\ +"PAUSE_MENU_ACTIVATE_CONTEXT=function(contextHash)return _natives.invoke_void(0xDD564BDD0472C936,contextHash);end,\n"\ +"PAUSE_MENU_DEACTIVATE_CONTEXT=function(contextHash)return _natives.invoke_void(0x444D8CF241EC25C5,contextHash);end,\n"\ +"PAUSE_MENU_IS_CONTEXT_ACTIVE=function(contextHash)return _natives.invoke_bool(0x84698AB38D0C6636,contextHash);end,\n"\ +"PAUSE_MENU_IS_CONTEXT_MENU_ACTIVE=function()return _natives.invoke_bool(0x2A25ADC48F87841F);end,\n"\ +"PAUSE_MENU_GET_HAIR_COLOUR_INDEX=function()return _natives.invoke_int(0xDE03620F8703A9DF);end,\n"\ +"PAUSE_MENU_GET_MOUSE_HOVER_INDEX=function()return _natives.invoke_int(0x359AF31A4B52F5ED);end,\n"\ +"PAUSE_MENU_GET_MOUSE_HOVER_UNIQUE_ID=function()return _natives.invoke_int(0x13C4B962653A5280);end,\n"\ +"PAUSE_MENU_GET_MOUSE_CLICK_EVENT=function(p0,p1,p2)return _natives.invoke_bool(0xC8E1071177A23BE5,p0,p1,p2);end,\n"\ +"PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS=function(p0)return _natives.invoke_void(0x4895BDEA16E7C080,p0);end,\n"\ +"PAUSE_MENU_SET_BUSY_SPINNER=function(p0,position,spinnerIndex)return _natives.invoke_void(0xC78E239AC5B2DDB9,p0,position,spinnerIndex);end,\n"\ +"PAUSE_MENU_SET_WARN_ON_TAB_CHANGE=function(p0)return _natives.invoke_void(0xF06EBB91A81E09E3,p0);end,\n"\ +"IS_FRONTEND_READY_FOR_CONTROL=function()return _natives.invoke_bool(0x3BAB9A4E4F2FF5C7);end,\n"\ +"TAKE_CONTROL_OF_FRONTEND=function()return _natives.invoke_void(0xEC9264727EEC0F28);end,\n"\ +"RELEASE_CONTROL_OF_FRONTEND=function()return _natives.invoke_void(0x14621BB1DF14E2B2);end,\n"\ +"CODE_WANTS_SCRIPT_TO_TAKE_CONTROL=function()return _natives.invoke_bool(0x66E7CB63C97B7D20);end,\n"\ +"GET_SCREEN_CODE_WANTS_SCRIPT_TO_CONTROL=function()return _natives.invoke_int(0x593FEAE1F73392D4);end,\n"\ +"IS_NAVIGATING_MENU_CONTENT=function()return _natives.invoke_bool(0x4E3CD0EF8A489541);end,\n"\ +"HAS_MENU_TRIGGER_EVENT_OCCURRED=function()return _natives.invoke_bool(0xF284AC67940C6812);end,\n"\ +"HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED=function()return _natives.invoke_bool(0x2E22FEFA0100275E);end,\n"\ +"SET_SAVEGAME_LIST_UNIQUE_ID=function(p0)return _natives.invoke_void(0x0CF54F20DE43879C,p0);end,\n"\ +"GET_MENU_TRIGGER_EVENT_DETAILS=function(lastItemMenuId,selectedItemUniqueId)return _natives.invoke_void(0x36C1451A88A09630,lastItemMenuId,selectedItemUniqueId);end,\n"\ +"GET_MENU_LAYOUT_CHANGED_EVENT_DETAILS=function(lastItemMenuId,selectedItemMenuId,selectedItemUniqueId)return _natives.invoke_void(0x7E17BE53E1AAABAF,lastItemMenuId,selectedItemMenuId,selectedItemUniqueId);end,\n"\ +"GET_PM_PLAYER_CREW_COLOR=function(r,g,b)return _natives.invoke_bool(0xA238192F33110615,r,g,b);end,\n"\ +"GET_MENU_PED_INT_STAT=function(p0,p1)return _natives.invoke_bool(0xEF4CED81CEBEDC6D,p0,p1);end,\n"\ +"GET_CHARACTER_MENU_PED_INT_STAT=function(p0,p1,p2)return _natives.invoke_bool(0xCA6B2F7CE32AB653,p0,p1,p2);end,\n"\ +"GET_MENU_PED_MASKED_INT_STAT=function(statHash,outValue,mask,p3)return _natives.invoke_bool(0x90A6526CF0381030,statHash,outValue,mask,p3);end,\n"\ +"GET_CHARACTER_MENU_PED_MASKED_INT_STAT=function(statHash,outValue,p2,mask,p4)return _natives.invoke_bool(0x24A49BEAF468DC90,statHash,outValue,p2,mask,p4);end,\n"\ +"GET_MENU_PED_FLOAT_STAT=function(statHash,outValue)return _natives.invoke_bool(0x5FBD7095FE7AE57F,statHash,outValue);end,\n"\ +"GET_CHARACTER_MENU_PED_FLOAT_STAT=function(statHash,outValue,p2)return _natives.invoke_bool(0x8F08017F9D7C47BD,statHash,outValue,p2);end,\n"\ +"GET_MENU_PED_BOOL_STAT=function(statHash,outValue)return _natives.invoke_bool(0x052991E59076E4E4,statHash,outValue);end,\n"\ +"CLEAR_PED_IN_PAUSE_MENU=function()return _natives.invoke_void(0x5E62BE5DC58E9E06);end,\n"\ +"GIVE_PED_TO_PAUSE_MENU=function(ped,p1)return _natives.invoke_void(0xAC0BFBDC3BE00E14,ped,p1);end,\n"\ +"SET_PAUSE_MENU_PED_LIGHTING=function(state)return _natives.invoke_void(0x3CA6050692BC61B0,state);end,\n"\ +"SET_PAUSE_MENU_PED_SLEEP_STATE=function(state)return _natives.invoke_void(0xECF128344E9FF9F1,state);end,\n"\ +"OPEN_ONLINE_POLICIES_MENU=function()return _natives.invoke_void(0x805D7CBB36FD6C4C);end,\n"\ +"ARE_ONLINE_POLICIES_UP_TO_DATE=function()return _natives.invoke_bool(0xF13FE2A80C05C561);end,\n"\ +"IS_ONLINE_POLICIES_MENU_ACTIVE=function()return _natives.invoke_bool(0x6F72CD94F7B5B68C);end,\n"\ +"OPEN_SOCIAL_CLUB_MENU=function()return _natives.invoke_void(0x75D3691713C3B05A);end,\n"\ +"CLOSE_SOCIAL_CLUB_MENU=function()return _natives.invoke_void(0xD2B32BE3FC1626C6);end,\n"\ +"SET_SOCIAL_CLUB_TOUR=function(name)return _natives.invoke_void(0x9E778248D6685FE0,name);end,\n"\ +"IS_SOCIAL_CLUB_ACTIVE=function()return _natives.invoke_bool(0xC406BE343FC4B9AF);end,\n"\ +"SET_TEXT_INPUT_BOX_ENABLED=function(p0)return _natives.invoke_void(0x1185A8087587322C,p0);end,\n"\ +"FORCE_CLOSE_TEXT_INPUT_BOX=function()return _natives.invoke_void(0x8817605C2BA76200);end,\n"\ +"SET_ALLOW_COMMA_ON_TEXT_INPUT=function(p0)return _natives.invoke_void(0x577599CCED639CA2,p0);end,\n"\ +"OVERRIDE_MP_TEXT_CHAT_TEAM_STRING=function(gxtEntryHash)return _natives.invoke_void(0x6A1738B4323FE2D9,gxtEntryHash);end,\n"\ +"IS_MP_TEXT_CHAT_TYPING=function()return _natives.invoke_bool(0xB118AF58B5F332A1);end,\n"\ +"CLOSE_MP_TEXT_CHAT=function()return _natives.invoke_void(0x1AC8F4AD40E22127);end,\n"\ +"MP_TEXT_CHAT_IS_TEAM_JOB=function(p0)return _natives.invoke_void(0x7C226D5346D4D10A,p0);end,\n"\ +"OVERRIDE_MP_TEXT_CHAT_COLOR=function(p0,hudColor)return _natives.invoke_void(0xF47E567B3630DD12,p0,hudColor);end,\n"\ +"MP_TEXT_CHAT_DISABLE=function(toggle)return _natives.invoke_void(0x1DB21A44B09E8BA3,toggle);end,\n"\ +"FLAG_PLAYER_CONTEXT_IN_TOURNAMENT=function(toggle)return _natives.invoke_void(0xCEF214315D276FD1,toggle);end,\n"\ +"SET_PED_HAS_AI_BLIP=function(ped,hasCone)return _natives.invoke_void(0xD30C50DF888D58B5,ped,hasCone);end,\n"\ +"SET_PED_HAS_AI_BLIP_WITH_COLOUR=function(ped,hasCone,color)return _natives.invoke_void(0xB13DCB4C6FAAD238,ped,hasCone,color);end,\n"\ +"DOES_PED_HAVE_AI_BLIP=function(ped)return _natives.invoke_bool(0x15B8ECF844EE67ED,ped);end,\n"\ +"SET_PED_AI_BLIP_GANG_ID=function(ped,gangId)return _natives.invoke_void(0xE52B8E7F85D39A08,ped,gangId);end,\n"\ +"SET_PED_AI_BLIP_HAS_CONE=function(ped,toggle)return _natives.invoke_void(0x3EED80DFF7325CAA,ped,toggle);end,\n"\ +"SET_PED_AI_BLIP_FORCED_ON=function(ped,toggle)return _natives.invoke_void(0x0C4BBF625CA98C4E,ped,toggle);end,\n"\ +"SET_PED_AI_BLIP_NOTICE_RANGE=function(ped,range)return _natives.invoke_void(0x97C65887D4B37FA9,ped,range);end,\n"\ +"SET_PED_AI_BLIP_SPRITE=function(ped,spriteId)return _natives.invoke_void(0xFCFACD0DB9D7A57D,ped,spriteId);end,\n"\ +"GET_AI_PED_PED_BLIP_INDEX=function(ped)return _natives.invoke_int(0x7CD934010E115C2C,ped);end,\n"\ +"GET_AI_PED_VEHICLE_BLIP_INDEX=function(ped)return _natives.invoke_int(0x56176892826A4FE8,ped);end,\n"\ +"HAS_DIRECTOR_MODE_BEEN_LAUNCHED_BY_CODE=function()return _natives.invoke_bool(0xA277800A9EAE340E);end,\n"\ +"SET_DIRECTOR_MODE_LAUNCHED_BY_SCRIPT=function()return _natives.invoke_void(0x2632482FD6B9AB87);end,\n"\ +"SET_PLAYER_IS_IN_DIRECTOR_MODE=function(toggle)return _natives.invoke_void(0x808519373FD336A3,toggle);end,\n"\ +"SET_DIRECTOR_MODE_AVAILABLE=function(toggle)return _natives.invoke_void(0x04655F9D075D0AE5,toggle);end,\n"\ +"HIDE_HUDMARKERS_THIS_FRAME=function()return _natives.invoke_void(0x243296A510B562B6);end,\n"\ +"};\n"\ +"INTERIOR = {\n"\ +"GET_INTERIOR_HEADING=function(interior)return _natives.invoke_float(0xF49B58631D9E22D9,interior);end,\n"\ +"GET_INTERIOR_LOCATION_AND_NAMEHASH=function(interior,position,nameHash)return _natives.invoke_void(0x252BDC06B73FA6EA,interior,position,nameHash);end,\n"\ +"GET_INTERIOR_GROUP_ID=function(interior)return _natives.invoke_int(0xE4A84ABF135EF91A,interior);end,\n"\ +"GET_OFFSET_FROM_INTERIOR_IN_WORLD_COORDS=function(interior,x,y,z)return _natives.invoke_vec3(0x9E3B3E6D66F6E22F,interior,x,y,z);end,\n"\ +"IS_INTERIOR_SCENE=function()return _natives.invoke_bool(0xBC72B5D7A1CBD54D);end,\n"\ +"IS_VALID_INTERIOR=function(interior)return _natives.invoke_bool(0x26B0E73D7EAAF4D3,interior);end,\n"\ +"CLEAR_ROOM_FOR_ENTITY=function(entity)return _natives.invoke_void(0xB365FC0C4E27FFA7,entity);end,\n"\ +"FORCE_ROOM_FOR_ENTITY=function(entity,interior,roomHashKey)return _natives.invoke_void(0x52923C4710DD9907,entity,interior,roomHashKey);end,\n"\ +"GET_ROOM_KEY_FROM_ENTITY=function(entity)return _natives.invoke_int(0x47C2A06D4F5F424B,entity);end,\n"\ +"GET_KEY_FOR_ENTITY_IN_ROOM=function(entity)return _natives.invoke_int(0x399685DB942336BC,entity);end,\n"\ +"GET_INTERIOR_FROM_ENTITY=function(entity)return _natives.invoke_int(0x2107BA504071A6BB,entity);end,\n"\ +"RETAIN_ENTITY_IN_INTERIOR=function(entity,interior)return _natives.invoke_void(0x82EBB79E258FA2B7,entity,interior);end,\n"\ +"CLEAR_INTERIOR_STATE_OF_ENTITY=function(entity)return _natives.invoke_void(0x85D5422B2039A70D,entity);end,\n"\ +"FORCE_ACTIVATING_TRACKING_ON_ENTITY=function(p0,p1)return _natives.invoke_void(0x38C1CB1CB119A016,p0,p1);end,\n"\ +"FORCE_ROOM_FOR_GAME_VIEWPORT=function(interiorID,roomHashKey)return _natives.invoke_void(0x920D853F3E17F1DA,interiorID,roomHashKey);end,\n"\ +"SET_ROOM_FOR_GAME_VIEWPORT_BY_NAME=function(roomName)return _natives.invoke_void(0xAF348AFCB575A441,roomName);end,\n"\ +"SET_ROOM_FOR_GAME_VIEWPORT_BY_KEY=function(roomHashKey)return _natives.invoke_void(0x405DC2AEF6AF95B9,roomHashKey);end,\n"\ +"GET_ROOM_KEY_FOR_GAME_VIEWPORT=function()return _natives.invoke_int(0xA6575914D2A0B450);end,\n"\ +"CLEAR_ROOM_FOR_GAME_VIEWPORT=function()return _natives.invoke_void(0x23B59D8912F94246);end,\n"\ +"GET_INTERIOR_FROM_PRIMARY_VIEW=function()return _natives.invoke_int(0xE7D267EC6CA966C3);end,\n"\ +"GET_INTERIOR_AT_COORDS=function(x,y,z)return _natives.invoke_int(0xB0F7F8663821D9C3,x,y,z);end,\n"\ +"ADD_PICKUP_TO_INTERIOR_ROOM_BY_NAME=function(pickup,roomName)return _natives.invoke_void(0x3F6167F351168730,pickup,roomName);end,\n"\ +"PIN_INTERIOR_IN_MEMORY=function(interior)return _natives.invoke_void(0x2CA429C029CCF247,interior);end,\n"\ +"UNPIN_INTERIOR=function(interior)return _natives.invoke_void(0x261CCE7EED010641,interior);end,\n"\ +"IS_INTERIOR_READY=function(interior)return _natives.invoke_bool(0x6726BDCCC1932F0E,interior);end,\n"\ +"SET_INTERIOR_IN_USE=function(interior)return _natives.invoke_bool(0x4C2330E61D3DEB56,interior);end,\n"\ +"GET_INTERIOR_AT_COORDS_WITH_TYPE=function(x,y,z,interiorType)return _natives.invoke_int(0x05B7A89BD78797FC,x,y,z,interiorType);end,\n"\ +"GET_INTERIOR_AT_COORDS_WITH_TYPEHASH=function(x,y,z,typeHash)return _natives.invoke_int(0xF0F77ADB9F67E79D,x,y,z,typeHash);end,\n"\ +"ACTIVATE_INTERIOR_GROUPS_USING_CAMERA=function()return _natives.invoke_void(0x483ACA1176CA93F1);end,\n"\ +"IS_COLLISION_MARKED_OUTSIDE=function(x,y,z)return _natives.invoke_bool(0xEEA5AC2EDA7C33E8,x,y,z);end,\n"\ +"GET_INTERIOR_FROM_COLLISION=function(x,y,z)return _natives.invoke_int(0xEC4CF9FCB29A4424,x,y,z);end,\n"\ +"ENABLE_STADIUM_PROBES_THIS_FRAME=function(toggle)return _natives.invoke_void(0x7ECDF98587E92DEC,toggle);end,\n"\ +"ACTIVATE_INTERIOR_ENTITY_SET=function(interior,entitySetName)return _natives.invoke_void(0x55E86AF2712B36A1,interior,entitySetName);end,\n"\ +"DEACTIVATE_INTERIOR_ENTITY_SET=function(interior,entitySetName)return _natives.invoke_void(0x420BD37289EEE162,interior,entitySetName);end,\n"\ +"IS_INTERIOR_ENTITY_SET_ACTIVE=function(interior,entitySetName)return _natives.invoke_bool(0x35F7DD45E8C0A16D,interior,entitySetName);end,\n"\ +"SET_INTERIOR_ENTITY_SET_TINT_INDEX=function(interior,entitySetName,color)return _natives.invoke_void(0xC1F1920BAF281317,interior,entitySetName,color);end,\n"\ +"REFRESH_INTERIOR=function(interior)return _natives.invoke_void(0x41F37C3427C75AE0,interior);end,\n"\ +"ENABLE_EXTERIOR_CULL_MODEL_THIS_FRAME=function(mapObjectHash)return _natives.invoke_void(0xA97F257D0151A6AB,mapObjectHash);end,\n"\ +"ENABLE_SHADOW_CULL_MODEL_THIS_FRAME=function(mapObjectHash)return _natives.invoke_void(0x50C375537449F369,mapObjectHash);end,\n"\ +"DISABLE_INTERIOR=function(interior,toggle)return _natives.invoke_void(0x6170941419D7D8EC,interior,toggle);end,\n"\ +"IS_INTERIOR_DISABLED=function(interior)return _natives.invoke_bool(0xBC5115A5A939DD15,interior);end,\n"\ +"CAP_INTERIOR=function(interior,toggle)return _natives.invoke_void(0xD9175F941610DB54,interior,toggle);end,\n"\ +"IS_INTERIOR_CAPPED=function(interior)return _natives.invoke_bool(0x92BAC8ACF88CEC26,interior);end,\n"\ +"DISABLE_METRO_SYSTEM=function(toggle)return _natives.invoke_void(0x9E6542F0CE8E70A3,toggle);end,\n"\ +"SET_IS_EXTERIOR_ONLY=function(entity,toggle)return _natives.invoke_void(0x7241CCB7D020DB69,entity,toggle);end,\n"\ +"};\n"\ +"ITEMSET = {\n"\ +"CREATE_ITEMSET=function(p0)return _natives.invoke_int(0x35AD299F50D91B24,p0);end,\n"\ +"DESTROY_ITEMSET=function(itemset)return _natives.invoke_void(0xDE18220B1C183EDA,itemset);end,\n"\ +"IS_ITEMSET_VALID=function(itemset)return _natives.invoke_bool(0xB1B1EA596344DFAB,itemset);end,\n"\ +"ADD_TO_ITEMSET=function(item,itemset)return _natives.invoke_bool(0xE3945201F14637DD,item,itemset);end,\n"\ +"REMOVE_FROM_ITEMSET=function(item,itemset)return _natives.invoke_void(0x25E68244B0177686,item,itemset);end,\n"\ +"GET_ITEMSET_SIZE=function(itemset)return _natives.invoke_int(0xD9127E83ABF7C631,itemset);end,\n"\ +"GET_INDEXED_ITEM_IN_ITEMSET=function(index,itemset)return _natives.invoke_int(0x7A197E2521EE2BAB,index,itemset);end,\n"\ +"IS_IN_ITEMSET=function(item,itemset)return _natives.invoke_bool(0x2D0FC594D1E9C107,item,itemset);end,\n"\ +"CLEAN_ITEMSET=function(itemset)return _natives.invoke_void(0x41BC0D722FC04221,itemset);end,\n"\ +"};\n"\ +"LOADINGSCREEN = {\n"\ +"LOBBY_AUTO_MULTIPLAYER_MENU=function()return _natives.invoke_bool(0xF2CA003F167E21D2);end,\n"\ +"LOBBY_AUTO_MULTIPLAYER_FREEMODE=function()return _natives.invoke_bool(0xEF7D17BC6C85264C);end,\n"\ +"LOBBY_SET_AUTO_MULTIPLAYER=function(toggle)return _natives.invoke_void(0xB0C56BD3D808D863,toggle);end,\n"\ +"LOBBY_AUTO_MULTIPLAYER_EVENT=function()return _natives.invoke_bool(0x8AA464D4E0F6ACCD);end,\n"\ +"LOBBY_SET_AUTO_MULTIPLAYER_EVENT=function(toggle)return _natives.invoke_void(0xFC309E94546FCDB5,toggle);end,\n"\ +"LOBBY_AUTO_MULTIPLAYER_RANDOM_JOB=function()return _natives.invoke_bool(0xC6DC823253FBB366);end,\n"\ +"LOBBY_SET_AUTO_MP_RANDOM_JOB=function(toggle)return _natives.invoke_void(0xC7E7181C09F33B69,toggle);end,\n"\ +"SHUTDOWN_SESSION_CLEARS_AUTO_MULTIPLAYER=function(toggle)return _natives.invoke_void(0xFA1E0E893D915215,toggle);end,\n"\ +"};\n"\ +"LOCALIZATION = {\n"\ +"LOCALIZATION_GET_SYSTEM_LANGUAGE=function()return _natives.invoke_int(0x497420E022796B3F);end,\n"\ +"GET_CURRENT_LANGUAGE=function()return _natives.invoke_int(0x2BDD44CC428A7EAE);end,\n"\ +"LOCALIZATION_GET_SYSTEM_DATE_TYPE=function()return _natives.invoke_int(0xA8AE43AEC1A61314);end,\n"\ +"};\n"\ +"MISC = {\n"\ +"GET_ALLOCATED_STACK_SIZE=function()return _natives.invoke_int(0x8B3CA62B1EF19B62);end,\n"\ +"GET_NUMBER_OF_FREE_STACKS_OF_THIS_SIZE=function(stackSize)return _natives.invoke_int(0xFEAD16FC8F9DFC0F,stackSize);end,\n"\ +"SET_RANDOM_SEED=function(seed)return _natives.invoke_void(0x444D98F98C11F3EC,seed);end,\n"\ +"SET_TIME_SCALE=function(timeScale)return _natives.invoke_void(0x1D408577D440E81E,timeScale);end,\n"\ +"SET_MISSION_FLAG=function(toggle)return _natives.invoke_void(0xC4301E5121A0ED73,toggle);end,\n"\ +"GET_MISSION_FLAG=function()return _natives.invoke_bool(0xA33CDCCDA663159E);end,\n"\ +"SET_RANDOM_EVENT_FLAG=function(toggle)return _natives.invoke_void(0x971927086CFD2158,toggle);end,\n"\ +"GET_RANDOM_EVENT_FLAG=function()return _natives.invoke_bool(0xD2D57F1D764117B1);end,\n"\ +"GET_CONTENT_TO_LOAD=function()return _natives.invoke_str(0x24DA7D7667FD7B09);end,\n"\ +"ACTIVITY_FEED_CREATE=function(p0,p1)return _natives.invoke_void(0x4DCDF92BF64236CD,p0,p1);end,\n"\ +"ACTIVITY_FEED_ADD_SUBSTRING_TO_CAPTION=function(p0)return _natives.invoke_void(0x31125FD509D9043F,p0);end,\n"\ +"ACTIVITY_FEED_ADD_LITERAL_SUBSTRING_TO_CAPTION=function(p0)return _natives.invoke_void(0xEBD3205A207939ED,p0);end,\n"\ +"ACTIVITY_FEED_ADD_INT_TO_CAPTION=function(p0)return _natives.invoke_void(0x97E7E2C04245115B,p0);end,\n"\ +"ACTIVITY_FEED_LARGE_IMAGE_URL=function(p0)return _natives.invoke_void(0x916CA67D26FD1E37,p0);end,\n"\ +"ACTIVITY_FEED_ACTION_START_WITH_COMMAND_LINE=function(p0,p1)return _natives.invoke_void(0xEB078CA2B5E82ADD,p0,p1);end,\n"\ +"ACTIVITY_FEED_ACTION_START_WITH_COMMAND_LINE_ADD=function(p0)return _natives.invoke_void(0x703CC7F60CBB2B57,p0);end,\n"\ +"ACTIVITY_FEED_POST=function()return _natives.invoke_void(0x8951EB9C6906D3C8);end,\n"\ +"ACTIVITY_FEED_ONLINE_PLAYED_WITH_POST=function(p0)return _natives.invoke_void(0xBA4B8D83BDC75551,p0);end,\n"\ +"HAS_RESUMED_FROM_SUSPEND=function()return _natives.invoke_bool(0xE8B9C0EC9E183F35);end,\n"\ +"SET_SCRIPT_HIGH_PRIO=function(toggle)return _natives.invoke_void(0x65D2EBB47E1CEC21,toggle);end,\n"\ +"SET_THIS_IS_A_TRIGGER_SCRIPT=function(toggle)return _natives.invoke_void(0x6F2135B6129620C1,toggle);end,\n"\ +"INFORM_CODE_OF_CONTENT_ID_OF_CURRENT_UGC_MISSION=function(p0)return _natives.invoke_void(0x8D74E26F54B4E5C3,p0);end,\n"\ +"GET_BASE_ELEMENT_LOCATION_FROM_METADATA_BLOCK=function(p0,p1,p2,p3)return _natives.invoke_bool(0xB335F761606DB47C,p0,p1,p2,p3);end,\n"\ +"GET_PREV_WEATHER_TYPE_HASH_NAME=function()return _natives.invoke_int(0x564B884A05EC45A3);end,\n"\ +"GET_NEXT_WEATHER_TYPE_HASH_NAME=function()return _natives.invoke_int(0x711327CD09C8F162);end,\n"\ +"IS_PREV_WEATHER_TYPE=function(weatherType)return _natives.invoke_bool(0x44F28F86433B10A9,weatherType);end,\n"\ +"IS_NEXT_WEATHER_TYPE=function(weatherType)return _natives.invoke_bool(0x2FAA3A30BEC0F25D,weatherType);end,\n"\ +"SET_WEATHER_TYPE_PERSIST=function(weatherType)return _natives.invoke_void(0x704983DF373B198F,weatherType);end,\n"\ +"SET_WEATHER_TYPE_NOW_PERSIST=function(weatherType)return _natives.invoke_void(0xED712CA327900C8A,weatherType);end,\n"\ +"SET_WEATHER_TYPE_NOW=function(weatherType)return _natives.invoke_void(0x29B487C359E19889,weatherType);end,\n"\ +"SET_WEATHER_TYPE_OVERTIME_PERSIST=function(weatherType,time)return _natives.invoke_void(0xFB5045B7C42B75BF,weatherType,time);end,\n"\ +"SET_RANDOM_WEATHER_TYPE=function()return _natives.invoke_void(0x8B05F884CF7E8020);end,\n"\ +"CLEAR_WEATHER_TYPE_PERSIST=function()return _natives.invoke_void(0xCCC39339BEF76CF5);end,\n"\ +"CLEAR_WEATHER_TYPE_NOW_PERSIST_NETWORK=function(milliseconds)return _natives.invoke_void(0x0CF97F497FE7D048,milliseconds);end,\n"\ +"GET_CURR_WEATHER_STATE=function(weatherType1,weatherType2,percentWeather2)return _natives.invoke_void(0xF3BBE884A14BB413,weatherType1,weatherType2,percentWeather2);end,\n"\ +"SET_CURR_WEATHER_STATE=function(weatherType1,weatherType2,percentWeather2)return _natives.invoke_void(0x578C752848ECFA0C,weatherType1,weatherType2,percentWeather2);end,\n"\ +"SET_OVERRIDE_WEATHER=function(weatherType)return _natives.invoke_void(0xA43D5C6FE51ADBEF,weatherType);end,\n"\ +"SET_OVERRIDE_WEATHEREX=function(weatherType,p1)return _natives.invoke_void(0x1178E104409FE58C,weatherType,p1);end,\n"\ +"CLEAR_OVERRIDE_WEATHER=function()return _natives.invoke_void(0x338D2E3477711050);end,\n"\ +"WATER_OVERRIDE_SET_SHOREWAVEAMPLITUDE=function(amplitude)return _natives.invoke_void(0xB8F87EAD7533B176,amplitude);end,\n"\ +"WATER_OVERRIDE_SET_SHOREWAVEMINAMPLITUDE=function(minAmplitude)return _natives.invoke_void(0xC3EAD29AB273ECE8,minAmplitude);end,\n"\ +"WATER_OVERRIDE_SET_SHOREWAVEMAXAMPLITUDE=function(maxAmplitude)return _natives.invoke_void(0xA7A1127490312C36,maxAmplitude);end,\n"\ +"WATER_OVERRIDE_SET_OCEANNOISEMINAMPLITUDE=function(minAmplitude)return _natives.invoke_void(0x31727907B2C43C55,minAmplitude);end,\n"\ +"WATER_OVERRIDE_SET_OCEANWAVEAMPLITUDE=function(amplitude)return _natives.invoke_void(0x405591EC8FD9096D,amplitude);end,\n"\ +"WATER_OVERRIDE_SET_OCEANWAVEMINAMPLITUDE=function(minAmplitude)return _natives.invoke_void(0xF751B16FB32ABC1D,minAmplitude);end,\n"\ +"WATER_OVERRIDE_SET_OCEANWAVEMAXAMPLITUDE=function(maxAmplitude)return _natives.invoke_void(0xB3E6360DDE733E82,maxAmplitude);end,\n"\ +"WATER_OVERRIDE_SET_RIPPLEBUMPINESS=function(bumpiness)return _natives.invoke_void(0x7C9C0B1EEB1F9072,bumpiness);end,\n"\ +"WATER_OVERRIDE_SET_RIPPLEMINBUMPINESS=function(minBumpiness)return _natives.invoke_void(0x6216B116083A7CB4,minBumpiness);end,\n"\ +"WATER_OVERRIDE_SET_RIPPLEMAXBUMPINESS=function(maxBumpiness)return _natives.invoke_void(0x9F5E6BB6B34540DA,maxBumpiness);end,\n"\ +"WATER_OVERRIDE_SET_RIPPLEDISTURB=function(disturb)return _natives.invoke_void(0xB9854DFDE0D833D6,disturb);end,\n"\ +"WATER_OVERRIDE_SET_STRENGTH=function(strength)return _natives.invoke_void(0xC54A08C85AE4D410,strength);end,\n"\ +"WATER_OVERRIDE_FADE_IN=function(p0)return _natives.invoke_void(0xA8434F1DFF41D6E7,p0);end,\n"\ +"WATER_OVERRIDE_FADE_OUT=function(p0)return _natives.invoke_void(0xC3C221ADDDE31A11,p0);end,\n"\ +"SET_WIND=function(speed)return _natives.invoke_void(0xAC3A74E8384A9919,speed);end,\n"\ +"SET_WIND_SPEED=function(speed)return _natives.invoke_void(0xEE09ECEDBABE47FC,speed);end,\n"\ +"GET_WIND_SPEED=function()return _natives.invoke_float(0xA8CF1CC0AFCD3F12);end,\n"\ +"SET_WIND_DIRECTION=function(direction)return _natives.invoke_void(0xEB0F4468467B4528,direction);end,\n"\ +"GET_WIND_DIRECTION=function()return _natives.invoke_vec3(0x1F400FEF721170DA);end,\n"\ +"SET_RAIN=function(intensity)return _natives.invoke_void(0x643E26EA6E024D92,intensity);end,\n"\ +"GET_RAIN_LEVEL=function()return _natives.invoke_float(0x96695E368AD855F3);end,\n"\ +"SET_SNOW=function(level)return _natives.invoke_void(0x7F06937B0CDCBC1A,level);end,\n"\ +"GET_SNOW_LEVEL=function()return _natives.invoke_float(0xC5868A966E5BE3AE);end,\n"\ +"FORCE_LIGHTNING_FLASH=function()return _natives.invoke_void(0xF6062E089251C898);end,\n"\ +"SET_CLOUD_SETTINGS_OVERRIDE=function(p0)return _natives.invoke_void(0x02DEAAC8F8EA7FE7,p0);end,\n"\ +"PRELOAD_CLOUD_HAT=function(name)return _natives.invoke_void(0x11B56FBBF7224868,name);end,\n"\ +"LOAD_CLOUD_HAT=function(name,transitionTime)return _natives.invoke_void(0xFC4842A34657BFCB,name,transitionTime);end,\n"\ +"UNLOAD_CLOUD_HAT=function(name,p1)return _natives.invoke_void(0xA74802FB8D0B7814,name,p1);end,\n"\ +"UNLOAD_ALL_CLOUD_HATS=function()return _natives.invoke_void(0x957E790EA1727B64);end,\n"\ +"SET_CLOUDS_ALPHA=function(opacity)return _natives.invoke_void(0xF36199225D6D8C86,opacity);end,\n"\ +"GET_CLOUDS_ALPHA=function()return _natives.invoke_float(0x20AC25E781AE4A84);end,\n"\ +"GET_GAME_TIMER=function()return _natives.invoke_int(0x9CD27B0045628463);end,\n"\ +"GET_FRAME_TIME=function()return _natives.invoke_float(0x15C40837039FFAF7);end,\n"\ +"GET_SYSTEM_TIME_STEP=function()return _natives.invoke_float(0xE599A503B3837E1B);end,\n"\ +"GET_FRAME_COUNT=function()return _natives.invoke_int(0xFC8202EFC642E6F2);end,\n"\ +"GET_RANDOM_FLOAT_IN_RANGE=function(startRange,endRange)return _natives.invoke_float(0x313CE5879CEB6FCD,startRange,endRange);end,\n"\ +"GET_RANDOM_INT_IN_RANGE=function(startRange,endRange)return _natives.invoke_int(0xD53343AA4FB7DD28,startRange,endRange);end,\n"\ +"GET_RANDOM_MWC_INT_IN_RANGE=function(startRange,endRange)return _natives.invoke_int(0xF2D49816A804D134,startRange,endRange);end,\n"\ +"GET_GROUND_Z_FOR_3D_COORD=function(x,y,z,groundZ,ignoreWater,p5)return _natives.invoke_bool(0xC906A7DAB05C8D2B,x,y,z,groundZ,ignoreWater,p5);end,\n"\ +"GET_GROUND_Z_AND_NORMAL_FOR_3D_COORD=function(x,y,z,groundZ,normal)return _natives.invoke_bool(0x8BDC7BFC57A81E76,x,y,z,groundZ,normal);end,\n"\ +"GET_GROUND_Z_EXCLUDING_OBJECTS_FOR_3D_COORD=function(x,y,z,groundZ,p4,p5)return _natives.invoke_bool(0x9E82F0F362881B29,x,y,z,groundZ,p4,p5);end,\n"\ +"ASIN=function(p0)return _natives.invoke_float(0xC843060B5765DCE7,p0);end,\n"\ +"ACOS=function(p0)return _natives.invoke_float(0x1D08B970013C34B6,p0);end,\n"\ +"TAN=function(p0)return _natives.invoke_float(0x632106CC96E82E91,p0);end,\n"\ +"ATAN=function(p0)return _natives.invoke_float(0xA9D1795CD5043663,p0);end,\n"\ +"ATAN2=function(p0,p1)return _natives.invoke_float(0x8927CBF9D22261A4,p0,p1);end,\n"\ +"GET_DISTANCE_BETWEEN_COORDS=function(x1,y1,z1,x2,y2,z2,useZ)return _natives.invoke_float(0xF1B760881820C952,x1,y1,z1,x2,y2,z2,useZ);end,\n"\ +"GET_ANGLE_BETWEEN_2D_VECTORS=function(x1,y1,x2,y2)return _natives.invoke_float(0x186FC4BE848E1C92,x1,y1,x2,y2);end,\n"\ +"GET_HEADING_FROM_VECTOR_2D=function(dx,dy)return _natives.invoke_float(0x2FFB6B224F4B2926,dx,dy);end,\n"\ +"GET_RATIO_OF_CLOSEST_POINT_ON_LINE=function(x1,y1,z1,x2,y2,z2,x3,y3,z3,clamp)return _natives.invoke_float(0x7F8F6405F4777AF6,x1,y1,z1,x2,y2,z2,x3,y3,z3,clamp);end,\n"\ +"GET_CLOSEST_POINT_ON_LINE=function(x1,y1,z1,x2,y2,z2,x3,y3,z3,clamp)return _natives.invoke_vec3(0x21C235BC64831E5A,x1,y1,z1,x2,y2,z2,x3,y3,z3,clamp);end,\n"\ +"GET_LINE_PLANE_INTERSECTION=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12)return _natives.invoke_bool(0xF56DFB7B61BE7276,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12);end,\n"\ +"GET_POINT_AREA_OVERLAP=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13)return _natives.invoke_bool(0xA0AD167E4B39D9A2,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13);end,\n"\ +"SET_BIT=function(address,offset)return _natives.invoke_void(0x933D6A9EEC1BACD0,address,offset);end,\n"\ +"CLEAR_BIT=function(address,offset)return _natives.invoke_void(0xE80492A9AC099A93,address,offset);end,\n"\ +"GET_HASH_KEY=function(string)return _natives.invoke_int(0xD24D37CC275948CC,string);end,\n"\ +"SLERP_NEAR_QUATERNION=function(t,x,y,z,w,x1,y1,z1,w1,outX,outY,outZ,outW)return _natives.invoke_void(0xF2F6A2FA49278625,t,x,y,z,w,x1,y1,z1,w1,outX,outY,outZ,outW);end,\n"\ +"IS_AREA_OCCUPIED=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12)return _natives.invoke_bool(0xA61B4DF533DCB56E,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12);end,\n"\ +"IS_AREA_OCCUPIED_SLOW=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12)return _natives.invoke_bool(0x39455BF4F4F55186,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12);end,\n"\ +"IS_POSITION_OCCUPIED=function(x,y,z,range,p4,checkVehicles,checkPeds,p7,p8,ignoreEntity,p10)return _natives.invoke_bool(0xADCDE75E1C60F32D,x,y,z,range,p4,checkVehicles,checkPeds,p7,p8,ignoreEntity,p10);end,\n"\ +"IS_POINT_OBSCURED_BY_A_MISSION_ENTITY=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_bool(0xE54E209C35FFA18D,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"CLEAR_AREA=function(X,Y,Z,radius,p4,ignoreCopCars,ignoreObjects,p7)return _natives.invoke_void(0xA56F01F3765B93A0,X,Y,Z,radius,p4,ignoreCopCars,ignoreObjects,p7);end,\n"\ +"CLEAR_AREA_LEAVE_VEHICLE_HEALTH=function(x,y,z,radius,p4,p5,p6,p7)return _natives.invoke_void(0x957838AAF91BD12D,x,y,z,radius,p4,p5,p6,p7);end,\n"\ +"CLEAR_AREA_OF_VEHICLES=function(x,y,z,radius,p4,p5,p6,p7,p8,p9,p10)return _natives.invoke_void(0x01C7B9B38428AEB6,x,y,z,radius,p4,p5,p6,p7,p8,p9,p10);end,\n"\ +"CLEAR_ANGLED_AREA_OF_VEHICLES=function(x1,y1,z1,x2,y2,z2,width,p7,p8,p9,p10,p11,p12,p13)return _natives.invoke_void(0x11DB3500F042A8AA,x1,y1,z1,x2,y2,z2,width,p7,p8,p9,p10,p11,p12,p13);end,\n"\ +"CLEAR_AREA_OF_OBJECTS=function(x,y,z,radius,flags)return _natives.invoke_void(0xDD9B9B385AAC7F5B,x,y,z,radius,flags);end,\n"\ +"CLEAR_AREA_OF_PEDS=function(x,y,z,radius,flags)return _natives.invoke_void(0xBE31FD6CE464AC59,x,y,z,radius,flags);end,\n"\ +"CLEAR_AREA_OF_COPS=function(x,y,z,radius,flags)return _natives.invoke_void(0x04F8FC8FCF58F88D,x,y,z,radius,flags);end,\n"\ +"CLEAR_AREA_OF_PROJECTILES=function(x,y,z,radius,flags)return _natives.invoke_void(0x0A1CB9094635D1A6,x,y,z,radius,flags);end,\n"\ +"CLEAR_SCENARIO_SPAWN_HISTORY=function()return _natives.invoke_void(0x7EC6F9A478A6A512);end,\n"\ +"SET_SAVE_MENU_ACTIVE=function(ignoreVehicle)return _natives.invoke_void(0xC9BF75D28165FF77,ignoreVehicle);end,\n"\ +"GET_STATUS_OF_MANUAL_SAVE=function()return _natives.invoke_int(0x397BAA01068BAA96);end,\n"\ +"SET_CREDITS_ACTIVE=function(toggle)return _natives.invoke_void(0xB938B7E6D3C0620C,toggle);end,\n"\ +"SET_CREDITS_FADE_OUT_WITH_SCREEN=function(toggle)return _natives.invoke_void(0xB51B9AB9EF81868C,toggle);end,\n"\ +"HAVE_CREDITS_REACHED_END=function()return _natives.invoke_bool(0x075F1D57402C93BA);end,\n"\ +"ARE_CREDITS_RUNNING=function()return _natives.invoke_bool(0xD19C0826DC20CF1C);end,\n"\ +"TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME=function(scriptName)return _natives.invoke_void(0x9DC711BC69C548DF,scriptName);end,\n"\ +"NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME=function()return _natives.invoke_void(0x9243BAC96D64C050);end,\n"\ +"ADD_HOSPITAL_RESTART=function(x,y,z,p3,p4)return _natives.invoke_int(0x1F464EF988465A81,x,y,z,p3,p4);end,\n"\ +"DISABLE_HOSPITAL_RESTART=function(hospitalIndex,toggle)return _natives.invoke_void(0xC8535819C450EBA8,hospitalIndex,toggle);end,\n"\ +"ADD_POLICE_RESTART=function(p0,p1,p2,p3,p4)return _natives.invoke_int(0x452736765B31FC4B,p0,p1,p2,p3,p4);end,\n"\ +"DISABLE_POLICE_RESTART=function(policeIndex,toggle)return _natives.invoke_void(0x23285DED6EBD7EA3,policeIndex,toggle);end,\n"\ +"SET_RESTART_COORD_OVERRIDE=function(x,y,z,heading)return _natives.invoke_void(0x706B5EDCAA7FA663,x,y,z,heading);end,\n"\ +"CLEAR_RESTART_COORD_OVERRIDE=function()return _natives.invoke_void(0xA2716D40842EAF79);end,\n"\ +"PAUSE_DEATH_ARREST_RESTART=function(toggle)return _natives.invoke_void(0x2C2B3493FBF51C71,toggle);end,\n"\ +"IGNORE_NEXT_RESTART=function(toggle)return _natives.invoke_void(0x21FFB63D8C615361,toggle);end,\n"\ +"SET_FADE_OUT_AFTER_DEATH=function(toggle)return _natives.invoke_void(0x4A18E01DF2C87B86,toggle);end,\n"\ +"SET_FADE_OUT_AFTER_ARREST=function(toggle)return _natives.invoke_void(0x1E0B4DC0D990A4E7,toggle);end,\n"\ +"SET_FADE_IN_AFTER_DEATH_ARREST=function(toggle)return _natives.invoke_void(0xDA66D2796BA33F12,toggle);end,\n"\ +"SET_FADE_IN_AFTER_LOAD=function(toggle)return _natives.invoke_void(0xF3D78F59DFE18D79,toggle);end,\n"\ +"REGISTER_SAVE_HOUSE=function(x,y,z,p3,p4,p5,p6)return _natives.invoke_int(0xC0714D0A7EEECA54,x,y,z,p3,p4,p5,p6);end,\n"\ +"SET_SAVE_HOUSE=function(savehouseHandle,p1,p2)return _natives.invoke_void(0x4F548CABEAE553BC,savehouseHandle,p1,p2);end,\n"\ +"OVERRIDE_SAVE_HOUSE=function(p0,p1,p2,p3,p4,p5,p6,p7)return _natives.invoke_bool(0x1162EA8AE9D24EEA,p0,p1,p2,p3,p4,p5,p6,p7);end,\n"\ +"GET_SAVE_HOUSE_DETAILS_AFTER_SUCCESSFUL_LOAD=function(p0,p1,fadeInAfterLoad,p3)return _natives.invoke_bool(0xA4A0065E39C9F25C,p0,p1,fadeInAfterLoad,p3);end,\n"\ +"DO_AUTO_SAVE=function()return _natives.invoke_void(0x50EEAAD86232EE55);end,\n"\ +"GET_IS_AUTO_SAVE_OFF=function()return _natives.invoke_bool(0x6E04F06094C87047);end,\n"\ +"IS_AUTO_SAVE_IN_PROGRESS=function()return _natives.invoke_bool(0x69240733738C19A0);end,\n"\ +"HAS_CODE_REQUESTED_AUTOSAVE=function()return _natives.invoke_bool(0x2107A3773771186D);end,\n"\ +"CLEAR_CODE_REQUESTED_AUTOSAVE=function()return _natives.invoke_void(0x06462A961E94B67C);end,\n"\ +"BEGIN_REPLAY_STATS=function(p0,p1)return _natives.invoke_void(0xE0E500246FF73D66,p0,p1);end,\n"\ +"ADD_REPLAY_STAT_VALUE=function(value)return _natives.invoke_void(0x69FE6DC87BD2A5E9,value);end,\n"\ +"END_REPLAY_STATS=function()return _natives.invoke_void(0xA23E821FBDF8A5F2);end,\n"\ +"HAVE_REPLAY_STATS_BEEN_STORED=function()return _natives.invoke_bool(0xD642319C54AADEB6);end,\n"\ +"GET_REPLAY_STAT_MISSION_ID=function()return _natives.invoke_int(0x5B1F2E327B6B6FE1);end,\n"\ +"GET_REPLAY_STAT_MISSION_TYPE=function()return _natives.invoke_int(0x2B626A0150E4D449);end,\n"\ +"GET_REPLAY_STAT_COUNT=function()return _natives.invoke_int(0xDC9274A7EF6B2867);end,\n"\ +"GET_REPLAY_STAT_AT_INDEX=function(index)return _natives.invoke_int(0x8098C8D6597AAE18,index);end,\n"\ +"CLEAR_REPLAY_STATS=function()return _natives.invoke_void(0x1B1AB132A16FDA55);end,\n"\ +"QUEUE_MISSION_REPEAT_LOAD=function()return _natives.invoke_bool(0x72DE52178C291CB5);end,\n"\ +"QUEUE_MISSION_REPEAT_SAVE=function()return _natives.invoke_bool(0x44A0BDC559B35F6E);end,\n"\ +"QUEUE_MISSION_REPEAT_SAVE_FOR_BENCHMARK_TEST=function()return _natives.invoke_bool(0xEB2104E905C6F2E9);end,\n"\ +"GET_STATUS_OF_MISSION_REPEAT_SAVE=function()return _natives.invoke_int(0x2B5E102E4A42F2BF);end,\n"\ +"IS_MEMORY_CARD_IN_USE=function()return _natives.invoke_bool(0x8A75CE2956274ADD);end,\n"\ +"SHOOT_SINGLE_BULLET_BETWEEN_COORDS=function(x1,y1,z1,x2,y2,z2,damage,p7,weaponHash,ownerPed,isAudible,isInvisible,speed)return _natives.invoke_void(0x867654CBC7606F2C,x1,y1,z1,x2,y2,z2,damage,p7,weaponHash,ownerPed,isAudible,isInvisible,speed);end,\n"\ +"SHOOT_SINGLE_BULLET_BETWEEN_COORDS_IGNORE_ENTITY=function(x1,y1,z1,x2,y2,z2,damage,p7,weaponHash,ownerPed,isAudible,isInvisible,speed,entity,p14)return _natives.invoke_void(0xE3A7742E0B7A2F8B,x1,y1,z1,x2,y2,z2,damage,p7,weaponHash,ownerPed,isAudible,isInvisible,speed,entity,p14);end,\n"\ +"SHOOT_SINGLE_BULLET_BETWEEN_COORDS_IGNORE_ENTITY_NEW=function(x1,y1,z1,x2,y2,z2,damage,p7,weaponHash,ownerPed,isAudible,isInvisible,speed,entity,p14,p15,targetEntity,p17,p18,p19,p20)return _natives.invoke_void(0xBFE5756E7407064A,x1,y1,z1,x2,y2,z2,damage,p7,weaponHash,ownerPed,isAudible,isInvisible,speed,entity,p14,p15,targetEntity,p17,p18,p19,p20);end,\n"\ +"GET_MODEL_DIMENSIONS=function(modelHash,minimum,maximum)return _natives.invoke_void(0x03E8D3D5F549087A,modelHash,minimum,maximum);end,\n"\ +"SET_FAKE_WANTED_LEVEL=function(fakeWantedLevel)return _natives.invoke_void(0x1454F2448DE30163,fakeWantedLevel);end,\n"\ +"GET_FAKE_WANTED_LEVEL=function()return _natives.invoke_int(0x4C9296CBCD1B971E);end,\n"\ +"USING_MISSION_CREATOR=function(toggle)return _natives.invoke_void(0xF14878FC50BEC6EE,toggle);end,\n"\ +"ALLOW_MISSION_CREATOR_WARP=function(toggle)return _natives.invoke_void(0xDEA36202FC3382DF,toggle);end,\n"\ +"SET_MINIGAME_IN_PROGRESS=function(toggle)return _natives.invoke_void(0x19E00D7322C6F85B,toggle);end,\n"\ +"IS_MINIGAME_IN_PROGRESS=function()return _natives.invoke_bool(0x2B4A15E44DE0F478);end,\n"\ +"IS_THIS_A_MINIGAME_SCRIPT=function()return _natives.invoke_bool(0x7B30F65D7B710098);end,\n"\ +"IS_SNIPER_INVERTED=function()return _natives.invoke_bool(0x61A23B7EDA9BDA24);end,\n"\ +"SHOULD_USE_METRIC_MEASUREMENTS=function()return _natives.invoke_bool(0xD3D15555431AB793);end,\n"\ +"GET_PROFILE_SETTING=function(profileSetting)return _natives.invoke_int(0xC488FF2356EA7791,profileSetting);end,\n"\ +"ARE_STRINGS_EQUAL=function(string1,string2)return _natives.invoke_bool(0x0C515FAB3FF9EA92,string1,string2);end,\n"\ +"COMPARE_STRINGS=function(str1,str2,matchCase,maxLength)return _natives.invoke_int(0x1E34710ECD4AB0EB,str1,str2,matchCase,maxLength);end,\n"\ +"ABSI=function(value)return _natives.invoke_int(0xF0D31AD191A74F87,value);end,\n"\ +"ABSF=function(value)return _natives.invoke_float(0x73D57CFFDD12C355,value);end,\n"\ +"IS_SNIPER_BULLET_IN_AREA=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_bool(0xFEFCF11B01287125,x1,y1,z1,x2,y2,z2);end,\n"\ +"IS_PROJECTILE_IN_AREA=function(x1,y1,z1,x2,y2,z2,ownedByPlayer)return _natives.invoke_bool(0x5270A8FBC098C3F8,x1,y1,z1,x2,y2,z2,ownedByPlayer);end,\n"\ +"IS_PROJECTILE_TYPE_IN_AREA=function(x1,y1,z1,x2,y2,z2,type,ownedByPlayer)return _natives.invoke_bool(0x2E0DC353342C4A6D,x1,y1,z1,x2,y2,z2,type,ownedByPlayer);end,\n"\ +"IS_PROJECTILE_TYPE_IN_ANGLED_AREA=function(x1,y1,z1,x2,y2,z2,width,p7,ownedByPlayer)return _natives.invoke_bool(0xF0BC12401061DEA0,x1,y1,z1,x2,y2,z2,width,p7,ownedByPlayer);end,\n"\ +"IS_PROJECTILE_TYPE_WITHIN_DISTANCE=function(x,y,z,projectileHash,radius,ownedByPlayer)return _natives.invoke_bool(0x34318593248C8FB2,x,y,z,projectileHash,radius,ownedByPlayer);end,\n"\ +"GET_COORDS_OF_PROJECTILE_TYPE_IN_AREA=function(x1,y1,z1,x2,y2,z2,projectileHash,projectilePos,ownedByPlayer)return _natives.invoke_bool(0x8D7A43EC6A5FEA45,x1,y1,z1,x2,y2,z2,projectileHash,projectilePos,ownedByPlayer);end,\n"\ +"GET_COORDS_OF_PROJECTILE_TYPE_IN_ANGLED_AREA=function(vecAngledAreaPoint1X,vecAngledAreaPoint1Y,vecAngledAreaPoint1Z,vecAngledAreaPoint2X,vecAngledAreaPoint2Y,vecAngledAreaPoint2Z,distanceOfOppositeFace,weaponType,positionOut,bIsPlayer)return _natives.invoke_bool(0x3DA8C28346B62CED,vecAngledAreaPoint1X,vecAngledAreaPoint1Y,vecAngledAreaPoint1Z,vecAngledAreaPoint2X,vecAngledAreaPoint2Y,vecAngledAreaPoint2Z,distanceOfOppositeFace,weaponType,positionOut,bIsPlayer);end,\n"\ +"GET_COORDS_OF_PROJECTILE_TYPE_WITHIN_DISTANCE=function(ped,weaponHash,distance,outCoords,p4)return _natives.invoke_bool(0xDFB4138EEFED7B81,ped,weaponHash,distance,outCoords,p4);end,\n"\ +"GET_PROJECTILE_OF_PROJECTILE_TYPE_WITHIN_DISTANCE=function(ped,weaponHash,distance,outCoords,outProjectile,p5)return _natives.invoke_bool(0x82FDE6A57EE4EE44,ped,weaponHash,distance,outCoords,outProjectile,p5);end,\n"\ +"IS_BULLET_IN_ANGLED_AREA=function(x1,y1,z1,x2,y2,z2,width,ownedByPlayer)return _natives.invoke_bool(0x1A8B5F3C01E2B477,x1,y1,z1,x2,y2,z2,width,ownedByPlayer);end,\n"\ +"IS_BULLET_IN_AREA=function(x,y,z,radius,ownedByPlayer)return _natives.invoke_bool(0x3F2023999AD51C1F,x,y,z,radius,ownedByPlayer);end,\n"\ +"IS_BULLET_IN_BOX=function(x1,y1,z1,x2,y2,z2,ownedByPlayer)return _natives.invoke_bool(0xDE0F6D7450D37351,x1,y1,z1,x2,y2,z2,ownedByPlayer);end,\n"\ +"HAS_BULLET_IMPACTED_IN_AREA=function(x,y,z,p3,p4,p5)return _natives.invoke_bool(0x9870ACFB89A90995,x,y,z,p3,p4,p5);end,\n"\ +"HAS_BULLET_IMPACTED_IN_BOX=function(p0,p1,p2,p3,p4,p5,p6,p7)return _natives.invoke_bool(0xDC8C5D7CFEAB8394,p0,p1,p2,p3,p4,p5,p6,p7);end,\n"\ +"IS_ORBIS_VERSION=function()return _natives.invoke_bool(0xA72BC0B675B1519E);end,\n"\ +"IS_DURANGO_VERSION=function()return _natives.invoke_bool(0x4D982ADB1978442D);end,\n"\ +"IS_XBOX360_VERSION=function()return _natives.invoke_bool(0xF6201B4DAF662A9D);end,\n"\ +"IS_PS3_VERSION=function()return _natives.invoke_bool(0xCCA1072C29D096C2);end,\n"\ +"IS_PC_VERSION=function()return _natives.invoke_bool(0x48AF36444B965238);end,\n"\ +"IS_STEAM_VERSION=function()return _natives.invoke_bool(0x0A27B2B6282F7169);end,\n"\ +"IS_AUSSIE_VERSION=function()return _natives.invoke_bool(0x9F1935CA1F724008);end,\n"\ +"IS_JAPANESE_VERSION=function()return _natives.invoke_bool(0xB8C0BB75D8A77DB3);end,\n"\ +"IS_XBOX_PLATFORM=function()return _natives.invoke_bool(0x138679CA01E21F53);end,\n"\ +"IS_SCARLETT_VERSION=function()return _natives.invoke_bool(0xC545AB1CF97ABB34);end,\n"\ +"IS_SCE_PLATFORM=function()return _natives.invoke_bool(0xF911E695C1EB8518);end,\n"\ +"IS_PROSPERO_VERSION=function()return _natives.invoke_bool(0x807ABE1AB65C24D2);end,\n"\ +"IS_STRING_NULL=function(string)return _natives.invoke_bool(0xF22B6C47C6EAB066,string);end,\n"\ +"IS_STRING_NULL_OR_EMPTY=function(string)return _natives.invoke_bool(0xCA042B6957743895,string);end,\n"\ +"STRING_TO_INT=function(string,outInteger)return _natives.invoke_bool(0x5A5F40FE637EB584,string,outInteger);end,\n"\ +"SET_BITS_IN_RANGE=function(var,rangeStart,rangeEnd,p3)return _natives.invoke_void(0x8EF07E15701D61ED,var,rangeStart,rangeEnd,p3);end,\n"\ +"GET_BITS_IN_RANGE=function(var,rangeStart,rangeEnd)return _natives.invoke_int(0x53158863FCC0893A,var,rangeStart,rangeEnd);end,\n"\ +"ADD_STUNT_JUMP=function(x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,camX,camY,camZ,p15,p16,p17)return _natives.invoke_int(0x1A992DA297A4630C,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,camX,camY,camZ,p15,p16,p17);end,\n"\ +"ADD_STUNT_JUMP_ANGLED=function(x1,y1,z1,x2,y2,z2,radius1,x3,y3,z3,x4,y4,z4,radius2,camX,camY,camZ,p17,p18,p19)return _natives.invoke_int(0xBBE5D803A5360CBF,x1,y1,z1,x2,y2,z2,radius1,x3,y3,z3,x4,y4,z4,radius2,camX,camY,camZ,p17,p18,p19);end,\n"\ +"TOGGLE_SHOW_OPTIONAL_STUNT_JUMP_CAMERA=function(toggle)return _natives.invoke_void(0xFB80AB299D2EE1BD,toggle);end,\n"\ +"DELETE_STUNT_JUMP=function(p0)return _natives.invoke_void(0xDC518000E39DAE1F,p0);end,\n"\ +"ENABLE_STUNT_JUMP_SET=function(p0)return _natives.invoke_void(0xE369A5783B866016,p0);end,\n"\ +"DISABLE_STUNT_JUMP_SET=function(p0)return _natives.invoke_void(0xA5272EBEDD4747F6,p0);end,\n"\ +"SET_STUNT_JUMPS_CAN_TRIGGER=function(toggle)return _natives.invoke_void(0xD79185689F8FD5DF,toggle);end,\n"\ +"IS_STUNT_JUMP_IN_PROGRESS=function()return _natives.invoke_bool(0x7A3F19700A4D0525);end,\n"\ +"IS_STUNT_JUMP_MESSAGE_SHOWING=function()return _natives.invoke_bool(0x2272B0A1343129F4);end,\n"\ +"GET_NUM_SUCCESSFUL_STUNT_JUMPS=function()return _natives.invoke_int(0x996DD1E1E02F1008);end,\n"\ +"GET_TOTAL_SUCCESSFUL_STUNT_JUMPS=function()return _natives.invoke_int(0x6856EC3D35C81EA4);end,\n"\ +"CANCEL_STUNT_JUMP=function()return _natives.invoke_void(0xE6B7B0ACD4E4B75E);end,\n"\ +"SET_GAME_PAUSED=function(toggle)return _natives.invoke_void(0x577D1284D6873711,toggle);end,\n"\ +"SET_THIS_SCRIPT_CAN_BE_PAUSED=function(toggle)return _natives.invoke_void(0xAA391C728106F7AF,toggle);end,\n"\ +"SET_THIS_SCRIPT_CAN_REMOVE_BLIPS_CREATED_BY_ANY_SCRIPT=function(toggle)return _natives.invoke_void(0xB98236CAAECEF897,toggle);end,\n"\ +"HAS_CHEAT_WITH_HASH_BEEN_ACTIVATED=function(hash,amount)return _natives.invoke_bool(0x071E2A839DE82D90,hash,amount);end,\n"\ +"HAS_PC_CHEAT_WITH_HASH_BEEN_ACTIVATED=function(hash)return _natives.invoke_bool(0x557E43C447E700A8,hash);end,\n"\ +"OVERRIDE_FREEZE_FLAGS=function(p0)return _natives.invoke_void(0xFA3FFB0EEBC288A3,p0);end,\n"\ +"SET_INSTANCE_PRIORITY_MODE=function(p0)return _natives.invoke_void(0x9BAE5AD2508DF078,p0);end,\n"\ +"SET_INSTANCE_PRIORITY_HINT=function(flag)return _natives.invoke_void(0xC5F0A8EBD3F361CE,flag);end,\n"\ +"IS_FRONTEND_FADING=function()return _natives.invoke_bool(0x7EA2B6AF97ECA6ED);end,\n"\ +"POPULATE_NOW=function()return _natives.invoke_void(0x7472BB270D7B4F3E);end,\n"\ +"GET_INDEX_OF_CURRENT_LEVEL=function()return _natives.invoke_int(0xCBAD6729F7B1F4FC);end,\n"\ +"SET_GRAVITY_LEVEL=function(level)return _natives.invoke_void(0x740E14FAD5842351,level);end,\n"\ +"START_SAVE_DATA=function(p0,p1,p2)return _natives.invoke_void(0xA9575F812C6A7997,p0,p1,p2);end,\n"\ +"STOP_SAVE_DATA=function()return _natives.invoke_void(0x74E20C9145FB66FD);end,\n"\ +"GET_SIZE_OF_SAVE_DATA=function(p0)return _natives.invoke_int(0xA09F896CE912481F,p0);end,\n"\ +"REGISTER_INT_TO_SAVE=function(p0,name)return _natives.invoke_void(0x34C9EE5986258415,p0,name);end,\n"\ +"REGISTER_INT64_TO_SAVE=function(p0,name)return _natives.invoke_void(0xA735353C77334EA0,p0,name);end,\n"\ +"REGISTER_ENUM_TO_SAVE=function(p0,name)return _natives.invoke_void(0x10C2FA78D0E128A1,p0,name);end,\n"\ +"REGISTER_FLOAT_TO_SAVE=function(p0,name)return _natives.invoke_void(0x7CAEC29ECB5DFEBB,p0,name);end,\n"\ +"REGISTER_BOOL_TO_SAVE=function(p0,name)return _natives.invoke_void(0xC8F4131414C835A1,p0,name);end,\n"\ +"REGISTER_TEXT_LABEL_TO_SAVE=function(p0,name)return _natives.invoke_void(0xEDB1232C5BEAE62F,p0,name);end,\n"\ +"REGISTER_TEXT_LABEL_15_TO_SAVE=function(p0,name)return _natives.invoke_void(0x6F7794F28C6B2535,p0,name);end,\n"\ +"REGISTER_TEXT_LABEL_23_TO_SAVE=function(p0,name)return _natives.invoke_void(0x48F069265A0E4BEC,p0,name);end,\n"\ +"REGISTER_TEXT_LABEL_31_TO_SAVE=function(p0,name)return _natives.invoke_void(0x8269816F6CFD40F8,p0,name);end,\n"\ +"REGISTER_TEXT_LABEL_63_TO_SAVE=function(p0,name)return _natives.invoke_void(0xFAA457EF263E8763,p0,name);end,\n"\ +"START_SAVE_STRUCT_WITH_SIZE=function(p0,size,structName)return _natives.invoke_void(0xBF737600CDDBEADD,p0,size,structName);end,\n"\ +"STOP_SAVE_STRUCT=function()return _natives.invoke_void(0xEB1774DF12BB9F12);end,\n"\ +"START_SAVE_ARRAY_WITH_SIZE=function(p0,size,arrayName)return _natives.invoke_void(0x60FE567DF1B1AF9D,p0,size,arrayName);end,\n"\ +"STOP_SAVE_ARRAY=function()return _natives.invoke_void(0x04456F95153C6BE4);end,\n"\ +"COPY_SCRIPT_STRUCT=function(dst,src,size)return _natives.invoke_void(0x213AEB2B90CBA7AC,dst,src,size);end,\n"\ +"ENABLE_DISPATCH_SERVICE=function(dispatchService,toggle)return _natives.invoke_void(0xDC0F817884CDD856,dispatchService,toggle);end,\n"\ +"BLOCK_DISPATCH_SERVICE_RESOURCE_CREATION=function(dispatchService,toggle)return _natives.invoke_void(0x9B2BD3773123EA2F,dispatchService,toggle);end,\n"\ +"GET_NUMBER_RESOURCES_ALLOCATED_TO_WANTED_LEVEL=function(dispatchService)return _natives.invoke_int(0xEB4A0C2D56441717,dispatchService);end,\n"\ +"CREATE_INCIDENT=function(dispatchService,x,y,z,numUnits,radius,outIncidentID,p7,p8)return _natives.invoke_bool(0x3F892CAF67444AE7,dispatchService,x,y,z,numUnits,radius,outIncidentID,p7,p8);end,\n"\ +"CREATE_INCIDENT_WITH_ENTITY=function(dispatchService,ped,numUnits,radius,outIncidentID,p5,p6)return _natives.invoke_bool(0x05983472F0494E60,dispatchService,ped,numUnits,radius,outIncidentID,p5,p6);end,\n"\ +"DELETE_INCIDENT=function(incidentId)return _natives.invoke_void(0x556C1AA270D5A207,incidentId);end,\n"\ +"IS_INCIDENT_VALID=function(incidentId)return _natives.invoke_bool(0xC8BC6461E629BEAA,incidentId);end,\n"\ +"SET_INCIDENT_REQUESTED_UNITS=function(incidentId,dispatchService,numUnits)return _natives.invoke_void(0xB08B85D860E7BA3C,incidentId,dispatchService,numUnits);end,\n"\ +"SET_IDEAL_SPAWN_DISTANCE_FOR_INCIDENT=function(incidentId,p1)return _natives.invoke_void(0xD261BA3E7E998072,incidentId,p1);end,\n"\ +"FIND_SPAWN_POINT_IN_DIRECTION=function(posX,posY,posZ,fwdVecX,fwdVecY,fwdVecZ,distance,spawnPoint)return _natives.invoke_bool(0x6874E2190B0C1972,posX,posY,posZ,fwdVecX,fwdVecY,fwdVecZ,distance,spawnPoint);end,\n"\ +"ADD_POP_MULTIPLIER_AREA=function(x1,y1,z1,x2,y2,z2,p6,p7,p8,p9)return _natives.invoke_int(0x67F6413D3220E18D,x1,y1,z1,x2,y2,z2,p6,p7,p8,p9);end,\n"\ +"DOES_POP_MULTIPLIER_AREA_EXIST=function(id)return _natives.invoke_bool(0x1327E2FE9746BAEE,id);end,\n"\ +"REMOVE_POP_MULTIPLIER_AREA=function(id,p1)return _natives.invoke_void(0xB129E447A2EDA4BF,id,p1);end,\n"\ +"IS_POP_MULTIPLIER_AREA_NETWORKED=function(id)return _natives.invoke_bool(0x1312F4B242609CE3,id);end,\n"\ +"ADD_POP_MULTIPLIER_SPHERE=function(x,y,z,radius,pedMultiplier,vehicleMultiplier,p6,p7)return _natives.invoke_int(0x32C7A7E8C43A1F80,x,y,z,radius,pedMultiplier,vehicleMultiplier,p6,p7);end,\n"\ +"DOES_POP_MULTIPLIER_SPHERE_EXIST=function(id)return _natives.invoke_bool(0x171BAFB3C60389F4,id);end,\n"\ +"REMOVE_POP_MULTIPLIER_SPHERE=function(id,p1)return _natives.invoke_void(0xE6869BECDD8F2403,id,p1);end,\n"\ +"ENABLE_TENNIS_MODE=function(ped,toggle,p2)return _natives.invoke_void(0x28A04B411933F8A6,ped,toggle,p2);end,\n"\ +"IS_TENNIS_MODE=function(ped)return _natives.invoke_bool(0x5D5479D115290C3F,ped);end,\n"\ +"PLAY_TENNIS_SWING_ANIM=function(ped,animDict,animName,p3,p4,p5)return _natives.invoke_void(0xE266ED23311F24D4,ped,animDict,animName,p3,p4,p5);end,\n"\ +"GET_TENNIS_SWING_ANIM_COMPLETE=function(ped)return _natives.invoke_bool(0x17DF68D720AA77F8,ped);end,\n"\ +"GET_TENNIS_SWING_ANIM_CAN_BE_INTERRUPTED=function(ped)return _natives.invoke_bool(0x19BFED045C647C49,ped);end,\n"\ +"GET_TENNIS_SWING_ANIM_SWUNG=function(ped)return _natives.invoke_bool(0xE95B0C7D5BA3B96B,ped);end,\n"\ +"PLAY_TENNIS_DIVE_ANIM=function(ped,p1,p2,p3,p4,p5)return _natives.invoke_void(0x8FA9C42FC5D7C64B,ped,p1,p2,p3,p4,p5);end,\n"\ +"SET_TENNIS_MOVE_NETWORK_SIGNAL_FLOAT=function(ped,p1,p2)return _natives.invoke_void(0x54F157E0336A3822,ped,p1,p2);end,\n"\ +"RESET_DISPATCH_SPAWN_LOCATION=function()return _natives.invoke_void(0x5896F2BD5683A4E1);end,\n"\ +"SET_DISPATCH_SPAWN_LOCATION=function(x,y,z)return _natives.invoke_void(0xD10F442036302D50,x,y,z);end,\n"\ +"RESET_DISPATCH_IDEAL_SPAWN_DISTANCE=function()return _natives.invoke_void(0x77A84429DD9F0A15);end,\n"\ +"SET_DISPATCH_IDEAL_SPAWN_DISTANCE=function(distance)return _natives.invoke_void(0x6FE601A64180D423,distance);end,\n"\ +"RESET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS=function(p0)return _natives.invoke_void(0xEB2DB0CAD13154B3,p0);end,\n"\ +"SET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS=function(p0,p1)return _natives.invoke_void(0x44F7CBC1BEB3327D,p0,p1);end,\n"\ +"SET_DISPATCH_TIME_BETWEEN_SPAWN_ATTEMPTS_MULTIPLIER=function(p0,p1)return _natives.invoke_void(0x48838ED9937A15D1,p0,p1);end,\n"\ +"ADD_DISPATCH_SPAWN_ANGLED_BLOCKING_AREA=function(x1,y1,z1,x2,y2,z2,width)return _natives.invoke_int(0x918C7B2D2FF3928B,x1,y1,z1,x2,y2,z2,width);end,\n"\ +"ADD_DISPATCH_SPAWN_SPHERE_BLOCKING_AREA=function(x1,y1,x2,y2)return _natives.invoke_int(0x2D4259F1FEB81DA9,x1,y1,x2,y2);end,\n"\ +"REMOVE_DISPATCH_SPAWN_BLOCKING_AREA=function(p0)return _natives.invoke_void(0x264AC28B01B353A5,p0);end,\n"\ +"RESET_DISPATCH_SPAWN_BLOCKING_AREAS=function()return _natives.invoke_void(0xAC7BFD5C1D83EA75);end,\n"\ +"RESET_WANTED_RESPONSE_NUM_PEDS_TO_SPAWN=function()return _natives.invoke_void(0xD9F692D349249528);end,\n"\ +"SET_WANTED_RESPONSE_NUM_PEDS_TO_SPAWN=function(p0,p1)return _natives.invoke_void(0xE532EC1A63231B4F,p0,p1);end,\n"\ +"ADD_TACTICAL_NAV_MESH_POINT=function(x,y,z)return _natives.invoke_void(0xB8721407EE9C3FF6,x,y,z);end,\n"\ +"CLEAR_TACTICAL_NAV_MESH_POINTS=function()return _natives.invoke_void(0xB3CD58CCA6CDA852);end,\n"\ +"SET_RIOT_MODE_ENABLED=function(toggle)return _natives.invoke_void(0x2587A48BC88DFADF,toggle);end,\n"\ +"DISPLAY_ONSCREEN_KEYBOARD_WITH_LONGER_INITIAL_STRING=function(p0,windowTitle,p2,defaultText,defaultConcat1,defaultConcat2,defaultConcat3,defaultConcat4,defaultConcat5,defaultConcat6,defaultConcat7,maxInputLength)return _natives.invoke_void(0xCA78CFA0366592FE,p0,windowTitle,p2,defaultText,defaultConcat1,defaultConcat2,defaultConcat3,defaultConcat4,defaultConcat5,defaultConcat6,defaultConcat7,maxInputLength);end,\n"\ +"DISPLAY_ONSCREEN_KEYBOARD=function(p0,windowTitle,p2,defaultText,defaultConcat1,defaultConcat2,defaultConcat3,maxInputLength)return _natives.invoke_void(0x00DC833F2568DBF6,p0,windowTitle,p2,defaultText,defaultConcat1,defaultConcat2,defaultConcat3,maxInputLength);end,\n"\ +"UPDATE_ONSCREEN_KEYBOARD=function()return _natives.invoke_int(0x0CF2B696BBF945AE);end,\n"\ +"GET_ONSCREEN_KEYBOARD_RESULT=function()return _natives.invoke_str(0x8362B09B91893647);end,\n"\ +"CANCEL_ONSCREEN_KEYBOARD=function()return _natives.invoke_void(0x58A39BE597CE99CD);end,\n"\ +"NEXT_ONSCREEN_KEYBOARD_RESULT_WILL_DISPLAY_USING_THESE_FONTS=function(p0)return _natives.invoke_void(0x3ED1438C1F5C6612,p0);end,\n"\ +"ACTION_MANAGER_ENABLE_ACTION=function(hash,enable)return _natives.invoke_void(0xA6A12939F16D85BE,hash,enable);end,\n"\ +"GET_REAL_WORLD_TIME=function()return _natives.invoke_int(0x3F60413F5DF65748);end,\n"\ +"SUPRESS_RANDOM_EVENT_THIS_FRAME=function(eventType,suppress)return _natives.invoke_void(0x1EAE0A6E978894A2,eventType,suppress);end,\n"\ +"SET_EXPLOSIVE_AMMO_THIS_FRAME=function(player)return _natives.invoke_void(0xA66C71C98D5F2CFB,player);end,\n"\ +"SET_FIRE_AMMO_THIS_FRAME=function(player)return _natives.invoke_void(0x11879CDD803D30F4,player);end,\n"\ +"SET_EXPLOSIVE_MELEE_THIS_FRAME=function(player)return _natives.invoke_void(0xFF1BED81BFDC0FE0,player);end,\n"\ +"SET_SUPER_JUMP_THIS_FRAME=function(player)return _natives.invoke_void(0x57FFF03E423A4C0B,player);end,\n"\ +"SET_BEAST_JUMP_THIS_FRAME=function(player)return _natives.invoke_void(0x438822C279B73B93,player);end,\n"\ +"SET_FORCED_JUMP_THIS_FRAME=function(player)return _natives.invoke_void(0xA1183BCFEE0F93D1,player);end,\n"\ +"HAS_GAME_INSTALLED_THIS_SESSION=function()return _natives.invoke_bool(0x6FDDF453C0C756EC);end,\n"\ +"SET_TICKER_JOHNMARSTON_IS_DONE=function()return _natives.invoke_void(0xFB00CA71DA386228);end,\n"\ +"ARE_PROFILE_SETTINGS_VALID=function()return _natives.invoke_bool(0x5AA3BEFA29F03AD4);end,\n"\ +"PREVENT_ARREST_STATE_THIS_FRAME=function()return _natives.invoke_void(0xE3D969D2785FFB5E);end,\n"\ +"FORCE_GAME_STATE_PLAYING=function()return _natives.invoke_void(0xC0AA53F866B3134D);end,\n"\ +"SCRIPT_RACE_INIT=function(p0,p1,p2,p3)return _natives.invoke_void(0x0A60017F841A54F2,p0,p1,p2,p3);end,\n"\ +"SCRIPT_RACE_SHUTDOWN=function()return _natives.invoke_void(0x1FF6BF9A63E5757F);end,\n"\ +"SCRIPT_RACE_PLAYER_HIT_CHECKPOINT=function(player,p1,p2,p3)return _natives.invoke_void(0x1BB299305C3E8C13,player,p1,p2,p3);end,\n"\ +"SCRIPT_RACE_GET_PLAYER_SPLIT_TIME=function(player,p1,p2)return _natives.invoke_bool(0x8EF5573A1F801A5C,player,p1,p2);end,\n"\ +"START_END_USER_BENCHMARK=function()return _natives.invoke_void(0x92790862E36C2ADA);end,\n"\ +"STOP_END_USER_BENCHMARK=function()return _natives.invoke_void(0xC7DB36C24634F52B);end,\n"\ +"RESET_END_USER_BENCHMARK=function()return _natives.invoke_void(0x437138B6A830166A);end,\n"\ +"SAVE_END_USER_BENCHMARK=function()return _natives.invoke_void(0x37DEB0AA183FB6D8);end,\n"\ +"UI_STARTED_END_USER_BENCHMARK=function()return _natives.invoke_bool(0xEA2F2061875EED90);end,\n"\ +"LANDING_SCREEN_STARTED_END_USER_BENCHMARK=function()return _natives.invoke_bool(0x3BBBD13E5041A79E);end,\n"\ +"IS_COMMANDLINE_END_USER_BENCHMARK=function()return _natives.invoke_bool(0xA049A5BE0F04F2F8);end,\n"\ +"GET_BENCHMARK_ITERATIONS=function()return _natives.invoke_int(0x4750FC27570311EC);end,\n"\ +"GET_BENCHMARK_PASS=function()return _natives.invoke_int(0x1B2366C3F2A5C8DF);end,\n"\ +"RESTART_GAME=function()return _natives.invoke_void(0xE574A662ACAEFBB1);end,\n"\ +"QUIT_GAME=function()return _natives.invoke_void(0xEB6891F03362FB12);end,\n"\ +"HAS_ASYNC_INSTALL_FINISHED=function()return _natives.invoke_bool(0x14832BF2ABA53FC5);end,\n"\ +"CLEANUP_ASYNC_INSTALL=function()return _natives.invoke_void(0xC79AE21974B01FB2);end,\n"\ +"PLM_IS_IN_CONSTRAINED_MODE=function()return _natives.invoke_bool(0x684A41975F077262);end,\n"\ +"PLM_GET_CONSTRAINED_DURATION_MS=function()return _natives.invoke_int(0xABB2FA71C83A1B72);end,\n"\ +"SET_PLAYER_IS_IN_ANIMAL_FORM=function(toggle)return _natives.invoke_void(0x4EBB7E87AA0DBED4,toggle);end,\n"\ +"GET_IS_PLAYER_IN_ANIMAL_FORM=function()return _natives.invoke_bool(0x9689123E3F213AA5);end,\n"\ +"SET_PLAYER_IS_REPEATING_A_MISSION=function(toggle)return _natives.invoke_void(0x9D8D44ADBBA61EF2,toggle);end,\n"\ +"DISABLE_SCREEN_DIMMING_THIS_FRAME=function()return _natives.invoke_void(0x23227DF0B2115469);end,\n"\ +"GET_CITY_DENSITY=function()return _natives.invoke_float(0xD10282B6E3751BA0);end,\n"\ +"USE_ACTIVE_CAMERA_FOR_TIMESLICING_CENTRE=function()return _natives.invoke_void(0x693478ACBD7F18E7);end,\n"\ +"SET_CONTENT_ID_INDEX=function(contentId,index)return _natives.invoke_void(0x4B82FA6F2D624634,contentId,index);end,\n"\ +"GET_CONTENT_ID_INDEX=function(contentId)return _natives.invoke_int(0xECF041186C5A94DC,contentId);end,\n"\ +"};\n"\ +"MOBILE = {\n"\ +"CREATE_MOBILE_PHONE=function(phoneType)return _natives.invoke_void(0xA4E8E696C532FBC7,phoneType);end,\n"\ +"DESTROY_MOBILE_PHONE=function()return _natives.invoke_void(0x3BC861DF703E5097);end,\n"\ +"SET_MOBILE_PHONE_SCALE=function(scale)return _natives.invoke_void(0xCBDD322A73D6D932,scale);end,\n"\ +"SET_MOBILE_PHONE_ROTATION=function(rotX,rotY,rotZ,p3)return _natives.invoke_void(0xBB779C0CA917E865,rotX,rotY,rotZ,p3);end,\n"\ +"GET_MOBILE_PHONE_ROTATION=function(rotation,p1)return _natives.invoke_void(0x1CEFB61F193070AE,rotation,p1);end,\n"\ +"SET_MOBILE_PHONE_POSITION=function(posX,posY,posZ)return _natives.invoke_void(0x693A5C6D6734085B,posX,posY,posZ);end,\n"\ +"GET_MOBILE_PHONE_POSITION=function(position)return _natives.invoke_void(0x584FDFDA48805B86,position);end,\n"\ +"SCRIPT_IS_MOVING_MOBILE_PHONE_OFFSCREEN=function(toggle)return _natives.invoke_void(0xF511F759238A5122,toggle);end,\n"\ +"CAN_PHONE_BE_SEEN_ON_SCREEN=function()return _natives.invoke_bool(0xC4E2813898C97A4B);end,\n"\ +"SET_MOBILE_PHONE_DOF_STATE=function(toggle)return _natives.invoke_void(0x375A706A5C2FD084,toggle);end,\n"\ +"CELL_SET_INPUT=function(direction)return _natives.invoke_void(0x95C9E72F3D7DEC9B,direction);end,\n"\ +"CELL_HORIZONTAL_MODE_TOGGLE=function(toggle)return _natives.invoke_void(0x44E44169EF70138E,toggle);end,\n"\ +"CELL_CAM_ACTIVATE=function(p0,p1)return _natives.invoke_void(0xFDE8F069C542D126,p0,p1);end,\n"\ +"CELL_CAM_ACTIVATE_SELFIE_MODE=function(toggle)return _natives.invoke_void(0x015C49A93E3E086E,toggle);end,\n"\ +"CELL_CAM_ACTIVATE_SHALLOW_DOF_MODE=function(toggle)return _natives.invoke_void(0xA2CCBE62CD4C91A4,toggle);end,\n"\ +"CELL_CAM_SET_SELFIE_MODE_SIDE_OFFSET_SCALING=function(p0)return _natives.invoke_void(0x1B0B4AEED5B9B41C,p0);end,\n"\ +"CELL_CAM_SET_SELFIE_MODE_HORZ_PAN_OFFSET=function(horizontalPan)return _natives.invoke_void(0x53F4892D18EC90A4,horizontalPan);end,\n"\ +"CELL_CAM_SET_SELFIE_MODE_VERT_PAN_OFFSET=function(vertPan)return _natives.invoke_void(0x3117D84EFA60F77B,vertPan);end,\n"\ +"CELL_CAM_SET_SELFIE_MODE_ROLL_OFFSET=function(roll)return _natives.invoke_void(0x15E69E2802C24B8D,roll);end,\n"\ +"CELL_CAM_SET_SELFIE_MODE_DISTANCE_SCALING=function(distanceScaling)return _natives.invoke_void(0xAC2890471901861C,distanceScaling);end,\n"\ +"CELL_CAM_SET_SELFIE_MODE_HEAD_YAW_OFFSET=function(yaw)return _natives.invoke_void(0xD6ADE981781FCA09,yaw);end,\n"\ +"CELL_CAM_SET_SELFIE_MODE_HEAD_ROLL_OFFSET=function(roll)return _natives.invoke_void(0xF1E22DC13F5EEBAD,roll);end,\n"\ +"CELL_CAM_SET_SELFIE_MODE_HEAD_PITCH_OFFSET=function(pitch)return _natives.invoke_void(0x466DA42C89865553,pitch);end,\n"\ +"CELL_CAM_IS_CHAR_VISIBLE_NO_FACE_CHECK=function(entity)return _natives.invoke_bool(0x439E9BC95B7E7FBE,entity);end,\n"\ +"GET_MOBILE_PHONE_RENDER_ID=function(renderId)return _natives.invoke_void(0xB4A53E05F68B6FA1,renderId);end,\n"\ +"};\n"\ +"MONEY = {\n"\ +"NETWORK_INITIALIZE_CASH=function(wallet,bank)return _natives.invoke_void(0x3DA5ECD1A56CBA6D,wallet,bank);end,\n"\ +"NETWORK_DELETE_CHARACTER=function(characterSlot,p1,p2)return _natives.invoke_void(0x05A50AF38947EB8D,characterSlot,p1,p2);end,\n"\ +"NETWORK_MANUAL_DELETE_CHARACTER=function(characterSlot)return _natives.invoke_void(0x821418C727FCACD7,characterSlot);end,\n"\ +"NETWORK_GET_PLAYER_IS_HIGH_EARNER=function()return _natives.invoke_bool(0xFB2456B2040A6A67);end,\n"\ +"NETWORK_CLEAR_CHARACTER_WALLET=function(characterSlot)return _natives.invoke_void(0xA921DED15FDF28F5,characterSlot);end,\n"\ +"NETWORK_GIVE_PLAYER_JOBSHARE_CASH=function(amount,gamerHandle)return _natives.invoke_void(0xFB18DF9CB95E0105,amount,gamerHandle);end,\n"\ +"NETWORK_RECEIVE_PLAYER_JOBSHARE_CASH=function(value,gamerHandle)return _natives.invoke_void(0x56A3B51944C50598,value,gamerHandle);end,\n"\ +"NETWORK_CAN_SHARE_JOB_CASH=function()return _natives.invoke_bool(0x1C2473301B1C66BA);end,\n"\ +"NETWORK_REFUND_CASH=function(index,context,reason,p3)return _natives.invoke_void(0xF9C812CD7C46E817,index,context,reason,p3);end,\n"\ +"NETWORK_DEDUCT_CASH=function(amount,p1,p2,p3,p4,p5)return _natives.invoke_void(0x18B7AE224B087E26,amount,p1,p2,p3,p4,p5);end,\n"\ +"NETWORK_MONEY_CAN_BET=function(amount,p1,p2)return _natives.invoke_bool(0x81404F3DC124FE5B,amount,p1,p2);end,\n"\ +"NETWORK_CAN_BET=function(amount)return _natives.invoke_bool(0x3A54E33660DED67F,amount);end,\n"\ +"NETWORK_CASINO_CAN_BET=function(hash)return _natives.invoke_bool(0x158C16F5E4CF41F8,hash);end,\n"\ +"NETWORK_CASINO_CAN_BET_PVC=function()return _natives.invoke_bool(0x394DCDB9E836B7A9);end,\n"\ +"NETWORK_CASINO_CAN_BET_AMOUNT=function(p0)return _natives.invoke_bool(0xF62F6D9528358FE4,p0);end,\n"\ +"NETWORK_CASINO_CAN_BUY_CHIPS_PVC=function()return _natives.invoke_bool(0x8968D4D8C6C40C11);end,\n"\ +"NETWORK_CASINO_BUY_CHIPS=function(p0,p1)return _natives.invoke_bool(0x3BD101471C7F9EEC,p0,p1);end,\n"\ +"NETWORK_CASINO_SELL_CHIPS=function(p0,p1)return _natives.invoke_bool(0xED44897CB336F480,p0,p1);end,\n"\ +"NETWORK_DEFER_CASH_TRANSACTIONS_UNTIL_SHOP_SAVE=function()return _natives.invoke_void(0xCD0F5B5D932AE473);end,\n"\ +"CAN_PAY_AMOUNT_TO_BOSS=function(p0,p1,amount,p3)return _natives.invoke_bool(0x9777734DAD16992F,p0,p1,amount,p3);end,\n"\ +"NETWORK_EARN_FROM_PICKUP=function(amount)return _natives.invoke_void(0xED1517D3AF17C698,amount);end,\n"\ +"NETWORK_EARN_FROM_CASHING_OUT=function(amount)return _natives.invoke_void(0x718FBBF67414FA36,amount);end,\n"\ +"NETWORK_EARN_FROM_GANGATTACK_PICKUP=function(amount)return _natives.invoke_void(0xA03D4ACE0A3284CE,amount);end,\n"\ +"NETWORK_EARN_ASSASSINATE_TARGET_KILLED=function(amount)return _natives.invoke_void(0xFA700D8A9905F78A,amount);end,\n"\ +"NETWORK_EARN_FROM_ROB_ARMORED_CARS=function(amount)return _natives.invoke_void(0xF514621E8EA463D0,amount);end,\n"\ +"NETWORK_EARN_FROM_CRATE_DROP=function(amount)return _natives.invoke_void(0xB1CC1B9EC3007A2A,amount);end,\n"\ +"NETWORK_EARN_FROM_BETTING=function(amount,p1)return _natives.invoke_void(0x827A5BA1A44ACA6D,amount,p1);end,\n"\ +"NETWORK_EARN_FROM_JOB=function(amount,p1)return _natives.invoke_void(0xB2CC4836834E8A98,amount,p1);end,\n"\ +"NETWORK_EARN_FROM_JOBX2=function(amount,p1)return _natives.invoke_void(0xDEBBF584665411D0,amount,p1);end,\n"\ +"NETWORK_EARN_FROM_PREMIUM_JOB=function(amount,p1)return _natives.invoke_void(0xC8407624CEF2354B,amount,p1);end,\n"\ +"NETWORK_EARN_FROM_BEND_JOB=function(amount,heistHash)return _natives.invoke_void(0x61326EE6DF15B0CA,amount,heistHash);end,\n"\ +"NETWORK_EARN_FROM_CHALLENGE_WIN=function(p0,p1,p2)return _natives.invoke_void(0x2B171E6B2F64D8DF,p0,p1,p2);end,\n"\ +"NETWORK_EARN_FROM_BOUNTY=function(amount,gamerHandle,p2,p3)return _natives.invoke_void(0x131BB5DA15453ACF,amount,gamerHandle,p2,p3);end,\n"\ +"NETWORK_EARN_FROM_IMPORT_EXPORT=function(amount,modelHash)return _natives.invoke_void(0xF92A014A634442D6,amount,modelHash);end,\n"\ +"NETWORK_EARN_FROM_HOLDUPS=function(amount)return _natives.invoke_void(0x45B8154E077D9E4D,amount);end,\n"\ +"NETWORK_EARN_FROM_PROPERTY=function(amount,propertyName)return _natives.invoke_void(0x849648349D77F5C5,amount,propertyName);end,\n"\ +"NETWORK_EARN_FROM_AI_TARGET_KILL=function(p0,p1)return _natives.invoke_void(0x515B4A22E4D3C6D7,p0,p1);end,\n"\ +"NETWORK_EARN_FROM_NOT_BADSPORT=function(amount)return _natives.invoke_void(0x4337511FA8221D36,amount);end,\n"\ +"NETWORK_EARN_FROM_ROCKSTAR=function(amount)return _natives.invoke_void(0x02CE1D6AC0FC73EA,amount);end,\n"\ +"NETWORK_EARN_FROM_VEHICLE=function(p0,p1,p2,p3,p4,p5,p6,p7)return _natives.invoke_void(0xB539BD8A4C1EECF8,p0,p1,p2,p3,p4,p5,p6,p7);end,\n"\ +"NETWORK_EARN_FROM_PERSONAL_VEHICLE=function(p0,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_void(0x3F4D00167E41E0AD,p0,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"NETWORK_EARN_FROM_DAILY_OBJECTIVES=function(amount,type,characterSlot)return _natives.invoke_void(0x6EA318C91C1A8786,amount,type,characterSlot);end,\n"\ +"NETWORK_EARN_FROM_AMBIENT_JOB=function(p0,p1,p2)return _natives.invoke_void(0xFB6DB092FBAE29E6,p0,p1,p2);end,\n"\ +"NETWORK_EARN_FROM_JOB_BONUS=function(p0,p1,p2)return _natives.invoke_void(0x6816FB4416760775,p0,p1,p2);end,\n"\ +"NETWORK_EARN_FROM_CRIMINAL_MASTERMIND=function(p0,p1,p2)return _natives.invoke_void(0xFA009A62990671D4,p0,p1,p2);end,\n"\ +"NETWORK_EARN_HEIST_AWARD=function(p0,p1,p2)return _natives.invoke_void(0x9D4FDBB035229669,p0,p1,p2);end,\n"\ +"NETWORK_EARN_FIRST_TIME_BONUS=function(p0,p1,p2)return _natives.invoke_void(0x11B0A20C493F7E36,p0,p1,p2);end,\n"\ +"NETWORK_EARN_GOON=function(p0,p1,p2)return _natives.invoke_void(0xCDA1C62BE2777802,p0,p1,p2);end,\n"\ +"NETWORK_EARN_BOSS=function(p0,p1,p2)return _natives.invoke_void(0x08B0CA7A6AB3AC32,p0,p1,p2);end,\n"\ +"NETWORK_EARN_AGENCY=function(p0,p1,p2,p3)return _natives.invoke_void(0x0CB1BE0633C024A8,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_FROM_WAREHOUSE=function(amount,id)return _natives.invoke_void(0x3E4ADAFF1830F146,amount,id);end,\n"\ +"NETWORK_EARN_FROM_CONTRABAND=function(amount,p1)return _natives.invoke_void(0xECA658CE2A4E5A72,amount,p1);end,\n"\ +"NETWORK_EARN_FROM_DESTROYING_CONTRABAND=function(p0)return _natives.invoke_void(0x84C0116D012E8FC2,p0);end,\n"\ +"NETWORK_EARN_FROM_SMUGGLER_WORK=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x6B7E4FB50D5F3D65,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_EARN_FROM_HANGAR_TRADE=function(p0,p1)return _natives.invoke_void(0x31BA138F6304FB9F,p0,p1);end,\n"\ +"NETWORK_EARN_PURCHASE_CLUB_HOUSE=function(p0,p1)return _natives.invoke_void(0x55A1E095DB052FA5,p0,p1);end,\n"\ +"NETWORK_EARN_FROM_BUSINESS_PRODUCT=function(amount,p1,p2,p3)return _natives.invoke_void(0x8586789730B10CAF,amount,p1,p2,p3);end,\n"\ +"NETWORK_EARN_FROM_VEHICLE_EXPORT=function(amount,p1,p2)return _natives.invoke_void(0xEDEAD9A91EC768B3,amount,p1,p2);end,\n"\ +"NETWORK_EARN_SMUGGLER_AGENCY=function(amount,p1,p2,p3)return _natives.invoke_void(0xDEE612F2D71B0308,amount,p1,p2,p3);end,\n"\ +"NETWORK_EARN_BOUNTY_HUNTER_REWARD=function(p0)return _natives.invoke_void(0xF6B170F9A02E9E87,p0);end,\n"\ +"NETWORK_EARN_FROM_BUSINESS_BATTLE=function(p0)return _natives.invoke_void(0x42FCE14F50F27291,p0);end,\n"\ +"NETWORK_EARN_FROM_CLUB_MANAGEMENT_PARTICIPATION=function(p0,p1)return _natives.invoke_void(0xA75EAC69F59E96E7,p0,p1);end,\n"\ +"NETWORK_EARN_FROM_FMBB_PHONECALL_MISSION=function(p0)return _natives.invoke_void(0xC5156361F26E2212,p0);end,\n"\ +"NETWORK_EARN_FROM_BUSINESS_HUB_SELL=function(p0,p1,p2)return _natives.invoke_void(0x0B39CF0D53F1C883,p0,p1,p2);end,\n"\ +"NETWORK_EARN_FROM_FMBB_BOSS_WORK=function(p0)return _natives.invoke_void(0x1FDA0AA679C9919B,p0);end,\n"\ +"NETWORK_EARN_FMBB_WAGE_BONUS=function(p0)return _natives.invoke_void(0xFFFBA1B1F7C0B6F4,p0);end,\n"\ +"NETWORK_CAN_SPEND_MONEY=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_bool(0xAB3CAA6B422164DA,p0,p1,p2,p3,p4,p5);end,\n"\ +"NETWORK_CAN_SPEND_MONEY2=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_bool(0x7303E27CC6532080,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"NETWORK_BUY_ITEM=function(amount,item,p2,p3,p4,item_name,p6,p7,p8,p9)return _natives.invoke_void(0xF0077C797F66A355,amount,item,p2,p3,p4,item_name,p6,p7,p8,p9);end,\n"\ +"NETWORK_SPENT_TAXI=function(amount,p1,p2,p3,p4)return _natives.invoke_void(0x17C3A7D31EAE39F9,amount,p1,p2,p3,p4);end,\n"\ +"NETWORK_PAY_EMPLOYEE_WAGE=function(p0,p1,p2)return _natives.invoke_void(0x5FD5ED82CBBE9989,p0,p1,p2);end,\n"\ +"NETWORK_PAY_MATCH_ENTRY_FEE=function(amount,matchId,p2,p3)return _natives.invoke_void(0x9346E14F2AF74D46,amount,matchId,p2,p3);end,\n"\ +"NETWORK_SPENT_BETTING=function(amount,p1,matchId,p3,p4)return _natives.invoke_void(0x1C436FD11FFA692F,amount,p1,matchId,p3,p4);end,\n"\ +"NETWORK_SPENT_WAGER=function(p0,p1,amount)return _natives.invoke_void(0xD99DB210089617FE,p0,p1,amount);end,\n"\ +"NETWORK_SPENT_IN_STRIPCLUB=function(p0,p1,p2,p3)return _natives.invoke_void(0xEE99784E4467689C,p0,p1,p2,p3);end,\n"\ +"NETWORK_BUY_HEALTHCARE=function(cost,p1,p2)return _natives.invoke_void(0xD9B067E55253E3DD,cost,p1,p2);end,\n"\ +"NETWORK_BUY_AIRSTRIKE=function(cost,p1,p2,p3)return _natives.invoke_void(0x763B4BD305338F19,cost,p1,p2,p3);end,\n"\ +"NETWORK_BUY_BACKUP_GANG=function(p0,p1,p2,p3)return _natives.invoke_void(0xA3EDDAA42411D3B9,p0,p1,p2,p3);end,\n"\ +"NETWORK_BUY_HELI_STRIKE=function(cost,p1,p2,p3)return _natives.invoke_void(0x81AA4610E3FD3A69,cost,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_AMMO_DROP=function(p0,p1,p2,p3)return _natives.invoke_void(0xB162DC95C0A3317B,p0,p1,p2,p3);end,\n"\ +"NETWORK_BUY_BOUNTY=function(amount,victim,p2,p3,p4)return _natives.invoke_void(0x7B718E197453F2D9,amount,victim,p2,p3,p4);end,\n"\ +"NETWORK_BUY_PROPERTY=function(cost,propertyName,p2,p3)return _natives.invoke_void(0x650A08A280870AF6,cost,propertyName,p2,p3);end,\n"\ +"NETWORK_BUY_SMOKES=function(p0,p1,p2)return _natives.invoke_void(0x75AF80E61248EEBD,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_HELI_PICKUP=function(p0,p1,p2,p3)return _natives.invoke_void(0x7BF1D73DB2ECA492,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_BOAT_PICKUP=function(p0,p1,p2,p3)return _natives.invoke_void(0x524EE43A37232C00,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_BULL_SHARK=function(p0,p1,p2,p3)return _natives.invoke_void(0xA6DD8458CE24012C,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_CASH_DROP=function(amount,p1,p2)return _natives.invoke_void(0x289016EC778D60E0,amount,p1,p2);end,\n"\ +"NETWORK_SPENT_HIRE_MUGGER=function(p0,p1,p2,p3)return _natives.invoke_void(0xE404BFB981665BF0,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_ROBBED_BY_MUGGER=function(amount,p1,p2,p3)return _natives.invoke_void(0x995A65F15F581359,amount,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_HIRE_MERCENARY=function(p0,p1,p2,p3)return _natives.invoke_void(0xE7B80E2BF9D80BD6,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_BUY_WANTEDLEVEL=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xE1B13771A843C4F6,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPENT_BUY_OFFTHERADAR=function(p0,p1,p2,p3)return _natives.invoke_void(0xA628A745E2275C5D,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_BUY_REVEAL_PLAYERS=function(p0,p1,p2,p3)return _natives.invoke_void(0x6E176F1B18BC0637,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_CARWASH=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xEC03C719DB2F4306,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPENT_CINEMA=function(p0,p1,p2,p3)return _natives.invoke_void(0x6B38ECB05A63A685,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_TELESCOPE=function(p0,p1,p2)return _natives.invoke_void(0x7FE61782AD94CC09,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_HOLDUPS=function(p0,p1,p2)return _natives.invoke_void(0xD9B86B9872039763,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_BUY_PASSIVE_MODE=function(p0,p1,p2,p3)return _natives.invoke_void(0x6D3A430D1A809179,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_BANK_INTEREST=function(p0,p1,p2)return _natives.invoke_void(0xCA230C9682556CF1,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_PROSTITUTES=function(p0,p1,p2)return _natives.invoke_void(0xB21B89501CFAC79E,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_ARREST_BAIL=function(p0,p1,p2)return _natives.invoke_void(0x812F5488B1B2A299,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_PAY_VEHICLE_INSURANCE_PREMIUM=function(amount,vehicleModel,gamerHandle,notBankrupt,hasTheMoney)return _natives.invoke_void(0x9FF28D88C766E3E8,amount,vehicleModel,gamerHandle,notBankrupt,hasTheMoney);end,\n"\ +"NETWORK_SPENT_CALL_PLAYER=function(p0,p1,p2,p3)return _natives.invoke_void(0xACDE7185B374177C,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_BOUNTY=function(p0,p1,p2)return _natives.invoke_void(0x29B260B84947DFCC,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_FROM_ROCKSTAR=function(p0,p1,p2)return _natives.invoke_void(0x6A445B64ED7ABEB5,p0,p1,p2);end,\n"\ +"NETWORK_SPEND_EARNED_FROM_BANK_AND_WALLETS=function(amount)return _natives.invoke_int(0x9B5016A6433A68C5,amount);end,\n"\ +"PROCESS_CASH_GIFT=function(p0,p1,p2)return _natives.invoke_str(0x20194D48EAEC9A41,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_MOVE_SUBMARINE=function(p0,p1,p2)return _natives.invoke_void(0xCD4D66B43B1DD28D,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_PLAYER_HEALTHCARE=function(p0,p1,p2,p3)return _natives.invoke_void(0x7C99101F7FCE2EE5,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_NO_COPS=function(p0,p1,p2,p3)return _natives.invoke_void(0xD5BB406F4E04019F,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_CARGO_SOURCING=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_void(0x948705F6F9C50824,p0,p1,p2,p3,p4,p5);end,\n"\ +"NETWORK_SPENT_REQUEST_JOB=function(p0,p1,p2,p3)return _natives.invoke_void(0x8204DA7934DF3155,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_REQUEST_HEIST=function(p0,p1,p2,p3)return _natives.invoke_void(0x9D26502BB97BFE62,p0,p1,p2,p3);end,\n"\ +"NETWORK_BUY_FAIRGROUND_RIDE=function(amount,p1,p2,p3,p4)return _natives.invoke_void(0x8A7B3952DD64D2B5,amount,p1,p2,p3,p4);end,\n"\ +"NETWORK_ECONOMY_HAS_FIXED_CRAZY_NUMBERS=function()return _natives.invoke_bool(0x7C4FCCD2E4DEB394);end,\n"\ +"NETWORK_SPENT_JOB_SKIP=function(amount,matchId,p2,p3)return _natives.invoke_void(0x28F174A67B8D0C2F,amount,matchId,p2,p3);end,\n"\ +"NETWORK_SPENT_BOSS_GOON=function(amount,p1,p2)return _natives.invoke_bool(0xFFBE02CD385356BD,amount,p1,p2);end,\n"\ +"NETWORK_SPEND_GOON=function(p0,p1,amount)return _natives.invoke_void(0x08A1B82B91900682,p0,p1,amount);end,\n"\ +"NETWORK_SPEND_BOSS=function(p0,p1,p2)return _natives.invoke_void(0xDBC966A01C02BCA7,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_MOVE_YACHT=function(amount,p1,p2)return _natives.invoke_void(0xE7DF4E0545DFB56E,amount,p1,p2);end,\n"\ +"NETWORK_SPENT_RENAME_ORGANIZATION=function(p0,p1,p2)return _natives.invoke_void(0xFC4EE00A7B3BFB76,p0,p1,p2);end,\n"\ +"NETWORK_BUY_CONTRABAND_MISSION=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x30FD873ECE50E9F6,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPENT_PA_SERVICE_HELI=function(p0,p1,p2,p3)return _natives.invoke_void(0x112209CE0290C03A,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PA_SERVICE_VEHICLE=function(p0,p1,p2,p3)return _natives.invoke_void(0xED5FD7AF10F5E262,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PA_SERVICE_SNACK=function(p0,p1,p2,p3)return _natives.invoke_void(0x0D30EB83668E63C5,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PA_SERVICE_DANCER=function(p0,p1,p2,p3)return _natives.invoke_void(0xB49ECA122467D05F,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PA_SERVICE_IMPOUND=function(p0,p1,p2)return _natives.invoke_void(0xE23ADC6FCB1F29AE,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_PA_HELI_PICKUP=function(p0,p1,p2,p3)return _natives.invoke_void(0x0FE8E1FCD2B86B33,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PURCHASE_OFFICE_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0x69EF772B192614C1,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_OFFICE_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0x8E243837643D9583,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PURCHASE_WAREHOUSE_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0xBD0EFB25CCA8F97A,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_WAREHOUSE_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0xA95F667A755725DA,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PURCHASE_IMPEXP_WAREHOUSE_PROPERTY=function(amount,data,p2,p3)return _natives.invoke_void(0x33981D6804E62F49,amount,data,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_IMPEXP_WAREHOUSE_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0x4128464231E3CA0B,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_TRADE_IMPEXP_WAREHOUSE_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0x2FAB6614CE22E196,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_ORDER_WAREHOUSE_VEHICLE=function(p0,p1,p2,p3)return _natives.invoke_void(0x05F04155A226FBBF,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_ORDER_BODYGUARD_VEHICLE=function(p0,p1,p2,p3)return _natives.invoke_void(0xE8B0B270B6E7C76E,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_JUKEBOX=function(p0,p1,p2,p3)return _natives.invoke_void(0x5BCDE0F640C773D2,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PURCHASE_CLUB_HOUSE=function(p0,p1,p2,p3)return _natives.invoke_void(0x998E18CEB44487FC,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_CLUB_HOUSE=function(p0,p1,p2,p3)return _natives.invoke_void(0xFA07759E6FDDD7CF,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_PURCHASE_BUSINESS_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0x6FD97159FE3C971A,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_BUSINESS_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0x675D19C6067CAE08,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_TRADE_BUSINESS_PROPERTY=function(p0,p1,p2,p3)return _natives.invoke_void(0xA51B086B0B2C0F7A,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_MC_ABILITY=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xD7CCCBA28C4ECAF0,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPENT_PAY_BUSINESS_SUPPLIES=function(p0,p1,p2,p3)return _natives.invoke_void(0x0035BB914316F1E3,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_CHANGE_APPEARANCE=function(p0,p1,p2)return _natives.invoke_void(0x5F456788B05FAEAC,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_VEHICLE_EXPORT_MODS=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9)return _natives.invoke_void(0xA75CCF58A60A5FD1,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9);end,\n"\ +"NETWORK_SPENT_PURCHASE_OFFICE_GARAGE=function(p0,p1,p2,p3)return _natives.invoke_void(0xB4C2EC463672474E,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_OFFICE_GARAGE=function(p0,p1,p2,p3)return _natives.invoke_void(0x2AFC2D19B50797F2,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_IMPORT_EXPORT_REPAIR=function(p0,p1,p2)return _natives.invoke_void(0xC1952F3773BA18FE,p0,p1,p2);end,\n"\ +"NETWORK_SPENT_PURCHASE_HANGAR=function(p0,p1,p2,p3)return _natives.invoke_void(0xCCB339CC970452DA,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_HANGAR=function(p0,p1,p2,p3)return _natives.invoke_void(0x615EB504B0788DAF,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_HANGAR_UTILITY_CHARGES=function(amount,p1,p2)return _natives.invoke_void(0xB18AC2ECBB15CB6A,amount,p1,p2);end,\n"\ +"NETWORK_SPENT_HANGAR_STAFF_CHARGES=function(amount,p1,p2)return _natives.invoke_void(0xB1F1346FD57685D7,amount,p1,p2);end,\n"\ +"NETWORK_SPENT_BUY_TRUCK=function(p0,p1,p2,p3)return _natives.invoke_void(0xAC272C0AE01B4BD8,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_TRUCK=function(p0,p1,p2,p3)return _natives.invoke_void(0x365E877C61D6988B,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_BUY_BUNKER=function(p0,p1,p2,p3)return _natives.invoke_void(0x12D148D26538D0F9,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPRADE_BUNKER=function(p0,p1,p2,p3)return _natives.invoke_void(0x0C82D21A77C22D49,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_FROM_SELL_BUNKER=function(amount,bunkerHash)return _natives.invoke_void(0x9251B6ABF2D0A5B4,amount,bunkerHash);end,\n"\ +"NETWORK_SPENT_BALLISTIC_EQUIPMENT=function(amount,p1,p2)return _natives.invoke_void(0x5D97630A8A0EF123,amount,p1,p2);end,\n"\ +"NETWORK_EARN_RDR_BONUS=function(amount,p1)return _natives.invoke_void(0x7A5349B773584675,amount,p1);end,\n"\ +"NETWORK_EARN_WAGE_PAYMENT=function(amount,p1)return _natives.invoke_void(0x35F8DA0E8A31EF1B,amount,p1);end,\n"\ +"NETWORK_EARN_WAGE_PAYMENT_BONUS=function(amount)return _natives.invoke_void(0x005ACA7100BD101D,amount);end,\n"\ +"NETWORK_SPENT_BUY_BASE=function(p0,p1,p2,p3)return _natives.invoke_void(0x4EA3F425C7744D21,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_BASE=function(p0,p1,p2,p3)return _natives.invoke_void(0x3DD3F33A5D55EA6F,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_BUY_TILTROTOR=function(p0,p1,p2,p3)return _natives.invoke_void(0x0CCE73BC7A11E885,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_TILTROTOR=function(p0,p1,p2,p3)return _natives.invoke_void(0x165E135D6DFA2907,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_EMPLOY_ASSASSINS=function(p0,p1,p2,p3)return _natives.invoke_void(0x5BBBD92186E1F1C5,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_GANGOPS_CANNON=function(p0,p1,p2,p3)return _natives.invoke_void(0x771ADB0E7635B7BF,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_GANGOPS_SKIP_MISSION=function(p0,p1,p2,p3)return _natives.invoke_void(0xDA947AE8880D5C18,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_CASINO_HEIST_SKIP_MISSION=function(p0,p1,p2,p3)return _natives.invoke_void(0x487009DD91D93429,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_SELL_BASE=function(amount,baseNameHash)return _natives.invoke_void(0x0E1E2FF3F4EC11AA,amount,baseNameHash);end,\n"\ +"NETWORK_EARN_TARGET_REFUND=function(amount,p1)return _natives.invoke_void(0x5B669CF2299A271F,amount,p1);end,\n"\ +"NETWORK_EARN_GANGOPS_WAGES=function(amount,p1)return _natives.invoke_void(0x2DCB19ABAB0380A8,amount,p1);end,\n"\ +"NETWORK_EARN_GANGOPS_WAGES_BONUS=function(amount,p1)return _natives.invoke_void(0x15BB2A5C757EB91F,amount,p1);end,\n"\ +"NETWORK_EARN_DAR_CHALLENGE=function(amount,p1)return _natives.invoke_void(0xCAC672087B4A24AB,amount,p1);end,\n"\ +"NETWORK_EARN_DOOMSDAY_FINALE_BONUS=function(amount,vehicleHash)return _natives.invoke_void(0x128A747F4A230952,amount,vehicleHash);end,\n"\ +"NETWORK_EARN_GANGOPS_AWARD=function(amount,p1,p2)return _natives.invoke_void(0xA9A31475F530DFDA,amount,p1,p2);end,\n"\ +"NETWORK_EARN_GANGOPS_ELITE=function(amount,p1,actIndex)return _natives.invoke_void(0x2597A0D4A4FC2C77,amount,p1,actIndex);end,\n"\ +"NETWORK_SERVICE_EARN_GANGOPS_RIVAL_DELIVERY=function(earnedMoney)return _natives.invoke_void(0x1B882107C23A9022,earnedMoney);end,\n"\ +"NETWORK_SPEND_GANGOPS_START_STRAND=function(type,amount,p2,p3)return _natives.invoke_void(0xA19EC0786E326E06,type,amount,p2,p3);end,\n"\ +"NETWORK_SPEND_GANGOPS_TRIP_SKIP=function(amount,p1,p2)return _natives.invoke_void(0x5ECE6FD7B4EC8D6A,amount,p1,p2);end,\n"\ +"NETWORK_EARN_GANGOPS_PREP_PARTICIPATION=function(amount)return _natives.invoke_void(0xED26584F6BDCBBFD,amount);end,\n"\ +"NETWORK_EARN_GANGOPS_SETUP=function(amount,p1)return _natives.invoke_void(0xA9160796D47A2CF8,amount,p1);end,\n"\ +"NETWORK_EARN_GANGOPS_FINALE=function(amount,p1)return _natives.invoke_void(0x1C121FC9545E0D52,amount,p1);end,\n"\ +"NETWORK_SPEND_GANGOPS_REPAIR_COST=function(p0,p1,p2)return _natives.invoke_void(0x2A7CEC72C3443BCC,p0,p1,p2);end,\n"\ +"NETWORK_EARN_NIGHTCLUB=function(p0)return _natives.invoke_void(0xE0F82D68C7039158,p0);end,\n"\ +"NETWORK_EARN_NIGHTCLUB_DANCING=function(p0)return _natives.invoke_void(0xB4DEAE67F35E2ACD,p0);end,\n"\ +"NETWORK_EARN_BB_EVENT_BONUS=function(amount)return _natives.invoke_void(0xFDD8D2440DAF1590,amount);end,\n"\ +"NETWORK_SPENT_PURCHASE_HACKER_TRUCK=function(p0,p1,p2,p3)return _natives.invoke_void(0x2A93C46AAB1EACC9,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_HACKER_TRUCK=function(p0,p1,p2,p3)return _natives.invoke_void(0x226C284C830D0CA8,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_HACKER_TRUCK=function(p0,amount,p2,p3)return _natives.invoke_void(0xE8815FE993896AD3,p0,amount,p2,p3);end,\n"\ +"NETWORK_SPENT_PURCHASE_NIGHTCLUB_AND_WAREHOUSE=function(p0,p1,p2,p3)return _natives.invoke_void(0xED76D195E6E3BF7F,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_UPGRADE_NIGHTCLUB_AND_WAREHOUSE=function(p0,p1,p2,p3)return _natives.invoke_void(0x1DC9B749E7AE282B,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_NIGHTCLUB_AND_WAREHOUSE=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_void(0xC6E74CF8C884C880,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"NETWORK_SPEND_NIGHTCLUB_AND_WAREHOUSE=function(p0,p1,p2,p3)return _natives.invoke_void(0x65482BFD0923C8A1,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_RDR_HATCHET_BONUS=function(amount,p1,p2)return _natives.invoke_void(0xE284D46FFDB82E36,amount,p1,p2);end,\n"\ +"NETWORK_SPENT_NIGHTCLUB_ENTRY_FEE=function(player,amount,p1,p2,p3)return _natives.invoke_void(0x876056684281655D,player,amount,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_NIGHTCLUB_BAR_DRINK=function(amount,p1,p2,p3)return _natives.invoke_void(0xDD21B016E4289465,amount,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_BOUNTY_HUNTER_MISSION=function(amount,p1,p2)return _natives.invoke_void(0x1BEA0CD93470BB1F,amount,p1,p2);end,\n"\ +"NETWORK_SPENT_REHIRE_DJ=function(amount,p1,p2,p3)return _natives.invoke_void(0xF6C8A544E4CF14FC,amount,p1,p2,p3);end,\n"\ +"NETWORK_SPENT_ARENA_JOIN_SPECTATOR=function(amount,p1,p2,p3)return _natives.invoke_void(0x14EAEA58F93B55AF,amount,p1,p2,p3);end,\n"\ +"NETWORK_EARN_ARENA_SKILL_LEVEL_PROGRESSION=function(amount,p1)return _natives.invoke_void(0xE08256F972C7BB2C,amount,p1);end,\n"\ +"NETWORK_EARN_ARENA_CAREER_PROGRESSION=function(amount,p1)return _natives.invoke_void(0x0F99F70C61F14619,amount,p1);end,\n"\ +"NETWORK_SPEND_MAKE_IT_RAIN=function(amount,p1,p2)return _natives.invoke_void(0xE5F5A060439C2F5D,amount,p1,p2);end,\n"\ +"NETWORK_SPEND_BUY_ARENA=function(amount,p1,p2,p3)return _natives.invoke_void(0x40D5DA9550B7CB46,amount,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_UPGRADE_ARENA=function(amount,p1,p2,p3)return _natives.invoke_void(0x037ABB06825D7AB1,amount,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_ARENA_SPECTATOR_BOX=function(amount,type,p2,p3)return _natives.invoke_void(0x7049BF858601DC0F,amount,type,p2,p3);end,\n"\ +"NETWORK_SPEND_SPIN_THE_WHEEL_PAYMENT=function(amount,p1,p2)return _natives.invoke_void(0x9A5BD1D0000B339C,amount,p1,p2);end,\n"\ +"NETWORK_EARN_SPIN_THE_WHEEL_CASH=function(amount)return _natives.invoke_void(0x676C48776CACBB5A,amount);end,\n"\ +"NETWORK_SPEND_ARENA_PREMIUM=function(amount,p1,p2)return _natives.invoke_void(0x619496D837EFD920,amount,p1,p2);end,\n"\ +"NETWORK_EARN_ARENA_WAR=function(amount,p1,p2,p3)return _natives.invoke_void(0x631F1CB8FB4130AA,amount,p1,p2,p3);end,\n"\ +"NETWORK_EARN_ARENA_WAR_ASSASSINATE_TARGET=function(amount)return _natives.invoke_void(0x5E7AE8AABE8B7C0D,amount);end,\n"\ +"NETWORK_EARN_ARENA_WAR_EVENT_CARGO=function(amount)return _natives.invoke_void(0xA82959062361B259,amount);end,\n"\ +"NETWORK_EARN_RC_TIME_TRIAL=function(amount)return _natives.invoke_void(0xDFF49EE984E7AAE8,amount);end,\n"\ +"NETWORK_EARN_DAILY_OBJECTIVE_EVENT=function(amount)return _natives.invoke_void(0x5128DF14A5BB86FC,amount);end,\n"\ +"NETWORK_SPEND_CASINO_MEMBERSHIP=function(amount,p1,p2,p3)return _natives.invoke_void(0xFBBE0570EDF39D46,amount,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_BUY_CASINO=function(amount,p1,p2,data)return _natives.invoke_void(0x34A6FC4D06C4DA0F,amount,p1,p2,data);end,\n"\ +"NETWORK_SPEND_UPGRADE_CASINO=function(amount,p1,p2,data)return _natives.invoke_void(0x4740D62BC1B4EBEA,amount,p1,p2,data);end,\n"\ +"NETWORK_SPEND_CASINO_GENERIC=function(amount,p1,p2,p3,p4)return _natives.invoke_void(0x88BF9B612B84D3C3,amount,p1,p2,p3,p4);end,\n"\ +"NETWORK_EARN_CASINO_TIME_TRIAL_WIN=function(amount)return _natives.invoke_void(0x0819DB99FD2FBBD8,amount);end,\n"\ +"NETWORK_EARN_COLLECTABLES_ACTION_FIGURES=function(amount)return _natives.invoke_void(0x5517F90043466049,amount);end,\n"\ +"NETWORK_EARN_CASINO_COLLECTABLE_COMPLETED_COLLECTION=function(amount)return _natives.invoke_void(0x83AD64F53F4E9483,amount);end,\n"\ +"NETWORK_EARN_SELL_PRIZE_VEHICLE=function(amount,p1,p2)return _natives.invoke_void(0x8BCB27A057DF7B7F,amount,p1,p2);end,\n"\ +"NETWORK_EARN_CASINO_MISSION_REWARD=function(amount)return _natives.invoke_void(0x566FD402B25787DE,amount);end,\n"\ +"NETWORK_EARN_CASINO_STORY_MISSION_REWARD=function(amount)return _natives.invoke_void(0xAC95ED552157E092,amount);end,\n"\ +"NETWORK_EARN_CASINO_MISSION_PARTICIPATION=function(amount)return _natives.invoke_void(0x09E8F18641BE2575,amount);end,\n"\ +"NETWORK_EARN_CASINO_AWARD=function(amount,hash)return _natives.invoke_void(0x973A9781A34F8DEB,amount,hash);end,\n"\ +"NETWORK_SPEND_BUY_ARCADE=function(p0,p1,p2,p3)return _natives.invoke_void(0x870289A558348378,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_UPGRADE_ARCADE=function(p0,p1,p2,p3)return _natives.invoke_void(0x5574637681911FDA,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_CASINO_HEIST=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)return _natives.invoke_void(0xD30E8392F407C328,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);end,\n"\ +"NETWORK_SPEND_ARCADE_MGMT=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xB5B58E24868CB09E,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPEND_PLAY_ARCADE=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xEAD3D81F2C3A1458,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPEND_ARCADE=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x43AA7FAC4E6D6687,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_EARN_CASINO_HEIST=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_void(0x72E7C7B9615FA3C3,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"NETWORK_EARN_UPGRADE_ARCADE=function(p0,p1,p2)return _natives.invoke_void(0x4C3B75694F7E0D9C,p0,p1,p2);end,\n"\ +"NETWORK_EARN_ARCADE=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xD29334ED1A256DBF,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_EARN_COLLECTABLES=function(p0,p1,p2)return _natives.invoke_void(0xA95CFB4E02390842,p0,p1,p2);end,\n"\ +"NETWORK_EARN_CHALLENGE=function(amount,p1,p2)return _natives.invoke_void(0x0DD362F14F18942A,amount,p1,p2);end,\n"\ +"NETWORK_EARN_CASINO_HEIST_AWARDS=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x3EC7471E6909798A,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_EARN_COLLECTABLE_ITEM=function(amount,p1)return _natives.invoke_void(0x84FF63BD4966F33D,amount,p1);end,\n"\ +"NETWORK_EARN_COLLECTABLE_COMPLETED_COLLECTION=function(amount,p1)return _natives.invoke_void(0x5C9B198AF5A54FA6,amount,p1);end,\n"\ +"NETWORK_EARN_YATCH_MISSION=function(amount,p1)return _natives.invoke_void(0xDE68E30D89F97132,amount,p1);end,\n"\ +"NETWORK_EARN_DISPATCH_CALL=function(amount,p1)return _natives.invoke_void(0xE2E244AB823B4483,amount,p1);end,\n"\ +"NETWORK_SPEND_BEACH_PARTY=function(p0)return _natives.invoke_void(0x54ABA22FA6371249,p0);end,\n"\ +"NETWORK_SPEND_SUBMARINE=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_void(0x6C8BC1488527AAAB,p0,p1,p2,p3,p4,p5);end,\n"\ +"NETWORK_SPEND_CASINO_CLUB=function(amount1,p1,p2,p3,p4,p5,p6,amount2,p8)return _natives.invoke_void(0xC991C255AA6D90B2,amount1,p1,p2,p3,p4,p5,p6,amount2,p8);end,\n"\ +"NETWORK_SPEND_BUY_SUB=function(p0,p1,p2,p3)return _natives.invoke_void(0x90CD7C6871FBF1B4,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_UPGRADE_SUB=function(p0,p1,p2,p3)return _natives.invoke_void(0x89049A84065CE68E,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_ISLAND_HEIST=function(p0,p1,p2,p3)return _natives.invoke_void(0xE86689E5F82DE429,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_ISLAND_HEIST=function(amount1,p1,p2,p3,amount2,p5)return _natives.invoke_void(0xD21D111C46BA9F15,amount1,p1,p2,p3,amount2,p5);end,\n"\ +"NETWORK_EARN_BEACH_PARTY_LOST_FOUND=function(p0,p1,p2)return _natives.invoke_void(0xA51338E0DCCD4065,p0,p1,p2);end,\n"\ +"NETWORK_EARN_FROM_ISLAND_HEIST_DJ_MISSION=function(p0,p1)return _natives.invoke_void(0xE2BB399D90942091,p0,p1);end,\n"\ +"NETWORK_SPEND_CAR_CLUB_MEMBERSHIP=function(amount1,p1,p2,amount2,p4)return _natives.invoke_void(0x1464E17207CD36E2,amount1,p1,p2,amount2,p4);end,\n"\ +"NETWORK_SPEND_CAR_CLUB_BAR=function(p0,p1,p2,p3)return _natives.invoke_void(0x925227803A0EAA1B,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_AUTOSHOP_MODIFY=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x9BEA350D7C48061B,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPEND_CAR_CLUB_TAKEOVER=function(p0,p1,p2,p3)return _natives.invoke_void(0xD1E46824E6FB92B5,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_BUY_AUTOSHOP=function(p0,p1,p2,p3)return _natives.invoke_void(0xEEB7E5D1FEB20869,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_UPGRADE_AUTOSHOP=function(p0,p1,p2,p3)return _natives.invoke_void(0xDD829AA198FDC46C,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_AUTOSHOP_BUSINESS=function(p0,p1,p2)return _natives.invoke_void(0x36A7FD5A7194B03E,p0,p1,p2);end,\n"\ +"NETWORK_EARN_AUTOSHOP_INCOME=function(p0,p1)return _natives.invoke_void(0xC66D1CF99ED7FE25,p0,p1);end,\n"\ +"NETWORK_EARN_CARCLUB_MEMBERSHIP=function(p0)return _natives.invoke_void(0xBC6227792A188E2E,p0);end,\n"\ +"NETWORK_EARN_DAILY_VEHICLE=function(p0,p1)return _natives.invoke_void(0x533073E8A596008C,p0,p1);end,\n"\ +"NETWORK_EARN_DAILY_VEHICLE_BONUS=function(p0)return _natives.invoke_void(0xFE65AFE7308E32B2,p0);end,\n"\ +"NETWORK_EARN_TUNER_AWARD=function(p0,p1,p2)return _natives.invoke_void(0xB846F547D3792DF6,p0,p1,p2);end,\n"\ +"NETWORK_EARN_TUNER_ROBBERY=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xBCB266247193AC61,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_EARN_UPGRADE_AUTOSHOP=function(p0,p1)return _natives.invoke_void(0xC10322A8D3E061EE,p0,p1);end,\n"\ +"NETWORK_SPEND_INTERACTION_MENU_ABILITY=function(p0,p1,p2,p3)return _natives.invoke_void(0x93AA4165CB67E925,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_SET_COMMON_FIELDS=function(p0,p1,p2,p3)return _natives.invoke_void(0xB9F7A469460E7A4A,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_SET_DISCOUNT=function(p0)return _natives.invoke_void(0x7E2F4E8F44CAF4E0,p0);end,\n"\ +"NETWORK_SPEND_BUY_AGENCY=function(p0,p1,p2,p3)return _natives.invoke_void(0xEA8CD3C9B3C35884,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_UPGRADE_AGENCY=function(p0,p1,p2,p3)return _natives.invoke_void(0x6CCA64840589A3B6,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_AGENCY=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x1B2120405080125C,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPEND_HIDDEN=function(p0,p1,p2,p3)return _natives.invoke_void(0xBF8793B91EA094A7,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_SOURCE_BIKE=function(p0,p1,p2,p3)return _natives.invoke_void(0xD9DF467CBE4398C8,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_COMP_SUV=function(p0,p1,p2,p3)return _natives.invoke_void(0xD86581F9E7CDA383,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_SUV_FST_TRVL=function(p0,p1,p2,p3)return _natives.invoke_void(0x61A2DF64ED2D396E,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_SUPPLY=function(p0,p1,p2,p3)return _natives.invoke_void(0xEBD482B82ACB8BAD,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_BIKE_SHOP=function(p0,p1,p2,p3)return _natives.invoke_void(0x923AEA8E78F8DF0B,p0,p1,p2,p3);end,\n"\ +"NETWORK_SPEND_VEHICLE_REQUESTED=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x02D24A35A9CC3503,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SPEND_GUNRUNNING=function(p0,p1,p2,p3)return _natives.invoke_void(0x2CEB0E0BC2A77C05,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_AGENCY_SAFE=function(p0)return _natives.invoke_void(0x663B4B9D11742A12,p0);end,\n"\ +"NETWORK_EARN_AWARD_CONTRACT=function(p0,p1)return _natives.invoke_void(0x146D4EB6D22A403F,p0,p1);end,\n"\ +"NETWORK_EARN_AGENCY_CONTRACT=function(p0,p1)return _natives.invoke_void(0x38482AD49CB905C7,p0,p1);end,\n"\ +"NETWORK_EARN_AWARD_PHONE=function(p0,p1)return _natives.invoke_void(0x7397A115030F1BE3,p0,p1);end,\n"\ +"NETWORK_EARN_AGENCY_PHONE=function(p0,p1,p2)return _natives.invoke_void(0xE29F3D5FA63B1B82,p0,p1,p2);end,\n"\ +"NETWORK_EARN_AWARD_FIXER_MISSION=function(p0,p1)return _natives.invoke_void(0x88D6C327D6C57C45,p0,p1);end,\n"\ +"NETWORK_EARN_FIXER_PREP=function(p0,p1)return _natives.invoke_void(0x6283E5DE4C4460C6,p0,p1);end,\n"\ +"NETWORK_EARN_FIXER_FINALE=function(p0,p1)return _natives.invoke_void(0xBA154373C5FE51E8,p0,p1);end,\n"\ +"NETWORK_EARN_FIXER_AGENCY_SHORT_TRIP=function(p0,p1)return _natives.invoke_void(0xF4A8E57460BF2037,p0,p1);end,\n"\ +"NETWORK_EARN_AWARD_SHORT_TRIP=function(p0,p1)return _natives.invoke_void(0x5B4DBDED84D6A420,p0,p1);end,\n"\ +"NETWORK_EARN_FIXER_RIVAL_DELIVERY=function(p0,p1)return _natives.invoke_void(0x235D41210B3A1A5E,p0,p1);end,\n"\ +"NETWORK_EARN_UPGRADE_AGENCY=function(p0,p1)return _natives.invoke_void(0xD07C7C3F1995108C,p0,p1);end,\n"\ +"NETWORK_SPEND_APARTMENT_UTILITIES=function(amount,p1,p2,data)return _natives.invoke_void(0x1254B5B3925EFD3D,amount,p1,p2,data);end,\n"\ +"NETWORK_SPEND_BUSINESS_PROPERTY_FEES=function(p0,p1,p2,p3)return _natives.invoke_void(0x92D1CFDA1227FF1C,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_SIGHTSEEING_REWARD=function(p0,p1,p2,p3)return _natives.invoke_void(0x45087AE480B233AC,p0,p1,p2,p3);end,\n"\ +"NETWORK_EARN_BIKER_SHOP=function(p0,p1)return _natives.invoke_void(0x2C5809EB9DF57257,p0,p1);end,\n"\ +"NETWORK_EARN_BIKER=function(p0)return _natives.invoke_void(0x71BEC32FA466E105,p0);end,\n"\ +"NETWORK_YOHAN_SOURCE_GOODS=function(p0,p1,p2,p3)return _natives.invoke_void(0x59498BC8B1C8B15C,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_BUY_MFGARAGE=function(p0,p1,p2,p3)return _natives.invoke_void(0xA2ED36DCF0FCA413,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_UPGRADE_MFGARAGE=function(p0,p1,p2,p3)return _natives.invoke_void(0xCF8F346DDDC66643,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_BUY_SUPPLIES=function(p0,p1,p2,p3)return _natives.invoke_void(0xB48185C0CA67B16B,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_BUY_ACID_LAB=function(p0,p1,p2,p3)return _natives.invoke_void(0xF1E26A7924327152,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_UPGRADE_ACID_LAB_EQUIPMENT=function(p0,p1,p2,p3)return _natives.invoke_void(0x110EE9D486C23126,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_UPGRADE_ACID_LAB_ARMOR=function(p0,p1,p2,p3)return _natives.invoke_void(0xA7D541C9ACD63133,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_UPGRADE_ACID_LAB_SCOOP=function(p0,p1,p2,p3)return _natives.invoke_void(0x2940558E05BCC2EC,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_UPGRADE_ACID_LAB_MINES=function(p0,p1,p2,p3)return _natives.invoke_void(0x4B99AB08C92C54E4,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_RENAME_ACID_LAB=function(p0,p1,p2,p3)return _natives.invoke_void(0x842B1C5AF61ACDE9,p0,p1,p2,p3);end,\n"\ +"_NETWORK_SPEND_RENAME_ACID_PRODUCT=function(p0,p1,p2,p3)return _natives.invoke_void(0x446798F7495DD7D8,p0,p1,p2,p3);end,\n"\ +"_NETWORK_EARN_AWARD_JUGGALO_MISSION=function(p0,p1)return _natives.invoke_void(0xDDF047577F1A02A7,p0,p1);end,\n"\ +"_NETWORK_EARN_AWARD_ACID_LAB=function(p0,p1)return _natives.invoke_void(0xD1A8165767AD2D23,p0,p1);end,\n"\ +"_NETWORK_EARN_AWARD_DAILY_STASH=function(p0,p1)return _natives.invoke_void(0xC30650FA74A19D02,p0,p1);end,\n"\ +"_NETWORK_EARN_AWARD_DEAD_DROP=function(p0,p1)return _natives.invoke_void(0xD01EBAEA1F905EF6,p0,p1);end,\n"\ +"_NETWORK_EARN_AWARD_RANDOM_EVENT=function(p0,p1)return _natives.invoke_void(0xBEAFBB1B98B7EF55,p0,p1);end,\n"\ +"_NETWORK_EARN_AWARD_TAXI=function(p0,p1)return _natives.invoke_void(0xA914768AD35CD3A5,p0,p1);end,\n"\ +"_NETWORK_EARN_STREET_DEALER=function(p0,p1)return _natives.invoke_void(0xA81017EE1324FDFE,p0,p1);end,\n"\ +"_NETWORK_EARN_SELL_ACID=function(p0,p1)return _natives.invoke_void(0x79B656937DF6DF5D,p0,p1);end,\n"\ +"_NETWORK_EARN_SETUP_PARTICIPATION_ACID_LAB=function(p0,p1)return _natives.invoke_void(0xE3942D59E8A7F70D,p0,p1);end,\n"\ +"_NETWORK_EARN_SOURCE_PARTICIPATION_ACID_LAB=function(p0,p1)return _natives.invoke_void(0x136F11B5DF1B304D,p0,p1);end,\n"\ +"_NETWORK_EARN_SELL_PARTICIPATION_ACID_LAB=function(p0,p1)return _natives.invoke_void(0xCA3EF9B09A8D76B4,p0,p1);end,\n"\ +"_NETWORK_EARN_JUGGALO_STORY_MISSION=function(p0,p1)return _natives.invoke_void(0xE01D10BA8CD53621,p0,p1);end,\n"\ +"_NETWORK_EARN_JUGGALO_STORY_MISSION_PARTICIPATION=function(p0,p1)return _natives.invoke_void(0x40FF6CCCC476185C,p0,p1);end,\n"\ +"_NETWORK_EARN_FOOLIGAN_JOB=function(p0,p1)return _natives.invoke_void(0xCE4452AE85F5E252,p0,p1);end,\n"\ +"_NETWORK_EARN_FOOLIGAN_JOB_PARTICIPATION=function(p0,p1)return _natives.invoke_void(0xC376B92D0E060970,p0,p1);end,\n"\ +"_NETWORK_EARN_TAXI_JOB=function(p0,p1)return _natives.invoke_void(0x991E1588FAD9019D,p0,p1);end,\n"\ +"_NETWORK_EARN_DAILY_STASH_HOUSE_COMPLETED=function(p0,p1)return _natives.invoke_void(0xCABC9874AFA70D6D,p0,p1);end,\n"\ +"_NETWORK_EARN_DAILY_STASH_HOUSE_PARTICIPATION=function(p0,p1)return _natives.invoke_void(0x9C0C6BD0F94CE391,p0,p1);end,\n"\ +"NETWORK_GET_VC_BANK_BALANCE=function()return _natives.invoke_int(0x76EF28DA05EA395A);end,\n"\ +"NETWORK_GET_VC_WALLET_BALANCE=function(characterSlot)return _natives.invoke_int(0xA40F9C2623F6A8B5,characterSlot);end,\n"\ +"NETWORK_GET_VC_BALANCE=function()return _natives.invoke_int(0x5CBAD97E059E1B94);end,\n"\ +"NETWORK_GET_EVC_BALANCE=function()return _natives.invoke_int(0x5D1E75F91C07DEE5);end,\n"\ +"NETWORK_GET_PVC_BALANCE=function()return _natives.invoke_int(0x4F54F3B6C202FB4E);end,\n"\ +"NETWORK_GET_STRING_WALLET_BALANCE=function(characterSlot)return _natives.invoke_str(0xF9B10B529DCFB33B,characterSlot);end,\n"\ +"NETWORK_GET_STRING_BANK_BALANCE=function()return _natives.invoke_str(0xA6FA3979BED01B81);end,\n"\ +"NETWORK_GET_STRING_BANK_WALLET_BALANCE=function()return _natives.invoke_str(0x700AF71AE615E6DD);end,\n"\ +"NETWORK_GET_CAN_SPEND_FROM_WALLET=function(amount,characterSlot)return _natives.invoke_bool(0xED5AB8860415BABA,amount,characterSlot);end,\n"\ +"NETWORK_GET_CAN_SPEND_FROM_BANK=function(amount)return _natives.invoke_bool(0xA31FD6A0865B6D14,amount);end,\n"\ +"NETWORK_GET_CAN_SPEND_FROM_BANK_AND_WALLET=function(amount,characterSlot)return _natives.invoke_bool(0xDC18531D7019A535,amount,characterSlot);end,\n"\ +"NETWORK_GET_PVC_TRANSFER_BALANCE=function()return _natives.invoke_int(0x13A8DE2FD77D04F3);end,\n"\ +"NETWORK_GET_CAN_TRANSFER_CASH=function(amount)return _natives.invoke_bool(0x08E8EEADFD0DC4A0,amount);end,\n"\ +"NETWORK_CAN_RECEIVE_PLAYER_CASH=function(p0,p1,p2,p3)return _natives.invoke_bool(0x5D17BE59D2123284,p0,p1,p2,p3);end,\n"\ +"NETWORK_GET_REMAINING_TRANSFER_BALANCE=function()return _natives.invoke_int(0xEA560AC9EEB1E19B);end,\n"\ +"WITHDRAW_VC=function(amount)return _natives.invoke_int(0xF70EFA14FE091429,amount);end,\n"\ +"DEPOSIT_VC=function(amount)return _natives.invoke_bool(0xE260E0BB9CD995AC,amount);end,\n"\ +"HAS_VC_WITHDRAWAL_COMPLETED=function(p0)return _natives.invoke_bool(0xE154B48B68EF72BC,p0);end,\n"\ +"WAS_VC_WITHDRAWAL_SUCCESSFUL=function(p0)return _natives.invoke_bool(0x6FCF8DDEA146C45B,p0);end,\n"\ +"};\n"\ +"NETSHOPPING = {\n"\ +"NET_GAMESERVER_USE_SERVER_TRANSACTIONS=function()return _natives.invoke_bool(0x7D2708796355B20B);end,\n"\ +"NET_GAMESERVER_CATALOG_ITEM_IS_VALID=function(name)return _natives.invoke_bool(0xBD4D7EAF8A30F637,name);end,\n"\ +"NET_GAMESERVER_CATALOG_ITEM_KEY_IS_VALID=function(hash)return _natives.invoke_bool(0x247F0F73A182EA0B,hash);end,\n"\ +"NET_GAMESERVER_GET_PRICE=function(itemHash,categoryHash,p2)return _natives.invoke_int(0xC27009422FCCA88D,itemHash,categoryHash,p2);end,\n"\ +"NET_GAMESERVER_CATALOG_IS_VALID=function()return _natives.invoke_bool(0x3C4487461E9B0DCB);end,\n"\ +"NET_GAMESERVER_IS_CATALOG_CURRENT=function()return _natives.invoke_bool(0x2B949A1E6AEC8F6A);end,\n"\ +"NET_GAMESERVER_GET_CATALOG_CLOUD_CRC=function()return _natives.invoke_int(0x85F6C9ABA1DE2BCF);end,\n"\ +"NET_GAMESERVER_REFRESH_SERVER_CATALOG=function()return _natives.invoke_bool(0x357B152EF96C30B6);end,\n"\ +"NET_GAMESERVER_RETRIEVE_CATALOG_REFRESH_STATUS=function(state)return _natives.invoke_bool(0xCF38DAFBB49EDE5E,state);end,\n"\ +"NET_GAMESERVER_INIT_SESSION=function()return _natives.invoke_bool(0xE3E5A7C64CA2C6ED);end,\n"\ +"NET_GAMESERVER_RETRIEVE_INIT_SESSION_STATUS=function(p0)return _natives.invoke_bool(0x0395CB47B022E62C,p0);end,\n"\ +"NET_GAMESERVER_START_SESSION=function(charSlot)return _natives.invoke_bool(0xA135AC892A58FC07,charSlot);end,\n"\ +"NET_GAMESERVER_START_SESSION_PENDING=function()return _natives.invoke_bool(0x72EB7BA9B69BF6AB);end,\n"\ +"NET_GAMESERVER_RETRIEVE_START_SESSION_STATUS=function(p0)return _natives.invoke_bool(0x170910093218C8B9,p0);end,\n"\ +"NET_GAMESERVER_RETRIEVE_SESSION_ERROR_CODE=function(p0)return _natives.invoke_bool(0xC13C38E47EA5DF31,p0);end,\n"\ +"NET_GAMESERVER_IS_SESSION_VALID=function(charSlot)return _natives.invoke_bool(0xB24F0944DA203D9E,charSlot);end,\n"\ +"NET_GAMESERVER_CLEAR_SESSION=function(p0)return _natives.invoke_bool(0x74A0FD0688F1EE45,p0);end,\n"\ +"NET_GAMESERVER_SESSION_APPLY_RECEIVED_DATA=function(charSlot)return _natives.invoke_bool(0x2F41D51BA3BCD1F1,charSlot);end,\n"\ +"NET_GAMESERVER_IS_SESSION_REFRESH_PENDING=function()return _natives.invoke_bool(0x810E8431C0614BF9);end,\n"\ +"NET_GAMESERVER_START_SESSION_RESTART=function(inventory,playerbalance)return _natives.invoke_bool(0x35A1B3E1D1315CFA,inventory,playerbalance);end,\n"\ +"NET_GAMESERVER_TRANSACTION_IN_PROGRESS=function()return _natives.invoke_bool(0x613F125BA3BD2EB9);end,\n"\ +"NET_GAMESERVER_GET_SESSION_STATE_AND_STATUS=function(p0,p1)return _natives.invoke_bool(0x897433D292B44130,p0,p1);end,\n"\ +"NET_GAMESERVER_BASKET_START=function(transactionId,categoryHash,actionHash,flags)return _natives.invoke_bool(0x279F08B1A4B29B7E,transactionId,categoryHash,actionHash,flags);end,\n"\ +"NET_GAMESERVER_BASKET_END=function()return _natives.invoke_bool(0xFA336E7F40C0A0D0);end,\n"\ +"NET_GAMESERVER_BASKET_IS_ACTIVE=function()return _natives.invoke_bool(0xA65568121DF2EA26);end,\n"\ +"NET_GAMESERVER_BASKET_ADD_ITEM=function(itemData,quantity)return _natives.invoke_bool(0xF30980718C8ED876,itemData,quantity);end,\n"\ +"NET_GAMESERVER_BASKET_IS_FULL=function()return _natives.invoke_bool(0x27F76CC6C55AD30E);end,\n"\ +"NET_GAMESERVER_BASKET_APPLY_SERVER_DATA=function(p0,p1)return _natives.invoke_bool(0xE1A0450ED46A7812,p0,p1);end,\n"\ +"NET_GAMESERVER_CHECKOUT_START=function(transactionId)return _natives.invoke_bool(0x39BE7CEA8D9CC8E6,transactionId);end,\n"\ +"NET_GAMESERVER_BEGIN_SERVICE=function(transactionId,categoryHash,itemHash,actionTypeHash,value,flags)return _natives.invoke_bool(0x3C5FD37B5499582E,transactionId,categoryHash,itemHash,actionTypeHash,value,flags);end,\n"\ +"NET_GAMESERVER_END_SERVICE=function(transactionId)return _natives.invoke_bool(0xE2A99A9B524BEFFF,transactionId);end,\n"\ +"NET_GAMESERVER_DELETE_CHARACTER=function(slot,transfer,reason)return _natives.invoke_bool(0x51F1A8E48C3D2F6D,slot,transfer,reason);end,\n"\ +"NET_GAMESERVER_DELETE_CHARACTER_GET_STATUS=function()return _natives.invoke_int(0x0A6D923DFFC9BD89);end,\n"\ +"NET_GAMESERVER_DELETE_SET_TELEMETRY_NONCE_SEED=function()return _natives.invoke_bool(0x112CEF1615A1139F);end,\n"\ +"NET_GAMESERVER_TRANSFER_BANK_TO_WALLET=function(charSlot,amount)return _natives.invoke_bool(0xD47A2C1BA117471D,charSlot,amount);end,\n"\ +"NET_GAMESERVER_TRANSFER_WALLET_TO_BANK=function(charSlot,amount)return _natives.invoke_bool(0xC2F7FE5309181C7D,charSlot,amount);end,\n"\ +"NET_GAMESERVER_TRANSFER_BANK_TO_WALLET_GET_STATUS=function()return _natives.invoke_int(0x23789E777D14CE44);end,\n"\ +"NET_GAMESERVER_TRANSFER_WALLET_TO_BANK_GET_STATUS=function()return _natives.invoke_int(0x350AA5EBC03D3BD2);end,\n"\ +"NET_GAMESERVER_TRANSFER_CASH_SET_TELEMETRY_NONCE_SEED=function()return _natives.invoke_bool(0x498C1E05CE5F7877);end,\n"\ +"NET_GAMESERVER_SET_TELEMETRY_NONCE_SEED=function(p0)return _natives.invoke_bool(0x9507D4271988E1AE,p0);end,\n"\ +"};\n"\ +"NETWORK = {\n"\ +"GET_ONLINE_VERSION=function()return _natives.invoke_str(0xFCA9373EF340AC0A);end,\n"\ +"NETWORK_IS_SIGNED_IN=function()return _natives.invoke_bool(0x054354A99211EB96);end,\n"\ +"NETWORK_IS_SIGNED_ONLINE=function()return _natives.invoke_bool(0x1077788E268557C2);end,\n"\ +"NETWORK_IS_NP_AVAILABLE=function()return _natives.invoke_bool(0xBD545D44CCE70597);end,\n"\ +"NETWORK_IS_NP_PENDING=function()return _natives.invoke_bool(0xEBCAB9E5048434F4);end,\n"\ +"NETWORK_GET_NP_UNAVAILABLE_REASON=function()return _natives.invoke_int(0x74FB3E29E6D10FA9);end,\n"\ +"NETWORK_IS_CONNETED_TO_NP_PRESENCE=function()return _natives.invoke_bool(0x7808619F31FF22DB);end,\n"\ +"NETWORK_IS_LOGGED_IN_TO_PSN=function()return _natives.invoke_bool(0xA0FA4EC6A05DA44E);end,\n"\ +"NETWORK_HAS_VALID_ROS_CREDENTIALS=function()return _natives.invoke_bool(0x85443FF4C328F53B);end,\n"\ +"NETWORK_IS_REFRESHING_ROS_CREDENTIALS=function()return _natives.invoke_bool(0x8D11E61A4ABF49CC);end,\n"\ +"NETWORK_IS_CLOUD_AVAILABLE=function()return _natives.invoke_bool(0x9A4CF4F48AD77302);end,\n"\ +"NETWORK_HAS_SOCIAL_CLUB_ACCOUNT=function()return _natives.invoke_bool(0x67A5589628E0CFF6);end,\n"\ +"NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT=function()return _natives.invoke_bool(0xBA9775570DB788CF);end,\n"\ +"NETWORK_IS_HOST=function()return _natives.invoke_bool(0x8DB296B814EDDA07);end,\n"\ +"NETWORK_GET_HOST_PLAYER_INDEX=function()return _natives.invoke_int(0x8251FB94DC4FDFC8);end,\n"\ +"NETWORK_WAS_GAME_SUSPENDED=function()return _natives.invoke_bool(0x4237E822315D8BA9);end,\n"\ +"NETWORK_HAVE_ONLINE_PRIVILEGES=function()return _natives.invoke_bool(0x25CB5A9F37BFD063);end,\n"\ +"NETWORK_HAS_AGE_RESTRICTIONS=function()return _natives.invoke_bool(0x1353F87E89946207);end,\n"\ +"NETWORK_HAVE_USER_CONTENT_PRIVILEGES=function(p0)return _natives.invoke_bool(0x72D918C99BCACC54,p0);end,\n"\ +"NETWORK_HAVE_COMMUNICATION_PRIVILEGES=function(p0,player)return _natives.invoke_bool(0xAEEF48CDF5B6CE7C,p0,player);end,\n"\ +"NETWORK_CHECK_ONLINE_PRIVILEGES=function(p0,p1)return _natives.invoke_bool(0x78321BEA235FD8CD,p0,p1);end,\n"\ +"NETWORK_CHECK_USER_CONTENT_PRIVILEGES=function(p0,p1,p2)return _natives.invoke_bool(0x595F028698072DD9,p0,p1,p2);end,\n"\ +"NETWORK_CHECK_COMMUNICATION_PRIVILEGES=function(p0,p1,p2)return _natives.invoke_bool(0x83F28CE49FBBFFBA,p0,p1,p2);end,\n"\ +"NETWORK_CHECK_TEXT_COMMUNICATION_PRIVILEGES=function(p0,p1,p2)return _natives.invoke_bool(0x07EAB372C8841D99,p0,p1,p2);end,\n"\ +"NETWORK_IS_USING_ONLINE_PROMOTION=function()return _natives.invoke_bool(0x906CA41A4B74ECA4);end,\n"\ +"NETWORK_SHOULD_SHOW_PROMOTION_ALERT_SCREEN=function()return _natives.invoke_bool(0x023ACAB2DC9DC4A4);end,\n"\ +"NETWORK_HAS_SOCIAL_NETWORKING_SHARING_PRIV=function()return _natives.invoke_bool(0x76BF03FADBF154F5);end,\n"\ +"NETWORK_GET_AGE_GROUP=function()return _natives.invoke_int(0x9614B71F8ADB982B);end,\n"\ +"NETWORK_CHECK_PRIVILEGES=function(p0,p1,p2)return _natives.invoke_bool(0x0CF6CC51AA18F0F8,p0,p1,p2);end,\n"\ +"NETWORK_IS_PRIVILEGE_CHECK_IN_PROGRESS=function()return _natives.invoke_bool(0x64E5C4CC82847B73);end,\n"\ +"NETWORK_SET_PRIVILEGE_CHECK_RESULT_NOT_NEEDED=function()return _natives.invoke_void(0x1F7BC3539F9E0224);end,\n"\ +"NETWORK_RESOLVE_PRIVILEGE_USER_CONTENT=function()return _natives.invoke_bool(0xDE9225854F37BF72);end,\n"\ +"NETWORK_HAVE_PLATFORM_SUBSCRIPTION=function()return _natives.invoke_bool(0x5EA784D197556507);end,\n"\ +"NETWORK_IS_PLATFORM_SUBSCRIPTION_CHECK_PENDING=function()return _natives.invoke_bool(0xA8ACB6459542A8C8);end,\n"\ +"NETWORK_SHOW_ACCOUNT_UPGRADE_UI=function()return _natives.invoke_void(0x83FE8D7229593017);end,\n"\ +"NETWORK_IS_SHOWING_SYSTEM_UI_OR_RECENTLY_REQUESTED_UPSELL=function()return _natives.invoke_bool(0x7788DFE15016A182);end,\n"\ +"NETWORK_NEED_TO_START_NEW_GAME_BUT_BLOCKED=function()return _natives.invoke_bool(0x53C10C8BD774F2C9);end,\n"\ +"NETWORK_CAN_BAIL=function()return _natives.invoke_bool(0x580CE4438479CC61);end,\n"\ +"NETWORK_BAIL=function(p0,p1,p2)return _natives.invoke_void(0x95914459A87EBA28,p0,p1,p2);end,\n"\ +"NETWORK_ON_RETURN_TO_SINGLE_PLAYER=function()return _natives.invoke_void(0x283B6062A2C01E9B);end,\n"\ +"NETWORK_TRANSITION_START=function(p0,p1,p2,p3)return _natives.invoke_bool(0x8B4FFC790CA131EF,p0,p1,p2,p3);end,\n"\ +"NETWORK_TRANSITION_ADD_STAGE=function(hash,p1,p2,state,p4)return _natives.invoke_bool(0xC3BFED92026A2AAD,hash,p1,p2,state,p4);end,\n"\ +"NETWORK_TRANSITION_FINISH=function(p0,p1,p2)return _natives.invoke_bool(0x04918A41BC9B8157,p0,p1,p2);end,\n"\ +"NETWORK_CAN_ACCESS_MULTIPLAYER=function(loadingState)return _natives.invoke_bool(0xAF50DA1A3F8B1BA4,loadingState);end,\n"\ +"NETWORK_IS_MULTIPLAYER_DISABLED=function()return _natives.invoke_bool(0x9747292807126EDA);end,\n"\ +"NETWORK_CAN_ENTER_MULTIPLAYER=function()return _natives.invoke_bool(0x7E782A910C362C25);end,\n"\ +"NETWORK_SESSION_DO_FREEROAM_QUICKMATCH=function(p0,p1,p2,maxPlayers)return _natives.invoke_bool(0x330ED4D05491934F,p0,p1,p2,maxPlayers);end,\n"\ +"NETWORK_SESSION_DO_FRIEND_MATCHMAKING=function(p0,p1,maxPlayers)return _natives.invoke_bool(0x2CFC76E0D087C994,p0,p1,maxPlayers);end,\n"\ +"NETWORK_SESSION_DO_CREW_MATCHMAKING=function(crewId,p1,p2,maxPlayers)return _natives.invoke_bool(0x94BC51E9449D917F,crewId,p1,p2,maxPlayers);end,\n"\ +"NETWORK_SESSION_DO_ACTIVITY_QUICKMATCH=function(p0,p1,p2,p3,p4)return _natives.invoke_bool(0xBE3E347A87ACEB82,p0,p1,p2,p3,p4);end,\n"\ +"NETWORK_SESSION_HOST=function(p0,maxPlayers,p2)return _natives.invoke_bool(0x6F3D4ED9BEE4E61D,p0,maxPlayers,p2);end,\n"\ +"NETWORK_SESSION_HOST_CLOSED=function(p0,maxPlayers)return _natives.invoke_bool(0xED34C0C02C098BB7,p0,maxPlayers);end,\n"\ +"NETWORK_SESSION_HOST_FRIENDS_ONLY=function(p0,maxPlayers)return _natives.invoke_bool(0xB9CFD27A5D578D83,p0,maxPlayers);end,\n"\ +"NETWORK_SESSION_IS_CLOSED_FRIENDS=function()return _natives.invoke_bool(0xFBCFA2EA2E206890);end,\n"\ +"NETWORK_SESSION_IS_CLOSED_CREW=function()return _natives.invoke_bool(0x74732C6CA90DA2B4);end,\n"\ +"NETWORK_SESSION_IS_SOLO=function()return _natives.invoke_bool(0xF3929C2379B60CCE);end,\n"\ +"NETWORK_SESSION_IS_PRIVATE=function()return _natives.invoke_bool(0xCEF70AA5B3F89BA1);end,\n"\ +"NETWORK_SESSION_END=function(p0,p1)return _natives.invoke_bool(0xA02E59562D711006,p0,p1);end,\n"\ +"NETWORK_SESSION_LEAVE=function(p0)return _natives.invoke_bool(0xB9351A07A0D458B1,p0);end,\n"\ +"NETWORK_SESSION_KICK_PLAYER=function(player)return _natives.invoke_void(0xFA8904DC5F304220,player);end,\n"\ +"NETWORK_SESSION_GET_KICK_VOTE=function(player)return _natives.invoke_bool(0xD6D09A6F32F49EF1,player);end,\n"\ +"NETWORK_SESSION_RESERVE_SLOTS_TRANSITION=function(p0,p1,p2)return _natives.invoke_bool(0x041C7F2A6C9894E6,p0,p1,p2);end,\n"\ +"NETWORK_JOIN_PREVIOUSLY_FAILED_SESSION=function()return _natives.invoke_bool(0x59DF79317F85A7E0);end,\n"\ +"NETWORK_JOIN_PREVIOUSLY_FAILED_TRANSITION=function()return _natives.invoke_bool(0xFFE1E5B792D92B34);end,\n"\ +"NETWORK_SESSION_SET_MATCHMAKING_GROUP=function(matchmakingGroup)return _natives.invoke_void(0x49EC8030F5015F8B,matchmakingGroup);end,\n"\ +"NETWORK_SESSION_SET_MATCHMAKING_GROUP_MAX=function(playerType,playerCount)return _natives.invoke_void(0x8B6A4DD0AF9CE215,playerType,playerCount);end,\n"\ +"NETWORK_SESSION_GET_MATCHMAKING_GROUP_FREE=function(p0)return _natives.invoke_int(0x56CE820830EF040B,p0);end,\n"\ +"NETWORK_SESSION_ADD_ACTIVE_MATCHMAKING_GROUP=function(groupId)return _natives.invoke_void(0xCAE55F48D3D7875C,groupId);end,\n"\ +"NETWORK_SESSION_SET_UNIQUE_CREW_LIMIT=function(p0)return _natives.invoke_void(0xF49ABC20D8552257,p0);end,\n"\ +"NETWORK_SESSION_SET_UNIQUE_CREW_LIMIT_TRANSITION=function(p0)return _natives.invoke_void(0x4811BBAC21C5FCD5,p0);end,\n"\ +"NETWORK_SESSION_SET_UNIQUE_CREW_ONLY_CREWS_TRANSITION=function(p0)return _natives.invoke_void(0x5539C3EBF104A53A,p0);end,\n"\ +"NETWORK_SESSION_SET_CREW_LIMIT_MAX_MEMBERS_TRANSITION=function(p0)return _natives.invoke_void(0x702BC4D605522539,p0);end,\n"\ +"NETWORK_SESSION_SET_MATCHMAKING_PROPERTY_ID=function(p0)return _natives.invoke_void(0x3F52E880AAF6C8CA,p0);end,\n"\ +"NETWORK_SESSION_SET_MATCHMAKING_MENTAL_STATE=function(p0)return _natives.invoke_void(0xF1EEA2DDA9FFA69D,p0);end,\n"\ +"NETWORK_SESSION_SET_NUM_BOSSES=function(num)return _natives.invoke_void(0x59D421683D31835A,num);end,\n"\ +"NETWORK_SESSION_SET_SCRIPT_VALIDATE_JOIN=function()return _natives.invoke_void(0x1153FA02A659051C);end,\n"\ +"NETWORK_SESSION_VALIDATE_JOIN=function(p0)return _natives.invoke_void(0xC19F6C8E7865A6FF,p0);end,\n"\ +"NETWORK_ADD_FOLLOWERS=function(p0,p1)return _natives.invoke_void(0x236406F60CF216D6,p0,p1);end,\n"\ +"NETWORK_CLEAR_FOLLOWERS=function()return _natives.invoke_void(0x058F43EC59A8631A);end,\n"\ +"NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK=function(hours,minutes,seconds)return _natives.invoke_void(0x6D03BFBD643B2A02,hours,minutes,seconds);end,\n"\ +"NETWORK_SESSION_SET_GAMEMODE=function(p0)return _natives.invoke_void(0x600F8CB31C7AAB6E,p0);end,\n"\ +"NETWORK_SESSION_GET_HOST_AIM_PREFERENCE=function()return _natives.invoke_int(0xDFFA5BE8381C3314);end,\n"\ +"NETWORK_FIND_GAMERS_IN_CREW=function(crewId)return _natives.invoke_bool(0xE532D6811B3A4D2A,crewId);end,\n"\ +"NETWORK_FIND_MATCHED_GAMERS=function(attribute,fallbackLimit,lowerLimit,upperLimit)return _natives.invoke_bool(0xF7B2CFDE5C9F700D,attribute,fallbackLimit,lowerLimit,upperLimit);end,\n"\ +"NETWORK_IS_FINDING_GAMERS=function()return _natives.invoke_bool(0xDDDF64C91BFCF0AA);end,\n"\ +"NETWORK_DID_FIND_GAMERS_SUCCEED=function()return _natives.invoke_bool(0xF9B83B77929D8863);end,\n"\ +"NETWORK_GET_NUM_FOUND_GAMERS=function()return _natives.invoke_int(0xA1B043EE79A916FB);end,\n"\ +"NETWORK_GET_FOUND_GAMER=function(p0,p1)return _natives.invoke_bool(0x9DCFF2AFB68B3476,p0,p1);end,\n"\ +"NETWORK_CLEAR_FOUND_GAMERS=function()return _natives.invoke_void(0x6D14CCEE1B40381A);end,\n"\ +"NETWORK_QUEUE_GAMER_FOR_STATUS=function(p0)return _natives.invoke_bool(0x85A0EF54A500882C,p0);end,\n"\ +"NETWORK_GET_GAMER_STATUS_FROM_QUEUE=function()return _natives.invoke_bool(0x2CC848A861D01493);end,\n"\ +"NETWORK_IS_GETTING_GAMER_STATUS=function()return _natives.invoke_bool(0x94A8394D150B013A);end,\n"\ +"NETWORK_DID_GET_GAMER_STATUS_SUCCEED=function()return _natives.invoke_bool(0x5AE17C6B0134B7F1);end,\n"\ +"NETWORK_GET_GAMER_STATUS_RESULT=function(p0,p1)return _natives.invoke_bool(0x02A8BEC6FD9AF660,p0,p1);end,\n"\ +"NETWORK_CLEAR_GET_GAMER_STATUS=function()return _natives.invoke_void(0x86E0660E4F5C956D);end,\n"\ +"NETWORK_SESSION_JOIN_INVITE=function()return _natives.invoke_void(0xC6F8AB8A4189CF3A);end,\n"\ +"NETWORK_SESSION_CANCEL_INVITE=function()return _natives.invoke_void(0x2FBF47B1B36D36F9);end,\n"\ +"NETWORK_SESSION_FORCE_CANCEL_INVITE=function()return _natives.invoke_void(0xA29177F7703B5644);end,\n"\ +"NETWORK_HAS_PENDING_INVITE=function()return _natives.invoke_bool(0xAC8C7B9B88C4A668);end,\n"\ +"NETWORK_HAS_CONFIRMED_INVITE=function()return _natives.invoke_bool(0xC42DD763159F3461);end,\n"\ +"NETWORK_REQUEST_INVITE_CONFIRMED_EVENT=function()return _natives.invoke_bool(0x62A0296C1BB1CEB3);end,\n"\ +"NETWORK_SESSION_WAS_INVITED=function()return _natives.invoke_bool(0x23DFB504655D0CE4);end,\n"\ +"NETWORK_SESSION_GET_INVITER=function(gamerHandle)return _natives.invoke_void(0xE57397B4A3429DD0,gamerHandle);end,\n"\ +"NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE=function()return _natives.invoke_bool(0xD313DE83394AF134);end,\n"\ +"NETWORK_SESSION_IS_DISPLAYING_INVITE_CONFIRMATION=function()return _natives.invoke_bool(0xBDB6F89C729CF388);end,\n"\ +"NETWORK_SUPPRESS_INVITE=function(toggle)return _natives.invoke_void(0xA0682D67EF1FBA3D,toggle);end,\n"\ +"NETWORK_BLOCK_INVITES=function(toggle)return _natives.invoke_void(0x34F9E9049454A7A0,toggle);end,\n"\ +"NETWORK_BLOCK_JOIN_QUEUE_INVITES=function(toggle)return _natives.invoke_void(0xCFEB8AF24FC1D0BB,toggle);end,\n"\ +"NETWORK_SET_CAN_RECEIVE_RS_INVITES=function(p0)return _natives.invoke_void(0x68980414688F7F9D,p0);end,\n"\ +"NETWORK_STORE_INVITE_THROUGH_RESTART=function()return _natives.invoke_void(0xF814FEC6A19FD6E0);end,\n"\ +"NETWORK_ALLOW_INVITE_PROCESS_IN_PLAYER_SWITCH=function(p0)return _natives.invoke_void(0x6B07B9CE4D390375,p0);end,\n"\ +"NETWORK_SET_SCRIPT_READY_FOR_EVENTS=function(toggle)return _natives.invoke_void(0x7AC752103856FB20,toggle);end,\n"\ +"NETWORK_IS_OFFLINE_INVITE_PENDING=function()return _natives.invoke_bool(0x74698374C45701D2);end,\n"\ +"NETWORK_CLEAR_OFFLINE_INVITE_PENDING=function()return _natives.invoke_void(0x140E6A44870A11CE);end,\n"\ +"NETWORK_SESSION_HOST_SINGLE_PLAYER=function(p0)return _natives.invoke_void(0xC74C33FCA52856D5,p0);end,\n"\ +"NETWORK_SESSION_LEAVE_SINGLE_PLAYER=function()return _natives.invoke_void(0x3442775428FD2DAA);end,\n"\ +"NETWORK_IS_GAME_IN_PROGRESS=function()return _natives.invoke_bool(0x10FAB35428CCC9D7);end,\n"\ +"NETWORK_IS_SESSION_ACTIVE=function()return _natives.invoke_bool(0xD83C2B94E7508980);end,\n"\ +"NETWORK_IS_IN_SESSION=function()return _natives.invoke_bool(0xCA97246103B63917);end,\n"\ +"NETWORK_IS_SESSION_STARTED=function()return _natives.invoke_bool(0x9DE624D2FC4B603F);end,\n"\ +"NETWORK_IS_SESSION_BUSY=function()return _natives.invoke_bool(0xF4435D66A8E2905E);end,\n"\ +"NETWORK_CAN_SESSION_END=function()return _natives.invoke_bool(0x4EEBC3694E49C572);end,\n"\ +"NETWORK_GET_GAME_MODE=function()return _natives.invoke_int(0x4C9034162368E206);end,\n"\ +"NETWORK_SESSION_MARK_VISIBLE=function(toggle)return _natives.invoke_void(0x271CC6AB59EBF9A5,toggle);end,\n"\ +"NETWORK_SESSION_IS_VISIBLE=function()return _natives.invoke_bool(0xBA416D68C631496A);end,\n"\ +"NETWORK_SESSION_BLOCK_JOIN_REQUESTS=function(toggle)return _natives.invoke_void(0xA73667484D7037C3,toggle);end,\n"\ +"NETWORK_SESSION_CHANGE_SLOTS=function(slots,p1)return _natives.invoke_void(0xB4AB419E0D86ACAE,slots,p1);end,\n"\ +"NETWORK_SESSION_GET_PRIVATE_SLOTS=function()return _natives.invoke_int(0x53AFD64C6758F2F9);end,\n"\ +"NETWORK_SESSION_VOICE_HOST=function()return _natives.invoke_bool(0x9C1556705F864230);end,\n"\ +"NETWORK_SESSION_VOICE_LEAVE=function()return _natives.invoke_bool(0x6793E42BE02B575D);end,\n"\ +"NETWORK_SESSION_VOICE_CONNECT_TO_PLAYER=function(gamerHandle)return _natives.invoke_void(0xABD5E88B8A2D3DB2,gamerHandle);end,\n"\ +"NETWORK_SESSION_VOICE_RESPOND_TO_REQUEST=function(p0,p1)return _natives.invoke_void(0x7F8413B7FC2AA6B9,p0,p1);end,\n"\ +"NETWORK_SESSION_VOICE_SET_TIMEOUT=function(timeout)return _natives.invoke_void(0x5B8ED3DB018927B1,timeout);end,\n"\ +"NETWORK_SESSION_IS_IN_VOICE_SESSION=function()return _natives.invoke_bool(0x855BC38818F6F684);end,\n"\ +"NETWORK_SESSION_IS_VOICE_SESSION_ACTIVE=function()return _natives.invoke_bool(0xB5D3453C98456528);end,\n"\ +"NETWORK_SESSION_IS_VOICE_SESSION_BUSY=function()return _natives.invoke_bool(0xEF0912DDF7C4CB4B);end,\n"\ +"NETWORK_SEND_TEXT_MESSAGE=function(message,gamerHandle)return _natives.invoke_bool(0x3A214F2EC889B100,message,gamerHandle);end,\n"\ +"NETWORK_SET_ACTIVITY_SPECTATOR=function(toggle)return _natives.invoke_void(0x75138790B4359A74,toggle);end,\n"\ +"NETWORK_IS_ACTIVITY_SPECTATOR=function()return _natives.invoke_bool(0x12103B9E0C9F92FB);end,\n"\ +"NETWORK_SET_ACTIVITY_PLAYER_MAX=function(p0)return _natives.invoke_void(0x0E4F77F7B9D74D84,p0);end,\n"\ +"NETWORK_SET_ACTIVITY_SPECTATOR_MAX=function(maxSpectators)return _natives.invoke_void(0x9D277B76D1D12222,maxSpectators);end,\n"\ +"NETWORK_GET_ACTIVITY_PLAYER_NUM=function(p0)return _natives.invoke_int(0x73E2B500410DA5A2,p0);end,\n"\ +"NETWORK_IS_ACTIVITY_SPECTATOR_FROM_HANDLE=function(gamerHandle)return _natives.invoke_bool(0x2763BBAA72A7BCB9,gamerHandle);end,\n"\ +"NETWORK_HOST_TRANSITION=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9)return _natives.invoke_bool(0xA60BB5CE242BB254,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9);end,\n"\ +"NETWORK_DO_TRANSITION_QUICKMATCH=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_bool(0x71FB0EBCD4915D56,p0,p1,p2,p3,p4,p5);end,\n"\ +"NETWORK_DO_TRANSITION_QUICKMATCH_ASYNC=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_bool(0xA091A5E44F0072E5,p0,p1,p2,p3,p4,p5);end,\n"\ +"NETWORK_DO_TRANSITION_QUICKMATCH_WITH_GROUP=function(p0,p1,p2,p3,p4,p5,p6,p7)return _natives.invoke_bool(0x9C4AB58491FDC98A,p0,p1,p2,p3,p4,p5,p6,p7);end,\n"\ +"NETWORK_JOIN_GROUP_ACTIVITY=function()return _natives.invoke_bool(0xA06509A691D12BE4);end,\n"\ +"NETWORK_CLEAR_GROUP_ACTIVITY=function()return _natives.invoke_void(0x1888694923EF4591);end,\n"\ +"NETWORK_RETAIN_ACTIVITY_GROUP=function()return _natives.invoke_void(0xB13E88E655E5A3BC);end,\n"\ +"NETWORK_IS_TRANSITION_CLOSED_FRIENDS=function()return _natives.invoke_bool(0x6512765E3BE78C50);end,\n"\ +"NETWORK_IS_TRANSITION_CLOSED_CREW=function()return _natives.invoke_bool(0x0DBD5D7E3C5BEC3B);end,\n"\ +"NETWORK_IS_TRANSITION_SOLO=function()return _natives.invoke_bool(0x5DC577201723960A);end,\n"\ +"NETWORK_IS_TRANSITION_PRIVATE=function()return _natives.invoke_bool(0x5A6AA44FF8E931E6);end,\n"\ +"NETWORK_GET_NUM_TRANSITION_NON_ASYNC_GAMERS=function()return _natives.invoke_int(0x617F49C2668E6155);end,\n"\ +"NETWORK_MARK_AS_PREFERRED_ACTIVITY=function(p0)return _natives.invoke_void(0x261E97AD7BCF3D40,p0);end,\n"\ +"NETWORK_MARK_AS_WAITING_ASYNC=function(p0)return _natives.invoke_void(0x39917E1B4CB0F911,p0);end,\n"\ +"NETWORK_SET_IN_PROGRESS_FINISH_TIME=function(p0)return _natives.invoke_void(0x2CE9D95E4051AECD,p0);end,\n"\ +"NETWORK_SET_TRANSITION_CREATOR_HANDLE=function(p0)return _natives.invoke_void(0xEF26739BCD9907D5,p0);end,\n"\ +"NETWORK_CLEAR_TRANSITION_CREATOR_HANDLE=function()return _natives.invoke_void(0xFB3272229A82C759);end,\n"\ +"NETWORK_INVITE_GAMERS_TO_TRANSITION=function(p0,p1)return _natives.invoke_bool(0x4A595C32F77DFF76,p0,p1);end,\n"\ +"NETWORK_SET_GAMER_INVITED_TO_TRANSITION=function(gamerHandle)return _natives.invoke_void(0xCA2C8073411ECDB6,gamerHandle);end,\n"\ +"NETWORK_LEAVE_TRANSITION=function()return _natives.invoke_bool(0xD23A1A815D21DB19);end,\n"\ +"NETWORK_LAUNCH_TRANSITION=function()return _natives.invoke_bool(0x2DCF46CB1A4F0884);end,\n"\ +"NETWORK_SET_DO_NOT_LAUNCH_FROM_JOIN_AS_MIGRATED_HOST=function(toggle)return _natives.invoke_void(0xA2E9C1AB8A92E8CD,toggle);end,\n"\ +"NETWORK_CANCEL_TRANSITION_MATCHMAKING=function()return _natives.invoke_void(0x023782EFC70585EE);end,\n"\ +"NETWORK_BAIL_TRANSITION=function(p0,p1,p2)return _natives.invoke_void(0xEAA572036990CD1B,p0,p1,p2);end,\n"\ +"NETWORK_DO_TRANSITION_TO_GAME=function(p0,maxPlayers)return _natives.invoke_bool(0x3E9BB38102A589B0,p0,maxPlayers);end,\n"\ +"NETWORK_DO_TRANSITION_TO_NEW_GAME=function(p0,maxPlayers,p2)return _natives.invoke_bool(0x4665F51EFED00034,p0,maxPlayers,p2);end,\n"\ +"NETWORK_DO_TRANSITION_TO_FREEMODE=function(p0,p1,p2,players,p4)return _natives.invoke_bool(0x3AAD8B2FCA1E289F,p0,p1,p2,players,p4);end,\n"\ +"NETWORK_DO_TRANSITION_TO_NEW_FREEMODE=function(p0,p1,players,p3,p4,p5)return _natives.invoke_bool(0x9E80A5BA8109F974,p0,p1,players,p3,p4,p5);end,\n"\ +"NETWORK_IS_TRANSITION_TO_GAME=function()return _natives.invoke_bool(0x9D7696D8F4FA6CB7);end,\n"\ +"NETWORK_GET_TRANSITION_MEMBERS=function(data,dataCount)return _natives.invoke_int(0x73B000F7FBC55829,data,dataCount);end,\n"\ +"NETWORK_APPLY_TRANSITION_PARAMETER=function(p0,p1)return _natives.invoke_void(0x521638ADA1BA0D18,p0,p1);end,\n"\ +"NETWORK_APPLY_TRANSITION_PARAMETER_STRING=function(p0,string,p2)return _natives.invoke_void(0xEBEFC2E77084F599,p0,string,p2);end,\n"\ +"NETWORK_SEND_TRANSITION_GAMER_INSTRUCTION=function(gamerHandle,p1,p2,p3,p4)return _natives.invoke_bool(0x31D1D2B858D25E6B,gamerHandle,p1,p2,p3,p4);end,\n"\ +"NETWORK_MARK_TRANSITION_GAMER_AS_FULLY_JOINED=function(p0)return _natives.invoke_bool(0x5728BB6D63E3FF1D,p0);end,\n"\ +"NETWORK_IS_TRANSITION_HOST=function()return _natives.invoke_bool(0x0B824797C9BF2159);end,\n"\ +"NETWORK_IS_TRANSITION_HOST_FROM_HANDLE=function(gamerHandle)return _natives.invoke_bool(0x6B5C83BA3EFE6A10,gamerHandle);end,\n"\ +"NETWORK_GET_TRANSITION_HOST=function(gamerHandle)return _natives.invoke_bool(0x65042B9774C4435E,gamerHandle);end,\n"\ +"NETWORK_IS_IN_TRANSITION=function()return _natives.invoke_bool(0x68049AEFF83D8F0A);end,\n"\ +"NETWORK_IS_TRANSITION_STARTED=function()return _natives.invoke_bool(0x53FA83401D9C07FE);end,\n"\ +"NETWORK_IS_TRANSITION_BUSY=function()return _natives.invoke_bool(0x520F3282A53D26B7);end,\n"\ +"NETWORK_IS_TRANSITION_MATCHMAKING=function()return _natives.invoke_bool(0x292564C735375EDF);end,\n"\ +"NETWORK_IS_TRANSITION_LEAVE_POSTPONED=function()return _natives.invoke_bool(0xC571D0E77D8BBC29);end,\n"\ +"NETWORK_TRANSITION_SET_IN_PROGRESS=function(p0)return _natives.invoke_void(0x1398582B7F72B3ED,p0);end,\n"\ +"NETWORK_TRANSITION_SET_CONTENT_CREATOR=function(p0)return _natives.invoke_void(0x1F8E00FB18239600,p0);end,\n"\ +"NETWORK_TRANSITION_SET_ACTIVITY_ISLAND=function(p0)return _natives.invoke_void(0xF6F4383B7C92F11A,p0);end,\n"\ +"NETWORK_OPEN_TRANSITION_MATCHMAKING=function()return _natives.invoke_void(0x2B3A8F7CA3A38FDE);end,\n"\ +"NETWORK_CLOSE_TRANSITION_MATCHMAKING=function()return _natives.invoke_void(0x43F4DBA69710E01E);end,\n"\ +"NETWORK_IS_TRANSITION_OPEN_TO_MATCHMAKING=function()return _natives.invoke_bool(0x37A4494483B9F5C9);end,\n"\ +"NETWORK_SET_TRANSITION_VISIBILITY_LOCK=function(p0,p1)return _natives.invoke_void(0x0C978FDA19692C2C,p0,p1);end,\n"\ +"NETWORK_IS_TRANSITION_VISIBILITY_LOCKED=function()return _natives.invoke_bool(0xD0A484CB2F829FBE);end,\n"\ +"NETWORK_SET_TRANSITION_ACTIVITY_ID=function(p0)return _natives.invoke_void(0x30DE938B516F0AD2,p0);end,\n"\ +"NETWORK_CHANGE_TRANSITION_SLOTS=function(p0,p1)return _natives.invoke_void(0xEEEDA5E6D7080987,p0,p1);end,\n"\ +"NETWORK_TRANSITION_BLOCK_JOIN_REQUESTS=function(p0)return _natives.invoke_void(0x973D76AA760A6CB6,p0);end,\n"\ +"NETWORK_HAS_PLAYER_STARTED_TRANSITION=function(player)return _natives.invoke_bool(0x9AC9CCBFA8C29795,player);end,\n"\ +"NETWORK_ARE_TRANSITION_DETAILS_VALID=function(p0)return _natives.invoke_bool(0x2615AA2A695930C1,p0);end,\n"\ +"NETWORK_JOIN_TRANSITION=function(player)return _natives.invoke_bool(0x9D060B08CD63321A,player);end,\n"\ +"NETWORK_HAS_INVITED_GAMER_TO_TRANSITION=function(p0)return _natives.invoke_bool(0x7284A47B3540E6CF,p0);end,\n"\ +"NETWORK_HAS_TRANSITION_INVITE_BEEN_ACKED=function(p0)return _natives.invoke_bool(0x3F9990BF5F22759C,p0);end,\n"\ +"NETWORK_IS_ACTIVITY_SESSION=function()return _natives.invoke_bool(0x05095437424397FA);end,\n"\ +"NETWORK_DISABLE_REALTIME_MULTIPLAYER=function()return _natives.invoke_void(0x236905C700FDB54D);end,\n"\ +"NETWORK_SET_PRESENCE_SESSION_INVITES_BLOCKED=function(toggle)return _natives.invoke_void(0x4A9FDE3A5A6D0437,toggle);end,\n"\ +"NETWORK_SEND_INVITE_VIA_PRESENCE=function(gamerHandle,p1,dataCount,p3)return _natives.invoke_bool(0xC3C7A6AFDB244624,gamerHandle,p1,dataCount,p3);end,\n"\ +"NETWORK_SEND_TRANSITION_INVITE_VIA_PRESENCE=function(gamerHandle,p1,dataCount,p3)return _natives.invoke_bool(0xC116FF9B4D488291,gamerHandle,p1,dataCount,p3);end,\n"\ +"NETWORK_SEND_IMPORTANT_TRANSITION_INVITE_VIA_PRESENCE=function(gamerHandle,p1,dataCount,p3)return _natives.invoke_bool(0x1171A97A3D3981B6,gamerHandle,p1,dataCount,p3);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_INDEX_BY_ID=function(p0)return _natives.invoke_int(0x742B58F723233ED9,p0);end,\n"\ +"NETWORK_GET_NUM_PRESENCE_INVITES=function()return _natives.invoke_int(0xCEFA968912D0F78D);end,\n"\ +"NETWORK_ACCEPT_PRESENCE_INVITE=function(p0)return _natives.invoke_bool(0xFA91550DF9318B22,p0);end,\n"\ +"NETWORK_REMOVE_PRESENCE_INVITE=function(p0)return _natives.invoke_bool(0xF0210268DB0974B1,p0);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_ID=function(p0)return _natives.invoke_int(0xDFF09646E12EC386,p0);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_INVITER=function(p0)return _natives.invoke_str(0x4962CC4AA2F345B7,p0);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_HANDLE=function(p0,p1)return _natives.invoke_bool(0x38D5B0FEBB086F75,p0,p1);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_SESSION_ID=function(p0)return _natives.invoke_int(0x26E1CD96B0903D60,p0);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_CONTENT_ID=function(p0)return _natives.invoke_str(0x24409FC4C55CB22D,p0);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_PLAYLIST_LENGTH=function(p0)return _natives.invoke_int(0xD39B3FFF8FFDD5BF,p0);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_PLAYLIST_CURRENT=function(p0)return _natives.invoke_int(0x728C4CC7920CD102,p0);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_FROM_ADMIN=function(p0)return _natives.invoke_bool(0x3DBF2DF0AEB7D289,p0);end,\n"\ +"NETWORK_GET_PRESENCE_INVITE_IS_TOURNAMENT=function(p0)return _natives.invoke_bool(0x8806CEBFABD3CE05,p0);end,\n"\ +"NETWORK_HAS_FOLLOW_INVITE=function()return _natives.invoke_bool(0x76D9B976C4C09FDE);end,\n"\ +"NETWORK_ACTION_FOLLOW_INVITE=function()return _natives.invoke_bool(0xC88156EBB786F8D5);end,\n"\ +"NETWORK_CLEAR_FOLLOW_INVITE=function()return _natives.invoke_bool(0x439BFDE3CD0610F6);end,\n"\ +"NETWORK_REMOVE_AND_CANCEL_ALL_INVITES=function()return _natives.invoke_void(0xEBF8284D8CADEB53);end,\n"\ +"NETWORK_REMOVE_TRANSITION_INVITE=function(p0)return _natives.invoke_void(0x7524B431B2E6F7EE,p0);end,\n"\ +"NETWORK_REMOVE_ALL_TRANSITION_INVITE=function()return _natives.invoke_void(0x726E0375C7A26368);end,\n"\ +"NETWORK_REMOVE_AND_CANCEL_ALL_TRANSITION_INVITES=function()return _natives.invoke_void(0xF083835B70BA9BFE);end,\n"\ +"NETWORK_INVITE_GAMERS=function(p0,p1,p2,p3)return _natives.invoke_bool(0x9D80CD1D0E6327DE,p0,p1,p2,p3);end,\n"\ +"NETWORK_HAS_INVITED_GAMER=function(p0)return _natives.invoke_bool(0x4D86CD31E8976ECE,p0);end,\n"\ +"NETWORK_HAS_MADE_INVITE_DECISION=function(gamerHandle)return _natives.invoke_bool(0x71DC455F5CD1C2B1,gamerHandle);end,\n"\ +"NETWORK_GET_INVITE_REPLY_STATUS=function(p0)return _natives.invoke_int(0x3855FB5EB2C5E8B2,p0);end,\n"\ +"NETWORK_GET_CURRENTLY_SELECTED_GAMER_HANDLE_FROM_INVITE_MENU=function(p0)return _natives.invoke_bool(0x74881E6BCAE2327C,p0);end,\n"\ +"NETWORK_SET_CURRENTLY_SELECTED_GAMER_HANDLE_FROM_INVITE_MENU=function(p0)return _natives.invoke_bool(0x7206F674F2A3B1BB,p0);end,\n"\ +"NETWORK_SET_INVITE_ON_CALL_FOR_INVITE_MENU=function(p0)return _natives.invoke_void(0x66F010A4B031A331,p0);end,\n"\ +"NETWORK_CHECK_DATA_MANAGER_SUCCEEDED_FOR_HANDLE=function(p0,gamerHandle)return _natives.invoke_bool(0x44B37CDCAE765AAE,p0,gamerHandle);end,\n"\ +"NETWORK_CHECK_DATA_MANAGER_FOR_HANDLE=function(p0,gamerHandle)return _natives.invoke_bool(0x4AD490AE1536933B,p0,gamerHandle);end,\n"\ +"NETWORK_SET_INVITE_FAILED_MESSAGE_FOR_INVITE_MENU=function(p0,p1)return _natives.invoke_void(0x0D77A82DC2D0DA59,p0,p1);end,\n"\ +"FILLOUT_PM_PLAYER_LIST=function(gamerHandle,p1,p2)return _natives.invoke_bool(0xCBBD7C4991B64809,gamerHandle,p1,p2);end,\n"\ +"FILLOUT_PM_PLAYER_LIST_WITH_NAMES=function(p0,p1,p2,p3)return _natives.invoke_bool(0x716B6DB9D1886106,p0,p1,p2,p3);end,\n"\ +"REFRESH_PLAYER_LIST_STATS=function(p0)return _natives.invoke_bool(0xE26CCFF8094D8C74,p0);end,\n"\ +"NETWORK_SET_CURRENT_DATA_MANAGER_HANDLE=function(p0)return _natives.invoke_bool(0x796A87B3B68D1F3D,p0);end,\n"\ +"NETWORK_IS_IN_PLATFORM_PARTY=function()return _natives.invoke_bool(0x2FC5650B0271CB57);end,\n"\ +"NETWORK_GET_PLATFORM_PARTY_MEMBER_COUNT=function()return _natives.invoke_int(0x01ABCE5E7CBDA196);end,\n"\ +"NETWORK_GET_PLATFORM_PARTY_MEMBERS=function(data,dataSize)return _natives.invoke_int(0x120364DE2845DAF8,data,dataSize);end,\n"\ +"NETWORK_IS_IN_PLATFORM_PARTY_CHAT=function()return _natives.invoke_bool(0xFD8B834A8BA05048);end,\n"\ +"NETWORK_IS_CHATTING_IN_PLATFORM_PARTY=function(gamerHandle)return _natives.invoke_bool(0x8DE9945BCC9AEC52,gamerHandle);end,\n"\ +"NETWORK_CAN_QUEUE_FOR_PREVIOUS_SESSION_JOIN=function()return _natives.invoke_bool(0x2BF66D2E7414F686);end,\n"\ +"NETWORK_IS_QUEUING_FOR_SESSION_JOIN=function()return _natives.invoke_bool(0x14922ED3E38761F0);end,\n"\ +"NETWORK_CLEAR_QUEUED_JOIN_REQUEST=function()return _natives.invoke_void(0x6CE50E47F5543D0C);end,\n"\ +"NETWORK_SEND_QUEUED_JOIN_REQUEST=function()return _natives.invoke_void(0xFA2888E3833C8E96);end,\n"\ +"NETWORK_REMOVE_ALL_QUEUED_JOIN_REQUESTS=function()return _natives.invoke_void(0x25D990F8E0E3F13C);end,\n"\ +"NETWORK_SEED_RANDOM_NUMBER_GENERATOR=function(seed)return _natives.invoke_void(0xF1B84178F8674195,seed);end,\n"\ +"NETWORK_GET_RANDOM_INT=function()return _natives.invoke_int(0x599E4FA1F87EB5FF);end,\n"\ +"NETWORK_GET_RANDOM_INT_RANGED=function(rangeStart,rangeEnd)return _natives.invoke_int(0xE30CF56F1EFA5F43,rangeStart,rangeEnd);end,\n"\ +"_NETWORK_GET_RANDOM_FLOAT_RANGED=function(rangeStart,rangeEnd)return _natives.invoke_float(0x04BD27B5ACB67067,rangeStart,rangeEnd);end,\n"\ +"NETWORK_PLAYER_IS_CHEATER=function()return _natives.invoke_bool(0x655B91F1495A9090);end,\n"\ +"NETWORK_PLAYER_GET_CHEATER_REASON=function()return _natives.invoke_int(0x172F75B6EE2233BA);end,\n"\ +"NETWORK_PLAYER_IS_BADSPORT=function()return _natives.invoke_bool(0x19D8DA0E5A68045A);end,\n"\ +"TRIGGER_PLAYER_CRC_HACKER_CHECK=function(player,p1,scriptHash)return _natives.invoke_bool(0x46FB3ED415C7641C,player,p1,scriptHash);end,\n"\ +"TRIGGER_TUNING_CRC_HACKER_CHECK=function(player,p1,p2)return _natives.invoke_bool(0xA12D3A5A3753CC23,player,p1,p2);end,\n"\ +"TRIGGER_FILE_CRC_HACKER_CHECK=function(player,p1)return _natives.invoke_bool(0xF287F506767CC8A9,player,p1);end,\n"\ +"REMOTE_CHEATER_PLAYER_DETECTED=function(player,a,b)return _natives.invoke_bool(0x472841A026D26D8B,player,a,b);end,\n"\ +"BAD_SPORT_PLAYER_LEFT_DETECTED=function(gamerHandle,event,amountReceived)return _natives.invoke_bool(0xEC5E3AF5289DCA81,gamerHandle,event,amountReceived);end,\n"\ +"NETWORK_ADD_INVALID_OBJECT_MODEL=function(modelHash)return _natives.invoke_void(0x7F562DBC212E81F9,modelHash);end,\n"\ +"NETWORK_REMOVE_INVALID_OBJECT_MODEL=function(modelHash)return _natives.invoke_void(0x791EDB5803B2F468,modelHash);end,\n"\ +"NETWORK_CLEAR_INVALID_OBJECT_MODELS=function()return _natives.invoke_void(0x03B2F03A53D85E41);end,\n"\ +"NETWORK_APPLY_PED_SCAR_DATA=function(ped,p1)return _natives.invoke_void(0xE66C690248F11150,ped,p1);end,\n"\ +"NETWORK_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT=function(maxNumMissionParticipants,p1,instanceId)return _natives.invoke_void(0x1CA59E306ECB80A5,maxNumMissionParticipants,p1,instanceId);end,\n"\ +"NETWORK_TRY_TO_SET_THIS_SCRIPT_IS_NETWORK_SCRIPT=function(p0,p1,p2)return _natives.invoke_bool(0xD1110739EEADB592,p0,p1,p2);end,\n"\ +"NETWORK_GET_THIS_SCRIPT_IS_NETWORK_SCRIPT=function()return _natives.invoke_bool(0x2910669969E9535E);end,\n"\ +"NETWORK_GET_MAX_NUM_PARTICIPANTS=function()return _natives.invoke_int(0xA6C90FBC38E395EE);end,\n"\ +"NETWORK_GET_NUM_PARTICIPANTS=function()return _natives.invoke_int(0x18D0456E86604654);end,\n"\ +"NETWORK_GET_SCRIPT_STATUS=function()return _natives.invoke_int(0x57D158647A6BFABF);end,\n"\ +"NETWORK_REGISTER_HOST_BROADCAST_VARIABLES=function(vars,numVars,debugName)return _natives.invoke_void(0x3E9B2F01C50DF595,vars,numVars,debugName);end,\n"\ +"NETWORK_REGISTER_PLAYER_BROADCAST_VARIABLES=function(vars,numVars,debugName)return _natives.invoke_void(0x3364AA97340CA215,vars,numVars,debugName);end,\n"\ +"NETWORK_REGISTER_HIGH_FREQUENCY_HOST_BROADCAST_VARIABLES=function(p0,p1,p2)return _natives.invoke_void(0xEA8C0DDB10E2822A,p0,p1,p2);end,\n"\ +"NETWORK_REGISTER_HIGH_FREQUENCY_PLAYER_BROADCAST_VARIABLES=function(p0,p1,p2)return _natives.invoke_void(0xD6D7478CA62B8D41,p0,p1,p2);end,\n"\ +"NETWORK_FINISH_BROADCASTING_DATA=function()return _natives.invoke_void(0x64F62AFB081E260D);end,\n"\ +"NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA=function()return _natives.invoke_bool(0x5D10B3795F3FC886);end,\n"\ +"NETWORK_GET_PLAYER_INDEX=function(player)return _natives.invoke_int(0x24FB80D107371267,player);end,\n"\ +"NETWORK_GET_PARTICIPANT_INDEX=function(index)return _natives.invoke_int(0x1B84DF6AF2A46938,index);end,\n"\ +"NETWORK_GET_PLAYER_INDEX_FROM_PED=function(ped)return _natives.invoke_int(0x6C0E2E0125610278,ped);end,\n"\ +"NETWORK_GET_NUM_CONNECTED_PLAYERS=function()return _natives.invoke_int(0xA4A79DD2D9600654);end,\n"\ +"NETWORK_IS_PLAYER_CONNECTED=function(player)return _natives.invoke_bool(0x93DC1BE4E1ABE9D1,player);end,\n"\ +"NETWORK_GET_TOTAL_NUM_PLAYERS=function()return _natives.invoke_int(0xCF61D4B4702EE9EB);end,\n"\ +"NETWORK_IS_PARTICIPANT_ACTIVE=function(p0)return _natives.invoke_bool(0x6FF8FF40B6357D45,p0);end,\n"\ +"NETWORK_IS_PLAYER_ACTIVE=function(player)return _natives.invoke_bool(0xB8DFD30D6973E135,player);end,\n"\ +"NETWORK_IS_PLAYER_A_PARTICIPANT=function(player)return _natives.invoke_bool(0x3CA58F6CB7CBD784,player);end,\n"\ +"NETWORK_IS_HOST_OF_THIS_SCRIPT=function()return _natives.invoke_bool(0x83CD99A1E6061AB5);end,\n"\ +"NETWORK_GET_HOST_OF_THIS_SCRIPT=function()return _natives.invoke_int(0xC7B4D79B01FA7A5C);end,\n"\ +"NETWORK_GET_HOST_OF_SCRIPT=function(scriptName,instance_id,position_hash)return _natives.invoke_int(0x1D6A14F1F9A736FC,scriptName,instance_id,position_hash);end,\n"\ +"NETWORK_SET_MISSION_FINISHED=function()return _natives.invoke_void(0x3B3D11CD9FFCDFC9);end,\n"\ +"NETWORK_IS_SCRIPT_ACTIVE=function(scriptName,instance_id,p2,position_hash)return _natives.invoke_bool(0x9D40DF90FAD26098,scriptName,instance_id,p2,position_hash);end,\n"\ +"NETWORK_IS_SCRIPT_ACTIVE_BY_HASH=function(scriptHash,p1,p2,p3)return _natives.invoke_bool(0xDA7DE67F5FE5EE13,scriptHash,p1,p2,p3);end,\n"\ +"NETWORK_IS_THREAD_A_NETWORK_SCRIPT=function(threadId)return _natives.invoke_bool(0x560B423D73015E77,threadId);end,\n"\ +"NETWORK_GET_NUM_SCRIPT_PARTICIPANTS=function(scriptName,instance_id,position_hash)return _natives.invoke_int(0x3658E8CD94FC121A,scriptName,instance_id,position_hash);end,\n"\ +"NETWORK_GET_INSTANCE_ID_OF_THIS_SCRIPT=function()return _natives.invoke_int(0x638A3A81733086DB);end,\n"\ +"NETWORK_GET_POSITION_HASH_OF_THIS_SCRIPT=function()return _natives.invoke_int(0x257ED0FADF750BCF);end,\n"\ +"NETWORK_IS_PLAYER_A_PARTICIPANT_ON_SCRIPT=function(player,script,instance_id)return _natives.invoke_bool(0x1AD5B71586B94820,player,script,instance_id);end,\n"\ +"NETWORK_PREVENT_SCRIPT_HOST_MIGRATION=function()return _natives.invoke_void(0x2302C0264EA58D31);end,\n"\ +"NETWORK_REQUEST_TO_BE_HOST_OF_THIS_SCRIPT=function()return _natives.invoke_void(0x741A3D8380319A81);end,\n"\ +"PARTICIPANT_ID=function()return _natives.invoke_int(0x90986E8876CE0A83);end,\n"\ +"PARTICIPANT_ID_TO_INT=function()return _natives.invoke_int(0x57A3BDDAD8E5AA0A);end,\n"\ +"NETWORK_GET_KILLER_OF_PLAYER=function(player,weaponHash)return _natives.invoke_int(0x2DA41ED6E1FCD7A5,player,weaponHash);end,\n"\ +"NETWORK_GET_DESTROYER_OF_NETWORK_ID=function(netId,weaponHash)return _natives.invoke_int(0x7A1ADEEF01740A24,netId,weaponHash);end,\n"\ +"NETWORK_GET_DESTROYER_OF_ENTITY=function(entity,weaponHash)return _natives.invoke_int(0xC434133D9BA52777,entity,weaponHash);end,\n"\ +"NETWORK_GET_ASSISTED_KILL_OF_ENTITY=function(player,entity,p2)return _natives.invoke_bool(0x83660B734994124D,player,entity,p2);end,\n"\ +"NETWORK_GET_ASSISTED_DAMAGE_OF_ENTITY=function(player,entity,p2)return _natives.invoke_bool(0x4CACA84440FA26F6,player,entity,p2);end,\n"\ +"NETWORK_GET_ENTITY_KILLER_OF_PLAYER=function(player,weaponHash)return _natives.invoke_int(0x42B2DAA6B596F5F8,player,weaponHash);end,\n"\ +"NETWORK_SET_CURRENT_PUBLIC_CONTENT_ID=function(missionId)return _natives.invoke_void(0x2C863ACDCD12B3DB,missionId);end,\n"\ +"NETWORK_SET_CURRENT_CHAT_OPTION=function(newChatOption)return _natives.invoke_void(0x3DAD00265FBF356B,newChatOption);end,\n"\ +"NETWORK_SET_CURRENT_SPAWN_LOCATION_OPTION=function(mpSettingSpawn)return _natives.invoke_void(0xAA6D5451DC3448B6,mpSettingSpawn);end,\n"\ +"NETWORK_SET_VEHICLE_DRIVEN_IN_TEST_DRIVE=function(toggle)return _natives.invoke_void(0x8C70252FC40F320B,toggle);end,\n"\ +"NETWORK_RESURRECT_LOCAL_PLAYER=function(x,y,z,heading,p4,changetime,p6,p7,p8)return _natives.invoke_void(0xEA23C49EAA83ACFB,x,y,z,heading,p4,changetime,p6,p7,p8);end,\n"\ +"NETWORK_SET_LOCAL_PLAYER_INVINCIBLE_TIME=function(time)return _natives.invoke_void(0x2D95C7E2D7E07307,time);end,\n"\ +"NETWORK_IS_LOCAL_PLAYER_INVINCIBLE=function()return _natives.invoke_bool(0x8A8694B48715B000);end,\n"\ +"NETWORK_DISABLE_INVINCIBLE_FLASHING=function(player,toggle)return _natives.invoke_void(0x9DD368BF06983221,player,toggle);end,\n"\ +"NETWORK_PATCH_POST_CUTSCENE_HS4F_TUN_ENT=function(ped)return _natives.invoke_void(0xF0BC9BCD24A511D5,ped);end,\n"\ +"NETWORK_SET_LOCAL_PLAYER_SYNC_LOOK_AT=function(toggle)return _natives.invoke_void(0x524FF0AEFF9C3973,toggle);end,\n"\ +"NETWORK_HAS_ENTITY_BEEN_REGISTERED_WITH_THIS_THREAD=function(entity)return _natives.invoke_bool(0xB07D3185E11657A5,entity);end,\n"\ +"NETWORK_GET_NETWORK_ID_FROM_ENTITY=function(entity)return _natives.invoke_int(0xA11700682F3AD45C,entity);end,\n"\ +"NETWORK_GET_ENTITY_FROM_NETWORK_ID=function(netId)return _natives.invoke_int(0xCE4E5D9B0A4FF560,netId);end,\n"\ +"NETWORK_GET_ENTITY_IS_NETWORKED=function(entity)return _natives.invoke_bool(0xC7827959479DCC78,entity);end,\n"\ +"NETWORK_GET_ENTITY_IS_LOCAL=function(entity)return _natives.invoke_bool(0x0991549DE4D64762,entity);end,\n"\ +"NETWORK_REGISTER_ENTITY_AS_NETWORKED=function(entity)return _natives.invoke_void(0x06FAACD625D80CAA,entity);end,\n"\ +"NETWORK_UNREGISTER_NETWORKED_ENTITY=function(entity)return _natives.invoke_void(0x7368E683BB9038D6,entity);end,\n"\ +"NETWORK_DOES_NETWORK_ID_EXIST=function(netId)return _natives.invoke_bool(0x38CE16C96BD11344,netId);end,\n"\ +"NETWORK_DOES_ENTITY_EXIST_WITH_NETWORK_ID=function(netId)return _natives.invoke_bool(0x18A47D074708FD68,netId);end,\n"\ +"NETWORK_REQUEST_CONTROL_OF_NETWORK_ID=function(netId)return _natives.invoke_bool(0xA670B3662FAFFBD0,netId);end,\n"\ +"NETWORK_HAS_CONTROL_OF_NETWORK_ID=function(netId)return _natives.invoke_bool(0x4D36070FE0215186,netId);end,\n"\ +"NETWORK_IS_NETWORK_ID_REMOTELY_CONTROLLED=function(netId)return _natives.invoke_bool(0x7242F8B741CE1086,netId);end,\n"\ +"NETWORK_REQUEST_CONTROL_OF_ENTITY=function(entity)return _natives.invoke_bool(0xB69317BF5E782347,entity);end,\n"\ +"NETWORK_REQUEST_CONTROL_OF_DOOR=function(doorID)return _natives.invoke_bool(0x870DDFD5A4A796E4,doorID);end,\n"\ +"NETWORK_HAS_CONTROL_OF_ENTITY=function(entity)return _natives.invoke_bool(0x01BF60A500E28887,entity);end,\n"\ +"NETWORK_HAS_CONTROL_OF_PICKUP=function(pickup)return _natives.invoke_bool(0x5BC9495F0B3B6FA6,pickup);end,\n"\ +"NETWORK_HAS_CONTROL_OF_DOOR=function(doorHash)return _natives.invoke_bool(0xCB3C68ADB06195DF,doorHash);end,\n"\ +"NETWORK_IS_DOOR_NETWORKED=function(doorHash)return _natives.invoke_bool(0xC01E93FAC20C3346,doorHash);end,\n"\ +"VEH_TO_NET=function(vehicle)return _natives.invoke_int(0xB4C94523F023419C,vehicle);end,\n"\ +"PED_TO_NET=function(ped)return _natives.invoke_int(0x0EDEC3C276198689,ped);end,\n"\ +"OBJ_TO_NET=function(object)return _natives.invoke_int(0x99BFDC94A603E541,object);end,\n"\ +"NET_TO_VEH=function(netHandle)return _natives.invoke_int(0x367B936610BA360C,netHandle);end,\n"\ +"NET_TO_PED=function(netHandle)return _natives.invoke_int(0xBDCD95FC216A8B3E,netHandle);end,\n"\ +"NET_TO_OBJ=function(netHandle)return _natives.invoke_int(0xD8515F5FEA14CB3F,netHandle);end,\n"\ +"NET_TO_ENT=function(netHandle)return _natives.invoke_int(0xBFFEAB45A9A9094A,netHandle);end,\n"\ +"NETWORK_GET_LOCAL_HANDLE=function(gamerHandle,gamerHandleSize)return _natives.invoke_void(0xE86051786B66CD8E,gamerHandle,gamerHandleSize);end,\n"\ +"NETWORK_HANDLE_FROM_USER_ID=function(userId,gamerHandle,gamerHandleSize)return _natives.invoke_void(0xDCD51DD8F87AEC5C,userId,gamerHandle,gamerHandleSize);end,\n"\ +"NETWORK_HANDLE_FROM_MEMBER_ID=function(memberId,gamerHandle,gamerHandleSize)return _natives.invoke_void(0xA0FD21BED61E5C4C,memberId,gamerHandle,gamerHandleSize);end,\n"\ +"NETWORK_HANDLE_FROM_PLAYER=function(player,gamerHandle,gamerHandleSize)return _natives.invoke_void(0x388EB2B86C73B6B3,player,gamerHandle,gamerHandleSize);end,\n"\ +"NETWORK_HASH_FROM_PLAYER_HANDLE=function(player)return _natives.invoke_int(0xBC1D768F2F5D6C05,player);end,\n"\ +"NETWORK_HASH_FROM_GAMER_HANDLE=function(gamerHandle)return _natives.invoke_int(0x58575AC3CF2CA8EC,gamerHandle);end,\n"\ +"NETWORK_HANDLE_FROM_FRIEND=function(friendIndex,gamerHandle,gamerHandleSize)return _natives.invoke_void(0xD45CB817D7E177D2,friendIndex,gamerHandle,gamerHandleSize);end,\n"\ +"NETWORK_GAMERTAG_FROM_HANDLE_START=function(gamerHandle)return _natives.invoke_bool(0x9F0C0A981D73FA56,gamerHandle);end,\n"\ +"NETWORK_GAMERTAG_FROM_HANDLE_PENDING=function()return _natives.invoke_bool(0xB071E27958EF4CF0);end,\n"\ +"NETWORK_GAMERTAG_FROM_HANDLE_SUCCEEDED=function()return _natives.invoke_bool(0xFD00798DBA7523DD);end,\n"\ +"NETWORK_GET_GAMERTAG_FROM_HANDLE=function(gamerHandle)return _natives.invoke_str(0x426141162EBE5CDB,gamerHandle);end,\n"\ +"NETWORK_DISPLAYNAMES_FROM_HANDLES_START=function(p0,p1)return _natives.invoke_int(0xD66C9E72B3CC4982,p0,p1);end,\n"\ +"NETWORK_GET_DISPLAYNAMES_FROM_HANDLES=function(p0,p1,p2)return _natives.invoke_int(0x58CC181719256197,p0,p1,p2);end,\n"\ +"NETWORK_ARE_HANDLES_THE_SAME=function(gamerHandle1,gamerHandle2)return _natives.invoke_bool(0x57DBA049E110F217,gamerHandle1,gamerHandle2);end,\n"\ +"NETWORK_IS_HANDLE_VALID=function(gamerHandle,gamerHandleSize)return _natives.invoke_bool(0x6F79B93B0A8E4133,gamerHandle,gamerHandleSize);end,\n"\ +"NETWORK_GET_PLAYER_FROM_GAMER_HANDLE=function(gamerHandle)return _natives.invoke_int(0xCE5F689CF5A0A49D,gamerHandle);end,\n"\ +"NETWORK_MEMBER_ID_FROM_GAMER_HANDLE=function(gamerHandle)return _natives.invoke_str(0xC82630132081BB6F,gamerHandle);end,\n"\ +"NETWORK_IS_GAMER_IN_MY_SESSION=function(gamerHandle)return _natives.invoke_bool(0x0F10B05DDF8D16E9,gamerHandle);end,\n"\ +"NETWORK_SHOW_PROFILE_UI=function(gamerHandle)return _natives.invoke_void(0x859ED1CEA343FCA8,gamerHandle);end,\n"\ +"NETWORK_PLAYER_GET_NAME=function(player)return _natives.invoke_str(0x7718D2E2060837D2,player);end,\n"\ +"NETWORK_PLAYER_GET_USERID=function(player,userID)return _natives.invoke_str(0x4927FC39CD0869A0,player,userID);end,\n"\ +"NETWORK_PLAYER_IS_ROCKSTAR_DEV=function(player)return _natives.invoke_bool(0x544ABDDA3B409B6D,player);end,\n"\ +"NETWORK_PLAYER_INDEX_IS_CHEATER=function(player)return _natives.invoke_bool(0x565E430DB3B05BEC,player);end,\n"\ +"NETWORK_ENTITY_GET_OBJECT_ID=function(entity)return _natives.invoke_int(0x815F18AD865F057F,entity);end,\n"\ +"NETWORK_GET_ENTITY_FROM_OBJECT_ID=function(p0)return _natives.invoke_int(0x37D5F739FD494675,p0);end,\n"\ +"NETWORK_IS_INACTIVE_PROFILE=function(p0)return _natives.invoke_bool(0x7E58745504313A2E,p0);end,\n"\ +"NETWORK_GET_MAX_FRIENDS=function()return _natives.invoke_int(0xAFEBB0D5D8F687D2);end,\n"\ +"NETWORK_GET_FRIEND_COUNT=function()return _natives.invoke_int(0x203F1CFD823B27A4);end,\n"\ +"NETWORK_GET_FRIEND_NAME=function(friendIndex)return _natives.invoke_str(0xE11EBBB2A783FE8B,friendIndex);end,\n"\ +"NETWORK_GET_FRIEND_DISPLAY_NAME=function(friendIndex)return _natives.invoke_str(0x4164F227D052E293,friendIndex);end,\n"\ +"NETWORK_IS_FRIEND_ONLINE=function(name)return _natives.invoke_bool(0x425A44533437B64D,name);end,\n"\ +"NETWORK_IS_FRIEND_HANDLE_ONLINE=function(gamerHandle)return _natives.invoke_bool(0x87EB7A3FFCB314DB,gamerHandle);end,\n"\ +"NETWORK_IS_FRIEND_IN_SAME_TITLE=function(friendName)return _natives.invoke_bool(0x2EA9A3BEDF3F17B8,friendName);end,\n"\ +"NETWORK_IS_FRIEND_IN_MULTIPLAYER=function(friendName)return _natives.invoke_bool(0x57005C18827F3A28,friendName);end,\n"\ +"NETWORK_IS_FRIEND=function(gamerHandle)return _natives.invoke_bool(0x1A24A179F9B31654,gamerHandle);end,\n"\ +"NETWORK_IS_PENDING_FRIEND=function(p0)return _natives.invoke_bool(0x0BE73DA6984A6E33,p0);end,\n"\ +"NETWORK_IS_ADDING_FRIEND=function()return _natives.invoke_bool(0x6EA101606F6E4D81);end,\n"\ +"NETWORK_ADD_FRIEND=function(gamerHandle,message)return _natives.invoke_bool(0x8E02D73914064223,gamerHandle,message);end,\n"\ +"NETWORK_IS_FRIEND_INDEX_ONLINE=function(friendIndex)return _natives.invoke_bool(0xBAD8F2A42B844821,friendIndex);end,\n"\ +"NETWORK_SET_PLAYER_IS_PASSIVE=function(toggle)return _natives.invoke_void(0x1B857666604B1A74,toggle);end,\n"\ +"NETWORK_GET_PLAYER_OWNS_WAYPOINT=function(player)return _natives.invoke_bool(0x82377B65E943F72D,player);end,\n"\ +"NETWORK_CAN_SET_WAYPOINT=function()return _natives.invoke_bool(0xC927EC229934AF60);end,\n"\ +"NETWORK_IGNORE_REMOTE_WAYPOINTS=function()return _natives.invoke_void(0x4C2A9FDC22377075);end,\n"\ +"NETWORK_IS_PLAYER_ON_BLOCKLIST=function(gamerHandle)return _natives.invoke_bool(0xAD4326FCA30D62F8,gamerHandle);end,\n"\ +"NETWORK_SET_SCRIPT_AUTOMUTED=function(p0)return _natives.invoke_bool(0xB309EBEA797E001F,p0);end,\n"\ +"NETWORK_HAS_AUTOMUTE_OVERRIDE=function()return _natives.invoke_bool(0x26F07DD83A5F7F98);end,\n"\ +"NETWORK_HAS_HEADSET=function()return _natives.invoke_bool(0xE870F9F1F7B4F1FA);end,\n"\ +"NETWORK_SET_LOOK_AT_TALKERS=function(p0)return _natives.invoke_void(0x7D395EA61622E116,p0);end,\n"\ +"NETWORK_IS_PUSH_TO_TALK_ACTIVE=function()return _natives.invoke_bool(0xC0D2AF00BCC234CA);end,\n"\ +"NETWORK_GAMER_HAS_HEADSET=function(gamerHandle)return _natives.invoke_bool(0xF2FD55CB574BCC55,gamerHandle);end,\n"\ +"NETWORK_IS_GAMER_TALKING=function(gamerHandle)return _natives.invoke_bool(0x71C33B22606CD88A,gamerHandle);end,\n"\ +"NETWORK_PERMISSIONS_HAS_GAMER_RECORD=function(gamerHandle)return _natives.invoke_bool(0x559EBF901A8C68E0,gamerHandle);end,\n"\ +"NETWORK_CAN_COMMUNICATE_WITH_GAMER=function(gamerHandle)return _natives.invoke_bool(0x8F5D1AD832AEB06C,gamerHandle);end,\n"\ +"NETWORK_CAN_TEXT_CHAT_WITH_GAMER=function(gamerHandle)return _natives.invoke_bool(0xA150A4F065806B1F,gamerHandle);end,\n"\ +"NETWORK_IS_GAMER_MUTED_BY_ME=function(gamerHandle)return _natives.invoke_bool(0xCE60DE011B6C7978,gamerHandle);end,\n"\ +"NETWORK_AM_I_MUTED_BY_GAMER=function(gamerHandle)return _natives.invoke_bool(0xDF02A2C93F1F26DA,gamerHandle);end,\n"\ +"NETWORK_IS_GAMER_BLOCKED_BY_ME=function(gamerHandle)return _natives.invoke_bool(0xE944C4F5AF1B5883,gamerHandle);end,\n"\ +"NETWORK_AM_I_BLOCKED_BY_GAMER=function(gamerHandle)return _natives.invoke_bool(0x15337C7C268A27B2,gamerHandle);end,\n"\ +"NETWORK_CAN_VIEW_GAMER_USER_CONTENT=function(gamerHandle)return _natives.invoke_bool(0xB57A49545BA53CE7,gamerHandle);end,\n"\ +"NETWORK_HAS_VIEW_GAMER_USER_CONTENT_RESULT=function(gamerHandle)return _natives.invoke_bool(0xCCA4318E1AB03F1F,gamerHandle);end,\n"\ +"NETWORK_CAN_PLAY_MULTIPLAYER_WITH_GAMER=function(gamerHandle)return _natives.invoke_bool(0x07DD29D5E22763F1,gamerHandle);end,\n"\ +"NETWORK_CAN_GAMER_PLAY_MULTIPLAYER_WITH_ME=function(gamerHandle)return _natives.invoke_bool(0x135F9B7B7ADD2185,gamerHandle);end,\n"\ +"NETWORK_CAN_SEND_LOCAL_INVITE=function(gamerHandle)return _natives.invoke_bool(0x021ABCBD98EC4320,gamerHandle);end,\n"\ +"NETWORK_CAN_RECEIVE_LOCAL_INVITE=function(gamerHandle)return _natives.invoke_bool(0x421E34C55F125964,gamerHandle);end,\n"\ +"NETWORK_IS_PLAYER_TALKING=function(player)return _natives.invoke_bool(0x031E11F3D447647E,player);end,\n"\ +"NETWORK_PLAYER_HAS_HEADSET=function(player)return _natives.invoke_bool(0x3FB99A8B08D18FD6,player);end,\n"\ +"NETWORK_IS_PLAYER_MUTED_BY_ME=function(player)return _natives.invoke_bool(0x8C71288AE68EDE39,player);end,\n"\ +"NETWORK_AM_I_MUTED_BY_PLAYER=function(player)return _natives.invoke_bool(0x9D6981DFC91A8604,player);end,\n"\ +"NETWORK_IS_PLAYER_BLOCKED_BY_ME=function(player)return _natives.invoke_bool(0x57AF1F8E27483721,player);end,\n"\ +"NETWORK_AM_I_BLOCKED_BY_PLAYER=function(player)return _natives.invoke_bool(0x87F395D957D4353D,player);end,\n"\ +"NETWORK_GET_PLAYER_LOUDNESS=function(player)return _natives.invoke_float(0x21A1684A25C2867F,player);end,\n"\ +"NETWORK_SET_TALKER_PROXIMITY=function(value)return _natives.invoke_void(0xCBF12D65F95AD686,value);end,\n"\ +"NETWORK_GET_TALKER_PROXIMITY=function()return _natives.invoke_float(0x84F0F13120B4E098);end,\n"\ +"NETWORK_SET_VOICE_ACTIVE=function(toggle)return _natives.invoke_void(0xBABEC9E69A91C57B,toggle);end,\n"\ +"NETWORK_REMAIN_IN_GAME_CHAT=function(p0)return _natives.invoke_void(0xCFEB46DCD7D8D5EB,p0);end,\n"\ +"NETWORK_OVERRIDE_TRANSITION_CHAT=function(p0)return _natives.invoke_void(0xAF66059A131AA269,p0);end,\n"\ +"NETWORK_SET_TEAM_ONLY_CHAT=function(toggle)return _natives.invoke_void(0xD5B4883AC32F24C3,toggle);end,\n"\ +"NETWORK_SET_SCRIPT_CONTROLLING_TEAMS=function(p0)return _natives.invoke_void(0x265559DA40B3F327,p0);end,\n"\ +"NETWORK_SET_SAME_TEAM_AS_LOCAL_PLAYER=function(p0,p1)return _natives.invoke_bool(0x4348BFDA56023A2F,p0,p1);end,\n"\ +"NETWORK_OVERRIDE_TEAM_RESTRICTIONS=function(team,toggle)return _natives.invoke_void(0x6F697A66CE78674E,team,toggle);end,\n"\ +"NETWORK_SET_OVERRIDE_SPECTATOR_MODE=function(toggle)return _natives.invoke_void(0x70DA3BF8DACD3210,toggle);end,\n"\ +"NETWORK_SET_OVERRIDE_TUTORIAL_SESSION_CHAT=function(toggle)return _natives.invoke_void(0x3C5C1E2C2FF814B1,toggle);end,\n"\ +"NETWORK_SET_PROXIMITY_AFFECTS_TEAM=function(toggle)return _natives.invoke_void(0x9D7AFCBF21C51712,toggle);end,\n"\ +"NETWORK_SET_NO_SPECTATOR_CHAT=function(toggle)return _natives.invoke_void(0xF46A1E03E8755980,toggle);end,\n"\ +"NETWORK_SET_IGNORE_SPECTATOR_CHAT_LIMITS_SAME_TEAM=function(toggle)return _natives.invoke_void(0x6A5D89D7769A40D8,toggle);end,\n"\ +"NETWORK_OVERRIDE_CHAT_RESTRICTIONS=function(player,toggle)return _natives.invoke_void(0x3039AE5AD2C9C0C4,player,toggle);end,\n"\ +"NETWORK_OVERRIDE_SEND_RESTRICTIONS=function(player,toggle)return _natives.invoke_void(0x97DD4C5944CC2E6A,player,toggle);end,\n"\ +"NETWORK_OVERRIDE_SEND_RESTRICTIONS_ALL=function(toggle)return _natives.invoke_void(0x57B192B4D4AD23D5,toggle);end,\n"\ +"NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS=function(player,toggle)return _natives.invoke_void(0xDDF73E2B1FEC5AB4,player,toggle);end,\n"\ +"NETWORK_OVERRIDE_RECEIVE_RESTRICTIONS_ALL=function(toggle)return _natives.invoke_void(0x0FF2862B61A58AF9,toggle);end,\n"\ +"NETWORK_SET_VOICE_CHANNEL=function(channel)return _natives.invoke_void(0xEF6212C2EFEF1A23,channel);end,\n"\ +"NETWORK_CLEAR_VOICE_CHANNEL=function()return _natives.invoke_void(0xE036A705F989E049);end,\n"\ +"NETWORK_APPLY_VOICE_PROXIMITY_OVERRIDE=function(x,y,z)return _natives.invoke_void(0xDBD2056652689917,x,y,z);end,\n"\ +"NETWORK_CLEAR_VOICE_PROXIMITY_OVERRIDE=function()return _natives.invoke_void(0xF03755696450470C);end,\n"\ +"NETWORK_ENABLE_VOICE_BANDWIDTH_RESTRICTION=function(player)return _natives.invoke_void(0x5E3AA4CA2B6FB0EE,player);end,\n"\ +"NETWORK_DISABLE_VOICE_BANDWIDTH_RESTRICTION=function(player)return _natives.invoke_void(0xCA575C391FEA25CC,player);end,\n"\ +"NETWORK_GET_MUTE_COUNT_FOR_PLAYER=function(p0,p1,p2)return _natives.invoke_void(0xADB57E5B663CCA8B,p0,p1,p2);end,\n"\ +"NETWORK_SET_SPECTATOR_TO_NON_SPECTATOR_TEXT_CHAT=function(toggle)return _natives.invoke_void(0x8EF52ACAECC51D9C,toggle);end,\n"\ +"NETWORK_TEXT_CHAT_IS_TYPING=function()return _natives.invoke_bool(0x5FCF4D7069B09026);end,\n"\ +"SHUTDOWN_AND_LAUNCH_SINGLE_PLAYER_GAME=function()return _natives.invoke_void(0x593850C16A36B692);end,\n"\ +"SHUTDOWN_AND_LOAD_MOST_RECENT_SAVE=function()return _natives.invoke_bool(0x9ECA15ADFE141431);end,\n"\ +"NETWORK_SET_FRIENDLY_FIRE_OPTION=function(toggle)return _natives.invoke_void(0xF808475FA571D823,toggle);end,\n"\ +"NETWORK_SET_RICH_PRESENCE=function(p0,p1,p2,p3)return _natives.invoke_void(0x1DCCACDCFC569362,p0,p1,p2,p3);end,\n"\ +"NETWORK_SET_RICH_PRESENCE_STRING=function(p0,textLabel)return _natives.invoke_void(0x3E200C2BCF4164EB,p0,textLabel);end,\n"\ +"NETWORK_GET_TIMEOUT_TIME=function()return _natives.invoke_int(0x5ED0356A0CE3A34F);end,\n"\ +"NETWORK_LEAVE_PED_BEHIND_BEFORE_WARP=function(player,x,y,z,p4,p5)return _natives.invoke_void(0x9769F811D1785B03,player,x,y,z,p4,p5);end,\n"\ +"NETWORK_LEAVE_PED_BEHIND_BEFORE_CUTSCENE=function(player,p1)return _natives.invoke_void(0xBF22E0F32968E967,player,p1);end,\n"\ +"REMOVE_ALL_STICKY_BOMBS_FROM_ENTITY=function(entity,ped)return _natives.invoke_void(0x715135F4B82AC90D,entity,ped);end,\n"\ +"NETWORK_KEEP_ENTITY_COLLISION_DISABLED_AFTER_ANIM_SCENE=function(p0,p1)return _natives.invoke_void(0x17C9E241111A674D,p0,p1);end,\n"\ +"NETWORK_IS_ANY_PLAYER_NEAR=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_bool(0x2E4C123D1C8A710E,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"NETWORK_CLAN_SERVICE_IS_VALID=function()return _natives.invoke_bool(0x579CCED0265D4896);end,\n"\ +"NETWORK_CLAN_PLAYER_IS_ACTIVE=function(gamerHandle)return _natives.invoke_bool(0xB124B57F571D8F18,gamerHandle);end,\n"\ +"NETWORK_CLAN_PLAYER_GET_DESC=function(clanDesc,bufferSize,gamerHandle)return _natives.invoke_bool(0xEEE6EACBE8874FBA,clanDesc,bufferSize,gamerHandle);end,\n"\ +"NETWORK_CLAN_IS_ROCKSTAR_CLAN=function(clanDesc,bufferSize)return _natives.invoke_bool(0x7543BB439F63792B,clanDesc,bufferSize);end,\n"\ +"NETWORK_CLAN_GET_UI_FORMATTED_TAG=function(clanDesc,bufferSize,formattedTag)return _natives.invoke_void(0xF45352426FF3A4F0,clanDesc,bufferSize,formattedTag);end,\n"\ +"NETWORK_CLAN_GET_LOCAL_MEMBERSHIPS_COUNT=function()return _natives.invoke_int(0x1F471B79ACC90BEF);end,\n"\ +"NETWORK_CLAN_GET_MEMBERSHIP_DESC=function(memberDesc,p1)return _natives.invoke_bool(0x48DE78AF2C8885B8,memberDesc,p1);end,\n"\ +"NETWORK_CLAN_DOWNLOAD_MEMBERSHIP=function(gamerHandle)return _natives.invoke_bool(0xA989044E70010ABE,gamerHandle);end,\n"\ +"NETWORK_CLAN_DOWNLOAD_MEMBERSHIP_PENDING=function(p0)return _natives.invoke_bool(0x5B9E023DC6EBEDC0,p0);end,\n"\ +"NETWORK_CLAN_ANY_DOWNLOAD_MEMBERSHIP_PENDING=function()return _natives.invoke_bool(0xB3F64A6A91432477);end,\n"\ +"NETWORK_CLAN_REMOTE_MEMBERSHIPS_ARE_IN_CACHE=function(p0)return _natives.invoke_bool(0xBB6E6FEE99D866B2,p0);end,\n"\ +"NETWORK_CLAN_GET_MEMBERSHIP_COUNT=function(p0)return _natives.invoke_int(0xAAB11F6C4ADBC2C1,p0);end,\n"\ +"NETWORK_CLAN_GET_MEMBERSHIP_VALID=function(p0,p1)return _natives.invoke_bool(0x48A59CF88D43DF0E,p0,p1);end,\n"\ +"NETWORK_CLAN_GET_MEMBERSHIP=function(p0,clanMembership,p2)return _natives.invoke_bool(0xC8BC2011F67B3411,p0,clanMembership,p2);end,\n"\ +"NETWORK_CLAN_JOIN=function(clanDesc)return _natives.invoke_bool(0x9FAAA4F4FC71F87F,clanDesc);end,\n"\ +"NETWORK_CLAN_CREWINFO_GET_STRING_VALUE=function(animDict,animName)return _natives.invoke_bool(0x729E3401F0430686,animDict,animName);end,\n"\ +"NETWORK_CLAN_CREWINFO_GET_CREWRANKTITLE=function(p0,p1)return _natives.invoke_bool(0x2B51EDBEFC301339,p0,p1);end,\n"\ +"NETWORK_CLAN_HAS_CREWINFO_METADATA_BEEN_RECEIVED=function()return _natives.invoke_bool(0xC32EA7A2F6CA7557);end,\n"\ +"NETWORK_CLAN_GET_EMBLEM_TXD_NAME=function(netHandle,txdName)return _natives.invoke_bool(0x5835D9CD92E83184,netHandle,txdName);end,\n"\ +"NETWORK_CLAN_REQUEST_EMBLEM=function(p0)return _natives.invoke_bool(0x13518FF1C6B28938,p0);end,\n"\ +"NETWORK_CLAN_IS_EMBLEM_READY=function(p0,p1)return _natives.invoke_bool(0xA134777FF7F33331,p0,p1);end,\n"\ +"NETWORK_CLAN_RELEASE_EMBLEM=function(p0)return _natives.invoke_void(0x113E6E3E50E286B0,p0);end,\n"\ +"NETWORK_GET_PRIMARY_CLAN_DATA_CLEAR=function()return _natives.invoke_bool(0x9AA46BADAD0E27ED);end,\n"\ +"NETWORK_GET_PRIMARY_CLAN_DATA_CANCEL=function()return _natives.invoke_void(0x042E4B70B93E6054);end,\n"\ +"NETWORK_GET_PRIMARY_CLAN_DATA_START=function(p0,p1)return _natives.invoke_bool(0xCE86D8191B762107,p0,p1);end,\n"\ +"NETWORK_GET_PRIMARY_CLAN_DATA_PENDING=function()return _natives.invoke_bool(0xB5074DB804E28CE7);end,\n"\ +"NETWORK_GET_PRIMARY_CLAN_DATA_SUCCESS=function()return _natives.invoke_bool(0x5B4F04F19376A0BA);end,\n"\ +"NETWORK_GET_PRIMARY_CLAN_DATA_NEW=function(p0,p1)return _natives.invoke_bool(0xC080FF658B2E41DA,p0,p1);end,\n"\ +"SET_NETWORK_ID_CAN_MIGRATE=function(netId,toggle)return _natives.invoke_void(0x299EEB23175895FC,netId,toggle);end,\n"\ +"SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES=function(netId,toggle)return _natives.invoke_void(0xE05E81A888FA63C8,netId,toggle);end,\n"\ +"SET_NETWORK_ID_ALWAYS_EXISTS_FOR_PLAYER=function(netId,player,toggle)return _natives.invoke_void(0xA8A024587329F36A,netId,player,toggle);end,\n"\ +"SET_NETWORK_ID_CAN_BE_REASSIGNED=function(netId,toggle)return _natives.invoke_void(0x9D724B400A7E8FFC,netId,toggle);end,\n"\ +"NETWORK_SET_ENTITY_CAN_BLEND=function(entity,toggle)return _natives.invoke_void(0xD830567D88A1E873,entity,toggle);end,\n"\ +"NETWORK_SET_OBJECT_CAN_BLEND_WHEN_FIXED=function(object,toggle)return _natives.invoke_void(0x0379DAF89BA09AA5,object,toggle);end,\n"\ +"NETWORK_SET_ENTITY_ONLY_EXISTS_FOR_PARTICIPANTS=function(entity,toggle)return _natives.invoke_void(0xF1CA12B18AEF5298,entity,toggle);end,\n"\ +"SET_NETWORK_ID_VISIBLE_IN_CUTSCENE=function(netId,p1,p2)return _natives.invoke_void(0xA6928482543022B4,netId,p1,p2);end,\n"\ +"SET_NETWORK_ID_VISIBLE_IN_CUTSCENE_HACK=function(netId,p1,p2)return _natives.invoke_void(0x32EBD154CB6B8B99,netId,p1,p2);end,\n"\ +"SET_NETWORK_ID_VISIBLE_IN_CUTSCENE_REMAIN_HACK=function(p0,p1)return _natives.invoke_void(0x76B3F29D3F967692,p0,p1);end,\n"\ +"SET_NETWORK_CUTSCENE_ENTITIES=function(toggle)return _natives.invoke_void(0xAAA553E7DD28A457,toggle);end,\n"\ +"ARE_CUTSCENE_ENTITIES_NETWORKED=function()return _natives.invoke_bool(0x66D6A5E9C511214A);end,\n"\ +"SET_NETWORK_ID_PASS_CONTROL_IN_TUTORIAL=function(netId,state)return _natives.invoke_void(0x3FA36981311FA4FF,netId,state);end,\n"\ +"IS_NETWORK_ID_OWNED_BY_PARTICIPANT=function(netId)return _natives.invoke_bool(0xA1607996431332DF,netId);end,\n"\ +"SET_REMOTE_PLAYER_VISIBLE_IN_CUTSCENE=function(player,locallyVisible)return _natives.invoke_void(0x96320E6549DAE7B4,player,locallyVisible);end,\n"\ +"SET_LOCAL_PLAYER_VISIBLE_IN_CUTSCENE=function(p0,p1)return _natives.invoke_void(0xD1065D68947E7B6E,p0,p1);end,\n"\ +"SET_LOCAL_PLAYER_INVISIBLE_LOCALLY=function(bIncludePlayersVehicle)return _natives.invoke_void(0xE5F773C1A1D9D168,bIncludePlayersVehicle);end,\n"\ +"SET_LOCAL_PLAYER_VISIBLE_LOCALLY=function(bIncludePlayersVehicle)return _natives.invoke_void(0x7619364C82D3BF14,bIncludePlayersVehicle);end,\n"\ +"SET_PLAYER_INVISIBLE_LOCALLY=function(player,bIncludePlayersVehicle)return _natives.invoke_void(0x12B37D54667DB0B8,player,bIncludePlayersVehicle);end,\n"\ +"SET_PLAYER_VISIBLE_LOCALLY=function(player,bIncludePlayersVehicle)return _natives.invoke_void(0xFAA10F1FAFB11AF2,player,bIncludePlayersVehicle);end,\n"\ +"FADE_OUT_LOCAL_PLAYER=function(p0)return _natives.invoke_void(0x416DBD4CD6ED8DD2,p0);end,\n"\ +"NETWORK_FADE_OUT_ENTITY=function(entity,normal,slow)return _natives.invoke_void(0xDE564951F95E09ED,entity,normal,slow);end,\n"\ +"NETWORK_FADE_IN_ENTITY=function(entity,state,p2)return _natives.invoke_void(0x1F4ED342ACEFE62D,entity,state,p2);end,\n"\ +"NETWORK_IS_PLAYER_FADING=function(player)return _natives.invoke_bool(0x631DC5DFF4B110E3,player);end,\n"\ +"NETWORK_IS_ENTITY_FADING=function(entity)return _natives.invoke_bool(0x422F32CC7E56ABAD,entity);end,\n"\ +"IS_PLAYER_IN_CUTSCENE=function(player)return _natives.invoke_bool(0xE73092F4157CD126,player);end,\n"\ +"SET_ENTITY_VISIBLE_IN_CUTSCENE=function(p0,p1,p2)return _natives.invoke_void(0xE0031D3C8F36AB82,p0,p1,p2);end,\n"\ +"SET_ENTITY_LOCALLY_INVISIBLE=function(entity)return _natives.invoke_void(0xE135A9FF3F5D05D8,entity);end,\n"\ +"SET_ENTITY_LOCALLY_VISIBLE=function(entity)return _natives.invoke_void(0x241E289B5C059EDC,entity);end,\n"\ +"IS_DAMAGE_TRACKER_ACTIVE_ON_NETWORK_ID=function(netID)return _natives.invoke_bool(0x6E192E33AD436366,netID);end,\n"\ +"ACTIVATE_DAMAGE_TRACKER_ON_NETWORK_ID=function(netID,toggle)return _natives.invoke_void(0xD45B1FFCCD52FF19,netID,toggle);end,\n"\ +"IS_DAMAGE_TRACKER_ACTIVE_ON_PLAYER=function(player)return _natives.invoke_bool(0xB2092A1EAA7FD45F,player);end,\n"\ +"ACTIVATE_DAMAGE_TRACKER_ON_PLAYER=function(player,toggle)return _natives.invoke_void(0xBEC0816FF5ACBCDA,player,toggle);end,\n"\ +"IS_SPHERE_VISIBLE_TO_ANOTHER_MACHINE=function(p0,p1,p2,p3)return _natives.invoke_bool(0xD82CF8E64C8729D8,p0,p1,p2,p3);end,\n"\ +"IS_SPHERE_VISIBLE_TO_PLAYER=function(p0,p1,p2,p3,p4)return _natives.invoke_bool(0xDC3A310219E5DA62,p0,p1,p2,p3,p4);end,\n"\ +"RESERVE_NETWORK_MISSION_OBJECTS=function(amount)return _natives.invoke_void(0x4E5C93BD0C32FBF8,amount);end,\n"\ +"RESERVE_NETWORK_MISSION_PEDS=function(amount)return _natives.invoke_void(0xB60FEBA45333D36F,amount);end,\n"\ +"RESERVE_NETWORK_MISSION_VEHICLES=function(amount)return _natives.invoke_void(0x76B02E21ED27A469,amount);end,\n"\ +"RESERVE_LOCAL_NETWORK_MISSION_OBJECTS=function(amount)return _natives.invoke_void(0x797F9C5E661D920E,amount);end,\n"\ +"RESERVE_LOCAL_NETWORK_MISSION_PEDS=function(amount)return _natives.invoke_void(0x2C8DF5D129595281,amount);end,\n"\ +"RESERVE_LOCAL_NETWORK_MISSION_VEHICLES=function(amount)return _natives.invoke_void(0x42613035157E4208,amount);end,\n"\ +"CAN_REGISTER_MISSION_OBJECTS=function(amount)return _natives.invoke_bool(0x800DD4721A8B008B,amount);end,\n"\ +"CAN_REGISTER_MISSION_PEDS=function(amount)return _natives.invoke_bool(0xBCBF4FEF9FA5D781,amount);end,\n"\ +"CAN_REGISTER_MISSION_VEHICLES=function(amount)return _natives.invoke_bool(0x7277F1F2E085EE74,amount);end,\n"\ +"CAN_REGISTER_MISSION_PICKUPS=function(amount)return _natives.invoke_bool(0x0A49D1CB6E34AF72,amount);end,\n"\ +"CAN_REGISTER_MISSION_DOORS=function(p0)return _natives.invoke_bool(0xE16AA70CE9BEEDC3,p0);end,\n"\ +"CAN_REGISTER_MISSION_ENTITIES=function(ped_amt,vehicle_amt,object_amt,pickup_amt)return _natives.invoke_bool(0x69778E7564BADE6D,ped_amt,vehicle_amt,object_amt,pickup_amt);end,\n"\ +"GET_NUM_RESERVED_MISSION_OBJECTS=function(p0,p1)return _natives.invoke_int(0xAA81B5F10BC43AC2,p0,p1);end,\n"\ +"GET_NUM_RESERVED_MISSION_PEDS=function(p0,p1)return _natives.invoke_int(0x1F13D5AE5CB17E17,p0,p1);end,\n"\ +"GET_NUM_RESERVED_MISSION_VEHICLES=function(p0,p1)return _natives.invoke_int(0xCF3A965906452031,p0,p1);end,\n"\ +"GET_NUM_CREATED_MISSION_OBJECTS=function(p0)return _natives.invoke_int(0x12B6281B6C6706C0,p0);end,\n"\ +"GET_NUM_CREATED_MISSION_PEDS=function(p0)return _natives.invoke_int(0xCB215C4B56A7FAE7,p0);end,\n"\ +"GET_NUM_CREATED_MISSION_VEHICLES=function(p0)return _natives.invoke_int(0x0CD9AB83489430EA,p0);end,\n"\ +"GET_RESERVED_MISSION_ENTITIES_IN_AREA=function(x,y,z,p3,out1,out2,out3)return _natives.invoke_void(0xE42D626EEC94E5D9,x,y,z,p3,out1,out2,out3);end,\n"\ +"GET_MAX_NUM_NETWORK_OBJECTS=function()return _natives.invoke_int(0xC7BE335216B5EC7C);end,\n"\ +"GET_MAX_NUM_NETWORK_PEDS=function()return _natives.invoke_int(0x0C1F7D49C39D2289);end,\n"\ +"GET_MAX_NUM_NETWORK_VEHICLES=function()return _natives.invoke_int(0x0AFCE529F69B21FF);end,\n"\ +"GET_MAX_NUM_NETWORK_PICKUPS=function()return _natives.invoke_int(0xA72835064DD63E4C);end,\n"\ +"NETWORK_SET_OBJECT_SCOPE_DISTANCE=function(object,range)return _natives.invoke_void(0xBA7F0B77D80A4EB7,object,range);end,\n"\ +"NETWORK_ALLOW_CLONING_WHILE_IN_TUTORIAL=function(p0,p1)return _natives.invoke_void(0x0F1A4B45B7693B95,p0,p1);end,\n"\ +"NETWORK_SET_TASK_CUTSCENE_INSCOPE_MULTIPLER=function(p0)return _natives.invoke_void(0xC6FCEE21C6FCEE21,p0);end,\n"\ +"GET_NETWORK_TIME=function()return _natives.invoke_int(0x7A5487FE9FAA6B48);end,\n"\ +"GET_NETWORK_TIME_ACCURATE=function()return _natives.invoke_int(0x89023FBBF9200E9F);end,\n"\ +"HAS_NETWORK_TIME_STARTED=function()return _natives.invoke_bool(0x46718ACEEDEAFC84);end,\n"\ +"GET_TIME_OFFSET=function(timeA,timeB)return _natives.invoke_int(0x017008CCDAD48503,timeA,timeB);end,\n"\ +"IS_TIME_LESS_THAN=function(timeA,timeB)return _natives.invoke_bool(0xCB2CF5148012C8D0,timeA,timeB);end,\n"\ +"IS_TIME_MORE_THAN=function(timeA,timeB)return _natives.invoke_bool(0xDE350F8651E4346C,timeA,timeB);end,\n"\ +"IS_TIME_EQUAL_TO=function(timeA,timeB)return _natives.invoke_bool(0xF5BC95857BD6D512,timeA,timeB);end,\n"\ +"GET_TIME_DIFFERENCE=function(timeA,timeB)return _natives.invoke_int(0xA2C6FC031D46FFF0,timeA,timeB);end,\n"\ +"GET_TIME_AS_STRING=function(time)return _natives.invoke_str(0x9E23B1777A927DAD,time);end,\n"\ +"GET_CLOUD_TIME_AS_STRING=function()return _natives.invoke_str(0xF12E6CD06C73D69E);end,\n"\ +"GET_CLOUD_TIME_AS_INT=function()return _natives.invoke_int(0x9A73240B49945C76);end,\n"\ +"CONVERT_POSIX_TIME=function(posixTime,timeStructure)return _natives.invoke_void(0xAC97AF97FA68E5D5,posixTime,timeStructure);end,\n"\ +"NETWORK_SET_IN_SPECTATOR_MODE=function(toggle,playerPed)return _natives.invoke_void(0x423DE3854BB50894,toggle,playerPed);end,\n"\ +"NETWORK_SET_IN_SPECTATOR_MODE_EXTENDED=function(toggle,playerPed,p2)return _natives.invoke_void(0x419594E137637120,toggle,playerPed,p2);end,\n"\ +"NETWORK_SET_IN_FREE_CAM_MODE=function(toggle)return _natives.invoke_void(0xFC18DB55AE19E046,toggle);end,\n"\ +"NETWORK_SET_ANTAGONISTIC_TO_PLAYER=function(toggle,player)return _natives.invoke_void(0x5C707A667DF8B9FA,toggle,player);end,\n"\ +"NETWORK_IS_IN_SPECTATOR_MODE=function()return _natives.invoke_bool(0x048746E388762E11);end,\n"\ +"NETWORK_SET_IN_MP_CUTSCENE=function(p0,p1)return _natives.invoke_void(0x9CA5DE655269FEC4,p0,p1);end,\n"\ +"NETWORK_IS_IN_MP_CUTSCENE=function()return _natives.invoke_bool(0x6CC27C9FA2040220);end,\n"\ +"NETWORK_IS_PLAYER_IN_MP_CUTSCENE=function(player)return _natives.invoke_bool(0x63F9EE203C3619F2,player);end,\n"\ +"NETWORK_HIDE_PROJECTILE_IN_CUTSCENE=function()return _natives.invoke_void(0xFAC18E7356BD3210);end,\n"\ +"SET_NETWORK_VEHICLE_RESPOT_TIMER=function(netId,time,p2,p3)return _natives.invoke_void(0xEC51713AB6EC36E8,netId,time,p2,p3);end,\n"\ +"IS_NETWORK_VEHICLE_RUNNING_RESPOT_TIMER=function(networkID)return _natives.invoke_bool(0xDD7CEF5B3A4DA8A6,networkID);end,\n"\ +"SET_NETWORK_VEHICLE_AS_GHOST=function(vehicle,toggle)return _natives.invoke_void(0x6274C4712850841E,vehicle,toggle);end,\n"\ +"SET_NETWORK_VEHICLE_MAX_POSITION_DELTA_MULTIPLIER=function(vehicle,multiplier)return _natives.invoke_void(0xA2A707979FE754DC,vehicle,multiplier);end,\n"\ +"SET_NETWORK_ENABLE_HIGH_SPEED_EDGE_FALL_DETECTION=function(vehicle,toggle)return _natives.invoke_void(0x838DA0936A24ED4D,vehicle,toggle);end,\n"\ +"SET_LOCAL_PLAYER_AS_GHOST=function(toggle,p1)return _natives.invoke_void(0x5FFE9B4144F9712F,toggle,p1);end,\n"\ +"IS_ENTITY_A_GHOST=function(entity)return _natives.invoke_bool(0x21D04D7BC538C146,entity);end,\n"\ +"SET_NON_PARTICIPANTS_OF_THIS_SCRIPT_AS_GHOSTS=function(p0)return _natives.invoke_void(0x13F1FCB111B820B0,p0);end,\n"\ +"SET_REMOTE_PLAYER_AS_GHOST=function(player,p1)return _natives.invoke_void(0xA7C511FA1C5BDA38,player,p1);end,\n"\ +"SET_GHOST_ALPHA=function(alpha)return _natives.invoke_void(0x658500AE6D723A7E,alpha);end,\n"\ +"RESET_GHOST_ALPHA=function()return _natives.invoke_void(0x17330EBF2F2124A8);end,\n"\ +"SET_ENTITY_GHOSTED_FOR_GHOST_PLAYERS=function(entity,toggle)return _natives.invoke_void(0x4BA166079D658ED4,entity,toggle);end,\n"\ +"SET_INVERT_GHOSTING=function(p0)return _natives.invoke_void(0xD7B6C73CAD419BCF,p0);end,\n"\ +"IS_ENTITY_IN_GHOST_COLLISION=function(entity)return _natives.invoke_bool(0x7EF7649B64D7FF10,entity);end,\n"\ +"USE_PLAYER_COLOUR_INSTEAD_OF_TEAM_COLOUR=function(toggle)return _natives.invoke_void(0x77758139EC9B66C7,toggle);end,\n"\ +"NETWORK_CREATE_SYNCHRONISED_SCENE=function(x,y,z,xRot,yRot,zRot,rotationOrder,useOcclusionPortal,looped,p9,animTime,p11)return _natives.invoke_int(0x7CD6BC4C2BBDD526,x,y,z,xRot,yRot,zRot,rotationOrder,useOcclusionPortal,looped,p9,animTime,p11);end,\n"\ +"NETWORK_ADD_PED_TO_SYNCHRONISED_SCENE=function(ped,netScene,animDict,animnName,speed,speedMultiplier,duration,flag,playbackRate,p9)return _natives.invoke_void(0x742A637471BCECD9,ped,netScene,animDict,animnName,speed,speedMultiplier,duration,flag,playbackRate,p9);end,\n"\ +"NETWORK_ADD_PED_TO_SYNCHRONISED_SCENE_WITH_IK=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9)return _natives.invoke_void(0xA5EAFE473E45C442,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9);end,\n"\ +"NETWORK_ADD_ENTITY_TO_SYNCHRONISED_SCENE=function(entity,netScene,animDict,animName,speed,speedMulitiplier,flag)return _natives.invoke_void(0xF2404D68CBC855FA,entity,netScene,animDict,animName,speed,speedMulitiplier,flag);end,\n"\ +"NETWORK_ADD_MAP_ENTITY_TO_SYNCHRONISED_SCENE=function(netScene,modelHash,x,y,z,p5,p6,p7,p8,flags)return _natives.invoke_void(0x45F35C0EDC33B03B,netScene,modelHash,x,y,z,p5,p6,p7,p8,flags);end,\n"\ +"NETWORK_ADD_SYNCHRONISED_SCENE_CAMERA=function(netScene,animDict,animName)return _natives.invoke_void(0xCF8BD3B0BD6D42D7,netScene,animDict,animName);end,\n"\ +"NETWORK_ATTACH_SYNCHRONISED_SCENE_TO_ENTITY=function(netScene,entity,bone)return _natives.invoke_void(0x478DCBD2A98B705A,netScene,entity,bone);end,\n"\ +"NETWORK_START_SYNCHRONISED_SCENE=function(netScene)return _natives.invoke_void(0x9A1B3FCDB36C8697,netScene);end,\n"\ +"NETWORK_STOP_SYNCHRONISED_SCENE=function(netScene)return _natives.invoke_void(0xC254481A4574CB2F,netScene);end,\n"\ +"NETWORK_GET_LOCAL_SCENE_FROM_NETWORK_ID=function(netId)return _natives.invoke_int(0x02C40BF885C567B6,netId);end,\n"\ +"NETWORK_FORCE_LOCAL_USE_OF_SYNCED_SCENE_CAMERA=function(netScene)return _natives.invoke_void(0xC9B43A33D09CADA7,netScene);end,\n"\ +"NETWORK_ALLOW_REMOTE_SYNCED_SCENE_LOCAL_PLAYER_REQUESTS=function(p0)return _natives.invoke_void(0x144DA052257AE7D8,p0);end,\n"\ +"NETWORK_FIND_LARGEST_BUNCH_OF_PLAYERS=function(p0,p1)return _natives.invoke_bool(0xFB1F9381E80FA13F,p0,p1);end,\n"\ +"NETWORK_START_RESPAWN_SEARCH_FOR_PLAYER=function(player,x,y,z,radius,p5,p6,p7,flags)return _natives.invoke_bool(0x5A6FFA2433E2F14C,player,x,y,z,radius,p5,p6,p7,flags);end,\n"\ +"NETWORK_START_RESPAWN_SEARCH_IN_ANGLED_AREA_FOR_PLAYER=function(player,x1,y1,z1,x2,y2,z2,width,p8,p9,p10,flags)return _natives.invoke_bool(0x4BA92A18502BCA61,player,x1,y1,z1,x2,y2,z2,width,p8,p9,p10,flags);end,\n"\ +"NETWORK_QUERY_RESPAWN_RESULTS=function(p0)return _natives.invoke_int(0x3C891A251567DFCE,p0);end,\n"\ +"NETWORK_CANCEL_RESPAWN_SEARCH=function()return _natives.invoke_void(0xFB8F2A6F3DF08CBE);end,\n"\ +"NETWORK_GET_RESPAWN_RESULT=function(randomInt,coordinates,heading)return _natives.invoke_void(0x371EA43692861CF1,randomInt,coordinates,heading);end,\n"\ +"NETWORK_GET_RESPAWN_RESULT_FLAGS=function(p0)return _natives.invoke_int(0x6C34F1208B8923FD,p0);end,\n"\ +"NETWORK_START_SOLO_TUTORIAL_SESSION=function()return _natives.invoke_void(0x17E0198B3882C2CB);end,\n"\ +"NETWORK_ALLOW_GANG_TO_JOIN_TUTORIAL_SESSION=function(teamId,instanceId)return _natives.invoke_void(0xFB680D403909DC70,teamId,instanceId);end,\n"\ +"NETWORK_END_TUTORIAL_SESSION=function()return _natives.invoke_void(0xD0AFAFF5A51D72F7);end,\n"\ +"NETWORK_IS_IN_TUTORIAL_SESSION=function()return _natives.invoke_bool(0xADA24309FE08DACF);end,\n"\ +"NETWORK_WAITING_POP_CLEAR_TUTORIAL_SESSION=function()return _natives.invoke_bool(0xB37E4E6A2388CA7B);end,\n"\ +"NETWORK_IS_TUTORIAL_SESSION_CHANGE_PENDING=function()return _natives.invoke_bool(0x35F0B98A8387274D);end,\n"\ +"NETWORK_GET_PLAYER_TUTORIAL_SESSION_INSTANCE=function(player)return _natives.invoke_int(0x3B39236746714134,player);end,\n"\ +"NETWORK_ARE_PLAYERS_IN_SAME_TUTORIAL_SESSION=function(player,index)return _natives.invoke_bool(0x9DE986FC9A87C474,player,index);end,\n"\ +"NETWORK_BLOCK_PROXY_MIGRATION_BETWEEN_TUTORIAL_SESSIONS=function(p0)return _natives.invoke_void(0xFEA7A352DDB34D52,p0);end,\n"\ +"NETWORK_CONCEAL_PLAYER=function(player,toggle,p2)return _natives.invoke_void(0xBBDF066252829606,player,toggle,p2);end,\n"\ +"NETWORK_IS_PLAYER_CONCEALED=function(player)return _natives.invoke_bool(0x919B3C98ED8292F9,player);end,\n"\ +"NETWORK_CONCEAL_ENTITY=function(entity,toggle)return _natives.invoke_void(0x1632BE0AC1E62876,entity,toggle);end,\n"\ +"NETWORK_IS_ENTITY_CONCEALED=function(entity)return _natives.invoke_bool(0x71302EC70689052A,entity);end,\n"\ +"NETWORK_OVERRIDE_CLOCK_TIME=function(hours,minutes,seconds)return _natives.invoke_void(0xE679E3E06E363892,hours,minutes,seconds);end,\n"\ +"NETWORK_OVERRIDE_CLOCK_RATE=function(ms)return _natives.invoke_void(0x42BF1D2E723B6D7E,ms);end,\n"\ +"NETWORK_CLEAR_CLOCK_TIME_OVERRIDE=function()return _natives.invoke_void(0xD972DF67326F966E);end,\n"\ +"NETWORK_IS_CLOCK_TIME_OVERRIDDEN=function()return _natives.invoke_bool(0xD7C95D322FF57522);end,\n"\ +"NETWORK_ADD_ENTITY_AREA=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_int(0x494C8FB299290269,x1,y1,z1,x2,y2,z2);end,\n"\ +"NETWORK_ADD_ENTITY_ANGLED_AREA=function(x1,y1,z1,x2,y2,z2,width)return _natives.invoke_int(0x376C6375BA60293A,x1,y1,z1,x2,y2,z2,width);end,\n"\ +"NETWORK_ADD_CLIENT_ENTITY_AREA=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_int(0x25B99872D588A101,x1,y1,z1,x2,y2,z2);end,\n"\ +"NETWORK_ADD_CLIENT_ENTITY_ANGLED_AREA=function(x1,y1,z1,x2,y2,z2,radius)return _natives.invoke_int(0x2B1C623823DB0D9D,x1,y1,z1,x2,y2,z2,radius);end,\n"\ +"NETWORK_REMOVE_ENTITY_AREA=function(areaHandle)return _natives.invoke_bool(0x93CF869BAA0C4874,areaHandle);end,\n"\ +"NETWORK_ENTITY_AREA_DOES_EXIST=function(areaHandle)return _natives.invoke_bool(0xE64A3CA08DFA37A9,areaHandle);end,\n"\ +"NETWORK_ENTITY_AREA_HAVE_ALL_REPLIED=function(areaHandle)return _natives.invoke_bool(0x4DF7CFFF471A7FB1,areaHandle);end,\n"\ +"NETWORK_ENTITY_AREA_IS_OCCUPIED=function(areaHandle)return _natives.invoke_bool(0x4A2D4E8BF4265B0F,areaHandle);end,\n"\ +"NETWORK_USE_HIGH_PRECISION_BLENDING=function(netID,toggle)return _natives.invoke_void(0x2B1813ABA29016C5,netID,toggle);end,\n"\ +"NETWORK_SET_CUSTOM_ARENA_BALL_PARAMS=function(netId)return _natives.invoke_void(0xA6FCECCF4721D679,netId);end,\n"\ +"NETWORK_ENTITY_USE_HIGH_PRECISION_ROTATION=function(netId,toggle)return _natives.invoke_void(0x95BAF97C82464629,netId,toggle);end,\n"\ +"NETWORK_REQUEST_CLOUD_BACKGROUND_SCRIPTS=function()return _natives.invoke_bool(0x924426BFFD82E915);end,\n"\ +"NETWORK_IS_CLOUD_BACKGROUND_SCRIPT_REQUEST_PENDING=function()return _natives.invoke_bool(0x8132C0EB8B2B3293);end,\n"\ +"NETWORK_REQUEST_CLOUD_TUNABLES=function()return _natives.invoke_void(0x42FB3B532D526E6C);end,\n"\ +"NETWORK_IS_TUNABLE_CLOUD_REQUEST_PENDING=function()return _natives.invoke_bool(0x0467C11ED88B7D28);end,\n"\ +"NETWORK_GET_TUNABLE_CLOUD_CRC=function()return _natives.invoke_int(0x10BD227A753B0D84);end,\n"\ +"NETWORK_DOES_TUNABLE_EXIST=function(tunableContext,tunableName)return _natives.invoke_bool(0x85E5F8B9B898B20A,tunableContext,tunableName);end,\n"\ +"NETWORK_ACCESS_TUNABLE_INT=function(tunableContext,tunableName,value)return _natives.invoke_bool(0x8BE1146DFD5D4468,tunableContext,tunableName,value);end,\n"\ +"NETWORK_ACCESS_TUNABLE_FLOAT=function(tunableContext,tunableName,value)return _natives.invoke_bool(0xE5608CA7BC163A5F,tunableContext,tunableName,value);end,\n"\ +"NETWORK_ACCESS_TUNABLE_BOOL=function(tunableContext,tunableName)return _natives.invoke_bool(0xAA6A47A573ABB75A,tunableContext,tunableName);end,\n"\ +"NETWORK_DOES_TUNABLE_EXIST_HASH=function(tunableContext,tunableName)return _natives.invoke_bool(0xE4E53E1419D81127,tunableContext,tunableName);end,\n"\ +"NETWORK_ACCESS_TUNABLE_MODIFICATION_DETECTION_CLEAR=function()return _natives.invoke_bool(0xFAFC23AEE23868DB);end,\n"\ +"NETWORK_ACCESS_TUNABLE_INT_HASH=function(tunableContext,tunableName,value)return _natives.invoke_bool(0x40FCE03E50E8DBE8,tunableContext,tunableName,value);end,\n"\ +"NETWORK_ACCESS_TUNABLE_INT_MODIFICATION_DETECTION_REGISTRATION_HASH=function(contextHash,nameHash,value)return _natives.invoke_bool(0x3A8B55FDA4C8DDEF,contextHash,nameHash,value);end,\n"\ +"NETWORK_ACCESS_TUNABLE_FLOAT_HASH=function(tunableContext,tunableName,value)return _natives.invoke_bool(0x972BC203BBC4C4D5,tunableContext,tunableName,value);end,\n"\ +"NETWORK_ACCESS_TUNABLE_FLOAT_MODIFICATION_DETECTION_REGISTRATION_HASH=function(contextHash,nameHash,value)return _natives.invoke_bool(0x1950DAE9848A4739,contextHash,nameHash,value);end,\n"\ +"NETWORK_ACCESS_TUNABLE_BOOL_HASH=function(tunableContext,tunableName)return _natives.invoke_bool(0xEA16B69D93D71A45,tunableContext,tunableName);end,\n"\ +"NETWORK_ACCESS_TUNABLE_BOOL_MODIFICATION_DETECTION_REGISTRATION_HASH=function(contextHash,nameHash,value)return _natives.invoke_bool(0x697F508861875B42,contextHash,nameHash,value);end,\n"\ +"NETWORK_TRY_ACCESS_TUNABLE_BOOL_HASH=function(tunableContext,tunableName,defaultValue)return _natives.invoke_bool(0xC7420099936CE286,tunableContext,tunableName,defaultValue);end,\n"\ +"NETWORK_GET_CONTENT_MODIFIER_LIST_ID=function(contentHash)return _natives.invoke_int(0x187382F8A3E0A6C3,contentHash);end,\n"\ +"NETWORK_GET_BONE_ID_OF_FATAL_HIT=function()return _natives.invoke_int(0x7DB53B37A2F211A0);end,\n"\ +"NETWORK_RESET_BODY_TRACKER=function()return _natives.invoke_void(0x72433699B4E6DD64);end,\n"\ +"NETWORK_GET_NUMBER_BODY_TRACKER_HITS=function()return _natives.invoke_int(0xD38C4A6D047C019D);end,\n"\ +"NETWORK_HAS_BONE_BEEN_HIT_BY_KILLER=function(boneIndex)return _natives.invoke_bool(0x2E0BF682CC778D49,boneIndex);end,\n"\ +"NETWORK_SET_ATTRIBUTE_DAMAGE_TO_PLAYER=function(ped,player)return _natives.invoke_bool(0x0EDE326D47CD0F3E,ped,player);end,\n"\ +"NETWORK_TRIGGER_DAMAGE_EVENT_FOR_ZERO_DAMAGE=function(entity,toggle)return _natives.invoke_void(0x890E2C5ABED7236D,entity,toggle);end,\n"\ +"NETWORK_TRIGGER_DAMAGE_EVENT_FOR_ZERO_WEAPON_HASH=function(entity,toggle)return _natives.invoke_void(0x38B7C51AB1EDC7D8,entity,toggle);end,\n"\ +"NETWORK_SET_NO_LONGER_NEEDED=function(entity,toggle)return _natives.invoke_void(0x3FC795691834481D,entity,toggle);end,\n"\ +"NETWORK_EXPLODE_VEHICLE=function(vehicle,isAudible,isInvisible,netId)return _natives.invoke_bool(0x301A42153C9AD707,vehicle,isAudible,isInvisible,netId);end,\n"\ +"NETWORK_EXPLODE_HELI=function(vehicle,isAudible,isInvisible,netId)return _natives.invoke_void(0x2A5E0621DD815A9A,vehicle,isAudible,isInvisible,netId);end,\n"\ +"NETWORK_USE_LOGARITHMIC_BLENDING_THIS_FRAME=function(entity)return _natives.invoke_void(0xCD71A4ECAB22709E,entity);end,\n"\ +"NETWORK_OVERRIDE_COORDS_AND_HEADING=function(entity,x,y,z,heading)return _natives.invoke_void(0xA7E30DE9272B6D49,entity,x,y,z,heading);end,\n"\ +"NETWORK_ENABLE_EXTRA_VEHICLE_ORIENTATION_BLEND_CHECKS=function(netId,toggle)return _natives.invoke_void(0xE6717E652B8C8D8A,netId,toggle);end,\n"\ +"NETWORK_DISABLE_PROXIMITY_MIGRATION=function(netID)return _natives.invoke_void(0x407091CF6037118E,netID);end,\n"\ +"NETWORK_SET_PROPERTY_ID=function(id)return _natives.invoke_void(0x1775961C2FBBCB5C,id);end,\n"\ +"NETWORK_CLEAR_PROPERTY_ID=function()return _natives.invoke_void(0xC2B82527CA77053E);end,\n"\ +"NETWORK_SET_PLAYER_MENTAL_STATE=function(p0)return _natives.invoke_void(0x367EF5E2F439B4C6,p0);end,\n"\ +"NETWORK_SET_MINIMUM_RANK_FOR_MISSION=function(p0)return _natives.invoke_void(0x94538037EE44F5CF,p0);end,\n"\ +"NETWORK_CACHE_LOCAL_PLAYER_HEAD_BLEND_DATA=function()return _natives.invoke_void(0xBD0BE0BFC927EAC1);end,\n"\ +"NETWORK_HAS_CACHED_PLAYER_HEAD_BLEND_DATA=function(player)return _natives.invoke_bool(0x237D5336A9A54108,player);end,\n"\ +"NETWORK_APPLY_CACHED_PLAYER_HEAD_BLEND_DATA=function(ped,player)return _natives.invoke_bool(0x99B72C7ABDE5C910,ped,player);end,\n"\ +"GET_NUM_COMMERCE_ITEMS=function()return _natives.invoke_int(0xF2EAC213D5EA0623);end,\n"\ +"IS_COMMERCE_DATA_VALID=function()return _natives.invoke_bool(0xEA14EEF5B7CD2C30);end,\n"\ +"TRIGGER_COMMERCE_DATA_FETCH=function(p0)return _natives.invoke_void(0xB606E6CC59664972,p0);end,\n"\ +"IS_COMMERCE_DATA_FETCH_IN_PROGRESS=function()return _natives.invoke_bool(0x1D4DC17C38FEAFF0);end,\n"\ +"GET_COMMERCE_ITEM_ID=function(index)return _natives.invoke_str(0x662635855957C411,index);end,\n"\ +"GET_COMMERCE_ITEM_NAME=function(index)return _natives.invoke_str(0xB4271092CA7EDF48,index);end,\n"\ +"GET_COMMERCE_PRODUCT_PRICE=function(index)return _natives.invoke_str(0xCA94551B50B4932C,index);end,\n"\ +"GET_COMMERCE_ITEM_NUM_CATS=function(index)return _natives.invoke_int(0x2A7776C709904AB0,index);end,\n"\ +"GET_COMMERCE_ITEM_CAT=function(index,index2)return _natives.invoke_str(0x6F44CBF56D79FAC0,index,index2);end,\n"\ +"OPEN_COMMERCE_STORE=function(p0,p1,p2)return _natives.invoke_void(0x58C21165F6545892,p0,p1,p2);end,\n"\ +"IS_COMMERCE_STORE_OPEN=function()return _natives.invoke_bool(0x2EAC52B4019E2782);end,\n"\ +"SET_STORE_ENABLED=function(toggle)return _natives.invoke_void(0x9641A9FF718E9C5E,toggle);end,\n"\ +"REQUEST_COMMERCE_ITEM_IMAGE=function(index)return _natives.invoke_bool(0xA2F952104FC6DD4B,index);end,\n"\ +"RELEASE_ALL_COMMERCE_ITEM_IMAGES=function()return _natives.invoke_void(0x72D0706CD6CCDB58);end,\n"\ +"GET_COMMERCE_ITEM_TEXTURENAME=function(index)return _natives.invoke_str(0x722F5D28B61C5EA8,index);end,\n"\ +"IS_STORE_AVAILABLE_TO_USER=function()return _natives.invoke_bool(0x883D79C4071E18B3);end,\n"\ +"DELAY_MP_STORE_OPEN=function()return _natives.invoke_void(0x265635150FB0D82E);end,\n"\ +"RESET_STORE_NETWORK_GAME_TRACKING=function()return _natives.invoke_void(0x444C4525ECE0A4B9);end,\n"\ +"IS_USER_OLD_ENOUGH_TO_ACCESS_STORE=function()return _natives.invoke_bool(0x59328EB08C5CEB2B);end,\n"\ +"SET_LAST_VIEWED_SHOP_ITEM=function(p0,p1,p2)return _natives.invoke_void(0xFAE628F1E9ADB239,p0,p1,p2);end,\n"\ +"GET_USER_PREMIUM_ACCESS=function()return _natives.invoke_int(0x754615490A029508);end,\n"\ +"GET_USER_STARTER_ACCESS=function()return _natives.invoke_int(0x155467ACA0F55705);end,\n"\ +"CLOUD_DELETE_MEMBER_FILE=function(p0)return _natives.invoke_int(0xC64DED7EF0D2FE37,p0);end,\n"\ +"CLOUD_HAS_REQUEST_COMPLETED=function(requestId)return _natives.invoke_bool(0x4C61B39930D045DA,requestId);end,\n"\ +"CLOUD_DID_REQUEST_SUCCEED=function(requestId)return _natives.invoke_bool(0x3A3D5568AF297CD5,requestId);end,\n"\ +"CLOUD_CHECK_AVAILABILITY=function()return _natives.invoke_void(0x4F18196C8D38768D);end,\n"\ +"CLOUD_IS_CHECKING_AVAILABILITY=function()return _natives.invoke_bool(0xC7ABAC5DE675EE3B);end,\n"\ +"CLOUD_GET_AVAILABILITY_CHECK_RESULT=function()return _natives.invoke_bool(0x0B0CC10720653F3B);end,\n"\ +"GET_CONTENT_TO_LOAD_TYPE=function()return _natives.invoke_int(0x8B0C2964BA471961);end,\n"\ +"GET_IS_LAUNCH_FROM_LIVE_AREA=function()return _natives.invoke_bool(0x88B588B41FF7868E);end,\n"\ +"GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT=function()return _natives.invoke_bool(0x67FC09BC554A75E5);end,\n"\ +"CLEAR_SERVICE_EVENT_ARGUMENTS=function()return _natives.invoke_void(0x966DD84FB6A46017);end,\n"\ +"UGC_COPY_CONTENT=function(p0,p1)return _natives.invoke_bool(0x152D90E4C1B4738A,p0,p1);end,\n"\ +"UGC_IS_CREATING=function()return _natives.invoke_bool(0x9FEDF86898F100E9);end,\n"\ +"UGC_HAS_CREATE_FINISHED=function()return _natives.invoke_bool(0x5E24341A7F92A74B);end,\n"\ +"UGC_DID_CREATE_SUCCEED=function()return _natives.invoke_bool(0x24E4E51FC16305F9);end,\n"\ +"UGC_GET_CREATE_RESULT=function()return _natives.invoke_int(0xFBC5E768C7A77A6A);end,\n"\ +"UGC_GET_CREATE_CONTENT_ID=function()return _natives.invoke_str(0xC55A0B40FFB1ED23);end,\n"\ +"UGC_CLEAR_CREATE_RESULT=function()return _natives.invoke_void(0x17440AA15D1D3739);end,\n"\ +"UGC_QUERY_MY_CONTENT=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_bool(0x9BF438815F5D96EA,p0,p1,p2,p3,p4,p5);end,\n"\ +"UGC_QUERY_BY_CATEGORY=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_bool(0x692D58DF40657E8C,p0,p1,p2,p3,p4,p5);end,\n"\ +"UGC_QUERY_BY_CONTENT_ID=function(contentId,latestVersion,contentTypeName)return _natives.invoke_bool(0x158EC424F35EC469,contentId,latestVersion,contentTypeName);end,\n"\ +"UGC_QUERY_BY_CONTENT_IDS=function(data,count,latestVersion,contentTypeName)return _natives.invoke_bool(0xC7397A83F7A2A462,data,count,latestVersion,contentTypeName);end,\n"\ +"UGC_QUERY_MOST_RECENTLY_CREATED_CONTENT=function(offset,count,contentTypeName,p3)return _natives.invoke_bool(0x6D4CB481FAC835E8,offset,count,contentTypeName,p3);end,\n"\ +"UGC_GET_BOOKMARKED_CONTENT=function(p0,p1,p2,p3)return _natives.invoke_bool(0xD5A4B59980401588,p0,p1,p2,p3);end,\n"\ +"UGC_GET_MY_CONTENT=function(p0,p1,p2,p3)return _natives.invoke_bool(0x3195F8DD0D531052,p0,p1,p2,p3);end,\n"\ +"UGC_GET_FRIEND_CONTENT=function(p0,p1,p2,p3)return _natives.invoke_bool(0xF9E1CCAE8BA4C281,p0,p1,p2,p3);end,\n"\ +"UGC_GET_CREW_CONTENT=function(p0,p1,p2,p3,p4)return _natives.invoke_bool(0x9F6E2821885CAEE2,p0,p1,p2,p3,p4);end,\n"\ +"UGC_GET_GET_BY_CATEGORY=function(p0,p1,p2,p3,p4)return _natives.invoke_bool(0x678BB03C1A3BD51E,p0,p1,p2,p3,p4);end,\n"\ +"UGC_GET_GET_BY_CONTENT_ID=function(contentId,contentTypeName)return _natives.invoke_bool(0x815E5E3073DA1D67,contentId,contentTypeName);end,\n"\ +"UGC_GET_GET_BY_CONTENT_IDS=function(data,dataCount,contentTypeName)return _natives.invoke_bool(0xB8322EEB38BE7C26,data,dataCount,contentTypeName);end,\n"\ +"UGC_GET_MOST_RECENTLY_CREATED_CONTENT=function(p0,p1,p2,p3)return _natives.invoke_bool(0xA7862BC5ED1DFD7E,p0,p1,p2,p3);end,\n"\ +"UGC_GET_MOST_RECENTLY_PLAYED_CONTENT=function(p0,p1,p2,p3)return _natives.invoke_bool(0x97A770BEEF227E2B,p0,p1,p2,p3);end,\n"\ +"UGC_GET_TOP_RATED_CONTENT=function(p0,p1,p2,p3)return _natives.invoke_bool(0x5324A0E3E4CE3570,p0,p1,p2,p3);end,\n"\ +"UGC_CANCEL_QUERY=function()return _natives.invoke_void(0xE9B99B6853181409);end,\n"\ +"UGC_IS_GETTING=function()return _natives.invoke_bool(0xD53ACDBEF24A46E8);end,\n"\ +"UGC_HAS_GET_FINISHED=function()return _natives.invoke_bool(0x02ADA21EA2F6918F);end,\n"\ +"UGC_DID_GET_SUCCEED=function()return _natives.invoke_bool(0x941E5306BCD7C2C7);end,\n"\ +"UGC_WAS_QUERY_FORCE_CANCELLED=function()return _natives.invoke_bool(0xC87E740D9F3872CC);end,\n"\ +"UGC_GET_QUERY_RESULT=function()return _natives.invoke_int(0xEDF7F927136C224B);end,\n"\ +"UGC_GET_CONTENT_NUM=function()return _natives.invoke_int(0xE0A6138401BCB837);end,\n"\ +"UGC_GET_CONTENT_TOTAL=function()return _natives.invoke_int(0x769951E2455E2EB5);end,\n"\ +"UGC_GET_CONTENT_HASH=function()return _natives.invoke_int(0x3A17A27D75C74887);end,\n"\ +"UGC_CLEAR_QUERY_RESULTS=function()return _natives.invoke_void(0xBA96394A0EECFA65);end,\n"\ +"UGC_GET_CONTENT_USER_ID=function(p0)return _natives.invoke_str(0xCD67AD041A394C9C,p0);end,\n"\ +"UGC_GET_CONTENT_CREATOR_GAMER_HANDLE=function(p0,p1)return _natives.invoke_bool(0x584770794D758C18,p0,p1);end,\n"\ +"UGC_GET_CONTENT_CREATED_BY_LOCAL_PLAYER=function(p0)return _natives.invoke_bool(0x8C8D2739BA44AF0F,p0);end,\n"\ +"UGC_GET_CONTENT_USER_NAME=function(p0)return _natives.invoke_str(0x703F12425ECA8BF5,p0);end,\n"\ +"UGC_GET_CONTENT_IS_USING_SC_NICKNAME=function(p0)return _natives.invoke_bool(0xAEAB987727C5A8A4,p0);end,\n"\ +"UGC_GET_CONTENT_CATEGORY=function(p0)return _natives.invoke_int(0xA7BAB11E7C9C6C5A,p0);end,\n"\ +"UGC_GET_CONTENT_ID=function(p0)return _natives.invoke_str(0x55AA95F481D694D2,p0);end,\n"\ +"UGC_GET_ROOT_CONTENT_ID=function(p0)return _natives.invoke_str(0xC0173D6BFF4E0348,p0);end,\n"\ +"UGC_GET_CONTENT_NAME=function(p0)return _natives.invoke_str(0xBF09786A7FCAB582,p0);end,\n"\ +"UGC_GET_CONTENT_DESCRIPTION_HASH=function(p0)return _natives.invoke_int(0x7CF0448787B23758,p0);end,\n"\ +"UGC_GET_CONTENT_PATH=function(p0,p1)return _natives.invoke_str(0xBAF6BABF9E7CCC13,p0,p1);end,\n"\ +"UGC_GET_CONTENT_UPDATED_DATE=function(p0,p1)return _natives.invoke_void(0xCFD115B373C0DF63,p0,p1);end,\n"\ +"UGC_GET_CONTENT_FILE_VERSION=function(p0,p1)return _natives.invoke_int(0x37025B27D9B658B1,p0,p1);end,\n"\ +"UGC_GET_CONTENT_HAS_LO_RES_PHOTO=function(p0)return _natives.invoke_bool(0x1D610EB0FEA716D9,p0);end,\n"\ +"UGC_GET_CONTENT_HAS_HI_RES_PHOTO=function(p0)return _natives.invoke_bool(0x7FCC39C46C3C03BD,p0);end,\n"\ +"UGC_GET_CONTENT_LANGUAGE=function(p0)return _natives.invoke_int(0x32DD916F3F7C9672,p0);end,\n"\ +"UGC_GET_CONTENT_IS_PUBLISHED=function(p0)return _natives.invoke_bool(0x3054F114121C21EA,p0);end,\n"\ +"UGC_GET_CONTENT_IS_VERIFIED=function(p0)return _natives.invoke_bool(0xA9240A96C74CCA13,p0);end,\n"\ +"UGC_GET_CONTENT_RATING=function(p0,p1)return _natives.invoke_float(0x1ACCFBA3D8DAB2EE,p0,p1);end,\n"\ +"UGC_GET_CONTENT_RATING_COUNT=function(p0,p1)return _natives.invoke_int(0x759299C5BB31D2A9,p0,p1);end,\n"\ +"UGC_GET_CONTENT_RATING_POSITIVE_COUNT=function(p0,p1)return _natives.invoke_int(0x87E5C46C187FE0AE,p0,p1);end,\n"\ +"UGC_GET_CONTENT_RATING_NEGATIVE_COUNT=function(p0,p1)return _natives.invoke_int(0x4E548C0D7AE39FF9,p0,p1);end,\n"\ +"UGC_GET_CONTENT_HAS_PLAYER_RECORD=function(p0)return _natives.invoke_bool(0x70EA8DA57840F9BE,p0);end,\n"\ +"UGC_GET_CONTENT_HAS_PLAYER_BOOKMARKED=function(p0)return _natives.invoke_bool(0x993CBE59D350D225,p0);end,\n"\ +"UGC_REQUEST_CONTENT_DATA_FROM_INDEX=function(p0,p1)return _natives.invoke_int(0x171DF6A0C07FB3DC,p0,p1);end,\n"\ +"UGC_REQUEST_CONTENT_DATA_FROM_PARAMS=function(contentTypeName,contentId,p2,p3,p4)return _natives.invoke_int(0x7FD2990AF016795E,contentTypeName,contentId,p2,p3,p4);end,\n"\ +"UGC_REQUEST_CACHED_DESCRIPTION=function(p0)return _natives.invoke_int(0x5E0165278F6339EE,p0);end,\n"\ +"UGC_IS_DESCRIPTION_REQUEST_IN_PROGRESS=function(p0)return _natives.invoke_bool(0x2D5DC831176D0114,p0);end,\n"\ +"UGC_HAS_DESCRIPTION_REQUEST_FINISHED=function(p0)return _natives.invoke_bool(0xEBFA8D50ADDC54C4,p0);end,\n"\ +"UGC_DID_DESCRIPTION_REQUEST_SUCCEED=function(p0)return _natives.invoke_bool(0x162C23CA83ED0A62,p0);end,\n"\ +"UGC_GET_CACHED_DESCRIPTION=function(p0,p1)return _natives.invoke_str(0x40F7E66472DF3E5C,p0,p1);end,\n"\ +"UGC_RELEASE_CACHED_DESCRIPTION=function(p0)return _natives.invoke_bool(0x5A34CD9C3C5BEC44,p0);end,\n"\ +"UGC_RELEASE_ALL_CACHED_DESCRIPTIONS=function()return _natives.invoke_void(0x68103E2247887242);end,\n"\ +"UGC_PUBLISH=function(contentId,baseContentId,contentTypeName)return _natives.invoke_bool(0x1DE0F5F50D723CAA,contentId,baseContentId,contentTypeName);end,\n"\ +"UGC_SET_BOOKMARKED=function(contentId,bookmarked,contentTypeName)return _natives.invoke_bool(0x274A1519DFC1094F,contentId,bookmarked,contentTypeName);end,\n"\ +"UGC_SET_DELETED=function(p0,p1,p2)return _natives.invoke_bool(0xD05D1A6C74DA3498,p0,p1,p2);end,\n"\ +"UGC_IS_MODIFYING=function()return _natives.invoke_bool(0x45E816772E93A9DB);end,\n"\ +"UGC_HAS_MODIFY_FINISHED=function()return _natives.invoke_bool(0x299EF3C576773506);end,\n"\ +"UGC_DID_MODIFY_SUCCEED=function()return _natives.invoke_bool(0x793FF272D5B365F4);end,\n"\ +"UGC_GET_MODIFY_RESULT=function()return _natives.invoke_int(0x5A0A3D1A186A5508);end,\n"\ +"UGC_CLEAR_MODIFY_RESULT=function()return _natives.invoke_void(0xA1E5E0204A6FCC70);end,\n"\ +"UGC_GET_CREATORS_BY_USER_ID=function(p0,p1)return _natives.invoke_bool(0xB746D20B17F2A229,p0,p1);end,\n"\ +"UGC_HAS_QUERY_CREATORS_FINISHED=function()return _natives.invoke_bool(0x63B406D7884BFA95);end,\n"\ +"UGC_DID_QUERY_CREATORS_SUCCEED=function()return _natives.invoke_bool(0x4D02279C83BE69FE);end,\n"\ +"UGC_GET_CREATOR_NUM=function()return _natives.invoke_int(0x597F8DBA9B206FC7);end,\n"\ +"UGC_LOAD_OFFLINE_QUERY=function(p0)return _natives.invoke_bool(0x5CAE833B0EE0C500,p0);end,\n"\ +"UGC_CLEAR_OFFLINE_QUERY=function()return _natives.invoke_void(0x61A885D3F7CFEE9A);end,\n"\ +"UGC_SET_QUERY_DATA_FROM_OFFLINE=function(p0)return _natives.invoke_void(0xF98DDE0A8ED09323,p0);end,\n"\ +"UGC_SET_USING_OFFLINE_CONTENT=function(p0)return _natives.invoke_void(0xFD75DABC0957BF33,p0);end,\n"\ +"UGC_IS_LANGUAGE_SUPPORTED=function(p0)return _natives.invoke_bool(0xF53E48461B71EECB,p0);end,\n"\ +"FACEBOOK_POST_COMPLETED_HEIST=function(heistName,cashEarned,xpEarned)return _natives.invoke_bool(0x098AB65B9ED9A9EC,heistName,cashEarned,xpEarned);end,\n"\ +"FACEBOOK_POST_CREATE_CHARACTER=function()return _natives.invoke_bool(0xDC48473142545431);end,\n"\ +"FACEBOOK_POST_COMPLETED_MILESTONE=function(milestoneId)return _natives.invoke_bool(0x0AE1F1653B554AB9,milestoneId);end,\n"\ +"FACEBOOK_HAS_POST_COMPLETED=function()return _natives.invoke_bool(0x62B9FEC9A11F10EF);end,\n"\ +"FACEBOOK_DID_POST_SUCCEED=function()return _natives.invoke_bool(0xA75E2B6733DA5142);end,\n"\ +"FACEBOOK_CAN_POST_TO_FACEBOOK=function()return _natives.invoke_bool(0x43865688AE10F0D7);end,\n"\ +"TEXTURE_DOWNLOAD_REQUEST=function(gamerHandle,filePath,name,p3)return _natives.invoke_int(0x16160DA74A8E74A2,gamerHandle,filePath,name,p3);end,\n"\ +"TITLE_TEXTURE_DOWNLOAD_REQUEST=function(filePath,name,p2)return _natives.invoke_int(0x0B203B4AFDE53A4F,filePath,name,p2);end,\n"\ +"UGC_TEXTURE_DOWNLOAD_REQUEST=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_int(0x308F96458B7087CC,p0,p1,p2,p3,p4,p5);end,\n"\ +"TEXTURE_DOWNLOAD_RELEASE=function(p0)return _natives.invoke_void(0x487EB90B98E9FB19,p0);end,\n"\ +"TEXTURE_DOWNLOAD_HAS_FAILED=function(p0)return _natives.invoke_bool(0x5776ED562C134687,p0);end,\n"\ +"TEXTURE_DOWNLOAD_GET_NAME=function(p0)return _natives.invoke_str(0x3448505B6E35262D,p0);end,\n"\ +"GET_STATUS_OF_TEXTURE_DOWNLOAD=function(p0)return _natives.invoke_int(0x8BD6C6DEA20E82C6,p0);end,\n"\ +"NETWORK_CHECK_ROS_LINK_WENTDOWN_NOT_NET=function()return _natives.invoke_bool(0x60EDD13EB3AC1FF3);end,\n"\ +"NETWORK_SHOULD_SHOW_STRICT_NAT_WARNING=function()return _natives.invoke_bool(0x82A2B386716608F1);end,\n"\ +"NETWORK_IS_CABLE_CONNECTED=function()return _natives.invoke_bool(0xEFFB25453D8600F9);end,\n"\ +"NETWORK_HAVE_SCS_PRIVATE_MSG_PRIV=function()return _natives.invoke_bool(0x66B59CFFD78467AF);end,\n"\ +"NETWORK_HAVE_ROS_SOCIAL_CLUB_PRIV=function()return _natives.invoke_bool(0x606E4D3E3CCCF3EB);end,\n"\ +"NETWORK_HAVE_ROS_BANNED_PRIV=function()return _natives.invoke_bool(0x8020A73847E0CA7D);end,\n"\ +"NETWORK_HAVE_ROS_CREATE_TICKET_PRIV=function()return _natives.invoke_bool(0xA0AD7E2AF5349F61);end,\n"\ +"NETWORK_HAVE_ROS_MULTIPLAYER_PRIV=function()return _natives.invoke_bool(0x5F91D5D0B36AA310);end,\n"\ +"NETWORK_HAVE_ROS_LEADERBOARD_WRITE_PRIV=function()return _natives.invoke_bool(0x422D396F80A96547);end,\n"\ +"NETWORK_HAS_ROS_PRIVILEGE=function(index)return _natives.invoke_bool(0xA699957E60D80214,index);end,\n"\ +"NETWORK_HAS_ROS_PRIVILEGE_END_DATE=function(privilege,banType,timeData)return _natives.invoke_bool(0xC22912B1D85F26B1,privilege,banType,timeData);end,\n"\ +"NETWORK_HAS_ROS_PRIVILEGE_PLAYED_LAST_GEN=function()return _natives.invoke_bool(0x593570C289A77688);end,\n"\ +"NETWORK_HAS_ROS_PRIVILEGE_SPECIAL_EDITION_CONTENT=function()return _natives.invoke_bool(0x91B87C55093DE351);end,\n"\ +"NETWORK_START_COMMUNICATION_PERMISSIONS_CHECK=function(p0)return _natives.invoke_int(0x36391F397731595D,p0);end,\n"\ +"NETWORK_START_USER_CONTENT_PERMISSIONS_CHECK=function(netHandle)return _natives.invoke_int(0xDEB2B99A1AF1A2A6,netHandle);end,\n"\ +"NETWORK_SKIP_RADIO_RESET_NEXT_CLOSE=function()return _natives.invoke_void(0x9465E683B12D3F6B);end,\n"\ +"NETWORK_SKIP_RADIO_RESET_NEXT_OPEN=function()return _natives.invoke_void(0xCA59CCAE5D01E4CE);end,\n"\ +"NETWORK_SKIP_RADIO_WARNING=function()return _natives.invoke_bool(0x659CF2EF7F550C4F);end,\n"\ +"NETWORK_FORCE_LOCAL_PLAYER_SCAR_SYNC=function()return _natives.invoke_void(0xB7C7F6AD6424304B);end,\n"\ +"NETWORK_DISABLE_LEAVE_REMOTE_PED_BEHIND=function(toggle)return _natives.invoke_void(0xC505036A35AFD01B,toggle);end,\n"\ +"NETWORK_ALLOW_REMOTE_ATTACHMENT_MODIFICATION=function(entity,toggle)return _natives.invoke_void(0x267C78C60E806B9A,entity,toggle);end,\n"\ +"NETWORK_SHOW_CHAT_RESTRICTION_MSC=function(player)return _natives.invoke_void(0x6BFF5F84102DF80A,player);end,\n"\ +"NETWORK_SHOW_PSN_UGC_RESTRICTION=function()return _natives.invoke_void(0x5C497525F803486B);end,\n"\ +"NETWORK_IS_TITLE_UPDATE_REQUIRED=function()return _natives.invoke_bool(0x6FB7BB3607D27FA2);end,\n"\ +"NETWORK_QUIT_MP_TO_DESKTOP=function()return _natives.invoke_void(0x45A83257ED02D9BC);end,\n"\ +"NETWORK_IS_CONNECTED_VIA_RELAY=function(player)return _natives.invoke_bool(0x16D3D49902F697BB,player);end,\n"\ +"NETWORK_GET_AVERAGE_LATENCY=function(player)return _natives.invoke_float(0xD414BE129BB81B32,player);end,\n"\ +"NETWORK_GET_AVERAGE_PING=function(player)return _natives.invoke_float(0x0E3A041ED6AC2B45,player);end,\n"\ +"NETWORK_GET_AVERAGE_PACKET_LOSS=function(player)return _natives.invoke_float(0x350C23949E43686C,player);end,\n"\ +"NETWORK_GET_NUM_UNACKED_RELIABLES=function(player)return _natives.invoke_int(0xFF8FCF9FFC458A1C,player);end,\n"\ +"NETWORK_GET_UNRELIABLE_RESEND_COUNT=function(player)return _natives.invoke_int(0x3765C3A3E8192E10,player);end,\n"\ +"NETWORK_GET_HIGHEST_RELIABLE_RESEND_COUNT=function(player)return _natives.invoke_int(0x52C1EADAF7B10302,player);end,\n"\ +"NETWORK_REPORT_CODE_TAMPER=function()return _natives.invoke_void(0x5626D9D6810730D5);end,\n"\ +"NETWORK_GET_LAST_ENTITY_POS_RECEIVED_OVER_NETWORK=function(entity)return _natives.invoke_vec3(0x64D779659BC37B19,entity);end,\n"\ +"NETWORK_GET_LAST_PLAYER_POS_RECEIVED_OVER_NETWORK=function(player)return _natives.invoke_vec3(0x125E6D638B8605D4,player);end,\n"\ +"NETWORK_GET_LAST_VEL_RECEIVED_OVER_NETWORK=function(entity)return _natives.invoke_vec3(0x33DE49EDF4DDE77A,entity);end,\n"\ +"NETWORK_GET_PREDICTED_VELOCITY=function(entity)return _natives.invoke_vec3(0xAA5FAFCD2C5F5E47,entity);end,\n"\ +"NETWORK_DUMP_NET_IF_CONFIG=function()return _natives.invoke_void(0xAEDF1BC1C133D6E3);end,\n"\ +"NETWORK_GET_SIGNALLING_INFO=function(p0)return _natives.invoke_void(0x2555CF7DA5473794,p0);end,\n"\ +"NETWORK_GET_NET_STATISTICS_INFO=function(p0)return _natives.invoke_void(0x6FD992C4A1C1B986,p0);end,\n"\ +"NETWORK_GET_PLAYER_ACCOUNT_ID=function(player)return _natives.invoke_int(0xDB663CC9FF3407A9,player);end,\n"\ +"NETWORK_UGC_NAV=function(p0,p1)return _natives.invoke_void(0xC1447451DDB512F0,p0,p1);end,\n"\ +"};\n"\ +"OBJECT = {\n"\ +"CREATE_OBJECT=function(modelHash,x,y,z,isNetwork,bScriptHostObj,dynamic)return _natives.invoke_int(0x509D5878EB39E842,modelHash,x,y,z,isNetwork,bScriptHostObj,dynamic);end,\n"\ +"CREATE_OBJECT_NO_OFFSET=function(modelHash,x,y,z,isNetwork,bScriptHostObj,dynamic)return _natives.invoke_int(0x9A294B2138ABB884,modelHash,x,y,z,isNetwork,bScriptHostObj,dynamic);end,\n"\ +"DELETE_OBJECT=function(object)return _natives.invoke_void(0x539E0AE3E6634B9F,object);end,\n"\ +"PLACE_OBJECT_ON_GROUND_PROPERLY=function(object)return _natives.invoke_bool(0x58A850EAEE20FAA3,object);end,\n"\ +"PLACE_OBJECT_ON_GROUND_OR_OBJECT_PROPERLY=function(object)return _natives.invoke_bool(0xD76EEEF746057FD6,object);end,\n"\ +"ROTATE_OBJECT=function(object,p1,p2,p3)return _natives.invoke_bool(0xAFE24E4D29249E4A,object,p1,p2,p3);end,\n"\ +"SLIDE_OBJECT=function(object,toX,toY,toZ,speedX,speedY,speedZ,collision)return _natives.invoke_bool(0x2FDFF4107B8C1147,object,toX,toY,toZ,speedX,speedY,speedZ,collision);end,\n"\ +"SET_OBJECT_TARGETTABLE=function(object,targettable)return _natives.invoke_void(0x8A7391690F5AFD81,object,targettable);end,\n"\ +"SET_OBJECT_FORCE_VEHICLES_TO_AVOID=function(object,toggle)return _natives.invoke_void(0x77F33F2CCF64B3AA,object,toggle);end,\n"\ +"GET_CLOSEST_OBJECT_OF_TYPE=function(x,y,z,radius,modelHash,isMission,p6,p7)return _natives.invoke_int(0xE143FA2249364369,x,y,z,radius,modelHash,isMission,p6,p7);end,\n"\ +"HAS_OBJECT_BEEN_BROKEN=function(object,p1)return _natives.invoke_bool(0x8ABFB70C49CC43E2,object,p1);end,\n"\ +"HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_BROKEN=function(p0,p1,p2,p3,modelHash,p5)return _natives.invoke_bool(0x761B0E69AC4D007E,p0,p1,p2,p3,modelHash,p5);end,\n"\ +"HAS_CLOSEST_OBJECT_OF_TYPE_BEEN_COMPLETELY_DESTROYED=function(x,y,z,radius,modelHash,p5)return _natives.invoke_bool(0x46494A2475701343,x,y,z,radius,modelHash,p5);end,\n"\ +"GET_HAS_OBJECT_BEEN_COMPLETELY_DESTROYED=function(p0)return _natives.invoke_bool(0x2542269291C6AC84,p0);end,\n"\ +"GET_OFFSET_FROM_COORD_AND_HEADING_IN_WORLD_COORDS=function(xPos,yPos,zPos,heading,xOffset,yOffset,zOffset)return _natives.invoke_vec3(0x163E252DE035A133,xPos,yPos,zPos,heading,xOffset,yOffset,zOffset);end,\n"\ +"GET_COORDS_AND_ROTATION_OF_CLOSEST_OBJECT_OF_TYPE=function(x,y,z,radius,modelHash,outPosition,outRotation,rotationOrder)return _natives.invoke_bool(0x163F8B586BC95F2A,x,y,z,radius,modelHash,outPosition,outRotation,rotationOrder);end,\n"\ +"SET_STATE_OF_CLOSEST_DOOR_OF_TYPE=function(type,x,y,z,locked,heading,p6)return _natives.invoke_void(0xF82D8F1926A02C3D,type,x,y,z,locked,heading,p6);end,\n"\ +"GET_STATE_OF_CLOSEST_DOOR_OF_TYPE=function(type,x,y,z,locked,heading)return _natives.invoke_void(0xEDC1A5B84AEF33FF,type,x,y,z,locked,heading);end,\n"\ +"SET_LOCKED_UNSTREAMED_IN_DOOR_OF_TYPE=function(modelHash,x,y,z,locked,xRotMult,yRotMult,zRotMult)return _natives.invoke_void(0x9B12F9A24FABEDB0,modelHash,x,y,z,locked,xRotMult,yRotMult,zRotMult);end,\n"\ +"PLAY_OBJECT_AUTO_START_ANIM=function(p0)return _natives.invoke_void(0x006E4B040ED37EC3,p0);end,\n"\ +"ADD_DOOR_TO_SYSTEM=function(doorHash,modelHash,x,y,z,p5,scriptDoor,isLocal)return _natives.invoke_void(0x6F8838D03D1DC226,doorHash,modelHash,x,y,z,p5,scriptDoor,isLocal);end,\n"\ +"REMOVE_DOOR_FROM_SYSTEM=function(doorHash,p1)return _natives.invoke_void(0x464D8E1427156FE4,doorHash,p1);end,\n"\ +"DOOR_SYSTEM_SET_DOOR_STATE=function(doorHash,state,requestDoor,forceUpdate)return _natives.invoke_void(0x6BAB9442830C7F53,doorHash,state,requestDoor,forceUpdate);end,\n"\ +"DOOR_SYSTEM_GET_DOOR_STATE=function(doorHash)return _natives.invoke_int(0x160AA1B32F6139B8,doorHash);end,\n"\ +"DOOR_SYSTEM_GET_DOOR_PENDING_STATE=function(doorHash)return _natives.invoke_int(0x4BC2854478F3A749,doorHash);end,\n"\ +"DOOR_SYSTEM_SET_AUTOMATIC_RATE=function(doorHash,rate,requestDoor,forceUpdate)return _natives.invoke_void(0x03C27E13B42A0E82,doorHash,rate,requestDoor,forceUpdate);end,\n"\ +"DOOR_SYSTEM_SET_AUTOMATIC_DISTANCE=function(doorHash,distance,requestDoor,forceUpdate)return _natives.invoke_void(0x9BA001CB45CBF627,doorHash,distance,requestDoor,forceUpdate);end,\n"\ +"DOOR_SYSTEM_SET_OPEN_RATIO=function(doorHash,ajar,requestDoor,forceUpdate)return _natives.invoke_void(0xB6E6FBA95C7324AC,doorHash,ajar,requestDoor,forceUpdate);end,\n"\ +"DOOR_SYSTEM_GET_AUTOMATIC_DISTANCE=function(doorHash)return _natives.invoke_float(0xE851471AEFC3374F,doorHash);end,\n"\ +"DOOR_SYSTEM_GET_OPEN_RATIO=function(doorHash)return _natives.invoke_float(0x65499865FCA6E5EC,doorHash);end,\n"\ +"DOOR_SYSTEM_SET_SPRING_REMOVED=function(doorHash,removed,requestDoor,forceUpdate)return _natives.invoke_void(0xC485E07E4F0B7958,doorHash,removed,requestDoor,forceUpdate);end,\n"\ +"DOOR_SYSTEM_SET_HOLD_OPEN=function(doorHash,toggle)return _natives.invoke_void(0xD9B71952F78A2640,doorHash,toggle);end,\n"\ +"DOOR_SYSTEM_SET_DOOR_OPEN_FOR_RACES=function(doorHash,p1)return _natives.invoke_void(0xA85A21582451E951,doorHash,p1);end,\n"\ +"IS_DOOR_REGISTERED_WITH_SYSTEM=function(doorHash)return _natives.invoke_bool(0xC153C43EA202C8C1,doorHash);end,\n"\ +"IS_DOOR_CLOSED=function(doorHash)return _natives.invoke_bool(0xC531EE8A1145A149,doorHash);end,\n"\ +"OPEN_ALL_BARRIERS_FOR_RACE=function(p0)return _natives.invoke_void(0xC7F29CA00F46350E,p0);end,\n"\ +"CLOSE_ALL_BARRIERS_FOR_RACE=function()return _natives.invoke_void(0x701FDA1E82076BA4);end,\n"\ +"DOOR_SYSTEM_GET_IS_PHYSICS_LOADED=function(p0)return _natives.invoke_bool(0xDF97CDD4FC08FD34,p0);end,\n"\ +"DOOR_SYSTEM_FIND_EXISTING_DOOR=function(x,y,z,modelHash,outDoorHash)return _natives.invoke_bool(0x589F80B325CC82C5,x,y,z,modelHash,outDoorHash);end,\n"\ +"IS_GARAGE_EMPTY=function(garageHash,p1,p2)return _natives.invoke_bool(0x90E47239EA1980B8,garageHash,p1,p2);end,\n"\ +"IS_PLAYER_ENTIRELY_INSIDE_GARAGE=function(garageHash,player,p2,p3)return _natives.invoke_bool(0x024A60DEB0EA69F0,garageHash,player,p2,p3);end,\n"\ +"IS_PLAYER_PARTIALLY_INSIDE_GARAGE=function(garageHash,player,p2)return _natives.invoke_bool(0x1761DC5D8471CBAA,garageHash,player,p2);end,\n"\ +"ARE_ENTITIES_ENTIRELY_INSIDE_GARAGE=function(garageHash,p1,p2,p3,p4)return _natives.invoke_bool(0x85B6C850546FDDE2,garageHash,p1,p2,p3,p4);end,\n"\ +"IS_ANY_ENTITY_ENTIRELY_INSIDE_GARAGE=function(garageHash,p1,p2,p3,p4)return _natives.invoke_bool(0x673ED815D6E323B7,garageHash,p1,p2,p3,p4);end,\n"\ +"IS_OBJECT_ENTIRELY_INSIDE_GARAGE=function(garageHash,entity,p2,p3)return _natives.invoke_bool(0x372EF6699146A1E4,garageHash,entity,p2,p3);end,\n"\ +"IS_OBJECT_PARTIALLY_INSIDE_GARAGE=function(garageHash,entity,p2)return _natives.invoke_bool(0xF0EED5A6BC7B237A,garageHash,entity,p2);end,\n"\ +"CLEAR_GARAGE=function(garageHash,isNetwork)return _natives.invoke_void(0xDA05194260CDCDF9,garageHash,isNetwork);end,\n"\ +"CLEAR_OBJECTS_INSIDE_GARAGE=function(garageHash,vehicles,peds,objects,isNetwork)return _natives.invoke_void(0x190428512B240692,garageHash,vehicles,peds,objects,isNetwork);end,\n"\ +"DISABLE_TIDYING_UP_IN_GARAGE=function(id,toggle)return _natives.invoke_void(0x659F9D71F52843F8,id,toggle);end,\n"\ +"ENABLE_SAVING_IN_GARAGE=function(garageHash,toggle)return _natives.invoke_void(0xF2E1A7133DD356A6,garageHash,toggle);end,\n"\ +"CLOSE_SAFEHOUSE_GARAGES=function()return _natives.invoke_void(0x66A49D021870FE88);end,\n"\ +"DOES_OBJECT_OF_TYPE_EXIST_AT_COORDS=function(x,y,z,radius,hash,p5)return _natives.invoke_bool(0xBFA48E2FF417213F,x,y,z,radius,hash,p5);end,\n"\ +"IS_POINT_IN_ANGLED_AREA=function(xPos,yPos,zPos,x1,y1,z1,x2,y2,z2,width,debug,includeZ)return _natives.invoke_bool(0x2A70BAE8883E4C81,xPos,yPos,zPos,x1,y1,z1,x2,y2,z2,width,debug,includeZ);end,\n"\ +"SET_OBJECT_ALLOW_LOW_LOD_BUOYANCY=function(object,toggle)return _natives.invoke_void(0x4D89D607CB3DD1D2,object,toggle);end,\n"\ +"SET_OBJECT_PHYSICS_PARAMS=function(object,weight,p2,p3,p4,p5,gravity,p7,p8,p9,p10,buoyancy)return _natives.invoke_void(0xF6DF6E90DE7DF90F,object,weight,p2,p3,p4,p5,gravity,p7,p8,p9,p10,buoyancy);end,\n"\ +"GET_OBJECT_FRAGMENT_DAMAGE_HEALTH=function(p0,p1)return _natives.invoke_float(0xB6FBFD079B8D0596,p0,p1);end,\n"\ +"SET_ACTIVATE_OBJECT_PHYSICS_AS_SOON_AS_IT_IS_UNFROZEN=function(object,toggle)return _natives.invoke_void(0x406137F8EF90EAF5,object,toggle);end,\n"\ +"IS_ANY_OBJECT_NEAR_POINT=function(x,y,z,range,p4)return _natives.invoke_bool(0x397DC58FF00298D1,x,y,z,range,p4);end,\n"\ +"IS_OBJECT_NEAR_POINT=function(objectHash,x,y,z,range)return _natives.invoke_bool(0x8C90FE4B381BA60A,objectHash,x,y,z,range);end,\n"\ +"REMOVE_OBJECT_HIGH_DETAIL_MODEL=function(object)return _natives.invoke_void(0x4A39DB43E47CF3AA,object);end,\n"\ +"BREAK_OBJECT_FRAGMENT_CHILD=function(p0,p1,p2)return _natives.invoke_void(0xE7E4C198B0185900,p0,p1,p2);end,\n"\ +"DAMAGE_OBJECT_FRAGMENT_CHILD=function(p0,p1,p2)return _natives.invoke_void(0xE05F6AEEFEB0BB02,p0,p1,p2);end,\n"\ +"FIX_OBJECT_FRAGMENT=function(object)return _natives.invoke_void(0xF9C1681347C8BD15,object);end,\n"\ +"TRACK_OBJECT_VISIBILITY=function(object)return _natives.invoke_void(0xB252BC036B525623,object);end,\n"\ +"IS_OBJECT_VISIBLE=function(object)return _natives.invoke_bool(0x8B32ACE6326A7546,object);end,\n"\ +"SET_OBJECT_IS_SPECIAL_GOLFBALL=function(object,toggle)return _natives.invoke_void(0xC6033D32241F6FB5,object,toggle);end,\n"\ +"SET_OBJECT_TAKES_DAMAGE_FROM_COLLIDING_WITH_BUILDINGS=function(p0,p1)return _natives.invoke_void(0xEB6F1A9B5510A5D2,p0,p1);end,\n"\ +"ALLOW_DAMAGE_EVENTS_FOR_NON_NETWORKED_OBJECTS=function(value)return _natives.invoke_void(0xABDABF4E1EDECBFA,value);end,\n"\ +"SET_CUTSCENES_WEAPON_FLASHLIGHT_ON_THIS_FRAME=function(object,toggle)return _natives.invoke_void(0xBCE595371A5FBAAF,object,toggle);end,\n"\ +"GET_RAYFIRE_MAP_OBJECT=function(x,y,z,radius,name)return _natives.invoke_int(0xB48FCED898292E52,x,y,z,radius,name);end,\n"\ +"SET_STATE_OF_RAYFIRE_MAP_OBJECT=function(object,state)return _natives.invoke_void(0x5C29F698D404C5E1,object,state);end,\n"\ +"GET_STATE_OF_RAYFIRE_MAP_OBJECT=function(object)return _natives.invoke_int(0x899BA936634A322E,object);end,\n"\ +"DOES_RAYFIRE_MAP_OBJECT_EXIST=function(object)return _natives.invoke_bool(0x52AF537A0C5B8AAD,object);end,\n"\ +"GET_RAYFIRE_MAP_OBJECT_ANIM_PHASE=function(object)return _natives.invoke_float(0x260EE4FDBDF4DB01,object);end,\n"\ +"CREATE_PICKUP=function(pickupHash,posX,posY,posZ,p4,value,p6,modelHash)return _natives.invoke_int(0xFBA08C503DD5FA58,pickupHash,posX,posY,posZ,p4,value,p6,modelHash);end,\n"\ +"CREATE_PICKUP_ROTATE=function(pickupHash,posX,posY,posZ,rotX,rotY,rotZ,flag,amount,p9,p10,modelHash)return _natives.invoke_int(0x891804727E0A98B7,pickupHash,posX,posY,posZ,rotX,rotY,rotZ,flag,amount,p9,p10,modelHash);end,\n"\ +"FORCE_PICKUP_ROTATE_FACE_UP=function()return _natives.invoke_void(0x394CD08E31313C28);end,\n"\ +"SET_CUSTOM_PICKUP_WEAPON_HASH=function(pickupHash,pickup)return _natives.invoke_void(0x826D1EE4D1CAFC78,pickupHash,pickup);end,\n"\ +"CREATE_AMBIENT_PICKUP=function(pickupHash,posX,posY,posZ,flags,value,modelHash,p7,p8)return _natives.invoke_int(0x673966A0C0FD7171,pickupHash,posX,posY,posZ,flags,value,modelHash,p7,p8);end,\n"\ +"CREATE_NON_NETWORKED_AMBIENT_PICKUP=function(pickupHash,posX,posY,posZ,flags,value,modelHash,p7,p8)return _natives.invoke_int(0x9C93764223E29C50,pickupHash,posX,posY,posZ,flags,value,modelHash,p7,p8);end,\n"\ +"BLOCK_PLAYERS_FOR_AMBIENT_PICKUP=function(p0,p1)return _natives.invoke_void(0x1E3F1B1B891A2AAA,p0,p1);end,\n"\ +"CREATE_PORTABLE_PICKUP=function(pickupHash,x,y,z,placeOnGround,modelHash)return _natives.invoke_int(0x2EAF1FDB2FB55698,pickupHash,x,y,z,placeOnGround,modelHash);end,\n"\ +"CREATE_NON_NETWORKED_PORTABLE_PICKUP=function(pickupHash,x,y,z,placeOnGround,modelHash)return _natives.invoke_int(0x125494B98A21AAF7,pickupHash,x,y,z,placeOnGround,modelHash);end,\n"\ +"ATTACH_PORTABLE_PICKUP_TO_PED=function(pickupObject,ped)return _natives.invoke_void(0x8DC39368BDD57755,pickupObject,ped);end,\n"\ +"DETACH_PORTABLE_PICKUP_FROM_PED=function(pickupObject)return _natives.invoke_void(0xCF463D1E9A0AECB1,pickupObject);end,\n"\ +"FORCE_PORTABLE_PICKUP_LAST_ACCESSIBLE_POSITION_SETTING=function(object)return _natives.invoke_void(0x5CE2E45A5CE2E45A,object);end,\n"\ +"HIDE_PORTABLE_PICKUP_WHEN_DETACHED=function(pickupObject,toggle)return _natives.invoke_void(0x867458251D47CCB2,pickupObject,toggle);end,\n"\ +"SET_MAX_NUM_PORTABLE_PICKUPS_CARRIED_BY_PLAYER=function(modelHash,number)return _natives.invoke_void(0x0BF3B3BD47D79C08,modelHash,number);end,\n"\ +"SET_LOCAL_PLAYER_CAN_COLLECT_PORTABLE_PICKUPS=function(toggle)return _natives.invoke_void(0x78857FC65CADB909,toggle);end,\n"\ +"GET_SAFE_PICKUP_COORDS=function(x,y,z,p3,p4)return _natives.invoke_vec3(0x6E16BC2503FF1FF0,x,y,z,p3,p4);end,\n"\ +"ADD_EXTENDED_PICKUP_PROBE_AREA=function(x,y,z,radius)return _natives.invoke_void(0xD4A7A435B3710D05,x,y,z,radius);end,\n"\ +"CLEAR_EXTENDED_PICKUP_PROBE_AREAS=function()return _natives.invoke_void(0xB7C6D80FB371659A);end,\n"\ +"GET_PICKUP_COORDS=function(pickup)return _natives.invoke_vec3(0x225B8B35C88029B3,pickup);end,\n"\ +"SUPPRESS_PICKUP_SOUND_FOR_PICKUP=function(p0,p1)return _natives.invoke_void(0x8DCA505A5C196F05,p0,p1);end,\n"\ +"REMOVE_ALL_PICKUPS_OF_TYPE=function(pickupHash)return _natives.invoke_void(0x27F9D613092159CF,pickupHash);end,\n"\ +"HAS_PICKUP_BEEN_COLLECTED=function(pickup)return _natives.invoke_bool(0x80EC48E6679313F9,pickup);end,\n"\ +"REMOVE_PICKUP=function(pickup)return _natives.invoke_void(0x3288D8ACAECD2AB2,pickup);end,\n"\ +"CREATE_MONEY_PICKUPS=function(x,y,z,value,amount,model)return _natives.invoke_void(0x0589B5E791CE9B2B,x,y,z,value,amount,model);end,\n"\ +"DOES_PICKUP_EXIST=function(pickup)return _natives.invoke_bool(0xAFC1CA75AD4074D1,pickup);end,\n"\ +"DOES_PICKUP_OBJECT_EXIST=function(pickupObject)return _natives.invoke_bool(0xD9EFB6DBF7DAAEA3,pickupObject);end,\n"\ +"GET_PICKUP_OBJECT=function(pickup)return _natives.invoke_int(0x5099BC55630B25AE,pickup);end,\n"\ +"IS_OBJECT_A_PICKUP=function(object)return _natives.invoke_bool(0xFC481C641EBBD27D,object);end,\n"\ +"IS_OBJECT_A_PORTABLE_PICKUP=function(object)return _natives.invoke_bool(0x0378C08504160D0D,object);end,\n"\ +"DOES_PICKUP_OF_TYPE_EXIST_IN_AREA=function(pickupHash,x,y,z,radius)return _natives.invoke_bool(0xF9C36251F6E48E33,pickupHash,x,y,z,radius);end,\n"\ +"SET_PICKUP_REGENERATION_TIME=function(pickup,duration)return _natives.invoke_void(0x78015C9B4B3ECC9D,pickup,duration);end,\n"\ +"FORCE_PICKUP_REGENERATE=function(p0)return _natives.invoke_void(0x758A5C1B3B1E1990,p0);end,\n"\ +"SET_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_OF_TYPE=function(player,pickupHash,toggle)return _natives.invoke_void(0x616093EC6B139DD9,player,pickupHash,toggle);end,\n"\ +"SET_LOCAL_PLAYER_PERMITTED_TO_COLLECT_PICKUPS_WITH_MODEL=function(modelHash,toggle)return _natives.invoke_void(0x88EAEC617CD26926,modelHash,toggle);end,\n"\ +"ALLOW_ALL_PLAYERS_TO_COLLECT_PICKUPS_OF_TYPE=function(pickupHash)return _natives.invoke_void(0xFDC07C58E8AAB715,pickupHash);end,\n"\ +"SET_TEAM_PICKUP_OBJECT=function(object,p1,p2)return _natives.invoke_void(0x53E0DF1A2A3CF0CA,object,p1,p2);end,\n"\ +"PREVENT_COLLECTION_OF_PORTABLE_PICKUP=function(object,p1,p2)return _natives.invoke_void(0x92AEFB5F6E294023,object,p1,p2);end,\n"\ +"SET_PICKUP_OBJECT_GLOW_WHEN_UNCOLLECTABLE=function(pickup,toggle)return _natives.invoke_void(0x27F248C3FEBFAAD3,pickup,toggle);end,\n"\ +"SET_PICKUP_GLOW_OFFSET=function(pickup,p1)return _natives.invoke_void(0x0596843B34B95CE5,pickup,p1);end,\n"\ +"SET_PICKUP_OBJECT_GLOW_OFFSET=function(pickup,p1,p2)return _natives.invoke_void(0xA08FE5E49BDC39DD,pickup,p1,p2);end,\n"\ +"SET_OBJECT_GLOW_IN_SAME_TEAM=function(pickup)return _natives.invoke_void(0x62454A641B41F3C5,pickup);end,\n"\ +"SET_PICKUP_OBJECT_ARROW_MARKER=function(pickup,toggle)return _natives.invoke_void(0x39A5FB7EAF150840,pickup,toggle);end,\n"\ +"ALLOW_PICKUP_ARROW_MARKER_WHEN_UNCOLLECTABLE=function(pickup,toggle)return _natives.invoke_void(0x834344A414C7C85D,pickup,toggle);end,\n"\ +"GET_DEFAULT_AMMO_FOR_WEAPON_PICKUP=function(pickupHash)return _natives.invoke_int(0xDB41D07A45A6D4B7,pickupHash);end,\n"\ +"SET_PICKUP_GENERATION_RANGE_MULTIPLIER=function(multiplier)return _natives.invoke_void(0x318516E02DE3ECE2,multiplier);end,\n"\ +"GET_PICKUP_GENERATION_RANGE_MULTIPLIER=function()return _natives.invoke_float(0xB3ECA65C7317F174);end,\n"\ +"SET_ONLY_ALLOW_AMMO_COLLECTION_WHEN_LOW=function(p0)return _natives.invoke_void(0x31F924B53EADDF65,p0);end,\n"\ +"SET_PICKUP_UNCOLLECTABLE=function(pickup,toggle)return _natives.invoke_void(0x1C1B69FAE509BA97,pickup,toggle);end,\n"\ +"SET_PICKUP_TRANSPARENT_WHEN_UNCOLLECTABLE=function(pickup,toggle)return _natives.invoke_void(0x858EC9FD25DE04AA,pickup,toggle);end,\n"\ +"SET_PICKUP_HIDDEN_WHEN_UNCOLLECTABLE=function(pickup,toggle)return _natives.invoke_void(0x3ED2B83AB2E82799,pickup,toggle);end,\n"\ +"SET_PICKUP_OBJECT_TRANSPARENT_WHEN_UNCOLLECTABLE=function(pickup,toggle)return _natives.invoke_void(0x8881C98A31117998,pickup,toggle);end,\n"\ +"SET_PICKUP_OBJECT_ALPHA_WHEN_TRANSPARENT=function(p0)return _natives.invoke_void(0x8CFF648FBD7330F1,p0);end,\n"\ +"SET_PORTABLE_PICKUP_PERSIST=function(pickup,toggle)return _natives.invoke_void(0x46F3ADD1E2D5BAF2,pickup,toggle);end,\n"\ +"ALLOW_PORTABLE_PICKUP_TO_MIGRATE_TO_NON_PARTICIPANTS=function(pickup,toggle)return _natives.invoke_void(0x641F272B52E2F0F8,pickup,toggle);end,\n"\ +"FORCE_ACTIVATE_PHYSICS_ON_UNFIXED_PICKUP=function(pickup,toggle)return _natives.invoke_void(0x4C134B4DF76025D0,pickup,toggle);end,\n"\ +"ALLOW_PICKUP_BY_NONE_PARTICIPANT=function(pickup,toggle)return _natives.invoke_void(0xAA059C615DE9DD03,pickup,toggle);end,\n"\ +"SUPPRESS_PICKUP_REWARD_TYPE=function(rewardType,suppress)return _natives.invoke_void(0xF92099527DB8E2A7,rewardType,suppress);end,\n"\ +"CLEAR_ALL_PICKUP_REWARD_TYPE_SUPPRESSION=function()return _natives.invoke_void(0xA2C1F5E92AFE49ED);end,\n"\ +"CLEAR_PICKUP_REWARD_TYPE_SUPPRESSION=function(rewardType)return _natives.invoke_void(0x762DB2D380B48D04,rewardType);end,\n"\ +"RENDER_FAKE_PICKUP_GLOW=function(x,y,z,colorIndex)return _natives.invoke_void(0x3430676B11CDF21D,x,y,z,colorIndex);end,\n"\ +"SET_PICKUP_OBJECT_COLLECTABLE_IN_VEHICLE=function(pickup)return _natives.invoke_void(0x7813E8B8C4AE4799,pickup);end,\n"\ +"SET_PICKUP_TRACK_DAMAGE_EVENTS=function(pickup,toggle)return _natives.invoke_void(0xBFFE53AE7E67FCDC,pickup,toggle);end,\n"\ +"SET_ENTITY_FLAG_SUPPRESS_SHADOW=function(entity,toggle)return _natives.invoke_void(0xD05A3241B9A86F19,entity,toggle);end,\n"\ +"SET_ENTITY_FLAG_RENDER_SMALL_SHADOW=function(object,toggle)return _natives.invoke_void(0xB2D0BDE54F0E8E5A,object,toggle);end,\n"\ +"GET_WEAPON_TYPE_FROM_PICKUP_TYPE=function(pickupHash)return _natives.invoke_int(0x08F96CA6C551AD51,pickupHash);end,\n"\ +"GET_PICKUP_TYPE_FROM_WEAPON_HASH=function(weaponHash)return _natives.invoke_int(0xD6429A016084F1A5,weaponHash);end,\n"\ +"IS_PICKUP_WEAPON_OBJECT_VALID=function(object)return _natives.invoke_bool(0x11D1E53A726891FE,object);end,\n"\ +"GET_OBJECT_TINT_INDEX=function(object)return _natives.invoke_int(0xE84EB93729C5F36A,object);end,\n"\ +"SET_OBJECT_TINT_INDEX=function(object,textureVariation)return _natives.invoke_void(0x971DA0055324D033,object,textureVariation);end,\n"\ +"SET_TINT_INDEX_CLOSEST_BUILDING_OF_TYPE=function(x,y,z,radius,modelHash,textureVariation)return _natives.invoke_bool(0xF12E33034D887F66,x,y,z,radius,modelHash,textureVariation);end,\n"\ +"SET_PROP_TINT_INDEX=function(p0,p1)return _natives.invoke_void(0x31574B1B41268673,p0,p1);end,\n"\ +"SET_PROP_LIGHT_COLOR=function(object,p1,r,g,b)return _natives.invoke_bool(0x5F048334B4A4E774,object,p1,r,g,b);end,\n"\ +"IS_PROP_LIGHT_OVERRIDEN=function(object)return _natives.invoke_bool(0xADF084FB8F075D06,object);end,\n"\ +"SET_OBJECT_IS_VISIBLE_IN_MIRRORS=function(object,toggle)return _natives.invoke_void(0x3B2FD68DB5F8331C,object,toggle);end,\n"\ +"SET_OBJECT_SPEED_BOOST_AMOUNT=function(object,p1)return _natives.invoke_void(0x96EE0EBA0163DF80,object,p1);end,\n"\ +"SET_OBJECT_SPEED_BOOST_DURATION=function(object,duration)return _natives.invoke_void(0xDF6CA0330F2E737B,object,duration);end,\n"\ +"CONVERT_OLD_PICKUP_TYPE_TO_NEW=function(pickupHash)return _natives.invoke_int(0x5EAAD83F8CFB4575,pickupHash);end,\n"\ +"SET_FORCE_OBJECT_THIS_FRAME=function(x,y,z,p3)return _natives.invoke_void(0xF538081986E49E9D,x,y,z,p3);end,\n"\ +"ONLY_CLEAN_UP_OBJECT_WHEN_OUT_OF_RANGE=function(object)return _natives.invoke_void(0xADBE4809F19F927A,object);end,\n"\ +"SET_DISABLE_COLLISIONS_BETWEEN_CARS_AND_CAR_PARACHUTE=function(p0)return _natives.invoke_void(0x8CAAB2BD3EA58BD4,p0);end,\n"\ +"SET_PROJECTILES_SHOULD_EXPLODE_ON_CONTACT=function(entity,p1)return _natives.invoke_void(0x63ECF581BC70E363,entity,p1);end,\n"\ +"SET_DRIVE_ARTICULATED_JOINT=function(object,toggle,p2)return _natives.invoke_void(0x911024442F4898F0,object,toggle,p2);end,\n"\ +"SET_DRIVE_ARTICULATED_JOINT_WITH_INFLICTOR=function(object,toggle,p2,ped)return _natives.invoke_void(0xB20834A7DD3D8896,object,toggle,p2,ped);end,\n"\ +"SET_OBJECT_IS_A_PRESSURE_PLATE=function(object,toggle)return _natives.invoke_void(0x734E1714D077DA9A,object,toggle);end,\n"\ +"SET_WEAPON_IMPACTS_APPLY_GREATER_FORCE=function(object,p1)return _natives.invoke_void(0x1A6CBB06E2D0D79D,object,p1);end,\n"\ +"GET_IS_ARTICULATED_JOINT_AT_MIN_ANGLE=function(object,p1)return _natives.invoke_bool(0x43C677F1E1158005,object,p1);end,\n"\ +"GET_IS_ARTICULATED_JOINT_AT_MAX_ANGLE=function(p0,p1)return _natives.invoke_bool(0x3BD770D281982DB5,p0,p1);end,\n"\ +"SET_IS_OBJECT_ARTICULATED=function(object,toggle)return _natives.invoke_void(0x1C57C94A6446492A,object,toggle);end,\n"\ +"SET_IS_OBJECT_BALL=function(object,toggle)return _natives.invoke_void(0xB5B7742424BD4445,object,toggle);end,\n"\ +"};\n"\ +"PAD = {\n"\ +"IS_CONTROL_ENABLED=function(control,action)return _natives.invoke_bool(0x1CEA6BFDF248E5D9,control,action);end,\n"\ +"IS_CONTROL_PRESSED=function(control,action)return _natives.invoke_bool(0xF3A21BCD95725A4A,control,action);end,\n"\ +"IS_CONTROL_RELEASED=function(control,action)return _natives.invoke_bool(0x648EE3E7F38877DD,control,action);end,\n"\ +"IS_CONTROL_JUST_PRESSED=function(control,action)return _natives.invoke_bool(0x580417101DDB492F,control,action);end,\n"\ +"IS_CONTROL_JUST_RELEASED=function(control,action)return _natives.invoke_bool(0x50F940259D3841E6,control,action);end,\n"\ +"GET_CONTROL_VALUE=function(control,action)return _natives.invoke_int(0xD95E79E8686D2C27,control,action);end,\n"\ +"GET_CONTROL_NORMAL=function(control,action)return _natives.invoke_float(0xEC3C9B8D5327B563,control,action);end,\n"\ +"SET_USE_ADJUSTED_MOUSE_COORDS=function(toggle)return _natives.invoke_void(0x5B73C77D9EB66E24,toggle);end,\n"\ +"GET_CONTROL_UNBOUND_NORMAL=function(control,action)return _natives.invoke_float(0x5B84D09CEC5209C5,control,action);end,\n"\ +"SET_CONTROL_VALUE_NEXT_FRAME=function(control,action,value)return _natives.invoke_bool(0xE8A25867FBA3B05E,control,action,value);end,\n"\ +"IS_DISABLED_CONTROL_PRESSED=function(control,action)return _natives.invoke_bool(0xE2587F8CBBD87B1D,control,action);end,\n"\ +"IS_DISABLED_CONTROL_RELEASED=function(control,action)return _natives.invoke_bool(0xFB6C4072E9A32E92,control,action);end,\n"\ +"IS_DISABLED_CONTROL_JUST_PRESSED=function(control,action)return _natives.invoke_bool(0x91AEF906BCA88877,control,action);end,\n"\ +"IS_DISABLED_CONTROL_JUST_RELEASED=function(control,action)return _natives.invoke_bool(0x305C8DCD79DA8B0F,control,action);end,\n"\ +"GET_DISABLED_CONTROL_NORMAL=function(control,action)return _natives.invoke_float(0x11E65974A982637C,control,action);end,\n"\ +"GET_DISABLED_CONTROL_UNBOUND_NORMAL=function(control,action)return _natives.invoke_float(0x4F8A26A890FD62FB,control,action);end,\n"\ +"GET_CONTROL_HOW_LONG_AGO=function(control)return _natives.invoke_int(0xD7D22F5592AED8BA,control);end,\n"\ +"IS_USING_KEYBOARD_AND_MOUSE=function(control)return _natives.invoke_bool(0xA571D46727E2B718,control);end,\n"\ +"IS_USING_CURSOR=function(control)return _natives.invoke_bool(0x13337B38DB572509,control);end,\n"\ +"SET_CURSOR_POSITION=function(x,y)return _natives.invoke_bool(0xFC695459D4D0E219,x,y);end,\n"\ +"IS_USING_REMOTE_PLAY=function(control)return _natives.invoke_bool(0x23F09EADC01449D6,control);end,\n"\ +"HAVE_CONTROLS_CHANGED=function(control)return _natives.invoke_bool(0x6CD79468A1E595C6,control);end,\n"\ +"GET_CONTROL_INSTRUCTIONAL_BUTTONS_STRING=function(control,action,allowXOSwap)return _natives.invoke_str(0x0499D7B09FC9B407,control,action,allowXOSwap);end,\n"\ +"GET_CONTROL_GROUP_INSTRUCTIONAL_BUTTONS_STRING=function(control,controlGroup,allowXOSwap)return _natives.invoke_str(0x80C2FD58D720C801,control,controlGroup,allowXOSwap);end,\n"\ +"SET_CONTROL_LIGHT_EFFECT_COLOR=function(control,red,green,blue)return _natives.invoke_void(0x8290252FFF36ACB5,control,red,green,blue);end,\n"\ +"CLEAR_CONTROL_LIGHT_EFFECT=function(control)return _natives.invoke_void(0xCB0360EFEFB2580D,control);end,\n"\ +"SET_CONTROL_SHAKE=function(control,duration,frequency)return _natives.invoke_void(0x48B3886C1358D0D5,control,duration,frequency);end,\n"\ +"SET_CONTROL_TRIGGER_SHAKE=function(control,leftDuration,leftFrequency,rightDuration,rightFrequency)return _natives.invoke_void(0x14D29BB12D47F68C,control,leftDuration,leftFrequency,rightDuration,rightFrequency);end,\n"\ +"STOP_CONTROL_SHAKE=function(control)return _natives.invoke_void(0x38C16A305E8CDC8D,control);end,\n"\ +"SET_CONTROL_SHAKE_SUPPRESSED_ID=function(control,uniqueId)return _natives.invoke_void(0xF239400E16C23E08,control,uniqueId);end,\n"\ +"CLEAR_CONTROL_SHAKE_SUPPRESSED_ID=function(control)return _natives.invoke_void(0xA0CEFCEA390AAB9B,control);end,\n"\ +"IS_LOOK_INVERTED=function()return _natives.invoke_bool(0x77B612531280010D);end,\n"\ +"IS_MOUSE_LOOK_INVERTED=function()return _natives.invoke_bool(0xE1615EC03B3BB4FD);end,\n"\ +"GET_LOCAL_PLAYER_AIM_STATE=function()return _natives.invoke_int(0xBB41AFBBBC0A0287);end,\n"\ +"GET_LOCAL_PLAYER_GAMEPAD_AIM_STATE=function()return _natives.invoke_int(0x59B9A7AF4C95133C);end,\n"\ +"GET_IS_USING_ALTERNATE_HANDBRAKE=function()return _natives.invoke_bool(0x25AAA32BDC98F2A3);end,\n"\ +"GET_IS_USING_ALTERNATE_DRIVEBY=function()return _natives.invoke_bool(0x0F70731BACCFBB96);end,\n"\ +"GET_ALLOW_MOVEMENT_WHILE_ZOOMED=function()return _natives.invoke_bool(0xFC859E2374407556);end,\n"\ +"SET_PLAYERPAD_SHAKES_WHEN_CONTROLLER_DISABLED=function(toggle)return _natives.invoke_void(0x798FDEB5B1575088,toggle);end,\n"\ +"SET_INPUT_EXCLUSIVE=function(control,action)return _natives.invoke_void(0xEDE476E5EE29EDB1,control,action);end,\n"\ +"DISABLE_CONTROL_ACTION=function(control,action,disableRelatedActions)return _natives.invoke_void(0xFE99B66D079CF6BC,control,action,disableRelatedActions);end,\n"\ +"ENABLE_CONTROL_ACTION=function(control,action,enableRelatedActions)return _natives.invoke_void(0x351220255D64C155,control,action,enableRelatedActions);end,\n"\ +"DISABLE_ALL_CONTROL_ACTIONS=function(control)return _natives.invoke_void(0x5F4B6931816E599B,control);end,\n"\ +"ENABLE_ALL_CONTROL_ACTIONS=function(control)return _natives.invoke_void(0xA5FFE9B05F199DE7,control);end,\n"\ +"INIT_PC_SCRIPTED_CONTROLS=function(schemeName)return _natives.invoke_bool(0x3D42B92563939375,schemeName);end,\n"\ +"SWITCH_PC_SCRIPTED_CONTROLS=function(schemeName)return _natives.invoke_bool(0x4683149ED1DDE7A1,schemeName);end,\n"\ +"SHUTDOWN_PC_SCRIPTED_CONTROLS=function()return _natives.invoke_void(0x643ED62D5EA3BEBD);end,\n"\ +"ALLOW_ALTERNATIVE_SCRIPT_CONTROLS_LAYOUT=function(control)return _natives.invoke_void(0x7F4724035FDCA1DD,control);end,\n"\ +"};\n"\ +"PATHFIND = {\n"\ +"SET_ROADS_IN_AREA=function(x1,y1,z1,x2,y2,z2,nodeEnabled,unknown2)return _natives.invoke_void(0xBF1A602B5BA52FEE,x1,y1,z1,x2,y2,z2,nodeEnabled,unknown2);end,\n"\ +"SET_ROADS_IN_ANGLED_AREA=function(x1,y1,z1,x2,y2,z2,width,unknown1,unknown2,unknown3)return _natives.invoke_void(0x1A5AA1208AF5DB59,x1,y1,z1,x2,y2,z2,width,unknown1,unknown2,unknown3);end,\n"\ +"SET_PED_PATHS_IN_AREA=function(x1,y1,z1,x2,y2,z2,p6,p7)return _natives.invoke_void(0x34F060F4BF92E018,x1,y1,z1,x2,y2,z2,p6,p7);end,\n"\ +"GET_SAFE_COORD_FOR_PED=function(x,y,z,onGround,outPosition,flags)return _natives.invoke_bool(0xB61C8E878A4199CA,x,y,z,onGround,outPosition,flags);end,\n"\ +"GET_CLOSEST_VEHICLE_NODE=function(x,y,z,outPosition,nodeFlags,p5,p6)return _natives.invoke_bool(0x240A18690AE96513,x,y,z,outPosition,nodeFlags,p5,p6);end,\n"\ +"GET_CLOSEST_MAJOR_VEHICLE_NODE=function(x,y,z,outPosition,unknown1,unknown2)return _natives.invoke_bool(0x2EABE3B06F58C1BE,x,y,z,outPosition,unknown1,unknown2);end,\n"\ +"GET_CLOSEST_VEHICLE_NODE_WITH_HEADING=function(x,y,z,outPosition,outHeading,nodeType,p6,p7)return _natives.invoke_bool(0xFF071FB798B803B0,x,y,z,outPosition,outHeading,nodeType,p6,p7);end,\n"\ +"GET_NTH_CLOSEST_VEHICLE_NODE=function(x,y,z,nthClosest,outPosition,nodeFlags,unknown1,unknown2)return _natives.invoke_bool(0xE50E52416CCF948B,x,y,z,nthClosest,outPosition,nodeFlags,unknown1,unknown2);end,\n"\ +"GET_NTH_CLOSEST_VEHICLE_NODE_ID=function(x,y,z,nth,nodeFlags,p5,p6)return _natives.invoke_int(0x22D7275A79FE8215,x,y,z,nth,nodeFlags,p5,p6);end,\n"\ +"GET_NTH_CLOSEST_VEHICLE_NODE_WITH_HEADING=function(x,y,z,nthClosest,outPosition,outHeading,outNumLanes,nodeFlags,unknown3,unknown4)return _natives.invoke_bool(0x80CA6A8B6C094CC4,x,y,z,nthClosest,outPosition,outHeading,outNumLanes,nodeFlags,unknown3,unknown4);end,\n"\ +"GET_NTH_CLOSEST_VEHICLE_NODE_ID_WITH_HEADING=function(x,y,z,nthClosest,outPosition,outHeading,nodeFlags,p7,p8)return _natives.invoke_int(0x6448050E9C2A7207,x,y,z,nthClosest,outPosition,outHeading,nodeFlags,p7,p8);end,\n"\ +"GET_NTH_CLOSEST_VEHICLE_NODE_FAVOUR_DIRECTION=function(x,y,z,desiredX,desiredY,desiredZ,nthClosest,outPosition,outHeading,nodeFlags,p10,p11)return _natives.invoke_bool(0x45905BE8654AE067,x,y,z,desiredX,desiredY,desiredZ,nthClosest,outPosition,outHeading,nodeFlags,p10,p11);end,\n"\ +"GET_VEHICLE_NODE_PROPERTIES=function(x,y,z,density,flags)return _natives.invoke_bool(0x0568566ACBB5DEDC,x,y,z,density,flags);end,\n"\ +"IS_VEHICLE_NODE_ID_VALID=function(vehicleNodeId)return _natives.invoke_bool(0x1EAF30FCFBF5AF74,vehicleNodeId);end,\n"\ +"GET_VEHICLE_NODE_POSITION=function(nodeId,outPosition)return _natives.invoke_void(0x703123E5E7D429C2,nodeId,outPosition);end,\n"\ +"GET_VEHICLE_NODE_IS_GPS_ALLOWED=function(nodeID)return _natives.invoke_bool(0xA2AE5C478B96E3B6,nodeID);end,\n"\ +"GET_VEHICLE_NODE_IS_SWITCHED_OFF=function(nodeID)return _natives.invoke_bool(0x4F5070AA58F69279,nodeID);end,\n"\ +"GET_CLOSEST_ROAD=function(x,y,z,p3,p4,p5,p6,p7,p8,p9,p10)return _natives.invoke_bool(0x132F52BBA570FE92,x,y,z,p3,p4,p5,p6,p7,p8,p9,p10);end,\n"\ +"LOAD_ALL_PATH_NODES=function(set)return _natives.invoke_bool(0xC2AB6BFE34E92F8B,set);end,\n"\ +"SET_ALLOW_STREAM_PROLOGUE_NODES=function(toggle)return _natives.invoke_void(0x228E5C6AD4D74BFD,toggle);end,\n"\ +"SET_ALLOW_STREAM_HEIST_ISLAND_NODES=function(type)return _natives.invoke_void(0xF74B1FFA4A15FBEA,type);end,\n"\ +"ARE_NODES_LOADED_FOR_AREA=function(x1,y1,x2,y2)return _natives.invoke_bool(0xF7B79A50B905A30D,x1,y1,x2,y2);end,\n"\ +"REQUEST_PATH_NODES_IN_AREA_THIS_FRAME=function(x1,y1,x2,y2)return _natives.invoke_bool(0x07FB139B592FA687,x1,y1,x2,y2);end,\n"\ +"SET_ROADS_BACK_TO_ORIGINAL=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_void(0x1EE7063B80FFC77C,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"SET_ROADS_BACK_TO_ORIGINAL_IN_ANGLED_AREA=function(x1,y1,z1,x2,y2,z2,width,p7)return _natives.invoke_void(0x0027501B9F3B407E,x1,y1,z1,x2,y2,z2,width,p7);end,\n"\ +"SET_AMBIENT_PED_RANGE_MULTIPLIER_THIS_FRAME=function(multiplier)return _natives.invoke_void(0x0B919E1FB47CC4E0,multiplier);end,\n"\ +"ADJUST_AMBIENT_PED_SPAWN_DENSITIES_THIS_FRAME=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_void(0xAA76052DDA9BFC3E,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"SET_PED_PATHS_BACK_TO_ORIGINAL=function(x1,y1,z1,x2,y2,z2,p6)return _natives.invoke_void(0xE04B48F2CC926253,x1,y1,z1,x2,y2,z2,p6);end,\n"\ +"GET_RANDOM_VEHICLE_NODE=function(x,y,z,radius,p4,p5,p6,outPosition,nodeId)return _natives.invoke_bool(0x93E0DB8440B73A7D,x,y,z,radius,p4,p5,p6,outPosition,nodeId);end,\n"\ +"GET_STREET_NAME_AT_COORD=function(x,y,z,streetName,crossingRoad)return _natives.invoke_void(0x2EB41072B4C1E4C0,x,y,z,streetName,crossingRoad);end,\n"\ +"GENERATE_DIRECTIONS_TO_COORD=function(x,y,z,p3,direction,p5,distToNxJunction)return _natives.invoke_int(0xF90125F1F79ECDF8,x,y,z,p3,direction,p5,distToNxJunction);end,\n"\ +"SET_IGNORE_NO_GPS_FLAG=function(toggle)return _natives.invoke_void(0x72751156E7678833,toggle);end,\n"\ +"SET_IGNORE_NO_GPS_FLAG_UNTIL_FIRST_NORMAL_NODE=function(toggle)return _natives.invoke_void(0x1FC289A0C3FF470F,toggle);end,\n"\ +"SET_GPS_DISABLED_ZONE=function(x1,y1,z1,x2,y2,z3)return _natives.invoke_void(0xDC20483CD3DD5201,x1,y1,z1,x2,y2,z3);end,\n"\ +"GET_GPS_BLIP_ROUTE_LENGTH=function()return _natives.invoke_int(0xBBB45C3CF5C8AA85);end,\n"\ +"GET_POS_ALONG_GPS_TYPE_ROUTE=function(result,p1,p2,p3)return _natives.invoke_bool(0xF3162836C28F9DA5,result,p1,p2,p3);end,\n"\ +"GET_GPS_BLIP_ROUTE_FOUND=function()return _natives.invoke_bool(0x869DAACBBE9FA006);end,\n"\ +"GET_ROAD_BOUNDARY_USING_HEADING=function(x,y,z,heading,outPosition)return _natives.invoke_bool(0xA0F8A7517A273C05,x,y,z,heading,outPosition);end,\n"\ +"GET_POSITION_BY_SIDE_OF_ROAD=function(x,y,z,p3,outPosition)return _natives.invoke_bool(0x16F46FB18C8009E4,x,y,z,p3,outPosition);end,\n"\ +"IS_POINT_ON_ROAD=function(x,y,z,vehicle)return _natives.invoke_bool(0x125BF4ABFC536B09,x,y,z,vehicle);end,\n"\ +"GET_NEXT_GPS_DISABLED_ZONE_INDEX=function()return _natives.invoke_int(0xD3A6A0EF48823A8C);end,\n"\ +"SET_GPS_DISABLED_ZONE_AT_INDEX=function(x1,y1,z1,x2,y2,z2,index)return _natives.invoke_void(0xD0BC1C6FB18EE154,x1,y1,z1,x2,y2,z2,index);end,\n"\ +"CLEAR_GPS_DISABLED_ZONE_AT_INDEX=function(index)return _natives.invoke_void(0x2801D0012266DF07,index);end,\n"\ +"ADD_NAVMESH_REQUIRED_REGION=function(x,y,radius)return _natives.invoke_void(0x387EAD7EE42F6685,x,y,radius);end,\n"\ +"REMOVE_NAVMESH_REQUIRED_REGIONS=function()return _natives.invoke_void(0x916F0A3CDEC3445E);end,\n"\ +"IS_NAVMESH_REQUIRED_REGION_IN_USE=function()return _natives.invoke_bool(0x705A844002B39DC0);end,\n"\ +"DISABLE_NAVMESH_IN_AREA=function(x1,y1,z1,x2,y2,z2,toggle)return _natives.invoke_void(0x4C8872D8CDBE1B8B,x1,y1,z1,x2,y2,z2,toggle);end,\n"\ +"ARE_ALL_NAVMESH_REGIONS_LOADED=function()return _natives.invoke_bool(0x8415D95B194A3AEA);end,\n"\ +"IS_NAVMESH_LOADED_IN_AREA=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_bool(0xF813C7E63F9062A5,x1,y1,z1,x2,y2,z2);end,\n"\ +"GET_NUM_NAVMESHES_EXISTING_IN_AREA=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_int(0x01708E8DD3FF8C65,x1,y1,z1,x2,y2,z2);end,\n"\ +"ADD_NAVMESH_BLOCKING_OBJECT=function(p0,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_int(0xFCD5C8E06E502F5A,p0,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"UPDATE_NAVMESH_BLOCKING_OBJECT=function(p0,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_void(0x109E99373F290687,p0,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"REMOVE_NAVMESH_BLOCKING_OBJECT=function(p0)return _natives.invoke_void(0x46399A7895957C0E,p0);end,\n"\ +"DOES_NAVMESH_BLOCKING_OBJECT_EXIST=function(p0)return _natives.invoke_bool(0x0EAEB0DB4B132399,p0);end,\n"\ +"GET_APPROX_HEIGHT_FOR_POINT=function(x,y)return _natives.invoke_float(0x29C24BFBED8AB8FB,x,y);end,\n"\ +"GET_APPROX_HEIGHT_FOR_AREA=function(x1,y1,x2,y2)return _natives.invoke_float(0x8ABE8608576D9CE3,x1,y1,x2,y2);end,\n"\ +"GET_APPROX_FLOOR_FOR_POINT=function(x,y)return _natives.invoke_float(0x336511A34F2E5185,x,y);end,\n"\ +"GET_APPROX_FLOOR_FOR_AREA=function(x1,y1,x2,y2)return _natives.invoke_float(0x3599D741C9AC6310,x1,y1,x2,y2);end,\n"\ +"CALCULATE_TRAVEL_DISTANCE_BETWEEN_POINTS=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_float(0xADD95C7005C4A197,x1,y1,z1,x2,y2,z2);end,\n"\ +"};\n"\ +"PED = {\n"\ +"CREATE_PED=function(pedType,modelHash,x,y,z,heading,isNetwork,bScriptHostPed)return _natives.invoke_int(0xD49F9B0955C367DE,pedType,modelHash,x,y,z,heading,isNetwork,bScriptHostPed);end,\n"\ +"DELETE_PED=function(ped)return _natives.invoke_void(0x9614299DCB53E54B,ped);end,\n"\ +"CLONE_PED=function(ped,isNetwork,bScriptHostPed,copyHeadBlendFlag)return _natives.invoke_int(0xEF29A16337FACADB,ped,isNetwork,bScriptHostPed,copyHeadBlendFlag);end,\n"\ +"CLONE_PED_ALT=function(ped,isNetwork,bScriptHostPed,copyHeadBlendFlag,p4)return _natives.invoke_int(0x668FD40BCBA5DE48,ped,isNetwork,bScriptHostPed,copyHeadBlendFlag,p4);end,\n"\ +"CLONE_PED_TO_TARGET=function(ped,targetPed)return _natives.invoke_void(0xE952D6431689AD9A,ped,targetPed);end,\n"\ +"CLONE_PED_TO_TARGET_ALT=function(ped,targetPed,p2)return _natives.invoke_void(0x148B08C2D2ACB884,ped,targetPed,p2);end,\n"\ +"IS_PED_IN_VEHICLE=function(ped,vehicle,atGetIn)return _natives.invoke_bool(0xA3EE4A07279BB9DB,ped,vehicle,atGetIn);end,\n"\ +"IS_PED_IN_MODEL=function(ped,modelHash)return _natives.invoke_bool(0x796D90EFB19AA332,ped,modelHash);end,\n"\ +"IS_PED_IN_ANY_VEHICLE=function(ped,atGetIn)return _natives.invoke_bool(0x997ABD671D25CA0B,ped,atGetIn);end,\n"\ +"IS_COP_PED_IN_AREA_3D=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_bool(0x16EC4839969F9F5E,x1,y1,z1,x2,y2,z2);end,\n"\ +"IS_PED_INJURED=function(ped)return _natives.invoke_bool(0x84A2DD9AC37C35C1,ped);end,\n"\ +"IS_PED_HURT=function(ped)return _natives.invoke_bool(0x5983BB449D7FDB12,ped);end,\n"\ +"IS_PED_FATALLY_INJURED=function(ped)return _natives.invoke_bool(0xD839450756ED5A80,ped);end,\n"\ +"IS_PED_DEAD_OR_DYING=function(ped,p1)return _natives.invoke_bool(0x3317DEDB88C95038,ped,p1);end,\n"\ +"IS_CONVERSATION_PED_DEAD=function(ped)return _natives.invoke_bool(0xE0A0AEC214B1FABA,ped);end,\n"\ +"IS_PED_AIMING_FROM_COVER=function(ped)return _natives.invoke_bool(0x3998B1276A3300E5,ped);end,\n"\ +"IS_PED_RELOADING=function(ped)return _natives.invoke_bool(0x24B100C68C645951,ped);end,\n"\ +"IS_PED_A_PLAYER=function(ped)return _natives.invoke_bool(0x12534C348C6CB68B,ped);end,\n"\ +"CREATE_PED_INSIDE_VEHICLE=function(vehicle,pedType,modelHash,seat,isNetwork,bScriptHostPed)return _natives.invoke_int(0x7DD959874C1FD534,vehicle,pedType,modelHash,seat,isNetwork,bScriptHostPed);end,\n"\ +"SET_PED_DESIRED_HEADING=function(ped,heading)return _natives.invoke_void(0xAA5A7ECE2AA8FE70,ped,heading);end,\n"\ +"FORCE_ALL_HEADING_VALUES_TO_ALIGN=function(ped)return _natives.invoke_void(0xFF287323B0E2C69A,ped);end,\n"\ +"IS_PED_FACING_PED=function(ped,otherPed,angle)return _natives.invoke_bool(0xD71649DB0A545AA3,ped,otherPed,angle);end,\n"\ +"IS_PED_IN_MELEE_COMBAT=function(ped)return _natives.invoke_bool(0x4E209B2C1EAD5159,ped);end,\n"\ +"IS_PED_STOPPED=function(ped)return _natives.invoke_bool(0x530944F6F4B8A214,ped);end,\n"\ +"IS_PED_SHOOTING_IN_AREA=function(ped,x1,y1,z1,x2,y2,z2,p7,p8)return _natives.invoke_bool(0x7E9DFE24AC1E58EF,ped,x1,y1,z1,x2,y2,z2,p7,p8);end,\n"\ +"IS_ANY_PED_SHOOTING_IN_AREA=function(x1,y1,z1,x2,y2,z2,p6,p7)return _natives.invoke_bool(0xA0D3D71EA1086C55,x1,y1,z1,x2,y2,z2,p6,p7);end,\n"\ +"IS_PED_SHOOTING=function(ped)return _natives.invoke_bool(0x34616828CD07F1A1,ped);end,\n"\ +"SET_PED_ACCURACY=function(ped,accuracy)return _natives.invoke_void(0x7AEFB85C1D49DEB6,ped,accuracy);end,\n"\ +"GET_PED_ACCURACY=function(ped)return _natives.invoke_int(0x37F4AD56ECBC0CD6,ped);end,\n"\ +"SET_AMBIENT_LAW_PED_ACCURACY_MODIFIER=function(multiplier)return _natives.invoke_void(0x87DDEB611B329A9C,multiplier);end,\n"\ +"IS_PED_MODEL=function(ped,modelHash)return _natives.invoke_bool(0xC9D55B1A358A5BF7,ped,modelHash);end,\n"\ +"EXPLODE_PED_HEAD=function(ped,weaponHash)return _natives.invoke_void(0x2D05CED3A38D0F3A,ped,weaponHash);end,\n"\ +"REMOVE_PED_ELEGANTLY=function(ped)return _natives.invoke_void(0xAC6D445B994DF95E,ped);end,\n"\ +"ADD_ARMOUR_TO_PED=function(ped,amount)return _natives.invoke_void(0x5BA652A0CD14DF2F,ped,amount);end,\n"\ +"SET_PED_ARMOUR=function(ped,amount)return _natives.invoke_void(0xCEA04D83135264CC,ped,amount);end,\n"\ +"SET_PED_INTO_VEHICLE=function(ped,vehicle,seatIndex)return _natives.invoke_void(0xF75B0D629E1C063D,ped,vehicle,seatIndex);end,\n"\ +"SET_PED_ALLOW_VEHICLES_OVERRIDE=function(ped,toggle)return _natives.invoke_void(0x3C028C636A414ED9,ped,toggle);end,\n"\ +"CAN_CREATE_RANDOM_PED=function(p0)return _natives.invoke_bool(0x3E8349C08E4B82E4,p0);end,\n"\ +"CREATE_RANDOM_PED=function(posX,posY,posZ)return _natives.invoke_int(0xB4AC7D0CF06BFE8F,posX,posY,posZ);end,\n"\ +"CREATE_RANDOM_PED_AS_DRIVER=function(vehicle,returnHandle)return _natives.invoke_int(0x9B62392B474F44A0,vehicle,returnHandle);end,\n"\ +"CAN_CREATE_RANDOM_DRIVER=function()return _natives.invoke_bool(0xB8EB95E5B4E56978);end,\n"\ +"CAN_CREATE_RANDOM_BIKE_RIDER=function()return _natives.invoke_bool(0xEACEEDA81751915C);end,\n"\ +"SET_PED_MOVE_ANIMS_BLEND_OUT=function(ped)return _natives.invoke_void(0x9E8C908F41584ECD,ped);end,\n"\ +"SET_PED_CAN_BE_DRAGGED_OUT=function(ped,toggle)return _natives.invoke_void(0xC1670E958EEE24E5,ped,toggle);end,\n"\ +"SET_PED_ALLOW_HURT_COMBAT_FOR_ALL_MISSION_PEDS=function(toggle)return _natives.invoke_void(0xF2BEBCDFAFDAA19E,toggle);end,\n"\ +"IS_PED_MALE=function(ped)return _natives.invoke_bool(0x6D9F5FAA7488BA46,ped);end,\n"\ +"IS_PED_HUMAN=function(ped)return _natives.invoke_bool(0xB980061DA992779D,ped);end,\n"\ +"GET_VEHICLE_PED_IS_IN=function(ped,includeEntering)return _natives.invoke_int(0x9A9112A0FE9A4713,ped,includeEntering);end,\n"\ +"RESET_PED_LAST_VEHICLE=function(ped)return _natives.invoke_void(0xBB8DE8CF6A8DD8BB,ped);end,\n"\ +"SET_PED_DENSITY_MULTIPLIER_THIS_FRAME=function(multiplier)return _natives.invoke_void(0x95E3D6257B166CF2,multiplier);end,\n"\ +"SET_SCENARIO_PED_DENSITY_MULTIPLIER_THIS_FRAME=function(p0,p1)return _natives.invoke_void(0x7A556143A1C03898,p0,p1);end,\n"\ +"SUPPRESS_AMBIENT_PED_AGGRESSIVE_CLEANUP_THIS_FRAME=function()return _natives.invoke_void(0x5A7F62FDA59759BD);end,\n"\ +"SET_SCRIPTED_CONVERSION_COORD_THIS_FRAME=function(x,y,z)return _natives.invoke_void(0x5086C7843552CF85,x,y,z);end,\n"\ +"SET_PED_NON_CREATION_AREA=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_void(0xEE01041D559983EA,x1,y1,z1,x2,y2,z2);end,\n"\ +"CLEAR_PED_NON_CREATION_AREA=function()return _natives.invoke_void(0x2E05208086BA0651);end,\n"\ +"INSTANTLY_FILL_PED_POPULATION=function()return _natives.invoke_void(0x4759CC730F947C81);end,\n"\ +"IS_PED_ON_MOUNT=function(ped)return _natives.invoke_bool(0x460BC76A0E10655E,ped);end,\n"\ +"GET_MOUNT=function(ped)return _natives.invoke_int(0xE7E11B8DCBED1058,ped);end,\n"\ +"IS_PED_ON_VEHICLE=function(ped)return _natives.invoke_bool(0x67722AEB798E5FAB,ped);end,\n"\ +"IS_PED_ON_SPECIFIC_VEHICLE=function(ped,vehicle)return _natives.invoke_bool(0xEC5F66E459AF3BB2,ped,vehicle);end,\n"\ +"SET_PED_MONEY=function(ped,amount)return _natives.invoke_void(0xA9C8960E8684C1B5,ped,amount);end,\n"\ +"GET_PED_MONEY=function(ped)return _natives.invoke_int(0x3F69145BBA87BAE7,ped);end,\n"\ +"SET_HEALTH_SNACKS_CARRIED_BY_ALL_NEW_PEDS=function(p0,p1)return _natives.invoke_void(0xFF4803BC019852D9,p0,p1);end,\n"\ +"SET_AMBIENT_PEDS_DROP_MONEY=function(p0)return _natives.invoke_void(0x6B0E6172C9A4D902,p0);end,\n"\ +"SET_BLOCKING_OF_NON_TEMPORARY_EVENTS_FOR_AMBIENT_PEDS_THIS_FRAME=function(p0)return _natives.invoke_void(0x9911F4A24485F653,p0);end,\n"\ +"SET_PED_SUFFERS_CRITICAL_HITS=function(ped,toggle)return _natives.invoke_void(0xEBD76F2359F190AC,ped,toggle);end,\n"\ +"SET_PED_UPPER_BODY_DAMAGE_ONLY=function(ped,toggle)return _natives.invoke_void(0xAFC976FD0580C7B3,ped,toggle);end,\n"\ +"IS_PED_SITTING_IN_VEHICLE=function(ped,vehicle)return _natives.invoke_bool(0xA808AA1D79230FC2,ped,vehicle);end,\n"\ +"IS_PED_SITTING_IN_ANY_VEHICLE=function(ped)return _natives.invoke_bool(0x826AA586EDB9FEF8,ped);end,\n"\ +"IS_PED_ON_FOOT=function(ped)return _natives.invoke_bool(0x01FEE67DB37F59B2,ped);end,\n"\ +"IS_PED_ON_ANY_BIKE=function(ped)return _natives.invoke_bool(0x94495889E22C6479,ped);end,\n"\ +"IS_PED_PLANTING_BOMB=function(ped)return _natives.invoke_bool(0xC70B5FAE151982D8,ped);end,\n"\ +"GET_DEAD_PED_PICKUP_COORDS=function(ped,p1,p2)return _natives.invoke_vec3(0xCD5003B097200F36,ped,p1,p2);end,\n"\ +"IS_PED_IN_ANY_BOAT=function(ped)return _natives.invoke_bool(0x2E0E1C2B4F6CB339,ped);end,\n"\ +"IS_PED_IN_ANY_SUB=function(ped)return _natives.invoke_bool(0xFBFC01CCFB35D99E,ped);end,\n"\ +"IS_PED_IN_ANY_HELI=function(ped)return _natives.invoke_bool(0x298B91AE825E5705,ped);end,\n"\ +"IS_PED_IN_ANY_PLANE=function(ped)return _natives.invoke_bool(0x5FFF4CFC74D8FB80,ped);end,\n"\ +"IS_PED_IN_FLYING_VEHICLE=function(ped)return _natives.invoke_bool(0x9134873537FA419C,ped);end,\n"\ +"SET_PED_DIES_IN_WATER=function(ped,toggle)return _natives.invoke_void(0x56CEF0AC79073BDE,ped,toggle);end,\n"\ +"GET_PED_DIES_IN_WATER=function(ped)return _natives.invoke_bool(0x65671A4FB8218930,ped);end,\n"\ +"SET_PED_DIES_IN_SINKING_VEHICLE=function(ped,toggle)return _natives.invoke_void(0xD718A22995E2B4BC,ped,toggle);end,\n"\ +"GET_PED_ARMOUR=function(ped)return _natives.invoke_int(0x9483AF821605B1D8,ped);end,\n"\ +"SET_PED_STAY_IN_VEHICLE_WHEN_JACKED=function(ped,toggle)return _natives.invoke_void(0xEDF4079F9D54C9A1,ped,toggle);end,\n"\ +"SET_PED_CAN_BE_SHOT_IN_VEHICLE=function(ped,toggle)return _natives.invoke_void(0xC7EF1BA83230BA07,ped,toggle);end,\n"\ +"GET_PED_LAST_DAMAGE_BONE=function(ped,outBone)return _natives.invoke_bool(0xD75960F6BD9EA49C,ped,outBone);end,\n"\ +"CLEAR_PED_LAST_DAMAGE_BONE=function(ped)return _natives.invoke_void(0x8EF6B7AC68E2F01B,ped);end,\n"\ +"SET_AI_WEAPON_DAMAGE_MODIFIER=function(value)return _natives.invoke_void(0x1B1E2A40A65B8521,value);end,\n"\ +"RESET_AI_WEAPON_DAMAGE_MODIFIER=function()return _natives.invoke_void(0xEA16670E7BA4743C);end,\n"\ +"SET_AI_MELEE_WEAPON_DAMAGE_MODIFIER=function(modifier)return _natives.invoke_void(0x66460DEDDD417254,modifier);end,\n"\ +"RESET_AI_MELEE_WEAPON_DAMAGE_MODIFIER=function()return _natives.invoke_void(0x46E56A7CD1D63C3F);end,\n"\ +"SET_TREAT_AS_AMBIENT_PED_FOR_DRIVER_LOCKON=function(ped,p1)return _natives.invoke_void(0x2F3C3D9F50681DE4,ped,p1);end,\n"\ +"SET_PED_CAN_BE_TARGETTED=function(ped,toggle)return _natives.invoke_void(0x63F58F7C80513AAD,ped,toggle);end,\n"\ +"SET_PED_CAN_BE_TARGETTED_BY_TEAM=function(ped,team,toggle)return _natives.invoke_void(0xBF1CA77833E58F2C,ped,team,toggle);end,\n"\ +"SET_PED_CAN_BE_TARGETTED_BY_PLAYER=function(ped,player,toggle)return _natives.invoke_void(0x66B57B72E0836A76,ped,player,toggle);end,\n"\ +"SET_ALLOW_LOCKON_TO_PED_IF_FRIENDLY=function(ped,toggle)return _natives.invoke_void(0x061CB768363D6424,ped,toggle);end,\n"\ +"SET_USE_CAMERA_HEADING_FOR_DESIRED_DIRECTION_LOCK_ON_TEST=function(ped,toggle)return _natives.invoke_void(0xFD325494792302D7,ped,toggle);end,\n"\ +"IS_PED_IN_ANY_POLICE_VEHICLE=function(ped)return _natives.invoke_bool(0x0BD04E29640C9C12,ped);end,\n"\ +"FORCE_PED_TO_OPEN_PARACHUTE=function(ped)return _natives.invoke_void(0x16E42E800B472221,ped);end,\n"\ +"IS_PED_IN_PARACHUTE_FREE_FALL=function(ped)return _natives.invoke_bool(0x7DCE8BDA0F1C1200,ped);end,\n"\ +"IS_PED_FALLING=function(ped)return _natives.invoke_bool(0xFB92A102F1C4DFA3,ped);end,\n"\ +"IS_PED_JUMPING=function(ped)return _natives.invoke_bool(0xCEDABC5900A0BF97,ped);end,\n"\ +"IS_PED_LANDING=function(p0)return _natives.invoke_bool(0x412F1364FA066CFB,p0);end,\n"\ +"IS_PED_DOING_A_BEAST_JUMP=function(p0)return _natives.invoke_bool(0x451D05012CCEC234,p0);end,\n"\ +"IS_PED_CLIMBING=function(ped)return _natives.invoke_bool(0x53E8CB4F48BFE623,ped);end,\n"\ +"IS_PED_VAULTING=function(ped)return _natives.invoke_bool(0x117C70D1F5730B5E,ped);end,\n"\ +"IS_PED_DIVING=function(ped)return _natives.invoke_bool(0x5527B8246FEF9B11,ped);end,\n"\ +"IS_PED_JUMPING_OUT_OF_VEHICLE=function(ped)return _natives.invoke_bool(0x433DDFFE2044B636,ped);end,\n"\ +"IS_PED_OPENING_DOOR=function(ped)return _natives.invoke_bool(0x26AF0E8E30BD2A2C,ped);end,\n"\ +"GET_PED_PARACHUTE_STATE=function(ped)return _natives.invoke_int(0x79CFD9827CC979B6,ped);end,\n"\ +"GET_PED_PARACHUTE_LANDING_TYPE=function(ped)return _natives.invoke_int(0x8B9F1FC6AE8166C0,ped);end,\n"\ +"SET_PED_PARACHUTE_TINT_INDEX=function(ped,tintIndex)return _natives.invoke_void(0x333FC8DB079B7186,ped,tintIndex);end,\n"\ +"GET_PED_PARACHUTE_TINT_INDEX=function(ped,outTintIndex)return _natives.invoke_void(0xEAF5F7E5AE7C6C9D,ped,outTintIndex);end,\n"\ +"SET_PED_RESERVE_PARACHUTE_TINT_INDEX=function(ped,p1)return _natives.invoke_void(0xE88DA0751C22A2AD,ped,p1);end,\n"\ +"CREATE_PARACHUTE_BAG_OBJECT=function(ped,p1,p2)return _natives.invoke_int(0x8C4F3BF23B6237DB,ped,p1,p2);end,\n"\ +"SET_PED_DUCKING=function(ped,toggle)return _natives.invoke_void(0x030983CA930B692D,ped,toggle);end,\n"\ +"IS_PED_DUCKING=function(ped)return _natives.invoke_bool(0xD125AE748725C6BC,ped);end,\n"\ +"IS_PED_IN_ANY_TAXI=function(ped)return _natives.invoke_bool(0x6E575D6A898AB852,ped);end,\n"\ +"SET_PED_ID_RANGE=function(ped,value)return _natives.invoke_void(0xF107E836A70DCE05,ped,value);end,\n"\ +"SET_PED_HIGHLY_PERCEPTIVE=function(ped,toggle)return _natives.invoke_void(0x52D59AB61DDC05DD,ped,toggle);end,\n"\ +"SET_COP_PERCEPTION_OVERRIDES=function(seeingRange,seeingRangePeripheral,hearingRange,visualFieldMinAzimuthAngle,visualFieldMaxAzimuthAngle,fieldOfGazeMaxAngle,p6)return _natives.invoke_void(0x2F074C904D85129E,seeingRange,seeingRangePeripheral,hearingRange,visualFieldMinAzimuthAngle,visualFieldMaxAzimuthAngle,fieldOfGazeMaxAngle,p6);end,\n"\ +"SET_PED_INJURED_ON_GROUND_BEHAVIOUR=function(ped,p1)return _natives.invoke_void(0xEC4B4B3B9908052A,ped,p1);end,\n"\ +"DISABLE_PED_INJURED_ON_GROUND_BEHAVIOUR=function(ped)return _natives.invoke_void(0x733C87D4CE22BEA2,ped);end,\n"\ +"SET_PED_SEEING_RANGE=function(ped,value)return _natives.invoke_void(0xF29CF591C4BF6CEE,ped,value);end,\n"\ +"SET_PED_HEARING_RANGE=function(ped,value)return _natives.invoke_void(0x33A8F7F7D5F7F33C,ped,value);end,\n"\ +"SET_PED_VISUAL_FIELD_MIN_ANGLE=function(ped,value)return _natives.invoke_void(0x2DB492222FB21E26,ped,value);end,\n"\ +"SET_PED_VISUAL_FIELD_MAX_ANGLE=function(ped,value)return _natives.invoke_void(0x70793BDCA1E854D4,ped,value);end,\n"\ +"SET_PED_VISUAL_FIELD_MIN_ELEVATION_ANGLE=function(ped,angle)return _natives.invoke_void(0x7A276EB2C224D70F,ped,angle);end,\n"\ +"SET_PED_VISUAL_FIELD_MAX_ELEVATION_ANGLE=function(ped,angle)return _natives.invoke_void(0x78D0B67629D75856,ped,angle);end,\n"\ +"SET_PED_VISUAL_FIELD_PERIPHERAL_RANGE=function(ped,range)return _natives.invoke_void(0x9C74B0BC831B753A,ped,range);end,\n"\ +"SET_PED_VISUAL_FIELD_CENTER_ANGLE=function(ped,angle)return _natives.invoke_void(0x3B6405E8AB34A907,ped,angle);end,\n"\ +"GET_PED_VISUAL_FIELD_CENTER_ANGLE=function(ped)return _natives.invoke_float(0xEF2C71A32CAD5FBD,ped);end,\n"\ +"SET_PED_STEALTH_MOVEMENT=function(ped,p1,action)return _natives.invoke_void(0x88CBB5CEB96B7BD2,ped,p1,action);end,\n"\ +"GET_PED_STEALTH_MOVEMENT=function(ped)return _natives.invoke_bool(0x7C2AC9CA66575FBF,ped);end,\n"\ +"CREATE_GROUP=function(unused)return _natives.invoke_int(0x90370EBE0FEE1A3D,unused);end,\n"\ +"SET_PED_AS_GROUP_LEADER=function(ped,groupId)return _natives.invoke_void(0x2A7819605465FBCE,ped,groupId);end,\n"\ +"SET_PED_AS_GROUP_MEMBER=function(ped,groupId)return _natives.invoke_void(0x9F3480FE65DB31B5,ped,groupId);end,\n"\ +"SET_PED_CAN_TELEPORT_TO_GROUP_LEADER=function(pedHandle,groupHandle,toggle)return _natives.invoke_void(0x2E2F4240B3F24647,pedHandle,groupHandle,toggle);end,\n"\ +"REMOVE_GROUP=function(groupId)return _natives.invoke_void(0x8EB2F69076AF7053,groupId);end,\n"\ +"REMOVE_PED_FROM_GROUP=function(ped)return _natives.invoke_void(0xED74007FFB146BC2,ped);end,\n"\ +"IS_PED_GROUP_MEMBER=function(ped,groupId)return _natives.invoke_bool(0x9BB01E3834671191,ped,groupId);end,\n"\ +"IS_PED_HANGING_ON_TO_VEHICLE=function(ped)return _natives.invoke_bool(0x1C86D8AEF8254B78,ped);end,\n"\ +"SET_GROUP_SEPARATION_RANGE=function(groupHandle,separationRange)return _natives.invoke_void(0x4102C7858CFEE4E4,groupHandle,separationRange);end,\n"\ +"SET_PED_MIN_GROUND_TIME_FOR_STUNGUN=function(ped,ms)return _natives.invoke_void(0xFA0675AB151073FA,ped,ms);end,\n"\ +"IS_PED_PRONE=function(ped)return _natives.invoke_bool(0xD6A86331A537A7B9,ped);end,\n"\ +"IS_PED_IN_COMBAT=function(ped,target)return _natives.invoke_bool(0x4859F1FC66A6278E,ped,target);end,\n"\ +"GET_PED_TARGET_FROM_COMBAT_PED=function(ped,p1)return _natives.invoke_int(0x32C27A11307B01CC,ped,p1);end,\n"\ +"CAN_PED_IN_COMBAT_SEE_TARGET=function(ped,target)return _natives.invoke_bool(0xEAD42DE3610D0721,ped,target);end,\n"\ +"IS_PED_DOING_DRIVEBY=function(ped)return _natives.invoke_bool(0xB2C086CC1BF8F2BF,ped);end,\n"\ +"IS_PED_JACKING=function(ped)return _natives.invoke_bool(0x4AE4FF911DFB61DA,ped);end,\n"\ +"IS_PED_BEING_JACKED=function(ped)return _natives.invoke_bool(0x9A497FE2DF198913,ped);end,\n"\ +"IS_PED_BEING_STUNNED=function(ped,p1)return _natives.invoke_bool(0x4FBACCE3B4138EE8,ped,p1);end,\n"\ +"GET_PEDS_JACKER=function(ped)return _natives.invoke_int(0x9B128DC36C1E04CF,ped);end,\n"\ +"GET_JACK_TARGET=function(ped)return _natives.invoke_int(0x5486A79D9FBD342D,ped);end,\n"\ +"IS_PED_FLEEING=function(ped)return _natives.invoke_bool(0xBBCCE00B381F8482,ped);end,\n"\ +"IS_PED_IN_COVER=function(ped,exceptUseWeapon)return _natives.invoke_bool(0x60DFD0691A170B88,ped,exceptUseWeapon);end,\n"\ +"IS_PED_IN_COVER_FACING_LEFT=function(ped)return _natives.invoke_bool(0x845333B3150583AB,ped);end,\n"\ +"IS_PED_IN_HIGH_COVER=function(ped)return _natives.invoke_bool(0x6A03BF943D767C93,ped);end,\n"\ +"IS_PED_GOING_INTO_COVER=function(ped)return _natives.invoke_bool(0x9F65DBC537E59AD5,ped);end,\n"\ +"SET_PED_PINNED_DOWN=function(ped,pinned,i)return _natives.invoke_bool(0xAAD6D1ACF08F4612,ped,pinned,i);end,\n"\ +"GET_SEAT_PED_IS_TRYING_TO_ENTER=function(ped)return _natives.invoke_int(0x6F4C85ACD641BCD2,ped);end,\n"\ +"GET_VEHICLE_PED_IS_TRYING_TO_ENTER=function(ped)return _natives.invoke_int(0x814FA8BE5449445D,ped);end,\n"\ +"GET_PED_SOURCE_OF_DEATH=function(ped)return _natives.invoke_int(0x93C8B64DEB84728C,ped);end,\n"\ +"GET_PED_CAUSE_OF_DEATH=function(ped)return _natives.invoke_int(0x16FFE42AB2D2DC59,ped);end,\n"\ +"GET_PED_TIME_OF_DEATH=function(ped)return _natives.invoke_int(0x1E98817B311AE98A,ped);end,\n"\ +"COUNT_PEDS_IN_COMBAT_WITH_TARGET=function(ped)return _natives.invoke_int(0x5407B7288D0478B7,ped);end,\n"\ +"COUNT_PEDS_IN_COMBAT_WITH_TARGET_WITHIN_RADIUS=function(ped,x,y,z,radius)return _natives.invoke_int(0x336B3D200AB007CB,ped,x,y,z,radius);end,\n"\ +"SET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH=function(ped,hash)return _natives.invoke_void(0xADB3F206518799E8,ped,hash);end,\n"\ +"SET_PED_RELATIONSHIP_GROUP_HASH=function(ped,hash)return _natives.invoke_void(0xC80A74AC829DDD92,ped,hash);end,\n"\ +"SET_RELATIONSHIP_BETWEEN_GROUPS=function(relationship,group1,group2)return _natives.invoke_void(0xBF25EB89375A37AD,relationship,group1,group2);end,\n"\ +"CLEAR_RELATIONSHIP_BETWEEN_GROUPS=function(relationship,group1,group2)return _natives.invoke_void(0x5E29243FB56FC6D4,relationship,group1,group2);end,\n"\ +"ADD_RELATIONSHIP_GROUP=function(name,groupHash)return _natives.invoke_bool(0xF372BC22FCB88606,name,groupHash);end,\n"\ +"REMOVE_RELATIONSHIP_GROUP=function(groupHash)return _natives.invoke_void(0xB6BA2444AB393DA2,groupHash);end,\n"\ +"DOES_RELATIONSHIP_GROUP_EXIST=function(groupHash)return _natives.invoke_bool(0xCC6E3B6BB69501F1,groupHash);end,\n"\ +"GET_RELATIONSHIP_BETWEEN_PEDS=function(ped1,ped2)return _natives.invoke_int(0xEBA5AD3A0EAF7121,ped1,ped2);end,\n"\ +"GET_PED_RELATIONSHIP_GROUP_DEFAULT_HASH=function(ped)return _natives.invoke_int(0x42FDD0F017B1E38E,ped);end,\n"\ +"GET_PED_RELATIONSHIP_GROUP_HASH=function(ped)return _natives.invoke_int(0x7DBDD04862D95F04,ped);end,\n"\ +"GET_RELATIONSHIP_BETWEEN_GROUPS=function(group1,group2)return _natives.invoke_int(0x9E6B70061662AE5C,group1,group2);end,\n"\ +"SET_RELATIONSHIP_GROUP_AFFECTS_WANTED_LEVEL=function(group,p1)return _natives.invoke_void(0x5615E0C5EB2BC6E2,group,p1);end,\n"\ +"TELL_GROUP_PEDS_IN_AREA_TO_ATTACK=function(ped,p1,p2,hash,p4,p5)return _natives.invoke_void(0xAD27D957598E49E9,ped,p1,p2,hash,p4,p5);end,\n"\ +"SET_PED_CAN_BE_TARGETED_WITHOUT_LOS=function(ped,toggle)return _natives.invoke_void(0x4328652AE5769C71,ped,toggle);end,\n"\ +"SET_PED_TO_INFORM_RESPECTED_FRIENDS=function(ped,radius,maxFriends)return _natives.invoke_void(0x112942C6E708F70B,ped,radius,maxFriends);end,\n"\ +"IS_PED_RESPONDING_TO_EVENT=function(ped,event)return _natives.invoke_bool(0x625B774D75C87068,ped,event);end,\n"\ +"GET_POS_FROM_FIRED_EVENT=function(ped,eventType,outData)return _natives.invoke_bool(0xBA656A3BB01BDEA3,ped,eventType,outData);end,\n"\ +"SET_PED_FIRING_PATTERN=function(ped,patternHash)return _natives.invoke_void(0x9AC577F5A12AD8A9,ped,patternHash);end,\n"\ +"SET_PED_SHOOT_RATE=function(ped,shootRate)return _natives.invoke_void(0x614DA022990752DC,ped,shootRate);end,\n"\ +"SET_COMBAT_FLOAT=function(ped,combatType,p2)return _natives.invoke_void(0xFF41B4B141ED981C,ped,combatType,p2);end,\n"\ +"GET_COMBAT_FLOAT=function(ped,p1)return _natives.invoke_float(0x52DFF8A10508090A,ped,p1);end,\n"\ +"GET_GROUP_SIZE=function(groupID,p1,sizeInMembers)return _natives.invoke_void(0x8DE69FE35CA09A45,groupID,p1,sizeInMembers);end,\n"\ +"DOES_GROUP_EXIST=function(groupId)return _natives.invoke_bool(0x7C6B0C22F9F40BBE,groupId);end,\n"\ +"GET_PED_GROUP_INDEX=function(ped)return _natives.invoke_int(0xF162E133B4E7A675,ped);end,\n"\ +"IS_PED_IN_GROUP=function(ped)return _natives.invoke_bool(0x5891CAC5D4ACFF74,ped);end,\n"\ +"GET_PLAYER_PED_IS_FOLLOWING=function(ped)return _natives.invoke_int(0x6A3975DEA89F9A17,ped);end,\n"\ +"SET_GROUP_FORMATION=function(groupId,formationType)return _natives.invoke_void(0xCE2F5FC3AF7E8C1E,groupId,formationType);end,\n"\ +"SET_GROUP_FORMATION_SPACING=function(groupId,x,y,z)return _natives.invoke_void(0x1D9D45004C28C916,groupId,x,y,z);end,\n"\ +"RESET_GROUP_FORMATION_DEFAULT_SPACING=function(groupHandle)return _natives.invoke_void(0x63DAB4CCB3273205,groupHandle);end,\n"\ +"GET_VEHICLE_PED_IS_USING=function(ped)return _natives.invoke_int(0x6094AD011A2EA87D,ped);end,\n"\ +"GET_VEHICLE_PED_IS_ENTERING=function(ped)return _natives.invoke_int(0xF92691AED837A5FC,ped);end,\n"\ +"SET_PED_GRAVITY=function(ped,toggle)return _natives.invoke_void(0x9FF447B6B6AD960A,ped,toggle);end,\n"\ +"APPLY_DAMAGE_TO_PED=function(ped,damageAmount,p2,p3)return _natives.invoke_void(0x697157CED63F18D4,ped,damageAmount,p2,p3);end,\n"\ +"GET_TIME_PED_DAMAGED_BY_WEAPON=function(ped,weaponHash)return _natives.invoke_int(0x36B77BB84687C318,ped,weaponHash);end,\n"\ +"SET_PED_ALLOWED_TO_DUCK=function(ped,toggle)return _natives.invoke_void(0xDA1F1B7BE1A8766F,ped,toggle);end,\n"\ +"SET_PED_NEVER_LEAVES_GROUP=function(ped,toggle)return _natives.invoke_void(0x3DBFC55D5C9BB447,ped,toggle);end,\n"\ +"GET_PED_TYPE=function(ped)return _natives.invoke_int(0xFF059E1E4C01E63C,ped);end,\n"\ +"SET_PED_AS_COP=function(ped,toggle)return _natives.invoke_void(0xBB03C38DD3FB7FFD,ped,toggle);end,\n"\ +"SET_PED_HEALTH_PENDING_LAST_DAMAGE_EVENT_OVERRIDE_FLAG=function(toggle)return _natives.invoke_void(0xB3352E018D6F89DF,toggle);end,\n"\ +"SET_PED_MAX_HEALTH=function(ped,value)return _natives.invoke_void(0xF5F6378C4F3419D3,ped,value);end,\n"\ +"GET_PED_MAX_HEALTH=function(ped)return _natives.invoke_int(0x4700A416E8324EF3,ped);end,\n"\ +"SET_PED_MAX_TIME_IN_WATER=function(ped,value)return _natives.invoke_void(0x43C851690662113D,ped,value);end,\n"\ +"SET_PED_MAX_TIME_UNDERWATER=function(ped,value)return _natives.invoke_void(0x6BA428C528D9E522,ped,value);end,\n"\ +"SET_CORPSE_RAGDOLL_FRICTION=function(ped,p1)return _natives.invoke_void(0x2735233A786B1BEF,ped,p1);end,\n"\ +"SET_PED_VEHICLE_FORCED_SEAT_USAGE=function(ped,vehicle,seatIndex,flags,p4)return _natives.invoke_void(0x952F06BEECD775CC,ped,vehicle,seatIndex,flags,p4);end,\n"\ +"CLEAR_ALL_PED_VEHICLE_FORCED_SEAT_USAGE=function(ped)return _natives.invoke_void(0xE6CA85E7259CE16B,ped);end,\n"\ +"SET_PED_CAN_BE_KNOCKED_OFF_BIKE=function(p0,p1)return _natives.invoke_void(0xB282749D5E028163,p0,p1);end,\n"\ +"SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE=function(ped,state)return _natives.invoke_void(0x7A6535691B477C48,ped,state);end,\n"\ +"CAN_KNOCK_PED_OFF_VEHICLE=function(ped)return _natives.invoke_bool(0x51AC07A44D4F5B8A,ped);end,\n"\ +"KNOCK_PED_OFF_VEHICLE=function(ped)return _natives.invoke_void(0x45BBCBA77C29A841,ped);end,\n"\ +"SET_PED_COORDS_NO_GANG=function(ped,posX,posY,posZ)return _natives.invoke_void(0x87052FE446E07247,ped,posX,posY,posZ);end,\n"\ +"GET_PED_AS_GROUP_MEMBER=function(groupID,memberNumber)return _natives.invoke_int(0x51455483CF23ED97,groupID,memberNumber);end,\n"\ +"GET_PED_AS_GROUP_LEADER=function(groupID)return _natives.invoke_int(0x5CCE68DBD5FE93EC,groupID);end,\n"\ +"SET_PED_KEEP_TASK=function(ped,toggle)return _natives.invoke_void(0x971D38760FBC02EF,ped,toggle);end,\n"\ +"SET_PED_ALLOW_MINOR_REACTIONS_AS_MISSION_PED=function(ped,toggle)return _natives.invoke_void(0x49E50BDB8BA4DAB2,ped,toggle);end,\n"\ +"IS_PED_SWIMMING=function(ped)return _natives.invoke_bool(0x9DE327631295B4C2,ped);end,\n"\ +"IS_PED_SWIMMING_UNDER_WATER=function(ped)return _natives.invoke_bool(0xC024869A53992F34,ped);end,\n"\ +"SET_PED_COORDS_KEEP_VEHICLE=function(ped,posX,posY,posZ)return _natives.invoke_void(0x9AFEFF481A85AB2E,ped,posX,posY,posZ);end,\n"\ +"SET_PED_DIES_IN_VEHICLE=function(ped,toggle)return _natives.invoke_void(0x2A30922C90C9B42C,ped,toggle);end,\n"\ +"SET_CREATE_RANDOM_COPS=function(toggle)return _natives.invoke_void(0x102E68B2024D536D,toggle);end,\n"\ +"SET_CREATE_RANDOM_COPS_NOT_ON_SCENARIOS=function(toggle)return _natives.invoke_void(0x8A4986851C4EF6E7,toggle);end,\n"\ +"SET_CREATE_RANDOM_COPS_ON_SCENARIOS=function(toggle)return _natives.invoke_void(0x444CB7D7DBE6973D,toggle);end,\n"\ +"CAN_CREATE_RANDOM_COPS=function()return _natives.invoke_bool(0x5EE2CAFF7F17770D);end,\n"\ +"SET_PED_AS_ENEMY=function(ped,toggle)return _natives.invoke_void(0x02A0C9720B854BFA,ped,toggle);end,\n"\ +"SET_PED_CAN_SMASH_GLASS=function(ped,p1,p2)return _natives.invoke_void(0x1CCE141467FF42A2,ped,p1,p2);end,\n"\ +"IS_PED_IN_ANY_TRAIN=function(ped)return _natives.invoke_bool(0x6F972C1AB75A1ED0,ped);end,\n"\ +"IS_PED_GETTING_INTO_A_VEHICLE=function(ped)return _natives.invoke_bool(0xBB062B2B5722478E,ped);end,\n"\ +"IS_PED_TRYING_TO_ENTER_A_LOCKED_VEHICLE=function(ped)return _natives.invoke_bool(0x44D28D5DDFE5F68C,ped);end,\n"\ +"SET_ENABLE_HANDCUFFS=function(ped,toggle)return _natives.invoke_void(0xDF1AF8B5D56542FA,ped,toggle);end,\n"\ +"SET_ENABLE_BOUND_ANKLES=function(ped,toggle)return _natives.invoke_void(0xC52E0F855C58FC2E,ped,toggle);end,\n"\ +"SET_ENABLE_SCUBA=function(ped,toggle)return _natives.invoke_void(0xF99F62004024D506,ped,toggle);end,\n"\ +"SET_CAN_ATTACK_FRIENDLY=function(ped,toggle,p2)return _natives.invoke_void(0xB3B1CB349FF9C75D,ped,toggle,p2);end,\n"\ +"GET_PED_ALERTNESS=function(ped)return _natives.invoke_int(0xF6AA118530443FD2,ped);end,\n"\ +"SET_PED_ALERTNESS=function(ped,value)return _natives.invoke_void(0xDBA71115ED9941A6,ped,value);end,\n"\ +"SET_PED_GET_OUT_UPSIDE_DOWN_VEHICLE=function(ped,toggle)return _natives.invoke_void(0xBC0ED94165A48BC2,ped,toggle);end,\n"\ +"SET_PED_MOVEMENT_CLIPSET=function(ped,clipSet,transitionSpeed)return _natives.invoke_void(0xAF8A94EDE7712BEF,ped,clipSet,transitionSpeed);end,\n"\ +"RESET_PED_MOVEMENT_CLIPSET=function(ped,p1)return _natives.invoke_void(0xAA74EC0CB0AAEA2C,ped,p1);end,\n"\ +"SET_PED_STRAFE_CLIPSET=function(ped,clipSet)return _natives.invoke_void(0x29A28F3F8CF6D854,ped,clipSet);end,\n"\ +"RESET_PED_STRAFE_CLIPSET=function(ped)return _natives.invoke_void(0x20510814175EA477,ped);end,\n"\ +"SET_PED_WEAPON_MOVEMENT_CLIPSET=function(ped,clipSet)return _natives.invoke_void(0x2622E35B77D3ACA2,ped,clipSet);end,\n"\ +"RESET_PED_WEAPON_MOVEMENT_CLIPSET=function(ped)return _natives.invoke_void(0x97B0DB5B4AA74E77,ped);end,\n"\ +"SET_PED_DRIVE_BY_CLIPSET_OVERRIDE=function(ped,clipset)return _natives.invoke_void(0xED34AB6C5CB36520,ped,clipset);end,\n"\ +"CLEAR_PED_DRIVE_BY_CLIPSET_OVERRIDE=function(ped)return _natives.invoke_void(0x4AFE3690D7E0B5AC,ped);end,\n"\ +"SET_PED_MOTION_IN_COVER_CLIPSET_OVERRIDE=function(ped,p1)return _natives.invoke_void(0x9DBA107B4937F809,ped,p1);end,\n"\ +"CLEAR_PED_MOTION_IN_COVER_CLIPSET_OVERRIDE=function(ped)return _natives.invoke_void(0xC79196DCB36F6121,ped);end,\n"\ +"CLEAR_PED_FALL_UPPER_BODY_CLIPSET_OVERRIDE=function(ped)return _natives.invoke_void(0x80054D7FCC70EEC6,ped);end,\n"\ +"SET_PED_IN_VEHICLE_CONTEXT=function(ped,context)return _natives.invoke_void(0x530071295899A8C6,ped,context);end,\n"\ +"RESET_PED_IN_VEHICLE_CONTEXT=function(ped)return _natives.invoke_void(0x22EF8FF8778030EB,ped);end,\n"\ +"IS_SCRIPTED_SCENARIO_PED_USING_CONDITIONAL_ANIM=function(ped,animDict,anim)return _natives.invoke_bool(0x6EC47A344923E1ED,ped,animDict,anim);end,\n"\ +"SET_PED_ALTERNATE_WALK_ANIM=function(ped,animDict,animName,p3,p4)return _natives.invoke_void(0x6C60394CB4F75E9A,ped,animDict,animName,p3,p4);end,\n"\ +"CLEAR_PED_ALTERNATE_WALK_ANIM=function(ped,p1)return _natives.invoke_void(0x8844BBFCE30AA9E9,ped,p1);end,\n"\ +"SET_PED_ALTERNATE_MOVEMENT_ANIM=function(ped,stance,animDictionary,animationName,p4,p5)return _natives.invoke_void(0x90A43CC281FFAB46,ped,stance,animDictionary,animationName,p4,p5);end,\n"\ +"CLEAR_PED_ALTERNATE_MOVEMENT_ANIM=function(ped,stance,p2)return _natives.invoke_void(0xD8D19675ED5FBDCE,ped,stance,p2);end,\n"\ +"SET_PED_GESTURE_GROUP=function(ped,animGroupGesture)return _natives.invoke_void(0xDDF803377F94AAA8,ped,animGroupGesture);end,\n"\ +"GET_ANIM_INITIAL_OFFSET_POSITION=function(animDict,animName,x,y,z,xRot,yRot,zRot,p8,p9)return _natives.invoke_vec3(0xBE22B26DD764C040,animDict,animName,x,y,z,xRot,yRot,zRot,p8,p9);end,\n"\ +"GET_ANIM_INITIAL_OFFSET_ROTATION=function(animDict,animName,x,y,z,xRot,yRot,zRot,p8,p9)return _natives.invoke_vec3(0x4B805E6046EE9E47,animDict,animName,x,y,z,xRot,yRot,zRot,p8,p9);end,\n"\ +"GET_PED_DRAWABLE_VARIATION=function(ped,componentId)return _natives.invoke_int(0x67F3780DD425D4FC,ped,componentId);end,\n"\ +"GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS=function(ped,componentId)return _natives.invoke_int(0x27561561732A7842,ped,componentId);end,\n"\ +"GET_PED_TEXTURE_VARIATION=function(ped,componentId)return _natives.invoke_int(0x04A355E041E004E6,ped,componentId);end,\n"\ +"GET_NUMBER_OF_PED_TEXTURE_VARIATIONS=function(ped,componentId,drawableId)return _natives.invoke_int(0x8F7156A3142A6BAD,ped,componentId,drawableId);end,\n"\ +"GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS=function(ped,propId)return _natives.invoke_int(0x5FAF9754E789FB47,ped,propId);end,\n"\ +"GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS=function(ped,propId,drawableId)return _natives.invoke_int(0xA6E7F1CEB523E171,ped,propId,drawableId);end,\n"\ +"GET_PED_PALETTE_VARIATION=function(ped,componentId)return _natives.invoke_int(0xE3DD5F2A84B42281,ped,componentId);end,\n"\ +"GET_MP_OUTFIT_DATA_FROM_METADATA=function(p0,p1)return _natives.invoke_bool(0x9E30E91FB03A2CAF,p0,p1);end,\n"\ +"GET_FM_MALE_SHOP_PED_APPAREL_ITEM_INDEX=function(p0)return _natives.invoke_int(0x1E77FA7A62EE6C4C,p0);end,\n"\ +"GET_FM_FEMALE_SHOP_PED_APPAREL_ITEM_INDEX=function(p0)return _natives.invoke_int(0xF033419D1B81FAE8,p0);end,\n"\ +"IS_PED_COMPONENT_VARIATION_VALID=function(ped,componentId,drawableId,textureId)return _natives.invoke_bool(0xE825F6B6CEA7671D,ped,componentId,drawableId,textureId);end,\n"\ +"SET_PED_COMPONENT_VARIATION=function(ped,componentId,drawableId,textureId,paletteId)return _natives.invoke_void(0x262B14F48D29DE80,ped,componentId,drawableId,textureId,paletteId);end,\n"\ +"SET_PED_RANDOM_COMPONENT_VARIATION=function(ped,p1)return _natives.invoke_void(0xC8A9481A01E63C28,ped,p1);end,\n"\ +"SET_PED_RANDOM_PROPS=function(ped)return _natives.invoke_void(0xC44AA05345C992C6,ped);end,\n"\ +"SET_PED_DEFAULT_COMPONENT_VARIATION=function(ped)return _natives.invoke_void(0x45EEE61580806D63,ped);end,\n"\ +"SET_PED_BLEND_FROM_PARENTS=function(ped,p1,p2,p3,p4)return _natives.invoke_void(0x137BBD05230DB22D,ped,p1,p2,p3,p4);end,\n"\ +"SET_PED_HEAD_BLEND_DATA=function(ped,shapeFirstID,shapeSecondID,shapeThirdID,skinFirstID,skinSecondID,skinThirdID,shapeMix,skinMix,thirdMix,isParent)return _natives.invoke_void(0x9414E18B9434C2FE,ped,shapeFirstID,shapeSecondID,shapeThirdID,skinFirstID,skinSecondID,skinThirdID,shapeMix,skinMix,thirdMix,isParent);end,\n"\ +"GET_PED_HEAD_BLEND_DATA=function(ped,headBlendData)return _natives.invoke_bool(0x2746BD9D88C5C5D0,ped,headBlendData);end,\n"\ +"UPDATE_PED_HEAD_BLEND_DATA=function(ped,shapeMix,skinMix,thirdMix)return _natives.invoke_void(0x723538F61C647C5A,ped,shapeMix,skinMix,thirdMix);end,\n"\ +"SET_HEAD_BLEND_EYE_COLOR=function(ped,index)return _natives.invoke_void(0x50B56988B170AFDF,ped,index);end,\n"\ +"GET_HEAD_BLEND_EYE_COLOR=function(ped)return _natives.invoke_int(0x76BBA2CEE66D47E9,ped);end,\n"\ +"SET_PED_HEAD_OVERLAY=function(ped,overlayID,index,opacity)return _natives.invoke_void(0x48F44967FA05CC1E,ped,overlayID,index,opacity);end,\n"\ +"GET_PED_HEAD_OVERLAY=function(ped,overlayID)return _natives.invoke_int(0xA60EF3B6461A4D43,ped,overlayID);end,\n"\ +"GET_PED_HEAD_OVERLAY_NUM=function(overlayID)return _natives.invoke_int(0xCF1CE768BB43480E,overlayID);end,\n"\ +"SET_PED_HEAD_OVERLAY_TINT=function(ped,overlayID,colorType,colorID,secondColorID)return _natives.invoke_void(0x497BF74A7B9CB952,ped,overlayID,colorType,colorID,secondColorID);end,\n"\ +"SET_PED_HAIR_TINT=function(ped,colorID,highlightColorID)return _natives.invoke_void(0x4CFFC65454C93A49,ped,colorID,highlightColorID);end,\n"\ +"GET_NUM_PED_HAIR_TINTS=function()return _natives.invoke_int(0xE5C0CF872C2AD150);end,\n"\ +"GET_NUM_PED_MAKEUP_TINTS=function()return _natives.invoke_int(0xD1F7CA1535D22818);end,\n"\ +"GET_PED_HAIR_TINT_COLOR=function(hairColorIndex,outR,outG,outB)return _natives.invoke_void(0x4852FC386E2E1BB5,hairColorIndex,outR,outG,outB);end,\n"\ +"GET_PED_MAKEUP_TINT_COLOR=function(makeupColorIndex,outR,outG,outB)return _natives.invoke_void(0x013E5CFC38CD5387,makeupColorIndex,outR,outG,outB);end,\n"\ +"IS_PED_HAIR_TINT_FOR_CREATOR=function(colorId)return _natives.invoke_bool(0xED6D8E27A43B8CDE,colorId);end,\n"\ +"GET_DEFAULT_SECONDARY_TINT_FOR_CREATOR=function(colorId)return _natives.invoke_int(0xEA9960D07DADCF10,colorId);end,\n"\ +"IS_PED_LIPSTICK_TINT_FOR_CREATOR=function(colorId)return _natives.invoke_bool(0x3E802F11FBE27674,colorId);end,\n"\ +"IS_PED_BLUSH_TINT_FOR_CREATOR=function(colorId)return _natives.invoke_bool(0xF41B5D290C99A3D6,colorId);end,\n"\ +"IS_PED_HAIR_TINT_FOR_BARBER=function(colorID)return _natives.invoke_bool(0xE0D36E5D9E99CC21,colorID);end,\n"\ +"GET_DEFAULT_SECONDARY_TINT_FOR_BARBER=function(colorID)return _natives.invoke_int(0xAAA6A3698A69E048,colorID);end,\n"\ +"IS_PED_LIPSTICK_TINT_FOR_BARBER=function(colorID)return _natives.invoke_bool(0x0525A2C2562F3CD4,colorID);end,\n"\ +"IS_PED_BLUSH_TINT_FOR_BARBER=function(colorID)return _natives.invoke_bool(0x604E810189EE3A59,colorID);end,\n"\ +"IS_PED_BLUSH_FACEPAINT_TINT_FOR_BARBER=function(colorId)return _natives.invoke_bool(0x09E7ECA981D9B210,colorId);end,\n"\ +"GET_TINT_INDEX_FOR_LAST_GEN_HAIR_TEXTURE=function(modelHash,drawableId,textureId)return _natives.invoke_int(0xC56FBF2F228E1DAC,modelHash,drawableId,textureId);end,\n"\ +"SET_PED_MICRO_MORPH=function(ped,index,scale)return _natives.invoke_void(0x71A5C1DBA060049E,ped,index,scale);end,\n"\ +"HAS_PED_HEAD_BLEND_FINISHED=function(ped)return _natives.invoke_bool(0x654CD0A825161131,ped);end,\n"\ +"FINALIZE_HEAD_BLEND=function(ped)return _natives.invoke_void(0x4668D80430D6C299,ped);end,\n"\ +"SET_HEAD_BLEND_PALETTE_COLOR=function(ped,r,g,b,id)return _natives.invoke_void(0xCC9682B8951C5229,ped,r,g,b,id);end,\n"\ +"DISABLE_HEAD_BLEND_PALETTE_COLOR=function(ped)return _natives.invoke_void(0xA21C118553BBDF02,ped);end,\n"\ +"GET_PED_HEAD_BLEND_FIRST_INDEX=function(type)return _natives.invoke_int(0x68D353AB88B97E0C,type);end,\n"\ +"GET_PED_HEAD_BLEND_NUM_HEADS=function(type)return _natives.invoke_int(0x5EF37013A6539C9D,type);end,\n"\ +"SET_PED_PRELOAD_VARIATION_DATA=function(ped,slot,drawableId,textureId)return _natives.invoke_int(0x39D55A620FCB6A3A,ped,slot,drawableId,textureId);end,\n"\ +"HAS_PED_PRELOAD_VARIATION_DATA_FINISHED=function(ped)return _natives.invoke_bool(0x66680A92700F43DF,ped);end,\n"\ +"RELEASE_PED_PRELOAD_VARIATION_DATA=function(ped)return _natives.invoke_void(0x5AAB586FFEC0FD96,ped);end,\n"\ +"SET_PED_PRELOAD_PROP_DATA=function(ped,componentId,drawableId,TextureId)return _natives.invoke_int(0x2B16A3BFF1FBCE49,ped,componentId,drawableId,TextureId);end,\n"\ +"HAS_PED_PRELOAD_PROP_DATA_FINISHED=function(ped)return _natives.invoke_bool(0x784002A632822099,ped);end,\n"\ +"RELEASE_PED_PRELOAD_PROP_DATA=function(ped)return _natives.invoke_void(0xF79F9DEF0AADE61A,ped);end,\n"\ +"GET_PED_PROP_INDEX=function(ped,componentId,p2)return _natives.invoke_int(0x898CC20EA75BACD8,ped,componentId,p2);end,\n"\ +"SET_PED_PROP_INDEX=function(ped,componentId,drawableId,TextureId,attach,p5)return _natives.invoke_void(0x93376B65A266EB5F,ped,componentId,drawableId,TextureId,attach,p5);end,\n"\ +"KNOCK_OFF_PED_PROP=function(ped,p1,p2,p3,p4)return _natives.invoke_void(0x6FD7816A36615F48,ped,p1,p2,p3,p4);end,\n"\ +"CLEAR_PED_PROP=function(ped,propId,p2)return _natives.invoke_void(0x0943E5B8E078E76E,ped,propId,p2);end,\n"\ +"CLEAR_ALL_PED_PROPS=function(ped,p1)return _natives.invoke_void(0xCD8A7537A9B52F06,ped,p1);end,\n"\ +"DROP_AMBIENT_PROP=function(ped)return _natives.invoke_void(0xAFF4710E2A0A6C12,ped);end,\n"\ +"GET_PED_PROP_TEXTURE_INDEX=function(ped,componentId)return _natives.invoke_int(0xE131A28626F81AB2,ped,componentId);end,\n"\ +"CLEAR_PED_PARACHUTE_PACK_VARIATION=function(ped)return _natives.invoke_void(0x1280804F7CFD2D6C,ped);end,\n"\ +"SET_PED_SCUBA_GEAR_VARIATION=function(ped)return _natives.invoke_void(0x36C6984C3ED0C911,ped);end,\n"\ +"CLEAR_PED_SCUBA_GEAR_VARIATION=function(ped)return _natives.invoke_void(0xB50EB4CCB29704AC,ped);end,\n"\ +"IS_USING_PED_SCUBA_GEAR_VARIATION=function(p0)return _natives.invoke_bool(0xFEC9A3B1820F3331,p0);end,\n"\ +"SET_BLOCKING_OF_NON_TEMPORARY_EVENTS=function(ped,toggle)return _natives.invoke_void(0x9F8AA94D6D97DBF4,ped,toggle);end,\n"\ +"SET_PED_BOUNDS_ORIENTATION=function(ped,p1,p2,x,y,z)return _natives.invoke_void(0x4F5F651ACCC9C4CF,ped,p1,p2,x,y,z);end,\n"\ +"REGISTER_TARGET=function(ped,target)return _natives.invoke_void(0x2F25D9AEFA34FBA2,ped,target);end,\n"\ +"REGISTER_HATED_TARGETS_AROUND_PED=function(ped,radius)return _natives.invoke_void(0x9222F300BF8354FE,ped,radius);end,\n"\ +"GET_RANDOM_PED_AT_COORD=function(x,y,z,xRadius,yRadius,zRadius,pedType)return _natives.invoke_int(0x876046A8E3A4B71C,x,y,z,xRadius,yRadius,zRadius,pedType);end,\n"\ +"GET_CLOSEST_PED=function(x,y,z,radius,p4,p5,outPed,p7,p8,pedType)return _natives.invoke_bool(0xC33AB876A77F8164,x,y,z,radius,p4,p5,outPed,p7,p8,pedType);end,\n"\ +"SET_SCENARIO_PEDS_TO_BE_RETURNED_BY_NEXT_COMMAND=function(value)return _natives.invoke_void(0x14F19A8782C8071E,value);end,\n"\ +"GET_CAN_PED_BE_GRABBED_BY_SCRIPT=function(ped,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_bool(0x03EA03AF85A85CB7,ped,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"SET_DRIVER_RACING_MODIFIER=function(driver,modifier)return _natives.invoke_void(0xDED5AF5A0EA4B297,driver,modifier);end,\n"\ +"SET_DRIVER_ABILITY=function(driver,ability)return _natives.invoke_void(0xB195FFA8042FC5C3,driver,ability);end,\n"\ +"SET_DRIVER_AGGRESSIVENESS=function(driver,aggressiveness)return _natives.invoke_void(0xA731F608CA104E3C,driver,aggressiveness);end,\n"\ +"CAN_PED_RAGDOLL=function(ped)return _natives.invoke_bool(0x128F79EDCECE4FD5,ped);end,\n"\ +"SET_PED_TO_RAGDOLL=function(ped,time1,time2,ragdollType,p4,p5,p6)return _natives.invoke_bool(0xAE99FB955581844A,ped,time1,time2,ragdollType,p4,p5,p6);end,\n"\ +"SET_PED_TO_RAGDOLL_WITH_FALL=function(ped,time,p2,ragdollType,x,y,z,velocity,p8,p9,p10,p11,p12,p13)return _natives.invoke_bool(0xD76632D99E4966C8,ped,time,p2,ragdollType,x,y,z,velocity,p8,p9,p10,p11,p12,p13);end,\n"\ +"SET_PED_RAGDOLL_ON_COLLISION=function(ped,toggle)return _natives.invoke_void(0xF0A4F1BBF4FA7497,ped,toggle);end,\n"\ +"IS_PED_RAGDOLL=function(ped)return _natives.invoke_bool(0x47E4E977581C5B55,ped);end,\n"\ +"IS_PED_RUNNING_RAGDOLL_TASK=function(ped)return _natives.invoke_bool(0xE3B6097CC25AA69E,ped);end,\n"\ +"SET_PED_RAGDOLL_FORCE_FALL=function(ped)return _natives.invoke_void(0x01F6594B923B9251,ped);end,\n"\ +"RESET_PED_RAGDOLL_TIMER=function(ped)return _natives.invoke_void(0x9FA4664CF62E47E8,ped);end,\n"\ +"SET_PED_CAN_RAGDOLL=function(ped,toggle)return _natives.invoke_void(0xB128377056A54E2A,ped,toggle);end,\n"\ +"IS_PED_RUNNING_MELEE_TASK=function(ped)return _natives.invoke_bool(0xD1871251F3B5ACD7,ped);end,\n"\ +"IS_PED_RUNNING_MOBILE_PHONE_TASK=function(ped)return _natives.invoke_bool(0x2AFE52F782F25775,ped);end,\n"\ +"IS_MOBILE_PHONE_TO_PED_EAR=function(ped)return _natives.invoke_bool(0xA3F3564A5B3646C0,ped);end,\n"\ +"SET_RAGDOLL_BLOCKING_FLAGS=function(ped,blockingFlag)return _natives.invoke_void(0x26695EC767728D84,ped,blockingFlag);end,\n"\ +"CLEAR_RAGDOLL_BLOCKING_FLAGS=function(ped,blockingFlag)return _natives.invoke_void(0xD86D101FCFD00A4B,ped,blockingFlag);end,\n"\ +"SET_PED_ANGLED_DEFENSIVE_AREA=function(ped,p1,p2,p3,p4,p5,p6,p7,p8,p9)return _natives.invoke_void(0xC7F76DF27A5045A1,ped,p1,p2,p3,p4,p5,p6,p7,p8,p9);end,\n"\ +"SET_PED_SPHERE_DEFENSIVE_AREA=function(ped,x,y,z,radius,p5,p6)return _natives.invoke_void(0x9D3151A373974804,ped,x,y,z,radius,p5,p6);end,\n"\ +"SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_PED=function(ped,target,xOffset,yOffset,zOffset,radius,p6)return _natives.invoke_void(0xF9B8F91AAD3B953E,ped,target,xOffset,yOffset,zOffset,radius,p6);end,\n"\ +"SET_PED_DEFENSIVE_SPHERE_ATTACHED_TO_VEHICLE=function(ped,target,xOffset,yOffset,zOffset,radius,p6)return _natives.invoke_void(0xE4723DB6E736CCFF,ped,target,xOffset,yOffset,zOffset,radius,p6);end,\n"\ +"SET_PED_DEFENSIVE_AREA_ATTACHED_TO_PED=function(ped,attachPed,p2,p3,p4,p5,p6,p7,p8,p9,p10)return _natives.invoke_void(0x4EF47FE21698A8B6,ped,attachPed,p2,p3,p4,p5,p6,p7,p8,p9,p10);end,\n"\ +"SET_PED_DEFENSIVE_AREA_DIRECTION=function(ped,p1,p2,p3,p4)return _natives.invoke_void(0x413C6C763A4AFFAD,ped,p1,p2,p3,p4);end,\n"\ +"REMOVE_PED_DEFENSIVE_AREA=function(ped,toggle)return _natives.invoke_void(0x74D4E028107450A9,ped,toggle);end,\n"\ +"GET_PED_DEFENSIVE_AREA_POSITION=function(ped,p1)return _natives.invoke_vec3(0x3C06B8786DD94CD1,ped,p1);end,\n"\ +"IS_PED_DEFENSIVE_AREA_ACTIVE=function(ped,p1)return _natives.invoke_bool(0xBA63D9FE45412247,ped,p1);end,\n"\ +"SET_PED_PREFERRED_COVER_SET=function(ped,itemSet)return _natives.invoke_void(0x8421EB4DA7E391B9,ped,itemSet);end,\n"\ +"REMOVE_PED_PREFERRED_COVER_SET=function(ped)return _natives.invoke_void(0xFDDB234CF74073D9,ped);end,\n"\ +"REVIVE_INJURED_PED=function(ped)return _natives.invoke_void(0x8D8ACD8388CD99CE,ped);end,\n"\ +"RESURRECT_PED=function(ped)return _natives.invoke_void(0x71BC8E838B9C6035,ped);end,\n"\ +"SET_PED_NAME_DEBUG=function(ped,name)return _natives.invoke_void(0x98EFA132A4117BE1,ped,name);end,\n"\ +"GET_PED_EXTRACTED_DISPLACEMENT=function(ped,worldSpace)return _natives.invoke_vec3(0xE0AF41401ADF87E3,ped,worldSpace);end,\n"\ +"SET_PED_DIES_WHEN_INJURED=function(ped,toggle)return _natives.invoke_void(0x5BA7919BED300023,ped,toggle);end,\n"\ +"SET_PED_ENABLE_WEAPON_BLOCKING=function(ped,toggle)return _natives.invoke_void(0x97A790315D3831FD,ped,toggle);end,\n"\ +"SPECIAL_FUNCTION_DO_NOT_USE=function(ped,p1)return _natives.invoke_void(0xF9ACF4A08098EA25,ped,p1);end,\n"\ +"RESET_PED_VISIBLE_DAMAGE=function(ped)return _natives.invoke_void(0x3AC1F7B898F30C05,ped);end,\n"\ +"APPLY_PED_BLOOD_DAMAGE_BY_ZONE=function(ped,p1,p2,p3,p4)return _natives.invoke_void(0x816F6981C60BF53B,ped,p1,p2,p3,p4);end,\n"\ +"APPLY_PED_BLOOD=function(ped,boneIndex,xRot,yRot,zRot,woundType)return _natives.invoke_void(0x83F7E01C7B769A26,ped,boneIndex,xRot,yRot,zRot,woundType);end,\n"\ +"APPLY_PED_BLOOD_BY_ZONE=function(ped,p1,p2,p3,p4)return _natives.invoke_void(0x3311E47B91EDCBBC,ped,p1,p2,p3,p4);end,\n"\ +"APPLY_PED_BLOOD_SPECIFIC=function(ped,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_void(0xEF0D582CBF2D9B0F,ped,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"APPLY_PED_DAMAGE_DECAL=function(ped,damageZone,xOffset,yOffset,heading,scale,alpha,variation,fadeIn,decalName)return _natives.invoke_void(0x397C38AA7B4A5F83,ped,damageZone,xOffset,yOffset,heading,scale,alpha,variation,fadeIn,decalName);end,\n"\ +"APPLY_PED_DAMAGE_PACK=function(ped,damagePack,damage,mult)return _natives.invoke_void(0x46DF918788CB093F,ped,damagePack,damage,mult);end,\n"\ +"CLEAR_PED_BLOOD_DAMAGE=function(ped)return _natives.invoke_void(0x8FE22675A5A45817,ped);end,\n"\ +"CLEAR_PED_BLOOD_DAMAGE_BY_ZONE=function(ped,p1)return _natives.invoke_void(0x56E3B78C5408D9F4,ped,p1);end,\n"\ +"HIDE_PED_BLOOD_DAMAGE_BY_ZONE=function(ped,p1,p2)return _natives.invoke_void(0x62AB793144DE75DC,ped,p1,p2);end,\n"\ +"CLEAR_PED_DAMAGE_DECAL_BY_ZONE=function(ped,p1,p2)return _natives.invoke_void(0x523C79AEEFCC4A2A,ped,p1,p2);end,\n"\ +"GET_PED_DECORATIONS_STATE=function(ped)return _natives.invoke_int(0x71EAB450D86954A1,ped);end,\n"\ +"MARK_PED_DECORATIONS_AS_CLONED_FROM_LOCAL_PLAYER=function(ped,p1)return _natives.invoke_void(0x2B694AFCF64E6994,ped,p1);end,\n"\ +"CLEAR_PED_WETNESS=function(ped)return _natives.invoke_void(0x9C720776DAA43E7E,ped);end,\n"\ +"SET_PED_WETNESS_HEIGHT=function(ped,height)return _natives.invoke_void(0x44CB6447D2571AA0,ped,height);end,\n"\ +"SET_PED_WETNESS_ENABLED_THIS_FRAME=function(ped)return _natives.invoke_void(0xB5485E4907B53019,ped);end,\n"\ +"SET_PED_WETNESS=function(ped,wetLevel)return _natives.invoke_void(0xAC0BB4D87777CAE2,ped,wetLevel);end,\n"\ +"CLEAR_PED_ENV_DIRT=function(ped)return _natives.invoke_void(0x6585D955A68452A5,ped);end,\n"\ +"SET_PED_SWEAT=function(ped,sweat)return _natives.invoke_void(0x27B0405F59637D1F,ped,sweat);end,\n"\ +"ADD_PED_DECORATION_FROM_HASHES=function(ped,collection,overlay)return _natives.invoke_void(0x5F5D1665E352A839,ped,collection,overlay);end,\n"\ +"ADD_PED_DECORATION_FROM_HASHES_IN_CORONA=function(ped,collection,overlay)return _natives.invoke_void(0x5619BFA07CFD7833,ped,collection,overlay);end,\n"\ +"GET_PED_DECORATION_ZONE_FROM_HASHES=function(collection,overlay)return _natives.invoke_int(0x9FD452BFBE7A7A8B,collection,overlay);end,\n"\ +"CLEAR_PED_DECORATIONS=function(ped)return _natives.invoke_void(0x0E5173C163976E38,ped);end,\n"\ +"CLEAR_PED_DECORATIONS_LEAVE_SCARS=function(ped)return _natives.invoke_void(0xE3B27E70CEAB9F0C,ped);end,\n"\ +"WAS_PED_SKELETON_UPDATED=function(ped)return _natives.invoke_bool(0x11B499C1E0FF8559,ped);end,\n"\ +"GET_PED_BONE_COORDS=function(ped,boneId,offsetX,offsetY,offsetZ)return _natives.invoke_vec3(0x17C07FC640E86B4E,ped,boneId,offsetX,offsetY,offsetZ);end,\n"\ +"CREATE_NM_MESSAGE=function(startImmediately,messageId)return _natives.invoke_void(0x418EF2A1BCE56685,startImmediately,messageId);end,\n"\ +"GIVE_PED_NM_MESSAGE=function(ped)return _natives.invoke_void(0xB158DFCCC56E5C5B,ped);end,\n"\ +"ADD_SCENARIO_BLOCKING_AREA=function(x1,y1,z1,x2,y2,z2,p6,p7,p8,p9)return _natives.invoke_int(0x1B5C85C612E5256E,x1,y1,z1,x2,y2,z2,p6,p7,p8,p9);end,\n"\ +"REMOVE_SCENARIO_BLOCKING_AREAS=function()return _natives.invoke_void(0xD37401D78A929A49);end,\n"\ +"REMOVE_SCENARIO_BLOCKING_AREA=function(p0,p1)return _natives.invoke_void(0x31D16B74C6E29D66,p0,p1);end,\n"\ +"SET_SCENARIO_PEDS_SPAWN_IN_SPHERE_AREA=function(x,y,z,range,p4)return _natives.invoke_void(0x28157D43CF600981,x,y,z,range,p4);end,\n"\ +"DOES_SCENARIO_BLOCKING_AREA_EXISTS=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_bool(0x8A24B067D175A7BD,x1,y1,z1,x2,y2,z2);end,\n"\ +"IS_PED_USING_SCENARIO=function(ped,scenario)return _natives.invoke_bool(0x1BF094736DD62C2E,ped,scenario);end,\n"\ +"IS_PED_USING_ANY_SCENARIO=function(ped)return _natives.invoke_bool(0x57AB4A3080F85143,ped);end,\n"\ +"SET_PED_PANIC_EXIT_SCENARIO=function(p0,p1,p2,p3)return _natives.invoke_bool(0xFE07FF6495D52E2A,p0,p1,p2,p3);end,\n"\ +"TOGGLE_SCENARIO_PED_COWER_IN_PLACE=function(ped,toggle)return _natives.invoke_void(0x9A77DFD295E29B09,ped,toggle);end,\n"\ +"TRIGGER_PED_SCENARIO_PANICEXITTOFLEE=function(p0,p1,p2,p3)return _natives.invoke_bool(0x25361A96E0F7E419,p0,p1,p2,p3);end,\n"\ +"SET_PED_SHOULD_PLAY_DIRECTED_NORMAL_SCENARIO_EXIT=function(p0,p1,p2,p3)return _natives.invoke_bool(0xEC6935EBE0847B90,p0,p1,p2,p3);end,\n"\ +"SET_PED_SHOULD_PLAY_NORMAL_SCENARIO_EXIT=function(ped)return _natives.invoke_void(0xA3A9299C4F2ADB98,ped);end,\n"\ +"SET_PED_SHOULD_PLAY_IMMEDIATE_SCENARIO_EXIT=function(ped)return _natives.invoke_void(0xF1C03A5352243A30,ped);end,\n"\ +"SET_PED_SHOULD_PLAY_FLEE_SCENARIO_EXIT=function(ped,p1,p2,p3)return _natives.invoke_bool(0xEEED8FAFEC331A70,ped,p1,p2,p3);end,\n"\ +"SET_PED_SHOULD_IGNORE_SCENARIO_EXIT_COLLISION_CHECKS=function(ped,p1)return _natives.invoke_void(0x425AECF167663F48,ped,p1);end,\n"\ +"SET_PED_SHOULD_IGNORE_SCENARIO_NAV_CHECKS=function(p0,p1)return _natives.invoke_void(0x5B6010B3CBC29095,p0,p1);end,\n"\ +"SET_PED_SHOULD_PROBE_FOR_SCENARIO_EXITS_IN_ONE_FRAME=function(p0,p1)return _natives.invoke_void(0xCEDA60A74219D064,p0,p1);end,\n"\ +"IS_PED_GESTURING=function(p0)return _natives.invoke_bool(0xC30BDAEE47256C13,p0);end,\n"\ +"RESET_FACIAL_IDLE_ANIM=function(ped)return _natives.invoke_void(0x007FDE5A7897E426,ped);end,\n"\ +"PLAY_FACIAL_ANIM=function(ped,animName,animDict)return _natives.invoke_void(0xE1E65CA8AC9C00ED,ped,animName,animDict);end,\n"\ +"SET_FACIAL_CLIPSET=function(ped,animDict)return _natives.invoke_void(0x5687C7F05B39E401,ped,animDict);end,\n"\ +"SET_FACIAL_IDLE_ANIM_OVERRIDE=function(ped,animName,animDict)return _natives.invoke_void(0xFFC24B988B938B38,ped,animName,animDict);end,\n"\ +"CLEAR_FACIAL_IDLE_ANIM_OVERRIDE=function(ped)return _natives.invoke_void(0x726256CC1EEB182F,ped);end,\n"\ +"SET_PED_CAN_PLAY_GESTURE_ANIMS=function(ped,toggle)return _natives.invoke_void(0xBAF20C5432058024,ped,toggle);end,\n"\ +"SET_PED_CAN_PLAY_VISEME_ANIMS=function(ped,toggle,p2)return _natives.invoke_void(0xF833DDBA3B104D43,ped,toggle,p2);end,\n"\ +"SET_PED_IS_IGNORED_BY_AUTO_OPEN_DOORS=function(ped,p1)return _natives.invoke_void(0x33A60D8BDD6E508C,ped,p1);end,\n"\ +"SET_PED_CAN_PLAY_AMBIENT_ANIMS=function(ped,toggle)return _natives.invoke_void(0x6373D1349925A70E,ped,toggle);end,\n"\ +"SET_PED_CAN_PLAY_AMBIENT_BASE_ANIMS=function(ped,toggle)return _natives.invoke_void(0x0EB0585D15254740,ped,toggle);end,\n"\ +"TRIGGER_IDLE_ANIMATION_ON_PED=function(ped)return _natives.invoke_void(0xC2EE020F5FB4DB53,ped);end,\n"\ +"SET_PED_CAN_ARM_IK=function(ped,toggle)return _natives.invoke_void(0x6C3B4D6D13B4C841,ped,toggle);end,\n"\ +"SET_PED_CAN_HEAD_IK=function(ped,toggle)return _natives.invoke_void(0xC11C18092C5530DC,ped,toggle);end,\n"\ +"SET_PED_CAN_LEG_IK=function(ped,toggle)return _natives.invoke_void(0x73518ECE2485412B,ped,toggle);end,\n"\ +"SET_PED_CAN_TORSO_IK=function(ped,toggle)return _natives.invoke_void(0xF2B7106D37947CE0,ped,toggle);end,\n"\ +"SET_PED_CAN_TORSO_REACT_IK=function(ped,p1)return _natives.invoke_void(0xF5846EDB26A98A24,ped,p1);end,\n"\ +"SET_PED_CAN_TORSO_VEHICLE_IK=function(ped,p1)return _natives.invoke_void(0x6647C5F6F5792496,ped,p1);end,\n"\ +"SET_PED_CAN_USE_AUTO_CONVERSATION_LOOKAT=function(ped,toggle)return _natives.invoke_void(0xEC4686EC06434678,ped,toggle);end,\n"\ +"IS_PED_HEADTRACKING_PED=function(ped1,ped2)return _natives.invoke_bool(0x5CD3CB88A7F8850D,ped1,ped2);end,\n"\ +"IS_PED_HEADTRACKING_ENTITY=function(ped,entity)return _natives.invoke_bool(0x813A0A7C9D2E831F,ped,entity);end,\n"\ +"SET_PED_PRIMARY_LOOKAT=function(ped,lookAt)return _natives.invoke_void(0xCD17B554996A8D9E,ped,lookAt);end,\n"\ +"SET_PED_CLOTH_PIN_FRAMES=function(p0,p1)return _natives.invoke_void(0x78C4E9961DB3EB5B,p0,p1);end,\n"\ +"SET_PED_CLOTH_PACKAGE_INDEX=function(p0,p1)return _natives.invoke_void(0x82A3D6D9CC2CB8E3,p0,p1);end,\n"\ +"SET_PED_CLOTH_PRONE=function(p0,p1)return _natives.invoke_void(0xA660FAF550EB37E5,p0,p1);end,\n"\ +"SET_PED_CONFIG_FLAG=function(ped,flagId,value)return _natives.invoke_void(0x1913FE4CBF41C463,ped,flagId,value);end,\n"\ +"SET_PED_RESET_FLAG=function(ped,flagId,doReset)return _natives.invoke_void(0xC1E8A365BF3B29F2,ped,flagId,doReset);end,\n"\ +"GET_PED_CONFIG_FLAG=function(ped,flagId,p2)return _natives.invoke_bool(0x7EE53118C892B513,ped,flagId,p2);end,\n"\ +"GET_PED_RESET_FLAG=function(ped,flagId)return _natives.invoke_bool(0xAF9E59B1B1FBF2A0,ped,flagId);end,\n"\ +"SET_PED_GROUP_MEMBER_PASSENGER_INDEX=function(ped,index)return _natives.invoke_void(0x0BDDB8D9EC6BCF3C,ped,index);end,\n"\ +"SET_PED_CAN_EVASIVE_DIVE=function(ped,toggle)return _natives.invoke_void(0x6B7A646C242A7059,ped,toggle);end,\n"\ +"IS_PED_EVASIVE_DIVING=function(ped,evadingEntity)return _natives.invoke_bool(0x414641C26E105898,ped,evadingEntity);end,\n"\ +"SET_PED_SHOOTS_AT_COORD=function(ped,x,y,z,toggle)return _natives.invoke_void(0x96A05E4FB321B1BA,ped,x,y,z,toggle);end,\n"\ +"SET_PED_MODEL_IS_SUPPRESSED=function(modelHash,toggle)return _natives.invoke_void(0xE163A4BCE4DE6F11,modelHash,toggle);end,\n"\ +"STOP_ANY_PED_MODEL_BEING_SUPPRESSED=function()return _natives.invoke_void(0xB47BD05FA66B40CF);end,\n"\ +"SET_PED_CAN_BE_TARGETED_WHEN_INJURED=function(ped,toggle)return _natives.invoke_void(0x638C03B0F9878F57,ped,toggle);end,\n"\ +"SET_PED_GENERATES_DEAD_BODY_EVENTS=function(ped,toggle)return _natives.invoke_void(0x7FB17BA2E7DECA5B,ped,toggle);end,\n"\ +"BLOCK_PED_FROM_GENERATING_DEAD_BODY_EVENTS_WHEN_DEAD=function(ped,toggle)return _natives.invoke_void(0xE43A13C9E4CCCBCF,ped,toggle);end,\n"\ +"SET_PED_WILL_ONLY_ATTACK_WANTED_PLAYER=function(p0,p1)return _natives.invoke_void(0x3E9679C1DFCF422C,p0,p1);end,\n"\ +"SET_PED_CAN_RAGDOLL_FROM_PLAYER_IMPACT=function(ped,toggle)return _natives.invoke_void(0xDF993EE5E90ABA25,ped,toggle);end,\n"\ +"GIVE_PED_HELMET=function(ped,cannotRemove,helmetFlag,textureIndex)return _natives.invoke_void(0x54C7C4A94367717E,ped,cannotRemove,helmetFlag,textureIndex);end,\n"\ +"REMOVE_PED_HELMET=function(ped,instantly)return _natives.invoke_void(0xA7B2458D0AD6DED8,ped,instantly);end,\n"\ +"IS_PED_TAKING_OFF_HELMET=function(ped)return _natives.invoke_bool(0x14590DDBEDB1EC85,ped);end,\n"\ +"SET_PED_HELMET=function(ped,canWearHelmet)return _natives.invoke_void(0x560A43136EB58105,ped,canWearHelmet);end,\n"\ +"SET_PED_HELMET_FLAG=function(ped,helmetFlag)return _natives.invoke_void(0xC0E78D5C2CE3EB25,ped,helmetFlag);end,\n"\ +"SET_PED_HELMET_PROP_INDEX=function(ped,propIndex,p2)return _natives.invoke_void(0x26D83693ED99291C,ped,propIndex,p2);end,\n"\ +"SET_PED_HELMET_VISOR_PROP_INDICES=function(ped,p1,p2,p3)return _natives.invoke_void(0x3F7325574E41B44D,ped,p1,p2,p3);end,\n"\ +"IS_PED_HELMET_VISOR_UP=function(ped)return _natives.invoke_bool(0xB9496CE47546DB2C,ped);end,\n"\ +"SET_PED_HELMET_TEXTURE_INDEX=function(ped,textureIndex)return _natives.invoke_void(0xF1550C4BD22582E2,ped,textureIndex);end,\n"\ +"IS_PED_WEARING_HELMET=function(ped)return _natives.invoke_bool(0xF33BDFE19B309B19,ped);end,\n"\ +"CLEAR_PED_STORED_HAT_PROP=function(ped)return _natives.invoke_void(0x687C0B594907D2E8,ped);end,\n"\ +"GET_PED_HELMET_STORED_HAT_PROP_INDEX=function(ped)return _natives.invoke_int(0x451294E859ECC018,ped);end,\n"\ +"GET_PED_HELMET_STORED_HAT_TEX_INDEX=function(ped)return _natives.invoke_int(0x9D728C1E12BF5518,ped);end,\n"\ +"IS_CURRENT_HEAD_PROP_A_HELMET=function(p0)return _natives.invoke_bool(0xF2385935BFFD4D92,p0);end,\n"\ +"SET_PED_TO_LOAD_COVER=function(ped,toggle)return _natives.invoke_void(0x332B562EEDA62399,ped,toggle);end,\n"\ +"SET_PED_CAN_COWER_IN_COVER=function(ped,toggle)return _natives.invoke_void(0xCB7553CDCEF4A735,ped,toggle);end,\n"\ +"SET_PED_CAN_PEEK_IN_COVER=function(ped,toggle)return _natives.invoke_void(0xC514825C507E3736,ped,toggle);end,\n"\ +"SET_PED_PLAYS_HEAD_ON_HORN_ANIM_WHEN_DIES_IN_VEHICLE=function(ped,toggle)return _natives.invoke_void(0x94D94BF1A75AED3D,ped,toggle);end,\n"\ +"SET_PED_LEG_IK_MODE=function(ped,mode)return _natives.invoke_void(0xC396F5B86FF9FEBD,ped,mode);end,\n"\ +"SET_PED_MOTION_BLUR=function(ped,toggle)return _natives.invoke_void(0x0A986918B102B448,ped,toggle);end,\n"\ +"SET_PED_CAN_SWITCH_WEAPON=function(ped,toggle)return _natives.invoke_void(0xED7F7EFE9FABF340,ped,toggle);end,\n"\ +"SET_PED_DIES_INSTANTLY_IN_WATER=function(ped,toggle)return _natives.invoke_void(0xEEB64139BA29A7CF,ped,toggle);end,\n"\ +"SET_LADDER_CLIMB_INPUT_STATE=function(ped,p1)return _natives.invoke_void(0x1A330D297AAC6BC1,ped,p1);end,\n"\ +"STOP_PED_WEAPON_FIRING_WHEN_DROPPED=function(ped)return _natives.invoke_void(0xC158D28142A34608,ped);end,\n"\ +"SET_SCRIPTED_ANIM_SEAT_OFFSET=function(ped,p1)return _natives.invoke_void(0x5917BBA32D06C230,ped,p1);end,\n"\ +"SET_PED_COMBAT_MOVEMENT=function(ped,combatMovement)return _natives.invoke_void(0x4D9CA1009AFBD057,ped,combatMovement);end,\n"\ +"GET_PED_COMBAT_MOVEMENT=function(ped)return _natives.invoke_int(0xDEA92412FCAEB3F5,ped);end,\n"\ +"SET_PED_COMBAT_ABILITY=function(ped,abilityLevel)return _natives.invoke_void(0xC7622C0D36B2FDA8,ped,abilityLevel);end,\n"\ +"SET_PED_COMBAT_RANGE=function(ped,combatRange)return _natives.invoke_void(0x3C606747B23E497B,ped,combatRange);end,\n"\ +"GET_PED_COMBAT_RANGE=function(ped)return _natives.invoke_int(0xF9D9F7F2DB8E2FA0,ped);end,\n"\ +"SET_PED_COMBAT_ATTRIBUTES=function(ped,attributeId,enabled)return _natives.invoke_void(0x9F7794730795E019,ped,attributeId,enabled);end,\n"\ +"SET_PED_TARGET_LOSS_RESPONSE=function(ped,responseType)return _natives.invoke_void(0x0703B9079823DA4A,ped,responseType);end,\n"\ +"IS_PED_PERFORMING_MELEE_ACTION=function(ped)return _natives.invoke_bool(0xDCCA191DF9980FD7,ped);end,\n"\ +"IS_PED_PERFORMING_STEALTH_KILL=function(ped)return _natives.invoke_bool(0xFD4CCDBCC59941B7,ped);end,\n"\ +"IS_PED_PERFORMING_A_COUNTER_ATTACK=function(ped)return _natives.invoke_bool(0xEBD0EDBA5BE957CF,ped);end,\n"\ +"IS_PED_BEING_STEALTH_KILLED=function(ped)return _natives.invoke_bool(0x863B23EFDE9C5DF2,ped);end,\n"\ +"GET_MELEE_TARGET_FOR_PED=function(ped)return _natives.invoke_int(0x18A3E9EE1297FD39,ped);end,\n"\ +"WAS_PED_KILLED_BY_STEALTH=function(ped)return _natives.invoke_bool(0xF9800AA1A771B000,ped);end,\n"\ +"WAS_PED_KILLED_BY_TAKEDOWN=function(ped)return _natives.invoke_bool(0x7F08E26039C7347C,ped);end,\n"\ +"WAS_PED_KNOCKED_OUT=function(ped)return _natives.invoke_bool(0x61767F73EACEED21,ped);end,\n"\ +"SET_PED_FLEE_ATTRIBUTES=function(ped,attributeFlags,enable)return _natives.invoke_void(0x70A2D1137C8ED7C9,ped,attributeFlags,enable);end,\n"\ +"SET_PED_COWER_HASH=function(ped,p1)return _natives.invoke_void(0xA549131166868ED3,ped,p1);end,\n"\ +"SET_PED_STEERS_AROUND_DEAD_BODIES=function(ped,toggle)return _natives.invoke_void(0x2016C603D6B8987C,ped,toggle);end,\n"\ +"SET_PED_STEERS_AROUND_PEDS=function(ped,toggle)return _natives.invoke_void(0x46F2193B3AD1D891,ped,toggle);end,\n"\ +"SET_PED_STEERS_AROUND_OBJECTS=function(ped,toggle)return _natives.invoke_void(0x1509C089ADC208BF,ped,toggle);end,\n"\ +"SET_PED_STEERS_AROUND_VEHICLES=function(ped,toggle)return _natives.invoke_void(0xEB6FB9D48DDE23EC,ped,toggle);end,\n"\ +"SET_PED_IS_AVOIDED_BY_OTHERS=function(p0,p1)return _natives.invoke_void(0xA9B61A329BFDCBEA,p0,p1);end,\n"\ +"SET_PED_INCREASED_AVOIDANCE_RADIUS=function(ped)return _natives.invoke_void(0x570389D1C3DE3C6B,ped);end,\n"\ +"SET_PED_BLOCKS_PATHING_WHEN_DEAD=function(ped,toggle)return _natives.invoke_void(0x576594E8D64375E2,ped,toggle);end,\n"\ +"SET_PED_NO_TIME_DELAY_BEFORE_SHOT=function(p0)return _natives.invoke_void(0xA52D5247A4227E14,p0);end,\n"\ +"IS_ANY_PED_NEAR_POINT=function(x,y,z,radius)return _natives.invoke_bool(0x083961498679DC9F,x,y,z,radius);end,\n"\ +"FORCE_PED_AI_AND_ANIMATION_UPDATE=function(ped,p1,p2)return _natives.invoke_void(0x2208438012482A1A,ped,p1,p2);end,\n"\ +"IS_PED_HEADING_TOWARDS_POSITION=function(ped,x,y,z,p4)return _natives.invoke_bool(0xFCF37A457CB96DC0,ped,x,y,z,p4);end,\n"\ +"REQUEST_PED_VISIBILITY_TRACKING=function(ped)return _natives.invoke_void(0x7D7A2E43E74E2EB8,ped);end,\n"\ +"REQUEST_PED_VEHICLE_VISIBILITY_TRACKING=function(ped,p1)return _natives.invoke_void(0x2BC338A7B21F4608,ped,p1);end,\n"\ +"REQUEST_PED_RESTRICTED_VEHICLE_VISIBILITY_TRACKING=function(ped,p1)return _natives.invoke_void(0xCD018C591F94CB43,ped,p1);end,\n"\ +"REQUEST_PED_USE_SMALL_BBOX_VISIBILITY_TRACKING=function(ped,p1)return _natives.invoke_void(0x75BA1CB3B7D40CAF,ped,p1);end,\n"\ +"IS_TRACKED_PED_VISIBLE=function(ped)return _natives.invoke_bool(0x91C8E617F64188AC,ped);end,\n"\ +"GET_TRACKED_PED_PIXELCOUNT=function(ped)return _natives.invoke_int(0x511F1A683387C7E2,ped);end,\n"\ +"IS_PED_TRACKED=function(ped)return _natives.invoke_bool(0x4C5E1F087CD10BB7,ped);end,\n"\ +"HAS_PED_RECEIVED_EVENT=function(ped,eventId)return _natives.invoke_bool(0x8507BCB710FA6DC0,ped,eventId);end,\n"\ +"CAN_PED_SEE_HATED_PED=function(ped1,ped2)return _natives.invoke_bool(0x6CD5A433374D4CFB,ped1,ped2);end,\n"\ +"CAN_PED_SHUFFLE_TO_OR_FROM_TURRET_SEAT=function(ped,p1)return _natives.invoke_bool(0x9C6A6C19B6C0C496,ped,p1);end,\n"\ +"CAN_PED_SHUFFLE_TO_OR_FROM_EXTRA_SEAT=function(ped,p1)return _natives.invoke_bool(0x2DFC81C9B9608549,ped,p1);end,\n"\ +"GET_PED_BONE_INDEX=function(ped,boneId)return _natives.invoke_int(0x3F428D08BE5AAE31,ped,boneId);end,\n"\ +"GET_PED_RAGDOLL_BONE_INDEX=function(ped,bone)return _natives.invoke_int(0x2057EF813397A772,ped,bone);end,\n"\ +"SET_PED_ENVEFF_SCALE=function(ped,value)return _natives.invoke_void(0xBF29516833893561,ped,value);end,\n"\ +"GET_PED_ENVEFF_SCALE=function(ped)return _natives.invoke_float(0x9C14D30395A51A3C,ped);end,\n"\ +"SET_ENABLE_PED_ENVEFF_SCALE=function(ped,toggle)return _natives.invoke_void(0xD2C5AA0C0E8D0F1E,ped,toggle);end,\n"\ +"SET_PED_ENVEFF_CPV_ADD=function(ped,p1)return _natives.invoke_void(0x110F526AB784111F,ped,p1);end,\n"\ +"SET_PED_ENVEFF_COLOR_MODULATOR=function(ped,p1,p2,p3)return _natives.invoke_void(0xD69411AA0CEBF9E9,ped,p1,p2,p3);end,\n"\ +"SET_PED_EMISSIVE_SCALE=function(ped,intensity)return _natives.invoke_void(0x4E90D746056E273D,ped,intensity);end,\n"\ +"GET_PED_EMISSIVE_SCALE=function(ped)return _natives.invoke_float(0x1461B28A06717D68,ped);end,\n"\ +"IS_PED_SHADER_READY=function(ped)return _natives.invoke_bool(0x81AA517FBBA05D39,ped);end,\n"\ +"SET_PED_ENABLE_CREW_EMBLEM=function(ped,toggle)return _natives.invoke_void(0xE906EC930F5FE7C8,ped,toggle);end,\n"\ +"REQUEST_RAGDOLL_BOUNDS_UPDATE=function(p0,p1)return _natives.invoke_void(0x1216E0BFA72CC703,p0,p1);end,\n"\ +"SET_PED_AO_BLOB_RENDERING=function(ped,toggle)return _natives.invoke_void(0x2B5AA717A181FB4C,ped,toggle);end,\n"\ +"IS_PED_SHELTERED=function(ped)return _natives.invoke_bool(0xB8B52E498014F5B0,ped);end,\n"\ +"CREATE_SYNCHRONIZED_SCENE=function(x,y,z,roll,pitch,yaw,p6)return _natives.invoke_int(0x8C18E0F9080ADD73,x,y,z,roll,pitch,yaw,p6);end,\n"\ +"CREATE_SYNCHRONIZED_SCENE_AT_MAP_OBJECT=function(x,y,z,radius,object)return _natives.invoke_int(0x62EC273D00187DCA,x,y,z,radius,object);end,\n"\ +"IS_SYNCHRONIZED_SCENE_RUNNING=function(sceneId)return _natives.invoke_bool(0x25D39B935A038A26,sceneId);end,\n"\ +"SET_SYNCHRONIZED_SCENE_ORIGIN=function(sceneID,x,y,z,roll,pitch,yaw,p7)return _natives.invoke_void(0x6ACF6B7225801CD7,sceneID,x,y,z,roll,pitch,yaw,p7);end,\n"\ +"SET_SYNCHRONIZED_SCENE_PHASE=function(sceneID,phase)return _natives.invoke_void(0x734292F4F0ABF6D0,sceneID,phase);end,\n"\ +"GET_SYNCHRONIZED_SCENE_PHASE=function(sceneID)return _natives.invoke_float(0xE4A310B1D7FA73CC,sceneID);end,\n"\ +"SET_SYNCHRONIZED_SCENE_RATE=function(sceneID,rate)return _natives.invoke_void(0xB6C49F8A5E295A5D,sceneID,rate);end,\n"\ +"GET_SYNCHRONIZED_SCENE_RATE=function(sceneID)return _natives.invoke_float(0xD80932D577274D40,sceneID);end,\n"\ +"SET_SYNCHRONIZED_SCENE_LOOPED=function(sceneID,toggle)return _natives.invoke_void(0xD9A897A4C6C2974F,sceneID,toggle);end,\n"\ +"IS_SYNCHRONIZED_SCENE_LOOPED=function(sceneID)return _natives.invoke_bool(0x62522002E0C391BA,sceneID);end,\n"\ +"SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME=function(sceneID,toggle)return _natives.invoke_void(0x394B9CD12435C981,sceneID,toggle);end,\n"\ +"IS_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME=function(sceneID)return _natives.invoke_bool(0x7F2F4F13AC5257EF,sceneID);end,\n"\ +"ATTACH_SYNCHRONIZED_SCENE_TO_ENTITY=function(sceneID,entity,boneIndex)return _natives.invoke_void(0x272E4723B56A3B96,sceneID,entity,boneIndex);end,\n"\ +"DETACH_SYNCHRONIZED_SCENE=function(sceneID)return _natives.invoke_void(0x6D38F1F04CBB37EA,sceneID);end,\n"\ +"TAKE_OWNERSHIP_OF_SYNCHRONIZED_SCENE=function(scene)return _natives.invoke_void(0xCD9CC7E200A52A6F,scene);end,\n"\ +"FORCE_PED_MOTION_STATE=function(ped,motionStateHash,p2,p3,p4)return _natives.invoke_bool(0xF28965D04F570DCA,ped,motionStateHash,p2,p3,p4);end,\n"\ +"GET_PED_CURRENT_MOVE_BLEND_RATIO=function(ped,speedX,speedY)return _natives.invoke_bool(0xF60165E1D2C5370B,ped,speedX,speedY);end,\n"\ +"SET_PED_MAX_MOVE_BLEND_RATIO=function(ped,value)return _natives.invoke_void(0x433083750C5E064A,ped,value);end,\n"\ +"SET_PED_MIN_MOVE_BLEND_RATIO=function(ped,value)return _natives.invoke_void(0x01A898D26E2333DD,ped,value);end,\n"\ +"SET_PED_MOVE_RATE_OVERRIDE=function(ped,value)return _natives.invoke_void(0x085BF80FA50A39D1,ped,value);end,\n"\ +"SET_PED_MOVE_RATE_IN_WATER_OVERRIDE=function(ped,p1)return _natives.invoke_void(0x0B3E35AC043707D9,ped,p1);end,\n"\ +"PED_HAS_SEXINESS_FLAG_SET=function(ped,sexinessFlag)return _natives.invoke_bool(0x46B05BCAE43856B0,ped,sexinessFlag);end,\n"\ +"GET_PED_NEARBY_VEHICLES=function(ped,sizeAndVehs)return _natives.invoke_int(0xCFF869CBFA210D82,ped,sizeAndVehs);end,\n"\ +"GET_PED_NEARBY_PEDS=function(ped,sizeAndPeds,ignore)return _natives.invoke_int(0x23F8F5FC7E8C4A6B,ped,sizeAndPeds,ignore);end,\n"\ +"HAVE_ALL_STREAMING_REQUESTS_COMPLETED=function(ped)return _natives.invoke_bool(0x7350823473013C02,ped);end,\n"\ +"IS_PED_USING_ACTION_MODE=function(ped)return _natives.invoke_bool(0x00E73468D085F745,ped);end,\n"\ +"SET_PED_USING_ACTION_MODE=function(ped,p1,p2,action)return _natives.invoke_void(0xD75ACCF5E0FB5367,ped,p1,p2,action);end,\n"\ +"SET_MOVEMENT_MODE_OVERRIDE=function(ped,name)return _natives.invoke_void(0x781DE8FA214E87D2,ped,name);end,\n"\ +"SET_PED_CAPSULE=function(ped,value)return _natives.invoke_void(0x364DF566EC833DE2,ped,value);end,\n"\ +"REGISTER_PEDHEADSHOT=function(ped)return _natives.invoke_int(0x4462658788425076,ped);end,\n"\ +"REGISTER_PEDHEADSHOT_HIRES=function(ped)return _natives.invoke_int(0xBA8805A1108A2515,ped);end,\n"\ +"REGISTER_PEDHEADSHOT_TRANSPARENT=function(ped)return _natives.invoke_int(0x953563CE563143AF,ped);end,\n"\ +"UNREGISTER_PEDHEADSHOT=function(id)return _natives.invoke_void(0x96B1361D9B24C2FF,id);end,\n"\ +"IS_PEDHEADSHOT_VALID=function(id)return _natives.invoke_bool(0xA0A9668F158129A2,id);end,\n"\ +"IS_PEDHEADSHOT_READY=function(id)return _natives.invoke_bool(0x7085228842B13A67,id);end,\n"\ +"GET_PEDHEADSHOT_TXD_STRING=function(id)return _natives.invoke_str(0xDB4EACD4AD0A5D6B,id);end,\n"\ +"REQUEST_PEDHEADSHOT_IMG_UPLOAD=function(id)return _natives.invoke_bool(0xF0DAEF2F545BEE25,id);end,\n"\ +"RELEASE_PEDHEADSHOT_IMG_UPLOAD=function(id)return _natives.invoke_void(0x5D517B27CF6ECD04,id);end,\n"\ +"IS_PEDHEADSHOT_IMG_UPLOAD_AVAILABLE=function()return _natives.invoke_bool(0xEBB376779A760AA8);end,\n"\ +"HAS_PEDHEADSHOT_IMG_UPLOAD_FAILED=function()return _natives.invoke_bool(0x876928DDDFCCC9CD);end,\n"\ +"HAS_PEDHEADSHOT_IMG_UPLOAD_SUCCEEDED=function()return _natives.invoke_bool(0xE8A169E666CBC541);end,\n"\ +"SET_PED_HEATSCALE_OVERRIDE=function(ped,heatScale)return _natives.invoke_void(0xC1F6EBF9A3D55538,ped,heatScale);end,\n"\ +"DISABLE_PED_HEATSCALE_OVERRIDE=function(ped)return _natives.invoke_void(0x600048C60D5C2C51,ped);end,\n"\ +"SPAWNPOINTS_START_SEARCH=function(p0,p1,p2,p3,p4,interiorFlags,scale,duration)return _natives.invoke_void(0x2DF9038C90AD5264,p0,p1,p2,p3,p4,interiorFlags,scale,duration);end,\n"\ +"SPAWNPOINTS_START_SEARCH_IN_ANGLED_AREA=function(x1,y1,z1,x2,y2,z2,width,interiorFlags,scale,duration)return _natives.invoke_void(0xB2AFF10216DEFA2F,x1,y1,z1,x2,y2,z2,width,interiorFlags,scale,duration);end,\n"\ +"SPAWNPOINTS_CANCEL_SEARCH=function()return _natives.invoke_void(0xFEE4A5459472A9F8);end,\n"\ +"SPAWNPOINTS_IS_SEARCH_ACTIVE=function()return _natives.invoke_bool(0x3C67506996001F5E);end,\n"\ +"SPAWNPOINTS_IS_SEARCH_COMPLETE=function()return _natives.invoke_bool(0xA586FBEB32A53DBB);end,\n"\ +"SPAWNPOINTS_IS_SEARCH_FAILED=function()return _natives.invoke_bool(0xF445DE8DA80A1792);end,\n"\ +"SPAWNPOINTS_GET_NUM_SEARCH_RESULTS=function()return _natives.invoke_int(0xA635C11B8C44AFC2);end,\n"\ +"SPAWNPOINTS_GET_SEARCH_RESULT=function(randomInt,x,y,z)return _natives.invoke_void(0x280C7E3AC7F56E90,randomInt,x,y,z);end,\n"\ +"SPAWNPOINTS_GET_SEARCH_RESULT_FLAGS=function(p0,p1)return _natives.invoke_void(0xB782F8238512BAD5,p0,p1);end,\n"\ +"SET_IK_TARGET=function(ped,ikIndex,entityLookAt,boneLookAt,offsetX,offsetY,offsetZ,p7,blendInDuration,blendOutDuration)return _natives.invoke_void(0xC32779C16FCEECD9,ped,ikIndex,entityLookAt,boneLookAt,offsetX,offsetY,offsetZ,p7,blendInDuration,blendOutDuration);end,\n"\ +"FORCE_INSTANT_LEG_IK_SETUP=function(ped)return _natives.invoke_void(0xED3C76ADFA6D07C4,ped);end,\n"\ +"REQUEST_ACTION_MODE_ASSET=function(asset)return _natives.invoke_void(0x290E2780BB7AA598,asset);end,\n"\ +"HAS_ACTION_MODE_ASSET_LOADED=function(asset)return _natives.invoke_bool(0xE4B5F4BF2CB24E65,asset);end,\n"\ +"REMOVE_ACTION_MODE_ASSET=function(asset)return _natives.invoke_void(0x13E940F88470FA51,asset);end,\n"\ +"REQUEST_STEALTH_MODE_ASSET=function(asset)return _natives.invoke_void(0x2A0A62FCDEE16D4F,asset);end,\n"\ +"HAS_STEALTH_MODE_ASSET_LOADED=function(asset)return _natives.invoke_bool(0xE977FC5B08AF3441,asset);end,\n"\ +"REMOVE_STEALTH_MODE_ASSET=function(asset)return _natives.invoke_void(0x9219857D21F0E842,asset);end,\n"\ +"SET_PED_LOD_MULTIPLIER=function(ped,multiplier)return _natives.invoke_void(0xDC2C5C242AAC342B,ped,multiplier);end,\n"\ +"SET_PED_CAN_LOSE_PROPS_ON_DAMAGE=function(ped,toggle,p2)return _natives.invoke_void(0xE861D0B05C7662B8,ped,toggle,p2);end,\n"\ +"SET_FORCE_FOOTSTEP_UPDATE=function(ped,toggle)return _natives.invoke_void(0x129466ED55140F8D,ped,toggle);end,\n"\ +"SET_FORCE_STEP_TYPE=function(ped,p1,type,p3)return _natives.invoke_void(0xCB968B53FC7F916D,ped,p1,type,p3);end,\n"\ +"IS_ANY_HOSTILE_PED_NEAR_POINT=function(ped,x,y,z,radius)return _natives.invoke_bool(0x68772DB2B2526F9F,ped,x,y,z,radius);end,\n"\ +"SET_PED_CAN_PLAY_IN_CAR_IDLES=function(ped,toggle)return _natives.invoke_void(0x820E9892A77E97CD,ped,toggle);end,\n"\ +"IS_TARGET_PED_IN_PERCEPTION_AREA=function(ped,targetPed,p2,p3,p4,p5)return _natives.invoke_bool(0x06087579E7AA85A9,ped,targetPed,p2,p3,p4,p5);end,\n"\ +"SET_POP_CONTROL_SPHERE_THIS_FRAME=function(x,y,z,min,max)return _natives.invoke_void(0xD8C3BE3EE94CAF2D,x,y,z,min,max);end,\n"\ +"FORCE_ZERO_MASS_IN_COLLISIONS=function(ped)return _natives.invoke_void(0xD33DAA36272177C4,ped);end,\n"\ +"SET_DISABLE_HIGH_FALL_DEATH=function(ped,toggle)return _natives.invoke_void(0x711794453CFD692B,ped,toggle);end,\n"\ +"SET_PED_PHONE_PALETTE_IDX=function(p0,p1)return _natives.invoke_void(0x83A169EABCDB10A2,p0,p1);end,\n"\ +"SET_PED_STEER_BIAS=function(ped,value)return _natives.invoke_void(0x288DF530C92DAD6F,ped,value);end,\n"\ +"IS_PED_SWITCHING_WEAPON=function(Ped)return _natives.invoke_bool(0x3795688A307E1EB6,Ped);end,\n"\ +"SET_PED_TREATED_AS_FRIENDLY=function(p0,p1,p2)return _natives.invoke_void(0x0F62619393661D6E,p0,p1,p2);end,\n"\ +"SET_DISABLE_PED_MAP_COLLISION=function(ped)return _natives.invoke_void(0xDFE68C4B787E1BFB,ped);end,\n"\ +"ENABLE_MP_LIGHT=function(ped,toggle)return _natives.invoke_void(0xEE2476B9EE4A094F,ped,toggle);end,\n"\ +"GET_MP_LIGHT_ENABLED=function(ped)return _natives.invoke_bool(0x88274C11CF0D866D,ped);end,\n"\ +"CLEAR_COVER_POINT_FOR_PED=function(ped)return _natives.invoke_void(0x637822DC2AFEEBF8,ped);end,\n"\ +"SET_ALLOW_STUNT_JUMP_CAMERA=function(ped,toggle)return _natives.invoke_void(0xFAB944D4D481ACCB,ped,toggle);end,\n"\ +"};\n"\ +"PHYSICS = {\n"\ +"ADD_ROPE=function(x,y,z,rotX,rotY,rotZ,length,ropeType,maxLength,minLength,windingSpeed,p11,p12,rigid,p14,breakWhenShot,unkPtr)return _natives.invoke_int(0xE832D760399EB220,x,y,z,rotX,rotY,rotZ,length,ropeType,maxLength,minLength,windingSpeed,p11,p12,rigid,p14,breakWhenShot,unkPtr);end,\n"\ +"DELETE_ROPE=function(ropeId)return _natives.invoke_void(0x52B4829281364649,ropeId);end,\n"\ +"DELETE_CHILD_ROPE=function(ropeId)return _natives.invoke_void(0xAA5D6B1888E4DB20,ropeId);end,\n"\ +"DOES_ROPE_EXIST=function(ropeId)return _natives.invoke_bool(0xFD5448BE3111ED96,ropeId);end,\n"\ +"ROPE_DRAW_ENABLED=function(ropeId,p1)return _natives.invoke_void(0xA1AE736541B0FCA3,ropeId,p1);end,\n"\ +"ROPE_DRAW_SHADOW_ENABLED=function(ropeId,toggle)return _natives.invoke_void(0xF159A63806BB5BA8,ropeId,toggle);end,\n"\ +"LOAD_ROPE_DATA=function(ropeId,rope_preset)return _natives.invoke_void(0xCBB203C04D1ABD27,ropeId,rope_preset);end,\n"\ +"PIN_ROPE_VERTEX=function(ropeId,vertex,x,y,z)return _natives.invoke_void(0x2B320CF14146B69A,ropeId,vertex,x,y,z);end,\n"\ +"UNPIN_ROPE_VERTEX=function(ropeId,vertex)return _natives.invoke_void(0x4B5AE2EEE4A8F180,ropeId,vertex);end,\n"\ +"GET_ROPE_VERTEX_COUNT=function(ropeId)return _natives.invoke_int(0x3655F544CD30F0B5,ropeId);end,\n"\ +"ATTACH_ENTITIES_TO_ROPE=function(ropeId,ent1,ent2,ent1_x,ent1_y,ent1_z,ent2_x,ent2_y,ent2_z,length,p10,p11,p12,p13)return _natives.invoke_void(0x3D95EC8B6D940AC3,ropeId,ent1,ent2,ent1_x,ent1_y,ent1_z,ent2_x,ent2_y,ent2_z,length,p10,p11,p12,p13);end,\n"\ +"ATTACH_ROPE_TO_ENTITY=function(ropeId,entity,x,y,z,p5)return _natives.invoke_void(0x4B490A6832559A65,ropeId,entity,x,y,z,p5);end,\n"\ +"DETACH_ROPE_FROM_ENTITY=function(ropeId,entity)return _natives.invoke_void(0xBCF3026912A8647D,ropeId,entity);end,\n"\ +"ROPE_SET_UPDATE_PINVERTS=function(ropeId)return _natives.invoke_void(0xC8D667EE52114ABA,ropeId);end,\n"\ +"ROPE_SET_UPDATE_ORDER=function(ropeId,p1)return _natives.invoke_void(0xDC57A637A20006ED,ropeId,p1);end,\n"\ +"ROPE_SET_SMOOTH_REELIN=function(ropeId,p1)return _natives.invoke_void(0x36CCB9BE67B970FD,ropeId,p1);end,\n"\ +"IS_ROPE_ATTACHED_AT_BOTH_ENDS=function(ropeId)return _natives.invoke_bool(0x84DE3B5FB3E666F0,ropeId);end,\n"\ +"GET_ROPE_LAST_VERTEX_COORD=function(ropeId)return _natives.invoke_vec3(0x21BB0FBD3E217C2D,ropeId);end,\n"\ +"GET_ROPE_VERTEX_COORD=function(ropeId,vertex)return _natives.invoke_vec3(0xEA61CA8E80F09E4D,ropeId,vertex);end,\n"\ +"START_ROPE_WINDING=function(ropeId)return _natives.invoke_void(0x1461C72C889E343E,ropeId);end,\n"\ +"STOP_ROPE_WINDING=function(ropeId)return _natives.invoke_void(0xCB2D4AB84A19AA7C,ropeId);end,\n"\ +"START_ROPE_UNWINDING_FRONT=function(ropeId)return _natives.invoke_void(0x538D1179EC1AA9A9,ropeId);end,\n"\ +"STOP_ROPE_UNWINDING_FRONT=function(ropeId)return _natives.invoke_void(0xFFF3A50779EFBBB3,ropeId);end,\n"\ +"ROPE_CONVERT_TO_SIMPLE=function(ropeId)return _natives.invoke_void(0x5389D48EFA2F079A,ropeId);end,\n"\ +"ROPE_LOAD_TEXTURES=function()return _natives.invoke_void(0x9B9039DBF2D258C1);end,\n"\ +"ROPE_ARE_TEXTURES_LOADED=function()return _natives.invoke_bool(0xF2D0E6A75CC05597);end,\n"\ +"ROPE_UNLOAD_TEXTURES=function()return _natives.invoke_void(0x6CE36C35C1AC8163);end,\n"\ +"DOES_SCRIPT_OWN_ROPE=function(ropeId)return _natives.invoke_bool(0x271C9D3ACA5D6409,ropeId);end,\n"\ +"ROPE_ATTACH_VIRTUAL_BOUND_GEOM=function(ropeId,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13)return _natives.invoke_void(0xBC0CE682D4D05650,ropeId,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13);end,\n"\ +"ROPE_CHANGE_SCRIPT_OWNER=function(p0,p1,p2)return _natives.invoke_void(0xB1B6216CA2E7B55E,p0,p1,p2);end,\n"\ +"ROPE_SET_REFFRAMEVELOCITY_COLLIDERORDER=function(ropeId,p1)return _natives.invoke_void(0xB743F735C03D7810,ropeId,p1);end,\n"\ +"ROPE_GET_DISTANCE_BETWEEN_ENDS=function(ropeId)return _natives.invoke_float(0x73040398DFF9A4A6,ropeId);end,\n"\ +"ROPE_FORCE_LENGTH=function(ropeId,length)return _natives.invoke_void(0xD009F759A723DB1B,ropeId,length);end,\n"\ +"ROPE_RESET_LENGTH=function(ropeId,length)return _natives.invoke_void(0xC16DE94D9BEA14A0,ropeId,length);end,\n"\ +"APPLY_IMPULSE_TO_CLOTH=function(posX,posY,posZ,vecX,vecY,vecZ,impulse)return _natives.invoke_void(0xE37F721824571784,posX,posY,posZ,vecX,vecY,vecZ,impulse);end,\n"\ +"SET_DAMPING=function(entity,vertex,value)return _natives.invoke_void(0xEEA3B200A6FEB65B,entity,vertex,value);end,\n"\ +"ACTIVATE_PHYSICS=function(entity)return _natives.invoke_void(0x710311ADF0E20730,entity);end,\n"\ +"SET_CGOFFSET=function(entity,x,y,z)return _natives.invoke_void(0xD8FA3908D7B86904,entity,x,y,z);end,\n"\ +"GET_CGOFFSET=function(entity)return _natives.invoke_vec3(0x8214A4B5A7A33612,entity);end,\n"\ +"SET_CG_AT_BOUNDCENTER=function(entity)return _natives.invoke_void(0xBE520D9761FF811F,entity);end,\n"\ +"BREAK_ENTITY_GLASS=function(entity,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)return _natives.invoke_void(0x2E648D16F6E308F3,entity,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);end,\n"\ +"GET_IS_ENTITY_A_FRAG=function(object)return _natives.invoke_bool(0x0C112765300C7E1E,object);end,\n"\ +"SET_DISABLE_BREAKING=function(object,toggle)return _natives.invoke_void(0x5CEC1A84620E7D5B,object,toggle);end,\n"\ +"RESET_DISABLE_BREAKING=function(object)return _natives.invoke_void(0xCC6E963682533882,object);end,\n"\ +"SET_DISABLE_FRAG_DAMAGE=function(object,toggle)return _natives.invoke_void(0x01BA3AED21C16CFB,object,toggle);end,\n"\ +"SET_USE_KINEMATIC_PHYSICS=function(entity,toggle)return _natives.invoke_void(0x15F944730C832252,entity,toggle);end,\n"\ +"SET_IN_STUNT_MODE=function(p0)return _natives.invoke_void(0x9EBD751E5787BAF2,p0);end,\n"\ +"SET_IN_ARENA_MODE=function(toggle)return _natives.invoke_void(0xAA6A6098851C396F,toggle);end,\n"\ +"};\n"\ +"PLAYER = {\n"\ +"GET_PLAYER_PED=function(player)return _natives.invoke_int(0x43A66C31C68491C0,player);end,\n"\ +"GET_PLAYER_PED_SCRIPT_INDEX=function(player)return _natives.invoke_int(0x50FAC3A3E030A6E1,player);end,\n"\ +"SET_PLAYER_MODEL=function(player,model)return _natives.invoke_void(0x00A1CADD00108836,player,model);end,\n"\ +"CHANGE_PLAYER_PED=function(player,ped,p2,resetDamage)return _natives.invoke_void(0x048189FAC643DEEE,player,ped,p2,resetDamage);end,\n"\ +"GET_PLAYER_RGB_COLOUR=function(player,r,g,b)return _natives.invoke_void(0xE902EF951DCE178F,player,r,g,b);end,\n"\ +"GET_NUMBER_OF_PLAYERS=function()return _natives.invoke_int(0x407C7F91DDB46C16);end,\n"\ +"GET_PLAYER_TEAM=function(player)return _natives.invoke_int(0x37039302F4E0A008,player);end,\n"\ +"SET_PLAYER_TEAM=function(player,team)return _natives.invoke_void(0x0299FA38396A4940,player,team);end,\n"\ +"GET_NUMBER_OF_PLAYERS_IN_TEAM=function(team)return _natives.invoke_int(0x1FC200409F10E6F1,team);end,\n"\ +"GET_PLAYER_NAME=function(player)return _natives.invoke_str(0x6D0DE6A7B5DA71F8,player);end,\n"\ +"GET_WANTED_LEVEL_RADIUS=function(player)return _natives.invoke_float(0x085DEB493BE80812,player);end,\n"\ +"GET_PLAYER_WANTED_CENTRE_POSITION=function(player)return _natives.invoke_vec3(0x0C92BA89F1AF26F8,player);end,\n"\ +"SET_PLAYER_WANTED_CENTRE_POSITION=function(player,position,p2,p3)return _natives.invoke_void(0x520E541A97A13354,player,position,p2,p3);end,\n"\ +"GET_WANTED_LEVEL_THRESHOLD=function(wantedLevel)return _natives.invoke_int(0xFDD179EAF45B556C,wantedLevel);end,\n"\ +"SET_PLAYER_WANTED_LEVEL=function(player,wantedLevel,disableNoMission)return _natives.invoke_void(0x39FF19C64EF7DA5B,player,wantedLevel,disableNoMission);end,\n"\ +"SET_PLAYER_WANTED_LEVEL_NO_DROP=function(player,wantedLevel,p2)return _natives.invoke_void(0x340E61DE7F471565,player,wantedLevel,p2);end,\n"\ +"SET_PLAYER_WANTED_LEVEL_NOW=function(player,p1)return _natives.invoke_void(0xE0A7D1E497FFCD6F,player,p1);end,\n"\ +"ARE_PLAYER_FLASHING_STARS_ABOUT_TO_DROP=function(player)return _natives.invoke_bool(0xAFAF86043E5874E9,player);end,\n"\ +"ARE_PLAYER_STARS_GREYED_OUT=function(player)return _natives.invoke_bool(0x0A6EB355EE14A2DB,player);end,\n"\ +"IS_WANTED_AND_HAS_BEEN_SEEN_BY_COPS=function(player)return _natives.invoke_bool(0x7E07C78925D5FD96,player);end,\n"\ +"SET_DISPATCH_COPS_FOR_PLAYER=function(player,toggle)return _natives.invoke_void(0xDB172424876553F4,player,toggle);end,\n"\ +"IS_PLAYER_WANTED_LEVEL_GREATER=function(player,wantedLevel)return _natives.invoke_bool(0x238DB2A2C23EE9EF,player,wantedLevel);end,\n"\ +"CLEAR_PLAYER_WANTED_LEVEL=function(player)return _natives.invoke_void(0xB302540597885499,player);end,\n"\ +"IS_PLAYER_DEAD=function(player)return _natives.invoke_bool(0x424D4687FA1E5652,player);end,\n"\ +"IS_PLAYER_PRESSING_HORN=function(player)return _natives.invoke_bool(0xFA1E2BF8B10598F9,player);end,\n"\ +"SET_PLAYER_CONTROL=function(player,bHasControl,flags)return _natives.invoke_void(0x8D32347D6D4C40A2,player,bHasControl,flags);end,\n"\ +"GET_PLAYER_WANTED_LEVEL=function(player)return _natives.invoke_int(0xE28E54788CE8F12D,player);end,\n"\ +"SET_MAX_WANTED_LEVEL=function(maxWantedLevel)return _natives.invoke_void(0xAA5F02DB48D704B9,maxWantedLevel);end,\n"\ +"SET_POLICE_RADAR_BLIPS=function(toggle)return _natives.invoke_void(0x43286D561B72B8BF,toggle);end,\n"\ +"SET_POLICE_IGNORE_PLAYER=function(player,toggle)return _natives.invoke_void(0x32C62AA929C2DA6A,player,toggle);end,\n"\ +"IS_PLAYER_PLAYING=function(player)return _natives.invoke_bool(0x5E9564D8246B909A,player);end,\n"\ +"SET_EVERYONE_IGNORE_PLAYER=function(player,toggle)return _natives.invoke_void(0x8EEDA153AD141BA4,player,toggle);end,\n"\ +"SET_ALL_RANDOM_PEDS_FLEE=function(player,toggle)return _natives.invoke_void(0x056E0FE8534C2949,player,toggle);end,\n"\ +"SET_ALL_RANDOM_PEDS_FLEE_THIS_FRAME=function(player)return _natives.invoke_void(0x471D2FF42A94B4F2,player);end,\n"\ +"SET_ALL_NEUTRAL_RANDOM_PEDS_FLEE=function(player,toggle)return _natives.invoke_void(0xDE45D1A1EF45EE61,player,toggle);end,\n"\ +"SET_ALL_NEUTRAL_RANDOM_PEDS_FLEE_THIS_FRAME=function(player)return _natives.invoke_void(0xC3376F42B1FACCC6,player);end,\n"\ +"SET_LAW_PEDS_CAN_ATTACK_NON_WANTED_PLAYER_THIS_FRAME=function(player)return _natives.invoke_void(0xFAC75988A7D078D3,player);end,\n"\ +"SET_IGNORE_LOW_PRIORITY_SHOCKING_EVENTS=function(player,toggle)return _natives.invoke_void(0x596976B02B6B5700,player,toggle);end,\n"\ +"SET_WANTED_LEVEL_MULTIPLIER=function(multiplier)return _natives.invoke_void(0x020E5F00CDA207BA,multiplier);end,\n"\ +"SET_WANTED_LEVEL_DIFFICULTY=function(player,difficulty)return _natives.invoke_void(0x9B0BB33B04405E7A,player,difficulty);end,\n"\ +"RESET_WANTED_LEVEL_DIFFICULTY=function(player)return _natives.invoke_void(0xB9D0DD990DC141DD,player);end,\n"\ +"GET_WANTED_LEVEL_TIME_TO_ESCAPE=function()return _natives.invoke_int(0xA72200F51875FEA4);end,\n"\ +"SET_WANTED_LEVEL_HIDDEN_ESCAPE_TIME=function(player,wantedLevel,lossTime)return _natives.invoke_void(0x49B856B1360C47C7,player,wantedLevel,lossTime);end,\n"\ +"RESET_WANTED_LEVEL_HIDDEN_ESCAPE_TIME=function(player)return _natives.invoke_void(0x823EC8E82BA45986,player);end,\n"\ +"START_FIRING_AMNESTY=function(duration)return _natives.invoke_void(0xBF9BD71691857E48,duration);end,\n"\ +"REPORT_CRIME=function(player,crimeType,wantedLvlThresh)return _natives.invoke_void(0xE9B09589827545E7,player,crimeType,wantedLvlThresh);end,\n"\ +"SUPPRESS_CRIME_THIS_FRAME=function(player,crimeType)return _natives.invoke_void(0x9A987297ED8BD838,player,crimeType);end,\n"\ +"UPDATE_WANTED_POSITION_THIS_FRAME=function(player)return _natives.invoke_void(0xBC9490CA15AEA8FB,player);end,\n"\ +"SUPPRESS_LOSING_WANTED_LEVEL_IF_HIDDEN_THIS_FRAME=function(player)return _natives.invoke_void(0x4669B3ED80F24B4E,player);end,\n"\ +"ALLOW_EVASION_HUD_IF_DISABLING_HIDDEN_EVASION_THIS_FRAME=function(player,p1)return _natives.invoke_void(0x2F41A3BAE005E5FA,player,p1);end,\n"\ +"FORCE_START_HIDDEN_EVASION=function(player)return _natives.invoke_void(0xAD73CE5A09E42D12,player);end,\n"\ +"SUPPRESS_WITNESSES_CALLING_POLICE_THIS_FRAME=function(player)return _natives.invoke_void(0x36F1B38855F2A8DF,player);end,\n"\ +"REPORT_POLICE_SPOTTED_PLAYER=function(player)return _natives.invoke_void(0xDC64D2C53493ED12,player);end,\n"\ +"SET_LAW_RESPONSE_DELAY_OVERRIDE=function(p0)return _natives.invoke_void(0xB45EFF719D8427A6,p0);end,\n"\ +"RESET_LAW_RESPONSE_DELAY_OVERRIDE=function()return _natives.invoke_void(0x0032A6DBA562C518);end,\n"\ +"CAN_PLAYER_START_MISSION=function(player)return _natives.invoke_bool(0xDE7465A27D403C06,player);end,\n"\ +"IS_PLAYER_READY_FOR_CUTSCENE=function(player)return _natives.invoke_bool(0x908CBECC2CAA3690,player);end,\n"\ +"IS_PLAYER_TARGETTING_ENTITY=function(player,entity)return _natives.invoke_bool(0x7912F7FC4F6264B6,player,entity);end,\n"\ +"GET_PLAYER_TARGET_ENTITY=function(player,entity)return _natives.invoke_bool(0x13EDE1A5DBF797C9,player,entity);end,\n"\ +"IS_PLAYER_FREE_AIMING=function(player)return _natives.invoke_bool(0x2E397FD2ECD37C87,player);end,\n"\ +"IS_PLAYER_FREE_AIMING_AT_ENTITY=function(player,entity)return _natives.invoke_bool(0x3C06B5C839B38F7B,player,entity);end,\n"\ +"GET_ENTITY_PLAYER_IS_FREE_AIMING_AT=function(player,entity)return _natives.invoke_bool(0x2975C866E6713290,player,entity);end,\n"\ +"SET_PLAYER_LOCKON_RANGE_OVERRIDE=function(player,range)return _natives.invoke_void(0x29961D490E5814FD,player,range);end,\n"\ +"SET_PLAYER_CAN_DO_DRIVE_BY=function(player,toggle)return _natives.invoke_void(0x6E8834B52EC20C77,player,toggle);end,\n"\ +"SET_PLAYER_CAN_BE_HASSLED_BY_GANGS=function(player,toggle)return _natives.invoke_void(0xD5E460AD7020A246,player,toggle);end,\n"\ +"SET_PLAYER_CAN_USE_COVER=function(player,toggle)return _natives.invoke_void(0xD465A8599DFF6814,player,toggle);end,\n"\ +"GET_MAX_WANTED_LEVEL=function()return _natives.invoke_int(0x462E0DB9B137DC5F);end,\n"\ +"IS_PLAYER_TARGETTING_ANYTHING=function(player)return _natives.invoke_bool(0x78CFE51896B6B8A4,player);end,\n"\ +"SET_PLAYER_SPRINT=function(player,toggle)return _natives.invoke_void(0xA01B8075D8B92DF4,player,toggle);end,\n"\ +"RESET_PLAYER_STAMINA=function(player)return _natives.invoke_void(0xA6F312FCCE9C1DFE,player);end,\n"\ +"RESTORE_PLAYER_STAMINA=function(player,p1)return _natives.invoke_void(0xA352C1B864CAFD33,player,p1);end,\n"\ +"GET_PLAYER_SPRINT_STAMINA_REMAINING=function(player)return _natives.invoke_float(0x3F9F16F8E65A7ED7,player);end,\n"\ +"GET_PLAYER_SPRINT_TIME_REMAINING=function(player)return _natives.invoke_float(0x1885BC9B108B4C99,player);end,\n"\ +"GET_PLAYER_UNDERWATER_TIME_REMAINING=function(player)return _natives.invoke_float(0xA1FCF8E6AF40B731,player);end,\n"\ +"SET_PLAYER_UNDERWATER_BREATH_PERCENT_REMAINING=function(player,time)return _natives.invoke_float(0xA0D3E4F7AAFB7E78,player,time);end,\n"\ +"GET_PLAYER_GROUP=function(player)return _natives.invoke_int(0x0D127585F77030AF,player);end,\n"\ +"GET_PLAYER_MAX_ARMOUR=function(player)return _natives.invoke_int(0x92659B4CE1863CB3,player);end,\n"\ +"IS_PLAYER_CONTROL_ON=function(player)return _natives.invoke_bool(0x49C32D60007AFA47,player);end,\n"\ +"GET_ARE_CAMERA_CONTROLS_DISABLED=function()return _natives.invoke_bool(0x7C814D2FB49F40C0);end,\n"\ +"IS_PLAYER_SCRIPT_CONTROL_ON=function(player)return _natives.invoke_bool(0x8A876A65283DD7D7,player);end,\n"\ +"IS_PLAYER_CLIMBING=function(player)return _natives.invoke_bool(0x95E8F73DC65EFB9C,player);end,\n"\ +"IS_PLAYER_BEING_ARRESTED=function(player,atArresting)return _natives.invoke_bool(0x388A47C51ABDAC8E,player,atArresting);end,\n"\ +"RESET_PLAYER_ARREST_STATE=function(player)return _natives.invoke_void(0x2D03E13C460760D6,player);end,\n"\ +"GET_PLAYERS_LAST_VEHICLE=function()return _natives.invoke_int(0xB6997A7EB3F5C8C0);end,\n"\ +"GET_PLAYER_INDEX=function()return _natives.invoke_int(0xA5EDC40EF369B48D);end,\n"\ +"INT_TO_PLAYERINDEX=function(value)return _natives.invoke_int(0x41BD2A6B006AF756,value);end,\n"\ +"INT_TO_PARTICIPANTINDEX=function(value)return _natives.invoke_int(0x9EC6603812C24710,value);end,\n"\ +"GET_TIME_SINCE_PLAYER_HIT_VEHICLE=function(player)return _natives.invoke_int(0x5D35ECF3A81A0EE0,player);end,\n"\ +"GET_TIME_SINCE_PLAYER_HIT_PED=function(player)return _natives.invoke_int(0xE36A25322DC35F42,player);end,\n"\ +"GET_TIME_SINCE_PLAYER_DROVE_ON_PAVEMENT=function(player)return _natives.invoke_int(0xD559D2BE9E37853B,player);end,\n"\ +"GET_TIME_SINCE_PLAYER_DROVE_AGAINST_TRAFFIC=function(player)return _natives.invoke_int(0xDB89591E290D9182,player);end,\n"\ +"IS_PLAYER_FREE_FOR_AMBIENT_TASK=function(player)return _natives.invoke_bool(0xDCCFD3F106C36AB4,player);end,\n"\ +"PLAYER_ID=function()return _natives.invoke_int(0x4F8644AF03D0E0D6);end,\n"\ +"PLAYER_PED_ID=function()return _natives.invoke_int(0xD80958FC74E988A6);end,\n"\ +"NETWORK_PLAYER_ID_TO_INT=function()return _natives.invoke_int(0xEE68096F9F37341E);end,\n"\ +"HAS_FORCE_CLEANUP_OCCURRED=function(cleanupFlags)return _natives.invoke_bool(0xC968670BFACE42D9,cleanupFlags);end,\n"\ +"FORCE_CLEANUP=function(cleanupFlags)return _natives.invoke_void(0xBC8983F38F78ED51,cleanupFlags);end,\n"\ +"FORCE_CLEANUP_FOR_ALL_THREADS_WITH_THIS_NAME=function(name,cleanupFlags)return _natives.invoke_void(0x4C68DDDDF0097317,name,cleanupFlags);end,\n"\ +"FORCE_CLEANUP_FOR_THREAD_WITH_THIS_ID=function(id,cleanupFlags)return _natives.invoke_void(0xF745B37630DF176B,id,cleanupFlags);end,\n"\ +"GET_CAUSE_OF_MOST_RECENT_FORCE_CLEANUP=function()return _natives.invoke_int(0x9A41CF4674A12272);end,\n"\ +"SET_PLAYER_MAY_ONLY_ENTER_THIS_VEHICLE=function(player,vehicle)return _natives.invoke_void(0x8026FF78F208978A,player,vehicle);end,\n"\ +"SET_PLAYER_MAY_NOT_ENTER_ANY_VEHICLE=function(player)return _natives.invoke_void(0x1DE37BBF9E9CC14A,player);end,\n"\ +"GIVE_ACHIEVEMENT_TO_PLAYER=function(achievementId)return _natives.invoke_bool(0xBEC7076D64130195,achievementId);end,\n"\ +"SET_ACHIEVEMENT_PROGRESS=function(achievementId,progress)return _natives.invoke_bool(0xC2AFFFDABBDC2C5C,achievementId,progress);end,\n"\ +"GET_ACHIEVEMENT_PROGRESS=function(achievementId)return _natives.invoke_int(0x1C186837D0619335,achievementId);end,\n"\ +"HAS_ACHIEVEMENT_BEEN_PASSED=function(achievementId)return _natives.invoke_bool(0x867365E111A3B6EB,achievementId);end,\n"\ +"IS_PLAYER_ONLINE=function()return _natives.invoke_bool(0xF25D331DC2627BBC);end,\n"\ +"IS_PLAYER_LOGGING_IN_NP=function()return _natives.invoke_bool(0x74556E1420867ECA);end,\n"\ +"DISPLAY_SYSTEM_SIGNIN_UI=function(p0)return _natives.invoke_void(0x94DD7888C10A979E,p0);end,\n"\ +"IS_SYSTEM_UI_BEING_DISPLAYED=function()return _natives.invoke_bool(0x5D511E3867C87139);end,\n"\ +"SET_PLAYER_INVINCIBLE=function(player,toggle)return _natives.invoke_void(0x239528EACDC3E7DE,player,toggle);end,\n"\ +"GET_PLAYER_INVINCIBLE=function(player)return _natives.invoke_bool(0xB721981B2B939E07,player);end,\n"\ +"GET_PLAYER_DEBUG_INVINCIBLE=function(player)return _natives.invoke_bool(0xDCC07526B8EC45AF,player);end,\n"\ +"SET_PLAYER_INVINCIBLE_BUT_HAS_REACTIONS=function(player,toggle)return _natives.invoke_void(0x6BC97F4F4BB3C04B,player,toggle);end,\n"\ +"SET_PLAYER_CAN_COLLECT_DROPPED_MONEY=function(player,p1)return _natives.invoke_void(0xCAC57395B151135F,player,p1);end,\n"\ +"REMOVE_PLAYER_HELMET=function(player,p2)return _natives.invoke_void(0xF3AC26D3CC576528,player,p2);end,\n"\ +"GIVE_PLAYER_RAGDOLL_CONTROL=function(player,toggle)return _natives.invoke_void(0x3C49C870E66F0A28,player,toggle);end,\n"\ +"SET_PLAYER_LOCKON=function(player,toggle)return _natives.invoke_void(0x5C8B2F450EE4328E,player,toggle);end,\n"\ +"SET_PLAYER_TARGETING_MODE=function(targetMode)return _natives.invoke_void(0xB1906895227793F3,targetMode);end,\n"\ +"SET_PLAYER_TARGET_LEVEL=function(targetLevel)return _natives.invoke_void(0x5702B917B99DB1CD,targetLevel);end,\n"\ +"GET_IS_USING_FPS_THIRD_PERSON_COVER=function()return _natives.invoke_bool(0xB9CF1F793A9F1BF1);end,\n"\ +"GET_IS_USING_HOOD_CAMERA=function()return _natives.invoke_bool(0xCB645E85E97EA48B);end,\n"\ +"CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_PED=function(player)return _natives.invoke_void(0xF0B67A4DE6AB5F98,player);end,\n"\ +"HAS_PLAYER_DAMAGED_AT_LEAST_ONE_PED=function(player)return _natives.invoke_bool(0x20CE80B0C2BF4ACC,player);end,\n"\ +"CLEAR_PLAYER_HAS_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED=function(player)return _natives.invoke_void(0x4AACB96203D11A31,player);end,\n"\ +"HAS_PLAYER_DAMAGED_AT_LEAST_ONE_NON_ANIMAL_PED=function(player)return _natives.invoke_bool(0xE4B90F367BD81752,player);end,\n"\ +"SET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE=function(player,multiplier)return _natives.invoke_void(0xCA7DC8329F0A1E9E,player,multiplier);end,\n"\ +"SET_SWIM_MULTIPLIER_FOR_PLAYER=function(player,multiplier)return _natives.invoke_void(0xA91C6F0FF7D16A13,player,multiplier);end,\n"\ +"SET_RUN_SPRINT_MULTIPLIER_FOR_PLAYER=function(player,multiplier)return _natives.invoke_void(0x6DB47AA77FD94E09,player,multiplier);end,\n"\ +"GET_TIME_SINCE_LAST_ARREST=function()return _natives.invoke_int(0x5063F92F07C2A316);end,\n"\ +"GET_TIME_SINCE_LAST_DEATH=function()return _natives.invoke_int(0xC7034807558DDFCA);end,\n"\ +"ASSISTED_MOVEMENT_CLOSE_ROUTE=function()return _natives.invoke_void(0xAEBF081FFC0A0E5E);end,\n"\ +"ASSISTED_MOVEMENT_FLUSH_ROUTE=function()return _natives.invoke_void(0x8621390F0CDCFE1F);end,\n"\ +"SET_PLAYER_FORCED_AIM=function(player,toggle)return _natives.invoke_void(0x0FEE4F80AC44A726,player,toggle);end,\n"\ +"SET_PLAYER_FORCED_ZOOM=function(player,toggle)return _natives.invoke_void(0x75E7D505F2B15902,player,toggle);end,\n"\ +"SET_PLAYER_FORCE_SKIP_AIM_INTRO=function(player,toggle)return _natives.invoke_void(0x7651BC64AE59E128,player,toggle);end,\n"\ +"DISABLE_PLAYER_FIRING=function(player,toggle)return _natives.invoke_void(0x5E6CC07646BBEAB8,player,toggle);end,\n"\ +"DISABLE_PLAYER_THROW_GRENADE_WHILE_USING_GUN=function()return _natives.invoke_void(0xB885852C39CC265D);end,\n"\ +"SET_DISABLE_AMBIENT_MELEE_MOVE=function(player,toggle)return _natives.invoke_void(0x2E8AABFA40A84F8C,player,toggle);end,\n"\ +"SET_PLAYER_MAX_ARMOUR=function(player,value)return _natives.invoke_void(0x77DFCCF5948B8C71,player,value);end,\n"\ +"SPECIAL_ABILITY_ACTIVATE=function(player,p1)return _natives.invoke_void(0x821FDC827D6F4090,player,p1);end,\n"\ +"SET_SPECIAL_ABILITY_MP=function(player,p1,p2)return _natives.invoke_void(0xB214D570EAD7F81A,player,p1,p2);end,\n"\ +"SPECIAL_ABILITY_DEACTIVATE_MP=function(player,p1)return _natives.invoke_void(0x17F7471EACA78290,player,p1);end,\n"\ +"SPECIAL_ABILITY_DEACTIVATE=function(player,p1)return _natives.invoke_void(0xD6A953C6D1492057,player,p1);end,\n"\ +"SPECIAL_ABILITY_DEACTIVATE_FAST=function(player,p1)return _natives.invoke_void(0x9CB5CE07A3968D5A,player,p1);end,\n"\ +"SPECIAL_ABILITY_RESET=function(player,p1)return _natives.invoke_void(0x375F0E738F861A94,player,p1);end,\n"\ +"SPECIAL_ABILITY_CHARGE_ON_MISSION_FAILED=function(player,p1)return _natives.invoke_void(0xC9A763D8FE87436A,player,p1);end,\n"\ +"SPECIAL_ABILITY_CHARGE_SMALL=function(player,p1,p2,p3)return _natives.invoke_void(0x2E7B9B683481687D,player,p1,p2,p3);end,\n"\ +"SPECIAL_ABILITY_CHARGE_MEDIUM=function(player,p1,p2,p3)return _natives.invoke_void(0xF113E3AA9BC54613,player,p1,p2,p3);end,\n"\ +"SPECIAL_ABILITY_CHARGE_LARGE=function(player,p1,p2,p3)return _natives.invoke_void(0xF733F45FA4497D93,player,p1,p2,p3);end,\n"\ +"SPECIAL_ABILITY_CHARGE_CONTINUOUS=function(player,p1,p2)return _natives.invoke_void(0xED481732DFF7E997,player,p1,p2);end,\n"\ +"SPECIAL_ABILITY_CHARGE_ABSOLUTE=function(player,p1,p2,p3)return _natives.invoke_void(0xB7B0870EB531D08D,player,p1,p2,p3);end,\n"\ +"SPECIAL_ABILITY_CHARGE_NORMALIZED=function(player,normalizedValue,p2,p3)return _natives.invoke_void(0xA0696A65F009EE18,player,normalizedValue,p2,p3);end,\n"\ +"SPECIAL_ABILITY_FILL_METER=function(player,p1,p2)return _natives.invoke_void(0x3DACA8DDC6FD4980,player,p1,p2);end,\n"\ +"SPECIAL_ABILITY_DEPLETE_METER=function(player,p1,p2)return _natives.invoke_void(0x1D506DBBBC51E64B,player,p1,p2);end,\n"\ +"SPECIAL_ABILITY_LOCK=function(playerModel,p1)return _natives.invoke_void(0x6A09D0D590A47D13,playerModel,p1);end,\n"\ +"SPECIAL_ABILITY_UNLOCK=function(playerModel,p1)return _natives.invoke_void(0xF145F3BE2EFA9A3B,playerModel,p1);end,\n"\ +"IS_SPECIAL_ABILITY_UNLOCKED=function(playerModel)return _natives.invoke_bool(0xC6017F6A6CDFA694,playerModel);end,\n"\ +"IS_SPECIAL_ABILITY_ACTIVE=function(player,p1)return _natives.invoke_bool(0x3E5F7FC85D854E15,player,p1);end,\n"\ +"IS_SPECIAL_ABILITY_METER_FULL=function(player,p1)return _natives.invoke_bool(0x05A1FE504B7F2587,player,p1);end,\n"\ +"ENABLE_SPECIAL_ABILITY=function(player,toggle,p2)return _natives.invoke_void(0x181EC197DAEFE121,player,toggle,p2);end,\n"\ +"IS_SPECIAL_ABILITY_ENABLED=function(player,p1)return _natives.invoke_bool(0xB1D200FE26AEF3CB,player,p1);end,\n"\ +"SET_SPECIAL_ABILITY_MULTIPLIER=function(multiplier)return _natives.invoke_void(0xA49C426ED0CA4AB7,multiplier);end,\n"\ +"UPDATE_SPECIAL_ABILITY_FROM_STAT=function(player,p1)return _natives.invoke_void(0xFFEE8FA29AB9A18E,player,p1);end,\n"\ +"GET_IS_PLAYER_DRIVING_ON_HIGHWAY=function(player)return _natives.invoke_bool(0x5FC472C501CCADB3,player);end,\n"\ +"GET_IS_PLAYER_DRIVING_WRECKLESS=function(player,p1)return _natives.invoke_bool(0xF10B44FD479D69F3,player,p1);end,\n"\ +"GET_IS_MOPPING_AREA_FREE_IN_FRONT_OF_PLAYER=function(player,p1)return _natives.invoke_bool(0xDD2620B7B9D16FF1,player,p1);end,\n"\ +"START_PLAYER_TELEPORT=function(player,x,y,z,heading,p5,findCollisionLand,p7)return _natives.invoke_void(0xAD15F075A4DA0FDE,player,x,y,z,heading,p5,findCollisionLand,p7);end,\n"\ +"UPDATE_PLAYER_TELEPORT=function(player)return _natives.invoke_bool(0xE23D5873C2394C61,player);end,\n"\ +"STOP_PLAYER_TELEPORT=function()return _natives.invoke_void(0xC449EDED9D73009C);end,\n"\ +"IS_PLAYER_TELEPORT_ACTIVE=function()return _natives.invoke_bool(0x02B15662D7F8886F);end,\n"\ +"GET_PLAYER_CURRENT_STEALTH_NOISE=function(player)return _natives.invoke_float(0x2F395D61F3A1F877,player);end,\n"\ +"SET_PLAYER_HEALTH_RECHARGE_MULTIPLIER=function(player,regenRate)return _natives.invoke_void(0x5DB660B38DD98A31,player,regenRate);end,\n"\ +"GET_PLAYER_HEALTH_RECHARGE_MAX_PERCENT=function(player)return _natives.invoke_float(0x8BC515BAE4AAF8FF,player);end,\n"\ +"SET_PLAYER_HEALTH_RECHARGE_MAX_PERCENT=function(player,limit)return _natives.invoke_void(0xC388A0F065F5BC34,player,limit);end,\n"\ +"DISABLE_PLAYER_HEALTH_RECHARGE=function(player)return _natives.invoke_void(0xBCB06442F7E52666,player);end,\n"\ +"SET_PLAYER_FALL_DISTANCE_TO_TRIGGER_RAGDOLL_OVERRIDE=function(player,p1)return _natives.invoke_void(0xEFD79FA81DFBA9CB,player,p1);end,\n"\ +"SET_PLAYER_WEAPON_DAMAGE_MODIFIER=function(player,modifier)return _natives.invoke_void(0xCE07B9F7817AADA3,player,modifier);end,\n"\ +"SET_PLAYER_WEAPON_DEFENSE_MODIFIER=function(player,modifier)return _natives.invoke_void(0x2D83BC011CA14A3C,player,modifier);end,\n"\ +"SET_PLAYER_WEAPON_MINIGUN_DEFENSE_MODIFIER=function(player,modifier)return _natives.invoke_void(0xBCFDE9EDE4CF27DC,player,modifier);end,\n"\ +"SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER=function(player,modifier,p2)return _natives.invoke_void(0x4A3DC7ECCC321032,player,modifier,p2);end,\n"\ +"SET_PLAYER_MELEE_WEAPON_DEFENSE_MODIFIER=function(player,modifier)return _natives.invoke_void(0xAE540335B4ABC4E2,player,modifier);end,\n"\ +"SET_PLAYER_VEHICLE_DAMAGE_MODIFIER=function(player,modifier)return _natives.invoke_void(0xA50E117CDDF82F0C,player,modifier);end,\n"\ +"SET_PLAYER_VEHICLE_DEFENSE_MODIFIER=function(player,modifier)return _natives.invoke_void(0x4C60E6EFDAFF2462,player,modifier);end,\n"\ +"SET_PLAYER_MAX_EXPLOSIVE_DAMAGE=function(player,p1)return _natives.invoke_void(0x8D768602ADEF2245,player,p1);end,\n"\ +"SET_PLAYER_EXPLOSIVE_DAMAGE_MODIFIER=function(player,p1)return _natives.invoke_void(0xD821056B9ACF8052,player,p1);end,\n"\ +"SET_PLAYER_WEAPON_TAKEDOWN_DEFENSE_MODIFIER=function(player,p1)return _natives.invoke_void(0x31E90B8873A4CD3B,player,p1);end,\n"\ +"SET_PLAYER_PARACHUTE_TINT_INDEX=function(player,tintIndex)return _natives.invoke_void(0xA3D0E54541D9A5E5,player,tintIndex);end,\n"\ +"GET_PLAYER_PARACHUTE_TINT_INDEX=function(player,tintIndex)return _natives.invoke_void(0x75D3F7A1B0D9B145,player,tintIndex);end,\n"\ +"SET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX=function(player,index)return _natives.invoke_void(0xAF04C87F5DC1DF38,player,index);end,\n"\ +"GET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX=function(player,index)return _natives.invoke_void(0xD5A016BC3C09CF40,player,index);end,\n"\ +"SET_PLAYER_PARACHUTE_PACK_TINT_INDEX=function(player,tintIndex)return _natives.invoke_void(0x93B0FB27C9A04060,player,tintIndex);end,\n"\ +"GET_PLAYER_PARACHUTE_PACK_TINT_INDEX=function(player,tintIndex)return _natives.invoke_void(0x6E9C742F340CE5A2,player,tintIndex);end,\n"\ +"SET_PLAYER_HAS_RESERVE_PARACHUTE=function(player)return _natives.invoke_void(0x7DDAB28D31FAC363,player);end,\n"\ +"GET_PLAYER_HAS_RESERVE_PARACHUTE=function(player)return _natives.invoke_bool(0x5DDFE2FF727F3CA3,player);end,\n"\ +"SET_PLAYER_CAN_LEAVE_PARACHUTE_SMOKE_TRAIL=function(player,enabled)return _natives.invoke_void(0xF401B182DBA8AF53,player,enabled);end,\n"\ +"SET_PLAYER_PARACHUTE_SMOKE_TRAIL_COLOR=function(player,r,g,b)return _natives.invoke_void(0x8217FD371A4625CF,player,r,g,b);end,\n"\ +"GET_PLAYER_PARACHUTE_SMOKE_TRAIL_COLOR=function(player,r,g,b)return _natives.invoke_void(0xEF56DBABD3CD4887,player,r,g,b);end,\n"\ +"SET_PLAYER_PHONE_PALETTE_IDX=function(player,flags)return _natives.invoke_void(0x11D5F725F0E780E0,player,flags);end,\n"\ +"SET_PLAYER_NOISE_MULTIPLIER=function(player,multiplier)return _natives.invoke_void(0xDB89EF50FF25FCE9,player,multiplier);end,\n"\ +"SET_PLAYER_SNEAKING_NOISE_MULTIPLIER=function(player,multiplier)return _natives.invoke_void(0xB2C1A29588A9F47C,player,multiplier);end,\n"\ +"CAN_PED_HEAR_PLAYER=function(player,ped)return _natives.invoke_bool(0xF297383AA91DCA29,player,ped);end,\n"\ +"SIMULATE_PLAYER_INPUT_GAIT=function(player,amount,gaitType,speed,p4,p5)return _natives.invoke_void(0x477D5D63E63ECA5D,player,amount,gaitType,speed,p4,p5);end,\n"\ +"RESET_PLAYER_INPUT_GAIT=function(player)return _natives.invoke_void(0x19531C47A2ABD691,player);end,\n"\ +"SET_AUTO_GIVE_PARACHUTE_WHEN_ENTER_PLANE=function(player,toggle)return _natives.invoke_void(0x9F343285A00B4BB6,player,toggle);end,\n"\ +"SET_AUTO_GIVE_SCUBA_GEAR_WHEN_EXIT_VEHICLE=function(player,toggle)return _natives.invoke_void(0xD2B315B6689D537D,player,toggle);end,\n"\ +"SET_PLAYER_STEALTH_PERCEPTION_MODIFIER=function(player,value)return _natives.invoke_void(0x4E9021C1FCDD507A,player,value);end,\n"\ +"IS_REMOTE_PLAYER_IN_NON_CLONED_VEHICLE=function(player)return _natives.invoke_bool(0x690A61A6D13583F6,player);end,\n"\ +"INCREASE_PLAYER_JUMP_SUPPRESSION_RANGE=function(player)return _natives.invoke_void(0x9EDD76E87D5D51BA,player);end,\n"\ +"SET_PLAYER_SIMULATE_AIMING=function(player,toggle)return _natives.invoke_void(0xC54C95DA968EC5B5,player,toggle);end,\n"\ +"SET_PLAYER_CLOTH_PIN_FRAMES=function(player,p1)return _natives.invoke_void(0x749FADDF97DFE930,player,p1);end,\n"\ +"SET_PLAYER_CLOTH_PACKAGE_INDEX=function(index)return _natives.invoke_void(0x9F7BBA2EA6372500,index);end,\n"\ +"SET_PLAYER_CLOTH_LOCK_COUNTER=function(value)return _natives.invoke_void(0x14D913B777DFF5DA,value);end,\n"\ +"PLAYER_ATTACH_VIRTUAL_BOUND=function(p0,p1,p2,p3,p4,p5,p6,p7)return _natives.invoke_void(0xED51733DC73AED51,p0,p1,p2,p3,p4,p5,p6,p7);end,\n"\ +"PLAYER_DETACH_VIRTUAL_BOUND=function()return _natives.invoke_void(0x1DD5897E2FA6E7C9);end,\n"\ +"HAS_PLAYER_BEEN_SPOTTED_IN_STOLEN_VEHICLE=function(player)return _natives.invoke_bool(0xD705740BB0A1CF4C,player);end,\n"\ +"IS_PLAYER_BATTLE_AWARE=function(player)return _natives.invoke_bool(0x38D28DA81E4E9BF9,player);end,\n"\ +"GET_PLAYER_RECEIVED_BATTLE_EVENT_RECENTLY=function(player,p1,p2)return _natives.invoke_bool(0xBC0753C9CA14B506,player,p1,p2);end,\n"\ +"EXTEND_WORLD_BOUNDARY_FOR_PLAYER=function(x,y,z)return _natives.invoke_void(0x5006D96C995A5827,x,y,z);end,\n"\ +"RESET_WORLD_BOUNDARY_FOR_PLAYER=function()return _natives.invoke_void(0xDA1DF03D5A315F4E);end,\n"\ +"IS_PLAYER_RIDING_TRAIN=function(player)return _natives.invoke_bool(0x4EC12697209F2196,player);end,\n"\ +"HAS_PLAYER_LEFT_THE_WORLD=function(player)return _natives.invoke_bool(0xD55DDFB47991A294,player);end,\n"\ +"SET_PLAYER_LEAVE_PED_BEHIND=function(player,toggle)return _natives.invoke_void(0xFF300C7649724A0B,player,toggle);end,\n"\ +"SET_PLAYER_PARACHUTE_VARIATION_OVERRIDE=function(player,p1,p2,p3,p4)return _natives.invoke_void(0xD9284A8C0D48352C,player,p1,p2,p3,p4);end,\n"\ +"CLEAR_PLAYER_PARACHUTE_VARIATION_OVERRIDE=function(player)return _natives.invoke_void(0x0F4CC924CF8C7B21,player);end,\n"\ +"SET_PLAYER_PARACHUTE_MODEL_OVERRIDE=function(player,model)return _natives.invoke_void(0x977DB4641F6FC3DB,player,model);end,\n"\ +"SET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE=function(player,model)return _natives.invoke_void(0x0764486AEDE748DB,player,model);end,\n"\ +"GET_PLAYER_PARACHUTE_MODEL_OVERRIDE=function(player)return _natives.invoke_int(0xC219887CA3E65C41,player);end,\n"\ +"GET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE=function(player)return _natives.invoke_int(0x37FAAA68DCA9D08D,player);end,\n"\ +"CLEAR_PLAYER_PARACHUTE_MODEL_OVERRIDE=function(player)return _natives.invoke_void(0x8753997EB5F6EE3F,player);end,\n"\ +"CLEAR_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE=function(player)return _natives.invoke_void(0x290D248E25815AE8,player);end,\n"\ +"SET_PLAYER_PARACHUTE_PACK_MODEL_OVERRIDE=function(player,model)return _natives.invoke_void(0xDC80A4C2F18A2B64,player,model);end,\n"\ +"CLEAR_PLAYER_PARACHUTE_PACK_MODEL_OVERRIDE=function(player)return _natives.invoke_void(0x10C54E4389C12B42,player);end,\n"\ +"DISABLE_PLAYER_VEHICLE_REWARDS=function(player)return _natives.invoke_void(0xC142BE3BB9CE125F,player);end,\n"\ +"SET_PLAYER_SPECTATED_VEHICLE_RADIO_OVERRIDE=function(p0)return _natives.invoke_void(0x2F7CEB6520288061,p0);end,\n"\ +"SET_PLAYER_BLUETOOTH_STATE=function(player,state)return _natives.invoke_void(0x5DC40A8869C22141,player,state);end,\n"\ +"IS_PLAYER_BLUETOOTH_ENABLE=function(player)return _natives.invoke_bool(0x65FAEE425DE637B0,player);end,\n"\ +"DISABLE_CAMERA_VIEW_MODE_CYCLE=function(player)return _natives.invoke_void(0x5501B7A5CDB79D37,player);end,\n"\ +"GET_PLAYER_FAKE_WANTED_LEVEL=function(player)return _natives.invoke_int(0x56105E599CAB0EFA,player);end,\n"\ +"SET_PLAYER_CAN_DAMAGE_PLAYER=function(player1,player2,toggle)return _natives.invoke_void(0x55FCC0C390620314,player1,player2,toggle);end,\n"\ +"SET_APPLY_WAYPOINT_OF_PLAYER=function(player,hudColor)return _natives.invoke_void(0x2382AB11450AE7BA,player,hudColor);end,\n"\ +"IS_PLAYER_VEHICLE_WEAPON_TOGGLED_TO_NON_HOMING=function(p0)return _natives.invoke_bool(0x6E4361FF3E8CD7CA,p0);end,\n"\ +"SET_PLAYER_VEHICLE_WEAPON_TO_NON_HOMING=function(p0)return _natives.invoke_void(0x237440E46D918649,p0);end,\n"\ +"SET_PLAYER_HOMING_DISABLED_FOR_ALL_VEHICLE_WEAPONS=function(p0,p1)return _natives.invoke_void(0xEE4EBDD2593BA844,p0,p1);end,\n"\ +"ADD_PLAYER_TARGETABLE_ENTITY=function(player,entity)return _natives.invoke_void(0x9097EB6D4BB9A12A,player,entity);end,\n"\ +"REMOVE_PLAYER_TARGETABLE_ENTITY=function(player,entity)return _natives.invoke_void(0x9F260BFB59ADBCA3,player,entity);end,\n"\ +"SET_PLAYER_PREVIOUS_VARIATION_DATA=function(player,p1,p2,p3,p4,p5)return _natives.invoke_void(0x7BAE68775557AE0B,player,p1,p2,p3,p4,p5);end,\n"\ +"REMOVE_SCRIPT_FIRE_POSITION=function()return _natives.invoke_void(0x7148E0F43D11F0D9);end,\n"\ +"SET_SCRIPT_FIRE_POSITION=function(coordX,coordY,coordZ)return _natives.invoke_void(0x70A382ADEC069DD3,coordX,coordY,coordZ);end,\n"\ +"};\n"\ +"RECORDING = {\n"\ +"REPLAY_START_EVENT=function(p0)return _natives.invoke_void(0x48621C9FCA3EBD28,p0);end,\n"\ +"REPLAY_STOP_EVENT=function()return _natives.invoke_void(0x81CBAE94390F9F89);end,\n"\ +"REPLAY_CANCEL_EVENT=function()return _natives.invoke_void(0x13B350B8AD0EEE10);end,\n"\ +"REPLAY_RECORD_BACK_FOR_TIME=function(p0,p1,p2)return _natives.invoke_void(0x293220DA1B46CEBC,p0,p1,p2);end,\n"\ +"REPLAY_CHECK_FOR_EVENT_THIS_FRAME=function(missionNameLabel,p1)return _natives.invoke_void(0x208784099002BC30,missionNameLabel,p1);end,\n"\ +"REPLAY_PREVENT_RECORDING_THIS_FRAME=function()return _natives.invoke_void(0xEB2D525B57F42B40);end,\n"\ +"REPLAY_RESET_EVENT_INFO=function()return _natives.invoke_void(0xF854439EFBB3B583);end,\n"\ +"REPLAY_DISABLE_CAMERA_MOVEMENT_THIS_FRAME=function()return _natives.invoke_void(0xAF66DCEE6609B148);end,\n"\ +"RECORD_GREATEST_MOMENT=function(p0,p1,p2)return _natives.invoke_void(0x66972397E0757E7A,p0,p1,p2);end,\n"\ +"START_REPLAY_RECORDING=function(mode)return _natives.invoke_void(0xC3AC2FFF9612AC81,mode);end,\n"\ +"STOP_REPLAY_RECORDING=function()return _natives.invoke_void(0x071A5197D6AFC8B3);end,\n"\ +"CANCEL_REPLAY_RECORDING=function()return _natives.invoke_void(0x88BB3507ED41A240);end,\n"\ +"SAVE_REPLAY_RECORDING=function()return _natives.invoke_bool(0x644546EC5287471B);end,\n"\ +"IS_REPLAY_RECORDING=function()return _natives.invoke_bool(0x1897CA71995A90B4);end,\n"\ +"IS_REPLAY_INITIALIZED=function()return _natives.invoke_bool(0xDF4B952F7D381B95);end,\n"\ +"IS_REPLAY_AVAILABLE=function()return _natives.invoke_bool(0x4282E08174868BE3);end,\n"\ +"IS_REPLAY_RECORD_SPACE_AVAILABLE=function(p0)return _natives.invoke_bool(0x33D47E85B476ABCD,p0);end,\n"\ +"};\n"\ +"REPLAY = {\n"\ +"REGISTER_EFFECT_FOR_REPLAY_EDITOR=function(p0,p1)return _natives.invoke_void(0x7E2BD3EF6C205F09,p0,p1);end,\n"\ +"REPLAY_SYSTEM_HAS_REQUESTED_A_SCRIPT_CLEANUP=function()return _natives.invoke_bool(0x95AB8B5C992C7B58);end,\n"\ +"SET_SCRIPTS_HAVE_CLEANED_UP_FOR_REPLAY_SYSTEM=function()return _natives.invoke_void(0x5AD3932DAEB1E5D3);end,\n"\ +"SET_REPLAY_SYSTEM_PAUSED_FOR_SAVE=function(p0)return _natives.invoke_void(0xE058175F8EAFE79A,p0);end,\n"\ +"REPLAY_CONTROL_SHUTDOWN=function()return _natives.invoke_void(0x3353D13F09307691);end,\n"\ +"ACTIVATE_ROCKSTAR_EDITOR=function(p0)return _natives.invoke_void(0x49DA8145672B2725,p0);end,\n"\ +"};\n"\ +"SAVEMIGRATION = {\n"\ +"SAVEMIGRATION_IS_MP_ENABLED=function()return _natives.invoke_bool(0x84B418E93894AC1C);end,\n"\ +"SAVEMIGRATION_MP_REQUEST_ACCOUNTS=function()return _natives.invoke_bool(0x85F41F9225D08C72);end,\n"\ +"SAVEMIGRATION_MP_GET_ACCOUNTS_STATUS=function()return _natives.invoke_int(0xC8CB5999919EA2CA);end,\n"\ +"SAVEMIGRATION_MP_NUM_ACCOUNTS=function()return _natives.invoke_int(0x77A16200E18E0C55);end,\n"\ +"SAVEMIGRATION_MP_GET_ACCOUNT=function(p0,p1)return _natives.invoke_bool(0xFCE2747EEF1D05FC,p0,p1);end,\n"\ +"SAVEMIGRATION_MP_REQUEST_STATUS=function()return _natives.invoke_bool(0xE5E9746A66359F9D);end,\n"\ +"SAVEMIGRATION_MP_GET_STATUS=function()return _natives.invoke_int(0x690B76BD2763E068);end,\n"\ +"};\n"\ +"SCRIPT = {\n"\ +"REQUEST_SCRIPT=function(scriptName)return _natives.invoke_void(0x6EB5F71AA68F2E8E,scriptName);end,\n"\ +"SET_SCRIPT_AS_NO_LONGER_NEEDED=function(scriptName)return _natives.invoke_void(0xC90D2DCACD56184C,scriptName);end,\n"\ +"HAS_SCRIPT_LOADED=function(scriptName)return _natives.invoke_bool(0xE6CC9F3BA0FB9EF1,scriptName);end,\n"\ +"DOES_SCRIPT_EXIST=function(scriptName)return _natives.invoke_bool(0xFC04745FBE67C19A,scriptName);end,\n"\ +"REQUEST_SCRIPT_WITH_NAME_HASH=function(scriptHash)return _natives.invoke_void(0xD62A67D26D9653E6,scriptHash);end,\n"\ +"SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED=function(scriptHash)return _natives.invoke_void(0xC5BC038960E9DB27,scriptHash);end,\n"\ +"HAS_SCRIPT_WITH_NAME_HASH_LOADED=function(scriptHash)return _natives.invoke_bool(0x5F0F0C783EB16C04,scriptHash);end,\n"\ +"DOES_SCRIPT_WITH_NAME_HASH_EXIST=function(scriptHash)return _natives.invoke_bool(0xF86AA3C56BA31381,scriptHash);end,\n"\ +"TERMINATE_THREAD=function(threadId)return _natives.invoke_void(0xC8B189ED9138BCD4,threadId);end,\n"\ +"IS_THREAD_ACTIVE=function(threadId)return _natives.invoke_bool(0x46E9AE36D8FA6417,threadId);end,\n"\ +"GET_NAME_OF_SCRIPT_WITH_THIS_ID=function(threadId)return _natives.invoke_str(0x05A42BA9FC8DA96B,threadId);end,\n"\ +"SCRIPT_THREAD_ITERATOR_RESET=function()return _natives.invoke_void(0xDADFADA5A20143A8);end,\n"\ +"SCRIPT_THREAD_ITERATOR_GET_NEXT_THREAD_ID=function()return _natives.invoke_int(0x30B4FA1C82DD4B9F);end,\n"\ +"GET_ID_OF_THIS_THREAD=function()return _natives.invoke_int(0xC30338E8088E2E21);end,\n"\ +"TERMINATE_THIS_THREAD=function()return _natives.invoke_void(0x1090044AD1DA76FA);end,\n"\ +"GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH=function(scriptHash)return _natives.invoke_int(0x2C83A9DA6BFFC4F9,scriptHash);end,\n"\ +"GET_THIS_SCRIPT_NAME=function()return _natives.invoke_str(0x442E0A7EDE4A738A);end,\n"\ +"GET_HASH_OF_THIS_SCRIPT_NAME=function()return _natives.invoke_int(0x8A1C8B1738FFE87E);end,\n"\ +"GET_NUMBER_OF_EVENTS=function(eventGroup)return _natives.invoke_int(0x5F92A689A06620AA,eventGroup);end,\n"\ +"GET_EVENT_EXISTS=function(eventGroup,eventIndex)return _natives.invoke_bool(0x936E6168A9BCEDB5,eventGroup,eventIndex);end,\n"\ +"GET_EVENT_AT_INDEX=function(eventGroup,eventIndex)return _natives.invoke_int(0xD8F66A3A60C62153,eventGroup,eventIndex);end,\n"\ +"GET_EVENT_DATA=function(eventGroup,eventIndex,eventData,eventDataSize)return _natives.invoke_bool(0x2902843FCD2B2D79,eventGroup,eventIndex,eventData,eventDataSize);end,\n"\ +"TRIGGER_SCRIPT_EVENT=function(eventGroup,eventData,eventDataSize,playerBits)return _natives.invoke_void(0x5AE99C571D5BBE5D,eventGroup,eventData,eventDataSize,playerBits);end,\n"\ +"SHUTDOWN_LOADING_SCREEN=function()return _natives.invoke_void(0x078EBE9809CCD637);end,\n"\ +"SET_NO_LOADING_SCREEN=function(toggle)return _natives.invoke_void(0x5262CC1995D07E09,toggle);end,\n"\ +"GET_NO_LOADING_SCREEN=function()return _natives.invoke_bool(0x18C1270EA7F199BC);end,\n"\ +"COMMIT_TO_LOADINGSCREEN_SELCTION=function()return _natives.invoke_void(0xB1577667C3708F9B);end,\n"\ +"BG_IS_EXITFLAG_SET=function()return _natives.invoke_bool(0x836B62713E0534CA);end,\n"\ +"BG_SET_EXITFLAG_RESPONSE=function()return _natives.invoke_void(0x760910B49D2B98EA);end,\n"\ +"BG_START_CONTEXT_HASH=function(contextHash)return _natives.invoke_void(0x75B18E49607874C7,contextHash);end,\n"\ +"BG_END_CONTEXT_HASH=function(contextHash)return _natives.invoke_void(0x107E5CC7CA942BC1,contextHash);end,\n"\ +"BG_START_CONTEXT=function(contextName)return _natives.invoke_void(0x9D5A25BADB742ACD,contextName);end,\n"\ +"BG_END_CONTEXT=function(contextName)return _natives.invoke_void(0xDC2BACD920D0A0DD,contextName);end,\n"\ +"BG_DOES_LAUNCH_PARAM_EXIST=function(scriptIndex,p1)return _natives.invoke_bool(0x0F6F1EBBC4E1D5E6,scriptIndex,p1);end,\n"\ +"BG_GET_LAUNCH_PARAM_VALUE=function(scriptIndex,p1)return _natives.invoke_int(0x22E21FBCFC88C149,scriptIndex,p1);end,\n"\ +"BG_GET_SCRIPT_ID_FROM_NAME_HASH=function(p0)return _natives.invoke_int(0x829CD22E043A2577,p0);end,\n"\ +"SEND_TU_SCRIPT_EVENT=function(eventGroup,eventData,eventDataSize,playerBits)return _natives.invoke_void(0xA40CC53DF8E50837,eventGroup,eventData,eventDataSize,playerBits);end,\n"\ +"};\n"\ +"SECURITY = {\n"\ +"REGISTER_SCRIPT_VARIABLE=function(variable)return _natives.invoke_void(0x40EB1EFD921822BC,variable);end,\n"\ +"UNREGISTER_SCRIPT_VARIABLE=function(variable)return _natives.invoke_void(0x340A36A700E99699,variable);end,\n"\ +"FORCE_CHECK_SCRIPT_VARIABLES=function()return _natives.invoke_void(0x8E580AB902917360);end,\n"\ +"};\n"\ +"SHAPETEST = {\n"\ +"START_SHAPE_TEST_LOS_PROBE=function(x1,y1,z1,x2,y2,z2,flags,entity,p8)return _natives.invoke_int(0x7EE9F5D83DD4F90E,x1,y1,z1,x2,y2,z2,flags,entity,p8);end,\n"\ +"START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE=function(x1,y1,z1,x2,y2,z2,flags,entity,p8)return _natives.invoke_int(0x377906D8A31E5586,x1,y1,z1,x2,y2,z2,flags,entity,p8);end,\n"\ +"START_SHAPE_TEST_BOUNDING_BOX=function(entity,flags1,flags2)return _natives.invoke_int(0x052837721A854EC7,entity,flags1,flags2);end,\n"\ +"START_SHAPE_TEST_BOX=function(x,y,z,dimX,dimY,dimZ,rotX,rotY,rotZ,p9,flags,entity,p12)return _natives.invoke_int(0xFE466162C4401D18,x,y,z,dimX,dimY,dimZ,rotX,rotY,rotZ,p9,flags,entity,p12);end,\n"\ +"START_SHAPE_TEST_BOUND=function(entity,flags1,flags2)return _natives.invoke_int(0x37181417CE7C8900,entity,flags1,flags2);end,\n"\ +"START_SHAPE_TEST_CAPSULE=function(x1,y1,z1,x2,y2,z2,radius,flags,entity,p9)return _natives.invoke_int(0x28579D1B8F8AAC80,x1,y1,z1,x2,y2,z2,radius,flags,entity,p9);end,\n"\ +"START_SHAPE_TEST_SWEPT_SPHERE=function(x1,y1,z1,x2,y2,z2,radius,flags,entity,p9)return _natives.invoke_int(0xE6AC6C45FBE83004,x1,y1,z1,x2,y2,z2,radius,flags,entity,p9);end,\n"\ +"START_SHAPE_TEST_MOUSE_CURSOR_LOS_PROBE=function(pVec1,pVec2,flag,entity,flag2)return _natives.invoke_int(0xFF6BE494C7987F34,pVec1,pVec2,flag,entity,flag2);end,\n"\ +"GET_SHAPE_TEST_RESULT=function(shapeTestHandle,hit,endCoords,surfaceNormal,entityHit)return _natives.invoke_int(0x3D87450E15D98694,shapeTestHandle,hit,endCoords,surfaceNormal,entityHit);end,\n"\ +"GET_SHAPE_TEST_RESULT_INCLUDING_MATERIAL=function(shapeTestHandle,hit,endCoords,surfaceNormal,materialHash,entityHit)return _natives.invoke_int(0x65287525D951F6BE,shapeTestHandle,hit,endCoords,surfaceNormal,materialHash,entityHit);end,\n"\ +"RELEASE_SCRIPT_GUID_FROM_ENTITY=function(entityHit)return _natives.invoke_void(0x2B3334BCA57CD799,entityHit);end,\n"\ +"};\n"\ +"SOCIALCLUB = {\n"\ +"SC_INBOX_GET_TOTAL_NUM_MESSAGES=function()return _natives.invoke_int(0x03A93FF1A2CA0864);end,\n"\ +"SC_INBOX_GET_MESSAGE_TYPE_AT_INDEX=function(msgIndex)return _natives.invoke_int(0xBB8EA16ECBC976C4,msgIndex);end,\n"\ +"SC_INBOX_GET_MESSAGE_IS_READ_AT_INDEX=function(msgIndex)return _natives.invoke_bool(0x93028F1DB42BFD08,msgIndex);end,\n"\ +"SC_INBOX_SET_MESSAGE_AS_READ_AT_INDEX=function(msgIndex)return _natives.invoke_bool(0x2C015348CF19CA1D,msgIndex);end,\n"\ +"SC_INBOX_MESSAGE_GET_DATA_INT=function(p0,context,out)return _natives.invoke_bool(0xA00EFE4082C4056E,p0,context,out);end,\n"\ +"SC_INBOX_MESSAGE_GET_DATA_BOOL=function(p0,p1)return _natives.invoke_bool(0xFFE5C16F402D851D,p0,p1);end,\n"\ +"SC_INBOX_MESSAGE_GET_DATA_STRING=function(p0,context,out)return _natives.invoke_bool(0x7572EF42FC6A9B6D,p0,context,out);end,\n"\ +"SC_INBOX_MESSAGE_DO_APPLY=function(p0)return _natives.invoke_bool(0x9A2C8064B6C1E41A,p0);end,\n"\ +"SC_INBOX_MESSAGE_GET_RAW_TYPE_AT_INDEX=function(p0)return _natives.invoke_str(0xF3E31D16CBDCB304,p0);end,\n"\ +"SC_INBOX_MESSAGE_PUSH_GAMER_T0_RECIP_LIST=function(gamerHandle)return _natives.invoke_void(0xDA024BDBD600F44A,gamerHandle);end,\n"\ +"SC_INBOX_SEND_UGCSTATUPDATE_TO_RECIP_LIST=function(data)return _natives.invoke_void(0xA68D3D229F4F3B06,data);end,\n"\ +"SC_INBOX_MESSAGE_GET_UGCDATA=function(p0,p1)return _natives.invoke_bool(0x69D82604A1A5A254,p0,p1);end,\n"\ +"SC_INBOX_SEND_BOUNTY_TO_RECIP_LIST=function(data)return _natives.invoke_bool(0x6AFD2CD753FEEF83,data);end,\n"\ +"SC_INBOX_GET_BOUNTY_DATA_AT_INDEX=function(index,outData)return _natives.invoke_bool(0x87E0052F08BD64E6,index,outData);end,\n"\ +"SC_EMAIL_RETRIEVE_EMAILS=function(offset,limit)return _natives.invoke_void(0x040ADDCBAFA1018A,offset,limit);end,\n"\ +"SC_EMAIL_GET_RETRIEVAL_STATUS=function()return _natives.invoke_int(0x16DA8172459434AA);end,\n"\ +"SC_EMAIL_GET_NUM_RETRIEVED_EMAILS=function()return _natives.invoke_int(0x7DB18CA8CAD5B098);end,\n"\ +"SC_EMAIL_GET_EMAIL_AT_INDEX=function(p0,p1)return _natives.invoke_bool(0x4737980E8A283806,p0,p1);end,\n"\ +"SC_EMAIL_DELETE_EMAILS=function(p0,p1)return _natives.invoke_void(0x44ACA259D67651DB,p0,p1);end,\n"\ +"SC_EMAIL_MESSAGE_PUSH_GAMER_TO_RECIP_LIST=function(gamerHandle)return _natives.invoke_void(0x2330C12A7A605D16,gamerHandle);end,\n"\ +"SC_EMAIL_MESSAGE_CLEAR_RECIP_LIST=function()return _natives.invoke_void(0x55DF6DB45179236E);end,\n"\ +"SC_EMAIL_SEND_EMAIL=function(p0)return _natives.invoke_void(0x116FB94DC4B79F17,p0);end,\n"\ +"SC_EMAIL_SET_CURRENT_EMAIL_TAG=function(p0)return _natives.invoke_bool(0x07DBD622D9533857,p0);end,\n"\ +"SC_CACHE_NEW_ROCKSTAR_MSGS=function(toggle)return _natives.invoke_void(0xBFA0A56A817C6C7D,toggle);end,\n"\ +"SC_HAS_NEW_ROCKSTAR_MSG=function()return _natives.invoke_bool(0xBC1CC91205EC8D6E);end,\n"\ +"SC_GET_NEW_ROCKSTAR_MSG=function()return _natives.invoke_str(0xDF649C4E9AFDD788);end,\n"\ +"SC_PRESENCE_ATTR_SET_INT=function(attrHash,value)return _natives.invoke_bool(0x1F1E9682483697C7,attrHash,value);end,\n"\ +"SC_PRESENCE_ATTR_SET_FLOAT=function(attrHash,value)return _natives.invoke_bool(0xC4C4575F62534A24,attrHash,value);end,\n"\ +"SC_PRESENCE_ATTR_SET_STRING=function(attrHash,value)return _natives.invoke_bool(0x287F1F75D2803595,attrHash,value);end,\n"\ +"SC_PRESENCE_SET_ACTIVITY_RATING=function(p0,p1)return _natives.invoke_bool(0x487912FD248EFDDF,p0,p1);end,\n"\ +"SC_GAMERDATA_GET_INT=function(name,value)return _natives.invoke_bool(0xC85A7127E7AD02AA,name,value);end,\n"\ +"SC_GAMERDATA_GET_FLOAT=function(name,value)return _natives.invoke_bool(0xA770C8EEC6FB2AC5,name,value);end,\n"\ +"SC_GAMERDATA_GET_BOOL=function(name)return _natives.invoke_bool(0x8416FE4E4629D7D7,name);end,\n"\ +"SC_GAMERDATA_GET_STRING=function(name,value)return _natives.invoke_bool(0x7FFCBFEE44ECFABF,name,value);end,\n"\ +"SC_GAMERDATA_GET_ACTIVE_XP_BONUS=function(value)return _natives.invoke_bool(0x2D874D4AE612A65F,value);end,\n"\ +"SC_PROFANITY_CHECK_STRING=function(string,token)return _natives.invoke_bool(0x75632C5ECD7ED843,string,token);end,\n"\ +"SC_PROFANITY_CHECK_STRING_UGC=function(string,token)return _natives.invoke_bool(0xEB2BF817463DFA28,string,token);end,\n"\ +"SC_PROFANITY_GET_CHECK_IS_VALID=function(token)return _natives.invoke_bool(0x1753344C770358AE,token);end,\n"\ +"SC_PROFANITY_GET_CHECK_IS_PENDING=function(token)return _natives.invoke_bool(0x82E4A58BABC15AE7,token);end,\n"\ +"SC_PROFANITY_GET_STRING_PASSED=function(token)return _natives.invoke_bool(0x85535ACF97FC0969,token);end,\n"\ +"SC_PROFANITY_GET_STRING_STATUS=function(token)return _natives.invoke_int(0x930DE22F07B1CCE3,token);end,\n"\ +"SC_LICENSEPLATE_CHECK_STRING=function(p0,p1)return _natives.invoke_bool(0xF6BAAAF762E1BF40,p0,p1);end,\n"\ +"SC_LICENSEPLATE_GET_CHECK_IS_VALID=function(p0)return _natives.invoke_bool(0xF22CA0FD74B80E7A,p0);end,\n"\ +"SC_LICENSEPLATE_GET_CHECK_IS_PENDING=function(p0)return _natives.invoke_bool(0x9237E334F6E43156,p0);end,\n"\ +"SC_LICENSEPLATE_GET_COUNT=function(token)return _natives.invoke_int(0x700569DBA175A77C,token);end,\n"\ +"SC_LICENSEPLATE_GET_PLATE=function(token,plateIndex)return _natives.invoke_str(0x1D4446A62D35B0D0,token,plateIndex);end,\n"\ +"SC_LICENSEPLATE_GET_PLATE_DATA=function(token,plateIndex)return _natives.invoke_str(0x2E89990DDFF670C3,token,plateIndex);end,\n"\ +"SC_LICENSEPLATE_SET_PLATE_DATA=function(oldPlateText,newPlateText,plateData)return _natives.invoke_bool(0xD0EE05FE193646EA,oldPlateText,newPlateText,plateData);end,\n"\ +"SC_LICENSEPLATE_ADD=function(plateText,plateData,token)return _natives.invoke_bool(0x1989C6E6F67E76A8,plateText,plateData,token);end,\n"\ +"SC_LICENSEPLATE_GET_ADD_IS_PENDING=function(token)return _natives.invoke_bool(0x07C61676E5BB52CD,token);end,\n"\ +"SC_LICENSEPLATE_GET_ADD_STATUS=function(token)return _natives.invoke_int(0x8147FFF6A718E1AD,token);end,\n"\ +"SC_LICENSEPLATE_ISVALID=function(plateText,token)return _natives.invoke_bool(0x0F73393BAC7E6730,plateText,token);end,\n"\ +"SC_LICENSEPLATE_GET_ISVALID_IS_PENDING=function(token)return _natives.invoke_bool(0xD302E99EDF0449CF,token);end,\n"\ +"SC_LICENSEPLATE_GET_ISVALID_STATUS=function(token)return _natives.invoke_int(0x5C4EBFFA98BDB41C,token);end,\n"\ +"SC_COMMUNITY_EVENT_IS_ACTIVE=function()return _natives.invoke_bool(0xFF8F3A92B75ED67A);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EVENT_ID=function()return _natives.invoke_int(0x4ED9C8D6DA297639);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT=function(p0,p1)return _natives.invoke_bool(0x710BCDA8071EDED1,p0,p1);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT=function(p0,p1)return _natives.invoke_bool(0x50A8A36201DBF83E,p0,p1);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING=function(p0,p1)return _natives.invoke_bool(0x9DE5D2F723575ED0,p0,p1);end,\n"\ +"SC_COMMUNITY_EVENT_GET_DISPLAY_NAME=function(p0)return _natives.invoke_bool(0xC2C97EA97711D1AE,p0);end,\n"\ +"SC_COMMUNITY_EVENT_IS_ACTIVE_FOR_TYPE=function(p0)return _natives.invoke_bool(0x450819D8CF90C416,p0);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EVENT_ID_FOR_TYPE=function(p0)return _natives.invoke_int(0x4A7D6E727F941747,p0);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT_FOR_TYPE=function(p0,p1,p2)return _natives.invoke_bool(0xE75A4A2E5E316D86,p0,p1,p2);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT_FOR_TYPE=function(p0,p1,p2)return _natives.invoke_bool(0x2570E26BE63964E3,p0,p1,p2);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING_FOR_TYPE=function(p0,p1,p2)return _natives.invoke_bool(0x1D12A56FC95BE92E,p0,p1,p2);end,\n"\ +"SC_COMMUNITY_EVENT_GET_DISPLAY_NAME_FOR_TYPE=function(p0,p1)return _natives.invoke_bool(0x33DF47CC0642061B,p0,p1);end,\n"\ +"SC_COMMUNITY_EVENT_IS_ACTIVE_BY_ID=function(p0)return _natives.invoke_bool(0xA468E0BE12B12C70,p0);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_INT_BY_ID=function(p0,p1,p2)return _natives.invoke_bool(0x8CC469AB4D349B7C,p0,p1,p2);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_FLOAT_BY_ID=function(p0,p1,p2)return _natives.invoke_bool(0xC5A35C73B68F3C49,p0,p1,p2);end,\n"\ +"SC_COMMUNITY_EVENT_GET_EXTRA_DATA_STRING_BY_ID=function(p0,p1,p2)return _natives.invoke_bool(0x699E4A5C8C893A18,p0,p1,p2);end,\n"\ +"SC_COMMUNITY_EVENT_GET_DISPLAY_NAME_BY_ID=function(p0,p1)return _natives.invoke_bool(0x19853B5B17D77BCA,p0,p1);end,\n"\ +"SC_TRANSITION_NEWS_SHOW=function(p0)return _natives.invoke_bool(0x6BFB12CE158E3DD4,p0);end,\n"\ +"SC_TRANSITION_NEWS_SHOW_TIMED=function(p0,p1)return _natives.invoke_bool(0xFE4C1D0D3B9CC17E,p0,p1);end,\n"\ +"SC_TRANSITION_NEWS_SHOW_NEXT_ITEM=function()return _natives.invoke_bool(0xD8122C407663B995);end,\n"\ +"SC_TRANSITION_NEWS_HAS_EXTRA_DATA_TU=function()return _natives.invoke_bool(0x3001BEF2FECA3680);end,\n"\ +"SC_TRANSITION_NEWS_GET_EXTRA_DATA_INT_TU=function(p0,p1)return _natives.invoke_bool(0x92DA6E70EF249BD1,p0,p1);end,\n"\ +"SC_TRANSITION_NEWS_END=function()return _natives.invoke_void(0x675721C9F644D161);end,\n"\ +"SC_PAUSE_NEWS_INIT_STARTER_PACK=function(p0)return _natives.invoke_bool(0xE4F6E8D07A2F0F51,p0);end,\n"\ +"SC_PAUSE_NEWS_GET_PENDING_STORY=function(p0)return _natives.invoke_bool(0x8A4416C0DB05FA66,p0);end,\n"\ +"SC_PAUSE_NEWS_SHUTDOWN=function()return _natives.invoke_void(0xEA95C0853A27888E);end,\n"\ +"SC_ACCOUNT_INFO_GET_NICKNAME=function()return _natives.invoke_str(0x198D161F458ECC7F);end,\n"\ +"SC_ACHIEVEMENT_INFO_STATUS=function(p0)return _natives.invoke_bool(0x225798743970412B,p0);end,\n"\ +"SC_HAS_ACHIEVEMENT_BEEN_PASSED=function(achievementId)return _natives.invoke_bool(0x418DC16FAE452C1C,achievementId);end,\n"\ +"};\n"\ +"STATS = {\n"\ +"STAT_CLEAR_SLOT_FOR_RELOAD=function(statSlot)return _natives.invoke_bool(0xEB0A72181D4AA4AD,statSlot);end,\n"\ +"STAT_LOAD=function(statSlot)return _natives.invoke_bool(0xA651443F437B1CE6,statSlot);end,\n"\ +"STAT_SAVE=function(p0,p1,p2,p3)return _natives.invoke_bool(0xE07BCA305B82D2FD,p0,p1,p2,p3);end,\n"\ +"STAT_SET_OPEN_SAVETYPE_IN_JOB=function(p0)return _natives.invoke_void(0x5688585E6D563CD8,p0);end,\n"\ +"STAT_LOAD_PENDING=function(statSlot)return _natives.invoke_bool(0xA1750FFAFA181661,statSlot);end,\n"\ +"STAT_SAVE_PENDING=function()return _natives.invoke_bool(0x7D3A583856F2C5AC);end,\n"\ +"STAT_SAVE_PENDING_OR_REQUESTED=function()return _natives.invoke_bool(0xBBB6AD006F1BBEA3);end,\n"\ +"STAT_DELETE_SLOT=function(p0)return _natives.invoke_bool(0x49A49BED12794D70,p0);end,\n"\ +"STAT_SLOT_IS_LOADED=function(statSlot)return _natives.invoke_bool(0x0D0A9F0E7BD91E3C,statSlot);end,\n"\ +"STAT_CLOUD_SLOT_LOAD_FAILED=function(p0)return _natives.invoke_bool(0x7F2C4CDF2E82DF4C,p0);end,\n"\ +"STAT_CLOUD_SLOT_LOAD_FAILED_CODE=function(p0)return _natives.invoke_int(0xE496A53BA5F50A56,p0);end,\n"\ +"STAT_SET_BLOCK_SAVES=function(toggle)return _natives.invoke_void(0xF434A10BA01C37D0,toggle);end,\n"\ +"STAT_GET_BLOCK_SAVES=function()return _natives.invoke_bool(0x6A7F19756F1A9016);end,\n"\ +"STAT_CLOUD_SLOT_SAVE_FAILED=function(p0)return _natives.invoke_bool(0x7E6946F68A38B74F,p0);end,\n"\ +"STAT_CLEAR_PENDING_SAVES=function(p0)return _natives.invoke_void(0xA8733668D1047B51,p0);end,\n"\ +"STAT_LOAD_DIRTY_READ_DETECTED=function()return _natives.invoke_bool(0xECB41AC6AB754401);end,\n"\ +"STAT_CLEAR_DIRTY_READ_DETECTED=function()return _natives.invoke_void(0x9B4BD21D69B1E609);end,\n"\ +"STAT_GET_LOAD_SAFE_TO_PROGRESS_TO_MP_FROM_SP=function()return _natives.invoke_bool(0xC0E0D686DDFC6EAE);end,\n"\ +"STAT_SET_INT=function(statName,value,save)return _natives.invoke_bool(0xB3271D7AB655B441,statName,value,save);end,\n"\ +"STAT_SET_FLOAT=function(statName,value,save)return _natives.invoke_bool(0x4851997F37FE9B3C,statName,value,save);end,\n"\ +"STAT_SET_BOOL=function(statName,value,save)return _natives.invoke_bool(0x4B33C4243DE0C432,statName,value,save);end,\n"\ +"STAT_SET_GXT_LABEL=function(statName,value,save)return _natives.invoke_bool(0x17695002FD8B2AE0,statName,value,save);end,\n"\ +"STAT_SET_DATE=function(statName,value,numFields,save)return _natives.invoke_bool(0x2C29BFB64F4FCBE4,statName,value,numFields,save);end,\n"\ +"STAT_SET_STRING=function(statName,value,save)return _natives.invoke_bool(0xA87B2335D12531D7,statName,value,save);end,\n"\ +"STAT_SET_POS=function(statName,x,y,z,save)return _natives.invoke_bool(0xDB283FDE680FE72E,statName,x,y,z,save);end,\n"\ +"STAT_SET_MASKED_INT=function(statName,p1,p2,p3,save)return _natives.invoke_bool(0x7BBB1B54583ED410,statName,p1,p2,p3,save);end,\n"\ +"STAT_SET_USER_ID=function(statName,value,save)return _natives.invoke_bool(0x8CDDF1E452BABE11,statName,value,save);end,\n"\ +"STAT_SET_CURRENT_POSIX_TIME=function(statName,p1)return _natives.invoke_bool(0xC2F84B7F9C4D0C61,statName,p1);end,\n"\ +"STAT_GET_INT=function(statHash,outValue,p2)return _natives.invoke_bool(0x767FBC2AC802EF3D,statHash,outValue,p2);end,\n"\ +"STAT_GET_FLOAT=function(statHash,outValue,p2)return _natives.invoke_bool(0xD7AE6C9C9C6AC54C,statHash,outValue,p2);end,\n"\ +"STAT_GET_BOOL=function(statHash,outValue,p2)return _natives.invoke_bool(0x11B5E6D2AE73F48E,statHash,outValue,p2);end,\n"\ +"STAT_GET_DATE=function(statHash,outValue,numFields,p3)return _natives.invoke_bool(0x8B0FACEFC36C824B,statHash,outValue,numFields,p3);end,\n"\ +"STAT_GET_STRING=function(statHash,p1)return _natives.invoke_str(0xE50384ACC2C3DB74,statHash,p1);end,\n"\ +"STAT_GET_POS=function(statName,outX,outY,outZ,p4)return _natives.invoke_bool(0x350F82CCB186AA1B,statName,outX,outY,outZ,p4);end,\n"\ +"STAT_GET_MASKED_INT=function(statHash,outValue,p2,p3,p4)return _natives.invoke_bool(0x655185A06D9EEAAB,statHash,outValue,p2,p3,p4);end,\n"\ +"STAT_GET_USER_ID=function(statHash)return _natives.invoke_str(0x2365C388E393BBE2,statHash);end,\n"\ +"STAT_GET_LICENSE_PLATE=function(statName)return _natives.invoke_str(0x5473D4195058B2E4,statName);end,\n"\ +"STAT_SET_LICENSE_PLATE=function(statName,str)return _natives.invoke_bool(0x69FF13266D7296DA,statName,str);end,\n"\ +"STAT_INCREMENT=function(statName,value)return _natives.invoke_void(0x9B5A68C6489E9909,statName,value);end,\n"\ +"STAT_COMMUNITY_START_SYNCH=function()return _natives.invoke_bool(0x5A556B229A169402);end,\n"\ +"STAT_COMMUNITY_SYNCH_IS_PENDING=function()return _natives.invoke_bool(0xB1D2BB1E1631F5B1);end,\n"\ +"STAT_COMMUNITY_GET_HISTORY=function(statName,p1,outValue)return _natives.invoke_bool(0xBED9F5693F34ED17,statName,p1,outValue);end,\n"\ +"STAT_RESET_ALL_ONLINE_CHARACTER_STATS=function(p0)return _natives.invoke_void(0x26D7399B9587FE89,p0);end,\n"\ +"STAT_LOCAL_RESET_ALL_ONLINE_CHARACTER_STATS=function(p0)return _natives.invoke_void(0xA78B8FA58200DA56,p0);end,\n"\ +"STAT_GET_NUMBER_OF_DAYS=function(statName)return _natives.invoke_int(0xE0E854F5280FB769,statName);end,\n"\ +"STAT_GET_NUMBER_OF_HOURS=function(statName)return _natives.invoke_int(0xF2D4B2FE415AAFC3,statName);end,\n"\ +"STAT_GET_NUMBER_OF_MINUTES=function(statName)return _natives.invoke_int(0x7583B4BE4C5A41B5,statName);end,\n"\ +"STAT_GET_NUMBER_OF_SECONDS=function(statName)return _natives.invoke_int(0x2CE056FF3723F00B,statName);end,\n"\ +"STAT_SET_PROFILE_SETTING_VALUE=function(profileSetting,value)return _natives.invoke_void(0x68F01422BE1D838F,profileSetting,value);end,\n"\ +"STATS_COMPLETED_CHARACTER_CREATION=function(p0)return _natives.invoke_void(0xC01D2470F22CDE5A,p0);end,\n"\ +"PACKED_STAT_GET_INT_STAT_INDEX=function(p0)return _natives.invoke_int(0x94F12ABF9C79E339,p0);end,\n"\ +"GET_PACKED_INT_STAT_KEY=function(index,spStat,charStat,character)return _natives.invoke_int(0x61E111E323419E07,index,spStat,charStat,character);end,\n"\ +"GET_PACKED_TU_INT_STAT_KEY=function(index,spStat,charStat,character)return _natives.invoke_int(0xD16C2AD6B8E32854,index,spStat,charStat,character);end,\n"\ +"GET_PACKED_NG_INT_STAT_KEY=function(index,spStat,charStat,character,section)return _natives.invoke_int(0x2B4CDCA6F07FF3DA,index,spStat,charStat,character,section);end,\n"\ +"GET_PACKED_STAT_BOOL_CODE=function(index,characterSlot)return _natives.invoke_bool(0xDA7EBFC49AE3F1B0,index,characterSlot);end,\n"\ +"GET_PACKED_STAT_INT_CODE=function(index,characterSlot)return _natives.invoke_int(0x0BC900A6FE73770C,index,characterSlot);end,\n"\ +"SET_PACKED_STAT_BOOL_CODE=function(index,value,characterSlot)return _natives.invoke_void(0xDB8A58AEAA67CD07,index,value,characterSlot);end,\n"\ +"SET_PACKED_STAT_INT_CODE=function(index,value,characterSlot)return _natives.invoke_void(0x1581503AE529CD2E,index,value,characterSlot);end,\n"\ +"PLAYSTATS_BACKGROUND_SCRIPT_ACTION=function(action,value)return _natives.invoke_void(0x5009DFD741329729,action,value);end,\n"\ +"PLAYSTATS_NPC_INVITE=function(p0)return _natives.invoke_void(0x93054C88E6AA7C44,p0);end,\n"\ +"PLAYSTATS_AWARD_XP=function(amount,type,category)return _natives.invoke_void(0x46F917F6B4128FE4,amount,type,category);end,\n"\ +"PLAYSTATS_RANK_UP=function(rank)return _natives.invoke_void(0xC7F2DE41D102BFB4,rank);end,\n"\ +"PLAYSTATS_STARTED_SESSION_IN_OFFLINEMODE=function()return _natives.invoke_void(0x098760C7461724CD);end,\n"\ +"PLAYSTATS_ACTIVITY_DONE=function(p0,activityId)return _natives.invoke_void(0xA071E0ED98F91286,p0,activityId);end,\n"\ +"PLAYSTATS_LEAVE_JOB_CHAIN=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xC5BE134EC7BA96A0,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_MISSION_STARTED=function(p0,p1,p2,p3)return _natives.invoke_void(0xC19A2925C34D2231,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_MISSION_OVER=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_void(0x7C4BB33A8CED7324,p0,p1,p2,p3,p4,p5);end,\n"\ +"PLAYSTATS_MISSION_CHECKPOINT=function(p0,p1,p2,p3)return _natives.invoke_void(0xC900596A63978C1D,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_RANDOM_MISSION_DONE=function(name,p1,p2,p3)return _natives.invoke_void(0x71862B1D855F32E1,name,p1,p2,p3);end,\n"\ +"PLAYSTATS_ROS_BET=function(amount,act,player,cm)return _natives.invoke_void(0x121FB4DDDC2D5291,amount,act,player,cm);end,\n"\ +"PLAYSTATS_RACE_CHECKPOINT=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x9C375C315099DDE4,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_CREATE_MATCH_HISTORY_ID_2=function(playerAccountId,posixTime)return _natives.invoke_bool(0x6DEE77AFF8C21BD1,playerAccountId,posixTime);end,\n"\ +"PLAYSTATS_MATCH_STARTED=function(p0,p1,p2)return _natives.invoke_void(0xBC80E22DED931E3D,p0,p1,p2);end,\n"\ +"PLAYSTATS_SHOP_ITEM=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x176852ACAAC173D1,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_CRATE_DROP_MISSION_DONE=function(p0,p1,p2,p3,p4,p5,p6,p7)return _natives.invoke_void(0x1CAE5D2E3F9A07F0,p0,p1,p2,p3,p4,p5,p6,p7);end,\n"\ +"PLAYSTATS_CRATE_CREATED=function(p0,p1,p2)return _natives.invoke_void(0xAFC7E5E075A96F46,p0,p1,p2);end,\n"\ +"PLAYSTATS_HOLD_UP_MISSION_DONE=function(p0,p1,p2,p3)return _natives.invoke_void(0xCB00196B31C39EB1,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_IMPORT_EXPORT_MISSION_DONE=function(p0,p1,p2,p3)return _natives.invoke_void(0x2B69F5074C894811,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_RACE_TO_POINT_MISSION_DONE=function(p0,p1,p2,p3)return _natives.invoke_void(0xADDD1C754E2E2914,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_ACQUIRED_HIDDEN_PACKAGE=function(p0)return _natives.invoke_void(0x79AB33F0FBFAC40C,p0);end,\n"\ +"PLAYSTATS_WEBSITE_VISITED=function(scaleformHash,p1)return _natives.invoke_void(0xDDF24D535060F811,scaleformHash,p1);end,\n"\ +"PLAYSTATS_FRIEND_ACTIVITY=function(p0,p1)return _natives.invoke_void(0x0F71DE29AB2258F1,p0,p1);end,\n"\ +"PLAYSTATS_ODDJOB_DONE=function(totalTimeMs,p1,p2)return _natives.invoke_void(0x69DEA3E9DB727B4C,totalTimeMs,p1,p2);end,\n"\ +"PLAYSTATS_PROP_CHANGE=function(p0,p1,p2,p3)return _natives.invoke_void(0xBA739D6D5A05D6E7,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_CLOTH_CHANGE=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x34B973047A2268B9,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_WEAPON_MODE_CHANGE=function(weaponHash,componentHashTo,componentHashFrom)return _natives.invoke_void(0xE95C8A1875A02CA4,weaponHash,componentHashTo,componentHashFrom);end,\n"\ +"PLAYSTATS_CHEAT_APPLIED=function(cheat)return _natives.invoke_void(0x6058665D72302D3F,cheat);end,\n"\ +"PLAYSTATS_JOB_ACTIVITY_END=function(p0,p1,p2,p3)return _natives.invoke_void(0xF8C54A461C3E11DC,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_JOB_BEND=function(p0,p1,p2,p3)return _natives.invoke_void(0xF5BB8DAC426A52C0,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_JOB_LTS_END=function(p0,p1,p2,p3)return _natives.invoke_void(0xA736CF7FB7C5BFF4,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_JOB_LTS_ROUND_END=function(p0,p1,p2,p3)return _natives.invoke_void(0x14E0B2D1AD1044E0,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_QUICKFIX_TOOL=function(element,item)return _natives.invoke_void(0x90D0622866E80445,element,item);end,\n"\ +"PLAYSTATS_IDLE_KICK=function(msStoodIdle)return _natives.invoke_void(0x5DA3A8DE8CB6226F,msStoodIdle);end,\n"\ +"PLAYSTATS_SET_JOIN_TYPE=function(joinType)return _natives.invoke_void(0xD1032E482629049E,joinType);end,\n"\ +"PLAYSTATS_HEIST_SAVE_CHEAT=function(hash,p1)return _natives.invoke_void(0xF4FF020A08BC8863,hash,p1);end,\n"\ +"PLAYSTATS_APPEND_DIRECTOR_METRIC=function(p0)return _natives.invoke_void(0x46326E13DA4E0546,p0);end,\n"\ +"PLAYSTATS_AWARD_BAD_SPORT=function(id)return _natives.invoke_void(0x47B32F5611E6E483,id);end,\n"\ +"PLAYSTATS_PEGASUS_AS_PERSONAL_AIRCRAFT=function(modelHash)return _natives.invoke_void(0x9572BD4DD6B72122,modelHash);end,\n"\ +"_PLAYSTATS_SHOPMENU_NAV=function(p0,p1,p2)return _natives.invoke_void(0xF96E9EA876D9DC92,p0,p1,p2);end,\n"\ +"PLAYSTATS_FM_EVENT_CHALLENGES=function(p0)return _natives.invoke_void(0x6A60E43998228229,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_VEHICLETARGET=function(p0)return _natives.invoke_void(0xBFAFDB5FAAA5C5AB,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_URBANWARFARE=function(p0)return _natives.invoke_void(0x8C9D11605E59D955,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_CHECKPOINTCOLLECTION=function(p0)return _natives.invoke_void(0x3DE3AA516FB126A4,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_ATOB=function(p0)return _natives.invoke_void(0xBAA2F0490E146BE8,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_PENNEDIN=function(p0)return _natives.invoke_void(0x1A7CE7CD3E653485,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_PASSTHEPARCEL=function(p0)return _natives.invoke_void(0x419615486BBF1956,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_HOTPROPERTY=function(p0)return _natives.invoke_void(0x84DFC579C2FC214C,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_DEADDROP=function(p0)return _natives.invoke_void(0x0A9C7F36E5D7B683,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_KINGOFTHECASTLE=function(p0)return _natives.invoke_void(0x164C5FF663790845,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_CRIMINALDAMAGE=function(p0)return _natives.invoke_void(0xEDBF6C9B0D2C65C8,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_COMPETITIVEURBANWARFARE=function(p0)return _natives.invoke_void(0x6551B1F7F6CD46EA,p0);end,\n"\ +"PLAYSTATS_FM_EVENT_HUNTBEAST=function(p0)return _natives.invoke_void(0x2CD90358F67D0AA8,p0);end,\n"\ +"PLAYSTATS_PIMENU_HIDE_OPTIONS=function(data)return _natives.invoke_void(0x203B381133817079,data);end,\n"\ +"LEADERBOARDS_GET_NUMBER_OF_COLUMNS=function(p0,p1)return _natives.invoke_int(0x117B45156D7EFF2E,p0,p1);end,\n"\ +"LEADERBOARDS_GET_COLUMN_ID=function(p0,p1,p2)return _natives.invoke_int(0xC4B5467A1886EA7E,p0,p1,p2);end,\n"\ +"LEADERBOARDS_GET_COLUMN_TYPE=function(p0,p1,p2)return _natives.invoke_int(0xBF4FEF46DB7894D3,p0,p1,p2);end,\n"\ +"LEADERBOARDS_READ_CLEAR_ALL=function()return _natives.invoke_int(0xA34CB6E6F0DF4A0B);end,\n"\ +"LEADERBOARDS_READ_CLEAR=function(p0,p1,p2)return _natives.invoke_int(0x7CCE5C737A665701,p0,p1,p2);end,\n"\ +"LEADERBOARDS_READ_PENDING=function(p0,p1,p2)return _natives.invoke_bool(0xAC392C8483342AC2,p0,p1,p2);end,\n"\ +"LEADERBOARDS_READ_ANY_PENDING=function()return _natives.invoke_bool(0xA31FD15197B192BD);end,\n"\ +"LEADERBOARDS_READ_SUCCESSFUL=function(p0,p1,p2)return _natives.invoke_bool(0x2FB19228983E832C,p0,p1,p2);end,\n"\ +"LEADERBOARDS2_READ_FRIENDS_BY_ROW=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_bool(0x918B101666F9CB83,p0,p1,p2,p3,p4,p5);end,\n"\ +"LEADERBOARDS2_READ_BY_HANDLE=function(p0,p1)return _natives.invoke_bool(0xC30713A383BFBF0E,p0,p1);end,\n"\ +"LEADERBOARDS2_READ_BY_ROW=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_bool(0xA9CDB1E3F0A49883,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"LEADERBOARDS2_READ_BY_RANK=function(p0,p1,p2)return _natives.invoke_bool(0xBA2C7DB0C129449A,p0,p1,p2);end,\n"\ +"LEADERBOARDS2_READ_BY_RADIUS=function(p0,p1,p2)return _natives.invoke_bool(0x5CE587FB5A42C8C4,p0,p1,p2);end,\n"\ +"LEADERBOARDS2_READ_BY_SCORE_INT=function(p0,p1,p2)return _natives.invoke_bool(0x7EEC7E4F6984A16A,p0,p1,p2);end,\n"\ +"LEADERBOARDS2_READ_BY_SCORE_FLOAT=function(p0,p1,p2)return _natives.invoke_bool(0xE662C8B759D08F3C,p0,p1,p2);end,\n"\ +"LEADERBOARDS2_READ_RANK_PREDICTION=function(p0,p1,p2)return _natives.invoke_bool(0xC38DC1E90D22547C,p0,p1,p2);end,\n"\ +"LEADERBOARDS2_READ_BY_PLAFORM=function(p0,gamerHandleCsv,platformName)return _natives.invoke_bool(0xF1AE5DCDBFCA2721,p0,gamerHandleCsv,platformName);end,\n"\ +"LEADERBOARDS2_READ_GET_ROW_DATA_START=function(p0)return _natives.invoke_bool(0xA0F93D5465B3094D,p0);end,\n"\ +"LEADERBOARDS2_READ_GET_ROW_DATA_END=function()return _natives.invoke_void(0x71B008056E5692D6);end,\n"\ +"LEADERBOARDS2_READ_GET_ROW_DATA_INFO=function(p0,p1)return _natives.invoke_bool(0x34770B9CE0E03B91,p0,p1);end,\n"\ +"LEADERBOARDS2_READ_GET_ROW_DATA_INT=function(p0,p1)return _natives.invoke_int(0x88578F6EC36B4A3A,p0,p1);end,\n"\ +"LEADERBOARDS2_READ_GET_ROW_DATA_FLOAT=function(p0,p1)return _natives.invoke_float(0x38491439B6BA7F7D,p0,p1);end,\n"\ +"LEADERBOARDS2_WRITE_DATA=function(p0)return _natives.invoke_bool(0xAE2206545888AE49,p0);end,\n"\ +"LEADERBOARDS_WRITE_ADD_COLUMN=function(p0,p1,p2)return _natives.invoke_void(0x0BCA1D2C47B0D269,p0,p1,p2);end,\n"\ +"LEADERBOARDS_WRITE_ADD_COLUMN_LONG=function(p0,p1,p2)return _natives.invoke_void(0x2E65248609523599,p0,p1,p2);end,\n"\ +"LEADERBOARDS_CACHE_DATA_ROW=function(p0)return _natives.invoke_bool(0xB9BB18E2C40142ED,p0);end,\n"\ +"LEADERBOARDS_CLEAR_CACHE_DATA=function()return _natives.invoke_void(0xD4B02A6B476E1FDC);end,\n"\ +"LEADERBOARDS_CLEAR_CACHE_DATA_ID=function(p0)return _natives.invoke_void(0x8EC74CEB042E7CFF,p0);end,\n"\ +"LEADERBOARDS_GET_CACHE_EXISTS=function(p0)return _natives.invoke_bool(0x9C51349BE6CDFE2C,p0);end,\n"\ +"LEADERBOARDS_GET_CACHE_TIME=function(p0)return _natives.invoke_int(0xF04C1C27DA35F6C8,p0);end,\n"\ +"LEADERBOARDS_GET_CACHE_NUMBER_OF_ROWS=function(p0)return _natives.invoke_int(0x58A651CD201D89AD,p0);end,\n"\ +"LEADERBOARDS_GET_CACHE_DATA_ROW=function(p0,p1,p2)return _natives.invoke_bool(0x9120E8DBA3D69273,p0,p1,p2);end,\n"\ +"PRESENCE_EVENT_UPDATESTAT_INT=function(statHash,value,p2)return _natives.invoke_void(0x11FF1C80276097ED,statHash,value,p2);end,\n"\ +"PRESENCE_EVENT_UPDATESTAT_FLOAT=function(statHash,value,p2)return _natives.invoke_void(0x30A6614C1F7799B8,statHash,value,p2);end,\n"\ +"PRESENCE_EVENT_UPDATESTAT_INT_WITH_STRING=function(statHash,value,p2,string)return _natives.invoke_void(0x6483C25849031C4F,statHash,value,p2,string);end,\n"\ +"GET_PLAYER_HAS_DRIVEN_ALL_VEHICLES=function()return _natives.invoke_bool(0x5EAD2BF6484852E4);end,\n"\ +"SET_HAS_POSTED_ALL_VEHICLES_DRIVEN=function()return _natives.invoke_void(0xC141B8917E0017EC);end,\n"\ +"SET_PROFILE_SETTING_PROLOGUE_COMPLETE=function()return _natives.invoke_void(0xB475F27C6A994D65);end,\n"\ +"SET_PROFILE_SETTING_SP_CHOP_MISSION_COMPLETE=function()return _natives.invoke_void(0xC67E2DA1CBE759E2);end,\n"\ +"SET_PROFILE_SETTING_CREATOR_RACES_DONE=function(value)return _natives.invoke_void(0xF1A1803D3476F215,value);end,\n"\ +"SET_PROFILE_SETTING_CREATOR_DM_DONE=function(value)return _natives.invoke_void(0x38BAAA5DD4C9D19F,value);end,\n"\ +"SET_PROFILE_SETTING_CREATOR_CTF_DONE=function(value)return _natives.invoke_void(0x55384438FC55AD8E,value);end,\n"\ +"SET_JOB_ACTIVITY_ID_STARTED=function(p0,characterSlot)return _natives.invoke_void(0x723C1CE13FBFDB67,p0,characterSlot);end,\n"\ +"SET_FREEMODE_PROLOGUE_DONE=function(p0,characterSlot)return _natives.invoke_void(0x0D01D20616FC73FB,p0,characterSlot);end,\n"\ +"SET_FREEMODE_STRAND_PROGRESSION_STATUS=function(profileSetting,settingValue)return _natives.invoke_void(0x79D310A861697CC9,profileSetting,settingValue);end,\n"\ +"STAT_NETWORK_INCREMENT_ON_SUICIDE=function(p0,p1)return _natives.invoke_void(0x428EAF89E24F6C36,p0,p1);end,\n"\ +"STAT_SET_CHEAT_IS_ACTIVE=function()return _natives.invoke_void(0x047CBED6F6F8B63C);end,\n"\ +"LEADERBOARDS2_WRITE_DATA_FOR_EVENT_TYPE=function(p0,p1)return _natives.invoke_bool(0xC980E62E33DF1D5C,p0,p1);end,\n"\ +"FORCE_CLOUD_MP_STATS_DOWNLOAD_AND_OVERWRITE_LOCAL_SAVE=function()return _natives.invoke_void(0x6F361B8889A792A3);end,\n"\ +"STAT_MIGRATE_CLEAR_FOR_RESTART=function()return _natives.invoke_void(0xC847B43F369AC0B5);end,\n"\ +"STAT_MIGRATE_SAVEGAME_START=function(platformName)return _natives.invoke_bool(0xA5C80D8E768A9E66,platformName);end,\n"\ +"STAT_MIGRATE_SAVEGAME_GET_STATUS=function()return _natives.invoke_int(0x9A62EC95AE10E011);end,\n"\ +"STAT_MIGRATE_CHECK_ALREADY_DONE=function()return _natives.invoke_bool(0x4C89FE2BDEB3F169);end,\n"\ +"STAT_MIGRATE_CHECK_START=function()return _natives.invoke_bool(0xC6E0E2616A7576BB);end,\n"\ +"STAT_MIGRATE_CHECK_GET_IS_PLATFORM_AVAILABLE=function(p0)return _natives.invoke_int(0x5BD5F255321C4AAF,p0);end,\n"\ +"STAT_MIGRATE_CHECK_GET_PLATFORM_STATUS=function(p0,p1)return _natives.invoke_int(0xDEAAF77EB3687E97,p0,p1);end,\n"\ +"STAT_GET_SAVE_MIGRATION_STATUS=function(data)return _natives.invoke_int(0x886913BBEACA68C1,data);end,\n"\ +"STAT_SAVE_MIGRATION_CANCEL_PENDING_OPERATION=function()return _natives.invoke_bool(0x4FEF53183C3C6414);end,\n"\ +"STAT_GET_CANCEL_SAVE_MIGRATION_STATUS=function()return _natives.invoke_int(0x567384DFA67029E6);end,\n"\ +"STAT_SAVE_MIGRATION_CONSUME_CONTENT=function(contentId,srcPlatform,srcGamerHandle)return _natives.invoke_bool(0x3270F67EED31FBC1,contentId,srcPlatform,srcGamerHandle);end,\n"\ +"STAT_GET_SAVE_MIGRATION_CONSUME_CONTENT_STATUS=function(p0)return _natives.invoke_int(0xCE5AA445ABA8DEE0,p0);end,\n"\ +"STAT_ENABLE_STATS_TRACKING=function()return _natives.invoke_void(0x98E2BC1CA26287C3);end,\n"\ +"STAT_DISABLE_STATS_TRACKING=function()return _natives.invoke_void(0x629526ABA383BCAA);end,\n"\ +"STAT_IS_STATS_TRACKING_ENABLED=function()return _natives.invoke_bool(0xBE3DB208333D9844);end,\n"\ +"STAT_START_RECORD_STAT=function(statType,valueType)return _natives.invoke_bool(0x33D72899E24C3365,statType,valueType);end,\n"\ +"STAT_STOP_RECORD_STAT=function()return _natives.invoke_bool(0xA761D4AC6115623D);end,\n"\ +"STAT_GET_RECORDED_VALUE=function(value)return _natives.invoke_bool(0xF11F01D98113536A,value);end,\n"\ +"STAT_IS_RECORDING_STAT=function()return _natives.invoke_bool(0x8B9CDBD6C566C38C);end,\n"\ +"STAT_GET_CURRENT_NEAR_MISS_NOCRASH_PRECISE=function()return _natives.invoke_int(0xE8853FBCE7D8D0D6);end,\n"\ +"STAT_GET_CURRENT_REAR_WHEEL_DISTANCE=function()return _natives.invoke_float(0xA943FD1722E11EFD);end,\n"\ +"STAT_GET_CURRENT_FRONT_WHEEL_DISTANCE=function()return _natives.invoke_float(0x84A810B375E69C0E);end,\n"\ +"STAT_GET_CURRENT_JUMP_DISTANCE=function()return _natives.invoke_float(0x9EC8858184CD253A);end,\n"\ +"STAT_GET_CURRENT_DRIVE_NOCRASH_DISTANCE=function()return _natives.invoke_float(0xBA9749CC94C1FD85);end,\n"\ +"STAT_GET_CURRENT_SPEED=function()return _natives.invoke_float(0x55A8BECAF28A4EB7);end,\n"\ +"STAT_GET_CURRENT_DRIVING_REVERSE_DISTANCE=function()return _natives.invoke_float(0x32CAC93C9DE73D32);end,\n"\ +"STAT_GET_CURRENT_SKYDIVING_DISTANCE=function()return _natives.invoke_float(0xAFF47709F1D5DCCE);end,\n"\ +"STAT_GET_CHALLENGE_FLYING_DIST=function()return _natives.invoke_float(0x6E0A5253375C4584);end,\n"\ +"STAT_GET_FLYING_ALTITUDE=function(outValue)return _natives.invoke_bool(0x1A8EA222F9C67DBB,outValue);end,\n"\ +"STAT_IS_PLAYER_VEHICLE_ABOVE_OCEAN=function()return _natives.invoke_bool(0xF9F2922717B819EC);end,\n"\ +"STAT_GET_VEHICLE_BAIL_DISTANCE=function()return _natives.invoke_float(0x0B8B7F74BF061C6D);end,\n"\ +"STAT_ROLLBACK_SAVE_MIGRATION=function()return _natives.invoke_bool(0xB3DA2606774A8E2D);end,\n"\ +"SET_HAS_SPECIALEDITION_CONTENT=function(value)return _natives.invoke_void(0xDAC073C7901F9E15,value);end,\n"\ +"SET_SAVE_MIGRATION_TRANSACTION_ID_WARNING=function(transactionId)return _natives.invoke_void(0xF6792800AC95350D,transactionId);end,\n"\ +"GET_BOSS_GOON_UUID=function(characterSlot,p1,p2)return _natives.invoke_void(0x6BC0ACD0673ACEBE,characterSlot,p1,p2);end,\n"\ +"PLAYSTATS_BW_BOSSONBOSSDEATHMATCH=function(p0)return _natives.invoke_void(0x8D8ADB562F09A245,p0);end,\n"\ +"PLAYSTATS_BW_YATCHATTACK=function(p0)return _natives.invoke_void(0xD1A1EE3B4FA8E760,p0);end,\n"\ +"PLAYSTATS_BW_HUNT_THE_BOSS=function(p0)return _natives.invoke_void(0x88087EE1F28024AE,p0);end,\n"\ +"PLAYSTATS_BW_SIGHTSEER=function(p0)return _natives.invoke_void(0xFCC228E07217FCAC,p0);end,\n"\ +"PLAYSTATS_BW_ASSAULT=function(p0)return _natives.invoke_void(0x678F86D8FC040BDB,p0);end,\n"\ +"PLAYSTATS_BW_BELLY_OF_THE_BEAST=function(p0)return _natives.invoke_void(0xA6F54BB2FFCA35EA,p0);end,\n"\ +"PLAYSTATS_BW_HEAD_HUNTER=function(p0)return _natives.invoke_void(0x5FF2C33B13A02A11,p0);end,\n"\ +"PLAYSTATS_BW_FRAGILE_GOODS=function(p0)return _natives.invoke_void(0x282B6739644F4347,p0);end,\n"\ +"PLAYSTATS_BW_AIR_FREIGHT=function(p0)return _natives.invoke_void(0xF06A6F41CB445443,p0);end,\n"\ +"PLAYSTATS_BC_CAR_JACKING=function(p0)return _natives.invoke_void(0x7B18DA61F6BAE9D5,p0);end,\n"\ +"PLAYSTATS_BC_SMASH_AND_GRAB=function(p0)return _natives.invoke_void(0x06EAF70AE066441E,p0);end,\n"\ +"PLAYSTATS_BC_PROTECTION_RACKET=function(p0)return _natives.invoke_void(0x14EDA9EE27BD1626,p0);end,\n"\ +"PLAYSTATS_BC_MOST_WANTED=function(p0)return _natives.invoke_void(0x930F504203F561C9,p0);end,\n"\ +"PLAYSTATS_BC_FINDERS_KEEPERS=function(p0)return _natives.invoke_void(0xE3261D791EB44ACB,p0);end,\n"\ +"PLAYSTATS_BC_POINT_TO_POINT=function(p0)return _natives.invoke_void(0x73001E34F85137F8,p0);end,\n"\ +"PLAYSTATS_BC_CASHING=function(p0)return _natives.invoke_void(0x53CAE13E9B426993,p0);end,\n"\ +"PLAYSTATS_BC_SALVAGE=function(p0)return _natives.invoke_void(0x7D36291161859389,p0);end,\n"\ +"PLAYSTATS_SPENT_PI_CUSTOM_LOADOUT=function(amount)return _natives.invoke_void(0xBE509B0A3693DE8B,amount);end,\n"\ +"PLAYSTATS_BUY_CONTRABAND_MISSION=function(data)return _natives.invoke_void(0xD6781E42755531F7,data);end,\n"\ +"PLAYSTATS_SELL_CONTRABAND_MISSION=function(data)return _natives.invoke_void(0xC729991A9065376E,data);end,\n"\ +"PLAYSTATS_DEFEND_CONTRABAND_MISSION=function(data)return _natives.invoke_void(0x2605663BD4F23B5D,data);end,\n"\ +"PLAYSTATS_RECOVER_CONTRABAND_MISSION=function(data)return _natives.invoke_void(0x04D90BA8207ADA2D,data);end,\n"\ +"PLAYSTATS_HIT_CONTRABAND_DESTROY_LIMIT=function(p0)return _natives.invoke_void(0x60EEDC12AF66E846,p0);end,\n"\ +"START_BEING_BOSS=function(p0)return _natives.invoke_void(0x3EBEAC6C3F81F6BD,p0);end,\n"\ +"START_BEING_GOON=function(p0,p1,p2)return _natives.invoke_void(0x96E6D5150DBF1C09,p0,p1,p2);end,\n"\ +"END_BEING_BOSS=function(p0,p1)return _natives.invoke_void(0xA3C53804BDB68ED2,p0,p1);end,\n"\ +"END_BEING_GOON=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x6BCCF9948492FD85,p0,p1,p2,p3,p4);end,\n"\ +"HIRED_LIMO=function(p0,p1)return _natives.invoke_void(0x792271AB35C356A4,p0,p1);end,\n"\ +"ORDER_BOSS_VEHICLE=function(p0,p1,vehicleHash)return _natives.invoke_void(0xCEA553E35C2246E1,p0,p1,vehicleHash);end,\n"\ +"CHANGE_UNIFORM=function(p0,p1,p2)return _natives.invoke_void(0xD1C9B92BDD3F151D,p0,p1,p2);end,\n"\ +"CHANGE_GOON_LOOKING_FOR_WORK=function(p0)return _natives.invoke_void(0x44919CC079BB60BF,p0);end,\n"\ +"SEND_METRIC_GHOSTING_TO_PLAYER=function(p0)return _natives.invoke_void(0x7033EEFD9B28088E,p0);end,\n"\ +"SEND_METRIC_VIP_POACH=function(p0,p1,p2)return _natives.invoke_void(0xAA525DFF66BB82F5,p0,p1,p2);end,\n"\ +"SEND_METRIC_PUNISH_BODYGUARD=function(p0)return _natives.invoke_void(0x015B03EE1C43E6EC,p0);end,\n"\ +"PLAYSTATS_START_TRACKING_STUNTS=function()return _natives.invoke_void(0x928DBFB892638EF3);end,\n"\ +"PLAYSTATS_STOP_TRACKING_STUNTS=function()return _natives.invoke_void(0x8A800DACCC0DA55D);end,\n"\ +"PLAYSTATS_MISSION_ENDED=function(p0)return _natives.invoke_void(0xBF371CD2B64212FD,p0);end,\n"\ +"PLAYSTATS_IMPEXP_MISSION_ENDED=function(p0)return _natives.invoke_void(0x7D8BA05688AD64C7,p0);end,\n"\ +"PLAYSTATS_CHANGE_MC_ROLE=function(p0,p1,p2,p3,role,p5,p6)return _natives.invoke_void(0x0B565B0AAE56A0E8,p0,p1,p2,p3,role,p5,p6);end,\n"\ +"PLAYSTATS_CHANGE_MC_OUTFIT=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x28ECB8AC2F607DB2,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_SWITCH_MC_EMBLEM=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x0A50D2604E05CB94,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_MC_REQUEST_BIKE=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xCC25A4553DFBF9EA,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_MC_KILLED_RIVAL_MC_MEMBER=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xF534D94DFA2EAD26,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_ABANDONED_MC=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0xD558BEC0BBA7E8D2,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_EARNED_MC_POINTS=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_void(0x501478855A6074CE,p0,p1,p2,p3,p4,p5);end,\n"\ +"PLAYSTATS_MC_FORMATION_ENDS=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_void(0x03C2EEBB04B3FB72,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"PLAYSTATS_MC_CLUBHOUSE_ACTIVITY=function(p0,p1,p2,p3,p4,p5,p6,p7)return _natives.invoke_void(0x8989CBD7B4E82534,p0,p1,p2,p3,p4,p5,p6,p7);end,\n"\ +"PLAYSTATS_RIVAL_BEHAVIOR=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9)return _natives.invoke_void(0x27AA1C973CACFE63,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9);end,\n"\ +"PLAYSTATS_COPY_RANK_INTO_NEW_SLOT=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_void(0xB7257BA2550EA10A,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"PLAYSTATS_DUPE_DETECTED=function(data)return _natives.invoke_void(0x848B66100EE33B05,data);end,\n"\ +"PLAYSTATS_BAN_ALERT=function(p0)return _natives.invoke_void(0x516FC96EB88EEFE5,p0);end,\n"\ +"PLAYSTATS_GUNRUNNING_MISSION_ENDED=function(data)return _natives.invoke_void(0x0EACDF8487D5155A,data);end,\n"\ +"PLAYSTATS_GUNRUNNING_RND=function(p0)return _natives.invoke_void(0xDAF80797FC534BEC,p0);end,\n"\ +"PLAYSTATS_BUSINESS_BATTLE_ENDED=function(p0)return _natives.invoke_void(0x316DB59CD14C1774,p0);end,\n"\ +"PLAYSTATS_WAREHOUSE_MISSION_ENDED=function(p0)return _natives.invoke_void(0x2D7A9B577E72385E,p0);end,\n"\ +"PLAYSTATS_NIGHTCLUB_MISSION_ENDED=function(p0)return _natives.invoke_void(0x830C3A44EB3F2CF9,p0);end,\n"\ +"PLAYSTATS_DJ_USAGE=function(p0,p1)return _natives.invoke_void(0xB26F670685631727,p0,p1);end,\n"\ +"PLAYSTATS_MINIGAME_USAGE=function(p0,p1,p2)return _natives.invoke_void(0xC14BD9F5337219B2,p0,p1,p2);end,\n"\ +"PLAYSTATS_STONE_HATCHET_ENDED=function(data)return _natives.invoke_void(0x35E39E5570358630,data);end,\n"\ +"PLAYSTATS_SMUGGLER_MISSION_ENDED=function(data)return _natives.invoke_void(0x320C35147D5B5DDD,data);end,\n"\ +"PLAYSTATS_FM_HEIST_PREP_ENDED=function(data)return _natives.invoke_void(0xD8AFB345A9C5CCBB,data);end,\n"\ +"PLAYSTATS_INSTANCED_HEIST_ENDED=function(data,p1,p2,p3)return _natives.invoke_void(0x1E1497D0D2108115,data,p1,p2,p3);end,\n"\ +"PLAYSTATS_DAR_CHECKPOINT=function(data)return _natives.invoke_void(0x0BC254FF3A911501,data);end,\n"\ +"PLAYSTATS_ENTER_SESSION_PACK=function(data)return _natives.invoke_void(0x878FF156D36E9956,data);end,\n"\ +"PLAYSTATS_DRONE_USAGE=function(p0,p1,p2)return _natives.invoke_void(0x66C7BB2416ED3FCE,p0,p1,p2);end,\n"\ +"PLAYSTATS_SPIN_WHEEL=function(p0,p1,p2,p3)return _natives.invoke_void(0x6731DE84A38BFAD0,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_ARENA_WARS_SPECTATOR=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x6F4F599753F8200A,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_ARENA_WARS_ENDED=function(data)return _natives.invoke_void(0xB479D9F0D48A1BC5,data);end,\n"\ +"PLAYSTATS_SWITCH_PASSIVE_MODE=function(p0,p1,p2,p3)return _natives.invoke_void(0x35EEC6C2BC821A71,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_COLLECTIBLE_PICKED_UP=function(p0,objectHash,p2,p3,moneyAmount,rpAmount,chipsAmount,p7,p8,p9,p10)return _natives.invoke_void(0xCD0A8A9338681CF2,p0,objectHash,p2,p3,moneyAmount,rpAmount,chipsAmount,p7,p8,p9,p10);end,\n"\ +"PLAYSTATS_CASINO_STORY_MISSION_ENDED=function(p0,p1)return _natives.invoke_void(0xFCCCAC2BD3C1F180,p0,p1);end,\n"\ +"PLAYSTATS_CASINO_CHIP=function(p0)return _natives.invoke_void(0x0999F3F090EC5012,p0);end,\n"\ +"PLAYSTATS_CASINO_ROULETTE=function(p0)return _natives.invoke_void(0x95101C443A84E7F1,p0);end,\n"\ +"PLAYSTATS_CASINO_BLACKJACK=function(p0)return _natives.invoke_void(0x3EAE97309727E7AD,p0);end,\n"\ +"PLAYSTATS_CASINO_THREE_CARD_POKER=function(p0)return _natives.invoke_void(0xF740FB339D471C35,p0);end,\n"\ +"PLAYSTATS_CASINO_SLOT_MACHINE=function(p0)return _natives.invoke_void(0xEF5EC67D392B830A,p0);end,\n"\ +"PLAYSTATS_CASINO_INSIDE_TRACK=function(p0)return _natives.invoke_void(0x049F059625058A86,p0);end,\n"\ +"PLAYSTATS_CASINO_LUCKY_SEVEN=function(p0)return _natives.invoke_void(0x0C432C1435F5E4FA,p0);end,\n"\ +"PLAYSTATS_CASINO_ROULETTE_LIGHT=function(p0)return _natives.invoke_void(0x6572ABA3DE1197FC,p0);end,\n"\ +"PLAYSTATS_CASINO_BLACKJACK_LIGHT=function(p0)return _natives.invoke_void(0xD5451C7BF151EB6F,p0);end,\n"\ +"PLAYSTATS_CASINO_THREE_CARD_POKER_LIGHT=function(p0)return _natives.invoke_void(0xC9001364B4388F22,p0);end,\n"\ +"PLAYSTATS_CASINO_SLOT_MACHINE_LIGHT=function(p0)return _natives.invoke_void(0xE60054A0FAE8227F,p0);end,\n"\ +"PLAYSTATS_CASINO_INSIDE_TRACK_LIGHT=function(p0)return _natives.invoke_void(0x23A3CBCD50D54E47,p0);end,\n"\ +"PLAYSTATS_ARCADE_GAME=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_void(0x533A7D1EA58DF958,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"PLAYSTATS_ARCADE_LOVE_MATCH=function(p0,p1)return _natives.invoke_void(0x4FCDBD3F0A813C25,p0,p1);end,\n"\ +"PLAYSTATS_FREEMODE_CASINO_MISSION_ENDED=function(data)return _natives.invoke_void(0x1A0D4A6C336B7BC5,data);end,\n"\ +"PLAYSTATS_HEIST3_DRONE=function(p0)return _natives.invoke_void(0xDFBD93BF2943E29B,p0);end,\n"\ +"PLAYSTATS_HEIST3_HACK=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_void(0x92FC0EEDFAC04A14,p0,p1,p2,p3,p4,p5);end,\n"\ +"PLAYSTATS_NPC_PHONE=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12)return _natives.invoke_void(0x0077F15613D36993,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12);end,\n"\ +"PLAYSTATS_ARCADE_CABINET=function(p0)return _natives.invoke_void(0xF9096193DF1F99D4,p0);end,\n"\ +"PLAYSTATS_HEIST3_FINALE=function(p0)return _natives.invoke_void(0x2E0259BABC27A327,p0);end,\n"\ +"PLAYSTATS_HEIST3_PREP=function(p0)return _natives.invoke_void(0x53C31853EC9531FF,p0);end,\n"\ +"PLAYSTATS_MASTER_CONTROL=function(p0,p1,p2,p3)return _natives.invoke_void(0x810B5FCC52EC7FF0,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_QUIT_MODE=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x5BF29846C6527C54,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_MISSION_VOTE=function(p0)return _natives.invoke_void(0xC03FAB2C2F92289B,p0);end,\n"\ +"PLAYSTATS_NJVS_VOTE=function(p0)return _natives.invoke_void(0x5CDAED54B34B0ED0,p0);end,\n"\ +"PLAYSTATS_KILL_YOURSELF=function()return _natives.invoke_void(0x4AFF7E02E485E92B);end,\n"\ +"PLAYSTATS_FM_MISSION_END=function(p0,p1,p2)return _natives.invoke_void(0x46A70777BE6CEAB9,p0,p1,p2);end,\n"\ +"PLAYSTATS_HEIST4_PREP=function(p0)return _natives.invoke_void(0xDFCDB14317A9B361,p0);end,\n"\ +"PLAYSTATS_HEIST4_FINALE=function(p0)return _natives.invoke_void(0xC1E963C58664B556,p0);end,\n"\ +"PLAYSTATS_HEIST4_HACK=function(p0,p1,p2,p3,p4)return _natives.invoke_void(0x2FA3173480008493,p0,p1,p2,p3,p4);end,\n"\ +"PLAYSTATS_SUB_WEAP=function(p0,p1,p2,p3)return _natives.invoke_void(0xD4367D310F079DB0,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_FAST_TRVL=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10)return _natives.invoke_void(0x4DC416F246A41FC8,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);end,\n"\ +"PLAYSTATS_HUB_ENTRY=function(p0)return _natives.invoke_void(0x2818FF6638CB09DE,p0);end,\n"\ +"PLAYSTATS_DJ_MISSION_ENDED=function(p0)return _natives.invoke_void(0xD6CA58B3B53A0F22,p0);end,\n"\ +"PLAYSTATS_ROBBERY_PREP=function(p0)return _natives.invoke_void(0x1A67DFBF1F5C3835,p0);end,\n"\ +"PLAYSTATS_ROBBERY_FINALE=function(p0)return _natives.invoke_void(0xBBA55BE9AAAABF44,p0);end,\n"\ +"PLAYSTATS_EXTRA_EVENT=function(p0)return _natives.invoke_void(0xFA5B74BAB8A7EF99,p0);end,\n"\ +"PLAYSTATS_CARCLUB_POINTS=function(p0)return _natives.invoke_void(0xFF14D6FEEC507BBE,p0);end,\n"\ +"PLAYSTATS_CARCLUB_CHALLENGE=function(p0,p1,p2,p3)return _natives.invoke_void(0x1187CB58D7F3BED7,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_CARCLUB_PRIZE=function(p0,vehicleModel)return _natives.invoke_void(0x69C922B677621428,p0,vehicleModel);end,\n"\ +"PLAYSTATS_AWARD_NAV=function(p0,p1,p2,p3)return _natives.invoke_void(0x70F52471E758EBAE,p0,p1,p2,p3);end,\n"\ +"PLAYSTATS_INST_MISSION_END=function(p0)return _natives.invoke_void(0xFEA3F7E83C0610FA,p0);end,\n"\ +"PLAYSTATS_HUB_EXIT=function(p0)return _natives.invoke_void(0x5A46ACE5C4661132,p0);end,\n"\ +"PLAYSTATS_INVENTORY=function(p0)return _natives.invoke_void(0x887DAD63CF5B7908,p0);end,\n"\ +"_PLAYSTATS_ACID_MISSION_END=function(p0)return _natives.invoke_void(0x8A23D1324F6B2BAC,p0);end,\n"\ +"_PLAYSTATS_ACID_RND=function(p0)return _natives.invoke_void(0xCEACCF0550FDC5BA,p0);end,\n"\ +"_PLAYSTATS_IDLE=function(p0,p1,p2)return _natives.invoke_void(0xEC9553A178E8F1D1,p0,p1,p2);end,\n"\ +"_PLAYSTATS_PLAYER_STYLE=function(p0)return _natives.invoke_void(0x48FAC5DC7AC6EA99,p0);end,\n"\ +"};\n"\ +"STREAMING = {\n"\ +"LOAD_ALL_OBJECTS_NOW=function()return _natives.invoke_void(0xBD6E84632DD4CB3F);end,\n"\ +"LOAD_SCENE=function(x,y,z)return _natives.invoke_void(0x4448EB75B4904BDB,x,y,z);end,\n"\ +"NETWORK_UPDATE_LOAD_SCENE=function()return _natives.invoke_bool(0xC4582015556D1C46);end,\n"\ +"IS_NETWORK_LOADING_SCENE=function()return _natives.invoke_bool(0x41CA5A33160EA4AB);end,\n"\ +"SET_INTERIOR_ACTIVE=function(interiorID,toggle)return _natives.invoke_void(0xE37B76C387BE28ED,interiorID,toggle);end,\n"\ +"REQUEST_MODEL=function(model)return _natives.invoke_void(0x963D27A58DF860AC,model);end,\n"\ +"REQUEST_MENU_PED_MODEL=function(model)return _natives.invoke_void(0xA0261AEF7ACFC51E,model);end,\n"\ +"HAS_MODEL_LOADED=function(model)return _natives.invoke_bool(0x98A4EB5D89A0C952,model);end,\n"\ +"REQUEST_MODELS_IN_ROOM=function(interior,roomName)return _natives.invoke_void(0x8A7A40100EDFEC58,interior,roomName);end,\n"\ +"SET_MODEL_AS_NO_LONGER_NEEDED=function(model)return _natives.invoke_void(0xE532F5D78798DAAB,model);end,\n"\ +"IS_MODEL_IN_CDIMAGE=function(model)return _natives.invoke_bool(0x35B9E0803292B641,model);end,\n"\ +"IS_MODEL_VALID=function(model)return _natives.invoke_bool(0xC0296A2EDF545E92,model);end,\n"\ +"IS_MODEL_A_PED=function(model)return _natives.invoke_bool(0x75816577FEA6DAD5,model);end,\n"\ +"IS_MODEL_A_VEHICLE=function(model)return _natives.invoke_bool(0x19AAC8F07BFEC53E,model);end,\n"\ +"REQUEST_COLLISION_AT_COORD=function(x,y,z)return _natives.invoke_void(0x07503F7948F491A7,x,y,z);end,\n"\ +"REQUEST_COLLISION_FOR_MODEL=function(model)return _natives.invoke_void(0x923CB32A3B874FCB,model);end,\n"\ +"HAS_COLLISION_FOR_MODEL_LOADED=function(model)return _natives.invoke_bool(0x22CCA434E368F03A,model);end,\n"\ +"REQUEST_ADDITIONAL_COLLISION_AT_COORD=function(x,y,z)return _natives.invoke_void(0xC9156DC11411A9EA,x,y,z);end,\n"\ +"DOES_ANIM_DICT_EXIST=function(animDict)return _natives.invoke_bool(0x2DA49C3B79856961,animDict);end,\n"\ +"REQUEST_ANIM_DICT=function(animDict)return _natives.invoke_void(0xD3BD40951412FEF6,animDict);end,\n"\ +"HAS_ANIM_DICT_LOADED=function(animDict)return _natives.invoke_bool(0xD031A9162D01088C,animDict);end,\n"\ +"REMOVE_ANIM_DICT=function(animDict)return _natives.invoke_void(0xF66A602F829E2A06,animDict);end,\n"\ +"REQUEST_ANIM_SET=function(animSet)return _natives.invoke_void(0x6EA47DAE7FAD0EED,animSet);end,\n"\ +"HAS_ANIM_SET_LOADED=function(animSet)return _natives.invoke_bool(0xC4EA073D86FB29B0,animSet);end,\n"\ +"REMOVE_ANIM_SET=function(animSet)return _natives.invoke_void(0x16350528F93024B3,animSet);end,\n"\ +"REQUEST_CLIP_SET=function(clipSet)return _natives.invoke_void(0xD2A71E1A77418A49,clipSet);end,\n"\ +"HAS_CLIP_SET_LOADED=function(clipSet)return _natives.invoke_bool(0x318234F4F3738AF3,clipSet);end,\n"\ +"REMOVE_CLIP_SET=function(clipSet)return _natives.invoke_void(0x01F73A131C18CD94,clipSet);end,\n"\ +"REQUEST_IPL=function(iplName)return _natives.invoke_void(0x41B4893843BBDB74,iplName);end,\n"\ +"REMOVE_IPL=function(iplName)return _natives.invoke_void(0xEE6C5AD3ECE0A82D,iplName);end,\n"\ +"IS_IPL_ACTIVE=function(iplName)return _natives.invoke_bool(0x88A741E44A2B3495,iplName);end,\n"\ +"SET_STREAMING=function(toggle)return _natives.invoke_void(0x6E0C692677008888,toggle);end,\n"\ +"LOAD_GLOBAL_WATER_FILE=function(waterType)return _natives.invoke_void(0x7E3F55ED251B76D3,waterType);end,\n"\ +"GET_GLOBAL_WATER_FILE=function()return _natives.invoke_int(0xF741BD853611592D);end,\n"\ +"SET_GAME_PAUSES_FOR_STREAMING=function(toggle)return _natives.invoke_void(0x717CD6E6FAEBBEDC,toggle);end,\n"\ +"SET_REDUCE_PED_MODEL_BUDGET=function(toggle)return _natives.invoke_void(0x77B5F9A36BF96710,toggle);end,\n"\ +"SET_REDUCE_VEHICLE_MODEL_BUDGET=function(toggle)return _natives.invoke_void(0x80C527893080CCF3,toggle);end,\n"\ +"SET_DITCH_POLICE_MODELS=function(toggle)return _natives.invoke_void(0x42CBE54462D92634,toggle);end,\n"\ +"GET_NUMBER_OF_STREAMING_REQUESTS=function()return _natives.invoke_int(0x4060057271CEBC89);end,\n"\ +"REQUEST_PTFX_ASSET=function()return _natives.invoke_void(0x944955FB2A3935C8);end,\n"\ +"HAS_PTFX_ASSET_LOADED=function()return _natives.invoke_bool(0xCA7D9B86ECA7481B);end,\n"\ +"REMOVE_PTFX_ASSET=function()return _natives.invoke_void(0x88C6814073DD4A73);end,\n"\ +"REQUEST_NAMED_PTFX_ASSET=function(fxName)return _natives.invoke_void(0xB80D8756B4668AB6,fxName);end,\n"\ +"HAS_NAMED_PTFX_ASSET_LOADED=function(fxName)return _natives.invoke_bool(0x8702416E512EC454,fxName);end,\n"\ +"REMOVE_NAMED_PTFX_ASSET=function(fxName)return _natives.invoke_void(0x5F61EBBE1A00F96D,fxName);end,\n"\ +"SET_VEHICLE_POPULATION_BUDGET=function(p0)return _natives.invoke_void(0xCB9E1EB3BE2AF4E9,p0);end,\n"\ +"SET_PED_POPULATION_BUDGET=function(p0)return _natives.invoke_void(0x8C95333CFC3340F3,p0);end,\n"\ +"CLEAR_FOCUS=function()return _natives.invoke_void(0x31B73D1EA9F01DA2);end,\n"\ +"SET_FOCUS_POS_AND_VEL=function(x,y,z,offsetX,offsetY,offsetZ)return _natives.invoke_void(0xBB7454BAFF08FE25,x,y,z,offsetX,offsetY,offsetZ);end,\n"\ +"SET_FOCUS_ENTITY=function(entity)return _natives.invoke_void(0x198F77705FA0931D,entity);end,\n"\ +"IS_ENTITY_FOCUS=function(entity)return _natives.invoke_bool(0x2DDFF3FB9075D747,entity);end,\n"\ +"SET_RESTORE_FOCUS_ENTITY=function(p0)return _natives.invoke_void(0x0811381EF5062FEC,p0);end,\n"\ +"SET_MAPDATACULLBOX_ENABLED=function(name,toggle)return _natives.invoke_void(0xAF12610C644A35C9,name,toggle);end,\n"\ +"SET_ALL_MAPDATA_CULLED=function(p0)return _natives.invoke_void(0x4E52E752C76E7E7A,p0);end,\n"\ +"STREAMVOL_CREATE_SPHERE=function(x,y,z,rad,p4,p5)return _natives.invoke_int(0x219C7B8D53E429FD,x,y,z,rad,p4,p5);end,\n"\ +"STREAMVOL_CREATE_FRUSTUM=function(p0,p1,p2,p3,p4,p5,p6,p7,p8)return _natives.invoke_int(0x1F3F018BC3AFA77C,p0,p1,p2,p3,p4,p5,p6,p7,p8);end,\n"\ +"STREAMVOL_CREATE_LINE=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_int(0x0AD9710CEE2F590F,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"STREAMVOL_DELETE=function(unused)return _natives.invoke_void(0x1EE7D8DF4425F053,unused);end,\n"\ +"STREAMVOL_HAS_LOADED=function(unused)return _natives.invoke_bool(0x7D41E9D2D17C5B2D,unused);end,\n"\ +"STREAMVOL_IS_VALID=function(unused)return _natives.invoke_bool(0x07C313F94746702C,unused);end,\n"\ +"IS_STREAMVOL_ACTIVE=function()return _natives.invoke_bool(0xBC9823AB80A3DCAC);end,\n"\ +"NEW_LOAD_SCENE_START=function(posX,posY,posZ,offsetX,offsetY,offsetZ,radius,p7)return _natives.invoke_bool(0x212A8D0D2BABFAC2,posX,posY,posZ,offsetX,offsetY,offsetZ,radius,p7);end,\n"\ +"NEW_LOAD_SCENE_START_SPHERE=function(x,y,z,radius,p4)return _natives.invoke_bool(0xACCFB4ACF53551B0,x,y,z,radius,p4);end,\n"\ +"NEW_LOAD_SCENE_STOP=function()return _natives.invoke_void(0xC197616D221FF4A4);end,\n"\ +"IS_NEW_LOAD_SCENE_ACTIVE=function()return _natives.invoke_bool(0xA41A05B6CB741B85);end,\n"\ +"IS_NEW_LOAD_SCENE_LOADED=function()return _natives.invoke_bool(0x01B8247A7A8B9AD1);end,\n"\ +"IS_SAFE_TO_START_PLAYER_SWITCH=function()return _natives.invoke_bool(0x71E7B2E657449AAD);end,\n"\ +"START_PLAYER_SWITCH=function(from,to,flags,switchType)return _natives.invoke_void(0xFAA23F2CBA159D67,from,to,flags,switchType);end,\n"\ +"STOP_PLAYER_SWITCH=function()return _natives.invoke_void(0x95C0A5BBDC189AA1);end,\n"\ +"IS_PLAYER_SWITCH_IN_PROGRESS=function()return _natives.invoke_bool(0xD9D2CFFF49FAB35F);end,\n"\ +"GET_PLAYER_SWITCH_TYPE=function()return _natives.invoke_int(0xB3C94A90D9FC9E62);end,\n"\ +"GET_IDEAL_PLAYER_SWITCH_TYPE=function(x1,y1,z1,x2,y2,z2)return _natives.invoke_int(0xB5D7B26B45720E05,x1,y1,z1,x2,y2,z2);end,\n"\ +"GET_PLAYER_SWITCH_STATE=function()return _natives.invoke_int(0x470555300D10B2A5);end,\n"\ +"GET_PLAYER_SHORT_SWITCH_STATE=function()return _natives.invoke_int(0x20F898A5D9782800);end,\n"\ +"SET_PLAYER_SHORT_SWITCH_STYLE=function(p0)return _natives.invoke_void(0x5F2013F8BC24EE69,p0);end,\n"\ +"GET_PLAYER_SWITCH_JUMP_CUT_INDEX=function()return _natives.invoke_int(0x78C0D93253149435);end,\n"\ +"SET_PLAYER_SWITCH_OUTRO=function(cameraCoordX,cameraCoordY,cameraCoordZ,camRotationX,camRotationY,camRotationZ,camFov,camFarClip,rotationOrder)return _natives.invoke_void(0xC208B673CE446B61,cameraCoordX,cameraCoordY,cameraCoordZ,camRotationX,camRotationY,camRotationZ,camFov,camFarClip,rotationOrder);end,\n"\ +"SET_PLAYER_SWITCH_ESTABLISHING_SHOT=function(name)return _natives.invoke_void(0x0FDE9DBFC0A6BC65,name);end,\n"\ +"ALLOW_PLAYER_SWITCH_PAN=function()return _natives.invoke_void(0x43D1680C6D19A8E9);end,\n"\ +"ALLOW_PLAYER_SWITCH_OUTRO=function()return _natives.invoke_void(0x74DE2E8739086740);end,\n"\ +"ALLOW_PLAYER_SWITCH_ASCENT=function()return _natives.invoke_void(0x8E2A065ABDAE6994);end,\n"\ +"ALLOW_PLAYER_SWITCH_DESCENT=function()return _natives.invoke_void(0xAD5FDF34B81BFE79);end,\n"\ +"IS_SWITCH_READY_FOR_DESCENT=function()return _natives.invoke_bool(0xDFA80CB25D0A19B3);end,\n"\ +"ENABLE_SWITCH_PAUSE_BEFORE_DESCENT=function()return _natives.invoke_void(0xD4793DFF3AF2ABCD);end,\n"\ +"DISABLE_SWITCH_OUTRO_FX=function()return _natives.invoke_void(0xBD605B8E0E18B3BB);end,\n"\ +"SWITCH_TO_MULTI_FIRSTPART=function(ped,flags,switchType)return _natives.invoke_void(0xAAB3200ED59016BC,ped,flags,switchType);end,\n"\ +"SWITCH_TO_MULTI_SECONDPART=function(ped)return _natives.invoke_void(0xD8295AF639FD9CB8,ped);end,\n"\ +"IS_SWITCH_TO_MULTI_FIRSTPART_FINISHED=function()return _natives.invoke_bool(0x933BBEEB8C61B5F4);end,\n"\ +"GET_PLAYER_SWITCH_INTERP_OUT_DURATION=function()return _natives.invoke_int(0x08C2D6C52A3104BB);end,\n"\ +"GET_PLAYER_SWITCH_INTERP_OUT_CURRENT_TIME=function()return _natives.invoke_int(0x5B48A06DD0E792A5);end,\n"\ +"IS_SWITCH_SKIPPING_DESCENT=function()return _natives.invoke_bool(0x5B74EA8CFD5E3E7E);end,\n"\ +"SET_SCENE_STREAMING_TRACKS_CAM_POS_THIS_FRAME=function()return _natives.invoke_void(0x1E9057A74FD73E23);end,\n"\ +"GET_LODSCALE=function()return _natives.invoke_float(0x0C15B0E443B2349D);end,\n"\ +"OVERRIDE_LODSCALE_THIS_FRAME=function(scaling)return _natives.invoke_void(0xA76359FC80B2438E,scaling);end,\n"\ +"REMAP_LODSCALE_RANGE_THIS_FRAME=function(p0,p1,p2,p3)return _natives.invoke_void(0xBED8CA5FF5E04113,p0,p1,p2,p3);end,\n"\ +"SUPPRESS_HD_MAP_STREAMING_THIS_FRAME=function()return _natives.invoke_void(0x472397322E92A856);end,\n"\ +"SET_RENDER_HD_ONLY=function(toggle)return _natives.invoke_void(0x40AEFD1A244741F2,toggle);end,\n"\ +"FORCE_ALLOW_TIME_BASED_FADING_THIS_FRAME=function()return _natives.invoke_void(0x03F1A106BDA7DD3E);end,\n"\ +"IPL_GROUP_SWAP_START=function(iplName1,iplName2)return _natives.invoke_void(0x95A7DABDDBB78AE7,iplName1,iplName2);end,\n"\ +"IPL_GROUP_SWAP_CANCEL=function()return _natives.invoke_void(0x63EB2B972A218CAC);end,\n"\ +"IPL_GROUP_SWAP_IS_READY=function()return _natives.invoke_bool(0xFB199266061F820A);end,\n"\ +"IPL_GROUP_SWAP_FINISH=function()return _natives.invoke_void(0xF4A0DADB70F57FA6);end,\n"\ +"IPL_GROUP_SWAP_IS_ACTIVE=function()return _natives.invoke_bool(0x5068F488DDB54DD8);end,\n"\ +"PREFETCH_SRL=function(srl)return _natives.invoke_void(0x3D245789CE12982C,srl);end,\n"\ +"IS_SRL_LOADED=function()return _natives.invoke_bool(0xD0263801A4C5B0BB);end,\n"\ +"BEGIN_SRL=function()return _natives.invoke_void(0x9BADDC94EF83B823);end,\n"\ +"END_SRL=function()return _natives.invoke_void(0x0A41540E63C9EE17);end,\n"\ +"SET_SRL_TIME=function(p0)return _natives.invoke_void(0xA74A541C6884E7B8,p0);end,\n"\ +"SET_SRL_POST_CUTSCENE_CAMERA=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_void(0xEF39EE20C537E98C,p0,p1,p2,p3,p4,p5);end,\n"\ +"SET_SRL_READAHEAD_TIMES=function(p0,p1,p2,p3)return _natives.invoke_void(0xBEB2D9A1D9A8F55A,p0,p1,p2,p3);end,\n"\ +"SET_SRL_LONG_JUMP_MODE=function(p0)return _natives.invoke_void(0x20C6C7E4EB082A7F,p0);end,\n"\ +"SET_SRL_FORCE_PRESTREAM=function(p0)return _natives.invoke_void(0xF8155A7F03DDFC8E,p0);end,\n"\ +"SET_HD_AREA=function(x,y,z,radius)return _natives.invoke_void(0xB85F26619073E775,x,y,z,radius);end,\n"\ +"CLEAR_HD_AREA=function()return _natives.invoke_void(0xCE58B1CFB9290813);end,\n"\ +"INIT_CREATOR_BUDGET=function()return _natives.invoke_void(0xB5A4DB34FE89B88A);end,\n"\ +"SHUTDOWN_CREATOR_BUDGET=function()return _natives.invoke_void(0xCCE26000E9A6FAD7);end,\n"\ +"ADD_MODEL_TO_CREATOR_BUDGET=function(modelHash)return _natives.invoke_bool(0x0BC3144DEB678666,modelHash);end,\n"\ +"REMOVE_MODEL_FROM_CREATOR_BUDGET=function(modelHash)return _natives.invoke_void(0xF086AD9354FAC3A3,modelHash);end,\n"\ +"GET_USED_CREATOR_BUDGET=function()return _natives.invoke_float(0x3D3D8B3BE5A83D35);end,\n"\ +"SET_ISLAND_ENABLED=function(name,toggle)return _natives.invoke_void(0x9A9D1BA639675CF1,name,toggle);end,\n"\ +"};\n"\ +"TASK = {\n"\ +"TASK_PAUSE=function(ped,ms)return _natives.invoke_void(0xE73A266DB0CA9042,ped,ms);end,\n"\ +"TASK_STAND_STILL=function(ped,time)return _natives.invoke_void(0x919BE13EED931959,ped,time);end,\n"\ +"TASK_JUMP=function(ped,usePlayerLaunchForce,doSuperJump,useFullSuperJumpForce)return _natives.invoke_void(0x0AE4086104E067B1,ped,usePlayerLaunchForce,doSuperJump,useFullSuperJumpForce);end,\n"\ +"TASK_COWER=function(ped,duration)return _natives.invoke_void(0x3EB1FE9E8E908E15,ped,duration);end,\n"\ +"TASK_HANDS_UP=function(ped,duration,facingPed,timeToFacePed,flags)return _natives.invoke_void(0xF2EAB31979A7F910,ped,duration,facingPed,timeToFacePed,flags);end,\n"\ +"UPDATE_TASK_HANDS_UP_DURATION=function(ped,duration)return _natives.invoke_void(0xA98FCAFD7893C834,ped,duration);end,\n"\ +"TASK_OPEN_VEHICLE_DOOR=function(ped,vehicle,timeOut,seat,speed)return _natives.invoke_void(0x965791A9A488A062,ped,vehicle,timeOut,seat,speed);end,\n"\ +"TASK_ENTER_VEHICLE=function(ped,vehicle,timeout,seat,speed,flag,overrideEntryClipsetName)return _natives.invoke_void(0xC20E50AA46D09CA8,ped,vehicle,timeout,seat,speed,flag,overrideEntryClipsetName);end,\n"\ +"TASK_LEAVE_VEHICLE=function(ped,vehicle,flags)return _natives.invoke_void(0xD3DBCE61A490BE02,ped,vehicle,flags);end,\n"\ +"TASK_GET_OFF_BOAT=function(ped,boat)return _natives.invoke_void(0x9C00E77AF14B2DFF,ped,boat);end,\n"\ +"TASK_SKY_DIVE=function(ped,instant)return _natives.invoke_void(0x601736CFE536B0A0,ped,instant);end,\n"\ +"TASK_PARACHUTE=function(ped,giveParachuteItem,instant)return _natives.invoke_void(0xD2F1C53C97EE81AB,ped,giveParachuteItem,instant);end,\n"\ +"TASK_PARACHUTE_TO_TARGET=function(ped,x,y,z)return _natives.invoke_void(0xB33E291AFA6BD03A,ped,x,y,z);end,\n"\ +"SET_PARACHUTE_TASK_TARGET=function(ped,x,y,z)return _natives.invoke_void(0xC313379AF0FCEDA7,ped,x,y,z);end,\n"\ +"SET_PARACHUTE_TASK_THRUST=function(ped,thrust)return _natives.invoke_void(0x0729BAC1B8C64317,ped,thrust);end,\n"\ +"TASK_RAPPEL_FROM_HELI=function(ped,minHeightAboveGround)return _natives.invoke_void(0x09693B0312F91649,ped,minHeightAboveGround);end,\n"\ +"TASK_VEHICLE_DRIVE_TO_COORD=function(ped,vehicle,x,y,z,speed,p6,vehicleModel,drivingMode,stopRange,straightLineDistance)return _natives.invoke_void(0xE2A2AA2F659D77A7,ped,vehicle,x,y,z,speed,p6,vehicleModel,drivingMode,stopRange,straightLineDistance);end,\n"\ +"TASK_VEHICLE_DRIVE_TO_COORD_LONGRANGE=function(ped,vehicle,x,y,z,speed,driveMode,stopRange)return _natives.invoke_void(0x158BB33F920D360C,ped,vehicle,x,y,z,speed,driveMode,stopRange);end,\n"\ +"TASK_VEHICLE_DRIVE_WANDER=function(ped,vehicle,speed,drivingStyle)return _natives.invoke_void(0x480142959D337D00,ped,vehicle,speed,drivingStyle);end,\n"\ +"TASK_FOLLOW_TO_OFFSET_OF_ENTITY=function(ped,entity,offsetX,offsetY,offsetZ,movementSpeed,timeout,stoppingRange,persistFollowing)return _natives.invoke_void(0x304AE42E357B8C7E,ped,entity,offsetX,offsetY,offsetZ,movementSpeed,timeout,stoppingRange,persistFollowing);end,\n"\ +"TASK_GO_STRAIGHT_TO_COORD=function(ped,x,y,z,speed,timeout,targetHeading,distanceToSlide)return _natives.invoke_void(0xD76B57B44F1E6F8B,ped,x,y,z,speed,timeout,targetHeading,distanceToSlide);end,\n"\ +"TASK_GO_STRAIGHT_TO_COORD_RELATIVE_TO_ENTITY=function(ped,entity,x,y,z,moveBlendRatio,time)return _natives.invoke_void(0x61E360B7E040D12E,ped,entity,x,y,z,moveBlendRatio,time);end,\n"\ +"TASK_ACHIEVE_HEADING=function(ped,heading,timeout)return _natives.invoke_void(0x93B93A37987F1F3D,ped,heading,timeout);end,\n"\ +"TASK_FLUSH_ROUTE=function()return _natives.invoke_void(0x841142A1376E9006);end,\n"\ +"TASK_EXTEND_ROUTE=function(x,y,z)return _natives.invoke_void(0x1E7889778264843A,x,y,z);end,\n"\ +"TASK_FOLLOW_POINT_ROUTE=function(ped,speed,mode)return _natives.invoke_void(0x595583281858626E,ped,speed,mode);end,\n"\ +"TASK_GO_TO_ENTITY=function(entity,target,duration,distance,moveBlendRatio,slowDownDistance,flags)return _natives.invoke_void(0x6A071245EB0D1882,entity,target,duration,distance,moveBlendRatio,slowDownDistance,flags);end,\n"\ +"TASK_SMART_FLEE_COORD=function(ped,x,y,z,distance,time,preferPavements,quitIfOutOfRange)return _natives.invoke_void(0x94587F17E9C365D5,ped,x,y,z,distance,time,preferPavements,quitIfOutOfRange);end,\n"\ +"TASK_SMART_FLEE_PED=function(ped,fleeTarget,safeDistance,fleeTime,preferPavements,updateToNearestHatedPed)return _natives.invoke_void(0x22B0D0E37CCB840D,ped,fleeTarget,safeDistance,fleeTime,preferPavements,updateToNearestHatedPed);end,\n"\ +"TASK_REACT_AND_FLEE_PED=function(ped,fleeTarget)return _natives.invoke_void(0x72C896464915D1B1,ped,fleeTarget);end,\n"\ +"TASK_SHOCKING_EVENT_REACT=function(ped,eventHandle)return _natives.invoke_void(0x452419CBD838065B,ped,eventHandle);end,\n"\ +"TASK_WANDER_IN_AREA=function(ped,x,y,z,radius,minimalLength,timeBetweenWalks)return _natives.invoke_void(0xE054346CA3A0F315,ped,x,y,z,radius,minimalLength,timeBetweenWalks);end,\n"\ +"TASK_WANDER_STANDARD=function(ped,heading,flags)return _natives.invoke_void(0xBB9CE077274F6A1B,ped,heading,flags);end,\n"\ +"TASK_WANDER_SPECIFIC=function(ped,conditionalAnimGroupStr,conditionalAnimStr,heading)return _natives.invoke_void(0x6919A2F136426098,ped,conditionalAnimGroupStr,conditionalAnimStr,heading);end,\n"\ +"TASK_VEHICLE_PARK=function(ped,vehicle,x,y,z,heading,mode,radius,keepEngineOn)return _natives.invoke_void(0x0F3E34E968EA374E,ped,vehicle,x,y,z,heading,mode,radius,keepEngineOn);end,\n"\ +"TASK_STEALTH_KILL=function(killer,target,stealthKillActionResultHash,desiredMoveBlendRatio,stealthFlags)return _natives.invoke_void(0xAA5DC05579D60BD9,killer,target,stealthKillActionResultHash,desiredMoveBlendRatio,stealthFlags);end,\n"\ +"TASK_PLANT_BOMB=function(ped,x,y,z,heading)return _natives.invoke_void(0x965FEC691D55E9BF,ped,x,y,z,heading);end,\n"\ +"TASK_FOLLOW_NAV_MESH_TO_COORD=function(ped,x,y,z,moveBlendRatio,time,targetRadius,flags,targetHeading)return _natives.invoke_void(0x15D3A79D4E44B913,ped,x,y,z,moveBlendRatio,time,targetRadius,flags,targetHeading);end,\n"\ +"TASK_FOLLOW_NAV_MESH_TO_COORD_ADVANCED=function(ped,x,y,z,moveBlendRatio,time,targetRadius,flags,slideToCoordHeading,maxSlopeNavigable,clampMaxSearchDistance,targetHeading)return _natives.invoke_void(0x17F58B88D085DBAC,ped,x,y,z,moveBlendRatio,time,targetRadius,flags,slideToCoordHeading,maxSlopeNavigable,clampMaxSearchDistance,targetHeading);end,\n"\ +"SET_PED_PATH_CAN_USE_CLIMBOVERS=function(ped,Toggle)return _natives.invoke_void(0x8E06A6FE76C9EFF4,ped,Toggle);end,\n"\ +"SET_PED_PATH_CAN_USE_LADDERS=function(ped,Toggle)return _natives.invoke_void(0x77A5B103C87F476E,ped,Toggle);end,\n"\ +"SET_PED_PATH_CAN_DROP_FROM_HEIGHT=function(ped,Toggle)return _natives.invoke_void(0xE361C5C71C431A4F,ped,Toggle);end,\n"\ +"SET_PED_PATH_CLIMB_COST_MODIFIER=function(ped,modifier)return _natives.invoke_void(0x88E32DB8C1A4AA4B,ped,modifier);end,\n"\ +"SET_PED_PATH_MAY_ENTER_WATER=function(ped,mayEnterWater)return _natives.invoke_void(0xF35425A4204367EC,ped,mayEnterWater);end,\n"\ +"SET_PED_PATH_PREFER_TO_AVOID_WATER=function(ped,avoidWater)return _natives.invoke_void(0x38FE1EC73743793C,ped,avoidWater);end,\n"\ +"SET_PED_PATH_AVOID_FIRE=function(ped,avoidFire)return _natives.invoke_void(0x4455517B28441E60,ped,avoidFire);end,\n"\ +"SET_GLOBAL_MIN_BIRD_FLIGHT_HEIGHT=function(height)return _natives.invoke_void(0x6C6B148586F934F7,height);end,\n"\ +"GET_NAVMESH_ROUTE_DISTANCE_REMAINING=function(ped,distanceRemaining,isPathReady)return _natives.invoke_int(0xC6F5C0BCDC74D62D,ped,distanceRemaining,isPathReady);end,\n"\ +"GET_NAVMESH_ROUTE_RESULT=function(ped)return _natives.invoke_int(0x632E831F382A0FA8,ped);end,\n"\ +"IS_CONTROLLED_VEHICLE_UNABLE_TO_GET_TO_ROAD=function(ped)return _natives.invoke_bool(0x3E38E28A1D80DDF6,ped);end,\n"\ +"TASK_GO_TO_COORD_ANY_MEANS=function(ped,x,y,z,moveBlendRatio,vehicle,useLongRangeVehiclePathing,drivingFlags,maxRangeToShootTargets)return _natives.invoke_void(0x5BC448CB78FA3E88,ped,x,y,z,moveBlendRatio,vehicle,useLongRangeVehiclePathing,drivingFlags,maxRangeToShootTargets);end,\n"\ +"TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS=function(ped,x,y,z,moveBlendRatio,vehicle,useLongRangeVehiclePathing,drivingFlags,maxRangeToShootTargets,extraVehToTargetDistToPreferVehicle,driveStraightLineDistance,extraFlags,warpTimerMS)return _natives.invoke_void(0x1DD45F9ECFDB1BC9,ped,x,y,z,moveBlendRatio,vehicle,useLongRangeVehiclePathing,drivingFlags,maxRangeToShootTargets,extraVehToTargetDistToPreferVehicle,driveStraightLineDistance,extraFlags,warpTimerMS);end,\n"\ +"TASK_GO_TO_COORD_ANY_MEANS_EXTRA_PARAMS_WITH_CRUISE_SPEED=function(ped,x,y,z,moveBlendRatio,vehicle,useLongRangeVehiclePathing,drivingFlags,maxRangeToShootTargets,extraVehToTargetDistToPreferVehicle,driveStraightLineDistance,extraFlags,cruiseSpeed,targetArriveDist)return _natives.invoke_void(0xB8ECD61F531A7B02,ped,x,y,z,moveBlendRatio,vehicle,useLongRangeVehiclePathing,drivingFlags,maxRangeToShootTargets,extraVehToTargetDistToPreferVehicle,driveStraightLineDistance,extraFlags,cruiseSpeed,targetArriveDist);end,\n"\ +"TASK_PLAY_ANIM=function(ped,animDictionary,animationName,blendInSpeed,blendOutSpeed,duration,flag,playbackRate,lockX,lockY,lockZ)return _natives.invoke_void(0xEA47FE3719165B94,ped,animDictionary,animationName,blendInSpeed,blendOutSpeed,duration,flag,playbackRate,lockX,lockY,lockZ);end,\n"\ +"TASK_PLAY_ANIM_ADVANCED=function(ped,animDict,animName,posX,posY,posZ,rotX,rotY,rotZ,animEnterSpeed,animExitSpeed,duration,flag,animTime,rotOrder,ikFlags)return _natives.invoke_void(0x83CDB10EA29B370B,ped,animDict,animName,posX,posY,posZ,rotX,rotY,rotZ,animEnterSpeed,animExitSpeed,duration,flag,animTime,rotOrder,ikFlags);end,\n"\ +"STOP_ANIM_TASK=function(entity,animDictionary,animationName,blendDelta)return _natives.invoke_void(0x97FF36A1D40EA00A,entity,animDictionary,animationName,blendDelta);end,\n"\ +"TASK_SCRIPTED_ANIMATION=function(ped,priorityLowData,priorityMidData,priorityHighData,blendInDelta,blendOutDelta)return _natives.invoke_void(0x126EF75F1E17ABE5,ped,priorityLowData,priorityMidData,priorityHighData,blendInDelta,blendOutDelta);end,\n"\ +"PLAY_ENTITY_SCRIPTED_ANIM=function(entity,priorityLowData,priorityMidData,priorityHighData,blendInDelta,blendOutDelta)return _natives.invoke_void(0x77A1EEC547E7FCF1,entity,priorityLowData,priorityMidData,priorityHighData,blendInDelta,blendOutDelta);end,\n"\ +"STOP_ANIM_PLAYBACK=function(entity,priority,secondary)return _natives.invoke_void(0xEE08C992D238C5D1,entity,priority,secondary);end,\n"\ +"SET_ANIM_WEIGHT=function(entity,weight,priority,index,secondary)return _natives.invoke_void(0x207F1A47C0342F48,entity,weight,priority,index,secondary);end,\n"\ +"SET_ANIM_PHASE=function(entity,phase,priority,secondary)return _natives.invoke_void(0xDDF3CB5A0A4C0B49,entity,phase,priority,secondary);end,\n"\ +"SET_ANIM_RATE=function(entity,rate,priority,secondary)return _natives.invoke_void(0x032D49C5E359C847,entity,rate,priority,secondary);end,\n"\ +"SET_ANIM_LOOPED=function(entity,looped,priority,secondary)return _natives.invoke_void(0x70033C3CC29A1FF4,entity,looped,priority,secondary);end,\n"\ +"TASK_PLAY_PHONE_GESTURE_ANIMATION=function(ped,animDict,animation,boneMaskType,blendInDuration,blendOutDuration,isLooping,holdLastFrame)return _natives.invoke_void(0x8FBB6758B3B3E9EC,ped,animDict,animation,boneMaskType,blendInDuration,blendOutDuration,isLooping,holdLastFrame);end,\n"\ +"TASK_STOP_PHONE_GESTURE_ANIMATION=function(ped,blendOutOverride)return _natives.invoke_void(0x3FA00D4F4641BFAE,ped,blendOutOverride);end,\n"\ +"IS_PLAYING_PHONE_GESTURE_ANIM=function(ped)return _natives.invoke_bool(0xB8EBB1E9D3588C10,ped);end,\n"\ +"GET_PHONE_GESTURE_ANIM_CURRENT_TIME=function(ped)return _natives.invoke_float(0x47619ABE8B268C60,ped);end,\n"\ +"GET_PHONE_GESTURE_ANIM_TOTAL_TIME=function(ped)return _natives.invoke_float(0x1EE0F68A7C25DEC6,ped);end,\n"\ +"TASK_VEHICLE_PLAY_ANIM=function(vehicle,animationSet,animationName)return _natives.invoke_void(0x69F5C3BD0F3EBD89,vehicle,animationSet,animationName);end,\n"\ +"TASK_LOOK_AT_COORD=function(entity,x,y,z,duration,flags,priority)return _natives.invoke_void(0x6FA46612594F7973,entity,x,y,z,duration,flags,priority);end,\n"\ +"TASK_LOOK_AT_ENTITY=function(ped,lookAt,duration,flags,priority)return _natives.invoke_void(0x69F4BE8C8CC4796C,ped,lookAt,duration,flags,priority);end,\n"\ +"TASK_CLEAR_LOOK_AT=function(ped)return _natives.invoke_void(0x0F804F1DB19B9689,ped);end,\n"\ +"OPEN_SEQUENCE_TASK=function(taskSequenceId)return _natives.invoke_void(0xE8854A4326B9E12B,taskSequenceId);end,\n"\ +"CLOSE_SEQUENCE_TASK=function(taskSequenceId)return _natives.invoke_void(0x39E72BC99E6360CB,taskSequenceId);end,\n"\ +"TASK_PERFORM_SEQUENCE=function(ped,taskSequenceId)return _natives.invoke_void(0x5ABA3986D90D8A3B,ped,taskSequenceId);end,\n"\ +"TASK_PERFORM_SEQUENCE_LOCALLY=function(ped,taskSequenceId)return _natives.invoke_void(0x8C33220C8D78CA0D,ped,taskSequenceId);end,\n"\ +"CLEAR_SEQUENCE_TASK=function(taskSequenceId)return _natives.invoke_void(0x3841422E9C488D8C,taskSequenceId);end,\n"\ +"SET_SEQUENCE_TO_REPEAT=function(taskSequenceId,_repeat)return _natives.invoke_void(0x58C70CF3A41E4AE7,taskSequenceId,_repeat);end,\n"\ +"GET_SEQUENCE_PROGRESS=function(ped)return _natives.invoke_int(0x00A9010CFE1E3533,ped);end,\n"\ +"GET_IS_TASK_ACTIVE=function(ped,taskIndex)return _natives.invoke_bool(0xB0760331C7AA4155,ped,taskIndex);end,\n"\ +"GET_SCRIPT_TASK_STATUS=function(ped,taskHash)return _natives.invoke_int(0x77F1BEB8863288D5,ped,taskHash);end,\n"\ +"GET_ACTIVE_VEHICLE_MISSION_TYPE=function(vehicle)return _natives.invoke_int(0x534AEBA6E5ED4CAB,vehicle);end,\n"\ +"TASK_LEAVE_ANY_VEHICLE=function(ped,delayTime,flags)return _natives.invoke_void(0x504D54DF3F6F2247,ped,delayTime,flags);end,\n"\ +"TASK_AIM_GUN_SCRIPTED=function(ped,scriptTask,disableBlockingClip,instantBlendToAim)return _natives.invoke_void(0x7A192BE16D373D00,ped,scriptTask,disableBlockingClip,instantBlendToAim);end,\n"\ +"TASK_AIM_GUN_SCRIPTED_WITH_TARGET=function(ped,target,x,y,z,gunTaskType,disableBlockingClip,forceAim)return _natives.invoke_void(0x8605AF0DE8B3A5AC,ped,target,x,y,z,gunTaskType,disableBlockingClip,forceAim);end,\n"\ +"UPDATE_TASK_AIM_GUN_SCRIPTED_TARGET=function(ped,target,x,y,z,disableBlockingClip)return _natives.invoke_void(0x9724FB59A3E72AD0,ped,target,x,y,z,disableBlockingClip);end,\n"\ +"GET_CLIP_SET_FOR_SCRIPTED_GUN_TASK=function(gunTaskType)return _natives.invoke_str(0x3A8CADC7D37AACC5,gunTaskType);end,\n"\ +"TASK_AIM_GUN_AT_ENTITY=function(ped,entity,duration,instantBlendToAim)return _natives.invoke_void(0x9B53BB6E8943AF53,ped,entity,duration,instantBlendToAim);end,\n"\ +"TASK_TURN_PED_TO_FACE_ENTITY=function(ped,entity,duration)return _natives.invoke_void(0x5AD23D40115353AC,ped,entity,duration);end,\n"\ +"TASK_AIM_GUN_AT_COORD=function(ped,x,y,z,time,instantBlendToAim,playAnimIntro)return _natives.invoke_void(0x6671F3EEC681BDA1,ped,x,y,z,time,instantBlendToAim,playAnimIntro);end,\n"\ +"TASK_SHOOT_AT_COORD=function(ped,x,y,z,duration,firingPattern)return _natives.invoke_void(0x46A6CC01E0826106,ped,x,y,z,duration,firingPattern);end,\n"\ +"TASK_SHUFFLE_TO_NEXT_VEHICLE_SEAT=function(ped,vehicle,useAlternateShuffle)return _natives.invoke_void(0x7AA80209BDA643EB,ped,vehicle,useAlternateShuffle);end,\n"\ +"CLEAR_PED_TASKS=function(ped)return _natives.invoke_void(0xE1EF3C1216AFF2CD,ped);end,\n"\ +"CLEAR_PED_SECONDARY_TASK=function(ped)return _natives.invoke_void(0x176CECF6F920D707,ped);end,\n"\ +"TASK_EVERYONE_LEAVE_VEHICLE=function(vehicle)return _natives.invoke_void(0x7F93691AB4B92272,vehicle);end,\n"\ +"TASK_GOTO_ENTITY_OFFSET=function(ped,entity,time,seekRadius,seekAngleDeg,moveBlendRatio,gotoEntityOffsetFlags)return _natives.invoke_void(0xE39B4FF4FDEBDE27,ped,entity,time,seekRadius,seekAngleDeg,moveBlendRatio,gotoEntityOffsetFlags);end,\n"\ +"TASK_GOTO_ENTITY_OFFSET_XY=function(ped,entity,duration,targetRadius,offsetX,offsetY,moveBlendRatio,gotoEntityOffsetFlags)return _natives.invoke_void(0x338E7EF52B6095A9,ped,entity,duration,targetRadius,offsetX,offsetY,moveBlendRatio,gotoEntityOffsetFlags);end,\n"\ +"TASK_TURN_PED_TO_FACE_COORD=function(ped,x,y,z,duration)return _natives.invoke_void(0x1DDA930A0AC38571,ped,x,y,z,duration);end,\n"\ +"TASK_VEHICLE_TEMP_ACTION=function(driver,vehicle,action,time)return _natives.invoke_void(0xC429DCEEB339E129,driver,vehicle,action,time);end,\n"\ +"TASK_VEHICLE_MISSION=function(driver,vehicle,vehicleTarget,missionType,cruiseSpeed,drivingStyle,targetReached,straightLineDistance,DriveAgainstTraffic)return _natives.invoke_void(0x659427E0EF36BCDE,driver,vehicle,vehicleTarget,missionType,cruiseSpeed,drivingStyle,targetReached,straightLineDistance,DriveAgainstTraffic);end,\n"\ +"TASK_VEHICLE_MISSION_PED_TARGET=function(ped,vehicle,pedTarget,missionType,maxSpeed,drivingStyle,minDistance,straightLineDistance,DriveAgainstTraffic)return _natives.invoke_void(0x9454528DF15D657A,ped,vehicle,pedTarget,missionType,maxSpeed,drivingStyle,minDistance,straightLineDistance,DriveAgainstTraffic);end,\n"\ +"TASK_VEHICLE_MISSION_COORS_TARGET=function(ped,vehicle,x,y,z,mission,cruiseSpeed,drivingStyle,targetReached,straightLineDistance,DriveAgainstTraffic)return _natives.invoke_void(0xF0AF20AA7731F8C3,ped,vehicle,x,y,z,mission,cruiseSpeed,drivingStyle,targetReached,straightLineDistance,DriveAgainstTraffic);end,\n"\ +"TASK_VEHICLE_ESCORT=function(ped,vehicle,targetVehicle,mode,speed,drivingStyle,minDistance,minHeightAboveTerrain,noRoadsDistance)return _natives.invoke_void(0x0FA6E4B75F302400,ped,vehicle,targetVehicle,mode,speed,drivingStyle,minDistance,minHeightAboveTerrain,noRoadsDistance);end,\n"\ +"TASK_VEHICLE_FOLLOW=function(driver,vehicle,targetEntity,speed,drivingStyle,minDistance)return _natives.invoke_void(0xFC545A9F0626E3B6,driver,vehicle,targetEntity,speed,drivingStyle,minDistance);end,\n"\ +"TASK_VEHICLE_CHASE=function(driver,targetEnt)return _natives.invoke_void(0x3C08A8E30363B353,driver,targetEnt);end,\n"\ +"TASK_VEHICLE_HELI_PROTECT=function(pilot,vehicle,entityToFollow,targetSpeed,drivingFlags,radius,altitude,heliFlags)return _natives.invoke_void(0x1E09C32048FEFD1C,pilot,vehicle,entityToFollow,targetSpeed,drivingFlags,radius,altitude,heliFlags);end,\n"\ +"SET_TASK_VEHICLE_CHASE_BEHAVIOR_FLAG=function(ped,flag,set)return _natives.invoke_void(0xCC665AAC360D31E7,ped,flag,set);end,\n"\ +"SET_TASK_VEHICLE_CHASE_IDEAL_PURSUIT_DISTANCE=function(ped,distance)return _natives.invoke_void(0x639B642FACBE4EDD,ped,distance);end,\n"\ +"TASK_HELI_CHASE=function(pilot,entityToFollow,x,y,z)return _natives.invoke_void(0xAC83B1DB38D0ADA0,pilot,entityToFollow,x,y,z);end,\n"\ +"TASK_PLANE_CHASE=function(pilot,entityToFollow,x,y,z)return _natives.invoke_void(0x2D2386F273FF7A25,pilot,entityToFollow,x,y,z);end,\n"\ +"TASK_PLANE_LAND=function(pilot,plane,runwayStartX,runwayStartY,runwayStartZ,runwayEndX,runwayEndY,runwayEndZ)return _natives.invoke_void(0xBF19721FA34D32C0,pilot,plane,runwayStartX,runwayStartY,runwayStartZ,runwayEndX,runwayEndY,runwayEndZ);end,\n"\ +"CLEAR_DEFAULT_PRIMARY_TASK=function(ped)return _natives.invoke_void(0x6100B3CEFD43452E,ped);end,\n"\ +"CLEAR_PRIMARY_VEHICLE_TASK=function(vehicle)return _natives.invoke_void(0xDBBC7A2432524127,vehicle);end,\n"\ +"CLEAR_VEHICLE_CRASH_TASK=function(vehicle)return _natives.invoke_void(0x53DDC75BC3AC0A90,vehicle);end,\n"\ +"TASK_PLANE_GOTO_PRECISE_VTOL=function(ped,vehicle,x,y,z,flightHeight,minHeightAboveTerrain,useDesiredOrientation,desiredOrientation,autopilot)return _natives.invoke_void(0xF7F9DCCA89E7505B,ped,vehicle,x,y,z,flightHeight,minHeightAboveTerrain,useDesiredOrientation,desiredOrientation,autopilot);end,\n"\ +"TASK_SUBMARINE_GOTO_AND_STOP=function(ped,submarine,x,y,z,autopilot)return _natives.invoke_void(0xC22B40579A498CA4,ped,submarine,x,y,z,autopilot);end,\n"\ +"TASK_HELI_MISSION=function(pilot,aircraft,targetVehicle,targetPed,destinationX,destinationY,destinationZ,missionFlag,maxSpeed,radius,targetHeading,maxHeight,minHeight,slowDownDistance,behaviorFlags)return _natives.invoke_void(0xDAD029E187A2BEB4,pilot,aircraft,targetVehicle,targetPed,destinationX,destinationY,destinationZ,missionFlag,maxSpeed,radius,targetHeading,maxHeight,minHeight,slowDownDistance,behaviorFlags);end,\n"\ +"TASK_HELI_ESCORT_HELI=function(pilot,heli1,heli2,offsetX,offsetY,offsetZ)return _natives.invoke_void(0xB385523325077210,pilot,heli1,heli2,offsetX,offsetY,offsetZ);end,\n"\ +"TASK_PLANE_MISSION=function(pilot,aircraft,targetVehicle,targetPed,destinationX,destinationY,destinationZ,missionFlag,angularDrag,targetReached,targetHeading,maxZ,minZ,precise)return _natives.invoke_void(0x23703CD154E83B88,pilot,aircraft,targetVehicle,targetPed,destinationX,destinationY,destinationZ,missionFlag,angularDrag,targetReached,targetHeading,maxZ,minZ,precise);end,\n"\ +"TASK_PLANE_TAXI=function(pilot,aircraft,x,y,z,cruiseSpeed,targetReached)return _natives.invoke_void(0x92C360B5F15D2302,pilot,aircraft,x,y,z,cruiseSpeed,targetReached);end,\n"\ +"TASK_BOAT_MISSION=function(pedDriver,vehicle,targetVehicle,targetPed,x,y,z,mission,maxSpeed,drivingStyle,targetReached,boatFlags)return _natives.invoke_void(0x15C86013127CE63F,pedDriver,vehicle,targetVehicle,targetPed,x,y,z,mission,maxSpeed,drivingStyle,targetReached,boatFlags);end,\n"\ +"TASK_DRIVE_BY=function(driverPed,targetPed,targetVehicle,targetX,targetY,targetZ,distanceToShoot,pedAccuracy,pushUnderneathDrivingTaskIfDriving,firingPattern)return _natives.invoke_void(0x2F8AF0E82773A171,driverPed,targetPed,targetVehicle,targetX,targetY,targetZ,distanceToShoot,pedAccuracy,pushUnderneathDrivingTaskIfDriving,firingPattern);end,\n"\ +"SET_DRIVEBY_TASK_TARGET=function(shootingPed,targetPed,targetVehicle,x,y,z)return _natives.invoke_void(0xE5B302114D8162EE,shootingPed,targetPed,targetVehicle,x,y,z);end,\n"\ +"CLEAR_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK=function(ped)return _natives.invoke_void(0xC35B5CDB2824CF69,ped);end,\n"\ +"IS_DRIVEBY_TASK_UNDERNEATH_DRIVING_TASK=function(ped)return _natives.invoke_bool(0x8785E6E40C7A8818,ped);end,\n"\ +"CONTROL_MOUNTED_WEAPON=function(ped)return _natives.invoke_bool(0xDCFE42068FE0135A,ped);end,\n"\ +"SET_MOUNTED_WEAPON_TARGET=function(shootingPed,targetPed,targetVehicle,x,y,z,taskMode,ignoreTargetVehDeadCheck)return _natives.invoke_void(0xCCD892192C6D2BB9,shootingPed,targetPed,targetVehicle,x,y,z,taskMode,ignoreTargetVehDeadCheck);end,\n"\ +"IS_MOUNTED_WEAPON_TASK_UNDERNEATH_DRIVING_TASK=function(ped)return _natives.invoke_bool(0xA320EF046186FA3B,ped);end,\n"\ +"TASK_USE_MOBILE_PHONE=function(ped,usePhone,desiredPhoneMode)return _natives.invoke_void(0xBD2A8EC3AF4DE7DB,ped,usePhone,desiredPhoneMode);end,\n"\ +"TASK_USE_MOBILE_PHONE_TIMED=function(ped,duration)return _natives.invoke_void(0x5EE02954A14C69DB,ped,duration);end,\n"\ +"TASK_CHAT_TO_PED=function(ped,target,flags,goToLocationX,goToLocationY,goToLocationZ,headingDegs,idleTime)return _natives.invoke_void(0x8C338E0263E4FD19,ped,target,flags,goToLocationX,goToLocationY,goToLocationZ,headingDegs,idleTime);end,\n"\ +"TASK_WARP_PED_INTO_VEHICLE=function(ped,vehicle,seat)return _natives.invoke_void(0x9A7D091411C5F684,ped,vehicle,seat);end,\n"\ +"TASK_SHOOT_AT_ENTITY=function(entity,target,duration,firingPattern)return _natives.invoke_void(0x08DA95E8298AE772,entity,target,duration,firingPattern);end,\n"\ +"TASK_CLIMB=function(ped,usePlayerLaunchForce)return _natives.invoke_void(0x89D9FCC2435112F1,ped,usePlayerLaunchForce);end,\n"\ +"TASK_CLIMB_LADDER=function(ped,fast)return _natives.invoke_void(0xB6C987F9285A3814,ped,fast);end,\n"\ +"TASK_RAPPEL_DOWN_WALL_USING_CLIPSET_OVERRIDE=function(ped,x1,y1,z1,x2,y2,z2,minZ,ropeHandle,clipSet,p10)return _natives.invoke_void(0xEAF66ACDDC794793,ped,x1,y1,z1,x2,y2,z2,minZ,ropeHandle,clipSet,p10);end,\n"\ +"GET_TASK_RAPPEL_DOWN_WALL_STATE=function(ped)return _natives.invoke_int(0x9D252648778160DF,ped);end,\n"\ +"CLEAR_PED_TASKS_IMMEDIATELY=function(ped)return _natives.invoke_void(0xAAA34F8A7CB32098,ped);end,\n"\ +"TASK_PERFORM_SEQUENCE_FROM_PROGRESS=function(ped,taskIndex,progress1,progress2)return _natives.invoke_void(0x89221B16730234F0,ped,taskIndex,progress1,progress2);end,\n"\ +"SET_NEXT_DESIRED_MOVE_STATE=function(nextMoveState)return _natives.invoke_void(0xF1B9F16E89E2C93A,nextMoveState);end,\n"\ +"SET_PED_DESIRED_MOVE_BLEND_RATIO=function(ped,newMoveBlendRatio)return _natives.invoke_void(0x1E982AC8716912C5,ped,newMoveBlendRatio);end,\n"\ +"GET_PED_DESIRED_MOVE_BLEND_RATIO=function(ped)return _natives.invoke_float(0x8517D4A6CA8513ED,ped);end,\n"\ +"TASK_GOTO_ENTITY_AIMING=function(ped,target,distanceToStopAt,StartAimingDist)return _natives.invoke_void(0xA9DA48FAB8A76C12,ped,target,distanceToStopAt,StartAimingDist);end,\n"\ +"TASK_SET_DECISION_MAKER=function(ped,decisionMakerId)return _natives.invoke_void(0xEB8517DDA73720DA,ped,decisionMakerId);end,\n"\ +"TASK_SET_SPHERE_DEFENSIVE_AREA=function(ped,x,y,z,radius)return _natives.invoke_void(0x933C06518B52A9A4,ped,x,y,z,radius);end,\n"\ +"TASK_CLEAR_DEFENSIVE_AREA=function(ped)return _natives.invoke_void(0x95A6C46A31D1917D,ped);end,\n"\ +"TASK_PED_SLIDE_TO_COORD=function(ped,x,y,z,heading,speed)return _natives.invoke_void(0xD04FE6765D990A06,ped,x,y,z,heading,speed);end,\n"\ +"TASK_PED_SLIDE_TO_COORD_HDG_RATE=function(ped,x,y,z,heading,speed,headingChangeRate)return _natives.invoke_void(0x5A4A6A6D3DC64F52,ped,x,y,z,heading,speed,headingChangeRate);end,\n"\ +"ADD_COVER_POINT=function(x,y,z,direction,usage,height,arc,isPriority)return _natives.invoke_int(0xD5C12A75C7B9497F,x,y,z,direction,usage,height,arc,isPriority);end,\n"\ +"REMOVE_COVER_POINT=function(coverpoint)return _natives.invoke_void(0xAE287C923D891715,coverpoint);end,\n"\ +"DOES_SCRIPTED_COVER_POINT_EXIST_AT_COORDS=function(x,y,z)return _natives.invoke_bool(0xA98B8E3C088E5A31,x,y,z);end,\n"\ +"GET_SCRIPTED_COVER_POINT_COORDS=function(coverpoint)return _natives.invoke_vec3(0x594A1028FC2A3E85,coverpoint);end,\n"\ +"ADD_SCRIPTED_COVER_AREA=function(x,y,z,radius)return _natives.invoke_void(0x28B7B9BFDAF274AA,x,y,z,radius);end,\n"\ +"TASK_COMBAT_PED=function(ped,targetPed,combatFlags,threatResponseFlags)return _natives.invoke_void(0xF166E48407BAC484,ped,targetPed,combatFlags,threatResponseFlags);end,\n"\ +"TASK_COMBAT_PED_TIMED=function(ped,target,time,flags)return _natives.invoke_void(0x944F30DCB7096BDE,ped,target,time,flags);end,\n"\ +"TASK_SEEK_COVER_FROM_POS=function(ped,x,y,z,duration,allowPeekingAndFiring)return _natives.invoke_void(0x75AC2B60386D89F2,ped,x,y,z,duration,allowPeekingAndFiring);end,\n"\ +"TASK_SEEK_COVER_FROM_PED=function(ped,target,duration,allowPeekingAndFiring)return _natives.invoke_void(0x84D32B3BEC531324,ped,target,duration,allowPeekingAndFiring);end,\n"\ +"TASK_SEEK_COVER_TO_COVER_POINT=function(ped,coverpoint,x,y,z,time,allowPeekingAndFiring)return _natives.invoke_void(0xD43D95C7A869447F,ped,coverpoint,x,y,z,time,allowPeekingAndFiring);end,\n"\ +"TASK_SEEK_COVER_TO_COORDS=function(ped,x1,y1,z1,x2,y2,z2,timeout,shortRoute)return _natives.invoke_void(0x39246A6958EF072C,ped,x1,y1,z1,x2,y2,z2,timeout,shortRoute);end,\n"\ +"TASK_PUT_PED_DIRECTLY_INTO_COVER=function(ped,x,y,z,time,allowPeekingAndFiring,blendInDuration,forceInitialFacingDirection,forceFaceLeft,identifier,doEntry)return _natives.invoke_void(0x4172393E6BE1FECE,ped,x,y,z,time,allowPeekingAndFiring,blendInDuration,forceInitialFacingDirection,forceFaceLeft,identifier,doEntry);end,\n"\ +"TASK_WARP_PED_DIRECTLY_INTO_COVER=function(ped,time,allowPeekingAndFiring,forceInitialFacingDirection,forceFaceLeft,identifier)return _natives.invoke_void(0x6E01E9E8D89F8276,ped,time,allowPeekingAndFiring,forceInitialFacingDirection,forceFaceLeft,identifier);end,\n"\ +"TASK_EXIT_COVER=function(ped,exitType,x,y,z)return _natives.invoke_void(0x79B258E397854D29,ped,exitType,x,y,z);end,\n"\ +"TASK_PUT_PED_DIRECTLY_INTO_MELEE=function(ped,meleeTarget,blendInDuration,timeInMelee,strafePhaseSync,aiCombatFlags)return _natives.invoke_void(0x1C6CD14A876FFE39,ped,meleeTarget,blendInDuration,timeInMelee,strafePhaseSync,aiCombatFlags);end,\n"\ +"TASK_TOGGLE_DUCK=function(ped,toggleType)return _natives.invoke_void(0xAC96609B9995EDF8,ped,toggleType);end,\n"\ +"TASK_GUARD_CURRENT_POSITION=function(ped,maxPatrolProximity,defensiveAreaRadius,setDefensiveArea)return _natives.invoke_void(0x4A58A47A72E3FCB4,ped,maxPatrolProximity,defensiveAreaRadius,setDefensiveArea);end,\n"\ +"TASK_GUARD_ASSIGNED_DEFENSIVE_AREA=function(ped,x,y,z,heading,maxPatrolProximity,timer)return _natives.invoke_void(0xD2A207EEBDF9889B,ped,x,y,z,heading,maxPatrolProximity,timer);end,\n"\ +"TASK_GUARD_SPHERE_DEFENSIVE_AREA=function(ped,defendPositionX,defendPositionY,defendPositionZ,heading,maxPatrolProximity,time,x,y,z,defensiveAreaRadius)return _natives.invoke_void(0xC946FE14BE0EB5E2,ped,defendPositionX,defendPositionY,defendPositionZ,heading,maxPatrolProximity,time,x,y,z,defensiveAreaRadius);end,\n"\ +"TASK_STAND_GUARD=function(ped,x,y,z,heading,scenarioName)return _natives.invoke_void(0xAE032F8BBA959E90,ped,x,y,z,heading,scenarioName);end,\n"\ +"SET_DRIVE_TASK_CRUISE_SPEED=function(driver,cruiseSpeed)return _natives.invoke_void(0x5C9B84BD7D31D908,driver,cruiseSpeed);end,\n"\ +"SET_DRIVE_TASK_MAX_CRUISE_SPEED=function(ped,speed)return _natives.invoke_void(0x404A5AA9B9F0B746,ped,speed);end,\n"\ +"SET_DRIVE_TASK_DRIVING_STYLE=function(ped,drivingStyle)return _natives.invoke_void(0xDACE1BE37D88AF67,ped,drivingStyle);end,\n"\ +"ADD_COVER_BLOCKING_AREA=function(startX,startY,startZ,endX,endY,endZ,blockObjects,blockVehicles,blockMap,blockPlayer)return _natives.invoke_void(0x45C597097DD7CB81,startX,startY,startZ,endX,endY,endZ,blockObjects,blockVehicles,blockMap,blockPlayer);end,\n"\ +"REMOVE_ALL_COVER_BLOCKING_AREAS=function()return _natives.invoke_void(0xDB6708C0B46F56D8);end,\n"\ +"REMOVE_COVER_BLOCKING_AREAS_AT_POSITION=function(x,y,z)return _natives.invoke_void(0xFA83CA6776038F64,x,y,z);end,\n"\ +"REMOVE_SPECIFIC_COVER_BLOCKING_AREAS=function(startX,startY,startZ,endX,endY,endZ,blockObjects,blockVehicles,blockMap,blockPlayer)return _natives.invoke_void(0x1F351CF1C6475734,startX,startY,startZ,endX,endY,endZ,blockObjects,blockVehicles,blockMap,blockPlayer);end,\n"\ +"TASK_START_SCENARIO_IN_PLACE=function(ped,scenarioName,unkDelay,playEnterAnim)return _natives.invoke_void(0x142A02425FF02BD9,ped,scenarioName,unkDelay,playEnterAnim);end,\n"\ +"TASK_START_SCENARIO_AT_POSITION=function(ped,scenarioName,x,y,z,heading,duration,sittingScenario,teleport)return _natives.invoke_void(0xFA4EFC79F69D4F07,ped,scenarioName,x,y,z,heading,duration,sittingScenario,teleport);end,\n"\ +"TASK_USE_NEAREST_SCENARIO_TO_COORD=function(ped,x,y,z,distance,duration)return _natives.invoke_void(0x277F471BA9DB000B,ped,x,y,z,distance,duration);end,\n"\ +"TASK_USE_NEAREST_SCENARIO_TO_COORD_WARP=function(ped,x,y,z,radius,timeToLeave)return _natives.invoke_void(0x58E2E0F23F6B76C3,ped,x,y,z,radius,timeToLeave);end,\n"\ +"TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD=function(ped,x,y,z,maxRange,timeToLeave)return _natives.invoke_void(0x9FDA1B3D7E7028B3,ped,x,y,z,maxRange,timeToLeave);end,\n"\ +"TASK_USE_NEAREST_SCENARIO_CHAIN_TO_COORD_WARP=function(ped,x,y,z,radius,timeToLeave)return _natives.invoke_void(0x97A28E63F0BA5631,ped,x,y,z,radius,timeToLeave);end,\n"\ +"DOES_SCENARIO_EXIST_IN_AREA=function(x,y,z,radius,mustBeFree)return _natives.invoke_bool(0x5A59271FFADD33C1,x,y,z,radius,mustBeFree);end,\n"\ +"DOES_SCENARIO_OF_TYPE_EXIST_IN_AREA=function(x,y,z,scenarioName,radius,mustBeFree)return _natives.invoke_bool(0x0A9D0C2A3BBC86C1,x,y,z,scenarioName,radius,mustBeFree);end,\n"\ +"IS_SCENARIO_OCCUPIED=function(x,y,z,maxRange,onlyUsersActuallyAtScenario)return _natives.invoke_bool(0x788756D73AC2E07C,x,y,z,maxRange,onlyUsersActuallyAtScenario);end,\n"\ +"PED_HAS_USE_SCENARIO_TASK=function(ped)return _natives.invoke_bool(0x295E3CCEC879CCD7,ped);end,\n"\ +"PLAY_ANIM_ON_RUNNING_SCENARIO=function(ped,animDict,animName)return _natives.invoke_void(0x748040460F8DF5DC,ped,animDict,animName);end,\n"\ +"DOES_SCENARIO_GROUP_EXIST=function(scenarioGroup)return _natives.invoke_bool(0xF9034C136C9E00D3,scenarioGroup);end,\n"\ +"IS_SCENARIO_GROUP_ENABLED=function(scenarioGroup)return _natives.invoke_bool(0x367A09DED4E05B99,scenarioGroup);end,\n"\ +"SET_SCENARIO_GROUP_ENABLED=function(scenarioGroup,enabled)return _natives.invoke_void(0x02C8E5B49848664E,scenarioGroup,enabled);end,\n"\ +"RESET_SCENARIO_GROUPS_ENABLED=function()return _natives.invoke_void(0xDD902D0349AFAD3A);end,\n"\ +"SET_EXCLUSIVE_SCENARIO_GROUP=function(scenarioGroup)return _natives.invoke_void(0x535E97E1F7FC0C6A,scenarioGroup);end,\n"\ +"RESET_EXCLUSIVE_SCENARIO_GROUP=function()return _natives.invoke_void(0x4202BBCB8684563D);end,\n"\ +"IS_SCENARIO_TYPE_ENABLED=function(scenarioType)return _natives.invoke_bool(0x3A815DB3EA088722,scenarioType);end,\n"\ +"SET_SCENARIO_TYPE_ENABLED=function(scenarioType,toggle)return _natives.invoke_void(0xEB47EC4E34FB7EE1,scenarioType,toggle);end,\n"\ +"RESET_SCENARIO_TYPES_ENABLED=function()return _natives.invoke_void(0x0D40EE2A7F2B2D6D);end,\n"\ +"IS_PED_ACTIVE_IN_SCENARIO=function(ped)return _natives.invoke_bool(0xAA135F9482C82CC3,ped);end,\n"\ +"IS_PED_PLAYING_BASE_CLIP_IN_SCENARIO=function(ped)return _natives.invoke_bool(0x621C6E4729388E41,ped);end,\n"\ +"SET_PED_CAN_PLAY_AMBIENT_IDLES=function(ped,blockIdleClips,removeIdleClipIfPlaying)return _natives.invoke_void(0x8FD89A6240813FD0,ped,blockIdleClips,removeIdleClipIfPlaying);end,\n"\ +"TASK_COMBAT_HATED_TARGETS_IN_AREA=function(ped,x,y,z,radius,combatFlags)return _natives.invoke_void(0x4CF5F55DAC3280A0,ped,x,y,z,radius,combatFlags);end,\n"\ +"TASK_COMBAT_HATED_TARGETS_AROUND_PED=function(ped,radius,combatFlags)return _natives.invoke_void(0x7BF835BB9E2698C8,ped,radius,combatFlags);end,\n"\ +"TASK_COMBAT_HATED_TARGETS_AROUND_PED_TIMED=function(ped,radius,time,combatFlags)return _natives.invoke_void(0x2BBA30B854534A0C,ped,radius,time,combatFlags);end,\n"\ +"TASK_THROW_PROJECTILE=function(ped,x,y,z,ignoreCollisionEntityIndex,createInvincibleProjectile)return _natives.invoke_void(0x7285951DBF6B5A51,ped,x,y,z,ignoreCollisionEntityIndex,createInvincibleProjectile);end,\n"\ +"TASK_SWAP_WEAPON=function(ped,drawWeapon)return _natives.invoke_void(0xA21C51255B205245,ped,drawWeapon);end,\n"\ +"TASK_RELOAD_WEAPON=function(ped,drawWeapon)return _natives.invoke_void(0x62D2916F56B9CD2D,ped,drawWeapon);end,\n"\ +"IS_PED_GETTING_UP=function(ped)return _natives.invoke_bool(0x2A74E1D5F2F00EEC,ped);end,\n"\ +"TASK_WRITHE=function(ped,target,minFireLoops,startState,forceShootOnGround,shootFromGroundTimer)return _natives.invoke_void(0xCDDC2B77CE54AC6E,ped,target,minFireLoops,startState,forceShootOnGround,shootFromGroundTimer);end,\n"\ +"IS_PED_IN_WRITHE=function(ped)return _natives.invoke_bool(0xDEB6D52126E7D640,ped);end,\n"\ +"OPEN_PATROL_ROUTE=function(patrolRoute)return _natives.invoke_void(0xA36BFB5EE89F3D82,patrolRoute);end,\n"\ +"CLOSE_PATROL_ROUTE=function()return _natives.invoke_void(0xB043ECA801B8CBC1);end,\n"\ +"ADD_PATROL_ROUTE_NODE=function(nodeId,nodeType,posX,posY,posZ,headingX,headingY,headingZ,duration)return _natives.invoke_void(0x8EDF950167586B7C,nodeId,nodeType,posX,posY,posZ,headingX,headingY,headingZ,duration);end,\n"\ +"ADD_PATROL_ROUTE_LINK=function(nodeId1,nodeId2)return _natives.invoke_void(0x23083260DEC3A551,nodeId1,nodeId2);end,\n"\ +"CREATE_PATROL_ROUTE=function()return _natives.invoke_void(0xAF8A443CCC8018DC);end,\n"\ +"DELETE_PATROL_ROUTE=function(patrolRoute)return _natives.invoke_void(0x7767DD9D65E91319,patrolRoute);end,\n"\ +"GET_PATROL_TASK_INFO=function(ped,timeLeftAtNode,nodeId)return _natives.invoke_bool(0x52F734CEBE20DFBA,ped,timeLeftAtNode,nodeId);end,\n"\ +"TASK_PATROL=function(ped,patrolRouteName,alertState,canChatToPeds,useHeadLookAt)return _natives.invoke_void(0xBDA5DF49D080FE4E,ped,patrolRouteName,alertState,canChatToPeds,useHeadLookAt);end,\n"\ +"TASK_STAY_IN_COVER=function(ped)return _natives.invoke_void(0xE5DA8615A6180789,ped);end,\n"\ +"ADD_VEHICLE_SUBTASK_ATTACK_COORD=function(ped,x,y,z)return _natives.invoke_void(0x5CF0D8F9BBA0DD75,ped,x,y,z);end,\n"\ +"ADD_VEHICLE_SUBTASK_ATTACK_PED=function(ped,target)return _natives.invoke_void(0x85F462BADC7DA47F,ped,target);end,\n"\ +"TASK_VEHICLE_SHOOT_AT_PED=function(ped,target,fireTolerance)return _natives.invoke_void(0x10AB107B887214D8,ped,target,fireTolerance);end,\n"\ +"TASK_VEHICLE_AIM_AT_PED=function(ped,target)return _natives.invoke_void(0xE41885592B08B097,ped,target);end,\n"\ +"TASK_VEHICLE_SHOOT_AT_COORD=function(ped,x,y,z,fireTolerance)return _natives.invoke_void(0x5190796ED39C9B6D,ped,x,y,z,fireTolerance);end,\n"\ +"TASK_VEHICLE_AIM_AT_COORD=function(ped,x,y,z)return _natives.invoke_void(0x447C1E9EF844BC0F,ped,x,y,z);end,\n"\ +"TASK_VEHICLE_GOTO_NAVMESH=function(ped,vehicle,x,y,z,speed,behaviorFlag,stoppingRange)return _natives.invoke_void(0x195AEEB13CEFE2EE,ped,vehicle,x,y,z,speed,behaviorFlag,stoppingRange);end,\n"\ +"TASK_GO_TO_COORD_WHILE_AIMING_AT_COORD=function(ped,x,y,z,aimAtX,aimAtY,aimAtZ,moveBlendRatio,shoot,targetRadius,slowDistance,useNavMesh,navFlags,instantBlendToAim,firingPattern)return _natives.invoke_void(0x11315AB3385B8AC0,ped,x,y,z,aimAtX,aimAtY,aimAtZ,moveBlendRatio,shoot,targetRadius,slowDistance,useNavMesh,navFlags,instantBlendToAim,firingPattern);end,\n"\ +"TASK_GO_TO_COORD_WHILE_AIMING_AT_ENTITY=function(ped,x,y,z,aimAtID,moveBlendRatio,shoot,targetRadius,slowDistance,useNavMesh,navFlags,instantBlendToAim,firingPattern,time)return _natives.invoke_void(0xB2A16444EAD9AE47,ped,x,y,z,aimAtID,moveBlendRatio,shoot,targetRadius,slowDistance,useNavMesh,navFlags,instantBlendToAim,firingPattern,time);end,\n"\ +"TASK_GO_TO_COORD_AND_AIM_AT_HATED_ENTITIES_NEAR_COORD=function(pedHandle,goToLocationX,goToLocationY,goToLocationZ,focusLocationX,focusLocationY,focusLocationZ,speed,shootAtEnemies,distanceToStopAt,noRoadsDistance,useNavMesh,navFlags,taskFlags,firingPattern)return _natives.invoke_void(0xA55547801EB331FC,pedHandle,goToLocationX,goToLocationY,goToLocationZ,focusLocationX,focusLocationY,focusLocationZ,speed,shootAtEnemies,distanceToStopAt,noRoadsDistance,useNavMesh,navFlags,taskFlags,firingPattern);end,\n"\ +"TASK_GO_TO_ENTITY_WHILE_AIMING_AT_COORD=function(ped,entity,aimX,aimY,aimZ,moveBlendRatio,shoot,targetRadius,slowDistance,useNavMesh,instantBlendToAim,firingPattern)return _natives.invoke_void(0x04701832B739DCE5,ped,entity,aimX,aimY,aimZ,moveBlendRatio,shoot,targetRadius,slowDistance,useNavMesh,instantBlendToAim,firingPattern);end,\n"\ +"TASK_GO_TO_ENTITY_WHILE_AIMING_AT_ENTITY=function(ped,entityToWalkTo,entityToAimAt,speed,shootatEntity,targetRadius,slowDistance,useNavMesh,instantBlendToAim,firingPattern)return _natives.invoke_void(0x97465886D35210E9,ped,entityToWalkTo,entityToAimAt,speed,shootatEntity,targetRadius,slowDistance,useNavMesh,instantBlendToAim,firingPattern);end,\n"\ +"SET_HIGH_FALL_TASK=function(ped,minTime,maxTime,entryType)return _natives.invoke_void(0x8C825BDC7741D37C,ped,minTime,maxTime,entryType);end,\n"\ +"REQUEST_WAYPOINT_RECORDING=function(name)return _natives.invoke_void(0x9EEFB62EB27B5792,name);end,\n"\ +"GET_IS_WAYPOINT_RECORDING_LOADED=function(name)return _natives.invoke_bool(0xCB4E8BE8A0063C5D,name);end,\n"\ +"REMOVE_WAYPOINT_RECORDING=function(name)return _natives.invoke_void(0xFF1B8B4AA1C25DC8,name);end,\n"\ +"WAYPOINT_RECORDING_GET_NUM_POINTS=function(name,points)return _natives.invoke_bool(0x5343532C01A07234,name,points);end,\n"\ +"WAYPOINT_RECORDING_GET_COORD=function(name,point,coord)return _natives.invoke_bool(0x2FB897405C90B361,name,point,coord);end,\n"\ +"WAYPOINT_RECORDING_GET_SPEED_AT_POINT=function(name,point)return _natives.invoke_float(0x005622AEBC33ACA9,name,point);end,\n"\ +"WAYPOINT_RECORDING_GET_CLOSEST_WAYPOINT=function(name,x,y,z,point)return _natives.invoke_bool(0xB629A298081F876F,name,x,y,z,point);end,\n"\ +"TASK_FOLLOW_WAYPOINT_RECORDING=function(ped,name,p2,p3,p4)return _natives.invoke_void(0x0759591819534F7B,ped,name,p2,p3,p4);end,\n"\ +"IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_PED=function(ped)return _natives.invoke_bool(0xE03B3F2D3DC59B64,ped);end,\n"\ +"GET_PED_WAYPOINT_PROGRESS=function(ped)return _natives.invoke_int(0x2720AAA75001E094,ped);end,\n"\ +"GET_PED_WAYPOINT_DISTANCE=function(p0)return _natives.invoke_float(0xE6A877C64CAF1BC5,p0);end,\n"\ +"SET_PED_WAYPOINT_ROUTE_OFFSET=function(ped,x,y,z)return _natives.invoke_bool(0xED98E10B0AFCE4B4,ped,x,y,z);end,\n"\ +"GET_WAYPOINT_DISTANCE_ALONG_ROUTE=function(name,point)return _natives.invoke_float(0xA5B769058763E497,name,point);end,\n"\ +"WAYPOINT_PLAYBACK_GET_IS_PAUSED=function(p0)return _natives.invoke_bool(0x701375A7D43F01CB,p0);end,\n"\ +"WAYPOINT_PLAYBACK_PAUSE=function(p0,p1,p2)return _natives.invoke_void(0x0F342546AA06FED5,p0,p1,p2);end,\n"\ +"WAYPOINT_PLAYBACK_RESUME=function(p0,p1,p2,p3)return _natives.invoke_void(0x244F70C84C547D2D,p0,p1,p2,p3);end,\n"\ +"WAYPOINT_PLAYBACK_OVERRIDE_SPEED=function(p0,p1,p2)return _natives.invoke_void(0x7D7D2B47FA788E85,p0,p1,p2);end,\n"\ +"WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED=function(p0)return _natives.invoke_void(0x6599D834B12D0800,p0);end,\n"\ +"USE_WAYPOINT_RECORDING_AS_ASSISTED_MOVEMENT_ROUTE=function(name,p1,p2,p3)return _natives.invoke_void(0x5A353B8E6B1095B5,name,p1,p2,p3);end,\n"\ +"WAYPOINT_PLAYBACK_START_AIMING_AT_PED=function(ped,target,p2)return _natives.invoke_void(0x20E330937C399D29,ped,target,p2);end,\n"\ +"WAYPOINT_PLAYBACK_START_AIMING_AT_COORD=function(ped,x,y,z,p4)return _natives.invoke_void(0x8968400D900ED8B3,ped,x,y,z,p4);end,\n"\ +"WAYPOINT_PLAYBACK_START_SHOOTING_AT_PED=function(ped,ped2,p2,p3)return _natives.invoke_void(0xE70BA7B90F8390DC,ped,ped2,p2,p3);end,\n"\ +"WAYPOINT_PLAYBACK_START_SHOOTING_AT_COORD=function(ped,x,y,z,p4,firingPattern)return _natives.invoke_void(0x057A25CFCC9DB671,ped,x,y,z,p4,firingPattern);end,\n"\ +"WAYPOINT_PLAYBACK_STOP_AIMING_OR_SHOOTING=function(ped)return _natives.invoke_void(0x47EFA040EBB8E2EA,ped);end,\n"\ +"ASSISTED_MOVEMENT_REQUEST_ROUTE=function(route)return _natives.invoke_void(0x817268968605947A,route);end,\n"\ +"ASSISTED_MOVEMENT_REMOVE_ROUTE=function(route)return _natives.invoke_void(0x3548536485DD792B,route);end,\n"\ +"ASSISTED_MOVEMENT_IS_ROUTE_LOADED=function(route)return _natives.invoke_bool(0x60F9A4393A21F741,route);end,\n"\ +"ASSISTED_MOVEMENT_SET_ROUTE_PROPERTIES=function(route,props)return _natives.invoke_void(0xD5002D78B7162E1B,route,props);end,\n"\ +"ASSISTED_MOVEMENT_OVERRIDE_LOAD_DISTANCE_THIS_FRAME=function(dist)return _natives.invoke_void(0x13945951E16EF912,dist);end,\n"\ +"TASK_VEHICLE_FOLLOW_WAYPOINT_RECORDING=function(ped,vehicle,WPRecording,p3,p4,p5,p6,p7,p8,p9)return _natives.invoke_void(0x3123FAA6DB1CF7ED,ped,vehicle,WPRecording,p3,p4,p5,p6,p7,p8,p9);end,\n"\ +"IS_WAYPOINT_PLAYBACK_GOING_ON_FOR_VEHICLE=function(vehicle)return _natives.invoke_bool(0xF5134943EA29868C,vehicle);end,\n"\ +"GET_VEHICLE_WAYPOINT_PROGRESS=function(vehicle)return _natives.invoke_int(0x9824CFF8FC66E159,vehicle);end,\n"\ +"GET_VEHICLE_WAYPOINT_TARGET_POINT=function(vehicle)return _natives.invoke_int(0x416B62AC8B9E5BBD,vehicle);end,\n"\ +"VEHICLE_WAYPOINT_PLAYBACK_PAUSE=function(vehicle)return _natives.invoke_void(0x8A4E6AC373666BC5,vehicle);end,\n"\ +"VEHICLE_WAYPOINT_PLAYBACK_RESUME=function(vehicle)return _natives.invoke_void(0xDC04FCAA7839D492,vehicle);end,\n"\ +"VEHICLE_WAYPOINT_PLAYBACK_USE_DEFAULT_SPEED=function(vehicle)return _natives.invoke_void(0x5CEB25A7D2848963,vehicle);end,\n"\ +"VEHICLE_WAYPOINT_PLAYBACK_OVERRIDE_SPEED=function(vehicle,speed)return _natives.invoke_void(0x121F0593E0A431D7,vehicle,speed);end,\n"\ +"TASK_SET_BLOCKING_OF_NON_TEMPORARY_EVENTS=function(ped,toggle)return _natives.invoke_void(0x90D2156198831D69,ped,toggle);end,\n"\ +"TASK_FORCE_MOTION_STATE=function(ped,state,forceRestart)return _natives.invoke_void(0x4F056E1AFFEF17AB,ped,state,forceRestart);end,\n"\ +"TASK_MOVE_NETWORK_BY_NAME=function(ped,task,multiplier,allowOverrideCloneUpdate,animDict,flags)return _natives.invoke_void(0x2D537BA194896636,ped,task,multiplier,allowOverrideCloneUpdate,animDict,flags);end,\n"\ +"TASK_MOVE_NETWORK_ADVANCED_BY_NAME=function(ped,network,x,y,z,rotX,rotY,rotZ,rotOrder,blendDuration,allowOverrideCloneUpdate,animDict,flags)return _natives.invoke_void(0xD5B35BEA41919ACB,ped,network,x,y,z,rotX,rotY,rotZ,rotOrder,blendDuration,allowOverrideCloneUpdate,animDict,flags);end,\n"\ +"TASK_MOVE_NETWORK_BY_NAME_WITH_INIT_PARAMS=function(ped,network,initialParameters,blendDuration,allowOverrideCloneUpdate,animDict,flags)return _natives.invoke_void(0x3D45B0B355C5E0C9,ped,network,initialParameters,blendDuration,allowOverrideCloneUpdate,animDict,flags);end,\n"\ +"TASK_MOVE_NETWORK_ADVANCED_BY_NAME_WITH_INIT_PARAMS=function(ped,network,initialParameters,x,y,z,rotX,rotY,rotZ,rotOrder,blendDuration,allowOverrideCloneUpdate,dictionary,flags)return _natives.invoke_void(0x29682E2CCF21E9B5,ped,network,initialParameters,x,y,z,rotX,rotY,rotZ,rotOrder,blendDuration,allowOverrideCloneUpdate,dictionary,flags);end,\n"\ +"IS_TASK_MOVE_NETWORK_ACTIVE=function(ped)return _natives.invoke_bool(0x921CE12C489C4C41,ped);end,\n"\ +"IS_TASK_MOVE_NETWORK_READY_FOR_TRANSITION=function(ped)return _natives.invoke_bool(0x30ED88D5E0C56A37,ped);end,\n"\ +"REQUEST_TASK_MOVE_NETWORK_STATE_TRANSITION=function(ped,name)return _natives.invoke_bool(0xD01015C7316AE176,ped,name);end,\n"\ +"SET_EXPECTED_CLONE_NEXT_TASK_MOVE_NETWORK_STATE=function(ped,state)return _natives.invoke_bool(0xAB13A5565480B6D9,ped,state);end,\n"\ +"GET_TASK_MOVE_NETWORK_STATE=function(ped)return _natives.invoke_str(0x717E4D1F2048376D,ped);end,\n"\ +"SET_TASK_MOVE_NETWORK_ANIM_SET=function(ped,clipSet,variableClipSet)return _natives.invoke_void(0x8423541E8B3A1589,ped,clipSet,variableClipSet);end,\n"\ +"SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT=function(ped,signalName,value)return _natives.invoke_void(0xD5BB4025AE449A4E,ped,signalName,value);end,\n"\ +"SET_TASK_MOVE_NETWORK_SIGNAL_LOCAL_FLOAT=function(ped,signalName,value)return _natives.invoke_void(0x373EF409B82697A3,ped,signalName,value);end,\n"\ +"SET_TASK_MOVE_NETWORK_SIGNAL_FLOAT_LERP_RATE=function(ped,signalName,value)return _natives.invoke_void(0x8634CEF2522D987B,ped,signalName,value);end,\n"\ +"SET_TASK_MOVE_NETWORK_SIGNAL_BOOL=function(ped,signalName,value)return _natives.invoke_void(0xB0A6CFD2C69C1088,ped,signalName,value);end,\n"\ +"GET_TASK_MOVE_NETWORK_SIGNAL_FLOAT=function(ped,signalName)return _natives.invoke_float(0x44AB0B3AFECCE242,ped,signalName);end,\n"\ +"GET_TASK_MOVE_NETWORK_SIGNAL_BOOL=function(ped,signalName)return _natives.invoke_bool(0xA7FFBA498E4AAF67,ped,signalName);end,\n"\ +"GET_TASK_MOVE_NETWORK_EVENT=function(ped,eventName)return _natives.invoke_bool(0xB4F47213DF45A64C,ped,eventName);end,\n"\ +"SET_TASK_MOVE_NETWORK_ENABLE_COLLISION_ON_NETWORK_CLONE_WHEN_FIXED=function(ped,enable)return _natives.invoke_bool(0x0FFB3C758E8C07B9,ped,enable);end,\n"\ +"IS_MOVE_BLEND_RATIO_STILL=function(ped)return _natives.invoke_bool(0x349CE7B56DAFD95C,ped);end,\n"\ +"IS_MOVE_BLEND_RATIO_WALKING=function(ped)return _natives.invoke_bool(0xF133BBBE91E1691F,ped);end,\n"\ +"IS_MOVE_BLEND_RATIO_RUNNING=function(ped)return _natives.invoke_bool(0xD4D8636C0199A939,ped);end,\n"\ +"IS_MOVE_BLEND_RATIO_SPRINTING=function(ped)return _natives.invoke_bool(0x24A2AD74FA9814E2,ped);end,\n"\ +"IS_PED_STILL=function(ped)return _natives.invoke_bool(0xAC29253EEF8F0180,ped);end,\n"\ +"IS_PED_WALKING=function(ped)return _natives.invoke_bool(0xDE4C184B2B9B071A,ped);end,\n"\ +"IS_PED_RUNNING=function(ped)return _natives.invoke_bool(0xC5286FFC176F28A2,ped);end,\n"\ +"IS_PED_SPRINTING=function(ped)return _natives.invoke_bool(0x57E457CD2C0FC168,ped);end,\n"\ +"IS_PED_STRAFING=function(ped)return _natives.invoke_bool(0xE45B7F222DE47E09,ped);end,\n"\ +"TASK_SYNCHRONIZED_SCENE=function(ped,scene,animDictionary,animationName,blendIn,blendOut,flags,ragdollBlockingFlags,moverBlendDelta,ikFlags)return _natives.invoke_void(0xEEA929141F699854,ped,scene,animDictionary,animationName,blendIn,blendOut,flags,ragdollBlockingFlags,moverBlendDelta,ikFlags);end,\n"\ +"TASK_AGITATED_ACTION_CONFRONT_RESPONSE=function(ped,ped2)return _natives.invoke_void(0x19D1B791CB3670FE,ped,ped2);end,\n"\ +"TASK_SWEEP_AIM_ENTITY=function(ped,animDict,lowAnimName,medAnimName,hiAnimName,runtime,targetEntity,turnRate,blendInDuration)return _natives.invoke_void(0x2047C02158D6405A,ped,animDict,lowAnimName,medAnimName,hiAnimName,runtime,targetEntity,turnRate,blendInDuration);end,\n"\ +"UPDATE_TASK_SWEEP_AIM_ENTITY=function(ped,entity)return _natives.invoke_void(0xE4973DBDBE6E44B3,ped,entity);end,\n"\ +"TASK_SWEEP_AIM_POSITION=function(ped,animDict,lowAnimName,medAnimName,hiAnimName,runtime,x,y,z,turnRate,blendInDuration)return _natives.invoke_void(0x7AFE8FDC10BC07D2,ped,animDict,lowAnimName,medAnimName,hiAnimName,runtime,x,y,z,turnRate,blendInDuration);end,\n"\ +"UPDATE_TASK_SWEEP_AIM_POSITION=function(ped,x,y,z)return _natives.invoke_void(0xBB106883F5201FC4,ped,x,y,z);end,\n"\ +"TASK_ARREST_PED=function(ped,target)return _natives.invoke_void(0xF3B9A78A178572B1,ped,target);end,\n"\ +"IS_PED_RUNNING_ARREST_TASK=function(ped)return _natives.invoke_bool(0x3DC52677769B4AE0,ped);end,\n"\ +"IS_PED_BEING_ARRESTED=function(ped)return _natives.invoke_bool(0x90A09F3A45FED688,ped);end,\n"\ +"UNCUFF_PED=function(ped)return _natives.invoke_void(0x67406F2C8F87FC4F,ped);end,\n"\ +"IS_PED_CUFFED=function(ped)return _natives.invoke_bool(0x74E559B3BC910685,ped);end,\n"\ +"};\n"\ +"VEHICLE = {\n"\ +"CREATE_VEHICLE=function(modelHash,x,y,z,heading,isNetwork,bScriptHostVeh,p7)return _natives.invoke_int(0xAF35D0D2583051B0,modelHash,x,y,z,heading,isNetwork,bScriptHostVeh,p7);end,\n"\ +"DELETE_VEHICLE=function(vehicle)return _natives.invoke_void(0xEA386986E786A54F,vehicle);end,\n"\ +"SET_VEHICLE_ALLOW_HOMING_MISSLE_LOCKON=function(vehicle,toggle,p2)return _natives.invoke_void(0x7D6F9A3EF26136A0,vehicle,toggle,p2);end,\n"\ +"SET_VEHICLE_ALLOW_HOMING_MISSLE_LOCKON_SYNCED=function(vehicle,canBeLockedOn,p2)return _natives.invoke_void(0x1DDA078D12879EEE,vehicle,canBeLockedOn,p2);end,\n"\ +"SET_VEHICLE_ALLOW_NO_PASSENGERS_LOCKON=function(veh,toggle)return _natives.invoke_void(0x5D14D4154BFE7B2C,veh,toggle);end,\n"\ +"GET_VEHICLE_HOMING_LOCKON_STATE=function(vehicle)return _natives.invoke_int(0xE6B0E8CFC3633BF0,vehicle);end,\n"\ +"GET_VEHICLE_HOMING_LOCKEDONTO_STATE=function(p0)return _natives.invoke_int(0x6EAAEFC76ACC311F,p0);end,\n"\ +"SET_VEHICLE_HOMING_LOCKEDONTO_STATE=function(p0,p1)return _natives.invoke_void(0x407DC5E97DB1A4D3,p0,p1);end,\n"\ +"IS_VEHICLE_MODEL=function(vehicle,model)return _natives.invoke_bool(0x423E8DE37D934D89,vehicle,model);end,\n"\ +"DOES_SCRIPT_VEHICLE_GENERATOR_EXIST=function(vehicleGenerator)return _natives.invoke_bool(0xF6086BC836400876,vehicleGenerator);end,\n"\ +"CREATE_SCRIPT_VEHICLE_GENERATOR=function(x,y,z,heading,p4,p5,modelHash,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16)return _natives.invoke_int(0x9DEF883114668116,x,y,z,heading,p4,p5,modelHash,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16);end,\n"\ +"DELETE_SCRIPT_VEHICLE_GENERATOR=function(vehicleGenerator)return _natives.invoke_void(0x22102C9ABFCF125D,vehicleGenerator);end,\n"\ +"SET_SCRIPT_VEHICLE_GENERATOR=function(vehicleGenerator,enabled)return _natives.invoke_void(0xD9D620E0AC6DC4B0,vehicleGenerator,enabled);end,\n"\ +"SET_ALL_VEHICLE_GENERATORS_ACTIVE_IN_AREA=function(x1,y1,z1,x2,y2,z2,toggle,p7)return _natives.invoke_void(0xC12321827687FE4D,x1,y1,z1,x2,y2,z2,toggle,p7);end,\n"\ +"SET_ALL_VEHICLE_GENERATORS_ACTIVE=function()return _natives.invoke_void(0x34AD89078831A4BC);end,\n"\ +"SET_ALL_LOW_PRIORITY_VEHICLE_GENERATORS_ACTIVE=function(active)return _natives.invoke_void(0x608207E7A8FB787C,active);end,\n"\ +"SET_VEHICLE_GENERATOR_AREA_OF_INTEREST=function(x,y,z,radius)return _natives.invoke_void(0x9A75585FB2E54FAD,x,y,z,radius);end,\n"\ +"CLEAR_VEHICLE_GENERATOR_AREA_OF_INTEREST=function()return _natives.invoke_void(0x0A436B8643716D14);end,\n"\ +"SET_VEHICLE_ON_GROUND_PROPERLY=function(vehicle,p1)return _natives.invoke_bool(0x49733E92263139D1,vehicle,p1);end,\n"\ +"SET_VEHICLE_USE_CUTSCENE_WHEEL_COMPRESSION=function(p0,p1,p2,p3)return _natives.invoke_bool(0xE023E8AC4EF7C117,p0,p1,p2,p3);end,\n"\ +"IS_VEHICLE_STUCK_ON_ROOF=function(vehicle)return _natives.invoke_bool(0xB497F06B288DCFDF,vehicle);end,\n"\ +"ADD_VEHICLE_UPSIDEDOWN_CHECK=function(vehicle)return _natives.invoke_void(0xB72E26D81006005B,vehicle);end,\n"\ +"REMOVE_VEHICLE_UPSIDEDOWN_CHECK=function(vehicle)return _natives.invoke_void(0xC53EB42A499A7E90,vehicle);end,\n"\ +"IS_VEHICLE_STOPPED=function(vehicle)return _natives.invoke_bool(0x5721B434AD84D57A,vehicle);end,\n"\ +"GET_VEHICLE_NUMBER_OF_PASSENGERS=function(vehicle,includeDriver,includeDeadOccupants)return _natives.invoke_int(0x24CB2137731FFE89,vehicle,includeDriver,includeDeadOccupants);end,\n"\ +"GET_VEHICLE_MAX_NUMBER_OF_PASSENGERS=function(vehicle)return _natives.invoke_int(0xA7C4F2C6E744A550,vehicle);end,\n"\ +"GET_VEHICLE_MODEL_NUMBER_OF_SEATS=function(modelHash)return _natives.invoke_int(0x2AD93716F184EDA4,modelHash);end,\n"\ +"IS_SEAT_WARP_ONLY=function(vehicle,seatIndex)return _natives.invoke_bool(0xF7F203E31F96F6A1,vehicle,seatIndex);end,\n"\ +"IS_TURRET_SEAT=function(vehicle,seatIndex)return _natives.invoke_bool(0xE33FFA906CE74880,vehicle,seatIndex);end,\n"\ +"DOES_VEHICLE_ALLOW_RAPPEL=function(vehicle)return _natives.invoke_bool(0x4E417C547182C84D,vehicle);end,\n"\ +"SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME=function(multiplier)return _natives.invoke_void(0x245A6883D966D537,multiplier);end,\n"\ +"SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME=function(multiplier)return _natives.invoke_void(0xB3B3359379FE77D3,multiplier);end,\n"\ +"SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME=function(multiplier)return _natives.invoke_void(0xEAE6DCC7EEE3DB1D,multiplier);end,\n"\ +"SET_DISABLE_RANDOM_TRAINS_THIS_FRAME=function(toggle)return _natives.invoke_void(0xD4B8E3D1917BC86B,toggle);end,\n"\ +"SET_AMBIENT_VEHICLE_RANGE_MULTIPLIER_THIS_FRAME=function(value)return _natives.invoke_void(0x90B6DA738A9A25DA,value);end,\n"\ +"SET_FAR_DRAW_VEHICLES=function(toggle)return _natives.invoke_void(0x26324F33423F3CC3,toggle);end,\n"\ +"SET_NUMBER_OF_PARKED_VEHICLES=function(value)return _natives.invoke_void(0xCAA15F13EBD417FF,value);end,\n"\ +"SET_VEHICLE_DOORS_LOCKED=function(vehicle,doorLockStatus)return _natives.invoke_void(0xB664292EAECF7FA6,vehicle,doorLockStatus);end,\n"\ +"SET_VEHICLE_INDIVIDUAL_DOORS_LOCKED=function(vehicle,doorId,doorLockStatus)return _natives.invoke_void(0xBE70724027F85BCD,vehicle,doorId,doorLockStatus);end,\n"\ +"SET_VEHICLE_HAS_MUTED_SIRENS=function(vehicle,toggle)return _natives.invoke_void(0xD8050E0EB60CF274,vehicle,toggle);end,\n"\ +"SET_VEHICLE_DOORS_LOCKED_FOR_PLAYER=function(vehicle,player,toggle)return _natives.invoke_void(0x517AAF684BB50CD1,vehicle,player,toggle);end,\n"\ +"GET_VEHICLE_DOORS_LOCKED_FOR_PLAYER=function(vehicle,player)return _natives.invoke_bool(0xF6AF6CB341349015,vehicle,player);end,\n"\ +"SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS=function(vehicle,toggle)return _natives.invoke_void(0xA2F80B8D040727CC,vehicle,toggle);end,\n"\ +"SET_VEHICLE_DOORS_LOCKED_FOR_NON_SCRIPT_PLAYERS=function(vehicle,toggle)return _natives.invoke_void(0x9737A37136F07E75,vehicle,toggle);end,\n"\ +"SET_VEHICLE_DOORS_LOCKED_FOR_TEAM=function(vehicle,team,toggle)return _natives.invoke_void(0xB81F6D4A8F5EEBA8,vehicle,team,toggle);end,\n"\ +"SET_VEHICLE_DOORS_LOCKED_FOR_ALL_TEAMS=function(vehicle,toggle)return _natives.invoke_void(0x203B527D1B77904C,vehicle,toggle);end,\n"\ +"SET_VEHICLE_DONT_TERMINATE_TASK_WHEN_ACHIEVED=function(vehicle)return _natives.invoke_void(0x76D26A22750E849E,vehicle);end,\n"\ +"EXPLODE_VEHICLE=function(vehicle,isAudible,isInvisible)return _natives.invoke_void(0xBA71116ADF5B514C,vehicle,isAudible,isInvisible);end,\n"\ +"SET_VEHICLE_OUT_OF_CONTROL=function(vehicle,killDriver,explodeOnImpact)return _natives.invoke_void(0xF19D095E42D430CC,vehicle,killDriver,explodeOnImpact);end,\n"\ +"SET_VEHICLE_TIMED_EXPLOSION=function(vehicle,ped,toggle)return _natives.invoke_void(0x2E0A74E1002380B1,vehicle,ped,toggle);end,\n"\ +"ADD_VEHICLE_PHONE_EXPLOSIVE_DEVICE=function(vehicle)return _natives.invoke_void(0x99AD4CCCB128CBC9,vehicle);end,\n"\ +"CLEAR_VEHICLE_PHONE_EXPLOSIVE_DEVICE=function()return _natives.invoke_void(0xAA3F739ABDDCF21F);end,\n"\ +"HAS_VEHICLE_PHONE_EXPLOSIVE_DEVICE=function()return _natives.invoke_bool(0x6ADAABD3068C5235);end,\n"\ +"DETONATE_VEHICLE_PHONE_EXPLOSIVE_DEVICE=function()return _natives.invoke_void(0xEF49CF0270307CBE);end,\n"\ +"SET_TAXI_LIGHTS=function(vehicle,state)return _natives.invoke_void(0x598803E85E8448D9,vehicle,state);end,\n"\ +"IS_TAXI_LIGHT_ON=function(vehicle)return _natives.invoke_bool(0x7504C0F113AB50FC,vehicle);end,\n"\ +"IS_VEHICLE_IN_GARAGE_AREA=function(garageName,vehicle)return _natives.invoke_bool(0xCEE4490CD57BB3C2,garageName,vehicle);end,\n"\ +"SET_VEHICLE_COLOURS=function(vehicle,colorPrimary,colorSecondary)return _natives.invoke_void(0x4F1D4BE3A7F24601,vehicle,colorPrimary,colorSecondary);end,\n"\ +"SET_VEHICLE_FULLBEAM=function(vehicle,toggle)return _natives.invoke_void(0x8B7FD87F0DDB421E,vehicle,toggle);end,\n"\ +"SET_VEHICLE_IS_RACING=function(vehicle,toggle)return _natives.invoke_void(0x07116E24E9D1929D,vehicle,toggle);end,\n"\ +"SET_VEHICLE_CUSTOM_PRIMARY_COLOUR=function(vehicle,r,g,b)return _natives.invoke_void(0x7141766F91D15BEA,vehicle,r,g,b);end,\n"\ +"GET_VEHICLE_CUSTOM_PRIMARY_COLOUR=function(vehicle,r,g,b)return _natives.invoke_void(0xB64CF2CCA9D95F52,vehicle,r,g,b);end,\n"\ +"CLEAR_VEHICLE_CUSTOM_PRIMARY_COLOUR=function(vehicle)return _natives.invoke_void(0x55E1D2758F34E437,vehicle);end,\n"\ +"GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM=function(vehicle)return _natives.invoke_bool(0xF095C0405307B21B,vehicle);end,\n"\ +"SET_VEHICLE_CUSTOM_SECONDARY_COLOUR=function(vehicle,r,g,b)return _natives.invoke_void(0x36CED73BFED89754,vehicle,r,g,b);end,\n"\ +"GET_VEHICLE_CUSTOM_SECONDARY_COLOUR=function(vehicle,r,g,b)return _natives.invoke_void(0x8389CD56CA8072DC,vehicle,r,g,b);end,\n"\ +"CLEAR_VEHICLE_CUSTOM_SECONDARY_COLOUR=function(vehicle)return _natives.invoke_void(0x5FFBDEEC3E8E2009,vehicle);end,\n"\ +"GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM=function(vehicle)return _natives.invoke_bool(0x910A32E7AAD2656C,vehicle);end,\n"\ +"SET_VEHICLE_ENVEFF_SCALE=function(vehicle,fade)return _natives.invoke_void(0x3AFDC536C3D01674,vehicle,fade);end,\n"\ +"GET_VEHICLE_ENVEFF_SCALE=function(vehicle)return _natives.invoke_float(0xA82819CAC9C4C403,vehicle);end,\n"\ +"SET_CAN_RESPRAY_VEHICLE=function(vehicle,state)return _natives.invoke_void(0x52BBA29D5EC69356,vehicle,state);end,\n"\ +"SET_GOON_BOSS_VEHICLE=function(vehicle,toggle)return _natives.invoke_void(0xAB31EF4DE6800CE9,vehicle,toggle);end,\n"\ +"SET_OPEN_REAR_DOORS_ON_EXPLOSION=function(vehicle,toggle)return _natives.invoke_void(0x1B212B26DD3C04DF,vehicle,toggle);end,\n"\ +"FORCE_SUBMARINE_SURFACE_MODE=function(vehicle,toggle)return _natives.invoke_void(0x33506883545AC0DF,vehicle,toggle);end,\n"\ +"FORCE_SUBMARINE_NEURTAL_BUOYANCY=function(p0,p1)return _natives.invoke_void(0xC67DB108A9ADE3BE,p0,p1);end,\n"\ +"SET_SUBMARINE_CRUSH_DEPTHS=function(vehicle,p1,depth1,depth2,depth3)return _natives.invoke_void(0xC59872A5134879C7,vehicle,p1,depth1,depth2,depth3);end,\n"\ +"GET_SUBMARINE_IS_UNDER_DESIGN_DEPTH=function(submarine)return _natives.invoke_bool(0x3E71D0B300B7AA79,submarine);end,\n"\ +"GET_SUBMARINE_NUMBER_OF_AIR_LEAKS=function(submarine)return _natives.invoke_int(0x093D6DDCA5B8FBAE,submarine);end,\n"\ +"SET_BOAT_IGNORE_LAND_PROBES=function(p0,p1)return _natives.invoke_void(0xED5EDE9E676643C9,p0,p1);end,\n"\ +"_SET_BOUNDS_AFFECT_WATER_PROBES=function(vehicle,toggle)return _natives.invoke_void(0x85FC953F6C6CBDE1,vehicle,toggle);end,\n"\ +"SET_BOAT_ANCHOR=function(vehicle,toggle)return _natives.invoke_void(0x75DBEC174AEEAD10,vehicle,toggle);end,\n"\ +"CAN_ANCHOR_BOAT_HERE=function(vehicle)return _natives.invoke_bool(0x26C10ECBDA5D043B,vehicle);end,\n"\ +"CAN_ANCHOR_BOAT_HERE_IGNORE_PLAYERS=function(vehicle)return _natives.invoke_bool(0x24F4121D07579880,vehicle);end,\n"\ +"SET_BOAT_REMAINS_ANCHORED_WHILE_PLAYER_IS_DRIVER=function(vehicle,toggle)return _natives.invoke_void(0xE3EBAAE484798530,vehicle,toggle);end,\n"\ +"SET_FORCE_LOW_LOD_ANCHOR_MODE=function(vehicle,p1)return _natives.invoke_void(0xB28B1FE5BFADD7F5,vehicle,p1);end,\n"\ +"SET_BOAT_LOW_LOD_ANCHOR_DISTANCE=function(vehicle,value)return _natives.invoke_void(0xE842A9398079BD82,vehicle,value);end,\n"\ +"IS_BOAT_ANCHORED=function(vehicle)return _natives.invoke_bool(0xB0AD1238A709B1A2,vehicle);end,\n"\ +"SET_BOAT_SINKS_WHEN_WRECKED=function(vehicle,toggle)return _natives.invoke_void(0x8F719973E1445BA2,vehicle,toggle);end,\n"\ +"SET_BOAT_WRECKED=function(vehicle)return _natives.invoke_void(0xBD32E46AA95C1DD2,vehicle);end,\n"\ +"SET_VEHICLE_SIREN=function(vehicle,toggle)return _natives.invoke_void(0xF4924635A19EB37D,vehicle,toggle);end,\n"\ +"IS_VEHICLE_SIREN_ON=function(vehicle)return _natives.invoke_bool(0x4C9BF537BE2634B2,vehicle);end,\n"\ +"IS_VEHICLE_SIREN_AUDIO_ON=function(vehicle)return _natives.invoke_bool(0xB5CC40FBCB586380,vehicle);end,\n"\ +"SET_VEHICLE_STRONG=function(vehicle,toggle)return _natives.invoke_void(0x3E8C8727991A8A0B,vehicle,toggle);end,\n"\ +"REMOVE_VEHICLE_STUCK_CHECK=function(vehicle)return _natives.invoke_void(0x8386BFB614D06749,vehicle);end,\n"\ +"GET_VEHICLE_COLOURS=function(vehicle,colorPrimary,colorSecondary)return _natives.invoke_void(0xA19435F193E081AC,vehicle,colorPrimary,colorSecondary);end,\n"\ +"IS_VEHICLE_SEAT_FREE=function(vehicle,seatIndex,isTaskRunning)return _natives.invoke_bool(0x22AC59A870E6A669,vehicle,seatIndex,isTaskRunning);end,\n"\ +"GET_PED_IN_VEHICLE_SEAT=function(vehicle,seatIndex,p2)return _natives.invoke_int(0xBB40DD2270B65366,vehicle,seatIndex,p2);end,\n"\ +"GET_LAST_PED_IN_VEHICLE_SEAT=function(vehicle,seatIndex)return _natives.invoke_int(0x83F969AA1EE2A664,vehicle,seatIndex);end,\n"\ +"GET_VEHICLE_LIGHTS_STATE=function(vehicle,lightsOn,highbeamsOn)return _natives.invoke_bool(0xB91B4C20085BD12F,vehicle,lightsOn,highbeamsOn);end,\n"\ +"IS_VEHICLE_TYRE_BURST=function(vehicle,wheelID,completely)return _natives.invoke_bool(0xBA291848A0815CA9,vehicle,wheelID,completely);end,\n"\ +"SET_VEHICLE_FORWARD_SPEED=function(vehicle,speed)return _natives.invoke_void(0xAB54A438726D25D5,vehicle,speed);end,\n"\ +"SET_VEHICLE_FORWARD_SPEED_XY=function(vehicle,speed)return _natives.invoke_void(0x6501129C9E0FFA05,vehicle,speed);end,\n"\ +"BRING_VEHICLE_TO_HALT=function(vehicle,distance,duration,p3)return _natives.invoke_void(0x260BE8F09E326A20,vehicle,distance,duration,p3);end,\n"\ +"SET_VEHICLE_STEER_FOR_BUILDINGS=function(vehicle,p1)return _natives.invoke_void(0xDCE97BDF8A0EABC8,vehicle,p1);end,\n"\ +"SET_VEHICLE_CAUSES_SWERVING=function(vehicle,toggle)return _natives.invoke_void(0x9849DE24FCF23CCC,vehicle,toggle);end,\n"\ +"SET_IGNORE_PLANES_SMALL_PITCH_CHANGE=function(p0,p1)return _natives.invoke_void(0x8664170EF165C4A6,p0,p1);end,\n"\ +"STOP_BRINGING_VEHICLE_TO_HALT=function(vehicle)return _natives.invoke_void(0x7C06330BFDDA182E,vehicle);end,\n"\ +"IS_VEHICLE_BEING_BROUGHT_TO_HALT=function(vehicle)return _natives.invoke_bool(0xC69BB1D832A710EF,vehicle);end,\n"\ +"LOWER_FORKLIFT_FORKS=function(forklift)return _natives.invoke_void(0x923A293361DF44E5,forklift);end,\n"\ +"SET_FORKLIFT_FORK_HEIGHT=function(vehicle,height)return _natives.invoke_void(0x37EBBF3117BD6A25,vehicle,height);end,\n"\ +"IS_ENTITY_ATTACHED_TO_HANDLER_FRAME=function(vehicle,entity)return _natives.invoke_bool(0x57715966069157AD,vehicle,entity);end,\n"\ +"IS_ANY_ENTITY_ATTACHED_TO_HANDLER_FRAME=function(vehicle)return _natives.invoke_bool(0x62CA17B74C435651,vehicle);end,\n"\ +"FIND_HANDLER_VEHICLE_CONTAINER_IS_ATTACHED_TO=function(entity)return _natives.invoke_int(0x375E7FC44F21C8AB,entity);end,\n"\ +"IS_HANDLER_FRAME_LINED_UP_WITH_CONTAINER=function(vehicle,entity)return _natives.invoke_bool(0x89D630CF5EA96D23,vehicle,entity);end,\n"\ +"ATTACH_CONTAINER_TO_HANDLER_FRAME_WHEN_LINED_UP=function(vehicle,entity)return _natives.invoke_void(0x6A98C2ECF57FA5D4,vehicle,entity);end,\n"\ +"DETACH_CONTAINER_FROM_HANDLER_FRAME=function(vehicle)return _natives.invoke_void(0x7C0043FDFF6436BC,vehicle);end,\n"\ +"SET_VEHICLE_DISABLE_HEIGHT_MAP_AVOIDANCE=function(vehicle,p1)return _natives.invoke_void(0x8AA9180DE2FEDD45,vehicle,p1);end,\n"\ +"SET_BOAT_DISABLE_AVOIDANCE=function(vehicle,p1)return _natives.invoke_void(0x0A6A279F3AA4FD70,vehicle,p1);end,\n"\ +"IS_HELI_LANDING_AREA_BLOCKED=function(vehicle)return _natives.invoke_bool(0x634148744F385576,vehicle);end,\n"\ +"SET_SHORT_SLOWDOWN_FOR_LANDING=function(vehicle)return _natives.invoke_void(0x107A473D7A6647A9,vehicle);end,\n"\ +"SET_HELI_TURBULENCE_SCALAR=function(vehicle,p1)return _natives.invoke_void(0xE6F13851780394DA,vehicle,p1);end,\n"\ +"SET_CAR_BOOT_OPEN=function(vehicle)return _natives.invoke_void(0xFC40CBF7B90CA77C,vehicle);end,\n"\ +"SET_VEHICLE_TYRE_BURST=function(vehicle,index,onRim,p3)return _natives.invoke_void(0xEC6A202EE4960385,vehicle,index,onRim,p3);end,\n"\ +"SET_VEHICLE_DOORS_SHUT=function(vehicle,closeInstantly)return _natives.invoke_void(0x781B3D62BB013EF5,vehicle,closeInstantly);end,\n"\ +"SET_VEHICLE_TYRES_CAN_BURST=function(vehicle,toggle)return _natives.invoke_void(0xEB9DC3C7D8596C46,vehicle,toggle);end,\n"\ +"GET_VEHICLE_TYRES_CAN_BURST=function(vehicle)return _natives.invoke_bool(0x678B9BB8C3F58FEB,vehicle);end,\n"\ +"SET_VEHICLE_WHEELS_CAN_BREAK=function(vehicle,enabled)return _natives.invoke_void(0x29B18B4FD460CA8F,vehicle,enabled);end,\n"\ +"SET_VEHICLE_DOOR_OPEN=function(vehicle,doorId,loose,openInstantly)return _natives.invoke_void(0x7C65DAC73C35C862,vehicle,doorId,loose,openInstantly);end,\n"\ +"SET_VEHICLE_DOOR_AUTO_LOCK=function(vehicle,doorId,toggle)return _natives.invoke_void(0x3B458DDB57038F08,vehicle,doorId,toggle);end,\n"\ +"SET_FLEEING_VEHICLES_USE_SWITCHED_OFF_NODES=function(p0)return _natives.invoke_void(0xA247F9EF01D8082E,p0);end,\n"\ +"REMOVE_VEHICLE_WINDOW=function(vehicle,windowIndex)return _natives.invoke_void(0xA711568EEDB43069,vehicle,windowIndex);end,\n"\ +"ROLL_DOWN_WINDOWS=function(vehicle)return _natives.invoke_void(0x85796B0549DDE156,vehicle);end,\n"\ +"ROLL_DOWN_WINDOW=function(vehicle,windowIndex)return _natives.invoke_void(0x7AD9E6CE657D69E3,vehicle,windowIndex);end,\n"\ +"ROLL_UP_WINDOW=function(vehicle,windowIndex)return _natives.invoke_void(0x602E548F46E24D59,vehicle,windowIndex);end,\n"\ +"SMASH_VEHICLE_WINDOW=function(vehicle,windowIndex)return _natives.invoke_void(0x9E5B5E4D2CCD2259,vehicle,windowIndex);end,\n"\ +"FIX_VEHICLE_WINDOW=function(vehicle,windowIndex)return _natives.invoke_void(0x772282EBEB95E682,vehicle,windowIndex);end,\n"\ +"POP_OUT_VEHICLE_WINDSCREEN=function(vehicle)return _natives.invoke_void(0x6D645D59FB5F5AD3,vehicle);end,\n"\ +"POP_OFF_VEHICLE_ROOF_WITH_IMPULSE=function(vehicle,x,y,z)return _natives.invoke_void(0xE38CB9D7D39FDBCC,vehicle,x,y,z);end,\n"\ +"SET_VEHICLE_LIGHTS=function(vehicle,state)return _natives.invoke_void(0x34E710FF01247C5A,vehicle,state);end,\n"\ +"SET_VEHICLE_USE_PLAYER_LIGHT_SETTINGS=function(vehicle,toggle)return _natives.invoke_void(0xC45C27EF50F36ADC,vehicle,toggle);end,\n"\ +"SET_VEHICLE_HEADLIGHT_SHADOWS=function(vehicle,p1)return _natives.invoke_void(0x1FD09E7390A74D54,vehicle,p1);end,\n"\ +"SET_VEHICLE_ALARM=function(vehicle,state)return _natives.invoke_void(0xCDE5E70C1DDB954C,vehicle,state);end,\n"\ +"START_VEHICLE_ALARM=function(vehicle)return _natives.invoke_void(0xB8FF7AB45305C345,vehicle);end,\n"\ +"IS_VEHICLE_ALARM_ACTIVATED=function(vehicle)return _natives.invoke_bool(0x4319E335B71FFF34,vehicle);end,\n"\ +"SET_VEHICLE_INTERIORLIGHT=function(vehicle,toggle)return _natives.invoke_void(0xBC2042F090AF6AD3,vehicle,toggle);end,\n"\ +"SET_VEHICLE_FORCE_INTERIORLIGHT=function(vehicle,toggle)return _natives.invoke_void(0x8821196D91FA2DE5,vehicle,toggle);end,\n"\ +"SET_VEHICLE_LIGHT_MULTIPLIER=function(vehicle,multiplier)return _natives.invoke_void(0xB385454F8791F57C,vehicle,multiplier);end,\n"\ +"ATTACH_VEHICLE_TO_TRAILER=function(vehicle,trailer,radius)return _natives.invoke_void(0x3C7D42D58F770B54,vehicle,trailer,radius);end,\n"\ +"ATTACH_VEHICLE_ON_TO_TRAILER=function(vehicle,trailer,offsetX,offsetY,offsetZ,coordsX,coordsY,coordsZ,rotationX,rotationY,rotationZ,disableCollisions)return _natives.invoke_void(0x16B5E274BDE402F8,vehicle,trailer,offsetX,offsetY,offsetZ,coordsX,coordsY,coordsZ,rotationX,rotationY,rotationZ,disableCollisions);end,\n"\ +"STABILISE_ENTITY_ATTACHED_TO_HELI=function(vehicle,entity,p2)return _natives.invoke_void(0x374706271354CB18,vehicle,entity,p2);end,\n"\ +"DETACH_VEHICLE_FROM_TRAILER=function(vehicle)return _natives.invoke_void(0x90532EDF0D2BDD86,vehicle);end,\n"\ +"IS_VEHICLE_ATTACHED_TO_TRAILER=function(vehicle)return _natives.invoke_bool(0xE7CF3C4F9F489F0C,vehicle);end,\n"\ +"SET_TRAILER_INVERSE_MASS_SCALE=function(vehicle,p1)return _natives.invoke_void(0x2A8F319B392E7B3F,vehicle,p1);end,\n"\ +"SET_TRAILER_LEGS_RAISED=function(vehicle)return _natives.invoke_void(0x95CF53B3D687F9FA,vehicle);end,\n"\ +"SET_TRAILER_LEGS_LOWERED=function(vehicle)return _natives.invoke_void(0x878C75C09FBDB942,vehicle);end,\n"\ +"SET_VEHICLE_TYRE_FIXED=function(vehicle,tyreIndex)return _natives.invoke_void(0x6E13FC662B882D1D,vehicle,tyreIndex);end,\n"\ +"SET_VEHICLE_NUMBER_PLATE_TEXT=function(vehicle,plateText)return _natives.invoke_void(0x95A88F0B409CDA47,vehicle,plateText);end,\n"\ +"GET_VEHICLE_NUMBER_PLATE_TEXT=function(vehicle)return _natives.invoke_str(0x7CE1CCB9B293020E,vehicle);end,\n"\ +"GET_NUMBER_OF_VEHICLE_NUMBER_PLATES=function()return _natives.invoke_int(0x4C4D6B2644F458CB);end,\n"\ +"SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX=function(vehicle,plateIndex)return _natives.invoke_void(0x9088EB5A43FFB0A1,vehicle,plateIndex);end,\n"\ +"GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX=function(vehicle)return _natives.invoke_int(0xF11BC2DD9A3E7195,vehicle);end,\n"\ +"SET_RANDOM_TRAINS=function(toggle)return _natives.invoke_void(0x80D9F74197EA47D9,toggle);end,\n"\ +"CREATE_MISSION_TRAIN=function(variation,x,y,z,direction,p5,p6)return _natives.invoke_int(0x63C6CCA8E68AE8C8,variation,x,y,z,direction,p5,p6);end,\n"\ +"SWITCH_TRAIN_TRACK=function(trackId,state)return _natives.invoke_void(0xFD813BB7DB977F20,trackId,state);end,\n"\ +"SET_TRAIN_TRACK_SPAWN_FREQUENCY=function(trackIndex,frequency)return _natives.invoke_void(0x21973BBF8D17EDFA,trackIndex,frequency);end,\n"\ +"ALLOW_TRAIN_TO_BE_REMOVED_BY_POPULATION=function(p0)return _natives.invoke_void(0x2310A8F9421EBF43,p0);end,\n"\ +"DELETE_ALL_TRAINS=function()return _natives.invoke_void(0x736A718577F39C7D);end,\n"\ +"SET_TRAIN_SPEED=function(train,speed)return _natives.invoke_void(0xAA0BC91BE0B796E3,train,speed);end,\n"\ +"SET_TRAIN_CRUISE_SPEED=function(train,speed)return _natives.invoke_void(0x16469284DB8C62B5,train,speed);end,\n"\ +"SET_RANDOM_BOATS=function(toggle)return _natives.invoke_void(0x84436EC293B1415F,toggle);end,\n"\ +"SET_RANDOM_BOATS_MP=function(toggle)return _natives.invoke_void(0xDA5E12F728DB30CA,toggle);end,\n"\ +"SET_GARBAGE_TRUCKS=function(toggle)return _natives.invoke_void(0x2AFD795EEAC8D30D,toggle);end,\n"\ +"DOES_VEHICLE_HAVE_STUCK_VEHICLE_CHECK=function(vehicle)return _natives.invoke_bool(0x57E4C39DE5EE8470,vehicle);end,\n"\ +"GET_VEHICLE_RECORDING_ID=function(recording,script)return _natives.invoke_int(0x21543C612379DB3C,recording,script);end,\n"\ +"REQUEST_VEHICLE_RECORDING=function(recording,script)return _natives.invoke_void(0xAF514CABE74CBF15,recording,script);end,\n"\ +"HAS_VEHICLE_RECORDING_BEEN_LOADED=function(recording,script)return _natives.invoke_bool(0x300D614A4C785FC4,recording,script);end,\n"\ +"REMOVE_VEHICLE_RECORDING=function(recording,script)return _natives.invoke_void(0xF1160ACCF98A3FC8,recording,script);end,\n"\ +"GET_POSITION_OF_VEHICLE_RECORDING_ID_AT_TIME=function(id,time)return _natives.invoke_vec3(0x92523B76657A517D,id,time);end,\n"\ +"GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME=function(recording,time,script)return _natives.invoke_vec3(0xD242728AA6F0FBA2,recording,time,script);end,\n"\ +"GET_ROTATION_OF_VEHICLE_RECORDING_ID_AT_TIME=function(id,time)return _natives.invoke_vec3(0xF0F2103EFAF8CBA7,id,time);end,\n"\ +"GET_ROTATION_OF_VEHICLE_RECORDING_AT_TIME=function(recording,time,script)return _natives.invoke_vec3(0x2058206FBE79A8AD,recording,time,script);end,\n"\ +"GET_TOTAL_DURATION_OF_VEHICLE_RECORDING_ID=function(id)return _natives.invoke_float(0x102D125411A7B6E6,id);end,\n"\ +"GET_TOTAL_DURATION_OF_VEHICLE_RECORDING=function(recording,script)return _natives.invoke_float(0x0E48D1C262390950,recording,script);end,\n"\ +"GET_POSITION_IN_RECORDING=function(vehicle)return _natives.invoke_float(0x2DACD605FC681475,vehicle);end,\n"\ +"GET_TIME_POSITION_IN_RECORDING=function(vehicle)return _natives.invoke_float(0x5746F3A7AB7FE544,vehicle);end,\n"\ +"START_PLAYBACK_RECORDED_VEHICLE=function(vehicle,recording,script,p3)return _natives.invoke_void(0x3F878F92B3A7A071,vehicle,recording,script,p3);end,\n"\ +"START_PLAYBACK_RECORDED_VEHICLE_WITH_FLAGS=function(vehicle,recording,script,flags,time,drivingStyle)return _natives.invoke_void(0x7D80FD645D4DA346,vehicle,recording,script,flags,time,drivingStyle);end,\n"\ +"FORCE_PLAYBACK_RECORDED_VEHICLE_UPDATE=function(vehicle,p1)return _natives.invoke_void(0x1F2E4E06DEA8992B,vehicle,p1);end,\n"\ +"STOP_PLAYBACK_RECORDED_VEHICLE=function(vehicle)return _natives.invoke_void(0x54833611C17ABDEA,vehicle);end,\n"\ +"PAUSE_PLAYBACK_RECORDED_VEHICLE=function(vehicle)return _natives.invoke_void(0x632A689BF42301B1,vehicle);end,\n"\ +"UNPAUSE_PLAYBACK_RECORDED_VEHICLE=function(vehicle)return _natives.invoke_void(0x8879EE09268305D5,vehicle);end,\n"\ +"IS_PLAYBACK_GOING_ON_FOR_VEHICLE=function(vehicle)return _natives.invoke_bool(0x1C8A4C2C19E68EEC,vehicle);end,\n"\ +"IS_PLAYBACK_USING_AI_GOING_ON_FOR_VEHICLE=function(vehicle)return _natives.invoke_bool(0xAEA8FD591FAD4106,vehicle);end,\n"\ +"GET_CURRENT_PLAYBACK_FOR_VEHICLE=function(vehicle)return _natives.invoke_int(0x42BC05C27A946054,vehicle);end,\n"\ +"SKIP_TO_END_AND_STOP_PLAYBACK_RECORDED_VEHICLE=function(vehicle)return _natives.invoke_void(0xAB8E2EDA0C0A5883,vehicle);end,\n"\ +"SET_PLAYBACK_SPEED=function(vehicle,speed)return _natives.invoke_void(0x6683AB880E427778,vehicle,speed);end,\n"\ +"START_PLAYBACK_RECORDED_VEHICLE_USING_AI=function(vehicle,recording,script,speed,drivingStyle)return _natives.invoke_void(0x29DE5FA52D00428C,vehicle,recording,script,speed,drivingStyle);end,\n"\ +"SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE=function(vehicle,time)return _natives.invoke_void(0x9438F7AD68771A20,vehicle,time);end,\n"\ +"SET_PLAYBACK_TO_USE_AI=function(vehicle,drivingStyle)return _natives.invoke_void(0xA549C3B37EA28131,vehicle,drivingStyle);end,\n"\ +"SET_PLAYBACK_TO_USE_AI_TRY_TO_REVERT_BACK_LATER=function(vehicle,time,drivingStyle,p3)return _natives.invoke_void(0x6E63860BBB190730,vehicle,time,drivingStyle,p3);end,\n"\ +"SET_ADDITIONAL_ROTATION_FOR_RECORDED_VEHICLE_PLAYBACK=function(vehicle,x,y,z,p4)return _natives.invoke_void(0x5845066D8A1EA7F7,vehicle,x,y,z,p4);end,\n"\ +"SET_POSITION_OFFSET_FOR_RECORDED_VEHICLE_PLAYBACK=function(vehicle,x,y,z)return _natives.invoke_void(0x796A877E459B99EA,vehicle,x,y,z);end,\n"\ +"SET_GLOBAL_POSITION_OFFSET_FOR_RECORDED_VEHICLE_PLAYBACK=function(vehicle,x,y,z)return _natives.invoke_void(0xFAF2A78061FD9EF4,vehicle,x,y,z);end,\n"\ +"SET_SHOULD_LERP_FROM_AI_TO_FULL_RECORDING=function(vehicle,p1)return _natives.invoke_void(0x063AE2B2CC273588,vehicle,p1);end,\n"\ +"EXPLODE_VEHICLE_IN_CUTSCENE=function(vehicle,p1)return _natives.invoke_void(0x786A4EB67B01BF0B,vehicle,p1);end,\n"\ +"ADD_VEHICLE_STUCK_CHECK_WITH_WARP=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_void(0x2FA9923062DD396C,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"SET_VEHICLE_MODEL_IS_SUPPRESSED=function(model,suppressed)return _natives.invoke_void(0x0FC2D89AC25A5814,model,suppressed);end,\n"\ +"GET_RANDOM_VEHICLE_IN_SPHERE=function(x,y,z,radius,modelHash,flags)return _natives.invoke_int(0x386F6CE5BAF6091C,x,y,z,radius,modelHash,flags);end,\n"\ +"GET_RANDOM_VEHICLE_FRONT_BUMPER_IN_SPHERE=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_int(0xC5574E0AEB86BA68,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"GET_RANDOM_VEHICLE_BACK_BUMPER_IN_SPHERE=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_int(0xB50807EABE20A8DC,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"GET_CLOSEST_VEHICLE=function(x,y,z,radius,modelHash,flags)return _natives.invoke_int(0xF73EB622C4F1689B,x,y,z,radius,modelHash,flags);end,\n"\ +"GET_TRAIN_CARRIAGE=function(train,trailerNumber)return _natives.invoke_int(0x08AAFD0814722BC3,train,trailerNumber);end,\n"\ +"IS_MISSION_TRAIN=function(train)return _natives.invoke_bool(0xAD464F2E18836BFC,train);end,\n"\ +"DELETE_MISSION_TRAIN=function(train)return _natives.invoke_void(0x5B76B14AE875C795,train);end,\n"\ +"SET_MISSION_TRAIN_AS_NO_LONGER_NEEDED=function(train,p1)return _natives.invoke_void(0xBBE7648349B49BE8,train,p1);end,\n"\ +"SET_MISSION_TRAIN_COORDS=function(train,x,y,z)return _natives.invoke_void(0x591CA673AA6AB736,train,x,y,z);end,\n"\ +"IS_THIS_MODEL_A_BOAT=function(model)return _natives.invoke_bool(0x45A9187928F4B9E3,model);end,\n"\ +"IS_THIS_MODEL_A_JETSKI=function(model)return _natives.invoke_bool(0x9537097412CF75FE,model);end,\n"\ +"IS_THIS_MODEL_A_PLANE=function(model)return _natives.invoke_bool(0xA0948AB42D7BA0DE,model);end,\n"\ +"IS_THIS_MODEL_A_HELI=function(model)return _natives.invoke_bool(0xDCE4334788AF94EA,model);end,\n"\ +"IS_THIS_MODEL_A_CAR=function(model)return _natives.invoke_bool(0x7F6DB52EEFC96DF8,model);end,\n"\ +"IS_THIS_MODEL_A_TRAIN=function(model)return _natives.invoke_bool(0xAB935175B22E822B,model);end,\n"\ +"IS_THIS_MODEL_A_BIKE=function(model)return _natives.invoke_bool(0xB50C0B0CEDC6CE84,model);end,\n"\ +"IS_THIS_MODEL_A_BICYCLE=function(model)return _natives.invoke_bool(0xBF94DD42F63BDED2,model);end,\n"\ +"IS_THIS_MODEL_A_QUADBIKE=function(model)return _natives.invoke_bool(0x39DAC362EE65FA28,model);end,\n"\ +"IS_THIS_MODEL_AN_AMPHIBIOUS_CAR=function(model)return _natives.invoke_bool(0x633F6F44A537EBB6,model);end,\n"\ +"IS_THIS_MODEL_AN_AMPHIBIOUS_QUADBIKE=function(model)return _natives.invoke_bool(0xA1A9FC1C76A6730D,model);end,\n"\ +"SET_HELI_BLADES_FULL_SPEED=function(vehicle)return _natives.invoke_void(0xA178472EBB8AE60D,vehicle);end,\n"\ +"SET_HELI_BLADES_SPEED=function(vehicle,speed)return _natives.invoke_void(0xFD280B4D7F3ABC4D,vehicle,speed);end,\n"\ +"FORCE_SUB_THROTTLE_FOR_TIME=function(vehicle,p1,p2)return _natives.invoke_void(0x99CAD8E7AFDB60FA,vehicle,p1,p2);end,\n"\ +"SET_VEHICLE_CAN_BE_TARGETTED=function(vehicle,state)return _natives.invoke_void(0x3750146A28097A82,vehicle,state);end,\n"\ +"SET_DONT_ALLOW_PLAYER_TO_ENTER_VEHICLE_IF_LOCKED_FOR_PLAYER=function(vehicle,p1)return _natives.invoke_void(0xDBC631F109350B8C,vehicle,p1);end,\n"\ +"SET_VEHICLE_CAN_BE_VISIBLY_DAMAGED=function(vehicle,state)return _natives.invoke_void(0x4C7028F78FFD3681,vehicle,state);end,\n"\ +"SET_VEHICLE_HAS_UNBREAKABLE_LIGHTS=function(vehicle,toggle)return _natives.invoke_void(0x1AA8A837D2169D94,vehicle,toggle);end,\n"\ +"SET_VEHICLE_RESPECTS_LOCKS_WHEN_HAS_DRIVER=function(vehicle,p1)return _natives.invoke_void(0x2311DD7159F00582,vehicle,p1);end,\n"\ +"SET_VEHICLE_CAN_EJECT_PASSENGERS_IF_LOCKED=function(p0,p1)return _natives.invoke_void(0x065D03A9D6B2C6B5,p0,p1);end,\n"\ +"GET_VEHICLE_DIRT_LEVEL=function(vehicle)return _natives.invoke_float(0x8F17BC8BA08DA62B,vehicle);end,\n"\ +"SET_VEHICLE_DIRT_LEVEL=function(vehicle,dirtLevel)return _natives.invoke_void(0x79D3B596FE44EE8B,vehicle,dirtLevel);end,\n"\ +"GET_DOES_VEHICLE_HAVE_DAMAGE_DECALS=function(vehicle)return _natives.invoke_bool(0xBCDC5017D3CE1E9E,vehicle);end,\n"\ +"IS_VEHICLE_DOOR_FULLY_OPEN=function(vehicle,doorId)return _natives.invoke_bool(0x3E933CFF7B111C22,vehicle,doorId);end,\n"\ +"SET_VEHICLE_ENGINE_ON=function(vehicle,value,instantly,disableAutoStart)return _natives.invoke_void(0x2497C4717C8B881E,vehicle,value,instantly,disableAutoStart);end,\n"\ +"SET_VEHICLE_UNDRIVEABLE=function(vehicle,toggle)return _natives.invoke_void(0x8ABA6AF54B942B95,vehicle,toggle);end,\n"\ +"SET_VEHICLE_PROVIDES_COVER=function(vehicle,toggle)return _natives.invoke_void(0x5AFEEDD9BB2899D7,vehicle,toggle);end,\n"\ +"SET_VEHICLE_DOOR_CONTROL=function(vehicle,doorId,speed,angle)return _natives.invoke_void(0xF2BFA0430F0A0FCB,vehicle,doorId,speed,angle);end,\n"\ +"SET_VEHICLE_DOOR_LATCHED=function(vehicle,doorId,p2,p3,p4)return _natives.invoke_void(0xA5A9653A8D2CAF48,vehicle,doorId,p2,p3,p4);end,\n"\ +"GET_VEHICLE_DOOR_ANGLE_RATIO=function(vehicle,doorId)return _natives.invoke_float(0xFE3F9C29F7B32BD5,vehicle,doorId);end,\n"\ +"GET_PED_USING_VEHICLE_DOOR=function(vehicle,doord)return _natives.invoke_int(0x218297BF0CFD853B,vehicle,doord);end,\n"\ +"SET_VEHICLE_DOOR_SHUT=function(vehicle,doorId,closeInstantly)return _natives.invoke_void(0x93D9BD300D7789E5,vehicle,doorId,closeInstantly);end,\n"\ +"SET_VEHICLE_DOOR_BROKEN=function(vehicle,doorId,deleteDoor)return _natives.invoke_void(0xD4D4F6A4AB575A33,vehicle,doorId,deleteDoor);end,\n"\ +"SET_VEHICLE_CAN_BREAK=function(vehicle,toggle)return _natives.invoke_void(0x59BF8C3D52C92F66,vehicle,toggle);end,\n"\ +"DOES_VEHICLE_HAVE_ROOF=function(vehicle)return _natives.invoke_bool(0x8AC862B0B32C5B80,vehicle);end,\n"\ +"SET_VEHICLE_REMOVE_AGGRESSIVE_CARJACK_MISSION=function(p0)return _natives.invoke_void(0xC4B3347BD68BD609,p0);end,\n"\ +"SET_VEHICLE_AVOID_PLAYER_VEHICLE_RIOT_VAN_MISSION=function(p0)return _natives.invoke_void(0xD3301660A57C9272,p0);end,\n"\ +"SET_CARJACK_MISSION_REMOVAL_PARAMETERS=function(p0,p1)return _natives.invoke_void(0xB9562064627FF9DB,p0,p1);end,\n"\ +"IS_BIG_VEHICLE=function(vehicle)return _natives.invoke_bool(0x9F243D3919F442FE,vehicle);end,\n"\ +"GET_NUMBER_OF_VEHICLE_COLOURS=function(vehicle)return _natives.invoke_int(0x3B963160CD65D41E,vehicle);end,\n"\ +"SET_VEHICLE_COLOUR_COMBINATION=function(vehicle,colorCombination)return _natives.invoke_void(0x33E8CD3322E2FE31,vehicle,colorCombination);end,\n"\ +"GET_VEHICLE_COLOUR_COMBINATION=function(vehicle)return _natives.invoke_int(0x6A842D197F845D56,vehicle);end,\n"\ +"SET_VEHICLE_XENON_LIGHT_COLOR_INDEX=function(vehicle,colorIndex)return _natives.invoke_void(0xE41033B25D003A07,vehicle,colorIndex);end,\n"\ +"GET_VEHICLE_XENON_LIGHT_COLOR_INDEX=function(vehicle)return _natives.invoke_int(0x3DFF319A831E0CDB,vehicle);end,\n"\ +"SET_VEHICLE_IS_CONSIDERED_BY_PLAYER=function(vehicle,toggle)return _natives.invoke_void(0x31B927BBC44156CD,vehicle,toggle);end,\n"\ +"SET_VEHICLE_WILL_FORCE_OTHER_VEHICLES_TO_STOP=function(vehicle,toggle)return _natives.invoke_void(0xBE5C1255A1830FF5,vehicle,toggle);end,\n"\ +"SET_VEHICLE_ACT_AS_IF_HAS_SIREN_ON=function(vehicle,p1)return _natives.invoke_void(0x9BECD4B9FEF3F8A6,vehicle,p1);end,\n"\ +"SET_VEHICLE_USE_MORE_RESTRICTIVE_SPAWN_CHECKS=function(vehicle,p1)return _natives.invoke_void(0x88BC673CA9E0AE99,vehicle,p1);end,\n"\ +"SET_VEHICLE_MAY_BE_USED_BY_GOTO_POINT_ANY_MEANS=function(vehicle,p1)return _natives.invoke_void(0xE851E480B814D4BA,vehicle,p1);end,\n"\ +"GET_RANDOM_VEHICLE_MODEL_IN_MEMORY=function(p0,modelHash,successIndicator)return _natives.invoke_void(0x055BF0AC0C34F4FD,p0,modelHash,successIndicator);end,\n"\ +"GET_VEHICLE_DOOR_LOCK_STATUS=function(vehicle)return _natives.invoke_int(0x25BC98A59C2EA962,vehicle);end,\n"\ +"GET_VEHICLE_INDIVIDUAL_DOOR_LOCK_STATUS=function(vehicle,doorId)return _natives.invoke_int(0xCA4AC3EAAE46EC7B,vehicle,doorId);end,\n"\ +"IS_VEHICLE_DOOR_DAMAGED=function(veh,doorID)return _natives.invoke_bool(0xB8E181E559464527,veh,doorID);end,\n"\ +"SET_DOOR_ALLOWED_TO_BE_BROKEN_OFF=function(vehicle,doorId,isBreakable)return _natives.invoke_void(0x2FA133A4A9D37ED8,vehicle,doorId,isBreakable);end,\n"\ +"IS_VEHICLE_BUMPER_BOUNCING=function(vehicle,frontBumper)return _natives.invoke_bool(0x27B926779DEB502D,vehicle,frontBumper);end,\n"\ +"IS_VEHICLE_BUMPER_BROKEN_OFF=function(vehicle,frontBumper)return _natives.invoke_bool(0x468056A6BB6F3846,vehicle,frontBumper);end,\n"\ +"IS_COP_VEHICLE_IN_AREA_3D=function(x1,x2,y1,y2,z1,z2)return _natives.invoke_bool(0x7EEF65D5F153E26A,x1,x2,y1,y2,z1,z2);end,\n"\ +"IS_VEHICLE_ON_ALL_WHEELS=function(vehicle)return _natives.invoke_bool(0xB104CD1BABF302E2,vehicle);end,\n"\ +"GET_VEHICLE_MODEL_VALUE=function(vehicleModel)return _natives.invoke_int(0x5873C14A52D74236,vehicleModel);end,\n"\ +"GET_VEHICLE_LAYOUT_HASH=function(vehicle)return _natives.invoke_int(0x28D37D4F71AC5C58,vehicle);end,\n"\ +"GET_IN_VEHICLE_CLIPSET_HASH_FOR_SEAT=function(vehicle,p1)return _natives.invoke_int(0xA01BC64DD4BFBBAC,vehicle,p1);end,\n"\ +"SET_RENDER_TRAIN_AS_DERAILED=function(train,toggle)return _natives.invoke_void(0x317B11A312DF5534,train,toggle);end,\n"\ +"SET_VEHICLE_EXTRA_COLOURS=function(vehicle,pearlescentColor,wheelColor)return _natives.invoke_void(0x2036F561ADD12E33,vehicle,pearlescentColor,wheelColor);end,\n"\ +"GET_VEHICLE_EXTRA_COLOURS=function(vehicle,pearlescentColor,wheelColor)return _natives.invoke_void(0x3BC4245933A166F7,vehicle,pearlescentColor,wheelColor);end,\n"\ +"SET_VEHICLE_EXTRA_COLOUR_5=function(vehicle,color)return _natives.invoke_void(0xF40DD601A65F7F19,vehicle,color);end,\n"\ +"GET_VEHICLE_EXTRA_COLOUR_5=function(vehicle,color)return _natives.invoke_void(0x7D1464D472D32136,vehicle,color);end,\n"\ +"SET_VEHICLE_EXTRA_COLOUR_6=function(vehicle,color)return _natives.invoke_void(0x6089CDF6A57F326C,vehicle,color);end,\n"\ +"GET_VEHICLE_EXTRA_COLOUR_6=function(vehicle,color)return _natives.invoke_void(0xB7635E80A5C31BFF,vehicle,color);end,\n"\ +"STOP_ALL_GARAGE_ACTIVITY=function()return _natives.invoke_void(0x0F87E938BDF29D66);end,\n"\ +"SET_VEHICLE_FIXED=function(vehicle)return _natives.invoke_void(0x115722B1B9C14C1C,vehicle);end,\n"\ +"SET_VEHICLE_DEFORMATION_FIXED=function(vehicle)return _natives.invoke_void(0x953DA1E1B12C0491,vehicle);end,\n"\ +"SET_VEHICLE_CAN_ENGINE_MISSFIRE=function(vehicle,toggle)return _natives.invoke_void(0x206BC5DC9D1AC70A,vehicle,toggle);end,\n"\ +"SET_VEHICLE_CAN_LEAK_OIL=function(vehicle,toggle)return _natives.invoke_void(0x51BB2D88D31A914B,vehicle,toggle);end,\n"\ +"SET_VEHICLE_CAN_LEAK_PETROL=function(vehicle,toggle)return _natives.invoke_void(0x192547247864DFDD,vehicle,toggle);end,\n"\ +"SET_DISABLE_VEHICLE_PETROL_TANK_FIRES=function(vehicle,toggle)return _natives.invoke_void(0x465BF26AB9684352,vehicle,toggle);end,\n"\ +"SET_DISABLE_VEHICLE_PETROL_TANK_DAMAGE=function(vehicle,toggle)return _natives.invoke_void(0x37C8252A7C92D017,vehicle,toggle);end,\n"\ +"SET_DISABLE_VEHICLE_ENGINE_FIRES=function(vehicle,toggle)return _natives.invoke_void(0x91A0BD635321F145,vehicle,toggle);end,\n"\ +"SET_VEHICLE_LIMIT_SPEED_WHEN_PLAYER_INACTIVE=function(vehicle,toggle)return _natives.invoke_void(0xC50CE861B55EAB8B,vehicle,toggle);end,\n"\ +"SET_VEHICLE_STOP_INSTANTLY_WHEN_PLAYER_INACTIVE=function(vehicle,toggle)return _natives.invoke_void(0x6EBFB22D646FFC18,vehicle,toggle);end,\n"\ +"SET_DISABLE_PRETEND_OCCUPANTS=function(vehicle,toggle)return _natives.invoke_void(0x25367DE49D64CF16,vehicle,toggle);end,\n"\ +"REMOVE_VEHICLES_FROM_GENERATORS_IN_AREA=function(x1,y1,z1,x2,y2,z2,p6)return _natives.invoke_void(0x46A1E1A299EC4BBA,x1,y1,z1,x2,y2,z2,p6);end,\n"\ +"SET_VEHICLE_STEER_BIAS=function(vehicle,value)return _natives.invoke_void(0x42A8EC77D5150CBE,vehicle,value);end,\n"\ +"IS_VEHICLE_EXTRA_TURNED_ON=function(vehicle,extraId)return _natives.invoke_bool(0xD2E6822DBFD6C8BD,vehicle,extraId);end,\n"\ +"SET_VEHICLE_EXTRA=function(vehicle,extraId,disable)return _natives.invoke_void(0x7EE3A3C5E4A40CC9,vehicle,extraId,disable);end,\n"\ +"DOES_EXTRA_EXIST=function(vehicle,extraId)return _natives.invoke_bool(0x1262D55792428154,vehicle,extraId);end,\n"\ +"IS_EXTRA_BROKEN_OFF=function(vehicle,extraId)return _natives.invoke_bool(0x534E36D4DB9ECC5D,vehicle,extraId);end,\n"\ +"SET_CONVERTIBLE_ROOF=function(vehicle,p1)return _natives.invoke_void(0xF39C4F538B5124C2,vehicle,p1);end,\n"\ +"LOWER_CONVERTIBLE_ROOF=function(vehicle,instantlyLower)return _natives.invoke_void(0xDED51F703D0FA83D,vehicle,instantlyLower);end,\n"\ +"RAISE_CONVERTIBLE_ROOF=function(vehicle,instantlyRaise)return _natives.invoke_void(0x8F5FB35D7E88FC70,vehicle,instantlyRaise);end,\n"\ +"GET_CONVERTIBLE_ROOF_STATE=function(vehicle)return _natives.invoke_int(0xF8C397922FC03F41,vehicle);end,\n"\ +"IS_VEHICLE_A_CONVERTIBLE=function(vehicle,p1)return _natives.invoke_bool(0x52F357A30698BCCE,vehicle,p1);end,\n"\ +"TRANSFORM_TO_SUBMARINE=function(vehicle,noAnimation)return _natives.invoke_bool(0xBE4C854FFDB6EEBE,vehicle,noAnimation);end,\n"\ +"TRANSFORM_TO_CAR=function(vehicle,noAnimation)return _natives.invoke_void(0x2A69FFD1B42BFF9E,vehicle,noAnimation);end,\n"\ +"IS_VEHICLE_IN_SUBMARINE_MODE=function(vehicle)return _natives.invoke_bool(0xA77DC70BD689A1E5,vehicle);end,\n"\ +"IS_VEHICLE_STOPPED_AT_TRAFFIC_LIGHTS=function(vehicle)return _natives.invoke_bool(0x2959F696AE390A99,vehicle);end,\n"\ +"SET_VEHICLE_DAMAGE=function(vehicle,xOffset,yOffset,zOffset,damage,radius,focusOnModel)return _natives.invoke_void(0xA1DD317EA8FD4F29,vehicle,xOffset,yOffset,zOffset,damage,radius,focusOnModel);end,\n"\ +"SET_VEHICLE_OCCUPANTS_TAKE_EXPLOSIVE_DAMAGE=function(vehicle,toggle)return _natives.invoke_void(0x35BB21DE06784373,vehicle,toggle);end,\n"\ +"GET_VEHICLE_ENGINE_HEALTH=function(vehicle)return _natives.invoke_float(0xC45D23BAF168AAB8,vehicle);end,\n"\ +"SET_VEHICLE_ENGINE_HEALTH=function(vehicle,health)return _natives.invoke_void(0x45F6D8EEF34ABEF1,vehicle,health);end,\n"\ +"SET_PLANE_ENGINE_HEALTH=function(vehicle,health)return _natives.invoke_void(0x2A86A0475B6A1434,vehicle,health);end,\n"\ +"GET_VEHICLE_PETROL_TANK_HEALTH=function(vehicle)return _natives.invoke_float(0x7D5DABE888D2D074,vehicle);end,\n"\ +"SET_VEHICLE_PETROL_TANK_HEALTH=function(vehicle,health)return _natives.invoke_void(0x70DB57649FA8D0D8,vehicle,health);end,\n"\ +"IS_VEHICLE_STUCK_TIMER_UP=function(vehicle,p1,ms)return _natives.invoke_bool(0x679BE1DAF71DA874,vehicle,p1,ms);end,\n"\ +"RESET_VEHICLE_STUCK_TIMER=function(vehicle,nullAttributes)return _natives.invoke_void(0xD7591B0065AFAA7A,vehicle,nullAttributes);end,\n"\ +"IS_VEHICLE_DRIVEABLE=function(vehicle,isOnFireCheck)return _natives.invoke_bool(0x4C241E39B23DF959,vehicle,isOnFireCheck);end,\n"\ +"SET_VEHICLE_HAS_BEEN_OWNED_BY_PLAYER=function(vehicle,owned)return _natives.invoke_void(0x2B5F9D2AF1F1722D,vehicle,owned);end,\n"\ +"SET_VEHICLE_NEEDS_TO_BE_HOTWIRED=function(vehicle,toggle)return _natives.invoke_void(0xFBA550EA44404EE6,vehicle,toggle);end,\n"\ +"SET_VEHICLE_BLIP_THROTTLE_RANDOMLY=function(vehicle,p1)return _natives.invoke_void(0x9F3F689B814F2599,vehicle,p1);end,\n"\ +"SET_POLICE_FOCUS_WILL_TRACK_VEHICLE=function(vehicle,toggle)return _natives.invoke_void(0x4E74E62E0A97E901,vehicle,toggle);end,\n"\ +"START_VEHICLE_HORN=function(vehicle,duration,mode,forever)return _natives.invoke_void(0x9C8C6504B5B63D2C,vehicle,duration,mode,forever);end,\n"\ +"SET_VEHICLE_IN_CAR_MOD_SHOP=function(vehicle,toggle)return _natives.invoke_void(0x9D44FCCE98450843,vehicle,toggle);end,\n"\ +"SET_VEHICLE_HAS_STRONG_AXLES=function(vehicle,toggle)return _natives.invoke_void(0x92F0CF722BC4202F,vehicle,toggle);end,\n"\ +"GET_DISPLAY_NAME_FROM_VEHICLE_MODEL=function(modelHash)return _natives.invoke_str(0xB215AAC32D25D019,modelHash);end,\n"\ +"GET_MAKE_NAME_FROM_VEHICLE_MODEL=function(modelHash)return _natives.invoke_str(0xF7AF4F159FF99F97,modelHash);end,\n"\ +"GET_VEHICLE_DEFORMATION_AT_POS=function(vehicle,offsetX,offsetY,offsetZ)return _natives.invoke_vec3(0x4EC6CFBC7B2E9536,vehicle,offsetX,offsetY,offsetZ);end,\n"\ +"SET_VEHICLE_LIVERY=function(vehicle,livery)return _natives.invoke_void(0x60BF608F1B8CD1B6,vehicle,livery);end,\n"\ +"GET_VEHICLE_LIVERY=function(vehicle)return _natives.invoke_int(0x2BB9230590DA5E8A,vehicle);end,\n"\ +"GET_VEHICLE_LIVERY_COUNT=function(vehicle)return _natives.invoke_int(0x87B63E25A529D526,vehicle);end,\n"\ +"SET_VEHICLE_LIVERY2=function(vehicle,livery)return _natives.invoke_void(0xA6D3A8750DC73270,vehicle,livery);end,\n"\ +"GET_VEHICLE_LIVERY2=function(vehicle)return _natives.invoke_int(0x60190048C0764A26,vehicle);end,\n"\ +"GET_VEHICLE_LIVERY2_COUNT=function(vehicle)return _natives.invoke_int(0x5ECB40269053C0D4,vehicle);end,\n"\ +"IS_VEHICLE_WINDOW_INTACT=function(vehicle,windowIndex)return _natives.invoke_bool(0x46E571A0E20D01F1,vehicle,windowIndex);end,\n"\ +"ARE_ALL_VEHICLE_WINDOWS_INTACT=function(vehicle)return _natives.invoke_bool(0x11D862A3E977A9EF,vehicle);end,\n"\ +"ARE_ANY_VEHICLE_SEATS_FREE=function(vehicle)return _natives.invoke_bool(0x2D34FC3BC4ADB780,vehicle);end,\n"\ +"RESET_VEHICLE_WHEELS=function(vehicle,toggle)return _natives.invoke_void(0x21D2E5662C1F6FED,vehicle,toggle);end,\n"\ +"IS_HELI_PART_BROKEN=function(vehicle,p1,p2,p3)return _natives.invoke_bool(0xBC74B4BE25EB6C8A,vehicle,p1,p2,p3);end,\n"\ +"GET_HELI_MAIN_ROTOR_HEALTH=function(vehicle)return _natives.invoke_float(0xE4CB7541F413D2C5,vehicle);end,\n"\ +"GET_HELI_TAIL_ROTOR_HEALTH=function(vehicle)return _natives.invoke_float(0xAE8CE82A4219AC8C,vehicle);end,\n"\ +"GET_HELI_TAIL_BOOM_HEALTH=function(vehicle)return _natives.invoke_float(0xAC51915D27E4A5F7,vehicle);end,\n"\ +"SET_HELI_MAIN_ROTOR_HEALTH=function(vehicle,health)return _natives.invoke_void(0x4056EA1105F5ABD7,vehicle,health);end,\n"\ +"SET_HELI_TAIL_ROTOR_HEALTH=function(vehicle,health)return _natives.invoke_void(0xFE205F38AAA58E5B,vehicle,health);end,\n"\ +"SET_HELI_TAIL_BOOM_CAN_BREAK_OFF=function(vehicle,toggle)return _natives.invoke_bool(0x3EC8BF18AA453FE9,vehicle,toggle);end,\n"\ +"SET_VEHICLE_NAME_DEBUG=function(vehicle,name)return _natives.invoke_void(0xBFDF984E2C22B94F,vehicle,name);end,\n"\ +"SET_VEHICLE_EXPLODES_ON_HIGH_EXPLOSION_DAMAGE=function(vehicle,toggle)return _natives.invoke_void(0x71B0892EC081D60A,vehicle,toggle);end,\n"\ +"SET_VEHICLE_EXPLODES_ON_EXPLOSION_DAMAGE_AT_ZERO_BODY_HEALTH=function(vehicle,toggle)return _natives.invoke_void(0xD565F438137F0E10,vehicle,toggle);end,\n"\ +"SET_ALLOW_VEHICLE_EXPLODES_ON_CONTACT=function(vehicle,toggle)return _natives.invoke_void(0x3441CAD2F2231923,vehicle,toggle);end,\n"\ +"SET_VEHICLE_DISABLE_TOWING=function(vehicle,toggle)return _natives.invoke_void(0x2B6747FAA9DB9D6B,vehicle,toggle);end,\n"\ +"GET_VEHICLE_HAS_LANDING_GEAR=function(vehicle)return _natives.invoke_bool(0xE43701C36CAFF1A4,vehicle);end,\n"\ +"CONTROL_LANDING_GEAR=function(vehicle,state)return _natives.invoke_void(0xCFC8BE9A5E1FE575,vehicle,state);end,\n"\ +"GET_LANDING_GEAR_STATE=function(vehicle)return _natives.invoke_int(0x9B0F3DCA3DB0F4CD,vehicle);end,\n"\ +"IS_ANY_VEHICLE_NEAR_POINT=function(x,y,z,radius)return _natives.invoke_bool(0x61E1DD6125A3EEE6,x,y,z,radius);end,\n"\ +"REQUEST_VEHICLE_HIGH_DETAIL_MODEL=function(vehicle)return _natives.invoke_void(0xA6E9FDCB2C76785E,vehicle);end,\n"\ +"REMOVE_VEHICLE_HIGH_DETAIL_MODEL=function(vehicle)return _natives.invoke_void(0x00689CDE5F7C6787,vehicle);end,\n"\ +"IS_VEHICLE_HIGH_DETAIL=function(vehicle)return _natives.invoke_bool(0x1F25887F3C104278,vehicle);end,\n"\ +"REQUEST_VEHICLE_ASSET=function(vehicleHash,vehicleAsset)return _natives.invoke_void(0x81A15811460FAB3A,vehicleHash,vehicleAsset);end,\n"\ +"HAS_VEHICLE_ASSET_LOADED=function(vehicleAsset)return _natives.invoke_bool(0x1BBE0523B8DB9A21,vehicleAsset);end,\n"\ +"REMOVE_VEHICLE_ASSET=function(vehicleAsset)return _natives.invoke_void(0xACE699C71AB9DEB5,vehicleAsset);end,\n"\ +"SET_VEHICLE_TOW_TRUCK_ARM_POSITION=function(vehicle,position)return _natives.invoke_void(0xFE54B92A344583CA,vehicle,position);end,\n"\ +"ATTACH_VEHICLE_TO_TOW_TRUCK=function(towTruck,vehicle,rear,hookOffsetX,hookOffsetY,hookOffsetZ)return _natives.invoke_void(0x29A16F8D621C4508,towTruck,vehicle,rear,hookOffsetX,hookOffsetY,hookOffsetZ);end,\n"\ +"DETACH_VEHICLE_FROM_TOW_TRUCK=function(towTruck,vehicle)return _natives.invoke_void(0xC2DB6B6708350ED8,towTruck,vehicle);end,\n"\ +"DETACH_VEHICLE_FROM_ANY_TOW_TRUCK=function(vehicle)return _natives.invoke_bool(0xD0E9CE05A1E68CD8,vehicle);end,\n"\ +"IS_VEHICLE_ATTACHED_TO_TOW_TRUCK=function(towTruck,vehicle)return _natives.invoke_bool(0x146DF9EC4C4B9FD4,towTruck,vehicle);end,\n"\ +"GET_ENTITY_ATTACHED_TO_TOW_TRUCK=function(towTruck)return _natives.invoke_int(0xEFEA18DCF10F8F75,towTruck);end,\n"\ +"SET_VEHICLE_AUTOMATICALLY_ATTACHES=function(vehicle,p1,p2)return _natives.invoke_int(0x8BA6F76BC53A1493,vehicle,p1,p2);end,\n"\ +"SET_VEHICLE_BULLDOZER_ARM_POSITION=function(vehicle,position,p2)return _natives.invoke_void(0xF8EBCCC96ADB9FB7,vehicle,position,p2);end,\n"\ +"SET_VEHICLE_TANK_TURRET_POSITION=function(vehicle,position,p2)return _natives.invoke_void(0x56B94C6D7127DFBA,vehicle,position,p2);end,\n"\ +"SET_VEHICLE_TURRET_TARGET=function(vehicle,p1,x,y,z,p5)return _natives.invoke_void(0x0581730AB9380412,vehicle,p1,x,y,z,p5);end,\n"\ +"SET_VEHICLE_TANK_STATIONARY=function(vehicle,p1)return _natives.invoke_void(0x737E398138550FFF,vehicle,p1);end,\n"\ +"SET_VEHICLE_TURRET_SPEED_THIS_FRAME=function(vehicle,speed)return _natives.invoke_void(0x1093408B4B9D1146,vehicle,speed);end,\n"\ +"DISABLE_VEHICLE_TURRET_MOVEMENT_THIS_FRAME=function(vehicle)return _natives.invoke_void(0x32CAEDF24A583345,vehicle);end,\n"\ +"SET_VEHICLE_FLIGHT_NOZZLE_POSITION=function(vehicle,angleRatio)return _natives.invoke_void(0x30D779DE7C4F6DD3,vehicle,angleRatio);end,\n"\ +"SET_VEHICLE_FLIGHT_NOZZLE_POSITION_IMMEDIATE=function(vehicle,angle)return _natives.invoke_void(0x9AA47FFF660CB932,vehicle,angle);end,\n"\ +"GET_VEHICLE_FLIGHT_NOZZLE_POSITION=function(plane)return _natives.invoke_float(0xDA62027C8BDB326E,plane);end,\n"\ +"SET_DISABLE_VERTICAL_FLIGHT_MODE_TRANSITION=function(vehicle,toggle)return _natives.invoke_void(0xCE2B43770B655F8F,vehicle,toggle);end,\n"\ +"GENERATE_VEHICLE_CREATION_POS_FROM_PATHS=function(outVec,p1,outVec1,p3,p4,p5,p6,p7,p8)return _natives.invoke_bool(0xA4822F1CF23F4810,outVec,p1,outVec1,p3,p4,p5,p6,p7,p8);end,\n"\ +"SET_VEHICLE_BURNOUT=function(vehicle,toggle)return _natives.invoke_void(0xFB8794444A7D60FB,vehicle,toggle);end,\n"\ +"IS_VEHICLE_IN_BURNOUT=function(vehicle)return _natives.invoke_bool(0x1297A88E081430EB,vehicle);end,\n"\ +"SET_VEHICLE_REDUCE_GRIP=function(vehicle,toggle)return _natives.invoke_void(0x222FF6A823D122E2,vehicle,toggle);end,\n"\ +"SET_VEHICLE_REDUCE_GRIP_LEVEL=function(vehicle,val)return _natives.invoke_void(0x6DEE944E1EE90CFB,vehicle,val);end,\n"\ +"SET_VEHICLE_INDICATOR_LIGHTS=function(vehicle,turnSignal,toggle)return _natives.invoke_void(0xB5D45264751B7DF0,vehicle,turnSignal,toggle);end,\n"\ +"SET_VEHICLE_BRAKE_LIGHTS=function(vehicle,toggle)return _natives.invoke_void(0x92B35082E0B42F66,vehicle,toggle);end,\n"\ +"SET_VEHICLE_TAIL_LIGHTS=function(vehicle,toggle)return _natives.invoke_void(0x5815BD2763178DF4,vehicle,toggle);end,\n"\ +"SET_VEHICLE_HANDBRAKE=function(vehicle,toggle)return _natives.invoke_void(0x684785568EF26A22,vehicle,toggle);end,\n"\ +"SET_VEHICLE_BRAKE=function(vehicle,toggle)return _natives.invoke_void(0xE4E2FD323574965C,vehicle,toggle);end,\n"\ +"INSTANTLY_FILL_VEHICLE_POPULATION=function()return _natives.invoke_void(0x48ADC8A773564670);end,\n"\ +"HAS_INSTANT_FILL_VEHICLE_POPULATION_FINISHED=function()return _natives.invoke_bool(0x91D6DD290888CBAB);end,\n"\ +"NETWORK_ENABLE_EMPTY_CROWDING_VEHICLES_REMOVAL=function(toggle)return _natives.invoke_void(0x51DB102F4A3BA5E0,toggle);end,\n"\ +"NETWORK_CAP_EMPTY_CROWDING_VEHICLES_REMOVAL=function(p0)return _natives.invoke_void(0xA4A9A4C40E615885,p0);end,\n"\ +"GET_VEHICLE_TRAILER_VEHICLE=function(vehicle,trailer)return _natives.invoke_bool(0x1CDD6BADC297830D,vehicle,trailer);end,\n"\ +"_GET_VEHICLE_TRAILER_PARENT_VEHICLE=function(trailer)return _natives.invoke_int(0x80D9D32636369C92,trailer);end,\n"\ +"SET_VEHICLE_USES_LARGE_REAR_RAMP=function(vehicle,toggle)return _natives.invoke_void(0xCAC66558B944DA67,vehicle,toggle);end,\n"\ +"SET_VEHICLE_RUDDER_BROKEN=function(vehicle,toggle)return _natives.invoke_void(0x09606148B6C71DEF,vehicle,toggle);end,\n"\ +"SET_CONVERTIBLE_ROOF_LATCH_STATE=function(vehicle,state)return _natives.invoke_void(0x1A78AD3D8240536F,vehicle,state);end,\n"\ +"GET_VEHICLE_ESTIMATED_MAX_SPEED=function(vehicle)return _natives.invoke_float(0x53AF99BAA671CA47,vehicle);end,\n"\ +"GET_VEHICLE_MAX_BRAKING=function(vehicle)return _natives.invoke_float(0xAD7E85FC227197C4,vehicle);end,\n"\ +"GET_VEHICLE_MAX_TRACTION=function(vehicle)return _natives.invoke_float(0xA132FB5370554DB0,vehicle);end,\n"\ +"GET_VEHICLE_ACCELERATION=function(vehicle)return _natives.invoke_float(0x5DD35C8D074E57AE,vehicle);end,\n"\ +"GET_VEHICLE_MODEL_ESTIMATED_MAX_SPEED=function(modelHash)return _natives.invoke_float(0xF417C2502FFFED43,modelHash);end,\n"\ +"GET_VEHICLE_MODEL_MAX_BRAKING=function(modelHash)return _natives.invoke_float(0xDC53FD41B4ED944C,modelHash);end,\n"\ +"GET_VEHICLE_MODEL_MAX_BRAKING_MAX_MODS=function(modelHash)return _natives.invoke_float(0xBFBA3BA79CFF7EBF,modelHash);end,\n"\ +"GET_VEHICLE_MODEL_MAX_TRACTION=function(modelHash)return _natives.invoke_float(0x539DE94D44FDFD0D,modelHash);end,\n"\ +"GET_VEHICLE_MODEL_ACCELERATION=function(modelHash)return _natives.invoke_float(0x8C044C5C84505B6A,modelHash);end,\n"\ +"GET_VEHICLE_MODEL_ACCELERATION_MAX_MODS=function(modelHash)return _natives.invoke_float(0x53409B5163D5B846,modelHash);end,\n"\ +"GET_FLYING_VEHICLE_MODEL_AGILITY=function(modelHash)return _natives.invoke_float(0xC6AD107DDC9054CC,modelHash);end,\n"\ +"GET_BOAT_VEHICLE_MODEL_AGILITY=function(modelHash)return _natives.invoke_float(0x5AA3F878A178C4FC,modelHash);end,\n"\ +"GET_VEHICLE_CLASS_ESTIMATED_MAX_SPEED=function(vehicleClass)return _natives.invoke_float(0x00C09F246ABEDD82,vehicleClass);end,\n"\ +"GET_VEHICLE_CLASS_MAX_TRACTION=function(vehicleClass)return _natives.invoke_float(0xDBC86D85C5059461,vehicleClass);end,\n"\ +"GET_VEHICLE_CLASS_MAX_AGILITY=function(vehicleClass)return _natives.invoke_float(0x4F930AD022D6DE3B,vehicleClass);end,\n"\ +"GET_VEHICLE_CLASS_MAX_ACCELERATION=function(vehicleClass)return _natives.invoke_float(0x2F83E7E45D9EA7AE,vehicleClass);end,\n"\ +"GET_VEHICLE_CLASS_MAX_BRAKING=function(vehicleClass)return _natives.invoke_float(0x4BF54C16EC8FEC03,vehicleClass);end,\n"\ +"ADD_ROAD_NODE_SPEED_ZONE=function(x,y,z,radius,speed,p5)return _natives.invoke_int(0x2CE544C68FB812A0,x,y,z,radius,speed,p5);end,\n"\ +"REMOVE_ROAD_NODE_SPEED_ZONE=function(speedzone)return _natives.invoke_bool(0x1033371FC8E842A7,speedzone);end,\n"\ +"OPEN_BOMB_BAY_DOORS=function(vehicle)return _natives.invoke_void(0x87E7F24270732CB1,vehicle);end,\n"\ +"CLOSE_BOMB_BAY_DOORS=function(vehicle)return _natives.invoke_void(0x3556041742A0DC74,vehicle);end,\n"\ +"GET_ARE_BOMB_BAY_DOORS_OPEN=function(aircraft)return _natives.invoke_bool(0xD0917A423314BBA8,aircraft);end,\n"\ +"IS_VEHICLE_SEARCHLIGHT_ON=function(vehicle)return _natives.invoke_bool(0xC0F97FCE55094987,vehicle);end,\n"\ +"SET_VEHICLE_SEARCHLIGHT=function(heli,toggle,canBeUsedByAI)return _natives.invoke_void(0x14E85C5EE7A4D542,heli,toggle,canBeUsedByAI);end,\n"\ +"DOES_VEHICLE_HAVE_SEARCHLIGHT=function(vehicle)return _natives.invoke_bool(0x99015ED7DBEA5113,vehicle);end,\n"\ +"IS_ENTRY_POINT_FOR_SEAT_CLEAR=function(ped,vehicle,seatIndex,side,onEnter)return _natives.invoke_bool(0x639431E895B9AA57,ped,vehicle,seatIndex,side,onEnter);end,\n"\ +"GET_ENTRY_POINT_POSITION=function(vehicle,doorId)return _natives.invoke_vec3(0xC0572928C0ABFDA3,vehicle,doorId);end,\n"\ +"CAN_SHUFFLE_SEAT=function(vehicle,seatIndex)return _natives.invoke_bool(0x30785D90C956BF35,vehicle,seatIndex);end,\n"\ +"GET_NUM_MOD_KITS=function(vehicle)return _natives.invoke_int(0x33F2E3FE70EAAE1D,vehicle);end,\n"\ +"SET_VEHICLE_MOD_KIT=function(vehicle,modKit)return _natives.invoke_void(0x1F2AA07F00B3217A,vehicle,modKit);end,\n"\ +"GET_VEHICLE_MOD_KIT=function(vehicle)return _natives.invoke_int(0x6325D1A044AE510D,vehicle);end,\n"\ +"GET_VEHICLE_MOD_KIT_TYPE=function(vehicle)return _natives.invoke_int(0xFC058F5121E54C32,vehicle);end,\n"\ +"GET_VEHICLE_WHEEL_TYPE=function(vehicle)return _natives.invoke_int(0xB3ED1BFB4BE636DC,vehicle);end,\n"\ +"SET_VEHICLE_WHEEL_TYPE=function(vehicle,WheelType)return _natives.invoke_void(0x487EB21CC7295BA1,vehicle,WheelType);end,\n"\ +"GET_NUM_MOD_COLORS=function(paintType,p1)return _natives.invoke_int(0xA551BE18C11A476D,paintType,p1);end,\n"\ +"SET_VEHICLE_MOD_COLOR_1=function(vehicle,paintType,color,pearlescentColor)return _natives.invoke_void(0x43FEB945EE7F85B8,vehicle,paintType,color,pearlescentColor);end,\n"\ +"SET_VEHICLE_MOD_COLOR_2=function(vehicle,paintType,color)return _natives.invoke_void(0x816562BADFDEC83E,vehicle,paintType,color);end,\n"\ +"GET_VEHICLE_MOD_COLOR_1=function(vehicle,paintType,color,pearlescentColor)return _natives.invoke_void(0xE8D65CA700C9A693,vehicle,paintType,color,pearlescentColor);end,\n"\ +"GET_VEHICLE_MOD_COLOR_2=function(vehicle,paintType,color)return _natives.invoke_void(0x81592BE4E3878728,vehicle,paintType,color);end,\n"\ +"GET_VEHICLE_MOD_COLOR_1_NAME=function(vehicle,p1)return _natives.invoke_str(0xB45085B721EFD38C,vehicle,p1);end,\n"\ +"GET_VEHICLE_MOD_COLOR_2_NAME=function(vehicle)return _natives.invoke_str(0x4967A516ED23A5A1,vehicle);end,\n"\ +"HAVE_VEHICLE_MODS_STREAMED_IN=function(vehicle)return _natives.invoke_bool(0x9A83F5F9963775EF,vehicle);end,\n"\ +"IS_VEHICLE_MOD_GEN9_EXCLUSIVE=function(vehicle,modType,modIndex)return _natives.invoke_bool(0x00834EAC4A96E010,vehicle,modType,modIndex);end,\n"\ +"SET_VEHICLE_MOD=function(vehicle,modType,modIndex,customTires)return _natives.invoke_void(0x6AF0636DDEDCB6DD,vehicle,modType,modIndex,customTires);end,\n"\ +"GET_VEHICLE_MOD=function(vehicle,modType)return _natives.invoke_int(0x772960298DA26FDB,vehicle,modType);end,\n"\ +"GET_VEHICLE_MOD_VARIATION=function(vehicle,modType)return _natives.invoke_int(0xB3924ECD70E095DC,vehicle,modType);end,\n"\ +"GET_NUM_VEHICLE_MODS=function(vehicle,modType)return _natives.invoke_int(0xE38E9162A2500646,vehicle,modType);end,\n"\ +"REMOVE_VEHICLE_MOD=function(vehicle,modType)return _natives.invoke_void(0x92D619E420858204,vehicle,modType);end,\n"\ +"TOGGLE_VEHICLE_MOD=function(vehicle,modType,toggle)return _natives.invoke_void(0x2A1F4F37F95BAD08,vehicle,modType,toggle);end,\n"\ +"IS_TOGGLE_MOD_ON=function(vehicle,modType)return _natives.invoke_bool(0x84B233A8C8FC8AE7,vehicle,modType);end,\n"\ +"GET_MOD_TEXT_LABEL=function(vehicle,modType,modValue)return _natives.invoke_str(0x8935624F8C5592CC,vehicle,modType,modValue);end,\n"\ +"GET_MOD_SLOT_NAME=function(vehicle,modType)return _natives.invoke_str(0x51F0FEB9F6AE98C0,vehicle,modType);end,\n"\ +"GET_LIVERY_NAME=function(vehicle,liveryIndex)return _natives.invoke_str(0xB4C7A93837C91A1F,vehicle,liveryIndex);end,\n"\ +"GET_VEHICLE_MOD_MODIFIER_VALUE=function(vehicle,modType,modIndex)return _natives.invoke_int(0x90A38E9838E0A8C1,vehicle,modType,modIndex);end,\n"\ +"GET_VEHICLE_MOD_IDENTIFIER_HASH=function(vehicle,modType,modIndex)return _natives.invoke_int(0x4593CF82AA179706,vehicle,modType,modIndex);end,\n"\ +"PRELOAD_VEHICLE_MOD=function(vehicle,modType,modIndex)return _natives.invoke_void(0x758F49C24925568A,vehicle,modType,modIndex);end,\n"\ +"HAS_PRELOAD_MODS_FINISHED=function(vehicle)return _natives.invoke_bool(0x06F43E5175EB6D96,vehicle);end,\n"\ +"RELEASE_PRELOAD_MODS=function(vehicle)return _natives.invoke_void(0x445D79F995508307,vehicle);end,\n"\ +"SET_VEHICLE_TYRE_SMOKE_COLOR=function(vehicle,r,g,b)return _natives.invoke_void(0xB5BA80F839791C0F,vehicle,r,g,b);end,\n"\ +"GET_VEHICLE_TYRE_SMOKE_COLOR=function(vehicle,r,g,b)return _natives.invoke_void(0xB635392A4938B3C3,vehicle,r,g,b);end,\n"\ +"SET_VEHICLE_WINDOW_TINT=function(vehicle,tint)return _natives.invoke_void(0x57C51E6BAD752696,vehicle,tint);end,\n"\ +"GET_VEHICLE_WINDOW_TINT=function(vehicle)return _natives.invoke_int(0x0EE21293DAD47C95,vehicle);end,\n"\ +"GET_NUM_VEHICLE_WINDOW_TINTS=function()return _natives.invoke_int(0x9D1224004B3A6707);end,\n"\ +"GET_VEHICLE_COLOR=function(vehicle,r,g,b)return _natives.invoke_void(0xF3CC740D36221548,vehicle,r,g,b);end,\n"\ +"GET_VEHICLE_COLOURS_WHICH_CAN_BE_SET=function(vehicle)return _natives.invoke_int(0xEEBFC7A7EFDC35B4,vehicle);end,\n"\ +"GET_VEHICLE_CAUSE_OF_DESTRUCTION=function(vehicle)return _natives.invoke_int(0xE495D1EF4C91FD20,vehicle);end,\n"\ +"OVERRIDE_PLANE_DAMAGE_THREHSOLD=function(vehicle,health)return _natives.invoke_void(0x5EE5632F47AE9695,vehicle,health);end,\n"\ +"GET_IS_LEFT_VEHICLE_HEADLIGHT_DAMAGED=function(vehicle)return _natives.invoke_bool(0x5EF77C9ADD3B11A3,vehicle);end,\n"\ +"GET_IS_RIGHT_VEHICLE_HEADLIGHT_DAMAGED=function(vehicle)return _natives.invoke_bool(0xA7ECB73355EB2F20,vehicle);end,\n"\ +"GET_BOTH_VEHICLE_HEADLIGHTS_DAMAGED=function(vehicle)return _natives.invoke_bool(0xEC69ADF931AAE0C3,vehicle);end,\n"\ +"MODIFY_VEHICLE_TOP_SPEED=function(vehicle,value)return _natives.invoke_void(0x93A3996368C94158,vehicle,value);end,\n"\ +"SET_VEHICLE_MAX_SPEED=function(vehicle,speed)return _natives.invoke_void(0xBAA045B4E42F3C06,vehicle,speed);end,\n"\ +"SET_VEHICLE_STAYS_FROZEN_WHEN_CLEANED_UP=function(vehicle,toggle)return _natives.invoke_void(0x1CF38D529D7441D9,vehicle,toggle);end,\n"\ +"SET_VEHICLE_ACT_AS_IF_HIGH_SPEED_FOR_FRAG_SMASHING=function(vehicle,p1)return _natives.invoke_void(0x1F9FB66F3A3842D2,vehicle,p1);end,\n"\ +"SET_PEDS_CAN_FALL_OFF_THIS_VEHICLE_FROM_LARGE_FALL_DAMAGE=function(vehicle,toggle,p2)return _natives.invoke_void(0x59C3757B3B7408E8,vehicle,toggle,p2);end,\n"\ +"ADD_VEHICLE_COMBAT_ANGLED_AVOIDANCE_AREA=function(p0,p1,p2,p3,p4,p5,p6)return _natives.invoke_int(0x54B0F614960F4A5F,p0,p1,p2,p3,p4,p5,p6);end,\n"\ +"REMOVE_VEHICLE_COMBAT_AVOIDANCE_AREA=function(p0)return _natives.invoke_void(0xE30524E1871F481D,p0);end,\n"\ +"IS_ANY_PED_RAPPELLING_FROM_HELI=function(vehicle)return _natives.invoke_bool(0x291E373D483E7EE7,vehicle);end,\n"\ +"SET_VEHICLE_CHEAT_POWER_INCREASE=function(vehicle,value)return _natives.invoke_void(0xB59E4BD37AE292DB,vehicle,value);end,\n"\ +"SET_VEHICLE_INFLUENCES_WANTED_LEVEL=function(p0,p1)return _natives.invoke_void(0x0AD9E8F87FF7C16F,p0,p1);end,\n"\ +"SET_VEHICLE_IS_WANTED=function(vehicle,state)return _natives.invoke_void(0xF7EC25A3EBEEC726,vehicle,state);end,\n"\ +"SWING_BOAT_BOOM_TO_RATIO=function(vehicle,ratio)return _natives.invoke_void(0xF488C566413B4232,vehicle,ratio);end,\n"\ +"SWING_BOAT_BOOM_FREELY=function(vehicle,toggle)return _natives.invoke_void(0xC1F981A6F74F0C23,vehicle,toggle);end,\n"\ +"ALLOW_BOAT_BOOM_TO_ANIMATE=function(vehicle,toggle)return _natives.invoke_void(0x0F3B4D4E43177236,vehicle,toggle);end,\n"\ +"GET_BOAT_BOOM_POSITION_RATIO=function(vehicle)return _natives.invoke_float(0x6636C535F6CC2725,vehicle);end,\n"\ +"DISABLE_PLANE_AILERON=function(vehicle,p1,p2)return _natives.invoke_void(0x23428FC53C60919C,vehicle,p1,p2);end,\n"\ +"GET_IS_VEHICLE_ENGINE_RUNNING=function(vehicle)return _natives.invoke_bool(0xAE31E7DF9B5B132E,vehicle);end,\n"\ +"SET_VEHICLE_USE_ALTERNATE_HANDLING=function(vehicle,toggle)return _natives.invoke_void(0x1D97D1E3A70A649F,vehicle,toggle);end,\n"\ +"SET_BIKE_ON_STAND=function(vehicle,x,y)return _natives.invoke_void(0x9CFA4896C3A53CBB,vehicle,x,y);end,\n"\ +"SET_VEHICLE_NOT_STEALABLE_AMBIENTLY=function(vehicle,p1)return _natives.invoke_void(0xAB04325045427AAE,vehicle,p1);end,\n"\ +"LOCK_DOORS_WHEN_NO_LONGER_NEEDED=function(vehicle)return _natives.invoke_void(0xCFD778E7904C255E,vehicle);end,\n"\ +"SET_LAST_DRIVEN_VEHICLE=function(vehicle)return _natives.invoke_void(0xACFB2463CC22BED2,vehicle);end,\n"\ +"GET_LAST_DRIVEN_VEHICLE=function()return _natives.invoke_int(0xB2D06FAEDE65B577);end,\n"\ +"CLEAR_LAST_DRIVEN_VEHICLE=function()return _natives.invoke_void(0xE01903C47C7AC89E);end,\n"\ +"SET_VEHICLE_HAS_BEEN_DRIVEN_FLAG=function(vehicle,toggle)return _natives.invoke_void(0x02398B627547189C,vehicle,toggle);end,\n"\ +"SET_TASK_VEHICLE_GOTO_PLANE_MIN_HEIGHT_ABOVE_TERRAIN=function(plane,height)return _natives.invoke_void(0xB893215D8D4C015B,plane,height);end,\n"\ +"SET_VEHICLE_LOD_MULTIPLIER=function(vehicle,multiplier)return _natives.invoke_void(0x93AE6A61BE015BF1,vehicle,multiplier);end,\n"\ +"SET_VEHICLE_CAN_SAVE_IN_GARAGE=function(vehicle,toggle)return _natives.invoke_void(0x428BACCDF5E26EAD,vehicle,toggle);end,\n"\ +"GET_VEHICLE_NUM_OF_BROKEN_OFF_PARTS=function(vehicle)return _natives.invoke_int(0x42A4BEB35D372407,vehicle);end,\n"\ +"GET_VEHICLE_NUM_OF_BROKEN_LOOSEN_PARTS=function(vehicle)return _natives.invoke_int(0x2C8CBFE1EA5FC631,vehicle);end,\n"\ +"SET_FORCE_VEHICLE_ENGINE_DAMAGE_BY_BULLET=function(p0,p1)return _natives.invoke_void(0x4D9D109F63FEE1D4,p0,p1);end,\n"\ +"SET_VEHICLE_GENERATES_ENGINE_SHOCKING_EVENTS=function(vehicle,toggle)return _natives.invoke_void(0x279D50DE5652D935,vehicle,toggle);end,\n"\ +"COPY_VEHICLE_DAMAGES=function(sourceVehicle,targetVehicle)return _natives.invoke_void(0xE44A982368A4AF23,sourceVehicle,targetVehicle);end,\n"\ +"DISABLE_VEHICLE_EXPLOSION_BREAK_OFF_PARTS=function()return _natives.invoke_void(0xF25E02CB9C5818F8);end,\n"\ +"SET_LIGHTS_CUTOFF_DISTANCE_TWEAK=function(distance)return _natives.invoke_void(0xBC3CCA5844452B06,distance);end,\n"\ +"SET_VEHICLE_SHOOT_AT_TARGET=function(driver,entity,xTarget,yTarget,zTarget)return _natives.invoke_void(0x74CD9A9327A282EA,driver,entity,xTarget,yTarget,zTarget);end,\n"\ +"GET_VEHICLE_LOCK_ON_TARGET=function(vehicle,entity)return _natives.invoke_bool(0x8F5EBAB1F260CFCE,vehicle,entity);end,\n"\ +"SET_FORCE_HD_VEHICLE=function(vehicle,toggle)return _natives.invoke_void(0x97CE68CB032583F0,vehicle,toggle);end,\n"\ +"SET_VEHICLE_CUSTOM_PATH_NODE_STREAMING_RADIUS=function(vehicle,p1)return _natives.invoke_void(0x182F266C2D9E2BEB,vehicle,p1);end,\n"\ +"GET_VEHICLE_PLATE_TYPE=function(vehicle)return _natives.invoke_int(0x9CCC9525BF2408E0,vehicle);end,\n"\ +"TRACK_VEHICLE_VISIBILITY=function(vehicle)return _natives.invoke_void(0x64473AEFDCF47DCA,vehicle);end,\n"\ +"IS_VEHICLE_VISIBLE=function(vehicle)return _natives.invoke_bool(0xAA0A52D24FB98293,vehicle);end,\n"\ +"SET_VEHICLE_GRAVITY=function(vehicle,toggle)return _natives.invoke_void(0x89F149B6131E57DA,vehicle,toggle);end,\n"\ +"SET_ENABLE_VEHICLE_SLIPSTREAMING=function(toggle)return _natives.invoke_void(0xE6C0C80B8C867537,toggle);end,\n"\ +"SET_VEHICLE_SLIPSTREAMING_SHOULD_TIME_OUT=function(toggle)return _natives.invoke_void(0xF051D9BFB6BA39C0,toggle);end,\n"\ +"GET_VEHICLE_CURRENT_TIME_IN_SLIP_STREAM=function(vehicle)return _natives.invoke_float(0x36492C2F0D134C56,vehicle);end,\n"\ +"IS_VEHICLE_PRODUCING_SLIP_STREAM=function(vehicle)return _natives.invoke_bool(0x48C633E94A8142A7,vehicle);end,\n"\ +"SET_VEHICLE_INACTIVE_DURING_PLAYBACK=function(vehicle,toggle)return _natives.invoke_void(0x06582AFF74894C75,vehicle,toggle);end,\n"\ +"SET_VEHICLE_ACTIVE_DURING_PLAYBACK=function(vehicle,toggle)return _natives.invoke_void(0xDFFCEF48E511DB48,vehicle,toggle);end,\n"\ +"IS_VEHICLE_SPRAYABLE=function(vehicle)return _natives.invoke_bool(0x8D474C8FAEFF6CDE,vehicle);end,\n"\ +"SET_VEHICLE_ENGINE_CAN_DEGRADE=function(vehicle,toggle)return _natives.invoke_void(0x983765856F2564F9,vehicle,toggle);end,\n"\ +"DISABLE_VEHCILE_DYNAMIC_AMBIENT_SCALES=function(vehicle,p1,p2)return _natives.invoke_void(0xF0E4BA16D1DB546C,vehicle,p1,p2);end,\n"\ +"ENABLE_VEHICLE_DYNAMIC_AMBIENT_SCALES=function(vehicle)return _natives.invoke_void(0xF87D9F2301F7D206,vehicle);end,\n"\ +"IS_PLANE_LANDING_GEAR_INTACT=function(plane)return _natives.invoke_bool(0x4198AB0022B15F87,plane);end,\n"\ +"ARE_PLANE_PROPELLERS_INTACT=function(plane)return _natives.invoke_bool(0x755D6D5267CBBD7E,plane);end,\n"\ +"SET_PLANE_PROPELLER_HEALTH=function(plane,health)return _natives.invoke_bool(0x4C815EB175086F84,plane,health);end,\n"\ +"SET_VEHICLE_CAN_DEFORM_WHEELS=function(vehicle,toggle)return _natives.invoke_void(0x0CDDA42F9E360CA6,vehicle,toggle);end,\n"\ +"IS_VEHICLE_STOLEN=function(vehicle)return _natives.invoke_bool(0x4AF9BD80EEBEB453,vehicle);end,\n"\ +"SET_VEHICLE_IS_STOLEN=function(vehicle,isStolen)return _natives.invoke_void(0x67B2C79AA7FF5738,vehicle,isStolen);end,\n"\ +"SET_PLANE_TURBULENCE_MULTIPLIER=function(vehicle,multiplier)return _natives.invoke_void(0xAD2D28A1AFDFF131,vehicle,multiplier);end,\n"\ +"ARE_WINGS_OF_PLANE_INTACT=function(plane)return _natives.invoke_bool(0x5991A01434CE9677,plane);end,\n"\ +"ALLOW_AMBIENT_VEHICLES_TO_AVOID_ADVERSE_CONDITIONS=function(vehicle)return _natives.invoke_void(0xB264C4D2F2B0A78B,vehicle);end,\n"\ +"DETACH_VEHICLE_FROM_CARGOBOB=function(vehicle,cargobob)return _natives.invoke_void(0x0E21D3DF1051399D,vehicle,cargobob);end,\n"\ +"DETACH_VEHICLE_FROM_ANY_CARGOBOB=function(vehicle)return _natives.invoke_bool(0xADF7BE450512C12F,vehicle);end,\n"\ +"DETACH_ENTITY_FROM_CARGOBOB=function(cargobob,entity)return _natives.invoke_bool(0xAF03011701811146,cargobob,entity);end,\n"\ +"IS_VEHICLE_ATTACHED_TO_CARGOBOB=function(cargobob,vehicleAttached)return _natives.invoke_bool(0xD40148F22E81A1D9,cargobob,vehicleAttached);end,\n"\ +"GET_VEHICLE_ATTACHED_TO_CARGOBOB=function(cargobob)return _natives.invoke_int(0x873B82D42AC2B9E5,cargobob);end,\n"\ +"GET_ENTITY_ATTACHED_TO_CARGOBOB=function(p0)return _natives.invoke_int(0x99093F60746708CA,p0);end,\n"\ +"ATTACH_VEHICLE_TO_CARGOBOB=function(vehicle,cargobob,p2,x,y,z)return _natives.invoke_void(0x4127F1D84E347769,vehicle,cargobob,p2,x,y,z);end,\n"\ +"ATTACH_ENTITY_TO_CARGOBOB=function(p0,p1,p2,p3,p4,p5)return _natives.invoke_void(0xA1DD82F3CCF9A01E,p0,p1,p2,p3,p4,p5);end,\n"\ +"SET_CARGOBOB_FORCE_DONT_DETACH_VEHICLE=function(cargobob,toggle)return _natives.invoke_void(0x571FEB383F629926,cargobob,toggle);end,\n"\ +"SET_CARGOBOB_EXCLUDE_FROM_PICKUP_ENTITY=function(p0,p1)return _natives.invoke_void(0x1F34B0626C594380,p0,p1);end,\n"\ +"CAN_CARGOBOB_PICK_UP_ENTITY=function(p0,p1)return _natives.invoke_bool(0x2C1D8B3B19E517CC,p0,p1);end,\n"\ +"GET_ATTACHED_PICK_UP_HOOK_POSITION=function(cargobob)return _natives.invoke_vec3(0xCBDB9B923CACC92D,cargobob);end,\n"\ +"DOES_CARGOBOB_HAVE_PICK_UP_ROPE=function(cargobob)return _natives.invoke_bool(0x1821D91AD4B56108,cargobob);end,\n"\ +"CREATE_PICK_UP_ROPE_FOR_CARGOBOB=function(cargobob,state)return _natives.invoke_void(0x7BEB0C7A235F6F3B,cargobob,state);end,\n"\ +"REMOVE_PICK_UP_ROPE_FOR_CARGOBOB=function(cargobob)return _natives.invoke_void(0x9768CF648F54C804,cargobob);end,\n"\ +"SET_PICKUP_ROPE_LENGTH_FOR_CARGOBOB=function(cargobob,length1,length2,p3)return _natives.invoke_void(0x877C1EAEAC531023,cargobob,length1,length2,p3);end,\n"\ +"SET_PICKUP_ROPE_LENGTH_WITHOUT_CREATING_ROPE_FOR_CARGOBOB=function(p0,p1,p2)return _natives.invoke_void(0xC0ED6438E6D39BA8,p0,p1,p2);end,\n"\ +"SET_CARGOBOB_PICKUP_ROPE_DAMPING_MULTIPLIER=function(p0,p1)return _natives.invoke_void(0xCF1182F682F65307,p0,p1);end,\n"\ +"SET_CARGOBOB_PICKUP_ROPE_TYPE=function(p0,p1)return _natives.invoke_void(0x0D5F65A8F4EBDAB5,p0,p1);end,\n"\ +"DOES_CARGOBOB_HAVE_PICKUP_MAGNET=function(cargobob)return _natives.invoke_bool(0x6E08BF5B3722BAC9,cargobob);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_ACTIVE=function(cargobob,isActive)return _natives.invoke_void(0x9A665550F8DA349B,cargobob,isActive);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_STRENGTH=function(cargobob,strength)return _natives.invoke_void(0xBCBFCD9D1DAC19E2,cargobob,strength);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_FALLOFF=function(cargobob,p1)return _natives.invoke_void(0xA17BAD153B51547E,cargobob,p1);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_REDUCED_STRENGTH=function(cargobob,p1)return _natives.invoke_void(0x66979ACF5102FD2F,cargobob,p1);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_REDUCED_FALLOFF=function(cargobob,p1)return _natives.invoke_void(0x6D8EAC07506291FB,cargobob,p1);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_PULL_STRENGTH=function(cargobob,p1)return _natives.invoke_void(0xED8286F71A819BAA,cargobob,p1);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_PULL_ROPE_LENGTH=function(vehicle,p1)return _natives.invoke_void(0x685D5561680D088B,vehicle,p1);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_SET_TARGETED_MODE=function(vehicle,cargobob)return _natives.invoke_void(0xE301BD63E9E13CF0,vehicle,cargobob);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_SET_AMBIENT_MODE=function(vehicle,p1,p2)return _natives.invoke_void(0x9BDDC73CC6A115D4,vehicle,p1,p2);end,\n"\ +"SET_CARGOBOB_PICKUP_MAGNET_ENSURE_PICKUP_ENTITY_UPRIGHT=function(vehicle,p1)return _natives.invoke_void(0x56EB5E94318D3FB6,vehicle,p1);end,\n"\ +"DOES_VEHICLE_HAVE_WEAPONS=function(vehicle)return _natives.invoke_bool(0x25ECB9F8017D98E0,vehicle);end,\n"\ +"SET_VEHICLE_WILL_TELL_OTHERS_TO_HURRY=function(vehicle,p1)return _natives.invoke_void(0x2C4A1590ABF43E8B,vehicle,p1);end,\n"\ +"DISABLE_VEHICLE_WEAPON=function(disabled,weaponHash,vehicle,owner)return _natives.invoke_void(0xF4FC6A6F67D8D856,disabled,weaponHash,vehicle,owner);end,\n"\ +"IS_VEHICLE_WEAPON_DISABLED=function(weaponHash,vehicle,owner)return _natives.invoke_bool(0x563B65A643ED072E,weaponHash,vehicle,owner);end,\n"\ +"SET_VEHICLE_USED_FOR_PILOT_SCHOOL=function(vehicle,toggle)return _natives.invoke_void(0xE05DD0E9707003A3,vehicle,toggle);end,\n"\ +"SET_VEHICLE_ACTIVE_FOR_PED_NAVIGATION=function(vehicle,toggle)return _natives.invoke_void(0x21115BCD6E44656A,vehicle,toggle);end,\n"\ +"GET_VEHICLE_CLASS=function(vehicle)return _natives.invoke_int(0x29439776AAA00A62,vehicle);end,\n"\ +"GET_VEHICLE_CLASS_FROM_NAME=function(modelHash)return _natives.invoke_int(0xDEDF1C8BD47C2200,modelHash);end,\n"\ +"SET_PLAYERS_LAST_VEHICLE=function(vehicle)return _natives.invoke_void(0xBCDF8BAF56C87B6A,vehicle);end,\n"\ +"SET_VEHICLE_CAN_BE_USED_BY_FLEEING_PEDS=function(vehicle,toggle)return _natives.invoke_void(0x300504B23BD3B711,vehicle,toggle);end,\n"\ +"SET_AIRCRAFT_PILOT_SKILL_NOISE_SCALAR=function(vehicle,p1)return _natives.invoke_void(0xE5810AC70602F2F5,vehicle,p1);end,\n"\ +"SET_VEHICLE_DROPS_MONEY_WHEN_BLOWN_UP=function(vehicle,toggle)return _natives.invoke_void(0x068F64F2470F9656,vehicle,toggle);end,\n"\ +"SET_VEHICLE_KEEP_ENGINE_ON_WHEN_ABANDONED=function(vehicle,toggle)return _natives.invoke_void(0xB8FBC8B1330CA9B4,vehicle,toggle);end,\n"\ +"SET_VEHICLE_IMPATIENCE_TIMER=function(vehicle,p1)return _natives.invoke_void(0x6A973569BA094650,vehicle,p1);end,\n"\ +"SET_VEHICLE_HANDLING_OVERRIDE=function(vehicle,hash)return _natives.invoke_void(0x10655FAB9915623D,vehicle,hash);end,\n"\ +"SET_VEHICLE_EXTENDED_REMOVAL_RANGE=function(vehicle,range)return _natives.invoke_void(0x79DF7E806202CE01,vehicle,range);end,\n"\ +"SET_VEHICLE_STEERING_BIAS_SCALAR=function(p0,p1)return _natives.invoke_void(0x9007A2F21DC108D4,p0,p1);end,\n"\ +"SET_HELI_CONTROL_LAGGING_RATE_SCALAR=function(helicopter,multiplier)return _natives.invoke_void(0x6E0859B530A365CC,helicopter,multiplier);end,\n"\ +"SET_VEHICLE_FRICTION_OVERRIDE=function(vehicle,friction)return _natives.invoke_void(0x1837AF7C627009BA,vehicle,friction);end,\n"\ +"SET_VEHICLE_WHEELS_CAN_BREAK_OFF_WHEN_BLOW_UP=function(vehicle,toggle)return _natives.invoke_void(0xA37B9A517B133349,vehicle,toggle);end,\n"\ +"ARE_PLANE_CONTROL_PANELS_INTACT=function(vehicle,p1)return _natives.invoke_bool(0xF78F94D60248C737,vehicle,p1);end,\n"\ +"SET_VEHICLE_CEILING_HEIGHT=function(vehicle,height)return _natives.invoke_void(0xA46413066687A328,vehicle,height);end,\n"\ +"SET_VEHICLE_NO_EXPLOSION_DAMAGE_FROM_DRIVER=function(vehicle,toggle)return _natives.invoke_void(0x5E569EC46EC21CAE,vehicle,toggle);end,\n"\ +"CLEAR_VEHICLE_ROUTE_HISTORY=function(vehicle)return _natives.invoke_void(0x6D6AF961B72728AE,vehicle);end,\n"\ +"DOES_VEHICLE_EXIST_WITH_DECORATOR=function(decorator)return _natives.invoke_int(0x956B409B984D9BF7,decorator);end,\n"\ +"SET_VEHICLE_AI_CAN_USE_EXCLUSIVE_SEATS=function(vehicle,toggle)return _natives.invoke_void(0x41062318F23ED854,vehicle,toggle);end,\n"\ +"SET_VEHICLE_EXCLUSIVE_DRIVER=function(vehicle,ped,index)return _natives.invoke_void(0xB5C51B5502E85E83,vehicle,ped,index);end,\n"\ +"IS_PED_EXCLUSIVE_DRIVER_OF_VEHICLE=function(ped,vehicle,outIndex)return _natives.invoke_bool(0xB09D25E77C33EB3F,ped,vehicle,outIndex);end,\n"\ +"DISABLE_INDIVIDUAL_PLANE_PROPELLER=function(vehicle,propeller)return _natives.invoke_void(0x500873A45724C863,vehicle,propeller);end,\n"\ +"SET_VEHICLE_FORCE_AFTERBURNER=function(vehicle,toggle)return _natives.invoke_void(0xB055A34527CB8FD7,vehicle,toggle);end,\n"\ +"SET_DONT_PROCESS_VEHICLE_GLASS=function(vehicle,toggle)return _natives.invoke_void(0x1087BC8EC540DAEB,vehicle,toggle);end,\n"\ +"SET_DISABLE_WANTED_CONES_RESPONSE=function(vehicle,toggle)return _natives.invoke_void(0x4AD280EB48B2D8E6,vehicle,toggle);end,\n"\ +"SET_USE_DESIRED_Z_CRUISE_SPEED_FOR_LANDING=function(vehicle,toggle)return _natives.invoke_void(0xB68CFAF83A02768D,vehicle,toggle);end,\n"\ +"SET_ARRIVE_DISTANCE_OVERRIDE_FOR_VEHICLE_PERSUIT_ATTACK=function(vehicle,p1)return _natives.invoke_void(0x0205F5365292D2EB,vehicle,p1);end,\n"\ +"SET_VEHICLE_READY_FOR_CLEANUP=function(p0)return _natives.invoke_void(0xCF9159024555488C,p0);end,\n"\ +"SET_DISTANT_CARS_ENABLED=function(toggle)return _natives.invoke_void(0xF796359A959DF65D,toggle);end,\n"\ +"SET_VEHICLE_NEON_COLOUR=function(vehicle,r,g,b)return _natives.invoke_void(0x8E0A582209A62695,vehicle,r,g,b);end,\n"\ +"SET_VEHICLE_NEON_INDEX_COLOUR=function(vehicle,index)return _natives.invoke_void(0xB93B2867F7B479D1,vehicle,index);end,\n"\ +"GET_VEHICLE_NEON_COLOUR=function(vehicle,r,g,b)return _natives.invoke_void(0x7619EEE8C886757F,vehicle,r,g,b);end,\n"\ +"SET_VEHICLE_NEON_ENABLED=function(vehicle,index,toggle)return _natives.invoke_void(0x2AA720E4287BF269,vehicle,index,toggle);end,\n"\ +"GET_VEHICLE_NEON_ENABLED=function(vehicle,index)return _natives.invoke_bool(0x8C4B92553E4766A5,vehicle,index);end,\n"\ +"SET_AMBIENT_VEHICLE_NEON_ENABLED=function(p0)return _natives.invoke_void(0x35E0654F4BAD7971,p0);end,\n"\ +"SUPPRESS_NEONS_ON_VEHICLE=function(vehicle,toggle)return _natives.invoke_void(0x83F813570FF519DE,vehicle,toggle);end,\n"\ +"SET_DISABLE_SUPERDUMMY=function(vehicle,p1)return _natives.invoke_void(0xB088E9A47AE6EDD5,vehicle,p1);end,\n"\ +"REQUEST_VEHICLE_DIAL=function(vehicle)return _natives.invoke_void(0xDBA3C090E3D74690,vehicle);end,\n"\ +"GET_VEHICLE_BODY_HEALTH=function(vehicle)return _natives.invoke_float(0xF271147EB7B40F12,vehicle);end,\n"\ +"SET_VEHICLE_BODY_HEALTH=function(vehicle,value)return _natives.invoke_void(0xB77D05AC8C78AADB,vehicle,value);end,\n"\ +"GET_VEHICLE_SIZE=function(vehicle,out1,out2)return _natives.invoke_void(0xDF7E3EEB29642C38,vehicle,out1,out2);end,\n"\ +"GET_FAKE_SUSPENSION_LOWERING_AMOUNT=function(vehicle)return _natives.invoke_float(0x53952FD2BAA19F17,vehicle);end,\n"\ +"SET_CAR_HIGH_SPEED_BUMP_SEVERITY_MULTIPLIER=function(multiplier)return _natives.invoke_void(0x84FD40F56075E816,multiplier);end,\n"\ +"GET_NUMBER_OF_VEHICLE_DOORS=function(vehicle)return _natives.invoke_int(0x92922A607497B14D,vehicle);end,\n"\ +"SET_HYDRAULICS_CONTROL=function(vehicle,toggle)return _natives.invoke_void(0x28B18377EB6E25F6,vehicle,toggle);end,\n"\ +"SET_CAN_ADJUST_GROUND_CLEARANCE=function(vehicle,p1)return _natives.invoke_void(0xA7DCDF4DED40A8F4,vehicle,p1);end,\n"\ +"GET_VEHICLE_HEALTH_PERCENTAGE=function(vehicle,maxEngineHealth,maxPetrolTankHealth,maxBodyHealth,maxMainRotorHealth,maxTailRotorHealth,maxUnkHealth)return _natives.invoke_float(0xB8EF61207C2393A9,vehicle,maxEngineHealth,maxPetrolTankHealth,maxBodyHealth,maxMainRotorHealth,maxTailRotorHealth,maxUnkHealth);end,\n"\ +"GET_VEHICLE_IS_MERCENARY=function(vehicle)return _natives.invoke_bool(0xD4C4642CB7F50B5D,vehicle);end,\n"\ +"SET_VEHICLE_BROKEN_PARTS_DONT_AFFECT_AI_HANDLING=function(vehicle,p1)return _natives.invoke_void(0xC361AA040D6637A8,vehicle,p1);end,\n"\ +"SET_VEHICLE_KERS_ALLOWED=function(vehicle,toggle)return _natives.invoke_void(0x99C82F8A139F3E4E,vehicle,toggle);end,\n"\ +"GET_VEHICLE_HAS_KERS=function(vehicle)return _natives.invoke_bool(0x50634E348C8D44EF,vehicle);end,\n"\ +"SET_PLANE_RESIST_TO_EXPLOSION=function(vehicle,toggle)return _natives.invoke_void(0xE16142B94664DEFD,vehicle,toggle);end,\n"\ +"SET_HELI_RESIST_TO_EXPLOSION=function(vehicle,toggle)return _natives.invoke_void(0x8074CC1886802912,vehicle,toggle);end,\n"\ +"SET_DISABLE_BMX_EXTRA_TRICK_FORCES=function(p0)return _natives.invoke_void(0x26D99D5A82FD18E8,p0);end,\n"\ +"SET_HYDRAULIC_SUSPENSION_RAISE_FACTOR=function(vehicle,wheelId,value)return _natives.invoke_void(0x84EA99C62CB3EF0C,vehicle,wheelId,value);end,\n"\ +"GET_HYDRAULIC_SUSPENSION_RAISE_FACTOR=function(vehicle,wheelId)return _natives.invoke_float(0x0BB5CBDDD0F25AE3,vehicle,wheelId);end,\n"\ +"SET_CAN_USE_HYDRAULICS=function(vehicle,toggle)return _natives.invoke_void(0x1201E8A3290A3B98,vehicle,toggle);end,\n"\ +"SET_HYDRAULIC_VEHICLE_STATE=function(vehicle,state)return _natives.invoke_void(0x8EA86DF356801C7D,vehicle,state);end,\n"\ +"SET_HYDRAULIC_WHEEL_STATE=function(vehicle,wheelId,state,value,p4)return _natives.invoke_void(0xC24075310A8B9CD1,vehicle,wheelId,state,value,p4);end,\n"\ +"HAS_VEHICLE_PETROLTANK_SET_ON_FIRE_BY_ENTITY=function(p0,p1)return _natives.invoke_bool(0x5BA68A0840D546AC,p0,p1);end,\n"\ +"CLEAR_VEHICLE_PETROLTANK_FIRE_CULPRIT=function(vehicle)return _natives.invoke_void(0x4419966C9936071A,vehicle);end,\n"\ +"SET_VEHICLE_BOBBLEHEAD_VELOCITY=function(x,y,p2)return _natives.invoke_void(0x870B8B7A766615C8,x,y,p2);end,\n"\ +"GET_VEHICLE_IS_DUMMY=function(p0)return _natives.invoke_bool(0x8533CAFDE1F0F336,p0);end,\n"\ +"SET_VEHICLE_DAMAGE_SCALE=function(vehicle,p1)return _natives.invoke_bool(0x4E20D2A627011E8E,vehicle,p1);end,\n"\ +"SET_VEHICLE_WEAPON_DAMAGE_SCALE=function(vehicle,multiplier)return _natives.invoke_bool(0x45A561A9421AB6AD,vehicle,multiplier);end,\n"\ +"SET_DISABLE_DAMAGE_WITH_PICKED_UP_ENTITY=function(p0,p1)return _natives.invoke_bool(0xD4196117AF7BB974,p0,p1);end,\n"\ +"SET_VEHICLE_USES_MP_PLAYER_DAMAGE_MULTIPLIER=function(p0,p1)return _natives.invoke_void(0xBB2333BB87DDD87F,p0,p1);end,\n"\ +"SET_BIKE_EASY_TO_LAND=function(vehicle,toggle)return _natives.invoke_void(0x73561D4425A021A2,vehicle,toggle);end,\n"\ +"SET_INVERT_VEHICLE_CONTROLS=function(vehicle,state)return _natives.invoke_void(0x5B91B229243351A8,vehicle,state);end,\n"\ +"SET_SPEED_BOOST_EFFECT_DISABLED=function(disabled)return _natives.invoke_void(0x7BBE7FF626A591FE,disabled);end,\n"\ +"SET_SLOW_DOWN_EFFECT_DISABLED=function(disabled)return _natives.invoke_void(0x65B080555EA48149,disabled);end,\n"\ +"SET_FORMATION_LEADER=function(vehicle,x,y,z,p4)return _natives.invoke_void(0x428AD3E26C8D9EB0,vehicle,x,y,z,p4);end,\n"\ +"RESET_FORMATION_LEADER=function()return _natives.invoke_void(0xE2F53F172B45EDE1);end,\n"\ +"GET_IS_BOAT_CAPSIZED=function(vehicle)return _natives.invoke_bool(0xBA91D045575699AD,vehicle);end,\n"\ +"SET_ALLOW_RAMMING_SOOP_OR_RAMP=function(p0,p1)return _natives.invoke_void(0x80E3357FDEF45C21,p0,p1);end,\n"\ +"SET_SCRIPT_RAMP_IMPULSE_SCALE=function(vehicle,impulseScale)return _natives.invoke_void(0xEFC13B1CE30D755D,vehicle,impulseScale);end,\n"\ +"GET_IS_DOOR_VALID=function(vehicle,doorId)return _natives.invoke_bool(0x645F4B6E8499F632,vehicle,doorId);end,\n"\ +"SET_SCRIPT_ROCKET_BOOST_RECHARGE_TIME=function(vehicle,seconds)return _natives.invoke_void(0xE00F2AB100B76E89,vehicle,seconds);end,\n"\ +"GET_HAS_ROCKET_BOOST=function(vehicle)return _natives.invoke_bool(0x36D782F68B309BDA,vehicle);end,\n"\ +"IS_ROCKET_BOOST_ACTIVE=function(vehicle)return _natives.invoke_bool(0x3D34E80EED4AE3BE,vehicle);end,\n"\ +"SET_ROCKET_BOOST_ACTIVE=function(vehicle,active)return _natives.invoke_void(0x81E1552E35DC3839,vehicle,active);end,\n"\ +"GET_HAS_RETRACTABLE_WHEELS=function(vehicle)return _natives.invoke_bool(0xDCA174A42133F08C,vehicle);end,\n"\ +"GET_IS_WHEELS_RETRACTED=function(vehicle)return _natives.invoke_bool(0x1DA0DA9CB3F0C8BF,vehicle);end,\n"\ +"SET_WHEELS_EXTENDED_INSTANTLY=function(vehicle)return _natives.invoke_void(0xF660602546D27BA8,vehicle);end,\n"\ +"SET_WHEELS_RETRACTED_INSTANTLY=function(vehicle)return _natives.invoke_void(0x5335BE58C083E74E,vehicle);end,\n"\ +"GET_CAR_HAS_JUMP=function(vehicle)return _natives.invoke_bool(0x9078C0C5EF8C19E9,vehicle);end,\n"\ +"SET_USE_HIGHER_CAR_JUMP=function(vehicle,toggle)return _natives.invoke_void(0xF06A16CA55D138D8,vehicle,toggle);end,\n"\ +"SET_CLEAR_FREEZE_WAITING_ON_COLLISION_ONCE_PLAYER_ENTERS=function(vehicle,toggle)return _natives.invoke_void(0xB2E0C0D6922D31F2,vehicle,toggle);end,\n"\ +"SET_VEHICLE_WEAPON_RESTRICTED_AMMO=function(vehicle,weaponIndex,capacity)return _natives.invoke_void(0x44CD1F493DB2A0A6,vehicle,weaponIndex,capacity);end,\n"\ +"GET_VEHICLE_WEAPON_RESTRICTED_AMMO=function(vehicle,weaponIndex)return _natives.invoke_int(0x8181CE2F25CB9BB7,vehicle,weaponIndex);end,\n"\ +"GET_VEHICLE_HAS_PARACHUTE=function(vehicle)return _natives.invoke_bool(0xBC9CFF381338CB4F,vehicle);end,\n"\ +"GET_VEHICLE_CAN_DEPLOY_PARACHUTE=function(vehicle)return _natives.invoke_bool(0xA916396DF4154EE3,vehicle);end,\n"\ +"VEHICLE_START_PARACHUTING=function(vehicle,active)return _natives.invoke_void(0x0BFFB028B3DD0A97,vehicle,active);end,\n"\ +"IS_VEHICLE_PARACHUTE_DEPLOYED=function(vehicle)return _natives.invoke_bool(0x3DE51E9C80B116CF,vehicle);end,\n"\ +"VEHICLE_SET_RAMP_AND_RAMMING_CARS_TAKE_DAMAGE=function(vehicle,toggle)return _natives.invoke_void(0x28D034A93FE31BF5,vehicle,toggle);end,\n"\ +"VEHICLE_SET_ENABLE_RAMP_CAR_SIDE_IMPULSE=function(p0,p1)return _natives.invoke_void(0x1BBAC99C0BC53656,p0,p1);end,\n"\ +"VEHICLE_SET_ENABLE_NORMALISE_RAMP_CAR_VERTICAL_VELOCTIY=function(p0,p1)return _natives.invoke_void(0x756AE6E962168A04,p0,p1);end,\n"\ +"VEHICLE_SET_JET_WASH_FORCE_ENABLED=function(p0)return _natives.invoke_void(0x9D30687C57BAA0BB,p0);end,\n"\ +"SET_VEHICLE_WEAPON_CAN_TARGET_OBJECTS=function(vehicle,toggle)return _natives.invoke_void(0x86B4B6212CB8B627,vehicle,toggle);end,\n"\ +"SET_VEHICLE_USE_BOOST_BUTTON_FOR_WHEEL_RETRACT=function(toggle)return _natives.invoke_void(0x41290B40FA63E6DA,toggle);end,\n"\ +"VEHICLE_SET_PARACHUTE_MODEL_OVERRIDE=function(vehicle,modelHash)return _natives.invoke_void(0x4D610C6B56031351,vehicle,modelHash);end,\n"\ +"VEHICLE_SET_PARACHUTE_MODEL_TINT_INDEX=function(vehicle,textureVariation)return _natives.invoke_void(0xA74AD2439468C883,vehicle,textureVariation);end,\n"\ +"VEHICLE_SET_OVERRIDE_EXTENABLE_SIDE_RATIO=function(p0,p1)return _natives.invoke_int(0x0419B167EE128F33,p0,p1);end,\n"\ +"VEHICLE_SET_EXTENABLE_SIDE_TARGET_RATIO=function(p0,p1)return _natives.invoke_int(0xF3B0E0AED097A3F5,p0,p1);end,\n"\ +"VEHICLE_SET_OVERRIDE_SIDE_RATIO=function(p0,p1)return _natives.invoke_int(0xD3E51C0AB8C26EEE,p0,p1);end,\n"\ +"GET_ALL_VEHICLES=function(vehsStruct)return _natives.invoke_int(0x9B8E1BF04B51F2E8,vehsStruct);end,\n"\ +"SET_CARGOBOB_EXTA_PICKUP_RANGE=function(p0,p1)return _natives.invoke_void(0x72BECCF4B829522E,p0,p1);end,\n"\ +"SET_OVERRIDE_VEHICLE_DOOR_TORQUE=function(p0,p1,p2)return _natives.invoke_void(0x66E3AAFACE2D1EB8,p0,p1,p2);end,\n"\ +"SET_WHEELIE_ENABLED=function(vehicle,enabled)return _natives.invoke_void(0x1312DDD8385AEE4E,vehicle,enabled);end,\n"\ +"SET_DISABLE_HELI_EXPLODE_FROM_BODY_DAMAGE=function(p0,p1)return _natives.invoke_void(0xEDBC8405B3895CC9,p0,p1);end,\n"\ +"SET_DISABLE_EXPLODE_FROM_BODY_DAMAGE_ON_COLLISION=function(vehicle,value)return _natives.invoke_void(0x26E13D440E7F6064,vehicle,value);end,\n"\ +"SET_TRAILER_ATTACHMENT_ENABLED=function(p0,p1)return _natives.invoke_void(0x2FA2494B47FDD009,p0,p1);end,\n"\ +"SET_ROCKET_BOOST_FILL=function(vehicle,percentage)return _natives.invoke_void(0xFEB2DDED3509562E,vehicle,percentage);end,\n"\ +"SET_GLIDER_ACTIVE=function(vehicle,state)return _natives.invoke_void(0x544996C0081ABDEB,vehicle,state);end,\n"\ +"SET_SHOULD_RESET_TURRET_IN_SCRIPTED_CAMERAS=function(vehicle,shouldReset)return _natives.invoke_void(0x78CEEE41F49F421F,vehicle,shouldReset);end,\n"\ +"SET_VEHICLE_DISABLE_COLLISION_UPON_CREATION=function(vehicle,disable)return _natives.invoke_void(0xAF60E6A2936F982A,vehicle,disable);end,\n"\ +"SET_GROUND_EFFECT_REDUCES_DRAG=function(toggle)return _natives.invoke_void(0x430A7631A84C9BE7,toggle);end,\n"\ +"SET_DISABLE_MAP_COLLISION=function(vehicle)return _natives.invoke_void(0x75627043C6AA90AD,vehicle);end,\n"\ +"SET_DISABLE_PED_STAND_ON_TOP=function(vehicle,toggle)return _natives.invoke_void(0x8235F1BEAD557629,vehicle,toggle);end,\n"\ +"SET_VEHICLE_DAMAGE_SCALES=function(vehicle,p1,p2,p3,p4)return _natives.invoke_void(0x9640E30A7F395E4B,vehicle,p1,p2,p3,p4);end,\n"\ +"SET_PLANE_SECTION_DAMAGE_SCALE=function(vehicle,p1,p2)return _natives.invoke_void(0x0BBB9A7A8FFE931B,vehicle,p1,p2);end,\n"\ +"SET_HELI_CAN_PICKUP_ENTITY_THAT_HAS_PICK_UP_DISABLED=function(vehicle,toggle)return _natives.invoke_void(0x94A68DA412C4007D,vehicle,toggle);end,\n"\ +"SET_VEHICLE_BOMB_AMMO=function(vehicle,bombCount)return _natives.invoke_void(0xF4B2ED59DEB5D774,vehicle,bombCount);end,\n"\ +"GET_VEHICLE_BOMB_AMMO=function(vehicle)return _natives.invoke_int(0xEA12BD130D7569A1,vehicle);end,\n"\ +"SET_VEHICLE_COUNTERMEASURE_AMMO=function(vehicle,counterMeasureCount)return _natives.invoke_void(0x9BDA23BF666F0855,vehicle,counterMeasureCount);end,\n"\ +"GET_VEHICLE_COUNTERMEASURE_AMMO=function(vehicle)return _natives.invoke_int(0xF846AA63DF56B804,vehicle);end,\n"\ +"SET_HELI_COMBAT_OFFSET=function(vehicle,x,y,z)return _natives.invoke_void(0x0A3F820A9A9A9AC5,vehicle,x,y,z);end,\n"\ +"GET_CAN_VEHICLE_BE_PLACED_HERE=function(vehicle,x,y,z,rotX,rotY,rotZ,p7,p8)return _natives.invoke_bool(0x51F30DB60626A20E,vehicle,x,y,z,rotX,rotY,rotZ,p7,p8);end,\n"\ +"SET_DISABLE_AUTOMATIC_CRASH_TASK=function(vehicle,toggle)return _natives.invoke_void(0x97841634EF7DF1D6,vehicle,toggle);end,\n"\ +"SET_SPECIAL_FLIGHT_MODE_RATIO=function(vehicle,ratio)return _natives.invoke_void(0xD138FA15C9776837,vehicle,ratio);end,\n"\ +"SET_SPECIAL_FLIGHT_MODE_TARGET_RATIO=function(vehicle,targetRatio)return _natives.invoke_void(0x438B3D7CA026FE91,vehicle,targetRatio);end,\n"\ +"SET_SPECIAL_FLIGHT_MODE_ALLOWED=function(vehicle,toggle)return _natives.invoke_void(0xF1211889DF15A763,vehicle,toggle);end,\n"\ +"SET_DISABLE_HOVER_MODE_FLIGHT=function(vehicle,toggle)return _natives.invoke_void(0x2D55FE374D5FDB91,vehicle,toggle);end,\n"\ +"GET_OUTRIGGERS_DEPLOYED=function(vehicle)return _natives.invoke_bool(0x3A9128352EAC9E85,vehicle);end,\n"\ +"FIND_SPAWN_COORDINATES_FOR_HELI=function(ped)return _natives.invoke_vec3(0x8DC9675797123522,ped);end,\n"\ +"SET_DEPLOY_FOLDING_WINGS=function(vehicle,deploy,p2)return _natives.invoke_void(0xB251E0B33E58B424,vehicle,deploy,p2);end,\n"\ +"ARE_FOLDING_WINGS_DEPLOYED=function(vehicle)return _natives.invoke_bool(0xAEF12960FA943792,vehicle);end,\n"\ +"SET_DIP_STRAIGHT_DOWN_WHEN_CRASHING_PLANE=function(vehicle,toggle)return _natives.invoke_void(0xAA653AE61924B0A0,vehicle,toggle);end,\n"\ +"SET_TURRET_HIDDEN=function(vehicle,index,toggle)return _natives.invoke_void(0xC60060EB0D8AC7B1,vehicle,index,toggle);end,\n"\ +"SET_HOVER_MODE_WING_RATIO=function(vehicle,ratio)return _natives.invoke_void(0x70A252F60A3E036B,vehicle,ratio);end,\n"\ +"SET_DISABLE_TURRET_MOVEMENT=function(vehicle,turretId)return _natives.invoke_void(0xE615BB7A7752C76A,vehicle,turretId);end,\n"\ +"SET_FORCE_FIX_LINK_MATRICES=function(vehicle)return _natives.invoke_void(0x887FA38787DE8C72,vehicle);end,\n"\ +"SET_TRANSFORM_RATE_FOR_ANIMATION=function(vehicle,transformRate)return _natives.invoke_void(0x498218259FB7C72D,vehicle,transformRate);end,\n"\ +"SET_TRANSFORM_TO_SUBMARINE_USES_ALTERNATE_INPUT=function(vehicle,toggle)return _natives.invoke_void(0x41B9FB92EDED32A6,vehicle,toggle);end,\n"\ +"SET_VEHICLE_COMBAT_MODE=function(toggle)return _natives.invoke_void(0x36DE109527A2C0C4,toggle);end,\n"\ +"SET_VEHICLE_DETONATION_MODE=function(toggle)return _natives.invoke_void(0x82E0AC411E41A5B4,toggle);end,\n"\ +"SET_VEHICLE_SHUNT_ON_STICK=function(toggle)return _natives.invoke_void(0x99A05839C46CE316,toggle);end,\n"\ +"GET_IS_VEHICLE_SHUNTING=function(vehicle)return _natives.invoke_bool(0xA2459F72C14E2E8D,vehicle);end,\n"\ +"GET_HAS_VEHICLE_BEEN_HIT_BY_SHUNT=function(vehicle)return _natives.invoke_bool(0xE8718FAF591FD224,vehicle);end,\n"\ +"GET_LAST_SHUNT_VEHICLE=function(vehicle)return _natives.invoke_int(0x04F2FA6E234162F7,vehicle);end,\n"\ +"SET_DISABLE_VEHICLE_EXPLOSIONS_DAMAGE=function(toggle)return _natives.invoke_void(0x143921E45EC44D62,toggle);end,\n"\ +"SET_OVERRIDE_NITROUS_LEVEL=function(vehicle,toggle,level,power,rechargeTime,disableSound)return _natives.invoke_void(0xC8E9B6B71B8E660D,vehicle,toggle,level,power,rechargeTime,disableSound);end,\n"\ +"SET_INCREASE_WHEEL_CRUSH_DAMAGE=function(vehicle,toggle)return _natives.invoke_void(0x2970EAA18FD5E42F,vehicle,toggle);end,\n"\ +"SET_DISABLE_WEAPON_BLADE_FORCES=function(toggle)return _natives.invoke_void(0x211E95CE9903940C,toggle);end,\n"\ +"SET_USE_DOUBLE_CLICK_FOR_CAR_JUMP=function(toggle)return _natives.invoke_void(0x5BBCF35BF6E456F7,toggle);end,\n"\ +"GET_DOES_VEHICLE_HAVE_TOMBSTONE=function(vehicle)return _natives.invoke_bool(0x71AFB258CCED3A27,vehicle);end,\n"\ +"HIDE_TOMBSTONE=function(vehicle,toggle)return _natives.invoke_void(0xAE71FB656C600587,vehicle,toggle);end,\n"\ +"GET_IS_VEHICLE_DISABLED_BY_EMP=function(vehicle)return _natives.invoke_bool(0x0506ED94363AD905,vehicle);end,\n"\ +"SET_DISABLE_RETRACTING_WEAPON_BLADES=function(toggle)return _natives.invoke_void(0x8F0D5BA1C2CC91D7,toggle);end,\n"\ +"GET_TYRE_HEALTH=function(vehicle,wheelIndex)return _natives.invoke_float(0x55EAB010FAEE9380,vehicle,wheelIndex);end,\n"\ +"SET_TYRE_HEALTH=function(vehicle,wheelIndex,health)return _natives.invoke_void(0x74C68EF97645E79D,vehicle,wheelIndex,health);end,\n"\ +"GET_TYRE_WEAR_RATE=function(vehicle,wheelIndex)return _natives.invoke_float(0x6E387895952F4F71,vehicle,wheelIndex);end,\n"\ +"SET_TYRE_WEAR_RATE=function(vehicle,wheelIndex,multiplier)return _natives.invoke_void(0x01894E2EDE923CA2,vehicle,wheelIndex,multiplier);end,\n"\ +"SET_TYRE_WEAR_RATE_SCALE=function(vehicle,wheelIndex,multiplier)return _natives.invoke_void(0x392183BB9EA57697,vehicle,wheelIndex,multiplier);end,\n"\ +"SET_TYRE_MAXIMUM_GRIP_DIFFERENCE_DUE_TO_WEAR_RATE=function(vehicle,wheelIndex,multiplier)return _natives.invoke_void(0xC970D0E0FC31D768,vehicle,wheelIndex,multiplier);end,\n"\ +"SET_AIRCRAFT_IGNORE_HIGHTMAP_OPTIMISATION=function(vehicle,p1)return _natives.invoke_void(0xF8B49F5BA7F850E7,vehicle,p1);end,\n"\ +"SET_REDUCED_SUSPENSION_FORCE=function(vehicle,enable)return _natives.invoke_void(0x3A375167F5782A65,vehicle,enable);end,\n"\ +"SET_DRIFT_TYRES=function(vehicle,toggle)return _natives.invoke_void(0x5AC79C98C5C17F05,vehicle,toggle);end,\n"\ +"GET_DRIFT_TYRES_SET=function(vehicle)return _natives.invoke_bool(0x2F5A72430E78C8D3,vehicle);end,\n"\ +"NETWORK_USE_HIGH_PRECISION_TRAIN_BLENDING=function(vehicle,toggle)return _natives.invoke_void(0xEC0C1D4922AF9754,vehicle,toggle);end,\n"\ +"SET_CHECK_FOR_ENOUGH_ROOM_FOR_PED=function(vehicle,p1)return _natives.invoke_void(0xEF9D388F8D377F44,vehicle,p1);end,\n"\ +"};\n"\ +"WATER = {\n"\ +"GET_WATER_HEIGHT=function(x,y,z,height)return _natives.invoke_bool(0xF6829842C06AE524,x,y,z,height);end,\n"\ +"GET_WATER_HEIGHT_NO_WAVES=function(x,y,z,height)return _natives.invoke_bool(0x8EE6B53CE13A9794,x,y,z,height);end,\n"\ +"TEST_PROBE_AGAINST_WATER=function(x1,y1,z1,x2,y2,z2,result)return _natives.invoke_bool(0xFFA5D878809819DB,x1,y1,z1,x2,y2,z2,result);end,\n"\ +"TEST_PROBE_AGAINST_ALL_WATER=function(x1,y1,z1,x2,y2,z2,flags,waterHeight)return _natives.invoke_int(0x8974647ED222EA5F,x1,y1,z1,x2,y2,z2,flags,waterHeight);end,\n"\ +"TEST_VERTICAL_PROBE_AGAINST_ALL_WATER=function(x,y,z,flags,waterHeight)return _natives.invoke_int(0x2B3451FA1E3142E2,x,y,z,flags,waterHeight);end,\n"\ +"MODIFY_WATER=function(x,y,radius,height)return _natives.invoke_void(0xC443FD757C3BA637,x,y,radius,height);end,\n"\ +"ADD_EXTRA_CALMING_QUAD=function(xLow,yLow,xHigh,yHigh,height)return _natives.invoke_int(0xFDBF4CDBC07E1706,xLow,yLow,xHigh,yHigh,height);end,\n"\ +"REMOVE_EXTRA_CALMING_QUAD=function(calmingQuad)return _natives.invoke_void(0xB1252E3E59A82AAF,calmingQuad);end,\n"\ +"SET_DEEP_OCEAN_SCALER=function(intensity)return _natives.invoke_void(0xB96B00E976BE977F,intensity);end,\n"\ +"GET_DEEP_OCEAN_SCALER=function()return _natives.invoke_float(0x2B2A2CC86778B619);end,\n"\ +"SET_CALMED_WAVE_HEIGHT_SCALER=function(height)return _natives.invoke_void(0x547237AA71AB44DE,height);end,\n"\ +"RESET_DEEP_OCEAN_SCALER=function()return _natives.invoke_void(0x5E5E99285AE812DB);end,\n"\ +"};\n"\ +"WEAPON = {\n"\ +"ENABLE_LASER_SIGHT_RENDERING=function(toggle)return _natives.invoke_void(0xC8B46D7727D864AA,toggle);end,\n"\ +"GET_WEAPON_COMPONENT_TYPE_MODEL=function(componentHash)return _natives.invoke_int(0x0DB57B41EC1DB083,componentHash);end,\n"\ +"GET_WEAPONTYPE_MODEL=function(weaponHash)return _natives.invoke_int(0xF46CDC33180FDA94,weaponHash);end,\n"\ +"GET_WEAPONTYPE_SLOT=function(weaponHash)return _natives.invoke_int(0x4215460B9B8B7FA0,weaponHash);end,\n"\ +"GET_WEAPONTYPE_GROUP=function(weaponHash)return _natives.invoke_int(0xC3287EE3050FB74C,weaponHash);end,\n"\ +"GET_WEAPON_COMPONENT_VARIANT_EXTRA_COUNT=function(componentHash)return _natives.invoke_int(0x6558AC7C17BFEF58,componentHash);end,\n"\ +"GET_WEAPON_COMPONENT_VARIANT_EXTRA_MODEL=function(componentHash,extraComponentIndex)return _natives.invoke_int(0x4D1CB8DC40208A17,componentHash,extraComponentIndex);end,\n"\ +"SET_CURRENT_PED_WEAPON=function(ped,weaponHash,bForceInHand)return _natives.invoke_void(0xADF692B254977C0C,ped,weaponHash,bForceInHand);end,\n"\ +"GET_CURRENT_PED_WEAPON=function(ped,weaponHash,p2)return _natives.invoke_bool(0x3A87E44BB9A01D54,ped,weaponHash,p2);end,\n"\ +"GET_CURRENT_PED_WEAPON_ENTITY_INDEX=function(ped,p1)return _natives.invoke_int(0x3B390A939AF0B5FC,ped,p1);end,\n"\ +"GET_BEST_PED_WEAPON=function(ped,p1)return _natives.invoke_int(0x8483E98E8B888AE2,ped,p1);end,\n"\ +"SET_CURRENT_PED_VEHICLE_WEAPON=function(ped,weaponHash)return _natives.invoke_bool(0x75C55983C2C39DAA,ped,weaponHash);end,\n"\ +"GET_CURRENT_PED_VEHICLE_WEAPON=function(ped,weaponHash)return _natives.invoke_bool(0x1017582BCD3832DC,ped,weaponHash);end,\n"\ +"SET_PED_CYCLE_VEHICLE_WEAPONS_ONLY=function(ped)return _natives.invoke_void(0x50276EF8172F5F12,ped);end,\n"\ +"IS_PED_ARMED=function(ped,typeFlags)return _natives.invoke_bool(0x475768A975D5AD17,ped,typeFlags);end,\n"\ +"IS_WEAPON_VALID=function(weaponHash)return _natives.invoke_bool(0x937C71165CF334B3,weaponHash);end,\n"\ +"HAS_PED_GOT_WEAPON=function(ped,weaponHash,p2)return _natives.invoke_bool(0x8DECB02F88F428BC,ped,weaponHash,p2);end,\n"\ +"IS_PED_WEAPON_READY_TO_SHOOT=function(ped)return _natives.invoke_bool(0xB80CA294F2F26749,ped);end,\n"\ +"GET_PED_WEAPONTYPE_IN_SLOT=function(ped,weaponSlot)return _natives.invoke_int(0xEFFED78E9011134D,ped,weaponSlot);end,\n"\ +"GET_AMMO_IN_PED_WEAPON=function(ped,weaponhash)return _natives.invoke_int(0x015A522136D7F951,ped,weaponhash);end,\n"\ +"ADD_AMMO_TO_PED=function(ped,weaponHash,ammo)return _natives.invoke_void(0x78F0424C34306220,ped,weaponHash,ammo);end,\n"\ +"SET_PED_AMMO=function(ped,weaponHash,ammo,p3)return _natives.invoke_void(0x14E56BC5B5DB6A19,ped,weaponHash,ammo,p3);end,\n"\ +"SET_PED_INFINITE_AMMO=function(ped,toggle,weaponHash)return _natives.invoke_void(0x3EDCB0505123623B,ped,toggle,weaponHash);end,\n"\ +"SET_PED_INFINITE_AMMO_CLIP=function(ped,toggle)return _natives.invoke_void(0x183DADC6AA953186,ped,toggle);end,\n"\ +"SET_PED_STUN_GUN_FINITE_AMMO=function(p0,p1)return _natives.invoke_void(0x24C024BA8379A70A,p0,p1);end,\n"\ +"GIVE_WEAPON_TO_PED=function(ped,weaponHash,ammoCount,isHidden,bForceInHand)return _natives.invoke_void(0xBF0FD6E56C964FCB,ped,weaponHash,ammoCount,isHidden,bForceInHand);end,\n"\ +"GIVE_DELAYED_WEAPON_TO_PED=function(ped,weaponHash,ammoCount,bForceInHand)return _natives.invoke_void(0xB282DC6EBD803C75,ped,weaponHash,ammoCount,bForceInHand);end,\n"\ +"REMOVE_ALL_PED_WEAPONS=function(ped,p1)return _natives.invoke_void(0xF25DF915FA38C5F3,ped,p1);end,\n"\ +"REMOVE_WEAPON_FROM_PED=function(ped,weaponHash)return _natives.invoke_void(0x4899CB088EDF59B8,ped,weaponHash);end,\n"\ +"HIDE_PED_WEAPON_FOR_SCRIPTED_CUTSCENE=function(ped,toggle)return _natives.invoke_void(0x6F6981D2253C208F,ped,toggle);end,\n"\ +"SET_PED_CURRENT_WEAPON_VISIBLE=function(ped,visible,deselectWeapon,p3,p4)return _natives.invoke_void(0x0725A4CCFDED9A70,ped,visible,deselectWeapon,p3,p4);end,\n"\ +"SET_PED_DROPS_WEAPONS_WHEN_DEAD=function(ped,toggle)return _natives.invoke_void(0x476AE72C1D19D1A8,ped,toggle);end,\n"\ +"HAS_PED_BEEN_DAMAGED_BY_WEAPON=function(ped,weaponHash,weaponType)return _natives.invoke_bool(0x2D343D2219CD027A,ped,weaponHash,weaponType);end,\n"\ +"CLEAR_PED_LAST_WEAPON_DAMAGE=function(ped)return _natives.invoke_void(0x0E98F88A24C5F4B8,ped);end,\n"\ +"HAS_ENTITY_BEEN_DAMAGED_BY_WEAPON=function(entity,weaponHash,weaponType)return _natives.invoke_bool(0x131D401334815E94,entity,weaponHash,weaponType);end,\n"\ +"CLEAR_ENTITY_LAST_WEAPON_DAMAGE=function(entity)return _natives.invoke_void(0xAC678E40BE7C74D2,entity);end,\n"\ +"SET_PED_DROPS_WEAPON=function(ped)return _natives.invoke_void(0x6B7513D9966FBEC0,ped);end,\n"\ +"SET_PED_DROPS_INVENTORY_WEAPON=function(ped,weaponHash,xOffset,yOffset,zOffset,ammoCount)return _natives.invoke_void(0x208A1888007FC0E6,ped,weaponHash,xOffset,yOffset,zOffset,ammoCount);end,\n"\ +"GET_MAX_AMMO_IN_CLIP=function(ped,weaponHash,p2)return _natives.invoke_int(0xA38DCFFCEA8962FA,ped,weaponHash,p2);end,\n"\ +"GET_AMMO_IN_CLIP=function(ped,weaponHash,ammo)return _natives.invoke_bool(0x2E1202248937775C,ped,weaponHash,ammo);end,\n"\ +"SET_AMMO_IN_CLIP=function(ped,weaponHash,ammo)return _natives.invoke_bool(0xDCD2A934D65CB497,ped,weaponHash,ammo);end,\n"\ +"GET_MAX_AMMO=function(ped,weaponHash,ammo)return _natives.invoke_bool(0xDC16122C7A20C933,ped,weaponHash,ammo);end,\n"\ +"GET_MAX_AMMO_BY_TYPE=function(ped,ammoTypeHash,ammo)return _natives.invoke_bool(0x585847C5E4E11709,ped,ammoTypeHash,ammo);end,\n"\ +"ADD_PED_AMMO_BY_TYPE=function(ped,ammoTypeHash,ammo)return _natives.invoke_void(0x2472622CE1F2D45F,ped,ammoTypeHash,ammo);end,\n"\ +"SET_PED_AMMO_BY_TYPE=function(ped,ammoTypeHash,ammo)return _natives.invoke_void(0x5FD1E1F011E76D7E,ped,ammoTypeHash,ammo);end,\n"\ +"GET_PED_AMMO_BY_TYPE=function(ped,ammoTypeHash)return _natives.invoke_int(0x39D22031557946C1,ped,ammoTypeHash);end,\n"\ +"SET_PED_AMMO_TO_DROP=function(ped,p1)return _natives.invoke_void(0xA4EFEF9440A5B0EF,ped,p1);end,\n"\ +"SET_PICKUP_AMMO_AMOUNT_SCALER=function(p0)return _natives.invoke_void(0xE620FD3512A04F18,p0);end,\n"\ +"GET_PED_AMMO_TYPE_FROM_WEAPON=function(ped,weaponHash)return _natives.invoke_int(0x7FEAD38B326B9F74,ped,weaponHash);end,\n"\ +"GET_PED_ORIGINAL_AMMO_TYPE_FROM_WEAPON=function(ped,weaponHash)return _natives.invoke_int(0xF489B44DD5AF4BD9,ped,weaponHash);end,\n"\ +"GET_PED_LAST_WEAPON_IMPACT_COORD=function(ped,coords)return _natives.invoke_bool(0x6C4D0409BA1A2BC2,ped,coords);end,\n"\ +"SET_PED_GADGET=function(ped,gadgetHash,p2)return _natives.invoke_void(0xD0D7B1E680ED4A1A,ped,gadgetHash,p2);end,\n"\ +"GET_IS_PED_GADGET_EQUIPPED=function(ped,gadgetHash)return _natives.invoke_bool(0xF731332072F5156C,ped,gadgetHash);end,\n"\ +"GET_SELECTED_PED_WEAPON=function(ped)return _natives.invoke_int(0x0A6DB4965674D243,ped);end,\n"\ +"EXPLODE_PROJECTILES=function(ped,weaponHash,p2)return _natives.invoke_void(0xFC4BD125DE7611E4,ped,weaponHash,p2);end,\n"\ +"REMOVE_ALL_PROJECTILES_OF_TYPE=function(weaponHash,explode)return _natives.invoke_void(0xFC52E0F37E446528,weaponHash,explode);end,\n"\ +"GET_LOCKON_DISTANCE_OF_CURRENT_PED_WEAPON=function(ped)return _natives.invoke_float(0x840F03E9041E2C9C,ped);end,\n"\ +"GET_MAX_RANGE_OF_CURRENT_PED_WEAPON=function(ped)return _natives.invoke_float(0x814C9D19DFD69679,ped);end,\n"\ +"HAS_VEHICLE_GOT_PROJECTILE_ATTACHED=function(driver,vehicle,weaponHash,p3)return _natives.invoke_bool(0x717C8481234E3B88,driver,vehicle,weaponHash,p3);end,\n"\ +"GIVE_WEAPON_COMPONENT_TO_PED=function(ped,weaponHash,componentHash)return _natives.invoke_void(0xD966D51AA5B28BB9,ped,weaponHash,componentHash);end,\n"\ +"REMOVE_WEAPON_COMPONENT_FROM_PED=function(ped,weaponHash,componentHash)return _natives.invoke_void(0x1E8BE90C74FB4C09,ped,weaponHash,componentHash);end,\n"\ +"HAS_PED_GOT_WEAPON_COMPONENT=function(ped,weaponHash,componentHash)return _natives.invoke_bool(0xC593212475FAE340,ped,weaponHash,componentHash);end,\n"\ +"IS_PED_WEAPON_COMPONENT_ACTIVE=function(ped,weaponHash,componentHash)return _natives.invoke_bool(0x0D78DE0572D3969E,ped,weaponHash,componentHash);end,\n"\ +"REFILL_AMMO_INSTANTLY=function(ped)return _natives.invoke_bool(0x8C0D57EA686FAD87,ped);end,\n"\ +"MAKE_PED_RELOAD=function(ped)return _natives.invoke_bool(0x20AE33F3AC9C0033,ped);end,\n"\ +"REQUEST_WEAPON_ASSET=function(weaponHash,p1,p2)return _natives.invoke_void(0x5443438F033E29C3,weaponHash,p1,p2);end,\n"\ +"HAS_WEAPON_ASSET_LOADED=function(weaponHash)return _natives.invoke_bool(0x36E353271F0E90EE,weaponHash);end,\n"\ +"REMOVE_WEAPON_ASSET=function(weaponHash)return _natives.invoke_void(0xAA08EF13F341C8FC,weaponHash);end,\n"\ +"CREATE_WEAPON_OBJECT=function(weaponHash,ammoCount,x,y,z,showWorldModel,scale,p7,p8,p9)return _natives.invoke_int(0x9541D3CF0D398F36,weaponHash,ammoCount,x,y,z,showWorldModel,scale,p7,p8,p9);end,\n"\ +"GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT=function(weaponObject,componentHash)return _natives.invoke_void(0x33E179436C0B31DB,weaponObject,componentHash);end,\n"\ +"REMOVE_WEAPON_COMPONENT_FROM_WEAPON_OBJECT=function(object,componentHash)return _natives.invoke_void(0xF7D82B0D66777611,object,componentHash);end,\n"\ +"HAS_WEAPON_GOT_WEAPON_COMPONENT=function(weapon,componentHash)return _natives.invoke_bool(0x76A18844E743BF91,weapon,componentHash);end,\n"\ +"GIVE_WEAPON_OBJECT_TO_PED=function(weaponObject,ped)return _natives.invoke_void(0xB1FA61371AF7C4B7,weaponObject,ped);end,\n"\ +"DOES_WEAPON_TAKE_WEAPON_COMPONENT=function(weaponHash,componentHash)return _natives.invoke_bool(0x5CEE3DF569CECAB0,weaponHash,componentHash);end,\n"\ +"GET_WEAPON_OBJECT_FROM_PED=function(ped,p1)return _natives.invoke_int(0xCAE1DC9A0E22A16D,ped,p1);end,\n"\ +"GIVE_LOADOUT_TO_PED=function(ped,loadoutHash)return _natives.invoke_void(0x68F8BE6AF5CDF8A6,ped,loadoutHash);end,\n"\ +"SET_PED_WEAPON_TINT_INDEX=function(ped,weaponHash,tintIndex)return _natives.invoke_void(0x50969B9B89ED5738,ped,weaponHash,tintIndex);end,\n"\ +"GET_PED_WEAPON_TINT_INDEX=function(ped,weaponHash)return _natives.invoke_int(0x2B9EEDC07BD06B9F,ped,weaponHash);end,\n"\ +"SET_WEAPON_OBJECT_TINT_INDEX=function(weapon,tintIndex)return _natives.invoke_void(0xF827589017D4E4A9,weapon,tintIndex);end,\n"\ +"GET_WEAPON_OBJECT_TINT_INDEX=function(weapon)return _natives.invoke_int(0xCD183314F7CD2E57,weapon);end,\n"\ +"GET_WEAPON_TINT_COUNT=function(weaponHash)return _natives.invoke_int(0x5DCF6C5CAB2E9BF7,weaponHash);end,\n"\ +"SET_PED_WEAPON_COMPONENT_TINT_INDEX=function(ped,weaponHash,camoComponentHash,colorIndex)return _natives.invoke_void(0x9FE5633880ECD8ED,ped,weaponHash,camoComponentHash,colorIndex);end,\n"\ +"GET_PED_WEAPON_COMPONENT_TINT_INDEX=function(ped,weaponHash,camoComponentHash)return _natives.invoke_int(0xF0A60040BE558F2D,ped,weaponHash,camoComponentHash);end,\n"\ +"SET_WEAPON_OBJECT_COMPONENT_TINT_INDEX=function(weaponObject,camoComponentHash,colorIndex)return _natives.invoke_void(0x5DA825A85D0EA6E6,weaponObject,camoComponentHash,colorIndex);end,\n"\ +"GET_WEAPON_OBJECT_COMPONENT_TINT_INDEX=function(weaponObject,camoComponentHash)return _natives.invoke_int(0xB3EA4FEABF41464B,weaponObject,camoComponentHash);end,\n"\ +"GET_PED_WEAPON_CAMO_INDEX=function(ped,weaponHash)return _natives.invoke_int(0xA2C9AC24B4061285,ped,weaponHash);end,\n"\ +"SET_WEAPON_OBJECT_CAMO_INDEX=function(weaponObject,p1)return _natives.invoke_void(0x977CA98939E82E4B,weaponObject,p1);end,\n"\ +"GET_WEAPON_HUD_STATS=function(weaponHash,outData)return _natives.invoke_bool(0xD92C739EE34C9EBA,weaponHash,outData);end,\n"\ +"GET_WEAPON_COMPONENT_HUD_STATS=function(componentHash,outData)return _natives.invoke_bool(0xB3CAF387AE12E9F8,componentHash,outData);end,\n"\ +"GET_WEAPON_DAMAGE=function(weaponHash,componentHash)return _natives.invoke_float(0x3133B907D8B32053,weaponHash,componentHash);end,\n"\ +"GET_WEAPON_CLIP_SIZE=function(weaponHash)return _natives.invoke_int(0x583BE370B1EC6EB4,weaponHash);end,\n"\ +"GET_WEAPON_TIME_BETWEEN_SHOTS=function(weaponHash)return _natives.invoke_float(0x065D2AACAD8CF7A4,weaponHash);end,\n"\ +"SET_PED_CHANCE_OF_FIRING_BLANKS=function(ped,xBias,yBias)return _natives.invoke_void(0x8378627201D5497D,ped,xBias,yBias);end,\n"\ +"SET_PED_SHOOT_ORDNANCE_WEAPON=function(ped,p1)return _natives.invoke_int(0xB4C8D77C80C0421E,ped,p1);end,\n"\ +"REQUEST_WEAPON_HIGH_DETAIL_MODEL=function(weaponObject)return _natives.invoke_void(0x48164DBB970AC3F0,weaponObject);end,\n"\ +"SET_WEAPON_DAMAGE_MODIFIER=function(weaponHash,damageMultiplier)return _natives.invoke_void(0x4757F00BC6323CFE,weaponHash,damageMultiplier);end,\n"\ +"SET_WEAPON_AOE_MODIFIER=function(weaponHash,multiplier)return _natives.invoke_void(0x4AE5AC8B852D642C,weaponHash,multiplier);end,\n"\ +"SET_WEAPON_EFFECT_DURATION_MODIFIER=function(p0,p1)return _natives.invoke_void(0xE6D2CEDD370FF98E,p0,p1);end,\n"\ +"IS_PED_CURRENT_WEAPON_SILENCED=function(ped)return _natives.invoke_bool(0x65F0C5AE05943EC7,ped);end,\n"\ +"IS_FLASH_LIGHT_ON=function(ped)return _natives.invoke_bool(0x4B7620C47217126C,ped);end,\n"\ +"SET_FLASH_LIGHT_FADE_DISTANCE=function(distance)return _natives.invoke_bool(0xCEA66DAD478CD39B,distance);end,\n"\ +"SET_FLASH_LIGHT_ACTIVE_HISTORY=function(ped,toggle)return _natives.invoke_void(0x988DB6FE9B3AC000,ped,toggle);end,\n"\ +"SET_WEAPON_ANIMATION_OVERRIDE=function(ped,animStyle)return _natives.invoke_void(0x1055AC3A667F09D9,ped,animStyle);end,\n"\ +"GET_WEAPON_DAMAGE_TYPE=function(weaponHash)return _natives.invoke_int(0x3BE0BB12D25FB305,weaponHash);end,\n"\ +"SET_EQIPPED_WEAPON_START_SPINNING_AT_FULL_SPEED=function(ped)return _natives.invoke_void(0xE4DCEC7FD5B739A5,ped);end,\n"\ +"CAN_USE_WEAPON_ON_PARACHUTE=function(weaponHash)return _natives.invoke_bool(0xBC7BE5ABC0879F74,weaponHash);end,\n"\ +"CREATE_AIR_DEFENCE_SPHERE=function(x,y,z,radius,p4,p5,p6,weaponHash)return _natives.invoke_int(0x91EF34584710BE99,x,y,z,radius,p4,p5,p6,weaponHash);end,\n"\ +"CREATE_AIR_DEFENCE_ANGLED_AREA=function(p0,p1,p2,p3,p4,p5,p6,p7,p8,radius,weaponHash)return _natives.invoke_int(0x9DA58CDBF6BDBC08,p0,p1,p2,p3,p4,p5,p6,p7,p8,radius,weaponHash);end,\n"\ +"REMOVE_AIR_DEFENCE_SPHERE=function(zoneId)return _natives.invoke_bool(0x0ABF535877897560,zoneId);end,\n"\ +"REMOVE_ALL_AIR_DEFENCE_SPHERES=function()return _natives.invoke_void(0x1E45B34ADEBEE48E);end,\n"\ +"SET_PLAYER_TARGETTABLE_FOR_AIR_DEFENCE_SPHERE=function(player,zoneId,enable)return _natives.invoke_void(0xECDC202B25E5CF48,player,zoneId,enable);end,\n"\ +"IS_AIR_DEFENCE_SPHERE_IN_AREA=function(x,y,z,radius,outZoneId)return _natives.invoke_bool(0xDAB963831DBFD3F4,x,y,z,radius,outZoneId);end,\n"\ +"FIRE_AIR_DEFENCE_SPHERE_WEAPON_AT_POSITION=function(zoneId,x,y,z)return _natives.invoke_void(0x44F1012B69313374,zoneId,x,y,z);end,\n"\ +"DOES_AIR_DEFENCE_SPHERE_EXIST=function(zoneId)return _natives.invoke_bool(0xCD79A550999D7D4F,zoneId);end,\n"\ +"SET_CAN_PED_SELECT_INVENTORY_WEAPON=function(ped,weaponHash,toggle)return _natives.invoke_void(0xB4771B9AAF4E68E4,ped,weaponHash,toggle);end,\n"\ +"SET_CAN_PED_SELECT_ALL_WEAPONS=function(ped,toggle)return _natives.invoke_void(0xEFF296097FF1E509,ped,toggle);end,\n"\ +"};\n"\ +"ZONE = {\n"\ +"GET_ZONE_AT_COORDS=function(x,y,z)return _natives.invoke_int(0x27040C25DE6CB2F4,x,y,z);end,\n"\ +"GET_ZONE_FROM_NAME_ID=function(zoneName)return _natives.invoke_int(0x98CD1D2934B76CC1,zoneName);end,\n"\ +"GET_ZONE_POPSCHEDULE=function(zoneId)return _natives.invoke_int(0x4334BC40AA0CB4BB,zoneId);end,\n"\ +"GET_NAME_OF_ZONE=function(x,y,z)return _natives.invoke_str(0xCD90657D4C30E1CA,x,y,z);end,\n"\ +"SET_ZONE_ENABLED=function(zoneId,toggle)return _natives.invoke_void(0xBA5ECEEA120E5611,zoneId,toggle);end,\n"\ +"GET_ZONE_SCUMMINESS=function(zoneId)return _natives.invoke_int(0x5F7B268D15BA0739,zoneId);end,\n"\ +"OVERRIDE_POPSCHEDULE_VEHICLE_MODEL=function(scheduleId,vehicleHash)return _natives.invoke_void(0x5F7D596BAC2E7777,scheduleId,vehicleHash);end,\n"\ +"CLEAR_POPSCHEDULE_OVERRIDE_VEHICLE_MODEL=function(scheduleId)return _natives.invoke_void(0x5C0DE367AA0D911C,scheduleId);end,\n"\ +"GET_HASH_OF_MAP_AREA_AT_COORDS=function(x,y,z)return _natives.invoke_int(0x7EE64D51E8498728,x,y,z);end,\n"\ +"};\n"; +// clang-format on +int natives_size = sizeof(natives_data)-1; \ No newline at end of file diff --git a/src/lua/natives/natives_data.hpp b/src/lua/natives/natives_data.hpp new file mode 100644 index 00000000..43c1cc60 --- /dev/null +++ b/src/lua/natives/natives_data.hpp @@ -0,0 +1,3 @@ +#pragma once +extern char natives_data[]; +extern int natives_size; \ No newline at end of file diff --git a/src/lua/natives/natives_gen.py b/src/lua/natives/natives_gen.py new file mode 100644 index 00000000..8f5f5c7b --- /dev/null +++ b/src/lua/natives/natives_gen.py @@ -0,0 +1,87 @@ +import json + +natives = json.load(open("natives.json")) +out_file : str = "" + +def sanitize_param(name): + if name in ["repeat", "end"]: + return "_"+name + else: + return name + +def make_param_listing(params): + pms = "" + for param in params: + pms += sanitize_param(param["name"]) + pms += "," + pms = pms.rstrip(",") + return pms + +def is_string(type: str): + return type.find("char*") != -1 + +def is_pointer(type: str): + """also returns true for string""" + return type.find('*') != -1 + + +def write_native(name, hash, params, return_type): + global out_file + + out_file += f"{name}=function({make_param_listing(params)})" + + invoke_type = "invoke_int" + + if (return_type == "void"): + invoke_type = "invoke_void" + elif (return_type == "float"): + invoke_type = "invoke_float" + elif (return_type == "BOOL"): + invoke_type = "invoke_bool" + elif (return_type == "const char*"): + invoke_type = "invoke_str" + elif (return_type == "Vector3"): + invoke_type = "invoke_vec3" + elif (return_type.endswith("*")): + invoke_type = "invoke_ptr" + + out_file += f"return _natives.{invoke_type}({hash}," + for param in params: + out_file += f"{sanitize_param(param['name'])}," + out_file = out_file.removesuffix(",") + out_file += ");end,\n" + +def write_namespace(name, data): + global out_file + + out_file += f"{name} = {{\n" + + for (hash, more) in data.items(): + write_native(more["name"], hash, more["params"], more["return_type"]) + + out_file += "};\n" + +def write_file(): + for (namespace, data) in natives.items(): + write_namespace(namespace, data) + +def convert_and_write_cpp_file(): + global out_file + + cpp_data = "#pragma once\n// clang-format off\n// Generated by natives_gen.py. DO NOT EDIT\nchar natives_data[] = \n" + + lines = out_file.rstrip('\n').splitlines() + for line in lines: + cpp_data += f"\"{line}\\n\"\\\n" + + cpp_data = cpp_data.rstrip('\n\\') + cpp_data += ";\n// clang-format on\n" + cpp_data += "int natives_size = sizeof(natives_data)-1;" + open("natives_data.cpp", "w+").write(cpp_data) + +def write_lua_file(): + open("natives.lua", "w+").write(out_file) + +if __name__ == "__main__": + write_file() + convert_and_write_cpp_file() \ No newline at end of file diff --git a/src/lua/sol.hpp b/src/lua/sol.hpp new file mode 100644 index 00000000..c5ef9ef8 --- /dev/null +++ b/src/lua/sol.hpp @@ -0,0 +1,28917 @@ +// The MIT License (MIT) + +// Copyright (c) 2013-2020 Rapptz, ThePhD and contributors + +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +// the Software, and to permit persons to whom the Software is furnished to do so, +// subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +// This file was generated with a script. +// Generated 2022-06-25 08:14:19.151876 UTC +// This header was generated with sol v3.3.0 (revision eba86625) +// https://github.com/ThePhD/sol2 + +#define SOL_SAFE_FUNCTIONS 1 +#define SOL_PRINT_ERRORS 1 + +// clang-format off + +#ifndef SOL_SINGLE_INCLUDE_HPP +#define SOL_SINGLE_INCLUDE_HPP + +// beginning of sol/sol.hpp + +#ifndef SOL_HPP +#define SOL_HPP + +// beginning of sol/version.hpp + +#define SOL_VERSION_MAJOR 3 +#define SOL_VERSION_MINOR 2 +#define SOL_VERSION_PATCH 3 +#define SOL_VERSION_STRING "3.2.3" +#define SOL_VERSION ((SOL_VERSION_MAJOR * 100000) + (SOL_VERSION_MINOR * 100) + (SOL_VERSION_PATCH)) + +#define SOL_TOKEN_TO_STRING_POST_EXPANSION_I_(_TOKEN) #_TOKEN +#define SOL_TOKEN_TO_STRING_I_(_TOKEN) SOL_TOKEN_TO_STRING_POST_EXPANSION_I_(_TOKEN) + +#define SOL_CONCAT_TOKENS_POST_EXPANSION_I_(_LEFT, _RIGHT) _LEFT##_RIGHT +#define SOL_CONCAT_TOKENS_I_(_LEFT, _RIGHT) SOL_CONCAT_TOKENS_POST_EXPANSION_I_(_LEFT, _RIGHT) + +#define SOL_RAW_IS_ON(OP_SYMBOL) ((3 OP_SYMBOL 3) != 0) +#define SOL_RAW_IS_OFF(OP_SYMBOL) ((3 OP_SYMBOL 3) == 0) +#define SOL_RAW_IS_DEFAULT_ON(OP_SYMBOL) ((3 OP_SYMBOL 3) > 3) +#define SOL_RAW_IS_DEFAULT_OFF(OP_SYMBOL) ((3 OP_SYMBOL 3 OP_SYMBOL 3) < 0) + +#define SOL_IS_ON(OP_SYMBOL) SOL_RAW_IS_ON(OP_SYMBOL ## _I_) +#define SOL_IS_OFF(OP_SYMBOL) SOL_RAW_IS_OFF(OP_SYMBOL ## _I_) +#define SOL_IS_DEFAULT_ON(OP_SYMBOL) SOL_RAW_IS_DEFAULT_ON(OP_SYMBOL ## _I_) +#define SOL_IS_DEFAULT_OFF(OP_SYMBOL) SOL_RAW_IS_DEFAULT_OFF(OP_SYMBOL ## _I_) + +#define SOL_ON | +#define SOL_OFF ^ +#define SOL_DEFAULT_ON + +#define SOL_DEFAULT_OFF - + +#if defined(SOL_BUILD_CXX_MODE) + #if (SOL_BUILD_CXX_MODE != 0) + #define SOL_BUILD_CXX_MODE_I_ SOL_ON + #else + #define SOL_BUILD_CXX_MODE_I_ SOL_OFF + #endif +#elif defined(__cplusplus) + #define SOL_BUILD_CXX_MODE_I_ SOL_DEFAULT_ON +#else + #define SOL_BUILD_CXX_MODE_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_BUILD_C_MODE) + #if (SOL_BUILD_C_MODE != 0) + #define SOL_BUILD_C_MODE_I_ SOL_ON + #else + #define SOL_BUILD_C_MODE_I_ SOL_OFF + #endif +#elif defined(__STDC__) + #define SOL_BUILD_C_MODE_I_ SOL_DEFAULT_ON +#else + #define SOL_BUILD_C_MODE_I_ SOL_DEFAULT_OFF +#endif + +#if SOL_IS_ON(SOL_BUILD_C_MODE) + #include + #include + #include +#else + #include + #include + #include +#endif + +#if defined(SOL_COMPILER_VCXX) + #if defined(SOL_COMPILER_VCXX != 0) + #define SOL_COMPILER_VCXX_I_ SOL_ON + #else + #define SOL_COMPILER_VCXX_I_ SOL_OFF + #endif +#elif defined(_MSC_VER) + #define SOL_COMPILER_VCXX_I_ SOL_DEFAULT_ON +#else + #define SOL_COMPILER_VCXX_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_COMPILER_GCC) + #if defined(SOL_COMPILER_GCC != 0) + #define SOL_COMPILER_GCC_I_ SOL_ON + #else + #define SOL_COMPILER_GCC_I_ SOL_OFF + #endif +#elif defined(__GNUC__) + #define SOL_COMPILER_GCC_I_ SOL_DEFAULT_ON +#else + #define SOL_COMPILER_GCC_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_COMPILER_CLANG) + #if defined(SOL_COMPILER_CLANG != 0) + #define SOL_COMPILER_CLANG_I_ SOL_ON + #else + #define SOL_COMPILER_CLANG_I_ SOL_OFF + #endif +#elif defined(__clang__) + #define SOL_COMPILER_CLANG_I_ SOL_DEFAULT_ON +#else + #define SOL_COMPILER_CLANG_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_COMPILER_EDG) + #if defined(SOL_COMPILER_EDG != 0) + #define SOL_COMPILER_EDG_I_ SOL_ON + #else + #define SOL_COMPILER_EDG_I_ SOL_OFF + #endif +#else + #define SOL_COMPILER_EDG_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_COMPILER_MINGW) + #if (SOL_COMPILER_MINGW != 0) + #define SOL_COMPILER_MINGW_I_ SOL_ON + #else + #define SOL_COMPILER_MINGW_I_ SOL_OFF + #endif +#elif defined(__MINGW32__) + #define SOL_COMPILER_MINGW_I_ SOL_DEFAULT_ON +#else + #define SOL_COMPILER_MINGW_I_ SOL_DEFAULT_OFF +#endif + +#if SIZE_MAX <= 0xFFFFULL + #define SOL_PLATFORM_X16_I_ SOL_ON + #define SOL_PLATFORM_X86_I_ SOL_OFF + #define SOL_PLATFORM_X64_I_ SOL_OFF +#elif SIZE_MAX <= 0xFFFFFFFFULL + #define SOL_PLATFORM_X16_I_ SOL_OFF + #define SOL_PLATFORM_X86_I_ SOL_ON + #define SOL_PLATFORM_X64_I_ SOL_OFF +#else + #define SOL_PLATFORM_X16_I_ SOL_OFF + #define SOL_PLATFORM_X86_I_ SOL_OFF + #define SOL_PLATFORM_X64_I_ SOL_ON +#endif + +#define SOL_PLATFORM_ARM32_I_ SOL_OFF +#define SOL_PLATFORM_ARM64_I_ SOL_OFF + +#if defined(SOL_PLATFORM_WINDOWS) + #if (SOL_PLATFORM_WINDOWS != 0) + #define SOL_PLATFORM_WINDOWS_I_ SOL_ON + #else + #define SOL_PLATFORM_WINDOWS_I_ SOL_OFF + #endif +#elif defined(_WIN32) + #define SOL_PLATFORM_WINDOWS_I_ SOL_DEFAULT_ON +#else + #define SOL_PLATFORM_WINDOWS_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_PLATFORM_CYGWIN) + #if (SOL_PLATFORM_CYGWIN != 0) + #define SOL_PLATFORM_CYGWIN_I_ SOL_ON + #else + #define SOL_PLATFORM_CYGWIN_I_ SOL_ON + #endif +#elif defined(__CYGWIN__) + #define SOL_PLATFORM_CYGWIN_I_ SOL_DEFAULT_ON +#else + #define SOL_PLATFORM_CYGWIN_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_PLATFORM_APPLE) + #if (SOL_PLATFORM_APPLE != 0) + #define SOL_PLATFORM_APPLE_I_ SOL_ON + #else + #define SOL_PLATFORM_APPLE_I_ SOL_OFF + #endif +#elif defined(__APPLE__) + #define SOL_PLATFORM_APPLE_I_ SOL_DEFAULT_ON +#else + #define SOL_PLATFORM_APPLE_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_PLATFORM_UNIX) + #if (SOL_PLATFORM_UNIX != 0) + #define SOL_PLATFORM_UNIXLIKE_I_ SOL_ON + #else + #define SOL_PLATFORM_UNIXLIKE_I_ SOL_OFF + #endif +#elif defined(__unix__) + #define SOL_PLATFORM_UNIXLIKE_I_ SOL_DEFAUKT_ON +#else + #define SOL_PLATFORM_UNIXLIKE_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_PLATFORM_LINUX) + #if (SOL_PLATFORM_LINUX != 0) + #define SOL_PLATFORM_LINUXLIKE_I_ SOL_ON + #else + #define SOL_PLATFORM_LINUXLIKE_I_ SOL_OFF + #endif +#elif defined(__LINUX__) + #define SOL_PLATFORM_LINUXLIKE_I_ SOL_DEFAUKT_ON +#else + #define SOL_PLATFORM_LINUXLIKE_I_ SOL_DEFAULT_OFF +#endif + +#define SOL_PLATFORM_APPLE_IPHONE_I_ SOL_OFF +#define SOL_PLATFORM_BSDLIKE_I_ SOL_OFF + +#if defined(SOL_IN_DEBUG_DETECTED) + #if SOL_IN_DEBUG_DETECTED != 0 + #define SOL_DEBUG_BUILD_I_ SOL_ON + #else + #define SOL_DEBUG_BUILD_I_ SOL_OFF + #endif +#elif !defined(NDEBUG) + #if SOL_IS_ON(SOL_COMPILER_VCXX) && defined(_DEBUG) + #define SOL_DEBUG_BUILD_I_ SOL_ON + #elif (SOL_IS_ON(SOL_COMPILER_CLANG) || SOL_IS_ON(SOL_COMPILER_GCC)) && !defined(__OPTIMIZE__) + #define SOL_DEBUG_BUILD_I_ SOL_ON + #else + #define SOL_DEBUG_BUILD_I_ SOL_OFF + #endif +#else + #define SOL_DEBUG_BUILD_I_ SOL_DEFAULT_OFF +#endif // We are in a debug mode of some sort + +#if defined(SOL_NO_EXCEPTIONS) + #if (SOL_NO_EXCEPTIONS != 0) + #define SOL_EXCEPTIONS_I_ SOL_OFF + #else + #define SOL_EXCEPTIONS_I_ SOL_ON + #endif +#elif SOL_IS_ON(SOL_COMPILER_VCXX) + #if !defined(_CPPUNWIND) + #define SOL_EXCEPTIONS_I_ SOL_OFF + #else + #define SOL_EXCEPTIONS_I_ SOL_ON + #endif +#elif SOL_IS_ON(SOL_COMPILER_CLANG) || SOL_IS_ON(SOL_COMPILER_GCC) + #if !defined(__EXCEPTIONS) + #define SOL_EXCEPTIONS_I_ SOL_OFF + #else + #define SOL_EXCEPTIONS_I_ SOL_ON + #endif +#else + #define SOL_EXCEPTIONS_I_ SOL_DEFAULT_ON +#endif + +#if defined(SOL_NO_RTTI) + #if (SOL_NO_RTTI != 0) + #define SOL_RTTI_I_ SOL_OFF + #else + #define SOL_RTTI_I_ SOL_ON + #endif +#elif SOL_IS_ON(SOL_COMPILER_VCXX) + #if !defined(_CPPRTTI) + #define SOL_RTTI_I_ SOL_OFF + #else + #define SOL_RTTI_I_ SOL_ON + #endif +#elif SOL_IS_ON(SOL_COMPILER_CLANG) || SOL_IS_ON(SOL_COMPILER_GCC) + #if !defined(__GXX_RTTI) + #define SOL_RTTI_I_ SOL_OFF + #else + #define SOL_RTTI_I_ SOL_ON + #endif +#else + #define SOL_RTTI_I_ SOL_DEFAULT_ON +#endif + +#if defined(SOL_NO_THREAD_LOCAL) + #if SOL_NO_THREAD_LOCAL != 0 + #define SOL_USE_THREAD_LOCAL_I_ SOL_OFF + #else + #define SOL_USE_THREAD_LOCAL_I_ SOL_ON + #endif +#else + #define SOL_USE_THREAD_LOCAL_I_ SOL_DEFAULT_ON +#endif // thread_local keyword is bjorked on some platforms + +#if defined(SOL_ALL_SAFETIES_ON) + #if SOL_ALL_SAFETIES_ON != 0 + #define SOL_ALL_SAFETIES_ON_I_ SOL_ON + #else + #define SOL_ALL_SAFETIES_ON_I_ SOL_OFF + #endif +#else + #define SOL_ALL_SAFETIES_ON_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_SAFE_GETTER) + #if SOL_SAFE_GETTER != 0 + #define SOL_SAFE_GETTER_I_ SOL_ON + #else + #define SOL_SAFE_GETTER_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_SAFE_GETTER_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_SAFE_GETTER_I_ SOL_DEFAULT_ON + #else + #define SOL_SAFE_GETTER_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_SAFE_USERTYPE) + #if SOL_SAFE_USERTYPE != 0 + #define SOL_SAFE_USERTYPE_I_ SOL_ON + #else + #define SOL_SAFE_USERTYPE_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_SAFE_USERTYPE_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_SAFE_USERTYPE_I_ SOL_DEFAULT_ON + #else + #define SOL_SAFE_USERTYPE_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_SAFE_REFERENCES) + #if SOL_SAFE_REFERENCES != 0 + #define SOL_SAFE_REFERENCES_I_ SOL_ON + #else + #define SOL_SAFE_REFERENCES_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_SAFE_REFERENCES_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_SAFE_REFERENCES_I_ SOL_DEFAULT_ON + #else + #define SOL_SAFE_REFERENCES_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_SAFE_FUNCTIONS) + #if SOL_SAFE_FUNCTIONS != 0 + #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_ON + #else + #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_OFF + #endif +#elif defined (SOL_SAFE_FUNCTION_OBJECTS) + #if SOL_SAFE_FUNCTION_OBJECTS != 0 + #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_ON + #else + #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_DEFAULT_ON + #else + #define SOL_SAFE_FUNCTION_OBJECTS_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_SAFE_FUNCTION_CALLS) + #if SOL_SAFE_FUNCTION_CALLS != 0 + #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_ON + #else + #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_DEFAULT_ON + #else + #define SOL_SAFE_FUNCTION_CALLS_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_SAFE_PROXIES) + #if SOL_SAFE_PROXIES != 0 + #define SOL_SAFE_PROXIES_I_ SOL_ON + #else + #define SOL_SAFE_PROXIES_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_SAFE_PROXIES_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_SAFE_PROXIES_I_ SOL_DEFAULT_ON + #else + #define SOL_SAFE_PROXIES_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_SAFE_NUMERICS) + #if SOL_SAFE_NUMERICS != 0 + #define SOL_SAFE_NUMERICS_I_ SOL_ON + #else + #define SOL_SAFE_NUMERICS_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_SAFE_NUMERICS_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_SAFE_NUMERICS_I_ SOL_DEFAULT_ON + #else + #define SOL_SAFE_NUMERICS_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_ALL_INTEGER_VALUES_FIT) + #if (SOL_ALL_INTEGER_VALUES_FIT != 0) + #define SOL_ALL_INTEGER_VALUES_FIT_I_ SOL_ON + #else + #define SOL_ALL_INTEGER_VALUES_FIT_I_ SOL_OFF + #endif +#elif !SOL_IS_DEFAULT_OFF(SOL_SAFE_NUMERICS) && SOL_IS_OFF(SOL_SAFE_NUMERICS) + // if numerics is intentionally turned off, flip this on + #define SOL_ALL_INTEGER_VALUES_FIT_I_ SOL_DEFAULT_ON +#else + // default to off + #define SOL_ALL_INTEGER_VALUES_FIT_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_SAFE_STACK_CHECK) + #if SOL_SAFE_STACK_CHECK != 0 + #define SOL_SAFE_STACK_CHECK_I_ SOL_ON + #else + #define SOL_SAFE_STACK_CHECK_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_SAFE_STACK_CHECK_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_SAFE_STACK_CHECK_I_ SOL_DEFAULT_ON + #else + #define SOL_SAFE_STACK_CHECK_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_NO_CHECK_NUMBER_PRECISION) + #if SOL_NO_CHECK_NUMBER_PRECISION != 0 + #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_OFF + #else + #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_ON + #endif +#elif defined(SOL_NO_CHECKING_NUMBER_PRECISION) + #if SOL_NO_CHECKING_NUMBER_PRECISION != 0 + #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_OFF + #else + #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_ON + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_ON + #elif SOL_IS_ON(SOL_SAFE_NUMERICS) + #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_DEFAULT_ON + #else + #define SOL_NUMBER_PRECISION_CHECKS_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_STRINGS_ARE_NUMBERS) + #if (SOL_STRINGS_ARE_NUMBERS != 0) + #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_ON + #else + #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_OFF + #endif +#else + #define SOL_STRINGS_ARE_NUMBERS_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_ENABLE_INTEROP) + #if SOL_ENABLE_INTEROP != 0 + #define SOL_USE_INTEROP_I_ SOL_ON + #else + #define SOL_USE_INTEROP_I_ SOL_OFF + #endif +#elif defined(SOL_USE_INTEROP) + #if SOL_USE_INTEROP != 0 + #define SOL_USE_INTEROP_I_ SOL_ON + #else + #define SOL_USE_INTEROP_I_ SOL_OFF + #endif +#else + #define SOL_USE_INTEROP_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_NO_NIL) + #if (SOL_NO_NIL != 0) + #define SOL_NIL_I_ SOL_OFF + #else + #define SOL_NIL_I_ SOL_ON + #endif +#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED) || defined(__OBJC__) || defined(nil) + #define SOL_NIL_I_ SOL_DEFAULT_OFF +#else + #define SOL_NIL_I_ SOL_DEFAULT_ON +#endif + +#if defined(SOL_USERTYPE_TYPE_BINDING_INFO) + #if (SOL_USERTYPE_TYPE_BINDING_INFO != 0) + #define SOL_USERTYPE_TYPE_BINDING_INFO_I_ SOL_ON + #else + #define SOL_USERTYPE_TYPE_BINDING_INFO_I_ SOL_OFF + #endif +#else + #define SOL_USERTYPE_TYPE_BINDING_INFO_I_ SOL_DEFAULT_ON +#endif // We should generate a my_type.__type table with lots of class information for usertypes + +#if defined(SOL_AUTOMAGICAL_TYPES_BY_DEFAULT) + #if (SOL_AUTOMAGICAL_TYPES_BY_DEFAULT != 0) + #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_ON + #else + #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_OFF + #endif +#elif defined(SOL_DEFAULT_AUTOMAGICAL_USERTYPES) + #if (SOL_DEFAULT_AUTOMAGICAL_USERTYPES != 0) + #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_ON + #else + #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_OFF + #endif +#else + #define SOL_DEFAULT_AUTOMAGICAL_USERTYPES_I_ SOL_DEFAULT_ON +#endif // make is_automagical on/off by default + +#if defined(SOL_STD_VARIANT) + #if (SOL_STD_VARIANT != 0) + #define SOL_STD_VARIANT_I_ SOL_ON + #else + #define SOL_STD_VARIANT_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_COMPILER_CLANG) && SOL_IS_ON(SOL_PLATFORM_APPLE) + #if defined(__has_include) + #if __has_include() + #define SOL_STD_VARIANT_I_ SOL_DEFAULT_ON + #else + #define SOL_STD_VARIANT_I_ SOL_DEFAULT_OFF + #endif + #else + #define SOL_STD_VARIANT_I_ SOL_DEFAULT_OFF + #endif + #else + #define SOL_STD_VARIANT_I_ SOL_DEFAULT_ON + #endif +#endif // make is_automagical on/off by default + +#if defined(SOL_NOEXCEPT_FUNCTION_TYPE) + #if (SOL_NOEXCEPT_FUNCTION_TYPE != 0) + #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_ON + #else + #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_OFF + #endif +#else + #if defined(__cpp_noexcept_function_type) + #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_ON + #elif SOL_IS_ON(SOL_COMPILER_VCXX) && (defined(_MSVC_LANG) && (_MSVC_LANG < 201403L)) + // There is a bug in the VC++ compiler?? + // on /std:c++latest under x86 conditions (VS 15.5.2), + // compiler errors are tossed for noexcept markings being on function types + // that are identical in every other way to their non-noexcept marked types function types... + // VS 2019: There is absolutely a bug. + #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_OFF + #else + #define SOL_USE_NOEXCEPT_FUNCTION_TYPE_I_ SOL_DEFAULT_ON + #endif +#endif // noexcept is part of a function's type + +#if defined(SOL_STACK_STRING_OPTIMIZATION_SIZE) && SOL_STACK_STRING_OPTIMIZATION_SIZE > 0 + #define SOL_OPTIMIZATION_STRING_CONVERSION_STACK_SIZE_I_ SOL_STACK_STRING_OPTIMIZATION_SIZE +#else + #define SOL_OPTIMIZATION_STRING_CONVERSION_STACK_SIZE_I_ 1024 +#endif + +#if defined(SOL_ID_SIZE) && SOL_ID_SIZE > 0 + #define SOL_ID_SIZE_I_ SOL_ID_SIZE +#else + #define SOL_ID_SIZE_I_ 512 +#endif + +#if defined(LUA_IDSIZE) && LUA_IDSIZE > 0 + #define SOL_FILE_ID_SIZE_I_ LUA_IDSIZE +#elif defined(SOL_ID_SIZE) && SOL_ID_SIZE > 0 + #define SOL_FILE_ID_SIZE_I_ SOL_FILE_ID_SIZE +#else + #define SOL_FILE_ID_SIZE_I_ 2048 +#endif + +#if defined(SOL_PRINT_ERRORS) + #if (SOL_PRINT_ERRORS != 0) + #define SOL_PRINT_ERRORS_I_ SOL_ON + #else + #define SOL_PRINT_ERRORS_I_ SOL_OFF + #endif +#else + #if SOL_IS_ON(SOL_ALL_SAFETIES_ON) + #define SOL_PRINT_ERRORS_I_ SOL_ON + #elif SOL_IS_ON(SOL_DEBUG_BUILD) + #define SOL_PRINT_ERRORS_I_ SOL_DEFAULT_ON + #else + #define SOL_PRINT_ERRORS_I_ SOL_OFF + #endif +#endif + +#if defined(SOL_DEFAULT_PASS_ON_ERROR) + #if (SOL_DEFAULT_PASS_ON_ERROR != 0) + #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_ON + #else + #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_OFF + #endif +#else + #define SOL_DEFAULT_PASS_ON_ERROR_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_USING_CXX_LUA) + #if (SOL_USING_CXX_LUA != 0) + #define SOL_USE_CXX_LUA_I_ SOL_ON + #else + #define SOL_USE_CXX_LUA_I_ SOL_OFF + #endif +#elif defined(SOL_USE_CXX_LUA) + #if (SOL_USE_CXX_LUA != 0) + #define SOL_USE_CXX_LUA_I_ SOL_ON + #else + #define SOL_USE_CXX_LUA_I_ SOL_OFF + #endif +#else + #define SOL_USE_CXX_LUA_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_USING_CXX_LUAJIT) + #if (SOL_USING_CXX_LUA != 0) + #define SOL_USE_CXX_LUAJIT_I_ SOL_ON + #else + #define SOL_USE_CXX_LUAJIT_I_ SOL_OFF + #endif +#elif defined(SOL_USE_CXX_LUAJIT) + #if (SOL_USE_CXX_LUA != 0) + #define SOL_USE_CXX_LUAJIT_I_ SOL_ON + #else + #define SOL_USE_CXX_LUAJIT_I_ SOL_OFF + #endif +#else + #define SOL_USE_CXX_LUAJIT_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_NO_LUA_HPP) + #if (SOL_NO_LUA_HPP != 0) + #define SOL_USE_LUA_HPP_I_ SOL_OFF + #else + #define SOL_USE_LUA_HPP_I_ SOL_ON + #endif +#elif defined(SOL_USING_CXX_LUA) + #define SOL_USE_LUA_HPP_I_ SOL_OFF +#elif defined(__has_include) + #if __has_include() + #define SOL_USE_LUA_HPP_I_ SOL_ON + #else + #define SOL_USE_LUA_HPP_I_ SOL_OFF + #endif +#else + #define SOL_USE_LUA_HPP_I_ SOL_DEFAULT_ON +#endif + +#if defined(SOL_CONTAINERS_START) + #define SOL_CONTAINER_START_INDEX_I_ SOL_CONTAINERS_START +#elif defined(SOL_CONTAINERS_START_INDEX) + #define SOL_CONTAINER_START_INDEX_I_ SOL_CONTAINERS_START_INDEX +#elif defined(SOL_CONTAINER_START_INDEX) + #define SOL_CONTAINER_START_INDEX_I_ SOL_CONTAINER_START_INDEX +#else + #define SOL_CONTAINER_START_INDEX_I_ 1 +#endif + +#if defined (SOL_NO_MEMORY_ALIGNMENT) + #if (SOL_NO_MEMORY_ALIGNMENT != 0) + #define SOL_ALIGN_MEMORY_I_ SOL_OFF + #else + #define SOL_ALIGN_MEMORY_I_ SOL_ON + #endif +#else + #define SOL_ALIGN_MEMORY_I_ SOL_DEFAULT_ON +#endif + +#if defined(SOL_USE_BOOST) + #if (SOL_USE_BOOST != 0) + #define SOL_USE_BOOST_I_ SOL_ON + #else + #define SOL_USE_BOOST_I_ SOL_OFF + #endif +#else + #define SOL_USE_BOOST_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_USE_UNSAFE_BASE_LOOKUP) + #if (SOL_USE_UNSAFE_BASE_LOOKUP != 0) + #define SOL_USE_UNSAFE_BASE_LOOKUP_I_ SOL_ON + #else + #define SOL_USE_UNSAFE_BASE_LOOKUP_I_ SOL_OFF + #endif +#else + #define SOL_USE_UNSAFE_BASE_LOOKUP_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_INSIDE_UNREAL) + #if (SOL_INSIDE_UNREAL != 0) + #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_ON + #else + #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_OFF + #endif +#else + #if defined(UE_BUILD_DEBUG) || defined(UE_BUILD_DEVELOPMENT) || defined(UE_BUILD_TEST) || defined(UE_BUILD_SHIPPING) || defined(UE_SERVER) + #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_DEFAULT_ON + #else + #define SOL_INSIDE_UNREAL_ENGINE_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if defined(SOL_NO_COMPAT) + #if (SOL_NO_COMPAT != 0) + #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_OFF + #else + #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_ON + #endif +#else + #define SOL_USE_COMPATIBILITY_LAYER_I_ SOL_DEFAULT_ON +#endif + +#if defined(SOL_GET_FUNCTION_POINTER_UNSAFE) + #if (SOL_GET_FUNCTION_POINTER_UNSAFE != 0) + #define SOL_GET_FUNCTION_POINTER_UNSAFE_I_ SOL_ON + #else + #define SOL_GET_FUNCTION_POINTER_UNSAFE_I_ SOL_OFF + #endif +#else + #define SOL_GET_FUNCTION_POINTER_UNSAFE_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_FUNCTION_CALL_VALUE_SEMANTICS) + #if (SOL_FUNCTION_CALL_VALUE_SEMANTICS != 0) + #define SOL_FUNCTION_CALL_VALUE_SEMANTICS_I_ SOL_ON + #else + #define SOL_FUNCTION_CALL_VALUE_SEMANTICS_I_ SOL_OFF + #endif +#else + #define SOL_FUNCTION_CALL_VALUE_SEMANTICS_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_MINGW_CCTYPE_IS_POISONED) + #if (SOL_MINGW_CCTYPE_IS_POISONED != 0) + #define SOL_MINGW_CCTYPE_IS_POISONED_I_ SOL_ON + #else + #define SOL_MINGW_CCTYPE_IS_POISONED_I_ SOL_OFF + #endif +#elif SOL_IS_ON(SOL_COMPILER_MINGW) && defined(__GNUC__) && (__GNUC__ < 6) + // MinGW is off its rocker in some places... + #define SOL_MINGW_CCTYPE_IS_POISONED_I_ SOL_DEFAULT_ON +#else + #define SOL_MINGW_CCTYPE_IS_POISONED_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_CHAR8_T) + #if (SOL_CHAR8_T != 0) + #define SOL_CHAR8_T_I_ SOL_ON + #else + #define SOL_CHAR8_T_I_ SOL_OFF + #endif +#else + #if defined(__cpp_char8_t) + #define SOL_CHAR8_T_I_ SOL_DEFAULT_ON + #else + #define SOL_CHAR8_T_I_ SOL_DEFAULT_OFF + #endif +#endif + +#if SOL_IS_ON(SOL_USE_BOOST) + #include + + #if BOOST_VERSION >= 107500 // Since Boost 1.75.0 boost::none is constexpr + #define SOL_BOOST_NONE_CONSTEXPR_I_ constexpr + #else + #define SOL_BOOST_NONE_CONSTEXPR_I_ const + #endif // BOOST_VERSION +#else + // assume boost isn't using a garbage version + #define SOL_BOOST_NONE_CONSTEXPR_I_ constexpr +#endif + +#if defined(SOL2_CI) + #if (SOL2_CI != 0) + #define SOL2_CI_I_ SOL_ON + #else + #define SOL2_CI_I_ SOL_OFF + #endif +#else + #define SOL2_CI_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_C_ASSERT) + #define SOL_USER_C_ASSERT_I_ SOL_ON +#else + #define SOL_USER_C_ASSERT_I_ SOL_DEFAULT_OFF +#endif + +#if defined(SOL_M_ASSERT) + #define SOL_USER_M_ASSERT_I_ SOL_ON +#else + #define SOL_USER_M_ASSERT_I_ SOL_DEFAULT_OFF +#endif + +// beginning of sol/prologue.hpp + +#if defined(SOL_PROLOGUE_I_) + #error "[sol2] Library Prologue was already included in translation unit and not properly ended with an epilogue." +#endif + +#define SOL_PROLOGUE_I_ 1 + +#if SOL_IS_ON(SOL_BUILD_CXX_MODE) + #define _FWD(...) static_cast( __VA_ARGS__ ) + + #if SOL_IS_ON(SOL_COMPILER_GCC) || SOL_IS_ON(SOL_COMPILER_CLANG) + #define _MOVE(...) static_cast<__typeof( __VA_ARGS__ )&&>( __VA_ARGS__ ) + #else + #include + + #define _MOVE(...) static_cast<::std::remove_reference_t<( __VA_ARGS__ )>&&>( __VA_OPT__(,) ) + #endif +#endif + +// end of sol/prologue.hpp + +// beginning of sol/epilogue.hpp + +#if !defined(SOL_PROLOGUE_I_) + #error "[sol2] Library Prologue is missing from this translation unit." +#else + #undef SOL_PROLOGUE_I_ +#endif + +#if SOL_IS_ON(SOL_BUILD_CXX_MODE) + #undef _FWD + #undef _MOVE +#endif + +// end of sol/epilogue.hpp + +// beginning of sol/detail/build_version.hpp + +#if defined(SOL_DLL) + #if (SOL_DLL != 0) + #define SOL_DLL_I_ SOL_ON + #else + #define SOL_DLL_I_ SOL_OFF + #endif +#elif SOL_IS_ON(SOL_COMPILER_VCXX) && (defined(DLL_) || defined(_DLL)) + #define SOL_DLL_I_ SOL_DEFAULT_ON +#else + #define SOL_DLL_I_ SOL_DEFAULT_OFF +#endif // DLL definition + +#if defined(SOL_HEADER_ONLY) + #if (SOL_HEADER_ONLY != 0) + #define SOL_HEADER_ONLY_I_ SOL_ON + #else + #define SOL_HEADER_ONLY_I_ SOL_OFF + #endif +#else + #define SOL_HEADER_ONLY_I_ SOL_DEFAULT_OFF +#endif // Header only library + +#if defined(SOL_BUILD) + #if (SOL_BUILD != 0) + #define SOL_BUILD_I_ SOL_ON + #else + #define SOL_BUILD_I_ SOL_OFF + #endif +#elif SOL_IS_ON(SOL_HEADER_ONLY) + #define SOL_BUILD_I_ SOL_DEFAULT_OFF +#else + #define SOL_BUILD_I_ SOL_DEFAULT_ON +#endif + +#if defined(SOL_UNITY_BUILD) + #if (SOL_UNITY_BUILD != 0) + #define SOL_UNITY_BUILD_I_ SOL_ON + #else + #define SOL_UNITY_BUILD_I_ SOL_OFF + #endif +#else + #define SOL_UNITY_BUILD_I_ SOL_DEFAULT_OFF +#endif // Header only library + +#if defined(SOL_C_FUNCTION_LINKAGE) + #define SOL_C_FUNCTION_LINKAGE_I_ SOL_C_FUNCTION_LINKAGE +#else + #if SOL_IS_ON(SOL_BUILD_CXX_MODE) + // C++ + #define SOL_C_FUNCTION_LINKAGE_I_ extern "C" + #else + // normal + #define SOL_C_FUNCTION_LINKAGE_I_ + #endif // C++ or not +#endif // Linkage specification for C functions + +#if defined(SOL_API_LINKAGE) + #define SOL_API_LINKAGE_I_ SOL_API_LINKAGE +#else + #if SOL_IS_ON(SOL_DLL) + #if SOL_IS_ON(SOL_COMPILER_VCXX) || SOL_IS_ON(SOL_PLATFORM_WINDOWS) || SOL_IS_ON(SOL_PLATFORM_CYGWIN) + // MSVC Compiler; or, Windows, or Cygwin platforms + #if SOL_IS_ON(SOL_BUILD) + // Building the library + #if SOL_IS_ON(SOL_COMPILER_GCC) + // Using GCC + #define SOL_API_LINKAGE_I_ __attribute__((dllexport)) + #else + // Using Clang, MSVC, etc... + #define SOL_API_LINKAGE_I_ __declspec(dllexport) + #endif + #else + #if SOL_IS_ON(SOL_COMPILER_GCC) + #define SOL_API_LINKAGE_I_ __attribute__((dllimport)) + #else + #define SOL_API_LINKAGE_I_ __declspec(dllimport) + #endif + #endif + #else + // extern if building normally on non-MSVC + #define SOL_API_LINKAGE_I_ extern + #endif + #elif SOL_IS_ON(SOL_UNITY_BUILD) + // Built-in library, like how stb typical works + #if SOL_IS_ON(SOL_HEADER_ONLY) + // Header only, so functions are defined "inline" + #define SOL_API_LINKAGE_I_ inline + #else + // Not header only, so seperately compiled files + #define SOL_API_LINKAGE_I_ extern + #endif + #else + // Normal static library + #if SOL_IS_ON(SOL_BUILD_CXX_MODE) + #define SOL_API_LINKAGE_I_ + #else + #define SOL_API_LINKAGE_I_ extern + #endif + #endif // DLL or not +#endif // Build definitions + +#if defined(SOL_PUBLIC_FUNC_DECL) + #define SOL_PUBLIC_FUNC_DECL_I_ SOL_PUBLIC_FUNC_DECL +#else + #define SOL_PUBLIC_FUNC_DECL_I_ SOL_API_LINKAGE_I_ +#endif + +#if defined(SOL_INTERNAL_FUNC_DECL_) + #define SOL_INTERNAL_FUNC_DECL_I_ SOL_INTERNAL_FUNC_DECL_ +#else + #define SOL_INTERNAL_FUNC_DECL_I_ SOL_API_LINKAGE_I_ +#endif + +#if defined(SOL_PUBLIC_FUNC_DEF) + #define SOL_PUBLIC_FUNC_DEF_I_ SOL_PUBLIC_FUNC_DEF +#else + #define SOL_PUBLIC_FUNC_DEF_I_ SOL_API_LINKAGE_I_ +#endif + +#if defined(SOL_INTERNAL_FUNC_DEF) + #define SOL_INTERNAL_FUNC_DEF_I_ SOL_INTERNAL_FUNC_DEF +#else + #define SOL_INTERNAL_FUNC_DEF_I_ SOL_API_LINKAGE_I_ +#endif + +#if defined(SOL_FUNC_DECL) + #define SOL_FUNC_DECL_I_ SOL_FUNC_DECL +#elif SOL_IS_ON(SOL_HEADER_ONLY) + #define SOL_FUNC_DECL_I_ +#elif SOL_IS_ON(SOL_DLL) + #if SOL_IS_ON(SOL_COMPILER_VCXX) + #if SOL_IS_ON(SOL_BUILD) + #define SOL_FUNC_DECL_I_ extern __declspec(dllexport) + #else + #define SOL_FUNC_DECL_I_ extern __declspec(dllimport) + #endif + #elif SOL_IS_ON(SOL_COMPILER_GCC) || SOL_IS_ON(SOL_COMPILER_CLANG) + #define SOL_FUNC_DECL_I_ extern __attribute__((visibility("default"))) + #else + #define SOL_FUNC_DECL_I_ extern + #endif +#endif + +#if defined(SOL_FUNC_DEFN) + #define SOL_FUNC_DEFN_I_ SOL_FUNC_DEFN +#elif SOL_IS_ON(SOL_HEADER_ONLY) + #define SOL_FUNC_DEFN_I_ inline +#elif SOL_IS_ON(SOL_DLL) + #if SOL_IS_ON(SOL_COMPILER_VCXX) + #if SOL_IS_ON(SOL_BUILD) + #define SOL_FUNC_DEFN_I_ __declspec(dllexport) + #else + #define SOL_FUNC_DEFN_I_ __declspec(dllimport) + #endif + #elif SOL_IS_ON(SOL_COMPILER_GCC) || SOL_IS_ON(SOL_COMPILER_CLANG) + #define SOL_FUNC_DEFN_I_ __attribute__((visibility("default"))) + #else + #define SOL_FUNC_DEFN_I_ + #endif +#endif + +#if defined(SOL_HIDDEN_FUNC_DECL) + #define SOL_HIDDEN_FUNC_DECL_I_ SOL_HIDDEN_FUNC_DECL +#elif SOL_IS_ON(SOL_HEADER_ONLY) + #define SOL_HIDDEN_FUNC_DECL_I_ +#elif SOL_IS_ON(SOL_DLL) + #if SOL_IS_ON(SOL_COMPILER_VCXX) + #if SOL_IS_ON(SOL_BUILD) + #define SOL_HIDDEN_FUNC_DECL_I_ extern __declspec(dllexport) + #else + #define SOL_HIDDEN_FUNC_DECL_I_ extern __declspec(dllimport) + #endif + #elif SOL_IS_ON(SOL_COMPILER_GCC) || SOL_IS_ON(SOL_COMPILER_CLANG) + #define SOL_HIDDEN_FUNC_DECL_I_ extern __attribute__((visibility("default"))) + #else + #define SOL_HIDDEN_FUNC_DECL_I_ extern + #endif +#endif + +#if defined(SOL_HIDDEN_FUNC_DEFN) + #define SOL_HIDDEN_FUNC_DEFN_I_ SOL_HIDDEN_FUNC_DEFN +#elif SOL_IS_ON(SOL_HEADER_ONLY) + #define SOL_HIDDEN_FUNC_DEFN_I_ inline +#elif SOL_IS_ON(SOL_DLL) + #if SOL_IS_ON(SOL_COMPILER_VCXX) + #if SOL_IS_ON(SOL_BUILD) + #define SOL_HIDDEN_FUNC_DEFN_I_ + #else + #define SOL_HIDDEN_FUNC_DEFN_I_ + #endif + #elif SOL_IS_ON(SOL_COMPILER_GCC) || SOL_IS_ON(SOL_COMPILER_CLANG) + #define SOL_HIDDEN_FUNC_DEFN_I_ __attribute__((visibility("hidden"))) + #else + #define SOL_HIDDEN_FUNC_DEFN_I_ + #endif +#endif + +// end of sol/detail/build_version.hpp + +// end of sol/version.hpp + +#if SOL_IS_ON(SOL_INSIDE_UNREAL_ENGINE) +#ifdef check +#pragma push_macro("check") +#undef check +#endif +#endif // Unreal Engine 4 Bullshit + +#if SOL_IS_ON(SOL_COMPILER_GCC) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" +#pragma GCC diagnostic ignored "-Wconversion" +#if __GNUC__ > 6 +#pragma GCC diagnostic ignored "-Wnoexcept-type" +#endif +#elif SOL_IS_ON(SOL_COMPILER_CLANG) +#elif SOL_IS_ON(SOL_COMPILER_VCXX) +#pragma warning(push) +#pragma warning(disable : 4505) // unreferenced local function has been removed GEE THANKS +#endif // clang++ vs. g++ vs. VC++ + +// beginning of sol/forward.hpp + +#ifndef SOL_FORWARD_HPP +#define SOL_FORWARD_HPP + +#include +#include +#include + +#if SOL_IS_ON(SOL_USE_CXX_LUA) || SOL_IS_ON(SOL_USE_CXX_LUAJIT) +struct lua_State; +#else +extern "C" { +struct lua_State; +} +#endif // C++ Mangling for Lua vs. Not + +namespace sol { + + enum class type; + + class stateless_reference; + template + class basic_reference; + using reference = basic_reference; + using main_reference = basic_reference; + class stateless_stack_reference; + class stack_reference; + + template + class basic_bytecode; + + struct lua_value; + + struct proxy_base_tag; + template + struct proxy_base; + template + struct table_proxy; + + template + class basic_table_core; + template + using table_core = basic_table_core; + template + using main_table_core = basic_table_core; + template + using stack_table_core = basic_table_core; + template + using basic_table = basic_table_core; + using table = table_core; + using global_table = table_core; + using main_table = main_table_core; + using main_global_table = main_table_core; + using stack_table = stack_table_core; + using stack_global_table = stack_table_core; + + template + struct basic_lua_table; + using lua_table = basic_lua_table; + using stack_lua_table = basic_lua_table; + + template + class basic_usertype; + template + using usertype = basic_usertype; + template + using stack_usertype = basic_usertype; + + template + class basic_metatable; + using metatable = basic_metatable; + using stack_metatable = basic_metatable; + + template + struct basic_environment; + using environment = basic_environment; + using main_environment = basic_environment; + using stack_environment = basic_environment; + + template + class basic_function; + template + class basic_protected_function; + using unsafe_function = basic_function; + using safe_function = basic_protected_function; + using main_unsafe_function = basic_function; + using main_safe_function = basic_protected_function; + using stack_unsafe_function = basic_function; + using stack_safe_function = basic_protected_function; + using stack_aligned_unsafe_function = basic_function; + using stack_aligned_safe_function = basic_protected_function; + using protected_function = safe_function; + using main_protected_function = main_safe_function; + using stack_protected_function = stack_safe_function; + using stack_aligned_protected_function = stack_aligned_safe_function; +#if SOL_IS_ON(SOL_SAFE_FUNCTION_OBJECTS) + using function = protected_function; + using main_function = main_protected_function; + using stack_function = stack_protected_function; + using stack_aligned_function = stack_aligned_safe_function; +#else + using function = unsafe_function; + using main_function = main_unsafe_function; + using stack_function = stack_unsafe_function; + using stack_aligned_function = stack_aligned_unsafe_function; +#endif + using stack_aligned_stack_handler_function = basic_protected_function; + + struct unsafe_function_result; + struct protected_function_result; + using safe_function_result = protected_function_result; +#if SOL_IS_ON(SOL_SAFE_FUNCTION_OBJECTS) + using function_result = safe_function_result; +#else + using function_result = unsafe_function_result; +#endif + + template + class basic_object_base; + template + class basic_object; + template + class basic_userdata; + template + class basic_lightuserdata; + template + class basic_coroutine; + template + class basic_packaged_coroutine; + template + class basic_thread; + + using object = basic_object; + using userdata = basic_userdata; + using lightuserdata = basic_lightuserdata; + using thread = basic_thread; + using coroutine = basic_coroutine; + using packaged_coroutine = basic_packaged_coroutine; + using main_object = basic_object; + using main_userdata = basic_userdata; + using main_lightuserdata = basic_lightuserdata; + using main_coroutine = basic_coroutine; + using stack_object = basic_object; + using stack_userdata = basic_userdata; + using stack_lightuserdata = basic_lightuserdata; + using stack_thread = basic_thread; + using stack_coroutine = basic_coroutine; + + struct stack_proxy_base; + struct stack_proxy; + struct variadic_args; + struct variadic_results; + struct stack_count; + struct this_state; + struct this_main_state; + struct this_environment; + + class state_view; + class state; + + template + struct as_table_t; + template + struct as_container_t; + template + struct nested; + template + struct light; + template + struct user; + template + struct as_args_t; + template + struct protect_t; + template + struct policy_wrapper; + + template + struct usertype_traits; + template + struct unique_usertype_traits; + + template + struct types { + typedef std::make_index_sequence indices; + static constexpr std::size_t size() { + return sizeof...(Args); + } + }; + + template + struct derive : std::false_type { + typedef types<> type; + }; + + template + struct base : std::false_type { + typedef types<> type; + }; + + template + struct weak_derive { + static bool value; + }; + + template + bool weak_derive::value = false; + + namespace stack { + struct record; + } + +#if SOL_IS_OFF(SOL_USE_BOOST) + template + class optional; + + template + class optional; +#endif + + using check_handler_type = int(lua_State*, int, type, type, const char*); + +} // namespace sol + +#define SOL_BASE_CLASSES(T, ...) \ + namespace sol { \ + template <> \ + struct base : std::true_type { \ + typedef ::sol::types<__VA_ARGS__> type; \ + }; \ + } \ + void a_sol3_detail_function_decl_please_no_collide() +#define SOL_DERIVED_CLASSES(T, ...) \ + namespace sol { \ + template <> \ + struct derive : std::true_type { \ + typedef ::sol::types<__VA_ARGS__> type; \ + }; \ + } \ + void a_sol3_detail_function_decl_please_no_collide() + +#endif // SOL_FORWARD_HPP +// end of sol/forward.hpp + +// beginning of sol/forward_detail.hpp + +#ifndef SOL_FORWARD_DETAIL_HPP +#define SOL_FORWARD_DETAIL_HPP + +// beginning of sol/traits.hpp + +// beginning of sol/tuple.hpp + +// beginning of sol/base_traits.hpp + +#include + +namespace sol { + namespace detail { + struct unchecked_t { }; + const unchecked_t unchecked = unchecked_t {}; + } // namespace detail + + namespace meta { + using sfinae_yes_t = std::true_type; + using sfinae_no_t = std::false_type; + + template + using void_t = void; + + template + using unqualified = std::remove_cv>; + + template + using unqualified_t = typename unqualified::type; + + namespace meta_detail { + template + struct unqualified_non_alias : unqualified { }; + + template