--Turrets Gifted by machontz, Regular Script!
me = game.Players.TheMoonlightGlows
if script.Parent.className ~= "HopperBin" then
h = Instance.new("HopperBin",me.Backpack)
h.Name = "Turrets"
script.Parent = h
end
bin = script.Parent
function prop(part, parent, collide, tran, ref, x, y, z, color, anchor)
part.Parent = parent
part.formFactor = 0
part.CanCollide = collide
part.Transparency = tran
part.Reflectance = ref
part.Size = Vector3.new(x,y,z)
part.BrickColor = BrickColor.new(color)
part.TopSurface = 0
part.BottomSurface = 0
part.Anchored = anchor
part:BreakJoints()
end
function weld(w, p, p0, p1, a, b, c, x, y, z)
w.Parent = p
w.Part0 = p0
w.Part1 = p1
w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z)
end
function mesh(mesh, parent, x, y, z, type)
mesh.Parent = parent
mesh.Scale = Vector3.new(x, y, z)
mesh.MeshType = type
end
function placeturret(mainplace)
local turret = Instance.new("Model",workspace)
turret.Name = "Turret"
local main = Instance.new("Part")
prop(main, turret, true, 0, 0, 3, 1, 3, "Dark grey", true)
main.CFrame = CFrame.new(mainplace)
mainmesh = Instance.new("CylinderMesh",main)
local neck = Instance.new("Part")
prop(neck,turret,true,0,0,1,2,1,"Dark grey", true)
neck.CFrame = CFrame.new(mainplace) * CFrame.new(0,1.1,0)
neckmesh = Instance.new("CylinderMesh",neck)
neckmesh.Scale = Vector3.new(1,1.5,1)
local move = Instance.new("Part")
prop(move, turret, false, 0, 0, 1, 1, 5,"Dark grey", false)
move.CFrame = CFrame.new(mainplace) * CFrame.new(0,3,0)
local bg = Instance.new("BodyGyro")
bg.Parent = move
bg.maxTorque = Vector3.new(1e+008,1e+008,1e+008)
local bp = Instance.new("BodyPosition",move)
bp.maxForce = Vector3.new(1e+008,1e+008,1e+008)
bp.position = bp.Parent.Position
local gunner = Instance.new("Part")
gunner.FrontSurface = "Hinge"
prop(gunner,turret,true,0,0,1,1,1,"Dark grey",false)
gunner.CFrame = CFrame.new(mainplace) * CFrame.new(0,3,2.5)
local gunweld = Instance.new("Weld")
weld(gunweld,move,move,gunner,0,0,0,0,0,2.5)
local sound = Instance.new("Sound",gunner)
sound.Volume = 0.8
sound.Pitch = 4
sound.SoundId = "http://www.roblox.com/asset/?id=2760979"
function find(pos)
local list = game.Workspace:children()
local torso = nil
local dist = 40
local temp = nil
local human = nil
local temp2 = nil
for x = 1, #list do
temp2 = list[x]
if (temp2.className == "Model") and (temp2 ~= script.Parent) then
temp = temp2:findFirstChild("Torso")
human = temp2:findFirstChild("Humanoid")
if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
if (temp.Position - pos).magnitude < dist then
torso = temp
dist = (temp.Position - pos).magnitude
end
end
end
end
return torso
end
coroutine.resume(coroutine.create(function()
while true do
if gunner.Parent ~= nil then
wait(0.1)
local target = find(gunner.Position)
if target ~= nil then
bg.cframe = CFrame.new(move.Position, target.Position)
local meh = math.random(1,6)
if meh == 1 then
local bulls = {}
local dis = (gunner.Position - target.Position).magnitude
local bullet = Instance.new("Part")
prop(bullet,workspace,false,0,0,1,1,1,"Bright yellow",true)
bullet.CFrame = CFrame.new(gunner.Position, target.Position) * CFrame.new(0,0,-dis/2)
local meu = Instance.new("SpecialMesh")
mesh(meu,bullet,0.23,0.23,dis,"Brick")
local huo = target.Parent:findFirstChild("Humanoid")
huo:TakeDamage(math.random(huo.MaxHealth/34,huo.MaxHealth/8))
local randompitch = math.random(500,1200)/1000
sound.Pitch = randompitch
sound:play()
table.insert(bulls,bullet)
for i=1, math.random(3,6) do
local msi = math.random(8,23)/10
local th = Instance.new("Part")
prop(th,workspace,false,0,0,1,1,1,"Bright yellow",true)
th.CFrame = CFrame.new(gunner.Position,target.Position) * CFrame.new(0,0,-dis)
th.CFrame = th.CFrame * CFrame.Angles(math.random(-100,100),math.random(-100,100),math.random(-100,100))
th.CFrame = th.CFrame * CFrame.new(0,0,-msi/2)
thme = Instance.new("SpecialMesh")
mesh(thme,th,0.13,0.13,msi, "Brick")
table.insert(bulls,th)
for duh=1, math.random(2,5) do
local bag = math.random(5,18)/10
local bah = Instance.new("Part")
prop(bah,workspace,false,0,0,1,1,1,"Bright yellow",true)
bah.CFrame = CFrame.new(th.Position) * CFrame.new(0,0,msi/2)
bah.CFrame = bah.CFrame * CFrame.Angles(math.random(-100,100),math.random(-100,100),math.random(-100,100))
bah.CFrame = bah.CFrame * CFrame.new(0,0,-bag/2)
bahme = Instance.new("SpecialMesh")
mesh(bahme,bah,0.02,0.02,bag, "Brick")
table.insert(bulls,bah)
end
end
coroutine.resume(coroutine.create(function()
for i=1, #bulls do
coroutine.resume(coroutine.create(function()
wait(0.1)
for k=0, 1, 0.25 do
wait()
bulls[i].Transparency = k
end
bulls[i]:remove()
end))
end
end))
end
end
end
end
end))
end
bin.Selected:connect(function(mouse)
mouse.Button1Down:connect(function()
placeturret(mouse.Hit.p)
end)
end)
Comments
0 B
|👍
/👎
0 B
|0 👍
/0 👎
0 B
|0 👍
/0 👎