# Lua Documentation

- [API Reference](/lua-documentation/api-reference.md)
- [Classes](/lua-documentation/api-reference/classes.md): Some classes that are automatically imported when loading a script.
- [vec2](/lua-documentation/api-reference/classes/vec2.md)
- [vec3](/lua-documentation/api-reference/classes/vec3.md)
- [g\_lua](/lua-documentation/api-reference/g_lua.md)
- [register](/lua-documentation/api-reference/g_lua/register.md): This function has to be called exactly once at the beginning of your script.
- [unregister](/lua-documentation/api-reference/g_lua/unregister.md): This function indicates that the script wants to be unloaded.
- [load\_lua](/lua-documentation/api-reference/g_lua/load_lua.md): Loads a lua and executes it.
- [g\_memory](/lua-documentation/api-reference/g_memory.md)
- [get\_base\_address](/lua-documentation/api-reference/g_memory/get_base_address.md): Returns the base address for the given module.
- [scan\_pattern](/lua-documentation/api-reference/g_memory/scan_pattern.md): Scans the module for a specific IDA-Style pattern. Returns the address of the scan result.
- [rip](/lua-documentation/api-reference/g_memory/rip.md): Reads an offset from the instruction and returns the resulting address.
- [allocate](/lua-documentation/api-reference/g_memory/allocate.md): Allocated given bytes and return a pointer to the memory. Do not forget to free the memory after using it.
- [free](/lua-documentation/api-reference/g_memory/free.md)
- [write\_byte](/lua-documentation/api-reference/g_memory/write_byte.md)
- [write\_short](/lua-documentation/api-reference/g_memory/write_short.md)
- [write\_int](/lua-documentation/api-reference/g_memory/write_int.md)
- [write\_long\_long](/lua-documentation/api-reference/g_memory/write_long_long.md)
- [write\_float](/lua-documentation/api-reference/g_memory/write_float.md)
- [write\_double](/lua-documentation/api-reference/g_memory/write_double.md)
- [write\_string](/lua-documentation/api-reference/g_memory/write_string.md)
- [read\_byte](/lua-documentation/api-reference/g_memory/read_byte.md)
- [read\_short](/lua-documentation/api-reference/g_memory/read_short.md)
- [read\_int](/lua-documentation/api-reference/g_memory/read_int.md)
- [read\_long\_long](/lua-documentation/api-reference/g_memory/read_long_long.md)
- [read\_float](/lua-documentation/api-reference/g_memory/read_float.md)
- [read\_double](/lua-documentation/api-reference/g_memory/read_double.md)
- [read\_string](/lua-documentation/api-reference/g_memory/read_string.md)
- [g\_logger](/lua-documentation/api-reference/g_logger.md)
- [log\_info](/lua-documentation/api-reference/g_logger/log_info.md): Logs given text to the cherax console.
- [g\_gui](/lua-documentation/api-reference/g_gui.md): Options to communicate with the default gui.
- [is\_open](/lua-documentation/api-reference/g_gui/is_open.md): Returns whether the main cherax windo is opened or not.
- [open](/lua-documentation/api-reference/g_gui/open.md): opens the GUI
- [close](/lua-documentation/api-reference/g_gui/close.md): closes the GUI
- [toggle](/lua-documentation/api-reference/g_gui/toggle.md): toggles the GUI
- [add\_toast](/lua-documentation/api-reference/g_gui/add_toast.md): Adds a notifcation on the top right corner.
- [add\_button](/lua-documentation/api-reference/g_gui/add_button.md): Adds a button to one of the main cherax child windows. The name can be obtained by right clicking on the child.
- [add\_toggle](/lua-documentation/api-reference/g_gui/add_toggle.md): Adds a toggle to one of the main cherax child windows. The name can be obtained by right clicking on the child.
- [add\_input\_int](/lua-documentation/api-reference/g_gui/add_input_int.md): Adds an integer input field to one of the main cherax child windows. The name can be obtained by right clicking on the child.
- [add\_input\_float](/lua-documentation/api-reference/g_gui/add_input_float.md): Adds a float input field to one of the main cherax child windows. The name can be obtained by right clicking on the child.
- [add\_input\_string](/lua-documentation/api-reference/g_gui/add_input_string.md)
- [g\_hooking](/lua-documentation/api-reference/g_hooking.md)
- [register\_D3D\_hook](/lua-documentation/api-reference/g_hooking/register_d3d_hook.md): Registers a function which gets called on every frame. It returns an ID used for unregistering the hook.
- [register\_wndproc\_hook](/lua-documentation/api-reference/g_hooking/register_wndproc_hook.md): Registers a function which gets called on every input. It returns an ID used for unregistering the hook.
- [register\_scripted\_game\_event\_hook](/lua-documentation/api-reference/g_hooking/register_scripted_game_event_hook.md): Registers a function which gets called on every received scripted game event. It returns an ID used for unregistering the hook. Hoook should either return true or false.
- [unregister\_hook](/lua-documentation/api-reference/g_hooking/unregister_hook.md): Removes hook by given id.
- [g\_math](/lua-documentation/api-reference/g_math.md)
- [sin](/lua-documentation/api-reference/g_math/sin.md)
- [cos](/lua-documentation/api-reference/g_math/cos.md)
- [tan](/lua-documentation/api-reference/g_math/tan.md)
- [g\_util](/lua-documentation/api-reference/g_util.md)
- [yield](/lua-documentation/api-reference/g_util/yield.md): If executed within scripting thread, the thread will be paused for the given time.
- [is\_session\_started](/lua-documentation/api-reference/g_util/is_session_started.md): Returns whether the player is in an online session or not.
- [get\_selected\_player](/lua-documentation/api-reference/g_util/get_selected_player.md): Returns the current selected player in the player list of the menu.
- [trigger\_script\_event](/lua-documentation/api-reference/g_util/trigger_script_event.md)
- [get\_menu\_version](/lua-documentation/api-reference/g_util/get_menu_version.md): Returns the current menu version.
- [joaat](/lua-documentation/api-reference/g_util/joaat.md)
- [play\_wav\_file](/lua-documentation/api-reference/g_util/play_wav_file.md)
- [g\_imgui](/lua-documentation/api-reference/g_imgui.md): All of these functions can only be executed within a D3D hook. https://github.com/ocornut/imgui
- [Globals](/lua-documentation/api-reference/g_imgui/globals.md): Flags used by ImGui.
- [get\_display\_size](/lua-documentation/api-reference/g_imgui/get_display_size.md)
- [set\_next\_window\_size](/lua-documentation/api-reference/g_imgui/set_next_window_size.md)
- [set\_next\_window\_pos](/lua-documentation/api-reference/g_imgui/set_next_window_pos.md)
- [get\_window\_size](/lua-documentation/api-reference/g_imgui/get_window_size.md)
- [get\_window\_pos](/lua-documentation/api-reference/g_imgui/get_window_pos.md)
- [push\_style\_var](/lua-documentation/api-reference/g_imgui/push_style_var.md): Pushes a style onto the stack.
- [pop\_style\_var](/lua-documentation/api-reference/g_imgui/pop_style_var.md): Pops a style from the stack.
- [begin\_window](/lua-documentation/api-reference/g_imgui/begin_window.md)
- [end\_window](/lua-documentation/api-reference/g_imgui/end_window.md)
- [begin\_child](/lua-documentation/api-reference/g_imgui/begin_child.md)
- [end\_child](/lua-documentation/api-reference/g_imgui/end_child.md)
- [same\_line](/lua-documentation/api-reference/g_imgui/same_line.md)
- [new\_line](/lua-documentation/api-reference/g_imgui/new_line.md)
- [separator](/lua-documentation/api-reference/g_imgui/separator.md)
- [columns](/lua-documentation/api-reference/g_imgui/columns.md)
- [next\_column](/lua-documentation/api-reference/g_imgui/next_column.md)
- [set\_column\_offset](/lua-documentation/api-reference/g_imgui/set_column_offset.md)
- [is\_item\_hovered](/lua-documentation/api-reference/g_imgui/is_item_hovered.md): Returns whether the last item is being hovered by the mouse or not.
- [add\_line](/lua-documentation/api-reference/g_imgui/add_line.md)
- [add\_circle](/lua-documentation/api-reference/g_imgui/add_circle.md)
- [add\_circle\_filled](/lua-documentation/api-reference/g_imgui/add_circle_filled.md)
- [add\_rect](/lua-documentation/api-reference/g_imgui/add_rect.md)
- [add\_rect\_filled](/lua-documentation/api-reference/g_imgui/add_rect_filled.md)
- [set\_next\_item\_width](/lua-documentation/api-reference/g_imgui/set_next_item_width.md)
- [get\_content\_region\_avail](/lua-documentation/api-reference/g_imgui/get_content_region_avail.md)
- [add\_button](/lua-documentation/api-reference/g_imgui/add_button.md)
- [add\_checkbox](/lua-documentation/api-reference/g_imgui/add_checkbox.md)
- [add\_input\_string](/lua-documentation/api-reference/g_imgui/add_input_string.md)
- [add\_input\_string\_with\_hint](/lua-documentation/api-reference/g_imgui/add_input_string_with_hint.md)
- [add\_text](/lua-documentation/api-reference/g_imgui/add_text.md)
- [add\_triangle](/lua-documentation/api-reference/g_imgui/add_triangle.md)
- [add\_triangle\_filled](/lua-documentation/api-reference/g_imgui/add_triangle_filled.md)
- [begin\_main\_menu\_bar](/lua-documentation/api-reference/g_imgui/begin_main_menu_bar.md)
- [end\_main\_menu\_bar](/lua-documentation/api-reference/g_imgui/end_main_menu_bar.md)
- [begin\_menu](/lua-documentation/api-reference/g_imgui/begin_menu.md)
- [end\_menu](/lua-documentation/api-reference/g_imgui/end_menu.md)
- [menu\_item](/lua-documentation/api-reference/g_imgui/menu_item.md)
- [begin\_tab\_bar](/lua-documentation/api-reference/g_imgui/begin_tab_bar.md)
- [end\_tab\_bar](/lua-documentation/api-reference/g_imgui/end_tab_bar.md)
- [begin\_tab\_item](/lua-documentation/api-reference/g_imgui/begin_tab_item.md)
- [end\_tab\_item](/lua-documentation/api-reference/g_imgui/end_tab_item.md)
- [open\_popup](/lua-documentation/api-reference/g_imgui/open_popup.md)
- [close\_current\_popup](/lua-documentation/api-reference/g_imgui/close_current_popup.md)
- [is\_popup\_open](/lua-documentation/api-reference/g_imgui/is_popup_open.md)
- [begin\_popup](/lua-documentation/api-reference/g_imgui/begin_popup.md)
- [end\_popup](/lua-documentation/api-reference/g_imgui/end_popup.md)
- [g\_os](/lua-documentation/api-reference/g_os.md)
- [time](/lua-documentation/api-reference/g_os/time.md)
- [time\_ms](/lua-documentation/api-reference/g_os/time_ms.md)
- [finger\_print](/lua-documentation/api-reference/g_os/finger_print.md): Returns a string that is unique on every pc.
- [NATIVES](/lua-documentation/api-reference/natives.md)
- [POOL](/lua-documentation/api-reference/natives/pool.md)
- [PLAYER](/lua-documentation/api-reference/natives/player.md)
- [SYSTEM](/lua-documentation/api-reference/natives/system.md)
- [CAM](/lua-documentation/api-reference/natives/cam.md)
- [DECORATOR](/lua-documentation/api-reference/natives/decorator.md)
- [WORLDPROBE](/lua-documentation/api-reference/natives/worldprobe.md)
- [STATS](/lua-documentation/api-reference/natives/stats.md)
- [CLOCK](/lua-documentation/api-reference/natives/clock.md)
- [FIRE](/lua-documentation/api-reference/natives/fire.md)
- [STREAMING](/lua-documentation/api-reference/natives/streaming.md)
- [CUTSCENE](/lua-documentation/api-reference/natives/cutscene.md)
- [WATER](/lua-documentation/api-reference/natives/water.md)
- [AUDIO](/lua-documentation/api-reference/natives/audio.md)
- [INTERIOR](/lua-documentation/api-reference/natives/interior.md)
- [TASK](/lua-documentation/api-reference/natives/task.md)
- [CONTROL](/lua-documentation/api-reference/natives/control.md)
- [NETWORK](/lua-documentation/api-reference/natives/network.md)
- [OBJECT](/lua-documentation/api-reference/natives/object.md)
- [ENTITY](/lua-documentation/api-reference/natives/entity.md)
- [VEHICLE](/lua-documentation/api-reference/natives/vehicle.md)
- [WEAPON](/lua-documentation/api-reference/natives/weapon.md)
- [SCRIPT](/lua-documentation/api-reference/natives/script.md)
- [PED](/lua-documentation/api-reference/natives/ped.md)
- [MISC](/lua-documentation/api-reference/natives/misc.md)
- [GAMEPLAY](/lua-documentation/api-reference/natives/gameplay.md)
- [UI](/lua-documentation/api-reference/natives/ui.md)
- [GRAPHICS](/lua-documentation/api-reference/natives/graphics.md)
- [MOBILE](/lua-documentation/api-reference/natives/mobile.md)
