Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --//Local Script
- local UIS = game:GetService("UserInputService")
- local debounce = false
- --PC
- UIS.InputBegan:Connect(function(key, processed)
- if processed or debounce then return end
- debounce = true
- if key.UserInputType == Enum.UserInputType.Keyboard then
- if key.KeyCode == Enum.KeyCode.Z then
- game.ReplicatedStorage.Events.FireBall:FireServer(mouse.Hit.Position)
- end
- end
- wait(1)
- debounce = false
- end)
- --Mobile
- if UIS.TouchEnabled then
- UIS.TouchTap:Connect(function(position, processed)
- if processed or debounce then return end
- debounce = true
- game.ReplicatedStorage.Events.FireBall:FireServer(mouse.Hit.Position)
- wait(1)
- debounce = false
- end)
- end
- --//Server Script
- game.ReplicatedStorage.Events.FireBall.OnServerEvent:Connect(function(player, mousePos)
- local effects = game.ReplicatedStorage.FireBallEffects
- local fireBall = effects.FireBall:Clone()
- local explosion = effects.Explosion:Clone()
- local character = player.Character
- --Fireball
- fireBall.Position = character.HumanoidRootPart.Position
- fireBall.Parent = workspace
- local velocity = Instance.new("BodyVelocity", fireBall)
- velocity.Velocity = CFrame.new(fireBall.Position, mousePos).LookVector * 100
- --Explosion
- fireBall.Touched:Connect(function(hit)
- if hit:IsDescendantOf(character) or hit:FindFirstChild("ParticleEmitter") then return end
- explosion.Position = fireBall.Position
- fireBall:Destroy()
- explosion.Parent = workspace
- if hit.Parent:FindFirstChild("Humanoid") then
- hit.Parent:FindFirstChild("Humanoid"):TakeDamage(20)
- end
- wait(1)
- explosion:Destroy()
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement