Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Rocket = Instance.new("Part")
- local Tool = script.Parent
- Rocket.Locked = true
- Rocket.BackSurface = 0
- Rocket.BottomSurface = 0
- Rocket.FrontSurface = 0
- Rocket.LeftSurface = 0
- Rocket.RightSurface = 0
- Rocket.TopSurface = 0
- Rocket.FormFactor=0
- Rocket.Size = Vector3.new(1,1,4)
- Rocket.CanCollide=true
- Rocket.BrickColor = BrickColor.new(24)
- Tool.RocketScript:clone().Parent = Rocket
- Tool.Mesh:clone().Parent = Rocket
- Tool.Explosion:clone().Parent = Rocket
- Tool.Swoosh:clone().Parent = Rocket
- function fire(vTarget)
- local vCharacter = Tool.Parent;
- local vHandle = Tool:findFirstChild("Handle")
- if vHandle == nil then
- print("Handle not found")
- return
- end
- local dir = vTarget - vHandle.Position
- dir = computeDirection(dir)
- local missile = Rocket:clone()
- local pos = script.Parent.Shoot.Position + (dir * 20)
- --missile.Position = pos
- missile.CFrame = CFrame.new(pos, pos + dir)
- local creator_tag = Instance.new("ObjectValue")
- local vPlayer = game.Players:playerFromCharacter(vCharacter)
- if vPlayer == nil then
- print("Player not found")
- else
- if (vPlayer.Neutral == false) then -- nice touch
- missile.BrickColor = vPlayer.TeamColor
- end
- end
- creator_tag.Value =vPlayer
- creator_tag.Name = "creator"
- creator_tag.Parent = missile
- missile.RocketScript.Disabled = false
- script.Smoke:Clone().Parent = missile
- script.ExplosionParticles:Clone().Parent = missile
- gg = script.Fire:Clone()
- gg.Enabled = true
- gg.Parent = missile
- missile.Parent = game.Workspace
- end
- function computeDirection(vec)
- local lenSquared = vec.magnitude * vec.magnitude
- local invSqrt = 1 / math.sqrt(lenSquared)
- return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
- end
- Tool.Enabled = true
- function onActivated()
- if not Tool.Enabled then
- return
- end
- Tool.Enabled = false
- local character = Tool.Parent;
- local humanoid = character.Humanoid
- if humanoid == nil then
- print("Humanoid not found")
- return
- end
- local targetPos = humanoid.TargetPoint
- fire(targetPos)
- script.Parent.Rocket.Transparency = 1
- wait(35)
- script.Parent.Rocket.Transparency = 0
- Tool.Enabled = true
- end
- script.Parent.Activated:connect(onActivated)
Advertisement
Add Comment
Please, Sign In to add comment