feat(lua): Add entities.get_all_vehicles_as_handles() Add entities.get_all_peds_as_handles() Add entities.get_all_objects_as_handles() (#1795)

This commit is contained in:
Quentin 2023-07-21 21:21:51 +02:00 committed by GitHub
parent 5b1fd3e01c
commit 8253b58055
6 changed files with 96 additions and 3 deletions

View File

@ -7,7 +7,7 @@ Class for representing a tab within the GUI.
### `is_selected()`
- **Returns:**
- `boolean`: Returns true if this tab is the currently selected one in the GUI.
- `boolean`: Returns true if this tab is the one currently selected in the GUI.
**Example Usage:**
```lua

View File

@ -0,0 +1,37 @@
# Table: entities
Table for manipulating GTA entities.
## Functions (3)
### `get_all_vehicles_as_handles()`
- **Returns:**
- `table<int, int>`: Returns all vehicles as script handles
**Example Usage:**
```lua
table<int, int> = entities.get_all_vehicles_as_handles()
```
### `get_all_peds_as_handles()`
- **Returns:**
- `table<int, int>`: Returns all peds as script handles
**Example Usage:**
```lua
table<int, int> = entities.get_all_peds_as_handles()
```
### `get_all_objects_as_handles()`
- **Returns:**
- `table<int, int>`: Returns all objects as script handles
**Example Usage:**
```lua
table<int, int> = entities.get_all_objects_as_handles()
```

View File

@ -13,7 +13,7 @@ end)
For a complete list of available gui functions, please refer to the tab class documentation and the gui table documentation.
## Tab Count: 43
## Tab Count: 44
### `GUI_TAB_SELF`
### `GUI_TAB_WEAPONS`
@ -38,6 +38,7 @@ For a complete list of available gui functions, please refer to the tab class do
### `GUI_TAB_TRAIN`
### `GUI_TAB_BLACKHOLE`
### `GUI_TAB_MODEL_SWAPPER`
### `GUI_TAB_VFX`
### `GUI_TAB_NETWORK`
### `GUI_TAB_MISSIONS`
### `GUI_TAB_SPOOFING`

View File

@ -0,0 +1,46 @@
#pragma once
#include "entities.hpp"
#include "util/pools.hpp"
namespace lua::entities
{
// Lua API: Table
// Name: entities
// Table for manipulating GTA entities.
// Lua API: Function
// Table: entities
// Name: get_all_vehicles_as_handles
// Returns: table<int, int>: Returns all vehicles as script handles
static std::vector<Entity> get_all_vehicles_as_handles()
{
return big::pools::get_all_vehicles_array();
}
// Lua API: Function
// Table: entities
// Name: get_all_peds_as_handles
// Returns: table<int, int>: Returns all peds as script handles
static std::vector<Entity> get_all_peds_as_handles()
{
return big::pools::get_all_peds_array();
}
// Lua API: Function
// Table: entities
// Name: get_all_objects_as_handles
// Returns: table<int, int>: Returns all objects as script handles
static std::vector<Entity> get_all_objects_as_handles()
{
return big::pools::get_all_props_array();
}
void bind(sol::state& state)
{
auto ns = state["entities"].get_or_create<sol::table>();
ns["get_all_vehicles_as_handles"] = get_all_vehicles_as_handles;
ns["get_all_peds_as_handles"] = get_all_peds_as_handles;
ns["get_all_objects_as_handles"] = get_all_objects_as_handles;
}
}

View File

@ -0,0 +1,7 @@
#pragma once
#include "lua/sol.hpp"
namespace lua::entities
{
void bind(sol::state& state);
}

View File

@ -1,10 +1,12 @@
#include "lua_module.hpp"
#include "bindings/command.hpp"
#include "bindings/entities.hpp"
#include "bindings/event.hpp"
#include "bindings/global_table.hpp"
#include "bindings/globals.hpp"
#include "bindings/gui.hpp"
#include "bindings/imgui.hpp"
#include "bindings/locals.hpp"
#include "bindings/log.hpp"
#include "bindings/memory.hpp"
@ -13,7 +15,6 @@
#include "bindings/script.hpp"
#include "bindings/tunables.hpp"
#include "bindings/vector.hpp"
#include "bindings/imgui.hpp"
#include "file_manager.hpp"
#include "script_mgr.hpp"
@ -217,5 +218,6 @@ namespace big
lua::vector::bind(state);
lua::global_table::bind(state);
lua::imgui::bind(state, state.globals());
lua::entities::bind(state);
}
}