ChocoHax 1.9.0 has been officially released
Changelog
Added Features:
- RTC Spectate | New spectating feature that let you see the player's screen, anytime, including lua cheats or internal UI rendered text including a Video Recorder that will send a copy to your Screenshot Storage Discord Webhook
- Internal Lua Injected Resources | New Method for detecting a well-known LUA executor
- Vehicle Invoke Check | New Method for detecting entities/vehicles spawned in safe-mode or not, any entity spawned externally will be flagged.
- Entities Protection (Whitelisted Only + Anti Spam) | As requested by the community, we have added a new feature regarding entities detection, Only whitelisted entities are allowed, with built-in anti-spam measures.
- Added Backup Screenshot Storages | For large servers, multiple screenshot storage options are now supported to avoid rate limiting. It is recommended to store backups in separate channels for optimal performance.
- Admin Menu LSC Tuning - Added Stage 5 | As requested by the community
- Added support for local configuration and permissions (OLD STYLE)
In case you need a local configuration you can place your config.json or permissions.json inside the folder plugins of your ChocoHax folder. Local files will take priority over Panel-based configurations.
Note: Starting ChocoHax in Advanced Mode disables support from our Support Team. Use this option only if you are confident in your setup and troubleshooting skills.
- Event Exploit checks | We have improved our exploit checking, make sure you have enabled "eventsProtection" in the config
- ChocoHax AI | Updated with the latest menus available, and fixing some false positives caused on some vMenu servers
- Performance Improvement | With that update we have noticed a slightly better performance comparated to the old release 1.8.5R7
- Whitelisted Areas | Now you can set an area where ChocoHax will ignore the players (eg. SafeZone - Godmode)
Event Handlers added:
- Send a request to ChocoHax to perform a permissions check on the current player
-- Client Sided Event
code_language.lua:TriggerServerEvent("ChocoHaxFolderName:hasPerms", "adminmenu", function(hasPerms) if hasPerms then print("You have permission") else print("You do not have permission") end end)
- Send a log of the selected player to ChocoHax (You must be an admin to trigger this event, adminmenu permission is required)
-- Client Sided Event , Server Sided Event (use TriggerEvent)
code_language.lua:TriggerServerEvent("ChocoHaxFolderName:logPlayer", <playerid>, { module = "myModuleName", reason = "Type here the reason for the log/ban", extra = "Type here any extra information you want to add", punishment = "kick", -- alert, warn, kick, ban permission = "adminmenu", -- Optional })
- Send a log of the current player to ChocoHax (The player that sent the event will be flagged/logged)
-- Client Sided Event
code_language.lua:TriggerServerEvent("ChocoHaxFolderName:logMyself", { module = "myModuleName", reason = "Type here the reason for the log/ban", extra = "Type here any extra information you want to add", punishment = "kick", -- alert, warn, kick, ban permission = "clientBypass", -- Optional })
- Send an alert to a player
-- Server Sided Event
code_language.lua:TriggerClientEvent("ChocoHaxFolderName_cl_alert", <playerid>, "Title of your Alert", "Message of the alert", "danger") -- danger, warning, info, success
Exports Update
ChocoHax Exports Update:
- getBan | Search for a banned identifier or identifiers
code_language.lua:local identifiers = { steam = "12340015ce64cb6", discord = "1234219335478841374", license = "1234c58d39cd966a0421a507a8ef1fd6b3d26ef1" } local tokens = { "a1b2c3d4e5f6g7h8i9j0", "b1c2d3e4f5g6h7i8j9k0", "c1d2e3f4g5h6i7j8k9l0", "d1e2f3g4h5i6j7k8l9m0" } local banData = exports["chocohaxResourceName"]:getBan(identifiers, tokens) -- output example banData = { isBanned = true, banID = "123456", index = { module = "clientProtection", banID = "123456", name = "dallas", extra = "Anti Internal Lua/JS Cheats", image = "Darkside Menu Screen Resolution: 1920x1080", reason = "Darkside Menu Screen Resolution: 1920x1080", isBanned = true, time = "2022-10-10 10.10.10" } }
- getGlobalBan | Search for a Globally Banned identifier or identifiers (remember to include the player name)
code_language.lua:local name = GetPlayerName(source) local identifiers = { steam = "12340015ce64cb6", discord = "1234219335478841374", license = "1234c58d39cd966a0421a507a8ef1fd6b3d26ef1" } local globalBanID = exports["chocohaxResourceName"]:getGlobalBan(name, identifiers) -- example output: -- globalBanID will be a number: 123456 or nil
- unban | Unban a user from an external script.
code_language.lua:local banid = 123456 exports["chocohaxResourceName"]:unban(banid) -- returns true or false
- getAllBans | Get a list of all banned users by ChocoHax (DO NOT spam this function, it may cause performance issues)
code_language.lua:local bans = exports["chocohaxResourceName"]:getAllBans() -- output: bans = { indexes = { ["123456"] = { module = "loginProtection", banID = "123456", name = "dallas", extra = "Anti Internal Lua/JS Cheats", image = "", reason = "Darkside Menu Screen Resolution: 1920x1080", isBanned = true, time = "2022-10-10 10.10.10" }, ["654321"] = { module = "loginProtection", banID = "654321", name = "dallas", extra = "Anti Internal Lua/JS Cheats", image = "", reason = "Darkside Menu Screen Resolution: 1920x1080", isBanned = true, time = "2022-10-10 10.10.10" } }, identifiers = { steam = { ["11000015ce64cb6"] = "123456", ["11000015ce64cb7"] = "654321" }, discord = { ["1121219335478841374"] = "123456", ["1121219335478841375"] = "654321" }, license = { ["12345d966a0421a507a8ef1fd6b3d26ef1"] = "123456" }, token = { ["a1b2c3d4e5f6g7h8i9j0"] = "123456" } } }
This update WILL NOT require a new configuration or permissions, configurations, permissions and ban lists from 1.8.5R7 will be compatible with 1.9.0