When my client fires a Remote Event, the server doesn't return any error. When I do fire the event, the first animation never seems to load. There's no indacation in my script that says straight out of the bloom, "Hey, this is an error." Take a look at the server script.
local PunchEvent = game.ReplicatedStorage:WaitForChild('punch') local Cooldown = 0.8 local PunchData = {} local Cooldowns = {} local function PlaySound(ID,Parent) local Sound = Instance.new("Sound") Sound.SoundId = "rbxassetid://"..ID Sound.PlayOnRemove = true Sound.Parent = Parent Sound:Destroy() end function Make(Character) local CantRegen = Instance.new("IntValue") CantRegen.Name = "CantRegen" CantRegen.Parent = Character game.Debris:AddItem(CantRegen, 1) end PunchEvent.OnServerEvent:Connect(function(Player) if Cooldowns[Player] then -- player has used cooldowns before if Cooldowns[Player] >= tick() - Cooldown then -- player has not completed cooldown return -- return code so code below doesn't execute end end Cooldowns[Player] = tick() -- set so player can not use punch event for cooldown seconds local Data = Player:WaitForChild('Data') local Stamina = Data:WaitForChild('Stamina') if Stamina.Value < 11 then return else Stamina.Value = Stamina.Value - 10 -- take 10 stamina away end local Character = Player.Character or Player.CharacterAdded:Wait() -- get player character, if it doesn't exist wait for it Make(Character) local Humanoid = Character:WaitForChild("Humanoid") local Animator = Humanoid:WaitForChild("Animator") if PunchData[Character] == nil then -- if there is no data for this character PunchData[Character] = { -- set it for the first time ["LeftPunch"] = Animator:LoadAnimation(game:GetService("ReplicatedStorage"):WaitForChild("Left")), ["RightPunch"] = Animator:LoadAnimation(game:GetService("ReplicatedStorage"):WaitForChild("Right")), -- doesnt load ["LastPunch"] = "LeftPunch", ["CanPunch"] = true } end local SecondaryDataTable = PunchData[Character] local RightHand = Character.RightHand local LeftHand = Character.LeftHand local CurrentConnection = nil local CurrentAnimationTrack = nil if SecondaryDataTable.LastPunch == "LeftPunch" then SecondaryDataTable.CanPunch = false SecondaryDataTable.LastPunch = "RightPunch" PlaySound(711753382, Character.RightHand) CurrentAnimationTrack = SecondaryDataTable.RightPunch CurrentConnection = Character.RightHand.Touched:Connect(function(Hit) local Humanoid = Hit.Parent:FindFirstChildOfClass("Humanoid") if Humanoid then Humanoid:TakeDamage(12) PlaySound(367499850, RightHand) CurrentConnection:Disconnect() end end) elseif SecondaryDataTable.LastPunch == "RightPunch" then SecondaryDataTable.CanPunch = false SecondaryDataTable.LastPunch = "LeftPunch" PlaySound(711753382, LeftHand) CurrentAnimationTrack = SecondaryDataTable.LeftPunch CurrentConnection = Character.LeftHand.Touched:Connect(function(Hit) local Humanoid = Hit.Parent:FindFirstChildOfClass("Humanoid") if Humanoid then Humanoid:TakeDamage(12) PlaySound(367499850, LeftHand) CurrentConnection:Disconnect() end end) CurrentAnimationTrack:Play() CurrentAnimationTrack.Stopped:Wait() if CurrentConnection then CurrentConnection:Disconnect() end SecondaryDataTable.CanPunch = true end end)
And here's the client script.
local Players = game:GetService('Players') local ReplicatedStorage = game:GetService('ReplicatedStorage') local UserInputService = game:GetService('UserInputService') local Player = Players.LocalPlayer local PunchEvent = game.ReplicatedStorage.punch UserInputService.InputBegan:Connect(function(Key, GameProcessedEvent) if not GameProcessedEvent then if Key.UserInputType == Enum.UserInputType.MouseButton1 then PunchEvent:FireServer() end end end)
function square(iteratorMaxCount,currentNumber)
if currentNumber<iteratorMaxCount then currentNumber = currentNumber+1 return currentNumber, currentNumber*currentNumber end
end
for i,n in square,3,0 do print(i,n) end and nowit is more than enough to add the transfer time in seconds transformed into data