(All Fe) The script is supposed to clone a local script from the ReplicatedStorage when a round starts and place it into the player's Backpack. Currently, the local script only works when I put it in the starter pack, if it's not initially in the starter pack it doesn't work at all. The server script that goes along with it is in ServerScriptService.
This is the set-up: https://gyazo.com/27a7bad35bb3ac1f12629d5a1caf94be This is the code in the local script:
local player = game.Players.LocalPlayer
local rep = game:GetService("ReplicatedStorage")
local uis = game:GetService("UserInputService")
local assets = rep.Assets.Basic
local mod = require(rep.Modules.ModuleScript)
local event = rep.RemoteEvents.Combat
local mouse = player:GetMouse()
print('hi')
local rP = {
idle = assets.Idle:Clone(), -- idle [1]
walk = assets.Walk:Clone(), --walk [2]
}
local char = player.CharacterAdded:Wait()
local rh = char:WaitForChild("RightUpperArm")
local lh = char:WaitForChild("LeftUpperArm")
local rf = char:WaitForChild("RightLowerLeg")
local lf = char:WaitForChild("LeftLowerLeg")
local ts = {"Set Animations"}
event:FireServer(ts)
print('fired')
mouse.Button1Down:Connect(function()
local t = {"Right Punch"}
event:FireServer(t)
end)
mouse.Button2Down:Connect(function()
local t = {"Left Punch"}
event:FireServer(t)
end)
uis.InputBegan:Connect(function(input, gpe)
if gpe == false then
if input.KeyCode == Enum.KeyCode.F then
local t = {"Left Kick"}
event:FireServer(t)
end
end
end)
This is the code to place it into the backpack:
local move1 = rep:FindFirstChild("FightingStyles_Local_Script"):FindFirstChild("Basic"):FindFirstChild("LocalScript"):Clone()
move1.Parent = plr1.Backpack
move1:Clone().Parent = plr2.Backpack
Any help is greatly appreciated!

3 comments
You can get mouse input from UserInputService by looking at inputObject.UserInputType in the InputBegan parameter.
Just going to let you know line 19:
Player.CharacterAdded:Wait()can bug out sometimes and cause an infinite yield making the rest of the script below it to not even load, I suggest just doingPlayer.Characterand addingwait(1)after itThanks