79 Commits

Author SHA1 Message Date
Arthur
2519de72f6 Fix Thread State for Script Functions and cellphone_flashhand (#3619) 2024-08-25 23:16:56 +02:00
Arthur
0dd43e95b8 Redesign Script Patches for Lua (#3612)
* Refactor Script Patches for Lua

* Use update_all_patches_for_script instead of update and store script's joaat instead of its string
2024-08-22 19:52:02 +02:00
tupoy-ya
eecd20beaf feat(Lua)!: New Lua bindings (#3563)
* feat(Lua): Make independent imgui independent.
feat(Lua): Add a `pointer:set_address` binding.
feat(Lua): Added `menu_event.Wndproc` event.
fix(Lua): Fix `ImGui.SliderFloat3` binding.
fix(Lua Docs): Partially fixed auto generated documentation.
* fix(gui.cpp): include `lua_manager.hpp`.
* fix(lua_manager.hpp): Added `draw_less_dependent_gui` function.
* chore(Lua): Rename `add_independent_imgui` to `add_always_draw_imgui`.
* docs(menu_event): Added docs for Wndporc event.
* docs: Fixed a few more errors.
* add reasoning and use native underlying format

Co-authored-by: tupoy-ya <tupoy-ya@users.noreply.github.com>
Co-authored-by: xiaoxiao921 <837334+xiaoxiao921@users.noreply.github.com>
2024-08-14 08:40:09 +02:00
kikkin_yo_azzez
e4e1b6b63b feat(Lua): expose imgui separatortext to lua (#3554) 2024-08-12 09:34:22 +02:00
Arthur
12906d0365 Add Return Value Support for Script Functions (#3479)
* Add Return Value Support for Script Functions
* Removed address-of operator on instruction_pointer parameter, as sol is pass-by-value.
* Fixed reset_session_data & start_creator_script
* Added support for Vector3 and updated casting for bool type for proper conversion to Lua boolean
* Updated documentation for scr_function
* Added get_int method and updated param names for script functions
* Fix #3497 graceful landing not saved.
* Added a check in view_lsc to see if the vehicle can accept clan logos first.
* Fixed vehicle clan logo SP bypass not working properly.
* Fixed COPY VEHICLE not giving persist_car_service::spawn_vehicle_json the target's ped so it can copy their clan logo and not ours.
Fixed spawn_vehicle_json calling add_clan_logo_to_vehicle with our logo and not the ped parameter's logo.
* Added Clone Player Car.
* Fixed has_clan_logo check in view_lsc being given the wrong parameter.

---------

Co-authored-by: gir489 <100792176+gir489returns@users.noreply.github.com>
2024-08-06 14:46:48 +02:00
Andreas Maerten
7ce99f9ef6 fix(GtaDataService): Rebuild Cache button not working (#3411)
Changes:
- Switch from pointer singleton to pre-instanced singleton
- Added default constructor to cache_file object
- Fixed an issue where maps and vectors would not be cleared before (re)generating a cache.
2024-07-23 20:15:19 +02:00
Arthur
f6a6f5dd86 Refactor Debug Threads & Expose More Functions (#3408)
- Added a search box for the script names in Debug -> Threads.
- Added `is_session_started` and `force_script_on_player` functions to the Lua network class.
- Added `is_active` and `start_launcher_script` functions to the Lua script class.
- Moved `view_stat_editor.cpp` to `src/views/network` from `src/views/settings`.
- Added a help text for directly editing the sliders in outfit editor.
2024-07-23 15:34:30 +02:00
gir489
f66f96295b Project include cleanup (#3404) 2024-07-23 13:40:30 +02:00
Andreas Maerten
9885b68014 fix(FontMgr): also keep in mind game language when generating font texture (#2892) 2024-07-23 08:47:38 +02:00
Arthur
a44912dbd8 feat(lua): Expose Script Patches & Functions (#3393) 2024-07-22 10:16:48 +02:00
kikkin_yo_azzez
360c449c63 more player stats lua bindings (#3325)
get_player_money
get_player_wallet
get_player_bank
get_player_language_id
get_player_language_name
2024-07-13 13:41:58 +02:00
Quentin
270ff255c2 fix self doc (#3319) 2024-07-09 18:42:32 +02:00
Quentin
3e48c2e6d5 lua doc: add self table doc and update doc for previous changes that forgot to run the doc gen script (#3318) 2024-07-09 18:14:15 +02:00
Quentin
0b67accd30 feat: dynamicly calling x64 functions from lua at runtime with arbitrary signatures. (#3311) 2024-07-09 17:48:24 +02:00
Quentin
95969031df feat: dynamicly hooking x64 functions from lua at runtime with arbitrary signatures. (#3301)
* feat: dynamicly hooking x64 functions from lua at runtime with arbitrary signatures.

* fix missing include

* c/c++ include system is a good system
2024-07-08 14:15:18 +02:00
maybegreat48
1c34e2a1b6 Update for b3258 (#3288)
* fix: update script names
* fix: use original chat sender
* feat(tunables): fix tunable service
* fix: explode patch (thanks @Mr-X-GTA)
* fix: fix compile errors
* fix: use unique_ptr
* Added 1.69 vehicles.
* Added new weather for 1.69 and updated stack sizes.
* Fixed garage.
* Made Unload button a developer-only feature. (Disabled on Release)
* Redesigned Network tab to not be a giant mess.
* Added new json_serializer code from @tupoy-ya.
* chore: correct dependency

------

Co-authored-by: maybegreat48 <email@hostname>
Co-authored-by: Andreas Maerten <24669514+Yimura@users.noreply.github.com>
Co-authored-by: gir489returns <redacted@example.com>
2024-07-03 23:04:06 +02:00
kikkin_yo_azzez
1b25bdc866 add show_success lua binding (#3249) 2024-06-19 11:37:38 +02:00
kikkin_yo_azzez
0e7b5c1d37 Make Player Stats Retrievable Within Lua (#3199) 2024-06-01 12:57:21 +02:00
CringeArab
4246fc7a74 Chat spam to reaction (#3192) 2024-05-30 20:24:33 +02:00
Quentin
a46d6d0fae fix(lua): fix pointer.allocate allocating the wrong number of bytes (#2941) 2024-04-13 17:41:04 +02:00
Quentin
6f8490f450 fix(lua): better error reporting when calling player commands (#2932) 2024-04-10 11:43:55 +02:00
maybegreat48
1e79a92657 Refactor and fix send chat (#2864)
* feat(chat): refactor and fix send chat
* fix(chat): fixes
* fix(chat): fix team chat

Co-authored-by: DayibBaba <79384354+DayibBaba@users.noreply.github.com>
2024-03-23 17:37:51 +01:00
Andreas Maerten
99afa8dfbb refactor!: Rewrite of the old notification service (#2866)
The main goal was improving the readability of the original code however some ugliness remains.

- Swapped from pointer singleton to instance singleton
- Actually make use of the alpha logic that used to be present
- Added a counter to notifications to indicate if something is being spammed
- Notification timeouts reset if they're sent to the queue again
2024-03-23 00:04:49 +01:00
Alice
540ff21b05 add lua api: script.execute_as_script (#2824)
Co-authored-by: xiaoxiao921 <xiaoxiao921@hotmail.fr>
2024-03-21 11:20:22 +01:00
Andreas Maerten
88036b91da refactor: switch RAGE_JOAAT with string literal functions (#2806)
Why? Shorter to write and removes the macro usage

I used the following regex to find all occurrences:
```r
RAGE_JOAAT\("(.*?)"\)
```
then the following to replace it all:
```r
"$1"_J
```
2024-03-12 09:42:11 +01:00
Quentin
a29cca838c lua natives: try to handle Any* parameters properly (#2785) 2024-02-28 23:47:33 +01:00
Quentin
a548ecc074 lua io.exists (#2771) 2024-02-24 11:10:58 +01:00
Quentin
b1caff97fe lua: fix enabling/disabling (#2745) 2024-02-21 13:05:01 +01:00
Quentin
80f28134a5 lua: allow functions to be called without giving all of its args (#2744)
This makes usage of native functions that normally use pointer args easier to deal with.
2024-02-21 13:02:29 +01:00
Alice
68dd925de1 fixed bool_masked (#2708) 2024-02-12 18:26:07 +01:00
Arthur
2e63940b77 feat(lua): expose the self class and add new menu events (#2656) 2024-01-28 15:18:44 +01:00
Quentin
425e25a98b fix(lua): allow natives to be called with nil strings. (#2652) 2024-01-17 11:08:35 +01:00
Andreas Maerten
9a1a75b675 refactor!: repo cleanup (#2650)
- Move cmake files to dedicated cmake folder
- Move scattered python files to `scripts/` folder
- Update CMakeLists.txt to reflect changes
* feat(scripts): add README to folder
2023-12-30 16:05:18 +01:00
maybegreat48
22e15e95d6 Optimizations (#2649)
* fix(Respawn): fix respawn in SP
* fix: re-enable bigobj
* fix: update creator's stack size
* fix: use BOOLs instead of bools
* fix(gitignore): hide .pyc files
2023-12-29 17:07:00 +01:00
Andreas Maerten
9beaff807d feat(cmake): update ImGui to latest release (#2621) 2023-12-21 16:01:47 +01:00
Aure7138
bc0d67583f Update crossmap and natives.hpp to 3095. (#2565) 2023-12-15 16:01:57 +01:00
Andreas Maerten
d5d36643e3 feat(LuaMgr): Disable and Enable scripts from UI and prevent crash when renaming the scripts/ dir. (#2493) 2023-12-13 23:19:52 +01:00
gir489
5a9019fa62 Fixed TRIGGER_SCRIPT_EVENT for 3095. (#2527) 2023-12-13 19:32:26 +01:00
gir489
9025def4db Enabled strict sol for type safety and function enforcement. (#2502) 2023-12-10 12:51:29 +01:00
Quentin
22e2c36249 feat(lua): expose io.open (limited to scripts_config folder) (#2495) 2023-12-08 09:14:57 +01:00
Quentin
542fe17b91 fix(lua): add default handler to every protected function calls, until now there was none/scuffed and nothing was getting output to the user making debugging very difficult (#2494) 2023-12-08 09:11:36 +01:00
gir489
d2a7ff8ba4 feat(lua): added weapon and vehicle cache bindings (#2477)
* Replaced bad example in entities documentation.
* Updated Lua documentation for vehicles/weapons to allow for auto generation.
* Added Vector3 support to the Lua globals/locals class.
* Fixed a bug with get_float in globals/locals returning an int instead of a float.
* Fixed globals get_uint/set_uint using signed types for the return/parameter.
* Added unsigned int helpers to the locals Lua class.
2023-12-05 09:58:35 +01:00
gir489
847a729918 Added packed stats handler to the stats Lua class. (#2460) 2023-11-29 23:15:10 +01:00
maybegreat48
a97af16888 Rewrite AC bypass (#2430)
* fix(anticheat): rewrite AC bypass again (the old one isn't detected but this is cleaner)
* fix(chat): some chat tweaks
* fix(anticheat): fix memory leak
* feat(lua): add is_player_friend
* fix(protections): fix possible false positives with the vehicle task mismatch protection
* feat(protections): add debug logs to trace false positive
* fix(spam): add some more stuff
2023-11-19 23:20:15 +01:00
Quentin
e56a6fd38f feat(lua): add tunable overloads for getting / setting values through the already joaated tunable value. (#2417) 2023-11-14 20:21:03 +01:00
Quentin
9d7e5893c6 fix(lua): small lua / lau doc fixes (#2415)
* fix(lua): small lua / lau doc fixes: expose stats.get_character_index like intended. also add a bit of doc to button and sameline pages so that the user is correctly refered to the tab class doc
2023-11-14 20:20:45 +01:00
Quentin
7869c254f2 Feat(lua-doc): Make sure that the MPX -> MP0/MP1 behavior for stats function is documented. (#2251) 2023-10-13 00:14:02 +02:00
Quentin
3293b374a8 feat(lua): expose take_control_of (#2249) 2023-10-13 00:13:39 +02:00
Quentin
5515c841a1 feat(lua): Allow lua scripts to flag modders with a custom reason if needed. (#2248) 2023-10-13 00:11:37 +02:00
Quentin
2d2f4368fd Fix lua explosion bypass (#2255)
* move explosion_anti_cheat_bypass to its own file

* fix(lua): make sure lua user don't get tapped by game ac when using ADD_OWNED_EXPLOSION
2023-10-12 23:34:46 +02:00