I have come upon a halt in my script.
There isn't any bugs or anything, its just I cant figure out how I can get it in this situation!
Here is the script:
local EventE = game:GetService("ReplicatedStorage").Remotes.RemoteE local DisableAttack = game:GetService("ReplicatedStorage").SpecialRemotes.DisableAttack local EnableAttack = game:GetService("ReplicatedStorage").SpecialRemotes.EnableAttack local TweenService = game:GetService("TweenService") local Animations = script:FindFirstChild("Animations") local Sounds = script:FindFirstChild("Sounds") local Particles = script:FindFirstChild("Particles") local EDamage = 20 game:GetService("Players").PlayerAdded:Connect(function(player) local cooldown = Instance.new("NumberValue") cooldown.Value = tick() cooldown.Name = "Cooldown" cooldown.Parent = player end) EventE.OnServerEvent:Connect(function(player,cooldown) if tick() - player.Cooldown.Value > cooldown then player.Cooldown.Value = tick() local char = player.Character local hum = char.Humanoid local humRP = char.HumanoidRootPart local Head = char.Head local hasHit = false local tweenActive = true local torso = char.Torso local Run = hum:LoadAnimation(Animations.Run1) local React = hum:LoadAnimation(Animations.React) local Sound = Sounds.Reaction:Clone() local Particle = Particles.SSJParticle:Clone() React:Play() hum.WalkSpeed = 0 Sound.Parent = humRP Sound:Play() wait(.25) Particle.Parent = Head wait(.5) local tween = TweenService:Create(humRP,TweenInfo.new(.75,Enum.EasingStyle.Linear,Enum.EasingDirection.In,0,false,0),{CFrame = humRP.CFrame * CFrame.new(0,0,-50)}) React.Stopped:Connect(function() Particle:Destroy() tween:Play() Run:Play() tweenActive = true Sound.Ended:Connect(function() Sound:Destroy() end) for _, i in pairs(char:GetChildren()) do if i:IsA("BasePart") then i.Touched:Connect(function(hit) if hasHit == false and tweenActive == true then if hit.Parent then if hit.Parent:FindFirstChild("Humanoid") then print("found character!") local hitHum = hit.Parent.Humanoid local hitHRP = hit.Parent:FindFirstChild("HumanoidRootPart") local UppercutPlr = hum:LoadAnimation(Animations.UppercutPlr) local UppercutEnemy = hitHum:LoadAnimation(Animations.UppercutEnemy) local enemyPlr = game.Players:GetPlayerFromCharacter(hit.Parent) tweenActive = false hasHit = true tween:Pause() hitHum:TakeDamage(EDamage) Run:Stop() DisableAttack:FireClient(enemyPlr) UppercutPlr:Play() UppercutEnemy:Play() humRP.CFrame = hitHRP.CFrame * CFrame.new(0,0,-3) humRP.CFrame = CFrame.new(humRP.Position, hitHRP.Position) humRP.Anchored = true hitHRP.Anchored = true UppercutPlr.Stopped:Connect(function() hum.WalkSpeed = 16 humRP.Anchored = false hitHRP.Anchored = false EventE:FireClient(player) EnableAttack:FireClient(enemyPlr) end) end end end end) end end tween.Completed:Connect(function() if hasHit == false then Run:Stop() tweenActive = false hum.WalkSpeed = 16 EnableAttack:FireClient(player) end end) end) end end)
The script is in ServerScriptService, and the script is a (very obvious) server script.
The problem is since I cant get the enemy player, I only have the player. This results in MORE problems including the player being unable to use a move after used. It's weird.
Any help would be appreciated!
For more detail in what any of this stuff is, please ask, and I can kindly provide.
Thank you for listening.
I hope I can count on you!