so im trying to make a skill framework but whenever i try to fire the inputended i receive a trying to index nil with instance on the inputended event
Server Handler script
local RS = game:GetService("ReplicatedStorage") local ServerRemote = RS.Remotes.Server local Inputs = require(script.Inputs) local Functions = require(script.Functions) game.Players.PlayerAdded:Connect(function(Player) Inputs.InputTable[Player] = {} Player.CharacterAppearanceLoaded:Connect(function(Character) Character:SetAttribute("Stunned",false) Character:SetAttribute("Attacking",false) end) end) ServerRemote.OnServerInvoke = function(Player,Action,Input,Params) if Action == "InputBegan" then print(Input) Inputs.InputTable[Player][Input] = true elseif Action == "InputEnded" then print("Stopped") Input.InputTable[Player][Input] = nil elseif Action == "Skill" then if Player.Character:GetAttribute("Stunned") == false and Player.Character:GetAttribute("Attacking") == false then print(Input) local Move = Functions.FireMove(Player,Params) return Move end end end
SkillReplicator Script
local InputEnded = coroutine.create(function() UserInputService.InputEnded:Connect(function(Input,GPE) if GPE then return end if Character:GetAttribute("Attacking") == true then Server:InvokeServer("InputEnded",Input.KeyCode.Name) end end) end) coroutine.resume(InputEnded)
Inputs Module
local Inputs = {} Inputs.InputTable = {} function Inputs.CheckInput(Player,Input) return Inputs.InputTable[Player][Input] end return Inputs