Super-Nostalgia-Zone/Tools/Superball/CannonScript.server.lua

66 lines
1.4 KiB
Lua

local Tool = script.Parent
local Ball = Tool.Handle
function fire(direction)
Tool.Handle.Boing:Play()
local vCharacter = Tool.Parent
local vPlayer = game.Players:playerFromCharacter(vCharacter)
local missile = Instance.new("Part")
local spawnPos = vCharacter.PrimaryPart.Position
spawnPos = spawnPos + (direction * 5)
missile.Position = spawnPos
missile.Size = Vector3.new(2,2,2)
missile.Velocity = direction * 200
missile.BrickColor = BrickColor.random()
missile.Shape = 0
missile.BottomSurface = 0
missile.TopSurface = 0
missile.Name = "Cannon Shot"
missile.Reflectance = .2
missile.CustomPhysicalProperties = PhysicalProperties.new(1,0,1)
Tool.Handle.Boing:clone().Parent = missile
local new_script = script.Parent.CannonBall:clone()
new_script.Disabled = false
new_script.Parent = missile
local creator_tag = Instance.new("ObjectValue")
creator_tag.Value = vPlayer
creator_tag.Name = "creator"
creator_tag.Parent = missile
missile.Parent = game.Workspace
missile:SetNetworkOwner(nil)
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
local lookAt = (targetPos - character.Head.Position).unit
fire(lookAt)
wait(2)
Tool.Enabled = true
end
Tool.Activated:connect(onActivated)