local UtilLib = require("BenUtils") local BenUtils = UtilLib.new() -- Globals -- End Globals -- Utility Functions -- End utility functions -- Mod functions ---@param PlayerName string function GiveCrystalsToPlayer(PlayerName, ...) local args = table.pack(...) ---@type ACrabPS local player = BenUtils.GetPlayerStateByName(PlayerName) if player and #args == 1 then player.Crystals = tonumber(args[1]) or player.Crystals end end function SetAllPerks100() local crabs = FindAllOf("CrabPS") if crabs then ---@param v ACrabPS for i, v in ipairs(crabs) do print(string.format("Crab with ID: %s", v.PlayerNamePrivate:ToString())) if v.PlayerNamePrivate:ToString() == "Aztec" then ---@param wmod FCrabWeaponMod v.WeaponMods:ForEach(function(index, wmod) ---@class mod FCrabWeaponMod local mod = wmod:get() if mod.InventoryInfo.Level <= 100 then mod.InventoryInfo.Level = 100 end end) ---@param wmod FCrabAbilityMod v.AbilityMods:ForEach(function(index, wmod) ---@class mod FCrabAbilityMod local mod = wmod:get() if mod.InventoryInfo.Level <= 100 then mod.InventoryInfo.Level = 100 end end) ---@param wmod FCrabMeleeMod v.MeleeMods:ForEach(function(index, wmod) ---@class mod FCrabMeleeMod local mod = wmod:get() if mod.InventoryInfo.Level <= 100 then mod.InventoryInfo.Level = 100 end end) ---@param wmod FCrabPerk v.Perks:ForEach(function(index, wmod) ---@class mod FCrabPerk local mod = wmod:get() if mod.InventoryInfo.Level <= 100 then mod.InventoryInfo.Level = 100 end end) end end end end ---@param PlayerName string function RollTheDice(PlayerName, ...) print("[BenUtil] Got chat command rtd from " .. PlayerName) local args = table.pack(...) for k, v in ipairs(args) do print(string.format("[BenUtil] Arg: %s", v)) end -- print(string.format("[BenUtil] %d arguments sent", args.n)) ---@type ACrabPC local player = FindFirstOf("CrabPC") player:ServerSendChatMessage(BenUtils.StringToFString("You rolled the dice")) end -- End mod functions -- Register Hooks and Keybinds RegisterKeyBind(Key.F1, function() ExecuteInGameThread(function() local msg = BenUtils.StringToFString("Fuck cheese") ---@type ACrabPC local player = FindFirstOf("CrabPC") player:ServerSendChatMessage(msg) end) end) -- RegisterKeyBind(Key.F2, function() -- print("[BenUtils] Money Money Money\n") -- ExecuteInGameThread(function() -- GibCrystals() -- end) -- end) BenUtils.RegisterCommand("rtd", RollTheDice) BenUtils.RegisterCommand("dosh", GiveCrystalsToPlayer) BenUtils.RegisterCommand("cheat", SetAllPerks100) -- Finish Hooks and Keybinds