# Crab Champions Utilities Mod This uses [UE4SS 3.0.1](https://github.com/UE4SS-RE/RE-UE4SS) You might need to use the experimental version [here](https://objects.githubusercontent.com/github-production-release-asset-2e65be/561442199/91ba6ac9-b885-4c12-af1d-d4e1b40bc1a8?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240824%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240824T055629Z&X-Amz-Expires=300&X-Amz-Signature=1fbfb07bfdcef82c9dfd53f76c7897ee6469b4499afe74ab91c2df558dc958ab&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=561442199&response-content-disposition=attachment%3B%20filename%3DzDEV-UE4SS_v3.0.1-54-g3976965.zip&response-content-type=application%2Foctet-stream) If your game crashes on boot then change the setting `bUseUObjectArrayCache = true` to `bUseUObjectArrayCache = false` in `UE4SS-settings.ini` Structure: - shared/BenUtils (Shared library of general use functions) - Looplicator (Looplicator mod see readme in directory) - TestGround (Testing file for mod development) - UEHelpers (Updated UEHelpers class for UKismetTextLibrary support) ## Todo - Write script to keep mods in sync, maybe using symlinks ## BenUtils functions - BenUtils.new() - Init a new instance of this object - BenUtils.ShuffleInPlace(t) - Shuffles a table in place - BenUtils.RegisterCommand(command, callback) - Registers a command with the command manager - BenUtils.ParseChatCommand(PlayerName, ChatMessage) - Parses a ChatMessage and runs the specified function if it exists along with any args that are also sent - BenUtils.StringToFString(string) - Converts a Lua string to an Unreal FString - BenUtils.GetPlayerStateByName(PlayerName) - Returns the player state of the player by name or nil