View difference between Paste ID: S1GzHmvq and hResQWEM
SHOW: | | - or go back to the newest paste.
1
--[[ Put your name where it says yourname. Creates turrets. -ultimate55 ]]
2-
me = game.Players.yourname
2+
me = game.Players.xOmqVade
3
4
5
6
if script.Parent.className ~= "HopperBin" then
7
8
h = Instance.new("HopperBin",me.Backpack)
9
10
h.Name = "Turrets"
11
12
script.Parent = h
13
14
end
15
16
17
18
bin = script.Parent
19
20
21
22
function prop(part, parent, collide, tran, ref, x, y, z, color, anchor)
23
24
part.Parent = parent
25
26
part.formFactor = 0
27
28
part.CanCollide = collide
29
30
part.Transparency = tran
31
32
part.Reflectance = ref
33
34
part.Size = Vector3.new(x,y,z)
35
36
part.BrickColor = BrickColor.new(color)
37
38
part.TopSurface = 0
39
40
part.BottomSurface = 0
41
42
part.Anchored = anchor
43
44
part:BreakJoints()
45
46
end
47
48
49
50
function weld(w, p, p0, p1, a, b, c, x, y, z)
51
52
w.Parent = p
53
54
w.Part0 = p0
55
56
w.Part1 = p1
57
58
w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z)
59
60
end
61
62
63
64
function mesh(mesh, parent, x, y, z, type)
65
66
mesh.Parent = parent
67
68
mesh.Scale = Vector3.new(x, y, z)
69
70
mesh.MeshType = type
71
72
end
73
74
75
76
function placeturret(mainplace)
77
78
local turret = Instance.new("Model",workspace)
79
80
turret.Name = "Turret"
81
82
83
84
local main = Instance.new("Part")
85
86
prop(main, turret, true, 0, 0, 3, 1, 3, "Dark grey", true)
87
88
main.CFrame = CFrame.new(mainplace)
89
90
mainmesh = Instance.new("CylinderMesh",main)
91
92
93
94
local neck = Instance.new("Part")
95
96
prop(neck,turret,true,0,0,1,2,1,"Dark grey", true)
97
98
neck.CFrame = CFrame.new(mainplace) * CFrame.new(0,1.1,0)
99
100
neckmesh = Instance.new("CylinderMesh",neck)
101
102
neckmesh.Scale = Vector3.new(1,1.5,1)
103
104
105
106
local move = Instance.new("Part")
107
108
prop(move, turret, false, 0, 0, 1, 1, 5,"Dark grey", false)
109
110
move.CFrame = CFrame.new(mainplace) * CFrame.new(0,3,0)
111
112
113
114
local bg = Instance.new("BodyGyro")
115
116
bg.Parent = move
117
118
bg.maxTorque = Vector3.new(1e+008,1e+008,1e+008)
119
120
121
122
local bp = Instance.new("BodyPosition",move)
123
124
bp.maxForce = Vector3.new(1e+008,1e+008,1e+008)
125
126
bp.position = bp.Parent.Position
127
128
129
130
local gunner = Instance.new("Part")
131
132
gunner.FrontSurface = "Hinge"
133
134
prop(gunner,turret,true,0,0,1,1,1,"Dark grey",false)
135
136
gunner.CFrame = CFrame.new(mainplace) * CFrame.new(0,3,2.5)
137
138
139
140
local gunweld = Instance.new("Weld")
141
142
weld(gunweld,move,move,gunner,0,0,0,0,0,2.5)
143
144
145
146
local sound = Instance.new("Sound",gunner)
147
148
sound.Volume = 0.8
149
150
sound.Pitch = 4
151
152
sound.SoundId = "http://www.roblox.com/asset/?id=2760979"
153
154
155
156
function find(pos)
157
158
	local list = game.Workspace:children()
159
160
	local torso = nil
161
162
	local dist = 40
163
164
	local temp = nil
165
166
	local human = nil
167
168
	local temp2 = nil
169
170
	for x = 1, #list do
171
172
		temp2 = list[x]
173
174
		if (temp2.className == "Model") and (temp2 ~= script.Parent) then
175
176
			temp = temp2:findFirstChild("Torso")
177
178
			human = temp2:findFirstChild("Humanoid")
179
180
			if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
181
182
				if (temp.Position - pos).magnitude < dist then
183
184
					torso = temp
185
186
					dist = (temp.Position - pos).magnitude
187
188
				end
189
190
			end
191
192
		end
193
194
	end
195
196
	return torso
197
198
end
199
200
201
202
coroutine.resume(coroutine.create(function()
203
204
while true do
205
206
	if gunner.Parent ~= nil then
207
208
	wait(0.1)
209
210
	local target = find(gunner.Position)
211
212
	if target ~= nil then
213
214
		bg.cframe = CFrame.new(move.Position, target.Position)
215
216
		local meh = math.random(1,6)
217
218
		if meh == 1 then
219
220
			local bulls = {}
221
222
			local dis = (gunner.Position - target.Position).magnitude
223
224
			local bullet = Instance.new("Part")
225
226
			prop(bullet,workspace,false,0,0,1,1,1,"Bright yellow",true)
227
228
			bullet.CFrame = CFrame.new(gunner.Position, target.Position) * CFrame.new(0,0,-dis/2)
229
230
			local meu = Instance.new("SpecialMesh")
231
232
			mesh(meu,bullet,0.23,0.23,dis,"Brick")
233
234
			local huo = target.Parent:findFirstChild("Humanoid")
235
236
			huo:TakeDamage(math.random(huo.MaxHealth/34,huo.MaxHealth/8))
237
238
			local randompitch = math.random(500,1200)/1000
239
240
			sound.Pitch = randompitch
241
242
			sound:play()
243
244
			table.insert(bulls,bullet)
245
246
			for i=1, math.random(3,6) do
247
248
				local msi = math.random(8,23)/10
249
250
				local th = Instance.new("Part")
251
252
				prop(th,workspace,false,0,0,1,1,1,"Bright yellow",true)
253
254
				th.CFrame = CFrame.new(gunner.Position,target.Position) * CFrame.new(0,0,-dis)
255
256
				th.CFrame = th.CFrame * CFrame.Angles(math.random(-100,100),math.random(-100,100),math.random(-100,100))
257
258
				th.CFrame = th.CFrame * CFrame.new(0,0,-msi/2)
259
260
				thme = Instance.new("SpecialMesh")
261
262
				mesh(thme,th,0.13,0.13,msi, "Brick")
263
264
				table.insert(bulls,th)
265
266
				for duh=1, math.random(2,5) do
267
268
					local bag = math.random(5,18)/10
269
270
					local bah = Instance.new("Part")
271
272
					prop(bah,workspace,false,0,0,1,1,1,"Bright yellow",true)
273
274
					bah.CFrame = CFrame.new(th.Position) * CFrame.new(0,0,msi/2)
275
276
					bah.CFrame = bah.CFrame * CFrame.Angles(math.random(-100,100),math.random(-100,100),math.random(-100,100))
277
278
					bah.CFrame = bah.CFrame * CFrame.new(0,0,-bag/2)
279
280
					bahme = Instance.new("SpecialMesh")
281
282
					mesh(bahme,bah,0.02,0.02,bag, "Brick")
283
284
					table.insert(bulls,bah)
285
286
				end
287
288
			end
289
290
			coroutine.resume(coroutine.create(function()
291
292
				for i=1, #bulls do
293
294
					coroutine.resume(coroutine.create(function()
295
296
						wait(0.1)
297
298
						for k=0, 1, 0.25 do
299
300
							wait()
301
302
							bulls[i].Transparency = k
303
304
						end
305
306
						bulls[i]:remove()
307
308
					end))
309
310
				end
311
312
			end))
313
314
		end
315
316
	end
317
318
	end
319
320
end
321
322
end))
323
324
end
325
326
327
328
bin.Selected:connect(function(mouse)
329
330
	mouse.Button1Down:connect(function()
331
332
		placeturret(mouse.Hit.p)
333
334
	end)
335
336
end)