View difference between Paste ID: XRVCjyYs and LxpWcz8F
SHOW: | | - or go back to the newest paste.
1
plr = owner
2
char = plr.Character
3
root = char.HumanoidRootPart
4
hed = char.Head
5
neck = hed.Neck
6
necknor = neck.C0
7
rootj = char.UpperTorso:FindFirstChildOfClass("Motor6D")
8
rootjnor = rootj.C0
9
hum = char.Humanoid
10
11
RH = char.RightUpperLeg.RightHip
12
RHnor = RH.C0
13
14
LH = char.LeftUpperLeg.LeftHip
15
LHnor = LH.C0
16
17
RH2 = char.RightLowerLeg.RightKnee
18
RH2nor = RH2.C0
19
20
LH2 = char.LeftLowerLeg.LeftKnee
21
LH2nor = LH2.C0
22
23
RS = char.RightUpperArm.RightShoulder
24
RSnor = RS.C0
25
26
clerp = function(toclerp, cf, number)
27
    local joint = toclerp
28
    joint.C0 = joint.C0:Lerp(cf, number)
29
end
30
31
clerp2 = function(toclerp, cf)
32
    local joint = toclerp
33
    joint.C0 = cf
34
end
35
36
clerp3 = function(toclerp, cf, number)
37
    local joint = toclerp
38
    joint.C1 = joint.C1:Lerp(cf, number)
39
end
40
 
41
Swait,swait = function(number)
42
    if number == 0 or number == nil then
43
        game:GetService("RunService").Heartbeat:Wait()
44
    else
45
        for i = 1,number do
46
            game:GetService("RunService").Heartbeat:Wait()
47
        end
48
    end
49
end
50
51
ezweld = function(p, a, b, cf)
52
    local weld = Instance.new("Weld",p)
53
    weld.Part0 = a
54
    weld.Part1 = b
55
    weld.C0 = cf
56
    return weld
57
end
58
59
NewSound = function(p, id, pit, vol, loop)
60
    local Sound = Instance.new("Sound",p)
61
    Sound.Pitch = pit
62
    Sound.Volume = vol
63
    Sound.SoundId = "rbxassetid://" ..id
64
    Sound.Looped = loop
65
    Sound:Play()
66
    return Sound
67
end
68
69
cremote = Instance.new("RemoteEvent", char)
70
cremote.Name = "CameraRemote"
71
72
cpos = CFrame.new()
73
74
NLS([[
75
76
plr = owner
77
char = plr.Character
78
root = char.HumanoidRootPart
79
cremote = char.CameraRemote
80
81
while true do
82
	game:service("RunService").Heartbeat:Wait()
83
	cremote:FireServer(workspace.CurrentCamera.CFrame)
84
end
85
86
]], char)
87
88
cremote.OnServerEvent:connect(function(_, pos)
89
	cpos = pos;
90
end)
91
92
kremote = Instance.new("RemoteEvent", char)
93
kremote.Name = "KeyRemote"
94
crouching = false
95
hh = hum.HipHeight
96
jp = hum.JumpPower
97
98
function speak(sound)
99
	local siz = 1.65
100
	local sur = Instance.new("BillboardGui", char.HumanoidRootPart)
101
	sur.Name = "Billboard"
102
	sur.Adornee = char.HumanoidRootPart
103
	sur.Size = UDim2.new(siz*2, 0, siz, 0)
104
	sur.StudsOffset = Vector3.new(siz/2,4, 0)
105
	local text = Instance.new("ImageLabel", sur)
106
	text.Image = "rbxassetid://176572847"
107
	text.Size = UDim2.new(0.5, 0, 1, 0)
108
	text.BackgroundTransparency = 1
109
	local s = NewSound(hed, sound, 1, 2.5, false)
110
	s.MaxDistance = 30
111
	repeat Swait() until s.Playing == false
112
	s:Destroy()
113
	sur:Destroy()
114
end
115
116
function requestinput(input)
117
	if input == "Sneak" then
118
		if crouching == true then
119
			crouching = false
120
			hum.WalkSpeed = 16
121
			hum.HipHeight = hh
122
			hum.JumpPower = jp
123
		else
124
			hum.JumpPower = 0
125
			hum.HipHeight = hh - 0.86
126
			hum.WalkSpeed = 5.28
127
			crouching = true
128
		end
129
	end
130
	if input == "StopSneak" then
131
		crouching = false
132
		hum.WalkSpeed = 16
133
		hum.HipHeight = hh
134
		hum.JumpPower = jp
135
	end
136
	if input == "Insult" then
137
		speak(150611842)
138
	end
139
	if input == "Nope" then
140
		speak(245064504)
141
	end
142
end
143
144
NLS([==[
145
	
146
	plr = owner
147
	char = plr.Character
148
	root = char.HumanoidRootPart
149
	kremote = char.KeyRemote
150
	mouse = plr:GetMouse()
151
	
152
	game:service("UserInputService").InputBegan:connect(function(input, isTyping)
153
		if isTyping == false and input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == Enum.KeyCode.LeftControl then
154
			kremote:FireServer("Sneak")
155
		end
156
		if isTyping == false and input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == Enum.KeyCode.T then
157
			kremote:FireServer("Insult")
158
		end
159
		if isTyping == false and input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == Enum.KeyCode.Y then
160
			kremote:FireServer("Nope")
161
		end
162
	end)
163
	
164
	game:service("UserInputService").InputEnded:connect(function(input, isTyping)
165
		if isTyping == false and input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == Enum.KeyCode.LeftControl then
166
			kremote:FireServer("StopSneak")
167
		end
168
	end)
169
	
170
]==], char)
171
172
kremote.OnServerEvent:connect(function(plrsent, inform)
173
	if attack == false then
174
		requestinput(inform);
175
	end
176
end)
177
178
attack = false
179
180
for i,v in pairs (char:children()) do
181
	if v:IsA("Shirt") or v:IsA("Pants") or v:IsA("ShirtGraphic") or v:IsA("Hat") or v:IsA("Accessory") then
182
		v:Destroy()
183
	end
184
end
185
186
sizo = 1.05
187
188
Rad = math.rad
189
190
local hat = Instance.new("Part",char)
191
hat.Size = Vector3.new(0.1, 0.1, 0.1)
192
hat.CanCollide = false
193
hat.BrickColor = BrickColor.new("Bright orange")
194
local mesh = Instance.new("SpecialMesh",hat)
195
mesh.MeshId = "rbxassetid://1073659"
196
mesh.Scale = Vector3.new(1, 1, 1) * sizo
197
local weld1 = ezweld(char, hat, hed, CFrame.new(-0.015, -0.65, 0.15) * CFrame.Angles(Rad(0), Rad(0), Rad(-4)))
198
w1nor = weld1.C0
199
200
plr.Neutral = false
201
local team = math.random(1, 2)
202
local shirt = Instance.new("Shirt", char)
203
local pants = Instance.new("Pants", char)
204
local teamc = BrickColor.new("Medium stone grey")
205
if team == 1 then
206
	plr.TeamColor = BrickColor.new("Bright red")
207
	shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=4430777249"
208
	pants.PantsTemplate = "http://www.roblox.com/asset/?id=5240017191"
209
end
210
if team == 2 then
211
	plr.TeamColor = BrickColor.new("Bright blue")
212
	shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=69232247"
213
	pants.PantsTemplate = "http://www.roblox.com/asset/?id=5240017191"
214-
	pants.PantsTemplate = "http://www.roblox.com/asset/?id=69232594"
214+
215
216
local anim = char.Animate
217
if anim then
218
	local walk = anim.run
219
	if walk then
220
		local wa = walk.RunAnim
221
		if wa then
222
			wa.AnimationId = "rbxassetid://913402848"
223
		end
224
	end
225
end
226
227
local wrench = Instance.new("Tool", plr.Backpack)
228
wrench.Name = "Wrench"
229
wrench.GripForward = Vector3.new(0, 0, 1)
230
wrench.GripPos = Vector3.new(0, -0.5, -0.084)
231
wrench.GripRight = Vector3.new(-1, 0, 0)
232
wrench.GripUp = Vector3.new(0, 1, 0)
233
local whand = Instance.new("Part", wrench)
234
whand.Name = "Handle"
235
whand.Size = Vector3.new(0.25, 2.75, 1.75)
236
local wmesh = Instance.new("SpecialMesh", whand)
237
wmesh.MeshId = "rbxassetid://431000043"
238
wmesh.TextureId = "rbxassetid://430627740"
239
wmesh.Scale = Vector3.new(1.93, 1.99, 1.99)
240
wmesh.Offset = Vector3.new(0.275, 0.1, 0.075)
241
242
debounce = false
243
hitpers = false
244
245
function slap()
246
	debounce = true
247
	local hb = whand.Touched:connect(function(hit)
248
		local dud = hit.Parent
249
		if dud ~= char and hitpers == false then
250
			for i,v in pairs (dud:children()) do
251
				if v:IsA("Humanoid") then
252
					hitpers = true
253
					local p = game:service("Players"):GetPlayerFromCharacter(dud)
254
					if not p then
255
						v.Health = v.Health - 15
256
					end
257
					if p then
258
						if not (p.TeamColor.Name == plr.TeamColor.Name) then
259
							v.Health = v.Health - 15
260
						end
261
					end
262
				end
263
			end
264
		end
265
	end)
266
	for i = 1,9 do
267
		Swait()
268
		clerp(RS, RSnor * CFrame.Angles(math.rad(65), 0, 0), 0.3)
269
	end
270
	hitpers = false
271
	for i = 1,9 do
272
		Swait()
273
		clerp(RS, RSnor * CFrame.Angles(math.rad(-55), 0, 0), 0.3)
274
	end
275
	for i = 1,9 do
276
		Swait()
277
		clerp(RS, RSnor, 0.3)
278
	end
279
	hb:disconnect()
280
	debounce = false
281
end
282
283
wrench.Activated:connect(function()
284
	if debounce == false then
285
		slap()
286
	end
287
end)
288
289
local sentryt = Instance.new("Tool", plr.Backpack)
290
sentryt.Name = "Sentry"
291
local shand = Instance.new("Part", sentryt)
292
shand.Name = "Handle"
293
shand.Size = Vector3.new(0.1, 0.1, 0.1)
294
shand.Transparency = 1
295
296
local sentrypl = Instance.new("Part", sentryt)
297
sentrypl.Anchored = true
298
sentrypl.CanCollide = false
299
sentrypl.BrickColor = BrickColor.new("Bright blue")
300
sentrypl.Size = Vector3.new(5, 1, 5)
301
sentrypl.Transparency = 0.5
302
303
local function GetNearestPlayer(object, minimumDistance)
304
    local closestMagnitude = minimumDistance or math.huge
305
    local closestPlayer
306
    for i,v in pairs (workspace:GetChildren()) do
307
		if v:IsA("Model") and v:FindFirstChildOfClass("Humanoid") and (v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso")) then
308
			local Character = v
309
			local humanoid = v:FindFirstChildOfClass("Humanoid")
310
			local HRP = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso")
311
			if (humanoid.Health > 0) then
312
				local mag = (object.Position - HRP.Position).Magnitude
313
				if (mag <= closestMagnitude) then
314
					closestPlayer = v
315
					closestMagnitude = mag
316
				end
317
			end
318
		end
319
	end
320
	return closestPlayer
321
end
322
323
local Action
324
local sizo
325
local d = -0.15
326
function buildsentry()
327
	local sentry = Instance.new("Model", script)
328
	sentry.Name = plr.Name .."'s Sentry"
329
	local hola = sentry
330
	
331
	--base
332
333
	local rootee = Instance.new("Part",hola)
334
	rootee.Size = Vector3.new(2, 2, 1)
335
	rootee.CanCollide = false
336
	rootee.Anchored = true
337
	rootee.Transparency = 1
338
	rootee.CFrame = sentrypl.CFrame * CFrame.new(0, 1.35, 0)
339
	
340
	sizo = 0.085
341
	local part = Instance.new("Part",hola)
342
	part.Size = Vector3.new(0.1, 0.1, 0.1)
343
	part.CanCollide = false
344
	part.Material = "Metal"
345
	part.BrickColor = BrickColor.new("Dark stone grey")
346
	local mesh = Instance.new("SpecialMesh",part)
347
	mesh.MeshId = "rbxassetid://4445989313"
348
	mesh.Scale = Vector3.new(1, 1, 1)*sizo
349
	mesh.Offset = Vector3.new(0, d, 0)
350
	local weld = ezweld(char, part, rootee, CFrame.new(0, 0, 0) * CFrame.Angles(Rad(0), Rad(0), 0))
351
	
352
	sizo = 0.085
353
	local part = Instance.new("Part",hola)
354
	part.Size = Vector3.new(0.1, 0.1, 0.1)
355
	part.CanCollide = false
356
	part.Material = "Metal"
357
	part.BrickColor = BrickColor.new("Dark stone grey")
358
	local mesh = Instance.new("SpecialMesh",part)
359
	mesh.MeshId = "rbxassetid://4445996995"
360
	mesh.Scale = Vector3.new(1, 1, 1)*sizo
361
	mesh.Offset = Vector3.new(0, d, 0)
362
	local weld = ezweld(char, part, rootee, CFrame.new(0, 0.55, -1.5) * CFrame.Angles(Rad(0), Rad(0), 0))
363
	
364
	--rotatory boys
365
366
	sizo = 0.085
367
	local part = Instance.new("Part",hola)
368
	part.Size = Vector3.new(0.1, 0.1, 0.1)
369
	part.CanCollide = false
370
	part.Material = "Metal"
371
	part.BrickColor = plr.TeamColor
372
	local mesh = Instance.new("SpecialMesh",part)
373
	mesh.MeshId = "rbxassetid://4445999647"
374
	mesh.Scale = Vector3.new(1, 1, 1)*sizo
375
	mesh.Offset = Vector3.new(0, d, 0)
376
	local weld = ezweld(char, part, rootee, CFrame.new(0, -0.75, -0.15) * CFrame.Angles(Rad(0), Rad(0), 0))
377
	local rotatorere = part
378
	local rweld = weld
379
	local nor = rweld.C0
380
	
381
	sizo = 0.085
382
	local part = Instance.new("Part",hola)
383
	part.Size = Vector3.new(0.1, 0.1, 0.1)
384
	part.CanCollide = false
385
	part.Material = "Metal"
386
	part.BrickColor = plr.TeamColor
387
	local mesh = Instance.new("SpecialMesh",part)
388
	mesh.MeshId = "rbxassetid://4445984595"
389
	mesh.Scale = Vector3.new(1, 1, 1)*sizo
390
	mesh.Offset = Vector3.new(0, d, 0)
391
	local head = part
392
	local rotator = part
393
394
	local Fire = NewSound(rotator, 10209257, 1, 5, false)
395
	
396
	mouse = {Hit = CFrame.new()}
397
	
398
	coroutine.wrap(function()
399
		while true do
400
			wait(.3)
401
			local a = GetNearestPlayer(rotator, 21)
402
			if a and a ~= char then
403
				local e = a
404
				if e and e:FindFirstChild("HumanoidRootPart") or e and e:FindFirstChild("Torso") then
405
					local hoot = e:FindFirstChild("HumanoidRootPart") or e:FindFirstChild("Torso")
406
					Action = "Firing"
407
					local dud = a
408
					if dud ~= char then
409
						for i,v in pairs (dud:children()) do
410
							if v:IsA("Humanoid") then
411
								local p = game:service("Players"):GetPlayerFromCharacter(dud)
412
								if not p then
413
									mouse.Hit = hoot.CFrame
414
									v.Health = v.Health - 8
415
									Fire:Play()
416
								end
417
								if p then
418
									if not (p.TeamColor.Name == plr.TeamColor.Name) then
419
										mouse.Hit = hoot.CFrame
420
										v.Health = v.Health - 8
421
										Fire:Play()
422
									end
423
								end
424
							end
425
						end
426
					end
427
				end
428
			else
429
				Action = "Standby"
430
			end
431
			rweld.C0 = nor
432
			rotator.Anchored = true
433
			rotator.CFrame = rootee.CFrame * CFrame.new(0, 0.86, 0.45)
434
			rotator.CFrame = CFrame.new(rotator.Position, (mouse.Hit.p - Vector3.new(0, mouse.Hit.p.y, 0) + Vector3.new(0, rotator.Position.y, 0)))
435
			local ori = rotator.Orientation
436
		end
437
	end)()
438
end
439
440
sentryt.Activated:connect(function()
441
	if debounce == false then
442
		buildsentry()
443
	end
444
end)
445
446
warn'r15 engineer script by youngmacka123 on roblox ! (currently wip !)'
447
448
while true do
449
	Swait()
450
	if owner:IsFriendsWith(673462376) or owner.UserId == 673462376
451-
	if owner:IsFriendsWith(204448429) or owner.UserId == 204448429 then else print'bru' while wait() do error'stuP' end end
451+
then else print'bru' while wait() do error'stuP' end end
452
	local dir = root.CFrame:toObjectSpace(cpos).lookVector
453
	sentrypl.CFrame = root.CFrame * CFrame.new(0, -3.25, -4.5)
454
	if attack == false then
455
		clerp(neck, necknor * CFrame.new(0, 0, 0) * CFrame.Angles(math.asin(dir.y/2), 0, 0), 0.6)
456
		clerp(rootj, rootjnor * CFrame.new(0, 0, 0) * CFrame.Angles(math.asin(dir.y), 0, 0), 0.6)
457
	end
458
	if attack == false and crouching == false then
459
		clerp(RH, RHnor, 0.3)
460
		clerp(LH, LHnor, 0.3)
461
		clerp(RH2, RH2nor, 0.3)
462
		clerp(LH2, LH2nor, 0.3)
463
	elseif attack == false and crouching == true then
464
		clerp(RH, RHnor * CFrame.new(0, 0.2, -0.1) * CFrame.Angles(math.rad(45), 0, 0), 0.3)
465
		clerp(LH, LHnor * CFrame.new(0, 0.2, -0.1) * CFrame.Angles(math.rad(45), 0, 0), 0.3)
466
		clerp(RH2, RH2nor * CFrame.Angles(math.rad(-45), 0, 0), 0.3)
467
		clerp(LH2, LH2nor * CFrame.Angles(math.rad(-45), 0, 0), 0.3)
468
	end
469
end