Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Could you help me with this ModuleScript bug?

Okay, I have been experimenting with ModuleScripts, and I've gotten this bug and I'm not really sure as to how to fix it. I'm attempting to stop speed hackers in my game with this.

ModuleScript(in Workspace):

local g_logic = {}
walkspeed_allowed = false
allowed_walkspeeds = {16}
function g_logic.check_walkspeeds(ws)
	for i,v in pairs(allowed_walkspeeds) do
		if ws == v then
			walkspeed_allowed = true
		end
	end
	if not walkspeed_allowed then
		game.Players.LocalPlayer:Kick()
	end
	walkspeed_allowed = false
end
return g_logic

LocalScript(in StarterGui[this probably isn't the right place for it, but it runs in here.]):

local g_logic = require(game.Workspace.game_logic)
local player = game.Players.LocalPlayer
player.CharacterAdded:connect(function()
	repeat wait() until player.Character.Humanoid
	hum = player.Character.Humanoid
	hum.Changed:connect(function(WalkSpeed)
		g_logic.check_walkspeed(hum.WalkSpeed)
	end)
end)

The error I got was:

Players.Player1.PlayerGui.anti_speed_2:7: attempt to call field 'check_walkspeed' (a nil value)

Thanks for helping.

1 answer

✓ Accepted answer

The function you've created in the ModuleScript is 'called' check_walkspeeds, not check_walkspeed. You attempt to use the latter in the LocalScript you've given us.

Just change the following

g_logic.check_walkspeed(hum.WalkSpeed)

To,

g_logic.check_walkspeeds(hum.WalkSpeed)

1 comment

0

Oh god. I feel silly now. It works! Thank you.

This discussion is preserved as it was. New answers, comments, and votes are closed.