Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wait(1)
- local plr = game.Players.LocalPlayer
- local vm = plr.Character.Torso
- local function shoot(viewModel, position, lPlr)
- -- viemodel is the viewmodel, position is the point you want to shoot at
- local rocketSettings = {
- speed = 40;
- size = Vector3.new(1,1,2);
- radius = 5;
- mesh = nil;
- }
- local rocket = Instance.new((rocketSettings.mesh and "MeshPart") or "Part", workspace)
- rocket.CFrame = CFrame.new((viewModel.CFrame + viewModel.CFrame.lookVector*5).p, position)
- rocket.CanCollide = false
- rocket.Anchored = false
- rocket.Size = rocketSettings.size
- local bodyVelocity = Instance.new("BodyVelocity", rocket)
- local dir = (position - (viewModel.CFrame + viewModel.CFrame.lookVector*5).p).unit
- bodyVelocity.Velocity = dir*rocketSettings.speed
- bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- rocket.Touched:connect(function(obj)
- if obj and obj.Parent and game.Players:GetPlayerFromCharacter(obj.Parent) then
- local ePlr = game.Players:GetPlayerFromCharacter(obj.Parent)
- if (ePlr ~= lPlr) then ePlr.Character.Humanoid:TakeDamage(100) end
- end
- for k, plr in pairs(game.Players:GetPlayers()) do
- local char = plr.Character
- local hum = char and char.Humanoid
- if not char or not hum then return end
- local dist = math.ceil((rocket.Position - char.Torso.Position).magnitude)
- if dist <= rocketSettings.radius then
- local t = dist/(rocketSettings.radius)
- print(dist)
- hum:TakeDamage(100*0.8*t)
- end
- end
- rocket:Destroy()
- end)
- end
- plr:GetMouse().Button1Down:connect(function()
- shoot(vm, plr:GetMouse().Hit.p, plr)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement