Scooby GTA5 API Reference

Documentation

Reference for the Scooby Lua scripting surface. Each class lists its methods with a signature, the return type, parameters, a description, and the original usage example. Hover a signature to copy a Class.method(params) snippet.

External references: NativeDB (Legacy) · NativeDB (Enhanced) · NativeDB Data (GitHub) · Animation Dictionaries

CEntity (Script)

Entity class for native/scripting (handle-based)

CEntity new(handle: int)

Create entity from handle

int get_handle()

Get entity handle

bool is_valid()

Check if entity is valid

bool is_ped()

Check if entity is a ped

bool is_vehicle()

Check if entity is a vehicle

bool is_object()

Check if entity is an object

bool is_player()

Check if entity is a player

bool is_mission_entity()

Check if entity is a mission entity

int get_model()

Get entity model hash

Vector3 get_position()

Get entity position

void set_position(pos: Vector3)

Set entity position

Vector3 get_rotation(order: int = 2)

Get entity rotation

void set_rotation(rot: Vector3, order: int = 2)

Set entity rotation

Vector3 get_velocity()

Get entity velocity

void set_velocity(vel: Vector3)

Set entity velocity

float get_heading()

Get entity heading

void set_heading(heading: float)

Set entity heading

float get_speed()

Get entity speed

void set_collision(enabled: bool)

Set entity collision

void set_frozen(frozen: bool)

Set entity frozen state

void delete()

Delete entity

bool is_networked()

Check if entity is networked

bool is_remote()

Check if entity is remote

bool has_control()

Check if we have control

int get_network_object_id()

Get network object ID

void prevent_migration()

Prevent network migration

void force_control()

Force control of entity

void request_control(timeout: int = 100)

Request control of entity

bool is_invincible()

Check if entity is invincible

void set_invincible(invincible: bool)

Set entity invincibility

bool is_dead()

Check if entity is dead

void kill()

Kill entity

int get_health()

Get entity health

void set_health(health: int)

Set entity health

int get_max_health()

Get entity max health

bool is_visible()

Check if entity is visible

void set_visible(visible: bool)

Set entity visibility

int get_alpha()

Get entity alpha

void set_alpha(alpha: int)

Set entity alpha

void reset_alpha()

Reset entity alpha

bool has_interior()

Check if entity has interior

CNetGamePlayer (Script)

Network player class (handle-based)

string get_name()

Get player name

int get_rid()

Get Rockstar ID

int get_host_token()

Get host token

bool is_valid()

Check if player is valid

bool is_host()

Check if player is host

Ped get_ped()

Get player ped

CNetObject (Script)

Network object class (handle-based)

int get_object_id()

Get network object ID

CNetGamePlayer get_owner()

Get object owner

CObject (Script)

Object class (handle-based, inherits CEntity)

CObject new(handle: int)

Create object from handle

CObject create(model: hash, pos: Vector3, networked: bool = true)

Create new object

CPed (Script)

Ped class (handle-based, inherits CEntity)

CPed new(handle: int)

Create ped from handle

CPed create(model: hash, pos: Vector3, heading: float = 0)

Create new ped

CVehicle get_vehicle()

Get ped's current vehicle

CVehicle get_last_vehicle()

Get ped's last vehicle

int get_vehicle_object_id()

Get vehicle network object ID

void set_in_vehicle(vehicle: CVehicle, seat: int = 0)

Set ped in vehicle

bool get_ragdoll()

Get ragdoll state

void set_ragdoll(ragdoll: bool)

Set ragdoll state

Vector3 get_bone_position(bone: int)

Get bone position

bool is_enemy()

Check if ped is enemy

int get_accuracy()

Get ped accuracy

void set_accuracy(accuracy: int)

Set ped accuracy

void give_weapon(weapon: hash, equip: bool = false)

Give weapon to ped

void remove_weapon(weapon: hash)

Remove weapon from ped

int get_current_weapon()

Get current weapon hash

bool has_weapon(weapon: hash)

Check if ped has weapon

void set_infinite_ammo(enabled: bool)

Set infinite ammo

void set_infinite_clip(enabled: bool)

Set infinite clip

void set_max_ammo_for_weapon(weapon: hash)

Set max ammo for weapon

void teleport_to(pos: Vector3)

Teleport ped to position

int get_armour()

Get ped armour

void set_armour(armour: int)

Set ped armour

void set_leader_of_group(group: int)

Set as group leader

void add_to_group(group: int)

Add to group

void remove_from_group()

Remove from group

bool is_member_of_group(group: int)

Check group membership

void randomize_outfit()

Randomize ped outfit

void start_scenario(scenario: string, duration: int = -1, loop: bool = true)

Start scenario

void set_keep_task(keep: bool)

Set keep task

void clear_damage()

Clear ped damage

void set_max_time_underwater(time: int)

Set max time underwater

void set_as_cop()

Set ped as cop

CVehicle (Script)

Vehicle class (handle-based, inherits CEntity)

CVehicle new(handle: int)

Create vehicle from handle

CVehicle create(model: hash, pos: Vector3, heading: float = 0)

Create new vehicle

CPed get_driver()

Get vehicle driver

CPed get_passenger(seat: int)

Get passenger by seat

void set_max_speed(speed: float)

Set maximum speed

void set_forward_speed(speed: float)

Set forward speed

void repair()

Repair vehicle

void set_doors_locked(lock_state: int)

Set doors locked

void set_dirt_level(level: float)

Set dirt level

void set_on_all_wheels()

Set on all wheels

table get_mods()

Get vehicle mods

void set_mod(mod_type: int, mod_index: int)

Set vehicle mod

int get_primary_color()

Get primary color

int get_secondary_color()

Get secondary color

void set_colors(primary: int, secondary: int)

Set vehicle colors

void set_custom_primary_color(r: int, g: int, b: int)

Set custom primary RGB color

void set_custom_secondary_color(r: int, g: int, b: int)

Set custom secondary RGB color

Globals

Global utility functions

void wait(ms: int)

Yield execution for milliseconds

void log_info(message: string)

Log info message

void log_warning(message: string)

Log warning message

void log_error(message: string)

Log error message

void notify.success/info/warn/error(title: string, message: string)

Show notification: notify.success(title, msg)

CPed get_local_ped()

Get local player ped

CNetGamePlayer get_local_player()

Get local player

table<CPed> get_all_peds()

Get all peds in world

table<CVehicle> get_all_vehicles()

Get all vehicles in world

table<CObject> get_all_objects()

Get all objects in world

table<CNetGamePlayer> get_all_players()

Get all network players

any invoke_native(hash: int, ...)

Invoke native function

Vector3 (Script)

Simple 3D Vector class

Vector3 new(x: float, y: float, z: float)

Create new vector

float x()

X component

float y()

Y component

float z()

Z component

float length()

Get vector length

Vector3 normalize()

Normalize vector

float distance(other: Vector3)

Distance to another vector

script

Script execution and control

int run_in_callback(func: function)

Register a coroutine callback on the game script thread and return a cancellable handle. Long work must yield or call checkpoint periodically.

bool cancel_callback(handle: int)

Cancel and release a callback by handle. Safe while callbacks are being processed.

void yield(ms: int = 0)

Yield execution for ms (must be called inside run_in_callback). Zero or a negative value resumes on the next frame; very large values are clamped safely.

void checkpoint(reserve_ms: int = 10)

Yield for one frame only when the current guarded call is close to its time limit. Use inside long queued loops.

int get_budget_remaining()

Milliseconds remaining in the active guarded Lua call; -1 outside a guarded host-to-Lua call.

bool is_inside_callback()

Check if currently inside a script callback coroutine

int register_event_handler(event: string|int, callback: function)

Register a handler for a named event and return its removable handle.

bool unregister_event_handler(handle: int)

Disable and release an event handler by handle. A handler removed during dispatch is not called again.

int register_render(func: function)

Register an isolated ImGui render callback and return its handle. Every Begin/Push must be paired in the same callback.

bool unregister_render(handle: int)

Disable and release a render callback by handle. Safe while callbacks are being processed.

void set_continue_on_error(enabled: bool)

Keep the script loaded after a runtime callback fails. The failing render/thread callback is stopped.

bool get_continue_on_error()

Return this script's Continue On Error setting.

int get_error_count()

Return the number of runtime errors reported by this script.

void on_unload(func: function)

Register a cleanup function called before the script state closes.

time

World time, weather, wind, and environment control

hour, minute, second get_time()

Get current game time

void set_time(hour: int, minute: int, second: int)

Set game time

void set_date(day: int, month: int, year: int)

Set game date

void advance_time(hours: int, minutes: int, seconds: int)

Advance game time

void pause_clock(paused: bool)

Pause/unpause game clock

int get_ms_per_game_minute()

Get milliseconds per game minute

void set_weather(weather: string)

Set weather type

void set_weather_persist(weather: string)

Set persistent weather

void set_weather_over_time(weather: string, time: float)

Transition weather over time

string get_weather()

Get current weather type

void clear_weather_override()

Clear weather override

void set_random_weather()

Set random weather

table get_weather_types()

Get all weather type names

void set_wind_speed(speed: float)

Set wind speed

float get_wind_speed()

Get wind speed

void set_rain_level(level: float)

Set rain level

float get_rain_level()

Get rain level

void set_snow_level(level: float)

Set snow level

float get_snow_level()

Get snow level

void force_lightning(enabled: bool)

Force lightning

void set_gravity_level(level: float)

Set gravity level

void set_blackout(enabled: bool)

Set blackout mode

bool is_blackout()

Check if blackout is active

int get_game_timer()

Get game timer (ms)

float get_frame_time()

Get frame delta time

int get_frame_count()

Get frame count

widget

The menu's themed controls, callable from a script's OWN ImGui window. menu.* widgets already render through these, so a Lua feature inside the menu looks identical to a native one - this library is for a custom window drawn from script.register_render, which otherwise only had raw imgui.* (stock grey) or hand-drawing. Mix them freely: themed controls for the parts that should match the menu, your own drawing for chrome. Every function is value-in / value-out like imgui.checkbox_value and NOT like imgui.checkbox, so your script stays the single owner of its state. RENDER CALLBACK ONLY - outside a frame each returns "unchanged" instead of crashing; use widget.can_draw() to branch. `opts` is optional on every call: { style = "switch", accent = {r,g,b,a}, text = {r,g,b,a}, width = 200, height = 24, step = 5, format = "%d%%" }. Style names are the same vocabulary as menu.set_style; colours accept 0-255 or 0-1, detected the same way set_accent does

changed: bool, new_value: bool toggle(label: string, value: bool, opts: table = nil)

Themed toggle. Style names: "switch", "checkbox", "box", "radio", "text", "button_toggle"

changed: bool, new_value: int slider_int(label: string, value: int, min: int, max: int, opts: table = nil)

Themed integer slider. Style names: "bar", "modern", "drag", "input", "stepper". opts.step sets the increment, opts.format the display text

changed: bool, new_value: float slider_float(label: string, value: float, min: float, max: float, opts: table = nil)

Themed float slider. Same styles and opts as slider_int

clicked: bool button(label: string, opts: table = nil)

Themed button. Style names: "plain", "accent", "danger", "link"

changed: bool, new_index: int combo(label: string, index: int, options: table, opts: table = nil)

Themed dropdown. index is 1-based, like every other list in this API. Style names: "dropdown", "stepper", "radio", "buttons"

clicked_index: int|nil action_list(label: string, options: table, opts: table = nil)

A list that holds NO selection - every entry is its own action. Returns the 1-based index clicked this frame, or nil. Style names: "dropdown", "buttons"

table styles()

Every accepted style name, so a script can offer the user the same choices menu.set_style has

bool can_draw()

True only inside a render callback. Lets a script branch rather than silently drawing nothing

panel

Extend, restyle or replace the menu's built-in panels, and pin images to the menu window edges. Panel names: "player_info", "weapon_preview", "vehicle_preview", "ped_preview", "notifications" (short aliases like "player" and "vehicle" also work). Rows are PUSHED by your script: every panel renders on the render thread, where calling into Lua is not allowed, so update your values from a script.run_in_callback loop and the renderer reads the stored strings. What each panel supports: player_info takes everything (rows, hide_builtin, set_replace, set_title, set_native_enabled, get_context). weapon_preview and vehicle_preview support set_native_enabled and get_context. ped_preview and notifications support set_native_enabled only - ped_preview renders a live 3D ped rather than label/value rows, and notifications is a transient stack, so rows, title and image have nothing to attach to either. Suppressing notifications stops the drawing only; notification.* keeps working

bool set_row(panel: string, key: string, label: string, value: any, color: int = 0, order: int = 1000)

Add or update a row. Re-using the same key updates that row in place, so calling this every tick from a loop is the intended usage, not a leak. Colour is a packed ImU32 (ABGR) or 0 for the panel default; order sorts the row (built-in rows occupy 0-999, so the 1000 default puts yours after them). Capped at 64 rows per panel

bool remove_row(panel: string, key: string)

Remove one of your rows by key

int clear(panel: string)

Remove every row your script added to a panel. Other scripts' rows are untouched

table get_rows(panel: string)

Every row currently registered on a panel, including other scripts', for a script drawing the panel itself

void hide_builtin(panel: string, label: string, hidden: bool = true)

Hide one of the panel's OWN rows by its English label ("Health", "Armour", ...), matched case-insensitively. Pass false to show it again

void set_replace(panel: string, replace: bool = true)

Keep the panel's frame, title and image but drop every built-in row, leaving only script rows

void set_native_enabled(panel: string, enabled: bool)

false skips the entire native panel, for a script drawing its own from script.register_render. Pass true to restore it

void set_title(panel: string, text: string)

Override the panel's title. "" or nil restores the panel's own

void set_image(panel: string, texture_id: int)

Override the panel's image with a texture id from texture.load / load_from_url. 0 or nil restores the panel's own

table get_context(panel: string)

What the panel is showing right now, so a script can react to it: { hash, name, number }. `number` is the vehicle class for vehicle_preview or the selected player id for player_info

table list()

Every valid panel name

bool set_decal(key: string, texture_id: int, edge: string = "top", opts: table = nil)

Pin an image to an edge of the menu window, free to overhang outside it - the "character peeking over the top of the menu" look. Re-using a key updates it in place. opts: width, height (0 = the texture's own size; setting only one derives the other from the aspect ratio so it is never stretched), along (0-1 down the edge, 0.5 centres), offset (extra pixels along the edge), overhang (pixels OUTSIDE the edge - match it to the height to sit fully outside), tint (packed ImU32), behind (draw under the window so it peeks out from behind instead of covering the chrome), visible, host ("both" | "clickui" | "listui"). Capped at 32 decals

bool remove_decal(key: string)

Remove one of your decals by key

int clear_decals()

Remove every decal your script added

texture

Texture loading, management, and drawing

int|nil, string load(file: string)

Load a texture from a file. A relative path resolves inside the lua folder. PNG, JPG, BMP, GIF and WebP (when the codec is installed)

int|nil, string load_from_memory(data: string)

Load a texture from raw image bytes, 1 byte to 64 MB. The string is read length-aware, so binary data with NULs is fine

int|nil, string load_from_url(url: string)

Download an image and load it in one call - the direct way to use a web image in your GUI. This helper is synchronous, so it blocks the calling script's thread until the download finishes or http's timeouts fire: load during startup or from a script.run_in_callback loop, never from a render callback. For non-blocking downloads use http.get_async and then texture.load_from_memory in its callback. Obeys the user's Network capability and reports HTTP status and empty/oversized bodies as errors

int|nil, string load_gif(file: string)

Load an animated GIF. Drive it with update_animation and set_frame

void unload(id: int)

Unload texture by ID

void unload_all()

Unload all textures

w: int, h: int get_size(id: int)

Get texture dimensions

bool is_valid(id: int)

Check if texture ID is valid

bool is_gif(id: int)

Check if texture is a GIF

int get_frame_count(id: int)

Get GIF frame count

table get_all_loaded()

Get all loaded texture IDs

void set_frame(id: int, frame: int)

Set GIF frame

void update_animation(id: int)

Update GIF animation

void draw(id: int, x, y, w, h)

Draw texture

void draw_uv(id, x, y, w, h, u0, v0, u1, v1)

Draw texture with UV coords

void draw_tinted(id, x, y, w, h, r, g, b, a)

Draw texture with tint color

bool draw_button(id, x, y, w, h)

Draw texture as button

bool draw_at_pos(id, x, y, w, h)

Draw a texture at a screen position on the FOREGROUND draw list - on top of everything, ignoring window clipping and scrolling. For an image inside your own window use draw_to_window instead

bool draw_to_window(id, x1, y1, x2, y2, tint_u32 = white, rounding = 0, u1 = 0, v1 = 0, u2 = 1, v2 = 1)

Draw a texture on the current window's draw list, so it is clipped and scrolled with the window. This is the one to build custom GUI elements with (icon rails, panel art, rounded avatars). Coordinates are absolute screen pixels: imgui.get_window_pos() plus imgui.get_cursor_pos() minus the scroll gives the current spot. A non-zero rounding uses the whole texture and ignores the UVs

bool draw_rotated(id, x, y, w, h, angle)

Draw texture rotated (foreground draw list)

utils

General utility functions

int joaat(str: string)

Hash string using joaat

int get_model_hash(name: string)

Get model hash from name

bool is_control_pressed(group: int, control: int)

Check if control is pressed

bool is_control_just_pressed(group: int, control: int)

Check if control was just pressed

bool is_control_just_released(group: int, control: int)

Check if control was just released

void disable_control(group: int, control: int)

Disable a control input

float distance(x1, y1, z1, x2, y2, z2)

Get 3D distance between two points

float distance_2d(x1, y1, x2, y2)

Get 2D distance between two points

float clamp(value, min, max)

Clamp value between min and max

float lerp(a, b, t)

Linear interpolation

float deg_to_rad(degrees: float)

Convert degrees to radians

float rad_to_deg(radians: float)

Convert radians to degrees

int random_int(min: int, max: int)

Get random integer in range

float random_float(min: float, max: float)

Get random float in range

bool random_chance(percent: float)

Random chance (0-100)

x, y, z get_offset_coords(entity, offsetX, offsetY, offsetZ)

Get offset coordinates from entity

float heading_from_to(x1, y1, z1, x2, y2, z2)

Get heading from one position to another

bool, x, y world_to_screen(worldX, worldY, worldZ)

Convert world coords to screen coords

w: int, h: int get_screen_resolution()

Get screen resolution

float get_aspect_ratio()

Get screen aspect ratio

string format_money(amount: int)

Format number as money string

string format_distance(distance: float)

Format distance value

SetShouldUnload

Mark script for unload (global func)

void ()

Call to mark script done

Description()

Member available through Scooby's native Lua API.

Example()

Member available through Scooby's native Lua API.

ShouldUnload

Check if script should unload (global func)

bool ()

Returns true if script should exit

Description()

Member available through Scooby's native Lua API.

Example()

Member available through Scooby's native Lua API.

Tunables

Game tunables

int get_int(hash: int)

Get tunable as integer

float get_float(hash: int)

Get tunable as float

bool get_bool(hash: int)

Get tunable as boolean

void set_int(hash: int, value: int)

Set tunable as integer

void set_float(hash: int, value: float)

Set tunable as float

void set_bool(hash: int, value: bool)

Set tunable as boolean

Transactions

Transaction handling

void create(hash: int)

Create transaction

void add_item(item: int, amount: int)

Add item to transaction

bool send()

Send transaction

Network

Network utilities

bool is_session_started()

Check if in session

int get_session_type()

Get session type

CNetGamePlayer get_player_by_name(name: string)

Get player by name

CNetGamePlayer get_host()

Get session host

CNetGamePlayer get_script_host()

Get script host

Events

Event handling

void register(event: string, callback: function)

Register event handler

void unregister(event: string)

Unregister event handler

draw

Drawing library for rendering shapes, text, and graphics on screen

void line(x1: float, y1: float, x2: float, y2: float, color: int, thickness: float = 1.0)

Draw a line between two points

void rect(x: float, y: float, w: float, h: float, color: int, thickness: float = 1.0)

Draw a rectangle outline

void rect_filled(x: float, y: float, w: float, h: float, color: int)

Draw a filled rectangle

void circle(x: float, y: float, radius: float, color: int, segments: int = 32, thickness: float = 1.0)

Draw a circle outline

void circle_filled(x: float, y: float, radius: float, color: int, segments: int = 32)

Draw a filled circle

void text(x: float, y: float, text: string, color: int, size: float = 14.0)

Draw text at position

void triangle(x1: float, y1: float, x2: float, y2: float, x3: float, y3: float, color: int, thickness: float = 1.0)

Draw a triangle outline

void triangle_filled(x1: float, y1: float, x2: float, y2: float, x3: float, y3: float, color: int)

Draw a filled triangle

void quad(x1: float, y1: float, x2: float, y2: float, x3: float, y3: float, x4: float, y4: float, color: int, thickness: float = 1.0)

Draw a quad outline

void quad_filled(x1: float, y1: float, x2: float, y2: float, x3: float, y3: float, x4: float, y4: float, color: int)

Draw a filled quad

w: int, h: int get_screen_size()

Get screen dimensions

w: float, h: float get_text_size(text: string, size: float = 14.0)

Calculate text dimensions

x: float, y: float, visible: bool world_to_screen(worldX: float, worldY: float, worldZ: float)

Convert 3D world position to screen coords

void clear()

Clear all pending draw commands

drawing

In-game NATIVE UI drawing — rendered by the game's own HUD/graphics natives (GRAPHICS::DRAW_RECT/DRAW_SPRITE, HUD text), so it looks like part of GTA's real HUD. Coordinates are NORMALISED 0.0-1.0 (0,0 = top-left, 1,1 = bottom-right), NOT pixels. Call these EVERY FRAME from a script.run_in_callback loop (with script.yield(0)), NOT from imgui/register_render — native draws only last one game frame.

void rect(x, y, width, height, r=255, g=255, b=255, a=255)

Draw a filled rectangle (native GRAPHICS::DRAW_RECT). x,y is the CENTRE of the rect; w,h are its full size, all 0.0-1.0.

Usage example
-- A real in-game native HUD panel, drawn by GTA itself.
-- Toggle with F6. Everything below is native (not an imgui overlay).
local ui = { open = true, running = true }

script.run_in_callback(function()
    while ui.running do
        if input.is_key_pressed(input.keys.F6) then ui.open = not ui.open end
        if ui.open then
            -- panel background (x,y = CENTRE, 0-1 normalised)
            drawing.rect(0.15, 0.30, 0.20, 0.28, 0, 0, 0, 180)
            -- accent header bar
            drawing.rect(0.15, 0.18, 0.20, 0.04, 30, 150, 220, 230)
            -- native title text (left-aligned, x,y = top-left)
            drawing.text("SCOOBY NATIVE UI", 0.06, 0.165, 0.40, 255, 255, 255, 255, 4)
            -- live native stat rows
            drawing.text("Health: " .. player.get_health(), 0.06, 0.22, 0.34, 200, 235, 200, 255, 0)
            drawing.text("Armour: " .. player.get_armour(), 0.06, 0.26, 0.34, 200, 220, 235, 255, 0)
            drawing.text("[F6] hide", 0.06, 0.40, 0.30, 150, 150, 150, 255, 0)
        end
        script.yield(0)
    end
end)

script.on_unload(function() ui.running = false end)
void sprite(texture_dict: string, texture_name: string, x, y, width, height, heading=0, r=255, g=255, b=255, a=255)

Draw a streamed texture (native GRAPHICS::DRAW_SPRITE). Auto-requests the texture dict. x,y = centre. Draws nothing on the first frame(s) while the dict streams in.

bool sprite_ready(texture_dict: string, texture_name: string, x, y, width, height, heading=0, r=255, g=255, b=255, a=255)

Like sprite, but requests the dict if not resident and returns true only if it actually drew this frame — use to preload/poll instead of drawing nothing.

width: int, height: int | nil get_texture_resolution(texture_dict: string, texture_name: string)

Native pixel dimensions of a texture in a streamed dict (GET_TEXTURE_RESOLUTION). Requests the dict if needed; returns nil until it's resident. Use for aspect-correct sizing.

void text(text: string, x, y, scale=0.5, r=255, g=255, b=255, a=255, font=0)

Draw native game text. x,y = top-left, 0-1 normalised. font: 0=Chalet, 1=Sign, 2=Cursive, 4=Condensed, 7=Pricedown.

void text_centered(text: string, x, y, scale=0.5, r=255, g=255, b=255, a=255)

Draw native text centred horizontally on x.

void text_3d(text: string, worldX, worldY, worldZ, scale=0.5, r=255, g=255, b=255, a=255)

Draw native text at a 3D world position (billboards toward the camera).

float get_text_width(text: string, scale=0.5, font=0)

Measure native text width in normalised 0-1 units.

void marker(type: int, x, y, z, r=255, g=0, b=0, a=255, scale=1.0)

Draw a 3D world marker (native GRAPHICS::DRAW_MARKER).

void line(x1, y1, z1, x2, y2, z2, r=255, g=255, b=255, a=255)

Draw a 3D world-space line (native GRAPHICS::DRAW_LINE).

void box(x, y, z, width, height, depth, r=255, g=255, b=255, a=255)

Draw a 3D world-space box.

void sphere(x, y, z, radius, r=255, g=255, b=255, a=255)

Draw a 3D world-space sphere.

bool request_texture_dict(dict: string)

Stream a texture dictionary for use with drawing.sprite; returns true once it's loaded (poll across frames: repeat until drawing.request_texture_dict(d)).

bool has_texture_dict_loaded(dict: string)

Check whether a streamed texture dict is ready.

void release_texture_dict(dict: string)

Release a streamed texture dict.

http

HTTP request library for web communication

body: string, status: int, error: string|nil get(url: string)

Send an HTTP GET. URL queries are preserved and the body is returned length-aware, so binary responses (images, archives) survive intact. Responses are capped at 64 MB to keep a bad endpoint from exhausting the host

data: string, length: int, status: int, error: string|nil get_bytes(url: string)

Same request as get, with the byte count returned explicitly. Hand the body straight to texture.load_from_memory or buffer.from_string

table|nil, status: int, error: string|nil get_json(url: string)

GET and decode the response as JSON. Invalid JSON comes back as nil plus a parse error instead of throwing, so a flaky endpoint cannot kill the script

int|nil, string get_async(url: string, callback: function)

Start a non-blocking GET and return a request ID. The callback runs on the Lua/game thread as callback(body, status, error_or_nil), and is discarded safely if the script unloads. The same 64 MB response cap applies.

int|nil, string post_async(url: string, body: string, content_type: string, callback: function)

Start a non-blocking POST and return a request ID. At most 32 async requests may be outstanding globally.

int|nil, string request_async(method: string, url: string, body: string, content_type: string, callback: function)

Start a non-blocking custom request and return a request ID. Completion delivery is bounded per frame.

bool cancel_async(request_id: int)

Cancel callback delivery for a request owned by this script. The underlying WinHTTP operation is allowed to finish in the background.

bool is_async_pending(request_id: int)

Check whether this script still owns a pending request ID.

int get_async_count()

Return this script's number of outstanding asynchronous requests.

resolve: int, connect: int, send: int, receive: int set_timeouts(resolve_ms: int = nil, connect_ms: int = nil, send_ms: int = nil, receive_ms: int = nil)

Per-stage timeouts in milliseconds. These bound synchronous calls and background request workers. Omitted stages keep their current value; each is clamped to 1000-120000. Raise the receive timeout before fetching something large

resolve: int, connect: int, send: int, receive: int get_timeouts()

Read the current per-stage timeouts

resolve: int, connect: int, send: int, receive: int reset_timeouts()

Restore the default timeouts (5s resolve, 8s connect, 8s send, 15s receive)

body: string, status: int, error: string|nil post(url: string, body: string = "", content_type: string = "application/json")

Send HTTP POST request

body: string, status: int, error: string|nil put(url: string, body: string = "", content_type: string = "application/json")

Send HTTP PUT request

body: string, status: int, error: string|nil delete(url: string)

Send HTTP DELETE request

body: string, status: int, error: string|nil request(method: string, url: string, body: string = "", content_type: string = "application/json")

Send custom HTTP request

string url_encode(str: string)

URL encode a string

string url_decode(str: string)

URL decode a string

success: bool, error: string|nil download(url: string, path: string)

Download file from URL to lua folder

bool open_link(url: string)

Open URL in default browser

body: string, status: int, error: string|nil request_with_headers(method: string, url: string, body: string, content_type: string, headers: table)

HTTP request with custom headers

body: string, status: int, error: string|nil get_with_bearer(url: string, token: string)

GET request with Bearer token

body: string, status: int, error: string|nil post_with_bearer(url: string, body: string, token: string, content_type: string = "application/json")

POST request with Bearer token

body: string, status: int, error: string|nil get_with_basic_auth(url: string, username: string, password: string)

GET request with Basic auth

body: string, status: int, error: string|nil post_with_basic_auth(url: string, body: string, username: string, password: string, content_type: string = "application/json")

POST request with Basic auth

input

Input handling for keyboard, mouse and gamepad. Keyboard functions (is_key_*) read raw OS key state every frame — they work for WASD and other gameplay-bound keys, unlike a plain ImGui-only check which can miss keys GTA reads via raw input.

bool is_key_pressed(key: int (input.keys.*))

Check if key was just pressed this frame

bool is_key_down(key: int (input.keys.*))

Check if key is held down

Usage example
-- Move a Lua-drawn window/actor with WASD, independent of the
-- game's own movement — call this from script.register_render.
if input.is_key_down(input.keys.W) then player_y = player_y - speed end
if input.is_key_down(input.keys.S) then player_y = player_y + speed end
if input.is_key_down(input.keys.A) then player_angle = player_angle - turn_speed end
if input.is_key_down(input.keys.D) then player_angle = player_angle + turn_speed end
bool is_key_released(key: int (input.keys.*))

Check if key was just released this frame

x: float, y: float get_mouse_pos()

Get mouse position

dx: float, dy: float get_mouse_delta()

Get mouse movement since last frame

float get_mouse_wheel()

Get vertical scroll delta this frame

bool is_mouse_clicked(button: int = 0 (0=left, 1=right, 2=middle))

Check if mouse button was just clicked

bool is_mouse_down(button: int = 0)

Check if mouse button held

bool is_mouse_released(button: int = 0)

Check if mouse button released

bool is_mouse_double_clicked(button: int = 0)

Check if mouse button was double-clicked

bool is_gamepad_connected()

Check if a gamepad (XInput slot 0) is connected

bool is_gamepad_button_down(button: int (input.gamepad.*))

Check if a gamepad button is held

bool is_gamepad_button_pressed(button: int (input.gamepad.*))

Check if a gamepad button was just pressed this frame

Usage example
if input.is_gamepad_connected() then
    if input.is_gamepad_button_pressed(input.gamepad.A) then
        notification.info("A pressed", 1000)
    end
    local lx = input.get_gamepad_axis(input.gamepad_axis.LEFT_X)
    local ly = input.get_gamepad_axis(input.gamepad_axis.LEFT_Y)
    -- lx/ly are -1..1; deadzone before using them for movement
    if math.abs(lx) > 0.2 or math.abs(ly) > 0.2 then
        move(lx, ly)
    end
end
float get_gamepad_axis(axis: int (input.gamepad_axis.*) -- sticks: -1..1, triggers: 0..1)

Read a gamepad analog axis

bool is_control_pressed(control: int (input.controls.*), input_group: int = 0)

Check if a GTA control was just pressed

bool is_control_down(control: int, input_group: int = 0)

Check if a GTA control is held

bool is_control_released(control: int, input_group: int = 0)

Check if a GTA control was just released

void disable_control(control: int, input_group: int = 0)

Disable a single GTA control this frame (must be called every frame to stay disabled)

void enable_control(control: int, input_group: int = 0)

Re-enable a previously disabled GTA control

void disable_all_controls(input_group: int = 0)

Disable every GTA control in an input group this frame

void block_game_input(enabled: bool)

Convenience: disable ALL foot + vehicle controls this frame. Call every frame (e.g. from script.register_render) while your UI should have exclusive input.

Usage example
script.register_render(function()
    if my_window_open then
        input.block_game_input(true)
        -- ... draw your imgui window ...
    end
end)
void set_control_value(control: int, value: float, input_group: int = 0)

Override an analog control's value for the next frame

float get_control_value(control: int, input_group: int = 0)

Read an analog control's normalized value

bool is_disabled_control_pressed(control: int, input_group: int = 0)

Check a just-pressed control even while disabled

bool is_disabled_control_down(control: int, input_group: int = 0)

Check a held control even while disabled

memory

Direct memory access for advanced modding

int|nil read_byte(address: int)

Read byte from address

int|nil read_short(address: int)

Read short from address

int|nil read_int(address: int)

Read int from address

int|nil read_long(address: int)

Read long from address

float|nil read_float(address: int)

Read float from address

float|nil read_double(address: int)

Read double from address

string|nil read_string(address: int, max_length: int = 256)

Read string from address

int read_pointer(address: int)

Read pointer from address

void write_byte(address: int, value: int)

Write byte to address

void write_short(address: int, value: int)

Write short to address

void write_int(address: int, value: int)

Write int to address

void write_long(address: int, value: int)

Write long to address

void write_float(address: int, value: float)

Write float to address

void write_double(address: int, value: float)

Write double to address

int add(address: int, offset: int)

Add offset to address

int rip(address: int)

Resolve RIP-relative address

bool is_valid(address: int)

Check if address is valid

int get_module_base(module_name: string|nil)

Get module base address

int scan_pattern(pattern: string, module_name: string = nil)

Scan a module or explicit address range for the first IDA-style signature match.

table<int> scan_all(pattern: string, module_name: string = nil)

Return up to 4096 matches for an IDA-style signature.

int scan_cooperative(pattern: string, module_name: string = nil)

Cherax-compatible scan that checkpoints near the watchdog limit inside a queued callback.

table<int> scan_batch(patterns: table, module_name: string = nil, per_frame: int = 4)

Scan an ordered array of patterns and yield between bounded batches inside a queued callback.

timer

Timing utilities and scheduling

int now()

Get current time in milliseconds

float now_seconds()

Get current time in seconds (float)

int elapsed(start_time: int)

Get elapsed time since start

int get_game_time()

Get game tick count

float get_frame_time()

Get delta time since last frame

float get_frame_rate()

Get current FPS

table get_system_time()

Get system time as table

string format_time(format: string = "%Y-%m-%d %H:%M:%S")

Format current time

int unix_time()

Get unix timestamp

TimerObject create(interval_ms: int)

Create reusable timer object

TimerObject

Reusable timer for interval-based operations

int elapsed()

Get elapsed time since start/reset

void reset()

Reset timer to current time

bool ready()

Check if interval has passed

bool check_and_reset()

Check if ready and auto-reset if true

void set_interval(ms: int)

Set new interval

int get_interval()

Get current interval

file

File operations within lua folder

content: string|nil, error: string|nil read(path: string)

Read file contents

success: bool, error: string|nil write(path: string, content: string)

Write content to file

success: bool, error: string|nil append(path: string, content: string)

Append content to file

bool exists(path: string)

Check if file/folder exists

bool delete(path: string)

Delete file or folder

bool mkdir(path: string)

Create directory

table list(path: string = "")

List directory contents

bool is_directory(path: string)

Check if path is directory

int get_size(path: string)

Get file size in bytes

bool copy(src: string, dst: string)

Copy file to destination

bool move(src: string, dst: string)

Move/rename file

string get_lua_path()

Get absolute path to lua folder

bool open_folder(path: string = "")

Open folder in Windows Explorer

success: bool, error: string|nil extract_zip(zip_path: string, dest_path: string)

Extract ZIP archive to destination

json

JSON parsing and encoding library

table|nil, error: string|nil decode(json_string: string)

Parse JSON string to table

string|nil, error: string|nil encode(table: any, pretty: bool = false)

Convert table to JSON string

bool is_valid(json_string: string)

Check if string is valid JSON

any get(table: table, path: string)

Get value at path (dot notation)

table set(table: table, path: string, value: any)

Set value at path (dot notation)

table merge(table1: table, table2: table)

Merge two tables

table keys(table: table)

Get array of keys

table values(table: table)

Get array of values

int length(table: table)

Get number of elements

crypto

Hashing and encoding utilities

string md5(data: string)

Compute MD5 hash

string sha1(data: string)

Compute SHA1 hash

string sha256(data: string)

Compute SHA256 hash

string sha512(data: string)

Compute SHA512 hash

string base64_encode(data: string)

Encode to Base64

string|nil base64_decode(base64: string)

Decode from Base64

string hex_encode(data: string)

Encode to hex string

string|nil hex_decode(hex: string)

Decode from hex string

int crc32(data: string)

Compute CRC32 checksum

int joaat(data: string)

Compute JOAAT hash (GTA hash)

string|nil random_bytes(count: int)

Generate random bytes

string|nil random_hex(byte_count: int)

Generate random hex string

string uuid()

Generate UUID string

world

World, weather, and time manipulation

hour: int, minute: int, second: int get_time()

Get current game time

void set_time(hour: int, minute: int = 0, second: int = 0)

Set game time

day: int, month: int, year: int get_date()

Get game date

void set_date(day: int, month: int, year: int)

Set game date

void pause_clock(paused: bool)

Pause/unpause game clock

void set_weather(weather_name: string)

Set weather type

void set_rain(level: float)

Set rain level (0-1)

float get_rain()

Get rain level

void set_wind(speed: float)

Set wind speed

float get_wind_speed()

Get wind speed

void set_blackout(enabled: bool)

Toggle city blackout

void create_explosion(x, y, z, type, damage, audible, invisible, shake)

Create explosion

fire_id: int create_fire(x, y, z, max_children, gas_fire)

Start a fire

void remove_fire(fire_id: int)

Remove fire by ID

void stop_all_fires()

Extinguish all fires

float|nil get_ground_z(x, y, z)

Get ground height at coords

hit, x, y, z, entity raycast(x1, y1, z1, x2, y2, z2, flags)

Cast ray between points

street, crossing get_street_name(x, y, z)

Get street name at coords

void clear_area(x, y, z, radius, peds, vehicles, objects)

Clear peds/vehicles/objects

imgui

Complete ImGui bindings for creating custom menus and windows

visible: bool, open: bool begin(name: string, flags: int = 0)

Begin a window. Always call end_() once, even when visible is false.

visible: bool, open: bool begin_closable(name: string, id: string, flags: int = 0)

Begin a persistent closable window. Always call end_() once; use visible only to skip contents.

void end_()

End the Lua-owned window. Extra calls are rejected before touching host UI state.

visible: bool begin_child(name: string, w: float = 0, h: float = 0, border: bool = false)

Begin child region

void end_child()

End child region

void text(text: string)

Display text

void text_colored(r, g, b, a, text: string)

Display colored text

void text_wrapped(text: string)

Display wrapped text

clicked: bool button(label: string, w: float = 0, h: float = 0)

Create button

changed: bool, value: bool checkbox(label: string, id: string)

Create checkbox with storage

changed: bool, new_value: bool checkbox_value(label: string, value: bool)

Create checkbox with value

changed: bool, value: int slider_int(label, id, min, max, format)

Integer slider whose value lives in imgui's own id-keyed storage. Prefer slider_int_value when your script already owns the number

changed: bool, value: float slider_float(label, id, min, max, format)

Float slider whose value lives in imgui's own id-keyed storage. Prefer slider_float_value when your script already owns the number

changed: bool, r: float, g: float, b: float, a: float color_edit(label: string, r: float, g: float, b: float, a: float = 1.0, flags: int = 0)

A colour swatch that opens a picker when clicked. Components are 0-1. Value in, value out - color_button only DISPLAYS a colour, this is the one that changes it, which any ESP/chams/theme section needs

changed: bool, r: float, g: float, b: float, a: float color_picker(label: string, r: float, g: float, b: float, a: float = 1.0, flags: int = 0)

The full inline picker (wheel or square plus sliders) rather than a popup swatch. Same value-in/value-out shape as color_edit

void push_clip_rect(x1: float, y1: float, x2: float, y2: float, intersect_with_current: bool = true)

Clip subsequent draw-list output to a rectangle. Needed for a scroll region you draw yourself - without it hand-drawn content spills past the panel it belongs to. Must be paired with pop_clip_rect

void pop_clip_rect()

Pop the clip rect pushed by push_clip_rect

void get_window_draw_list_add_rect_filled_multi_color(x1, y1, x2, y2, col_upper_left: int, col_upper_right: int, col_bottom_right: int, col_bottom_left: int)

Four-corner gradient fill. The only way to draw a gradient panel, slider track or colour ramp from Lua - add_rect_filled is flat only. Colours are packed ImU32 (ABGR)

void get_window_draw_list_add_triangle_filled(x1, y1, x2, y2, x3, y3, col_u32: int)

Filled triangle - chevrons, arrows and pointers without faking them out of two lines

void get_window_draw_list_add_quad_filled(x1, y1, x2, y2, x3, y3, x4, y4, col_u32: int)

Filled quad, for skewed panels and custom shapes

void get_window_draw_list_add_bezier_cubic(x1, y1, x2, y2, x3, y3, x4, y4, col_u32: int, thickness: float = 1.0, segments: int = 0)

Cubic bezier curve, for curved connectors and curve previews

bool is_mouse_dragging(button: int = 0, lock_threshold: float = -1.0)

True while a drag is in progress. For hand-built draggable things: a custom slider grab, a movable panel, a colour-wheel cursor

dx: float, dy: float get_mouse_drag_delta(button: int = 0, lock_threshold: float = -1.0)

How far the mouse has moved since the drag began

void reset_mouse_drag_delta(button: int = 0)

Zero the drag delta after consuming it, so the next frame reports movement since now rather than since the drag started

changed: bool, new_value: int slider_int_value(label: string, value: int, min: int, max: int, format: string = "%d")

Integer slider that takes the current value and hands back the new one, leaving your script the single owner of the state (same shape as checkbox_value)

changed: bool, new_value: float slider_float_value(label: string, value: float, min: float, max: float, format: string = "%.3f")

Float slider that takes the current value and hands back the new one, leaving your script the single owner of the state (same shape as checkbox_value)

changed: bool, value: string input_text(label, id, max_len, flags)

Text input with storage

changed: bool, value: int input_int(label: string, id: string)

Integer input with storage

changed: bool, value: float input_float(label, id, step, step_fast, format)

Float input with storage

changed: bool, index: int combo(label, id, items_table)

Dropdown combo with storage

changed: bool, index: int listbox(label, id, items_table, height_items)

Listbox with storage

bool begin_combo(label: string, preview: string, flags: int = 0)

Begin a combo popup

void end_combo()

End combo popup

bool selectable(label: string, selected: bool = false, flags: int = 0, width: float = 0, height: float = 0)

Create selectable item

changed, r, g, b, a color_edit4(label: string, id: string)

RGBA color picker

bool begin_tab_bar(id: string, flags: int = 0)

Begin tab bar

void end_tab_bar()

End tab bar

selected: bool begin_tab_item(label: string, flags: int = 0)

Begin tab item

void end_tab_item()

End tab item

bool begin_table(id: string, columns: int, flags: int = 0, width: float = 0, height: float = 0)

Begin a table layout

void end_table()

End table layout

void table_next_row(row_flags: int = 0, min_height: float = 0)

Advance to the next table row

bool table_next_column()

Advance to the next table column

bool table_set_column_index(column: int)

Select a table column

void table_setup_column(label: string, flags: int = 0, width: float = 0, user_id: int = 0)

Configure a table column

void table_headers_row()

Render table headers

open: bool tree_node(label: string)

Create tree node

void tree_pop()

End tree node

open: bool collapsing_header(label: string, flags: int = 0)

Create collapsing header

void same_line(offset: float = 0, spacing: float = -1)

Place next item on same line

void separator()

Draw horizontal separator

void spacing()

Add vertical spacing

void open_popup(id: string)

Open popup by ID

open: bool begin_popup(id: string)

Begin popup content

void end_popup()

End popup

bool is_item_hovered()

Check if last item hovered

bool is_item_clicked(button: int = 0)

Check if last item clicked

void push_style_color(index: int, r, g, b, a)

Push style color

void pop_style_color(count: int = 1)

Pop style color

void push_style_var(index: int, value or x, y)

Push style variable

void pop_style_var(count: int = 1)

Pop style variable

void set_next_item_width(width: float)

Set the next item width

void push_id(id: string|int)

Push an ImGui ID scope

void pop_id()

Pop an ImGui ID scope

void set_value(id: string, value: any)

Store value by ID

any get_value(id: string)

Retrieve value by ID

void progress_bar(fraction, w, h, overlay)

Display progress bar

clipboard

System clipboard operations

string|nil get()

Get clipboard text

success: bool set(text: string)

Set clipboard text

success: bool clear()

Clear clipboard

bool has_text()

Check if clipboard has text

config

Persistent config storage per script

any get(key: string, default: any = nil)

Get config value

void set(key: string, value: any)

Set config value

success: bool save()

Save config to file

success: bool load()

Load config from file

bool exists(key: string)

Check if key exists

void remove(key: string)

Remove config key

void clear()

Clear all config

table get_all()

Get all config as table

void set_all(table: table)

Set all config from table

string get_path()

Get config file path

player

Local and network player utilities

int id()

Get local player ID

int ped()

Get local player ped handle

Ped ped_entity()

Get local player as Ped object

int vehicle()

Get local player vehicle handle (0 if none)

Vehicle vehicle_entity()

Get local player vehicle as Vehicle object

bool is_in_vehicle()

Check if player is in vehicle

x: float, y: float, z: float get_position()

Get player position

void set_position(x: float, y: float, z: float)

Set player position

void teleport(x: float, y: float, z: float)

Teleport player to position

float get_heading()

Get player heading

void set_heading(heading: float)

Set player heading

int get_health()

Get player health

void set_health(health: int)

Set player health

int get_max_health()

Get player max health

int get_armour()

Get player armour

void set_armour(armour: int)

Set player armour

bool is_dead()

Check if player is dead

void set_invincible(enabled: bool)

Set player invincibility

bool is_invincible()

Check if player is invincible

int get_wanted_level()

Get wanted level (0-5)

void set_wanted_level(level: int)

Set wanted level (0-5)

void clear_wanted_level()

Clear wanted level

string name()

Get local player name

int money()

Get player money (wallet)

void give_weapon(hash: int/string, ammo: int = 9999, equip: bool = true)

Give weapon to player

void remove_weapon(hash: int/string)

Remove weapon from player

void remove_all_weapons()

Remove all weapons

int get_current_weapon()

Get current weapon hash

void set_current_weapon(hash: int/string)

Set current weapon

bool has_weapon(hash: int/string)

Check if player has weapon

void set_infinite_ammo(enabled: bool)

Enable infinite ammo

void set_infinite_clip(enabled: bool)

Enable infinite clip

void give_all_weapons()

Give all weapons to player

void refill_ammo()

Refill current weapon ammo

int count()

Get number of players in session

table get_all()

Get table of all player IDs

string|nil get_name(player_id: int)

Get player name by ID

int get_ped_of(player_id: int)

Get ped handle of player by ID

x: float, y: float, z: float | nil get_position_of(player_id: int)

Get position of player by ID

bool is_host()

Check if local player is host

bool is_session_started()

Check if session is started

spawn

Spawn vehicles, peds, and objects

handle: int vehicle(model: int/string, x: float, y: float, z: float, heading: float = 0, networked: bool = true)

Spawn vehicle at position

handle: int vehicle_for_player(model: int/string, forward: float = 5, networked: bool = true)

Spawn vehicle in front of player

handle: int vehicle_and_enter(model: int/string, networked: bool = true)

Spawn vehicle and enter it

handle: int ped(model: int/string, x: float, y: float, z: float, heading: float = 0, ped_type: int = 26, networked: bool = true)

Spawn ped at position

handle: int ped_near_player(model: int/string, distance: float = 3, ped_type: int = 26, networked: bool = true)

Spawn ped near player

handle: int bodyguard(model: int/string, distance: float = 3)

Spawn bodyguard with weapon

handle: int clone_ped(ped_handle: int, networked: bool = true)

Clone existing ped

handle: int object(model: int/string, x: float, y: float, z: float, dynamic: bool = true, networked: bool = true)

Spawn object at position

handle: int object_at_player(model: int/string, forward: float = 2, dynamic: bool = true, networked: bool = true)

Spawn object in front of player

handle: int attached_object(model: int/string, entity: int, bone: int = 0, offX: float = 0, offY: float = 0, offZ: float = 0)

Spawn object attached to entity

bool is_model_valid(model: int/string)

Check if model hash is valid

bool is_model_vehicle(model: int/string)

Check if model is a vehicle

bool is_model_ped(model: int/string)

Check if model is a ped

success: bool request_model(model: int/string, timeout_ms: int = 5000)

Request and load model

void delete_entity(handle: int)

Delete spawned entity

count: int delete_vehicles_nearby(radius: float = 50)

Delete all vehicles nearby

count: int delete_peds_nearby(radius: float = 50)

Delete all peds nearby

blip

Map blips and markers on the world map

handle: int create_at_coord(x: float, y: float, z: float)

Create blip at coordinates

handle: int create_for_entity(entity: int)

Create blip for entity

handle: int create_for_radius(x: float, y: float, z: float, radius: float)

Create radius blip

handle: int create_for_area(x: float, y: float, z: float, width: float, height: float)

Create area blip

void remove(handle: int)

Remove blip

void set_sprite(handle: int, sprite: int)

Set blip sprite/icon

int get_sprite(handle: int)

Get blip sprite

void set_color(handle: int, color: int)

Set blip color

int get_color(handle: int)

Get blip color

void set_alpha(handle: int, alpha: int)

Set blip transparency

int get_alpha(handle: int)

Get blip transparency

void set_scale(handle: int, scale: float)

Set blip scale

void set_name(handle: int, name: string)

Set blip name

void set_route(handle: int, show: bool)

Show route to blip

void set_route_color(handle: int, color: int)

Set route line color

void set_flashing(handle: int, flashing: bool)

Set blip flashing

void set_short_range(handle: int, short_range: bool)

Set short range display

void set_friendly(handle: int, friendly: bool)

Set blip as friendly

x: float, y: float, z: float | nil get_waypoint_coord()

Get waypoint coordinates

bool is_waypoint_active()

Check if waypoint is set

void set_waypoint(x: float, y: float)

Set waypoint on map

void clear_waypoint()

Clear waypoint

camera

Camera creation and manipulation

handle: int create(name: string = "DEFAULT_SCRIPTED_CAMERA")

Create scripted camera

handle: int create_at_coord(x: float, y: float, z: float, rotX: float = 0, rotY: float = 0, rotZ: float = 0, fov: float = 50)

Create camera at position

void destroy(handle: int)

Destroy camera

void destroy_all(restore_gameplay: bool = true)

Destroy all scripted cameras

void set_position(handle: int, x: float, y: float, z: float)

Set camera position

x: float, y: float, z: float get_position(handle: int)

Get camera position

void set_rotation(handle: int, pitch: float, roll: float, yaw: float)

Set camera rotation

pitch: float, roll: float, yaw: float get_rotation(handle: int)

Get camera rotation

void set_fov(handle: int, fov: float)

Set field of view

void point_at_coord(handle: int, x: float, y: float, z: float)

Point camera at coordinates

void point_at_entity(handle: int, entity: int, offX: float = 0, offY: float = 0, offZ: float = 0)

Point camera at entity

void attach_to_entity(handle: int, entity: int, offX: float = 0, offY: float = 0, offZ: float = 0, relative: bool = true)

Attach camera to entity

void attach_to_ped_bone(handle: int, ped: int, bone: int, offX: float = 0, offY: float = 0, offZ: float = 0)

Attach camera to ped bone

void set_active(handle: int, active: bool)

Set camera as active

bool is_active(handle: int)

Check if camera is active

void render_scripted_cams(render: bool)

Enable scripted camera rendering

void shake(handle: int, type: string = "HAND_SHAKE", amplitude: float = 1.0)

Shake camera

void stop_shake(handle: int)

Stop camera shake

void set_motion_blur(handle: int, strength: float)

Set motion blur strength

void set_dof(handle: int, near_dof: float, near_focus: float, far_focus: float, far_dof: float)

Set depth of field

x: float, y: float, z: float get_gameplay_position()

Get gameplay camera position

pitch: float, roll: float, yaw: float get_gameplay_rotation()

Get gameplay camera rotation

float get_gameplay_fov()

Get gameplay camera FOV

void shake_gameplay(type: string = "HAND_SHAKE", amplitude: float = 1.0)

Shake gameplay camera

void stop_gameplay_shake()

Stop gameplay camera shake

void fade_in(duration_ms: int)

Fade screen in

void fade_out(duration_ms: int)

Fade screen out

bool is_fading_in()

Check if screen fading in

bool is_fading_out()

Check if screen fading out

bool is_faded_in()

Check if screen fully visible

bool is_faded_out()

Check if screen fully black

void interpolate(from: int, to: int, duration_ms: int, ease_in: int = 0, ease_out: int = 1)

Smoothly transition between cameras

bool is_interpolating(handle: int)

Check if camera is interpolating

menu

Add custom features to the main menu GUI

Tab add_tab(name: string, icon: string = "")

Add new tab to menu

Usage example
-- Native UI template — every widget below appears in the real
-- Scooby menu (ClickUI Lua Content + List UI). No imgui.* needed.
local tab = menu.add_tab("My Script")
local subtab = menu.add_subtab(tab, "Main")
local category = menu.add_category(subtab, "Features")

menu.add_toggle(category, "Example Toggle", function(value)
    notification.info("Toggle: " .. tostring(value), 2000)
end, false)

menu.add_slider_int(category, "Example Slider", 0, 100, function(value)
    notification.info("Slider: " .. value, 2000)
end, 50)

menu.add_button(category, "Example Button", function()
    notification.success("Button pressed!", 2000)
end)

script.on_unload(function()
    -- cleanup here
end)
Subtab add_subtab(tab: Tab, name: string)

Add subtab to a tab

Category add_category(parent: Tab/Subtab, name: string)

Add category/group header

Subtab attach(path: string, name: string = <script name>)

Mount a script sub-tab INSIDE an existing native tab, e.g. menu.attach("Self > Main", "My Script"). The returned id is a normal parent, so every add_* function works underneath it, and both ClickUI and List UI render it. A submenu-only path such as "Self" lands on that submenu's first category

Usage example
-- Put your features inside a tab the menu already has, instead of
-- a separate Lua Content tab.
local mine = menu.attach("Self > Main", "My Script")

menu.add_toggle(mine, "Example Toggle", function(value)
    notification.info("Toggle: " .. tostring(value), 2000)
end, false)

-- Grid of buttons instead of one long column
local grid = menu.add_group(mine, "Quick Actions", 3)
menu.add_button(grid, "Heal", function() end)
menu.add_button(grid, "Armour", function() end)

-- Discover the paths THIS build actually has
for _, target in ipairs(menu.mount_targets()) do
    log.info(target.path .. "  =  " .. target.label)
end
table mount_targets()

List every native path menu.attach accepts in this build, as { path = "self>main", label = "Self > Main" }

table get_mounts()

List this session's active mounts as { path = ..., id = ..., name = ... }

Group add_group(parent: Tab/Subtab/Category, name: string, items_per_row: int = 7)

Add a button grid. Button/hyperlink children flow into items_per_row columns in ClickUI; List UI gives the group its own page

Toggle add_toggle(parent: Tab/Subtab/Category, name: string, callback: function, default: bool = false)

Add toggle feature

Button add_button(parent: Tab/Subtab/Category, name: string, callback: function)

Add button feature

Slider add_slider_int(parent: Tab/Subtab/Category, name: string, min: int, max: int, callback: function, default: int = min)

Add integer slider

Slider add_slider_float(parent: Tab/Subtab/Category, name: string, min: float, max: float, callback: function, default: float = min, precision: int = 2)

Add float slider

Slider add_click_slider(parent: Tab/Subtab/Category, name: string, min: int, max: int, callback: function, default: int = min, step: int = 1)

Add an integer slider whose callback fires only when the value is CONFIRMED, not on every step. Use it for anything expensive (spawning, stat writes) that must not run once per step while scrolling

Input add_input_text(parent: Tab/Subtab/Category, name: string, callback: function, default: string = "")

Add text input

Input add_input_int(parent: Tab/Subtab/Category, name: string, callback: function, default: int = 0)

Add integer input

Input add_input_float(parent: Tab/Subtab/Category, name: string, callback: function, default: float = 0)

Add float input

Combo add_combo(parent: Tab/Subtab/Category, name: string, options: table, callback: function, default: int = 1)

Add dropdown/combo box. Holds a selection; the callback receives the 1-based index

ListAction add_list_action(parent: Tab/Subtab/Category, name: string, options: table, callback: function)

Add a menu of one-shot actions. Holds NO selection: picking an option calls callback(value, name). options is an array of strings, or of { value, name } / { value = , name = } tables

Color add_color(parent: Tab/Subtab/Category, name: string, callback: function, default_r: int = 255, default_g: int = 255, default_b: int = 255, default_a: int = 255)

Add color picker

void add_separator(parent: Tab/Subtab/Category)

Add horizontal separator

void add_text(parent: Tab/Subtab/Category, text: string)

Add info text/label

Readonly add_readonly(parent: Tab/Subtab/Category, name: string, value: string = "")

Add a row with the name on the left and a script-owned value on the right. Drive it with menu.set_value from a script.run_in_callback loop for live stats

Hyperlink add_hyperlink(parent: Tab/Subtab/Category, name: string, url: string, description: string = "")

Add a row that opens a URL in the default browser

void set_description(feature: any, desc: string)

Set feature description

void set_visible(feature: any, visible: bool)

Set feature visibility

bool get_visible(feature: any)

Read a feature's visibility

void set_name(feature: any, name: string)

Rename a Lua-created tab, subtab, category or widget at runtime

string|nil get_name(feature: any)

Read the current name of a Lua-created menu element

void set_icon(feature: any, icon: string)

Set the icon glyph shown before an element's name. Works on any element, not just main tabs

string|nil get_icon(feature: any)

Read an element's icon glyph

string set_style(feature: any, style: string)

Pick the widget presentation instead of following the menu theme. Toggles: "switch", "checkbox", "box", "radio", "text", "button_toggle". Sliders: "bar", "modern", "drag", "input", "stepper". Combos: "dropdown", "stepper", "radio", "buttons". Buttons: "plain", "accent", "danger", "link". "auto" restores the theme default. A name that does not apply to the element's kind is ignored, so one style is safe to set across a mixed group. List UI honours the toggle looks and draws "stepper"/"input"/"drag" as value-only rows

string|nil get_style(feature: any)

Read a feature's style name ("auto" when it follows the theme)

table get_styles()

Every accepted menu.set_style name

void set_accent(feature: any, r: number = nil, g: number = nil, b: number = nil, a: number = 255)

Recolour the active part of a widget - a toggle's on state, a slider's fill, a button's body. Components above 1 are read as 0-255, otherwise as 0-1. Call with no colour to restore the theme accent

void set_text_color(feature: any, r: number = nil, g: number = nil, b: number = nil, a: number = 255)

Recolour a feature's label. Same colour conventions as set_accent; no colour restores the theme

void set_size(feature: any, width: number, height: number = 0)

Width (and optional height) in unscaled pixels for a widget's interactive part. The frontend applies the user's UI scale, so a script never needs to know it. 0 restores auto-sizing

any get_value(feature: Toggle/Slider/Input/Combo/Color/Readonly)

Get current feature value

void set_value(feature: any, value: any)

Set feature value. On a Readonly this sets the right-hand text; on a Text element it sets the label

void set_range(feature: any, min: number, max: number)

Retune a slider or numeric input's min/max at runtime. The current value is clamped into the new range

number, number get_range(feature: any)

Read a slider or numeric input's bounds

void set_step(feature: any, step: number)

How far one left/right press moves the value. Applies to sliders and numeric inputs in both UIs

number|nil get_step(feature: any)

Read a feature's step size

void set_fast_step(feature: any, step: number)

Coarse increment for numeric inputs (ImGui's ctrl-click / held +- step)

void set_precision(feature: any, digits: int)

Decimal places shown on a float widget (0-9)

void set_format(feature: any, format: string)

printf format for the value shown next to a numeric widget, e.g. "%d%%" or "%.1f m/s". Pass "" to restore the default

string|nil get_format(feature: any)

Read a feature's display format

void add_value_replacement(feature: any, value: int, text: string)

Show a word INSTEAD of one specific numeric value, e.g. 0 -> "Off". Re-adding the same value replaces its text

void clear_value_replacements(feature: any)

Remove every value replacement from a feature

void set_options(feature: any, options: table)

Replace a combo or list_action's options at runtime. Same table shapes as add_list_action; a stale combo selection is clamped

table get_options(feature: any)

Read a combo or list_action's option names

void set_disabled(feature: any, disabled: bool, reason: string = "")

Grey a feature out without hiding it. The reason shows as its tooltip/description

bool is_disabled(feature: any)

Check whether a feature is greyed out

void set_confirm(feature: Button, message: string)

Make a button ask for confirmation before firing. Pass "" to clear it

void set_rainbow(feature: Color, enabled: bool = true)

Cycle a colour picker's hue every frame. The change callback does NOT fire while cycling — read the live colour with menu.get_value instead

string|nil get_type(feature: any)

Element type as a string: tab, subtab, category, group, toggle, button, slider_int, slider_float, click_slider, input_text, input_int, input_float, combo, list_action, color, separator, text, readonly, hyperlink

int|nil get_parent(feature: any)

Parent element id, or nil for root tabs and mounts

bool set_parent(feature: any, parent: any)

Move an element and its whole subtree under a different parent. Refuses to create a cycle

table get_tabs()

Ids of every root tab this session created

table get_children(parent: any)

Child element ids of a container, in creation order

bool trigger(feature: any)

Fire an element's callback from script, as if it had been clicked

void remove(feature: any)

Remove feature from menu

void clear(feature: any)

Remove every child of a container, keeping the container itself so ids handed out earlier stay valid

void set_default(feature: any, value: any)

Overwrite the value menu.reset restores. Every add_* already records its starting value as the default, so this is only needed to change it

bool reset(feature: any)

Restore a feature to its default and fire its callback

bool set_saveable(feature: any, enabled: bool = true, key: string = <derived>)

Persist a widget's value to lua/configs/<script>.menu.json. Turning it ON immediately restores any stored value AND fires the callback, so the script's own state matches the widget with no extra wiring. Omit the key to derive one from the widget's path

Usage example
-- Survives a menu restart with no config plumbing of your own.
local mine = menu.attach("Self > Main", "My Script")

local godmode = menu.add_toggle(mine, "God Mode", function(on)
    player.set_invincible(on)
end, false)
menu.set_saveable(godmode)          -- restored + callback fired on load
menu.set_hotkey(godmode, input.keys.F4)

local power = menu.add_slider_int(mine, "Power", 0, 100, function(v) end, 50)
menu.set_saveable(power)
menu.set_format(power, "%d%%")     -- shows "50%"
menu.add_value_replacement(power, 0, "Off")

-- Hide an overlay while the user is in the menu
script.run_in_callback(function()
    while true do
        if not menu.is_open() then
            -- draw your overlay here
        end
        script.yield(0)
    end
end)
bool, string is_saveable(feature: any)

Whether a feature persists, and the key it uses

void save_state(feature: any = nil)

Force a write now. Omit the id to flush every saveable widget this script owns

bool set_hotkey(feature: any, key: int | table)

Bind a key (or a chord) to a feature. Accepts one input.keys value, or a table where every entry but the last must be HELD and the last must be freshly PRESSED. The binding is shown next to the feature in both UIs and fires it exactly as a click would

string, table get_hotkey(feature: any)

A feature's hotkey label ("CTRL + F5") and its virtual-key chain

void clear_hotkey(feature: any)

Remove a feature's hotkey

bool is_open()

Whether ClickUI or List UI is currently showing. Use it to hide an overlay while the user is in the menu

string get_mode()

Which UI is up: "clickui", "listui" or "closed"

bool toggle()

Open/close ClickUI, returning the new state

number, number get_position()

ClickUI window position in pixels

number, number get_size()

ClickUI window size in pixels

bool focus(feature: any)

Navigate ClickUI to where an element lives — the native tab a menu.attach mount sits in, or Settings > Lua Content for a root Lua tab

bool set_player_feature(feature: any, enabled: bool = true)

Mark a widget as acting on the selected player. Its callback then receives (value, player_id, player_name) and it greys out while nothing is selected. Pair it with menu.attach("Players > ...") to sit beside the built-in player features

Usage example
-- A player feature that lives in the real Players tab.
local mine = menu.attach("Players > Troll", "My Script")

local slap = menu.add_button(mine, "Slap Selected", function(_, id, name)
    if not id then return end
    notification.info("Slapping " .. name, 2000)
end)
menu.set_player_feature(slap)

-- React to the selection changing
local label = menu.add_readonly(mine, "Target", "none")
menu.on_player_change(function(id, name)
    menu.set_value(label, id and name or "none")
end)

-- Live value only while the row is actually on screen
local hp = menu.add_readonly(mine, "Their Health", "-")
menu.set_player_feature(hp)
menu.on_tick_in_view(hp, function()
    local id = menu.get_selected_player()
    if not id then return end
    local ped = players.get_ped(id)
    menu.set_value(hp, ped ~= 0 and tostring(Ped.new(ped):get_health()) or "-")
end)
bool is_player_feature(feature: any)

Whether a widget is flagged as acting on the selected player

int|nil, string get_selected_player()

The currently selected player id (nil when none) and its name

int on_player_change(callback: function)

Run a callback whenever the selected player changes: callback(player_id, player_name), with player_id nil when the selection was cleared. Fires once per change, not per frame. Returns a handler id for menu.remove_handler

bool on_tick_in_view(feature: any, callback: function)

Run a callback every frame the element is ACTUALLY drawn — cheaper than a script-wide polling loop for live readonly rows. Registering again replaces the previous handler

bool remove_handler(handler_or_feature: int)

Remove an on_player_change handler by its id, or an element's on_tick_in_view handler by passing the element

locale

Localisation for script text, backed by the same label store the native menu uses. The Lua menu frontends resolve every element name through it, so naming a widget after a registered key localises it for free

string register(key: string, default_text: string = key)

Register a key with its English default. Registering the same key twice is harmless — the first default wins, which lets two scripts share a key

Usage example
-- Name a widget after a key and it follows the user's language.
locale.register("MYSCRIPT_GODMODE", "God Mode")

local mine = menu.attach("Self > Main", "My Script")
menu.add_toggle(mine, "MYSCRIPT_GODMODE", function(on)
    player.set_invincible(on)
end, false)

-- Or resolve manually
notification.info(locale.get("MYSCRIPT_GODMODE"), 2000)
string get(key_or_text: string)

Resolve a key to its localised text. Unregistered input comes back unchanged, so this is safe to wrap around any string

bool set(key: string, text: string)

Override a key's text for this user, persisted with the menu's other label overrides

void clear(key: string)

Drop an override, falling back to the registered default

bool has_override(key: string)

Whether a key currently has a user override

int get_language()

Active language index (0 = English)

void set_language(index: int)

Switch language. 0 is English; other values start an async translation load that applies on a later resolve

table get_all()

Every registered label as { key, default, text, overridden }

string get_label(label_hash: int)

Get label text by hash

string get_label_by_name(label_name: string)

Get label text by name

bool does_label_exist(label_name: string)

Check if label exists

void add_label(label_name: string, text: string)

Add custom text label

void clear_labels()

Clear custom labels

int get_system_language()

Get system language ID

int get_current_language()

Get current game language

string get_language_name(language_id: int)

Get language name

ui_theme

Read and edit ClickUI, ListUI, overlays, notifications and player info at runtime

table|any|nil get(path: string = nil)

Return the complete theme table, or one value selected by a dotted path

bool apply(theme: table)

Apply a complete theme table. The clickui and listui sections are merged into native persisted theme state

bool patch(surface: clickui|listui|notifications|overlays|player_info, values: table)

Merge a partial table into one native UI surface without replacing unrelated settings

bool set(path: string, value: any)

Set one value using a dotted path such as listui.navigation.showMainTabs or notifications.notificationWidth

void reload_images()

Invalidate UI image and GIF caches after a Lua script changes assets

string image_folder(surface: string)

Return the managed image folder for listui, clickui, overlays, notifications or player_info

compat

Compatibility bridge for porting BigBase/ScoobyOPMenu/2Take1/Impulse/FiveM-style Lua scripts to Scooby

string version()

Compatibility bridge version string

table targets()

Table of script ecosystems this bridge intentionally supports

bool targets.compatibility_lua()

Lua compatibility is enabled; scripts can use the compatibility aliases for Texture, Time, Utils, Natives, Script, FeatureMgr, ClickGUI, ListGUI, EventMgr, GUI, Logger, eFeatureType, eCallbackTrigger, eLuaEvent, eGuiMode and eLogColor aliases

bool targets.compatibility_feature_properties()

Compatibility property bridge is enabled for Feature.Value, Feature.Enabled, Feature.List, Feature.Callback and related aliases

bool targets.compatibility_widget_controls()

Compatibility Tab/ListWidget builder controls are enabled for AddButton, AddToggle, AddSliderInt, AddSliderFloat, AddCombo and AddInputText

bool targets.compatibility_official_examples()

Extra compatibility example-script aliases are enabled for Utils.GetTimeEpocheMs, Logger.LogInfo, SetNoCallbackOnPress and player feature iteration

bool targets.compatibility_runtime_wrappers()

Compatibility runtime wrappers are enabled for Memory allocation helpers, Players/GTA/PoolMgr wrappers and ImGui background draw helpers

bool install_aliases()

Re-install compatibility aliases if another script overwrote them

table|nil alias(alias: string, source: string)

Create a guarded global table alias when the source table exists

any|nil, string|nil safe_call(scope: string = 'safe_call', callback: function, ...)

Run a Lua callback through pcall and route errors to the Scooby Lua log

table native / Native()

Alias of natives. Call native.load_natives() or natives.load_natives() before using GTA native namespaces

table notification / notify()

Notification table aliases for scripts that use either naming style

table fs / filesystem()

Aliases for the sandboxed file API

table FileMgr()

Alias/wrapper for file helpers, including GetMenuRootPath, DoesFileExist, ReadFileContent, WriteFileContent, DeleteFile, CreateFolder and FindFiles

void util.toast(message: string, title: string = "Lua")

Show a Scooby notification from Yim/Stand/2Take1-style scripts

void util.yield / util.wait / system.wait(ms: int = 0)

Yield inside a script callback using Scooby's scheduler

bool util.create_tick_handler(callback: function)

Run a callback every script tick from a compatibility script; stops and logs once if the callback errors

bool util.create_thread(callback: function)

Run a callback once on the script thread for FiveM/older menu ports

bool util.require_natives()

Load generated natives if they are not already loaded

int util.joaat / joaat(name: string)

Hash helper aliases for ported scripts

bool script.register_looped(callback: function)

Alias for a persistent looped callback

void Citizen.Wait / Wait(ms: int = 0)

FiveM-style wait alias backed by script.yield

bool Citizen.CreateThread / CreateThread(callback: function)

FiveM-style script-thread callback wrapper

int|bool Citizen.SetTimeout / SetTimeout(ms: int, callback: function)

Run a callback after a delay using thread.set_timeout when available

string|table json.stringify / json.parse / json.encode_pretty(valueOrText: any)

Common JSON aliases backed by Scooby json.encode/json.decode

table|bool json.load_file / json.save_file(path: string, value: table = nil, pretty: bool = false)

Convenience JSON file helpers inside the Lua sandbox

string MPX / stats.get_mp_prefix(character: int = current)

Current-character MP stat prefix helper used by SilentNight/2Take1-style recovery scripts

any Natives.InvokeVoid / InvokeInt / InvokeBool / InvokeFloat / InvokeString / InvokeV3(hash: int, ...)

Native invoker compatibility aliases; raw native hashes are resolved through Scooby's crossmap before calling _I

pointer|int Memory.AllocInt / AllocFloat / AllocBool / AllocVector3(initialValue: any = 0)

Compatibility allocation helpers backed by Scooby's memory.allocate/free/read/write APIs

table|object Players.Get / GetById / GetByIndex / GetCPed(playerId: int = nil)

Player and CPed wrapper helpers for scripts that iterate player objects instead of raw ids

any GTA.GetLocalPed / GetLocalVehicle / PointerToHandle / WorldToScreen(...)

Compatibility GTA helper wrappers for local handles, pointer-to-handle conversion and normalized world-to-screen coordinates

table PoolMgr.GetRenderedObjects / GetRenderedVehicles / GetRenderedPeds()

Best-effort pool iteration wrappers backed by Scooby entities scans

void|number ImGui.GetDisplaySize / BgAddText / BgAddLine / BgAddCircle(...)

Compatibility background draw helpers routed through Scooby draw helpers when available

bool|void ImGui.BeginTable / TableNextRow / TableSetColumnIndex(...)

Compatibility uppercase ImGui aliases; table helpers are compatibility stubs when the underlying renderer does not expose real tables

Feature|table FeatureMgr.AddFeature / AddPlayerFeature / GetFeatureByName(hash/name/type/desc/callback)

Feature manager compatibility shim for scripts that add their own features or render their own ClickGUI tabs. Supports canonical hash/name/type/desc/callback and simpler name/type/desc/callback forms

Feature|bool FeatureMgr.GetFeatureByHash / GetFeatureById / ForEachFeature(hashOrId: int, callback: function = nil)

Extra Compatibility feature lookup/iteration aliases used by menu scripts

Feature|table FeatAdd / PlayerFeatAdd / FeatGet / PlayerFeatGet(name/hash, type, desc, callback)

Global compatibility helper aliases for adding and retrieving normal/player features

any Feature.Value / Enabled / List / Callback()

Feature property aliases mapped to Scooby compatibility feature state

Feature|bool Feature:RegisterCallbackTrigger / TriggerCallback(trigger: eCallbackTrigger, callback: function)

Feature callback triggers for OnClick, OnRender, OnTick and value/list changes

Feature|bool Feature:SetNoCallbackOnPress / GetNoCallbackOnPress(enabled: bool)

Compatibility button behavior alias for features that should fire registered trigger callbacks without also calling the base callback on press

bool|void ClickGUI.AddTab / RenderFeature / RenderPlayerFeature / BeginCustomChildWindow(title: string, callback: function)

Custom GUI tab compatibility shim; tabs render in their own Lua windows through script.register_render

bool ClickGUI.RegisterTab / SetTabVisible(title: string, visible: bool = true)

Additional ClickGUI compatibility aliases for scripts that register or hide custom tabs

Tab|ListWidget ListGUI.AddTab / Tab.New / ListWidget.New(title: string, callback/widget: function|table)

List UI compatibility shim; tabs/widgets/sub-tabs render through the compatibility window instead of the old native ListUI

Feature Tab:AddButton / AddToggle / AddSliderInt / AddSliderFloat / AddCombo / AddInputText(name: string, ...)

ListGUI compatibility widget builders that create compatibility Feature objects and add them to the tab/widget

int|string Compatibility.GetBuild / GetEdition / GetVersion()

Compatibility metadata helpers backed by Scooby game/version data where available

int|bool Texture.LoadTexture / LoadTextureAsync / IsTextureValid(pathOrId)

Compatibility texture helper aliases backed by Scooby's texture module when available

int Time.Get / GetEpoche / GetEpocheMs / GetEpocheNs()

Compatibility time helpers using the Lua runtime clock

V2|V3|V4 V2.New / V3.New / V4.New(x: number, y: number, z: number = nil, w: number = nil)

Lightweight compatibility vector tables with x/y/z/w fields and basic add/subtract/multiply helpers

any Utils.GetSelectedPlayer / GetLocalPlayerId / GetLocalPed / SetSelectedPlayer / IsKeyDown / IsKeyPressed(playerIdOrKey)

Compatibility utility helpers mapped to Scooby player/input modules when available

int|bool EventMgr.RegisterHandler / TriggerEvent / RemoveHandler(event: eLuaEvent, callback: function)

Event manager compatibility layer; ON_PRESENT/ON_POST_PRESENT and ON_UNLOAD are wired to Scooby callbacks, other events can be registered or manually triggered safely

void GUI.AddToast / Logger.Log / Logger.LogInfo / LogWarn / LogError(title/tag: string, message: string)

Notification and logging aliases mapped to Scooby notify/log

any globals.get_int / set_int / get_float / set_float / get_bool / set_bool(index: int, value: any = nil)

ScriptGlobal shortcuts for ported Lua scripts

ScriptGlobal globals.at / memory.script_global(index: int)

Create a ScriptGlobal object from a raw global index

any locals.get_int / set_int / get_float / set_float / get_bool / set_bool(script: string|hash, index: int, value: any = nil)

ScriptLocal shortcuts for ported Lua scripts; returns default values if the script is not running

ScriptLocal locals.at / memory.script_local(script: string|hash, index: int)

Create a ScriptLocal object from script name/hash and local index

ScriptGlobal|ScriptLocal ScriptGlobal(...) / ScriptLocal(...)(index: int OR script: string|hash, index: int)

Callable aliases for ScriptGlobal.new(index) and ScriptLocal.new(script, index)

bool scripts.is_active / scripts.is_running(script: string)

Script-thread guards for ported Lua scripts; use before script-local writes

MenuNode menu.get_submenu()

Create/get a default Lua menu root and return an object-style node

MenuNode MenuNode:add_category(name: string)

Object-style menu category helper used by older Lua scripts

MenuNode MenuNode:add_group(name: string, columns: int = ignored)

Object-style group helper; maps to a Scooby category

MenuNode MenuNode:add_submenu(name: string)

Object-style submenu helper; maps to a Scooby category

MenuNode MenuNode:add_button(idOrLabel: string, labelOrDescription: string, descriptionOrCallback: string|function, callback: function)

Object-style button helper; accepts 2Take1/Yim-style argument shapes

MenuNode MenuNode:add_toggle(name: string, description: string = nil, default: bool = false, callback: function = nil)

Object-style toggle helper

MenuNode MenuNode:add_input_text / add_input_int / add_input_float / add_color(name: string, default: any = nil, callback: function = nil)

Object-style input/color helpers for older menu APIs

MenuNode menu.action / menu.toggle / menu.slider / menu.slider_float / menu.combo / menu.list(parent: int|MenuNode, name: string, ...)

ScoobyOPMenu/Stand-style menu aliases backed by Scooby menu widgets

MenuNode menu.toggle_loop(parent: int|MenuNode, name: string, description: string, callback: function)

Toggle that runs a callback every script tick while enabled

MenuNode menu.add_feature(name: string, type: string, parent: int|MenuNode, callback: function)

Minimal 2Take1-style feature adapter for action/toggle/value scripts

table entities.get_all_*_as_handles()

ScoobyOPMenu-style entity list aliases backed by esp entity scanners

void|bool entities.delete / entities.request_control(entity: int)

Entity helper aliases backed by Entity.* functions when available

int|table players.user / players.user_ped / players.list()

Yim/Stand-style player helper aliases backed by Scooby players

pointer pointer.new / memory.ptr(address: int)

Small pointer object wrapper with add/sub/rip/read/write helpers for byte/short/int/long/float/double/string

audio

Audio and sound playback

void play_sound_frontend(audio_name: string, audio_ref: string)

Play UI/frontend sound

int play_sound_at_coord(audio_name: string, x: float, y: float, z: float, audio_ref: string = "", is_network: bool = true, range: int = 0, loop: bool = false)

Play sound at position

int play_sound_from_entity(entity: int, audio_name: string, audio_ref: string = "")

Play sound from entity

void stop_sound(sound_id: int)

Stop playing sound

void play_ambient_speech(ped: int, speech: string, speech_param: string = "SPEECH_PARAMS_STANDARD")

Make ped speak

void stop_ped_speaking(ped: int)

Stop ped speaking

void set_radio_station(station: string)

Set radio station

string get_player_radio_station()

Get current radio station

void skip_radio_forward()

Skip to next radio track

void set_siren(vehicle: int, enabled: bool)

Set vehicle siren

bool is_siren_on(vehicle: int)

Check if siren is on

void blip_siren(vehicle: int)

Blip siren momentarily

void start_vehicle_horn(vehicle: int, duration: int, hash: int = 0)

Start vehicle horn

void beep(frequency: int = 750, duration: int = 300)

Play system beep

teleport

Teleportation and movement

bool to_coords(x: float, y: float, z: float)

Teleport to coordinates

bool to_waypoint()

Teleport to waypoint marker

bool to_blip(blip_type: int)

Teleport to blip type

bool to_objective()

Teleport to mission objective

bool forward(distance: float)

Teleport forward by distance

bool up(distance: float)

Teleport upward by distance

bool to_player(player_id: int)

Teleport to another player

bool bring_player(player_id: int)

Teleport player to you

float|nil get_ground_z(x: float, y: float, start_z: float = 800)

Get ground Z coordinate

bool into_vehicle(vehicle: int, seat: int = -1)

Teleport into vehicle

bool to_location(location: string)

Teleport to preset location

table get_locations()

Get list of preset locations

controls

Control and input handling

bool is_pressed(control_group: int, control: int)

Check if control is pressed

bool is_just_pressed(control_group: int, control: int)

Check if control was just pressed

bool is_just_released(control_group: int, control: int)

Check if control was just released

bool is_disabled(control_group: int, control: int)

Check if disabled control is pressed

void disable(control_group: int, control: int)

Disable control for this frame

void enable(control_group: int, control: int)

Enable control for this frame

void disable_all(control_group: int)

Disable all controls

void enable_all(control_group: int)

Enable all controls

float get_normal(control_group: int, control: int)

Get control normal value (-1 to 1)

float get_unbound_normal(control_group: int, control: int)

Get unbound control normal

void set_normal(control_group: int, control: int, amount: float)

Set control normal for next frame

bool is_using_keyboard()

Check if using keyboard

void vibrate(duration: int, left_motor: int = 100, right_motor: int = 100)

Vibrate gamepad

void stop_vibrate()

Stop gamepad vibration

void set_input_exclusive(control_group: int, control: int)

Set control exclusive to script

int get_last_input_method()

Get last input (0=KB/M, 1=gamepad)

table get_constants()

Get control constant table

gameplay

General gameplay utilities

int get_hash(str: string)

Get hash from string

float get_frame_time()

Get frame delta time

int get_frame_count()

Get current frame count

int get_game_timer()

Get game time in ms

table get_system_time()

Get system time table

table get_game_date()

Get in-game date table

bool is_cutscene_active()

Check if cutscene playing

bool skip_cutscene()

Skip current cutscene

bool is_loading()

Check if game is loading

void wait(ms: int)

Wait for milliseconds

void set_game_paused(paused: bool)

Pause/unpause game

bool is_game_paused()

Check if game is paused

int get_random_int(min: int, max: int)

Get random integer

float get_random_float(min: float, max: float)

Get random float

float get_distance(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Get distance between points

float get_heading_from_coords(x1: float, y1: float, x2: float, y2: float)

Get heading between coords

void clear_area(x: float, y: float, z: float, radius: float, props: bool = true, peds: bool = true, vehicles: bool = true)

Clear area of entities

int create_ambient_pickup(pickup_type: int, x: float, y: float, z: float, value: int = 1)

Create pickup

int get_pickup_hash(name: string)

Get pickup hash from name

bool does_pickup_exist(pickup: int)

Check if pickup exists

void remove_pickup(pickup: int)

Remove a pickup

bool is_player_online()

Check if in GTA Online

bool is_session_started()

Check if session started

int get_interior_id(x: float, y: float, z: float)

Get interior at position

bool is_interior_ready(interior: int)

Check if interior is ready

void refresh_interior(interior: int)

Refresh an interior

void enable_interior_prop(interior: int, prop: string)

Enable interior prop

void disable_interior_prop(interior: int, prop: string)

Disable interior prop

streaming

Asset streaming and loading

bool request_model(hash: int)

Request model to load

bool has_model_loaded(hash: int)

Check if model is loaded

void set_model_as_no_longer_needed(hash: int)

Release model from memory

bool is_model_valid(hash: int)

Check if model is valid

bool is_model_a_vehicle(hash: int)

Check if model is vehicle

bool is_model_a_ped(hash: int)

Check if model is ped

bool request_and_load(hash: int, timeout: int = 5000)

Request and wait for model

void request_collision(x: float, y: float, z: float)

Request collision at coords

void load_scene(x: float, y: float, z: float)

Load game scene at coords

bool new_load_scene_start(x: float, y: float, z: float, radius: float = 100)

Start new scene load

bool is_new_load_scene_active()

Check if scene load active

bool is_new_load_scene_loaded()

Check if scene is loaded

void new_load_scene_stop()

Stop scene loading

void request_ptfx_asset(asset: string)

Request particle effect asset

bool has_ptfx_asset_loaded(asset: string)

Check if ptfx loaded

void remove_ptfx_asset(asset: string)

Remove ptfx from memory

void request_anim_dict(dict: string)

Request animation dictionary

bool has_anim_dict_loaded(dict: string)

Check if anim dict loaded

void remove_anim_dict(dict: string)

Remove anim dict from memory

void request_clip_set(clip_set: string)

Request clip set

bool has_clip_set_loaded(clip_set: string)

Check if clip set loaded

void remove_clip_set(clip_set: string)

Remove clip set from memory

void request_ipl(ipl: string)

Request IPL to be loaded

void remove_ipl(ipl: string)

Remove IPL

bool is_ipl_active(ipl: string)

Check if IPL is active

weapon

Weapon manipulation library

void give(ped: int, hash: int, ammo: int = 9999, hidden: bool = false, equip: bool = true)

Give weapon to ped

void remove(ped: int, hash: int)

Remove weapon from ped

void remove_all(ped: int)

Remove all weapons from ped

bool has(ped: int, hash: int)

Check if ped has weapon

int get_current(ped: int)

Get current weapon hash

void set_current(ped: int, hash: int, equip_now: bool = true)

Set current weapon

int get_ammo(ped: int, hash: int)

Get weapon ammo count

void set_ammo(ped: int, hash: int, ammo: int)

Set weapon ammo count

int get_max_ammo(ped: int, hash: int)

Get max ammo for weapon

int get_clip_size(hash: int)

Get weapon clip size

int get_ammo_in_clip(ped: int, hash: int)

Get ammo in current clip

void set_ammo_in_clip(ped: int, hash: int, ammo: int)

Set ammo in current clip

void give_component(ped: int, weapon_hash: int, component_hash: int)

Give weapon component

void remove_component(ped: int, weapon_hash: int, component_hash: int)

Remove weapon component

bool has_component(ped: int, weapon_hash: int, component_hash: int)

Check if weapon has component

void set_tint(ped: int, hash: int, tint: int)

Set weapon tint

int get_tint(ped: int, hash: int)

Get weapon tint index

void set_infinite_ammo(ped: int, enabled: bool, hash: int = 0)

Toggle infinite ammo

void set_infinite_clip(ped: int, enabled: bool)

Toggle infinite clip

void give_all(ped: int)

Give all weapons to ped

table get_hashes()

Get common weapon hash constants

esp

ESP and drawing helper functions

table|nil world_to_screen(x: float, y: float, z: float)

Convert 3D world coords to 2D screen

table|nil get_entity_screen_pos(entity: int)

Get entity position on screen

table|nil get_entity_bone_screen_pos(entity: int, bone_id: int)

Get bone position on screen

table|nil get_entity_screen_box(entity: int)

Get entity 2D bounding box

table get_all_peds()

Get all peds from pool

table get_all_vehicles()

Get all vehicles from pool

table get_all_objects()

Get all objects from pool

table get_nearby_peds(x: float, y: float, z: float, radius: float = 100)

Get peds within radius

table get_nearby_vehicles(x: float, y: float, z: float, radius: float = 100)

Get vehicles within radius

table get_bone_positions(ped: int)

Get all bone screen positions

table get_ped_health_info(ped: int)

Get ped health/armour info

table get_vehicle_info(vehicle: int)

Get vehicle health/speed info

bool is_entity_on_screen(entity: int)

Check if entity is on screen

float get_entity_distance(entity: int, x: float, y: float, z: float)

Get distance to entity

int get_local_player()

Get local player ped handle

table get_bone_ids()

Get common bone ID constants

task

Ped task and animation library

void clear(ped: int)

Clear all ped tasks

void clear_immediately(ped: int)

Clear tasks immediately

void go_to_entity(ped: int, target: int, duration: int = -1, distance: float = 1.0, speed: float = 1.0)

Task ped to go to entity

void go_to_coord(ped: int, x: float, y: float, z: float, speed: float = 1.0, timeout: int = -1)

Task ped to go to coords

void follow_nav_mesh_to_coord(ped: int, x: float, y: float, z: float, speed: float = 1.0, timeout: int = -1, radius: float = 0.25)

Follow navmesh to coords

void wander(ped: int, radius: float = 10.0, min_time: int = 10000, max_time: int = 20000)

Task ped to wander

void stand_still(ped: int, duration: int)

Task ped to stand still

void jump(ped: int, unused: bool = true)

Task ped to jump

void cower(ped: int, duration: int = -1)

Task ped to cower

void hands_up(ped: int, duration: int = -1, target: int = 0)

Task ped hands up

void combat_ped(ped: int, target: int)

Task ped to fight target

void shoot_at_entity(ped: int, target: int, duration: int = -1)

Task ped to shoot entity

void shoot_at_coord(ped: int, x: float, y: float, z: float, duration: int = -1)

Task ped to shoot coord

void aim_at_entity(ped: int, target: int, duration: int = -1)

Task ped to aim at entity

void aim_at_coord(ped: int, x: float, y: float, z: float, duration: int = -1)

Task ped to aim at coord

void reload(ped: int, unused: bool = true)

Task ped to reload weapon

void play_anim(ped: int, dict: string, anim: string, speed: float = 8.0, blend_out: float = -8.0, duration: int = -1, flags: int = 0)

Play animation on ped

void play_anim_advanced(ped: int, dict: string, anim: string, x: float, y: float, z: float, rx: float, ry: float, rz: float)

Play animation with position

void stop_anim(ped: int, dict: string, anim: string)

Stop animation on ped

bool is_playing_anim(ped: int, dict: string, anim: string)

Check if playing animation

void enter_vehicle(ped: int, vehicle: int, timeout: int = -1, seat: int = -1)

Task ped to enter vehicle

void leave_vehicle(ped: int, flags: int = 0)

Task ped to leave vehicle

void vehicle_drive_to_coord(ped: int, vehicle: int, x: float, y: float, z: float, speed: float = 20.0)

Task drive to coords

void vehicle_chase(ped: int, target: int)

Task vehicle to chase target

void vehicle_flee(ped: int, target: int)

Task vehicle to flee target

void start_scenario(ped: int, scenario: string, x: float = 0, y: float = 0, z: float = 0, heading: float = 0)

Start ped scenario

void use_nearest_scenario(ped: int, distance: float = 50.0)

Use nearest scenario

bool stop_scenario(ped: int)

Stop current scenario

void rappel_from_heli(ped: int)

Task rappel from helicopter

void parachute(ped: int)

Task ped to parachute

void parachute_to_target(ped: int, x: float, y: float, z: float)

Parachute to target coords

void sky_dive(ped: int)

Task ped to skydive

int get_sequence_progress(ped: int)

Get task sequence progress

int get_script_status(ped: int, hash: int)

Get task script status

object

Object creation and manipulation

int|nil create(model: int, x: float, y: float, z: float, networked: bool = true)

Create object at coords

int|nil create_with_heading(model: int, x: float, y: float, z: float, heading: float)

Create object with heading

int|nil create_attached(model: int, entity: int, bone: int, x: float, y: float, z: float)

Create object attached to entity

bool delete(handle: int)

Delete object

bool exists(handle: int)

Check if object exists

int get_model(handle: int)

Get object model hash

table get_all()

Get all objects from pool

int, float|nil get_closest(x: float, y: float, z: float, radius: float = 100)

Get closest object to position

table get_nearby(x: float, y: float, z: float, radius: float = 50)

Get nearby objects

bool place_on_ground(handle: int)

Place object on ground

bool slide_to_coord(handle: int, x: float, y: float, z: float, speed_x: float = 0, speed_y: float = 0, speed_z: float = 0)

Slide object to coords

void set_targetable(handle: int, targetable: bool)

Set object targetable

void register_door(door_hash: int, model: int, x: float, y: float, z: float)

Register door to system

void remove_door(door_hash: int)

Remove door from system

void set_door_state(door_hash: int, state: int)

Set door state

int get_door_state(door_hash: int)

Get door state

void set_door_locked(door_hash: int, locked: bool)

Lock/unlock door

int create_pickup(hash: int, x: float, y: float, z: float, flags: int = 0, value: int = 0)

Create pickup at coords

int create_ambient_pickup(hash: int, x: float, y: float, z: float)

Create ambient pickup

int create_money_pickup(x: float, y: float, z: float, amount: int)

Create money pickup

int create_portable_pickup(hash: int, x: float, y: float, z: float)

Create portable pickup

void remove_pickup(handle: int)

Remove pickup

bool does_pickup_exist(handle: int)

Check if pickup exists

table get_pickup_coords(handle: int)

Get pickup coordinates

int create_rope(x: float, y: float, z: float, ...)

Create rope at coords

void delete_rope(handle: int)

Delete rope

void attach_entities_to_rope(rope: int, entity1: int, entity2: int, ...)

Attach entities to rope

void detach_rope_from_entity(rope: int, entity: int)

Detach rope from entity

void start_rope_winding(handle: int)

Start rope winding

void stop_rope_winding(handle: int)

Stop rope winding

void start_rope_unwinding(handle: int)

Start rope unwinding

void stop_rope_unwinding(handle: int)

Stop rope unwinding

void create_parachute_bag(ped: int)

Create parachute bag on ped

table get_pickup_hashes()

Get pickup hash constants

graphics

Screen effects, particles, and visual effects

void start_screen_effect(effect: string, duration: int = 0, looped: bool = false)

Start screen effect

void stop_screen_effect(effect: string)

Stop screen effect

void stop_all_screen_effects()

Stop all screen effects

bool is_screen_effect_active(effect: string)

Check if effect is active

void set_timecycle_modifier(modifier: string)

Set timecycle modifier

void set_timecycle_strength(strength: float)

Set timecycle strength

void clear_timecycle_modifier()

Clear timecycle modifier

int get_timecycle_index()

Get timecycle modifier index

void set_extra_timecycle(modifier: string)

Set extra timecycle

void clear_extra_timecycle()

Clear extra timecycle

void set_nightvision(enabled: bool)

Toggle nightvision

bool is_nightvision_active()

Check if nightvision active

void set_seethrough(enabled: bool)

Toggle thermal vision

bool is_seethrough_active()

Check if thermal active

int start_ptfx_looped(effect: string, x: float, y: float, z: float, ...)

Start looped particle FX

int start_ptfx_looped_on_entity(effect: string, entity: int, ...)

Start looped PTFX on entity

int start_ptfx_looped_on_bone(effect: string, entity: int, bone: int, ...)

Start looped PTFX on bone

void stop_ptfx_looped(handle: int, kill_now: bool = false)

Stop looped particle FX

void remove_ptfx(handle: int)

Remove particle FX

void remove_ptfx_in_range(x: float, y: float, z: float, radius: float)

Remove PTFX in range

void set_ptfx_colour(handle: int, r: float, g: float, b: float)

Set looped PTFX colour

void set_ptfx_alpha(handle: int, alpha: float)

Set looped PTFX alpha

void set_ptfx_scale(handle: int, scale: float)

Set looped PTFX scale

bool does_ptfx_exist(handle: int)

Check if PTFX exists

bool start_ptfx_at_coord(effect: string, x: float, y: float, z: float, ...)

Start non-looped PTFX at coord

bool start_ptfx_on_entity(effect: string, entity: int, ...)

Start non-looped PTFX on entity

void set_ptfx_nonlooped_colour(r: float, g: float, b: float)

Set non-looped PTFX colour

void set_ptfx_nonlooped_alpha(alpha: float)

Set non-looped PTFX alpha

void use_ptfx_asset(asset: string)

Use PTFX asset for next spawn

void screen_fade_out(duration: int)

Fade screen out

void screen_fade_in(duration: int)

Fade screen in

bool is_screen_faded_out()

Check if screen faded out

bool is_screen_faded_in()

Check if screen faded in

bool is_screen_fading_out()

Check if screen fading out

bool is_screen_fading_in()

Check if screen fading in

bool blur_fade_in(duration: float)

Trigger blur fade in

bool blur_fade_out(duration: float)

Trigger blur fade out

bool is_blur_running()

Check if blur is running

void disable_blur()

Disable screen blur

void draw_scaleform_fullscreen(handle: int, r: int = 255, g: int = 255, b: int = 255, a: int = 255)

Draw scaleform fullscreen

int request_scaleform(name: string)

Request scaleform movie

bool has_scaleform_loaded(handle: int)

Check if scaleform loaded

void release_scaleform(handle: int)

Release scaleform movie

table get_screen_resolution()

Get screen resolution

float get_aspect_ratio()

Get screen aspect ratio

table|nil world_to_screen(x: float, y: float, z: float)

Convert world to screen coords

void set_tv_channel(channel: int)

Set TV channel

int get_tv_channel()

Get current TV channel

void set_tv_volume(volume: float)

Set TV volume

void enable_movie_subtitles(enabled: bool)

Toggle movie subtitles

void set_flash(p0: float, p1: float, fade_in: float, duration: float, fade_out: float)

Set screen flash

void disable_occlusion()

Disable occlusion this frame

void force_footstep_tracks(enabled: bool)

Force footstep tracks

void force_vehicle_trails(enabled: bool)

Force vehicle trails

table get_screen_effects()

Get screen effect names

table get_timecycle_modifiers()

Get timecycle modifier names

raycast

Raycasting and shape test functions

table cast(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, flags: int = -1, ignore: int = 0)

Cast ray from point to point

int cast_async(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, flags: int = -1)

Cast ray asynchronously

table get_async_result(handle: int)

Get async raycast result

table cast_from_camera(distance: float = 1000, flags: int = -1)

Cast ray from gameplay camera

table cast_from_entity(entity: int, distance: float = 100, flags: int = -1)

Cast ray from entity forward

table cast_capsule(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, radius: float = 0.5)

Cast capsule shape test

table cast_box(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, dim_x: float, dim_y: float, dim_z: float)

Cast box shape test

int|nil get_aimed_entity(player: int = current)

Get entity player is aiming at

bool is_aiming_at_entity(player: int, entity: int)

Check if player aiming at entity

bool has_line_of_sight(entity1: int, entity2: int, flags: int = 17)

Check LOS between entities

bool has_los_to_coord(entity: int, x: float, y: float, z: float)

Check LOS from entity to coord

float|nil get_ground_z(x: float, y: float, z: float = 1000)

Get ground Z at position

table|nil get_ground_z_and_normal(x: float, y: float, z: float)

Get ground Z and surface normal

float|nil get_water_height(x: float, y: float, z: float)

Get water height at position

float|nil test_water_probe(x: float, y: float, z: float)

Test vertical water probe

table get_flags()

Get intersect flag constants

system

System utilities, process info, and OS functions

int get_process_id()

Get current process ID

int get_thread_id()

Get current thread ID

table get_memory_usage()

Get process memory usage in MB

int get_tick_count()

Get CPU tick count (ms)

int get_micro_time()

Get high-res time in microseconds

table get_system_time()

Get system time as table

string get_game_build()

Which GTA V build the menu is attached to: "legacy" or "enhanced". The builds are NOT interchangeable - natives get added, removed and renumbered between them and script globals move, so a feature written against one can silently do nothing on the other. Check this once at load and guard the features that differ. Backed by the module the loader actually attached to, not a filename guess

bool is_legacy()

True on the Legacy build

bool is_enhanced()

True on the Enhanced build

string|nil get_computer_name()

Get computer name

string|nil get_user_name()

Get current user name

string|nil get_env(name: string)

Get environment variable

int query_performance_counter()

Query performance counter

int query_performance_frequency()

Query performance frequency

void sleep(ms: int)

Sleep for milliseconds (blocking)

string|nil get_current_directory()

Get current working directory

string|nil get_temp_directory()

Get temp directory path

bool shell_open(path: string)

Open URL/file with default app

int message_box(message: string, title: string = 'Scooby Lua', type: int = MB_OK)

Show message box dialog

void beep(frequency: int = 750, duration: int = 200)

Play system beep

bit

Bitwise operations and bit manipulation

int tobit(value: number)

LuaJIT-compatible conversion to a signed 32-bit integer: rounds ties-to-even, wraps modulo 2^32, and maps NaN/infinity to zero

int band(value: int, ...)

Variadic bitwise AND

int bor(value: int, ...)

Variadic bitwise OR

int bxor(value: int, ...)

Variadic bitwise XOR

int bnot(value: int)

Bitwise NOT

int lshift(value: int, n: int)

Left shift

int rshift(value: int, n: int)

Right shift (logical)

int arshift(value: int, n: int)

Arithmetic right shift

int set(value: int, position: int)

Set bit at position

int clear(value: int, position: int)

Clear bit at position

int toggle(value: int, position: int)

Toggle bit at position

bool test(value: int, position: int)

Test bit at position

int popcount(value: int)

Count set bits

int lowest(value: int)

Get lowest set bit

int highest_pos(value: int)

Get highest set bit position

int extract(value: int, position: int, count: int)

Extract bits from position

int replace(value: int, position: int, count: int, new_bits: int)

Replace bits at position

int rol(value: int, count: int)

LuaJIT-compatible signed 32-bit rotate left

int ror(value: int, count: int)

LuaJIT-compatible signed 32-bit rotate right

int reverse(value: int, bits: int = 64)

Reverse bit order

int bswap(value: int)

LuaJIT-compatible 32-bit byte swap

int rol_width(value: int, count: int, bits: int = 64)

Width-aware rotate left; validates a width from 1 to 64

int ror_width(value: int, count: int, bits: int = 64)

Width-aware rotate right; validates a width from 1 to 64

int bswap_width(value: int, bytes: int = 8)

Width-aware byte swap; validates a byte count from 1 to 8

int mask(start: int, end: int)

Create bit mask

string tobin(value: int, bits: int = 64)

Convert to binary string

int frombin(str: string)

Convert from binary string

convert

Type conversion and unit conversion utilities

string to_hex(value: int, uppercase: bool = false, width: int = 0)

Convert int to hex string

int from_hex(str: string)

Convert hex string to int

string to_octal(value: int)

Convert int to octal string

int from_octal(str: string)

Convert octal string to int

int to_int(value: float)

Convert float to int (truncate)

int|float round(value: float, decimals: int = 0)

Round number

int floor(value: float)

Floor to int

int ceil(value: float)

Ceil to int

string to_upper(str: string)

Convert string to uppercase

string to_lower(str: string)

Convert string to lowercase

int|float|nil to_number(str: string, base: int = 10)

Convert string to number

string to_string(value: number, precision: int = 6)

Convert number to string

table to_bytes(str: string)

Convert string to byte array

string from_bytes(bytes: table)

Convert byte array to string

string rgb_to_hex(r: int, g: int, b: int)

Convert RGB to hex string

r: int, g: int, b: int hex_to_rgb(hex: string)

Convert hex string to RGB

int rgba_to_int(r: int, g: int, b: int, a: int = 255)

Convert RGBA to int

r: int, g: int, b: int, a: int int_to_rgba(color: int)

Convert int to RGBA

float deg_to_rad(degrees: float)

Convert degrees to radians

float rad_to_deg(radians: float)

Convert radians to degrees

float meters_to_feet(meters: float)

Convert meters to feet

float feet_to_meters(feet: float)

Convert feet to meters

float mph_to_kph(mph: float)

Convert MPH to KPH

float kph_to_mph(kph: float)

Convert KPH to MPH

float ms_to_mph(ms: float)

Convert m/s to MPH (GTA speed)

float ms_to_kph(ms: float)

Convert m/s to KPH (GTA speed)

str

String manipulation and utility functions

string trim(str: string)

Trim whitespace from both ends

string trim_left(str: string)

Trim whitespace from left

string trim_right(str: string)

Trim whitespace from right

string pad_left(str: string, target_len: int, pad_char: string = ' ')

Pad string on left

string pad_right(str: string, target_len: int, pad_char: string = ' ')

Pad string on right

bool starts_with(str: string, prefix: string)

Check if string starts with prefix

bool ends_with(str: string, suffix: string)

Check if string ends with suffix

bool contains(str: string, sub: string, case_sensitive: bool = true)

Check if string contains substring

int index_of(str: string, sub: string, start: int = 1)

Find first index of substring

int last_index_of(str: string, sub: string)

Find last index of substring

int count(str: string, sub: string)

Count occurrences of substring

table split(str: string, delim: string = ' ', max_parts: int = 0)

Split string by delimiter

string join(arr: table, delim: string = '')

Join array of strings

string replace(str: string, from: string, to: string)

Replace all occurrences

string replace_first(str: string, from: string, to: string)

Replace first occurrence

string substring(str: string, start: int, len: int = -1)

Extract substring

string reverse(str: string)

Reverse string

string repeat_(str: string, count: int)

Repeat string n times

bool is_empty(str: string)

Check if string is empty/whitespace

bool is_numeric(str: string)

Check if string is numeric

bool is_alpha(str: string)

Check if string is alphabetic

bool is_alnum(str: string)

Check if string is alphanumeric

string capitalize(str: string)

Capitalize first letter

string title_case(str: string)

Convert to title case

ScriptGlobal

Access and modify GTA script globals (use ScriptGlobal.new(index))

ScriptGlobal new(index: int)

Create script global accessor

int GetTunableByHash / get_tunable_by_hash(hash: int|string)

Resolve a tunable hash to its script-global storage address, or 0 when unavailable. Static function; no ScriptGlobal object is required

ScriptGlobal at(index: int, size: int = 1)

Access array element at offset

int get_int()

Get value as integer

int get_uint()

Get value as unsigned int

int get_int64()

Get value as 64-bit integer

float get_float()

Get value as float

bool get_bool()

Get value as boolean

string get_string(max_len: int = 256)

Get value as string

table get_vector3()

Get value as Vector3

void set_int(value: int)

Set value as integer

void set_uint(value: int)

Set value as unsigned int

void set_int64(value: int)

Set value as 64-bit integer

void set_float(value: float)

Set value as float

void set_bool(value: bool)

Set value as boolean

void set_string(value: string)

Set value as string

void set_vector3(x: float, y: float, z: float)

Set value as Vector3

int get_address()

Get raw memory address

table get_bytes(count: int)

Get raw bytes

void set_bytes(bytes: table)

Set raw bytes

bool can_access()

Check if global is accessible

bool AreValid()

Returns whether the script globals are valid and ready or not.

Usage example
bool ScriptGlobal.AreValid()
bool GetBool(int global)

Member available through Scooby's native Lua API.

Usage example
bool ScriptGlobal.GetBool(int global)
number GetFloat(int global)

Member available through Scooby's native Lua API.

Usage example
number ScriptGlobal.GetFloat(int global)
int GetInt(int global)

Member available through Scooby's native Lua API.

Usage example
int ScriptGlobal.GetInt(int global)
int GetPtr(int global)

Member available through Scooby's native Lua API.

Usage example
int ScriptGlobal.GetPtr(int global)
string GetString(int global)

Member available through Scooby's native Lua API.

Usage example
string ScriptGlobal.GetString(int global)
int GetTunableByHash(int hash)

Returns a pointer to the tunable. Returns 0 if not found.

Usage example
int ScriptGlobal.GetTunableByHash(int hash)
void SetBool(int global, bool value)

Member available through Scooby's native Lua API.

Usage example
void ScriptGlobal.SetBool(int global, bool value)
void SetFloat(int global, number value)

Member available through Scooby's native Lua API.

Usage example
void ScriptGlobal.SetFloat(int global, number value)
void SetInt(int global, int value)

Member available through Scooby's native Lua API.

Usage example
void ScriptGlobal.SetInt(int global, int value)
void SetString(int global, string text)

Member available through Scooby's native Lua API.

Usage example
void ScriptGlobal.SetString(int global, string text)

ScriptLocal

Access and modify GTA script locals (use ScriptLocal.new(script_hash, index))

ScriptLocal new(script: string, index: int)

Create script local accessor

ScriptLocal from_hash(script_hash: int, index: int)

Create from script hash

ScriptLocal at(index: int, size: int = 1)

Access array element at offset

int get_int()

Get value as integer

float get_float()

Get value as float

bool get_bool()

Get value as boolean

string get_string(max_len: int = 256)

Get value as string

table get_vector3()

Get value as Vector3

void set_int(value: int)

Set value as integer

void set_float(value: float)

Set value as float

void set_bool(value: bool)

Set value as boolean

void set_string(value: string)

Set value as string

void set_vector3(x: float, y: float, z: float)

Set value as Vector3

int get_address()

Get raw memory address

bool can_access()

Check if local is accessible

bool is_script_running(script: string)

Check if script is running

bool is_script_running_by_hash(hash: int)

Check by script hash

int get_script_hash(script: string)

Get hash from script name

bool GetBool(int scriptHash, int local)

Member available through Scooby's native Lua API.

Usage example
bool ScriptLocal.GetBool(int scriptHash, int local)
number GetFloat(int scriptHash, int local)

Member available through Scooby's native Lua API.

Usage example
number ScriptLocal.GetFloat(int scriptHash, int local)
int GetInt(int scriptHash, int local)

Member available through Scooby's native Lua API.

Usage example
int ScriptLocal.GetInt(int scriptHash, int local)
int GetPtr(int scriptHash, int global)

Member available through Scooby's native Lua API.

Usage example
int ScriptLocal.GetPtr(int scriptHash, int global)
string GetString(int scriptHash, int local)

Member available through Scooby's native Lua API.

Usage example
string ScriptLocal.GetString(int scriptHash, int local)
void SetBool(int scriptHash, int local, bool value)

Member available through Scooby's native Lua API.

Usage example
void ScriptLocal.SetBool(int scriptHash, int local, bool value)
void SetFloat(int scriptHash, int local, number value)

Member available through Scooby's native Lua API.

Usage example
void ScriptLocal.SetFloat(int scriptHash, int local, number value)
void SetInt(int scriptHash, int local, int value)

Member available through Scooby's native Lua API.

Usage example
void ScriptLocal.SetInt(int scriptHash, int local, int value)
void SetString(int scriptHash, int local, string text)

Member available through Scooby's native Lua API.

Usage example
void ScriptLocal.SetString(int scriptHash, int local, string text)

event

Event system for inter-script communication

int on(event_name: string, callback: function)

Register event listener

int once(event_name: string, callback: function)

Register one-time listener

bool off(listener_id: int)

Remove event listener

int emit(event_name: string, ...)

Emit event immediately

void emit_delayed(event_name: string, delay_ms: int, ...)

Emit event after delay

int process_queue(limit: int = 4096)

Manually process up to limit delayed events and return the count. The host already drains 128 per frame, so normal scripts do not need to call this.

bool has_listeners(event_name: string)

Check if event has listeners

int get_listener_count(event_name: string)

Get listener count for event

table get_event_names()

Get all registered event names

void clear_all()

Clear all event listeners

thread

Thread and coroutine management

int create(callback: function, name: string = '')

Create new thread

int spawn(callback: function, name: string = '')

Create and start thread

bool start(thread_id: int)

Start a thread

bool pause(thread_id: int)

Pause a thread

bool resume(thread_id: int)

Resume a paused thread

bool stop(thread_id: int)

Stop a thread

bool kill(thread_id: int)

Kill thread immediately

string|nil get_status(thread_id: int)

Get thread status string

bool is_running(thread_id: int)

Check if thread is running

bool exists(thread_id: int)

Check if thread exists

table get_all()

Get all thread IDs

table|nil get_info(thread_id: int)

Get thread info table

int set_timeout(callback: function, delay_ms: int)

Execute callback after delay

int set_interval(callback: function, interval_ms: int)

Execute callback repeatedly

bool clear_timer(timer_id: int)

Clear timeout/interval

int process_timers()

Process timer queue

int tick()

Tick all threads

int get_active_count()

Get active thread count

int get_timer_count()

Get active timer count

void clear_all()

Clear all threads and timers

discord

Discord Rich Presence integration

bool initialize()

Initialize Discord RPC

bool shutdown()

Shutdown Discord RPC

bool is_initialized()

Check if initialized

void set_auto_presence(enabled: bool = true)

Enable or disable automatic GTA session presence

bool is_auto_presence_enabled()

Check if automatic GTA session presence is enabled

void reset_default_presence()

Reset to Scooby automatic presence

void set_state(text: string)

Set presence state (line 2)

void set_details(text: string)

Set presence details (line 1)

void set_large_image(key: string, text: string = '')

Set large image

void set_small_image(key: string, text: string = '')

Set small image

void set_timestamps(start: int = 0, end: int = 0)

Set timestamps

void set_elapsed_time()

Set elapsed time from now

void set_remaining_time(seconds: int)

Set countdown timer

void set_party(partyId?: string, size: int, max: int)

Set party info

void clear_party()

Clear party info

void clear_timestamps()

Clear timestamps

void clear_presence()

Clear all presence data

void set_presence(presence: table)

Set full presence from table

table get_presence()

Get current presence as table

bool update()

Push presence update to Discord

int get_timestamp()

Get current Unix timestamp

string get_application_id()

Get application ID

network

Extended network and session functions

void trigger_script_event(hash: int, bits: int, format: string, ...)

Send script event to players

int get_host_of_script(script: string, instance: int = -1)

Get script host player

bool is_session_started()

Check if in online session

bool is_session_active()

Check if session is active

bool is_in_session()

Check if in any session

bool is_host()

Check if local player is host

string get_session_state()

Get session state string

int get_player_count()

Get connected player count

int get_max_players()

Get max session players

int get_local_player_index()

Get local player index

bool is_player_active(player_id: int)

Check if player is active

bool is_player_connected(player_id: int)

Check if player connected

string get_player_name(player_id: int)

Get player name by ID

table get_all_players()

Get all players as table

bool request_control_of_entity(entity: int, timeout: int = 1000)

Request entity control

bool has_control_of_entity(entity: int)

Check entity control

int get_network_id_from_entity(entity: int)

Get network ID from entity

int get_entity_from_network_id(net_id: int)

Get entity from network ID

bool is_entity_networked(entity: int)

Check if entity is networked

void set_entity_networked(entity: int, networked: bool)

Set entity networked state

bool does_network_id_exist(net_id: int)

Check if network ID exists

void bail_from_session()

Leave current session

void session_end(keep_char: bool = true, keep_online: bool = true)

End session

void session_kick_player(player_id: int)

Kick player from session

int get_friend_count()

Get friend count

string get_friend_name_at_index(index: int)

Get friend name by index

bool is_friend_online(name: string)

Check if friend is online

bool is_friend_in_same_session(name: string)

Check if friend in session

bool is_player_talking(player_id: int)

Check if player is talking

bool is_game_in_progress()

Check if game in progress

bool is_transition_started()

Check if transition started

int get_transition_state()

Get transition state

int get_network_time()

Get network time

int get_time_difference(time_a: int, time_b: int)

Get time difference

bool can_access_multiplayer()

Check multiplayer access

bool is_signed_in()

Check if signed in

bool is_signed_online()

Check if signed online

stats

Extended player statistics functions

void set_int(name: string, value: int)

Set stat as integer

void set_bool(name: string, value: bool)

Set stat as boolean

void set_float(name: string, value: float)

Set stat as float

void set_string(name: string, value: string)

Set stat as string

int get_int(name: string)

Get stat as integer

bool get_bool(name: string)

Get stat as boolean

float get_float(name: string)

Get stat as float

string get_string(name: string)

Get stat as string

void set_packed_int(index: int, value: int)

Set packed stat int

void set_packed_bool(index: int, value: bool)

Set packed stat bool

void set_packed_bool_range(start: int, end: int, value: bool)

Set packed bool range

int get_packed_int(index: int)

Get packed stat int

bool get_packed_bool(index: int)

Get packed stat bool

int get_mp_int(name: string, character: int = nil)

Get an MP character stat. With no character argument the name resolves through the MPX_ prefix, i.e. whichever character is currently loaded - pass 0 or 1 only to force a specific slot. A name that already carries its own MP0_/MP1_/MPX_/MPPLY_ prefix is used as-is

void set_mp_int(name: string, value: int, character: int = nil)

Set an MP character stat. Same prefix rules as get_mp_int - omit character to write the loaded character rather than always slot 0

float get_mp_float(name: string, character: int = nil)

Get an MP float stat (MPX_ prefix rules as get_mp_int)

void set_mp_float(name: string, value: float, character: int = nil)

Set an MP float stat (MPX_ prefix rules as get_mp_int)

bool get_mp_bool(name: string, character: int = nil)

Get an MP bool stat (MPX_ prefix rules as get_mp_int)

void set_mp_bool(name: string, value: bool, character: int = nil)

Set an MP bool stat (MPX_ prefix rules as get_mp_int)

int get_rank(character: int = nil)

Read the current rank. Defaults to the loaded character

int set_rank(rank: int, method: string = "instant")

Set rank 1-8000 through the same path as the native Recovery > Rank feature: the RP for that rank is written, using admin RP plus a session refresh from rank 1000 up (a direct CHAR_XP_FM write is unstable there). Pass "gift" to force the admin-RP route at any rank. Reports its own result, including the not-loaded-in warning, and returns the clamped rank. Requires being fully loaded into online

int get_rp_for_rank(rank: int)

Total RP a given rank needs, so a script can preview the cost or drive its own XP writes

int get_wallet(character: int = 0)

Get wallet balance

int get_bank(character: int = 0)

Get bank balance

int get_kills(character: int = 0)

Get player kills

int get_deaths(character: int = 0)

Get player deaths

float get_kd_ratio(character: int = 0)

Get K/D ratio

int get_current_character()

Get active character slot

int get_total_playtime()

Get total playtime

int get_hash(name: string)

Get stat hash from name

bool increment(name_or_hash: string|int, amount: int = 1)

Increment stat by amount

void save()

Force save stats

players

Extended player list and management functions

table get_all()

Get all players as detailed table

table get_ids()

Get array of player IDs only

int count()

Get number of players in session

int|nil get_selected()

Get currently selected player ID

void set_selected(player_id: int)

Set selected player by ID

int|nil get_random()

Get random player ID

int|nil get_host()

Get session host player ID

int|nil get_by_name(name: string, exact: bool = false)

Find player by name

int|nil get_by_rid(rid: int)

Find player by Rockstar ID

table|nil get_info(player_id: int)

Get detailed player info table

string|nil get_name(player_id: int)

Get player name

int get_ped(player_id: int)

Get player ped handle

x: float, y: float, z: float | nil get_position(player_id: int)

Get player position

int|nil get_rid(player_id: int)

Get player Rockstar ID

int|nil get_host_token(player_id: int)

Get player host token

string|nil get_ip(player_id: int)

Get player IP as string

float|nil get_distance(player_id: int)

Get distance from local player

bool is_local(player_id: int)

Check if player is local

bool is_host(player_id: int)

Check if player is session host

bool is_modder(player_id: int)

Check if player is marked modder

bool is_valid(player_id: int)

Check if player ID is valid

bool is_talking(player_id: int)

Check if player is talking

bool is_typing(player_id: int)

Check if player is typing

void add_tag(player_id: int, name: string, r: float = 1, g: float = 1, b: float = 1, a: float = 1)

Add custom tag to player

void remove_tag(player_id: int, name: string)

Remove custom tag from player

void clear_tags(player_id: int)

Clear all custom tags from player

table get_tags(player_id: int)

Get all tags for player

bool has_tag(player_id: int, name: string)

Check if player has specific tag

bool teleport_to(player_id: int)

Teleport to player

bool spectate(player_id: int, enable: bool = true)

Spectate player

void stop_spectate()

Stop spectating

bool copy_outfit(player_id: int)

Copy player's outfit

void foreach(callback: function(id, name) -> bool)

Call function for each player

console

Console logging and debugging functions

void print(...)

Print to console

void log(...)

Print with timestamp

void info(...)

Print info message

void warn(...)

Print warning message

void error(...)

Print error message

void debug(...)

Print debug message

void printf(format: string, ...)

Print formatted message

void dump(value: any, depth: int = 3)

Dump value/table structure

string type(value: any)

Print and return type of value

void time(label: string = "default")

Start timer

float time_end(label: string = "default")

End timer and print elapsed

void assert(condition: bool, message: string = "Assertion failed")

Assert condition

void trace(message: string = "")

Print with stack trace

int count(label: string = "default")

Count calls with label

void count_reset(label: string = "default")

Reset count for label

void group(label: string = "Group")

Start log group

void group_end()

End log group

notification

Notification display functions

void show(message: string, type: string = "info", duration: int = 3000)

Show notification

void info(message: string, duration: int = 3000)

Show info notification

void success(message: string, duration: int = 3000)

Show success notification

void warning(message: string, duration: int = 3000)

Show warning notification

void error(message: string, duration: int = 3000)

Show error notification

void custom(title: string, message: string, type: string = "info", duration: int = 3000)

Show notification with custom title

void above_map(message: string, flash: bool = false)

Show GTA notification above minimap

void above_map_colored(message: string, bg_color: int = 0, flash: bool = false)

Show colored GTA notification

void picture(message: string, pic: string, icon: int = 0, title: string = "Notification", subtitle: string = "")

Show picture notification

void help(message: string, duration: int = -1, beep: bool = true, loop: bool = false)

Show help text at top of screen

void help_this_frame(message: string)

Show help text for current frame

void subtitle(message: string, duration: int = 2500)

Show subtitle at bottom

void floating_text(message: string, x: float, y: float, z: float)

Show floating text in 3D world

void clear()

Clear all notifications

void hide()

Hide notification feed

void resume()

Resume notification feed

bool is_paused()

Check if feed is paused

indicator

On-screen indicator and overlay functions

int create_text(id: string, text: string, x: float, y: float)

Create text indicator

void set_text(id: string, text: string)

Set indicator text

void set_text_position(id: string, x: float, y: float)

Set indicator position

void set_text_color(id: string, r: int, g: int, b: int, a: int = 255)

Set text color

void set_text_scale(id: string, scale: float)

Set text scale

void set_text_font(id: string, font: int)

Set text font

void set_text_alignment(id: string, alignment: int)

Set text alignment

void set_text_outline(id: string, enabled: bool)

Set text outline

void set_text_shadow(id: string, enabled: bool)

Set text shadow

int create_box(id: string, x: float, y: float, w: float, h: float)

Create box indicator

void set_box_position(id: string, x: float, y: float)

Set box position

void set_box_size(id: string, w: float, h: float)

Set box size

void set_box_color(id: string, r: int, g: int, b: int, a: int = 255)

Set box color

int create_progress(id: string, x: float, y: float, w: float, h: float, value: float = 0)

Create progress bar

void set_progress_value(id: string, value: float)

Set progress value (0-1)

void set_progress_colors(id: string, bg_r: int, bg_g: int, bg_b: int, fg_r: int, fg_g: int, fg_b: int)

Set progress bar colors

void set_progress_show_text(id: string, show: bool)

Show percentage text

void enable(id: string, enabled: bool)

Enable/disable indicator

void remove(id: string)

Remove indicator

void clear_all()

Remove all indicators

bool exists(id: string)

Check if indicator exists

int get_count()

Get indicator count

void draw_text(text: string, x: float, y: float, scale: float = 0.35, r: int = 255, g: int = 255, b: int = 255, a: int = 255)

Draw text immediately (per frame)

void draw_rect(x: float, y: float, w: float, h: float, r: int, g: int, b: int, a: int = 255)

Draw rectangle immediately

void draw_sprite(dict: string, name: string, x: float, y: float, w: float, h: float, heading: float = 0, r: int = 255, g: int = 255, b: int = 255, a: int = 255)

Draw sprite immediately

void draw_line_2d(x1: float, y1: float, x2: float, y2: float, width: float, r: int, g: int, b: int, a: int = 255)

Draw 2D line immediately

void draw_marker(type: int, x: float, y: float, z: float, ...)

Draw 3D marker immediately

vehicle_ext

Extended vehicle manipulation and customization

int get_class(vehicle: Vehicle)

Get vehicle class (0-22)

string get_class_name(vehicle: Vehicle)

Get vehicle class name

string get_display_name(vehicle: Vehicle)

Get vehicle display name

string get_manufacturer(vehicle: Vehicle)

Get vehicle manufacturer name

string get_model_name(vehicle: Vehicle)

Get model name hash as string

int get_number_of_seats(vehicle: Vehicle)

Get total seat count

int get_free_seat(vehicle: Vehicle)

Get first empty seat (-1 if none)

float get_max_speed(vehicle: Vehicle)

Get max speed in m/s

float get_acceleration(vehicle: Vehicle)

Get acceleration value

float get_braking(vehicle: Vehicle)

Get braking value

float get_traction(vehicle: Vehicle)

Get traction value

float get_top_speed_mods(vehicle: Vehicle)

Get top speed with mods

void set_top_speed(vehicle: Vehicle, speed: float)

Set max vehicle speed

int get_current_gear(vehicle: Vehicle)

Get current gear

void set_current_gear(vehicle: Vehicle, gear: int)

Set current gear

int get_max_gear(vehicle: Vehicle)

Get max gear count

float get_rpm(vehicle: Vehicle)

Get engine RPM (0-1)

void set_rpm(vehicle: Vehicle, rpm: float)

Set engine RPM

float get_current_speed(vehicle: Vehicle)

Get speed in m/s

float get_current_speed_mph(vehicle: Vehicle)

Get speed in MPH

float get_current_speed_kph(vehicle: Vehicle)

Get speed in KPH

float get_fuel_level(vehicle: Vehicle)

Get fuel level (0-100)

void set_fuel_level(vehicle: Vehicle, level: float)

Set fuel level

float get_oil_level(vehicle: Vehicle)

Get oil level

void set_oil_level(vehicle: Vehicle, level: float)

Set oil level

float get_dirt_level(vehicle: Vehicle)

Get dirt level (0-15)

void set_dirt_level(vehicle: Vehicle, level: float)

Set dirt level

float get_body_health(vehicle: Vehicle)

Get body health (0-1000)

void set_body_health(vehicle: Vehicle, health: float)

Set body health

float get_engine_health(vehicle: Vehicle)

Get engine health (-4000 to 1000)

void set_engine_health(vehicle: Vehicle, health: float)

Set engine health

float get_petrol_tank_health(vehicle: Vehicle)

Get petrol tank health

void set_petrol_tank_health(vehicle: Vehicle, health: float)

Set petrol tank health

int get_wheel_type(vehicle: Vehicle)

Get wheel type

void set_wheel_type(vehicle: Vehicle, type: int)

Set wheel type

int get_wheel_count(vehicle: Vehicle)

Get number of wheels

void burst_tyre(vehicle: Vehicle, wheel_index: int)

Burst a specific tyre

void fix_tyre(vehicle: Vehicle, wheel_index: int)

Fix a specific tyre

bool is_tyre_burst(vehicle: Vehicle, wheel_index: int)

Check if tyre is burst

void set_tyres_can_burst(vehicle: Vehicle, can_burst: bool)

Set if tyres can burst

int get_livery(vehicle: Vehicle)

Get current livery

void set_livery(vehicle: Vehicle, livery: int)

Set vehicle livery

int get_livery_count(vehicle: Vehicle)

Get available livery count

int get_roof_livery(vehicle: Vehicle)

Get roof livery

void set_roof_livery(vehicle: Vehicle, livery: int)

Set roof livery

string get_plate_text(vehicle: Vehicle)

Get license plate text

void set_plate_text(vehicle: Vehicle, text: string)

Set license plate text

int get_plate_type(vehicle: Vehicle)

Get license plate type

void set_plate_type(vehicle: Vehicle, type: int)

Set license plate type

int get_primary_color(vehicle: Vehicle)

Get primary color index

int get_secondary_color(vehicle: Vehicle)

Get secondary color index

void set_colors(vehicle: Vehicle, primary: int, secondary: int)

Set primary and secondary colors

table get_custom_primary_color(vehicle: Vehicle)

Get custom primary RGB

table get_custom_secondary_color(vehicle: Vehicle)

Get custom secondary RGB

void set_custom_primary_color(vehicle: Vehicle, r: int, g: int, b: int)

Set custom primary RGB

void set_custom_secondary_color(vehicle: Vehicle, r: int, g: int, b: int)

Set custom secondary RGB

int get_pearlescent_color(vehicle: Vehicle)

Get pearlescent color

int get_wheel_color(vehicle: Vehicle)

Get wheel color

void set_extra_colors(vehicle: Vehicle, pearl: int, wheel: int)

Set pearl and wheel colors

int get_interior_color(vehicle: Vehicle)

Get interior color

void set_interior_color(vehicle: Vehicle, color: int)

Set interior color

int get_dashboard_color(vehicle: Vehicle)

Get dashboard color

void set_dashboard_color(vehicle: Vehicle, color: int)

Set dashboard color

int get_xenon_color(vehicle: Vehicle)

Get xenon headlight color

void set_xenon_color(vehicle: Vehicle, color: int)

Set xenon headlight color

table get_neon_enabled(vehicle: Vehicle)

Get neon enabled state

void set_neon_enabled(vehicle: Vehicle, left: bool, right: bool, front: bool, back: bool)

Set neon lights enabled

table get_neon_color(vehicle: Vehicle)

Get neon RGB color

void set_neon_color(vehicle: Vehicle, r: int, g: int, b: int)

Set neon RGB color

table get_tyre_smoke_color(vehicle: Vehicle)

Get tyre smoke RGB

void set_tyre_smoke_color(vehicle: Vehicle, r: int, g: int, b: int)

Set tyre smoke RGB

int get_window_tint(vehicle: Vehicle)

Get window tint index

void set_window_tint(vehicle: Vehicle, tint: int)

Set window tint

int get_mod(vehicle: Vehicle, mod_type: int)

Get mod at slot

void set_mod(vehicle: Vehicle, mod_type: int, mod_index: int, custom_tires: bool = false)

Set mod at slot

int get_num_mods(vehicle: Vehicle, mod_type: int)

Get number of mods for slot

string get_mod_text(vehicle: Vehicle, mod_type: int, mod_index: int)

Get mod name text

void toggle_mod(vehicle: Vehicle, mod_type: int, enabled: bool)

Toggle boolean mod

bool is_toggle_mod_on(vehicle: Vehicle, mod_type: int)

Check if toggle mod is on

bool get_extra(vehicle: Vehicle, extra_id: int)

Check if extra is enabled

void set_extra(vehicle: Vehicle, extra_id: int, enabled: bool)

Set extra enabled state

bool does_extra_exist(vehicle: Vehicle, extra_id: int)

Check if extra exists

void set_convertible_roof(vehicle: Vehicle, up: bool, instant: bool = false)

Set convertible roof state

int get_convertible_roof_state(vehicle: Vehicle)

Get roof state (0-4)

bool is_convertible(vehicle: Vehicle)

Check if vehicle is convertible

void set_doors_locked(vehicle: Vehicle, lock_state: int)

Set door lock state

int get_doors_locked_status(vehicle: Vehicle)

Get door lock status

void set_door_open(vehicle: Vehicle, door_id: int, loose: bool = false, open_instantly: bool = false)

Open/close a door

void set_door_shut(vehicle: Vehicle, door_id: int, close_instantly: bool = false)

Close a door

bool is_door_damaged(vehicle: Vehicle, door_id: int)

Check if door is damaged

bool is_door_open(vehicle: Vehicle, door_id: int)

Check if door is open

float get_door_angle(vehicle: Vehicle, door_id: int)

Get door angle ratio

void smash_window(vehicle: Vehicle, window_id: int)

Smash a window

void fix_window(vehicle: Vehicle, window_id: int)

Fix a window

void roll_down_window(vehicle: Vehicle, window_id: int)

Roll down a window

void roll_up_window(vehicle: Vehicle, window_id: int)

Roll up a window

bool is_window_intact(vehicle: Vehicle, window_id: int)

Check if window is intact

void set_engine_on(vehicle: Vehicle, on: bool, instantly: bool = true, disable_auto_start: bool = true)

Set engine running state

bool is_engine_running(vehicle: Vehicle)

Check if engine is running

void set_lights(vehicle: Vehicle, state: int)

Set lights state (0-3)

table get_lights_state(vehicle: Vehicle)

Get lights state

void set_fullbeam(vehicle: Vehicle, on: bool)

Set high beams

void set_indicator_lights(vehicle: Vehicle, left: bool, right: bool)

Set indicator lights

void set_brake_lights(vehicle: Vehicle, on: bool)

Set brake lights on

int get_headlight_color(vehicle: Vehicle)

Get headlight color

void set_headlight_color(vehicle: Vehicle, color: int)

Set headlight color

void set_alarm(vehicle: Vehicle, active: bool)

Set alarm active

bool is_alarm_active(vehicle: Vehicle)

Check if alarm is active

void start_horn(vehicle: Vehicle, duration: int = 500)

Start horn sound

void set_horn_disabled(vehicle: Vehicle, disabled: bool)

Disable horn

void set_siren(vehicle: Vehicle, on: bool)

Set siren state

bool is_siren_on(vehicle: Vehicle)

Check if siren is on

bool has_siren(vehicle: Vehicle)

Check if vehicle has siren

void set_radio_enabled(vehicle: Vehicle, enabled: bool)

Set radio enabled

void set_radio_station(vehicle: Vehicle, station: string)

Set radio station

void set_boost_active(vehicle: Vehicle, active: bool)

Activate rocket boost

bool get_is_boost_active(vehicle: Vehicle)

Check if boost is active

float get_boost_charge(vehicle: Vehicle)

Get boost charge level

void set_parachute_active(vehicle: Vehicle, active: bool)

Set parachute state

void set_forward_speed(vehicle: Vehicle, speed: float)

Set forward speed

bool set_on_ground(vehicle: Vehicle)

Place vehicle on ground

bool is_stuck_on_roof(vehicle: Vehicle)

Check if stuck on roof

void set_reduce_grip(vehicle: Vehicle, reduce: bool)

Set reduced grip

void set_gravity(vehicle: Vehicle, gravity: float)

Set gravity amount

void disable_impact_explosion(vehicle: Vehicle, disabled: bool)

Disable explosion on impact

void set_out_of_control(vehicle: Vehicle, kill_driver: bool = false, duration: float = 0)

Set out of control

void set_undriveable(vehicle: Vehicle, undriveable: bool)

Set undriveable

void set_provide_cover(vehicle: Vehicle, provides: bool)

Set provides cover

void set_strong(vehicle: Vehicle, strong: bool)

Set damage resistance

void detach_windscreen(vehicle: Vehicle)

Detach windscreen

void pop_boot(vehicle: Vehicle)

Pop open the boot

void pop_bonnet(vehicle: Vehicle)

Pop open the bonnet

void eject_driver(vehicle: Vehicle)

Eject driver from vehicle

Ped get_driver(vehicle: Vehicle)

Get driver ped

Ped get_passenger(vehicle: Vehicle, seat_index: int)

Get passenger at seat

table get_all_passengers(vehicle: Vehicle)

Get all passengers

bool is_seat_free(vehicle: Vehicle, seat_index: int)

Check if seat is free

Ped get_last_driver(vehicle: Vehicle)

Get last driver ped

bool is_big_vehicle(vehicle: Vehicle)

Check if large vehicle

bool is_bike(vehicle: Vehicle)

Check if bike/motorcycle

bool is_boat(vehicle: Vehicle)

Check if boat

bool is_car(vehicle: Vehicle)

Check if car

bool is_heli(vehicle: Vehicle)

Check if helicopter

bool is_plane(vehicle: Vehicle)

Check if airplane

bool is_train(vehicle: Vehicle)

Check if train

bool is_submarine(vehicle: Vehicle)

Check if submarine

bool is_quad(vehicle: Vehicle)

Check if quad/ATV

bool is_amphibious(vehicle: Vehicle)

Check if amphibious vehicle

bool has_rocket_boost(vehicle: Vehicle)

Check if has rocket boost

bool has_parachute(vehicle: Vehicle)

Check if has parachute

bool has_weapons(vehicle: Vehicle)

Check if has weapons

int get_owner(vehicle: Vehicle)

Get vehicle owner player

bool is_stolen(vehicle: Vehicle)

Check if marked stolen

void set_stolen(vehicle: Vehicle, stolen: bool)

Set stolen status

void set_needs_to_be_hotwired(vehicle: Vehicle, required: bool)

Set hotwire required

bool is_wanted(vehicle: Vehicle)

Check if vehicle is wanted

Vehicle copy_vehicle(vehicle: Vehicle)

Clone vehicle with mods

void copy_mods_to(source: Vehicle, target: Vehicle)

Copy mods to another vehicle

void max_mods(vehicle: Vehicle)

Apply all max mods

void downgrade(vehicle: Vehicle)

Remove all mods

ped_ext

Extended ped manipulation and appearance

int get_type(ped: Ped)

Get ped type (0-29)

string get_type_name(ped: Ped)

Get ped type name

bool is_human(ped: Ped)

Check if human ped

bool is_animal(ped: Ped)

Check if animal ped

int get_model(ped: Ped)

Get ped model hash

string get_model_name(ped: Ped)

Get ped model name

int get_max_health(ped: Ped)

Get max health

void set_max_health(ped: Ped, max: int)

Set max health

int get_health(ped: Ped)

Get current health

void set_health(ped: Ped, health: int)

Set current health

int get_armour(ped: Ped)

Get armour amount

void set_armour(ped: Ped, armour: int)

Set armour amount

int get_accuracy(ped: Ped)

Get shooting accuracy

void set_accuracy(ped: Ped, accuracy: int)

Set shooting accuracy

int get_combat_ability(ped: Ped)

Get combat ability (0-2)

void set_combat_ability(ped: Ped, ability: int)

Set combat ability

int get_combat_range(ped: Ped)

Get combat range (0-3)

void set_combat_range(ped: Ped, range: int)

Set combat range

int get_combat_movement(ped: Ped)

Get combat movement (0-3)

void set_combat_movement(ped: Ped, movement: int)

Set combat movement

void set_combat_attributes(ped: Ped, attribute: int, enabled: bool)

Set combat attribute flag

void set_config_flag(ped: Ped, flag: int, value: bool)

Set ped config flag

bool get_config_flag(ped: Ped, flag: int)

Get ped config flag

void reset_config_flag(ped: Ped, flag: int)

Reset ped config flag

void set_ragdoll(ped: Ped, time_ms: int = 1000, ragdoll_type: int = 0)

Trigger ragdoll

void set_ragdoll_blocking(ped: Ped, blocking: bool)

Set ragdoll blocking

bool is_ragdoll(ped: Ped)

Check if ragdolling

void clear_tasks(ped: Ped)

Clear all tasks

void clear_tasks_immediately(ped: Ped)

Clear tasks immediately

int get_current_task(ped: Ped)

Get current task hash

bool is_running_task(ped: Ped, task_hash: int)

Check if running task

void set_blocking_of_non_temporary_events(ped: Ped, blocking: bool)

Set event blocking

void set_keep_task(ped: Ped, keep: bool)

Keep task after cutscene

void set_flee_attributes(ped: Ped, attributes: int, enabled: bool)

Set flee attributes

void set_alertness(ped: Ped, alertness: int)

Set alertness (0-3)

int get_alertness(ped: Ped)

Get alertness level

void set_seeing_range(ped: Ped, range: float)

Set seeing range

void set_hearing_range(ped: Ped, range: float)

Set hearing range

void set_visual_field_min_angle(ped: Ped, angle: float)

Set min FOV angle

void set_visual_field_max_angle(ped: Ped, angle: float)

Set max FOV angle

void set_visual_field_peripheral_range(ped: Ped, range: float)

Set peripheral range

void set_visual_field_center_angle(ped: Ped, angle: float)

Set center FOV angle

int get_relationship(ped: Ped, target: Ped)

Get relationship to ped

int get_relationship_group(ped: Ped)

Get relationship group hash

void set_relationship_group(ped: Ped, group: int)

Set relationship group

void set_as_enemy(ped: Ped, enemy: bool = true)

Set as enemy of player

void set_as_friend(ped: Ped, friend: bool = true)

Set as friend of player

void set_as_cop(ped: Ped, is_cop: bool = true)

Set as cop

bool is_cop(ped: Ped)

Check if cop

bool is_player(ped: Ped)

Check if player ped

int get_player_id(ped: Ped)

Get player ID if player ped

bool is_in_vehicle(ped: Ped)

Check if in any vehicle

bool is_in_this_vehicle(ped: Ped, vehicle: Vehicle)

Check if in specific vehicle

bool is_sitting_in_vehicle(ped: Ped, vehicle: Vehicle)

Check if seated in vehicle

Vehicle get_vehicle(ped: Ped)

Get current vehicle

int get_seat_index(ped: Ped)

Get seat index in vehicle

Vehicle get_last_vehicle(ped: Ped)

Get last used vehicle

bool is_on_foot(ped: Ped)

Check if on foot

bool is_on_mount(ped: Ped)

Check if on mount

Entity get_mount(ped: Ped)

Get mount entity

bool is_walking(ped: Ped)

Check if walking

bool is_running(ped: Ped)

Check if running

bool is_sprinting(ped: Ped)

Check if sprinting

bool is_jumping(ped: Ped)

Check if jumping

bool is_falling(ped: Ped)

Check if falling

bool is_climbing(ped: Ped)

Check if climbing

bool is_diving(ped: Ped)

Check if diving

bool is_swimming(ped: Ped)

Check if swimming

bool is_swimming_underwater(ped: Ped)

Check if underwater

bool is_in_cover(ped: Ped)

Check if in cover

bool is_in_melee_combat(ped: Ped)

Check if in melee combat

bool is_shooting(ped: Ped)

Check if shooting

bool is_reloading(ped: Ped)

Check if reloading

bool is_aiming(ped: Ped)

Check if aiming

bool is_in_combat(ped: Ped)

Check if in combat

bool is_in_combat_with(ped: Ped, target: Ped)

Check if in combat with ped

bool is_fleeing(ped: Ped)

Check if fleeing

bool is_injured(ped: Ped)

Check if injured

bool is_hurt(ped: Ped)

Check if hurt

bool is_dead(ped: Ped)

Check if dead

bool is_fatally_injured(ped: Ped)

Check if fatally injured

bool is_prone(ped: Ped)

Check if prone

bool is_ducking(ped: Ped)

Check if ducking

bool is_getting_up(ped: Ped)

Check if getting up

bool is_being_jacked(ped: Ped)

Check if being carjacked

bool is_being_stunned(ped: Ped)

Check if being stunned

bool is_being_stealth_killed(ped: Ped)

Check if being stealth killed

bool is_performing_stealth_kill(ped: Ped)

Check if performing stealth kill

bool is_arrested(ped: Ped)

Check if arrested

bool is_cuffed(ped: Ped)

Check if handcuffed

table get_bone_coords(ped: Ped, bone_id: int)

Get bone world coords

int get_bone_index(ped: Ped, bone_id: int)

Get bone index from ID

int get_last_damage_bone(ped: Ped)

Get last damaged bone

void clear_blood_damage(ped: Ped)

Clear blood damage

void clear_facial_decorations(ped: Ped)

Clear facial decorations

void clear_decorations(ped: Ped)

Clear all decorations

void reset_visible_damage(ped: Ped)

Reset visible damage

void apply_damage_pack(ped: Ped, damage_pack: string, damage: float, multiplier: float)

Apply damage pack

void give_helmet(ped: Ped, force: bool = false, helmet_type: int = -1, texture_index: int = -1)

Give helmet

void remove_helmet(ped: Ped, instantly: bool = true)

Remove helmet

bool is_wearing_helmet(ped: Ped)

Check if wearing helmet

int get_drawable(ped: Ped, component: int)

Get current drawable for component

int get_texture(ped: Ped, component: int)

Get current texture for component

int get_palette(ped: Ped, component: int)

Get current palette for component

void set_component(ped: Ped, component: int, drawable: int, texture: int, palette: int = 0)

Set ped component variation

int get_palette_variation(ped: Ped, component: int)

Get component palette

int, int, int get_component_variation(ped: Ped, component: int)

Get drawable, texture, and palette

int get_num_drawables(ped: Ped, component: int)

Get drawable count for component

int get_num_textures(ped: Ped, component: int, drawable: int)

Get texture count for drawable

int get_prop_index(ped: Ped, prop_type: int)

Get current prop index

int get_prop_texture(ped: Ped, prop_type: int)

Get current prop texture

void set_prop(ped: Ped, prop_type: int, prop_index: int, texture: int = 0, attach: bool = true)

Set ped prop

void clear_prop(ped: Ped, prop_type: int)

Clear ped prop

void clear_all_props(ped: Ped)

Clear all props

int get_num_props(ped: Ped, prop_type: int)

Get prop count for type

int get_num_prop_textures(ped: Ped, prop_type: int, prop_index: int)

Get prop texture count

int, int get_prop_variation(ped: Ped, prop_type: int)

Get prop drawable and texture

int get_number_of_prop_drawable_variations(ped: Ped, prop_type: int)

Get prop drawable count

int get_number_of_prop_texture_variations(ped: Ped, prop_type: int, drawable: int)

Get prop texture count for drawable

table get_outfit(ped: Ped)

Snapshot all components and props

bool apply_outfit(ped: Ped, outfit: table, clear_props: bool = true)

Apply a component/prop snapshot

void set_head_blend(ped: Ped, shape1: int, shape2: int, shape3: int, skin1: int, skin2: int, skin3: int, mix1: float, mix2: float, mix3: float, is_parent: bool = false)

Set head blend data

table get_head_blend(ped: Ped)

Get head blend data

void set_head_overlay(ped: Ped, index: int, value: int, opacity: float = 1.0)

Set head overlay

table get_head_overlay(ped: Ped, index: int)

Get head overlay value

void set_head_overlay_color(ped: Ped, index: int, color_type: int, color1: int, color2: int = 0)

Set head overlay color

void set_eye_color(ped: Ped, color: int)

Set eye color

int get_eye_color(ped: Ped)

Get eye color

void set_hair_color(ped: Ped, color1: int, color2: int)

Set hair colors

int get_hair_color(ped: Ped)

Get hair primary color

int get_hair_highlight_color(ped: Ped)

Get hair highlight color

void set_face_feature(ped: Ped, index: int, scale: float)

Set face feature

float get_face_feature(ped: Ped, index: int)

Get face feature scale

Ped clone(ped: Ped, heading: float = 0, network: bool = true, copy_head: bool = true)

Clone ped

void clone_to_target(source: Ped, target: Ped)

Clone ped to target

interior

Interior loading and manipulation

int get_at_coords(x: float, y: float, z: float)

Get interior at coordinates

int get_at_coords_with_type(x: float, y: float, z: float, interior_type: string)

Get interior with type at coords

int get_from_entity(entity: Entity)

Get interior containing entity

int get_from_gameplay_cam()

Get interior from camera position

float get_heading(interior: int)

Get interior heading

table get_position(interior: int)

Get interior position

int get_group(interior: int)

Get interior group ID

bool is_valid(interior: int)

Check if interior is valid

bool is_ready(interior: int)

Check if interior is ready

bool is_entity_inside(interior: int, entity: Entity)

Check if entity is inside

void refresh(interior: int)

Refresh interior

void disable(interior: int, disabled: bool)

Disable interior

void cap(interior: int, capped: bool)

Cap interior

void force_room(entity: Entity, interior: int, room_hash: int)

Force entity to room

void clear_room(entity: Entity)

Clear forced room for entity

int get_room_key_from_entity(entity: Entity)

Get room key from entity

int get_room_at_coords(x: float, y: float, z: float)

Get room hash at coords

void add_pickup(interior: int, pickup_hash: int, x: float, y: float, z: float)

Add pickup to interior

void enable_prop(interior: int, prop_name: string)

Enable interior prop

void disable_prop(interior: int, prop_name: string)

Disable interior prop

bool is_prop_enabled(interior: int, prop_name: string)

Check if prop is enabled

void set_prop_color(interior: int, prop_name: string, color: int)

Set interior prop color

void activate_room(interior: int, room_key: int)

Activate interior room

void deactivate_room(interior: int, room_key: int)

Deactivate interior room

bool is_room_activated(interior: int, room_key: int)

Check if room is activated

table get_offset_from_interior(interior: int, x: float, y: float, z: float)

Get offset from interior origin

cutscene

Cutscene playback and control

void request(name: string, flags: int = 8)

Request cutscene

bool has_loaded()

Check if cutscene is loaded

bool has_this_loaded(name: string)

Check if specific cutscene loaded

void remove()

Remove loaded cutscene

void start(flags: int = 0)

Start cutscene playback

void start_at_coords(x: float, y: float, z: float, flags: int = 0)

Start cutscene at position

void stop()

Stop current cutscene

bool is_active()

Check if cutscene is active

bool is_playing()

Check if cutscene is playing

int get_time()

Get current cutscene time

int get_total_duration()

Get cutscene total duration

int get_section_time()

Get section playing time

bool was_skipped()

Check if cutscene was skipped

bool has_finished()

Check if cutscene finished

bool is_message_ending()

Check if message cutscene ending

void skip()

Skip to end of cutscene

void register_entity(name: string, entity: Entity)

Register entity for cutscene

void unregister_entity(entity: Entity)

Unregister entity from cutscene

bool can_set_entity_position()

Check if can set entity position

void set_entity_hidden(name: string, hidden: bool)

Set cutscene entity hidden

void set_ped_component(name: string, component: int, drawable: int, texture: int)

Set ped component in cutscene

void set_ped_prop(name: string, prop_type: int, prop_index: int, texture: int)

Set ped prop in cutscene

void set_triggers(enabled: bool)

Set cutscene triggers enabled

void register_sync_entity(name: string, entity: Entity, bone_name: string = "", p3: int = 0, p4: int = 0)

Register synced entity

rope

Rope creation and manipulation

int create(x: float, y: float, z: float, rot_x: float, rot_y: float, rot_z: float, length: float, rope_type: int = 4, max_length: float = 0, min_length: float = 0.5, power: float = 0.5, winding: bool = false, rigid: bool = false, breakable: bool = false)

Create a rope

void delete(rope: int)

Delete a rope

void delete_all()

Delete all ropes

void set_length(rope: int, length: float)

Set rope length

float get_length(rope: int)

Get rope length

void force_length(rope: int, length: float)

Force rope to length

void reset_length(rope: int, reset: bool)

Reset rope length

void attach_entities(rope: int, entity1: Entity, entity2: Entity, x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, max_length: float, rigid: bool = false, ...)

Attach rope between entities

void detach_entity(rope: int, entity: Entity)

Detach entity from rope

void pin_vertex(rope: int, vertex: int, x: float, y: float, z: float)

Pin rope vertex

void unpin_vertex(rope: int, vertex: int)

Unpin rope vertex

int get_vertex_count(rope: int)

Get rope vertex count

table get_vertex_coords(rope: int, vertex: int)

Get rope vertex coords

void activate_physics(rope: int)

Activate rope physics

void freeze(rope: int, frozen: bool)

Freeze rope

void set_flag(rope: int, flag: int, value: bool)

Set rope flag

void set_draw_shadow(rope: int, enabled: bool)

Set rope shadow enabled

bool does_exist(rope: int)

Check if rope exists

void start_winding(rope: int)

Start winding rope

void stop_winding(rope: int)

Stop winding rope

void start_unwinding(rope: int)

Start unwinding rope

void stop_unwinding(rope: int)

Stop unwinding rope

void load_textures()

Load rope textures

void unload_textures()

Unload rope textures

bool are_textures_loaded()

Check if textures loaded

water

Water and wave functions

float get_height(x: float, y: float, z: float)

Get water height at coords

float get_height_no_waves(x: float, y: float, z: float)

Get water height without waves

table test_probe(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Test water probe

table test_vertical_probe(x: float, y: float, z: float)

Test vertical water probe

void reset()

Reset water to defaults

void modify_water(x: float, y: float, z: float, height: float, radius: float)

Modify water at coords

void add_extra_waves(x: float, y: float, waves: float, duration: float)

Add extra waves at coords

void set_deep_ocean_scaler(scale: float)

Set deep ocean wave scale

float get_deep_ocean_scaler()

Get deep ocean wave scale

void set_waves_intensity(intensity: float)

Set wave intensity

float get_waves_intensity()

Get wave intensity

fire

Fire creation and management

int start_at_coords(x: float, y: float, z: float, max_children: int = 3, is_gas_fire: bool = false)

Start fire at coordinates

int start_on_entity(entity: Entity)

Start fire on entity

void stop(fire: int)

Stop fire by handle

void stop_at_coords(x: float, y: float, z: float, range: float)

Stop fires near coords

void stop_on_entity(entity: Entity)

Stop fire on entity

int get_count_in_range(x: float, y: float, z: float, range: float)

Get fire count in range

table get_closest_coords(x: float, y: float, z: float, range: float)

Get closest fire coords

bool is_entity_on_fire(entity: Entity)

Check if entity is on fire

bool is_at_coords(x: float, y: float, z: float, range: float)

Check if fire at coords

void add_explosion(x: float, y: float, z: float, type: int, damage: float, audible: bool = true, invisible: bool = false, camera_shake: float = 0.0, owner: int = 0)

Add explosion

void add_owned_explosion(ped: Ped, x: float, y: float, z: float, type: int, damage: float, audible: bool = true, invisible: bool = false, camera_shake: float = 0.0)

Add owned explosion

bool is_explosion_at_coords(type: int, x: float, y: float, z: float, range: float)

Check if explosion at coords

bool is_explosion_active_in_area(type: int, x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Check if explosion active in area

int get_explosion_type(entity: Entity)

Get entity explosion type

int get_explosion_type_at_coords(x: float, y: float, z: float, range: float)

Get explosion type at coords

explosion_type

Explosion type constants

int GRENADE(0)

Standard grenade

int GRENADELAUNCHER(1)

Grenade launcher

int STICKYBOMB(2)

Sticky bomb

int MOLOTOV(3)

Molotov cocktail

int ROCKET(4)

Rocket

int TANKSHELL(5)

Tank shell

int HI_OCTANE(6)

Hi-octane

int CAR(7)

Car explosion

int PLANE(8)

Plane explosion

int PETROL_PUMP(9)

Petrol pump

int BIKE(10)

Bike explosion

int DIR_STEAM(11)

Directed steam

int DIR_FLAME(12)

Directed flame

int DIR_WATER_HYDRANT(13)

Water hydrant

int DIR_GAS_CANISTER(14)

Gas canister

int BOAT(15)

Boat explosion

int SHIP_DESTROY(16)

Ship destroy

int TRUCK(17)

Truck explosion

int BULLET(18)

Bullet impact

int SMOKEGRENADELAUNCHER(19)

Smoke grenade launcher

int SMOKEGRENADE(20)

Smoke grenade

int BZGAS(21)

BZ gas

int FLARE(22)

Flare

int GAS_CANISTER(23)

Gas canister

int EXTINGUISHER(24)

Fire extinguisher

int PROGRAMMABLEAR(25)

Programmable AR

int TRAIN(26)

Train explosion

int BARREL(27)

Barrel explosion

int PROPANE(28)

Propane tank

int BLIMP(29)

Blimp explosion

int DIR_FLAME_EXPLODE(30)

Dir flame explode

int TANKER(31)

Tanker explosion

int PLANE_ROCKET(32)

Plane rocket

int VEHICLE_BULLET(33)

Vehicle bullet

int GAS_TANK(34)

Gas tank

int BIRD_CRAP(35)

Bird crap

int RAILGUN(36)

Railgun

int BLIMP2(37)

Blimp 2

int FIREWORK(38)

Firework

int SNOWBALL(39)

Snowball

int PROXMINE(40)

Proximity mine

int VALKYRIE_CANNON(41)

Valkyrie cannon

int ORBITAL_CANNON(59)

Orbital cannon

decor

Entity decorator system for persistent data

bool set_int(entity: Entity, property: string, value: int)

Set int decorator

bool set_float(entity: Entity, property: string, value: float)

Set float decorator

bool set_bool(entity: Entity, property: string, value: bool)

Set bool decorator

int get_int(entity: Entity, property: string)

Get int decorator

float get_float(entity: Entity, property: string)

Get float decorator

bool get_bool(entity: Entity, property: string)

Get bool decorator

bool exists(entity: Entity, property: string)

Check if decorator exists

bool remove(entity: Entity, property: string)

Remove decorator

void register(property: string, type: int)

Register decorator property

bool is_registered(property: string, type: int)

Check if property registered

dlc

DLC content and checks

bool is_present(dlc_hash: int)

Check if DLC is present

bool get_extra_content_pack_has_been_installed()

Check if extra content installed

bool is_mpcar_mod_dlc_unlocked(hash: int)

Check MP car mod DLC unlock

int get_dlc_vehicle_model(dlc_index: int)

Get DLC vehicle model

int get_dlc_weapon_model(dlc_index: int)

Get DLC weapon model

table get_dlc_vehicle_data(dlc_index: int)

Get DLC vehicle data

int get_num_dlc_vehicles()

Get number of DLC vehicles

int get_num_dlc_weapons()

Get number of DLC weapons

table get_dlc_weapon_data(dlc_index: int, weapon_index: int)

Get DLC weapon data

table get_dlc_weapon_component_data(dlc_index: int, weapon_index: int, component_index: int)

Get DLC weapon component data

mobile

Mobile phone functions

void create(scale: int = 1)

Create mobile phone

void destroy()

Destroy mobile phone

void set_position(x: float, y: float, z: float = 0)

Set phone position

table get_position()

Get phone position

void set_rotation(rx: float, ry: float, rz: float)

Set phone rotation

table get_rotation()

Get phone rotation

void scale_form_move_finger(direction: int)

Move finger on phone

void set_script_can_use_phone(can_use: bool)

Allow script phone use

bool can_player_use_phone()

Check if player can use phone

bool is_phone_open()

Check if phone is open

bool is_phone_visible()

Check if phone is visible

void close_phone()

Close the phone

void start_phone_call(call_name: string, caller: string, unknown: bool = false)

Start phone call

void stop_phone_call()

Stop phone call

bool is_phone_call_in_progress()

Check if call in progress

void set_sleep_mode_active(active: bool)

Set sleep mode active

app

In-game apps and features

bool has_loaded(app_name: string)

Check if app loaded

void delete(app_name: string)

Delete app instance

int get_int(property: string)

Get app int value

float get_float(property: string)

Get app float value

string get_string(property: string)

Get app string value

void set_int(property: string, value: int)

Set app int value

void set_float(property: string, value: float)

Set app float value

void set_string(property: string, value: string)

Set app string value

void set_block(property: string)

Set app block value

void close()

Close current app

bool save_data()

Save app data

socialclub

Social Club features

bool is_signed_in()

Check if signed in to SC

string get_local_sc_profile_id()

Get local SC profile ID

bool is_valid_sc_name(name: string)

Check if valid SC name

int get_num_players_in_crew(crew_id: int)

Get number of crew members

int get_player_crew_rank(player: int)

Get player's crew rank

bool is_player_in_same_crew(player: int)

Check if player in same crew

string get_crew_tag_string(crew_id: int)

Get crew tag string

money

Money and banking functions

int get_wallet()

Get wallet balance

int get_bank()

Get bank balance

int get_total()

Get total money

void set_wallet(amount: int)

Set wallet balance

void set_bank(amount: int)

Set bank balance

void add_cash(amount: int)

Add cash to wallet

void remove_cash(amount: int)

Remove cash from wallet

stat_ext

Extended stat manipulation

int get_int(stat_name: string)

Get int stat value

float get_float(stat_name: string)

Get float stat value

bool get_bool(stat_name: string)

Get bool stat value

string get_string(stat_name: string)

Get string stat value

table get_date(stat_name: string)

Get date stat value

int get_masked_int(stat_name: string, num_bits: int, bit_shift: int)

Get masked int stat

void set_int(stat_name: string, value: int)

Set int stat value

void set_float(stat_name: string, value: float)

Set float stat value

void set_bool(stat_name: string, value: bool)

Set bool stat value

void set_string(stat_name: string, value: string)

Set string stat value

void set_date(stat_name: string, year: int, month: int, day: int, hour: int, minute: int, second: int)

Set date stat value

void set_masked_int(stat_name: string, value: int, num_bits: int, bit_shift: int)

Set masked int stat

void increment_int(stat_name: string, value: int)

Increment int stat

void increment_float(stat_name: string, value: float)

Increment float stat

int get_hash(stat_name: string)

Get stat name hash

void save(save_cloud: bool = false)

Save stats to profile

void clear_slot(slot: int)

Clear stat slot for save

unlock

Unlock game content

void achievement(achievement_id: int)

Unlock achievement

bool is_achievement_unlocked(achievement_id: int)

Check if achievement unlocked

void all_achievements()

Unlock all achievements

void clothing()

Unlock all clothing

void hairstyles()

Unlock all hairstyles

void tattoos()

Unlock all tattoos

void weapons()

Unlock all weapons

void weapon_attachments()

Unlock all weapon attachments

void liveries()

Unlock all vehicle liveries

void all_vehicle_mods()

Unlock all vehicle mods

recovery

Recovery and grinding helpers

void set_rp_level(level: int)

Set RP level

int get_rp_level()

Get current RP level

void set_rp_exact(rp: int)

Set exact RP amount

int get_rp_exact()

Get exact RP amount

int get_rp_for_level(level: int)

Get RP needed for level

void max_skills()

Max all skills

void reset_skills()

Reset all skills

void set_skill_level(skill: string, level: float)

Set specific skill level

float get_skill_level(skill: string)

Get specific skill level

void clear_bad_sport()

Clear bad sport status

int get_bad_sport_value()

Get bad sport value

void set_kd_ratio(kills: int, deaths: int)

Set K/D ratio

protection

Protection against other players

void block_crashes(enabled: bool)

Block crash attempts

void block_kicks(enabled: bool)

Block kick attempts

void block_freeze(enabled: bool)

Block freeze attempts

void block_invisible(enabled: bool)

Block invisible attacks

void block_bounty(enabled: bool)

Block bounty setting

void block_ceo_kick(enabled: bool)

Block CEO kicks

void block_ceo_ban(enabled: bool)

Block CEO bans

void block_requests(enabled: bool)

Block all requests

void block_blame(enabled: bool)

Block blame setting

void block_off_radar(enabled: bool)

Block off-radar reveals

void block_sound_spam(enabled: bool)

Block sound spam

void block_sync(enabled: bool)

Block sync attacks

string get_last_attacker()

Get last attacker name

table get_attack_log()

Get attack log

void clear_attack_log()

Clear attack log

tunable

Game tunable modification

int get_int(hash: int)

Get int tunable

float get_float(hash: int)

Get float tunable

bool get_bool(hash: int)

Get bool tunable

void set_int(hash: int, value: int)

Set int tunable

void set_float(hash: int, value: float)

Set float tunable

void set_bool(hash: int, value: bool)

Set bool tunable

void reset(hash: int)

Reset tunable to default

void reset_all()

Reset all tunables

table get_by_name(name: string)

Get tunable by name

void set_by_name(name: string, value: any)

Set tunable by name

model

Model loading and info

bool is_valid(hash: int)

Check if model hash is valid

bool is_in_cd_image(hash: int)

Check if model in CD image

bool is_loaded(hash: int)

Check if model is loaded

void request(hash: int)

Request model to load

void release(hash: int)

Release loaded model

table get_dimensions(hash: int)

Get model dimensions

int get_hash(name: string)

Get hash from model name

bool is_vehicle(hash: int)

Check if vehicle model

bool is_ped(hash: int)

Check if ped model

bool is_object(hash: int)

Check if object model

bool is_bike(hash: int)

Check if bike model

bool is_car(hash: int)

Check if car model

bool is_boat(hash: int)

Check if boat model

bool is_heli(hash: int)

Check if heli model

bool is_plane(hash: int)

Check if plane model

bool is_train(hash: int)

Check if train model

bool is_weapon(hash: int)

Check if weapon model

bool wait_for_load(hash: int, timeout_ms: int = 5000)

Wait for model to load

string get_name(hash: int)

Get model name from hash

pickup

Pickup creation and manipulation

int create(hash: int, x: float, y: float, z: float, flags: int = 0, value: int = 0, regen_time: int = -1)

Create pickup at coords

int create_ambient(hash: int, x: float, y: float, z: float, flags: int = 0, value: int = 0)

Create ambient pickup

int create_portable(hash: int, x: float, y: float, z: float, place_on_ground: bool = true)

Create portable pickup

int create_weapon(weapon_hash: int, x: float, y: float, z: float, ammo: int = 100, flags: int = 0)

Create weapon pickup

int create_money(x: float, y: float, z: float, amount: int)

Create money pickup

int create_health(x: float, y: float, z: float)

Create health pickup

int create_armour(x: float, y: float, z: float)

Create armour pickup

void delete(pickup: int)

Delete pickup

bool does_exist(pickup: int)

Check if pickup exists

table get_coords(pickup: int)

Get pickup coordinates

int get_object(pickup: int)

Get pickup object handle

bool has_been_collected(pickup: int)

Check if collected

void set_regeneration_time(pickup: int, time: int)

Set regen time

int get_amount(pickup: int)

Get pickup value

void highlight(pickup: int, toggle: bool)

Highlight pickup

void set_can_be_collected(pickup: int, can_collect: bool)

Set can be collected

prop

Prop/object spawning and manipulation

int create(hash: int, x: float, y: float, z: float, is_network: bool = true, this_script_check: bool = false, dynamic: bool = true)

Create prop at coords

int create_no_offset(hash: int, x: float, y: float, z: float, is_network: bool = true, this_script_check: bool = false, dynamic: bool = true)

Create without ground offset

int create_attached(hash: int, entity: Entity, bone: int, x: float, y: float, z: float, rx: float, ry: float, rz: float, is_network: bool = true)

Create attached to entity

void delete(object: int)

Delete prop

void delete_nearby(x: float, y: float, z: float, radius: float, hash: int = 0)

Delete nearby props

int get_nearest(x: float, y: float, z: float, radius: float, hash: int = 0, mission_objects: bool = false)

Get nearest prop

bool does_exist(object: int)

Check if prop exists

table get_coords(object: int)

Get prop coordinates

void set_coords(object: int, x: float, y: float, z: float)

Set prop coordinates

table get_rotation(object: int)

Get prop rotation

void set_rotation(object: int, rx: float, ry: float, rz: float)

Set prop rotation

float get_heading(object: int)

Get prop heading

void set_heading(object: int, heading: float)

Set prop heading

void freeze(object: int, frozen: bool)

Freeze prop position

void set_visible(object: int, visible: bool)

Set prop visibility

void set_dynamic(object: int, dynamic: bool)

Set prop dynamic

bool place_on_ground(object: int)

Place prop on ground

table get_offset_from_entity(object: int, entity: Entity)

Get offset from entity

bool has_physics(object: int)

Check if has physics

void activate_physics(object: int)

Activate physics

void set_physics_params(object: int, mass: float, gravity: float, ...)

Set physics parameters

void break_object(object: int, destroy: bool)

Break breakable object

bool is_broken(object: int)

Check if object broken

int get_fragment_owner(object: int)

Get fragment owner

void set_state(object: int, state: int)

Set object state

int get_state(object: int)

Get object state

door

Door manipulation

void register(door_hash: int, x: float, y: float, z: float, unknown: bool = false)

Register door for script

void remove(door_hash: int)

Remove door registration

int get_state(door_hash: int)

Get door state

void set_state(door_hash: int, state: int, request_door: bool = true, force: bool = false)

Set door state

bool is_closed(door_hash: int)

Check if door closed

float get_open_ratio(door_hash: int)

Get door open ratio

void set_open_ratio(door_hash: int, ratio: float, request_door: bool = true, force: bool = false)

Set door open ratio

void set_locked(door_hash: int, locked: bool)

Set door locked state

void set_hold_open(door_hash: int, hold: bool)

Set door hold open

void set_automatic_rate(door_hash: int, rate: float)

Set automatic rate

void set_automatic_distance(door_hash: int, distance: float)

Set automatic distance

void set_physics_disabled(door_hash: int, disabled: bool)

Disable door physics

int get_soundset_hash(door_hash: int)

Get door soundset

garage

Personal garage functions

int get_vehicle_count(garage_index: int)

Get vehicles in garage

int get_vehicle_at_slot(garage_index: int, slot: int)

Get vehicle at slot

bool store_vehicle(vehicle: Vehicle, garage_index: int, slot: int = -1)

Store vehicle in garage

bool is_vehicle_stored(vehicle: Vehicle)

Check if vehicle stored

int get_stored_vehicle_garage(vehicle: Vehicle)

Get garage for vehicle

Vehicle retrieve_vehicle(garage_index: int, slot: int)

Retrieve vehicle from garage

string get_garage_name(garage_index: int)

Get garage name

table get_garage_coords(garage_index: int)

Get garage coordinates

int get_num_garages()

Get number of garages

bool is_garage_full(garage_index: int)

Check if garage full

int get_free_slot(garage_index: int)

Get first free slot

anim

Animation playback and control

void request_dict(dict: string)

Request animation dictionary

bool has_dict_loaded(dict: string)

Check if dict loaded

void remove_dict(dict: string)

Remove animation dictionary

float get_length(dict: string, name: string)

Get animation length

void play_on_ped(ped: Ped, dict: string, name: string, blend_in: float = 8.0, blend_out: float = -8.0, duration: int = -1, flag: int = 0, playback_rate: float = 0, lock_x: bool = false, lock_y: bool = false, lock_z: bool = false)

Play animation on ped

void play_on_entity(entity: Entity, dict: string, name: string, blend_in: float = 8.0, blend_out: float = -8.0, duration: int = -1, flag: int = 0, playback_rate: float = 0)

Play animation on entity

void stop(entity: Entity, dict: string, name: string, blend_out: float = 3.0)

Stop animation on entity

void stop_all(entity: Entity)

Stop all animations on entity

bool is_playing(entity: Entity, dict: string, name: string)

Check if animation playing

float get_current_time(entity: Entity, dict: string, name: string)

Get current playback time

void set_current_time(entity: Entity, dict: string, name: string, time: float)

Set current playback time

void set_speed(entity: Entity, dict: string, name: string, speed: float)

Set animation speed

bool wait_for_dict(dict: string, timeout_ms: int = 5000)

Wait for dict to load

scenario

Scenario and ambient behavior

void play_at_coords(ped: Ped, scenario: string, x: float, y: float, z: float, heading: float = 0, duration: int = 0, sitting: bool = false, teleport: bool = true)

Play scenario at coords

void play_in_place(ped: Ped, scenario: string, duration: int = 0, play_enter_anim: bool = true)

Play scenario in place

void stop(ped: Ped)

Stop ped's scenario

bool is_playing(ped: Ped)

Check if ped playing scenario

bool is_playing_type(ped: Ped, scenario: string)

Check if playing scenario type

bool does_exist(x: float, y: float, z: float, range: float)

Check if scenario exists at coords

bool does_type_exist(x: float, y: float, z: float, scenario: string, range: float)

Check if scenario type exists

table get_type_in_area(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Get scenario types in area

void enable_group(group: string)

Enable scenario group

void disable_group(group: string)

Disable scenario group

void reset_group(group: string)

Reset scenario group

void set_exclusive(x: float, y: float, z: float, range: float, exclusive: bool)

Set exclusive scenario

int create_point(x: float, y: float, z: float, heading: float, scenario: string)

Create scenario point

void delete_point(point: int)

Delete scenario point

relationship

Relationship group management

int create_group(name: string)

Create relationship group

void remove_group(group: int)

Remove relationship group

bool does_group_exist(group: int)

Check if group exists

void set_between_groups(relationship: int, group1: int, group2: int)

Set relationship between groups

int get_between_groups(group1: int, group2: int)

Get relationship between groups

int get_default_group()

Get default relationship group

int get_group_hash(name: string)

Get relationship group hash

int get_hash_from_name(name: string)

Get hash from group name

int COMPANION(0)

Companion relationship constant

int RESPECT(1)

Respect relationship constant

int LIKE(2)

Like relationship constant

int NEUTRAL(3)

Neutral relationship constant

int DISLIKE(4)

Dislike relationship constant

int HATE(5)

Hate relationship constant

int PEDESTRIANS(hash)

Pedestrians group hash

int PLAYER(hash)

Player group hash

int CIVMALE(hash)

Civilian male group hash

int CIVFEMALE(hash)

Civilian female group hash

int COP(hash)

Cop group hash

int FIREMAN(hash)

Fireman group hash

int MEDIC(hash)

Medic group hash

int GANG(hash)

Gang group hash

pathfind

Pathfinding and navigation mesh

table get_closest_vehicle_node(x: float, y: float, z: float, node_type: int = 0)

Get closest road node

table get_closest_vehicle_node_with_heading(x: float, y: float, z: float, node_type: int = 0)

Get road node with heading

table get_nth_closest_vehicle_node(x: float, y: float, z: float, n: int, node_type: int = 0)

Get nth closest node

table get_nth_closest_vehicle_node_with_heading(x: float, y: float, z: float, n: int, node_type: int = 0)

Get nth node with heading

table get_safe_coord_for_ped(x: float, y: float, z: float, on_sidewalk: bool = true)

Get safe coord for ped

table get_closest_sidewalk_pos(x: float, y: float, z: float)

Get closest sidewalk position

bool is_point_on_road(x: float, y: float, z: float)

Check if point is on road

table get_road_flags(x: float, y: float, z: float)

Get road flags at coords

bool is_road_blocked(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Check if road is blocked

table get_closest_major_vehicle_node(x: float, y: float, z: float)

Get closest major road

table get_random_vehicle_node(x: float, y: float, z: float, radius: float)

Get random road node in area

table generate_directions(start_x: float, start_y: float, start_z: float, end_x: float, end_y: float, end_z: float)

Generate GPS directions

int add_navmesh_blocking_object(x: float, y: float, z: float, width: float, length: float, height: float, heading: float, flags: int = 0)

Add navmesh blocker

void remove_navmesh_blocking_object(handle: int)

Remove navmesh blocker

bool does_navmesh_blocking_exist(handle: int)

Check if blocker exists

int get_navmesh_poly_flags(x: float, y: float, z: float)

Get navmesh polygon flags

bool is_navmesh_loaded(x: float, y: float, z: float)

Check if navmesh loaded

void load_all_paths_now()

Load all paths at once

void set_roads_back_to_original(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Reset roads to original

void set_roads_in_area(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, unknown: bool, p7: bool)

Modify roads in area

void set_roads_in_angled_area(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, width: float, unknown: bool, p8: bool, p9: bool)

Modify roads in angled area

traffic

Traffic and ambient AI control

void set_parked_density(density: float)

Set parked car density

void set_random_density(density: float)

Set random car density

void set_ped_density(density: float)

Set ped density

void set_scenario_ped_density(density: float)

Set scenario ped density

void suppress_ambient_peds(x: float, y: float, z: float, radius: float)

Suppress ambient peds

void suppress_ambient_vehicles(x: float, y: float, z: float, radius: float)

Suppress ambient vehicles

void suppress_all(x: float, y: float, z: float, radius: float)

Suppress all ambient traffic

void clear_area(x: float, y: float, z: float, radius: float, include_cops: bool = true)

Clear area of vehicles

void clear_area_of_peds(x: float, y: float, z: float, radius: float)

Clear area of peds

void clear_area_of_vehicles(x: float, y: float, z: float, radius: float, include_cops: bool = true, include_aircraft: bool = false)

Clear area of vehicles

void clear_area_of_objects(x: float, y: float, z: float, radius: float)

Clear area of objects

void clear_area_of_cops(x: float, y: float, z: float, radius: float)

Clear area of cops only

void clear_area_of_everything(x: float, y: float, z: float, radius: float)

Clear area of everything

void set_all_random_vehicle_locks(lock_state: int)

Set all random vehicle locks

void remove_vehicles_from_generators(x: float, y: float, z: float, radius: float)

Remove from generators

void disable_vehicle_generators(disabled: bool)

Disable vehicle generators

void enable_vehicle_generators(enabled: bool)

Enable vehicle generators

int add_temporary_vehicle(x: float, y: float, z: float, heading: float, hash: int)

Add temporary vehicle

Vehicle get_random_vehicle_in_area(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Get random vehicle in area

Vehicle get_closest_vehicle(x: float, y: float, z: float, radius: float, hash: int = 0, flags: int = 70)

Get closest vehicle

zone

Zone detection and management

int get_at_coords(x: float, y: float, z: float)

Get zone at coordinates

string get_name_at_coords(x: float, y: float, z: float)

Get zone name at coords

int get_from_name(name: string)

Get zone ID from name

table get_pos_and_size(zone: int)

Get zone position and size

int get_zone_popschedule(zone: int)

Get zone pop schedule

void set_zone_enabled(zone: int, enabled: bool)

Set zone enabled state

int get_zone_scumminess(zone: int)

Get zone scumminess value

void trigger_vinewood_sign()

Trigger Vinewood sign

void override_popschedule_ambient(schedule: int, percentage: int)

Override ambient pop

void clear_popschedule_ambient()

Clear ambient pop override

bool is_entity_in_zone(entity: Entity, zone: string)

Check if entity in zone

bool is_coords_in_zone(x: float, y: float, z: float, zone: string)

Check if coords in zone

minimap

Minimap and radar control

void show()

Show minimap

void hide()

Hide minimap

bool is_visible()

Check if minimap visible

void toggle_extended(toggle: bool)

Toggle extended radar

bool is_extended()

Check if extended radar

void set_zoom(zoom: int)

Set radar zoom level

int get_zoom()

Get radar zoom level

void set_zoom_to_blip_radius(blip: int)

Zoom to blip radius

void lock_minimap_position(x: float, y: float)

Lock minimap position

void unlock_minimap_position()

Unlock minimap position

void set_radius_scale(scale: float)

Set radius scale

void center_on_player()

Center on player

void clamp_to_area(x1: float, y1: float, x2: float, y2: float)

Clamp to area

void clear_clamp()

Clear area clamp

void refresh()

Refresh minimap

void flash_blip_on_minimap(blip: int)

Flash blip on minimap

void set_player_blip_position(x: float, y: float)

Set player blip position

void set_minimap_component(component: int, toggle: bool)

Set minimap component

scaleform

Scaleform movie control

int request(name: string)

Request scaleform movie

int request_with_movie(name: string)

Request with movie file

bool has_loaded(handle: int)

Check if scaleform loaded

bool has_method(handle: int, method: string)

Check if method exists

void call_void(handle: int, method: string, ...)

Call method with no return

int call_int(handle: int, method: string, ...)

Call method returning int

bool call_bool(handle: int, method: string, ...)

Call method returning bool

string call_string(handle: int, method: string, ...)

Call method returning string

float call_float(handle: int, method: string, ...)

Call method returning float

void begin_method(handle: int, method: string)

Begin scaleform method call

void push_int(value: int)

Push int parameter

void push_float(value: float)

Push float parameter

void push_bool(value: bool)

Push bool parameter

void push_string(value: string)

Push string parameter

void end_method()

End method call

any end_method_return()

End method and get return

void draw(handle: int, x: float, y: float, width: float, height: float, r: int = 255, g: int = 255, b: int = 255, a: int = 255)

Draw scaleform on screen

void draw_fullscreen(handle: int, r: int = 255, g: int = 255, b: int = 255, a: int = 255)

Draw fullscreen scaleform

void draw_3d(handle: int, x: float, y: float, z: float, rx: float, ry: float, rz: float, ...)

Draw scaleform in 3D world

void set_free(handle: int)

Free scaleform movie

bool wait_for_load(handle: int, timeout_ms: int = 5000)

Wait for scaleform to load

movie

Video file playback

void play(name: string)

Play bink movie

void stop()

Stop current movie

bool is_playing()

Check if movie playing

float get_position()

Get playback position

float get_duration()

Get movie duration

void set_volume(volume: float)

Set movie volume

void draw(x: float, y: float, width: float, height: float)

Draw movie on screen

void release()

Release movie

ptfx

Particle effects system

void request_asset(asset_name: string)

Request particle asset

bool has_asset_loaded(asset_name: string)

Check if asset loaded

void remove_asset(asset_name: string)

Remove particle asset

void set_asset(asset_name: string)

Set current particle asset

int start_at_coords(effect_name: string, x: float, y: float, z: float, rx: float = 0, ry: float = 0, rz: float = 0, scale: float = 1.0, axis_x: bool = false, axis_y: bool = false, axis_z: bool = false)

Start particle at coords

int start_on_entity(effect_name: string, entity: Entity, x_offset: float = 0, y_offset: float = 0, z_offset: float = 0, rx: float = 0, ry: float = 0, rz: float = 0, scale: float = 1.0, axis_x: bool = false, axis_y: bool = false, axis_z: bool = false)

Start particle on entity

int start_on_ped_bone(effect_name: string, ped: Ped, bone_id: int, x_offset: float = 0, y_offset: float = 0, z_offset: float = 0, rx: float = 0, ry: float = 0, rz: float = 0, scale: float = 1.0, axis_x: bool = false, axis_y: bool = false, axis_z: bool = false)

Start particle on ped bone

void stop(handle: int)

Stop particle effect

void stop_immediately(handle: int)

Stop particle immediately

bool exists(handle: int)

Check if particle exists

void set_offset(handle: int, x: float, y: float, z: float)

Set particle offset

void set_rotation(handle: int, rx: float, ry: float, rz: float)

Set particle rotation

void set_scale(handle: int, scale: float)

Set particle scale

void set_evolution(handle: int, property: string, value: float)

Set particle evolution

void set_color(handle: int, r: int, g: int, b: int)

Set particle color

void set_alpha(handle: int, alpha: float)

Set particle alpha

void set_far_clip(distance: float)

Set far clip distance

void set_near_clip(distance: float)

Set near clip distance

void enable_bullet_impact_fx(enabled: bool)

Enable bullet impact FX

void remove_all()

Remove all particle effects

bool wait_for_asset(asset_name: string, timeout_ms: int = 5000)

Wait for asset to load

audio_ext

Extended audio and sound functions

int play_sound(sound_name: string, sound_set: string = "")

Play sound by ID

int play_sound_at_coords(sound_name: string, x: float, y: float, z: float, sound_set: string = "", range: float = 0)

Play sound at position

int play_sound_from_entity(sound_name: string, entity: Entity, sound_set: string = "", is_network: bool = false)

Play sound from entity

int play_sound_from_ped(ped: Ped, sound_name: string, sound_set: string = "")

Play sound from ped

void stop_sound(sound_id: int)

Stop sound by ID

void release_sound_id(sound_id: int)

Release sound ID

bool has_sound_finished(sound_id: int)

Check if sound finished

void set_sound_volume(sound_id: int, volume: float)

Set sound volume

bool request_script_audio_bank(bank_name: string, network: bool = false)

Request audio bank

void release_script_audio_bank()

Release audio bank

void play_mission_complete_audio(audio_name: string)

Play mission complete

bool is_mission_complete_playing()

Check if playing

void stop_mission_complete_audio()

Stop mission complete

void set_ambient_zone_enabled(zone: string, enabled: bool)

Enable ambient zone

bool is_ambient_zone_enabled(zone: string)

Check if zone enabled

void set_static_emitter_enabled(emitter: string, enabled: bool)

Enable static emitter

bool prepare_music_event(event_name: string)

Prepare music event

bool trigger_music_event(event_name: string)

Trigger music event

bool cancel_music_event(event_name: string)

Cancel music event

void set_radio_to_station_name(station_name: string)

Set radio station

void set_mobile_radio_enabled(enabled: bool)

Enable mobile radio

bool is_mobile_radio_enabled()

Check mobile radio

void set_user_radio_control_enabled(enabled: bool)

Enable user radio control

void skip_radio_forward()

Skip radio track forward

void set_radio_retune_up()

Retune radio up

void set_radio_retune_down()

Retune radio down

string get_player_radio_station_name()

Get current station name

int get_player_radio_station_index()

Get current station index

void set_entity_voice(entity: Entity, voice: string)

Set entity voice

void set_entity_angry_voice(entity: Entity, voice: string)

Set entity angry voice

void stop_speech(entity: Entity)

Stop entity speech

void disable_ped_pain_audio(ped: Ped, disabled: bool)

Disable ped pain audio

void play_ped_ambient_speech(ped: Ped, speech_name: string, speech_param: string = "SPEECH_PARAMS_STANDARD")

Play ambient speech

void play_ped_scripted_speech(ped: Ped, speech_name: string, speech_param: string = "SPEECH_PARAMS_STANDARD")

Play scripted speech

bool is_any_speech_playing(ped: Ped)

Check if speech playing

hud

HUD display functions

r: int, g: int, b: int, a: int get_hud_colour(index: int)

Look up one of GTA's built-in HUD palette colours so native UIs can match the game's own theme. Common indices: 0/1 white, 8 grey, 116 freemode blue, 143 red, 145 green. Returns 0-255 components. (alias: get_hud_color)

void draw_text(text: string, x, y, scale=0.35, r=255, g=255, b=255, a=255, font=0)

Draw native game text at 0-1 normalised coords (x,y = top-left).

void draw_text_centered(text: string, x, y, scale=0.35, r=255, g=255, b=255, a=255)

Draw native game text centred horizontally on x.

float get_text_width(text: string, scale=0.35, font=0)

Measure native text width (0-1 normalised).

void show()

Show HUD

void hide()

Hide HUD

bool is_visible()

Check if HUD visible

void show_component(component: int)

Show HUD component

void hide_component(component: int)

Hide HUD component

bool is_component_active(component: int)

Check if component active

void display_ammo_this_frame(show: bool)

Display ammo this frame

void display_cash(show: bool)

Display cash HUD

void set_multiplayer_wallet(amount: int)

Set wallet display

void set_multiplayer_bank(amount: int)

Set bank display

void display_area_name(show: bool)

Display area name

void display_vehicle_name(show: bool)

Display vehicle name

string get_street_name_at_coords(x: float, y: float, z: float)

Get street name at coords

string get_area_name_at_coords(x: float, y: float, z: float)

Get area name at coords

void display_wanted_level(show: bool)

Display wanted level HUD

void set_wanted_stars_visible(visible: bool)

Set wanted stars visible

table get_waypoint_coords()

Get waypoint coordinates

void set_waypoint(x: float, y: float)

Set waypoint on map

bool is_waypoint_active()

Check if waypoint is set

void remove_waypoint()

Remove waypoint

void flash_wanted_display(flash: bool)

Flash wanted display

void clear_all_help_messages()

Clear all help messages

void clear_brief()

Clear brief display

void clear_prints()

Clear all prints

void clear_small_prints()

Clear small prints

void set_big_map_active(active: bool, full: bool)

Set big map active

bool is_big_map_active()

Check if big map active

bool is_big_map_full()

Check if big map full

loading

Loading screen and transitions

void start_new_scene()

Start new loading scene

void stop_new_scene()

Stop loading scene

bool is_new_scene_loading()

Check if scene loading

void set_loading_prompt(message: string, spinner_type: int = 3)

Set loading prompt text

void remove_loading_prompt()

Remove loading prompt

bool is_loading_prompt_showing()

Check if prompt showing

void switch_out_player(ped: Ped, flags: int = 0, switch_type: int = 0)

Switch out player

void switch_in_player(ped: Ped)

Switch in player

int get_player_switch_state()

Get switch state

bool is_player_switch_in_progress()

Check if switch in progress

void do_screen_fade_in(duration: int = 1000)

Fade screen in

void do_screen_fade_out(duration: int = 1000)

Fade screen out

bool is_screen_faded_in()

Check if faded in

bool is_screen_faded_out()

Check if faded out

bool is_screen_fading_in()

Check if fading in

bool is_screen_fading_out()

Check if fading out

gps

GPS routing and navigation

void set_route_active(active: bool)

Set route active

bool is_route_active()

Check if route active

void clear_route()

Clear GPS route

void add_point_to_route(x: float, y: float, z: float)

Add point to route

void set_route_render_settings(min_thickness: float, max_thickness: float, color: int)

Set route render settings

void set_player_inverted_route(enabled: bool)

Set inverted routing

void set_route_to_blip(blip: int)

Set route to blip

void clear_route_to_blip(blip: int)

Clear route to blip

float get_distance_to_waypoint()

Get distance to waypoint

void set_custom_route_color(r: int, g: int, b: int, a: int = 255)

Set custom route color

void clear_custom_route_color()

Clear custom route color

void set_flashing(flashing: bool)

Set route flashing

void display_route_on_minimap(display: bool)

Show route on minimap

math_util

Math utility functions

float distance_2d(x1: float, y1: float, x2: float, y2: float)

Calculate 2D distance

float distance_3d(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Calculate 3D distance

float deg_to_rad(degrees: float)

Convert degrees to radians

float rad_to_deg(radians: float)

Convert radians to degrees

table heading_to_direction(heading: float)

Convert heading to direction

float direction_to_heading(x: float, y: float)

Convert direction to heading

table rotate_around_axis(x: float, y: float, z: float, ax: float, ay: float, az: float, angle: float)

Rotate point around axis

float lerp(a: float, b: float, t: float)

Linear interpolation

table lerp_vectors(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, t: float)

Interpolate vectors

float clamp(value: float, min: float, max: float)

Clamp value to range

float normalize_heading(heading: float)

Normalize heading 0-360

float random_in_range(min: float, max: float)

Random float in range

int random_int_in_range(min: int, max: int)

Random int in range

table get_random_position_in_circle(x: float, y: float, radius: float)

Random pos in circle

table get_random_position_in_sphere(x: float, y: float, z: float, radius: float)

Random pos in sphere

table screen_to_world(screen_x: float, screen_y: float)

Convert screen to world coords

table world_to_screen(x: float, y: float, z: float)

Convert world to screen coords

float get_angle_between_vectors(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Get angle between vectors

dispatch

Police and emergency dispatch control

void enable_dispatch_service(service: int, enabled: bool)

Enable dispatch service

void block_dispatch_service(service: int, blocked: bool)

Block dispatch service

void set_max_wanted_level(level: int)

Set max wanted level

int get_max_wanted_level()

Get max wanted level

void set_wanted_level_multiplier(multiplier: float)

Set wanted multiplier

void set_wanted_level_difficulty(difficulty: float)

Set wanted difficulty

void set_police_ignore_player(ped: Ped, ignore: bool)

Police ignore player

void set_everyone_ignore_player(ped: Ped, ignore: bool)

Everyone ignore player

void set_player_wanted_level(player: int, level: int, disablecop: bool = false)

Set player wanted level

void set_player_wanted_level_no_drop(player: int, level: int, disablecop: bool = false)

Set wanted no drop

int get_player_wanted_level(player: int)

Get player wanted level

void clear_player_wanted_level(player: int)

Clear wanted level

void set_fake_wanted_level(level: int)

Set fake wanted level

int get_fake_wanted_level()

Get fake wanted level

void report_crime(player: int, crime_type: int, wanted_level_bonus: int)

Report crime to police

void suppress_crime(player: int, crime_type: int)

Suppress crime report

void create_police_car_around_player(player: int)

Spawn police car nearby

int POLICE_SERVICE(1)

Police dispatch constant

int AMBULANCE_SERVICE(2)

Ambulance dispatch constant

int FIRE_SERVICE(3)

Fire dispatch constant

online

Online session management

bool is_in_session()

Check if in online session

bool is_session_active()

Check if session active

bool is_session_started()

Check if session started

bool is_transition_started()

Check if transition started

bool is_transition_finished()

Check if transition finished

void leave_session()

Leave current session

void find_new_session()

Find a new session

void join_session_by_info(session_info: table)

Join by session info

int get_session_type()

Get current session type

void set_session_type(type: int)

Set session type

int get_player_count()

Get player count in session

int get_max_players()

Get max player count

bool is_host()

Check if session host

int get_host()

Get session host player

void kick_player(player: int)

Kick player from session

bool is_player_valid(player: int)

Check if player is valid

string get_player_name(player: int)

Get player name

Ped get_player_ped(player: int)

Get player's ped

table get_player_coords(player: int)

Get player coordinates

void send_chat_message(message: string, team_only: bool = false)

Send chat message

table get_chat_messages()

Get recent chat messages

business

CEO/MC business functions

bool is_ceo()

Check if player is CEO

bool is_mc_president()

Check if MC president

bool is_in_organization()

Check if in organization

bool is_in_mc()

Check if in MC

int get_organization_type()

Get organization type

string get_organization_name()

Get organization name

table get_organization_color()

Get organization color

void register_as_ceo()

Register as CEO

void register_as_mc()

Register as MC president

void retire()

Retire from organization

int get_associate_count()

Get associate/prospect count

table get_associates()

Get associates list

void invite_player(player: int)

Invite player to org

void kick_member(player: int)

Kick member from org

void disband()

Disband organization

void request_bullshark()

Request bull shark testosterone

void request_ammo_drop()

Request ammo drop

void request_helicopter()

Request helicopter

void request_backup()

Request backup

void ghost_organization()

Enable ghost organization

void bribe_authorities()

Bribe authorities

void set_bounty(player: int, amount: int)

Set bounty on player

int get_warehouse_count()

Get warehouse count

int get_warehouse_stock(warehouse: int)

Get warehouse stock

void sell_warehouse(warehouse: int)

Sell warehouse contents

casino

Casino and gambling functions

int get_chips()

Get casino chips

void set_chips(amount: int)

Set casino chips

void add_chips(amount: int)

Add casino chips

void buy_chips(amount: int)

Buy chips with cash

void cash_out_chips(amount: int)

Cash out chips

void spin_wheel()

Spin lucky wheel

bool get_daily_spin_available()

Check if daily spin available

void play_slots(machine_id: int, bet: int)

Play slot machine

void play_blackjack(table_id: int, bet: int)

Play blackjack

void play_roulette(table_id: int)

Play roulette

void play_poker(table_id: int)

Play poker

bool get_penthouse_owned()

Check if penthouse owned

table get_heist_progress()

Get heist progress

heist

Heist setup and management

int get_active_heist()

Get active heist type

float get_heist_progress(heist_type: int)

Get heist progress

bool is_heist_setup_complete(heist_type: int)

Check if setup complete

int get_take(heist_type: int)

Get heist take amount

void set_approach(heist_type: int, approach: int)

Set heist approach

void set_entry_point(heist_type: int, entry: int)

Set entry point

void set_exit_point(heist_type: int, exit: int)

Set exit point

void set_crew_member(heist_type: int, role: int, member: int)

Set crew member

void set_weapon_loadout(heist_type: int, loadout: int)

Set weapon loadout

void skip_setups(heist_type: int)

Skip all setups

void complete_setups(heist_type: int)

Complete all setups

void start_finale(heist_type: int)

Start heist finale

apartment

Apartment and property functions

table get_owned_apartments()

Get owned apartments list

string get_apartment_name(index: int)

Get apartment name

string get_apartment_address(index: int)

Get apartment address

void teleport_to_apartment(index: int)

Teleport to apartment

void enter_apartment(index: int)

Enter apartment

void exit_apartment()

Exit apartment

bool is_in_apartment()

Check if in apartment

int get_current_apartment()

Get current apartment index

void set_apartment_style(index: int, style: int)

Set apartment style

table get_stash_weapons()

Get weapon stash

void store_weapon(weapon_hash: int)

Store weapon in stash

void retrieve_weapon(weapon_hash: int)

Retrieve weapon from stash

void start_party()

Start apartment party

void invite_to_apartment(player: int)

Invite player to apt

nightclub

Nightclub business functions

bool is_owned()

Check if nightclub owned

int get_popularity()

Get nightclub popularity

void set_popularity(popularity: int)

Set nightclub popularity

int get_daily_income()

Get daily income

table get_warehouse_stock()

Get warehouse stock

void sell_stock()

Sell warehouse stock

int get_dj()

Get current DJ

void set_dj(dj: int)

Set current DJ

void book_dj(dj: int)

Book a DJ

void start_mission(mission: int)

Start club mission

table get_staff()

Get staff list

void hire_staff(staff_type: int)

Hire staff member

void upgrade_equipment(upgrade_type: int)

Upgrade equipment

bunker

Bunker business functions

bool is_owned()

Check if bunker owned

float get_research_progress()

Get research progress

int get_stock()

Get bunker stock

void set_stock(stock: int)

Set bunker stock

int get_supplies()

Get supplies level

void set_supplies(supplies: int)

Set supplies level

void buy_supplies()

Buy supplies

void sell_stock()

Sell stock

void start_research()

Start research

void fast_track_research()

Fast track research

void unlock_all_research()

Unlock all research

table get_unlocked_research()

Get unlocked research list

facility

Facility and doomsday heist

bool is_owned()

Check if facility owned

int get_orbital_cannon_cooldown()

Get orbital cooldown

void reset_orbital_cannon_cooldown()

Reset orbital cooldown

void fire_orbital_cannon(x: float, y: float, z: float)

Fire orbital cannon

bool get_avenger_available()

Check if avenger available

void spawn_avenger()

Spawn avenger

bool get_thruster_available()

Check if thruster available

void spawn_thruster()

Spawn thruster

void start_doomsday_heist(act: int)

Start doomsday heist

table get_doomsday_progress()

Get doomsday progress

arcade

Arcade business functions

bool is_owned()

Check if arcade owned

int get_daily_income()

Get daily income

table get_games_owned()

Get owned arcade games

void buy_game(game_hash: int)

Buy arcade game

bool get_drone_available()

Check if drone available

void spawn_drone()

Spawn nano drone

bool get_master_terminal_available()

Check master terminal

void start_casino_heist()

Start casino heist

table get_casino_heist_progress()

Get casino heist progress

kosatka

Kosatka submarine functions

bool is_owned()

Check if kosatka owned

table get_location()

Get kosatka location

void teleport_to()

Teleport to kosatka

void enter()

Enter kosatka

void exit()

Exit kosatka

bool is_inside()

Check if inside

void fast_travel(location: int)

Fast travel kosatka

bool get_sparrow_available()

Check sparrow available

void spawn_sparrow()

Spawn sparrow helicopter

bool get_toreador_available()

Check toreador available

void spawn_toreador()

Spawn toreador

void start_cayo_heist()

Start Cayo Perico heist

table get_cayo_heist_progress()

Get Cayo heist progress

table get_heist_targets()

Get available heist targets

void set_heist_target(target: int)

Set primary heist target

agency

Agency business functions

bool is_owned()

Check if agency owned

int get_safe_income()

Get safe income

void collect_safe()

Collect safe money

table get_contract_progress()

Get contract progress

void start_contract(contract: int)

Start a contract

table get_available_contracts()

Get available contracts

table get_payphone_hits()

Get payphone hits

void start_payphone_hit(hit: int)

Start payphone hit

table get_vip_contract_progress()

Get VIP contract progress

void start_vip_contract()

Start VIP contract

autoshop

Auto Shop business functions

bool is_owned()

Check if auto shop owned

int get_customers_waiting()

Get waiting customers

void deliver_customer_car(slot: int)

Deliver customer car

bool get_contract_available()

Check contract available

void start_contract(contract: int)

Start robbery contract

table get_exotic_exports()

Get exotic export list

int get_daily_income()

Get daily income

hangar

Hangar business functions

bool is_owned()

Check if hangar owned

table get_stock()

Get hangar stock

void sell_stock()

Sell stock

void start_source_mission(cargo_type: int)

Start source mission

table get_stored_aircraft()

Get stored aircraft

void retrieve_aircraft(index: int)

Retrieve aircraft

void store_aircraft()

Store current aircraft

native

Direct native function calls

any call(hash: int, ...)

Call native by hash

any call_by_name(name: string, ...)

Call native by name

any invoke(hash: int, context: table)

Invoke native with context

int get_hash(name: string)

Get native hash by name

string get_name(hash: int)

Get native name by hash

void set_return_type(type: string)

Set expected return type

hash

Hash calculation utilities

int joaat(text: string)

Calculate JOAAT hash

int jenkins(text: string)

Calculate Jenkins hash

string to_hex(hash: int)

Convert hash to hex string

int from_hex(hex_string: string)

Convert hex string to hash

string reverse(hash: int)

Reverse lookup hash

bool is_valid_model(hash: int)

Check if valid model hash

bool is_valid_weapon(hash: int)

Check if valid weapon hash

bool is_valid_vehicle(hash: int)

Check if valid vehicle hash

bool is_valid_ped(hash: int)

Check if valid ped hash

vec

Vector math operations

table new(x: float = 0, y: float = 0, z: float = 0)

Create new vector

table add(v1: table, v2: table)

Add two vectors

table sub(v1: table, v2: table)

Subtract vectors

table mul(v: table, scalar: float)

Multiply vector by scalar

table div(v: table, scalar: float)

Divide vector by scalar

float dot(v1: table, v2: table)

Dot product

table cross(v1: table, v2: table)

Cross product

float length(v: table)

Get vector length

float length_squared(v: table)

Get length squared

table normalize(v: table)

Normalize vector

float distance(v1: table, v2: table)

Distance between vectors

float distance_squared(v1: table, v2: table)

Distance squared

table lerp(v1: table, v2: table, t: float)

Linear interpolation

float angle(v1: table, v2: table)

Angle between vectors

table rotate(v: table, angle: float, axis: table)

Rotate vector

table project(v: table, onto: table)

Project onto vector

table reflect(v: table, normal: table)

Reflect off surface

matrix

Matrix math operations

table identity()

Create identity matrix

table translation(x: float, y: float, z: float)

Create translation matrix

table rotation_x(angle: float)

Create X rotation matrix

table rotation_y(angle: float)

Create Y rotation matrix

table rotation_z(angle: float)

Create Z rotation matrix

table rotation(rx: float, ry: float, rz: float)

Create rotation matrix

table scale(x: float, y: float, z: float)

Create scale matrix

table multiply(m1: table, m2: table)

Multiply matrices

table inverse(m: table)

Invert matrix

table transpose(m: table)

Transpose matrix

table transform_point(m: table, point: table)

Transform point by matrix

table transform_vector(m: table, vector: table)

Transform vector by matrix

table decompose(m: table)

Decompose into components

table look_at(eye: table, target: table, up: table)

Create look-at matrix

bone

Ped bone ID constants

int HEAD(31086)

Head bone ID

int NECK(39317)

Neck bone ID

int SPINE0(57597)

Spine base bone ID

int SPINE1(23553)

Spine 1 bone ID

int SPINE2(24816)

Spine 2 bone ID

int SPINE3(24817)

Spine 3 bone ID

int PELVIS(11816)

Pelvis bone ID

int L_CLAVICLE(64729)

Left clavicle bone ID

int R_CLAVICLE(10706)

Right clavicle bone ID

int L_UPPERARM(45509)

Left upper arm bone ID

int R_UPPERARM(40269)

Right upper arm bone ID

int L_FOREARM(61163)

Left forearm bone ID

int R_FOREARM(28252)

Right forearm bone ID

int L_HAND(18905)

Left hand bone ID

int R_HAND(57005)

Right hand bone ID

int L_THIGH(58271)

Left thigh bone ID

int R_THIGH(51826)

Right thigh bone ID

int L_CALF(63931)

Left calf bone ID

int R_CALF(36864)

Right calf bone ID

int L_FOOT(14201)

Left foot bone ID

int R_FOOT(52301)

Right foot bone ID

int L_TOE(2108)

Left toe bone ID

int R_TOE(20781)

Right toe bone ID

int L_FINGER00(26610)

Left thumb bone ID

int L_FINGER01(4089)

Left index finger bone ID

int L_FINGER02(4090)

Left middle finger bone ID

int L_FINGER03(4137)

Left ring finger bone ID

int L_FINGER04(4138)

Left pinky finger bone ID

int R_FINGER00(58866)

Right thumb bone ID

int R_FINGER01(64016)

Right index finger bone ID

int R_FINGER02(64017)

Right middle finger bone ID

int R_FINGER03(64064)

Right ring finger bone ID

int R_FINGER04(64065)

Right pinky finger bone ID

vehicle_bone

Vehicle bone constants

string WHEEL_LF(wheel_lf)

Left front wheel

string WHEEL_RF(wheel_rf)

Right front wheel

string WHEEL_LR(wheel_lr)

Left rear wheel

string WHEEL_RR(wheel_rr)

Right rear wheel

string DOOR_DSIDE_F(door_dside_f)

Driver front door

string DOOR_DSIDE_R(door_dside_r)

Driver rear door

string DOOR_PSIDE_F(door_pside_f)

Passenger front door

string DOOR_PSIDE_R(door_pside_r)

Passenger rear door

string BONNET(bonnet)

Hood/bonnet

string BOOT(boot)

Trunk/boot

string WINDSCREEN(windscreen)

Windshield

string WINDSCREEN_R(windscreen_r)

Rear window

string HEADLIGHT_L(headlight_l)

Left headlight

string HEADLIGHT_R(headlight_r)

Right headlight

string INDICATOR_LF(indicator_lf)

Left front indicator

string INDICATOR_RF(indicator_rf)

Right front indicator

string INDICATOR_LR(indicator_lr)

Left rear indicator

string INDICATOR_RR(indicator_rr)

Right rear indicator

string BRAKE_L(brakelight_l)

Left brake light

string BRAKE_R(brakelight_r)

Right brake light

string ENGINE(engine)

Engine

string PETROLCAP(petrolcap)

Fuel cap

string SEAT_DSIDE_F(seat_dside_f)

Driver seat

string SEAT_PSIDE_F(seat_pside_f)

Passenger seat

string SEAT_DSIDE_R(seat_dside_r)

Rear driver seat

string SEAT_PSIDE_R(seat_pside_r)

Rear passenger seat

string EXHAUST(exhaust)

Exhaust

string EXHAUST_2(exhaust_2)

Second exhaust

string NUMBERPLATE(numberplate)

License plate

string SUSPENSION_LF(suspension_lf)

Left front suspension

string SUSPENSION_RF(suspension_rf)

Right front suspension

string SUSPENSION_LR(suspension_lr)

Left rear suspension

string SUSPENSION_RR(suspension_rr)

Right rear suspension

weapon_component

Weapon component type constants

int CLIP(0)

Magazine/clip

int FLASHLIGHT(1)

Flashlight attachment

int SUPPRESSOR(2)

Suppressor/silencer

int SCOPE(3)

Scope attachment

int GRIP(4)

Grip attachment

int DRUM(5)

Drum magazine

int BARREL(6)

Barrel modification

int MUZZLE(7)

Muzzle attachment

int VARIANT(8)

Weapon variant/skin

int CAMO(9)

Camouflage skin

vehicle_mod_type

Vehicle mod type constants

int SPOILER(0)

Spoiler

int FRONT_BUMPER(1)

Front bumper

int REAR_BUMPER(2)

Rear bumper

int SIDE_SKIRT(3)

Side skirt

int EXHAUST(4)

Exhaust

int FRAME(5)

Frame/chassis

int GRILLE(6)

Grille

int HOOD(7)

Hood

int FENDER(8)

Fender

int RIGHT_FENDER(9)

Right fender

int ROOF(10)

Roof

int ENGINE(11)

Engine

int BRAKES(12)

Brakes

int TRANSMISSION(13)

Transmission

int HORNS(14)

Horn

int SUSPENSION(15)

Suspension

int ARMOR(16)

Armor

int TURBO(18)

Turbo (toggle)

int XENON(22)

Xenon lights (toggle)

int FRONT_WHEELS(23)

Front wheels

int BACK_WHEELS(24)

Back wheels (bikes)

int PLATE_HOLDERS(25)

Plate holders

int VANITY_PLATES(26)

Vanity plates

int TRIM(27)

Interior trim

int ORNAMENTS(28)

Ornaments

int DASHBOARD(29)

Dashboard

int DIAL(30)

Dial/gauge

int DOOR_SPEAKER(31)

Door speaker

int SEATS(32)

Seats

int STEERING_WHEEL(33)

Steering wheel

int SHIFTER_LEAVERS(34)

Shift lever

int PLAQUES(35)

Plaques

int SPEAKERS(36)

Speakers

int TRUNK(37)

Trunk

int HYDRAULICS(38)

Hydraulics

int ENGINE_BLOCK(39)

Engine block

int AIR_FILTER(40)

Air filter

int STRUTS(41)

Struts

int ARCH_COVER(42)

Arch cover

int AERIALS(43)

Aerials

int TRIM_2(44)

Trim 2

int TANK(45)

Tank

int WINDOWS(46)

Windows

int LIVERY(48)

Livery

key

Keyboard key constants

int BACKSPACE(8)

Backspace key

int TAB(9)

Tab key

int ENTER(13)

Enter key

int SHIFT(16)

Shift key

int CTRL(17)

Control key

int ALT(18)

Alt key

int PAUSE(19)

Pause key

int CAPS(20)

Caps Lock key

int ESCAPE(27)

Escape key

int SPACE(32)

Space key

int PAGEUP(33)

Page Up key

int PAGEDOWN(34)

Page Down key

int END(35)

End key

int HOME(36)

Home key

int LEFT(37)

Left arrow key

int UP(38)

Up arrow key

int RIGHT(39)

Right arrow key

int DOWN(40)

Down arrow key

int INSERT(45)

Insert key

int DELETE(46)

Delete key

int NUM0(48)

Number 0 key

int NUM1(49)

Number 1 key

int NUM2(50)

Number 2 key

int NUM3(51)

Number 3 key

int NUM4(52)

Number 4 key

int NUM5(53)

Number 5 key

int NUM6(54)

Number 6 key

int NUM7(55)

Number 7 key

int NUM8(56)

Number 8 key

int NUM9(57)

Number 9 key

int A(65)

A key

int B(66)

B key

int C(67)

C key

int D(68)

D key

int E(69)

E key

int F(70)

F key

int G(71)

G key

int H(72)

H key

int I(73)

I key

int J(74)

J key

int K(75)

K key

int L(76)

L key

int M(77)

M key

int N(78)

N key

int O(79)

O key

int P(80)

P key

int Q(81)

Q key

int R(82)

R key

int S(83)

S key

int T(84)

T key

int U(85)

U key

int V(86)

V key

int W(87)

W key

int X(88)

X key

int Y(89)

Y key

int Z(90)

Z key

int F1(112)

F1 key

int F2(113)

F2 key

int F3(114)

F3 key

int F4(115)

F4 key

int F5(116)

F5 key

int F6(117)

F6 key

int F7(118)

F7 key

int F8(119)

F8 key

int F9(120)

F9 key

int F10(121)

F10 key

int F11(122)

F11 key

int F12(123)

F12 key

int NUMPAD0(96)

Numpad 0 key

int NUMPAD1(97)

Numpad 1 key

int NUMPAD2(98)

Numpad 2 key

int NUMPAD3(99)

Numpad 3 key

int NUMPAD4(100)

Numpad 4 key

int NUMPAD5(101)

Numpad 5 key

int NUMPAD6(102)

Numpad 6 key

int NUMPAD7(103)

Numpad 7 key

int NUMPAD8(104)

Numpad 8 key

int NUMPAD9(105)

Numpad 9 key

int MULTIPLY(106)

Numpad multiply

int ADD(107)

Numpad add

int SUBTRACT(109)

Numpad subtract

int DECIMAL(110)

Numpad decimal

int DIVIDE(111)

Numpad divide

color

Predefined color constants

table WHITE({r=255, g=255, b=255, a=255})

White color (255,255,255)

table BLACK({r=0, g=0, b=0, a=255})

Black color (0,0,0)

table RED({r=255, g=0, b=0, a=255})

Red color (255,0,0)

table GREEN({r=0, g=255, b=0, a=255})

Green color (0,255,0)

table BLUE({r=0, g=0, b=255, a=255})

Blue color (0,0,255)

table YELLOW({r=255, g=255, b=0, a=255})

Yellow color (255,255,0)

table CYAN({r=0, g=255, b=255, a=255})

Cyan color (0,255,255)

table MAGENTA({r=255, g=0, b=255, a=255})

Magenta color (255,0,255)

table ORANGE({r=255, g=165, b=0, a=255})

Orange color (255,165,0)

table PURPLE({r=128, g=0, b=128, a=255})

Purple color (128,0,128)

table PINK({r=255, g=192, b=203, a=255})

Pink color (255,192,203)

table LIME({r=0, g=255, b=128, a=255})

Lime color (0,255,128)

table GOLD({r=255, g=215, b=0, a=255})

Gold color (255,215,0)

table SILVER({r=192, g=192, b=192, a=255})

Silver color (192,192,192)

table GRAY({r=128, g=128, b=128, a=255})

Gray color (128,128,128)

table DARK_RED({r=139, g=0, b=0, a=255})

Dark red color

table DARK_GREEN({r=0, g=100, b=0, a=255})

Dark green color

table DARK_BLUE({r=0, g=0, b=139, a=255})

Dark blue color

table TRANSPARENT({r=0, g=0, b=0, a=0})

Transparent (0 alpha)

table from_rgb(r: int, g: int, b: int, a: int = 255)

Create color from RGB

table from_hex(hex: string)

Create color from hex

string to_hex(color: table)

Convert color to hex

table lerp(c1: table, c2: table, t: float)

Interpolate between colors

table hsv_to_rgb(h: float, s: float, v: float)

Convert HSV to RGB

table rgb_to_hsv(r: int, g: int, b: int)

Convert RGB to HSV

weather_type

Weather type constants

string CLEAR(CLEAR)

Clear weather

string EXTRASUNNY(EXTRASUNNY)

Extra sunny

string CLOUDS(CLOUDS)

Cloudy

string OVERCAST(OVERCAST)

Overcast

string RAIN(RAIN)

Rainy

string CLEARING(CLEARING)

Clearing weather

string THUNDER(THUNDER)

Thunderstorm

string SMOG(SMOG)

Smoggy

string FOGGY(FOGGY)

Foggy

string XMAS(XMAS)

Christmas/snowy

string SNOWLIGHT(SNOWLIGHT)

Light snow

string BLIZZARD(BLIZZARD)

Blizzard

string NEUTRAL(NEUTRAL)

Neutral weather

string HALLOWEEN(HALLOWEEN)

Halloween special

blip_sprite

Blip sprite type constants

int STANDARD(1)

Standard blip

int DESTINATION(2)

Destination marker

int ENEMY(3)

Enemy marker

int DEAD_DROP(4)

Dead drop

int TAXI(5)

Taxi

int FRIEND(6)

Friend marker

int MISSION(66)

Mission marker

int WAYPOINT(8)

Waypoint marker

int AMMU_NATION(110)

Ammu-Nation

int LOS_SANTOS_CUSTOMS(72)

Los Santos Customs

int HELICOPTER(43)

Helicopter

int PLANE(90)

Plane

int BOAT(427)

Boat

int CAR(225)

Car

int BIKE(226)

Motorcycle

int CRATE_DROP(306)

Crate drop

int SIMEON(78)

Simeon

int LESTER(77)

Lester

int GERALD(79)

Gerald

int RON(80)

Ron

int TREVOR(81)

Trevor

int LAMAR(300)

Lamar

int CEO(460)

CEO/VIP

int MC(489)

MC president

int CASINO(679)

Casino

int NIGHTCLUB(614)

Nightclub

int ARCADE(740)

Arcade

int BUNKER(557)

Bunker

int FACILITY(590)

Facility

int KOSATKA(760)

Kosatka submarine

int AGENCY(810)

Agency

int AUTOSHOP(779)

Auto Shop

blip_color

Blip color constants

int WHITE(0)

White

int RED(1)

Red

int GREEN(2)

Green

int BLUE(3)

Blue

int YELLOW(5)

Yellow

int LIGHT_RED(6)

Light red

int VIOLET(7)

Violet

int PINK(8)

Pink

int LIGHT_ORANGE(9)

Light orange

int LIGHT_BROWN(10)

Light brown

int LIGHT_GREEN(11)

Light green

int LIGHT_BLUE(12)

Light blue

int LIGHT_PURPLE(13)

Light purple

int DARK_PURPLE(14)

Dark purple

int CYAN(15)

Cyan

int LIGHT_YELLOW(16)

Light yellow

int ORANGE(17)

Orange

int LIGHT_GRAY(20)

Light gray

int DARK_GRAY(21)

Dark gray

int BLACK(22)

Black

int OLIVE(25)

Olive

int GOLD(28)

Gold

int FRANKLIN(43)

Franklin green

int TREVOR(44)

Trevor orange

int MICHAEL(42)

Michael blue

int FRIENDLY(57)

Friendly

int ENEMY(59)

Enemy

int MISSION(66)

Mission

marker_type

3D marker type constants

int UPSIDE_DOWN_CONE(0)

Upside down cone

int VERTICAL_CYLINDER(1)

Vertical cylinder

int THICK_CHEVRON_UP(2)

Thick chevron up

int THIN_CHEVRON_UP(3)

Thin chevron up

int CHECKERED_FLAG_RECT(4)

Checkered flag rect

int CHECKERED_FLAG_CIRCLE(5)

Checkered flag circle

int VERTICLE_CIRCLE(6)

Vertical circle

int PLANE_MODEL(7)

Plane model

int LOST_MC_DARK(8)

Lost MC dark

int LOST_MC_LIGHT(9)

Lost MC light

int NUMBER_0(10)

Number 0

int NUMBER_1(11)

Number 1

int NUMBER_2(12)

Number 2

int NUMBER_3(13)

Number 3

int NUMBER_4(14)

Number 4

int NUMBER_5(15)

Number 5

int NUMBER_6(16)

Number 6

int NUMBER_7(17)

Number 7

int NUMBER_8(18)

Number 8

int NUMBER_9(19)

Number 9

int CHEVRON_1(20)

Chevron 1

int CHEVRON_2(21)

Chevron 2

int CHEVRON_3(22)

Chevron 3

int HORIZONTAL_RING(23)

Horizontal ring

int TIGER_SHARK(24)

Tiger shark

int PLANE(25)

Plane

int BOAT(26)

Boat

int CAR(27)

Car

int MOTORCYCLE(28)

Motorcycle

int BICYCLE(29)

Bicycle

int TRUCK(30)

Truck

int PARACHUTE(31)

Parachute

int RING_FLAT(32)

Ring flat

int DOLLAR_SIGN(33)

Dollar sign

int HORIZONTAL_BARS(34)

Horizontal bars

int WOLF_HEAD(35)

Wolf head

int QUESTION_MARK(36)

Question mark

int PLANE_SYMBOL(37)

Plane symbol

int HELICOPTER_SYMBOL(38)

Helicopter symbol

int BOAT_SYMBOL(39)

Boat symbol

int CAR_SYMBOL(40)

Car symbol

int MOTORCYCLE_SYMBOL(41)

Motorcycle symbol

int BIKE_SYMBOL(42)

Bike symbol

int TRUCK_SYMBOL(43)

Truck symbol

int PARACHUTE_SYMBOL(44)

Parachute symbol

pickup_type

Pickup type hash constants

int HEALTH(PICKUP_HEALTH_STANDARD)

Health pickup

int HEALTH_SNACK(PICKUP_HEALTH_SNACK)

Health snack

int ARMOUR(PICKUP_ARMOUR_STANDARD)

Body armor

int MONEY_CASE(PICKUP_MONEY_CASE)

Money case

int MONEY_BAG(PICKUP_MONEY_PAPER_BAG)

Money bag

int MONEY_WALLET(PICKUP_MONEY_WALLET)

Money wallet

int MONEY_PURSE(PICKUP_MONEY_PURSE)

Money purse

int WEAPON_PISTOL(PICKUP_WEAPON_PISTOL)

Pistol weapon

int WEAPON_COMBATPISTOL(PICKUP_WEAPON_COMBATPISTOL)

Combat pistol

int WEAPON_SMG(PICKUP_WEAPON_SMG)

SMG weapon

int WEAPON_ASSAULTRIFLE(PICKUP_WEAPON_ASSAULTRIFLE)

Assault rifle

int WEAPON_CARBINERIFLE(PICKUP_WEAPON_CARBINERIFLE)

Carbine rifle

int WEAPON_PUMPSHOTGUN(PICKUP_WEAPON_PUMPSHOTGUN)

Pump shotgun

int WEAPON_SNIPERRIFLE(PICKUP_WEAPON_SNIPERRIFLE)

Sniper rifle

int WEAPON_MICROSMG(PICKUP_WEAPON_MICROSMG)

Micro SMG

int WEAPON_GRENADE(PICKUP_WEAPON_GRENADE)

Grenade

int WEAPON_MOLOTOV(PICKUP_WEAPON_MOLOTOV)

Molotov

int WEAPON_STICKYBOMB(PICKUP_WEAPON_STICKYBOMB)

Sticky bomb

int WEAPON_PETROLCAN(PICKUP_WEAPON_PETROLCAN)

Petrol can

int WEAPON_FIREEXTINGUISHER(PICKUP_WEAPON_FIREEXTINGUISHER)

Fire extinguisher

int WEAPON_BAT(PICKUP_WEAPON_BAT)

Baseball bat

int WEAPON_KNIFE(PICKUP_WEAPON_KNIFE)

Knife

int PARACHUTE(PICKUP_PARACHUTE)

Parachute

int PORTABLE_CRATE(PICKUP_PORTABLE_CRATE_UNFIXED)

Portable crate

int AMMO_PISTOL(PICKUP_AMMO_PISTOL)

Pistol ammo

int AMMO_SMG(PICKUP_AMMO_SMG)

SMG ammo

int AMMO_RIFLE(PICKUP_AMMO_RIFLE)

Rifle ammo

int AMMO_SHOTGUN(PICKUP_AMMO_SHOTGUN)

Shotgun ammo

int AMMO_SNIPER(PICKUP_AMMO_SNIPER)

Sniper ammo

ped_type

Ped type constants

int PLAYER_0(0)

Michael ped type

int PLAYER_1(1)

Franklin ped type

int PLAYER_2(2)

Trevor ped type

int CIVMALE(4)

Male civilian

int CIVFEMALE(5)

Female civilian

int COP(6)

Police officer

int GANG_ALBANIAN(7)

Albanian gang

int GANG_BIKER_1(8)

Biker gang 1

int GANG_BIKER_2(9)

Biker gang 2

int GANG_ITALIAN(10)

Italian gang

int GANG_RUSSIAN(11)

Russian gang

int GANG_RUSSIAN_2(12)

Russian gang 2

int GANG_IRISH(13)

Irish gang

int GANG_JAMAICAN(14)

Jamaican gang

int GANG_AFRICAN_AMERICAN(15)

African American gang

int GANG_KOREAN(16)

Korean gang

int GANG_CHINESE_JAPANESE(17)

Chinese/Japanese gang

int GANG_PUERTO_RICAN(18)

Puerto Rican gang

int DEALER(19)

Drug dealer

int MEDIC(20)

Medic/EMT

int FIREMAN(21)

Firefighter

int CRIMINAL(22)

Generic criminal

int BUM(23)

Homeless person

int PROSTITUTE(24)

Prostitute

int SPECIAL(25)

Special ped

int MISSION(26)

Mission ped

int SWAT(27)

SWAT officer

int ANIMAL(28)

Animal

int ARMY(29)

Army soldier

vehicle_class

Vehicle class type constants

int COMPACTS(0)

Compacts

int SEDANS(1)

Sedans

int SUVS(2)

SUVs

int COUPES(3)

Coupes

int MUSCLE(4)

Muscle cars

int SPORTS_CLASSICS(5)

Sports Classics

int SPORTS(6)

Sports

int SUPER(7)

Super cars

int MOTORCYCLES(8)

Motorcycles

int OFF_ROAD(9)

Off-Road

int INDUSTRIAL(10)

Industrial

int UTILITY(11)

Utility

int VANS(12)

Vans

int CYCLES(13)

Bicycles

int BOATS(14)

Boats

int HELICOPTERS(15)

Helicopters

int PLANES(16)

Planes

int SERVICE(17)

Service

int EMERGENCY(18)

Emergency

int MILITARY(19)

Military

int COMMERCIAL(20)

Commercial

int TRAINS(21)

Trains

int OPEN_WHEEL(22)

Open Wheel

weapon_hash

Common weapon hash constants

int UNARMED(WEAPON_UNARMED)

Unarmed/fists

int KNIFE(WEAPON_KNIFE)

Knife

int NIGHTSTICK(WEAPON_NIGHTSTICK)

Nightstick

int HAMMER(WEAPON_HAMMER)

Hammer

int BAT(WEAPON_BAT)

Baseball bat

int CROWBAR(WEAPON_CROWBAR)

Crowbar

int GOLFCLUB(WEAPON_GOLFCLUB)

Golf club

int BOTTLE(WEAPON_BOTTLE)

Broken bottle

int DAGGER(WEAPON_DAGGER)

Antique dagger

int HATCHET(WEAPON_HATCHET)

Hatchet

int KNUCKLE(WEAPON_KNUCKLE)

Knuckle dusters

int MACHETE(WEAPON_MACHETE)

Machete

int SWITCHBLADE(WEAPON_SWITCHBLADE)

Switchblade

int BATTLEAXE(WEAPON_BATTLEAXE)

Battle axe

int POOLCUE(WEAPON_POOLCUE)

Pool cue

int WRENCH(WEAPON_WRENCH)

Pipe wrench

int STONE_HATCHET(WEAPON_STONE_HATCHET)

Stone hatchet

int PISTOL(WEAPON_PISTOL)

Pistol

int PISTOL_MK2(WEAPON_PISTOL_MK2)

Pistol Mk II

int COMBATPISTOL(WEAPON_COMBATPISTOL)

Combat pistol

int APPISTOL(WEAPON_APPISTOL)

AP Pistol

int STUNGUN(WEAPON_STUNGUN)

Stun gun

int PISTOL50(WEAPON_PISTOL50)

Pistol .50

int SNSPISTOL(WEAPON_SNSPISTOL)

SNS Pistol

int SNSPISTOL_MK2(WEAPON_SNSPISTOL_MK2)

SNS Pistol Mk II

int HEAVYPISTOL(WEAPON_HEAVYPISTOL)

Heavy pistol

int VINTAGEPISTOL(WEAPON_VINTAGEPISTOL)

Vintage pistol

int FLAREGUN(WEAPON_FLAREGUN)

Flare gun

int MARKSMANPISTOL(WEAPON_MARKSMANPISTOL)

Marksman pistol

int REVOLVER(WEAPON_REVOLVER)

Heavy revolver

int REVOLVER_MK2(WEAPON_REVOLVER_MK2)

Heavy Revolver Mk II

int DOUBLEACTION(WEAPON_DOUBLEACTION)

Double action revolver

int RAYPISTOL(WEAPON_RAYPISTOL)

Up-n-Atomizer

int CERAMICPISTOL(WEAPON_CERAMICPISTOL)

Ceramic pistol

int NAVYREVOLVER(WEAPON_NAVYREVOLVER)

Navy revolver

int GADGETPISTOL(WEAPON_GADGETPISTOL)

Perico pistol

int MICROSMG(WEAPON_MICROSMG)

Micro SMG

int SMG(WEAPON_SMG)

SMG

int SMG_MK2(WEAPON_SMG_MK2)

SMG Mk II

int ASSAULTSMG(WEAPON_ASSAULTSMG)

Assault SMG

int COMBATPDW(WEAPON_COMBATPDW)

Combat PDW

int MACHINEPISTOL(WEAPON_MACHINEPISTOL)

Machine pistol

int MINISMG(WEAPON_MINISMG)

Mini SMG

int RAYCARBINE(WEAPON_RAYCARBINE)

Unholy Hellbringer

int PUMPSHOTGUN(WEAPON_PUMPSHOTGUN)

Pump shotgun

int PUMPSHOTGUN_MK2(WEAPON_PUMPSHOTGUN_MK2)

Pump Shotgun Mk II

int SAWNOFFSHOTGUN(WEAPON_SAWNOFFSHOTGUN)

Sawed-off shotgun

int ASSAULTSHOTGUN(WEAPON_ASSAULTSHOTGUN)

Assault shotgun

int BULLPUPSHOTGUN(WEAPON_BULLPUPSHOTGUN)

Bullpup shotgun

int MUSKET(WEAPON_MUSKET)

Musket

int HEAVYSHOTGUN(WEAPON_HEAVYSHOTGUN)

Heavy shotgun

int DBSHOTGUN(WEAPON_DBSHOTGUN)

Double barrel shotgun

int AUTOSHOTGUN(WEAPON_AUTOSHOTGUN)

Sweeper shotgun

int COMBATSHOTGUN(WEAPON_COMBATSHOTGUN)

Combat shotgun

int ASSAULTRIFLE(WEAPON_ASSAULTRIFLE)

Assault rifle

int ASSAULTRIFLE_MK2(WEAPON_ASSAULTRIFLE_MK2)

Assault Rifle Mk II

int CARBINERIFLE(WEAPON_CARBINERIFLE)

Carbine rifle

int CARBINERIFLE_MK2(WEAPON_CARBINERIFLE_MK2)

Carbine Rifle Mk II

int ADVANCEDRIFLE(WEAPON_ADVANCEDRIFLE)

Advanced rifle

int SPECIALCARBINE(WEAPON_SPECIALCARBINE)

Special carbine

int SPECIALCARBINE_MK2(WEAPON_SPECIALCARBINE_MK2)

Special Carbine Mk II

int BULLPUPRIFLE(WEAPON_BULLPUPRIFLE)

Bullpup rifle

int BULLPUPRIFLE_MK2(WEAPON_BULLPUPRIFLE_MK2)

Bullpup Rifle Mk II

int COMPACTRIFLE(WEAPON_COMPACTRIFLE)

Compact rifle

int MILITARYRIFLE(WEAPON_MILITARYRIFLE)

Military rifle

int HEAVYRIFLE(WEAPON_HEAVYRIFLE)

Heavy rifle

int TACTICALRIFLE(WEAPON_TACTICALRIFLE)

Tactical rifle

int MG(WEAPON_MG)

MG

int COMBATMG(WEAPON_COMBATMG)

Combat MG

int COMBATMG_MK2(WEAPON_COMBATMG_MK2)

Combat MG Mk II

int GUSENBERG(WEAPON_GUSENBERG)

Gusenberg sweeper

int SNIPERRIFLE(WEAPON_SNIPERRIFLE)

Sniper rifle

int HEAVYSNIPER(WEAPON_HEAVYSNIPER)

Heavy sniper

int HEAVYSNIPER_MK2(WEAPON_HEAVYSNIPER_MK2)

Heavy Sniper Mk II

int MARKSMANRIFLE(WEAPON_MARKSMANRIFLE)

Marksman rifle

int MARKSMANRIFLE_MK2(WEAPON_MARKSMANRIFLE_MK2)

Marksman Rifle Mk II

int PRECISIONRIFLE(WEAPON_PRECISIONRIFLE)

Precision rifle

int RPG(WEAPON_RPG)

RPG

int GRENADELAUNCHER(WEAPON_GRENADELAUNCHER)

Grenade launcher

int GRENADELAUNCHER_SMOKE(WEAPON_GRENADELAUNCHER_SMOKE)

Smoke grenade launcher

int MINIGUN(WEAPON_MINIGUN)

Minigun

int FIREWORK(WEAPON_FIREWORK)

Firework launcher

int RAILGUN(WEAPON_RAILGUN)

Railgun

int HOMINGLAUNCHER(WEAPON_HOMINGLAUNCHER)

Homing launcher

int COMPACTLAUNCHER(WEAPON_COMPACTLAUNCHER)

Compact grenade launcher

int RAYMINIGUN(WEAPON_RAYMINIGUN)

Widowmaker

int EMPLAUNCHER(WEAPON_EMPLAUNCHER)

EMP launcher

int GRENADE(WEAPON_GRENADE)

Grenade

int BZGAS(WEAPON_BZGAS)

BZ Gas

int SMOKEGRENADE(WEAPON_SMOKEGRENADE)

Tear gas

int FLARE(WEAPON_FLARE)

Flare

int MOLOTOV(WEAPON_MOLOTOV)

Molotov cocktail

int STICKYBOMB(WEAPON_STICKYBOMB)

Sticky bomb

int PROXMINE(WEAPON_PROXMINE)

Proximity mine

int SNOWBALL(WEAPON_SNOWBALL)

Snowball

int PIPEBOMB(WEAPON_PIPEBOMB)

Pipe bomb

int BALL(WEAPON_BALL)

Ball

int PETROLCAN(WEAPON_PETROLCAN)

Jerry can

int FIREEXTINGUISHER(WEAPON_FIREEXTINGUISHER)

Fire extinguisher

int PARACHUTE(GADGET_PARACHUTE)

Parachute

int HAZARDCAN(WEAPON_HAZARDCAN)

Hazardous jerry can

screen

Screen and display functions

int get_width()

Get screen width

int get_height()

Get screen height

float get_aspect_ratio()

Get aspect ratio

table get_resolution()

Get screen resolution

table world_to_screen(x: float, y: float, z: float)

Convert world coords to screen

table screen_to_world(x: float, y: float)

Convert screen coords to world

bool is_in_bounds(x: float, y: float)

Check if coords in screen bounds

bool capture(filename: string)

Capture screenshot

float get_safe_zone_size()

Get safe zone size

timecycle

Timecycle visual modifier functions

void set_modifier(modifier: string)

Set timecycle modifier

void set_modifier_strength(strength: float)

Set modifier strength (0-1)

void clear_modifier()

Clear timecycle modifier

string get_modifier()

Get current modifier name

float get_modifier_strength()

Get current strength

void set_extra_modifier(modifier: string, strength: float = 1.0)

Set extra timecycle modifier

void clear_extra_modifier()

Clear extra modifier

void push_modifier(modifier: string)

Push modifier to stack

void pop_modifier()

Pop modifier from stack

int get_modifier_index(modifier: string)

Get modifier index

string STUNT(stunt_explosion_blur)

Stunt modifier

string DRUG_DRIVE(drug_drive_blend01)

Drug driving modifier

string DRUG_MICHAEL(drug_flying_01)

Michael drug modifier

string DRUG_TREVOR(Drug_deadman)

Trevor drug modifier

string DAMAGE(damage)

Damage screen modifier

string DYING(dying)

Dying screen modifier

string DRUNK(Drunk)

Drunk modifier

string NIGHT_VISION(NightVision)

Night vision modifier

string THERMAL(PSYCHEDELIC)

Thermal vision modifier

string UNDERWATER(underwater_deep)

Underwater modifier

string CAMERA_BW(CAMERA_BW)

Black and white camera

string CAMERA_SEPIA(CAMERA_secuirity_FUZZ)

Sepia camera filter

string SECRET_CAMERA(secret_camera)

Secret camera modifier

string BLOOM(BLOOM)

Bloom effect

postfx

Post-processing effects

void set_motion_blur(amount: float)

Set motion blur amount

void set_chromatic_aberration(enabled: bool)

Set chromatic aberration

void set_vignette(enabled: bool, amount: float = 0.5)

Set vignette effect

void set_film_grain(amount: float)

Set film grain amount

void set_lens_flare(enabled: bool)

Set lens flare

void set_bloom(amount: float)

Set bloom amount

void set_dof(enabled: bool, near_start: float = 0.5, near_end: float = 2.0, far_start: float = 10.0, far_end: float = 500.0)

Set depth of field

void set_contrast(contrast: float)

Set contrast amount

void set_brightness(brightness: float)

Set brightness amount

void set_saturation(saturation: float)

Set saturation amount

void reset_all()

Reset all post effects

mission

Mission state functions

string get_current_name()

Get current mission name

bool is_active()

Check if mission is active

bool get_flag(flag: int)

Get mission flag state

void set_flag(flag: int, value: bool)

Set mission flag state

float get_progress()

Get mission progress

bool is_cutscene_playing()

Check if mission cutscene playing

void skip_cutscene()

Skip mission cutscene

void restart_checkpoint()

Restart from checkpoint

void fail_mission()

Fail current mission

void complete_mission()

Complete current mission

int get_mission_type()

Get current mission type

collectible

Collectible and objective tracking

int get_count(collectible_type: int)

Get collected count

int get_total(collectible_type: int)

Get total collectibles

bool is_collected(collectible_type: int, index: int)

Check if specific item collected

void set_collected(collectible_type: int, index: int, collected: bool)

Set item as collected

table get_nearest(collectible_type: int)

Get nearest collectible position

void highlight_nearest(collectible_type: int)

Highlight nearest collectible on map

int LETTER_SCRAPS(0)

Letter scraps type

int SPACESHIP_PARTS(1)

Spaceship parts type

int SUBMARINE_PIECES(2)

Submarine pieces type

int STUNT_JUMPS(3)

Stunt jumps type

int KNIFE_FLIGHTS(4)

Knife flights type

int UNDER_BRIDGES(5)

Under bridges type

int PLAYING_CARDS(6)

Playing cards type

int ACTION_FIGURES(7)

Action figures type

int SIGNAL_JAMMERS(8)

Signal jammers type

int MOVIE_PROPS(9)

Movie props type

int HIDDEN_CACHES(10)

Hidden caches type

int TREASURE_CHESTS(11)

Treasure chests type

int LD_ORGANICS(12)

LD Organics products type

tv

In-game TV and media functions

void enable_channel(channel: int)

Enable TV channel

void disable_channel(channel: int)

Disable TV channel

void set_channel(channel: int)

Set current TV channel

int get_channel()

Get current TV channel

bool is_playing()

Check if TV is playing

void set_volume(volume: float)

Set TV volume

float get_volume()

Get TV volume

void draw_tv_screen(x: float, y: float, width: float, height: float, rotation: float = 0, r: int = 255, g: int = 255, b: int = 255, a: int = 255)

Draw TV screen

void set_tv_audio_override(audio: string)

Override TV audio

void set_tv_static(enabled: bool)

Enable/disable TV static

train

Train spawning and control

int create(variation: int, x: float, y: float, z: float, direction: bool = true, p5: bool = false, p6: bool = false)

Create a train

void delete(train: Vehicle)

Delete train

void set_speed(train: Vehicle, speed: float)

Set train speed

float get_speed(train: Vehicle)

Get train speed

void set_cruise_speed(train: Vehicle, speed: float)

Set cruise speed

float get_cruise_speed(train: Vehicle)

Get cruise speed

Vehicle get_carriage(train: Vehicle, carriage_index: int)

Get train carriage

int get_num_carriages(train: Vehicle)

Get number of carriages

void set_carriage_config(train: Vehicle, config: int)

Set carriage config

void set_allows_passengers(train: Vehicle, allows: bool)

Allow/disallow passengers

void set_track_speed(train: Vehicle, track: int, speed: float)

Set track speed

void force_door_open(train: Vehicle, carriage: int, door: int, ratio: float, open_instantly: bool = false)

Force doors open

float get_position_on_track(train: Vehicle)

Get position on track

void set_position_on_track(train: Vehicle, position: float)

Set position on track

void derail(train: Vehicle)

Derail the train

bool is_derailed(train: Vehicle)

Check if derailed

int get_track(train: Vehicle)

Get train track index

void set_track(train: Vehicle, track: int)

Set train track

submarine

Submarine vehicle functions

void set_submerge(vehicle: Vehicle, level: float)

Set submarine submerge level

float get_submerge_level(vehicle: Vehicle)

Get submerge level

bool is_submerged(vehicle: Vehicle)

Check if submerged

void set_periscope(vehicle: Vehicle, enabled: bool)

Set periscope mode

bool is_using_periscope(vehicle: Vehicle)

Check if using periscope

void set_crush_depth(vehicle: Vehicle, depth: float)

Set crush depth

float get_depth(vehicle: Vehicle)

Get current depth

void launch_torpedo(vehicle: Vehicle, target: Entity)

Launch torpedo

void set_sonar_enabled(vehicle: Vehicle, enabled: bool)

Enable/disable sonar

bool is_sonar_enabled(vehicle: Vehicle)

Check if sonar enabled

aircraft

Aircraft specific functions

void set_throttle(aircraft: Vehicle, throttle: float)

Set throttle level

float get_throttle(aircraft: Vehicle)

Get throttle level

void set_yaw(aircraft: Vehicle, yaw: float)

Set yaw

void set_pitch(aircraft: Vehicle, pitch: float)

Set pitch

void set_roll(aircraft: Vehicle, roll: float)

Set roll

float get_altitude(aircraft: Vehicle)

Get current altitude

void set_altitude(aircraft: Vehicle, altitude: float, instant: bool = false)

Set altitude

void set_landing_gear(aircraft: Vehicle, state: int)

Set landing gear state

int get_landing_gear_state(aircraft: Vehicle)

Get landing gear state

bool is_in_hover_mode(aircraft: Vehicle)

Check if in VTOL hover

void set_hover_mode(aircraft: Vehicle, enabled: bool)

Set VTOL hover mode

bool is_engine_on(aircraft: Vehicle)

Check if engine is on

void set_engine(aircraft: Vehicle, on: bool)

Set engine state

void set_autopilot(aircraft: Vehicle, enabled: bool)

Set autopilot active

bool is_autopilot_active(aircraft: Vehicle)

Check if autopilot active

float get_health(aircraft: Vehicle)

Get aircraft health

void set_rotor_speed(aircraft: Vehicle, speed: float)

Set rotor speed

float get_rotor_speed(aircraft: Vehicle)

Get rotor speed

float get_rotor_health(aircraft: Vehicle, rotor: int)

Get rotor health

void set_rotor_health(aircraft: Vehicle, rotor: int, health: float)

Set rotor health

void jettison_passengers(aircraft: Vehicle)

Jettison passengers

void set_searchlight(aircraft: Vehicle, enabled: bool, target_entity: Entity = nil)

Set searchlight

bool is_searchlight_on(aircraft: Vehicle)

Check searchlight state

void fire_countermeasures(aircraft: Vehicle)

Fire countermeasures

int get_countermeasure_count(aircraft: Vehicle)

Get countermeasure count

void set_bomb_bay(aircraft: Vehicle, open: bool)

Set bomb bay state

bool is_bomb_bay_open(aircraft: Vehicle)

Check if bomb bay open

void drop_bomb(aircraft: Vehicle)

Drop bomb from aircraft

motorcycle

Motorcycle specific functions

void set_wheelie(bike: Vehicle, power: float)

Set wheelie power

void set_stoppie(bike: Vehicle, power: float)

Set stoppie power

void set_lean(bike: Vehicle, angle: float)

Set lean angle

float get_lean_angle(bike: Vehicle)

Get current lean angle

void pop_wheelie(bike: Vehicle)

Pop a wheelie

bool is_doing_wheelie(bike: Vehicle)

Check if doing wheelie

bool is_doing_stoppie(bike: Vehicle)

Check if doing stoppie

bool can_do_burnout(bike: Vehicle)

Check if can do burnout

void set_slippery_tires(bike: Vehicle, slippery: bool)

Set slippery tires

boat

Boat specific functions

void set_anchor(boat: Vehicle, anchored: bool)

Set anchor state

bool is_anchored(boat: Vehicle)

Check if anchored

void set_sail(boat: Vehicle, sail: float)

Set sail state

float get_sail_state(boat: Vehicle)

Get current sail state

void set_boom_rotation(boat: Vehicle, rotation: float)

Set boom rotation

float get_boom_rotation(boat: Vehicle)

Get boom rotation

void set_rudder(boat: Vehicle, angle: float)

Set rudder angle

float get_rudder_angle(boat: Vehicle)

Get rudder angle

bool is_in_water(boat: Vehicle)

Check if boat is in water

void sink(boat: Vehicle)

Make boat sink

bool is_sinking(boat: Vehicle)

Check if boat is sinking

void set_out_of_water(boat: Vehicle)

Set boat out of water

tank

Tank specific functions

void set_turret_rotation(tank: Vehicle, rotation: float)

Set turret rotation

float get_turret_rotation(tank: Vehicle)

Get turret rotation

void set_cannon_elevation(tank: Vehicle, elevation: float)

Set cannon elevation

float get_cannon_elevation(tank: Vehicle)

Get cannon elevation

void fire_cannon(tank: Vehicle)

Fire tank cannon

void set_tracks_enabled(tank: Vehicle, enabled: bool)

Enable/disable tracks

bool are_tracks_enabled(tank: Vehicle)

Check if tracks enabled

float get_cannon_cooldown(tank: Vehicle)

Get cannon cooldown

session_type

Online session type constants

int SINGLEPLAYER(-1)

Single player

int PUBLIC(0)

Public session

int NEW_PUBLIC(1)

New public session

int CLOSED_CREW(2)

Closed crew session

int CREW(3)

Crew session

int CLOSED_FRIEND(6)

Closed friend session

int FIND_FRIEND(9)

Find friend session

int SOLO(10)

Solo session

int INVITE_ONLY(11)

Invite only session

int JOIN_CREW(12)

Join crew session

control

Game control input constants

int NEXT_CAMERA(0)

Next camera control

int LOOK_LR(1)

Look left/right

int LOOK_UD(2)

Look up/down

int LOOK_UP_ONLY(3)

Look up only

int LOOK_DOWN_ONLY(4)

Look down only

int LOOK_LEFT_ONLY(5)

Look left only

int LOOK_RIGHT_ONLY(6)

Look right only

int CINEMATIC_SLOWMO(7)

Cinematic slowmo

int SCRIPTED_FLY_UD(8)

Scripted fly up/down

int SCRIPTED_FLY_LR(9)

Scripted fly left/right

int SCRIPTED_FLY_ZUP(10)

Scripted fly z up

int SCRIPTED_FLY_ZDOWN(11)

Scripted fly z down

int WEAPON_WHEEL_UD(12)

Weapon wheel up/down

int WEAPON_WHEEL_LR(13)

Weapon wheel left/right

int WEAPON_WHEEL_NEXT(14)

Weapon wheel next

int WEAPON_WHEEL_PREV(15)

Weapon wheel prev

int SELECT_NEXT_WEAPON(16)

Select next weapon

int SELECT_PREV_WEAPON(17)

Select prev weapon

int SKIP_CUTSCENE(18)

Skip cutscene

int CHARACTER_WHEEL(19)

Character wheel

int MULTIPLAYER_INFO(20)

Multiplayer info

int SPRINT(21)

Sprint

int JUMP(22)

Jump

int ENTER(23)

Enter vehicle

int ATTACK(24)

Attack

int AIM(25)

Aim weapon

int LOOK_BEHIND(26)

Look behind

int PHONE(27)

Phone

int SPECIAL_ABILITY(28)

Special ability

int SPECIAL_ABILITY_SECONDARY(29)

Special ability 2

int MOVE_LR(30)

Move left/right

int MOVE_UD(31)

Move up/down

int MOVE_UP_ONLY(32)

Move up only

int MOVE_DOWN_ONLY(33)

Move down only

int MOVE_LEFT_ONLY(34)

Move left only

int MOVE_RIGHT_ONLY(35)

Move right only

int DUCK(36)

Duck/crouch

int SELECT_WEAPON(37)

Select weapon

int PICKUP(38)

Pickup item

int SNIPER_ZOOM(39)

Sniper zoom

int SNIPER_ZOOM_IN_ONLY(40)

Sniper zoom in

int SNIPER_ZOOM_OUT_ONLY(41)

Sniper zoom out

int SNIPER_ZOOM_IN_SECONDARY(42)

Sniper zoom 2 in

int SNIPER_ZOOM_OUT_SECONDARY(43)

Sniper zoom 2 out

int COVER(44)

Take cover

int RELOAD(45)

Reload weapon

int TALK(46)

Talk/Interact

int DETONATE(47)

Detonate

int HUD_SPECIAL(48)

HUD special

int ARREST(49)

Arrest

int ACCURATE_AIM(50)

Accurate aim

int CONTEXT(51)

Context action

int CONTEXT_SECONDARY(52)

Context 2

int WEAPON_SPECIAL(53)

Weapon special

int WEAPON_SPECIAL_TWO(54)

Weapon special 2

int DIVE(55)

Dive

int DROP_WEAPON(56)

Drop weapon

int DROP_AMMO(57)

Drop ammo

int THROW_GRENADE(58)

Throw grenade

int VEH_MOVE_LR(59)

Vehicle move L/R

int VEH_MOVE_UD(60)

Vehicle move U/D

int VEH_MOVE_UP_ONLY(61)

Vehicle move up

int VEH_MOVE_DOWN_ONLY(62)

Vehicle move down

int VEH_MOVE_LEFT_ONLY(63)

Vehicle move left

int VEH_MOVE_RIGHT_ONLY(64)

Vehicle move right

int VEH_SPECIAL(65)

Vehicle special

int VEH_GUN_LR(66)

Vehicle gun L/R

int VEH_GUN_UD(67)

Vehicle gun U/D

int VEH_AIM(68)

Vehicle aim

int VEH_ATTACK(69)

Vehicle attack

int VEH_ATTACK2(70)

Vehicle attack 2

int VEH_ACCELERATE(71)

Vehicle accelerate

int VEH_BRAKE(72)

Vehicle brake

int VEH_DUCK(73)

Vehicle duck

int VEH_HEADLIGHT(74)

Vehicle headlight

int VEH_EXIT(75)

Vehicle exit

int VEH_HANDBRAKE(76)

Vehicle handbrake

int VEH_HOTWIRE_LEFT(77)

Hotwire left

int VEH_HOTWIRE_RIGHT(78)

Hotwire right

int VEH_LOOK_BEHIND(79)

Vehicle look behind

int VEH_CIN_CAM(80)

Vehicle cinematic cam

int VEH_NEXT_RADIO(81)

Vehicle next radio

int VEH_PREV_RADIO(82)

Vehicle prev radio

int VEH_NEXT_RADIO_TRACK(83)

Next radio track

int VEH_PREV_RADIO_TRACK(84)

Prev radio track

int VEH_RADIO_WHEEL(85)

Radio wheel

int VEH_HORN(86)

Vehicle horn

int VEH_FLY_THROTTLE_UP(87)

Fly throttle up

int VEH_FLY_THROTTLE_DOWN(88)

Fly throttle down

int VEH_FLY_YAW_LEFT(89)

Fly yaw left

int VEH_FLY_YAW_RIGHT(90)

Fly yaw right

int VEH_PASSENGER_AIM(91)

Passenger aim

int VEH_PASSENGER_ATTACK(92)

Passenger attack

int VEH_SPECIAL_ABILITY_FRANKLIN(93)

Franklin special

int VEH_STUNT_UD(94)

Stunt up/down

int VEH_CINEMATIC_UD(95)

Cinematic up/down

int VEH_CINEMATIC_UP_ONLY(96)

Cinematic up

int VEH_CINEMATIC_DOWN_ONLY(97)

Cinematic down

int VEH_CINEMATIC_LR(98)

Cinematic left/right

int VEH_SELECT_NEXT_WEAPON(99)

Vehicle next weapon

int VEH_SELECT_PREV_WEAPON(100)

Vehicle prev weapon

int VEH_ROOF(101)

Vehicle roof

int VEH_JUMP(102)

Vehicle jump

int VEH_GRAPPLING_HOOK(103)

Grappling hook

int VEH_SHUFFLE(104)

Vehicle shuffle

int VEH_DROP_PROJECTILE(105)

Drop projectile

int VEH_MOUSE_CONTROL_OVERRIDE(106)

Mouse control override

int VEH_FLY_ROLL_LR(107)

Fly roll L/R

int VEH_FLY_ROLL_LEFT_ONLY(108)

Fly roll left

int VEH_FLY_ROLL_RIGHT_ONLY(109)

Fly roll right

int VEH_FLY_PITCH_UD(110)

Fly pitch U/D

int VEH_FLY_PITCH_UP_ONLY(111)

Fly pitch up

int VEH_FLY_PITCH_DOWN_ONLY(112)

Fly pitch down

int VEH_FLY_UNDERCARRIAGE(113)

Fly undercarriage

int VEH_FLY_ATTACK(114)

Fly attack

int VEH_FLY_SELECT_NEXT_WEAPON(115)

Fly next weapon

int VEH_FLY_SELECT_PREV_WEAPON(116)

Fly prev weapon

int VEH_FLY_SELECT_TARGET_LEFT(117)

Fly target left

int VEH_FLY_SELECT_TARGET_RIGHT(118)

Fly target right

int VEH_FLY_VERTICAL_FLIGHT_MODE(119)

VTOL mode

int VEH_FLY_DUCK(120)

Fly duck

int VEH_FLY_ATTACK_CAMERA(121)

Fly attack camera

int VEH_FLY_MOUSE_CONTROL_OVERRIDE(122)

Fly mouse override

int VEH_SUB_TURN_LR(123)

Sub turn L/R

int VEH_SUB_TURN_LEFT_ONLY(124)

Sub turn left

int VEH_SUB_TURN_RIGHT_ONLY(125)

Sub turn right

int VEH_SUB_PITCH_UD(126)

Sub pitch U/D

int VEH_SUB_PITCH_UP_ONLY(127)

Sub pitch up

int VEH_SUB_PITCH_DOWN_ONLY(128)

Sub pitch down

int VEH_SUB_THROTTLE_UP(129)

Sub throttle up

int VEH_SUB_THROTTLE_DOWN(130)

Sub throttle down

int VEH_SUB_ASCEND(131)

Sub ascend

int VEH_SUB_DESCEND(132)

Sub descend

int VEH_SUB_TURN_HARD_LEFT(133)

Sub hard left

int VEH_SUB_TURN_HARD_RIGHT(134)

Sub hard right

int VEH_SUB_MOUSE_CONTROL_OVERRIDE(135)

Sub mouse override

int VEH_PUSHBIKE_PEDAL(136)

Bike pedal

int VEH_PUSHBIKE_SPRINT(137)

Bike sprint

int VEH_PUSHBIKE_FRONT_BRAKE(138)

Bike front brake

int VEH_PUSHBIKE_REAR_BRAKE(139)

Bike rear brake

int MELEE_ATTACK_LIGHT(140)

Melee light attack

int MELEE_ATTACK_HEAVY(141)

Melee heavy attack

int MELEE_ATTACK_ALTERNATE(142)

Melee alternate

int MELEE_BLOCK(143)

Melee block

int PARACHUTE_DEPLOY(144)

Parachute deploy

int PARACHUTE_DETACH(145)

Parachute detach

int PARACHUTE_TURN_LR(146)

Parachute turn

int PARACHUTE_TURN_LEFT_ONLY(147)

Parachute left

int PARACHUTE_TURN_RIGHT_ONLY(148)

Parachute right

int PARACHUTE_PITCH_UD(149)

Parachute pitch

int PARACHUTE_PITCH_UP_ONLY(150)

Parachute up

int PARACHUTE_PITCH_DOWN_ONLY(151)

Parachute down

int PARACHUTE_BRAKE_LEFT(152)

Parachute brake left

int PARACHUTE_BRAKE_RIGHT(153)

Parachute brake right

int PARACHUTE_SMOKE(154)

Parachute smoke

int PARACHUTE_PRECISION_LANDING(155)

Precision landing

int MAP(156)

Open map

int SELECT_WEAPON_UNARMED(157)

Select unarmed

int SELECT_WEAPON_MELEE(158)

Select melee

int SELECT_WEAPON_HANDGUN(159)

Select handgun

int SELECT_WEAPON_SHOTGUN(160)

Select shotgun

int SELECT_WEAPON_SMG(161)

Select SMG

int SELECT_WEAPON_AUTO_RIFLE(162)

Select rifle

int SELECT_WEAPON_SNIPER(163)

Select sniper

int SELECT_WEAPON_HEAVY(164)

Select heavy

int SELECT_WEAPON_SPECIAL(165)

Select special

int SELECT_CHARACTER_MICHAEL(166)

Select Michael

int SELECT_CHARACTER_FRANKLIN(167)

Select Franklin

int SELECT_CHARACTER_TREVOR(168)

Select Trevor

int SELECT_CHARACTER_MULTIPLAYER(169)

Select MP char

int SAVE_REPLAY_CLIP(170)

Save replay clip

int SPECIAL_ABILITY_PC(171)

Special ability PC

int CELLPHONE_UP(172)

Cellphone up

int CELLPHONE_DOWN(173)

Cellphone down

int CELLPHONE_LEFT(174)

Cellphone left

int CELLPHONE_RIGHT(175)

Cellphone right

int CELLPHONE_SELECT(176)

Cellphone select

int CELLPHONE_CANCEL(177)

Cellphone cancel

int CELLPHONE_OPTION(178)

Cellphone option

int CELLPHONE_EXTRA_OPTION(179)

Cellphone extra

int CELLPHONE_SCROLL_FORWARD(180)

Cellphone scroll fwd

int CELLPHONE_SCROLL_BACKWARD(181)

Cellphone scroll back

int CELLPHONE_CAMERA_FOCUS_LOCK(182)

Phone camera focus

int CELLPHONE_CAMERA_GRID(183)

Phone camera grid

int CELLPHONE_CAMERA_SELFIE(184)

Phone selfie

int CELLPHONE_CAMERA_DOF(185)

Phone camera DoF

int CELLPHONE_CAMERA_EXPRESSION(186)

Phone camera exp

int FRONTEND_DOWN(187)

Frontend down

int FRONTEND_UP(188)

Frontend up

int FRONTEND_LEFT(189)

Frontend left

int FRONTEND_RIGHT(190)

Frontend right

int FRONTEND_RDOWN(191)

Frontend R down

int FRONTEND_RUP(192)

Frontend R up

int FRONTEND_RLEFT(193)

Frontend R left

int FRONTEND_RRIGHT(194)

Frontend R right

int FRONTEND_AXIS_X(195)

Frontend axis X

int FRONTEND_AXIS_Y(196)

Frontend axis Y

int FRONTEND_RIGHT_AXIS_X(197)

Frontend R axis X

int FRONTEND_RIGHT_AXIS_Y(198)

Frontend R axis Y

int FRONTEND_PAUSE(199)

Frontend pause

int FRONTEND_PAUSE_ALTERNATE(200)

Frontend pause alt

int FRONTEND_ACCEPT(201)

Frontend accept

int FRONTEND_CANCEL(202)

Frontend cancel

int FRONTEND_X(203)

Frontend X

int FRONTEND_Y(204)

Frontend Y

int FRONTEND_LB(205)

Frontend LB

int FRONTEND_RB(206)

Frontend RB

int FRONTEND_LT(207)

Frontend LT

int FRONTEND_RT(208)

Frontend RT

int FRONTEND_LS(209)

Frontend LS

int FRONTEND_RS(210)

Frontend RS

int FRONTEND_LEADERBOARD(211)

Frontend leaderboard

int FRONTEND_SOCIAL_CLUB(212)

Frontend social club

int FRONTEND_SOCIAL_CLUB_SECONDARY(213)

Frontend SC 2

int FRONTEND_DELETE(214)

Frontend delete

int FRONTEND_ENDSCREEN_ACCEPT(215)

Endscreen accept

int FRONTEND_ENDSCREEN_EXPAND(216)

Endscreen expand

int FRONTEND_SELECT(217)

Frontend select

int SCRIPT_LEFT_AXIS_X(218)

Script L axis X

int SCRIPT_LEFT_AXIS_Y(219)

Script L axis Y

int SCRIPT_RIGHT_AXIS_X(220)

Script R axis X

int SCRIPT_RIGHT_AXIS_Y(221)

Script R axis Y

int SCRIPT_RUP(222)

Script R up

int SCRIPT_RDOWN(223)

Script R down

int SCRIPT_RLEFT(224)

Script R left

int SCRIPT_RRIGHT(225)

Script R right

int SCRIPT_LB(226)

Script LB

int SCRIPT_RB(227)

Script RB

int SCRIPT_LT(228)

Script LT

int SCRIPT_RT(229)

Script RT

int SCRIPT_LS(230)

Script LS

int SCRIPT_RS(231)

Script RS

int SCRIPT_PAD_UP(232)

Script pad up

int SCRIPT_PAD_DOWN(233)

Script pad down

int SCRIPT_PAD_LEFT(234)

Script pad left

int SCRIPT_PAD_RIGHT(235)

Script pad right

int SCRIPT_SELECT(236)

Script select

int CURSOR_ACCEPT(237)

Cursor accept

int CURSOR_CANCEL(238)

Cursor cancel

int CURSOR_X(239)

Cursor X

int CURSOR_Y(240)

Cursor Y

int CURSOR_SCROLL_UP(241)

Cursor scroll up

int CURSOR_SCROLL_DOWN(242)

Cursor scroll down

int ENTER_CHEAT_CODE(243)

Enter cheat code

int INTERACTION_MENU(244)

Interaction menu

int MP_TEXT_CHAT_ALL(245)

MP text chat all

int MP_TEXT_CHAT_TEAM(246)

MP text chat team

int MP_TEXT_CHAT_FRIENDS(247)

MP text chat friends

int MP_TEXT_CHAT_CREW(248)

MP text chat crew

int PUSH_TO_TALK(249)

Push to talk

int CREATOR_LS(250)

Creator LS

int CREATOR_RS(251)

Creator RS

int CREATOR_LT(252)

Creator LT

int CREATOR_RT(253)

Creator RT

int CREATOR_MENU_TOGGLE(254)

Creator menu toggle

int CREATOR_ACCEPT(255)

Creator accept

int CREATOR_DELETE(256)

Creator delete

int ATTACK2(257)

Attack 2

int RAPPEL_JUMP(258)

Rappel jump

int RAPPEL_LONG_JUMP(259)

Rappel long jump

int RAPPEL_SMASH_WINDOW(260)

Rappel smash window

int PREV_WEAPON(261)

Previous weapon

int NEXT_WEAPON(262)

Next weapon

int MELEE_ATTACK1(263)

Melee attack 1

int MELEE_ATTACK2(264)

Melee attack 2

int WHISTLE(265)

Whistle

int MOVE_LEFT(266)

Move left

int MOVE_RIGHT(267)

Move right

int MOVE_UP(268)

Move up

int MOVE_DOWN(269)

Move down

int LOOK_LEFT(270)

Look left

int LOOK_RIGHT(271)

Look right

int LOOK_UP(272)

Look up

int LOOK_DOWN(273)

Look down

int SNIPER_ZOOM_IN(274)

Sniper zoom in

int SNIPER_ZOOM_OUT(275)

Sniper zoom out

int SNIPER_ZOOM_IN_ALTERNATE(276)

Sniper zoom in alt

int SNIPER_ZOOM_OUT_ALTERNATE(277)

Sniper zoom out alt

int VEH_MOVE_LEFT(278)

Vehicle move left

int VEH_MOVE_RIGHT(279)

Vehicle move right

int VEH_MOVE_UP(280)

Vehicle move up

int VEH_MOVE_DOWN(281)

Vehicle move down

int VEH_GUN_LEFT(282)

Vehicle gun left

int VEH_GUN_RIGHT(283)

Vehicle gun right

int VEH_GUN_UP(284)

Vehicle gun up

int VEH_GUN_DOWN(285)

Vehicle gun down

int VEH_LOOK_LEFT(286)

Vehicle look left

int VEH_LOOK_RIGHT(287)

Vehicle look right

int REPLAY_START_STOP_RECORDING(288)

Recording start/stop

int REPLAY_START_STOP_RECORDING_SECONDARY(289)

Recording 2

int SCALED_LOOK_LR(290)

Scaled look L/R

int SCALED_LOOK_UD(291)

Scaled look U/D

int SCALED_LOOK_UP_ONLY(292)

Scaled look up

int SCALED_LOOK_DOWN_ONLY(293)

Scaled look down

int SCALED_LOOK_LEFT_ONLY(294)

Scaled look left

int SCALED_LOOK_RIGHT_ONLY(295)

Scaled look right

int REPLAY_MARKER_DELETE(296)

Replay marker delete

int REPLAY_CLIP_DELETE(297)

Replay clip delete

int REPLAY_PAUSE(298)

Replay pause

int REPLAY_REWIND(299)

Replay rewind

int REPLAY_FFWD(300)

Replay fast forward

int REPLAY_NEWMARKER(301)

Replay new marker

int REPLAY_RECORD(302)

Replay record

int REPLAY_SCREENSHOT(303)

Replay screenshot

int REPLAY_HIDEHUD(304)

Replay hide HUD

int REPLAY_STARTPOINT(305)

Replay start point

int REPLAY_ENDPOINT(306)

Replay end point

int REPLAY_ADVANCE(307)

Replay advance

int REPLAY_BACK(308)

Replay back

int REPLAY_TOOLS(309)

Replay tools

int REPLAY_RESTART(310)

Replay restart

int REPLAY_SHOWHOTKEY(311)

Replay show hotkey

int REPLAY_CYCLEMARKERLEFT(312)

Cycle marker left

int REPLAY_CYCLEMARKERRIGHT(313)

Cycle marker right

int REPLAY_FOVINCREASE(314)

FOV increase

int REPLAY_FOVDECREASE(315)

FOV decrease

int REPLAY_CAMERAUP(316)

Camera up

int REPLAY_CAMERADOWN(317)

Camera down

int REPLAY_SAVE(318)

Replay save

int REPLAY_TOGGLETIME(319)

Toggle time

int REPLAY_TOGGLETIPS(320)

Toggle tips

int REPLAY_PREVIEW(321)

Replay preview

int REPLAY_TOGGLE_TIMELINE(322)

Toggle timeline

int REPLAY_TIMELINE_PICKUP_CLIP(323)

Timeline pickup clip

int REPLAY_TIMELINE_DUPLICATE_CLIP(324)

Timeline duplicate

int REPLAY_TIMELINE_PLACE_CLIP(325)

Timeline place clip

int REPLAY_CTRL(326)

Replay ctrl

int REPLAY_TIMELINE_SAVE(327)

Timeline save

int REPLAY_PREVIEW_AUDIO(328)

Preview audio

int VEH_DRIVE_LOOK(329)

Vehicle drive look

int VEH_DRIVE_LOOK2(330)

Vehicle drive look 2

int VEH_FLY_ATTACK2(331)

Fly attack 2

int RADIO_WHEEL_UD(332)

Radio wheel U/D

int RADIO_WHEEL_LR(333)

Radio wheel L/R

int VEH_SLOWMO_UD(334)

Vehicle slowmo U/D

int VEH_SLOWMO_UP_ONLY(335)

Vehicle slowmo up

int VEH_SLOWMO_DOWN_ONLY(336)

Vehicle slowmo down

int VEH_HYDRAULICS_CONTROL_TOGGLE(337)

Hydraulics toggle

int VEH_HYDRAULICS_CONTROL_LEFT(338)

Hydraulics left

int VEH_HYDRAULICS_CONTROL_RIGHT(339)

Hydraulics right

int VEH_HYDRAULICS_CONTROL_UP(340)

Hydraulics up

int VEH_HYDRAULICS_CONTROL_DOWN(341)

Hydraulics down

int VEH_HYDRAULICS_CONTROL_UD(342)

Hydraulics U/D

int VEH_HYDRAULICS_CONTROL_LR(343)

Hydraulics L/R

int SWITCH_VISOR(344)

Switch visor

int VEH_MELEE_HOLD(345)

Vehicle melee hold

int VEH_MELEE_LEFT(346)

Vehicle melee left

int VEH_MELEE_RIGHT(347)

Vehicle melee right

int MAP_POI(348)

Map POI

int REPLAY_SNAPMATIC_PHOTO(349)

Snapmatic photo

int VEH_CAR_JUMP(350)

Vehicle car jump

int VEH_ROCKET_BOOST(351)

Vehicle rocket boost

int VEH_FLY_BOOST(352)

Fly boost

int VEH_PARACHUTE(353)

Vehicle parachute

int VEH_BIKE_WINGS(354)

Bike wings

int VEH_FLY_BOMB_BAY(355)

Bomb bay

int VEH_FLY_COUNTER(356)

Countermeasures

int VEH_TRANSFORM(357)

Vehicle transform

int QUAD_LOCO_REVERSE(358)

Quadruped reverse

int INPUT_RESPAWN_FASTER(359)

Respawn faster

int INPUT_HUDMARKER_SELECT(360)

HUD marker select

ped_component

Ped drawable component IDs

int HEAD(0)

Head

int BEARD(1)

Beard/Mask

int HAIR(2)

Hair

int TORSO(3)

Torso

int LEGS(4)

Legs

int HANDS(5)

Hands/Parachute

int FEET(6)

Feet/Shoes

int EYES(7)

Eyes/Accessories

int ACCESSORIES(8)

Accessories

int TASKS(9)

Tasks/Armor

int DECALS(10)

Decals/Badges

int TORSO2(11)

Torso 2/Shirt

ped_prop

Ped prop type IDs

int HATS(0)

Hats

int GLASSES(1)

Glasses

int EARS(2)

Ears

int WATCHES(6)

Watches

int BRACELETS(7)

Bracelets

face_feature

Face feature indices for ped customization

int NOSE_WIDTH(0)

Nose width

int NOSE_PEAK_HEIGHT(1)

Nose peak height

int NOSE_PEAK_LENGTH(2)

Nose peak length

int NOSE_BONE_HEIGHT(3)

Nose bone height

int NOSE_PEAK_LOWER(4)

Nose peak lower

int NOSE_BONE_TWIST(5)

Nose bone twist

int EYEBROW_HEIGHT(6)

Eyebrow height

int EYEBROW_FORWARD(7)

Eyebrow forward

int CHEEKBONE_HEIGHT(8)

Cheekbone height

int CHEEKBONE_WIDTH(9)

Cheekbone width

int CHEEK_WIDTH(10)

Cheek width

int EYE_OPENING(11)

Eye opening

int LIP_THICKNESS(12)

Lip thickness

int JAW_BONE_WIDTH(13)

Jaw bone width

int JAW_BONE_BACK_LENGTH(14)

Jaw bone back length

int CHIN_BONE_LENGTH(15)

Chin bone length

int CHIN_BONE_LOWER(16)

Chin bone lower

int CHIN_BONE_WIDTH(17)

Chin bone width

int CHIN_HOLE(18)

Chin hole

int NECK_THICKNESS(19)

Neck thickness

head_overlay

Head overlay indices for ped appearance

int BLEMISHES(0)

Blemishes

int FACIAL_HAIR(1)

Facial hair

int EYEBROWS(2)

Eyebrows

int AGEING(3)

Ageing

int MAKEUP(4)

Makeup

int BLUSH(5)

Blush

int COMPLEXION(6)

Complexion

int SUN_DAMAGE(7)

Sun damage

int LIPSTICK(8)

Lipstick

int MOLES_FRECKLES(9)

Moles/freckles

int CHEST_HAIR(10)

Chest hair

int BODY_BLEMISHES(11)

Body blemishes

int ADD_BODY_BLEMISHES(12)

Additional blemishes

screenshot

Screenshot and recording functions

bool take(filename: string = "")

Take screenshot

bool take_clean(filename: string = "")

Take clean screenshot (no HUD)

string get_screenshots_folder()

Get screenshots folder path

void set_screenshots_folder(path: string)

Set screenshots folder

bool is_recording()

Check if recording video

void start_recording()

Start video recording

void stop_recording()

Stop video recording

string get_recordings_folder()

Get recordings folder path

log

Logging and debugging functions

void info(message: string)

Log info message

void warning(message: string)

Log warning message

void error(message: string)

Log error message

void debug(message: string)

Log debug message

void trace(message: string)

Log trace message

void success(message: string)

Log success message

void clear()

Clear log

table get_all()

Get all log entries

void set_level(level: int)

Set log level

int get_level()

Get current log level

bool to_file(filename: string)

Write logs to file

int LEVEL_TRACE(0)

Trace log level

int LEVEL_DEBUG(1)

Debug log level

int LEVEL_INFO(2)

Info log level

int LEVEL_WARNING(3)

Warning log level

int LEVEL_ERROR(4)

Error log level

util

General utility functions

string get_game_version()

Get game version string

string get_online_version()

Get online version

int get_build_number()

Get build number

bool is_session_started()

Check if session started

bool is_game_focused()

Check if game window focused

int get_frame_count()

Get current frame count

float get_frame_time()

Get frame delta time

float get_fps()

Get current FPS

int get_game_timer()

Get game timer (ms)

void yield(ms: int = 0)

Yield execution

void sleep(ms: int)

Sleep for milliseconds

int create_tick_handler(callback: function)

Create tick handler

void remove_tick_handler(handle: int)

Remove tick handler

void toast(message: string, duration: int = 2000)

Show toast notification

void spoof_rockstar_id(rid: int)

Spoof Rockstar ID

int get_rockstar_id()

Get local Rockstar ID

int get_player_rockstar_id(player: int)

Get player's Rockstar ID

CEntity

Base entity class for all game entities. Every ped, vehicle, object and pickup is backed by one of these in memory at a fixed offset from the entity's script handle; besides the wrapper-style accessors above, CEntity also exposes a handful of raw fields readable directly with memory.* once you resolve the base pointer via memory.handle_to_pointer.

CEntity FromAddress(address: int)

Create CEntity from memory address

int GetAddress()

Get entity memory address

Usage example
int object:GetAddress()
eEntityType GetType()

Get entity type (Ped, Vehicle, Object)

Usage example
eEntityType object:GetType()
V3 GetVelocity()

Get current velocity vector (m/s)

Usage example
V3 object:GetVelocity()
fwAttachmentEntityExtension GetAttachmentExtension()

Get attachment extension if attached

Usage example
fwAttachmentEntityExtension object:GetAttachmentExtension()
bool IsPed()

Check if entity is a ped

Usage example
bool object:IsPed()
bool IsVehicle()

Check if entity is a vehicle

Usage example
bool object:IsVehicle()
bool IsObject()

Check if entity is an object

Usage example
bool object:IsObject()
bool IsPhysical()

Check if entity has physics

Usage example
bool object:IsPhysical()
V3 Position()

World position of entity (read/write)

Usage example
V3 object.Position
bool IsVisible()

Whether entity is visible (read/write)

Usage example
bool object.IsVisible
bool IsDynamic()

Whether entity uses dynamic physics

Usage example
bool object.IsDynamic
bool IsFixed()

Whether entity is fixed in place

Usage example
bool object.IsFixed
bool IsFixedByNetwork()

Whether fixed by network sync

Usage example
bool object.IsFixedByNetwork
CBaseModelInfo ModelInfo()

Get model info (may be nil)

Usage example
CBaseModelInfo object.ModelInfo
number HeightMultiplier()

Height scale multiplier

Usage example
number object.HeightMultiplier
number WidthMultiplier()

Width scale multiplier

Usage example
number object.WidthMultiplier
number ThicknessMultiplier()

Thickness scale multiplier

Usage example
number object.ThicknessMultiplier
uint8 m_type()

Raw entity-type byte at CEntity+0x28 (0 = ped, 3 = vehicle, per the engine's type enum)

float m_health()

Current health as a raw float at CEntity+0x280

float m_maxHealth()

Maximum health as a raw float at CEntity+0x284

fMatrix44 m_transformMatrix()

The entity's embedded fMatrix44 world transform, starting directly at CEntity+0x60 with no extra pointer hop (row 4 holds world position)

float, float ReadHealthViaMemory(entity: handle)

Reads an entity's current and max health directly from its CEntity struct instead of a wrapper getter.

Usage example
local ptr = memory.handle_to_pointer(entity)
local health = memory.read_float(ptr + 0x280)
local maxHealth = memory.read_float(ptr + 0x284)
print(string.format("%.1f / %.1f", health, maxHealth))
CEntity FromAddress(int address)

Member available through Scooby's native Lua API.

Usage example
CEntity CEntity.FromAddress(int address)

CPhysical

Physical entity with physics properties

CPhysical FromAddress(address: int)

Create CPhysical from address

int GetAddress()

Get memory address

Usage example
int object:GetAddress()
eEntityType GetType()

Get entity type

Usage example
eEntityType object:GetType()
V3 GetVelocity()

Get velocity vector (m/s)

Usage example
V3 object:GetVelocity()
fwAttachmentEntityExtension GetAttachmentExtension()

Get attachment extension

Usage example
fwAttachmentEntityExtension object:GetAttachmentExtension()
void EnableInvincible()

Make entity invincible

Usage example
void object:EnableInvincible()
void DisableInvincible()

Remove invincibility

Usage example
void object:DisableInvincible()
bool IsInvincible()

Check if invincible

Usage example
bool object:IsInvincible()
bool IsPed()

Check if ped

Usage example
bool object:IsPed()
bool IsVehicle()

Check if vehicle

Usage example
bool object:IsVehicle()
bool IsObject()

Check if object

Usage example
bool object:IsObject()
bool IsPhysical()

Check if physical

Usage example
bool object:IsPhysical()
V3 Position()

World position

Usage example
V3 object.Position
bool IsVisible()

Visibility state

Usage example
bool object.IsVisible
bool IsDynamic()

Dynamic physics state

Usage example
bool object.IsDynamic
bool IsFixed()

Fixed in place state

Usage example
bool object.IsFixed
bool IsInWater()

Check if in water

Usage example
bool object.IsInWater
bool IsNotBuoyant()

Check if not buoyant

Usage example
bool object.IsNotBuoyant
bool IsRenderScorched()

Check if scorched

Usage example
bool object.IsRenderScorched
CBaseModelInfo ModelInfo()

Model info reference

Usage example
CBaseModelInfo object.ModelInfo
CNetObject NetObject()

Network object reference

Usage example
CNetObject object.NetObject
CPhysical FromAddress(int address)

Member available through Scooby's native Lua API.

Usage example
CPhysical CPhysical.FromAddress(int address)
number HeightMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.HeightMultiplier
bool IsFixedByNetwork()

Member available through Scooby's native Lua API.

Usage example
bool object.IsFixedByNetwork
number ThicknessMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.ThicknessMultiplier
number WidthMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.WidthMultiplier

CBaseModelInfo

Model information class

CBaseModelInfo FromAddress(address: int)

Create from address

int GetAddress()

Get memory address

Usage example
int object:GetAddress()
bool IsObject()

Check if object model

Usage example
bool object:IsObject()
bool IsPed()

Check if ped model

Usage example
bool object:IsPed()
bool IsVehicle()

Check if vehicle model

Usage example
bool object:IsVehicle()
bool IsWorldObject()

Check if world object

Usage example
bool object:IsWorldObject()
int Model()

Model hash

Usage example
int object.Model
int ModelIndex()

Model index

Usage example
int object.ModelIndex
CBaseModelInfo FromAddress(int address)

Member available through Scooby's native Lua API.

Usage example
CBaseModelInfo CBaseModelInfo.FromAddress(int address)

CVehicleModelInfo

Vehicle model information class. Beyond the Is* body-style checks above, the struct stores the vehicle type enum and per-model wheel scale as raw fields readable directly once you have the CVehicleModelInfo pointer (CEntity's model info slot at +0x20, dereferenced).

CVehicleModelInfo FromAddress(address: int)

Create from address

CVehicleModelInfo FromBaseModelInfo(base: CBaseModelInfo)

Create from base model info

int GetAddress()

Get memory address

Usage example
int object:GetAddress()
bool IsCar()

Check if car

Usage example
bool object:IsCar()
bool IsBike()

Check if motorcycle

Usage example
bool object:IsBike()
bool IsBicycle()

Check if bicycle

Usage example
bool object:IsBicycle()
bool IsQuadbike()

Check if quadbike

Usage example
bool object:IsQuadbike()
bool IsBoat()

Check if boat

Usage example
bool object:IsBoat()
bool IsJetski()

Check if jetski

Usage example
bool object:IsJetski()
bool IsPlane()

Check if plane

Usage example
bool object:IsPlane()
bool IsHeli()

Check if helicopter

Usage example
bool object:IsHeli()
bool IsBlimp()

Check if blimp

Usage example
bool object:IsBlimp()
bool IsTrain()

Check if train

Usage example
bool object:IsTrain()
bool IsTrailer()

Check if trailer

Usage example
bool object:IsTrailer()
bool IsSubmarine()

Check if submarine

Usage example
bool object:IsSubmarine()
bool IsSubmarineCar()

Check if submarine car

Usage example
bool object:IsSubmarineCar()
bool IsAmphibiousCar()

Check if amphibious car

bool IsAmphibiousQuadbike()

Check if amphibious quadbike

int Model()

Model hash

Usage example
int object.Model
int ModelIndex()

Model index

Usage example
int object.ModelIndex
uint32 m_vehicleType()

Vehicle type enum (car/bike/boat/heli/plane/...) at CVehicleModelInfo+0x340

float m_wheelScale()

Front wheel scale multiplier at CVehicleModelInfo+0x48C

float m_wheelScaleRear()

Rear wheel scale multiplier at CVehicleModelInfo+0x490

uint32 m_modelInfoFlags()

First dword of the model-info flag bitfield at CVehicleModelInfo+0x57C

int ReadVehicleTypeViaMemory(vehicle: handle)

Resolves a vehicle's CVehicleModelInfo pointer from its CEntity model info slot and reads the vehicle type enum directly.

Usage example
local entityPtr = memory.handle_to_pointer(vehicle)
local modelInfoPtr = memory.read_pointer(entityPtr + 0x20)
local vehicleType = memory.read_uint(modelInfoPtr + 0x340)
print("vehicle type enum:", vehicleType)
CVehicleModelInfo FromAddress(int address)

Member available through Scooby's native Lua API.

Usage example
CVehicleModelInfo CVehicleModelInfo.FromAddress(int address)
CVehicleModelInfo FromBaseModelInfo(CModelInfo base)

Member available through Scooby's native Lua API.

Usage example
CVehicleModelInfo CVehicleModelInfo.FromBaseModelInfo(CModelInfo base)
bool IsnAmphibiousCar()

Member available through Scooby's native Lua API.

Usage example
bool object:IsAmphibiousCar()
bool IsnAmphibiousQuadbike()

Member available through Scooby's native Lua API.

Usage example
bool object:IsAmphibiousQuadbike()

CNetGamePlayer

Network game player class

int GetAddress()

Get memory address

Usage example
int object:GetAddress()
string GetName()

Get player name

Usage example
string object:GetName()
GamerInfo GetGamerInfo()

Get player gamer info

Usage example
GamerInfo object:GetGamerInfo()
bool IsLocalPlayer()

Check if local player

Usage example
bool object:IsLocalPlayer()
bool IsReportBitSet(reason: eReportReason)

Check if RAC flag set

int PlayerId()

Player ID

Usage example
int object.PlayerId
int CxnId()

Connection ID

Usage example
int object.CxnId
CPlayerInfo PlayerInfo()

Player info reference

Usage example
CPlayerInfo object.PlayerInfo
bool IsReportBitSet(eReportReason reason)

Check if a report flag is set. Also called Rockstar Anti Cheat(RAC).

Usage example
bool object:isReportBitSet(eReportReason reason)

CNetObject

Network object for entity synchronization

CPhysical GetEntity()

Get associated CPhysical entity

Usage example
CPhysical object:GetEntity()
bool IsRemote()

Check if remotely owned

Usage example
bool object.IsRemote
int ObjectID()

Network object ID

Usage example
int object.ObjectID
int ObjectType()

Network object type

Usage example
int object.ObjectType
int PlayerId()

Owner player ID

Usage example
int object.PlayerId
int PendingPlayerId()

Next owner player ID

Usage example
int object.PendingPlayerId

CPlayerInfo

Player information class. The struct also carries an embedded rlGamerInfo block and a handful of raw movement/wanted fields readable directly with memory.* once you resolve a CPlayerInfo pointer yourself (a player ped's CPed+0x10A8, dereferenced).

int GetAddress()

Get memory address

string Name()

Player name

int WantedLevel()

Current wanted level

int MaxWantedLevel()

Maximum wanted level

int FrameFlags()

Player frame flags

int PlayerControls()

Player control flags

number Stamina()

Current stamina

number MaxStamina()

Maximum stamina

rlGamerInfo m_rlGamerInfo()

Embedded rlGamerInfo block (Rockstar ID, IPs, name) starting at CPlayerInfo+0x20 (see rlGamerInfo)

uint32 m_wantedLevel()

Raw wanted level (stars) at CPlayerInfo+0x8E8

float m_runSpeed()

Run speed multiplier at CPlayerInfo+0xD50

float m_stamina()

Raw stamina value at CPlayerInfo+0xD54

int ReadWantedLevelViaMemory(playerInfoPtr: int)

Reads a player's wanted level straight out of a resolved CPlayerInfo struct.

Usage example
local wanted = memory.read_uint(playerInfoPtr + 0x8E8)
print("wanted stars:", wanted)
number CachedSprintMultThisFrame()

Member available through Scooby's native Lua API.

Usage example
number object.CachedSprintMultThisFrame
number ExplosiveDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.ExplosiveDamageModifier
number ForceAirDragMult()

Affects the air drag of the player's current car/bike

Usage example
number object.ForceAirDragMult
int FriendStatus()

Member available through Scooby's native Lua API.

Usage example
int object.FriendStatus
int HavocCaused()

A counter going up when the player does bad stuff.

Usage example
int object.HavocCaused
int JackSpeed()

2 bytes

Usage example
int object.JackSpeed
int LastChangeWeaponFrame()

Member available through Scooby's native Lua API.

Usage example
int object.LastChangeWeaponFrame
CVehicle LastTargetVehicle()

Last vehicle player tried to enter.

Usage example
CVehicle object.LastTargetVehicle
int MaxArmour()

2 bytes

Usage example
int object.MaxArmour
number MaxExplosiveDamage()

Member available through Scooby's native Lua API.

Usage example
number object.MaxExplosiveDamage
int MaxHealth()

2 bytes

Usage example
int object.MaxHealth
number MaxSprintEnergy()

Member available through Scooby's native Lua API.

Usage example
number object.MaxSprintEnergy
number MeleeUnarmedDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.MeleeUnarmedDamageModifier
number MeleeWeaponDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.MeleeWeaponDamageModifier
number MeleeWeaponDefenseModifier()

Member available through Scooby's native Lua API.

Usage example
number object.MeleeWeaponDefenseModifier
number MeleeWeaponForceModifier()

Member available through Scooby's native Lua API.

Usage example
number object.MeleeWeaponForceModifier
GamerInfo NetData()

structure to GamerInfo holding information about the player

Usage example
GamerInfo object.NetData
int NumEnemiesInCombat()

A count of the number of enemy peds in combat targetting this player.

Usage example
int object.NumEnemiesInCombat
int NumEnemiesShootingInCombat()

A count of the number of enemy peds shooting at this player.

Usage example
int object.NumEnemiesShootingInCombat
CVehicle OnlyEnterThisVehicle()

Restrict the player to only being able to enter this vehicle (script-controlled)

Usage example
CVehicle object.OnlyEnterThisVehicle
int PlayerGroup()

Member available through Scooby's native Lua API.

Usage example
int object.PlayerGroup
CPed PlayerPed()

Pointer to the player ped (should always be set)

Usage example
CPed object.PlayerPed
int PlayerState()

PLAYERSTATE_INVALID = -1, PLAYERSTATE_PLAYING, PLAYERSTATE_HASDIED, PLAYERSTATE_HASBEENARRESTED, PLAYERSTATE_FAILEDMISSION, PLAYERSTATE_LEFTGAME, PLAYERSTATE_RESPAWN, PLAYERSTATE_IN_MP_CUTSCENE

Usage example
int object.PlayerState
CVehicle PreferFrontPassengerSeatVehicle()

Script can prefer the player to enter the front passenger seat for this vehicle

Usage example
CVehicle object.PreferFrontPassengerSeatVehicle
CVehicle PreferRearSeatsVehicle()

Script can prefer the player to enter the rear seats for this vehicle

Usage example
CVehicle object.PreferRearSeatsVehicle
number RunSprintSpeedMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.RunSprintSpeedMultiplier
CPed SpotterOfStolenVehicle()

Member available through Scooby's native Lua API.

Usage example
CPed object.SpotterOfStolenVehicle
number SprintControlCounter()

Member available through Scooby's native Lua API.

Usage example
number object.SprintControlCounter
number SprintEnergy()

Member available through Scooby's native Lua API.

Usage example
number object.SprintEnergy
number StealthRate()

Member available through Scooby's native Lua API.

Usage example
number object.StealthRate
number SwimSpeedMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.SwimSpeedMultiplier
int Team()

The player's team (in network game)

Usage example
int object.Team
int TimeBikeSprintPressed()

Member available through Scooby's native Lua API.

Usage example
int object.TimeBikeSprintPressed
number VehicleDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.VehicleDamageModifier
number VehicleDefenseModifier()

Member available through Scooby's native Lua API.

Usage example
number object.VehicleDefenseModifier
number WeaponDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.WeaponDamageModifier
number WeaponDefenseModifier()

Member available through Scooby's native Lua API.

Usage example
number object.WeaponDefenseModifier
number WeaponMinigunDefenseModifier()

Member available through Scooby's native Lua API.

Usage example
number object.WeaponMinigunDefenseModifier
number WeaponTakedownDefenseModifier()

Member available through Scooby's native Lua API.

Usage example
number object.WeaponTakedownDefenseModifier

CExplosionArgs

Explosion configuration arguments

CExplosionArgs New(explosionTag: eExplosionTag, position: V3)

Create new explosion args

eExplosionTag ExplosionTag()

Explosion type (GRENADE, MOLOTOV, etc)

Usage example
eExplosionTag object.ExplosionTag
V3 ExplosionPosition()

World position of explosion

Usage example
V3 object.ExplosionPosition
V3 Direction()

Direction vector of explosion force

Usage example
V3 object.Direction
number SizeScale()

Scale multiplier (1.0 = normal)

Usage example
number object.SizeScale
number CamShake()

Camera shake intensity (0.0-1.0)

Usage example
number object.CamShake
int ActivationDelay()

Delay in milliseconds

Usage example
int object.ActivationDelay
bool NoDamage()

If true, no damage dealt

Usage example
bool object.NoDamage
bool NoFx()

If true, no visual effects

Usage example
bool object.NoFx
bool MakeSound()

Whether to make sound

Usage example
bool object.MakeSound
bool InAir()

Whether explosion is in air

Usage example
bool object.InAir
bool IsLocalOnly()

Only affects local game

Usage example
bool object.IsLocalOnly
bool DisableDamagingOwner()

Prevent self-damage

Usage example
bool object.DisableDamagingOwner
CEntity EntExplosionOwner()

Entity that caused explosion

Usage example
CEntity object.EntExplosionOwner
CEntity EntIgnoreDamage()

Entity to ignore damage

Usage example
CEntity object.EntIgnoreDamage
CEntity ExplodingEntity()

Entity that is exploding

Usage example
CEntity object.ExplodingEntity
CEntity AttachEntity()

Entity to attach explosion to

Usage example
CEntity object.AttachEntity
int AttachBoneTag()

Bone to attach to

Usage example
int object.AttachBoneTag
int WeaponHash()

Weapon that caused explosion

Usage example
int object.WeaponHash
bool AttachedToVehicle()

Member available through Scooby's native Lua API.

Usage example
bool object.AttachedToVehicle
int CamShakeNameHash()

Member available through Scooby's native Lua API.

Usage example
int object.CamShakeNameHash
number CamShakeRollOffScaling()

Member available through Scooby's native Lua API.

Usage example
number object.CamShakeRollOffScaling
bool DetonatingOtherPlayersExplosive()

Member available through Scooby's native Lua API.

Usage example
bool object.DetonatingOtherPlayersExplosive
CExplosionArgs New(eExplosionTag explosionTag, V3 explosionPosition)

Create a new CExplosionArgs object.

Usage example
CExplosionArgs CExplosionArgs.New(eExplosionTag explosionTag, V3 explosionPosition)
eExplosionTag OriginalExplosionTag()

Member available through Scooby's native Lua API.

Usage example
eExplosionTag object.OriginalExplosionTag
int VfxTagHash()

Member available through Scooby's native Lua API.

Usage example
int object.VfxTagHash

GamerHandle

Player gamer handle for identification

GamerHandle New(rockstarId: int = 0)

Create new GamerHandle

bool IsValid()

Check if handle is valid

Usage example
bool object:IsValid()
GamerHandleBuffer ToBuffer()

Convert to GamerHandleBuffer

Usage example
GamerHandleBuffer object:ToBuffer()
int RockstarId()

Rockstar ID

int Platform()

Platform identifier

GamerHandle GamerHandle() GamerHandle GamerHandle.New(int rockstarId) New()

Create a new GamerHandle object.

Usage example
GamerHandle GamerHandle()
GamerHandle GamerHandle.New(int rockstarId)
Platform()

Member available through Scooby's native Lua API.

RockstarId()

Member available through Scooby's native Lua API.

UNK1()

Member available through Scooby's native Lua API.

GamerHandleBuffer

Buffer for GamerHandle used by natives

GamerHandleBuffer New()

Create new buffer

Usage example
GamerHandleBuffer GamerHandleBuffer.New()
int GetBuffer()

Get buffer address

Usage example
int object:GetBuffer()
int GetSize()

Get buffer size

Usage example
int object:GetSize()
GamerHandle ToHandle()

Convert to GamerHandle

Usage example
GamerHandle object:ToHandle()

GamerInfo

Player gamer information

string Name()

Player name

int RockstarId()

Rockstar ID

int HostKey()

Host key

HostKey()

Member available through Scooby's native Lua API.

Name()

Member available through Scooby's native Lua API.

RockstarId()

Member available through Scooby's native Lua API.

Feature

Menu feature object for creating custom features

int GetHash()

Get feature hash

Usage example
int object:GetHash()
int GetId()

Get feature ID in creation order

Usage example
int object:GetId()
string GetName(translate: bool = true)

Get feature name

Feature SetName(name: string)

Set feature name

string GetDesc(translate: bool = true)

Get feature description

Feature SetDesc(desc: string)

Set feature description

eFeatureType GetType()

Get feature type

Usage example
eFeatureType object:GetType()
bool IsToggled()

Check if feature is toggled on

Usage example
bool object:IsToggled()
bool IsToggleFeature()

Check if can be toggled

Usage example
bool object:IsToggleFeature()
bool IsVisible()

Check if visible in GUI

Usage example
bool object:IsVisible()
Feature SetVisible(visible: bool)

Set visibility in GUI

bool IsSaveable()

Check if saved in settings

Usage example
bool object:IsSaveable()
Feature SetSaveable(saveable: bool)

Set if saved in settings

bool IsSearchable()

Check if searchable

Usage example
bool object:IsSearchable()
Feature SetSearchable(searchable: bool)

Set if searchable

bool IsPlayerFeature()

Check if player feature

Usage example
bool object:IsPlayerFeature()
int GetArrayIndex()

Get array index if part of array

Usage example
int object:GetArrayIndex()
int GetPlayerIndex()

Get player index (same as GetArrayIndex)

Usage example
int object:GetPlayerIndex()
Feature Toggle(on: bool = nil)

Toggle feature on/off

void OnClick()

Trigger callback as if clicked

Usage example
void object:OnClick()
bool Render()

Render feature in current context

Usage example
bool object:Render()
Feature Reset()

Reset to default values

Usage example
Feature object:Reset()
bool GetBoolValue()

Get boolean value

Usage example
bool object:GetBoolValue()
Feature SetBoolValue(value: bool)

Set boolean value

int GetIntValue()

Get integer value

Usage example
int object:GetIntValue()
Feature SetIntValue(value: int)

Set integer value

number GetFloatValue()

Get float value

Usage example
number object:GetFloatValue()
Feature SetFloatValue(value: number)

Set float value

string GetStringValue()

Get string value

Usage example
string object:GetStringValue()
Feature SetStringValue(value: string)

Set string value

int,int,int,int GetColor()

Get color as r,g,b,a

Feature SetColor(r: int, g: int, b: int, a: int)

Set color

int GetColorU32()

Get color as packed RGBA

Usage example
int object:GetColorU32()
Feature SetColorU32(color: int)

Set color from packed RGBA

number,number,number,number GetColorFloats()

Get color as float 0.0-1.0

Feature SetColorFloats(r: number, g: number, b: number, a: number)

Set color from floats

int GetIntMinValue()

Get minimum int value

Usage example
int object:GetIntMinValue()
int GetIntMaxValue()

Get maximum int value

Usage example
int object:GetIntMaxValue()
int,int GetIntLimitValues()

Get min and max int values

Usage example
int,int object:GetIntLimitValues()
number GetFloatMinValue()

Get minimum float value

Usage example
number object:GetFloatMinValue()
number GetFloatMaxValue()

Get maximum float value

Usage example
number object:GetFloatMaxValue()
number,number GetFloatLimitValues()

Get min and max float values

Usage example
number,number object:GetFloatLimitValues()
Feature SetMinValue(value: int|number)

Set minimum value

Feature SetMaxValue(value: int|number)

Set maximum value

Feature SetLimitValues(min: int|number, max: int|number)

Set min and max values

Feature SetDefaultValue(value: any)

Set default value

Feature SetValue(value: any)

Set current value

int GetStepSizeInt()

Get int step size for slider

Usage example
int object:GetStepSize()
number GetStepSizeFloat()

Get float step size for slider

Usage example
number object:GetStepSize()
Feature SetStepSize(step: int|number)

Set step size for slider

int GetFastStepSizeInt()

Get fast int step size

Usage example
int object:GetStepSize()
number GetFastStepSizeFloat()

Get fast float step size

Usage example
number object:GetStepSize()
Feature SetFastStepSize(step: int|number)

Set fast step size

string GetFormat()

Get format string for values

Usage example
string object:GetFormat()
Feature SetFormat(fmt: string)

Set format string

table GetList()

Get list items for combo

Feature SetList(items: table)

Set list items for combo

int GetListIndex()

Get current list index

Usage example
int object:GetListIndex()
Feature SetListIndex(index: int)

Set current list index

bool IsListIndexToggled(index: int)

Check if list index toggled

Feature ToggleListIndex(index: int, toggle: bool)

Toggle list index

table GetHotkeys()

Get all hotkeys

Feature AddHotKey(keyCode: int)

Add hotkey

Feature RemoveHotkey(keyCode: int, all: bool)

Remove hotkey

void ClearHotkeys()

Remove all hotkeys

Feature RegisterCallbackTrigger / SetCallbackTrigger(trigger: eCallbackTrigger, callback: function = nil)

Register callback trigger; callback can be omitted to reuse Feature.Callback

Feature SetNoCallbackOnPress(enabled: bool)

Do not call the base callback when pressed; use registered callback triggers instead

bool GetNoCallbackOnPress / IsNoCallbackOnPress()

Check no-callback-on-press mode

bool LoadSettings(file: string)

Load settings from file

void AddRenderBefore(feature: Feature)

Add feature to render before

void AddRenderAfter(feature: Feature)

Add feature to render after

bool RemoveRenderBefore(feature: Feature)

Remove from render before

bool RemoveRenderAfter(feature: Feature)

Remove from render after

void ClearRenderBefore()

Clear render before list

void ClearRenderAfter()

Clear render after list

table GetRenderBefore()

Get render before list

table GetRenderAfter()

Get render after list

Feature AddInfoContentFeature(hash: int)

Add info content feature

void TriggerCallback()

Manually trigger callback

Usage example
void object:TriggerCallback()
string Name()

Feature name (read/write)

Usage example
string object.Name
string Desc()

Feature description (read/write)

Usage example
string object.Desc
Feature AddHotKey(int keyCode)

Adds a hotkey for the feature and returns itself.

Usage example
Feature object:AddHotKey(int keyCode)
Feature AddInfoContentFeature(int hash)

Add an feature as info content for eFeatureType ListWithInfo.

Usage example
Feature object:AddInfoContentFeature(int hash)
void AddRenderAfter(Feature feature)

Adds a feature to a list that will be rendered after this feature.

Usage example
void object:AddRenderAfter(Feature feature)
void AddRenderBefore(Feature feature)

Adds a feature to a list that will be rendered before this feature.

Usage example
void object:AddRenderBefore(Feature feature)
Feature ClearHotkeys()

Removes all hotkeys for this feature.

Usage example
Feature object:ClearHotkeys()
void ClearRenderAfter(Feature feature)

Member available through Scooby's native Lua API.

Usage example
void object:ClearRenderAfter(Feature feature)
void ClearRenderBefore(Feature feature)

Member available through Scooby's native Lua API.

Usage example
void object:ClearRenderBefore(Feature feature)
int r, g, b, a GetColor()

Gets the current color in rgba.

Usage example
int r, g, b, a object:GetColor()
number r, g, b, a GetColorFloats()

Gets the current color in rgba as floats from 0.0 to 1.0 .

Usage example
number r, g, b, a object:GetColorFloats()
string GetDesc(bool translate = true)

Get the description of the feature.

Usage example
string object:GetDesc(bool translate = true)
table<int, int> GetHotkeys()

Get all hotkeys for this feature.

Usage example
table<int, int> object:GetHotkeys()
table<int, string> GetList()

Gets the list for feature types like combo.

Usage example
table<int, string> object:GetList()
string GetName(bool translate = true)

Get the name of the feature.

Usage example
string object:GetName(bool translate = true)
table<int, int> GetRenderAfter()

Returns a list of features that will be rendered after this feature.

Usage example
table<int, int> object:GetRenderAfter()
table<int, int> GetRenderBefore()

Returns a list of features that will be rendered before this feature.

Usage example
table<int, int> object:GetRenderBefore()
bool IsListIndexToggled(int index)

Returns whether the list index has been toggled for types like ComboToggles.

Usage example
bool object:IsListIndexToggled(int index)
bool object:LoadSettings(string file) object:LoadSettings("Default.json"); LoadSettings()

Load the specific settings for this feature from a file.

Usage example
bool object:LoadSettings(string file)
object:LoadSettings("Default.json");
void OnSettingsLoad()

Triggers the callback as if it would be called from the settings loader.

Usage example
void object:OnSettingsLoad()
Feature RegisterCallbackTrigger(eCallbackTrigger flags)

Registers Callback Trigger for the feature and returns itself.

Usage example
Feature object:RegisterCallbackTrigger(eCallbackTrigger flags)
Feature RemoveHotkey(int keyCode, bool all)

Remove specific hotkeys for this feature.

Usage example
Feature object:RemoveHotkey(int keyCode, bool all)
bool RemoveRenderAfter(Feature feature)

Returns true when at least one feature was removed

Usage example
bool object:RemoveRenderAfter(Feature feature)
bool RemoveRenderBefore(Feature feature)

Returns true when at least one feature was removed

Usage example
bool object:RemoveRenderBefore(Feature feature)
Feature SetBoolValue(bool value)

Sets the current boolean value.

Usage example
Feature object:SetBoolValue(bool value)
Feature SetColor(int r, int g, int b, int a)

Sets the current color value.

Usage example
Feature object:SetColor(int r, int g, int b, int a)
Feature SetColorFloats(number r, number g, number b, number a)

Sets the current color value.

Usage example
Feature object:SetColorFloats(number r, number g, number b, number a)
Feature SetColorU32(int color)

Sets the current color in packed rgba.

Usage example
Feature object:SetColorU32(int color)
Feature object:SetDefaultValue(true):SetDefaultValue(1337) Feature object:SetDefaultValue(3.33):SetDefaultValue("Test") SetDefaultValue()

Sets the default feature value and returns itself.

Usage example
Feature object:SetDefaultValue(true):SetDefaultValue(1337)
Feature object:SetDefaultValue(3.33):SetDefaultValue("Test")
Feature SetDesc(string desc)

Set the description of the feature.

Usage example
Feature object:SetDesc(string desc)
Feature object:SetFastStepSize(5) Feature object:SetFastStepSize(0.5) SetFastStepSize()

Sets the feature fast step size used in a slider.

Usage example
Feature object:SetFastStepSize(5)
Feature object:SetFastStepSize(0.5)
Feature SetFloatValue(number value)

Sets the current floating value.

Usage example
Feature object:SetFloatValue(number value)
object:SetFormat(string fmt) object:SetFormat("%X" SetFormat()

Sets the format used for slider and input values.

Usage example
object:SetFormat(string fmt)
object:SetFormat("%X"
Feature SetIntValue(int value)

Sets the current integer value.

Usage example
Feature object:SetIntValue(int value)
Feature SetLimitValues(20, 40):SetLimitValues(0.5, 2.5)

Sets the feature minimum and maximum values and returns itself.

Usage example
Feature object:SetLimitValues(20, 40):SetLimitValues(0.5, 2.5)
Feature SetList(table<int, string>)

Sets the list for feature types like combo.

Usage example
Feature object:SetList(table<int, string>)
Feature SetListIndex(int index)

Sets the current list index of the feature.

Usage example
Feature object:SetListIndex(int index)
Feature SetMaxValue(20):SetMaxValue(20.1)

Sets the feature maximum value and returns itself.

Usage example
Feature object:SetMaxValue(20):SetMaxValue(20.1)
Feature SetMinValue(20):SetMinValue(20.1)

Sets the feature minimum value and returns itself.

Usage example
Feature object:SetMinValue(20):SetMinValue(20.1)
Feature SetName(string name)

Set the name of the feature.

Usage example
Feature object:SetName(string name)
Feature SetNoCallbackOnPress(bool disable)

This disables the callback for OnClick.

Usage example
Feature object:SetNoCallbackOnClick(bool disable)
Feature SetNoCallbackOnSettingsLoad(bool disable)

This disables the callback for OnSettingsLoad.

Usage example
Feature object:SetNoCallbackOnSettingsLoad(bool disable)
Feature SetSaveable(bool saveable)

Sets whether the feature should be safed in settings or not.

Usage example
Feature object:SetSaveable(bool saveable)
Feature SetSearchable(bool searchable)

Sets whether a feature can be found by search or not.

Usage example
Feature object:SetSearchable(bool searchable)
Feature object:SetStepSize(5) Feature object:SetStepSize(0.5) SetStepSize()

Sets the feature step size used in a slider.

Usage example
Feature object:SetStepSize(5)
Feature object:SetStepSize(0.5)
Feature SetStringValue(string value)

Sets the current string value.

Usage example
Feature object:SetStringValue(string value)
Feature object:SetValue(true):SetValue(1337) Feature object:SetValue(3.33):SetValue("Test") SetValue()

Sets the current feature value and returns itself.

Usage example
Feature object:SetValue(true):SetValue(1337)
Feature object:SetValue(3.33):SetValue("Test")
Feature SetVisible(bool visible)

Sets whether the feature should be shown in the GUI or not.

Usage example
Feature object:SetVisible(bool visible)
Feature object:Toggle() Feature object:Toggle(bool on) Toggle()

Flips the current boolean value of this feature.

Usage example
Feature object:Toggle()
Feature object:Toggle(bool on)
Feature ToggleListIndex(int index, bool toggle)

Toggles the list index for types like ComboToggles.

Usage example
Feature object:ToggleListIndex(int index, bool toggle)

FeatureMgr

Cherax-compatible feature manager. Native Scooby menu mirroring is queued in bounded per-frame batches so large scripts do not exceed the Lua watchdog.

Feature AddFeature(hash: int, name: string, type: eFeatureType, desc: string = "", callback: function = nil)

Create and add new feature; also accepts compatibility shortcut forms like name/type/desc/callback

table AddFeatureArray(size: int, hash: int, name: string, type: eFeatureType, desc: string = "", callback: function = nil, nativeThread: bool = true, forceQueue: bool = false)

Create array of features

table AddPlayerFeature(hash/name/type/desc/callback)

Create player feature array (32); returned table supports ipairs and by_player[playerId]

Feature GetFeature(hashOrFeature: int|Feature, index: int = nil)

Get feature by hash, player index, or pass through an existing Feature table

Feature GetFeatureByHash(hash: int, index: int = nil)

Compatibility alias for GetFeature

Feature GetFeatureById(id: int|string)

Get feature by compatibility ID

bool ForEachFeature(callback: function)

Iterate all compatibility features

bool SetNativeMenuMirroring(enabled: bool, mirror_existing: bool = true)

Enable/disable native Scooby menu widgets; re-enabling mirrors existing features unless mirror_existing is false.

bool GetNativeMenuMirroring()

Return whether native Scooby menu mirroring is enabled.

Usage example
bool FeatureMgr.GetNativeMenuMirroring()
int SetNativeMenuMirrorBatchSize(size: int)

Set mirrored widgets created per frame (clamped to 1-64).

Feature GetFeatureByName(name: string, index: int = nil)

Get feature by name

bool RemoveFeature(hash: int)

Remove feature by hash

bool RemoveFeatureArray(hash: int, size: int)

Remove feature array

bool RemovePlayerFeature(hash: int)

Remove player feature

table GetAllFeatures()

Get all features

table GetAllFeatureHashes()

Get all feature hashes

table GetAllPlayerFeatureHashes(playerId: int = nil)

Get all player feature hashes

bool IsFeatureEnabled(hash: int, index: int = nil)

Check if feature bool value

bool IsFeatureToggled(hash: int, index: int = nil)

Check if feature toggled

void ToggleFeature(hash: int, index: int = nil)

Toggle feature on/off

int GetFeatureInt(hash: int, index: int = nil)

Get feature int value

void SetFeatureInt(hash: int, value: int | hash: int, index: int, value: int)

Set feature int value

number GetFeatureFloat(hash: int, index: int = nil)

Get feature float value

void SetFeatureFloat(hash: int, value: number | hash: int, index: int, value: number)

Set feature float value

string GetFeatureString(hash: int, index: int = nil)

Get feature string value

void SetFeatureString(hash: int, value: string | hash: int, index: int, value: string)

Set feature string value

int,int,int,int GetFeatureColor(hash: int, index: int = nil)

Get feature color

void SetFeatureColor(hash: int, r: int, g: int, b: int, a: int | hash: int, index: int, r: int, g: int, b: int, a: int)

Set feature color

table GetFeatureList(hash: int, index: int = nil)

Get feature list items

int GetFeatureListIndex(hash: int, index: int = nil)

Get feature list index

void SetFeatureListIndex(hash: int, listIndex: int | hash: int, index: int, listIndex: int)

Set feature list index

string GetCurrentFeatureListString(hash: int, index: int = nil)

Get current list string

void ResetFeature(hash: int, index: int = nil)

Reset feature to defaults

void ResetPlayerFeatures(playerId: int)

Reset all player features for player

void ResetAllPlayerFeatures()

Reset all player features for everyone

Usage example
void FeatureMgr.ResetAllPlayerFeatures()
void TriggerFeatureCallback(hashOrFeature: int|Feature, trigger: eCallbackTrigger = nil, index: int = nil)

Trigger feature callback by hash or Feature table

table SearchFeature(input: string, maxResults: int, cutoffPercent: number)

Search features by name

Feature GetFocusedFeature()

Get currently focused feature

Usage example
Feature FeatureMgr.GetFocusedFeature()
Feature GetHoveredFeature()

Get currently hovered feature

Usage example
Feature FeatureMgr.GetHoveredFeature()
bool LoadSettings(file: string)

Load settings from file

Feature AddFeature(int hash, string name, eFeatureType type, string desc = , function(Feature) callback = 0, bool nativeThreadExecution = true, bool forceQueue = false)

Create and add a new feature to the list.

Usage example
Feature FeatureMgr.AddFeature(int hash, string name, eFeatureType type, string desc = , function(Feature) callback = 0, bool nativeThreadExecution = true, bool forceQueue = false)
table<int, int> AddFeatureArray(int size, int hash, string name, eFeatureType type, string desc = ,function(Feature) callback = 0, bool nativeThreadExecution = true, bool forceQueue = false)

Create and add a new features. Returns list of the created feature hashes.

Usage example
table<int, int> FeatureMgr.AddFeatureArray(int size, int hash, string name, eFeatureType type, string desc = ,function(Feature) callback = 0, bool nativeThreadExecution = true, bool forceQueue = false)
table<int, int> AddPlayerFeature(int hash, string name, eFeatureType type, string desc = , function(Feature) callback = 0, bool nativeThreadExecution = true, bool forceQueue = false)

Creates an array of 32 features which will automatically reset when the player leaves.

Usage example
table<int, int> FeatureMgr.AddPlayerFeature(int hash, string name, eFeatureType type, string desc = , function(Feature) callback = 0, bool nativeThreadExecution = true, bool forceQueue = false)
table<int, int> GetAllFeatureHashes()

Returns all feaure hashes.

Usage example
table<int, int> FeatureMgr.GetAllFeatureHashes()
bool SetNativeMenuMirroring(bool enabled, bool mirrorExisting = true)

Enable or disable queued native Scooby menu mirroring for compatibility features.

Usage example
bool FeatureMgr.SetNativeMenuMirroring(bool enabled, bool mirrorExisting = true)
int SetNativeMenuMirrorBatchSize(int size)

Sets how many compatibility widgets are mirrored per frame (1-64).

Usage example
int FeatureMgr.SetNativeMenuMirrorBatchSize(int size)
table<int, Feature> GetAllFeatures()

Returns all feaures.

Usage example
table<int, Feature> FeatureMgr.GetAllFeatures()
table<int, int> FeatureMgr.GetAllPlayerFeatureHashes() table<int, int> FeatureMgr.GetAllPlayerFeatureHashes(int playerId) GetAllPlayerFeatureHashes()

Returns all player feaure hashes.

Usage example
table<int, int> FeatureMgr.GetAllPlayerFeatureHashes()
table<int, int> FeatureMgr.GetAllPlayerFeatureHashes(int playerId)
string FeatureMgr.GetCurrentFeatureListString(int hash) string FeatureMgr.GetCurrentFeatureListString(int hash, int index) GetCurrentFeatureListString()

Returns the string value of the current feature list index.

Usage example
string FeatureMgr.GetCurrentFeatureListString(int hash)
string FeatureMgr.GetCurrentFeatureListString(int hash, int index)
Feature FeatureMgr.GetFeature(int hash) Feature FeatureMgr.GetFeature(int hash, int index) GetFeature()

Returns a feature by hash.

Usage example
Feature FeatureMgr.GetFeature(int hash)
Feature FeatureMgr.GetFeature(int hash, int index)
Feature FeatureMgr.GetFeatureByName(string name) Feature FeatureMgr.GetFeatureByName(string name, int index) GetFeatureByName()

Returns a feature by name.

Usage example
Feature FeatureMgr.GetFeatureByName(string name)
Feature FeatureMgr.GetFeatureByName(string name, int index)
int r, g, b, a FeatureMgr.GetFeatureColor(int hash) int r, g, b, a FeatureMgr.GetFeatureColor(int hash, int index) GetFeatureColor()

Returns the color value of the feature.

Usage example
int r, g, b, a FeatureMgr.GetFeatureColor(int hash)
int r, g, b, a FeatureMgr.GetFeatureColor(int hash, int index)
number FeatureMgr.GetFeatureFloat(int hash) number FeatureMgr.GetFeatureFloat(int hash, int index) GetFeatureFloat()

Returns the float value of the feature.

Usage example
number FeatureMgr.GetFeatureFloat(int hash)
number FeatureMgr.GetFeatureFloat(int hash, int index)
int FeatureMgr.GetFeatureInt(int hash) int FeatureMgr.GetFeatureInt(int hash, int index) GetFeatureInt()

Returns the int value of the feature.

Usage example
int FeatureMgr.GetFeatureInt(int hash)
int FeatureMgr.GetFeatureInt(int hash, int index)
table<int, string> FeatureMgr.GetFeatureList(int hash) table<int, string> FeatureMgr.GetFeatureList(int hash, int index) GetFeatureList()

Returns all string items of the feature list.

Usage example
table<int, string> FeatureMgr.GetFeatureList(int hash)
table<int, string> FeatureMgr.GetFeatureList(int hash, int index)
int FeatureMgr.GetFeatureListIndex(int hash) int FeatureMgr.GetFeatureListIndex(int hash, int index) GetFeatureListIndex()

Returns the current index of the feature list.

Usage example
int FeatureMgr.GetFeatureListIndex(int hash)
int FeatureMgr.GetFeatureListIndex(int hash, int index)
string FeatureMgr.GetFeatureString(int hash) string FeatureMgr.GetFeatureString(int hash, int index) GetFeatureString()

Returns the string value of the feature.

Usage example
string FeatureMgr.GetFeatureString(int hash)
string FeatureMgr.GetFeatureString(int hash, int index)
bool FeatureMgr.IsFeatureEnabled(int hash) bool FeatureMgr.IsFeatureEnabled(int hash, int index) IsFeatureEnabled()

Returns the boolean value of the feature.

Usage example
bool FeatureMgr.IsFeatureEnabled(int hash)
bool FeatureMgr.IsFeatureEnabled(int hash, int index)
bool FeatureMgr.IsFeatureToggled(int hash) bool FeatureMgr.IsFeatureToggled(int hash, int index) IsFeatureToggled()

Returns if the feature is toggled.

Usage example
bool FeatureMgr.IsFeatureToggled(int hash)
bool FeatureMgr.IsFeatureToggled(int hash, int index)
bool FeatureMgr.LoadSettings(string file) LoadSettings("Default.json")

Loads the given settings. File can be relative or absolute.

Usage example
bool FeatureMgr.LoadSettings(string file)
FeatureMgr.LoadSettings("Default.json")
bool RemoveFeature(int hash)

Removes the feature for the given hash.

Usage example
bool FeatureMgr.RemoveFeature(int hash)
bool RemoveFeatureArray(int hash, int size)

Removes the feature array for the given hash and size.

Usage example
bool FeatureMgr.RemoveFeatureArray(int hash, int size)
bool RemovePlayerFeature(int hash)

Removes the player feature for the given hash.

Usage example
bool FeatureMgr.RemovePlayerFeature(int hash)
void FeatureMgr.ResetFeature(int hash) void FeatureMgr.ResetFeature(int hash, int index) ResetFeature()

Restore the current values with the default values of the feature.

Usage example
void FeatureMgr.ResetFeature(int hash)
void FeatureMgr.ResetFeature(int hash, int index)
void ResetPlayerFeatures(int playerIndex)

Resets all player features for given player id.

Usage example
void FeatureMgr.ResetPlayerFeatures(int playerIndex)
table<int, int> SearchFeature(string input, int maxResults, number cutoffPercent)

Searches the best matching features for a given result. Uses translations for results. You should cache results whenever input changes. Expensive execution time.

Usage example
table<int, int> FeatureMgr.SearchFeature(string input, int maxResults, number cutoffPercent)
void FeatureMgr.SetFeatureColor(int hash, int r, int g, int b, int a) void FeatureMgr.SetFeatureColor(int hash, int index, int r, int g, int b, int a) SetFeatureColor()

Sets the color value of the feature.

Usage example
void FeatureMgr.SetFeatureColor(int hash, int r, int g, int b, int a)
void FeatureMgr.SetFeatureColor(int hash, int index, int r, int g, int b, int a)
void FeatureMgr.SetFeatureFloat(int hash, number value) void FeatureMgr.SetFeatureFloat(int hash, int index, number value) SetFeatureFloat()

Sets the float value of the feature.

Usage example
void FeatureMgr.SetFeatureFloat(int hash, number value)
void FeatureMgr.SetFeatureFloat(int hash, int index, number value)
void FeatureMgr.SetFeatureInt(int hash, int value) void FeatureMgr.SetFeatureInt(int hash, int index, int value) SetFeatureInt()

Sets the int value of the feature.

Usage example
void FeatureMgr.SetFeatureInt(int hash, int value)
void FeatureMgr.SetFeatureInt(int hash, int index, int value)
void FeatureMgr.SetFeatureListIndex(int hash, int listIndex) void FeatureMgr.SetFeatureListIndex(int hash, int index, int listIndex) SetFeatureListIndex()

Sets the current index of the feature list.

Usage example
void FeatureMgr.SetFeatureListIndex(int hash, int listIndex)
void FeatureMgr.SetFeatureListIndex(int hash, int index, int listIndex)
void FeatureMgr.SetFeatureString(int hash, string value) void FeatureMgr.SetFeatureString(int hash, int index, string value) SetFeatureString()

Sets the string value of the feature.

Usage example
void FeatureMgr.SetFeatureString(int hash, string value)
void FeatureMgr.SetFeatureString(int hash, int index, string value)
void FeatureMgr.ToggleFeature(int hash) void FeatureMgr.ToggleFeature(int hash, int index) ToggleFeature()

Flips the current boolean value of the feature.

Usage example
void FeatureMgr.ToggleFeature(int hash)
void FeatureMgr.ToggleFeature(int hash, int index)
void FeatureMgr.TriggerFeatureCallback(int hash) void FeatureMgr.TriggerFeatureCallback(int hash, int index) TriggerFeatureCallback()

Member available through Scooby's native Lua API.

Usage example
void FeatureMgr.TriggerFeatureCallback(int hash)
void FeatureMgr.TriggerFeatureCallback(int hash, int index)

EventMgr

Event manager for registering event handlers

int RegisterHandler(event: eLuaEvent, callback: function)

Register event handler

void RemoveHandler(id: int)

Remove handler by ID

int RegisterHandler(eLuaEvent event, function func() end)

Register a handler that will be called for a specific event.

Usage example
int EventMgr.RegisterHandler(eLuaEvent event, function func() end)
void RemoveHandler(int id)

Remove a previously registered handler by id.

Usage example
void EventMgr.RemoveHandler(int id)

FileMgr

File manager for file operations

string GetMenuRootPath()

Get menu root directory

Usage example
string FileMgr.GetMenuRootPath()
bool DoesFileExist(path: string)

Check if file exists

string ReadFileContent(path: string)

Read file content

bool WriteFileContent(path: string, content: string, append: bool = false)

Write file content

void DeleteFile(path: string)

Delete file

bool CreateDir(path: string)

Create directory

table FindFiles(path: string, extension: string, recursive: bool)

Find files by extension

bool Unzip(zipName: string, dir: string)

Extract zip file

bool CreateDir(string path)

Ensures that the given path is a directory.

Usage example
bool FileMgr.CreateDir(string path)
void DeleteFile(string path)

Deletes the given file using an absolute path.

Usage example
void FileMgr.DeleteFile(string path)
bool DoesFileExist(string path)

Check whether the file exist using an absolute path.

Usage example
bool FileMgr.DoesFileExist(string path)
table<int,string> FindFiles(string path, string extension, bool recursive)

Returns a list of all found files.

Usage example
table<int,string> FileMgr.FindFiles(string path, string extension, bool recursive)
string ReadFileContent(string path)

Reads the file content using an absolute path.

Usage example
string FileMgr.ReadFileContent(string path)
bool Unzip(string zipName, string dir)

Extract a .zip file to a given directory.

Usage example
bool FileMgr.Unzip(string zipName, string dir)
bool WriteFileContent(string path, string content, bool append = false)

Writes the given content to a file using an absolute path.

Usage example
bool FileMgr.WriteFileContent(string path, string content, bool append = false)

HotKeyMgr

Hotkey manager for feature hotkeys

void AddHotkey(hash: int, key: int)

Add hotkey for feature

void RemoveHotkey(hash: int, key: int)

Remove hotkey from feature

table GetHotKeys(hash: int)

Get hotkeys for feature

table GetAllHotkeys()

Get all hotkeys and their features

void AddHotkey(int hash, int key)

Adds a new hotkey for a feature.

Usage example
void HotKeyMgr.AddHotkey(int hash, int key)
table<int, table<int, int>> GetAllHotkeys()

Returns all hotkeys and their associated feature hash.

Usage example
table<int, table<int, int>> HotKeyMgr.GetAllHotkeys()
table<int, int> GetHotKeys(int hash)

Returns all hotkeys for a specific feature hash.

Usage example
 table<int, int> HotKeyMgr.GetHotKeys(int hash)
void RemoveHotkey(int hash, int key)

Removes specific hotkey from an feature.

Usage example
 void HotKeyMgr.RemoveHotkey(int hash, int key)

GTA

Game functions for interacting with GTA

CPed GetLocalPed()

Get local player CPed

Usage example
CPed GTA.GetLocalPed()
CVehicle GetLocalVehicle()

Get local player CVehicle

Usage example
CVehicle GTA.GetLocalVehicle()
int GetLocalPlayerId()

Get local player ID

Usage example
int GTA.GetLocalPlayerId()
CPhysical HandleToPointer(handle: int)

Convert entity handle to CPhysical

int PointerToHandle(ptr: CPhysical)

Convert CPhysical to entity handle

int SpawnVehicle(hash: int|string, x: float, y: float, z: float, heading: number, isNetworked: bool = true, autoCleanup: bool = true)

Spawn vehicle (native thread)

int SpawnVehicleForPlayer(hash: int|string, player: int, forward: number = 5.0)

Spawn vehicle in front of player

int CreatePed(hash: int|string, pedType: int, x: float, y: float, z: float, heading: number, isNetworked: bool = true, autoCleanup: bool = true)

Spawn ped (native thread)

int CreateRandomPed(x: float, y: float, z: float)

Create random ped

int CreateObject(hash: int|string, x: float, y: float, z: float, dynamic: bool, isNetworked: bool = true)

Spawn object (native thread)

int CreateWorldObject(hash: int|string, x: float, y: float, z: float, dynamic: bool, isNetworked: bool = true)

Spawn world object with bypass

bool AddExplosion(args: CExplosionArgs)

Add explosion without restrictions

bool,number GetGroundZ(x: number, y: number)

Get ground Z coordinate

float,float WorldToScreen(x: float, y: float, z: float)

Convert 3D to 2D screen coords

V3 GetBonePos3D(ped: CPed, wMask: int)

Get ped bone world position

V2 GetBonePos2D(ped: CPed, wMask: int)

Get ped bone screen position

CBaseModelInfo GetModelInfoFromHash(hash: int)

Get model info from hash

int GetModelInfoIndexFromHash(hash: int)

Get model info index

string GetModelNameFromHash(hash: int)

Get model name from hash

string GetDisplayNameFromHash(hash: int)

Get display name from hash

string GetLabelText(label: string|int)

Get label text

void SetLabelText(label: string, text: string)

Set label text

void RemoveLabelText(label: string)

Remove label text override

bool RegisterFile(path: string)

Register file for game use

int TriggerScriptEvent(bitflags: int, args: table|...)

Trigger script event

void SendChatMessageToEveryone(message: string, team: bool)

Send chat to all players

void SendChatMessageToPlayer(playerId: int, message: string, team: bool)

Send chat to player

void AddChatMessageToPool(playerId: int, message: string, team: bool)

Add local chat message

void ForceScriptHost(scriptHash: int)

Force script host

void GiveScriptHost(playerId: int, scriptHash: int)

Give script host to player

void GiveControl(playerId: int, entity: int)

Force player to take control

void DrawPedPreview(ped: CPed, relScreen: V2, size: V2, distance: float, pitch: float, yaw: float, lightning: float)

Render ped preview on frontend

V3,V3 ConvertWorldToSectorPosition(pos: V3)

Convert world to sector pos

V3 ConvertSectorToWorldPosition(sector: V3, relativePos: V3)

Convert sector to world pos

bool,string GetScriptEventName(scriptEvent: int)

Get script event name

bool,int BasketStart(category: int, action: int, flags: int)

Start basket transaction

bool BasketAddItem(items: table)

Add item to basket

bool,int BeginService(type: int, category: int, service: int, action: int, price: int, flags: int)

Begin service transaction

bool CheckoutStart(transactionId: int)

Start transaction checkout

void AddChatMessageToPool(int playerId, string message, bool team)

Adds a chat message locally on your pc only. You can specify the sender of the message. The message has a max length of 255 characters.

Usage example
void GTA.AddChatMessageToPool(int playerId, string message, bool team)
bool AddExplosion(CExplosionArgs args)

Add an explosion without any restrictions.

Usage example
bool GTA.AddExplosion(CExplosionArgs args)
bool BasketAddItem(table<int, int>)

Adds an item to the Basket Transaction.

Usage example
bool GTA.BasketAddItem(table<int, int>)
bool valid, int transactionId BasketStart(int category, int action, int flags)

Initializes a Basket Transaction.

Usage example
bool valid, int transactionId GTA.BasketStart(int category, int action, int flags)
bool valid, int transactionId BeginService(int type, int category, int service, int action, int price, int flags)

Initializes a new Service Transaction.

Usage example
bool valid, int transactionId GTA.BeginService(int type, int category, int service, int action, int price, int flags)
bool CheckoutStart(int transactionId)

Starts the checkout of a transaction. Should be used for services and baskets.

Usage example
bool GTA.CheckoutStart(int transactionId)
V3 ConvertSectorToWorldPosition(V3 sectorIn, V3 relativePos)

Converts the sector pos to world cords.

Usage example
V3 GTA.ConvertSectorToWorldPosition(V3 sectorIn, V3 relativePos)
V3,V3 ConvertWorldToSectorPosition(V3 pos)

Converts the world pos to sector and relative position. This is being used in sync data nodes to sync the actual position of entities.

Usage example
V3,V3 GTA.ConvertWorldToSectorPosition(V3 pos)
int GTA.CreateObject(int hash, float x, float y, float z, bool dynamic, bool isNetworked = true) int GTA.CreateObject(string model, float x, float y, float z, bool dynamic, bool isNetworked = true) CreateObject()

Spawns an object. Should only be executed in a native thread.

Usage example
int GTA.CreateObject(int hash, float x, float y, float z, bool dynamic, bool isNetworked = true)
int GTA.CreateObject(string model, float x, float y, float z, bool dynamic, bool isNetworked = true)
int GTA.CreatePed(int hash, int pedType, float x, float y, float z, number heading, bool isNetworked = true, bool autoCleanup = true) int GTA.CreatePed(string model, int pedType, float x, float y, float z, number heading, bool isNetworked = true, bool autoCleanup = true) CreatePed()

Spawns a ped. Should only be executed in a native thread.

Usage example
int GTA.CreatePed(int hash, int pedType, float x, float y, float z, number heading, bool isNetworked = true, bool autoCleanup = true)
int GTA.CreatePed(string model, int pedType, float x, float y, float z, number heading, bool isNetworked = true, bool autoCleanup = true)
int CreateRandomPed(float x, float y, float z)

Creates a random ped. Should only be executed in a native thread.

Usage example
int GTA.CreateRandomPed(float x, float y, float z)
int GTA.CreateWorldObject(int hash, float x, float y, float z, bool dynamic, bool isNetworked = true) int GTA.CreateWorldObject(string model, float x, float y, float z, bool dynamic, bool isNetworked = true) CreateWorldObject()

Spawns an world object using a bypass. Should only be executed in a native thread.

Usage example
int GTA.CreateWorldObject(int hash, float x, float y, float z, bool dynamic, bool isNetworked = true)
int GTA.CreateWorldObject(string model, float x, float y, float z, bool dynamic, bool isNetworked = true)
void GTA.DrawPedPreview(CPed ped, v2 relativeScreen, v2 size, float distance, float pitch, float yaw, float lightning) DrawPedPreview(pPed, v2.new(0.5, 0.5), v2.new(0.1, 0.2), -4.0, 0.0, 0.0, 1.0)

Renders a given CPed on the frontend.

Usage example
void GTA.DrawPedPreview(CPed ped, v2 relativeScreen, v2 size, float distance, float pitch, float yaw, float lightning)
GTA.DrawPedPreview(pPed, v2.new(0.5, 0.5), v2.new(0.1, 0.2), -4.0, 0.0, 0.0, 1.0)
void ForceScriptHost(int scriptHash)

Forces yourself to script host of the given script.

Usage example
void GTA.ForceScriptHost(int scriptHash)
V2 GetBonePos2D(CPed ped, int wMask)

Does the same as GetBonePos3D and then converts them to normalized screen coordinates.

Usage example
V2 GTA.GetBonePos2D(CPed ped, int wMask)
V3 GetBonePos3D(CPed ped, int wMask)

Gets the bone world position based on the specified ped and mask.

Usage example
V3 GTA.GetBonePos3D(CPed ped, int wMask)
string GetDisplayNameFromHash(int hash)

Returns the display name of a specific hash.

Usage example
string GTA.GetDisplayNameFromHash(int hash)
bool, number GetGroundZ(number x, number y)

Returns whether the ground was found and the Z coordinate it was found at.

Usage example
bool, number GTA.GetGroundZ(number x, number y)
string GTA.GetLabelText(string str) string GTA.GetLabelText(int hashCode) GetLabelText()

Returns a specific label for a given text entry.

Usage example
string GTA.GetLabelText(string str)
string GTA.GetLabelText(int hashCode)
CBaseModelInfo GetModelInfoFromHash(int hash)

Returns Model Info by hash. Returns nil if no CBaseModelInfo found.

Usage example
CBaseModelInfo GTA.GetModelInfoFromHash(int hash)
int GetModelInfoIndexFromHash(int hash)

Returns Model Info Index by hash. Returns -1 if invalid.

Usage example
int GTA.GetModelInfoIndexFromHash(int hash)
string GetModelNameFromHash(int hash)

Returns the model name of the model hash.

Usage example
string GTA.GetModelNameFromHash(int hash)
bool, string GetScriptEventName(int scriptEvent)

Returns sucess and the name.

Usage example
bool, string GTA.GetScriptEventName(int scriptEvent)
void GiveControl(int playerId, int iEntity)

Force another player take control of the given entity.

Usage example
void GTA.GiveControl(int playerId, int iEntity)
void GiveScriptHost(int playerId, int scriptHash)

Give a sepcific player script host of the given script.

Usage example
void GTA.GiveScriptHost(int playerId, int scriptHash)
CPhysical HandleToPointer(int handle)

Converts an entity handle into a CPhysical pointer.

Usage example
CPhysical GTA.HandleToPointer(int handle)
int PointerToHandle(CPhysical ptr)

Converts a CPhysical pointer into an entity handle.

Usage example
int GTA.PointerToHandle(CPhysical ptr)
bool GTA.RegisterFile(string path) GTA.RegisterFile(path .. "MyAssets.ytd") GRAPHICS.REQUEST_STREAMED_TEXTURE_DICT("MyAssets") RegisterFile()

Registers the given file for the game so it can be used by natives.

Usage example
bool GTA.RegisterFile(string path)
GTA.RegisterFile(path .. "MyAssets.ytd")
GRAPHICS.REQUEST_STREAMED_TEXTURE_DICT("MyAssets")
void GTA.RemoveLabelText(string label) RemoveLabelText("LOADING_MPLAYER_L")

Member available through Scooby's native Lua API.

Usage example
void GTA.RemoveLabelText(string label)
GTA.RemoveLabelText("LOADING_MPLAYER_L")
void SendChatMessageToEveryone(string message, bool team)

Sends a chat message to every player in the session. Note: You won't see that message yourself unless you manually add it to the chat pool. The message has a max length of 255 characters.

Usage example
void GTA.SendChatMessageToEveryone(string message, bool team)
void SendChatMessageToPlayer(int playerId, string message, bool team)

Sends a chat message to a given player in the session. Note: You won't see that message yourself unless you manually add it to the chat pool. The message has a max length of 255 characters.

Usage example
void GTA.SendChatMessageToPlayer(int playerId, string message, bool team)
void GTA.SetLabelText(string label, string text) SetLabelText("LOADING_MPLAYER_L", "Loading GTA Online with Scooby")

Overwrites the text for a specifc label which is being used by the game.

Usage example
void GTA.SetLabelText(string label, string text)
GTA.SetLabelText("LOADING_MPLAYER_L", "Loading GTA Online with Scooby")
int GTA.SpawnVehicle(int hash, float x, float y, float z, number heading, bool isNetworked = true, bool autoCleanup = true) int GTA.SpawnVehicle(string model, float x, float y, float z, number heading, bool isNetworked = true, bool autoCleanup = true) SpawnVehicle()

Should only be executed in a native thread.

Usage example
int GTA.SpawnVehicle(int hash, float x, float y, float z, number heading, bool isNetworked = true, bool autoCleanup = true)
int GTA.SpawnVehicle(string model, float x, float y, float z, number heading, bool isNetworked = true, bool autoCleanup = true)
int GTA.SpawnVehicleForPlayer(int hash, int player, number forward = 5.0) int GTA.SpawnVehicleForPlayer(string model, int player, number forward = 5.0) SpawnVehicleForPlayer()

Spawns a vehicle in front of the given player. Should only be executed in a native thread.

Usage example
int GTA.SpawnVehicleForPlayer(int hash, int player, number forward = 5.0)
int GTA.SpawnVehicleForPlayer(string model, int player, number forward = 5.0)
int GTA.TriggerScriptEvent(int bitflags, table<int, int> arguments) int GTA.TriggerScriptEvent(int bitflags, variadic_args arguments) TriggerScriptEvent()

Triggers a script event for given player(s).

Usage example
int GTA.TriggerScriptEvent(int bitflags, table<int, int> arguments)
int GTA.TriggerScriptEvent(int bitflags, variadic_args arguments)
float, float WorldToScreen(float x, y, z)

Converts a 3D world position to a 2D normalized screen position. To get the actual screen coordinates multiply them with the screen size.

Usage example
float, float GTA.WorldToScreen(float x, y, z)

GUI

GUI management functions

bool IsOpen()

Check if GUI is open

Usage example
bool GUI.IsOpen()
void Toggle()

Toggle GUI open/closed

Usage example
void GUI.Toggle()
eGuiMode GetMode()

Get current GUI mode

Usage example
eGuiMode GUI.GetMode()
void SetMode(mode: eGuiMode)

Set GUI mode

eGuiMode GetCurrentRenderMode()

Get currently rendering mode

Usage example
eGuiMode GUI.GetCurrentRenderMode()
bool AddToast(title: string, text: string, duration: int, pos: eToastPos)

Show toast notification

bool AddToast(string title, string text, int duration, eToastPos pos)

Creates a toast notification.

Usage example
bool GUI.AddToast(string title, string text, int duration, eToastPos pos)
void SetMode(eGuiMode mode)

Sets the current GUI Mode

Usage example
void GUI.SetMode(eGuiMode mode)

ClickGUI

Click GUI management for adding tabs

void AddTab / RegisterTab / AddCustomTab(title: string, renderFunc: function)

Add lua tab to main GUI

void RemoveTab(title: string)

Remove lua tab from GUI

void AddPlayerTab(title: string, renderFunc: function)

Add lua tab to player options

void RemovePlayerTab(title: string)

Remove lua tab from player options

ClickTab GetActiveMenuTab()

Get current open tab

Usage example
ClickTab ClickGUI.GetActiveMenuTab()
void SetActiveMenuTab(tab: ClickTab)

Set current open tab

number,number GetPos()

Get GUI position

number,number GetSize()

Get GUI size

bool LoadTheme(fileName: string)

Load theme by name

bool RenderFeature / RenderPlayerFeature(hashOrFeature: int|Feature, index: int = nil)

Render feature in current context

bool SetTabVisible(title: string, visible: bool)

Set a registered tab visible/hidden

void RenderCustomTitleBar(title: string)

Render custom title bar

bool BeginCustomChildWindow(label: string, frames: int = -1, textLines: int = -1, textAlignX: number = -1.0, textAlignY: number = -1.0)

Begin custom child window

void EndCustomChildWindow()

End custom child window

Usage example
void ClickGUI.EndCustomChildWindow()
void AddPlayerTab(string title, function() renderFunc)

Adds a lua tab to the player options.

Usage example
void ClickGUI.AddPlayerTab(string title, function() renderFunc)
void AddTab(string title, function() renderFunc)

Adds a lua tab to the main gui.

Usage example
void ClickGUI.AddTab(string title, function() renderFunc)
bool BeginCustomChildWindow(string label, int frames = -1, int textLines = -1, number textAlignX = -1.0, number textAlignY = -1.0)

Begin custom ImgGui Child window. The text alignment range is [0.0 - 1.0]. A value of -1.0 indicates the default value.

Usage example
bool ClickGUI.BeginCustomChildWindow(string label, int frames = -1, int textLines = -1, number textAlignX = -1.0, number textAlignY = -1.0)
number x,y GetPos()

Get the current position in screen coordinates.

Usage example
number x,y ClickGUI.GetPos()
number x,y GetSize()

Get the current size in screen coordinates.

Usage example
number x,y ClickGUI.GetSize()
bool ClickGUI.LoadTheme(string fileName) LoadTheme("Default")

Loads a Theme by its name.

Usage example
bool ClickGUI.LoadTheme(string fileName)
ClickGUI.LoadTheme("Default")
void RemovePlayerTab(string title)

Removes a lua tab from the player options.

Usage example
void ClickGUI.RemovePlayerTab(string title)
void RemoveTab(string title)

Removes a lua tab from the main gui.

Usage example
void ClickGUI.RemoveTab(string title)
void RenderCustomTitleBar(string title)

Renders a custom title bar.

Usage example
void ClickGUI.RenderCustomTitleBar(string title)
bool ClickGUI.RenderFeature(int hash) bool ClickGUI.RenderFeature(int hash, int index) RenderFeature()

Render a feature for the given feature hash and index.

Usage example
bool ClickGUI.RenderFeature(int hash)
bool ClickGUI.RenderFeature(int hash, int index)
void SetActiveMenuTab(ClickTab tab)

Set the current open menu tab.

Usage example
void ClickGUI.SetActiveMenuTab(ClickTab tab)

ListGUI

List UI compatibility rendered through Scooby's compatibility windows

Tab AddTab(titleOrTab: string|Tab, renderFunc: function = nil)

Add a compatibility list tab

void RemoveTab(title: string)

Hide a compatibility list tab

table GetTabs()

Get registered compatibility list tabs

void Render()

Render registered list tabs in the current ImGui context

Tab Tab.New(title: string)

Create a list tab object

Tab Tab:AddWidget(widget: ListWidget|table|function)

Attach a ListWidget or compatible renderer to a tab

Tab Tab:AddFeature(featureOrHash: Feature|int, index: int = nil)

Attach a compatibility Feature object or feature hash to a tab

Tab Tab:AddSubTab(text: string, desc: string = "")

Create and attach a nested list tab

Tab Tab:AddSeperator(text: string)

Add a compatibility-spelled separator row

ListWidget|int Tab:GetContent / GetContentSize(index: int)

Read tab content by 0-based compatibility index

ListWidget|Tab Tab:GetSelectedContent / SetSelectedContentId(index: int)

Read or set selected content index

Tab|string Tab:SetText / GetText / SetDesc / GetDesc(textOrDesc: string)

Compatibility tab label and description helpers

ListWidget ListWidget.New(title: string)

Create a list widget object

ListWidget ListWidget:AddItem(item: any)

Add text, feature, callback, or renderer table to a list widget

Tab GetCurrentTab()

Returns the top most tab.

Usage example
Tab ListGUI.GetCurrentTab()
Tab GetPlayerTab(int player)

Returns a specific player tab. (ranges from 0-31).

Usage example
Tab ListGUI.GetPlayerTab(int player)
number x,y GetPos()

Get the current position in screen coordinates.

Usage example
number x,y ListGUI.GetPos()
Tab GetRootTab()

Returns the root tab.

Usage example
Tab ListGUI.GetRootTab()
number x,y GetSize()

Get the current size in screen coordinates.

Usage example
number x,y ListGUI.GetSize()
bool ListGUI.LoadTheme(string fileName) LoadTheme("Default")

Loads a Theme by its name.

Usage example
bool ListGUI.LoadTheme(string fileName)
ListGUI.LoadTheme("Default")
ListGUI.RemoveTabFromStack(Tab tab) RemoveTabFromStack()

Remoces the tab from the stack and jump back to the tab before.

Usage example
ListGUI.RemoveTabFromStack(Tab tab)
ListGUI.SetCurrentTab(Tab tab) SetCurrentTab()

Adds the tab to the tab stack or jumps back if it is already in the tab stack.

Usage example
ListGUI.SetCurrentTab(Tab tab)
void SetPos(number x, number y)

Set the current position in screen coordinates.

Usage example
void ListGUI.SetPos(number x, number y)
void SetSize(number x, number y)

Set the current size in screen coordinates.

Usage example
void ListGUI.SetSize(number x, number y)

Curl

HTTP library for web requests

LuaCurl Easy()

Create new curl object

LuaCurl Setopt(option: eCurlOption, value: string|int)

Set curl option

LuaCurl AddHeader(header: string)

Add HTTP header

void Perform()

Perform async curl operation

Usage example
void object:Perform()
bool GetFinished()

Check if operation finished

Usage example
bool object:GetFinished()
eCurlCode,string GetResponse()

Get response (code, body)

Usage example
eCurlCode,string object:GetResponse()
void DisableErrorLog()

Disable error logging

LuaCurl AddHeader(string header)

Adds the defined header.

Usage example
LuaCurl object:AddHeader(string header)
LuaCurl DisableErrorLog()

Disables the logging of errors.

Usage example
LuaCurl object:DisableErrorLog()
LuaCurl Curl.Easy() curlObject = Curl.Easy() curlObject:Setopt(eCurlOption.CURLOPT_URL, "https://www.google.com/"):Perform() --Peform is an async task so keep the curlObject somewhere where it does not get freed from lua gc. Easy()

Create a new curl object. Never lose this object until you are completely done with it. Never do 'Curl.Easy():Setopt' because this will cause the object to be lost by lua gc.

Usage example
LuaCurl Curl.Easy()
curlObject = Curl.Easy()
curlObject:Setopt(eCurlOption.CURLOPT_URL, "https://www.google.com/"):Perform()
--Peform is an async task so keep the curlObject somewhere where it does not get freed from lua gc.
LuaCurl object:Setopt(eCurlOption option, string str) LuaCurl object:Setopt(eCurlOption option, int value) LuaCurl object:Setopt(eCurlOption.CURLOPT_URL, "https://www.google.com/") Setopt()

Set specific curl options during initialize.

Usage example
LuaCurl object:Setopt(eCurlOption option, string str)
LuaCurl object:Setopt(eCurlOption option, int value)
LuaCurl object:Setopt(eCurlOption.CURLOPT_URL, "https://www.google.com/")

DatBitBuffer

Bit buffer for reading/writing network sync data

bool,bool ReadBool()

Read boolean from buffer

Usage example
bool,bool object:ReadBool()
int,bool ReadInt(numBits: int)

Read signed int from buffer

int,bool ReadUns(numBits: int)

Read unsigned int from buffer

string,bool ReadString(maxChars: int)

Read string from buffer

bool WriteBool(value: bool)

Write boolean to buffer

bool WriteInt(value: int, numBits: int)

Write signed int to buffer

bool WriteUns(value: int, numBits: int)

Write unsigned int to buffer

bool WriteString(value: string, maxChars: int)

Write string to buffer

bool Seek(pos: int)

Set cursor position

int GetPosition()

Get cursor position

int GetMaxSize()

Get max buffer size

int,bool ReadInt(int numBits)

Reads a signed integer from the buffer. Format: [value, success]

Usage example
int,bool object:ReadInt(int numBits)
string,bool ReadString(int maxChars)

Reads a zero-terminated string from the buffer. Format: [value, success]

Usage example
string,bool object:ReadString(int maxChars)
int,bool ReadUns(int numBits)

Reads an unsigned integer from the buffer. Format: [value, success]

Usage example
int,bool object:ReadUns(int numBits)
bool Seek(int pos)

Sets the bit position of the cursor. This is the location of the next read/write.

Usage example
bool object:SetCursorPos(int pos)

D3D12Texture

Texture class for D3D12 rendering

ImTextureID GetCurrent()

Get current frame texture ID

Usage example
ImTextureID object:GetCurrent()
ImTextureID GetFrame(index: int)

Get specific frame texture

int GetFrameCount()

Get number of frames

Usage example
int object:GetFrameCount()
int GetWidth()

Get texture width

Usage example
int object:GetWidth()
int GetHeight()

Get texture height

Usage example
int object:GetHeight()
ImTextureID GetFrame(int index)

The index starts at 0. The max index is (GetFrameCount - 1).

Usage example
ImTextureID object:GetFrame(int index)

Vector2

2D vector class (V2)

V2 New(x: number = 0, y: number = 0)

Create new Vector2

number x()

X component

number y()

Y component

number Length()

Get vector length

number LengthSquared()

Get length squared

V2 Normalize()

Normalize vector

number Dot(other: V2)

Dot product

number Distance(other: V2)

Distance to other vector

V2 Lerp(other: V2, t: number)

Linear interpolation

CPedGameStateDataNode

Ped game state sync data node. Data nodes like this one are the serialization units the network code uses to replicate a ped's non-positional state between machines: the engine fills one of these each sync tick and reads it back to apply the received state. Unlike CPed itself, a data node's fields are not guaranteed to sit at the same byte offset across every game build, so resolve a validated instance pointer (for example from a hooked sync call) before doing raw memory.* reads on it.

int weapon()

Currently selected weapon hash

Usage example
int object.weapon
int deathState()

Ped death state

Usage example
int object.deathState
int arrestState()

Ped arrest state

Usage example
int object.arrestState
int vehicleID()

Current vehicle ID

Usage example
int object.vehicleID
int seat()

Seat index in vehicle

Usage example
int object.seat
bool inVehicle()

Is ped in vehicle

Usage example
bool object.inVehicle
bool hasVehicle()

Does ped have vehicle

Usage example
bool object.hasVehicle
bool flashLightOn()

Is flashlight on

Usage example
bool object.flashLightOn
bool weaponObjectExists()

Is weapon object present

Usage example
bool object.weaponObjectExists
bool weaponObjectVisible()

Is weapon visible

Usage example
bool object.weaponObjectVisible
int weaponObjectTintIndex()

Weapon tint index

Usage example
int object.weaponObjectTintIndex
int numWeaponComponents()

Number of weapon components

Usage example
int object.numWeaponComponents
table weaponComponents()

Weapon component hashes

table equippedGadgets()

Equipped gadget hashes

int numGadgets()

Number of equipped gadgets

Usage example
int object.numGadgets
bool bActionModeEnabled()

Action mode enabled

Usage example
bool object.bActionModeEnabled
bool bStealthModeEnabled()

Stealth mode enabled

Usage example
bool object.bStealthModeEnabled
int ReadWeaponViaMemory(nodePtr: int, weaponFieldOffset: int)

Once you have a validated pointer to a ped's CPedGameStateDataNode instance, its fields can be read like any other struct field.

Usage example
-- weaponFieldOffset must be resolved for your target build (e.g. via a hook
-- on the node's Read/Write serialisation function, or a per-build dump)
local weaponHash = memory.read_int(nodePtr + weaponFieldOffset)
print("synced weapon hash:", weaponHash)
bool HasValidWeaponClipset()

do we have a valid weapon clip set? Used as part of a hack fix for when pointing while holding a weapon

Usage example
bool object.HasValidWeaponClipset
int LookAtFlags()

eHeadIkFlags

Usage example
int object.LookAtFlags
int LookAtObjectID()

If looking at an object, ID of object ped is looking at

Usage example
int object.LookAtObjectID
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool bDisableStartEngine()

Member available through Scooby's native Lua API.

Usage example
bool object.bDisableStartEngine
bool bPedPerceptionModified()

Member available through Scooby's native Lua API.

Usage example
bool object.bPedPerceptionModified
bool bvehicleweaponindex()

Member available through Scooby's native Lua API.

Usage example
bool object.bvehicleweaponindex
bool canBeIncapacitated()

Member available through Scooby's native Lua API.

Usage example
bool object.canBeIncapacitated
bool changeToAmbientPopTypeOnMigration()

Member available through Scooby's native Lua API.

Usage example
bool object.changeToAmbientPopTypeOnMigration
int cleardamagecount()

Member available through Scooby's native Lua API.

Usage example
int object.cleardamagecount
bool createdByConcealedPlayer()

Member available through Scooby's native Lua API.

Usage example
bool object.createdByConcealedPlayer
int custodianID()

ID of the player that is and has taken us into custody.

Usage example
int object.custodianID
bool disableBlindFiringInShotReactions()

Member available through Scooby's native Lua API.

Usage example
bool object.disableBlindFiringInShotReactions
bool doingWeaponSwap()

The ped is running a CTaskSwapWeapon

Usage example
bool object.doingWeaponSwap
bool dontActivateRagdollFromAnyPedImpact()

Member available through Scooby's native Lua API.

Usage example
bool object.dontActivateRagdollFromAnyPedImpact
bool dontBehaveLikeLaw()

Member available through Scooby's native Lua API.

Usage example
bool object.dontBehaveLikeLaw
table<int, int> equippedGadgets()

hashes of gadgets equipped

Usage example
table<int, int> object.equippedGadgets
bool hasCustodianOrArrestFlags()

does this ped have a custodian.

Usage example
bool object.hasCustodianOrArrestFlags
bool hasDroppedWeapon()

Member available through Scooby's native Lua API.

Usage example
bool object.hasDroppedWeapon
bool hitByTranqWeapon()

Member available through Scooby's native Lua API.

Usage example
bool object.hitByTranqWeapon
bool isDuckingInVehicle()

Member available through Scooby's native Lua API.

Usage example
bool object.isDuckingInVehicle
bool isLookingAtObject()

Is looking at an object

Usage example
bool object.isLookingAtObject
bool isUpright()

Member available through Scooby's native Lua API.

Usage example
bool object.isUpright
bool isUsingAlternateLowriderLeanAnims()

Member available through Scooby's native Lua API.

Usage example
bool object.isUsingAlternateLowriderLeanAnims
bool isUsingLowriderLeanAnims()

Member available through Scooby's native Lua API.

Usage example
bool object.isUsingLowriderLeanAnims
bool keepTasksAfterCleanup()

ped keeps his tasks given when he was a script ped

Usage example
bool object.keepTasksAfterCleanup
bool killedByKnockdown()

Member available through Scooby's native Lua API.

Usage example
bool object.killedByKnockdown
bool killedByStandardMelee()

Member available through Scooby's native Lua API.

Usage example
bool object.killedByStandardMelee
bool killedByStealth()

Member available through Scooby's native Lua API.

Usage example
bool object.killedByStealth
bool killedByTakedown()

Member available through Scooby's native Lua API.

Usage example
bool object.killedByTakedown
int mountID()

ID of the mount this ped is currently in

Usage example
int object.mountID
int nMovementModeOverrideID()

Member available through Scooby's native Lua API.

Usage example
int object.nMovementModeOverrideID
bool onMount()

is this ped on a mount?

Usage example
bool object.onMount
bool permanentlyDisablePotentialToBeWalkedIntoResponse()

Member available through Scooby's native Lua API.

Usage example
bool object.permanentlyDisablePotentialToBeWalkedIntoResponse
int vehicleweaponindex()

Member available through Scooby's native Lua API.

Usage example
int object.vehicleweaponindex
table<int, int> weaponComponents()

hashes of weapon components equipped

Usage example
table<int, int> object.weaponComponents
table<int, int> weaponComponentsTint()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.weaponComponentsTint
bool weaponObjectAttachLeft()

Member available through Scooby's native Lua API.

Usage example
bool object.weaponObjectAttachLeft
bool weaponObjectHasAmmo()

Member available through Scooby's native Lua API.

Usage example
bool object.weaponObjectHasAmmo

CPedCreationDataNode

Ped creation sync data node

int modelHash()

Ped model hash

Usage example
int object.modelHash
int popType()

Population type

Usage example
int object.popType
int randomSeed()

Random seed

Usage example
int object.randomSeed
int maxHealth()

Maximum health

Usage example
int object.maxHealth
bool inVehicle()

Spawned in vehicle

Usage example
bool object.inVehicle
int vehicleID()

Vehicle ID if in vehicle

Usage example
int object.vehicleID
int seat()

Seat index if in vehicle

Usage example
int object.seat
bool isStanding()

Is ped standing

Usage example
bool object.isStanding
bool hasProp()

Does ped have prop

Usage example
bool object.hasProp
int propHash()

Prop hash if has prop

Usage example
int object.propHash
int voiceHash()

Voice hash

Usage example
int object.voiceHash
bool wearingAHelmet()

Is wearing helmet

Usage example
bool object.wearingAHelmet
bool IsRespawnObjId()

is a valid respawn object id

Usage example
bool object.IsRespawnObjId
bool RespawnFlaggedForRemoval()

True if the respawn ped was flagged for removal

Usage example
bool object.RespawnFlaggedForRemoval
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int attDamageToPlayer()

ID of the Player to attribute damage to.

Usage example
int object.attDamageToPlayer
bool hasAttDamageToPlayer()

True if the ped damage should be attributed to a certain player.

Usage example
bool object.hasAttDamageToPlayer

CVehicleGameStateDataNode

Vehicle game state sync data node

bool engineOn()

Is engine on

Usage example
bool object.engineOn
bool engineStarting()

Is engine starting

Usage example
bool object.engineStarting
bool handBrakeOn()

Is handbrake on

Usage example
bool object.handBrakeOn
bool lightsOn()

Are lights on

Usage example
bool object.lightsOn
bool headlightsFullBeamOn()

High beams on

Usage example
bool object.headlightsFullBeamOn
bool sirenOn()

Is siren on

Usage example
bool object.sirenOn
bool alarmSet()

Is alarm set

Usage example
bool object.alarmSet
bool alarmActivated()

Is alarm activated

Usage example
bool object.alarmActivated
int doorLockState()

Door lock state

Usage example
int object.doorLockState
int radioStation()

Current radio station

Usage example
int object.radioStation
bool isDriveable()

Is vehicle driveable

Usage example
bool object.isDriveable
bool isParked()

Is parked vehicle

Usage example
bool object.isParked
int doorsOpen()

Doors open bitmask

Usage example
int object.doorsOpen
int doorsBroken()

Doors broken bitmask

Usage example
int object.doorsBroken
int windowsDown()

Windows down bitmask

Usage example
int object.windowsDown
bool roofLowered()

Is roof lowered (convertible)

Usage example
bool object.roofLowered
bool hasTimedExplosion()

Has timed explosive

Usage example
bool object.hasTimedExplosion
int timedExplosionTime()

Explosion time

Usage example
int object.timedExplosionTime
int timedExplosionCulprit()

Explosion culprit entity

Usage example
int object.timedExplosionCulprit
bool AICanUseExclusiveSeats()

AI can use driver seat even if marked exclusive

Usage example
bool object.AICanUseExclusiveSeats
bool DontTryToEnterThisVehicleIfLockedForPlayer()

should players attempt to enter vehicle if its locked for them?

Usage example
bool object.DontTryToEnterThisVehicleIfLockedForPlayer
int ExtraBrokenFlags()

Member available through Scooby's native Lua API.

Usage example
int object.ExtraBrokenFlags
number HeadlightMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.HeadlightMultiplier
int OverridenVehHornHash()

Hash of a horn sound used for overriden vehicle horn

Usage example
int object.OverridenVehHornHash
bool OverridingVehHorn()

Is vehicle horn has been overriden

Usage example
bool object.OverridingVehHorn
int PlayerLocks()

Member available through Scooby's native Lua API.

Usage example
int object.PlayerLocks
bool RemoveAggressivelyForCarjackingMission()

Allows the vehicle to be removed aggressively during the car jacking missions

Usage example
bool object.RemoveAggressivelyForCarjackingMission
bool UnFreezeWhenCleaningUp()

Vehicle flag set by script but can't be synced in script node because it would reset

Usage example
bool object.UnFreezeWhenCleaningUp
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool canEjectPassengersIfLocked()

Member available through Scooby's native Lua API.

Usage example
bool object.canEjectPassengersIfLocked
bool checkForEnoughRoomToFitPed()

Member available through Scooby's native Lua API.

Usage example
bool object.checkForEnoughRoomToFitPed
number customPathNodeStreamingRadius()

Member available through Scooby's native Lua API.

Usage example
number object.customPathNodeStreamingRadius
bool detachedTombStone()

Member available through Scooby's native Lua API.

Usage example
bool object.detachedTombStone
bool disableSuperDummy()

Member available through Scooby's native Lua API.

Usage example
bool object.disableSuperDummy
table<int, int> doorIndividualLockedState()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.doorIndividualLockedState
int doorIndividualLockedStateFilter()

Member available through Scooby's native Lua API.

Usage example
int object.doorIndividualLockedStateFilter
int doorsNotAllowedToBeBrokenOff()

if the doors are not allowed to be broken off bitmask

Usage example
int object.doorsNotAllowedToBeBrokenOff
table<int, int> doorsOpenRatio()

doors open ratio

Usage example
table<int, int> object.doorsOpenRatio
number downforceModifierFront()

Member available through Scooby's native Lua API.

Usage example
number object.downforceModifierFront
number downforceModifierRear()

Member available through Scooby's native Lua API.

Usage example
number object.downforceModifierRear
bool driftTyres()

Member available through Scooby's native Lua API.

Usage example
bool object.driftTyres
bool engineSkipEngineStartup()

if the audio for the engine startup should be skipped

Usage example
bool object.engineSkipEngineStartup
table<int, int> exclusiveDriverPedID()

exclusive driver (only peds that can drive this vehicle).

Usage example
table<int, int> object.exclusiveDriverPedID
bool flaggedForCleanup()

flagged for cleanup

Usage example
bool object.flaggedForCleanup
bool forceOtherVehsToStop()

should other vehicles be forced to stop for this one

Usage example
bool object.forceOtherVehsToStop
bool fullThrottleActive()

Is the Full Throttle effect being applied to this vehicle

Usage example
bool object.fullThrottleActive
int fullThrottleEndTime()

Network time that Full Throttle will end

Usage example
int object.fullThrottleEndTime
bool ghost()

Member available through Scooby's native Lua API.

Usage example
bool object.ghost
bool hasBeenOwnedByPlayer()

Member available through Scooby's native Lua API.

Usage example
bool object.hasBeenOwnedByPlayer
bool hasLastDriver()

Member available through Scooby's native Lua API.

Usage example
bool object.hasLastDriver
bool influenceWantedLevel()

Member available through Scooby's native Lua API.

Usage example
bool object.influenceWantedLevel
bool isStationary()

is this a stationary car

Usage example
bool object.isStationary
bool isTrailerAttachmentEnabled()

Script can disable trailers from attaching themselves

Usage example
bool object.isTrailerAttachmentEnabled
int junctionArrivalTime()

Time that the vehicle arrived at its current junction

Usage example
int object.junctionArrivalTime
int junctionCommand()

Traffic flow command (stop, go)

Usage example
int object.junctionCommand
int lastDriverPedID()

Member available through Scooby's native Lua API.

Usage example
int object.lastDriverPedID
bool mercVeh()

Member available through Scooby's native Lua API.

Usage example
bool object.mercVeh
bool moveAwayFromPlayer()

should this veh move away from the player

Usage example
bool object.moveAwayFromPlayer
bool noDamageFromExplosionsOwnedByDriver()

Member available through Scooby's native Lua API.

Usage example
bool object.noDamageFromExplosionsOwnedByDriver
int overridelights()

Member available through Scooby's native Lua API.

Usage example
int object.overridelights
bool placeOnRoadQueued()

Member available through Scooby's native Lua API.

Usage example
bool object.placeOnRoadQueued
bool planeResistToExplosion()

Member available through Scooby's native Lua API.

Usage example
bool object.planeResistToExplosion
bool pretendOccupants()

does this vehicle have pretend occupants

Usage example
bool object.pretendOccupants
bool radioStationChangedByDriver()

driver changed current radio station

Usage example
bool object.radioStationChangedByDriver
bool removeWithEmptyCopOrWreckedVehs()

consider this veh with cop/wrecked vehs for removal purposes

Usage example
bool object.removeWithEmptyCopOrWreckedVehs
bool runningRespotTimer()

is this vehicle running the car respot timer

Usage example
bool object.runningRespotTimer
bool scriptSetHandbrakeOn()

indicates whether script has specified the handbrake is on this vehicle (included in vehicle game state to ensure goes with handbrake state)

Usage example
bool object.scriptSetHandbrakeOn
bool usePlayerLightSettings()

Member available through Scooby's native Lua API.

Usage example
bool object.usePlayerLightSettings
bool useRespotEffect()

Member available through Scooby's native Lua API.

Usage example
bool object.useRespotEffect
bool vehicleOccupantsTakeExplosiveDamage()

Member available through Scooby's native Lua API.

Usage example
bool object.vehicleOccupantsTakeExplosiveDamage
int xenonLightColor()

Member available through Scooby's native Lua API.

Usage example
int object.xenonLightColor

CVehicleCreationDataNode

Vehicle creation sync data node

int modelHash()

Vehicle model hash

Usage example
int object.modelHash
int popType()

Population type

Usage example
int object.popType
int randomSeed()

Random seed

Usage example
int object.randomSeed
int maxHealth()

Maximum health

Usage example
int object.maxHealth
int status()

Vehicle status flags

Usage example
int object.status
bool needsToBeHotwired()

Needs to be hotwired

Usage example
bool object.needsToBeHotwired
bool tyresDontBurst()

Tyres don't burst

Usage example
bool object.tyresDontBurst
int lastDriverTime()

Last driver time

Usage example
int object.lastDriverTime
bool usesVerticalFlightMode()

Uses VTOL mode

Usage example
bool object.usesVerticalFlightMode
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool takeOutOfParkedCarBudget()

should this vehicle be taken out of the parked car population budget?

Usage example
bool object.takeOutOfParkedCarBudget

CVehicleHealthDataNode

Vehicle health sync data node

int health()

Current health

Usage example
int object.health
int bodyhealth()

Body health

Usage example
int object.bodyhealth
int packedEngineHealth()

Engine health (packed)

Usage example
int object.packedEngineHealth
int packedPetrolTankHealth()

Fuel tank health (packed)

Usage example
int object.packedPetrolTankHealth
bool hasMaxHealth()

Is health at max

Usage example
bool object.hasMaxHealth
bool isWrecked()

Is vehicle wrecked

Usage example
bool object.isWrecked
bool isBlownUp()

Wrecked by explosion

Usage example
bool object.isBlownUp
int numWheels()

Number of wheels

Usage example
int object.numWheels
table tyreDamaged()

Tyre damaged flags

table tyreDestroyed()

Tyre destroyed flags

table suspensionHealth()

Suspension health array

int fixedCount()

Fix trigger counter

Usage example
int object.fixedCount
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int extinguishedFireCount()

Member available through Scooby's native Lua API.

Usage example
int object.extinguishedFireCount
bool hasDamageEntity()

has this vehicle been damaged by another entity?

Usage example
bool object.hasDamageEntity
bool healthsame()

if the health is the same as body health

Usage example
bool object.healthsame
int lastDamagedMaterialId()

last material id that was damaged for vehicle

Usage example
int object.lastDamagedMaterialId
table<int, number> suspensionHealth()

the health of the suspension for the wheels

Usage example
table<int, number> object.suspensionHealth
bool suspensionHealthDefault()

is the suspension health for all wheels at the default

Usage example
bool object.suspensionHealthDefault
table<int, bool> tyreBrokenOff()

Member available through Scooby's native Lua API.

Usage example
table<int, bool> object.tyreBrokenOff
table<int, bool> tyreDamaged()

indicates which tyres are damaged

Usage example
table<int, bool> object.tyreDamaged
table<int, bool> tyreDestroyed()

indicates which tyres are destroyed

Usage example
table<int, bool> object.tyreDestroyed
table<int, bool> tyreFire()

Member available through Scooby's native Lua API.

Usage example
table<int, bool> object.tyreFire
bool tyreHealthDefault()

is the tyre health for all wheels at the default

Usage example
bool object.tyreHealthDefault
table<int, number> tyreWearRate()

Member available through Scooby's native Lua API.

Usage example
table<int, number> object.tyreWearRate
int weaponDamageEntity()

weapon damage entity (only for script objects???????????????)

Usage example
int object.weaponDamageEntity
int weaponDamageHash()

weapon damage Hash

Usage example
int object.weaponDamageHash

CVehicleProximityMigrationDataNode

Network sync data node carrying the state a vehicle needs to migrate control between machines when players move out of each other's proximity - population type, occupant slots, packed velocity and the vehicle's in-flight AI task. Unlike most sync nodes, its fields sit at fixed byte offsets inside the node instance, documented below.

int maxOccupants()

Maximum passenger count for this vehicle, at +0xC0

Usage example
int object.maxOccupants
bool hasPopType()

Whether a population type is present, at +0xF4

Usage example
bool object.hasPopType
int popType()

Population type value, at +0xF8

int status()

Vehicle status flag bitfield, at +0xFC

Usage example
int object.status
int lastDriverTime()

Timestamp of the last time this vehicle had a driver, at +0x100

Usage example
int object.lastDriverTime
bool isMoving()

Whether the vehicle is moving; position/velocity are only synced when true, at +0x104

Usage example
bool object.isMoving
Vector3 position()

Vehicle world position (packed Vector3), at +0x110

float packedVelocityX()

Packed X velocity component, at +0x120

float packedVelocityY()

Packed Y velocity component, at +0x124

float packedVelocityZ()

Packed Z velocity component, at +0x128

float speedMultiplier()

Cruise speed multiplier used when computing AI cruise speeds, at +0x12C

int taskType()

Current migrating AI task type, at +0x134

Usage example
int object.taskType
int, bool ReadStatusViaMemory(nodePtr: int)

Reads the packed status and movement flags straight out of a resolved CVehicleProximityMigrationDataNode instance.

Usage example
local status = memory.read_int(nodePtr + 0xFC)
local isMoving = memory.read_byte(nodePtr + 0x104) ~= 0
print("status:", status, "moving:", isMoving)
int PopType()

population type 0x00F8

Usage example
int object.PopType
int RespotCounter()

remaining time from respotting 0x0130

Usage example
int object.RespotCounter
number SpeedMultiplier()

speed multiplier (used when calculating cruise speeds) 0x012C

Usage example
number object.SpeedMultiplier
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
table<int, bool> hasOccupant()

does this vehicle have passengers? 0x00C4

Usage example
table<int, bool> object.hasOccupant
bool hasTaskData()

does the vehicle have any task data to sync 0x0132

Usage example
bool object.hasTaskData
table<int, int> occupantID()

IDs of the passengers 0x00D4

Usage example
table<int, int> object.occupantID
int packedVelocityX()

current velocity X (packed) 0x120

Usage example
int object.packedVelocityX
int packedVelocityY()

current velocity Y (packed) 0x124

Usage example
int object.packedVelocityY
int packedVelocityZ()

current velocity Z (packed) 0x128

Usage example
int object.packedVelocityZ
V3 position()

current vehicle position 0x110

Usage example
V3 object.position
table<int, int> taskMigrationData()

the migration data of the current AI task 0x013C

Usage example
table<int, int> object.taskMigrationData
int taskMigrationDataSize()

the size of the migration data for the current AI task 0x0138

Usage example
int object.taskMigrationDataSize

CDynamicEntityGameStateDataNode

Small network sync node covering the fixed-physics/collision game-state flags shared by every dynamic entity (peds, vehicles, most objects). Also carries the entity's decorator count and a reference to the interior it currently belongs to.

int interiorProxyLoc()

Interior proxy location reference, at +0xC0

bool loadsCollisions()

Whether this entity forces its surrounding collision to load, at +0xC4

Usage example
bool object.loadsCollisions
bool retained()

Whether the entity is retained (kept alive) by the streaming system, at +0xC5

Usage example
bool object.retained
int decoratorListCount()

Number of script decorators attached to the entity, at +0xC8

Usage example
int object.decoratorListCount
bool ReadLoadsCollisionsViaMemory(nodePtr: int)

Reads the loadsCollisions flag from a resolved CDynamicEntityGameStateDataNode instance.

Usage example
local loadsCollisions = memory.read_byte(nodePtr + 0xC4) ~= 0
print("forces collision load:", loadsCollisions)
int InteriorProxyLoc()

0x00C0

Usage example
int object.InteriorProxyLoc
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

eFeatureType

Feature type enumeration

int Button(0)

Clickable button

int Combo(1)

Dropdown combo

int ComboToggles(2)

Toggleable combo

int Custom(3)

Custom-rendered feature

int InputColor3(4)

RGB color input

int InputColor4(5)

RGBA color input

int InputFloat(6)

Float input

int InputInt(7)

Integer input

int InputText(8)

Text input

int List(9)

List feature

int ListWithInfo(10)

List feature with info panel

int SliderFloat(11)

Float slider

int SliderFloatToggle(12)

Float slider with toggle

int SliderInt(13)

Integer slider

int SliderIntToggle(14)

Integer slider with toggle

int Toggle(15)

On/off toggle

Button()

Member available through Scooby's native Lua API.

Combo()

Member available through Scooby's native Lua API.

ComboToggles()

Member available through Scooby's native Lua API.

Custom()

Member available through Scooby's native Lua API.

InputColor3()

Member available through Scooby's native Lua API.

InputColor4()

Member available through Scooby's native Lua API.

InputFloat()

Member available through Scooby's native Lua API.

InputInt()

Member available through Scooby's native Lua API.

InputText()

Member available through Scooby's native Lua API.

List()

Member available through Scooby's native Lua API.

ListWithInfo()

Member available through Scooby's native Lua API.

SliderFloat()

Member available through Scooby's native Lua API.

SliderFloatToggle()

Member available through Scooby's native Lua API.

SliderInt()

Member available through Scooby's native Lua API.

SliderIntToggle()

Member available through Scooby's native Lua API.

Toggle()

Member available through Scooby's native Lua API.

eGuiMode

GUI mode enumeration

int None(0)

GUI closed

int ClickGui(1)

Click-based GUI

int ListGui(2)

List-based GUI

Both()

Member available through Scooby's native Lua API.

ClickGUI()

Member available through Scooby's native Lua API.

ListGUI()

Member available through Scooby's native Lua API.

eLuaEvent

Lua event enumeration

int OnTick(0)

Called every frame

int OnNativeTick(1)

Called in native thread

int OnKeyDown(2)

Key pressed

int OnKeyUp(3)

Key released

int OnScriptEvent(4)

Script event received

int OnNetworkEvent(5)

Network event received

int OnChatMessage(6)

Chat message received

int OnPlayerJoin(7)

Player joined session

int OnPlayerLeave(8)

Player left session

CAN_APPLY_NODE_DATA()

Member available through Scooby's native Lua API.

NET_EVENT()

Member available through Scooby's native Lua API.

ON_CHAT_MESSAGE()

Member available through Scooby's native Lua API.

ON_NOTIFICATION()

Member available through Scooby's native Lua API.

ON_PLAYER_JOIN()

Member available through Scooby's native Lua API.

ON_PLAYER_LEFT()

Member available through Scooby's native Lua API.

ON_PLAYER_PED_CHANGE()

Member available through Scooby's native Lua API.

ON_PLAYER_PED_RESPAWN()

Member available through Scooby's native Lua API.

ON_POST_PRESENT()

Member available through Scooby's native Lua API.

ON_PRESENT()

Member available through Scooby's native Lua API.

ON_REACTION()

Member available through Scooby's native Lua API.

ON_SESSION_CHANGE()

Member available through Scooby's native Lua API.

ON_SCRIPT_STOP()

Runs registered cleanup handlers when the Lua is stopped or unloaded.

ON_SYNC_DATA_NODE()

Member available through Scooby's native Lua API.

ON_UNLOAD()

Member available through Scooby's native Lua API.

ON_VEHICLE_CHANGE()

Member available through Scooby's native Lua API.

ON_WEAPON_CHANGE()

Member available through Scooby's native Lua API.

ON_WEAPON_RELOADED()

Member available through Scooby's native Lua API.

SCRIPTED_GAME_EVENT()

Member available through Scooby's native Lua API.

SHOULD_COLLIDE()

Member available through Scooby's native Lua API.

SHOULD_TRIGGER_EXCLUSIVE_SYNC()

Member available through Scooby's native Lua API.

eExplosionTag

Explosion type enumeration

int GRENADE(0)

Grenade explosion

int GRENADELAUNCHER(1)

Grenade launcher

int STICKYBOMB(2)

Sticky bomb

int MOLOTOV(3)

Molotov cocktail

int ROCKET(4)

Rocket

int TANKSHELL(5)

Tank shell

int HI_OCTANE(6)

High octane

int CAR(7)

Car explosion

int PLANE(8)

Plane explosion

int PETROL_PUMP(9)

Petrol pump

int BIKE(10)

Bike explosion

int DIR_STEAM(11)

Steam

int DIR_FLAME(12)

Flame

int DIR_WATER_HYDRANT(13)

Water hydrant

int DIR_GAS_CANISTER(14)

Gas canister

int BOAT(15)

Boat explosion

int SHIP_DESTROY(16)

Ship destroy

int TRUCK(17)

Truck explosion

int BULLET(18)

Bullet impact

int SMOKEGRENADELAUNCHER(19)

Smoke grenade

int SMOKEGRENADE(20)

Smoke grenade

int BZGAS(21)

BZ gas

int FLARE(22)

Flare

int GAS_CANISTER(23)

Gas canister

int EXTINGUISHER(24)

Fire extinguisher

int PLANE_ROCKET(25)

Plane rocket

int VEHICLE_BULLET(26)

Vehicle bullet

int GAS_TANK(27)

Gas tank

int FIREWORK(28)

Firework

int SNOWBALL(29)

Snowball

int PROXMINE(30)

Proximity mine

int VALKYRIE_CANNON(31)

Valkyrie cannon

int ORBITAL_CANNON(59)

Orbital cannon

EXP_TAG_AIR_DEFENCE()

Member available through Scooby's native Lua API.

EXP_TAG_APCSHELL()

Member available through Scooby's native Lua API.

EXP_TAG_BALANCED_CANNONS()

Member available through Scooby's native Lua API.

EXP_TAG_BARREL()

Member available through Scooby's native Lua API.

EXP_TAG_BIKE()

Member available through Scooby's native Lua API.

EXP_TAG_BIRD_CRAP()

Member available through Scooby's native Lua API.

EXP_TAG_BLIMP()

Member available through Scooby's native Lua API.

EXP_TAG_BLIMP2()

Member available through Scooby's native Lua API.

EXP_TAG_BOAT()

Member available through Scooby's native Lua API.

EXP_TAG_BOMBUSHKA_CANNON()

Member available through Scooby's native Lua API.

EXP_TAG_BOMB_CLUSTER()

Member available through Scooby's native Lua API.

EXP_TAG_BOMB_CLUSTER_SECONDARY()

Member available through Scooby's native Lua API.

EXP_TAG_BOMB_GAS()

Member available through Scooby's native Lua API.

EXP_TAG_BOMB_INCENDIARY()

Member available through Scooby's native Lua API.

EXP_TAG_BOMB_STANDARD()

Member available through Scooby's native Lua API.

EXP_TAG_BOMB_STANDARD_WIDE()

Member available through Scooby's native Lua API.

EXP_TAG_BOMB_WATER()

Member available through Scooby's native Lua API.

EXP_TAG_BOMB_WATER_SECONDARY()

Member available through Scooby's native Lua API.

EXP_TAG_BULLET()

Member available through Scooby's native Lua API.

EXP_TAG_BURIEDMINE()

Member available through Scooby's native Lua API.

EXP_TAG_BZGAS()

Member available through Scooby's native Lua API.

EXP_TAG_BZGAS_MK2()

Member available through Scooby's native Lua API.

EXP_TAG_CAR()

Member available through Scooby's native Lua API.

EXP_TAG_CNC_KINETICRAM()

Member available through Scooby's native Lua API.

EXP_TAG_DIR_FLAME()

Member available through Scooby's native Lua API.

EXP_TAG_DIR_FLAME_EXPLODE()

Member available through Scooby's native Lua API.

EXP_TAG_DIR_GAS_CANISTER()

Member available through Scooby's native Lua API.

EXP_TAG_DIR_STEAM()

Member available through Scooby's native Lua API.

EXP_TAG_DIR_WATER_HYDRANT()

Member available through Scooby's native Lua API.

EXP_TAG_DONTCARE()

Member available through Scooby's native Lua API.

EXP_TAG_EMPLAUNCHER_EMP()

Member available through Scooby's native Lua API.

EXP_TAG_EXPLOSIVEAMMO()

Member available through Scooby's native Lua API.

EXP_TAG_EXPLOSIVEAMMO_SHOTGUN()

Member available through Scooby's native Lua API.

EXP_TAG_EXTINGUISHER()

Member available through Scooby's native Lua API.

EXP_TAG_FIREWORK()

Member available through Scooby's native Lua API.

EXP_TAG_FLARE()

Member available through Scooby's native Lua API.

EXP_TAG_FLASHGRENADE()

Member available through Scooby's native Lua API.

EXP_TAG_GAS_CANISTER()

Member available through Scooby's native Lua API.

EXP_TAG_GAS_TANK()

Member available through Scooby's native Lua API.

EXP_TAG_GRENADE()

Member available through Scooby's native Lua API.

EXP_TAG_GRENADELAUNCHER()

Member available through Scooby's native Lua API.

EXP_TAG_HI_OCTANE()

Member available through Scooby's native Lua API.

EXP_TAG_HUNTER_BARRAGE()

Member available through Scooby's native Lua API.

EXP_TAG_HUNTER_CANNON()

Member available through Scooby's native Lua API.

EXP_TAG_MINE_CNCSPIKE()

Member available through Scooby's native Lua API.

EXP_TAG_MINE_UNDERWATER()

Member available through Scooby's native Lua API.

EXP_TAG_MOLOTOV()

Member available through Scooby's native Lua API.

EXP_TAG_MORTAR_KINETIC()

Member available through Scooby's native Lua API.

EXP_TAG_OPPRESSOR2_CANNON()

Member available through Scooby's native Lua API.

EXP_TAG_ORBITAL_CANNON()

Member available through Scooby's native Lua API.

EXP_TAG_PETROL_PUMP()

Member available through Scooby's native Lua API.

EXP_TAG_PIPEBOMB()

Member available through Scooby's native Lua API.

EXP_TAG_PLANE()

Member available through Scooby's native Lua API.

EXP_TAG_PLANE_ROCKET()

Member available through Scooby's native Lua API.

EXP_TAG_PROGRAMMABLEAR()

Member available through Scooby's native Lua API.

EXP_TAG_PROPANE()

Member available through Scooby's native Lua API.

EXP_TAG_PROXMINE()

Member available through Scooby's native Lua API.

EXP_TAG_RAILGUN()

Member available through Scooby's native Lua API.

EXP_TAG_RAILGUNXM3()

Member available through Scooby's native Lua API.

EXP_TAG_RAYGUN()

Member available through Scooby's native Lua API.

EXP_TAG_RCTANK_ROCKET()

Member available through Scooby's native Lua API.

EXP_TAG_ROCKET()

Member available through Scooby's native Lua API.

EXP_TAG_ROGUE_CANNON()

Member available through Scooby's native Lua API.

EXP_TAG_SCRIPT_DRONE()

Member available through Scooby's native Lua API.

EXP_TAG_SCRIPT_MISSILE()

Member available through Scooby's native Lua API.

EXP_TAG_SCRIPT_MISSILE_LARGE()

Member available through Scooby's native Lua API.

EXP_TAG_SHIP_DESTROY()

Member available through Scooby's native Lua API.

EXP_TAG_SMOKE_GRENADE()

Member available through Scooby's native Lua API.

EXP_TAG_SMOKE_GRENADE_LAUNCHER()

Member available through Scooby's native Lua API.

EXP_TAG_SNOWBALL()

Member available through Scooby's native Lua API.

EXP_TAG_STICKYBOMB()

Member available through Scooby's native Lua API.

EXP_TAG_STUNGRENADE()

Member available through Scooby's native Lua API.

EXP_TAG_SUBMARINE_BIG()

Member available through Scooby's native Lua API.

EXP_TAG_TANKER()

Member available through Scooby's native Lua API.

EXP_TAG_TANKSHELL()

Member available through Scooby's native Lua API.

EXP_TAG_TORPEDO()

Member available through Scooby's native Lua API.

EXP_TAG_TORPEDO_UNDERWATER()

Member available through Scooby's native Lua API.

EXP_TAG_TRAIN()

Member available through Scooby's native Lua API.

EXP_TAG_TRUCK()

Member available through Scooby's native Lua API.

EXP_TAG_VALKYRIE_CANNON()

Member available through Scooby's native Lua API.

EXP_TAG_VEHICLEMINE()

Member available through Scooby's native Lua API.

EXP_TAG_VEHICLEMINE_EMP()

Member available through Scooby's native Lua API.

EXP_TAG_VEHICLEMINE_KINETIC()

Member available through Scooby's native Lua API.

EXP_TAG_VEHICLEMINE_SLICK()

Member available through Scooby's native Lua API.

EXP_TAG_VEHICLEMINE_SPIKE()

Member available through Scooby's native Lua API.

EXP_TAG_VEHICLEMINE_TAR()

Member available through Scooby's native Lua API.

EXP_TAG_VEHICLE_BULLET()

Member available through Scooby's native Lua API.

NUM_EEXPLOSIONTAG()

Member available through Scooby's native Lua API.

eEntityType

Entity type enumeration

int Nothing(0)

No entity

int Ped(1)

Pedestrian

int Vehicle(2)

Vehicle

int Object(3)

Object

BUILDING()

Member available through Scooby's native Lua API.

COMPOSITE()

Member available through Scooby's native Lua API.

DUMMY_OBJECT()

Member available through Scooby's native Lua API.

GRASS_INSTANCE_LIST()

Member available through Scooby's native Lua API.

INSTANCE_LIST()

Member available through Scooby's native Lua API.

LIGHT()

Member available through Scooby's native Lua API.

MLO()

Member available through Scooby's native Lua API.

NOTHING()

Member available through Scooby's native Lua API.

NOTINPOOLS()

Member available through Scooby's native Lua API.

OBJECT()

Member available through Scooby's native Lua API.

PARTICLESYSTEM()

Member available through Scooby's native Lua API.

PED()

Member available through Scooby's native Lua API.

PORTAL()

Member available through Scooby's native Lua API.

TOTAL()

Member available through Scooby's native Lua API.

VEHICLE()

Member available through Scooby's native Lua API.

VEHICLEGLASSCOMPONENT()

Member available through Scooby's native Lua API.

ImGui

ImGui drawing and UI functions for custom interfaces

void AddCircle(x: number, y: number, radius: number, r: int, g: int, b: int, a: int, numSegments: int = 0, thickness: number = 1.0)

Draw a circle outline

void AddCircleFilled(x: number, y: number, radius: number, r: int, g: int, b: int, a: int, numSegments: int = 0)

Draw a filled circle

void AddImage(texture: ImTextureID, min_x: number, min_y: number, max_x: number, max_y: number, uv_min_x: number = 0.0, uv_min_y: number = 0.0, uv_max_x: number = 1.0, uv_max_y: number = 1.0, color: int = 0xFFFFFFFF)

Draw a texture image

void AddImageRounded(texture: ImTextureID, min_x: number, min_y: number, max_x: number, max_y: number, rounding: number = 16.0)

Draw a rounded texture image

void AddLine(x1: number, y1: number, x2: number, y2: number, r: int, g: int, b: int, a: int, thickness: number = 1.0)

Draw a line between two points

void AddRect(x1: number, y1: number, x2: number, y2: number, r: int, g: int, b: int, a: int, rounding: number = 1.0, drawFlags: int = 0, thickness: number = 1.0)

Draw a rectangle outline

void AddRectFilled(x1: number, y1: number, x2: number, y2: number, r: int, g: int, b: int, a: int, rounding: number = 1.0, drawFlags: int = 0)

Draw a filled rectangle

void AddRectFilledMultiColor(x1: number, y1: number, x2: number, y2: number, col_upr_left: int, col_upr_right: int, col_bot_right: int, col_bot_left: int)

Draw a gradient filled rectangle

void AddText(x: number, y: number, text: string, r: int, g: int, b: int, a: int)

Draw text at position

void AddTriangle(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, r: int, g: int, b: int, a: int, thickness: number = 1.0)

Draw a triangle outline

void AddTriangleFilled(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, r: int, g: int, b: int, a: int)

Draw a filled triangle

void BgAddCircle(x: number, y: number, radius: number, r: int, g: int, b: int, a: int)

Draw circle on background layer

void BgAddCircleFilled(x: number, y: number, radius: number, r: int, g: int, b: int, a: int)

Draw filled circle on background layer

void BgAddLine(x1: number, y1: number, x2: number, y2: number, r: int, g: int, b: int, a: int, thickness: number = 1.0)

Draw line on background layer

void BgAddRect(x1: number, y1: number, x2: number, y2: number, r: int, g: int, b: int, a: int, rounding: number = 1.0)

Draw rectangle on background layer

void BgAddRectFilled(x1: number, y1: number, x2: number, y2: number, r: int, g: int, b: int, a: int, rounding: number = 1.0)

Draw filled rectangle on background layer

void BgAddText(x: number, y: number, text: string, r: int, g: int, b: int, a: int)

Draw text on background layer

int ColorConvertFloat4ToU32(color: table<number>)

Convert float4 color to packed U32

int ColorConvertRGBAToU32(rgba: table<int>)

Convert RGBA table to packed U32

table<number> ColorConvertU32ToFloat4(color: int)

Convert packed U32 to float4 table

number, number, number ColorConvertHSVtoRGB(h: number, s: number, v: number)

Convert HSV to RGB color

number, number, number ColorConvertRGBtoHSV(r: number, g: number, b: number)

Convert RGB to HSV color

bool Begin(name: string, flags: ImGuiWindowFlags = 0)

Begin a new window. Always call End once, even when the returned visible value is false.

void End()

End the Lua-owned current window. Extra calls cannot close Scooby's host window.

bool BeginChild(id: string, size_x: number = 0, size_y: number = 0, border: bool = false, flags: ImGuiWindowFlags = 0)

Begin a child region

void EndChild()

End child region

void BeginGroup()

Begin a group (lock horizontal starting position)

void EndGroup()

End the current group

bool Button(label: string, size_x: number = 0, size_y: number = 0)

Create a button

bool SmallButton(label: string)

Create a small button

bool, bool Checkbox(label: string, value: bool)

Create a checkbox

bool RadioButton(label: string, active: bool)

Create a radio button

void ProgressBar(fraction: number, size_x: number = -1, size_y: number = 0, overlay: string = nil)

Show a progress bar

void Bullet()

Draw a bullet point

bool, number SliderFloat(label: string, value: number, min: number, max: number, format: string = '%.3f', flags: int = 0)

Create a float slider

bool, int SliderInt(label: string, value: int, min: int, max: int, format: string = '%d', flags: int = 0)

Create an integer slider

bool, number SliderAngle(label: string, value: number, min: number = -360, max: number = 360)

Create an angle slider (radians)

bool, number VSliderFloat(label: string, size_x: number, size_y: number, value: number, min: number, max: number)

Create a vertical float slider

bool, int VSliderInt(label: string, size_x: number, size_y: number, value: int, min: int, max: int)

Create a vertical integer slider

bool, number DragFloat(label: string, value: number, speed: number = 1.0, min: number = 0, max: number = 0, format: string = '%.3f')

Create a draggable float input

bool, int DragInt(label: string, value: int, speed: number = 1.0, min: int = 0, max: int = 0)

Create a draggable integer input

bool, string InputText(label: string, text: string, flags: ImGuiInputTextFlags = 0)

Create a text input field

bool, string InputTextMultiline(label: string, text: string, size_x: number = 0, size_y: number = 0, flags: ImGuiInputTextFlags = 0)

Create a multiline text input

bool, int InputInt(label: string, value: int, step: int = 1, step_fast: int = 100)

Create an integer input field

bool, number InputFloat(label: string, value: number, step: number = 0.0, step_fast: number = 0.0, format: string = '%.3f')

Create a float input field

bool, table ColorEdit3(label: string, color: table<number>, flags: ImGuiColorEditFlags = 0)

Create RGB color editor

bool, table ColorEdit4(label: string, color: table<number>, flags: ImGuiColorEditFlags = 0)

Create RGBA color editor

bool, table ColorPicker3(label: string, color: table<number>, flags: ImGuiColorEditFlags = 0)

Create RGB color picker

bool, table ColorPicker4(label: string, color: table<number>, flags: ImGuiColorEditFlags = 0)

Create RGBA color picker

bool, int Combo(label: string, current_item: int, items: table<string>, popup_max_height: int = -1)

Create a combo box dropdown

bool BeginCombo(label: string, preview: string, flags: ImGuiComboFlags = 0)

Begin a custom combo box

void EndCombo()

End the custom combo box

bool, int ListBox(label: string, current_item: int, items: table<string>, height_in_items: int = -1)

Create a list box

bool Selectable(label: string, selected: bool = false, flags: ImGuiSelectableFlags = 0, size_x: number = 0, size_y: number = 0)

Create a selectable item

bool TreeNode(label: string)

Create a tree node

bool TreeNodeEx(label: string, flags: ImGuiTreeNodeFlags = 0)

Create a tree node with flags

void TreePush(str_id: string)

Push tree indentation

void TreePop()

Pop tree indentation

bool CollapsingHeader(label: string, flags: ImGuiTreeNodeFlags = 0)

Create a collapsing header

bool BeginTabBar(str_id: string, flags: ImGuiTabBarFlags = 0)

Begin a tab bar

void EndTabBar()

End tab bar

bool BeginTabItem(label: string, flags: ImGuiTabItemFlags = 0)

Begin a tab item

void EndTabItem()

End tab item

bool BeginTable(str_id: string, columns: int, flags: ImGuiTableFlags = 0)

Begin a table

void EndTable()

End table

Usage example
void ImGui.EndTable()
void TableNextRow()

Move to next table row

Usage example
void ImGui.TableNextRow()
bool TableNextColumn()

Move to next table column

bool TableSetColumnIndex(column: int)

Set current column index

void TableSetupColumn(label: string, flags: ImGuiTableColumnFlags = 0)

Setup a table column

bool BeginPopup(str_id: string, flags: ImGuiWindowFlags = 0)

Begin a popup

bool BeginPopupModal(name: string, flags: ImGuiWindowFlags = 0)

Begin a modal popup

void EndPopup()

End popup

void OpenPopup(str_id: string, flags: ImGuiPopupFlags = 0)

Open a popup

void CloseCurrentPopup()

Close current popup

bool IsPopupOpen(str_id: string, flags: ImGuiPopupFlags = 0)

Check if popup is open

bool BeginMenuBar()

Begin menu bar

void EndMenuBar()

End menu bar

bool BeginMainMenuBar()

Begin main menu bar

void EndMainMenuBar()

End main menu bar

bool BeginMenu(label: string, enabled: bool = true)

Begin a menu

void EndMenu()

End menu

bool MenuItem(label: string, shortcut: string = nil, selected: bool = false, enabled: bool = true)

Create a menu item

void BeginTooltip()

Begin a tooltip

void EndTooltip()

End tooltip

void SetTooltip(text: string)

Set tooltip text

void Separator()

Draw a separator line

void SameLine(offset_from_start_x: number = 0.0, spacing: number = -1.0)

Put next widget on same line

void NewLine()

Force a new line

void Spacing()

Add vertical spacing

void Dummy(size_x: number, size_y: number)

Add invisible spacing

void Indent(indent_w: number = 0.0)

Increase indentation

void Unindent(indent_w: number = 0.0)

Decrease indentation

void Columns(count: int = 1, id: string = nil, border: bool = true)

Setup column layout (legacy)

void NextColumn()

Move to next column (legacy)

void Text(text: string)

Display text

void TextColored(r: number, g: number, b: number, a: number, text: string)

Display colored text

void TextDisabled(text: string)

Display grayed out text

void TextWrapped(text: string)

Display wrapped text

void BulletText(text: string)

Display text with bullet point

void LabelText(label: string, text: string)

Display label with text value

number, number GetDisplaySize()

Get screen display size

Usage example
number, number ImGui.GetDisplaySize()
number GetFrameRate()

Get current frame rate

Usage example
number ImGui.GetFrameRate()
number, number GetCursorPos()

Get cursor position within window

void SetCursorPos(x: number, y: number)

Set cursor position within window

number, number GetCursorScreenPos()

Get cursor position in screen space

void SetCursorScreenPos(x: number, y: number)

Set cursor position in screen space

number, number GetWindowPos()

Get window position

number, number GetWindowSize()

Get window size

void SetWindowPos(x: number, y: number, cond: ImGuiCond = 0)

Set window position

void SetWindowSize(x: number, y: number, cond: ImGuiCond = 0)

Set window size

number, number GetContentRegionAvail()

Get available content region

number, number CalcTextSize(text: string)

Calculate text dimensions

number, number GetItemRectMin()

Get last item min bounds

number, number GetItemRectMax()

Get last item max bounds

number, number GetItemRectSize()

Get last item size

number, number GetMousePos()

Get mouse position

bool IsMouseClicked(button: int = 0)

Check if mouse button was clicked

bool IsMouseDown(button: int = 0)

Check if mouse button is held

bool IsMouseReleased(button: int = 0)

Check if mouse button was released

bool IsMouseDoubleClicked(button: int = 0)

Check if mouse button was double-clicked

bool IsMouseHoveringRect(x1: number, y1: number, x2: number, y2: number, clip: bool = true)

Check if mouse is in rect

bool IsItemHovered(flags: ImGuiHoveredFlags = 0)

Check if last item is hovered

bool IsItemActive()

Check if last item is active

bool IsItemFocused()

Check if last item is focused

bool IsItemClicked(button: int = 0)

Check if last item was clicked

bool IsItemVisible()

Check if last item is visible

bool IsItemEdited()

Check if last item was edited

bool IsItemDeactivated()

Check if last item was deactivated

void PushStyleColor(idx: ImGuiCol, col: int)

Push a style color

void PopStyleColor(count: int = 1)

Pop style color(s)

void PushStyleVar(idx: ImGuiStyleVar, val: number)

Push a style variable (float)

void PopStyleVar(count: int = 1)

Pop style variable(s)

void PushItemWidth(width: number)

Push item width

void PopItemWidth()

Pop item width

void SetNextItemWidth(width: number)

Set next item width

void PushID(str_id: string)

Push an ID

void PopID()

Pop the ID

int GetID(str_id: string)

Get ID from string

number GetScrollX()

Get horizontal scroll position

number GetScrollY()

Get vertical scroll position

void SetScrollX(scroll_x: number)

Set horizontal scroll position

void SetScrollY(scroll_y: number)

Set vertical scroll position

void SetScrollHereX(center_ratio: number = 0.5)

Scroll to make current X visible

void SetScrollHereY(center_ratio: number = 0.5)

Scroll to make current Y visible

void AddCircle(number x, number y, number radius, int r, int g, int b, int a, int numSegments = 0, number thickness = 1.0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddCircle(number x, number y, number radius, int r, int g, int b, int a, int numSegments = 0, number thickness = 1.0)
void AddCircleFilled(number x, number y, number radius, int r, int g, int b, int a, int numSegments = 0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddCircleFilled(number x, number y, number radius, int r, int g, int b, int a, int numSegments = 0)
void AddImage(ImTextureID texture, number min_x, number min_y, number max_x, number max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, int color = 255 << 24 | 255 << 16 | 255 << 8 | 255)

min and max represent the upper-left and lower-right corners of the rectangle. uv_min and uv_max represent the normalized texture coordinates to use for those corners. Using (0,0)->(1,1) texture coordinates will generally display the entire texture.

Usage example
void ImGui.AddImage(ImTextureID texture, number min_x, number min_y, number max_x, number max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, int color = 255 << 24 | 255 << 16 | 255 << 8 | 255)
void AddImageQuad(ImTextureID texture, V2 p1, V2 p2, V2 p3, V2 p4, V2 uv1 = Vector2.New(0.0, 0.0), V2 uv2 = Vector2.New(1.0, 0.0), V2 uv3 = Vector2.New(1.0, 1.0), V2 uv4 = Vector2.New(0.0, 1.0), int alpha = 255)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddImageQuad(ImTextureID texture, V2 p1, V2 p2, V2 p3, V2 p4, V2 uv1 = Vector2.New(0.0, 0.0), V2 uv2 = Vector2.New(1.0, 0.0), V2 uv3 = Vector2.New(1.0, 1.0), V2 uv4 = Vector2.New(0.0, 1.0), int alpha = 255)
void AddImageRotated(ImTextureID texture, number center_x, number center_y, number width, number height, number angle, int alpha = 255)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddImageRotated(ImTextureID texture, number center_x, number center_y, number width, number height, number angle, int alpha = 255)
void AddImageRounded(ImTextureID texture, number min_x, number min_y, number max_x, number max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, int color = 255 << 24 | 255 << 16 | 255 << 8 | 255, number rounding = 16.0)

Same as AddImage with rounding.

Usage example
void ImGui.AddImageRounded(ImTextureID texture, number min_x, number min_y, number max_x, number max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, int color = 255 << 24 | 255 << 16 | 255 << 8 | 255, number rounding = 16.0)
void AddLine(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number thickness = 1.0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddLine(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number thickness = 1.0)
void AddRect(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number rounding = 1.0, int drawFlags = 0, number thickness = 1.0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddRect(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number rounding = 1.0, int drawFlags = 0, number thickness = 1.0)
void AddRectFilled(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number rounding = 1.0, int drawFlags = 0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddRectFilled(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number rounding = 1.0, int drawFlags = 0)
void ImGui.AddRectFilledMultiColor(number x1, number y1, number x2, number y2, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left) AddRectFilledMultiColor(0, 0, 100, 100, ColorConvertRGBAToU32({255, 255, 255, 255}), ColorConvertRGBAToU32({255, 255, 255, 255}), ColorConvertRGBAToU32({0, 0, 0, 255}), ColorConvertRGBAToU32({0, 0, 0, 255}))

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddRectFilledMultiColor(number x1, number y1, number x2, number y2, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left)
ImGui.AddRectFilledMultiColor(0, 0, 100, 100, ColorConvertRGBAToU32({255, 255, 255, 255}), ColorConvertRGBAToU32({255, 255, 255, 255}), ColorConvertRGBAToU32({0, 0, 0, 255}), ColorConvertRGBAToU32({0, 0, 0, 255}))
void AddText(number x, number y, strig text, int r, int g, int b, int a)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddText(number x, number y, strig text, int r, int g, int b, int a)
void AddTriangle(number x1, number y1, number x2, number y2, number x3, number y3, int r, int g, int b, int a, number thickness = 1.0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddTriangle(number x1, number y1, number x2, number y2, number x3, number y3, int r, int g, int b, int a, number thickness = 1.0)
void AddTriangleFilled(number x1, number y1, number x2, number y2, number x3, number y3, int r, int g, int b, int a)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddTriangleFilled(number x1, number y1, number x2, number y2, number x3, number y3, int r, int g, int b, int a)
AlignTextToFramePadding()

Member available through Scooby's native Lua API.

ArrowButton()

Member available through Scooby's native Lua API.

Begin()

Member available through Scooby's native Lua API.

BeginChild()

Member available through Scooby's native Lua API.

BeginChildFrame()

Member available through Scooby's native Lua API.

BeginCombo()

Member available through Scooby's native Lua API.

void BeginDisabled()

Member available through Scooby's native Lua API.

Usage example
void ImGui.BeginDisabled()
BeginGroup()

Member available through Scooby's native Lua API.

BeginMainMenuBar()

Member available through Scooby's native Lua API.

BeginMenu()

Member available through Scooby's native Lua API.

BeginMenuBar()

Member available through Scooby's native Lua API.

BeginPopup()

Member available through Scooby's native Lua API.

BeginPopupContextItem()

Member available through Scooby's native Lua API.

BeginPopupContextVoid()

Member available through Scooby's native Lua API.

BeginPopupContextWindow()

Member available through Scooby's native Lua API.

BeginPopupModal()

Member available through Scooby's native Lua API.

BeginTabBar()

Member available through Scooby's native Lua API.

BeginTabItem()

Member available through Scooby's native Lua API.

bool BeginTable(string strId, int columns, ImGuiTableFlags flags)

Member available through Scooby's native Lua API.

Usage example
bool ImGui.BeginTable(string strId, int columns, ImGuiTableFlags flags)
BeginTooltip()

Member available through Scooby's native Lua API.

void BgAddCircle(number x, number y, number radius, int r, int g, int b, int a, int numSegments = 0, number thickness = 1.0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddCircle(number x, number y, number radius, int r, int g, int b, int a, int numSegments = 0, number thickness = 1.0)
void BgAddCircleFilled(number x, number y, number radius, int r, int g, int b, int a, int numSegments = 0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddCircleFilled(number x, number y, number radius, int r, int g, int b, int a, int numSegments = 0)
void BgAddImage(ImTextureID texture, number min_x, number min_y, number max_x, number max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, int color = 255 << 24 | 255 << 16 | 255 << 8 | 255)

min and max represent the upper-left and lower-right corners of the rectangle. uv_min and uv_max represent the normalized texture coordinates to use for those corners. Using (0,0)->(1,1) texture coordinates will generally display the entire texture.

Usage example
void ImGui.BgAddImage(ImTextureID texture, number min_x, number min_y, number max_x, number max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, int color = 255 << 24 | 255 << 16 | 255 << 8 | 255)
void BgAddImageQuad(ImTextureID texture, V2 p1, V2 p2, V2 p3, V2 p4, V2 uv1 = Vector2.New(0.0, 0.0), V2 uv2 = Vector2.New(1.0, 0.0), V2 uv3 = Vector2.New(1.0, 1.0), V2 uv4 = Vector2.New(0.0, 1.0), int alpha = 255)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddImageQuad(ImTextureID texture, V2 p1, V2 p2, V2 p3, V2 p4, V2 uv1 = Vector2.New(0.0, 0.0), V2 uv2 = Vector2.New(1.0, 0.0), V2 uv3 = Vector2.New(1.0, 1.0), V2 uv4 = Vector2.New(0.0, 1.0), int alpha = 255)
void BgAddImageRotated(ImTextureID texture, number center_x, number center_y, number width, number height, number angle, int alpha = 255)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddImageRotated(ImTextureID texture, number center_x, number center_y, number width, number height, number angle, int alpha = 255)
void BgAddImageRounded(ImTextureID texture, number min_x, number min_y, number max_x, number max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, int color = 255 << 24 | 255 << 16 | 255 << 8 | 255, number rounding = 16.0)

Same as AddImage with rounding.

Usage example
void ImGui.BgAddImageRounded(ImTextureID texture, number min_x, number min_y, number max_x, number max_y, number uv_min_x = 0.0, number uv_min_y = 0.0, number uv_max_x = 1.0, number uv_max_y = 1.0, int color = 255 << 24 | 255 << 16 | 255 << 8 | 255, number rounding = 16.0)
void BgAddLine(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number thickness = 1.0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddLine(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number thickness = 1.0)
void BgAddRect(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number rounding = 1.0, int drawFlags = 0, number thickness = 1.0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddRect(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number rounding = 1.0, int drawFlags = 0, number thickness = 1.0)
void BgAddRectFilled(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number rounding = 1.0, int drawFlags = 0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddRectFilled(number x1, number y1, number x2, number y2, int r, int g, int b, int a, number rounding = 1.0, int drawFlags = 0)
void ImGui.BgAddRectFilledMultiColor(number x1, number y1, number x2, number y2, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left) BgAddRectFilledMultiColor(0, 0, 100, 100, ColorConvertRGBAToU32({255, 255, 255, 255}), ColorConvertRGBAToU32({255, 255, 255, 255}), ColorConvertRGBAToU32({0, 0, 0, 255}), ColorConvertRGBAToU32({0, 0, 0, 255}))

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddRectFilledMultiColor(number x1, number y1, number x2, number y2, int col_upr_left, int col_upr_right, int col_bot_right, int col_bot_left)
ImGui.BgAddRectFilledMultiColor(0, 0, 100, 100, ColorConvertRGBAToU32({255, 255, 255, 255}), ColorConvertRGBAToU32({255, 255, 255, 255}), ColorConvertRGBAToU32({0, 0, 0, 255}), ColorConvertRGBAToU32({0, 0, 0, 255}))
void BgAddText(number x, number y, strig text, int r, int g, int b, int a)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddText(number x, number y, strig text, int r, int g, int b, int a)
void BgAddTriangle(number x1, number y1, number x2, number y2, number x3, number y3, int r, int g, int b, int a, number thickness = 1.0)

Member available through Scooby's native Lua API.

Usage example
void ImGui.BgAddTriangle(number x1, number y1, number x2, number y2, number x3, number y3, int r, int g, int b, int a, number thickness = 1.0)
void BgAddTriangleFilled(number x1, number y1, number x2, number y2, number x3, number y3, int r, int g, int b, int a)

Member available through Scooby's native Lua API.

Usage example
void ImGui.AddTriangleFilled(number x1, number y1, number x2, number y2, number x3, number y3, int r, int g, int b, int a)
Bullet()

Member available through Scooby's native Lua API.

BulletText()

Member available through Scooby's native Lua API.

Button()

Member available through Scooby's native Lua API.

CalcItemWidth()

Member available through Scooby's native Lua API.

CalcTextSize()

Member available through Scooby's native Lua API.

CaptureKeyboardFromApp()

Member available through Scooby's native Lua API.

CaptureMouseFromApp()

Member available through Scooby's native Lua API.

Checkbox()

Member available through Scooby's native Lua API.

ClearActiveId()

Member available through Scooby's native Lua API.

CloseCurrentPopup()

Member available through Scooby's native Lua API.

CollapsingHeader()

Member available through Scooby's native Lua API.

int ColorConvertFloat4ToU32(table<int, number> color)

Converts a float 4 into a packed color.

Usage example
int ImGui.ColorConvertFloat4ToU32(table<int, number> color)
ColorConvertHSVtoRGB()

Member available through Scooby's native Lua API.

int ColorConvertRGBAToU32(table<int, int> rgba)

Converts an rgba table to a packed color.

Usage example
int ImGui.ColorConvertRGBAToU32(table<int, int> rgba)
ColorConvertRGBtoHSV()

Member available through Scooby's native Lua API.

table<int, number> ColorConvertU32ToFloat4(int color)

Converts a packed color into a float 4.

Usage example
table<int, number> ImGui.ColorConvertU32ToFloat4(int color)
ColorEdit3()

Member available through Scooby's native Lua API.

ColorEdit4()

Member available through Scooby's native Lua API.

ColorPicker3()

Member available through Scooby's native Lua API.

ColorPicker4()

Member available through Scooby's native Lua API.

Columns()

Member available through Scooby's native Lua API.

Combo()

Member available through Scooby's native Lua API.

DragFloat()

Member available through Scooby's native Lua API.

DragFloat2()

Member available through Scooby's native Lua API.

DragFloat3()

Member available through Scooby's native Lua API.

DragFloat4()

Member available through Scooby's native Lua API.

DragInt()

Member available through Scooby's native Lua API.

DragInt2()

Member available through Scooby's native Lua API.

DragInt3()

Member available through Scooby's native Lua API.

DragInt4()

Member available through Scooby's native Lua API.

Dummy()

Member available through Scooby's native Lua API.

End()

Member available through Scooby's native Lua API.

EndChild()

Member available through Scooby's native Lua API.

EndChildFrame()

Member available through Scooby's native Lua API.

EndCombo()

Member available through Scooby's native Lua API.

void EndDisabled()

Member available through Scooby's native Lua API.

Usage example
void ImGui.EndDisabled()
EndGroup()

Member available through Scooby's native Lua API.

EndMainMenuBar()

Member available through Scooby's native Lua API.

EndMenu()

Member available through Scooby's native Lua API.

EndMenuBar()

Member available through Scooby's native Lua API.

EndPopup()

Member available through Scooby's native Lua API.

EndTabBar()

Member available through Scooby's native Lua API.

EndTabItem()

Member available through Scooby's native Lua API.

EndTooltip()

Member available through Scooby's native Lua API.

GetClipboardText()

Member available through Scooby's native Lua API.

GetColorU32()

Member available through Scooby's native Lua API.

GetColumnIndex()

Member available through Scooby's native Lua API.

GetColumnOffset()

Member available through Scooby's native Lua API.

GetColumnWidth()

Member available through Scooby's native Lua API.

GetColumnsCount()

Member available through Scooby's native Lua API.

GetContentRegionAvail()

Member available through Scooby's native Lua API.

GetContentRegionMax()

Member available through Scooby's native Lua API.

GetCursorPos()

Member available through Scooby's native Lua API.

GetCursorPosX()

Member available through Scooby's native Lua API.

GetCursorPosY()

Member available through Scooby's native Lua API.

GetCursorScreenPos()

Member available through Scooby's native Lua API.

GetCursorStartPos()

Member available through Scooby's native Lua API.

GetFont()

Member available through Scooby's native Lua API.

GetFontSize()

Member available through Scooby's native Lua API.

GetFontTexUvWhitePixel()

Member available through Scooby's native Lua API.

GetFrameCount()

Member available through Scooby's native Lua API.

GetFrameHeight()

Member available through Scooby's native Lua API.

GetFrameHeightWithSpacing()

Member available through Scooby's native Lua API.

GetID()

Member available through Scooby's native Lua API.

GetItemRectMax()

Member available through Scooby's native Lua API.

GetItemRectMin()

Member available through Scooby's native Lua API.

GetItemRectSize()

Member available through Scooby's native Lua API.

GetMouseCursor()

Member available through Scooby's native Lua API.

GetMouseDragDelta()

Member available through Scooby's native Lua API.

GetMousePos()

Member available through Scooby's native Lua API.

GetMousePosOnOpeningCurrentPopup()

Member available through Scooby's native Lua API.

GetScrollMaxX()

Member available through Scooby's native Lua API.

GetScrollMaxY()

Member available through Scooby's native Lua API.

GetScrollX()

Member available through Scooby's native Lua API.

GetScrollY()

Member available through Scooby's native Lua API.

GetStyleColorName()

Member available through Scooby's native Lua API.

GetStyleColorVec4()

Member available through Scooby's native Lua API.

GetTextLineHeight()

Member available through Scooby's native Lua API.

GetTextLineHeightWithSpacing()

Member available through Scooby's native Lua API.

GetTime()

Member available through Scooby's native Lua API.

GetTreeNodeToLabelSpacing()

Member available through Scooby's native Lua API.

GetWindowContentRegionMax()

Member available through Scooby's native Lua API.

GetWindowContentRegionMin()

Member available through Scooby's native Lua API.

GetWindowContentRegionWidth()

Member available through Scooby's native Lua API.

GetWindowDpiScale()

Member available through Scooby's native Lua API.

GetWindowHeight()

Member available through Scooby's native Lua API.

GetWindowPos()

Member available through Scooby's native Lua API.

GetWindowSize()

Member available through Scooby's native Lua API.

GetWindowWidth()

Member available through Scooby's native Lua API.

Indent()

Member available through Scooby's native Lua API.

InputDouble()

Member available through Scooby's native Lua API.

InputFloat()

Member available through Scooby's native Lua API.

InputFloat2()

Member available through Scooby's native Lua API.

InputFloat3()

Member available through Scooby's native Lua API.

InputFloat4()

Member available through Scooby's native Lua API.

InputInt()

Member available through Scooby's native Lua API.

InputInt2()

Member available through Scooby's native Lua API.

InputInt3()

Member available through Scooby's native Lua API.

InputInt4()

Member available through Scooby's native Lua API.

InputText()

Member available through Scooby's native Lua API.

InputTextMultiline()

Member available through Scooby's native Lua API.

InputTextWithHint()

Member available through Scooby's native Lua API.

InvisibleButton()

Member available through Scooby's native Lua API.

IsAnyItemActive()

Member available through Scooby's native Lua API.

IsAnyItemFocused()

Member available through Scooby's native Lua API.

IsAnyItemHovered()

Member available through Scooby's native Lua API.

IsAnyMouseDown()

Member available through Scooby's native Lua API.

IsItemActivated()

Member available through Scooby's native Lua API.

IsItemActive()

Member available through Scooby's native Lua API.

IsItemClicked()

Member available through Scooby's native Lua API.

IsItemDeactivated()

Member available through Scooby's native Lua API.

IsItemDeactivatedAfterEdit()

Member available through Scooby's native Lua API.

IsItemEdited()

Member available through Scooby's native Lua API.

IsItemFocused()

Member available through Scooby's native Lua API.

IsItemHovered()

Member available through Scooby's native Lua API.

IsItemToggledOpen()

Member available through Scooby's native Lua API.

IsItemVisible()

Member available through Scooby's native Lua API.

IsKeyDown()

Member available through Scooby's native Lua API.

IsKeyPressed()

Member available through Scooby's native Lua API.

IsKeyReleased()

Member available through Scooby's native Lua API.

IsMouseClicked()

Member available through Scooby's native Lua API.

IsMouseDoubleClicked()

Member available through Scooby's native Lua API.

IsMouseDown()

Member available through Scooby's native Lua API.

IsMouseDragging()

Member available through Scooby's native Lua API.

IsMouseHoveringRect()

Member available through Scooby's native Lua API.

IsMouseReleased()

Member available through Scooby's native Lua API.

IsPopupOpen()

Member available through Scooby's native Lua API.

IsRectVisible()

Member available through Scooby's native Lua API.

IsWindowAppearing()

Member available through Scooby's native Lua API.

IsWindowCollapsed()

Member available through Scooby's native Lua API.

IsWindowFocused()

Member available through Scooby's native Lua API.

IsWindowHovered()

Member available through Scooby's native Lua API.

LabelText()

Member available through Scooby's native Lua API.

ListBox()

Member available through Scooby's native Lua API.

ListBoxFooter()

Member available through Scooby's native Lua API.

ListBoxHeader()

Member available through Scooby's native Lua API.

LogButtons()

Member available through Scooby's native Lua API.

LogFinish()

Member available through Scooby's native Lua API.

LogText()

Member available through Scooby's native Lua API.

LogToClipboard()

Member available through Scooby's native Lua API.

LogToFile()

Member available through Scooby's native Lua API.

LogToTTY()

Member available through Scooby's native Lua API.

MenuItem()

Member available through Scooby's native Lua API.

NewLine()

Member available through Scooby's native Lua API.

NextColumn()

Member available through Scooby's native Lua API.

OpenPopup()

Member available through Scooby's native Lua API.

OpenPopupOnItemClick()

Member available through Scooby's native Lua API.

PopAllowKeyboardFocus()

Member available through Scooby's native Lua API.

PopButtonRepeat()

Member available through Scooby's native Lua API.

PopClipRect()

Member available through Scooby's native Lua API.

PopFont()

Member available through Scooby's native Lua API.

PopID()

Member available through Scooby's native Lua API.

PopItemWidth()

Member available through Scooby's native Lua API.

PopStyleColor()

Member available through Scooby's native Lua API.

PopStyleVar()

Member available through Scooby's native Lua API.

PopTextWrapPos()

Member available through Scooby's native Lua API.

ProgressBar()

Member available through Scooby's native Lua API.

PushAllowKeyboardFocus()

Member available through Scooby's native Lua API.

PushButtonRepeat()

Member available through Scooby's native Lua API.

PushClipRect()

Member available through Scooby's native Lua API.

PushFont()

Member available through Scooby's native Lua API.

PushID()

Member available through Scooby's native Lua API.

PushItemWidth()

Member available through Scooby's native Lua API.

PushStyleColor()

Member available through Scooby's native Lua API.

PushStyleVar()

Member available through Scooby's native Lua API.

PushTextWrapPos()

Member available through Scooby's native Lua API.

RadioButton()

Member available through Scooby's native Lua API.

ResetMouseDragDelta()

Member available through Scooby's native Lua API.

SameLine()

Member available through Scooby's native Lua API.

Selectable()

Member available through Scooby's native Lua API.

Separator()

Member available through Scooby's native Lua API.

SetClipboardText()

Member available through Scooby's native Lua API.

SetColumnOffset()

Member available through Scooby's native Lua API.

SetColumnWidth()

Member available through Scooby's native Lua API.

SetCursorPos()

Member available through Scooby's native Lua API.

SetCursorPosX()

Member available through Scooby's native Lua API.

SetCursorPosY()

Member available through Scooby's native Lua API.

SetCursorScreenPos()

Member available through Scooby's native Lua API.

SetItemAllowOverlap()

Member available through Scooby's native Lua API.

SetItemDefaultFocus()

Member available through Scooby's native Lua API.

SetKeyboardFocusHere()

Member available through Scooby's native Lua API.

SetMouseCursor()

Member available through Scooby's native Lua API.

SetNextItemOpen()

Member available through Scooby's native Lua API.

SetNextItemWidth()

Member available through Scooby's native Lua API.

SetNextWindowBgAlpha()

Member available through Scooby's native Lua API.

SetNextWindowCollapsed()

Member available through Scooby's native Lua API.

SetNextWindowContentSize()

Member available through Scooby's native Lua API.

SetNextWindowFocus()

Member available through Scooby's native Lua API.

SetNextWindowPos()

Member available through Scooby's native Lua API.

SetNextWindowSize()

Member available through Scooby's native Lua API.

SetNextWindowSizeConstraints()

Member available through Scooby's native Lua API.

SetScrollFromPosX()

Member available through Scooby's native Lua API.

SetScrollFromPosY()

Member available through Scooby's native Lua API.

SetScrollHereX()

Member available through Scooby's native Lua API.

SetScrollHereY()

Member available through Scooby's native Lua API.

SetScrollX()

Member available through Scooby's native Lua API.

SetScrollY()

Member available through Scooby's native Lua API.

SetTabItemClosed()

Member available through Scooby's native Lua API.

SetTooltip()

Member available through Scooby's native Lua API.

SetWindowCollapsed()

Member available through Scooby's native Lua API.

SetWindowFocus()

Member available through Scooby's native Lua API.

SetWindowFontScale()

Member available through Scooby's native Lua API.

SetWindowPos()

Member available through Scooby's native Lua API.

SetWindowSize()

Member available through Scooby's native Lua API.

SliderAngle()

Member available through Scooby's native Lua API.

SliderFloat()

Member available through Scooby's native Lua API.

SliderFloat2()

Member available through Scooby's native Lua API.

SliderFloat3()

Member available through Scooby's native Lua API.

SliderFloat4()

Member available through Scooby's native Lua API.

SliderInt()

Member available through Scooby's native Lua API.

SliderInt2()

Member available through Scooby's native Lua API.

SliderInt3()

Member available through Scooby's native Lua API.

SliderInt4()

Member available through Scooby's native Lua API.

SmallButton()

Member available through Scooby's native Lua API.

Spacing()

Member available through Scooby's native Lua API.

void TableNextColumn()

Member available through Scooby's native Lua API.

Usage example
void ImGui.TableNextColumn()
bool TableSetColumnIndex(int column)

Member available through Scooby's native Lua API.

Usage example
bool ImGui.TableSetColumnIndex(int column)
void TableSetupColumn(string strId, ImGuiTableColumnFlags flags)

Member available through Scooby's native Lua API.

Usage example
void ImGui.TableSetupColumn(string strId, ImGuiTableColumnFlags flags)
Text()

Member available through Scooby's native Lua API.

TextColored()

Member available through Scooby's native Lua API.

TextDisabled()

Member available through Scooby's native Lua API.

TextUnformatted()

Member available through Scooby's native Lua API.

TextWrapped()

Member available through Scooby's native Lua API.

TreeNode()

Member available through Scooby's native Lua API.

TreeNodeEx()

Member available through Scooby's native Lua API.

TreePop()

Member available through Scooby's native Lua API.

TreePush()

Member available through Scooby's native Lua API.

Unindent()

Member available through Scooby's native Lua API.

VSliderFloat()

Member available through Scooby's native Lua API.

VSliderInt()

Member available through Scooby's native Lua API.

Value()

Member available through Scooby's native Lua API.

ImGuiCol

ImGui color indices for styling

int Text(0)

Text color

int TextDisabled(1)

Disabled text color

int WindowBg(2)

Window background color

int ChildBg(3)

Child window background

int PopupBg(4)

Popup background color

int Border(5)

Border color

int BorderShadow(6)

Border shadow color

int FrameBg(7)

Frame background color

int FrameBgHovered(8)

Frame hovered background

int FrameBgActive(9)

Frame active background

int TitleBg(10)

Title bar background

int TitleBgActive(11)

Active title bar background

int TitleBgCollapsed(12)

Collapsed title background

int MenuBarBg(13)

Menu bar background

int ScrollbarBg(14)

Scrollbar background

int ScrollbarGrab(15)

Scrollbar grab color

int ScrollbarGrabHovered(16)

Scrollbar grab hovered

int ScrollbarGrabActive(17)

Scrollbar grab active

int CheckMark(18)

Checkmark color

int SliderGrab(19)

Slider grab color

int SliderGrabActive(20)

Slider grab active

int Button(21)

Button color

int ButtonHovered(22)

Button hovered color

int ButtonActive(23)

Button active color

int Header(24)

Header color

int HeaderHovered(25)

Header hovered color

int HeaderActive(26)

Header active color

int Separator(27)

Separator color

int SeparatorHovered(28)

Separator hovered

int SeparatorActive(29)

Separator active

int ResizeGrip(30)

Resize grip color

int ResizeGripHovered(31)

Resize grip hovered

int ResizeGripActive(32)

Resize grip active

int Tab(33)

Tab color

int TabHovered(34)

Tab hovered color

int TabActive(35)

Tab active color

int TabUnfocused(36)

Tab unfocused color

int TabUnfocusedActive(37)

Tab unfocused active

int PlotLines(38)

Plot lines color

int PlotLinesHovered(39)

Plot lines hovered

int PlotHistogram(40)

Plot histogram color

int PlotHistogramHovered(41)

Plot histogram hovered

int TextSelectedBg(42)

Text selection background

int DragDropTarget(43)

Drag drop target color

int NavHighlight(44)

Navigation highlight

int NavWindowingHighlight(45)

Windowing highlight

int NavWindowingDimBg(46)

Windowing dim background

int ModalWindowDimBg(47)

Modal dim background

Border()

Member available through Scooby's native Lua API.

BorderShadow()

Member available through Scooby's native Lua API.

Button()

Member available through Scooby's native Lua API.

ButtonActive()

Member available through Scooby's native Lua API.

ButtonHovered()

Member available through Scooby's native Lua API.

COUNT()

Member available through Scooby's native Lua API.

CheckMark()

Member available through Scooby's native Lua API.

ChildBg()

Member available through Scooby's native Lua API.

DragDropTarget()

Member available through Scooby's native Lua API.

FrameBg()

Member available through Scooby's native Lua API.

FrameBgActive()

Member available through Scooby's native Lua API.

FrameBgHovered()

Member available through Scooby's native Lua API.

Header()

Member available through Scooby's native Lua API.

HeaderActive()

Member available through Scooby's native Lua API.

HeaderHovered()

Member available through Scooby's native Lua API.

MenuBarBg()

Member available through Scooby's native Lua API.

ModalWindowDarkening()

Member available through Scooby's native Lua API.

ModalWindowDimBg()

Member available through Scooby's native Lua API.

NavHighlight()

Member available through Scooby's native Lua API.

NavWindowingDimBg()

Member available through Scooby's native Lua API.

NavWindowingHighlight()

Member available through Scooby's native Lua API.

PlotHistogram()

Member available through Scooby's native Lua API.

PlotHistogramHovered()

Member available through Scooby's native Lua API.

PlotLines()

Member available through Scooby's native Lua API.

PlotLinesHovered()

Member available through Scooby's native Lua API.

PopupBg()

Member available through Scooby's native Lua API.

ResizeGrip()

Member available through Scooby's native Lua API.

ResizeGripActive()

Member available through Scooby's native Lua API.

ResizeGripHovered()

Member available through Scooby's native Lua API.

ScrollbarBg()

Member available through Scooby's native Lua API.

ScrollbarGrab()

Member available through Scooby's native Lua API.

ScrollbarGrabActive()

Member available through Scooby's native Lua API.

ScrollbarGrabHovered()

Member available through Scooby's native Lua API.

Separator()

Member available through Scooby's native Lua API.

SeparatorActive()

Member available through Scooby's native Lua API.

SeparatorHovered()

Member available through Scooby's native Lua API.

SliderGrab()

Member available through Scooby's native Lua API.

SliderGrabActive()

Member available through Scooby's native Lua API.

Tab()

Member available through Scooby's native Lua API.

TabActive()

Member available through Scooby's native Lua API.

TabHovered()

Member available through Scooby's native Lua API.

TabUnfocused()

Member available through Scooby's native Lua API.

TabUnfocusedActive()

Member available through Scooby's native Lua API.

Text()

Member available through Scooby's native Lua API.

TextDisabled()

Member available through Scooby's native Lua API.

TextSelectedBg()

Member available through Scooby's native Lua API.

TitleBg()

Member available through Scooby's native Lua API.

TitleBgActive()

Member available through Scooby's native Lua API.

TitleBgCollapsed()

Member available through Scooby's native Lua API.

WindowBg()

Member available through Scooby's native Lua API.

ImGuiDir

ImGui direction constants

int None(-1)

No direction

int Left(0)

Left direction

int Right(1)

Right direction

int Up(2)

Up direction

int Down(3)

Down direction

COUNT()

Member available through Scooby's native Lua API.

Down()

Member available through Scooby's native Lua API.

Left()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

Right()

Member available through Scooby's native Lua API.

Up()

Member available through Scooby's native Lua API.

ImGuiColorEditFlags

Flags for color editor widgets

int None(0)

No special flags

int NoAlpha(1 << 1)

Ignore alpha (read 3 components)

int NoPicker(1 << 2)

Disable picker when clicking

int NoOptions(1 << 3)

Disable options menu

int NoSmallPreview(1 << 4)

Disable small preview square

int NoInputs(1 << 5)

Disable inputs sliders/text

int NoTooltip(1 << 6)

Disable tooltip on hover

int NoLabel(1 << 7)

Disable display of label

int NoSidePreview(1 << 8)

Disable side color preview

int NoDragDrop(1 << 9)

Disable drag and drop

int NoBorder(1 << 10)

Disable border around widget

int AlphaBar(1 << 16)

Show vertical alpha bar

int AlphaPreview(1 << 17)

Preview as checkerboard

int AlphaPreviewHalf(1 << 18)

Half checkerboard for alpha

int HDR(1 << 19)

Allow 0.0f to >1.0f values

int DisplayRGB(1 << 20)

Display as RGB

int DisplayHSV(1 << 21)

Display as HSV

int DisplayHex(1 << 22)

Display as hex

int Uint8(1 << 23)

Display values as 0-255

int Float(1 << 24)

Display values as 0.0-1.0

int PickerHueBar(1 << 25)

Use bar for hue picker

int PickerHueWheel(1 << 26)

Use wheel for hue picker

int InputRGB(1 << 27)

Input as RGB values

int InputHSV(1 << 28)

Input as HSV values

AlphaBar()

Member available through Scooby's native Lua API.

AlphaPreview()

Member available through Scooby's native Lua API.

AlphaPreviewHalf()

Member available through Scooby's native Lua API.

DataTypeMask_()

Member available through Scooby's native Lua API.

DefaultOptions_()

Member available through Scooby's native Lua API.

DisplayHSV()

Member available through Scooby's native Lua API.

DisplayHex()

Member available through Scooby's native Lua API.

DisplayMask_()

Member available through Scooby's native Lua API.

DisplayRGB()

Member available through Scooby's native Lua API.

Float()

Member available through Scooby's native Lua API.

HDR()

Member available through Scooby's native Lua API.

InputHSV()

Member available through Scooby's native Lua API.

InputMask_()

Member available through Scooby's native Lua API.

InputRGB()

Member available through Scooby's native Lua API.

NoAlpha()

Member available through Scooby's native Lua API.

NoBorder()

Member available through Scooby's native Lua API.

NoDragDrop()

Member available through Scooby's native Lua API.

NoInputs()

Member available through Scooby's native Lua API.

NoLabel()

Member available through Scooby's native Lua API.

NoOptions()

Member available through Scooby's native Lua API.

NoPicker()

Member available through Scooby's native Lua API.

NoSidePreview()

Member available through Scooby's native Lua API.

NoSmallPreview()

Member available through Scooby's native Lua API.

NoTooltip()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

PickerHueBar()

Member available through Scooby's native Lua API.

PickerHueWheel()

Member available through Scooby's native Lua API.

PickerMask_()

Member available through Scooby's native Lua API.

Uint8()

Member available through Scooby's native Lua API.

ImGuiComboFlags

Flags for combo box widgets

int None(0)

No special flags

int PopupAlignLeft(1 << 0)

Align popup to left

int HeightSmall(1 << 1)

Small popup height

int HeightRegular(1 << 2)

Regular popup height

int HeightLarge(1 << 3)

Large popup height

int HeightLargest(1 << 4)

Largest popup height

int NoArrowButton(1 << 5)

Hide arrow button

int NoPreview(1 << 6)

Hide preview

HeightLarge()

Member available through Scooby's native Lua API.

HeightLargest()

Member available through Scooby's native Lua API.

HeightMask()

Member available through Scooby's native Lua API.

HeightRegular()

Member available through Scooby's native Lua API.

HeightSmall()

Member available through Scooby's native Lua API.

NoArrowButton()

Member available through Scooby's native Lua API.

NoPreview()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

PopupAlignLeft()

Member available through Scooby's native Lua API.

ImGuiCond

Condition flags for set functions

int None(0)

No condition (always)

int Always(1 << 0)

Set unconditionally

int Once(1 << 1)

Set once per runtime session

int FirstUseEver(1 << 2)

Set if never used before

int Appearing(1 << 3)

Set when appearing

Always()

Member available through Scooby's native Lua API.

Appearing()

Member available through Scooby's native Lua API.

FirstUseEver()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

Once()

Member available through Scooby's native Lua API.

ImGuiInputTextFlags

Flags for input text widgets

int None(0)

No special flags

int CharsDecimal(1 << 0)

Allow 0123456789.+-*/

int CharsHexadecimal(1 << 1)

Allow 0123456789ABCDEFabcdef

int CharsUppercase(1 << 2)

Turn lowercase to uppercase

int CharsNoBlank(1 << 3)

Filter out spaces and tabs

int AutoSelectAll(1 << 4)

Select all on focus

int EnterReturnsTrue(1 << 5)

Return true on enter key

int AllowTabInput(1 << 10)

Allow tab input

int CtrlEnterForNewLine(1 << 11)

Ctrl+Enter for new line

int NoHorizontalScroll(1 << 12)

Disable horizontal scroll

int AlwaysOverwrite(1 << 13)

Overwrite mode

int ReadOnly(1 << 14)

Read-only mode

int Password(1 << 15)

Password mode (show asterisks)

int NoUndoRedo(1 << 16)

Disable undo/redo

int CharsScientific(1 << 17)

Allow 0123456789.+-*/eE

AllowTabInput()

Member available through Scooby's native Lua API.

AlwaysOverwrite()

Member available through Scooby's native Lua API.

AutoSelectAll()

Member available through Scooby's native Lua API.

CallbackAlways()

Member available through Scooby's native Lua API.

CallbackCharFilter()

Member available through Scooby's native Lua API.

CallbackCompletion()

Member available through Scooby's native Lua API.

CallbackEdit()

Member available through Scooby's native Lua API.

CallbackHistory()

Member available through Scooby's native Lua API.

CallbackResize()

Member available through Scooby's native Lua API.

CharsDecimal()

Member available through Scooby's native Lua API.

CharsHexadecimal()

Member available through Scooby's native Lua API.

CharsNoBlank()

Member available through Scooby's native Lua API.

CharsScientific()

Member available through Scooby's native Lua API.

CharsUppercase()

Member available through Scooby's native Lua API.

CtrlEnterForNewLine()

Member available through Scooby's native Lua API.

EnterReturnsTrue()

Member available through Scooby's native Lua API.

MergedItem()

Member available through Scooby's native Lua API.

Multiline()

Member available through Scooby's native Lua API.

NoHorizontalScroll()

Member available through Scooby's native Lua API.

NoUndoRedo()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

Password()

Member available through Scooby's native Lua API.

ReadOnly()

Member available through Scooby's native Lua API.

ImGuiWindowFlags

Flags for window creation

int None(0)

No special flags

int NoTitleBar(1 << 0)

Disable title bar

int NoResize(1 << 1)

Disable resize grips

int NoMove(1 << 2)

Disable window move

int NoScrollbar(1 << 3)

Disable scrollbar

int NoScrollWithMouse(1 << 4)

Disable mouse scroll

int NoCollapse(1 << 5)

Disable collapse button

int AlwaysAutoResize(1 << 6)

Auto-resize to content

int NoBackground(1 << 7)

Disable background

int NoSavedSettings(1 << 8)

Don't save settings

int NoMouseInputs(1 << 9)

Disable mouse inputs

int MenuBar(1 << 10)

Has a menu bar

int HorizontalScrollbar(1 << 11)

Allow horizontal scroll

int NoFocusOnAppearing(1 << 12)

No focus on appear

int NoBringToFrontOnFocus(1 << 13)

No bring to front

int AlwaysVerticalScrollbar(1 << 14)

Always show V scrollbar

int AlwaysHorizontalScrollbar(1 << 15)

Always show H scrollbar

int AlwaysUseWindowPadding(1 << 16)

Use window padding

int NoNavInputs(1 << 18)

Disable navigation inputs

int NoNavFocus(1 << 19)

Disable navigation focus

int NoNav(NoNavInputs | NoNavFocus)

Disable all navigation

int NoDecoration(NoTitleBar | NoResize | NoScrollbar | NoCollapse)

No decorations

int NoInputs(NoMouseInputs | NoNavInputs | NoNavFocus)

No inputs

AlwaysAutoResize()

Member available through Scooby's native Lua API.

AlwaysHorizontalScrollbar()

Member available through Scooby's native Lua API.

AlwaysUseWindowPadding()

Member available through Scooby's native Lua API.

AlwaysVerticalScrollbar()

Member available through Scooby's native Lua API.

ChildMenu()

Member available through Scooby's native Lua API.

ChildWindow()

Member available through Scooby's native Lua API.

HorizontalScrollbar()

Member available through Scooby's native Lua API.

MenuBar()

Member available through Scooby's native Lua API.

Modal()

Member available through Scooby's native Lua API.

NavFlattened()

Member available through Scooby's native Lua API.

NoBackground()

Member available through Scooby's native Lua API.

NoBringToFrontOnFocus()

Member available through Scooby's native Lua API.

NoCollapse()

Member available through Scooby's native Lua API.

NoDecoration()

Member available through Scooby's native Lua API.

NoFocusOnAppearing()

Member available through Scooby's native Lua API.

NoInputs()

Member available through Scooby's native Lua API.

NoMouseInputs()

Member available through Scooby's native Lua API.

NoMove()

Member available through Scooby's native Lua API.

NoNav()

Member available through Scooby's native Lua API.

NoNavFocus()

Member available through Scooby's native Lua API.

NoNavInputs()

Member available through Scooby's native Lua API.

NoResize()

Member available through Scooby's native Lua API.

NoSavedSettings()

Member available through Scooby's native Lua API.

NoScrollWithMouse()

Member available through Scooby's native Lua API.

NoScrollbar()

Member available through Scooby's native Lua API.

NoTitleBar()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

Popup()

Member available through Scooby's native Lua API.

Tooltip()

Member available through Scooby's native Lua API.

UnsavedDocument()

Member available through Scooby's native Lua API.

ImGuiStyleVar

Style variable indices for PushStyleVar

int Alpha(0)

Global alpha

int DisabledAlpha(1)

Disabled alpha

int WindowPadding(2)

Window padding

int WindowRounding(3)

Window rounding

int WindowBorderSize(4)

Window border size

int WindowMinSize(5)

Window minimum size

int WindowTitleAlign(6)

Window title alignment

int ChildRounding(7)

Child rounding

int ChildBorderSize(8)

Child border size

int PopupRounding(9)

Popup rounding

int PopupBorderSize(10)

Popup border size

int FramePadding(11)

Frame padding

int FrameRounding(12)

Frame rounding

int FrameBorderSize(13)

Frame border size

int ItemSpacing(14)

Item spacing

int ItemInnerSpacing(15)

Item inner spacing

int IndentSpacing(16)

Indent spacing

int CellPadding(17)

Table cell padding

int ScrollbarSize(18)

Scrollbar size

int ScrollbarRounding(19)

Scrollbar rounding

int GrabMinSize(20)

Grab minimum size

int GrabRounding(21)

Grab rounding

int TabRounding(22)

Tab rounding

int ButtonTextAlign(23)

Button text alignment

int SelectableTextAlign(24)

Selectable text alignment

Alpha()

Member available through Scooby's native Lua API.

ButtonTextAlign()

Member available through Scooby's native Lua API.

COUNT()

Member available through Scooby's native Lua API.

CellPadding()

Member available through Scooby's native Lua API.

ChildBorderSize()

Member available through Scooby's native Lua API.

ChildRounding()

Member available through Scooby's native Lua API.

DisabledAlpha()

Member available through Scooby's native Lua API.

FrameBorderSize()

Member available through Scooby's native Lua API.

FramePadding()

Member available through Scooby's native Lua API.

FrameRounding()

Member available through Scooby's native Lua API.

GrabMinSize()

Member available through Scooby's native Lua API.

GrabRounding()

Member available through Scooby's native Lua API.

IndentSpacing()

Member available through Scooby's native Lua API.

ItemInnerSpace()

Member available through Scooby's native Lua API.

ItemSpacing()

Member available through Scooby's native Lua API.

PopupBorderSize()

Member available through Scooby's native Lua API.

PopupRounding()

Member available through Scooby's native Lua API.

ScrollbarRounding()

Member available through Scooby's native Lua API.

ScrollbarSize()

Member available through Scooby's native Lua API.

SelectableTextAlign()

Member available through Scooby's native Lua API.

TabRounding()

Member available through Scooby's native Lua API.

WindowBorderSize()

Member available through Scooby's native Lua API.

WindowMinSize()

Member available through Scooby's native Lua API.

WindowPadding()

Member available through Scooby's native Lua API.

WindowRounding()

Member available through Scooby's native Lua API.

WindowTitleAlign()

Member available through Scooby's native Lua API.

ImGuiSelectableFlags

Flags for Selectable widget

int None(0)

No special flags

int DontClosePopups(1 << 0)

Don't close popup

int SpanAllColumns(1 << 1)

Span all columns

int AllowDoubleClick(1 << 2)

Allow double click

int Disabled(1 << 3)

Disabled state

int AllowItemOverlap(1 << 4)

Allow item overlap

AllowDoubleClick()

Member available through Scooby's native Lua API.

AllowItemOverlap()

Member available through Scooby's native Lua API.

Disabled()

Member available through Scooby's native Lua API.

DontClosePopups()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

SpanAllColumns()

Member available through Scooby's native Lua API.

ImGuiTreeNodeFlags

Flags for tree nodes

int None(0)

No special flags

int Selected(1 << 0)

Draw as selected

int Framed(1 << 1)

Draw with frame

int AllowItemOverlap(1 << 2)

Allow overlap

int NoTreePushOnOpen(1 << 3)

Don't push on open

int NoAutoOpenOnLog(1 << 4)

No auto open

int DefaultOpen(1 << 5)

Default to open

int OpenOnDoubleClick(1 << 6)

Open on double click

int OpenOnArrow(1 << 7)

Open only on arrow

int Leaf(1 << 8)

No collapsing (leaf)

int Bullet(1 << 9)

Show bullet

int FramePadding(1 << 10)

Use frame padding

int SpanAvailWidth(1 << 11)

Span available width

int SpanFullWidth(1 << 12)

Span full width

int CollapsingHeader(Framed | NoTreePushOnOpen | NoAutoOpenOnLog)

Collapsing header style

AllowItemOverlap()

Member available through Scooby's native Lua API.

Bullet()

Member available through Scooby's native Lua API.

CollapsingHeader()

Member available through Scooby's native Lua API.

DefaultOpen()

Member available through Scooby's native Lua API.

FramePadding()

Member available through Scooby's native Lua API.

Framed()

Member available through Scooby's native Lua API.

Leaf()

Member available through Scooby's native Lua API.

NavLeftJumpsBackHere()

Member available through Scooby's native Lua API.

NoAutoOpenOnLog()

Member available through Scooby's native Lua API.

NoTreePushOnOpen()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

OpenOnArrow()

Member available through Scooby's native Lua API.

OpenOnDoubleClick()

Member available through Scooby's native Lua API.

Selected()

Member available through Scooby's native Lua API.

SpanAvailWidth()

Member available through Scooby's native Lua API.

SpanFullWidth()

Member available through Scooby's native Lua API.

ImGuiTableFlags

Flags for table widgets

int None(0)

No special flags

int Resizable(1 << 0)

Columns are resizable

int Reorderable(1 << 1)

Columns are reorderable

int Hideable(1 << 2)

Columns can be hidden

int Sortable(1 << 3)

Table is sortable

int NoSavedSettings(1 << 4)

Don't save settings

int ContextMenuInBody(1 << 5)

Context menu in body

int RowBg(1 << 6)

Alternating row colors

int BordersInnerH(1 << 7)

Inner horizontal borders

int BordersOuterH(1 << 8)

Outer horizontal borders

int BordersInnerV(1 << 9)

Inner vertical borders

int BordersOuterV(1 << 10)

Outer vertical borders

int BordersH(BordersInnerH | BordersOuterH)

Horizontal borders

int BordersV(BordersInnerV | BordersOuterV)

Vertical borders

int BordersInner(BordersInnerV | BordersInnerH)

Inner borders

int BordersOuter(BordersOuterV | BordersOuterH)

Outer borders

int Borders(BordersInner | BordersOuter)

All borders

int ScrollX(1 << 11)

Horizontal scroll

int ScrollY(1 << 12)

Vertical scroll

Borders()

Member available through Scooby's native Lua API.

BordersH()

Member available through Scooby's native Lua API.

BordersInner()

Member available through Scooby's native Lua API.

BordersInnerH()

Member available through Scooby's native Lua API.

BordersInnerV()

Member available through Scooby's native Lua API.

BordersOuter()

Member available through Scooby's native Lua API.

BordersOuterH()

Member available through Scooby's native Lua API.

BordersOuterV()

Member available through Scooby's native Lua API.

BordersV()

Member available through Scooby's native Lua API.

ContextMenuInBody()

Member available through Scooby's native Lua API.

Hideable()

Member available through Scooby's native Lua API.

NoBordersInBody()

Member available through Scooby's native Lua API.

NoBordersInBodyUntilResize()

Member available through Scooby's native Lua API.

NoClip()

Member available through Scooby's native Lua API.

NoHostExtendX()

Member available through Scooby's native Lua API.

NoHostExtendY()

Member available through Scooby's native Lua API.

NoKeepColumnsVisible()

Member available through Scooby's native Lua API.

NoPadInnerX()

Member available through Scooby's native Lua API.

NoPadOuterX()

Member available through Scooby's native Lua API.

NoSavedSettings()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

PadOuterX()

Member available through Scooby's native Lua API.

PreciseWidths()

Member available through Scooby's native Lua API.

Reorderable()

Member available through Scooby's native Lua API.

Resizable()

Member available through Scooby's native Lua API.

RowBg()

Member available through Scooby's native Lua API.

ScrollX()

Member available through Scooby's native Lua API.

ScrollY()

Member available through Scooby's native Lua API.

SizingFixedFit()

Member available through Scooby's native Lua API.

SizingFixedSame()

Member available through Scooby's native Lua API.

SizingMask_()

Member available through Scooby's native Lua API.

SizingStretchProp()

Member available through Scooby's native Lua API.

SizingStretchSame()

Member available through Scooby's native Lua API.

SortMulti()

Member available through Scooby's native Lua API.

SortTristate()

Member available through Scooby's native Lua API.

Sortable()

Member available through Scooby's native Lua API.

ImGuiHoveredFlags

Flags for hover detection

int None(0)

Return true when hovered

int ChildWindows(1 << 0)

Include child windows

int RootWindow(1 << 1)

Only root window

int AnyWindow(1 << 2)

Any window

int AllowWhenBlockedByPopup(1 << 3)

Allow when blocked

int AllowWhenBlockedByActiveItem(1 << 5)

Allow when active item

int AllowWhenOverlapped(1 << 6)

Allow when overlapped

int AllowWhenDisabled(1 << 7)

Allow when disabled

int RectOnly(AllowWhenBlockedByPopup | AllowWhenBlockedByActiveItem | AllowWhenOverlapped)

Rectangle only test

int RootAndChildWindows(RootWindow | ChildWindows)

Root and child windows

AllowWhenBlockedByActiveItem()

Member available through Scooby's native Lua API.

AllowWhenBlockedByPopup()

Member available through Scooby's native Lua API.

AllowWhenDisabled()

Member available through Scooby's native Lua API.

AllowWhenOverlapped()

Member available through Scooby's native Lua API.

AnyWindow()

Member available through Scooby's native Lua API.

ChildWindows()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

RectOnly()

Member available through Scooby's native Lua API.

RootAndChildWindows()

Member available through Scooby's native Lua API.

RootWindow()

Member available through Scooby's native Lua API.

ImGuiMouseButton

Mouse button constants

int Left(0)

Left mouse button

int Right(1)

Right mouse button

int Middle(2)

Middle mouse button

ImGuiMouseButton_COUNT()

Member available through Scooby's native Lua API.

ImGuiMouseButton_Left()

Member available through Scooby's native Lua API.

ImGuiMouseButton_Middle()

Member available through Scooby's native Lua API.

ImGuiMouseButton_Right()

Member available through Scooby's native Lua API.

ImGuiMouseCursor

Mouse cursor types

int None(-1)

No cursor (hidden)

int Arrow(0)

Arrow cursor (default)

int TextInput(1)

Text input cursor (I-beam)

int ResizeAll(2)

Resize all directions

int ResizeNS(3)

Resize north-south

int ResizeEW(4)

Resize east-west

int ResizeNESW(5)

Resize diagonal NE-SW

int ResizeNWSE(6)

Resize diagonal NW-SE

int Hand(7)

Hand cursor (for links)

int NotAllowed(8)

Not allowed cursor

Arrow()

Member available through Scooby's native Lua API.

COUNT()

Member available through Scooby's native Lua API.

Hand()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

NotAllowed()

Member available through Scooby's native Lua API.

ResizeAll()

Member available through Scooby's native Lua API.

ResizeEW()

Member available through Scooby's native Lua API.

ResizeNESW()

Member available through Scooby's native Lua API.

ResizeNS()

Member available through Scooby's native Lua API.

ResizeNWSE()

Member available through Scooby's native Lua API.

TextInput()

Member available through Scooby's native Lua API.

natives

Native function loading. Call natives.load_natives() to load all GTA V native wrappers, then use e.g. PLAYER.PLAYER_PED_ID()

void load_natives()

Load all GTA V native function definitions into Lua globals (e.g. PLAYER, ENTITY, PED, VEHICLE namespaces)

bool are_natives_loaded()

Check if native functions have been loaded

Game

Game version detection and edition-specific helpers for EE/LE compatibility

bool IsEnhancedEdition()

Check if running Enhanced Edition (EE) - returns true for next-gen/PC enhanced

bool IsLegacyEdition()

Check if running Legacy Edition (LE) - returns true for old-gen/legacy PC

string GetEdition()

Get edition string: 'EE' for Enhanced or 'LE' for Legacy

any GetEditionValue(eeValue: any, leValue: any)

Get edition-appropriate value. Returns eeValue on EE, leValue on LE

int GetGlobal(eeGlobal: int, leGlobal: int)

Get edition-appropriate global address (automatically selects EE or LE value)

int GetBuildNumber()

Get the game build number

bool IsFeatureAvailable(feature: string)

Check if a feature is available on current edition

GameVersionQuickRef

Quick reference patterns for Game version API

Pattern BasicVersionCheck()

if Game.IsEnhancedEdition() then ... else ... end - Check edition and run different code

Pattern GlobalSwitching()

local BASE = Game.GetGlobal(EE_VALUE, LE_VALUE) - Get correct global for current edition

Pattern ValueSwitching()

local val = Game.GetEditionValue(eeVal, leVal) - Works with any type: numbers, strings, tables

Pattern ConditionalGlobals()

Use if-else to define edition-specific global tables at script start, then use them throughout

Pattern TernaryStyle()

Heist.BASE = Game.IsEnhancedEdition() and 2686095 or 2686093 - Ternary-style edition check

GameVersionExamples

Full code examples for Game version API (copy these)

Code Example_BasicCheck()

-- Check which edition is running if Game.IsEnhancedEdition() then print("Running Enhanced Edition (EE)") else print("Running Legacy Edition (LE)") end

Code Example_GlobalSwitch()

-- Use edition-specific globals in your script local HEIST_BASE = Game.GetGlobal(4718592, 4718590) -- EE value, LE value -- Same as: local HEIST_BASE = Game.IsEnhancedEdition() and 4718592 or 4718590

Code Example_ValueSwitch()

-- Get edition-appropriate value for any type local heistOffset = Game.GetEditionValue(3539, 3537) -- EE offset, LE offset local labelText = Game.GetEditionValue("EE_LABEL", "LE_LABEL") -- Works with tables too local settings = Game.GetEditionValue( { base = 1000, offset = 100 }, -- EE settings { base = 900, offset = 90 } -- LE settings )

Code Example_CompleteScript()

-- Complete example: Version-aware heist script local Heist = {} -- Define edition-specific globals if Game.IsEnhancedEdition() then Heist.CUT_BASE = 2686095 Heist.CUT_OFFSET = 6783 Heist.READY_BASE = 2658294 else -- Legacy Edition Heist.CUT_BASE = 2686093 Heist.CUT_OFFSET = 6781 Heist.READY_BASE = 2658292 end -- Or use the helper function Heist.DIFFICULTY = Game.GetGlobal(3538, 3536) -- Now use these values in your script script.run_in_callback(function() while true do local g = ScriptGlobal.new(Heist.CUT_BASE) if g:can_access() then g:at(Heist.CUT_OFFSET):set_int(85) end script.yield(1000) end end)

Ped

Ped constructor module. Use Ped.new(handle) or Ped.create(...), then call snake_case methods on the instance

int Create(modelHash: int, pedType: int, x: float, y: float, z: float, heading: float, isNetworked: bool = true)

Spawn a ped at position

int CreateRandom(x: float, y: float, z: float)

Spawn a random ped at position

void Delete(ped: int)

Delete a ped

bool Exists(ped: int)

Check if ped exists

bool IsAlive(ped: int)

Check if ped is alive

bool IsDead(ped: int)

Check if ped is dead

bool IsInVehicle(ped: int)

Check if ped is in any vehicle

bool IsInSpecificVehicle(ped: int, vehicle: int)

Check if ped is in specific vehicle

int GetVehicle(ped: int, includeLastVehicle: bool = false)

Get vehicle ped is in

void SetIntoVehicle(ped: int, vehicle: int, seatIndex: int)

Put ped into vehicle seat

Vector3 GetPosition(ped: int)

Get ped world position

void SetPosition(ped: int, x: float, y: float, z: float)

Set ped world position

float GetHeading(ped: int)

Get ped heading (rotation)

void SetHeading(ped: int, heading: float)

Set ped heading

int GetHealth(ped: int)

Get ped health

void SetHealth(ped: int, health: int)

Set ped health

int GetMaxHealth(ped: int)

Get ped max health

void SetMaxHealth(ped: int, maxHealth: int)

Set ped max health

int GetArmour(ped: int)

Get ped armour

void SetArmour(ped: int, armour: int)

Set ped armour

void Kill(ped: int)

Kill the ped instantly

void Resurrect(ped: int)

Resurrect a dead ped

void ClearTasks(ped: int)

Clear all ped tasks

void ClearTasksImmediately(ped: int)

Clear tasks immediately

void SetInvincible(ped: int, toggle: bool)

Set ped invincibility

void SetVisible(ped: int, toggle: bool)

Set ped visibility

void SetCanRagdoll(ped: int, toggle: bool)

Set if ped can ragdoll

void Ragdoll(ped: int, duration: int, ragdollType: int)

Make ped ragdoll

void SetCombatAbility(ped: int, ability: int)

Set ped combat ability (0-2)

void SetAccuracy(ped: int, accuracy: int)

Set ped shooting accuracy (0-100)

void GiveWeapon(ped: int, weaponHash: int, ammo: int, equipNow: bool)

Give weapon to ped

void RemoveWeapon(ped: int, weaponHash: int)

Remove weapon from ped

void RemoveAllWeapons(ped: int)

Remove all weapons

int GetCurrentWeapon(ped: int)

Get current weapon hash

void SetCurrentWeapon(ped: int, weaponHash: int, equipNow: bool)

Set current weapon

bool HasWeapon(ped: int, weaponHash: int)

Check if ped has weapon

int GetAmmo(ped: int, weaponHash: int)

Get ammo count for weapon

void SetAmmo(ped: int, weaponHash: int, ammo: int)

Set ammo count for weapon

void SetRelationship(relationship: int, group1: int, group2: int)

Set relationship between ped groups

int GetGroup(ped: int)

Get ped's group hash

void SetGroup(ped: int, groupHash: int)

Set ped's group

int Clone(ped: int, heading: float, isNetworked: bool, copyHeadBlend: bool)

Clone a ped

void SetComponentVariation(ped: int, componentId: int, drawableId: int, textureId: int, paletteId: int)

Set ped component (clothes)

void SetPropIndex(ped: int, propId: int, drawableId: int, textureId: int, attach: bool)

Set ped prop (hat, glasses)

void ClearProp(ped: int, propId: int)

Clear ped prop

void SetHeadBlendData(ped: int, shapeFirst: int, shapeSecond: int, shapeThird: int, skinFirst: int, skinSecond: int, skinThird: int, shapeMix: float, skinMix: float, thirdMix: float, isParent: bool)

Set ped face blend data

void SetHeadOverlay(ped: int, overlayId: int, index: int, opacity: float)

Set ped head overlay (makeup, beard)

void SetHeadOverlayColor(ped: int, overlayId: int, colorType: int, colorId: int, secondColorId: int)

Set head overlay color

void SetHairColor(ped: int, colorId: int, highlightColorId: int)

Set ped hair color

void SetEyeColor(ped: int, colorId: int)

Set ped eye color

void TaskGoTo(ped: int, x: float, y: float, z: float, speed: float = 1.0)

Make ped walk/run to position

void TaskFollowEntity(ped: int, entity: int, speed: float)

Make ped follow another entity

void TaskCombat(ped: int, target: int)

Make ped attack target

void TaskFleeFrom(ped: int, entity: int)

Make ped flee from entity

void TaskDriveBy(ped: int, target: int, vehicle: int, aimX: float, aimY: float, aimZ: float, distance: float, accuracy: int, fireMode: int)

Make ped do drive-by

void TaskEnterVehicle(ped: int, vehicle: int, timeout: int, seat: int, speed: float)

Make ped enter vehicle

void TaskLeaveVehicle(ped: int, vehicle: int, flags: int)

Make ped leave vehicle

void TaskPlayAnim(ped: int, animDict: string, animName: string, blendInSpeed: float, blendOutSpeed: float, duration: int, flag: int, playbackRate: float)

Play animation on ped

void StopAnim(ped: int, animDict: string, animName: string)

Stop animation on ped

bool IsPlayingAnim(ped: int, animDict: string, animName: string)

Check if ped is playing animation

Vehicle

Vehicle constructor module. Use Vehicle.new(handle) or Vehicle.create(...), then call snake_case methods on the instance

int Create(modelHash: int, x: float, y: float, z: float, heading: float, isNetworked: bool = true)

Spawn a vehicle at position

void Delete(vehicle: int)

Delete a vehicle

bool Exists(vehicle: int)

Check if vehicle exists

Vector3 GetPosition(vehicle: int)

Get vehicle world position

void SetPosition(vehicle: int, x: float, y: float, z: float)

Set vehicle world position

Vector3 GetRotation(vehicle: int)

Get vehicle rotation

void SetRotation(vehicle: int, pitch: float, roll: float, yaw: float)

Set vehicle rotation

float GetHeading(vehicle: int)

Get vehicle heading

void SetHeading(vehicle: int, heading: float)

Set vehicle heading

Vector3 GetVelocity(vehicle: int)

Get vehicle velocity

void SetVelocity(vehicle: int, x: float, y: float, z: float)

Set vehicle velocity

float GetSpeed(vehicle: int)

Get vehicle speed (m/s)

void SetForwardSpeed(vehicle: int, speed: float)

Set vehicle forward speed

float GetHealth(vehicle: int)

Get vehicle health (0-1000)

void SetHealth(vehicle: int, health: float)

Set vehicle health

float GetEngineHealth(vehicle: int)

Get engine health (-4000 to 1000)

void SetEngineHealth(vehicle: int, health: float)

Set engine health

float GetBodyHealth(vehicle: int)

Get body health (0-1000)

void SetBodyHealth(vehicle: int, health: float)

Set body health

float GetPetrolTankHealth(vehicle: int)

Get fuel tank health

void SetPetrolTankHealth(vehicle: int, health: float)

Set fuel tank health

void Repair(vehicle: int)

Fully repair vehicle

void SetFixed(vehicle: int)

Fix vehicle deformation

int GetDriver(vehicle: int)

Get vehicle driver ped

int GetPassenger(vehicle: int, seatIndex: int)

Get passenger in seat

int GetNumSeats(vehicle: int)

Get number of seats

bool IsSeatFree(vehicle: int, seatIndex: int)

Check if seat is free

void SetEngineOn(vehicle: int, toggle: bool, instantly: bool)

Turn engine on/off

bool IsEngineRunning(vehicle: int)

Check if engine is running

void SetLightsOn(vehicle: int, toggle: bool)

Turn lights on/off

bool GetLightsState(vehicle: int)

Get lights state

void SetSiren(vehicle: int, toggle: bool)

Set siren on/off

bool IsSirenOn(vehicle: int)

Check if siren is on

void SetAlarm(vehicle: int, toggle: bool)

Set alarm on/off

bool IsAlarmActivated(vehicle: int)

Check if alarm is activated

void SetDoorOpen(vehicle: int, doorIndex: int, loose: bool, openInstantly: bool)

Open/close door

void SetDoorShut(vehicle: int, doorIndex: int, closeInstantly: bool)

Shut door

void SetDoorBroken(vehicle: int, doorIndex: int, deleteDoor: bool)

Break door off

float GetDoorAngle(vehicle: int, doorIndex: int)

Get door angle ratio

void SetWindowOpen(vehicle: int, windowIndex: int)

Roll window up/down

void SmashWindow(vehicle: int, windowIndex: int)

Smash window

void FixWindow(vehicle: int, windowIndex: int)

Fix smashed window

void SetTyreBurst(vehicle: int, tyreIndex: int, onRim: bool, damage: float)

Burst tyre

void SetTyreFixed(vehicle: int, tyreIndex: int)

Fix burst tyre

bool IsTyreBurst(vehicle: int, tyreIndex: int)

Check if tyre is burst

void SetTyresCanBurst(vehicle: int, toggle: bool)

Set if tyres can burst

void SetOnGround(vehicle: int)

Place vehicle on ground properly

void SetInvincible(vehicle: int, toggle: bool)

Set vehicle invincibility

void SetCanBeTargeted(vehicle: int, toggle: bool)

Set if vehicle can be targeted

void SetCanBeDamaged(vehicle: int, toggle: bool)

Set if vehicle can be damaged

void SetColours(vehicle: int, primary: int, secondary: int)

Set vehicle primary/secondary color

int, int GetColours(vehicle: int)

Get vehicle colors

void SetCustomPrimaryColour(vehicle: int, r: int, g: int, b: int)

Set custom RGB primary color

void SetCustomSecondaryColour(vehicle: int, r: int, g: int, b: int)

Set custom RGB secondary color

int, int, int GetCustomPrimaryColour(vehicle: int)

Get custom primary RGB

int, int, int GetCustomSecondaryColour(vehicle: int)

Get custom secondary RGB

void SetExtraColours(vehicle: int, pearl: int, wheel: int)

Set extra colors (pearl, wheel)

int, int GetExtraColours(vehicle: int)

Get extra colors

void SetLivery(vehicle: int, livery: int)

Set vehicle livery

int GetLivery(vehicle: int)

Get vehicle livery

int GetLiveryCount(vehicle: int)

Get number of liveries

void SetMod(vehicle: int, modType: int, modIndex: int, customTires: bool = false)

Set vehicle mod

int GetMod(vehicle: int, modType: int)

Get vehicle mod

int GetNumMods(vehicle: int, modType: int)

Get number of mods for type

void SetModKit(vehicle: int, modKit: int)

Set mod kit (needed for mods)

void SetWheelType(vehicle: int, wheelType: int)

Set wheel type

int GetWheelType(vehicle: int)

Get wheel type

void SetNumberPlateText(vehicle: int, text: string)

Set license plate text

string GetNumberPlateText(vehicle: int)

Get license plate text

void SetNumberPlateIndex(vehicle: int, plateIndex: int)

Set license plate style

int GetNumberPlateIndex(vehicle: int)

Get license plate style

void SetNeonEnabled(vehicle: int, left: bool, right: bool, front: bool, back: bool)

Enable/disable neon

bool, bool, bool, bool GetNeonEnabled(vehicle: int)

Get neon enabled states

void SetNeonColour(vehicle: int, r: int, g: int, b: int)

Set neon color

int, int, int GetNeonColour(vehicle: int)

Get neon color

void SetXenonLightsColour(vehicle: int, colorIndex: int)

Set xenon headlight color

int GetXenonLightsColour(vehicle: int)

Get xenon headlight color

void SetTyreSmokeColour(vehicle: int, r: int, g: int, b: int)

Set tyre smoke color

int, int, int GetTyreSmokeColour(vehicle: int)

Get tyre smoke color

void SetWindowTint(vehicle: int, tint: int)

Set window tint

int GetWindowTint(vehicle: int)

Get window tint

void SetExtra(vehicle: int, extraId: int, toggle: bool)

Toggle vehicle extra

bool IsExtraOn(vehicle: int, extraId: int)

Check if extra is on

void SetRadioStation(vehicle: int, stationName: string)

Set radio station

void SetConvertibleRoof(vehicle: int, raised: bool)

Raise/lower convertible roof

bool IsConvertible(vehicle: int)

Check if vehicle is convertible

void SetGravity(vehicle: int, toggle: bool)

Set vehicle gravity

void SetStrong(vehicle: int, toggle: bool)

Make vehicle strong (plane/heli)

void SetEnginePowerMultiplier(vehicle: int, value: float)

Set engine power multiplier

void SetEngineTorqueMultiplier(vehicle: int, value: float)

Set engine torque multiplier

Object

Object spawning and manipulation functions

int Create(modelHash: int, x: float, y: float, z: float, isNetworked: bool = true, dynamic: bool = true)

Spawn an object at position

int CreateNoOffset(modelHash: int, x: float, y: float, z: float, isNetworked: bool = true, dynamic: bool = true)

Spawn object without ground offset

void Delete(object: int)

Delete an object

bool Exists(object: int)

Check if object exists

Vector3 GetPosition(object: int)

Get object position

void SetPosition(object: int, x: float, y: float, z: float)

Set object position

Vector3 GetRotation(object: int)

Get object rotation

void SetRotation(object: int, pitch: float, roll: float, yaw: float)

Set object rotation

float GetHeading(object: int)

Get object heading

void SetHeading(object: int, heading: float)

Set object heading

void SetVisible(object: int, toggle: bool)

Set object visibility

void SetDynamic(object: int, toggle: bool)

Set object physics

void FreezePosition(object: int, toggle: bool)

Freeze object position

void SetInvincible(object: int, toggle: bool)

Set object invincibility

bool PlaceOnGround(object: int)

Place object on ground

void AttachTo(object: int, entity: int, boneIndex: int, xPos: float, yPos: float, zPos: float, xRot: float, yRot: float, zRot: float)

Attach object to entity

void Detach(object: int, dynamic: bool)

Detach object

bool IsAttached(object: int)

Check if object is attached

int GetAttachedTo(object: int)

Get entity object is attached to

void SetActivatePhysicsOnCollision(object: int, toggle: bool)

Activate physics on collision

bool Slide(object: int, toX: float, toY: float, toZ: float, speedX: float, speedY: float, speedZ: float, collision: bool)

Slide object to position

Weapon

Weapon and ammo functions

int GetHash(weaponName: string)

Get weapon hash from name

string GetName(weaponHash: int)

Get weapon name from hash

string GetDisplayName(weaponHash: int)

Get weapon display name

bool IsValid(weaponHash: int)

Check if weapon hash is valid

int GetMaxAmmo(ped: int, weaponHash: int)

Get max ammo for weapon

int GetAmmoInClip(ped: int, weaponHash: int)

Get ammo in current clip

void SetAmmoInClip(ped: int, weaponHash: int, ammo: int)

Set ammo in clip

int GetClipSize(weaponHash: int)

Get weapon clip size

void RefillAmmo(ped: int)

Refill all ammo

int GetDamageType(weaponHash: int)

Get weapon damage type

int GetWeaponComponentHash(weaponHash: int, componentName: string)

Get component hash

void GiveComponent(ped: int, weaponHash: int, componentHash: int)

Give weapon component

void RemoveComponent(ped: int, weaponHash: int, componentHash: int)

Remove weapon component

bool HasComponent(ped: int, weaponHash: int, componentHash: int)

Check if has weapon component

void SetTint(ped: int, weaponHash: int, tintIndex: int)

Set weapon tint

int GetTint(ped: int, weaponHash: int)

Get weapon tint

void SetCamo(ped: int, weaponHash: int, camoIndex: int)

Set weapon camo

int GetCamo(ped: int, weaponHash: int)

Get weapon camo

void MakePedShoot(ped: int, x: float, y: float, z: float)

Make ped fire at coords

Vector3, bool GetBulletImpactArea(ped: int)

Get where bullets will hit

World

World and environment functions

float, bool GetGroundZ(x: float, y: float, z: float)

Get ground Z coordinate at position

float, bool GetWaterHeight(x: float, y: float)

Get water height at position

bool, Vector3, Vector3, int, int Raycast(startX: float, startY: float, startZ: float, endX: float, endY: float, endZ: float, flags: int, ignoreEntity: int)

Cast a ray and get hit info

int GetClosestVehicle(x: float, y: float, z: float, radius: float, modelHash: int = 0, flags: int = 70)

Get closest vehicle to position

int GetClosestPed(x: float, y: float, z: float, radius: float)

Get closest ped to position

int GetClosestObject(x: float, y: float, z: float, radius: float, modelHash: int = 0)

Get closest object to position

table<int> GetNearbyVehicles(x: float, y: float, z: float, radius: float)

Get all nearby vehicles

table<int> GetNearbyPeds(x: float, y: float, z: float, radius: float)

Get all nearby peds

table<int> GetNearbyObjects(x: float, y: float, z: float, radius: float)

Get all nearby objects

void CreateExplosion(x: float, y: float, z: float, explosionType: int, damageScale: float, isAudible: bool, isVisible: bool, cameraShake: float)

Create explosion at position

void ShootBullet(fromX: float, fromY: float, fromZ: float, toX: float, toY: float, toZ: float, damage: int, weaponHash: int, owner: int)

Shoot bullet between points

int, int AddRope(x: float, y: float, z: float, rotX: float, rotY: float, rotZ: float, length: float, ropeType: int, initLength: float, minLength: float, lengthChangeRate: float, onlyPPU: bool, collisionOn: bool, lockFromFront: bool, timeMultiplier: float, breakable: bool)

Create a rope

void DeleteRope(ropeId: int)

Delete a rope

void AttachRopeToEntity(ropeId: int, entity: int, x: float, y: float, z: float)

Attach rope end to entity

void ClearArea(x: float, y: float, z: float, radius: float, clearPeds: bool, clearVehicles: bool, clearObjects: bool)

Clear area of objects/vehicles/peds

void ClearAreaOfVehicles(x: float, y: float, z: float, radius: float)

Clear area of vehicles only

void ClearAreaOfPeds(x: float, y: float, z: float, radius: float)

Clear area of peds only

void ClearAreaOfObjects(x: float, y: float, z: float, radius: float)

Clear area of objects only

string GetZoneAtCoords(x: float, y: float, z: float)

Get zone name at position

string, string GetStreetName(x: float, y: float, z: float)

Get street name at position

void SetBlackout(toggle: bool)

Set city blackout

TimeWeather

Time and weather control functions

int GetHour()

Get current game hour (0-23)

int GetMinute()

Get current game minute (0-59)

int GetSecond()

Get current game second (0-59)

void SetTime(hour: int, minute: int, second: int)

Set game time

void AddToTime(hours: int, minutes: int, seconds: int)

Add to current time

void PauseTime(toggle: bool)

Pause/unpause time

string GetWeather()

Get current weather type

void SetWeather(weatherType: string)

Set weather type

void SetWeatherTransition(weatherType: string, transitionTime: float)

Transition to weather

void ClearWeatherOverride()

Clear weather override

void SetRainLevel(intensity: float)

Set rain intensity (0.0-1.0)

float GetRainLevel()

Get rain intensity

void SetWindSpeed(speed: float)

Set wind speed

float GetWindSpeed()

Get wind speed

void SetWindDirection(direction: float)

Set wind direction

float GetWindDirection()

Get wind direction

void SetSnow(toggle: bool)

Enable/disable snow

void SetTimecycleModifier(modifierName: string)

Set screen effect

void ClearTimecycleModifier()

Clear screen effect

void SetTimecycleModifierStrength(strength: float)

Set effect strength (0.0-1.0)

Blip

Map blip functions

int Create(x: float, y: float, z: float)

Create blip at coordinates

int CreateForEntity(entity: int)

Create blip for entity

int CreateForRadius(x: float, y: float, z: float, radius: float)

Create radius blip

void Delete(blip: int)

Delete blip

bool Exists(blip: int)

Check if blip exists

Vector3 GetCoords(blip: int)

Get blip coordinates

void SetCoords(blip: int, x: float, y: float, z: float)

Set blip coordinates

int GetSprite(blip: int)

Get blip sprite

void SetSprite(blip: int, sprite: int)

Set blip sprite/icon

int GetColour(blip: int)

Get blip color

void SetColour(blip: int, color: int)

Set blip color

int GetAlpha(blip: int)

Get blip alpha

void SetAlpha(blip: int, alpha: int)

Set blip alpha (0-255)

void SetScale(blip: int, scale: float)

Set blip scale

void SetName(blip: int, name: string)

Set blip name

void SetRoute(blip: int, toggle: bool)

Set GPS route to blip

void SetRouteColour(blip: int, color: int)

Set GPS route color

void SetFlashes(blip: int, toggle: bool)

Make blip flash

void SetDisplay(blip: int, displayMode: int)

Set blip display mode

void SetShortRange(blip: int, toggle: bool)

Set blip as short range only

void SetAsFriendly(blip: int, toggle: bool)

Set blip as friendly

void SetPriority(blip: int, priority: int)

Set blip priority

int GetInfoIdType(blip: int)

Get entity type from blip

int GetInfoIdEntity(blip: int)

Get entity from blip

int GetFirstInfoId(sprite: int)

Get first blip of sprite type

int GetNextInfoId(sprite: int)

Get next blip of sprite type

Vector3 GetWaypointCoords()

Get waypoint blip coords

bool IsWaypointActive()

Check if waypoint is set

void SetWaypoint(x: float, y: float)

Set waypoint at coords

void ClearWaypoint()

Clear current waypoint

Camera

Camera creation and control

int Create(camHash: int, x: float, y: float, z: float, rotX: float, rotY: float, rotZ: float, fov: float)

Create a camera

void Delete(cam: int)

Delete camera

bool Exists(cam: int)

Check if camera exists

void SetActive(cam: int, toggle: bool)

Set camera active (rendering)

void SetActiveWithInterp(camTo: int, camFrom: int, duration: int, easePosition: int, easeRotation: int)

Activate with interpolation

void StopRendering()

Stop custom camera, return to gameplay

Vector3 GetPosition(cam: int)

Get camera position

void SetPosition(cam: int, x: float, y: float, z: float)

Set camera position

Vector3 GetRotation(cam: int)

Get camera rotation

void SetRotation(cam: int, rotX: float, rotY: float, rotZ: float)

Set camera rotation

float GetFov(cam: int)

Get camera field of view

void SetFov(cam: int, fov: float)

Set camera field of view

void PointAtCoord(cam: int, x: float, y: float, z: float)

Point camera at coordinates

void PointAtEntity(cam: int, entity: int, xOffset: float, yOffset: float, zOffset: float, relative: bool)

Point camera at entity

void AttachTo(cam: int, entity: int, xOffset: float, yOffset: float, zOffset: float, relative: bool)

Attach camera to entity

void Detach(cam: int)

Detach camera from entity

void Shake(cam: int, shakeType: string, amplitude: float)

Shake camera

void StopShaking(cam: int)

Stop camera shake

bool IsShaking(cam: int)

Check if camera is shaking

void SetMotionBlur(cam: int, strength: float)

Set motion blur strength

void SetDof(cam: int)

Set depth of field

void SetDofStrength(cam: int, strength: float)

Set DOF strength

Vector3 GetGameplayCamCoords()

Get current gameplay camera position

Vector3 GetGameplayCamRot()

Get current gameplay camera rotation

float GetGameplayCamFov()

Get gameplay camera FOV

void SetGameplayCamShake(shakeType: string, amplitude: float)

Shake gameplay camera

void StopGameplayCamShake()

Stop gameplay camera shake

Input

Input and control functions

bool IsKeyPressed(key: int)

Check if keyboard key is pressed

bool IsKeyJustPressed(key: int)

Check if key was just pressed

bool IsKeyJustReleased(key: int)

Check if key was just released

bool IsControlPressed(inputGroup: int, control: int)

Check if game control is pressed

bool IsControlJustPressed(inputGroup: int, control: int)

Check if control was just pressed

bool IsControlJustReleased(inputGroup: int, control: int)

Check if control was just released

bool IsDisabledControlPressed(inputGroup: int, control: int)

Check disabled control press

bool IsDisabledControlJustPressed(inputGroup: int, control: int)

Check disabled control just pressed

float GetControlNormal(inputGroup: int, control: int)

Get control value (-1.0 to 1.0)

float GetDisabledControlNormal(inputGroup: int, control: int)

Get disabled control value

void DisableControl(inputGroup: int, control: int)

Disable a control this frame

void EnableControl(inputGroup: int, control: int)

Enable a control

void DisableAllControls(inputGroup: int)

Disable all controls this frame

void EnableAllControls(inputGroup: int)

Enable all controls

void SetControlNormal(inputGroup: int, control: int, value: float)

Set control input value

int GetLastInputMethod()

Get last input (0=mouse/kb, 2=gamepad)

bool IsUsingKeyboardAndMouse()

Check if using keyboard/mouse

Audio

Audio and sound functions

int PlaySound(soundId: int, audioName: string, audioRef: string)

Play a sound by ID

int PlaySoundFromEntity(entity: int, audioName: string, audioRef: string)

Play sound from entity

int PlaySoundFromCoord(x: float, y: float, z: float, audioName: string, audioRef: string)

Play sound from coordinates

void PlaySoundFrontend(soundId: int, audioName: string, audioRef: string)

Play frontend sound

void StopSound(soundId: int)

Stop a playing sound

bool HasSoundFinished(soundId: int)

Check if sound finished playing

int GetSoundId()

Get new sound ID

void ReleaseSoundId(soundId: int)

Release a sound ID

void SetAudioFlag(flagName: string, toggle: bool)

Set audio flag

void SetAmbientZoneState(zoneName: string, toggle: bool)

Set ambient zone state

void ClearAmbientZoneState(zoneName: string)

Clear ambient zone state

void SetStaticEmitterEnabled(emitterName: string, toggle: bool)

Enable static emitter

bool RequestAudioBank(audioBank: string)

Request audio bank

void ReleaseAudioBank(audioBank: string)

Release audio bank

void PlayAmbientSpeech(ped: int, speechName: string, speechParam: string)

Make ped speak

void StopAmbientSpeech(ped: int)

Stop ped speaking

bool IsPedSpeaking(ped: int)

Check if ped is speaking

void SetMicrophonePosition(x: float, y: float, z: float)

Set microphone position

void SetRadioStation(stationName: string)

Set radio station

string GetRadioStation()

Get current radio station

void SetVehicleRadio(vehicle: int, toggle: bool)

Set vehicle radio enabled

void SetVehicleRadioStation(vehicle: int, stationName: string)

Set vehicle radio station

Streaming

Model and asset streaming functions

void RequestModel(modelHash: int)

Request model to load

bool HasModelLoaded(modelHash: int)

Check if model is loaded

void SetModelAsNoLongerNeeded(modelHash: int)

Mark model as not needed

bool IsModelValid(modelHash: int)

Check if model hash is valid

bool IsModelInCdImage(modelHash: int)

Check if model exists in game files

bool IsModelAVehicle(modelHash: int)

Check if model is a vehicle

bool IsModelAPed(modelHash: int)

Check if model is a ped

void RequestAnimDict(animDict: string)

Request animation dictionary

bool HasAnimDictLoaded(animDict: string)

Check if anim dict is loaded

void RemoveAnimDict(animDict: string)

Remove animation dictionary

void RequestAnimSet(animSet: string)

Request animation set

bool HasAnimSetLoaded(animSet: string)

Check if anim set is loaded

void RemoveAnimSet(animSet: string)

Remove animation set

void RequestClipSet(clipSet: string)

Request clip set

bool HasClipSetLoaded(clipSet: string)

Check if clip set is loaded

void RemoveClipSet(clipSet: string)

Remove clip set

void RequestPtfxAsset(fxName: string)

Request particle effect asset

bool HasPtfxAssetLoaded(fxName: string)

Check if ptfx asset is loaded

void RemovePtfxAsset(fxName: string)

Remove particle effect asset

void RequestTextureDict(textureDict: string)

Request texture dictionary

bool HasTextureDictLoaded(textureDict: string)

Check if texture dict is loaded

void SetTextureDictAsNoLongerNeeded(textureDict: string)

Mark texture dict as not needed

void RequestIpl(iplName: string)

Request interior/IPL

void RemoveIpl(iplName: string)

Remove interior/IPL

bool IsIplActive(iplName: string)

Check if IPL is active

bool RequestScriptAudioBank(audioBank: string)

Request script audio bank

void ReleaseScriptAudioBank()

Release script audio bank

Graphics

Graphics and visual effects

void DrawLine(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, r: int, g: int, b: int, a: int)

Draw 3D line

void DrawPoly(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, x3: float, y3: float, z3: float, r: int, g: int, b: int, a: int)

Draw 3D polygon

void DrawBox(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float, r: int, g: int, b: int, a: int)

Draw 3D box

void DrawSphere(x: float, y: float, z: float, radius: float, r: int, g: int, b: int, a: int)

Draw 3D sphere marker

void DrawMarker(type: int, x: float, y: float, z: float, dirX: float, dirY: float, dirZ: float, rotX: float, rotY: float, rotZ: float, scaleX: float, scaleY: float, scaleZ: float, r: int, g: int, b: int, a: int, bobUpDown: bool, faceCamera: bool, rotate: bool)

Draw 3D marker

void DrawSprite(textureDict: string, textureName: string, screenX: float, screenY: float, width: float, height: float, heading: float, r: int, g: int, b: int, a: int)

Draw 2D sprite

void DrawRect(x: float, y: float, width: float, height: float, r: int, g: int, b: int, a: int)

Draw 2D rectangle

void DrawText(text: string, x: float, y: float, scale: float, r: int, g: int, b: int, a: int, font: int = 0, justification: int = 0, shadow: bool = false, outline: bool = false)

Draw 2D text on screen

void DrawText3D(text: string, x: float, y: float, z: float, scale: float, r: int, g: int, b: int, a: int)

Draw 3D world text

int StartParticleFx(fxName: string, x: float, y: float, z: float, rotX: float, rotY: float, rotZ: float, scale: float)

Start particle effect at coords

int StartParticleFxOnEntity(fxName: string, entity: int, xOffset: float, yOffset: float, zOffset: float, rotX: float, rotY: float, rotZ: float, scale: float)

Start particle effect on entity

int StartParticleFxOnBone(fxName: string, ped: int, xOffset: float, yOffset: float, zOffset: float, rotX: float, rotY: float, rotZ: float, boneIndex: int, scale: float)

Start particle effect on ped bone

void StopParticleFx(ptfxHandle: int)

Stop particle effect

void SetParticleFxNonLooped(fxName: string)

Use non-looped ptfx asset

void SetParticleFxColour(ptfxHandle: int, r: float, g: float, b: float)

Set particle effect color

void SetParticleFxScale(ptfxHandle: int, scale: float)

Set particle effect scale

float, float, bool WorldToScreen(x: float, y: float, z: float)

Convert world coords to screen

Vector3, Vector3 ScreenToWorld(screenX: float, screenY: float)

Convert screen coords to world

int, int GetScreenResolution()

Get screen resolution

float GetAspectRatio()

Get screen aspect ratio

void SetNightvision(toggle: bool)

Enable/disable nightvision

void SetSeethrough(toggle: bool)

Enable/disable thermal vision

void AnimpostfxPlay(effectName: string, duration: int, looped: bool)

Play screen effect

void AnimpostfxStop(effectName: string)

Stop screen effect

bool AnimpostfxIsRunning(effectName: string)

Check if effect is running

void AnimpostfxStopAll()

Stop all screen effects

UI

User interface and HUD functions

int ShowNotification(text: string, blink: bool = false)

Show notification

void ShowSubtitle(text: string, duration: int)

Show subtitle text

void ShowHelpText(text: string, looped: bool)

Show help text (top left)

void HideHelpText()

Hide help text

bool IsHelpTextBeingDisplayed()

Check if help text is shown

void AddTextEntry(entryKey: string, text: string)

Add text entry for labels

bool DoesTextLabelExist(label: string)

Check if text label exists

string GetLabelText(label: string)

Get text from label

void ShowWarning(title: string, msg: string, duration: int)

Show big warning message

void HideHud(toggle: bool)

Hide entire HUD

void HideHudComponent(componentId: int)

Hide specific HUD component

void ShowHudComponent(componentId: int)

Show specific HUD component

bool IsHudComponentActive(componentId: int)

Check if HUD component is active

void DisplayRadar(toggle: bool)

Show/hide minimap

void SetRadarZoom(zoomLevel: int)

Set minimap zoom level (0-200)

void SetRadarBigmapEnabled(toggle: bool, fullMap: bool)

Enable expanded minimap

void SetWaypointOff()

Clear GPS waypoint

void SetNewWaypoint(x: float, y: float)

Set GPS waypoint

bool IsWaypointActive()

Check if waypoint is set

Vector3 GetWaypointCoords()

Get waypoint coordinates

void SetGpsRoute(blip: int, toggle: bool)

Set GPS route to blip

void ClearGpsRoute()

Clear GPS route

void FlashMinimapDisplay()

Flash minimap

int RequestScaleformMovie(scaleformName: string)

Request scaleform movie

bool HasScaleformMovieLoaded(scaleformHandle: int)

Check if scaleform is loaded

void BeginScaleformMethod(scaleformHandle: int, methodName: string)

Begin scaleform method call

void ScaleformMovieMethodAddParamInt(value: int)

Add int parameter

void ScaleformMovieMethodAddParamFloat(value: float)

Add float parameter

void ScaleformMovieMethodAddParamBool(value: bool)

Add bool parameter

void ScaleformMovieMethodAddParamString(value: string)

Add string parameter

void EndScaleformMethod()

End and execute scaleform method

void DrawScaleformMovie(scaleformHandle: int, x: float, y: float, width: float, height: float, r: int, g: int, b: int, a: int)

Draw scaleform movie

void DrawScaleformMovieFullscreen(scaleformHandle: int, r: int, g: int, b: int, a: int)

Draw scaleform fullscreen

Entity

Entity constructor module. Use Entity.new(handle), then call snake_case methods on the instance

bool Exists(entity: int)

Check if entity exists

void Delete(entity: int)

Delete entity

int GetType(entity: int)

Get entity type (1=Ped, 2=Vehicle, 3=Object)

int GetModel(entity: int)

Get entity model hash

Vector3 GetPosition(entity: int)

Get entity position

void SetPosition(entity: int, x: float, y: float, z: float, clearArea: bool = true)

Set entity position

Vector3 GetRotation(entity: int, rotOrder: int = 2)

Get entity rotation

void SetRotation(entity: int, pitch: float, roll: float, yaw: float, rotOrder: int = 2)

Set entity rotation

float GetHeading(entity: int)

Get entity heading (yaw)

void SetHeading(entity: int, heading: float)

Set entity heading

Vector3 GetVelocity(entity: int)

Get entity velocity

void SetVelocity(entity: int, x: float, y: float, z: float)

Set entity velocity

float GetSpeed(entity: int)

Get entity speed

Vector3 GetForwardVector(entity: int)

Get entity forward direction

Vector3 GetUpVector(entity: int)

Get entity up direction

Vector3 GetRightVector(entity: int)

Get entity right direction

int GetHealth(entity: int)

Get entity health

void SetHealth(entity: int, health: int)

Set entity health

int GetMaxHealth(entity: int)

Get entity max health

void SetMaxHealth(entity: int, maxHealth: int)

Set entity max health

bool IsDead(entity: int)

Check if entity is dead

bool IsAlive(entity: int)

Check if entity is alive

bool IsVisible(entity: int)

Check if entity is visible

void SetVisible(entity: int, toggle: bool)

Set entity visibility

bool IsOnScreen(entity: int)

Check if entity is on screen

bool IsInWater(entity: int)

Check if entity is in water

bool IsInAir(entity: int)

Check if entity is in air

bool IsOnFire(entity: int)

Check if entity is on fire

void SetOnFire(entity: int)

Set entity on fire

void StopFire(entity: int)

Stop entity fire

void SetInvincible(entity: int, toggle: bool)

Set entity invincibility

void SetCanBeDamaged(entity: int, toggle: bool)

Set if entity can be damaged

void FreezePosition(entity: int, toggle: bool)

Freeze entity position

void SetCollision(entity: int, toggle: bool, keepPhysics: bool)

Set entity collision

bool HasCollision(entity: int)

Check if entity has collision

bool IsAttached(entity: int)

Check if entity is attached

int GetAttachedTo(entity: int)

Get entity attached to

void AttachTo(entity: int, target: int, boneIndex: int, xPos: float, yPos: float, zPos: float, xRot: float, yRot: float, zRot: float, collision: bool, useSoftPinning: bool)

Attach entity to another

void Detach(entity: int, applyVelocity: bool)

Detach entity

void SetAlpha(entity: int, alpha: int)

Set entity alpha/transparency

int GetAlpha(entity: int)

Get entity alpha

void ResetAlpha(entity: int)

Reset entity alpha to full

void SetAsMissionEntity(entity: int, toggle: bool)

Set as mission entity (won't despawn)

void SetAsNoLongerNeeded(entity: int)

Mark entity as no longer needed

bool RequestControl(entity: int)

Request network control of entity

bool HasControl(entity: int)

Check if we have control of entity

int GetNetworkId(entity: int)

Get entity network ID

int GetFromNetworkId(networkId: int)

Get entity from network ID

bool IsNetworked(entity: int)

Check if entity is networked

float GetDistanceTo(entity: int, target: int)

Get distance to another entity

float GetDistanceToCoords(entity: int, x: float, y: float, z: float)

Get distance to coordinates

void ApplyForce(entity: int, forceType: int, x: float, y: float, z: float, offX: float, offY: float, offZ: float, boneIndex: int, isDirectionRel: bool, ignoreUpVec: bool, isForceRel: bool)

Apply physics force to entity

Math

Math utility functions

float Distance(x1: float, y1: float, z1: float, x2: float, y2: float, z2: float)

Calculate 3D distance between two points

float Distance2D(x1: float, y1: float, x2: float, y2: float)

Calculate 2D distance between two points

float Lerp(a: float, b: float, t: float)

Linear interpolation between values

float Clamp(value: float, min: float, max: float)

Clamp value between min and max

float DegToRad(degrees: float)

Convert degrees to radians

float RadToDeg(radians: float)

Convert radians to degrees

Vector3 DirectionToRotation(dirX: float, dirY: float, dirZ: float)

Convert direction vector to rotation

Vector3 RotationToDirection(pitch: float, roll: float, yaw: float)

Convert rotation to direction vector

float HeadingFromTo(fromX: float, fromY: float, toX: float, toY: float)

Get heading from one point to another

int RandomInt(min: int, max: int)

Get random integer

float RandomFloat(min: float, max: float)

Get random float

Self

Local player convenience functions

int GetPed()

Get local player ped handle

int GetPlayerId()

Get local player ID

Vector3 GetPosition()

Get local player position

void SetPosition(x: float, y: float, z: float)

Set local player position

float GetHeading()

Get local player heading

void SetHeading(heading: float)

Set local player heading

int GetVehicle()

Get vehicle local player is in

bool IsInVehicle()

Check if local player is in vehicle

int GetHealth()

Get local player health

void SetHealth(health: int)

Set local player health

int GetArmour()

Get local player armour

void SetArmour(armour: int)

Set local player armour

int GetWantedLevel()

Get wanted level (0-5)

void SetWantedLevel(level: int)

Set wanted level

void ClearWantedLevel()

Clear wanted level

int GetMoney()

Get current money amount

void SetMoney(amount: int)

Set money amount

void GiveWeapon(weaponHash: int, ammo: int, equipNow: bool)

Give weapon to self

void RemoveWeapon(weaponHash: int)

Remove weapon from self

void RemoveAllWeapons()

Remove all weapons

int GetCurrentWeapon()

Get current weapon hash

void SetCurrentWeapon(weaponHash: int)

Set current weapon

void SetInvincible(toggle: bool)

Set local player invincible

void SetNeverWanted(toggle: bool)

Set never wanted mode

void SetSuperJump(toggle: bool)

Enable super jump

void SetUnlimitedStamina(toggle: bool)

Enable unlimited stamina

void SetFastRun(toggle: bool)

Enable fast run

void SetFastSwim(toggle: bool)

Enable fast swim

void SetNoRagdoll(toggle: bool)

Disable ragdoll

Online

GTA Online specific functions

bool IsOnline()

Check if in GTA Online

bool IsSessionActive()

Check if in active session

int GetPlayerCount()

Get number of players in session

int GetMaxPlayers()

Get max players in session

table<int> GetAllPlayers()

Get all player IDs

string GetPlayerName(playerId: int)

Get player name by ID

int GetPlayerPed(playerId: int)

Get player's ped

int GetPlayerTeam(playerId: int)

Get player's team

bool IsPlayerDead(playerId: int)

Check if player is dead

bool IsPlayerInVehicle(playerId: int)

Check if player is in vehicle

int GetPlayerVehicle(playerId: int)

Get player's vehicle

Vector3 GetPlayerPosition(playerId: int)

Get player's position

float GetPlayerHeading(playerId: int)

Get player's heading

int GetPlayerHealth(playerId: int)

Get player's health

int GetPlayerArmour(playerId: int)

Get player's armour

int GetPlayerWantedLevel(playerId: int)

Get player's wanted level

bool IsPlayerHost(playerId: int)

Check if player is session host

bool IsLocalPlayer(playerId: int)

Check if ID is local player

int GetHost()

Get session host ID

int GetScriptHost()

Get script host ID

SyncNodes

Network sync data node access for advanced manipulation

CPedCreationDataNode GetPedCreation(ped: int)

Get CPedCreationDataNode for ped

CPedGameStateDataNode GetPedGameState(ped: int)

Get CPedGameStateDataNode for ped

CVehicleCreationDataNode GetVehicleCreation(vehicle: int)

Get CVehicleCreationDataNode for vehicle

CVehicleGameStateDataNode GetVehicleGameState(vehicle: int)

Get CVehicleGameStateDataNode for vehicle

CVehicleHealthDataNode GetVehicleHealth(vehicle: int)

Get CVehicleHealthDataNode for vehicle

CPlayerGameStateDataNode GetPlayerGameState(player: int)

Get CPlayerGameStateDataNode for player

void WriteNode(entity: int, nodeType: int)

Force write node data to network

CHandlingData

Vehicle handling data controlling physics and behavior. CHandlingData is a fixed-layout struct pointed to by CVehicle+0x960 (dereferenced); every f*/n*/vec* field documented below lives at a real byte offset inside it, and the struct also owns an array of per-vehicle-type sub-handling data (CCarHandlingData / CBikeHandlingData / CBoatHandlingData / CFlyingHandlingData - see those entries) reachable through its sub-handling array.

CHandlingData FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

CHandlingData GetForVehicle(vehicle: int)

Get handling data for vehicle

float fMass()

Vehicle mass in kg

float fInitialDragCoeff()

Initial drag coefficient

float fDownforceModifier()

Downforce modifier

float fPopUpLightRotation()

Popup light rotation

Vector3 vecCentreOfMassOffset()

Centre of mass offset (X,Y,Z)

Vector3 vecInertiaMultiplier()

Inertia multiplier (X,Y,Z)

float fPercentSubmerged()

Percent submerged when floating

float fSubmergedRatio()

Submerged ratio

float fDriveBiasFront()

Drive bias front (0.0=rear, 1.0=front)

float fDriveBiasRear()

Drive bias rear

int nInitialDriveGears()

Number of drive gears

float fInitialDriveForce()

Initial drive force

float fDriveInertia()

Drive inertia

float fClutchChangeRateScaleUpShift()

Clutch upshift rate

float fClutchChangeRateScaleDownShift()

Clutch downshift rate

float fInitialDriveMaxFlatVel()

Max flat velocity (top speed)

float fBrakeForce()

Brake force

float fBrakeBiasFront()

Brake bias front

float fHandBrakeForce()

Handbrake force

float fSteeringLock()

Steering lock angle

float fTractionCurveMax()

Max traction curve

float fTractionCurveMin()

Min traction curve

float fTractionCurveLateral()

Lateral traction curve

float fTractionSpringDeltaMax()

Traction spring delta max

float fLowSpeedTractionLossMult()

Low speed traction loss multiplier

float fCamberStiffness()

Camber stiffness

float fTractionBiasFront()

Traction bias front

float fTractionLossMult()

Traction loss multiplier

float fSuspensionForce()

Suspension force

float fSuspensionCompDamp()

Suspension compression damping

float fSuspensionReboundDamp()

Suspension rebound damping

float fSuspensionUpperLimit()

Suspension upper limit

float fSuspensionLowerLimit()

Suspension lower limit

float fSuspensionRaise()

Suspension raise

float fSuspensionBiasFront()

Suspension bias front

float fAntiRollBarForce()

Anti-roll bar force

float fAntiRollBarBiasFront()

Anti-roll bar bias front

float fRollCentreHeightFront()

Roll centre height front

float fRollCentreHeightRear()

Roll centre height rear

float fCollisionDamageMult()

Collision damage multiplier

float fWeaponDamageMult()

Weapon damage multiplier

float fDeformationDamageMult()

Deformation damage multiplier

float fEngineDamageMult()

Engine damage multiplier

float fPetrolTankVolume()

Petrol tank volume

float fOilVolume()

Oil volume

float fSeatOffsetDistX()

Seat offset X

float fSeatOffsetDistY()

Seat offset Y

float fSeatOffsetDistZ()

Seat offset Z

int nMonetaryValue()

Monetary/sell value

int strModelFlags()

Model flags

int strHandlingFlags()

Handling flags

int strDamageFlags()

Damage flags

atArray<CBaseSubHandlingData*> m_subHandlingData()

atArray of pointers to the vehicle-type-specific sub-handling block (CCarHandlingData/CBikeHandlingData/CBoatHandlingData/CFlyingHandlingData) at CHandlingData+0x158

float ReadMassViaMemory(vehicle: handle)

Reads and edits fMass directly at its known byte offset instead of going through a wrapper setter.

Usage example
local vehiclePtr = memory.handle_to_pointer(vehicle)
local handlingPtr = memory.read_pointer(vehiclePtr + 0x960)
local mass = memory.read_float(handlingPtr + 0xC)
memory.write_float(handlingPtr + 0xC, mass * 0.5) -- halve the mass

CBaseSubHandlingData

Common base for the four vehicle-type-specific handling blocks (CCarHandlingData, CBikeHandlingData, CBoatHandlingData, CFlyingHandlingData). CHandlingData stores an array of these; the concrete pointer actually used at runtime is picked based on the vehicle's type and backs whichever type-specific fields apply to that vehicle.

int32 m_handlingType()

Sub-handling type tag identifying which concrete subtype this pointer really is, at CBaseSubHandlingData+0xC8

int ReadHandlingTypeViaMemory(vehicle: handle)

Reads the sub-handling type tag from the first entry in a vehicle's CHandlingData sub-handling array.

Usage example
local vehiclePtr = memory.handle_to_pointer(vehicle)
local handlingPtr = memory.read_pointer(vehiclePtr + 0x960)
local dataPtr = memory.read_pointer(handlingPtr + 0x158) -- atArray data pointer
local subHandlingPtr = memory.read_pointer(dataPtr) -- first entry, dereferenced
local handlingType = memory.read_int(subHandlingPtr + 0xC8)
print("sub-handling type:", handlingType)

CCarHandlingData

Car-specific handling tuning block, reached through CHandlingData's sub-handling array when the vehicle's type is a car. Holds suspension geometry (toe/camber/castor) and impulse tuning that only applies to four-wheeled vehicles.

float m_backEndPopupCarImpulseMult()

Rear-end popup impulse multiplier against other cars, at CCarHandlingData+0x8

float m_toeFront()

Front wheel toe angle, at CCarHandlingData+0x14

float m_toeRear()

Rear wheel toe angle, at CCarHandlingData+0x18

float m_camberFront()

Front wheel camber angle, at CCarHandlingData+0x1C

float m_camberRear()

Rear wheel camber angle, at CCarHandlingData+0x20

float m_castor()

Castor angle, at CCarHandlingData+0x24

float m_engineResistance()

Engine braking resistance, at CCarHandlingData+0x28

float ReadToeFrontViaMemory(carSubHandlingPtr: int)

Reads the front toe angle from a car's CCarHandlingData block.

Usage example
local toeFront = memory.read_float(carSubHandlingPtr + 0x14)
print("front toe:", toeFront)

CBikeHandlingData

Bike/quad lean and balance tuning block, reached through CHandlingData's sub-handling array for two-wheeled vehicles. Controls how far the rider leans into turns and how wheelies/stoppies balance.

float m_leanFwdComMult()

Forward lean centre-of-mass multiplier, at CBikeHandlingData+0x8

float m_maxBankAngle()

Maximum bike bank angle, at CBikeHandlingData+0x18

float m_wheelieBalancePoint()

Wheelie balance point, at CBikeHandlingData+0x34

float m_stoppieBalanceMult()

Stoppie balance multiplier, at CBikeHandlingData+0x38

float ReadMaxBankAngleViaMemory(bikeSubHandlingPtr: int)

Reads a bike's maximum lean/bank angle from its CBikeHandlingData block.

Usage example
local maxBank = memory.read_float(bikeSubHandlingPtr + 0x18)
print("max bank angle:", maxBank)

CBoatHandlingData

Boat-specific sub-handling block reached through CHandlingData's sub-handling array for watercraft. It carries no additional tunable fields beyond the shared CBaseSubHandlingData type tag - boat buoyancy and thrust are driven by CVehicle's own physics and model info fields instead.

int32 m_handlingType()

Inherited sub-handling type tag, at CBoatHandlingData+0xC8 (same layout as CBaseSubHandlingData)

int ReadHandlingTypeViaMemory(boatSubHandlingPtr: int)

Confirms a resolved sub-handling pointer is really a boat block by reading the shared type tag.

Usage example
local handlingType = memory.read_int(boatSubHandlingPtr + 0xC8)
print("handling type tag:", handlingType)

CFlyingHandlingData

Aircraft handling tuning block for planes and helicopters, reached through CHandlingData's sub-handling array. Covers thrust, control-surface response and turbulence.

float m_thrust()

Base thrust value, at CFlyingHandlingData+0x8

float m_yawMult()

Yaw control multiplier, at CFlyingHandlingData+0x1C

float m_rollMult()

Roll control multiplier, at CFlyingHandlingData+0x2C

float m_pitchMult()

Pitch control multiplier, at CFlyingHandlingData+0x38

float m_liftMult()

Lift multiplier, at CFlyingHandlingData+0x44

float ReadThrustViaMemory(flyingSubHandlingPtr: int)

Reads and doubles an aircraft's base thrust value directly on its CFlyingHandlingData block.

Usage example
local thrust = memory.read_float(flyingSubHandlingPtr + 0x8)
memory.write_float(flyingSubHandlingPtr + 0x8, thrust * 2.0)

CWheel

Per-wheel runtime state for a vehicle, one instance per entry in CVehicle's wheel array. Tracks suspension compression, tyre health/temperature and per-wheel dynamic/config flags, separately from the shared, vehicle-wide CHandlingData.

float m_tyreRadius()

Current tyre radius, at CWheel+0x110

float m_rimRadius()

Rim radius, at CWheel+0x114

float m_suspensionHealth()

Suspension health, at CWheel+0x1E8 (100 = default, 0 can trigger detachment)

float m_tyreHealth()

Tyre health, at CWheel+0x1EC (0 = tyre gone, below roughly 500 = flat)

float m_rotationSpeed()

Wheel rotation speed, at CWheel+0x170

float m_steeringAngle()

Per-wheel steering angle, at CWheel+0x1CC

bool m_tyreIsBurst()

Burst flag byte, at CWheel+0x20B

float ReadTyreHealthViaMemory(vehicle: handle)

Walks a vehicle's wheel array and reads the first wheel's tyre health.

Usage example
local vehiclePtr = memory.handle_to_pointer(vehicle)
local wheelArrayData = memory.read_pointer(vehiclePtr + 0xC30) -- atArray data pointer
local firstWheelPtr = memory.read_pointer(wheelArrayData) -- CWheel* stored in the array
local tyreHealth = memory.read_float(firstWheelPtr + 0x1EC)
print("front-left tyre health:", tyreHealth)

CTransmission

Per-vehicle transmission state, embedded directly inside CVehicle rather than reached through a separate pointer. Tracks the active gear, RPM, clutch/throttle blend and the per-gear ratio table used to derive top speed for each gear.

uint8 m_currentGear()

Active gear index, at CTransmission+0x0

uint8 m_topGear()

Highest available gear, at CTransmission+0x6

float[11] m_gearRatios()

Array of 11 per-gear ratio floats (reverse + 10 forward), starting at CTransmission+0xC, 4 bytes apart

float m_rpm()

Current engine RPM (normalized), at CTransmission+0x48

float m_clutch()

Clutch engagement, at CTransmission+0x54

float m_throttle()

Throttle input, at CTransmission+0x58

float ReadRpmViaMemory(vehicle: handle)

Reads a vehicle's current RPM straight out of its embedded CTransmission block.

Usage example
local vehiclePtr = memory.handle_to_pointer(vehicle)
local transmissionPtr = vehiclePtr + 0x880 -- CTransmission is embedded, no extra pointer hop
local rpm = memory.read_float(transmissionPtr + 0x48)
print("rpm (0-1):", rpm)

CWeaponInfo

Weapon information and configuration. Every property above is backed by a real field on the underlying struct; ClipSize and Damage, for example, sit at fixed offsets readable directly once you have a validated CWeaponInfo pointer (typically obtained through CPedWeaponManager, see that entry).

CWeaponInfo FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

CWeaponInfo GetForHash(weaponHash: int)

Get weapon info for weapon hash

CWeaponInfo GetForCurrentWeapon()

Get weapon info for current weapon

int WeaponHash()

Weapon hash

int AmmoInfoHash()

Ammo info hash

int ClipSize()

Magazine/clip size

float AccuracySpread()

Accuracy spread

float AccurateModeAccuracyModifier()

Accurate mode accuracy modifier

float RunAndGunAccuracyModifier()

Run and gun accuracy modifier

float RecoilAccuracyMax()

Recoil accuracy max

float RecoilErrorTime()

Recoil error time

float RecoilRecoveryRate()

Recoil recovery rate

float RecoilAccuracyToAllowHeadshotPlayer()

Recoil accuracy for headshot

float MinHeadshotDistancePlayer()

Min headshot distance (player)

float MaxHeadshotDistancePlayer()

Max headshot distance (player)

float HeadshotDamageModifierPlayer()

Headshot damage modifier (player)

float Damage()

Base weapon damage

float DamageTime()

Damage time

float DamageTimeInVehicle()

Damage time in vehicle

float DamageTimeInVehicleHeadShot()

Damage time vehicle headshot

float HitLimbsDamageModifier()

Limb damage modifier

float NetworkHitLimbsDamageModifier()

Network limb damage modifier

float LightlyArmouredDamageModifier()

Light armour damage modifier

float VehicleDamageModifier()

Vehicle damage modifier

float Force()

Weapon force

float ForceHitPed()

Force hit ped

float ForceHitVehicle()

Force hit vehicle

float ForceHitFlyingHeli()

Force hit flying heli

float OverrideForce()

Override force

float ForceMaxStrengthMult()

Force max strength multiplier

float ForceFalloffRangeStart()

Force falloff range start

float ForceFalloffRangeEnd()

Force falloff range end

float ForceFalloffMin()

Force falloff min

float ProjectileForce()

Projectile force

float FragImpulse()

Fragment impulse

float Penetration()

Penetration value

float VerticalLaunchAdjustment()

Vertical launch adjustment

float DropForwardVelocity()

Drop forward velocity

float Speed()

Bullet/projectile speed

int BulletsInBatch()

Bullets per shot

float BatchSpread()

Batch spread

float ReloadTimeMP()

Reload time (multiplayer)

float ReloadTimeSP()

Reload time (singleplayer)

float VehicleReloadTime()

Vehicle reload time

float AnimReloadRate()

Animation reload rate

int BulletsPerAnimLoop()

Bullets per animation loop

float TimeBetweenShots()

Time between shots

int FiringPatternAliasHash()

Firing pattern alias hash

int FiringPatternHash()

Firing pattern hash

float SpinUpTime()

Spin up time (miniguns)

float SpinTime()

Spin time

float SpinDownTime()

Spin down time

float AiSoundRange()

AI sound range

float AiPotentialBlastEventRange()

AI potential blast range

float DamageFallOffRangeMin()

Damage falloff range min

float DamageFallOffRangeMax()

Damage falloff range max

float DamageFallOffModifier()

Damage falloff modifier

float WeaponRange()

Weapon effective range

float BulletDirectionOffsetInDegrees()

Bullet direction offset (degrees)

bool IsSilenced()

Check if silenced

int WeaponType()

Weapon type enum

int WeaponWheelSlot()

Weapon wheel slot

int WeaponGroup()

Weapon group hash

uint32 m_nameHash()

Weapon name hash, at CWeaponInfo+0x10

uint32 m_clipSize()

Magazine size, at CWeaponInfo+0x70 (mirrors the ClipSize property above)

float m_damage()

Base damage, at CWeaponInfo+0xB0 (mirrors the Damage property above)

int ReadClipSizeViaMemory(weaponInfoPtr: int)

Reads and edits a weapon's clip size directly at its known offset.

Usage example
local clipSize = memory.read_uint(weaponInfoPtr + 0x70)
memory.write_int(weaponInfoPtr + 0x70, clipSize * 2) -- double the magazine size

CPedModelInfo

Ped model information class

CPedModelInfo FromAddress(address: int)

Create from memory address

CPedModelInfo FromBaseModelInfo(base: CBaseModelInfo)

Create from base model info

int GetAddress()

Get memory address

int Model()

Model hash

int ModelIndex()

Model index

int PersonalityHash()

Personality hash

int StreamedPedType()

Streamed ped type

int MovementClipSet()

Movement clip set

int DefaultMovementClipSet()

Default movement clip set

int StrafeClipSet()

Strafe clip set

int MovementToStrafeClipSet()

Movement to strafe clip set

int InjuredStrafeClipSet()

Injured strafe clip set

int FullBodyDamageClipSet()

Full body damage clip set

int AdditiveDamageClipSet()

Additive damage clip set

int DefaultGestureClipSet()

Default gesture clip set

int FacialClipSetGroup()

Facial clip set group

int DefaultVisemeClipSet()

Default viseme clip set

int PoseMatcherName()

Pose matcher name

int PoseMatcherProneName()

Pose matcher prone name

int GetExpressionSetName()

Get expression set name

int MotionTaskDataSetName()

Motion task data set name

int DefaultTaskDataSetName()

Default task data set name

int PedCapsuleName()

Ped capsule name

int PedCompVarMetaDataName()

Ped component variable metadata

int PedBoneTagName()

Ped bone tag name

int HeadIkClampProneMode()

Head IK clamp prone mode

bool IsMale()

Check if male ped

bool IsFemale()

Check if female ped

bool IsHuman()

Check if human ped

bool IsAnimal()

Check if animal ped

bool IsGangPed()

Check if gang ped

bool IsCop()

Check if cop ped

CPed

Ped entity class with AI and state control. Internally CPed extends CEntity with ped-specific state: pointers to its intelligence/inventory/weapon-manager sub-objects, an embedded velocity vector, and raw armour/cash fields that sit at fixed offsets readable directly with memory.* once you have the ped's base pointer.

CPed FromAddress(address: int)

Create from memory address

CPed FromHandle(handle: int)

Create from script handle

int GetAddress()

Get memory address

Usage example
int object:GetAddress()
int GetHandle()

Get script handle

Vector3 GetPosition()

Get world position

void SetPosition(pos: Vector3)

Set world position

Vector3 GetRotation()

Get rotation (pitch, roll, yaw)

void SetRotation(rot: Vector3)

Set rotation

float GetHeading()

Get heading angle

void SetHeading(heading: float)

Set heading angle

Vector3 GetVelocity()

Get velocity vector

void SetVelocity(vel: Vector3)

Set velocity vector

int GetHealth()

Get current health

void SetHealth(health: int)

Set current health

int GetMaxHealth()

Get maximum health

void SetMaxHealth(maxHealth: int)

Set maximum health

int GetArmour()

Get current armour

void SetArmour(armour: int)

Set current armour

CPedIntelligence Intelligence()

Get ped intelligence

CPlayerInfo PlayerInfo()

Get player info (if player ped)

Usage example
CPlayerInfo object.PlayerInfo
CPedWeaponManager WeaponManager()

Get weapon manager

CPedDrawHandler DrawHandler()

Get draw handler

bool IsPlayer()

Check if is player ped

Usage example
bool object:IsPlayer()
bool IsLocalPlayer()

Check if is local player

bool IsAlive()

Check if alive

bool IsDead()

Check if dead

bool IsInVehicle()

Check if in any vehicle

Usage example
bool object:IsInVehicle()
bool IsInVehicleSeat(vehicle: int, seat: int)

Check if in specific vehicle seat

int GetVehicle()

Get current vehicle

int GetLastVehicle()

Get last used vehicle

bool GetSeatBelt()

Get seatbelt state

void SetSeatBelt(on: bool)

Set seatbelt state

bool GetHelmet()

Check if wearing helmet

bool IsRagdoll()

Check if ragdolling

bool IsSwimming()

Check if swimming

bool IsOnFoot()

Check if on foot

bool IsShooting()

Check if shooting

bool IsReloading()

Check if reloading

bool IsJumping()

Check if jumping

bool IsFalling()

Check if falling

bool IsClimbing()

Check if climbing

bool IsGettingIntoVehicle()

Check if getting into vehicle

bool IsInCombat()

Check if in combat

bool IsAiming()

Check if aiming

bool IsFleeing()

Check if fleeing

bool IsInCover()

Check if in cover

int Accuracy()

Ped accuracy (0-100)

int PedType()

Ped type enum

int RelationshipGroup()

Relationship group hash

int CurrentWeaponHash()

Current weapon hash

Vector3 GetBonePosition(boneId: int)

Get bone world position

Vector3 GetBoneRotation(boneId: int)

Get bone rotation

int GetBoneIndex(boneId: int)

Get bone index from ID

void AttachTo(entity: int, boneIndex: int, offset: Vector3, rotation: Vector3)

Attach to another entity

void Detach()

Detach from current attachment

bool IsAttached()

Check if attached

int GetAttachedTo()

Get attached entity

uint32 m_pedType()

Packed ped type/flags dword, at CPed+0x1098 (the ped type enum is bit-packed inside it, e.g. (value << 11) >> 25)

CPedWeaponManager* m_weaponManagerPtr()

Pointer to this ped's CPedWeaponManager, at CPed+0x10B8 (dereference; nil for unarmed peds)

CPlayerInfo* m_playerInfoPtr()

Pointer to CPlayerInfo, at CPed+0x10A8 (dereference; only meaningful for player peds)

float m_armour()

Armour value, at CPed+0x150C

uint16 m_cash()

Cached cash amount, at CPed+0x1614

float ReadArmourViaMemory(ped: handle)

Reads a ped's armour value directly from its CPed struct.

Usage example
local ptr = memory.handle_to_pointer(ped)
local armour = memory.read_float(ptr + 0x150C)
print("armour:", armour)
number Armor()

Member available through Scooby's native Lua API.

Usage example
number object.Armor
CVehicle CurVehicle()

Member available through Scooby's native Lua API.

Usage example
CVehicle object.CurVehicle
void DisableInvincible()

Member available through Scooby's native Lua API.

Usage example
void object:DisableInvincible()
void EnableInvincible()

Member available through Scooby's native Lua API.

Usage example
void object:EnableInvincible()
CPed FromAddress(int address)

Member available through Scooby's native Lua API.

Usage example
CPed CPed.FromAddress(int address)
fwAttachmentEntityExtension GetAttachmentExtension()

Check if the extension is not nil before using it.

Usage example
fwAttachmentEntityExtension object:GetAttachmentExtension()
eEntityType GetType()

Member available through Scooby's native Lua API.

Usage example
eEntityType object:GetType()
V3 GetVelocity()

Returns the current velocity vector in meters per second.

Usage example
V3 object:GetVelocity()
number Health()

Member available through Scooby's native Lua API.

Usage example
number object.Health
number HeightMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.HeightMultiplier
bool IsDynamic()

Member available through Scooby's native Lua API.

Usage example
bool object.IsDynamic
bool IsFixed()

Member available through Scooby's native Lua API.

Usage example
bool object.IsFixed
bool IsFixedByNetwork()

Member available through Scooby's native Lua API.

Usage example
bool object.IsFixedByNetwork
bool IsInWater()

Member available through Scooby's native Lua API.

Usage example
bool object.IsInWater
bool IsInvincible()

Member available through Scooby's native Lua API.

Usage example
bool object:IsInvincible()
bool IsNotBuoyant()

Member available through Scooby's native Lua API.

Usage example
bool object.IsNotBuoyant
bool IsObject()

Member available through Scooby's native Lua API.

Usage example
bool object:IsObject()
bool IsPed()

Member available through Scooby's native Lua API.

Usage example
bool object:IsPed()
bool IsPhysical()

Member available through Scooby's native Lua API.

Usage example
bool object:IsPhysical()
bool IsRenderScorched()

Member available through Scooby's native Lua API.

Usage example
bool object.IsRenderScorched
bool IsVehicle()

Member available through Scooby's native Lua API.

Usage example
bool object:IsVehicle()
bool IsVisible()

Member available through Scooby's native Lua API.

Usage example
bool object.IsVisible
CVehicle LastVehicle()

Member available through Scooby's native Lua API.

Usage example
CVehicle object.LastVehicle
number MaxHealth()

Member available through Scooby's native Lua API.

Usage example
number object.MaxHealth
CBaseModelInfo ModelInfo()

Check if 'object.ModelInfo' is not nil before using it.

Usage example
CBaseModelInfo object.ModelInfo
CNetObject NetObject()

Check if 'object.NetObject' is not nil before using it.

Usage example
CNetObject object.NetObject
V3 Position()

Member available through Scooby's native Lua API.

Usage example
V3 object.Position
number ThicknessMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.ThicknessMultiplier
number WidthMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.WidthMultiplier

CVehicle

Raw memory layout of a vehicle entity. CVehicle extends CEntity with vehicle-specific state: pointers to its model info and handling data, an embedded transmission, a wheel array, and cached physics values such as engine health and velocity. Resolve the base pointer with memory.handle_to_pointer on a vehicle's script handle, then apply the offsets below.

CVehicleModelInfo* m_modelInfoPtr()

Pointer to this vehicle's CVehicleModelInfo, at CVehicle+0x20 (dereference; shared with CEntity's model info slot)

CHandlingData* m_handlingDataPtr()

Pointer to this vehicle's CHandlingData, at CVehicle+0x960 (dereference to reach the struct)

fVector3 m_velocity()

World-space velocity vector (fVector3), at CVehicle+0x7D0

float m_engineHealth()

Engine health, at CVehicle+0x910

CTransmission m_transmission()

Embedded CTransmission block, at CVehicle+0x880 (see CTransmission)

atArray<CWheel*> m_wheelsArray()

atArray of CWheel* entries, at CVehicle+0xC30 (see CWheel)

float m_steeringAngle()

Current steering angle, at CVehicle+0x9DC

uint32 m_doorLockStatus()

Door lock state enum, at CVehicle+0x13D0

float, float, float ReadVelocityViaMemory(vehicle: handle)

Reads a vehicle's raw velocity vector directly, bypassing any wrapper getter.

Usage example
local ptr = memory.handle_to_pointer(vehicle)
local vx = memory.read_float(ptr + 0x7D0)
local vy = memory.read_float(ptr + 0x7D4)
local vz = memory.read_float(ptr + 0x7D8)
print(string.format("velocity: %.2f, %.2f, %.2f", vx, vy, vz))
int BodyDirtColor()

Member available through Scooby's native Lua API.

Usage example
int object.BodyDirtColor
number BodyHealth()

Member available through Scooby's native Lua API.

Usage example
number object.BodyHealth
number Brake()

Member available through Scooby's native Lua API.

Usage example
number object.Brake
number CheatPowerIncrease()

Member available through Scooby's native Lua API.

Usage example
number object.CheatPowerIncrease
number DirtLevel()

0.0=fully clean, 15.0=maximum dirt visible

Usage example
number object.DirtLevel
void DisableInvincible()

Member available through Scooby's native Lua API.

Usage example
void object:DisableInvincible()
void EnableInvincible()

Member available through Scooby's native Lua API.

Usage example
void object:EnableInvincible()
CVehicle FromAddress(int address)

Member available through Scooby's native Lua API.

Usage example
CVehicle CVehicle.FromAddress(int address)
int GetAddress()

Member available through Scooby's native Lua API.

Usage example
int object:GetAddress()
fwAttachmentEntityExtension GetAttachmentExtension()

Check if the extension is not nil before using it.

Usage example
fwAttachmentEntityExtension object:GetAttachmentExtension()
CPed GetDriver()

Member available through Scooby's native Lua API.

Usage example
CPed object:GetDriver()
CPed GetLastDriver()

Member available through Scooby's native Lua API.

Usage example
CPed object:GetLastDriver()
int GetMaxSeats()

Member available through Scooby's native Lua API.

Usage example
int object:GetMaxSeats()
CPed GetPedInSeat(int seatIndex)

Member available through Scooby's native Lua API.

Usage example
CPed object:GetPedInSeat(int seatIndex)
eEntityType GetType()

Member available through Scooby's native Lua API.

Usage example
eEntityType object:GetType()
V3 GetVelocity()

Returns the current velocity vector in meters per second.

Usage example
V3 object:GetVelocity()
bool HandBrake()

Member available through Scooby's native Lua API.

Usage example
bool object.HandBrake
number HeadlightMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.HeadlightMultiplier
number HeightMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.HeightMultiplier
bool IsDynamic()

Member available through Scooby's native Lua API.

Usage example
bool object.IsDynamic
bool IsFixed()

Member available through Scooby's native Lua API.

Usage example
bool object.IsFixed
bool IsFixedByNetwork()

Member available through Scooby's native Lua API.

Usage example
bool object.IsFixedByNetwork
bool IsInWater()

Member available through Scooby's native Lua API.

Usage example
bool object.IsInWater
bool IsInvincible()

Member available through Scooby's native Lua API.

Usage example
bool object:IsInvincible()
bool IsNotBuoyant()

Member available through Scooby's native Lua API.

Usage example
bool object.IsNotBuoyant
bool IsObject()

Member available through Scooby's native Lua API.

Usage example
bool object:IsObject()
bool IsPed()

Member available through Scooby's native Lua API.

Usage example
bool object:IsPed()
bool IsPhysical()

Member available through Scooby's native Lua API.

Usage example
bool object:IsPhysical()
bool IsRenderScorched()

Member available through Scooby's native Lua API.

Usage example
bool object.IsRenderScorched
bool IsVehicle()

Member available through Scooby's native Lua API.

Usage example
bool object:IsVehicle()
bool IsVisible()

Member available through Scooby's native Lua API.

Usage example
bool object.IsVisible
CBaseModelInfo ModelInfo()

Check if 'object.ModelInfo' is not nil before using it.

Usage example
CBaseModelInfo object.ModelInfo
CNetObject NetObject()

Check if 'object.NetObject' is not nil before using it.

Usage example
CNetObject object.NetObject
bool Nitrous()

Member available through Scooby's native Lua API.

Usage example
bool object.Nitrous
number PetrolTankHealth()

Member available through Scooby's native Lua API.

Usage example
number object.PetrolTankHealth
V3 Position()

Member available through Scooby's native Lua API.

Usage example
V3 object.Position
number SecondSteerAngle()

This is for 4 wheel steering.

Usage example
number object.SecondSteerAngle
number SteerAngle()

Member available through Scooby's native Lua API.

Usage example
number object.SteerAngle
number ThicknessMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.ThicknessMultiplier
number Throttle()

Member available through Scooby's native Lua API.

Usage example
number object.Throttle
number VehicleTopSpeedPercent()

Member available through Scooby's native Lua API.

Usage example
number object.VehicleTopSpeedPercent
number WidthMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.WidthMultiplier

fMatrix44

A 4x4 row-major transform matrix as laid out by the engine. Rows 1-3 encode an entity's right/forward/up basis vectors and row 4 encodes its world position, which is why reading row 4 is a common shortcut for an entity's position without going through a dedicated position field.

float[4] row1_right()

First row: right-vector XYZ plus a W component, 16 bytes starting at offset 0x0

float[4] row2_forward()

Second row: forward-vector XYZ plus W, at offset 0x10

float[4] row3_up()

Third row: up-vector XYZ plus W, at offset 0x20

float[4] row4_position()

Fourth row: world position XYZ plus W, at offset 0x30

float, float, float ReadPositionFromMatrixViaMemory(entity: handle)

Reads an entity's world position out of row 4 of its transform matrix, an alternative to a dedicated GetPosition call.

Usage example
local entityPtr = memory.handle_to_pointer(entity)
local matrixPtr = entityPtr + 0x60 -- CEntity's transform matrix is embedded, no extra pointer hop
local x = memory.read_float(matrixPtr + 0x30)
local y = memory.read_float(matrixPtr + 0x34)
local z = memory.read_float(matrixPtr + 0x38)
print(string.format("position: %.2f, %.2f, %.2f", x, y, z))

fVector3

A tightly packed, 12-byte XYZ float triplet used throughout the engine wherever a plain vector is embedded inside another struct (velocity, offsets, wheel ground positions, and so on). It has no separate identity in memory beyond three consecutive floats.

float x()

X component, offset +0x0 from the vector's base pointer

float y()

Y component, offset +0x4

float z()

Z component, offset +0x8

float, float, float ReadFVector3ViaMemory(vecPtr: int)

Generic helper for reading any embedded fVector3 given its base address.

Usage example
local x = memory.read_float(vecPtr)
local y = memory.read_float(vecPtr + 0x4)
local z = memory.read_float(vecPtr + 0x8)
return x, y, z

rlGamerInfo

Rockstar Games Services identity block embedded inside CPlayerInfo. Carries the Rockstar ID, cached internal/external IP and port, NAT type, and the player's display name, independent of whatever CNetGamePlayer wrapper exposes.

int64 m_rockstarId()

64-bit Rockstar ID, at rlGamerInfo+0x10

uint32 m_externalIp()

Cached external IPv4 (packed uint32), at rlGamerInfo+0xA8

uint16 m_externalPort()

Cached external port, at rlGamerInfo+0xAC

string m_playerName()

Null-terminated display name, at rlGamerInfo+0xDC

int ReadRockstarIdViaMemory(playerInfoPtr: int)

Reads a player's Rockstar ID out of the rlGamerInfo block embedded in their CPlayerInfo.

Usage example
local gamerInfoPtr = playerInfoPtr + 0x20 -- rlGamerInfo is embedded, not a pointer
local rockstarId = memory.read_long(gamerInfoPtr + 0x10)
print("rockstar id:", rockstarId)

phFragInst

Fragment physics instance for a breakable/skinned entity. Reached from the owning entity by dereferencing a fragment-instance pointer (offset varies by entity type; CVehicle keeps its own at +0x9C0), then a cache-entry pointer and a skeleton pointer chained off that. Exposes the per-bone local and global transform matrices used for accurate bone-position reads (attachment points, ragdoll bones, and similar).

pointer m_cacheEntry()

Fragment cache entry pointer, at phFragInst+0x68 (dereferenced)

pointer m_skeleton()

CSkeleton pointer, at cache entry+0x178 (dereferenced)

int m_numBones()

Bone count, at skeleton+0x20

fMatrix44* m_objMatrices()

Pointer to the array of local (object-space) bone fMatrix44 transforms, at skeleton+0x10 (dereferenced)

fMatrix44* m_globalMatrices()

Pointer to the array of global (world-space) bone fMatrix44 transforms, at skeleton+0x18 (dereferenced)

float, float, float ReadBoneMatrixViaMemory(vehicle: handle, boneIndex: int)

Walks a vehicle to its phFragInst, then to its skeleton, to reach a single bone's global transform matrix and read its position row.

Usage example
local vehiclePtr = memory.handle_to_pointer(vehicle)
local fragInstPtr = memory.read_pointer(vehiclePtr + 0x9C0) -- CVehicle's phFragInst slot
local cache = memory.read_pointer(fragInstPtr + 0x68)
local skeleton = memory.read_pointer(cache + 0x178)
local globalMatrices = memory.read_pointer(skeleton + 0x18)
local boneMatrix = globalMatrices + (boneIndex * 0x40) -- fMatrix44 is 0x40 bytes
local x = memory.read_float(boneMatrix + 0x30)
local y = memory.read_float(boneMatrix + 0x34)
local z = memory.read_float(boneMatrix + 0x38)
print(string.format("bone position: %.2f, %.2f, %.2f", x, y, z))

CPedIntelligence

Ped intelligence and AI control

CPedIntelligence FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

CTaskManager TaskManager()

Get task manager

CTask GetScriptedTask()

Get current scripted task

CTask GetActiveTask()

Get currently active task

CEventHandler GetEventHandler()

Get event handler

bool IsInCombat()

Check if in combat

int CombatTarget()

Get combat target entity

void SetCombatTarget(target: int)

Set combat target

void ClearCombat()

Clear combat state

bool IsAnyTaskActive()

Check if any task is active

bool IsTaskActive(taskType: int)

Check if specific task type is active

void FlushTasks()

Clear all tasks

CTaskManager

Ped task manager for controlling behavior

CTaskManager FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

CTask GetActiveTask()

Get active task

CTask GetTaskByIndex(index: int)

Get task by index

CTask FindTaskByType(taskType: int)

Find task by type

bool HasTaskType(taskType: int)

Check if has task type

void ClearTasks()

Clear all tasks

CTask

Base task class for ped behavior

CTask FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetType()

Get task type ID

string GetTypeName()

Get task type name

bool IsActive()

Check if task is active

CTask GetSubTask()

Get sub-task

CPedWeaponManager

Ped weapon manager. This is a small struct pointed to by CPed+0x10B8; besides the wrapper getters above it stores raw pointers back to its owning CPed and to the currently equipped weapon's CWeaponInfo, plus the raw selected-weapon hash, all readable directly with memory.*.

CPedWeaponManager FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

CWeaponInfo GetCurrentWeapon()

Get current weapon info

CWeaponInfo GetBestWeapon()

Get best weapon for current situation

CWeaponInfo GetWeaponBySlot(slot: int)

Get weapon by slot

bool HasWeapon(weaponHash: int)

Check if has weapon

int GetAmmo(weaponHash: int)

Get ammo count

void SetAmmo(weaponHash: int, ammo: int)

Set ammo count

int GetMaxAmmo(weaponHash: int)

Get max ammo

CPed* m_owner()

Pointer back to the owning CPed, at CPedWeaponManager+0x10

uint32 m_selectedWeaponHash()

Hash of the currently selected weapon, at CPedWeaponManager+0x18

CWeaponInfo* m_weaponInfoPtr()

Pointer to the equipped weapon's CWeaponInfo, at CPedWeaponManager+0x20 (dereference)

int ReadSelectedWeaponHashViaMemory(ped: handle)

Reads the raw selected-weapon hash out of a ped's CPedWeaponManager without calling GetCurrentWeapon.

Usage example
local pedPtr = memory.handle_to_pointer(ped)
local weaponMgrPtr = memory.read_pointer(pedPtr + 0x10B8)
local weaponHash = memory.read_uint(weaponMgrPtr + 0x18)
print("selected weapon hash:", weaponHash)

CVehicleClass

Vehicle entity class

CVehicle FromAddress(address: int)

Create from memory address

CVehicle FromHandle(handle: int)

Create from script handle

int GetAddress()

Get memory address

int GetHandle()

Get script handle

Vector3 GetPosition()

Get world position

void SetPosition(pos: Vector3)

Set world position

Vector3 GetRotation()

Get rotation

void SetRotation(rot: Vector3)

Set rotation

Vector3 GetVelocity()

Get velocity

void SetVelocity(vel: Vector3)

Set velocity

Vector3 GetForwardVector()

Get forward direction

Vector3 GetRightVector()

Get right direction

Vector3 GetUpVector()

Get up direction

float GetHealth()

Get body health

void SetHealth(health: float)

Set body health

float GetEngineHealth()

Get engine health

void SetEngineHealth(health: float)

Set engine health

float GetPetrolTankHealth()

Get petrol tank health

void SetPetrolTankHealth(health: float)

Set petrol tank health

CHandlingData HandlingData()

Get handling data

int GetDriver()

Get driver ped

int GetPassenger(seat: int)

Get passenger ped by seat

int GetNumPassengers()

Get number of passengers

int GetMaxPassengers()

Get max passenger count

bool IsEngineOn()

Check if engine is on

void SetEngineOn(on: bool)

Set engine state

bool IsLightsOn()

Check if lights are on

void SetLightsOn(on: bool)

Set lights state

bool IsHighBeamsOn()

Check if high beams are on

void SetHighBeamsOn(on: bool)

Set high beams state

bool IsSirenOn()

Check if siren is on

void SetSirenOn(on: bool)

Set siren state

bool IsAlarmActive()

Check if alarm is active

int GetAlarmTimeLeft()

Get alarm time remaining

float GetDirtLevel()

Get dirt level

void SetDirtLevel(level: float)

Set dirt level

int GetCurrentGear()

Get current gear

void SetCurrentGear(gear: int)

Set current gear

int GetNextGear()

Get next gear

float GetCurrentRPM()

Get current RPM

void SetCurrentRPM(rpm: float)

Set current RPM

float GetThrottle()

Get throttle (0.0-1.0)

float GetBrake()

Get brake pressure

float GetSteeringAngle()

Get steering angle

void SetSteeringAngle(angle: float)

Set steering angle

float GetWheelSpeed()

Get wheel speed

float GetTurboPressure()

Get turbo pressure

void SetTurboPressure(pressure: float)

Set turbo pressure

float GetGravity()

Get vehicle gravity

void SetGravity(gravity: float)

Set vehicle gravity

bool IsDamaged()

Check if vehicle is damaged

bool IsDriveable()

Check if vehicle is driveable

bool IsOnAllWheels()

Check if on all wheels

bool IsStuckOnRoof()

Check if stuck on roof

bool IsInWater()

Check if in water

bool IsOnFire()

Check if on fire

int GetPrimaryColor()

Get primary color

void SetPrimaryColor(color: int)

Set primary color

int GetSecondaryColor()

Get secondary color

void SetSecondaryColor(color: int)

Set secondary color

int GetPearlescentColor()

Get pearlescent color

void SetPearlescentColor(color: int)

Set pearlescent color

int GetWheelColor()

Get wheel color

void SetWheelColor(color: int)

Set wheel color

int GetWheelType()

Get wheel type

void SetWheelType(type: int)

Set wheel type

int GetMod(slot: int)

Get mod at slot

void SetMod(slot: int, index: int)

Set mod at slot

int GetLivery()

Get livery index

void SetLivery(livery: int)

Set livery index

string GetPlateText()

Get license plate text

void SetPlateText(text: string)

Set license plate text

int GetPlateType()

Get license plate type

void SetPlateType(type: int)

Set license plate type

int GetWindowTint()

Get window tint

void SetWindowTint(tint: int)

Set window tint

bool GetNeonLightsOn(side: int)

Check if neon lights are on

void SetNeonLightsOn(side: int, on: bool)

Set neon lights state

int,int,int GetNeonColor()

Get neon color

void SetNeonColor(r: int, g: int, b: int)

Set neon color

int,int,int GetTyreSmokeColor()

Get tyre smoke color

void SetTyreSmokeColor(r: int, g: int, b: int)

Set tyre smoke color

void Fix()

Repair vehicle

void Explode()

Explode vehicle

CObject

Object entity class. CObject shares CEntity's base memory layout (see CEntity) - it adds no extra size in front of the shared header, so the same entity-type byte, health floats and transform matrix documented on CEntity apply directly to any CObject handle.

CObject FromAddress(address: int)

Create from memory address

CObject FromHandle(handle: int)

Create from script handle

int GetAddress()

Get memory address

Usage example
int object:GetAddress()
int GetHandle()

Get script handle

Vector3 GetPosition()

Get world position

void SetPosition(pos: Vector3)

Set world position

Vector3 GetRotation()

Get rotation

void SetRotation(rot: Vector3)

Set rotation

Vector3 GetVelocity()

Get velocity

void SetVelocity(vel: Vector3)

Set velocity

float GetHeading()

Get heading angle

void SetHeading(heading: float)

Set heading angle

bool IsVisible()

Check if visible

Usage example
bool object.IsVisible
void SetVisible(visible: bool)

Set visibility

bool IsDynamic()

Check if dynamic physics

Usage example
bool object.IsDynamic
bool IsAttached()

Check if attached

int GetAttachedTo()

Get attached entity

void AttachTo(entity: int, boneIndex: int, offset: Vector3, rotation: Vector3)

Attach to entity

void Detach()

Detach from entity

void Delete()

Delete object

void PlaceOnGround()

Place on ground properly

int ReadEntityTypeViaMemory(object: handle)

Confirms an object handle's entity-type byte via CEntity's shared layout (0 = ped, 3 = vehicle; objects use their own value).

Usage example
local ptr = memory.handle_to_pointer(object)
local entityType = memory.read_byte(ptr + 0x28)
print("entity type byte:", entityType)
void DisableInvincible()

Member available through Scooby's native Lua API.

Usage example
void object:DisableInvincible()
void EnableInvincible()

Member available through Scooby's native Lua API.

Usage example
void object:EnableInvincible()
CObject FromAddress(int address)

Member available through Scooby's native Lua API.

Usage example
CObject CObject.FromAddress(int address)
fwAttachmentEntityExtension GetAttachmentExtension()

Check if the extension is not nil before using it.

Usage example
fwAttachmentEntityExtension object:GetAttachmentExtension()
eEntityType GetType()

Member available through Scooby's native Lua API.

Usage example
eEntityType object:GetType()
V3 GetVelocity()

Returns the current velocity vector in meters per second.

Usage example
V3 object:GetVelocity()
number HeightMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.HeightMultiplier
bool IsFixed()

Member available through Scooby's native Lua API.

Usage example
bool object.IsFixed
bool IsFixedByNetwork()

Member available through Scooby's native Lua API.

Usage example
bool object.IsFixedByNetwork
bool IsInWater()

Member available through Scooby's native Lua API.

Usage example
bool object.IsInWater
bool IsInvincible()

Member available through Scooby's native Lua API.

Usage example
bool object:IsInvincible()
bool IsNotBuoyant()

Member available through Scooby's native Lua API.

Usage example
bool object.IsNotBuoyant
bool IsObject()

Member available through Scooby's native Lua API.

Usage example
bool object:IsObject()
bool IsPed()

Member available through Scooby's native Lua API.

Usage example
bool object:IsPed()
bool IsPhysical()

Member available through Scooby's native Lua API.

Usage example
bool object:IsPhysical()
bool IsRenderScorched()

Member available through Scooby's native Lua API.

Usage example
bool object.IsRenderScorched
bool IsVehicle()

Member available through Scooby's native Lua API.

Usage example
bool object:IsVehicle()
CBaseModelInfo ModelInfo()

Check if 'object.ModelInfo' is not nil before using it.

Usage example
CBaseModelInfo object.ModelInfo
CNetObject NetObject()

Check if 'object.NetObject' is not nil before using it.

Usage example
CNetObject object.NetObject
V3 Position()

Member available through Scooby's native Lua API.

Usage example
V3 object.Position
number ThicknessMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.ThicknessMultiplier
number WidthMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.WidthMultiplier

CPickup

Pickup object class

CPickup FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

Vector3 GetPosition()

Get world position

void SetPosition(pos: Vector3)

Set world position

Vector3 GetRotation()

Get rotation

int GetPickupHash()

Get pickup type hash

int GetAmount()

Get pickup amount/value

void SetAmount(amount: int)

Set pickup amount/value

int GetObjectHandle()

Get object handle

bool IsCollected()

Check if collected

bool CanBeCollected()

Check if can be collected

void Regenerate()

Regenerate pickup

void Delete()

Delete pickup

CProjectile

Projectile entity class (bullets, rockets, etc)

CProjectile FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

Vector3 GetPosition()

Get world position

void SetPosition(pos: Vector3)

Set world position

Vector3 GetVelocity()

Get velocity

void SetVelocity(vel: Vector3)

Set velocity

Vector3 GetDirection()

Get direction vector

int GetOwner()

Get owner entity

int GetWeaponHash()

Get weapon hash that fired this

float GetDamage()

Get damage amount

void SetDamage(damage: float)

Set damage amount

float GetTime()

Get time since fired

bool IsMissile()

Check if is missile type

bool IsThrowable()

Check if is throwable type

void Explode()

Force explode

void Delete()

Delete projectile

CCamera

Camera class for rendering views

CCamera FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

Vector3 GetPosition()

Get camera position

void SetPosition(pos: Vector3)

Set camera position

Vector3 GetRotation()

Get camera rotation

void SetRotation(rot: Vector3)

Set camera rotation

Vector3 GetDirection()

Get forward direction

float GetFov()

Get field of view

void SetFov(fov: float)

Set field of view

float GetNearClip()

Get near clip distance

void SetNearClip(near: float)

Set near clip distance

float GetFarClip()

Get far clip distance

void SetFarClip(far: float)

Set far clip distance

bool IsActive()

Check if camera is active

void SetActive(active: bool)

Set camera active state

void ShakeCamera(type: int, amplitude: float)

Apply camera shake

void StopShake()

Stop camera shake

void PointAtCoord(pos: Vector3)

Point at world coordinate

void PointAtEntity(entity: int)

Point at entity

CBlip

Map blip class

CBlip Create(pos: Vector3)

Create new blip at position

CBlip CreateForEntity(entity: int)

Create blip for entity

CBlip CreateForPickup(pickup: int)

Create blip for pickup

CBlip CreateForRadius(pos: Vector3, radius: float)

Create radius blip

int GetHandle()

Get blip handle

Vector3 GetPosition()

Get blip position

void SetPosition(pos: Vector3)

Set blip position

int GetSprite()

Get blip sprite

void SetSprite(sprite: int)

Set blip sprite

int GetColor()

Get blip color

void SetColor(color: int)

Set blip color

int GetAlpha()

Get blip alpha

void SetAlpha(alpha: int)

Set blip alpha

float GetScale()

Get blip scale

void SetScale(scale: float)

Set blip scale

float GetRotation()

Get blip rotation

void SetRotation(rotation: float)

Set blip rotation

bool IsShortRange()

Check if short range only

void SetShortRange(shortRange: bool)

Set short range only

string GetName()

Get blip name

void SetName(name: string)

Set blip name

void SetRoute(enabled: bool)

Set route to blip

void SetRouteColor(color: int)

Set route color

void SetFlashes(flashes: bool)

Set blip flashing

void SetFlashInterval(interval: int)

Set flash interval

bool IsOnMinimap()

Check if on minimap

void ShowOnMinimap(show: bool)

Show on minimap

void Delete()

Delete blip

bool Exists()

Check if blip exists

CScriptedGameEvent

Network scripted game event class

CScriptedGameEvent FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetEventId()

Get event type ID

string GetEventName()

Get event name string

int GetSenderId()

Get sender player ID

int GetTargetId()

Get target player ID

table<int> GetArgs()

Get event arguments array

int GetArg(index: int)

Get specific argument by index

void SetArg(index: int, value: int)

Set specific argument

int GetArgCount()

Get number of arguments

bool IsScriptHost()

Check if requires script host

void Block()

Block this event

void Modify()

Mark as modified

CNetworkObjectMgr

Network object manager

int GetLocalNetworkId(entity: int)

Get local network ID

int GetEntityFromNetworkId(netId: int)

Get entity from network ID

bool DoesNetworkIdExist(netId: int)

Check if network ID exists

bool RequestControl(entity: int)

Request control of entity

bool HasControl(entity: int)

Check if have control

void NetworkRegister(entity: int)

Register entity on network

void NetworkUnregister(entity: int)

Unregister entity from network

void SetNetworkIdCanMigrate(netId: int, canMigrate: bool)

Set if network ID can migrate

void SetEntityInvisibleLocally(entity: int, invisible: bool)

Set entity invisible locally

void SetEntityVisibleLocally(entity: int, visible: bool)

Set entity visible locally

CPool

GTA object pool class

CPool GetPedPool()

Get ped pool

CPool GetVehiclePool()

Get vehicle pool

CPool GetObjectPool()

Get object pool

CPool GetPickupPool()

Get pickup pool

int GetSize()

Get pool size

int GetCount()

Get active entity count

int GetAt(index: int)

Get entity at index

table<int> GetAllEntities()

Get all entities in pool

bool Contains(entity: int)

Check if pool contains entity

CWanted

Wanted level control class

CWanted FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetWantedLevel()

Get current wanted level (0-5)

void SetWantedLevel(level: int)

Set wanted level

float GetWantedLevelMultiplier()

Get wanted level multiplier

void SetWantedLevelMultiplier(mult: float)

Set wanted level multiplier

bool IsWanted()

Check if wanted

int GetTimeToEscape()

Get time to lose wanted

void SetTimeToEscape(time: int)

Set time to lose wanted

int GetCopsInPursuit()

Get number of cops in pursuit

Vector3 GetLastKnownPosition()

Get last known position

void SetLastKnownPosition(pos: Vector3)

Set last known position

void ClearWanted()

Clear wanted level

void SetNeverWanted(enabled: bool)

Set never wanted mode

CPathFind

Path finding and navigation

Vector3,float GetClosestVehicleNode(pos: Vector3)

Get closest vehicle node

Vector3,float GetClosestVehicleNodeWithHeading(pos: Vector3)

Get closest node with heading

Vector3 GetNextPositionOnSidewalk(pos: Vector3)

Get next sidewalk position

Vector3,bool GetSafeCoordForPed(pos: Vector3, safePedOrVeh: bool)

Get safe coordinate for ped

Vector3,float GetRandomVehicleNode(pos: Vector3, radius: float)

Get random vehicle node

Vector3,float GetNthClosestVehicleNode(pos: Vector3, n: int)

Get nth closest vehicle node

bool IsPointOnRoad(pos: Vector3)

Check if point is on road

float CalculateTravelDistance(start: Vector3, end: Vector3)

Calculate travel distance between points

CWorld

World and environment control

table<int> GetAllPeds()

Get all peds in world

table<int> GetAllVehicles()

Get all vehicles in world

table<int> GetAllObjects()

Get all objects in world

table<int> GetAllPickups()

Get all pickups in world

table<int> GetNearbyPeds(pos: Vector3, radius: float)

Get peds near position

table<int> GetNearbyVehicles(pos: Vector3, radius: float)

Get vehicles near position

table<int> GetNearbyObjects(pos: Vector3, radius: float)

Get objects near position

int GetClosestPed(pos: Vector3)

Get closest ped to position

int GetClosestVehicle(pos: Vector3)

Get closest vehicle to position

float,bool GetGroundZ(x: float, y: float)

Get ground Z coordinate

float,bool GetGroundZFor3D(pos: Vector3)

Get ground Z at 3D position

bool,Vector3,int Raycast(start: Vector3, end: Vector3, flags: int)

Cast ray and get hit info

bool,Vector3,Vector3,int RaycastFromTo(start: Vector3, end: Vector3, flags: int)

Cast ray from point to point

int ShapeTest(start: Vector3, end: Vector3, flags: int, ignoreEntity: int)

Perform shape test

int,bool,Vector3,Vector3,int GetShapeTestResult(shapeTestHandle: int)

Get shape test result

void ClearArea(pos: Vector3, radius: float, flags: int)

Clear area of entities

float,bool GetWaterHeight(x: float, y: float)

Get water height at position

CWeather

Weather and time control

int GetCurrentWeather()

Get current weather type

void SetWeather(weatherType: int)

Set weather type

void SetWeatherImmediate(weatherType: int)

Set weather immediately

int GetNextWeather()

Get next weather type

void SetNextWeather(weatherType: int)

Set next weather type

float GetWeatherTransition()

Get weather transition progress

void SetWeatherTransition(from: int, to: int, progress: float)

Set weather transition

void SetOverrideWeather(weatherType: int)

Override weather type

void ClearOverrideWeather()

Clear weather override

void SetRainLevel(level: float)

Set rain intensity

float GetRainLevel()

Get rain intensity

void SetWindSpeed(speed: float)

Set wind speed

float GetWindSpeed()

Get wind speed

void SetWindDirection(direction: float)

Set wind direction

float GetWindDirection()

Get wind direction

void SetSnowLevel(level: float)

Set snow level

float GetSnowLevel()

Get snow level

void SetCloudOpacity(opacity: float)

Set cloud opacity

float GetCloudOpacity()

Get cloud opacity

CTime

Game time control

int GetHours()

Get current hour (0-23)

int GetMinutes()

Get current minutes (0-59)

int GetSeconds()

Get current seconds (0-59)

int GetDayOfWeek()

Get day of week (0-6)

void SetTime(hours: int, minutes: int, seconds: int)

Set game time

void AddToClockTime(hours: int, minutes: int, seconds: int)

Add to clock time

void SetClockDate(day: int, month: int, year: int)

Set clock date

int,int,int GetClockDate()

Get clock date

void PauseTime(paused: bool)

Pause time progression

bool IsTimePaused()

Check if time is paused

void SetTimeScale(scale: float)

Set time scale multiplier

float GetTimeScale()

Get time scale multiplier

CStats

Player statistics and tracking

int GetStatInt(statHash: int)

Get integer stat value

void SetStatInt(statHash: int, value: int)

Set integer stat value

float GetStatFloat(statHash: int)

Get float stat value

void SetStatFloat(statHash: int, value: float)

Set float stat value

bool GetStatBool(statHash: int)

Get boolean stat value

void SetStatBool(statHash: int, value: bool)

Set boolean stat value

string GetStatString(statHash: int)

Get string stat value

void SetStatString(statHash: int, value: string)

Set string stat value

int,int,int GetStatDate(statHash: int)

Get date stat value

void SetStatDate(statHash: int, year: int, month: int, day: int)

Set date stat value

void IncrementStatInt(statHash: int, amount: int)

Increment integer stat

void DecrementStatInt(statHash: int, amount: int)

Decrement integer stat

CInput

Input and control handling

bool IsControlPressed(inputGroup: int, control: int)

Check if control is pressed

bool IsControlJustPressed(inputGroup: int, control: int)

Check if control was just pressed

bool IsControlJustReleased(inputGroup: int, control: int)

Check if control was just released

float GetControlNormal(inputGroup: int, control: int)

Get analog control value (-1 to 1)

float GetDisabledControlNormal(inputGroup: int, control: int)

Get disabled control value

void DisableControlAction(inputGroup: int, control: int, disable: bool)

Disable control action

void EnableControlAction(inputGroup: int, control: int, enable: bool)

Enable control action

void DisableAllControlActions(inputGroup: int)

Disable all control actions

void EnableAllControlActions(inputGroup: int)

Enable all control actions

void SetCursorLocation(x: float, y: float)

Set cursor location

float,float GetCursorLocation()

Get cursor location

void SetInputExclusive(inputGroup: int, control: int)

Set input as exclusive

bool IsKeyPressed(key: int)

Check if keyboard key is pressed

bool IsKeyJustPressed(key: int)

Check if keyboard key was just pressed

bool IsKeyJustReleased(key: int)

Check if keyboard key was just released

CAudio

Audio and sound control

int PlaySoundFromEntity(soundName: string, entity: int)

Play sound from entity

int PlaySoundFromCoord(soundName: string, pos: Vector3)

Play sound from position

void PlaySoundFrontend(soundName: string, soundSet: string)

Play frontend sound

void StopSound(soundId: int)

Stop sound by ID

bool HasSoundFinished(soundId: int)

Check if sound has finished

void SetAudioFlag(flag: string, toggle: bool)

Set audio flag

bool PrepareMusicEvent(eventName: string)

Prepare music event

bool TriggerMusicEvent(eventName: string)

Trigger music event

bool CancelMusicEvent(eventName: string)

Cancel music event

void SetVehicleRadioEnabled(vehicle: int, enabled: bool)

Enable/disable vehicle radio

void SetRadioToStationName(stationName: string)

Set radio station

void SetMobileRadioEnabled(enabled: bool)

Enable mobile radio

int GetPlayerRadioStationIndex()

Get current radio station

void SetStaticEmitterEnabled(emitterName: string, enabled: bool)

Enable static emitter

CStreaming

Asset and model streaming

void RequestModel(modelHash: int)

Request model to be loaded

bool HasModelLoaded(modelHash: int)

Check if model is loaded

void SetModelAsNoLongerNeeded(modelHash: int)

Release model from memory

bool IsModelInCdimage(modelHash: int)

Check if model exists

bool IsModelValid(modelHash: int)

Check if model is valid

bool IsModelAPed(modelHash: int)

Check if model is a ped

bool IsModelAVehicle(modelHash: int)

Check if model is a vehicle

void RequestCollisionAtCoord(pos: Vector3)

Request collision at position

bool HasCollisionLoadedAroundEntity(entity: int)

Check collision loaded around entity

void RequestAnimDict(animDict: string)

Request animation dictionary

bool HasAnimDictLoaded(animDict: string)

Check if anim dict loaded

void RemoveAnimDict(animDict: string)

Remove animation dictionary

void RequestAnimSet(animSet: string)

Request animation set

bool HasAnimSetLoaded(animSet: string)

Check if anim set loaded

void RequestClipSet(clipSet: string)

Request clip set

bool HasClipSetLoaded(clipSet: string)

Check if clip set loaded

void RequestWeaponAsset(weaponHash: int)

Request weapon asset

bool HasWeaponAssetLoaded(weaponHash: int)

Check if weapon asset loaded

void RequestPtfxAsset(assetName: string)

Request particle effect asset

bool HasPtfxAssetLoaded(assetName: string)

Check if particle asset loaded

void SetFocusArea(pos: Vector3, offsetPos: Vector3)

Set streaming focus area

void ClearFocus()

Clear streaming focus

CGraphics

Graphics and visual effects

void DrawSprite(textureDict: string, textureName: string, x: float, y: float, width: float, height: float, rotation: float, r: int, g: int, b: int, a: int)

Draw 2D sprite

void DrawRect(x: float, y: float, width: float, height: float, r: int, g: int, b: int, a: int)

Draw 2D rectangle

void DrawLine(start: Vector3, end: Vector3, r: int, g: int, b: int, a: int)

Draw 3D line

void DrawPoly(v1: Vector3, v2: Vector3, v3: Vector3, r: int, g: int, b: int, a: int)

Draw 3D polygon

void DrawBox(min: Vector3, max: Vector3, r: int, g: int, b: int, a: int)

Draw 3D box

void DrawMarker(type: int, pos: Vector3, dir: Vector3, rot: Vector3, scale: Vector3, r: int, g: int, b: int, a: int, bobUpAndDown: bool, faceCamera: bool, rotate: bool)

Draw 3D marker

void DrawLightWithRange(pos: Vector3, r: int, g: int, b: int, range: float, intensity: float)

Draw light with range

void DrawSpotLight(pos: Vector3, dir: Vector3, r: int, g: int, b: int, distance: float, brightness: float, hardness: float, radius: float, falloff: float)

Draw spot light

int StartParticleFxLooped(assetName: string, effectName: string, pos: Vector3, rot: Vector3, scale: float)

Start looped particle effect

bool StartParticleFxNonLooped(assetName: string, effectName: string, pos: Vector3, rot: Vector3, scale: float)

Start non-looped particle effect

void StopParticleFx(handle: int)

Stop particle effect

void SetParticleFxColour(handle: int, r: float, g: float, b: float)

Set particle effect color

void SetParticleFxScale(handle: int, scale: float)

Set particle effect scale

void EnableScreenEffect(effectName: string)

Enable screen effect

void DisableScreenEffect(effectName: string)

Disable screen effect

void SetNightvision(enabled: bool)

Enable/disable nightvision

void SetThermalvision(enabled: bool)

Enable/disable thermal vision

void AnimpostfxPlay(effectName: string, duration: int, looped: bool)

Play screen filter effect

void AnimpostfxStop(effectName: string)

Stop screen filter effect

bool AnimpostfxIsRunning(effectName: string)

Check if screen effect is running

CHUD

HUD and UI control

void DisplayAmmoBar(display: bool)

Display ammo bar

void DisplayAreaName(display: bool)

Display area name

void DisplayCash(display: bool)

Display cash amount

void DisplayHelpText(text: string, duration: int)

Display help text

int DisplayNotification(text: string, blink: bool)

Display notification

int DisplayNotificationAboveMap(text: string)

Display notification above map

void SetNotificationTitle(title: string, subtitle: string, icon: string)

Set notification title and subtitle

void ClearNotifications()

Clear all notifications

void ThefeedPause()

Pause notification feed

void ThefeedResume()

Resume notification feed

bool IsMinimapRendering()

Check if minimap is rendering

void DisplayMinimap(display: bool)

Show/hide minimap

void SetMinimapComponent(component: int, display: bool)

Set minimap component visibility

void SetBigmapActive(toggleBigMap: bool, showFullMap: bool)

Set big map active

bool IsBigmapActive()

Check if big map is active

bool IsRadarHidden()

Check if radar is hidden

void DisplayRadar(display: bool)

Show/hide radar

void SetWaypointOff()

Remove waypoint

void SetNewWaypoint(x: float, y: float)

Set new waypoint

bool IsWaypointActive()

Check if waypoint is active

Vector3 GetWaypointCoord()

Get waypoint coordinates

void SetPauseMenuActive(active: bool)

Open/close pause menu

bool IsPauseMenuActive()

Check if pause menu is active

void BeginTextComponent(componentType: string)

Begin text component

void EndTextComponent()

End and draw text component

void AddTextComponentString(text: string)

Add string to text component

void AddTextComponentInteger(value: int)

Add integer to text component

void AddTextComponentFloat(value: float, decimalPlaces: int)

Add float to text component

CInterior

Interior and building control

int GetInteriorAtCoords(pos: Vector3)

Get interior at position

int GetInteriorFromEntity(entity: int)

Get interior from entity

int GetInteriorGroupId(interior: int)

Get interior group ID

bool IsInteriorReady(interior: int)

Check if interior is ready

void PinInteriorInMemory(interior: int)

Pin interior in memory

void UnpinInterior(interior: int)

Unpin interior from memory

void RefreshInterior(interior: int)

Refresh interior

void EnableInteriorProp(interior: int, propName: string)

Enable interior prop

void DisableInteriorProp(interior: int, propName: string)

Disable interior prop

bool IsInteriorPropEnabled(interior: int, propName: string)

Check if interior prop enabled

void CapInterior(interior: int, cap: bool)

Cap/uncap interior

bool IsInteriorCapped(interior: int)

Check if interior is capped

Vector3 GetOffsetFromInteriorInWorldCoords(interior: int, offset: Vector3)

Get world offset from interior

CDecorator

Entity decorator system for custom data

bool SetDecoratorBool(entity: int, propertyName: string, value: bool)

Set boolean decorator

bool SetDecoratorInt(entity: int, propertyName: string, value: int)

Set integer decorator

bool SetDecoratorFloat(entity: int, propertyName: string, value: float)

Set float decorator

bool GetDecoratorBool(entity: int, propertyName: string)

Get boolean decorator

int GetDecoratorInt(entity: int, propertyName: string)

Get integer decorator

float GetDecoratorFloat(entity: int, propertyName: string)

Get float decorator

bool ExistDecorator(entity: int, propertyName: string)

Check if decorator exists

bool RemoveDecorator(entity: int, propertyName: string)

Remove decorator

void RegisterDecorator(propertyName: string, type: int)

Register decorator type

CScriptGlobal

Script global variable access

int Get(globalIndex: int)

Get global address pointer

int GetInt(globalIndex: int)

Get global as integer

void SetInt(globalIndex: int, value: int)

Set global as integer

float GetFloat(globalIndex: int)

Get global as float

void SetFloat(globalIndex: int, value: float)

Set global as float

bool GetBool(globalIndex: int)

Get global as boolean

void SetBool(globalIndex: int, value: bool)

Set global as boolean

string GetString(globalIndex: int)

Get global as string

void SetString(globalIndex: int, value: string)

Set global as string

Vector3 GetVector3(globalIndex: int)

Get global as Vector3

void SetVector3(globalIndex: int, value: Vector3)

Set global as Vector3

int At(globalIndex: int, arrayIndex: int, elementSize: int = 1)

Get array element at offset

CScriptLocal

Script local variable access

int Get(scriptHash: int, localIndex: int)

Get local address pointer

int GetInt(scriptHash: int, localIndex: int)

Get local as integer

void SetInt(scriptHash: int, localIndex: int, value: int)

Set local as integer

float GetFloat(scriptHash: int, localIndex: int)

Get local as float

void SetFloat(scriptHash: int, localIndex: int, value: float)

Set local as float

bool GetBool(scriptHash: int, localIndex: int)

Get local as boolean

void SetBool(scriptHash: int, localIndex: int, value: bool)

Set local as boolean

int At(scriptHash: int, localIndex: int, arrayIndex: int, elementSize: int = 1)

Get array element at offset

CMemory

Direct memory read/write operations

int ReadByte(address: int)

Read byte from address

void WriteByte(address: int, value: int)

Write byte to address

int ReadShort(address: int)

Read short from address

void WriteShort(address: int, value: int)

Write short to address

int ReadInt(address: int)

Read integer from address

void WriteInt(address: int, value: int)

Write integer to address

int ReadInt64(address: int)

Read 64-bit integer from address

void WriteInt64(address: int, value: int)

Write 64-bit integer to address

float ReadFloat(address: int)

Read float from address

void WriteFloat(address: int, value: float)

Write float to address

string ReadString(address: int, maxLength: int = 256)

Read string from address

void WriteString(address: int, value: string)

Write string to address

Vector3 ReadVector3(address: int)

Read Vector3 from address

void WriteVector3(address: int, value: Vector3)

Write Vector3 to address

int Allocate(size: int)

Allocate memory block

void Free(address: int)

Free allocated memory

int Scan(pattern: string, mask: string)

Scan for pattern in memory

int ScanModule(moduleName: string, pattern: string, mask: string)

Scan module for pattern

int GetModuleBase(moduleName: string)

Get module base address

int GetModuleSize(moduleName: string)

Get module size

CNatives

Native function invocation

any Call(hash: int, ...)

Call native function by hash

any Invoke(hash: int, args: table)

Invoke native function

int GetNativeHandler(hash: int)

Get native handler address

void RegisterNative(hash: int, handler: function)

Register custom native handler

Vector3

3D vector class (V3) for positions and directions

V3 New(x: number = 0, y: number = 0, z: number = 0)

Create new Vector3

number x()

X component

number y()

Y component

number z()

Z component

number Length()

Get vector length/magnitude

number LengthSquared()

Get length squared (faster)

V3 Normalize()

Get normalized vector (length 1)

number Dot(other: V3)

Dot product with another vector

V3 Cross(other: V3)

Cross product with another vector

number Distance(other: V3)

Distance to another vector

number DistanceSquared(other: V3)

Distance squared (faster)

V3 Lerp(other: V3, t: number)

Linear interpolation to another vector

V3 Slerp(other: V3, t: number)

Spherical linear interpolation

number Angle(other: V3)

Angle between vectors in radians

V3 Project(other: V3)

Project onto another vector

V3 Reflect(normal: V3)

Reflect off normal vector

V3 RotateX(angle: number)

Rotate around X axis

V3 RotateY(angle: number)

Rotate around Y axis

V3 RotateZ(angle: number)

Rotate around Z axis

V3 Clamp(min: number, max: number)

Clamp to min/max length

V3 Floor()

Floor all components

V3 Ceil()

Ceiling all components

V3 Round()

Round all components

V3 Abs()

Absolute value all components

V3 Min(other: V3)

Component-wise minimum

V3 Max(other: V3)

Component-wise maximum

number ToHeading()

Convert to heading angle

V3 FromHeading(heading: number)

Create from heading angle

V3 Zero()

Get zero vector (0,0,0)

V3 One()

Get one vector (1,1,1)

V3 Up()

Get up vector (0,0,1)

V3 Down()

Get down vector (0,0,-1)

V3 Forward()

Get forward vector (0,1,0)

V3 Back()

Get back vector (0,-1,0)

V3 Left()

Get left vector (-1,0,0)

V3 Right()

Get right vector (1,0,0)

Joaat

Jenkins one-at-a-time hash function

int Hash(text: string)

Calculate hash from string

int HashLower(text: string)

Calculate hash from lowercase string

rage_fwEntity

RAGE framework entity base class

fwEntity FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetType()

Get entity type

fwArchetype GetArchetype()

Get entity archetype

CBaseModelInfo GetModelInfo()

Get model info

Vector3 GetPosition()

Get world position

void SetPosition(pos: Vector3)

Set world position

Matrix44 GetMatrix()

Get transformation matrix

void SetMatrix(matrix: Matrix44)

Set transformation matrix

Vector3 GetBoundingBoxMin()

Get bounding box minimum

Vector3 GetBoundingBoxMax()

Get bounding box maximum

bool IsVisible()

Check if visible

void SetVisible(visible: bool)

Set visibility

rage_netObject

RAGE network object for entity synchronization

netObject FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetObjectId()

Get network object ID

eNetObjType GetObjectType()

Get network object type

CNetGamePlayer GetOwner()

Get owner player

CNetGamePlayer GetNextOwner()

Get pending next owner

CEntity GetEntity()

Get associated game entity

bool IsLocal()

Check if locally owned

bool IsRemote()

Check if remotely owned

bool CanMigrate()

Check if can migrate ownership

void SetCanMigrate(canMigrate: bool)

Set migration capability

netSyncTree GetSyncTree()

Get sync tree

void ForceSync()

Force synchronization

rage_netPlayer

RAGE network player base class

netPlayer FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

string GetName()

Get player name

int GetPlayerId()

Get player ID (0-31)

int GetHostToken()

Get host token

bool IsHost()

Check if session host

bool IsLocal()

Check if local player

rlGamerInfo GetGamerInfo()

Get gamer info

rage_netSyncTree

RAGE network sync tree for entity data

netSyncTree FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

netObject GetNetObject()

Get associated net object

int GetNodeCount()

Get number of sync nodes

netSyncDataNode GetNode(index: int)

Get sync node by index

netSyncDataNode FindNode(nodeType: int)

Find sync node by type

bool IsSyncing()

Check if currently syncing

void MarkDirty()

Mark tree as dirty for sync

rage_netSyncDataNode

RAGE network sync data node base

netSyncDataNode FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetNodeId()

Get node type ID

netSyncDataNode GetParent()

Get parent node

netSyncDataNode GetFirstChild()

Get first child node

netSyncDataNode GetNextSibling()

Get next sibling node

bool IsActive()

Check if node is active

bool IsDirty()

Check if node needs sync

void SetDirty(dirty: bool)

Mark node as dirty

rage_datBitBuffer

RAGE data bit buffer for network serialization

datBitBuffer New(size: int)

Create new bit buffer

datBitBuffer FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

bool ReadBit()

Read single bit

void WriteBit(value: bool)

Write single bit

int ReadBits(numBits: int)

Read multiple bits

void WriteBits(value: int, numBits: int)

Write multiple bits

bool ReadBool()

Read boolean

void WriteBool(value: bool)

Write boolean

int ReadByte()

Read byte (8 bits)

void WriteByte(value: int)

Write byte (8 bits)

int ReadInt8()

Read signed 8-bit int

void WriteInt8(value: int)

Write signed 8-bit int

int ReadUInt8()

Read unsigned 8-bit int

void WriteUInt8(value: int)

Write unsigned 8-bit int

int ReadInt16()

Read signed 16-bit int

void WriteInt16(value: int)

Write signed 16-bit int

int ReadUInt16()

Read unsigned 16-bit int

void WriteUInt16(value: int)

Write unsigned 16-bit int

int ReadInt32()

Read signed 32-bit int

void WriteInt32(value: int)

Write signed 32-bit int

int ReadUInt32()

Read unsigned 32-bit int

void WriteUInt32(value: int)

Write unsigned 32-bit int

int ReadInt64()

Read signed 64-bit int

void WriteInt64(value: int)

Write signed 64-bit int

float ReadFloat()

Read 32-bit float

void WriteFloat(value: float)

Write 32-bit float

float ReadSignedFloat(bits: int)

Read signed float with precision

void WriteSignedFloat(value: float, bits: int)

Write signed float with precision

string ReadString(maxLen: int)

Read null-terminated string

void WriteString(str: string, maxLen: int)

Write null-terminated string

Vector3 ReadVector3()

Read Vector3

void WriteVector3(vec: Vector3)

Write Vector3

table ReadArray(size: int)

Read array of bytes

void WriteArray(data: table)

Write array of bytes

int GetPosition()

Get current bit position

void SetPosition(pos: int)

Set current bit position

int GetMaxSize()

Get maximum buffer size in bits

int GetDataLength()

Get data length in bytes

bool IsFlagSet(flag: int)

Check if flag is set

bool Seek(pos: int)

Seek to position

bool SeekForward(bits: int)

Seek forward by bits

bool SeekBackward(bits: int)

Seek backward by bits

rage_rlSessionInfo

RAGE lobby session information

rlSessionInfo FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetSessionId()

Get session ID

rlGamerInfo GetHostGamerInfo()

Get host gamer info

netAddress GetPeerAddress()

Get peer network address

bool IsValid()

Check if session info is valid

rage_rlGamerInfo

RAGE gamer information

rlGamerInfo FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

string GetName()

Get gamer name

int GetRockstarId()

Get Rockstar ID

rlGamerHandle GetHandle()

Get gamer handle

string GetExternalIP()

Get external IP address

int GetExternalPort()

Get external port

string GetInternalIP()

Get internal IP address

int GetInternalPort()

Get internal port

int GetHostToken()

Get host token

rage_fwBasePool

RAGE entity pool for managing game objects

fwBasePool GetPedPool()

Get global ped pool

fwBasePool GetVehiclePool()

Get global vehicle pool

fwBasePool GetObjectPool()

Get global object pool

fwBasePool GetPickupPool()

Get global pickup pool

int GetSize()

Get pool capacity

int GetCount()

Get active entity count

CEntity GetAt(index: int)

Get entity at slot index

int GetIndex(entity: CEntity)

Get index of entity in pool

bool IsValid(index: int)

Check if index is valid

bool IsFull()

Check if pool is full

table<CEntity> GetAllValid()

Get all valid entities

void ForEach(callback: function)

Iterate over all valid entities

rage_atArray

RAGE array container class

int GetSize()

Get number of elements

int GetCapacity()

Get array capacity

any GetAt(index: int)

Get element at index

void SetAt(index: int, value: any)

Set element at index

bool IsEmpty()

Check if array is empty

void Clear()

Clear all elements

CExplosionEvent

Network explosion event

CExplosionEvent FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetOwner()

Get explosion owner entity

Vector3 GetPosition()

Get explosion position

int GetExplosionType()

Get explosion type

float GetDamageScale()

Get damage scale

float GetCameraShake()

Get camera shake amount

bool IsAudible()

Check if audible

bool IsInvisible()

Check if invisible

void Block()

Block this explosion event

CWeaponDamageEvent

Network weapon damage event

CWeaponDamageEvent FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetAttacker()

Get attacker entity

int GetVictim()

Get victim entity

int GetWeaponHash()

Get weapon hash

float GetDamage()

Get damage amount

int GetHitComponent()

Get hit component/bone

Vector3 GetHitPosition()

Get hit world position

bool IsHeadshot()

Check if headshot

bool IsMelee()

Check if melee attack

void Block()

Block this damage event

void SetDamage(damage: float)

Modify damage amount

CRagdollRequestEvent

Network ragdoll request event

CRagdollRequestEvent FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetTarget()

Get target ped

Vector3 GetForce()

Get ragdoll force

void Block()

Block this ragdoll event

CDoorBreakEvent

Network door break event

CDoorBreakEvent FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetDoor()

Get door entity

float GetDamage()

Get damage amount

void Block()

Block this door break event

CPlaySoundEvent

Network play sound event

CPlaySoundEvent FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetSoundId()

Get sound ID

int GetSoundName()

Get sound name hash

Vector3 GetPosition()

Get sound position

int GetEntity()

Get attached entity

void Block()

Block this sound event

CNetworkIncrementStatEvent

Network stat increment event

CNetworkIncrementStatEvent FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetStatHash()

Get stat hash

int GetAmount()

Get increment amount

void Block()

Block this stat event

CScriptWorldStateEvent

Network script world state event

CScriptWorldStateEvent FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetEventType()

Get world state event type

int GetPopulationType()

Get population type

void Block()

Block this world state event

CPedAIDataNode

Ped AI state sync data node

int relationshipGroup()

Relationship group hash

int decisionMakerType()

Decision maker type

bool inGroup()

Is in ped group

int groupId()

Ped group ID

bool isLeaderOfGroup()

Is leader of group

int navCapabilitiesFlags()

Navigation capability flags

int configFlags()

Config flags

int DecisionMakerType()

standard decision maker type

Usage example
int object.DecisionMakerType
int RelationshipGroup()

ped relationship group

Usage example
int object.RelationshipGroup
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPedAppearanceDataNode

Ped appearance sync data node

table components()

Ped component variations

table props()

Ped props (hats, glasses)

table headBlendData()

Head blend data for MP peds

int hairColor()

Hair color index

int hairHighlightColor()

Hair highlight color

int eyeColor()

Eye color index

bool isPedMale()

Is male ped

int PhoneMode()

for secondary task phone

Usage example
int object.PhoneMode
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
CSyncedPedVarData VariationData()

Member available through Scooby's native Lua API.

Usage example
CSyncedPedVarData object.VariationData
int facialClipSetId()

the facial clipset used by the ped

Usage example
int object.facialClipSetId
int facialIdleAnimOverrideClipDictNameHash()

the dictionary used by the ped

Usage example
int object.facialIdleAnimOverrideClipDictNameHash
int facialIdleAnimOverrideClipNameHash()

the facial clip used by the ped

Usage example
int object.facialIdleAnimOverrideClipNameHash
int helmetProp()

what helmet type are we using?

Usage example
int object.helmetProp
int helmetTextureId()

what texture are we going to use for the helmet?

Usage example
int object.helmetTextureId
bool isAttachingHelmet()

are we attaching a helmet?

Usage example
bool object.isAttachingHelmet
bool isRemovingHelmet()

are we removing a helmet?

Usage example
bool object.isRemovingHelmet
bool isVisorSwitching()

Member available through Scooby's native Lua API.

Usage example
bool object.isVisorSwitching
bool isWearingHelmet()

are we wearing a helmet?

Usage example
bool object.isWearingHelmet
int parachutePackTintIndex()

what colour the parachute pack will appear on deployment...

Usage example
int object.parachutePackTintIndex
int parachuteTintIndex()

what colour the parachute will appear on deployment...

Usage example
int object.parachuteTintIndex
bool supportsVisor()

Member available through Scooby's native Lua API.

Usage example
bool object.supportsVisor
int targetVisorState()

Member available through Scooby's native Lua API.

Usage example
int object.targetVisorState
int visorDownProp()

what helmet type are we using?

Usage example
int object.visorDownProp
bool visorIsUp()

Member available through Scooby's native Lua API.

Usage example
bool object.visorIsUp
int visorUpProp()

what helmet type are we using?

Usage example
int object.visorUpProp

CPedHealthDataNode

Ped health sync data node

int health()

Current health

Usage example
int object.health
int maxHealth()

Maximum health

int armour()

Current armour

Usage example
int object.armour
int maxArmour()

Maximum armour

int causeOfDeath()

Cause of death weapon hash

bool hurtStarted()

Hurt state started

Usage example
bool object.hurtStarted
bool hurtEnded()

Hurt state ended

int weaponDamageEntity()

Entity that damaged with weapon

Usage example
int object.weaponDamageEntity
int weaponDamageHash()

Weapon hash that caused damage

Usage example
int object.weaponDamageHash
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int endurance()

ped endurance

Usage example
int object.endurance
bool hasDefaultArmour()

armour is default

Usage example
bool object.hasDefaultArmour
bool hasMaxEndurance()

endurance is max

Usage example
bool object.hasMaxEndurance
bool hasMaxHealth()

health is max

Usage example
bool object.hasMaxHealth
int hurtEndTime()

hurt time (used by GetUp, Writhe + Aiming + Gun to pick injured animations)

Usage example
int object.hurtEndTime
bool killedWithHeadShot()

true if the ped died from a headshot

Usage example
bool object.killedWithHeadShot
bool killedWithMeleeDamage()

true if the ped died from a Melee damage (weapon whips)

Usage example
bool object.killedWithMeleeDamage
bool maxEnduranceSetByScript()

Script set a max endurance for this ped

Usage example
bool object.maxEnduranceSetByScript
bool maxHealthSetByScript()

Script set a max health for this ped

Usage example
bool object.maxHealthSetByScript
int scriptMaxEndurance()

Member available through Scooby's native Lua API.

Usage example
int object.scriptMaxEndurance
int scriptMaxHealth()

max health set by script

Usage example
int object.scriptMaxHealth
int weaponDamageComponent()

Member available through Scooby's native Lua API.

Usage example
int object.weaponDamageComponent

CPedMovementDataNode

Ped movement sync data node

bool isMoving()

Is ped moving

bool isRunning()

Is ped running

bool isSprinting()

Is ped sprinting

bool isStealthy()

Is in stealth mode

float desiredMoveSpeed()

Desired movement speed

float actualMoveSpeed()

Actual movement speed

number DesiredMoveBlendRatioX()

desired move blend ratio in the X axis

Usage example
number object.DesiredMoveBlendRatioX
number DesiredMoveBlendRatioY()

desired move blend ratio in the Y axis

Usage example
number object.DesiredMoveBlendRatioY
number DesiredPitch()

desired pitch

Usage example
number object.DesiredPitch
bool HasDesiredMoveBlendRatioX()

indicates whether the move blend ratio for the ped in the X axis is non-zero

Usage example
bool object.HasDesiredMoveBlendRatioX
bool HasDesiredMoveBlendRatioY()

indicates whether the move blend ratio for the ped in the Y axis is non-zero

Usage example
bool object.HasDesiredMoveBlendRatioY
bool HasStopped()

indicates the ped has stopped moving (velocity is zero)

Usage example
bool object.HasStopped
number MaxMoveBlendRatio()

script set max move blend ratio

Usage example
number object.MaxMoveBlendRatio
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPedOrientationDataNode

Ped orientation sync data node

float heading()

Current heading

float desiredHeading()

Desired heading

float pitch()

Pitch angle

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
number currentHeading()

ped current heading

Usage example
number object.currentHeading
number desiredHeading()

ped desired heading

Usage example
number object.desiredHeading

CPedInventoryDataNode

Ped inventory/weapon sync data node

table weapons()

Weapon array with ammo counts

int currentWeaponHash()

Currently equipped weapon

int numWeapons()

Number of weapons

int grenadeAmmo()

Grenade ammo count

int stickyBombAmmo()

Sticky bomb ammo

int smokeGrenadeAmmo()

Smoke grenade ammo

int molotovAmmo()

Molotov ammo

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool allAmmoInfinite()

Member available through Scooby's native Lua API.

Usage example
bool object.allAmmoInfinite
table<int, bool> ammoInfinite()

Member available through Scooby's native Lua API.

Usage example
table<int, bool> object.ammoInfinite
table<int, int> ammoQuantity()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.ammoQuantity
table<int, int> ammoSlots()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.ammoSlots
table<int, int> itemSlotNumComponents()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.itemSlotNumComponents
table<int, int> itemSlotTint()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.itemSlotTint
table<int, int> itemSlots()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.itemSlots
int numAmmos()

Member available through Scooby's native Lua API.

Usage example
int object.numAmmos
int numItems()

Member available through Scooby's native Lua API.

Usage example
int object.numItems

CPedTaskTreeDataNode

Ped task tree sync data node

int taskTreeType()

Task tree type

int scriptTaskHash()

Script task hash

int scriptTaskStage()

Script task stage

int sequenceTaskHash()

Sequence task hash

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int scriptCommand()

Member available through Scooby's native Lua API.

Usage example
int object.scriptCommand
int taskSlotsUsed()

Member available through Scooby's native Lua API.

Usage example
int object.taskSlotsUsed
int taskStage()

Member available through Scooby's native Lua API.

Usage example
int object.taskStage
table<int, TaskSlotData> taskTreeData()

Member available through Scooby's native Lua API.

Usage example
table<int, TaskSlotData> object.taskTreeData

CVehicleControlDataNode

Vehicle control sync data node

float steeringAngle()

Current steering angle

float throttle()

Throttle position (0-1)

float brake()

Brake position (0-1)

bool handbrake()

Handbrake engaged

int drivingFlags()

Driving behavior flags

bool hasDriver()

Has driver

bool BVTHControlVertVel()

CTaskBringVehicleToHalt bControlVerticalVelocity

Usage example
bool object.BVTHControlVertVel
number BVTHStoppingDist()

CTaskBringVehicleToHalt stopping dist

Usage example
number object.BVTHStoppingDist
bool HasTargetGravityScale()

For hover vehicles

Usage example
bool object.HasTargetGravityScale
bool HasTopSpeedPercentage()

Member available through Scooby's native Lua API.

Usage example
bool object.HasTopSpeedPercentage
number StickY()

Member available through Scooby's native Lua API.

Usage example
number object.StickY
number SubCarDive()

the current value of the dive control for sub cars

Usage example
number object.SubCarDive
number SubCarPitch()

the current value of the pitch control for sub cars

Usage example
number object.SubCarPitch
number TargetGravityScale()

Member available through Scooby's native Lua API.

Usage example
number object.TargetGravityScale
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool bAllLowriderHydraulicsRaised()

CTaskVehiclePlayerDriveAutomobile::ProcessDriverInputsForPlayerOnUpdate; player has raised all lowrider suspension

Usage example
bool object.bAllLowriderHydraulicsRaised
bool bIsClosingAnyDoor()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsClosingAnyDoor
bool bIsNitrousOverrideActive()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsNitrousOverrideActive
bool bModifiedLowriderSuspension()

CTaskVehiclePlayerDriveAutomobile::ProcessDriverInputsForPlayerOnUpdate; player has modified suspension of lowrider

Usage example
bool object.bModifiedLowriderSuspension
bool bNitrousActive()

Member available through Scooby's native Lua API.

Usage example
bool object.bNitrousActive
bool bPlayHydraulicsActivationSound()

Hydraulics sound effect when activated

Usage example
bool object.bPlayHydraulicsActivationSound
bool bPlayHydraulicsBounceSound()

Hydraulics sound effect when bouncing

Usage example
bool object.bPlayHydraulicsBounceSound
bool bPlayHydraulicsDeactivationSound()

Hydraulics sound effect when de-activated

Usage example
bool object.bPlayHydraulicsDeactivationSound
number brakePedal()

the current value of the brake pedal

Usage example
number object.brakePedal
bool bringVehicleToHalt()

CTaskBringVehicleToHalt is running as a secondary task

Usage example
bool object.bringVehicleToHalt
table<int, number> fLowriderSuspension()

Syncs modified lowrider suspension values

Usage example
table<int, number> object.fLowriderSuspension
bool isInBurnout()

Member available through Scooby's native Lua API.

Usage example
bool object.isInBurnout
bool isSubCar()

Member available through Scooby's native Lua API.

Usage example
bool object.isSubCar
bool kersActive()

indicates if the kers system is active

Usage example
bool object.kersActive
int numWheels()

number of wheels on this car

Usage example
int object.numWheels
bool reducedSuspensionForce()

reduced suspension force used to "stance" tuner pack vehicles

Usage example
bool object.reducedSuspensionForce
int roadNodeAddress()

the current road node the vehicle is driving from

Usage example
int object.roadNodeAddress
number subCarYaw()

the current value of the yaw control for sub cars

Usage example
number object.subCarYaw
number throttle()

the current value of the throttle

Usage example
number object.throttle
number topSpeedPercent()

set to the maximum speed a vehicle can travel at

Usage example
number object.topSpeedPercent

CVehicleDamageStatusDataNode

Vehicle damage status sync data node

table bodyDamage()

Body damage array

int windowsSmashed()

Windows smashed flags

int tyresBurst()

Tyres burst flags

int doorsDamaged()

Doors damaged flags

int bumpersLoose()

Bumpers loose flags

int lightsSmashed()

Lights smashed flags

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
table<int, int> armouredPenetrationDecalsCount()

number of bullet penetration decals for armoured windows

Usage example
table<int, int> object.armouredPenetrationDecalsCount
table<int, number> armouredWindowsHealth()

the health of all the windows (if bulletproof / armoured)

Usage example
table<int, number> object.armouredWindowsHealth
int frontBumperState()

the front bumper state

Usage example
int object.frontBumperState
int frontLeftDamageLevel()

Member available through Scooby's native Lua API.

Usage example
int object.frontLeftDamageLevel
int frontRightDamageLevel()

Member available through Scooby's native Lua API.

Usage example
int object.frontRightDamageLevel
bool hasArmouredGlass()

windows are bulletproof / armoured

Usage example
bool object.hasArmouredGlass
bool hasBrokenBouncing()

whether the front or rear bumper states are set

Usage example
bool object.hasBrokenBouncing
bool hasDeformationDamage()

has this vehicle got deformation damage

Usage example
bool object.hasDeformationDamage
bool hasLightsBroken()

true if any lights are broken

Usage example
bool object.hasLightsBroken
bool hasSirensBroken()

true if any sirens are broken

Usage example
bool object.hasSirensBroken
bool hasWindowsBroken()

true if any windows are broken

Usage example
bool object.hasWindowsBroken
table<int, bool> lightsBroken()

array of broken lights

Usage example
table<int, bool> object.lightsBroken
int middleLeftDamageLevel()

Member available through Scooby's native Lua API.

Usage example
int object.middleLeftDamageLevel
int middleRightDamageLevel()

Member available through Scooby's native Lua API.

Usage example
int object.middleRightDamageLevel
int rearBumperState()

the rear bumper state

Usage example
int object.rearBumperState
int rearLeftDamageLevel()

Member available through Scooby's native Lua API.

Usage example
int object.rearLeftDamageLevel
int rearRightDamageLevel()

Member available through Scooby's native Lua API.

Usage example
int object.rearRightDamageLevel
table<int, bool> sirensBroken()

array of broken sirens

Usage example
table<int, bool> object.sirensBroken
table<int, int> weaponImpactPointLocationCounts()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.weaponImpactPointLocationCounts
bool weaponImpactPointLocationSet()

if there are any weapon impacts to set/send

Usage example
bool object.weaponImpactPointLocationSet
table<int, bool> windowsBroken()

array of broken windows

Usage example
table<int, bool> object.windowsBroken

CVehicleGadgetDataNode

Vehicle gadget sync data node

int gadgetType()

Gadget type

int gadgetState()

Gadget state

table gadgetData()

Gadget specific data

table<int, GadgetData> GadgetData()

Member available through Scooby's native Lua API.

Usage example
table<int, GadgetData> object.GadgetData
bool IsAttachedTrailer()

Member available through Scooby's native Lua API.

Usage example
bool object.IsAttachedTrailer
int NumGadgets()

Member available through Scooby's native Lua API.

Usage example
int object.NumGadgets
V3 OffsetFromParentVehicle()

Member available through Scooby's native Lua API.

Usage example
V3 object.OffsetFromParentVehicle
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CHeliControlDataNode

Helicopter control sync data node

int engineState()

Engine state

float rotorSpeed()

Main rotor speed

float throttle()

Throttle position

float cyclicPitch()

Cyclic pitch

float cyclicRoll()

Cyclic roll

float yawControl()

Yaw/pedal control

int landingGearState()

Landing gear state

Usage example
int object.landingGearState
bool BVTHControlVertVel()

CTaskBringVehicleToHalt bControlVerticalVelocity

Usage example
bool object.BVTHControlVertVel
number BVTHStoppingDist()

CTaskBringVehicleToHalt stopping dist

Usage example
number object.BVTHStoppingDist
bool HasTargetGravityScale()

For hover vehicles

Usage example
bool object.HasTargetGravityScale
bool HasTopSpeedPercentage()

Member available through Scooby's native Lua API.

Usage example
bool object.HasTopSpeedPercentage
number StickY()

Member available through Scooby's native Lua API.

Usage example
number object.StickY
number SubCarDive()

the current value of the dive control for sub cars

Usage example
number object.SubCarDive
number SubCarPitch()

the current value of the pitch control for sub cars

Usage example
number object.SubCarPitch
number TargetGravityScale()

Member available through Scooby's native Lua API.

Usage example
number object.TargetGravityScale
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool bAllLowriderHydraulicsRaised()

CTaskVehiclePlayerDriveAutomobile::ProcessDriverInputsForPlayerOnUpdate; player has raised all lowrider suspension

Usage example
bool object.bAllLowriderHydraulicsRaised
bool bHasLandingGear()

if the helicopter has landing gear

Usage example
bool object.bHasLandingGear
bool bIsClosingAnyDoor()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsClosingAnyDoor
bool bIsNitrousOverrideActive()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsNitrousOverrideActive
bool bModifiedLowriderSuspension()

CTaskVehiclePlayerDriveAutomobile::ProcessDriverInputsForPlayerOnUpdate; player has modified suspension of lowrider

Usage example
bool object.bModifiedLowriderSuspension
bool bNitrousActive()

Member available through Scooby's native Lua API.

Usage example
bool object.bNitrousActive
bool bPlayHydraulicsActivationSound()

Hydraulics sound effect when activated

Usage example
bool object.bPlayHydraulicsActivationSound
bool bPlayHydraulicsBounceSound()

Hydraulics sound effect when bouncing

Usage example
bool object.bPlayHydraulicsBounceSound
bool bPlayHydraulicsDeactivationSound()

Hydraulics sound effect when de-activated

Usage example
bool object.bPlayHydraulicsDeactivationSound
number brakePedal()

the current value of the brake pedal

Usage example
number object.brakePedal
bool bringVehicleToHalt()

CTaskBringVehicleToHalt is running as a secondary task

Usage example
bool object.bringVehicleToHalt
table<int, number> fLowriderSuspension()

Syncs modified lowrider suspension values

Usage example
table<int, number> object.fLowriderSuspension
bool hasActiveAITask()

should the heli be fixed if no collision around it?

Usage example
bool object.hasActiveAITask
bool hasJetpackStrafeForceScale()

does the heli have the jetpack effect

Usage example
bool object.hasJetpackStrafeForceScale
bool isInBurnout()

Member available through Scooby's native Lua API.

Usage example
bool object.isInBurnout
bool isSubCar()

Member available through Scooby's native Lua API.

Usage example
bool object.isSubCar
number jetPackStrafeForceScale()

force of jetpack strafe

Usage example
number object.jetPackStrafeForceScale
number jetPackThrusterThrottle()

force of jetpack thrusters

Usage example
number object.jetPackThrusterThrottle
bool kersActive()

indicates if the kers system is active

Usage example
bool object.kersActive
bool lockedToXY()

anchor state for anchorable sea helis

Usage example
bool object.lockedToXY
bool mainRotorStopped()

is the main rotor stopped?

Usage example
bool object.mainRotorStopped
int numWheels()

number of wheels on this car

Usage example
int object.numWheels
number pitchControl()

pitch control of the helicopter

Usage example
number object.pitchControl
bool reducedSuspensionForce()

reduced suspension force used to "stance" tuner pack vehicles

Usage example
bool object.reducedSuspensionForce
int roadNodeAddress()

the current road node the vehicle is driving from

Usage example
int object.roadNodeAddress
number rollControl()

roll control of the helicopter

Usage example
number object.rollControl
number subCarYaw()

the current value of the yaw control for sub cars

Usage example
number object.subCarYaw
number throttle()

the current value of the throttle

Usage example
number object.throttle
number throttleControl()

throttle control of the helicopter

Usage example
number object.throttleControl
number topSpeedPercent()

set to the maximum speed a vehicle can travel at

Usage example
number object.topSpeedPercent
number yawControl()

yaw control of the helicopter

Usage example
number object.yawControl

CHeliHealthDataNode

Helicopter health sync data node

float mainRotorHealth()

Main rotor health

float tailRotorHealth()

Tail rotor health

float engineHealth()

Engine health

float bodyHealth()

Body health

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int bodyHealth()

Member available through Scooby's native Lua API.

Usage example
int object.bodyHealth
bool boomBroken()

is the boom broken?

Usage example
bool object.boomBroken
bool canBoomBreak()

can the boom break?

Usage example
bool object.canBoomBreak
bool disableExpFromBodyDamage()

Member available through Scooby's native Lua API.

Usage example
bool object.disableExpFromBodyDamage
int engineHealth()

Member available through Scooby's native Lua API.

Usage example
int object.engineHealth
int gasTankHealth()

Member available through Scooby's native Lua API.

Usage example
int object.gasTankHealth
bool hasCustomHealth()

Member available through Scooby's native Lua API.

Usage example
bool object.hasCustomHealth
bool hasMaxHealth()

health is max

Usage example
bool object.hasMaxHealth
int health()

health

Usage example
int object.health
int lastDamagedMaterialId()

last material id that was damaged

Usage example
int object.lastDamagedMaterialId
number mainRotorDamageScale()

Member available through Scooby's native Lua API.

Usage example
number object.mainRotorDamageScale
int mainRotorHealth()

health of the main rotor blade for the helicopter

Usage example
int object.mainRotorHealth
bool maxHealthSetByScript()

set when script alters max health

Usage example
bool object.maxHealthSetByScript
number rearRotorDamageScale()

Member available through Scooby's native Lua API.

Usage example
number object.rearRotorDamageScale
int rearRotorHealth()

health of the rear rotor blade for the helicopter

Usage example
int object.rearRotorHealth
int scriptMaxHealth()

the script max health

Usage example
int object.scriptMaxHealth
number tailBoomDamageScale()

Member available through Scooby's native Lua API.

Usage example
number object.tailBoomDamageScale
int weaponDamageEntity()

weapon damage entity (only for script objects)

Usage example
int object.weaponDamageEntity
int weaponDamageHash()

weapon damage Hash

Usage example
int object.weaponDamageHash

CPlayerAppearanceDataNode

Player appearance sync data node

int modelHash()

Player model hash

table components()

Component variations

table props()

Prop variations

table headBlend()

Head blend data

int hairColor()

Hair color

int eyeColor()

Eye color

bool HasDecorations()

number of decorations (medals/tattoos)

Usage example
bool object.HasDecorations
bool HasHeadBlendData()

does this player have custom head data?

Usage example
bool object.HasHeadBlendData
bool HasRespawnObjId()

has a valid respawn object id

Usage example
bool object.HasRespawnObjId
int NewModelHash()

model index for player

Usage example
int object.NewModelHash
table<int, int> PackedDecorations()

texture preset hashes (looked up from collection)

Usage example
table<int, int> object.PackedDecorations
int RespawnNetObjId()

ID of the ped used for Team Swapping

Usage example
int object.RespawnNetObjId
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
CSyncedPedVarData VariationData()

Member available through Scooby's native Lua API.

Usage example
CSyncedPedVarData object.VariationData
int VoiceHash()

voice hash code

Usage example
int object.VoiceHash
int crewEmblemVariation()

Member available through Scooby's native Lua API.

Usage example
int object.crewEmblemVariation
int crewLogoTexHash()

Member available through Scooby's native Lua API.

Usage example
int object.crewLogoTexHash
int crewLogoTxdHash()

Member available through Scooby's native Lua API.

Usage example
int object.crewLogoTxdHash
int facialClipSetId()

the facial clipset used by the player

Usage example
int object.facialClipSetId
int facialIdleAnimOverrideClipDictNameHash()

the dictionary used by the player

Usage example
int object.facialIdleAnimOverrideClipDictNameHash
int facialIdleAnimOverrideClipNameHash()

the facial clip used by the player

Usage example
int object.facialIdleAnimOverrideClipNameHash
int helmetProp()

which helmet prop are we using?

Usage example
int object.helmetProp
int helmetTextureId()

which helmet are we about to put on?

Usage example
int object.helmetTextureId
bool isAttachingHelmet()

are we attaching a helmet via TaskMotionInAutomobile::State_PutOnHelmet

Usage example
bool object.isAttachingHelmet
bool isRemovingHelmet()

are we playing secondary priority removing helmet anim?

Usage example
bool object.isRemovingHelmet
bool isVisorSwitching()

Member available through Scooby's native Lua API.

Usage example
bool object.isVisorSwitching
bool isWearingHelmet()

are we wearing a helmet (needed for when we aborting putting one on)

Usage example
bool object.isWearingHelmet
int networkedDamagePack()

Member available through Scooby's native Lua API.

Usage example
int object.networkedDamagePack
int parachutePackTintIndex()

Colour of the players' parachute pack

Usage example
int object.parachutePackTintIndex
int parachuteTintIndex()

Colour of the players' parachute

Usage example
int object.parachuteTintIndex
int phoneMode()

Member available through Scooby's native Lua API.

Usage example
int object.phoneMode
bool supportsVisor()

Member available through Scooby's native Lua API.

Usage example
bool object.supportsVisor
int targetVisorState()

Member available through Scooby's native Lua API.

Usage example
int object.targetVisorState
bool visorIsUp()

Member available through Scooby's native Lua API.

Usage example
bool object.visorIsUp
int visorPropDown()

which helmet prop are we using?

Usage example
int object.visorPropDown
int visorPropUp()

which helmet prop are we using?

Usage example
int object.visorPropUp

CPlayerCameraDataNode

Player camera sync data node

Vector3 cameraPosition()

Camera world position

Vector3 aimDirection()

Aim direction vector

Vector3 freeLookDirection()

Free look direction

bool isFirstPerson()

Is in first person view

bool isAiming()

Is aiming

bool isInCover()

Is in cover

V3 LookAtPosition()

Member available through Scooby's native Lua API.

Usage example
V3 object.LookAtPosition
V3 Position()

the position offset of the camera if aiming - or absolute position if using a free camera

Usage example
V3 object.Position
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool UsingCinematicVehCamera()

if set, this player is using the cinematic vehicle camera

Usage example
bool object.UsingCinematicVehCamera
bool UsingFreeCamera()

if set, this player is controlling a free camera

Usage example
bool object.UsingFreeCamera
bool UsingLeftTriggerAimMode()

is this player using the left trigger aim camera mode

Usage example
bool object.UsingLeftTriggerAimMode
bool aiming()

if the player is currently aiming a weapon

Usage example
bool object.aiming
bool bAimTargetEntity()

Member available through Scooby's native Lua API.

Usage example
bool object.bAimTargetEntity
bool canOwnerMoveWhileAiming()

can the owner move while aiming (changes based on aiming from hip / scope / weapon)

Usage example
bool object.canOwnerMoveWhileAiming
number eulersX()

camera matrix euler angles

Usage example
number object.eulersX
number eulersZ()

camera matrix euler angles

Usage example
number object.eulersZ
bool freeAimLockedOnTarget()

if the player is free aim locked onto a target...

Usage example
bool object.freeAimLockedOnTarget
bool inFirstPersonIdle()

Member available through Scooby's native Lua API.

Usage example
bool object.inFirstPersonIdle
bool isLooking()

Member available through Scooby's native Lua API.

Usage example
bool object.isLooking
bool largeOffset()

if set, the camera is far away from the player

Usage example
bool object.largeOffset
V3 lockOnTargetOffset()

if locked onto a target, offset from target position to actual lock on pos.

Usage example
V3 object.lockOnTargetOffset
bool longRange()

if the player is aiming a long range weapon (sniper rifle - 1500m range) or short range (<150m)

Usage example
bool object.longRange
bool morePrecision()

if set, more precise camera data is used

Usage example
bool object.morePrecision
bool onSlope()

Member available through Scooby's native Lua API.

Usage example
bool object.onSlope
V3 playerToTargetAimOffset()

position we're aiming at (used to compute pitch and yaw on the clone).

Usage example
V3 object.playerToTargetAimOffset
bool stickWithinStrafeAngle()

Member available through Scooby's native Lua API.

Usage example
bool object.stickWithinStrafeAngle
int targetId()

if we're aiming at a target we pass that info instead of pitch and yaw.

Usage example
int object.targetId
bool usingFirstPersonCamera()

Member available through Scooby's native Lua API.

Usage example
bool object.usingFirstPersonCamera
bool usingFirstPersonVehicleCamera()

Member available through Scooby's native Lua API.

Usage example
bool object.usingFirstPersonVehicleCamera
bool usingSwimMotionTask()

Member available through Scooby's native Lua API.

Usage example
bool object.usingSwimMotionTask

CPlayerWantedAndLOSDataNode

Player wanted level and line of sight sync

int wantedLevel()

Current wanted level (0-5)

Usage example
int object.wantedLevel
int pendingWantedLevel()

Pending wanted level

int timeToEscape()

Time to escape wanted

bool hasLOS()

Has line of sight to cops

Vector3 lastKnownPosition()

Last known position by cops

bool isEvading()

Is evading police

bool HasLeftInitialSearchArea()

Member available through Scooby's native Lua API.

Usage example
bool object.HasLeftInitialSearchArea
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int WantedLevelBeforeParole()

Member available through Scooby's native Lua API.

Usage example
int object.WantedLevelBeforeParole
bool bIsOutsideCircle()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsOutsideCircle
int causedByPlayerPhysicalIndex()

Member available through Scooby's native Lua API.

Usage example
int object.causedByPlayerPhysicalIndex
bool causedByThisPlayer()

Member available through Scooby's native Lua API.

Usage example
bool object.causedByThisPlayer
bool copsAreSearching()

Member available through Scooby's native Lua API.

Usage example
bool object.copsAreSearching
int fakeWantedLevel()

Member available through Scooby's native Lua API.

Usage example
int object.fakeWantedLevel
V3 lastSpottedLocation()

Member available through Scooby's native Lua API.

Usage example
V3 object.lastSpottedLocation
V3 searchAreaCentre()

Member available through Scooby's native Lua API.

Usage example
V3 object.searchAreaCentre
int timeFirstSpotted()

Member available through Scooby's native Lua API.

Usage example
int object.timeFirstSpotted
int timeLastSpotted()

Member available through Scooby's native Lua API.

Usage example
int object.timeLastSpotted
int visiblePlayers()

Member available through Scooby's native Lua API.

Usage example
int object.visiblePlayers

CPlayerGamerDataNode

Player gamer data sync node

int rockstarId()

Rockstar ID

int hostToken()

Host token

int crewId()

Crew ID

int crewRank()

Crew rank

int crewColor()

Crew color

bool isRockstarDev()

Is Rockstar developer

bool isCheater()

Is flagged as cheater

int PlayerFlags()

Member available through Scooby's native Lua API.

Usage example
int object.PlayerFlags
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool bHasStartedTransition()

Member available through Scooby's native Lua API.

Usage example
bool object.bHasStartedTransition
bool bHasTransitionInfo()

Member available through Scooby's native Lua API.

Usage example
bool object.bHasTransitionInfo
bool bNeedToSerialiseCrewRankTitle()

Member available through Scooby's native Lua API.

Usage example
bool object.bNeedToSerialiseCrewRankTitle
bool bNeedToSerialiseMuteData()

Member available through Scooby's native Lua API.

Usage example
bool object.bNeedToSerialiseMuteData
bool bNeedToSerialiseRankSystemFlags()

Member available through Scooby's native Lua API.

Usage example
bool object.bNeedToSerialiseRankSystemFlags
int kickVotes()

Member available through Scooby's native Lua API.

Usage example
int object.kickVotes
int muteCount()

Member available through Scooby's native Lua API.

Usage example
int object.muteCount
int muteTotalTalkersCount()

Member available through Scooby's native Lua API.

Usage example
int object.muteTotalTalkersCount
int nMatchMakingGroup()

Member available through Scooby's native Lua API.

Usage example
int object.nMatchMakingGroup
int playerAccountId()

Member available through Scooby's native Lua API.

Usage example
int object.playerAccountId

CPhysicalVelocityDataNode

Physical entity velocity sync data node

Vector3 velocity()

Linear velocity vector

float speed()

Speed magnitude

int PackedVelocityX()

current velocity X (packed)

Usage example
int object.PackedVelocityX
int PackedVelocityY()

current velocity Y (packed)

Usage example
int object.PackedVelocityY
int PackedVelocityZ()

current velocity Z (packed)

Usage example
int object.PackedVelocityZ
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPhysicalAngVelocityDataNode

Physical entity angular velocity sync

Vector3 angularVelocity()

Angular velocity vector

int PackedAngVelocityX()

current angular velocity X (packed)

Usage example
int object.PackedAngVelocityX
int PackedAngVelocityY()

current angular velocity Y (packed)

Usage example
int object.PackedAngVelocityY
int PackedAngVelocityZ()

current angular velocity Z (packed)

Usage example
int object.PackedAngVelocityZ
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPhysicalAttachDataNode

Physical entity attachment sync data node

bool isAttached()

Is attached to another entity

int attachedTo()

Entity attached to

int attachBone()

Attachment bone index

Vector3 offset()

Attachment offset

Vector3 rotation()

Attachment rotation

number InvMassScaleA()

inv mass scale A

Usage example
number object.InvMassScaleA
number InvMassScaleB()

inv mass scale B

Usage example
number object.InvMassScaleB
bool IsCargoVehicle()

is the vehicle attached as a cargo vehicle

Usage example
bool object.IsCargoVehicle
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool activatePhysicsWhenDetached()

activates the physics on the object when it is detached

Usage example
bool object.activatePhysicsWhenDetached
bool allowInitialSeparation()

allowed initial separation

Usage example
bool object.allowInitialSeparation
bool attached()

is this object attached?

Usage example
bool object.attached
int attachedObjectID()

object ID of the object attached to

Usage example
int object.attachedObjectID
int attachmentFlags()

attachment flags

Usage example
int object.attachmentFlags
int attachmentMyBone()

attachment bone

Usage example
int object.attachmentMyBone
V3 attachmentOffset()

attachment offset

Usage example
V3 object.attachmentOffset
int attachmentOtherBone()

attachment bone

Usage example
int object.attachmentOtherBone
V3 attachmentParentOffset()

attachment parent offset

Usage example
V3 object.attachmentParentOffset
V3 attachmentQuat()

attachment quaternion

Usage example
V3 object.attachmentQuat
bool syncPhysicsActivation()

if set m_activatePhysicsWhenDetached is synced

Usage example
bool object.syncPhysicsActivation

CEntityOrientationDataNode

Entity orientation sync data node

float heading()

Entity heading

float pitch()

Entity pitch

float roll()

Entity roll

Matrix33 rotationMatrix()

Full rotation matrix

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CObjectCreationDataNode

Object creation sync data node

int modelHash()

Object model hash

Usage example
int object.modelHash
bool hasInitPhysics()

Has initialized physics

Usage example
bool object.hasInitPhysics
bool isDynamic()

Is dynamic object

int ownedBy()

Owned by script

Usage example
int object.ownedBy
int fragmentGroup()

Fragment group index

bool CanBlendWhenFixed()

indicates the network blender can run when the object is using fixed physics

Usage example
bool object.CanBlendWhenFixed
bool DestroyFrags()

if the object is breakable, destroy any frags created by the breaking

Usage example
bool object.DestroyFrags
bool HasExploded()

the object has exploded

Usage example
bool object.HasExploded
bool IsAmbientFence()

the object is an uprooted fence

Usage example
bool object.IsAmbientFence
bool IsBroken()

the object is broken / damaged

Usage example
bool object.IsBroken
bool IsFragObject()

this object is a frag object

Usage example
bool object.IsFragObject
bool KeepRegistered()

the object must remain registered

Usage example
bool object.KeepRegistered
V3 ScriptGrabPosition()

world position script grabbed this object from

Usage example
V3 object.ScriptGrabPosition
number ScriptGrabRadius()

radius used by script to grab this object

Usage example
number object.ScriptGrabRadius
bool ScriptGrabbedFromWorld()

has script grabbed this object from a world position?

Usage example
bool object.ScriptGrabbedFromWorld
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
V3 dummyPosition()

position of the dummy object this object was instanced from

Usage example
V3 object.dummyPosition
int fragGroupIndex()

the frag group index (used by fragment cache objects)

Usage example
int object.fragGroupIndex
int fragParentVehicle()

if set, this object is a vehicle fragment and it belongs to this vehicle id

Usage example
int object.fragParentVehicle
bool hasGameObject()

is there a prop object associated with this network object?

Usage example
bool object.hasGameObject
int lodDistance()

Member available through Scooby's native Lua API.

Usage example
int object.lodDistance
bool lodOrphanHd()

Member available through Scooby's native Lua API.

Usage example
bool object.lodOrphanHd
bool noReassign()

stop the object changing owner

Usage example
bool object.noReassign
table<int, V3> objectMatrix()

the position of the object (used when the network object has no game object)

Usage example
table<int, V3> object.objectMatrix
V3 objectPosition()

position of the object (used when there is no game object)

Usage example
V3 object.objectPosition
int ownershipToken()

used when there is no associated prop (and sync data) for this network object

Usage example
int object.ownershipToken
bool playerWantsControl()

does the creating player want control of this object

Usage example
bool object.playerWantsControl

CDoorCreationDataNode

Door creation sync data node

int modelHash()

Door model hash

Vector3 position()

Door position

bool isAutomatic()

Is automatic door

int DoorModel()

0xC0

Usage example
int object.DoorModel
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CDoorMovementDataNode

Door movement sync data node

float openRatio()

Door open ratio (0-1)

bool isLocked()

Is door locked

int lockState()

Lock state flags

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool bClosed()

Member available through Scooby's native Lua API.

Usage example
bool object.bClosed
bool bFullyOpen()

Member available through Scooby's native Lua API.

Usage example
bool object.bFullyOpen
bool bHasOpenRatio()

Member available through Scooby's native Lua API.

Usage example
bool object.bHasOpenRatio
bool bOpening()

Member available through Scooby's native Lua API.

Usage example
bool object.bOpening
number fOpenRatio()

Member available through Scooby's native Lua API.

Usage example
number object.fOpenRatio

CPickupCreationDataNode

Pickup creation sync data node

int pickupHash()

Pickup type hash

Usage example
int object.pickupHash
int amount()

Pickup amount/value

Usage example
int object.amount
int modelHash()

Pickup model hash

int flags()

Pickup flags

int teamPermits()

Team permission flags

int LODdistance()

LOD distance of pickup

Usage example
int object.LODdistance
int PlayersToBlockList()

List of blocked players for this pickup

Usage example
int object.PlayersToBlockList
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool bHasPlacement()

set if the network object has a corresponding CPickup object

Usage example
bool object.bHasPlacement
bool bHasPlayersBlockingList()

Are there any blocked players for this pickup

Usage example
bool object.bHasPlayersBlockingList
bool bPlayerGift()

set if this is an ambient pickup dropped for another player to collect

Usage example
bool object.bPlayerGift
int customModelHash()

a custom model, if specified by script

Usage example
int object.customModelHash
bool includeProjectiles()

Allow projectiles to collide with this pickup

Usage example
bool object.includeProjectiles
int lifeTime()

how long the pickup has existed (only used for ambient pickups)

Usage example
int object.lifeTime
int numWeaponComponents()

Member available through Scooby's native Lua API.

Usage example
int object.numWeaponComponents
table<int, int> weaponComponents()

for modded weapons dropped by players

Usage example
table<int, int> object.weaponComponents
int weaponTintIndex()

for modded weapons dropped by players

Usage example
int object.weaponTintIndex

CGlobalFlagsDataNode

Global flags sync data node

int globalFlags()

Global flag bitmask

int ownershipToken()

Ownership token

int GlobalFlags()

network object global flags

Usage example
int object.GlobalFlags
int OwnershipToken()

current ownership token

Usage example
int object.OwnershipToken
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CSectorDataNode

Sector position sync data node

int sectorX()

Sector X coordinate

Usage example
int object.sectorX
int sectorY()

Sector Y coordinate

Usage example
int object.sectorY
int sectorZ()

Sector Z coordinate

Usage example
int object.sectorZ
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CSectorPositionDataNode

Sector relative position sync data node

float posX()

Relative position X

float posY()

Relative position Y

float posZ()

Relative position Z

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
number sectorPosX()

X position of this object within the current sector

Usage example
number object.sectorPosX
number sectorPosY()

Y position of this object within the current sector

Usage example
number object.sectorPosY
number sectorPosZ()

Z position of this object within the current sector

Usage example
number object.sectorPosZ

CTrainGameStateDataNode

Train game state sync data node

int trainConfigIndex()

Train configuration index

int carriageIndex()

Carriage index in train

int trackId()

Track ID

float distanceAlongTrack()

Distance along track

float speed()

Train speed

bool isEngine()

Is engine carriage

int direction()

Direction on track

bool AllowRemovalByPopulation()

used by stationary trains in missions

Usage example
bool object.AllowRemovalByPopulation
int CarriageConfigIndex()

Config index of the carriage

Usage example
int object.CarriageConfigIndex
number CruiseSpeed()

the target cruise speed of the train (desired speed)

Usage example
number object.CruiseSpeed
bool Direction()

Direction traveling on track

Usage example
bool object.Direction
number DistFromEngine()

the distance of this carriage from the engine (0.0 if this is an engine)

Usage example
number object.DistFromEngine
int EngineID()

ID of the engine this carriage is attached to (if this train is not an engine)

Usage example
int object.EngineID
bool HasPassengerCarriages()

Does this train have any passenger carriages?

Usage example
bool object.HasPassengerCarriages
bool IsCaboose()

Is this a caboose

Usage example
bool object.IsCaboose
bool IsEngine()

is this train an engine or carriage?

Usage example
bool object.IsEngine
bool IsMissionTrain()

Is this a mission created train?

Usage example
bool object.IsMissionTrain
int LinkedToBackwardID()

ID of the car linked backward from this train car

Usage example
int object.LinkedToBackwardID
int LinkedToForwardID()

ID of the car linked forward from this train car

Usage example
int object.LinkedToForwardID
bool RenderDerailed()

Should this train be rendered as derailed?

Usage example
bool object.RenderDerailed
bool StopForStations()

Stop for stations

Usage example
bool object.StopForStations
int TrackID()

the track the train is on

Usage example
int object.TrackID
int TrainConfigIndex()

Config index of the entire train this carriage/engine is a part of

Usage example
int object.TrainConfigIndex
int TrainState()

the train state

Usage example
int object.TrainState
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool UseHighPrecisionBlending()

are we using high precision blending on the train

Usage example
bool object.UseHighPrecisionBlending
bool doorsForcedOpen()

force the doors open

Usage example
bool object.doorsForcedOpen

CNetworkPlayerMgr

Network player manager for session players

CNetGamePlayer GetLocalPlayer()

Get local player object

int GetPlayerCount()

Get number of players in session

CNetGamePlayer GetPlayer(playerId: int)

Get player by ID

CNetGamePlayer GetPlayerByName(name: string)

Get player by name

table<CNetGamePlayer> GetAllPlayers()

Get all players in session

bool IsHost()

Check if local player is host

CNetGamePlayer GetHost()

Get session host

CNetGamePlayer GetScriptHost()

Get script host

CNetShopTransaction

Network shop transaction for purchases

CNetShopTransaction FromAddress(address: int)

Create from memory address

int GetAddress()

Get memory address

int GetTransactionId()

Get transaction ID

int GetCategory()

Get transaction category

int GetAction()

Get transaction action

int GetPrice()

Get transaction price

int GetStatus()

Get transaction status

bool IsComplete()

Check if transaction is complete

bool IsPending()

Check if transaction is pending

CNavigation

Entity navigation component

CNavigation FromAddress(address: int)

Create from memory address

CNavigation FromEntity(entity: int)

Get navigation for entity

int GetAddress()

Get memory address

Vector3 GetPosition()

Get navigation position

float GetHeading()

Get navigation heading

Vector3 GetForwardVector()

Get forward direction

Vector3 GetVelocity()

Get velocity

Vector3 GetRotation()

Get full rotation

void SetRotation(rot: Vector3)

Set rotation

Matrix44 GetTransformMatrix()

Get transformation matrix

Matrix44

4x4 transformation matrix

Matrix44 New()

Create identity matrix

Matrix44 FromAddress(address: int)

Create from memory address

Vector3 GetRight()

Get right vector (X axis)

Vector3 GetForward()

Get forward vector (Y axis)

Vector3 GetUp()

Get up vector (Z axis)

Vector3 GetPosition()

Get position/translation

void SetRight(vec: Vector3)

Set right vector

void SetForward(vec: Vector3)

Set forward vector

void SetUp(vec: Vector3)

Set up vector

void SetPosition(pos: Vector3)

Set position

Vector3 GetRotation()

Get rotation as euler angles

void SetRotation(rot: Vector3)

Set rotation from euler angles

Vector3 GetScale()

Get scale factors

void SetScale(scale: Vector3)

Set scale factors

Matrix44 Multiply(other: Matrix44)

Multiply with another matrix

Matrix44 Inverse()

Get inverse matrix

Matrix44 Transpose()

Get transposed matrix

void Identity()

Reset to identity matrix

Vector3 TransformPoint(point: Vector3)

Transform a point

Vector3 TransformVector(vec: Vector3)

Transform a vector (no translation)

Matrix33

3x3 rotation matrix

Matrix33 New()

Create identity matrix

Matrix33 FromAddress(address: int)

Create from memory address

Vector3 GetRight()

Get right vector

Vector3 GetForward()

Get forward vector

Vector3 GetUp()

Get up vector

void SetRight(vec: Vector3)

Set right vector

void SetForward(vec: Vector3)

Set forward vector

void SetUp(vec: Vector3)

Set up vector

Vector3 ToEuler()

Convert to euler angles

void FromEuler(rot: Vector3)

Set from euler angles

Matrix33 Multiply(other: Matrix33)

Multiply matrices

Matrix33 Transpose()

Get transposed matrix

Quaternion

Quaternion for 3D rotations

Quaternion New()

Create identity quaternion

Quaternion FromValues(x: float, y: float, z: float, w: float)

Create from components

Quaternion FromEuler(pitch: float, yaw: float, roll: float)

Create from euler angles

Quaternion FromAxisAngle(axis: Vector3, angle: float)

Create from axis and angle

float x()

X component

float y()

Y component

float z()

Z component

float w()

W component (scalar)

float Length()

Get quaternion length

Quaternion Normalize()

Get normalized quaternion

Quaternion Conjugate()

Get conjugate quaternion

Quaternion Inverse()

Get inverse quaternion

float Dot(other: Quaternion)

Dot product with another quaternion

Quaternion Multiply(other: Quaternion)

Multiply quaternions

Quaternion Slerp(other: Quaternion, t: float)

Spherical interpolation

Vector3 ToEuler()

Convert to euler angles

Vector3, float ToAxisAngle()

Convert to axis and angle

Matrix33 ToMatrix()

Convert to rotation matrix

Vector3 RotateVector(vec: Vector3)

Rotate a vector

eNetObjType

Network object type enumeration

int Automobile(0)

Car/Automobile

int Bike(1)

Motorcycle

int Boat(2)

Boat

int Door(3)

Door

int Heli(4)

Helicopter

int Object(5)

Object

int Ped(6)

Pedestrian

int Pickup(7)

Pickup

int PickupPlacement(8)

Pickup placement

int Plane(9)

Airplane

int Submarine(10)

Submarine

int Player(11)

Player

int Trailer(12)

Trailer

int Train(13)

Train

eControl

Input control enumeration

int INPUT_NEXT_CAMERA(0)

Next camera

int INPUT_LOOK_LR(1)

Look left/right

int INPUT_LOOK_UD(2)

Look up/down

int INPUT_LOOK_UP_ONLY(3)

Look up only

int INPUT_LOOK_DOWN_ONLY(4)

Look down only

int INPUT_LOOK_LEFT_ONLY(5)

Look left only

int INPUT_LOOK_RIGHT_ONLY(6)

Look right only

int INPUT_CINEMATIC_SLOWMO(7)

Cinematic slow-mo

int INPUT_SCRIPTED_FLY_UD(8)

Scripted fly up/down

int INPUT_SCRIPTED_FLY_LR(9)

Scripted fly left/right

int INPUT_SCRIPTED_FLY_ZUP(10)

Scripted fly Z up

int INPUT_SCRIPTED_FLY_ZDOWN(11)

Scripted fly Z down

int INPUT_WEAPON_WHEEL_UD(12)

Weapon wheel up/down

int INPUT_WEAPON_WHEEL_LR(13)

Weapon wheel left/right

int INPUT_WEAPON_WHEEL_NEXT(14)

Weapon wheel next

int INPUT_WEAPON_WHEEL_PREV(15)

Weapon wheel previous

int INPUT_SELECT_NEXT_WEAPON(16)

Select next weapon

int INPUT_SELECT_PREV_WEAPON(17)

Select previous weapon

int INPUT_SKIP_CUTSCENE(18)

Skip cutscene

int INPUT_CHARACTER_WHEEL(19)

Character wheel

int INPUT_MULTIPLAYER_INFO(20)

Multiplayer info

int INPUT_SPRINT(21)

Sprint

int INPUT_JUMP(22)

Jump

int INPUT_ENTER(23)

Enter vehicle

int INPUT_ATTACK(24)

Attack

int INPUT_AIM(25)

Aim

int INPUT_LOOK_BEHIND(26)

Look behind

int INPUT_PHONE(27)

Phone

int INPUT_SPECIAL_ABILITY(28)

Special ability

int INPUT_SPECIAL_ABILITY_SECONDARY(29)

Special ability secondary

int INPUT_MOVE_LR(30)

Move left/right

int INPUT_MOVE_UD(31)

Move up/down

int INPUT_MOVE_UP_ONLY(32)

Move up only

int INPUT_MOVE_DOWN_ONLY(33)

Move down only

int INPUT_MOVE_LEFT_ONLY(34)

Move left only

int INPUT_MOVE_RIGHT_ONLY(35)

Move right only

int INPUT_DUCK(36)

Duck/crouch

int INPUT_SELECT_WEAPON(37)

Select weapon

int INPUT_PICKUP(38)

Pickup

int INPUT_SNIPER_ZOOM(39)

Sniper zoom

int INPUT_SNIPER_ZOOM_IN_ONLY(40)

Sniper zoom in

int INPUT_SNIPER_ZOOM_OUT_ONLY(41)

Sniper zoom out

int INPUT_SNIPER_ZOOM_IN_SECONDARY(42)

Sniper zoom in secondary

int INPUT_SNIPER_ZOOM_OUT_SECONDARY(43)

Sniper zoom out secondary

int INPUT_COVER(44)

Take cover

int INPUT_RELOAD(45)

Reload

int INPUT_TALK(46)

Talk/interact

int INPUT_DETONATE(47)

Detonate

int INPUT_HUD_SPECIAL(48)

HUD special

int INPUT_ARREST(49)

Arrest

int INPUT_ACCURATE_AIM(50)

Accurate aim

int INPUT_CONTEXT(51)

Context action

int INPUT_CONTEXT_SECONDARY(52)

Context secondary

int INPUT_WEAPON_SPECIAL(53)

Weapon special

int INPUT_WEAPON_SPECIAL_TWO(54)

Weapon special 2

int INPUT_DIVE(55)

Dive

int INPUT_DROP_WEAPON(56)

Drop weapon

int INPUT_DROP_AMMO(57)

Drop ammo

int INPUT_THROW_GRENADE(58)

Throw grenade

int INPUT_VEH_MOVE_LR(59)

Vehicle move left/right

int INPUT_VEH_MOVE_UD(60)

Vehicle move up/down

int INPUT_VEH_ACCELERATE(71)

Vehicle accelerate

int INPUT_VEH_BRAKE(72)

Vehicle brake

int INPUT_VEH_HORN(86)

Vehicle horn

int INPUT_VEH_EXIT(75)

Vehicle exit

int INPUT_VEH_HANDBRAKE(76)

Vehicle handbrake

int INPUT_VEH_HOTWIRE_LEFT(77)

Hotwire left

int INPUT_VEH_HOTWIRE_RIGHT(78)

Hotwire right

int INPUT_VEH_HEADLIGHT(74)

Vehicle headlight

int INPUT_VEH_RADIO_WHEEL(81)

Radio wheel

int INPUT_VEH_CIN_CAM(80)

Vehicle cinematic camera

int INPUT_VEH_NEXT_RADIO(82)

Next radio station

int INPUT_VEH_PREV_RADIO(83)

Previous radio station

int INPUT_VEH_NEXT_RADIO_TRACK(84)

Next radio track

int INPUT_VEH_PREV_RADIO_TRACK(85)

Previous radio track

int INPUT_FRONTEND_DOWN(187)

Frontend down

int INPUT_FRONTEND_UP(188)

Frontend up

int INPUT_FRONTEND_LEFT(189)

Frontend left

int INPUT_FRONTEND_RIGHT(190)

Frontend right

int INPUT_FRONTEND_ACCEPT(201)

Frontend accept

int INPUT_FRONTEND_CANCEL(202)

Frontend cancel

eWeatherType

Weather type enumeration

int EXTRASUNNY(0)

Extra sunny

int CLEAR(1)

Clear

int CLOUDS(2)

Cloudy

int SMOG(3)

Smog

int FOGGY(4)

Foggy

int OVERCAST(5)

Overcast

int RAIN(6)

Rain

int THUNDER(7)

Thunder/storm

int CLEARING(8)

Clearing

int NEUTRAL(9)

Neutral

int SNOW(10)

Snow

int BLIZZARD(11)

Blizzard

int SNOWLIGHT(12)

Light snow

int XMAS(13)

Christmas

int HALLOWEEN(14)

Halloween

eBoneId

Ped bone ID enumeration (common bones)

int SKEL_ROOT(0)

Skeleton root

int SKEL_Pelvis(11816)

Pelvis

int SKEL_Spine0(23553)

Spine base

int SKEL_Spine1(24816)

Spine 1

int SKEL_Spine2(24817)

Spine 2

int SKEL_Spine3(24818)

Spine 3

int SKEL_Neck_1(39317)

Neck

int SKEL_Head(31086)

Head

int SKEL_L_Clavicle(64729)

Left clavicle

int SKEL_L_UpperArm(45509)

Left upper arm

int SKEL_L_Forearm(61163)

Left forearm

int SKEL_L_Hand(18905)

Left hand

int SKEL_R_Clavicle(10706)

Right clavicle

int SKEL_R_UpperArm(40269)

Right upper arm

int SKEL_R_Forearm(28252)

Right forearm

int SKEL_R_Hand(57005)

Right hand

int SKEL_L_Thigh(58271)

Left thigh

int SKEL_L_Calf(63931)

Left calf

int SKEL_L_Foot(14201)

Left foot

int SKEL_R_Thigh(51826)

Right thigh

int SKEL_R_Calf(36864)

Right calf

int SKEL_R_Foot(52301)

Right foot

int IK_L_Hand(36029)

IK left hand

int IK_R_Hand(6286)

IK right hand

int IK_L_Foot(65245)

IK left foot

int IK_R_Foot(35502)

IK right foot

int PH_L_Hand(60309)

Physics left hand

int PH_R_Hand(28422)

Physics right hand

eVehicleModSlot

Vehicle modification slot enumeration

int VMT_SPOILER(0)

Spoiler

int VMT_BUMPER_F(1)

Front bumper

int VMT_BUMPER_R(2)

Rear bumper

int VMT_SKIRT(3)

Side skirt

int VMT_EXHAUST(4)

Exhaust

int VMT_CHASSIS(5)

Roll cage/chassis

int VMT_GRILL(6)

Grille

int VMT_BONNET(7)

Hood

int VMT_WING_L(8)

Left fender

int VMT_WING_R(9)

Right fender

int VMT_ROOF(10)

Roof

int VMT_ENGINE(11)

Engine

int VMT_BRAKES(12)

Brakes

int VMT_GEARBOX(13)

Transmission

int VMT_HORN(14)

Horn

int VMT_SUSPENSION(15)

Suspension

int VMT_ARMOUR(16)

Armour

int VMT_NITROUS(17)

Nitrous (arena)

int VMT_TURBO(18)

Turbo

int VMT_SUBWOOFER(19)

Subwoofer (unused)

int VMT_TYRE_SMOKE(20)

Tyre smoke

int VMT_HYDRAULICS(21)

Hydraulics

int VMT_XENON_LIGHTS(22)

Xenon lights

int VMT_WHEELS(23)

Wheels

int VMT_WHEELS_REAR(24)

Rear wheels (bikes)

int VMT_PLTHOLDER(25)

Plate holder

int VMT_PLTVANITY(26)

Vanity plates

int VMT_INTERIOR1(27)

Trim design

int VMT_INTERIOR2(28)

Ornaments

int VMT_INTERIOR3(29)

Dashboard

int VMT_INTERIOR4(30)

Dial design

int VMT_INTERIOR5(31)

Door speaker

int VMT_SEATS(32)

Seats

int VMT_STEERING(33)

Steering wheel

int VMT_KNOB(34)

Shift lever

int VMT_PLAQUE(35)

Plaques

int VMT_ICE(36)

Speakers

int VMT_TRUNK(37)

Trunk/hydraulics

int VMT_HYDRO(38)

Hydraulics

int VMT_ENGINEBAY1(39)

Engine block

int VMT_ENGINEBAY2(40)

Air filter

int VMT_ENGINEBAY3(41)

Strut brace

int VMT_CHASSIS2(42)

Arch cover

int VMT_CHASSIS3(43)

Aerials

int VMT_CHASSIS4(44)

Trim

int VMT_CHASSIS5(45)

Tank

int VMT_DOOR_L(46)

Door/window

int VMT_LIVERY(48)

Livery

ScoobyOPMenuCompatibility

Compatibility helpers for ScoobyOPMenu, legacy ScoobyOPMenu Lua, YimLuaAPI, and external menu-style scripts

string compat.version()

Compatibility layer version for enhanced, legacy, YimLuaAPI, and external script APIs.

table compat.targets()

Table of enabled compatibility targets.

bool menu.set_menu_icon(icon: string)

Stores a ScoobyOPMenu-style menu icon value when the native UI does not use one.

string menu.get_menu_name()

Returns the active Lua menu name.

Submenu? menu.find_submenu(name: string)

Finds a submenu by name; falls back to get_submenu when native lookup is not available.

Group? menu.create_group(name: string, per_row?: int)

Creates a ScoobyOPMenu-style root group from the Lua submenu.

CommandHandle commandmgr.add_command(name: string, label: string, desc: string, on_call: function)

Registers a command handle compatible with ScoobyOPMenu scripts.

CommandHandle commandmgr.add_bool_command(name: string, label: string, desc: string, default: bool, on_enable?: function, on_disable?: function)

Registers a toggle command handle.

CommandHandle commandmgr.add_looped_command(name: string, label: string, desc: string, tick: function, on_enable?: function, on_disable?: function)

Registers a looped toggle command handle that ticks while enabled.

CommandHandle commandmgr.add_int_command(name: string, label: string, desc: string, min: int, max: int, default: int, on_change: function)

Registers an integer command handle.

CommandHandle commandmgr.add_float_command(name: string, label: string, desc: string, min: float, max: float, default: float, on_change: function)

Registers a float command handle.

CommandHandle commandmgr.add_list_command(name: string, label: string, desc: string, entries: table, default: int, on_change: function)

Registers a list command handle.

CommandHandle? commandmgr.get_command(name: string)

Returns a registered compatibility command handle.

bool entities.take_control_of(entity: int, timeout_ms?: int)

ScoobyOPMenu-style network control helper with timeout and safe yielding.

bool entities.request_control_of(entity: int, timeout_ms?: int)

Alias for entities.take_control_of.

int players.get_local()

Alias for players.user.

int players.get_script_host()

Returns the script host when available; falls back to session host/local player.

int players.get_by_message_id(message_id: int)

Compatibility helper for scripts that resolve message IDs.

bool network.force_script_host(script_hash: int)

Compatibility stub for ScoobyOPMenu scripts; returns false when native force-host support is unavailable.

bool network.force_script_on_player(script_hash: int, bits: int)

Compatibility stub for ScoobyOPMenu scripts; returns false when native force-start support is unavailable.

string stats.prefix(stat_name: string)

Normalizes MPX, MP_STAT, and SPX stat names for compatible external scripts.

int stats.get_character_index()

Returns active multiplayer character index.

int stats.get_packed_stat_int(index: int)

Alias for stats.get_packed_int.

void stats.set_packed_stat_int(index: int, value: int)

Alias for stats.set_packed_int.

bool stats.get_packed_stat_bool(index: int)

Alias for stats.get_packed_bool.

void stats.set_packed_stat_bool(index: int, value: bool)

Alias for stats.set_packed_bool.

varies FileMgr.*()

ScoobyOPMenu FileMgr aliases are bridged to Scooby's file module: DoesFileExist, ReadFileContent, WriteFileContent, FindFiles, CreateDir, DeleteFile, GetLuaPath.

integer menu_event.*()

Legacy and V2 event constants are provided: PlayerJoin, PlayerLeave, ScriptedGameEventReceived, ChatMessageReceived, MenuUnloaded/Unload, ScriptsReloaded, Wndproc, PlayerMgrInit, PlayerMgrShutdown.

bool event.register_handler(menu_event: int, handler: function)

Registers compatibility event handlers when native event dispatch is unavailable.

Scooby

Canonical Scooby Lua API identity and runtime metadata.

int GetBuild()

Returns the active game build number.

string GetEdition()

Returns Legacy or Enhanced.

string GetVersion()

Returns the Scooby Lua API version label.

int GetUID()

Returns the local Rockstar ID when available.

bool IsEnhanced()

Returns true when running the Enhanced edition.

bool IsLegacy()

Returns true when running the Legacy edition.

int ON_NOTIFICATION(18)

eLuaEvent value for overriding built-in notifications.

Usage example
EventMgr.RegisterHandler(eLuaEvent.ON_NOTIFICATION, function(title, message, notification_type, duration) return false end)

CAutomobileCreationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool AllDoorsClosed()

Member available through Scooby's native Lua API.

Usage example
bool object.AllDoorsClosed
table<int, bool> DoorsClosed()

Member available through Scooby's native Lua API.

Usage example
table<int, bool> object.DoorsClosed
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CBikeGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool OnSideStand()

is the bike on it's side stand?

Usage example
bool object.OnSideStand
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CBoatGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

number AnchorLodDistance()

anchor buoyancy lod distance

Usage example
number object.AnchorLodDistance
number BuoyancyForceMultiplier()

shows us how much the boat wants to float back up. 0 when the boat is sinking the fastest.

Usage example
number object.BuoyancyForceMultiplier
bool ForceLowLodMode()

force the low lod mode for the boat

Usage example
bool object.ForceLowLodMode
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool UseWidestToleranceBoundingBoxTest()

should we be considering a higher tolerance on the test for being near a river?

Usage example
bool object.UseWidestToleranceBoundingBoxTest
int boatWreckedAction()

what action does this boat take when it is wrecked?

Usage example
int object.boatWreckedAction
bool interiorLightOn()

if the interior light is allowed to be on/off - default on

Usage example
bool object.interiorLightOn
bool lockedToXY()

is this boat locked in the XY plane (anchored)

Usage example
bool object.lockedToXY

CDoorScriptGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

number AutomaticDist()

distance at which an automatic sliding door or barrier opens, or 0.0f for default

Usage example
number object.AutomaticDist
number AutomaticRate()

rate an automatic sliding door or barrier moves, uses default value for door type if this is 0.0f

Usage example
number object.AutomaticRate
bool Broken()

if true the door is fragmented

Usage example
bool object.Broken
int BrokenFlags()

flags specifying which door fragments are broken

Usage example
int object.BrokenFlags
bool Damaged()

true means any component is damaged out

Usage example
bool object.Damaged
int DamagedFlags()

flags indicating components that have damaged out

Usage example
int object.DamagedFlags
int DoorSystemState()

the state held in the door system

Usage example
int object.DoorSystemState
bool HoldOpen()

true means the door is held open

Usage example
bool object.HoldOpen
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CDoorScriptInfoDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

int DoorSystemHash()

the hash identifying the door in the door system

Usage example
int object.DoorSystemHash
bool ExistingScriptDoor()

if true, the door system entry for this door should already exist non-networked

Usage example
bool object.ExistingScriptDoor
bool HasScriptInfo()

Member available through Scooby's native Lua API.

Usage example
bool object.HasScriptInfo
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CEntityScriptGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool disableCollisionCompletely()

Member available through Scooby's native Lua API.

Usage example
bool object.disableCollisionCompletely
bool isFixed()

gamestate flag indicating whether the object is using fixed physics

Usage example
bool object.isFixed
bool usesCollision()

gamestate flag indicating whether the object is using collision

Usage example
bool object.usesCollision

CEntityScriptInfoDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool HasScriptInfo()

Member available through Scooby's native Lua API.

Usage example
bool object.HasScriptInfo
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CMigrationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

int ClonedPlayersThatLeft()

bit flags indicating which players left while the object was cloned on their machine when local

Usage example
int object.ClonedPlayersThatLeft
int ClonedState()

bit flags indicating which players the object is cloned on

Usage example
int object.ClonedState
int UnsyncedNodes()

bit flags indicating which nodes are unsynced with any other player

Usage example
int object.UnsyncedNodes
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CObjectGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool HasBeenPickedUpByHook()

Member available through Scooby's native Lua API.

Usage example
bool object.HasBeenPickedUpByHook
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int brokenFlags()

Member available through Scooby's native Lua API.

Usage example
int object.brokenFlags
bool hasAddedPhysics()

Member available through Scooby's native Lua API.

Usage example
bool object.hasAddedPhysics
bool objectHasExploded()

Member available through Scooby's native Lua API.

Usage example
bool object.objectHasExploded
bool popTires()

Member available through Scooby's native Lua API.

Usage example
bool object.popTires
int taskDataSize()

Member available through Scooby's native Lua API.

Usage example
int object.taskDataSize
table<int, int> taskSpecificData()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.taskSpecificData
int taskType()

Member available through Scooby's native Lua API.

Usage example
int object.taskType
bool visible()

Member available through Scooby's native Lua API.

Usage example
bool object.visible

CObjectOrientationNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool bUseHighPrecision()

Indicates whether the orientation should be synced with high precision

Usage example
bool object.bUseHighPrecision
table<int, V3> orientation()

current orientation of the object

Usage example
table<int, V3> object.orientation

CObjectScriptGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool ActivatePhysicsAsSoonAsUnfrozen()

activate the physics on this object as soon as it is unfrozen

Usage example
bool object.ActivatePhysicsAsSoonAsUnfrozen
bool BreakingDisabled()

has breaking been disabled on this object

Usage example
bool object.BreakingDisabled
bool CanBeTargeted()

Member available through Scooby's native Lua API.

Usage example
bool object.CanBeTargeted
bool DamageDisabled()

has damage been disabled on this object

Usage example
bool object.DamageDisabled
int DamageInflictorId()

Member available through Scooby's native Lua API.

Usage example
int object.DamageInflictorId
bool IgnoreLightSettings()

Member available through Scooby's native Lua API.

Usage example
bool object.IgnoreLightSettings
bool IsStealable()

is this object stealable?

Usage example
bool object.IsStealable
int OwnedBy()

created by

Usage example
int object.OwnedBy
int ScopeDistance()

script adjusted scope distance

Usage example
int object.ScopeDistance
int TintIndex()

tint color of object

Usage example
int object.TintIndex
V3 TranslationDamping()

scripted translational damping

Usage example
V3 object.TranslationDamping
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool UseHighPrecisionBlending()

does this object require high precision blending (i.e. minigame objects, such as a golf ball)

Usage example
bool object.UseHighPrecisionBlending
bool UsingScriptedPhysicsParams()

does this object use scripted physics params

Usage example
bool object.UsingScriptedPhysicsParams
bool bDriveToMaxAngle()

Member available through Scooby's native Lua API.

Usage example
bool object.bDriveToMaxAngle
bool bDriveToMinAngle()

Member available through Scooby's native Lua API.

Usage example
bool object.bDriveToMinAngle
bool bIsArenaBall()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsArenaBall
bool bIsArticulatedProp()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsArticulatedProp
bool bNoGravity()

Member available through Scooby's native Lua API.

Usage example
bool object.bNoGravity
bool bObjectDamaged()

Member available through Scooby's native Lua API.

Usage example
bool object.bObjectDamaged
bool bObjectFragBroken()

Member available through Scooby's native Lua API.

Usage example
bool object.bObjectFragBroken
bool bWeaponImpactsApplyGreaterForce()

Member available through Scooby's native Lua API.

Usage example
bool object.bWeaponImpactsApplyGreaterForce
int jointToDriveIndex()

Member available through Scooby's native Lua API.

Usage example
int object.jointToDriveIndex
int objSpeedBoost()

value of speed boost for boost pads

Usage example
int object.objSpeedBoost

CObjectSectorPosNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

number SectorPosX()

X position of this object within the current sector

Usage example
number object.SectorPosX
number SectorPosY()

Y position of this object within the current sector

Usage example
number object.SectorPosY
number SectorPosZ()

Z position of this object within the current sector

Usage example
number object.SectorPosZ
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool UseHighPrecision()

Indicates whether the position should be synced with high precision

Usage example
bool object.UseHighPrecision

CPedAttachDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int attachBone()

bone ped is attached to

Usage example
int object.attachBone
int attachFlags()

attachment flags

Usage example
int object.attachFlags
number attachHeading()

attachment heading

Usage example
number object.attachHeading
number attachHeadingLimit()

attachment heading limit

Usage example
number object.attachHeadingLimit
V3 attachOffset()

offset from attachment position

Usage example
V3 object.attachOffset
V3 attachQuat()

attachment quaternion

Usage example
V3 object.attachQuat
bool attached()

is the ped attached?

Usage example
bool object.attached
int attachedObjectID()

ID of Object ped is attached to

Usage example
int object.attachedObjectID
bool attachedToGround()

whether the ped is attached to ground or not

Usage example
bool object.attachedToGround

CPedComponentReservationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
table<int, int> componentReservations()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.componentReservations
int numPedComponents()

Member available through Scooby's native Lua API.

Usage example
int object.numPedComponents

CPedMovementGroupDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

CSyncedTennisMotionData TennisMotionData()

For syncing swings from CommandPlayTennisSwingAnim

Usage example
CSyncedTennisMotionData object.TennisMotionData
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool isCrouching()

indicates whether the ped is currently crouching

Usage example
bool object.isCrouching
bool isRagdollConstraintAnkleActive()

indicates if the ped is currently ankle cuffed

Usage example
bool object.isRagdollConstraintAnkleActive
bool isRagdollConstraintWristActive()

indicates if the ped is currently handcuffed

Usage example
bool object.isRagdollConstraintWristActive
bool isRagdolling()

indicates whether the ped is currently ragdolling

Usage example
bool object.isRagdolling
bool isStealthy()

indicates whether the ped is currently being stealthy

Usage example
bool object.isStealthy
bool isStrafing()

indicates whether the ped is currently strafing

Usage example
bool object.isStrafing
number motionInVehiclePitch()

Member available through Scooby's native Lua API.

Usage example
number object.motionInVehiclePitch
int motionSetId()

current motion set this ped is using

Usage example
int object.motionSetId
int moveBlendState()

the state of the move blender the ped is using

Usage example
int object.moveBlendState
int moveBlendType()

the type of move blender the ped is using

Usage example
int object.moveBlendType
int overriddenStrafeSetId()

current strafe set this ped is using

Usage example
int object.overriddenStrafeSetId
int overriddenWeaponSetId()

current weapon set this ped is using

Usage example
int object.overriddenWeaponSetId

CPedScriptCreationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool StayInCarWhenJacked()

Member available through Scooby's native Lua API.

Usage example
bool object.StayInCarWhenJacked
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPedScriptGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

V3 AngledDefensiveAreaV1()

Member available through Scooby's native Lua API.

Usage example
V3 object.AngledDefensiveAreaV1
V3 AngledDefensiveAreaV2()

Member available through Scooby's native Lua API.

Usage example
V3 object.AngledDefensiveAreaV2
number AngledDefensiveAreaWidth()

Member available through Scooby's native Lua API.

Usage example
number object.AngledDefensiveAreaWidth
V3 DefensiveAreaCentre()

Member available through Scooby's native Lua API.

Usage example
V3 object.DefensiveAreaCentre
number DefensiveAreaRadius()

Member available through Scooby's native Lua API.

Usage example
number object.DefensiveAreaRadius
int DefensiveAreaType()

Member available through Scooby's native Lua API.

Usage example
int object.DefensiveAreaType
int FiringPatternHash()

Member available through Scooby's native Lua API.

Usage example
int object.FiringPatternHash
bool HasDefensiveArea()

Member available through Scooby's native Lua API.

Usage example
bool object.HasDefensiveArea
bool HasInVehicleContextHash()

Member available through Scooby's native Lua API.

Usage example
bool object.HasInVehicleContextHash
int NavCapabilityFlags()

Member available through Scooby's native Lua API.

Usage example
int object.NavCapabilityFlags
int SeatIndexToUseInAGroup()

Member available through Scooby's native Lua API.

Usage example
int object.SeatIndexToUseInAGroup
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool UseCentreAsGotoPos()

Member available through Scooby's native Lua API.

Usage example
bool object.UseCentreAsGotoPos
int ammoToDrop()

Member available through Scooby's native Lua API.

Usage example
int object.ammoToDrop
int combatMovement()

Member available through Scooby's native Lua API.

Usage example
int object.combatMovement
number fAccuracy()

Member available through Scooby's native Lua API.

Usage example
number object.fAccuracy
number fBlindFireChance()

Member available through Scooby's native Lua API.

Usage example
number object.fBlindFireChance
number fBurstDurationInCover()

Member available through Scooby's native Lua API.

Usage example
number object.fBurstDurationInCover
number fHomingRocketBreakLockAngle()

Member available through Scooby's native Lua API.

Usage example
number object.fHomingRocketBreakLockAngle
number fHomingRocketBreakLockAngleClose()

Member available through Scooby's native Lua API.

Usage example
number object.fHomingRocketBreakLockAngleClose
number fHomingRocketBreakLockCloseDistance()

Member available through Scooby's native Lua API.

Usage example
number object.fHomingRocketBreakLockCloseDistance
number fMaxInformFriendDistance()

Member available through Scooby's native Lua API.

Usage example
number object.fMaxInformFriendDistance
number fMaxShootingDistance()

Member available through Scooby's native Lua API.

Usage example
number object.fMaxShootingDistance
number fMaxVehicleTurretFiringRange()

Member available through Scooby's native Lua API.

Usage example
number object.fMaxVehicleTurretFiringRange
number fStrafeWhenMovingChance()

Member available through Scooby's native Lua API.

Usage example
number object.fStrafeWhenMovingChance
number fTimeBetweenAggressiveMovesDuringVehicleChase()

Member available through Scooby's native Lua API.

Usage example
number object.fTimeBetweenAggressiveMovesDuringVehicleChase
number fTimeBetweenBurstsInCover()

Member available through Scooby's native Lua API.

Usage example
number object.fTimeBetweenBurstsInCover
number fTimeBetweenPeeks()

Member available through Scooby's native Lua API.

Usage example
number object.fTimeBetweenPeeks
number fWeaponDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.fWeaponDamageModifier
int fleeBehaviorFlags()

Member available through Scooby's native Lua API.

Usage example
int object.fleeBehaviorFlags
bool hasPedType()

Member available through Scooby's native Lua API.

Usage example
bool object.hasPedType
int inVehicleContextHash()

Member available through Scooby's native Lua API.

Usage example
int object.inVehicleContextHash
bool isAmbientSpeechDisabled()

Member available through Scooby's native Lua API.

Usage example
bool object.isAmbientSpeechDisabled
bool isPainAudioDisabled()

Member available through Scooby's native Lua API.

Usage example
bool object.isPainAudioDisabled
int isTargettableByTeam()

Member available through Scooby's native Lua API.

Usage example
int object.isTargettableByTeam
int minOnGroundTimeForStun()

Member available through Scooby's native Lua API.

Usage example
int object.minOnGroundTimeForStun
int pedCash()

Member available through Scooby's native Lua API.

Usage example
int object.pedCash
bool pedHasCash()

Member available through Scooby's native Lua API.

Usage example
bool object.pedHasCash
int pedType()

Member available through Scooby's native Lua API.

Usage example
int object.pedType
int popType()

Member available through Scooby's native Lua API.

Usage example
int object.popType
int ragdollBlockingFlags()

Member available through Scooby's native Lua API.

Usage example
int object.ragdollBlockingFlags
number shootRate()

Member available through Scooby's native Lua API.

Usage example
number object.shootRate
int targetLossResponse()

Member available through Scooby's native Lua API.

Usage example
int object.targetLossResponse
int uMaxNumFriendsToInform()

Member available through Scooby's native Lua API.

Usage example
int object.uMaxNumFriendsToInform
int vehicleweaponindex()

Member available through Scooby's native Lua API.

Usage example
int object.vehicleweaponindex

CPedSectorPosMapNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool IsRagdolling()

Member available through Scooby's native Lua API.

Usage example
bool object.IsRagdolling
bool IsStandingOnNetworkObject()

Member available through Scooby's native Lua API.

Usage example
bool object.IsStandingOnNetworkObject
V3 LocalOffset()

Member available through Scooby's native Lua API.

Usage example
V3 object.LocalOffset
int StandingOnNetworkObjectID()

Member available through Scooby's native Lua API.

Usage example
int object.StandingOnNetworkObjectID
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPedSectorPosNavMeshNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
number sectorPosX()

X position of this object within the current sector

Usage example
number object.sectorPosX
number sectorPosY()

Y position of this object within the current sector

Usage example
number object.sectorPosY
number sectorPosZ()

Z position of this object within the current sector

Usage example
number object.sectorPosZ

CPedTaskSequenceDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool hasSequence()

Member available through Scooby's native Lua API.

Usage example
bool object.hasSequence
int numTasks()

Member available through Scooby's native Lua API.

Usage example
int object.numTasks
int repeatMode()

Member available through Scooby's native Lua API.

Usage example
int object.repeatMode
int sequenceResourceId()

Member available through Scooby's native Lua API.

Usage example
int object.sequenceResourceId
table<int, CTaskData> taskData()

Member available through Scooby's native Lua API.

Usage example
table<int, CTaskData> object.taskData

CPedTaskSpecificDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
CTaskData taskData()

Member available through Scooby's native Lua API.

Usage example
CTaskData object.taskData
int taskIndex()

Member available through Scooby's native Lua API.

Usage example
int object.taskIndex

CPhysicalGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool allowCloningWhileInTutorial()

if set, the entity won't be stopped from cloning for players who are not in a tutorial

Usage example
bool object.allowCloningWhileInTutorial
int alphaType()

the type of alpha ramp the entity is doing

Usage example
int object.alphaType
bool alteringAlpha()

the entity is fading out / alpha ramping

Usage example
bool object.alteringAlpha
int customFadeDuration()

A custom max duration for fading

Usage example
int object.customFadeDuration
bool fadingOut()

the entity is fading out

Usage example
bool object.fadingOut
bool isInWater()

is in water game state flag

Usage example
bool object.isInWater
bool isVisible()

gamestate flag indicating whether the object is visible

Usage example
bool object.isVisible
bool renderScorched()

render scorched game state flag

Usage example
bool object.renderScorched

CPhysicalHealthDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool hasMaxHealth()

health is max

Usage example
bool object.hasMaxHealth
int health()

health

Usage example
int object.health
int lastDamagedMaterialId()

last material id that was damaged

Usage example
int object.lastDamagedMaterialId
bool maxHealthSetByScript()

set when script alters max health

Usage example
bool object.maxHealthSetByScript
int scriptMaxHealth()

the script max health

Usage example
int object.scriptMaxHealth
int weaponDamageEntity()

weapon damage entity (only for script objects)

Usage example
int object.weaponDamageEntity
int weaponDamageHash()

weapon damage Hash

Usage example
int object.weaponDamageHash

CPhysicalMigrationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool isDead()

does this object have zero health?

Usage example
bool object.isDead

CPhysicalScriptGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool AllowMigrateToSpectator()

Member available through Scooby's native Lua API.

Usage example
bool object.AllowMigrateToSpectator
int AlwaysClonedForPlayer()

Member available through Scooby's native Lua API.

Usage example
int object.AlwaysClonedForPlayer
bool HasMaxSpeed()

Member available through Scooby's native Lua API.

Usage example
bool object.HasMaxSpeed
number MaxSpeed()

Member available through Scooby's native Lua API.

Usage example
number object.MaxSpeed
int RelGroupHash()

Member available through Scooby's native Lua API.

Usage example
int object.RelGroupHash
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPhysicalScriptMigrationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool HasData()

this can be false for entities that used to be script entities

Usage example
bool object.HasData
int HostToken()

the host token used by the current host of the script

Usage example
int object.HostToken
int ScriptParticipants()

the players participating in the script the object belongs to

Usage example
int object.ScriptParticipants
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPickupPlacementCreationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int amount()

a variable amount used by some pickup types (eg money).

Usage example
int object.amount
int customModelHash()

a custom model, if specified by script

Usage example
int object.customModelHash
int customRegenTime()

a custom regeneration time, if specified by script

Usage example
int object.customRegenTime
bool mapPlacement()

indicates whether this is a map placement or not

Usage example
bool object.mapPlacement
int pickupHash()

the hash of the pickup type

Usage example
int object.pickupHash
V3 pickupOrientation()

the pickup orientation in eulers

Usage example
V3 object.pickupOrientation
V3 pickupPosition()

the pickup position

Usage example
V3 object.pickupPosition
int placementFlags()

the placement flags

Usage example
int object.placementFlags
int teamPermits()

which teams are allowed to collect this pickup

Usage example
int object.teamPermits

CPickupPlacementStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Collected()

has this pickup been collected?

Usage example
bool object.Collected
int Collector()

object ID of the ped who collected the pickup

Usage example
int object.Collector
bool Destroyed()

has this pickup been destroyed?

Usage example
bool object.Destroyed
bool Regenerates()

Member available through Scooby's native Lua API.

Usage example
bool object.Regenerates
int RegenerationTime()

the time at which the placement regenerates its pickup

Usage example
int object.RegenerationTime
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPickupScriptGameStateNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool allowNonScriptParticipantCollect()

Allows non script participants to pick this up

Usage example
bool object.allowNonScriptParticipantCollect
bool bFloating()

used to unfix portable pickups

Usage example
bool object.bFloating
int flags()

pickup flags

Usage example
int object.flags
bool inAccessible()

used by portable pickups, indicating whether they are in an inaccessible location

Usage example
bool object.inAccessible
V3 lastAccessibleLoc()

the last accessible location (used by portable pickups only)

Usage example
V3 object.lastAccessibleLoc
bool lastAccessibleLocHasValidGround()

used by portable pickups, indicating whether the last accessible location has valid ground

Usage example
bool object.lastAccessibleLocHasValidGround
number offsetGlow()

some pickups have a script specified glow offset

Usage example
number object.offsetGlow
bool portable()

Member available through Scooby's native Lua API.

Usage example
bool object.portable
int teamPermits()

which teams are allowed to collect this pickup (only used for pickups without a placement)

Usage example
int object.teamPermits

CPickupSectorPosNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

number SectorPosX()

X position of this object within the current sector

Usage example
number object.SectorPosX
number SectorPosY()

Y position of this object within the current sector

Usage example
number object.SectorPosY
number SectorPosZ()

Z position of this object within the current sector

Usage example
number object.SectorPosZ
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPlaneControlDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool BVTHControlVertVel()

CTaskBringVehicleToHalt bControlVerticalVelocity

Usage example
bool object.BVTHControlVertVel
number BVTHStoppingDist()

CTaskBringVehicleToHalt stopping dist

Usage example
number object.BVTHStoppingDist
bool HasTargetGravityScale()

For hover vehicles

Usage example
bool object.HasTargetGravityScale
bool HasTopSpeedPercentage()

Member available through Scooby's native Lua API.

Usage example
bool object.HasTopSpeedPercentage
number StickY()

Member available through Scooby's native Lua API.

Usage example
number object.StickY
number SubCarDive()

the current value of the dive control for sub cars

Usage example
number object.SubCarDive
number SubCarPitch()

the current value of the pitch control for sub cars

Usage example
number object.SubCarPitch
number TargetGravityScale()

Member available through Scooby's native Lua API.

Usage example
number object.TargetGravityScale
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool bAllLowriderHydraulicsRaised()

player has raised all lowrider suspension

Usage example
bool object.bAllLowriderHydraulicsRaised
bool bIsClosingAnyDoor()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsClosingAnyDoor
bool bIsNitrousOverrideActive()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsNitrousOverrideActive
bool bModifiedLowriderSuspension()

player has modified suspension of lowrider

Usage example
bool object.bModifiedLowriderSuspension
bool bNitrousActive()

Member available through Scooby's native Lua API.

Usage example
bool object.bNitrousActive
bool bPlayHydraulicsActivationSound()

Hydraulics sound effect when activated

Usage example
bool object.bPlayHydraulicsActivationSound
bool bPlayHydraulicsBounceSound()

Hydraulics sound effect when bouncing

Usage example
bool object.bPlayHydraulicsBounceSound
bool bPlayHydraulicsDeactivationSound()

Hydraulics sound effect when de-activated

Usage example
bool object.bPlayHydraulicsDeactivationSound
number brake()

brake control of the plane

Usage example
number object.brake
number brakePedal()

the current value of the brake pedal

Usage example
number object.brakePedal
bool bringVehicleToHalt()

CTaskBringVehicleToHalt is running as a secondary task

Usage example
bool object.bringVehicleToHalt
table<int, number> fLowriderSuspension()

Syncs modified lowrider suspension values

Usage example
table<int, number> object.fLowriderSuspension
bool hasActiveAITask()

Member available through Scooby's native Lua API.

Usage example
bool object.hasActiveAITask
bool isInBurnout()

Member available through Scooby's native Lua API.

Usage example
bool object.isInBurnout
bool isSubCar()

Member available through Scooby's native Lua API.

Usage example
bool object.isSubCar
bool kersActive()

indicates if the kers system is active

Usage example
bool object.kersActive
int numWheels()

number of wheels on this car

Usage example
int object.numWheels
number pitchControl()

pitch control of the plane

Usage example
number object.pitchControl
bool reducedSuspensionForce()

reduced suspension force used to stance tuner pack vehicles

Usage example
bool object.reducedSuspensionForce
int roadNodeAddress()

the current road node the vehicle is driving from

Usage example
int object.roadNodeAddress
number rollControl()

roll control of the plane

Usage example
number object.rollControl
number subCarYaw()

the current value of the yaw control for sub cars

Usage example
number object.subCarYaw
number throttle()

the current value of the throttle

Usage example
number object.throttle
number throttleControl()

throttle control of the plane

Usage example
number object.throttleControl
number topSpeedPercent()

set to the maximum speed a vehicle can travel at

Usage example
number object.topSpeedPercent
number verticalFlightMode()

whether the plane is in vertical or horizontal flight mode

Usage example
number object.verticalFlightMode
number yawControl()

yaw control of the plane

Usage example
number object.yawControl

CPlaneGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool AIIgnoresBrokenPartsForHandling()

if AI can fly plane well with damaged parts

Usage example
bool object.AIIgnoresBrokenPartsForHandling
bool AllowRollAndYawWhenCrashing()

When set, planes will spiral while crashing

Usage example
bool object.AllowRollAndYawWhenCrashing
int BrokenSections()

flags indicating which sections have broken off

Usage example
int object.BrokenSections
bool ControlSectionsBreakOffFromExplosions()

Member available through Scooby's native Lua API.

Usage example
bool object.ControlSectionsBreakOffFromExplosions
int DamagedSections()

flags indicating which sections are damaged

Usage example
int object.DamagedSections
number EngineDamageScale()

damage scale for engine (overall)

Usage example
number object.EngineDamageScale
bool HasCustomLandingGearSectionDamageScale()

Do we have custom damage scales for our landing gear sections?

Usage example
bool object.HasCustomLandingGearSectionDamageScale
bool HasCustomSectionDamageScale()

Do we have custom damage scales for our sections?

Usage example
bool object.HasCustomSectionDamageScale
int IndividualPropellerFlags()

flags indicating state of individual propellers

Usage example
int object.IndividualPropellerFlags
int LODdistance()

LOD distance of pickup

Usage example
int object.LODdistance
int LandingGearPublicState()

Landing Gear Public State

Usage example
int object.LandingGearPublicState
table<int, number> LandingGearSectionDamageScale()

damage scale for each plane section

Usage example
table<int, number> object.LandingGearSectionDamageScale
int LockOnState()

Lockon state (none, acquiring, acquired)

Usage example
int object.LockOnState
int LockOnTarget()

ID of network object this plane is locked-on to

Usage example
int object.LockOnTarget
int RotorBroken()

flags indicating which rotors are broken off

Usage example
int object.RotorBroken
table<int, number> SectionDamage()

damage fraction values for each plane section

Usage example
table<int, number> object.SectionDamage
table<int, number> SectionDamageScale()

damage scale for each plane section

Usage example
table<int, number> object.SectionDamageScale
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool dipStraightDownWhenCrashing()

Member available through Scooby's native Lua API.

Usage example
bool object.dipStraightDownWhenCrashing
bool disableExlodeFromBodyDamageOnCollision()

Member available through Scooby's native Lua API.

Usage example
bool object.disableExlodeFromBodyDamageOnCollision
bool disableExpFromBodyDamage()

Does this plane take damage from body impacts?

Usage example
bool object.disableExpFromBodyDamage

CPlayerAmbientModelStreamingNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

int AllowedPedModelStartOffset()

Member available through Scooby's native Lua API.

Usage example
int object.AllowedPedModelStartOffset
int AllowedVehicleModelStartOffset()

Member available through Scooby's native Lua API.

Usage example
int object.AllowedVehicleModelStartOffset
int TargetVehicleEntryPoint()

Member available through Scooby's native Lua API.

Usage example
int object.TargetVehicleEntryPoint
int TargetVehicleForAnimStreaming()

Member available through Scooby's native Lua API.

Usage example
int object.TargetVehicleForAnimStreaming
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPlayerCreationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

int ModelHash()

Member available through Scooby's native Lua API.

Usage example
int object.ModelHash
int NumBloodMarks()

Member available through Scooby's native Lua API.

Usage example
int object.NumBloodMarks
int NumScars()

Member available through Scooby's native Lua API.

Usage example
int object.NumScars
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool hasCommunicationPrivileges()

Member available through Scooby's native Lua API.

Usage example
bool object.hasCommunicationPrivileges
bool wearingAHelmet()

only want to apply this once and then it's derived locally...

Usage example
bool object.wearingAHelmet

CPlayerExtendedGameStateNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

number CityDensity()

Member available through Scooby's native Lua API.

Usage example
number object.CityDensity
number MaxExplosionDamage()

Member available through Scooby's native Lua API.

Usage example
number object.MaxExplosionDamage
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
int WaypointLocalDirtyTimestamp()

Member available through Scooby's native Lua API.

Usage example
int object.WaypointLocalDirtyTimestamp
int WaypointObjectId()

Member available through Scooby's native Lua API.

Usage example
int object.WaypointObjectId
number aspectRatio()

camera aspect ratio

Usage example
number object.aspectRatio
bool bHasActiveWaypoint()

Member available through Scooby's native Lua API.

Usage example
bool object.bHasActiveWaypoint
bool bOwnsWaypoint()

Member available through Scooby's native Lua API.

Usage example
bool object.bOwnsWaypoint
number fovRatio()

camera fov ratio

Usage example
number object.fovRatio
number fxWaypoint()

Member available through Scooby's native Lua API.

Usage example
number object.fxWaypoint
number fyWaypoint()

Member available through Scooby's native Lua API.

Usage example
number object.fyWaypoint
int ghostPlayers()

set when the player is to only be ghosted with specific players

Usage example
int object.ghostPlayers

CPlayerGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

number AirDragMult()

air drag multiplier

Usage example
number object.AirDragMult
int AntagonisticPlayerIndex()

Antagonistic player index

Usage example
int object.AntagonisticPlayerIndex
bool ConcealedOnOwner()

true when local player concealed themselves

Usage example
bool object.ConcealedOnOwner
bool EnableCrewEmblem()

Does the ped use the crew emblem?

Usage example
bool object.EnableCrewEmblem
bool FadeOut()

Member available through Scooby's native Lua API.

Usage example
bool object.FadeOut
PlayerGameStateFlags GameStateFlags()

game state flags

Usage example
PlayerGameStateFlags object.GameStateFlags
int GarageInstanceIndex()

Member available through Scooby's native Lua API.

Usage example
int object.GarageInstanceIndex
int IsTargettableByTeam()

flags indicating whether the ped is targettable by each team //

Usage example
int object.IsTargettableByTeam
int JackSpeed()

jack speed percentage for the player

Usage example
int object.JackSpeed
int LockOnState()

Member available through Scooby's native Lua API.

Usage example
int object.LockOnState
int LockOnTargetID()

for when players use homing launchers

Usage example
int object.LockOnTargetID
int MaxArmour()

max armour for the player

Usage example
int object.MaxArmour
int MaxHealth()

max health for the player

Usage example
int object.MaxHealth
number MeleeDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.MeleeDamageModifier
number MeleeUnarmedDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.MeleeUnarmedDamageModifier
int MobileRingState()

mobile phone ring state for the player

Usage example
int object.MobileRingState
int OverrideReceiveChat()

Override Receive Chat

Usage example
int object.OverrideReceiveChat
int OverrideSendChat()

Override Send Chat //

Usage example
int object.OverrideSendChat
int PlayerState()

the current player state

Usage example
int object.PlayerState
int PlayerTeam()

current player team

Usage example
int object.PlayerTeam
V3 ScriptedWeaponFirePos()

Member available through Scooby's native Lua API.

Usage example
V3 object.ScriptedWeaponFirePos
int SpectatorId()

Network Object of the ped we are spectating

Usage example
int object.SpectatorId
int TutorialIndex()

Tutorial session index - used to split players into fake sessions including only team-mates

Usage example
int object.TutorialIndex
int TutorialInstanceID()

Current tutorial instance ID (only used for gang sessions)

Usage example
int object.TutorialInstanceID
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool VehicleJumpDown()

Member available through Scooby's native Lua API.

Usage example
bool object.VehicleJumpDown
number VehicleShareMultiplier()

Member available through Scooby's native Lua API.

Usage example
number object.VehicleShareMultiplier
number WeaponDamageModifier()

Member available through Scooby's native Lua API.

Usage example
number object.WeaponDamageModifier
number WeaponDefenseModifier()

Member available through Scooby's native Lua API.

Usage example
number object.WeaponDefenseModifier
number WeaponMinigunDefenseModifier()

Member available through Scooby's native Lua API.

Usage example
number object.WeaponMinigunDefenseModifier
bool arcadeCNCVOffender()

Member available through Scooby's native Lua API.

Usage example
bool object.arcadeCNCVOffender
int arcadePassiveAbilityFlags()

Member available through Scooby's native Lua API.

Usage example
int object.arcadePassiveAbilityFlags
int arcadeRoleInt()

Member available through Scooby's native Lua API.

Usage example
int object.arcadeRoleInt
int arcadeTeamInt()

Member available through Scooby's native Lua API.

Usage example
int object.arcadeTeamInt
bool bBattleAware()

Member available through Scooby's native Lua API.

Usage example
bool object.bBattleAware
bool bCollisionsDisabledByScript()

used for spectating players, that have other collision flags set

Usage example
bool object.bCollisionsDisabledByScript
bool bDisableLeavePedBehind()

Disable Leave ped behind when the remote player leaves the session.

Usage example
bool object.bDisableLeavePedBehind
bool bGhost()

Member available through Scooby's native Lua API.

Usage example
bool object.bGhost
bool bHasScriptedWeaponFirePos()

Member available through Scooby's native Lua API.

Usage example
bool object.bHasScriptedWeaponFirePos
bool bHasVoiceProximityOverride()

If we have a voice proximity override

Usage example
bool object.bHasVoiceProximityOverride
bool bInCutscene()

player is in a mocap cutscene

Usage example
bool object.bInCutscene
bool bIsChokingFromDOTEffect()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsChokingFromDOTEffect
bool bIsFriendlyFireAllowed()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsFriendlyFireAllowed
bool bIsPassiveMode()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsPassiveMode
bool bIsSCTVSpectating()

true when player is SCTV spectator

Usage example
bool object.bIsSCTVSpectating
bool bIsShockedFromDOTEffect()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsShockedFromDOTEffect
bool bIsSuperJump()

Member available through Scooby's native Lua API.

Usage example
bool object.bIsSuperJump
bool bOverrideTransitionChat()

Override Transition Chat

Usage example
bool object.bOverrideTransitionChat
bool bOverrideTutorialChat()

Override Tutorial Chat

Usage example
bool object.bOverrideTutorialChat
bool bUseExtendedPopulationRange()

Member available through Scooby's native Lua API.

Usage example
bool object.bUseExtendedPopulationRange
bool bvehicleweaponindex()

Indicator whether the VWI is sent

Usage example
bool object.bvehicleweaponindex
int decoratorListCount()

count of decorator extensions ( the scripted ones )

Usage example
int object.decoratorListCount
number fVoiceLoudness()

Loudness of player voice through microphone

Usage example
number object.fVoiceLoudness
int nCharacterRank()

Member available through Scooby's native Lua API.

Usage example
int object.nCharacterRank
int nMentalState()

Member available through Scooby's native Lua API.

Usage example
int object.nMentalState
int nPedDensity()

Member available through Scooby's native Lua API.

Usage example
int object.nPedDensity
int nPropertyID()

Member available through Scooby's native Lua API.

Usage example
int object.nPropertyID
int nVoiceChannel()

Voice channel this player is in

Usage example
int object.nVoiceChannel
int sizeOfNetArrayData()

the total size of all the network array handler data arbitrated by this player

Usage example
int object.sizeOfNetArrayData
V3 vExtendedPopulationRangeCenter()

Member available through Scooby's native Lua API.

Usage example
V3 object.vExtendedPopulationRangeCenter
V3 vVoiceProximityOverride()

Proximity override

Usage example
V3 object.vVoiceProximityOverride
int vehicleweaponindex()

Vehicle Weapon Index: Missiles, Gatling, etc...

Usage example
int object.vehicleweaponindex

CPlayerPedGroupDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CPlayerSectorPosNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool IsOnStairs()

is this player standing on stairs?

Usage example
bool object.IsOnStairs
bool IsRagdolling()

is this player ragdolling?

Usage example
bool object.IsRagdolling
bool IsStandingOnNetworkObject()

is this player currently standing on another network object?

Usage example
bool object.IsStandingOnNetworkObject
V3 LocalOffset()

Offset from the center of the object

Usage example
V3 object.LocalOffset
int PackedStealthNoise()

the serialised players current stealth noise

Usage example
int object.PackedStealthNoise
number SectorPosX()

X position of this object within the current sector

Usage example
number object.SectorPosX
number SectorPosY()

Y position of this object within the current sector

Usage example
number object.SectorPosY
number SectorPosZ()

Z position of this object within the current sector

Usage example
number object.SectorPosZ
int StandingOnNetworkObjectID()

ID of the object this player is standing on

Usage example
int object.StandingOnNetworkObjectID
number StealthNoise()

the players current stealth noise

Usage example
number object.StealthNoise
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CProjectBaseSyncDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

CPedCreationDataNode As("CPedCreationDataNode")

Dynamically cast this node to any concrete sync data node by name.

Usage example
CPedCreationDataNode object:As("CPedCreationDataNode")
string GetNodeName()

Member available through Scooby's native Lua API.

Usage example
string object:GetNodeName()
eSyncDataNode GetNodeType()

Member available through Scooby's native Lua API.

Usage example
eSyncDataNode object:GetNodeType()
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CSubmarineControlDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
number dive()

the current value of the dive control.

Usage example
number object.dive
number pitch()

the current value of the pitch control.

Usage example
number object.pitch
number yaw()

the current value of the yaw control.

Usage example
number object.yaw

CSubmarineGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool IsAnchored()

is this submarine anchored?

Usage example
bool object.IsAnchored
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CSyncedPedVarData

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

table<int, int> ComponentData()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.ComponentData
int CrewLogoTexHash()

Member available through Scooby's native Lua API.

Usage example
int object.CrewLogoTexHash
int CrewLogoTxdHash()

Member available through Scooby's native Lua API.

Usage example
int object.CrewLogoTxdHash
table<int, int> PaletteData()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.PaletteData
bool PlayerData()

Member available through Scooby's native Lua API.

Usage example
bool object.PlayerData
table<int, int> TextureData()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.TextureData
int UsedComponents()

bitflags

Usage example
int object.UsedComponents
table<int, int> VarInfoHash()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.VarInfoHash

CSyncedTennisMotionData

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Active()

Member available through Scooby's native Lua API.

Usage example
bool object.Active
int ClipHash()

Member available through Scooby's native Lua API.

Usage example
int object.ClipHash
int DictHash()

Member available through Scooby's native Lua API.

Usage example
int object.DictHash
bool DiveDirection()

Member available through Scooby's native Lua API.

Usage example
bool object.DiveDirection
bool DiveMode()

Member available through Scooby's native Lua API.

Usage example
bool object.DiveMode
bool bAllowOverrideCloneUpdate()

Member available through Scooby's native Lua API.

Usage example
bool object.bAllowOverrideCloneUpdate
bool bControlOutOfDeadZone()

Member available through Scooby's native Lua API.

Usage example
bool object.bControlOutOfDeadZone
bool bSlowBlend()

Member available through Scooby's native Lua API.

Usage example
bool object.bSlowBlend
number fDiveHorizontal()

Member available through Scooby's native Lua API.

Usage example
number object.fDiveHorizontal
number fDiveVertical()

Member available through Scooby's native Lua API.

Usage example
number object.fDiveVertical
number fPlayRate()

Member available through Scooby's native Lua API.

Usage example
number object.fPlayRate
number fStartPhase()

Member available through Scooby's native Lua API.

Usage example
number object.fStartPhase

CTaskData

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

table<int, int> TaskData()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.TaskData
int TaskDataSize()

Member available through Scooby's native Lua API.

Usage example
int object.TaskDataSize
int TaskType()

Member available through Scooby's native Lua API.

Usage example
int object.TaskType

CVehicleAngVelocityDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool IsSuperDummyAngVel()

indicates this angular velocity was retrieved from a superdummy vehicle (should not be applied on remote machines)

Usage example
bool object.IsSuperDummyAngVel
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CVehicleAppearanceDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

int LicencePlateTexIndex()

Licence plate texture index.

Usage example
int object.LicencePlateTexIndex
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool VehicleBadge()

Member available through Scooby's native Lua API.

Usage example
bool object.VehicleBadge
table<int, int> allKitMods()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.allKitMods
bool bSmokeColor()

has a smoke color

Usage example
bool object.bSmokeColor
table<int, bool> bVehicleBadgeData()

Member available through Scooby's native Lua API.

Usage example
table<int, bool> object.bVehicleBadgeData
bool bWindowTint()

has a window tint

Usage example
bool object.bWindowTint
int bodyColour1()

vehicle body colour 1

Usage example
int object.bodyColour1
int bodyColour2()

vehicle body colour 2

Usage example
int object.bodyColour2
int bodyColour3()

vehicle body colour 3

Usage example
int object.bodyColour3
int bodyColour4()

vehicle body colour 4

Usage example
int object.bodyColour4
int bodyColour5()

vehicle body colour 5

Usage example
int object.bodyColour5
int bodyColour6()

vehicle body colour 6

Usage example
int object.bodyColour6
int bodyDirtLevel()

vehicle body dirt level

Usage example
int object.bodyDirtLevel
int customPrimaryB()

custom secondary color B

Usage example
int object.customPrimaryB
bool customPrimaryColor()

Member available through Scooby's native Lua API.

Usage example
bool object.customPrimaryColor
int customPrimaryG()

custom secondary color G

Usage example
int object.customPrimaryG
int customPrimaryR()

custom secondary color R

Usage example
int object.customPrimaryR
int customSecondaryB()

custom secondary color B

Usage example
int object.customSecondaryB
bool customSecondaryColor()

Member available through Scooby's native Lua API.

Usage example
bool object.customSecondaryColor
int customSecondaryG()

custom secondary color G

Usage example
int object.customSecondaryG
int customSecondaryR()

custom secondary color R

Usage example
int object.customSecondaryR
int disableExtras()

bit flags indicating which "extra" car parts are disabled

Usage example
int object.disableExtras
int envEffScale()

Member available through Scooby's native Lua API.

Usage example
int object.envEffScale
bool hasDifferentRearWheel()

has a rear wheel that might have a different type (bikes)

Usage example
bool object.hasDifferentRearWheel
bool hasLivery2ID()

Member available through Scooby's native Lua API.

Usage example
bool object.hasLivery2ID
bool hasLiveryID()

Member available through Scooby's native Lua API.

Usage example
bool object.hasLiveryID
int horntype()

Member available through Scooby's native Lua API.

Usage example
int object.horntype
int kitIndex()

the kit index that the variation data is using

Usage example
int object.kitIndex
table<int, int> licencePlate()

Licence Plate

Usage example
table<int, int> object.licencePlate
int livery2ID()

ID of the livery2 for the vehicle

Usage example
int object.livery2ID
int liveryID()

ID of the livery for the vehicle

Usage example
int object.liveryID
bool neonBOn()

Member available through Scooby's native Lua API.

Usage example
bool object.neonBOn
int neonColorB()

neon color B

Usage example
int object.neonColorB
int neonColorG()

neon color G

Usage example
int object.neonColorG
int neonColorR()

neon color R

Usage example
int object.neonColorR
bool neonFOn()

Member available through Scooby's native Lua API.

Usage example
bool object.neonFOn
bool neonLOn()

Member available through Scooby's native Lua API.

Usage example
bool object.neonLOn
bool neonOn()

Member available through Scooby's native Lua API.

Usage example
bool object.neonOn
bool neonROn()

Member available through Scooby's native Lua API.

Usage example
bool object.neonROn
bool neonSuppressed()

Member available through Scooby's native Lua API.

Usage example
bool object.neonSuppressed
int rearWheelMod()

rear wheel mod value (for bikes)

Usage example
int object.rearWheelMod
int smokeColorB()

smoke color B

Usage example
int object.smokeColorB
int smokeColorG()

smoke color G

Usage example
int object.smokeColorG
int smokeColorR()

smoke color R

Usage example
int object.smokeColorR
int toggleMods()

bitfield of the toggle mods that are switched on

Usage example
int object.toggleMods
int wheelMod()

wheel mod value

Usage example
int object.wheelMod
int wheelType()

wheel type value

Usage example
int object.wheelType
bool wheelVariation0()

Member available through Scooby's native Lua API.

Usage example
bool object.wheelVariation0
bool wheelVariation1()

Member available through Scooby's native Lua API.

Usage example
bool object.wheelVariation1
int windowTint()

window tint

Usage example
int object.windowTint

CVehicleComponentReservationDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

table<int, int> ComponentReservations()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.ComponentReservations
bool HasReservations()

Member available through Scooby's native Lua API.

Usage example
bool object.HasReservations
int NumVehicleComponents()

Member available through Scooby's native Lua API.

Usage example
int object.NumVehicleComponents
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CVehicleScriptGameStateDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool AllowSpecialFlightMode()

Member available through Scooby's native Lua API.

Usage example
bool object.AllowSpecialFlightMode
int BombAmmoCount()

Member available through Scooby's native Lua API.

Usage example
int object.BombAmmoCount
number BuoyancyForceMultiplier()

shows us how much the boat wants to float back up. 0 when the boat is sinking the fastest.

Usage example
number object.BuoyancyForceMultiplier
bool CanEngineMissFire()

Member available through Scooby's native Lua API.

Usage example
bool object.CanEngineMissFire
number CollisionWithMapDamageScale()

Member available through Scooby's native Lua API.

Usage example
number object.CollisionWithMapDamageScale
int CountermeasureAmmoCount()

Member available through Scooby's native Lua API.

Usage example
int object.CountermeasureAmmoCount
int DamageThreshold()

Member available through Scooby's native Lua API.

Usage example
int object.DamageThreshold
bool DisableBreaking()

Member available through Scooby's native Lua API.

Usage example
bool object.DisableBreaking
bool DisableHoverModeFlight()

Member available through Scooby's native Lua API.

Usage example
bool object.DisableHoverModeFlight
bool DisableVericalFlightModeTransition()

Member available through Scooby's native Lua API.

Usage example
bool object.DisableVericalFlightModeTransition
number ExtraBoundAttachAllowance()

Member available through Scooby's native Lua API.

Usage example
number object.ExtraBoundAttachAllowance
int GarageInstanceIndex()

Member available through Scooby's native Lua API.

Usage example
int object.GarageInstanceIndex
bool HasOutriggerDeployed()

Member available through Scooby's native Lua API.

Usage example
bool object.HasOutriggerDeployed
number HeliRopeLength()

Member available through Scooby's native Lua API.

Usage example
number object.HeliRopeLength
bool InSubmarineMode()

Member available through Scooby's native Lua API.

Usage example
bool object.InSubmarineMode
bool IsCarParachuting()

Member available through Scooby's native Lua API.

Usage example
bool object.IsCarParachuting
int PopType()

Member available through Scooby's native Lua API.

Usage example
int object.PopType
bool RadioEnabledByScript()

Member available through Scooby's native Lua API.

Usage example
bool object.RadioEnabledByScript
bool ScriptForceHd()

Member available through Scooby's native Lua API.

Usage example
bool object.ScriptForceHd
number ScriptMaxSpeed()

Member available through Scooby's native Lua API.

Usage example
number object.ScriptMaxSpeed
bool SpecialFlightModeUsed()

Member available through Scooby's native Lua API.

Usage example
bool object.SpecialFlightModeUsed
int TeamLockOverrides()

Member available through Scooby's native Lua API.

Usage example
int object.TeamLockOverrides
int TeamLocks()

Member available through Scooby's native Lua API.

Usage example
int object.TeamLocks
bool TransformInstantly()

Member available through Scooby's native Lua API.

Usage example
bool object.TransformInstantly
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
bool UsingAutoPilot()

Member available through Scooby's native Lua API.

Usage example
bool object.UsingAutoPilot
int VehicleProducingSlipstream()

Member available through Scooby's native Lua API.

Usage example
int object.VehicleProducingSlipstream
bool bBlockWeaponSelection()

Member available through Scooby's native Lua API.

Usage example
bool object.bBlockWeaponSelection
bool bBoatIgnoreLandProbes()

Member available through Scooby's native Lua API.

Usage example
bool object.bBoatIgnoreLandProbes
bool bIncreaseWheelCrushDamage()

Member available through Scooby's native Lua API.

Usage example
bool object.bIncreaseWheelCrushDamage
bool canPickupEntitiesThatHavePickupDisabled()

Member available through Scooby's native Lua API.

Usage example
bool object.canPickupEntitiesThatHavePickupDisabled
bool disableCollisionUponCreation()

Disable collision for 1 frame upon creation

Usage example
bool object.disableCollisionUponCreation
bool disablePlayerCanStandOnTop()

Member available through Scooby's native Lua API.

Usage example
bool object.disablePlayerCanStandOnTop
bool disableRampCarImpactDamage()

Member available through Scooby's native Lua API.

Usage example
bool object.disableRampCarImpactDamage
number fOverrideArriveDistForVehPersuitAttack()

Member available through Scooby's native Lua API.

Usage example
number object.fOverrideArriveDistForVehPersuitAttack
number fRampImpulseScale()

Member available through Scooby's native Lua API.

Usage example
number object.fRampImpulseScale
number fScriptDamageScale()

Member available through Scooby's native Lua API.

Usage example
number object.fScriptDamageScale
number fScriptWeaponDamageScale()

Member available through Scooby's native Lua API.

Usage example
number object.fScriptWeaponDamageScale
int gliderState()

Member available through Scooby's native Lua API.

Usage example
int object.gliderState
bool hasHeliRopeLengthSet()

Member available through Scooby's native Lua API.

Usage example
bool object.hasHeliRopeLengthSet
bool hasParachuteObject()

Member available through Scooby's native Lua API.

Usage example
bool object.hasParachuteObject
bool homingCanLockOnToObjects()

Member available through Scooby's native Lua API.

Usage example
bool object.homingCanLockOnToObjects
bool isBeastVehicle()

Member available through Scooby's native Lua API.

Usage example
bool object.isBeastVehicle
bool isinair()

is the vehicle in the air

Usage example
bool object.isinair
bool lockedToXY()

is this amphibious locked in the XY plane (anchored)

Usage example
bool object.lockedToXY
int parachuteObjectId()

Member available through Scooby's native Lua API.

Usage example
int object.parachuteObjectId
number parachuteStickX()

Member available through Scooby's native Lua API.

Usage example
number object.parachuteStickX
number parachuteStickY()

Member available through Scooby's native Lua API.

Usage example
number object.parachuteStickY
table<int, int> restrictedAmmoCount()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.restrictedAmmoCount
number rocketBoostRechargeRate()

Member available through Scooby's native Lua API.

Usage example
number object.rocketBoostRechargeRate
bool tuckInWheelsForQuadBike()

Member available through Scooby's native Lua API.

Usage example
bool object.tuckInWheelsForQuadBike
int vehicleParachuteTintIndex()

Member available through Scooby's native Lua API.

Usage example
int object.vehicleParachuteTintIndex

CVehicleSteeringDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

number SteeringAngle()

steering angle

Usage example
number object.SteeringAngle
bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated

CVehicleTaskDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Updated()

Member available through Scooby's native Lua API.

Usage example
bool object.Updated
table<int, int> taskData()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.taskData
int taskDataSize()

Member available through Scooby's native Lua API.

Usage example
int object.taskDataSize
int taskType()

Member available through Scooby's native Lua API.

Usage example
int object.taskType

Compatibility

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

int GetBuild()

Member available through Scooby's native Lua API.

Usage example
int Compatibility.GetBuild()
string GetEdition()

Member available through Scooby's native Lua API.

Usage example
string Compatibility.GetEdition()
int GetLegacyUID()

Member available through Scooby's native Lua API.

Usage example
int Compatibility.GetLegacyUID()
int GetUID()

Member available through Scooby's native Lua API.

Usage example
int Compatibility.GetUID()
string GetVersion()

Member available through Scooby's native Lua API.

Usage example
string Compatibility.GetVersion()

ClickTab

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

LuaEditor()

Member available through Scooby's native Lua API.

LuaTab()

Member available through Scooby's native Lua API.

Miscellaneous()

Member available through Scooby's native Lua API.

NumTabs()

Member available through Scooby's native Lua API.

Player()

Member available through Scooby's native Lua API.

PlayerList()

Member available through Scooby's native Lua API.

Protections()

Member available through Scooby's native Lua API.

Recovery()

Member available through Scooby's native Lua API.

SCAPI()

Member available through Scooby's native Lua API.

Session()

Member available through Scooby's native Lua API.

Settings()

Member available through Scooby's native Lua API.

Spawner()

Member available through Scooby's native Lua API.

Vehicle()

Member available through Scooby's native Lua API.

Weapon()

Member available through Scooby's native Lua API.

GadgetData

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

table<int, int> Data()

Member available through Scooby's native Lua API.

Usage example
table<int, int> object.Data
int object.int32_t Type()

Member available through Scooby's native Lua API.

Usage example
int object.int32_t Type

ImGuiFocusedFlags

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

AnyWindow()

Member available through Scooby's native Lua API.

ChildWindows()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

RootAndChildWindows()

Member available through Scooby's native Lua API.

RootWindow()

Member available through Scooby's native Lua API.

ImGuiKey

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

A()

Member available through Scooby's native Lua API.

Backspace()

Member available through Scooby's native Lua API.

C()

Member available through Scooby's native Lua API.

COUNT()

Member available through Scooby's native Lua API.

Delete()

Member available through Scooby's native Lua API.

DownArrow()

Member available through Scooby's native Lua API.

End()

Member available through Scooby's native Lua API.

Enter()

Member available through Scooby's native Lua API.

Escape()

Member available through Scooby's native Lua API.

Home()

Member available through Scooby's native Lua API.

Insert()

Member available through Scooby's native Lua API.

KeypadEnter()

Member available through Scooby's native Lua API.

LeftArrow()

Member available through Scooby's native Lua API.

PageDown()

Member available through Scooby's native Lua API.

PageUp()

Member available through Scooby's native Lua API.

RightArrow()

Member available through Scooby's native Lua API.

Space()

Member available through Scooby's native Lua API.

Tab()

Member available through Scooby's native Lua API.

UpArrow()

Member available through Scooby's native Lua API.

V()

Member available through Scooby's native Lua API.

X()

Member available through Scooby's native Lua API.

Y()

Member available through Scooby's native Lua API.

Z()

Member available through Scooby's native Lua API.

ImGuiPopupFlags

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

AnyPopup()

Member available through Scooby's native Lua API.

AnyPopupId()

Member available through Scooby's native Lua API.

AnyPopupLevel()

Member available through Scooby's native Lua API.

MouseButtonDefault_()

Member available through Scooby's native Lua API.

MouseButtonLeft()

Member available through Scooby's native Lua API.

MouseButtonMask_()

Member available through Scooby's native Lua API.

MouseButtonMiddle()

Member available through Scooby's native Lua API.

MouseButtonRight()

Member available through Scooby's native Lua API.

NoOpenOverExistingPopup()

Member available through Scooby's native Lua API.

NoOpenOverItems()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

ImGuiTabBarFlags

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

AutoSelectNewTabs()

Member available through Scooby's native Lua API.

FittingPolicyDefault_()

Member available through Scooby's native Lua API.

FittingPolicyMask_()

Member available through Scooby's native Lua API.

FittingPolicyResizeDown()

Member available through Scooby's native Lua API.

FittingPolicyScroll()

Member available through Scooby's native Lua API.

NoCloseWithMiddleMouseButton()

Member available through Scooby's native Lua API.

NoTabListScrollingButtons()

Member available through Scooby's native Lua API.

NoTooltip()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

Reorderable()

Member available through Scooby's native Lua API.

TabListPopupButton()

Member available through Scooby's native Lua API.

ImGuiTabItemFlags

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

NoCloseWithMiddleMouseButton()

Member available through Scooby's native Lua API.

NoPushId()

Member available through Scooby's native Lua API.

NoTooltip()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

SetSelected()

Member available through Scooby's native Lua API.

UnsavedDocument()

Member available through Scooby's native Lua API.

ImGuiTableColumnFlags

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

DefaultSort()

Member available through Scooby's native Lua API.

Disabled()

Member available through Scooby's native Lua API.

IndentDisabled()

Member available through Scooby's native Lua API.

IndentEnable()

Member available through Scooby's native Lua API.

IndentMask_()

Member available through Scooby's native Lua API.

IsEnabled()

Member available through Scooby's native Lua API.

IsHovered()

Member available through Scooby's native Lua API.

IsSorted()

Member available through Scooby's native Lua API.

IsVisible()

Member available through Scooby's native Lua API.

NoClip()

Member available through Scooby's native Lua API.

NoDirectResize_()

Member available through Scooby's native Lua API.

NoHeaderLabel()

Member available through Scooby's native Lua API.

NoHeaderWidth()

Member available through Scooby's native Lua API.

NoHide()

Member available through Scooby's native Lua API.

NoReorder()

Member available through Scooby's native Lua API.

NoResize()

Member available through Scooby's native Lua API.

NoSort()

Member available through Scooby's native Lua API.

NoSortAscending()

Member available through Scooby's native Lua API.

NoSortDescending()

Member available through Scooby's native Lua API.

None()

Member available through Scooby's native Lua API.

PreferSortAscending()

Member available through Scooby's native Lua API.

PreferSortDescending()

Member available through Scooby's native Lua API.

StatusMask_()

Member available through Scooby's native Lua API.

WidthFixed()

Member available through Scooby's native Lua API.

WidthMask_()

Member available through Scooby's native Lua API.

WidthStretch()

Member available through Scooby's native Lua API.

ListWidget

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

string GetDesc()

Member available through Scooby's native Lua API.

Usage example
string object:GetDesc()
string GetText()

Member available through Scooby's native Lua API.

Usage example
string object:GetText()
bool IsVisible()

Member available through Scooby's native Lua API.

Usage example
bool object:IsVisible()
object:SetDesc(string desc) SetDesc()

Member available through Scooby's native Lua API.

Usage example
object:SetDesc(string desc)
object:SetText(string text) SetText()

Member available through Scooby's native Lua API.

Usage example
object:SetText(string text)

Logger

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

void Log(eLogColor color, string prefix, string str)

Member available through Scooby's native Lua API.

Usage example
void Logger.Log(eLogColor color, string prefix, string str)
void LogError(string str)

Member available through Scooby's native Lua API.

Usage example
void Logger.LogError(string str)
void LogInfo(string str)

Member available through Scooby's native Lua API.

Usage example
void Logger.LogInfo(string str)

Memory

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

int Alloc(int size = 24)

Allocates a guarded block of size bytes and returns a pointer to its start. The block is zero-initialised, tracked for the lifetime of the script, surrounded by guard bytes to catch overflows, and freed automatically if the script forgets to. Read/Write/MemSet/String access on it is bounds-checked.

Usage example
int Memory.Alloc(int size = 24)
int AllocInt()

Allocates a 4 byte guarded buffer where an integer can be stored.

Usage example
int Memory.AllocInt()
bool Check(int ptr)

Verifies the guard bytes of the allocation containing ptr. Returns true when intact; logs an error if an over/underflow is detected.

Usage example
bool Memory.Check(int ptr)
int CheckGuards()

Verifies the guard bytes of every live allocation and returns the number of corrupted ones (0 means all good).

Usage example
int Memory.CheckGuards()
void Free(int ptr)

Deallocates a block of memory, making it available again for further allocations. Detects and reports double frees and invalid frees.

Usage example
void Memory.Free(int ptr)
int GetBaseAddress(string moduleName = "GTA5.exe")

Returns the base address of the given module.

Usage example
int Memory.GetBaseAddress(string moduleName = "GTA5.exe")
void LuaCallCFunction(int addr, variadic_args arguments)

Calls a function with user-defined arguments.

Usage example
void Memory.LuaCallCFunction(int addr, variadic_args arguments)
int LuaCallCFunctionWithReturnValue(int addr, variadic_args arguments)

Calls a function with user-defined arguments and returns a pointer to the return value. You must free the return value yourself using Memory.Free.

Usage example
int Memory.LuaCallCFunctionWithReturnValue(int addr, variadic_args arguments)
int MemSet(int ptr, int val, int num)

Sets the first num bytes of the block of memory pointed by ptr to the specified value (interpreted as an unsigned char).

Usage example
int Memory.MemSet(int ptr, int val, int num)
int ReadByte(int address)

Reads an 8-bit integer at the given address.

Usage example
int Memory.ReadByte(int address)
float ReadFloat(int address)

Reads a float at the given address.

Usage example
float Memory.ReadFloat(int address)
int ReadInt(int address)

Reads a 32-bit integer at the given address.

Usage example
int Memory.ReadInt(int address)
int ReadLong(int address)

Reads a 64-bit integer at the given address.

Usage example
int Memory.ReadLong(int address)
int ReadShort(int address)

Reads an 16-bit integer at the given address.

Usage example
int Memory.ReadShort(int address)
string ReadString(int address)

Reads a string at the given address.

Usage example
string Memory.ReadString(int address)
int ReadUByte(int address)

Reads an unsigned 8-bit integer at the given address.

Usage example
int Memory.ReadUByte(int address)
int ReadUInt(int address)

Reads a unsigned 32-bit integer at the given address.

Usage example
int Memory.ReadUInt(int address)
int ReadUShort(int address)

Reads an unsigned 16-bit integer at the given address.

Usage example
int Memory.ReadUShort(int address)
table<int, int> ScanAll(string pattern, string moduleName = "GTA5.exe")

Returns all matches for a pattern, capped at 4096.

Usage example
table<int, int> Memory.ScanAll(string pattern, string moduleName = "GTA5.exe")
table<int, int> ScanBatch(table patterns, string moduleName = "GTA5.exe", int perFrame = 4)

Scans an ordered list of patterns and yields between bounded batches when run as a queued job.

Usage example
table<int, int> Memory.ScanBatch(table patterns, string moduleName = "GTA5.exe", int perFrame = 4)
V3 ReadV3(int address)

Reads a Vector3 at the given address.

Usage example
V3 Memory.ReadV3(int address)
int Rip(int address)

Rips the given address and returns the ripped address.

Usage example
int Memory.Rip(int address)
int Scan(string pattern, string moduleName = "GTA5.exe")

Scans for a given pattern in a specific module and returns the address if found.

Usage example
int Memory.Scan(string pattern, string moduleName = "GTA5.exe")
int ScanScript(int scriptHash, string pattern)

Scans for a given pattern in a specific script and returns the address if found.

Usage example
int Memory.ScanScript(int scriptHash, string pattern)
int SizeOf(int ptr)

Returns the size in bytes of a buffer returned by Memory.Alloc, or 0 if ptr is not a tracked allocation.

Usage example
int Memory.SizeOf(int ptr)
void WriteByte(int address, int value)

Writes an 8-bit integer to the given address.

Usage example
void Memory.WriteByte(int address, int value)
void WriteFloat(int address, float value)

Writes a float to the given address.

Usage example
void Memory.WriteFloat(int address, float value)
void WriteInt(int address, int value)

Writes a 32-bit integer to the given address.

Usage example
void Memory.WriteInt(int address, int value)
void WriteLong(int address, int value)

Writes a 64-bit integer to the given address.

Usage example
void Memory.WriteLong(int address, int value)
void WriteShort(int address, int value)

Writes an 16-bit integer to the given address.

Usage example
void Memory.WriteShort(int address, int value)
void WriteString(int address, string value)

Writes a string to the given address.

Usage example
void Memory.WriteString(int address, string value)
void WriteUByte(int address, int value)

Writes an unsigned 8-bit integer to the given address.

Usage example
void Memory.WriteUByte(int address, int value)
void WriteUInt(int address, int value)

Writes a unsigned 32-bit integer to the given address.

Usage example
void Memory.WriteUInt(int address, int value)
void WriteUShort(int address, int value)

Writes an unsigned 16-bit integer to the given address.

Usage example
void Memory.WriteUShort(int address, int value)
void WriteV3(int address, V3 value)

Writes a Vector3 to the given address.

Usage example
void Memory.WriteV3(int address, V3 value)

ModderDB

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool AddModder(int rockstarId, string detection)

Member available through Scooby's native Lua API.

Usage example
bool ModderDB.AddModder(int rockstarId, string detection)
bool AddModderByPlayerId(int playerId, string detection)

Member available through Scooby's native Lua API.

Usage example
bool ModderDB.AddModderByPlayerId(int playerId, string detection)
table<table<string, int, int>> GetModderDetections(int rockstarId)

detection format: name, count, lastTime

Usage example
table<table<string, int, int>> ModderDB.GetModderDetections(int rockstarId)
table<table<string, int, int>> GetModderDetectionsByPlayerId(int playerId)

detection format: name, count, lastTime

Usage example
table<table<string, int, int>> ModderDB.GetModderDetectionsByPlayerId(int playerId)
bool RemoveModder(int rockstarId, string reason)

Member available through Scooby's native Lua API.

Usage example
bool ModderDB.RemoveModder(int rockstarId, string reason)
bool RemoveModderDetection(int rockstarId, string reason)

Member available through Scooby's native Lua API.

Usage example
bool ModderDB.RemoveModderDetection(int rockstarId, string reason)

Natives

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool InvokeBool(hash, ...)

Call a native that returns a boolean.

Usage example
bool Natives.InvokeBool(hash, ...)
float InvokeFloat(hash, ...)

Call a native that returns a float.

Usage example
float Natives.InvokeFloat(hash, ...)
int InvokeInt(hash, ...)

Call a native that returns an integer.

Usage example
int Natives.InvokeInt(hash, ...)
long InvokePointer(hash, ...)

Call a native that returns a pointer.

Usage example
long Natives.InvokePointer(hash, ...)
string InvokeString(hash, ...)

Call a native that returns a string.

Usage example
string Natives.InvokeString(hash, ...)
float, float, float InvokeV3(hash, ...)

Call a native that returns three floats representing a V3.

Usage example
float, float, float Natives.InvokeV3(hash, ...)
void InvokeVoid(hash, ...)

Call a native that does not return a value.

Usage example
void Natives.InvokeVoid(hash, ...)

NetAddress

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

SocketAddress ProxyAddr()

Member available through Scooby's native Lua API.

Usage example
SocketAddress ProxyAddr
SocketAddress TargetAddr()

Member available through Scooby's native Lua API.

Usage example
SocketAddress TargetAddr
NetAddressType Type()

Type of the NetAddress.

Usage example
NetAddressType Type

NetAddressType

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

DIRECT()

Member available through Scooby's native Lua API.

INVALID()

Member available through Scooby's native Lua API.

NUM_TYPES()

Member available through Scooby's native Lua API.

PEER_RELAY()

Member available through Scooby's native Lua API.

RELAY_SERVER()

Member available through Scooby's native Lua API.

NetworkObjectMgr

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

void ChangeOwner(CNetObject object, CNetGamePlayer player, int migrationType)

Changes the ownership of a network object.

Usage example
void NetworkObjectMgr.ChangeOwner(CNetObject object, CNetGamePlayer player, int migrationType)
CNetObject GetNetworkObject(int netId, bool includeAll = false)

includeAll - If this flag is set the function will also return unregistering objects and those being reassigned

Usage example
CNetObject NetworkObjectMgr.GetNetworkObject(int netId, bool includeAll = false)
void UnregisterNetworkObject(CNetObject object, int reason, bool bForce, bool bDestroyObject)

Unregisters a network object with the manager and removes clones on remote machines if necessary.

Usage example
void NetworkObjectMgr.UnregisterNetworkObject(CNetObject object, int reason, bool bForce, bool bDestroyObject)

PlayerGameStateFlags

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool object.bool PRF_BlockRemotePlayerRecording()

Member available through Scooby's native Lua API.

Usage example
bool object.bool PRF_BlockRemotePlayerRecording
bool object.bool PRF_UseScriptedWeaponFirePosition()

Member available through Scooby's native Lua API.

Usage example
bool object.bool PRF_UseScriptedWeaponFirePosition
bool PlayerPreferFrontSeat()

Member available through Scooby's native Lua API.

Usage example
bool object.PlayerPreferFrontSeat
bool object.bool allowBikeAlternateAnimations()

Member available through Scooby's native Lua API.

Usage example
bool object.bool allowBikeAlternateAnimations
bool object.bool bHasMaxHealth()

Member available through Scooby's native Lua API.

Usage example
bool object.bool bHasMaxHealth
bool object.bool bHasMicrophone()

Member available through Scooby's native Lua API.

Usage example
bool object.bool bHasMicrophone
bool object.bool bHelmetHasBeenShot()

Member available through Scooby's native Lua API.

Usage example
bool object.bool bHelmetHasBeenShot
bool object.bool bInvincible()

Member available through Scooby's native Lua API.

Usage example
bool object.bool bInvincible
int object.int8_t cantBeKnockedOffBike()

Member available through Scooby's native Lua API.

Usage example
int object.int8_t cantBeKnockedOffBike
bool object.bool controlsDisabledByScript()

Member available through Scooby's native Lua API.

Usage example
bool object.bool controlsDisabledByScript
bool object.bool disableHelmetArmor()

Member available through Scooby's native Lua API.

Usage example
bool object.bool disableHelmetArmor
bool object.bool disableHomingMissileLockForVehiclePedInside()

Member available through Scooby's native Lua API.

Usage example
bool object.bool disableHomingMissileLockForVehiclePedInside
bool object.bool disableStartEngine()

Member available through Scooby's native Lua API.

Usage example
bool object.bool disableStartEngine
bool object.bool disableVehicleCombat()

Member available through Scooby's native Lua API.

Usage example
bool object.bool disableVehicleCombat
bool object.bool dontActivateRagdollFromExplosions()

Member available through Scooby's native Lua API.

Usage example
bool object.bool dontActivateRagdollFromExplosions
bool object.bool dontActivateRagdollFromVehicleImpact()

Member available through Scooby's native Lua API.

Usage example
bool object.bool dontActivateRagdollFromVehicleImpact
bool object.bool dontDragMeOutOfCar()

Member available through Scooby's native Lua API.

Usage example
bool object.bool dontDragMeOutOfCar
bool object.bool dontTakeOffHelmet()

Member available through Scooby's native Lua API.

Usage example
bool object.bool dontTakeOffHelmet
bool object.bool everybodyBackOff()

Member available through Scooby's native Lua API.

Usage example
bool object.bool everybodyBackOff
bool object.bool forceHelmetVisorSwitch()

Member available through Scooby's native Lua API.

Usage example
bool object.bool forceHelmetVisorSwitch
bool object.bool hasHelmet()

Member available through Scooby's native Lua API.

Usage example
bool object.bool hasHelmet
bool object.bool hasSetJackSpeed()

Member available through Scooby's native Lua API.

Usage example
bool object.bool hasSetJackSpeed
bool object.bool ignoreInteriorCheckForSprinting()

Member available through Scooby's native Lua API.

Usage example
bool object.bool ignoreInteriorCheckForSprinting
bool object.bool ignoreMeleeFistWeaponDamageMult()

Member available through Scooby's native Lua API.

Usage example
bool object.bool ignoreMeleeFistWeaponDamageMult
bool object.bool ignoresExplosions()

Member available through Scooby's native Lua API.

Usage example
bool object.bool ignoresExplosions
bool object.bool inTutorial()

Member available through Scooby's native Lua API.

Usage example
bool object.bool inTutorial
bool object.bool isAntagonisticToPlayer()

Member available through Scooby's native Lua API.

Usage example
bool object.bool isAntagonisticToPlayer
bool object.bool isPerformingVehicleMelee()

Member available through Scooby's native Lua API.

Usage example
bool object.bool isPerformingVehicleMelee
bool object.bool isScuba()

Member available through Scooby's native Lua API.

Usage example
bool object.bool isScuba
bool object.bool isSpectating()

Member available through Scooby's native Lua API.

Usage example
bool object.bool isSpectating
bool object.bool isSwitchingHelmetVisor()

Member available through Scooby's native Lua API.

Usage example
bool object.bool isSwitchingHelmetVisor
bool object.bool lawOnlyAttackIfPlayerIsWanted()

Member available through Scooby's native Lua API.

Usage example
bool object.bool lawOnlyAttackIfPlayerIsWanted
bool object.bool lawPedsCanFleeFromNonWantedPlayer()

Member available through Scooby's native Lua API.

Usage example
bool object.bool lawPedsCanFleeFromNonWantedPlayer
bool object.bool myVehicleIsMyInteresting()

Member available through Scooby's native Lua API.

Usage example
bool object.bool myVehicleIsMyInteresting
bool object.bool neverTarget()

Member available through Scooby's native Lua API.

Usage example
bool object.bool neverTarget
bool object.bool newMaxHealthArmour()

Member available through Scooby's native Lua API.

Usage example
bool object.bool newMaxHealthArmour
bool object.bool noCriticalHits()

Member available through Scooby's native Lua API.

Usage example
bool object.bool noCriticalHits
bool object.bool notDamagedByBullets()

Member available through Scooby's native Lua API.

Usage example
bool object.bool notDamagedByBullets
bool object.bool notDamagedByCollisions()

Member available through Scooby's native Lua API.

Usage example
bool object.bool notDamagedByCollisions
bool object.bool notDamagedByFlames()

Member available through Scooby's native Lua API.

Usage example
bool object.bool notDamagedByFlames
bool object.bool notDamagedByMelee()

Member available through Scooby's native Lua API.

Usage example
bool object.bool notDamagedByMelee
bool object.bool notDamagedBySmoke()

Member available through Scooby's native Lua API.

Usage example
bool object.bool notDamagedBySmoke
bool object.bool notDamagedBySteam()

Member available through Scooby's native Lua API.

Usage example
bool object.bool notDamagedBySteam
bool object.bool pedIsArresting()

Member available through Scooby's native Lua API.

Usage example
bool object.bool pedIsArresting
bool object.bool pendingTutorialSessionChange()

Member available through Scooby's native Lua API.

Usage example
bool object.bool pendingTutorialSessionChange
bool object.bool playerIsWeird()

Member available through Scooby's native Lua API.

Usage example
bool object.bool playerIsWeird
bool object.bool playersDontDragMeOutOfCar()

Member available through Scooby's native Lua API.

Usage example
bool object.bool playersDontDragMeOutOfCar
bool object.bool randomPedsFlee()

Member available through Scooby's native Lua API.

Usage example
bool object.bool randomPedsFlee
bool object.bool respawning()

Member available through Scooby's native Lua API.

Usage example
bool object.bool respawning
bool object.bool swatHeliSpawnWithinLastSpottedLocation()

Member available through Scooby's native Lua API.

Usage example
bool object.bool swatHeliSpawnWithinLastSpottedLocation
bool object.bool treatFriendlyTargettingAndDamage()

Member available through Scooby's native Lua API.

Usage example
bool object.bool treatFriendlyTargettingAndDamage
bool object.bool useKinematicModeWhenStationary()

Member available through Scooby's native Lua API.

Usage example
bool object.bool useKinematicModeWhenStationary
bool object.bool useKinematicPhysics()

Member available through Scooby's native Lua API.

Usage example
bool object.bool useKinematicPhysics
bool object.bool useLockpickVehicleEntryAnimations()

Member available through Scooby's native Lua API.

Usage example
bool object.bool useLockpickVehicleEntryAnimations
bool object.bool useOverrideFootstepPtFx()

Member available through Scooby's native Lua API.

Usage example
bool object.bool useOverrideFootstepPtFx
bool object.bool willJackAnyPlayer()

Member available through Scooby's native Lua API.

Usage example
bool object.bool willJackAnyPlayer
bool object.bool willJackWantedPlayersRatherThanStealCar()

Member available through Scooby's native Lua API.

Usage example
bool object.bool willJackWantedPlayersRatherThanStealCar

Players

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

table<int, int> Get(ePlayerListSort filter, string search)

Returns the players for a given filter.

Usage example
table<int, int> Players.Get(ePlayerListSort filter, string search)
CNetGamePlayer GetByConId(int cxn)

Returns the NetGamePlayer for a given connection id.

Usage example
CNetGamePlayer Players.GetByConId(int cxn)
CNetGamePlayer GetByEndpointId(int ep)

Returns the NetGamePlayer for a given endpoint id.

Usage example
CNetGamePlayer Players.GetByEndpointId(int ep)
CNetGamePlayer GetByGamerId(int gamerId)

Returns the NetGamePlayer for a given gamer id.

Usage example
CNetGamePlayer Players.GetByGamerId(int gamerId)
CNetGamePlayer Players.GetByIP(netSocketAddress addr) CNetGamePlayer Players.GetByIP(int ip) GetByIP()

Returns the NetGamePlayer for a given ip.

Usage example
CNetGamePlayer Players.GetByIP(netSocketAddress addr)
CNetGamePlayer Players.GetByIP(int ip)
CNetGamePlayer GetById(int playerId)

Returns the NetGamePlayer for a given playerId.

Usage example
CNetGamePlayer Players.GetById(int playerId)
CNetGamePlayer GetByPeerId(int peerId)

Returns the NetGamePlayer for a given peer id.

Usage example
CNetGamePlayer Players.GetByPeerId(int peerId)
CNetGamePlayer GetByRockstarId(int rid)

Returns the NetGamePlayer for a given rockstar id.

Usage example
CNetGamePlayer Players.GetByRockstarId(int rid)
CPed GetCPed(int playerId)

Gets the player's CPed.

Usage example
CPed Players.GetCPed(int playerId)
V3 GetCam(int playerId)

Gets the player's cam position.

Usage example
V3 Players.GetCam(int playerId)
V3 GetCamRot(int playerId)

Gets the player's cam rotation in eulers.

Usage example
V3 Players.GetCamRot(int playerId)
SocketAddress GetIP(int playerId)

Returns the player SocketAddress.

Usage example
SocketAddress Players.GetIP(int playerId)
table<string, string> GetIPInfo(int playerId)

Returns info about players ip.

Usage example
table<string, string> Players.GetIPInfo(int playerId)
string GetIPString(int playerId)

Returns a readable player ip string including the type of the connection.

Usage example
string Players.GetIPString(int playerId)
string GetName(int playerId)

Returns the player name.

Usage example
string Players.GetName(int playerId)
NetAddress GetNetAddress(int playerId)

Returns the player NetAddress.

Usage example
NetAddress Players.GetNetAddress(int playerId)
string GetTags(int playerId)

Returns the player tags as string.

Usage example
string Players.GetTags(int playerId)
bool, V3, int GetWaypoint(int playerId)

Gets if the player has a waypoint, the position of the waypoint, and the owner of the waypoint.

Usage example
bool, V3, int Players.GetWaypoint(int playerId)

PoolMgr

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

CPhysical GetCCamera(int index)

Return the camera class object. Can have a performance impact if called to frequently.

Usage example
CPhysical PoolMgr.GetCCamera(int index)
CPhysical GetCObject(int index)

Return the object class object. Can have a performance impact if called to frequently.

Usage example
CPhysical PoolMgr.GetCObject(int index)
CPed GetCPed(int index)

Return the ped class object. Can have a performance impact if called to frequently.

Usage example
CPed PoolMgr.GetCPed(int index)
CPhysical GetCPickup(int index)

Return the pickup class object. Can have a performance impact if called to frequently.

Usage example
CPhysical PoolMgr.GetCPickup(int index)
CVehicle GetCVehicle(int index)

Return the vehicle class object. Can have a performance impact if called to frequently.

Usage example
CVehicle PoolMgr.GetCVehicle(int index)
int GetCamera(int index)

Return the camera handle for a specific index. Can have a performance impact if called to frequently.

Usage example
int PoolMgr.GetCamera(int index)
int GetCurrentCameraCount()

Return the current amount of cameras.

Usage example
int PoolMgr.GetCurrentCameraCount()
int GetCurrentObjectCount()

Return the current amount of objects.

Usage example
int PoolMgr.GetCurrentObjectCount()
int GetCurrentPedCount()

Return the current amount of peds.

Usage example
int PoolMgr.GetCurrentPedCount()
int GetCurrentPickupCount()

Return the current amount of pickups.

Usage example
int PoolMgr.GetCurrentPickupCount()
int GetCurrentVehicleCount()

Return the current amount of vehicles.

Usage example
int PoolMgr.GetCurrentVehicleCount()
int GetMaxCameraCount()

Return the maximum amount of cameras.

Usage example
int PoolMgr.GetMaxCameraCount()
int GetMaxObjectCount()

Return the maximum amount of objects.

Usage example
int PoolMgr.GetMaxObjectCount()
int GetMaxPedCount()

Return the maximum amount of peds.

Usage example
int PoolMgr.GetMaxPedCount()
int GetMaxPickupCount()

Return the maximum amount of pickups.

Usage example
int PoolMgr.GetMaxPickupCount()
int GetMaxVehicleCount()

Return the maximum amount of vehicles.

Usage example
int PoolMgr.GetMaxVehicleCount()
int GetObject(int index)

Return the object handle for a specific index. Can have a performance impact if called to frequently.

Usage example
int PoolMgr.GetObject(int index)
int GetPed(int index)

Return the ped handle for a specific index. Can have a performance impact if called to frequently.

Usage example
int PoolMgr.GetPed(int index)
int GetPickup(int index)

Return the pickup handle for a specific index. Can have a performance impact if called to frequently.

Usage example
int PoolMgr.GetPickup(int index)
table<int, CObject> GetRenderedObjects()

Return all currrently rendered CObject pointers

Usage example
table<int, CObject> PoolMgr.GetRenderedObjects()
table<int, CPed> GetRenderedPeds()

Return all currrently rendered CPed pointers

Usage example
table<int, CPed> PoolMgr.GetRenderedPeds()
table<int, CVehicle> GetRenderedVehicles()

Return all currrently rendered CVehicle pointers

Usage example
table<int, CVehicle> PoolMgr.GetRenderedVehicles()
int GetVehicle(int index)

Return the vehicle handle for a specific index. Can have a performance impact if called to frequently.

Usage example
int PoolMgr.GetVehicle(int index)

Script

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

void Script.ExecuteAsScript(string scriptName, function fn) void Script.ExecuteAsScript(int scriptHash, function fn) ExecuteAsScript()

Changes the current script context to your desired script, calls your function and then restores the orignal script context.

Usage example
void Script.ExecuteAsScript(string scriptName, function fn)
void Script.ExecuteAsScript(int scriptHash, function fn)
int QueueJob(function(script, variadic_args) func, variadic_args va)

Queues a coroutine callback on the game script thread. Long jobs must Yield or Checkpoint.

Usage example
int Script.QueueJob(function(script, variadic_args) func, variadic_args va)
bool CancelCallback(int handle)

Cancels and releases a queued callback by its QueueJob/RunInCallback handle.

Usage example
bool Script.CancelCallback(int handle)
int RegisterLooped(function(variadic_args) func, variadic_args va)

Register a script that will be called in a loop.

Usage example
int Script.RegisterLooped(function(variadic_args) func, variadic_args va)
void Yield(int ms = 0)

Suspends the current queued coroutine. Zero resumes on the next frame.

Usage example
void Script.Yield(int ms = 0)
void Checkpoint(int reserveMs = 10)

Yields only when the active Lua call is near its watchdog limit.

Usage example
void Script.Checkpoint(int reserveMs = 10)
int GetBudgetRemaining()

Returns milliseconds left in the guarded call, or -1 outside one.

Usage example
int Script.GetBudgetRemaining()
int RegisterEventHandler(string|int eventName, function callback)

Registers a named event handler and returns a removable handle.

Usage example
int Script.RegisterEventHandler(string|int eventName, function callback)
bool UnregisterEventHandler(int handle)

Disables and releases an event handler by handle.

Usage example
bool Script.UnregisterEventHandler(int handle)
int RegisterRender(function callback)

Registers an isolated ImGui render callback and returns its handle.

Usage example
int Script.RegisterRender(function callback)
bool UnregisterRender(int handle)

Disables and releases a render callback by handle.

Usage example
bool Script.UnregisterRender(int handle)
void SetContinueOnError(bool enabled)

Keeps the script loaded after runtime callback errors.

Usage example
void Script.SetContinueOnError(bool enabled)
bool GetContinueOnError()

Returns the runtime error policy.

Usage example
bool Script.GetContinueOnError()
int GetErrorCount()

Returns the number of reported runtime errors.

Usage example
int Script.GetErrorCount()

SocialClub

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

SocialClub.AddNotify(string message) AddNotify()

Adds a social club notification.

Usage example
SocialClub.AddNotify(string message)
SocialClub.ExecuteJavaScript(string javascript) ExecuteJavaScript()

Execute javascript in the social clubs environment.

Usage example
SocialClub.ExecuteJavaScript(string javascript)

SocketAddress

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

IPv4()

This value is a raw 4 byte integer.

Port()

Member available through Scooby's native Lua API.

string object:ToString(bool port) string SocketAddress.ToString(SocketAddress address, bool port) ToString()

Member available through Scooby's native Lua API.

Usage example
string object:ToString(bool port)
string SocketAddress.ToString(SocketAddress address, bool port)

Stats

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool,int GetBool(int hash)

Member available through Scooby's native Lua API.

Usage example
bool,int Stats.GetBool(int hash)
bool,number GetFloat(int hash)

Member available through Scooby's native Lua API.

Usage example
bool,number Stats.GetFloat(int hash)
bool,int GetInt(int hash)

Member available through Scooby's native Lua API.

Usage example
bool,int Stats.GetInt(int hash)
bool SetBool(int hash, int value)

Member available through Scooby's native Lua API.

Usage example
bool Stats.SetBool(int hash, int value)
bool SetFloat(int hash, number value)

Member available through Scooby's native Lua API.

Usage example
bool Stats.SetFloat(int hash, number value)
bool SetInt(int hash, int value)

Member available through Scooby's native Lua API.

Usage example
bool Stats.SetInt(int hash, int value)

Tab

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

void object:AddFeature(int hash) void object:AddFeature(int hash, int index) AddFeature()

Adds a feature to the tab.

Usage example
void object:AddFeature(int hash)
void object:AddFeature(int hash, int index)
object:AddSeperator(string text) AddSeperator()

Member available through Scooby's native Lua API.

Usage example
object:AddSeperator(string text)
Tab AddSubTab(string text, string desc)

Adds Tab Button and returns the created tab.

Usage example
Tab object:AddSubTab(string text, string desc)
ListWidget GetContent(int index)

Member available through Scooby's native Lua API.

Usage example
ListWidget object:GetContent(int index)
int GetContentSize()

Returns the number of widgets in this tab.

Usage example
int object:GetContentSize()
string GetDesc()

Member available through Scooby's native Lua API.

Usage example
string object:GetDesc()
ListWidget GetSelectedContent()

Member available through Scooby's native Lua API.

Usage example
ListWidget object:GetSelectedContent()
int GetSelectedContentId()

Member available through Scooby's native Lua API.

Usage example
int object:GetSelectedContentId()
Tab GetSubTab(string text)

Returns a sub tab by name.

Usage example
Tab object:GetSubTab(string text)
string GetText()

Member available through Scooby's native Lua API.

Usage example
string object:GetText()
int RemoveSubTab(Tab tab)

Removes a sub tab and returns the amount of removed tab buttons.

Usage example
int object:RemoveSubTab(Tab tab)
object:SetDesc(string desc) SetDesc()

Member available through Scooby's native Lua API.

Usage example
object:SetDesc(string desc)
object:SetSelectedContentId(int index) SetSelectedContentId()

Member available through Scooby's native Lua API.

Usage example
object:SetSelectedContentId(int index)
object:SetText(string text) SetText()

Member available through Scooby's native Lua API.

Usage example
object:SetText(string text)

TaskSlotData

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool taskActive()

Member available through Scooby's native Lua API.

Usage example
bool object.taskActive
int taskPriority()

Member available through Scooby's native Lua API.

Usage example
int object.taskPriority
int taskSequenceId()

Member available through Scooby's native Lua API.

Usage example
int object.taskSequenceId
int taskTreeDepth()

Member available through Scooby's native Lua API.

Usage example
int object.taskTreeDepth
int taskType()

Member available through Scooby's native Lua API.

Usage example
int object.taskType

Texture

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

D3D12Texture GetTexture(int id)

Member available through Scooby's native Lua API.

Usage example
D3D12Texture Texture.GetTexture(int id)
bool IsTextureValid(int id)

Member available through Scooby's native Lua API.

Usage example
bool Texture.IsTextureValid(int id)
int LoadTexture(string file)

Creates a new texture that can load files such as gif,jpg,png etc.

Usage example
int Texture.LoadTexture(string file)
int LoadTextureAsync(string file)

Creates a new texture that can load files such as gif,jpg,png etc.

Usage example
int Texture.LoadTextureAsync(string file)

Time

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

int Get()

Retrieves the current system time in seconds.

Usage example
int Time.Get()
int GetEpoche()

Retrieves the time since Epoche in seconds.

Usage example
int Time.GetEpoche()
int GetEpocheMs()

Retrieves the time since Epoche in milliseconds.

Usage example
int Time.GetEpocheMs()
int GetEpocheNs()

Retrieves the time since Epoche in nanoseconds, might not equal system time.

Usage example
int Time.GetEpocheNs()

Utils

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

bool Utils.ExecuteScript(string file) ExecuteScript("MyScript.lua")

Executes the given script. File can be relative or absolute.

Usage example
bool Utils.ExecuteScript(string file)
Utils.ExecuteScript("MyScript.lua")
string GetClipBoardText()

Member available through Scooby's native Lua API.

Usage example
string Utils.GetClipBoardText()
int GetLastJoinedPlayer()

Returns the last joined player id.

Usage example
int Utils.GetLastJoinedPlayer()
int GetLastLeftPlayer()

Returns the last joined player id.

Usage example
int Utils.GetLastLeftPlayer()
int GetSelectedPlayer()

Returns the current selected player id.

Usage example
int Utils.GetSelectedPlayer()
bool IsKeyDown(int vk)

Check if a key is down. Use the Microsoft Virtual Key Codes.

Usage example
bool Utils.IsKeyDown(int vk)
bool IsKeyPressed(int vk)

Check if a key has been pressed or is hold down for longer time. Use the Microsoft Virtual Key Codes.

Usage example
bool Utils.IsKeyPressed(int vk)
int Joaat(string str)

Hashes a string using joaat. Returns the hash as unsigned int.

Usage example
int Utils.Joaat(string str)
bool MciSendString(string str)

The mciSendString function sends a command string to an MCI device. The device that the command is sent to is specified in the command string. For more information browse it on the internet.

Usage example
bool Utils.MciSendString(string str)
bool PlaySound(string str, bool looped)

Can be used to play mp3 or wav files.

Usage example
bool Utils.PlaySound(string str, bool looped)
Utils.SetClipBoardText(string text, string whatNotify) SetClipBoardText()

For no extra notification leave whatNotify empty.

Usage example
Utils.SetClipBoardText(string text, string whatNotify)
int SetSelectedPlayer(int playerId)

Sets the current selected Player Id. Returns the previous selected player id.

Usage example
int Utils.SetSelectedPlayer(int playerId)
void StopSound()

Stops all currently played sounds.

Usage example
void Utils.StopSound()
int sJoaat(string str)

Hashes a string using joaat. Returns the hash as signed int.

Usage example
int Utils.sJoaat(string str)

V2

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

V2 V2.Add(V2 vector, number value) V2 V2.Add(V2 vector, V2 value) Add()

Add a value to a V2.

Usage example
V2 V2.Add(V2 vector, number value)
V2 V2.Add(V2 vector, V2 value)
V2 V2.Multiply(V2 vector, number value) V2 V2.Multiply(V2 vector, V2 value) Multiply()

Multiply a value with a V2.

Usage example
V2 V2.Multiply(V2 vector, number value)
V2 V2.Multiply(V2 vector, V2 value)
V2 V2.New() V2 V2.New(number x, number y, number z) New()

Create a new V2 object.

Usage example
V2 V2.New()
V2 V2.New(number x, number y, number z)
V2 V2.Subtract(V2 vector, number value) V2 V2.Subtract(V2 vector, V2 value) Subtract()

Subtract a value from a V2.

Usage example
V2 V2.Subtract(V2 vector, number value)
V2 V2.Subtract(V2 vector, V2 value)
x()

Member available through Scooby's native Lua API.

y()

Member available through Scooby's native Lua API.

V3

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

V3 V3.Add(V3 vector, number value) V3 V3.Add(V3 vector, V3 value) Add()

Add a value to a V3.

Usage example
V3 V3.Add(V3 vector, number value)
V3 V3.Add(V3 vector, V3 value)
V3 DirectionToRotation(V3 vector)

Takes a direction and returns a rotation.

Usage example
V3 V3.DirectionToRotation(V3 vector)
V3 V3.Multiply(V3 vector, number value) V3 V3.Multiply(V3 vector, V3 value) Multiply()

Multiply a value with a V3.

Usage example
V3 V3.Multiply(V3 vector, number value)
V3 V3.Multiply(V3 vector, V3 value)
V3 V3.New() V3 V3.New(number x, number y, number z) New()

Create a new V3 object.

Usage example
V3 V3.New()
V3 V3.New(number x, number y, number z)
V3 RotationToDirection(V3 vector)

Takes a rotation and returns a direction.

Usage example
V3 V3.RotationToDirection(V3 vector)
V3 V3.Subtract(V3 vector, number value) V3 V3.Subtract(V3 vector, V3 value) Subtract()

Subtract a value from a V3.

Usage example
V3 V3.Subtract(V3 vector, number value)
V3 V3.Subtract(V3 vector, V3 value)
x()

Member available through Scooby's native Lua API.

y()

Member available through Scooby's native Lua API.

z()

Member available through Scooby's native Lua API.

V4

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

V4 V4.New() V4 V4.New(number x, number y, number z, number w) New()

Create a new V4 object.

Usage example
V4 V4.New()
V4 V4.New(number x, number y, number z, number w)
w()

Member available through Scooby's native Lua API.

x()

Member available through Scooby's native Lua API.

y()

Member available through Scooby's native Lua API.

z()

Member available through Scooby's native Lua API.

eCallbackTrigger

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

OnNewVehicle()

Member available through Scooby's native Lua API.

OnPlayerJoin()

Member available through Scooby's native Lua API.

OnPlayerLeave()

Member available through Scooby's native Lua API.

OnPlayerPedChange()

Member available through Scooby's native Lua API.

OnPlayerPedRespawn()

Member available through Scooby's native Lua API.

OnPostPresent()

Member available through Scooby's native Lua API.

OnPresent()

Member available through Scooby's native Lua API.

OnSessionChange()

Member available through Scooby's native Lua API.

OnTick()

Member available through Scooby's native Lua API.

OnWeaponChange()

Member available through Scooby's native Lua API.

OnWeaponReloaded()

Member available through Scooby's native Lua API.

eCurlCode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

CURLE_COULDNT_CONNECT()

Member available through Scooby's native Lua API.

CURLE_COULDNT_RESOLVE_HOST()

Member available through Scooby's native Lua API.

CURLE_COULDNT_RESOLVE_PROXY()

Member available through Scooby's native Lua API.

CURLE_FAILED_INIT()

Member available through Scooby's native Lua API.

CURLE_NOT_BUILT_IN()

Member available through Scooby's native Lua API.

CURLE_OK()

Member available through Scooby's native Lua API.

CURLE_OUT_OF_MEMORY()

Member available through Scooby's native Lua API.

CURLE_REMOTE_ACCESS_DENIED()

Member available through Scooby's native Lua API.

CURLE_UNSUPPORTED_PROTOCOL()

Member available through Scooby's native Lua API.

CURLE_URL_MALFORMAT()

Member available through Scooby's native Lua API.

CURLE_WEIRD_SERVER_REPLY()

Member available through Scooby's native Lua API.

eCurlOption

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

CURLOPT_CUSTOMREQUEST()

Member available through Scooby's native Lua API.

CURLOPT_HTTPAUTH()

Member available through Scooby's native Lua API.

CURLOPT_NOPROGRESS()

Member available through Scooby's native Lua API.

CURLOPT_PINNEDPUBLICKEY()

Member available through Scooby's native Lua API.

CURLOPT_POST()

Member available through Scooby's native Lua API.

CURLOPT_POSTFIELDS()

Member available through Scooby's native Lua API.

CURLOPT_SSL_VERIFYHOST()

Member available through Scooby's native Lua API.

CURLOPT_SSL_VERIFYPEER()

Member available through Scooby's native Lua API.

CURLOPT_URL()

Member available through Scooby's native Lua API.

CURLOPT_USERAGENT()

Member available through Scooby's native Lua API.

CURLOPT_WRITEDATA()

Member available through Scooby's native Lua API.

CURLOPT_WRITEFUNCTION()

Member available through Scooby's native Lua API.

CURLOPT_XFERINFODATA()

Member available through Scooby's native Lua API.

CURLOPT_XFERINFOFUNCTION()

Member available through Scooby's native Lua API.

CURLOPT_XOAUTH2_BEARER()

Member available through Scooby's native Lua API.

eLogColor

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

BLUE()

Member available through Scooby's native Lua API.

BROWN()

Member available through Scooby's native Lua API.

CYAN()

Member available through Scooby's native Lua API.

DARKGRAY()

Member available through Scooby's native Lua API.

GREEN()

Member available through Scooby's native Lua API.

INTENSIFY()

Member available through Scooby's native Lua API.

LIGHTBLUE()

Member available through Scooby's native Lua API.

LIGHTCYAN()

Member available through Scooby's native Lua API.

LIGHTGRAY()

Member available through Scooby's native Lua API.

LIGHTGREEN()

Member available through Scooby's native Lua API.

LIGHTMAGENTA()

Member available through Scooby's native Lua API.

LIGHTRED()

Member available through Scooby's native Lua API.

MAGENTA()

Member available through Scooby's native Lua API.

RED()

Member available through Scooby's native Lua API.

WHITE()

Member available through Scooby's native Lua API.

YELLOW()

Member available through Scooby's native Lua API.

ePlayerListSort

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

ALPHABETICAL()

Member available through Scooby's native Lua API.

DISTANCE()

Member available through Scooby's native Lua API.

HOST_QUEUE()

Member available through Scooby's native Lua API.

PLAYER_ID()

Member available through Scooby's native Lua API.

eProtectionType

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

AIMING_AT_YOU()

Member available through Scooby's native Lua API.

BAD_SCRIPT_EVENT()

Member available through Scooby's native Lua API.

CHAT_BANNED_WORD()

Member available through Scooby's native Lua API.

CHAT_SPAM()

Member available through Scooby's native Lua API.

CRASH()

Member available through Scooby's native Lua API.

KICK()

Member available through Scooby's native Lua API.

REPORT()

Member available through Scooby's native Lua API.

SHOOTING_AT_YOU()

Member available through Scooby's native Lua API.

SPECTATING_YOU()

Member available through Scooby's native Lua API.

UNKNOWN()

Member available through Scooby's native Lua API.

VOTE_KICK()

Member available through Scooby's native Lua API.

eReportReason

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

CODE_TAMPERING()

Member available through Scooby's native Lua API.

CRC_CODE_CRCS()

Member available through Scooby's native Lua API.

CRC_COMPROMISED()

Member available through Scooby's native Lua API.

CRC_EXE_SIZE()

Member available through Scooby's native Lua API.

CRC_NOT_REPLIED()

Member available through Scooby's native Lua API.

CRC_REQUEST_FLOOD()

Member available through Scooby's native Lua API.

GAME_SERVER_CASH_BANK()

Member available through Scooby's native Lua API.

GAME_SERVER_CASH_WALLET()

Member available through Scooby's native Lua API.

GAME_SERVER_INVENTORY()

Member available through Scooby's native Lua API.

GAME_SERVER_SERVER_INTEGRITY()

Member available through Scooby's native Lua API.

SCRIPT_CHEAT_DETECTION()

Member available through Scooby's native Lua API.

TELEMETRY_BLOCK()

Member available through Scooby's native Lua API.

eSyncDataNode

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

CAutomobileCreationDataNode()

Member available through Scooby's native Lua API.

CBikeGameStateDataNode()

Member available through Scooby's native Lua API.

CBoatGameStateDataNode()

Member available through Scooby's native Lua API.

CDoorCreationDataNode()

Member available through Scooby's native Lua API.

CDoorMovementDataNode()

Member available through Scooby's native Lua API.

CDoorScriptGameStateDataNode()

Member available through Scooby's native Lua API.

CDoorScriptInfoDataNode()

Member available through Scooby's native Lua API.

CDynamicEntityGameStateDataNode()

Member available through Scooby's native Lua API.

CEntityOrientationDataNode()

Member available through Scooby's native Lua API.

CEntityScriptGameStateDataNode()

Member available through Scooby's native Lua API.

CEntityScriptInfoDataNode()

Member available through Scooby's native Lua API.

CGlobalFlagsDataNode()

Member available through Scooby's native Lua API.

CHeliControlDataNode()

Member available through Scooby's native Lua API.

CHeliHealthDataNode()

Member available through Scooby's native Lua API.

CMigrationDataNode()

Member available through Scooby's native Lua API.

CObjectCreationDataNode()

Member available through Scooby's native Lua API.

CObjectGameStateDataNode()

Member available through Scooby's native Lua API.

CObjectOrientationNode()

Member available through Scooby's native Lua API.

CObjectScriptGameStateDataNode()

Member available through Scooby's native Lua API.

CObjectSectorPosNode()

Member available through Scooby's native Lua API.

CPedAIDataNode()

Member available through Scooby's native Lua API.

CPedAppearanceDataNode()

Member available through Scooby's native Lua API.

CPedAttachDataNode()

Member available through Scooby's native Lua API.

CPedComponentReservationDataNode()

Member available through Scooby's native Lua API.

CPedCreationDataNode()

Member available through Scooby's native Lua API.

CPedGameStateDataNode()

Member available through Scooby's native Lua API.

CPedHealthDataNode()

Member available through Scooby's native Lua API.

CPedInventoryDataNode()

Member available through Scooby's native Lua API.

CPedMovementDataNode()

Member available through Scooby's native Lua API.

CPedMovementGroupDataNode()

Member available through Scooby's native Lua API.

CPedOrientationDataNode()

Member available through Scooby's native Lua API.

CPedScriptCreationDataNode()

Member available through Scooby's native Lua API.

CPedScriptGameStateDataNode()

Member available through Scooby's native Lua API.

CPedSectorPosMapNode()

Member available through Scooby's native Lua API.

CPedSectorPosNavMeshNode()

Member available through Scooby's native Lua API.

CPedTaskSequenceDataNode()

Member available through Scooby's native Lua API.

CPedTaskSpecificDataNode()

Member available through Scooby's native Lua API.

CPedTaskTreeDataNode()

Member available through Scooby's native Lua API.

CPhysicalAngVelocityDataNode()

Member available through Scooby's native Lua API.

CPhysicalAttachDataNode()

Member available through Scooby's native Lua API.

CPhysicalGameStateDataNode()

Member available through Scooby's native Lua API.

CPhysicalHealthDataNode()

Member available through Scooby's native Lua API.

CPhysicalMigrationDataNode()

Member available through Scooby's native Lua API.

CPhysicalScriptGameStateDataNode()

Member available through Scooby's native Lua API.

CPhysicalScriptMigrationDataNode()

Member available through Scooby's native Lua API.

CPhysicalVelocityDataNode()

Member available through Scooby's native Lua API.

CPickupCreationDataNode()

Member available through Scooby's native Lua API.

CPickupPlacementCreationDataNode()

Member available through Scooby's native Lua API.

CPickupPlacementStateDataNode()

Member available through Scooby's native Lua API.

CPickupScriptGameStateNode()

Member available through Scooby's native Lua API.

CPickupSectorPosNode()

Member available through Scooby's native Lua API.

CPlaneControlDataNode()

Member available through Scooby's native Lua API.

CPlaneGameStateDataNode()

Member available through Scooby's native Lua API.

CPlayerAmbientModelStreamingNode()

Member available through Scooby's native Lua API.

CPlayerAppearanceDataNode()

Member available through Scooby's native Lua API.

CPlayerCameraDataNode()

Member available through Scooby's native Lua API.

CPlayerCreationDataNode()

Member available through Scooby's native Lua API.

CPlayerExtendedGameStateNode()

Member available through Scooby's native Lua API.

CPlayerGameStateDataNode()

Member available through Scooby's native Lua API.

CPlayerGamerDataNode()

Member available through Scooby's native Lua API.

CPlayerPedGroupDataNode()

Member available through Scooby's native Lua API.

CPlayerSectorPosNode()

Member available through Scooby's native Lua API.

CPlayerWantedAndLOSDataNode()

Member available through Scooby's native Lua API.

CSectorDataNode()

Member available through Scooby's native Lua API.

CSectorPositionDataNode()

Member available through Scooby's native Lua API.

CSubmarineControlDataNode()

Member available through Scooby's native Lua API.

CSubmarineGameStateDataNode()

Member available through Scooby's native Lua API.

CTrainGameStateDataNode()

Member available through Scooby's native Lua API.

CVehicleAngVelocityDataNode()

Member available through Scooby's native Lua API.

CVehicleAppearanceDataNode()

Member available through Scooby's native Lua API.

CVehicleComponentReservationDataNode()

Member available through Scooby's native Lua API.

CVehicleControlDataNode()

Member available through Scooby's native Lua API.

CVehicleCreationDataNode()

Member available through Scooby's native Lua API.

CVehicleDamageStatusDataNode()

Member available through Scooby's native Lua API.

CVehicleGadgetDataNode()

Member available through Scooby's native Lua API.

CVehicleGameStateDataNode()

Member available through Scooby's native Lua API.

CVehicleHealthDataNode()

Member available through Scooby's native Lua API.

CVehicleProximityMigrationDataNode()

Member available through Scooby's native Lua API.

CVehicleScriptGameStateDataNode()

Member available through Scooby's native Lua API.

CVehicleSteeringDataNode()

Member available through Scooby's native Lua API.

CVehicleTaskDataNode()

Member available through Scooby's native Lua API.

eToastPos

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

BOTTOM_LEFT()

Member available through Scooby's native Lua API.

BOTTOM_RIGHT()

Member available through Scooby's native Lua API.

TOP_LEFT()

Member available through Scooby's native Lua API.

TOP_RIGHT()

Member available through Scooby's native Lua API.

fwAttachmentEntityExtension

Reference class available through the Scooby Lua API. See docs/scooby-lua-api-reference.json.

CPhysical AttachChild()

Member available through Scooby's native Lua API.

Usage example
CPhysical object.AttachChild
int AttachFlags()

Member available through Scooby's native Lua API.

Usage example
int object.AttachFlags
V3 AttachOffset()

This is world pos for constraints with world

Usage example
V3 object.AttachOffset
CPhysical AttachParent()

Member available through Scooby's native Lua API.

Usage example
CPhysical object.AttachParent
V3 AttachParentOffset()

Attachment offset on parent

Usage example
V3 object.AttachParentOffset
CPhysical AttachSibling()

Member available through Scooby's native Lua API.

Usage example
CPhysical object.AttachSibling
number x,y,z,w GetRotation()

Member available through Scooby's native Lua API.

Usage example
number x,y,z,w object:GetRotation()
int MyAttachBone()

Member available through Scooby's native Lua API.

Usage example
int object.MyAttachBone
CPhysical NoCollisionEntity()

Member available through Scooby's native Lua API.

Usage example
CPhysical object.NoCollisionEntity
int OtherAttachBone()

Member available through Scooby's native Lua API.

Usage example
int object.OtherAttachBone
void SetRotation(number x, number y, number z, number w)

Member available through Scooby's native Lua API.

Usage example
void object:SetRotation(number x, number y, number z, number w)
CPhysical ThisEntity()

Member available through Scooby's native Lua API.

Usage example
CPhysical object.ThisEntity