View difference between Paste ID: eHRiy31j and Vwz8UDsb
SHOW: | | - or go back to the newest paste.
1
script.Parent = nil
2
3
Player = game.Players.LocalPlayer
4
Char = Player.Character
5
PlayerGui = Player.PlayerGui
6
Screen = Instance.new("ScreenGui", PlayerGui)
7
Screen.Name = "TestGUI"
8
KB = Instance.new("TextButton", Screen)
9
KB.Name = "KB"
10
KB.Text = "Reset"
11
KB.Position = UDim2.new(0.05, 0, 0.4, 0)
12
KB.Size = UDim2.new(0.1, 0, 0.1, 0)
13
KB.Font = "Arial"
14
KB.FontSize = "Size24"
15
KB.TextWrapped = true
16
KB.BackgroundColor3 = Color3.new(0, 0, 1)
17
KB.TextColor3 = Color3.new(1, 1, 0)
18
KB.BackgroundTransparency = 0.7
19
KB.MouseButton1Down:connect(function()
20
    Char:BreakJoints()
21
end)
22
GB = Instance.new("TextButton", Screen)
23
GB.Name = "GB"
24
GB.Text = "God me"
25
GB.Position = UDim2.new(0.05, 0, 0.5, 0)
26
GB.Size = UDim2.new(0.1, 0, 0.1, 0)
27
GB.Font = "Arial"
28
GB.FontSize = "Size24"
29
GB.TextWrapped = true
30
GB.BackgroundColor3 = Color3.new(0, 0, 1)
31
GB.TextColor3 = Color3.new(1, 1, 0)
32
GB.BackgroundTransparency = 0.7
33
GB.MouseButton1Down:connect(function()
34
    Char.Humanoid.MaxHealth = math.huge
35
end)
36
TRN = Instance.new("TextButton", Screen)
37
TRN.Name = "TRN"
38
TRN.Text = "Terrain"
39
TRN.Position = UDim2.new(0.25, 0, 0.7, 0)
40
TRN.Size = UDim2.new(0.1, 0, 0.1, 0)
41
TRN.Font = "Arial"
42
TRN.FontSize = "Size24"
43
TRN.TextWrapped = true
44
TRN.BackgroundColor3 = Color3.new(0, 0, 1)
45
TRN.TextColor3 = Color3.new(1, 1, 0)
46
TRN.BackgroundTransparency = 0.7
47
TRN.MouseButton1Down:connect(function()
48
mod = Instance.new("Model") 
49
mod.Parent = game.Workspace.Base 
50
mod.Name = "GenScip" 
51
scale = 10 
52
char1 = {"Dark green", "part", 0, true, scale/2.5} 
53
char2 = {"Reddish brown", "clif", 0, true, scale*1.5,scale*2} 
54
char3 = {"23", "wate", 0.6, false, scale/2.5} 
55
char4 = {"Pastel brown", "sand", 0, true, scale/2.5} 
56
x = 0 
57
z = -100 
58
n1 = 0 
59
n2 = 0 
60
n3 = 0 
61
zonlay = math.random(1,3) 
62
if zonlay == 1 then 
63
n1 = math.random(1,30) 
64
n2 = math.random(40,50) 
65
n3 = math.random(60,100) 
66
end 
67
if zonlay == 2 then 
68
n1 = math.random(60,100) 
69
n2 = math.random(40,50) 
70
n3 = math.random(10, 30) 
71
end 
72
if zonlay == 3 then 
73
n1 = math.random(30,60) 
74
n2 = math.random(1,20) 
75
n3 = math.random(70,100) 
76
end 
77
spawns = 0 
78
trees = 0 
79
80
function decs(p) 
81
m = Instance.new("SpawnLocation") 
82
m.Parent = mod 
83
m.Size = Vector3.new(scale/2,char1[5],scale/2) 
84
m.BrickColor = BrickColor.new("Really black") 
85
m.Anchored = true 
86
m.CFrame = p.CFrame * CFrame.new(0,char1[5]/2,0) 
87
spawns = spawns + 1 
88
end 
89
90
function dect(p) 
91
if p.BrickColor.Name == char1[1] then else return end 
92
m = Instance.new("Part") 
93
m.Parent = mod 
94
m.Name = "Tree" 
95
m.Size = Vector3.new(scale/2,char1[5],scale/2) 
96
m.BrickColor = BrickColor.new("Dark green") 
97
m.Anchored = true 
98
m.CFrame = p.CFrame * CFrame.new(0,p.Size.Y/3,0) 
99
msh = Instance.new("SpecialMesh") 
100
msh.Parent = m 
101
msh.MeshId = "ff54d21ba63ff3073f34fda5cd1be3f1" 
102
msh.TextureId = "http://www.roblox.com/asset/?id=37476561" 
103
msh.Scale = Vector3.new(0.1,0.1,0.1) 
104
trees = trees + 1 
105
end 
106
107
108
109
function decor(par, tab, xb, zb) 
110
number = string.sub(par.Name:lower(), 5) 
111
par.Size = Vector3.new(scale,tab[math.random(5,#tab)],scale) 
112
par.BrickColor = BrickColor.new(tab[1]) 
113
par.Transparency = tab[3] 
114
par.CanCollide = tab[4] 
115
if tab[1] == "Reddish brown" then 
116
local variation = math.random(1,100)*-0.04 
117
par.CFrame = CFrame.new(xb,par.Size.Y/1.8+variation,zb) 
118
par.Friction = 0.6 
119
end 
120
if tab[1] == "Dark green" then 
121
local variation = math.random(1,100)*-0.004 
122
par.CFrame = CFrame.new(xb,par.Size.Y/1.5+variation,zb) 
123
par.Friction = 0.6 
124
end 
125
if tab[1] == "23" or tab[1] == "Pastel brown" then 
126
par.CFrame = CFrame.new(xb,par.Size.Y/1.5,zb) 
127
if tab[1] == "23" then 
128
par.Friction = 0.9 
129
end 
130
end 
131
end 
132
133
function scan(part, char, type) 
134
if type == "land" then 
135
tri = mod:GetChildren() 
136
for i = 1, #tri do 
137
if math.ceil((tri[i].Position - part.Position).magnitude) <= 15 then 
138
decor(tri[i], char, tri[i].CFrame.X, tri[i].CFrame.Z) 
139
end 
140
end 
141
elseif type == "water" then 
142
tri = mod:GetChildren() 
143
for i = 1, #tri do 
144
if math.ceil((tri[i].Position - part.Position).magnitude) > 0 and math.ceil((tri[i].Position - part.Position).magnitude) < 20 then 
145
if string.sub(tri[i].Name:lower(), 1, 4) == "part" then else return end 
146
decor(tri[i], char, tri[i].CFrame.X, tri[i].CFrame.Z) 
147
end 
148
if math.ceil((tri[i].Position - part.Position).magnitude) > 20 and math.ceil((tri[i].Position - part.Position).magnitude) < 30 then 
149
if string.sub(tri[i].Name:lower(), 1, 4) == "part" then else return end 
150
decor(tri[i], char4, tri[i].CFrame.X, tri[i].CFrame.Z) 
151
end 
152
end 
153
end 
154
end 
155
156
function forestscan(part) 
157
tri = mod:GetChildren() 
158
for i = 1, #tri do 
159
if math.ceil((tri[i].Position - part.Position).magnitude) < 20 then 
160
if string.sub(tri[i].Name:lower(), 1, 4) == "part" then else return end 
161
dect(tri[i]) 
162
end 
163
end 
164
end 
165
166
function createtile(number) 
167
p = Instance.new("Part") 
168
p.Parent = mod 
169
p.Name = "Part" ..tostring(number) 
170
if number == n1 or number == n2 then 
171
p.Name = "Clif" ..tostring(number) 
172
decor(p, char2, x, z) 
173
else 
174
if number == n3 then 
175
p.Name = "Wate" ..tostring(number) 
176
decor(p, char3, x, z) 
177
else 
178
decor(p, char1, x, z) 
179
end 
180
end 
181
p.BottomSurface = "Smooth" 
182
p.TopSurface = "Smooth" 
183
p.Anchored = true 
184
if x >= scale*25 then 
185
x = 0 
186
z = z + scale 
187
elseif x < scale*25 then 
188
x = x + scale 
189
end 
190
end 
191
192
for i = 1, 208 do 
193
wait() 
194
createtile(i) 
195
end 
196
t = mod:GetChildren() 
197
for i = 1, #t do 
198
if string.sub(t[i].Name:lower(), 1, 4) == "clif" then 
199
scan(t[i], char2, "land") 
200
end 
201
if string.sub(t[i].Name:lower(), 1, 4) == "wate" then 
202
scan(t[i], char3, "water") 
203
end 
204
if string.sub(t[i].Name:lower(), 1, 4) == "part" then 
205
local lol = math.random(1,25) 
206
if spawns == 0 and lol == 10 then 
207
decs(t[i]) 
208
end 
209
local lol2 = math.random(1,25) 
210
if trees == 0 and lol2 == 20 then 
211
dect(t[i]) 
212
forestscan(t[i]) 
213
end 
214
end 
215
end 
216
217
218
 
219
220
end)
221
RSTR = Instance.new("TextButton", Screen)
222
RSTR.Name = "RSTR"
223
RSTR.Text = "Clear game"
224
RSTR.Position = UDim2.new(0.25, 0, 0.5, 0)
225
RSTR.Size = UDim2.new(0.1, 0, 0.1, 0)
226
RSTR.Font = "Arial"
227
RSTR.FontSize = "Size24"
228
RSTR.TextWrapped = true
229
RSTR.BackgroundColor3 = Color3.new(0, 0, 1)
230
RSTR.TextColor3 = Color3.new(1, 1, 0)
231
RSTR.BackgroundTransparency = 0.7
232
RSTR.MouseButton1Down:connect(function()
233
game.Workspace.Terrain:clear()
234
function X(ws)
235
for _, v in pairs(ws:GetChildren()) do
236
v.Archivable = true
237
if v.Name ~= "UClear" and v.Name ~= "Terrain" and game.Players:GetPlayerFromCharacter(v)==nil and v~=game.Workspace.CurrentCamera then
238
if v:IsA("Script") or v:IsA("LocalScript") then
239
v.Disabled = true
240
v:remove()
241
else
242
v:remove()
243
end
244
end
245
if game.Workspace:findFirstChild("Base") ~= nil then
246
else
247
local Base=Instance.new("Part",game.Workspace) 
248
Base.Name="Base" 
249
Base.Size=Vector3.new(1000,1,1000) 
250
Base.BrickColor=BrickColor.new("Bright green") 
251
Base.Anchored=true 
252
Base.Locked=true 
253
Base.TopSurface="Studs" 
254
Base.CFrame=CFrame.new(Vector3.new(0,0,0)) 
255
local Spawn=Instance.new("SpawnLocation",game.Workspace)
256
Spawn.Name="lol"
257
Spawn.Size=Vector3.new(6,1,6)
258
Spawn.Transparency=1
259
Spawn.CanCollide=false
260
Spawn.Anchored=true
261
Spawn.Locked=true
262
Spawn.CFrame=CFrame.new(Vector3.new(0,1,0))
263
end
264
end
265
end
266
X(game.Workspace)
267
end)
268
FRST = Instance.new("TextButton", Screen)
269
FRST.Name = "FRST"
270
FRST.Text = "Jungle"
271
FRST.Position = UDim2.new(0.25, 0, 0.4, 0)
272
FRST.Size = UDim2.new(0.1, 0, 0.1, 0)
273
FRST.Font = "Arial"
274
FRST.FontSize = "Size24"
275
FRST.TextWrapped = true
276
FRST.BackgroundColor3 = Color3.new(0, 0, 1)
277
FRST.TextColor3 = Color3.new(1, 1, 0)
278
FRST.BackgroundTransparency = 0.7
279
FRST.MouseButton1Down:connect(function()
280
size = 240
281
282
CA = CFrame.Angles
283
CN = CFrame.new
284
V3 = Vector3.new
285
MR = math.rad
286
MP = math.pi
287
MRA = math.random
288
MH = math.huge
289
290
Wood = {"Brown", "Reddish brown"}
291
Leaves = {"Earth green", "Bright green", "Dark green", "Camo"}
292
LeafMeshes = {{"http://www.roblox.com/asset/?id=16659363", V3(2.05,-1.6,2.05)},
293
{"http://www.roblox.com/asset/?id=1091940", V3(1.2,0.6,1.2)}}
294
295
Rock = {"Medium grey", "Dark grey"}
296
297
Add = {
298
	Mesh = function(P, Id, Id2, scale)
299
		local m = Instance.new("SpecialMesh", P)
300
		m.Scale = scale
301
		m.MeshId = Id
302
		m.TextureId = Id2
303
	end
304
}
305
306
function Part(P, Anch, Coll, Tran, Ref, Col, X, Y, Z)
307
	local p = Instance.new("Part")
308
	p.TopSurface = 0
309
	p.BottomSurface = 0
310
	p.Transparency = Tran
311
	p.Reflectance = Ref
312
	p.CanCollide = Coll
313
	p.Anchored = Anch
314
	p.BrickColor = BrickColor.new(Col)
315
	p.formFactor = "Custom"
316
	p.Size = V3(X,Y,Z)
317
	p.Parent = P
318
	p.Locked = true
319
	p:BreakJoints()
320
	return p
321
end
322
323
Mod = Instance.new("Model",workspace)
324
Mod.Name = "Jungle"
325
326
Models = {
327
	function(cf, siz)
328
		local m = Instance.new("Model",Mod)
329
		local cen = cf * CN(0, 0, -38*siz)
330
		local wo = Wood[MRA(1,#Wood)]
331
		local le = Leaves[MRA(1,#Leaves)]
332
		local last = nil
333
		for i = 0, 1, 0.2 do
334
			local p = Part(m, true, true, 0, 0, wo, 3*siz, 5.7*siz, 3*siz)
335
			Instance.new("SpecialMesh",p)
336
			p.CFrame = cen * CA(MR(-40*i), 0, 0) * CN(0, 0, 38*siz)
337
			if wo == Wood[1] then wo = Wood[2] else wo = Wood[1] end
338
			last = p
339
		end
340
		local messa = LeafMeshes[MRA(1,#LeafMeshes)]
341
		local a = -3
342
		if messa == LeafMeshes[1] then
343
			a = 0.4
344
		end
345
		last.BrickColor = BrickColor.new(le)
346
		local p = Part(m, true, false, 0, 0, le, 0.2, 0.2, 0.2)
347
		local m = Add.Mesh(p, messa[1], "", V3((messa[2].X*10)*siz,(messa[2].Y*10)*siz,(messa[2].Z*10)*siz))
348
		p.CFrame = last.CFrame * CN(0, a*siz, 0) * CA(MP+MR(20), 0, 0)
349
	end,
350
	function(cf, siz)
351
		local m = Instance.new("Model",Mod)
352
		local ro1, ro2 = Rock[MRA(1,#Rock)], Rock[MRA(1,#Rock)]
353
		local p = Part(m, true, true, 0, 0, ro1, 7.5*siz, 7.5*siz, 7.5*siz)
354
		p.CFrame = cf * CN(0, 1.8*siz, 4*siz) * CA(MR(MRA(-180,180)), MR(MRA(-180,180)), MR(MRA(-180,180)))
355
		local ms = Add.Mesh(p, "http://www.roblox.com/asset/?id=1290033", "", V3(5*siz, 5*siz, 5*siz))
356
357
		local p2 = Part(m, true, true, 0, 0, ro2, 5.5*siz, 5.5*siz, 5.5*siz)
358
		p2.CFrame = cf * CN(7*siz, 1.5*siz, -6*siz) * CA(MR(MRA(-180,180)), MR(MRA(-180,180)), MR(MRA(-180,180)))
359
		local ms2 = Add.Mesh(p2, "http://www.roblox.com/asset/?id=1290033", "", V3(3.8*siz, 3.8*siz, 3.8*siz))
360
	end,
361
	function(cf, siz)
362
		local m = Instance.new("Model",Mod)
363
		local le = Leaves[MRA(1,#Leaves)]
364
365
		local p = Part(m, true, false, 0, 0, le, 0.2, 0.2, 0.2)
366
		p.CFrame = cf * CN(2*siz, 1.6*siz, -4*siz) * CA(0, 0, 0)
367
		local ms = Add.Mesh(p, "http://www.roblox.com/asset/?id=1095708", "", V3(12*siz, 11*siz, 10*siz))
368
369
		local p2 = Part(m, true, false, 0, 0, le, 0.2, 0.2, 0.2)
370
		p2.CFrame = cf * CN(-4*siz, 1.1*siz, -1*siz) * CA(0, MR(-34), 0)
371
		local ms2 = Add.Mesh(p2, "http://www.roblox.com/asset/?id=1095708", "", V3(10*siz, 7.5*siz, 8*siz))
372
	end,
373
	function(cf, siz)
374
		local m = Instance.new("Model",Mod)
375
376
		local p = Part(m, true, false, 0, 0, "Bright green", 0.2, 0.2, 0.2)
377
		p.CFrame = cf * CN(2*siz, 1.1*siz, -4*siz) * CA(0, 0, 0)
378
		local ms = Add.Mesh(p, "http://www.roblox.com/asset/?id=16659363", "http://www.roblox.com/asset/?id=16659355", V3(10*siz, 14*siz, 10*siz))
379
380
		local p2 = Part(m, true, false, 0, 0, "Bright green", 0.2, 0.2, 0.2)
381
		p2.CFrame = cf * CN(-4*siz, 0.7*siz, 1*siz) * CA(MR(MRA(-15,15)), MR(MRA(-180,180)), MR(MRA(-15,15)))
382
		local ms2 = Add.Mesh(p2, "http://www.roblox.com/asset/?id=16659363", "http://www.roblox.com/asset/?id=16659355", V3(7*siz, 11*siz, 6*siz))
383
	end,
384
	function(cf, siz)
385
		local m = Instance.new("Model",Mod)
386
387
		local p = Part(m, true, true, 0, 0, "White", 1.2*siz, 6*siz, 1.2*siz)
388
		p.CFrame = cf * CN((MRA(-4*100,4*100)/100)*siz, 3.2*siz, (MRA(-4*100,4*100)/100)*siz) * CA(0, MR(MRA(-180,180)), 0)
389
		local ms = Add.Mesh(p, "http://www.roblox.com/asset/?id=1090398", "http://www.roblox.com/asset/?id=1090399", V3(3.5*siz, 5*siz, 3.5*siz))
390
	end,
391
	function(cf, siz)
392
		local m = Instance.new("Model",Mod)
393
		local col = Wood[MRA(1,#Wood)]
394
		local p = Part(m, true, true, 0, 0, col, 2.8*siz, 22*siz, 2.8*siz)
395
		Instance.new("SpecialMesh",p)
396
		p.CFrame = cf * CN((MRA(-4*100,4*100)/100)*siz, 11*siz, (MRA(-4*100,4*100)/100)*siz) * CA(0, MR(MRA(-180,180)), 0)
397
		local leave = Leaves[MRA(1, #Leaves)]
398
		local mes = LeafMeshes[MRA(1, #LeafMeshes)]
399
		local a = 3
400
		local ca = CA(MR(MRA(-30, 30)), MR(MRA(-180, 180)), MR(MRA(-30, 30)))
401
		if mes == LeafMeshes[1] then
402
			a = -0.5
403
			ca = ca * CA(MP, 0, 0)
404
		end
405
		for i = 1, MRA(1,5) do
406
			local cf2 = p.CFrame * CA(0, MR(MRA(-180,180)), 0) * CN(0, (MRA(2*100, 14*100)/100)*siz, -1.4*siz)
407
			local center = cf2 * CN(0, 0, -8*siz) * CA(0, 0, 0)
408
			local first = nil
409
			for x = 0, 45, 15 do
410
				local p2 = Part(m, true, true, 0, 0, col, 2.5*siz, 4*siz, 2.5*siz)
411
				Instance.new("SpecialMesh", p2)
412
				p2.CFrame = center * CN(0, 0, 4*siz) * CA(MR(x), 0, 0) * CN(0, 0, 10*siz) * CA(0, 0, 0)
413
				if first == nil then first = p2 end
414
			end
415
			local p3 = Part(m, true, false, 0, 0, leave, 0.2, 0.2, 0.2)
416
			Add.Mesh(p3, mes[1], "", (mes[2]*7)*siz)
417
			local ca2 = CA(MR(MRA(-30, 30)), MR(MRA(-180, 180)), MR(MRA(-30, 30)))
418
			if mes == LeafMeshes[1] then
419
				ca2 = ca2 * CA(MP, 0, 0)
420
			end
421
			p3.CFrame = first.CFrame * CN(0, a*siz, 0) * ca2
422
		end
423
		local p3 = Part(m, true, false, 0, 0, leave, 0.2, 0.2, 0.2)
424
		Add.Mesh(p3, mes[1], "", (mes[2]*9)*siz)
425
		local cn = p.CFrame * CN(0, 11*siz, 0)
426
		p3.CFrame = cn * CN(0, a*siz, 0) * ca
427
	end,
428
}
429
430
pos = CN(0, 0, 0)
431
432
433
local base = Part(Mod, true, true, 0, 0, Leaves[MRA(1,#Leaves)], size, 1, size)
434
base.CFrame = pos * CN(0, 1, 0)
435
base.Material = "Grass"
436
437
for x = -size/2, size/2, 20 do
438
	for z = -size/2, size/2, 20 do
439
		Models[MRA(1, #Models)](pos * CN(x+(MRA(-4*1000, 4*1000)/1000), 1.2, z+(MRA(-4*1000, 4*1000)/1000)) * CA(0, MR(MRA(-180,180)), 0), MRA(1.1*100, 2.4*100)/100)
440
	end
441
	wait(0.2)
442
end
443
444
end)
445
RKT = Instance.new("TextButton", Screen)
446
RKT.Name = "RKT"
447
RKT.Text = "TF2 Launcher"
448
RKT.Position = UDim2.new(0.25, 0, 0.3, 0)
449
RKT.Size = UDim2.new(0.1, 0, 0.1, 0)
450
RKT.Font = "Arial"
451
RKT.FontSize = "Size24"
452
RKT.TextWrapped = true
453
RKT.BackgroundColor3 = Color3.new(0, 0, 1)
454
RKT.TextColor3 = Color3.new(1, 1, 0)
455
RKT.BackgroundTransparency = 0.7
456
RKT.MouseButton1Down:connect(function()
457
script.Parent = nil
458
 
459
it = Instance.new
460
 
461
v3=Vector3.new
462
 
463
bc=BrickColor.new
464
 
465
c3=Color3.new
466
 
467
cn=CFrame.new
468
 
469
ca=CFrame.Angles
470
 
471
ca2=function(a,b,c) return ca(math.rad(a),math.rad(b),math.rad(c)) end
472
 
473
ti=table.insert
474
 
475
tr=table.remove
476
 
477
rn=math.random
478
 
479
rd=math.rad
480
 
481
mf=math.floor
482
 
483
ud = UDim2.new
484
 
485
inf=math.huge
486
 
487
dg=math.deg
488
 
489
mdeg=math.deg
490
 
491
v310=v3(1/0,1/0,1/0)
492
 
493
pi=math.pi
494
 
495
w=wait
496
 
497
cf=cn
498
 
499
bn=bc
500
 
501
ts=tostring
502
 
503
 
504
Workspace=game:GetService("Workspace")
505
 
506
Players=game:GetService("Players")
507
 
508
LocalPlayer=Players.LocalPlayer
509
 
510
Lighting=game:GetService("Lighting")
511
 
512
Debris=game:GetService("Debris")
513
 
514
 
515
work=Workspace
516
 
517
serv=Players
518
 
519
tb=LocalPlayer
520
 
521
light=Lighting
522
 
523
deb=Debris
524
 
525
 
526
asset = "http://www.roblox.com/asset/?id="
527
 
528
ds = {}
529
 
530
ds.Tile="58426060" -- texture
531
 
532
ds.RedDecal='91015882'  
533
 
534
ds.RedDecal2='91015899'  
535
 
536
ds.RedDecal3='91046114'
537
 
538
ds.AnonymousMask="19367193" -- mesh
539
 
540
ds.AnonymousMaskTexture="72393530" -- texture
541
 
542
ds.Balloon="10207677"
543
 
544
ds.CelestialCircle="78036587"
545
 
546
ds.SFOTHMoonArc="74132307"
547
 
548
ds.Claw = "10681506"
549
 
550
ds.Scream = "89487903"
551
 
552
ds.Ring = "3270017"
553
 
554
ds.Crack = "49173398"
555
 
556
ds.Cloud = "1095708"
557
 
558
ds.Slash3 = "10209640"
559
 
560
ds.Spike = "1033714"
561
 
562
ds.ThisIsRobloxSound="96673085"
563
 
564
ds.BashMiss="92597296"
565
 
566
ds.TelamonsterSword="93180631"
567
 
568
ds.TelamonsterSwordT="93180676"
569
 
570
ds.Rock = "1290033"
571
 
572
ds.Crown = "1323306"
573
 
574
ds.Hood = "16952952"
575
 
576
ds.Slash = "10209645"
577
 
578
ds.Slash2 = "46760716"
579
 
580
ds.MadFace = "2235131"
581
 
582
ds.BanditMask = "20637493"
583
 
584
ds.Hood2 = "25211365"
585
 
586
ds.HoodT2 = "64240784"
587
 
588
ds.Axe = "12768042"
589
 
590
ds.AxeT = "12768034"
591
 
592
ds.Fist = "65322375"
593
 
594
ds.Tree1 = "1090398"
595
 
596
ds.Vine = "13108500"
597
 
598
ds.VineT = "17585271"
599
 
600
ds.TreeTexture = "2861779"
601
 
602
ds.Tug = "31173820" -- sound
603
 
604
ds.Fire = "2693346" --"2760979"
605
 
606
ds.Hit = "2801263"
607
 
608
ds.BulletHole = "64291961"
609
 
610
ds.Camo = "4268107"
611
 
612
ds.Gradient1 = "70060415"
613
 
614
ds.DWrench = "70628302"
615
 
616
ds.DHealth = "70635804"
617
 
618
ds.Shine="48965808"
619
 
620
ds.GothicMusic="27697699"
621
 
622
 
623
qi = function(ttz) -- instance v2
624
 
625
 local qii = it(ttz[1])  table.foreach(ttz,function(oi,oi2)
626
 
627
 if oi ~= 1 and oi ~= 2 then  qii[oi] = oi2  end  end) qii.Parent=ttz[2] return qii end
628
 
629
 
630
table.foreach(ds,function(a,b) -- asset loader
631
 
632
 if tonumber(b:sub(1,3)) then ds[a] = asset .. b game:service'ContentProvider':Preload(ds[a])  end end)
633
 
634
 
635
q = function(f) -- quick coroutine function
636
 
637
 coroutine.resume(coroutine.create(function() f() end)) end
638
 
639
 
640
 
641
ft = function(tablez,item) -- table finder
642
 
643
 for i=1,#tablez do if tablez[i] == item then return i end end  return nil end
644
 
645
 
646
ft2 = function(tablez,item) -- table finder 2
647
 
648
 for i=1,#tablez do  if tablez[i][1] == item then  return i  end  end  return nil end
649
 
650
 
651
pa = function(pa,pn,sh,x,y,z,c,a,tr,re,bc2) -- part maker
652
 
653
 local fp=nil
654
 
655
 if sh ~= "Wedge" and sh ~= "CornerWedge" and sh ~= "VehicleSeat" and sh ~= "Seat" then
656
 
657
 fp=it("Part",pa)
658
 
659
 fp.Shape=sh or "Block"
660
 
661
 fp.formFactor="Custom"
662
 
663
 elseif sh == "Wedge" then
664
 
665
 fp=it("WedgePart",pa)
666
 
667
 fp.formFactor="Custom"
668
 
669
 elseif sh == "CornerWedge" then
670
 
671
 fp=it("CornerWedgePart",pa)
672
 
673
 elseif sh == "VehicleSeat" then
674
 
675
 fp=it("VehicleSeat",pa)
676
 
677
 elseif sh == "Seat" then
678
 
679
 fp=it("Seat",pa)
680
 
681
 end
682
 
683
 fp.Size=v3(x or 4,y or 2,z or 2)
684
 
685
 fp.Friction = 2
686
 
687
 fp.CanCollide=c or true
688
 
689
 fp.Anchored=a or false
690
 
691
 fp.BrickColor=bc(bc2 or "")
692
 
693
 fp.Transparency=tr or 0
694
 
695
 fp.Reflectance=re or 0
696
 
697
 fp.BottomSurface=0
698
 
699
 fp.Name=pn or "UnNamed"
700
 
701
 fp.Locked = true
702
 
703
 fp.TopSurface=0
704
 
705
 fp.CFrame=cn(0,0,0)
706
 
707
 fp:BreakJoints()
708
 
709
 fp.Anchored = a
710
 
711
 return fp
712
 
713
end
714
 
715
 
716
function ClearClass(Object,Class) for _,v in pairs(Object:GetChildren()) do if v:IsA(Class) then v:Destroy() end end end
717
 
718
 
719
function re(par,obj) -- object remover
720
 
721
 if par:findFirstChild(obj) then
722
 
723
 par[obj]:Remove''
724
 
725
 end
726
 
727
end
728
 
729
 
730
function invis(o) -- model invisible
731
 
732
 for i,v in pairs(o:children()) do
733
 
734
 if v:IsA("BasePart") then
735
 
736
 v.Transparency=1
737
 
738
 end
739
 
740
 invis(v)
741
 
742
 end
743
 
744
end
745
 
746
 
747
FragmentIgnore={}
748
 
749
function Fragment(part, pos) -- The part to slice, and the position of the blade(might have to modify it).
750
 
751
        if part:IsA("Terrain") or part.Name=="Hitbox" then return end
752
 
753
        local s = part.Size
754
 
755
        local d = part.CFrame:pointToObjectSpace(pos)
756
 
757
        local d = Vector3.new(math.floor(d.x * 2 + 0.5) / 2, math.floor(d.y * 2 + 0.5) / 2, math.floor(d.z / 2 + 0.5) * 2)
758
 
759
        if math.abs(d.x)*2 / s.x <= 8 and math.abs(d.y)*2 / s.y <= 8 and math.abs(d.z)*2 / s.z <= 8 then
760
 
761
                table.insert(FragmentIgnore,part)
762
 
763
                local part1 = part:Clone() -- Top
764
 
765
                local part2 = part:Clone() -- Bottom
766
 
767
                table.insert(FragmentIgnore,part1)
768
 
769
                table.insert(FragmentIgnore,part2)
770
 
771
                local size1 = s.y/2 - d.y
772
 
773
                local size2 = s.y/2 + d.y
774
 
775
                local frame1 = s.y/2 - size1/2
776
 
777
                local frame2 = -s.y/2 + size2/2
778
 
779
                part1.formFactor = "Custom"
780
 
781
                part2.formFactor = "Custom"
782
 
783
                part1.Size = Vector3.new(part.Size.x, size1, part.Size.Z)
784
 
785
                part2.Size = Vector3.new(part.Size.x, size2, part.Size.Z)
786
 
787
                part1.CFrame = part.CFrame * CFrame.new(0, frame1, 0)
788
 
789
                part2.CFrame = part.CFrame * CFrame.new(0, frame2, 0)
790
 
791
                part2.Parent = Workspace
792
 
793
                part1.Parent = Workspace
794
 
795
                part2:BreakJoints()
796
 
797
                part1:BreakJoints()
798
 
799
                part:Destroy()
800
 
801
        end
802
 
803
end
804
 
805
 
806
function newhats(p,o,o2) -- new hats yeyeyey
807
 
808
 for i,v in pairs(p:children()) do
809
 
810
 if v:IsA("Hat") then
811
 
812
 local np=v.Handle:Clone''
813
 
814
 np.Transparency=0
815
 
816
 np.Mesh.Scale=np.Mesh.Scale*1.04
817
 
818
 np.Parent=o
819
 
820
 np.CFrame=v.Handle.CFrame
821
 
822
 np.Name="Hat"
823
 
824
 stick2(np,o2,o)
825
 
826
 end
827
 
828
 end
829
 
830
end
831
 
832
 
833
fade = function(prt,incr) --brick fader
834
 
835
 q(function()  for i=prt.Transparency,1,incr do  prt.Transparency=i wait()  end prt:Remove'' end) end
836
 
837
 
838
 
839
function weld(pa,p0,p1,x,y,z,a,b,c)
840
 
841
 local fw=it("Weld",pa)
842
 
843
 fw.Part0=p0
844
 
845
 fw.Part1=p1
846
 
847
 fw.C0=cn(x,y,z)*ca(a,b,c)
848
 
849
 return fw
850
 
851
end
852
 
853
 
854
 
855
stick = function(hit2,hit) -- stick function
856
 
857
 return qi({"Weld",hit2,Part0=hit2,Part1=hit,C0=hit2.CFrame:inverse()*cn(hit2.Position),C1=hit.CFrame:inverse()*cn(hit2.Position)}) end
858
 
859
 
860
function stick2(hit2,hit,tostick) -- stick2 function
861
 
862
 local weld=it("Weld") weld.Part0=tostick weld.Part1=hit2 local HitPos=hit.Position local CJ=cn(HitPos) local C0=hit2.CFrame:inverse()
863
 
864
 
865
*CJ local C1=hit.CFrame:inverse() * CJ weld.C0=C1 weld.C1=C0 weld.Parent=hit2 end
866
 
867
 
868
ray = function(Pos, Dir,tab) -- ray cast
869
 
870
 return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999),tab) end
871
 
872
 
873
 
874
function rtab(tabz,obj) for i=1,#tabz do if tabz[i] == obj then tr(tabz,i) break end end end
875
 
876
 
877
sTrail={}
878
 
879
function Trail2(lopz,ob,waitz,col,thickz,ofz) cw(function() ti(sTrail,ob)
880
 
881
local oldpos=(ob.CFrame *ofz).p local lopz2=0
882
 
883
local function loltr() local obp=(ob.CFrame *ofz).p lopz2=lopz2 + 1
884
 
885
local mag=(oldpos - obp).magnitude
886
 
887
local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col) tr.Anchored=true
888
 
889
tr.CFrame=cn(oldpos,obp)
890
 
891
tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
892
 
893
local trm=it("CylinderMesh",tr) trm.Scale=v3(5*thickz,mag*5,5*thickz)
894
 
895
cw(function() for i=5*thickz,0,-5*thickz/10 do trm.Scale=v3(i,mag*5,i) w() end tr:Remove'' end)
896
 
897
tr.CFrame=tr.CFrame *ca(rd(90),0,0) oldpos=obp end
898
 
899
repeat loltr()
900
 
901
wait(waitz) until ft(sTrail,ob) == nil or lopz2 == lopz loltr() end) end
902
 
903
 
904
Trail = function(ob,times,waitz,col,thickz,ofz) -- Brick Trail
905
 
906
 q(function()
907
 
908
 local oldpos=(ob.CFrame *ofz).p
909
 
910
 for i=1,times do
911
 
912
 if effon==true then
913
 
914
 local obp=(ob.CFrame *ofz).p
915
 
916
 local mag=(oldpos - obp).magnitude
917
 
918
 local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col)
919
 
920
 tr.Anchored=true
921
 
922
 tr.CFrame=cn(oldpos,obp)
923
 
924
 tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
925
 
926
 trm=it("CylinderMesh",tr)
927
 
928
 trm.Scale=v3(thickz,mag*5,thickz)
929
 
930
 q(function()
931
 
932
 for i=thickz,0,thickz/10 do
933
 
934
 trm.Scale=v3(i,mag*5,i)
935
 
936
 wait()
937
 
938
 end
939
 
940
 tr:Remove''
941
 
942
 end)
943
 
944
 tr.CFrame=tr.CFrame *ca(rd(90),0,0)
945
 
946
 oldpos=obp wait(waitz)
947
 
948
 end
949
 
950
 end
951
 
952
 end)
953
 
954
end
955
 
956
 
957
de = function(it,ti) game:service'Debris':AddItem(it,ti) end -- Debris
958
 
959
 
960
GlowMesh = function(anch,meshid2,rootz,mv3,colzz,adjus,l1,l2,l3) q(function() -- Glowmesh
961
 
962
local spi=pa(rootz,"glowmesh","Block",mv3.X,mv3.Y,mv3.Z,false,false,l1,0,colzz) local spim=it("SpecialMesh",spi) spi.CanCollide=false if
963
 
964
 
965
meshid2:lower()=="sphere" then spim.MeshType="Sphere" elseif meshid2:lower()=="block" then spim=it("BlockMesh",spi) else
966
 
967
 
968
spim.MeshType="FileMesh" spim.MeshId=meshid2 end
969
 
970
if anch then local spiw=qi({"Weld",spi,Part0=rootz,Part1=spi}) spiw.C0 =spiw.C0 *adjus else spi.Anchored=true spi.CFrame=adjus end
971
 
972
for i=l1,l2,l3 do spi.Transparency=i spim.Scale=mv3*(i+0.3) wait() end spi:Remove'' end)
973
 
974
end
975
 
976
 
977
DetectSurface = function(pos, part) -- Surface Detector
978
 
979
local surface = nil local pospos = part.CFrame
980
 
981
local pos2 = pospos:pointToObjectSpace(pos) local siz = part.Size local shaep = part.Shape
982
 
983
if shaep == Enum.PartType.Ball or shaep == Enum.PartType.Cylinder then
984
 
985
surface = {"Anything", cn(pospos.p, pos)*cn(0, 0, -(pospos.p - pos).magnitude+0.12)*ca(rd(-90), 0, 0)}
986
 
987
else if pos2.Y > ((siz.Y/2)-0.01) then surface = {"Top", ca(0, 0, 0)}
988
 
989
elseif pos2.Y < -((siz.Y/2)-0.01) then surface = {"Bottom", ca(-math.pi, 0, 0)} elseif pos2.X > ((siz.X/2)-0.01) then surface = {"Right",
990
 
991
 
992
ca(0, 0, rd(-90))}
993
 
994
elseif pos2.X < -((siz.X/2)-0.01) then surface = {"Left", ca(0, 0, rd(90))} elseif pos2.Z > ((siz.Z/2)-0.01) then surface = {"Back", ca
995
 
996
 
997
(rd(90), 0, 0)} elseif pos2.Z < -((siz.Z/2)-0.01) then surface = {"Front", ca(rd(-90), 0, 0)} end end return surface end
998
 
999
 
1000
BulletHole = function(HitPos,HitObj,sc,img,par) -- Bullethole function
1001
 
1002
local Surface = DetectSurface(HitPos, HitObj)
1003
 
1004
local C = cn(HitPos) * ca(HitObj.CFrame:toEulerAnglesXYZ()) * Surface[2]
1005
 
1006
if Surface[1] == "Anything" then C = Surface[2] end local theimg = img or ds.BulletHole
1007
 
1008
local bl = pa(workspace or par,"bullethole","Block",sc,0,sc,false,true,1,0,"") qi({"Decal",bl,Face="Top",Texture=theimg})
1009
 
1010
bl.CFrame = C*cn(0,-0.1,0) if not HitObj.Anchored then bl.Anchored = false stick(bl,HitObj) bl.ChildRemoved:connect(function() bl:Remove() end) end q(function() wait(5) for i=0,1,0.05 do bl.Size=v3(-i*sc,0,-i*sc) wait() end de(bl,0) end)
1011
 
1012
end
1013
 
1014
 
1015
so = function(id,par,vol,pit) q(function() -- Sound maker
1016
 
1017
local sou = qi({"Sound",par or workspace,Volume=vol,Pitch=pit or 1,SoundId=id})
1018
 
1019
wait() sou:play() wait(6) sou:Remove() end) end
1020
 
1021
 
1022
-- local/so(asset..ds.GothicMusic,workspace,1,2.6)
1023
 
1024
 
1025
function GetRegion(p0,p1,f,f2) q(function()
1026
 
1027
for i,v in pairs(workspace:FindPartsInRegion3(Region3.new(p0,p1),c,100) ) do if v.Parent:findFirstChild("Humanoid") and
1028
 
1029
 
1030
v.Parent.Humanoid.Health > 0 and v.Parent:findFirstChild("Torso") then q(function() f(v.Parent) end) elseif f2 and
1031
 
1032
 
1033
v.Parent.Parent:findFirstChild("Humanoid") == nil then f2(v) end end
1034
 
1035
end) end
1036
 
1037
 
1038
 
1039
FindGround = function(pos) -- ground finder
1040
 
1041
 local ax,ay,az = pos:toEulerAnglesXYZ()
1042
 
1043
 local bhit,bpos=ray(pos.p,pos.p - (pos.p + v3(0,200,0)))
1044
 
1045
 if bhit and bpos then
1046
 
1047
 return cn(bpos)*ca(ax,ay,az)
1048
 
1049
 end
1050
 
1051
 return nil
1052
 
1053
end
1054
 
1055
 
1056
function NPC(Name, Position) -- npc maker
1057
 
1058
        local Character = Instance.new("Model")
1059
 
1060
        Character.Name = Name
1061
 
1062
        local Humanoid = Instance.new("Humanoid")
1063
 
1064
        Humanoid.Parent = Character
1065
 
1066
        local Template = Instance.new("Part")
1067
 
1068
        Template.FormFactor = "Custom"
1069
 
1070
        Template.Size = Vector3.new(1, 2, 1)
1071
 
1072
        Template.Locked = true
1073
 
1074
        local Head = Template:Clone()
1075
 
1076
        Head.Name = "Head"
1077
 
1078
        Head.TopSurface = "Smooth"
1079
 
1080
        Head.BottomSurface = "Smooth"
1081
 
1082
        Head.Size = Vector3.new(2, 1, 1)
1083
 
1084
        Head.Parent = Character
1085
 
1086
        local Mesh = Instance.new("SpecialMesh")
1087
 
1088
        Mesh.MeshType = "Head"
1089
 
1090
        Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
1091
 
1092
        Mesh.Parent = Head
1093
 
1094
        local Face = Instance.new("Decal")
1095
 
1096
        Face.Name = "face"
1097
 
1098
        Face.Texture = "rbxasset://textures/face.png"
1099
 
1100
        Face.Parent = Head
1101
 
1102
        local Torso = Template:Clone()
1103
 
1104
        Torso.Name = "Torso"
1105
 
1106
        Torso.LeftSurface = "Weld"
1107
 
1108
        Torso.RightSurface = "Weld"
1109
 
1110
        Torso.CFrame = CFrame.new(0, 10000, 0)
1111
 
1112
        Torso.Size = Vector3.new(2, 2, 1)
1113
 
1114
        Torso.Parent = Character
1115
 
1116
        local TShirt = Instance.new("Decal")
1117
 
1118
        TShirt.Name = "roblox"
1119
 
1120
        TShirt.Parent = Torso
1121
 
1122
        local LeftArm = Template:Clone()
1123
 
1124
        LeftArm.Name = "Left Arm"
1125
 
1126
        LeftArm.Parent = Character
1127
 
1128
        local RightArm = Template:Clone()
1129
 
1130
        RightArm.Name = "Right Arm"
1131
 
1132
        RightArm.Parent = Character
1133
 
1134
        local LeftLeg = Template:Clone()
1135
 
1136
        LeftLeg.Name = "Left Leg"
1137
 
1138
        LeftLeg.Parent = Character
1139
 
1140
        local RightLeg = Template:Clone()
1141
 
1142
        RightLeg.Name = "Right Leg"
1143
 
1144
        RightLeg.Parent = Character
1145
 
1146
        Character:BreakJoints()
1147
 
1148
        local Neck = Instance.new("Weld")
1149
 
1150
        Neck.Name = "Neck"
1151
 
1152
        Neck.Part0 = Torso
1153
 
1154
        Neck.Part1 = Head
1155
 
1156
        Neck.C0 = CFrame.new(0, 1.5, 0)
1157
 
1158
        Neck.Parent = Torso
1159
 
1160
        local LeftShoulder = Instance.new("Motor")
1161
 
1162
        LeftShoulder.Name = "Left Shoulder"
1163
 
1164
        LeftShoulder.Part0 = Torso
1165
 
1166
        LeftShoulder.Part1 = LeftArm
1167
 
1168
        LeftShoulder.MaxVelocity = 0.1
1169
 
1170
        LeftShoulder.C0 = CFrame.new(-Torso.Size.x / 2 - RightArm.Size.x / 2, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -
1171
 
1172
 
1173
math.pi / 2, 0)
1174
 
1175
        LeftShoulder.C1 = CFrame.new(0, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
1176
 
1177
        LeftShoulder.Parent = Torso
1178
 
1179
        local RightShoulder = Instance.new("Motor")
1180
 
1181
        RightShoulder.Name = "Right Shoulder"
1182
 
1183
        RightShoulder.Part0 = Torso
1184
 
1185
        RightShoulder.Part1 = RightArm
1186
 
1187
        RightShoulder.MaxVelocity = 0.1
1188
 
1189
        RightShoulder.C0 = CFrame.new(Torso.Size.x / 2 + RightArm.Size.x / 2, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0,
1190
 
1191
 
1192
math.pi / 2, 0)
1193
 
1194
        RightShoulder.C1 = CFrame.new(0, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
1195
 
1196
        RightShoulder.Parent = Torso
1197
 
1198
        local LeftHip = Instance.new("Motor")
1199
 
1200
        LeftHip.Name = "Left Hip"
1201
 
1202
        LeftHip.Part0 = Torso
1203
 
1204
        LeftHip.Part1 = LeftLeg
1205
 
1206
        LeftHip.MaxVelocity = 0.1
1207
 
1208
        LeftHip.C0 = CFrame.new(-LeftLeg.Size.x / 2, -LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
1209
 
1210
        LeftHip.C1 = CFrame.new(0, LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
1211
 
1212
        LeftHip.Parent = Torso
1213
 
1214
        local RightHip = Instance.new("Motor")
1215
 
1216
        RightHip.Name = "Right Hip"
1217
 
1218
        RightHip.Part0 = Torso
1219
 
1220
        RightHip.Part1 = RightLeg
1221
 
1222
        RightHip.MaxVelocity = 0.1
1223
 
1224
        RightHip.C0 = CFrame.new(RightLeg.Size.x / 2, -RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
1225
 
1226
        RightHip.C1 = CFrame.new(0, RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
1227
 
1228
        RightHip.Parent = Torso
1229
 
1230
        local BodyColors = Instance.new("BodyColors")
1231
 
1232
        BodyColors.LeftArmColor = BrickColor.new("Bright yellow")
1233
 
1234
        BodyColors.RightArmColor = BrickColor.new("Bright yellow")
1235
 
1236
        BodyColors.LeftLegColor = BrickColor.new("Br. yellowish green")
1237
 
1238
        BodyColors.RightLegColor = BrickColor.new("Br. yellowish green")
1239
 
1240
        BodyColors.HeadColor = BrickColor.new("Bright yellow")
1241
 
1242
        BodyColors.TorsoColor = BrickColor.new("Bright blue")
1243
 
1244
        BodyColors.Parent = Character
1245
 
1246
        Character.Parent = Workspace
1247
 
1248
        Character:MoveTo(Position)
1249
 
1250
        Character:MoveTo(Torso.Position + Vector3.new(0, 3, 0))
1251
 
1252
        return Character
1253
 
1254
end
1255
 
1256
 
1257
AddBV=function(str,cfr,par,debt)
1258
 
1259
if not par then return end
1260
 
1261
if par:findFirstChild'LibBV' then par.LibBV:Remove() end
1262
 
1263
tbbodyvelocity=qi{'BodyVelocity',par,velocity=cfr.lookVector*str,maxForce=v3(1/0,1/0,1/0),Name='LibBV'} deb:AddItem(tbbodyvelocity,debt)
1264
 
1265
end
1266
 
1267
 
1268
AddBG=function(str,par,debt)
1269
 
1270
if not par then return end
1271
 
1272
if par:findFirstChild'LibBG' then par.LibBG:Remove() end
1273
 
1274
tbbodygyro=qi{'BodyGyro',par,maxTorque=v3(1/0,1/0,1/0),P=100000,cframe=str,Name='LibBG'} deb:AddItem(tbbodygyro,debt)
1275
 
1276
end
1277
 
1278
 
1279
AddBAV=function(vec3,par,debt)
1280
 
1281
if not par then return end
1282
 
1283
if par:findFirstChild'LibBAV' then par.LibBAV:Remove() end
1284
 
1285
tbbodyangularvelocity=qi{'BodyAngularVelocity',par,maxTorque=v3(1/0,1/0,1/0),angularvelocity=vec3,Name='LibBAV'} deb:AddItem(tbbodyangularvelocity,debt)
1286
 
1287
end
1288
 
1289
 
1290
Dmg = function(Hum,Dealt,Hitter)
1291
 
1292
local HM=Hum.Parent
1293
 
1294
local HMT,HMB=HM:findFirstChild'Torso',HM:findFirstChild'Block'
1295
 
1296
local Blocks=HMB and HMB.Value>0
1297
 
1298
if HMT then
1299
 
1300
local mm=qi{'Model',HMT} qi{'Humanoid',mm,MaxHealth=0} deb:AddItem(mm,1)
1301
 
1302
local mp= qi{'Part',mm,Name='Head',formFactor="Custom",Anchored=true,CanCollide=false,Size=v3(1,0.2,1),CFrame=HMT.CFrame*cn(rn(-
1303
 
1304
 
1305
100,100)/50,3,rn(-100,100)/50)} qi{'BlockMesh',mp}
1306
 
1307
if Blocks then
1308
 
1309
mm.Name='Block!'
1310
 
1311
mp.BrickColor=bn'Bright blue'
1312
 
1313
HMB.Value=HMB.Value-1
1314
 
1315
else
1316
 
1317
mm.Name=Dealt
1318
 
1319
mp.BrickColor=bn'Bright red'
1320
 
1321
end
1322
 
1323
end
1324
 
1325
if not Blocks then  
1326
 
1327
Hum.Health=Hum.Health-Dealt
1328
 
1329
end
1330
 
1331
end
1332
 
1333
 
1334
GetHum = function(part)
1335
 
1336
local Hum,HT,block
1337
 
1338
for i,v in pairs(part.Parent:children()) do
1339
 
1340
if v:IsA("Humanoid") then
1341
 
1342
Hum=v
1343
 
1344
elseif v.Name=='Torso' then
1345
 
1346
HT=v
1347
 
1348
elseif v.Name=='Block' and v:IsA("NumberValue") then
1349
 
1350
block=v
1351
 
1352
end
1353
 
1354
end
1355
 
1356
return Hum,HT,block
1357
 
1358
end
1359
 
1360
 
1361
Lightning = function(p0,p1,tym,ofs,col,th,tra) -- start end times offset color thickness
1362
 
1363
local magz = (p0 - p1).magnitude local curpos = p0 local trz = {-ofs,ofs}
1364
 
1365
for i=1,tym do
1366
 
1367
local li = it("Part",c) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true  li.Transparency = tra or 0.4 li.BrickColor = bc(col)
1368
 
1369
li.formFactor = "Custom" li.CanCollide = false li.Size = v3(th,th,magz/tym) local ofz = v3(trz[rn(1,2)],trz[rn(1,2)],trz[rn(1,2)])
1370
 
1371
local trolpos = cn(curpos,p1)*cn(0,0,magz/tym).p+ofz
1372
 
1373
if tym == i then
1374
 
1375
local magz2 = (curpos - p1).magnitude li.Size = v3(th,th,magz2)
1376
 
1377
li.CFrame = cn(curpos,p1)*cn(0,0,-magz2/2)
1378
 
1379
else
1380
 
1381
li.CFrame = cn(curpos,trolpos)*cn(0,0,magz/tym/2)
1382
 
1383
end
1384
 
1385
curpos = li.CFrame*cn(0,0,magz/tym/2).p de(li,0.25)
1386
 
1387
end
1388
 
1389
end
1390
 
1391
 
1392
MakeCrater = function(pos,sc,tyms,debz,par) -- crater maker
1393
 
1394
 q(function()
1395
 
1396
 if not debz then
1397
 
1398
 debz = 5
1399
 
1400
 end
1401
 
1402
 local bhit,bpos=ray(pos,pos - (pos + v3(0,200,0))) if bhit and bpos then
1403
 
1404
 for i=1,tyms do
1405
 
1406
 q(function()
1407
 
1408
 local gr = pa(par or workspace,"","Block",rn(5,13)/10*sc,0.25*sc,rn(4,10)/10*sc,true,true,bhit.Transparency,bhit.Reflectance,bhit.BrickColor.Name)
1409
 
1410
 gr.Material = bhit.Material
1411
 
1412
 gr.TopSurface = bhit.TopSurface
1413
 
1414
 gr.CFrame = cn(bpos+v3(rn(-12,12)/10*sc,0,rn(-12,12)/10*sc))*ca(rd(rn(-40,40)),rd(rn(-360,360)),rd(rn(-40,40)))
1415
 
1416
 wait(debz)
1417
 
1418
 fade(gr,0.1)
1419
 
1420
 end)
1421
 
1422
 end
1423
 
1424
 end
1425
 
1426
 end)
1427
 
1428
end
1429
 
1430
 
1431
MakeCrack = function(pos,sc,debz,par) -- crackmaker
1432
 
1433
 q(function()
1434
 
1435
 if not debz then
1436
 
1437
 debz = 5
1438
 
1439
 end
1440
 
1441
 local bhit,bpos=ray(pos,pos - (pos + v3(0,10,0)))
1442
 
1443
 if bhit and bpos then
1444
 
1445
local cr = pa(par or workspace,"Crack","Block",sc,0,sc,false,true,1,0,"") cr.CFrame = cn(bpos)
1446
 
1447
local dec=qi({"Decal",cr,Face="Top",Texture=ds.Crack}) de(cr,debz)
1448
 
1449
 end
1450
 
1451
 end)
1452
 
1453
end
1454
 
1455
 
1456
a = {}
1457
 
1458
a.insw={}
1459
 
1460
function cleanweld(wexx,namzi)
1461
 
1462
 local tn=ft2(a.insw,wexx)
1463
 
1464
 if tn==nil then return end
1465
 
1466
 if namzi=="p0" then
1467
 
1468
 a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=0,0,0 elseif namzi=="p1" then
1469
 
1470
 a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=0,0,0 elseif namzi=="a0" then
1471
 
1472
 a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=0,0,0 elseif namzi=="a1" then
1473
 
1474
 a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=0,0,0
1475
 
1476
 end
1477
 
1478
end
1479
 
1480
function c2(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
1481
 
1482
 q(function()
1483
 
1484
 c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
1485
 
1486
 end)
1487
 
1488
end
1489
 
1490
a.Welding=0
1491
 
1492
function c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
1493
 
1494
 if ft2(a.insw,wexx)==nil then
1495
 
1496
 ti(a.insw,{wexx,{}})
1497
 
1498
 local tn=ft2(a.insw,wexx)
1499
 
1500
 a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=wexx.C0.x,wexx.C0.y,wexx.C0.z
1501
 
1502
 a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=wexx.C1.x,wexx.C1.y,wexx.C1.z
1503
 
1504
 a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=wexx.C0:toEulerAnglesXYZ()
1505
 
1506
 a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=wexx.C1:toEulerAnglesXYZ()
1507
 
1508
 end
1509
 
1510
 local tn=ft2(a.insw,wexx)
1511
 
1512
 local xx2,yy2,zz2=0,0,0
1513
 
1514
 local x2,y2,z2=0,0,0
1515
 
1516
 if c0orc1==0 then
1517
 
1518
 xx2,yy2,zz2=a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]
1519
 
1520
 x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]
1521
 
1522
 elseif c0orc1==1 then
1523
 
1524
 xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
1525
 
1526
 x2,y2,z2=a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]
1527
 
1528
 else
1529
 
1530
 xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
1531
 
1532
 x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]
1533
 
1534
 end a.Welding=a.Welding + 1
1535
 
1536
 local twa=1
1537
 
1538
 if smmx >= 1 then
1539
 
1540
 else
1541
 
1542
 for i=smmx,0.8,smmx do
1543
 
1544
 twa = 1
1545
 
1546
 if c0orc1==0 then
1547
 
1548
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
1549
 
1550
 
1551
*i),zz2-(((zz2-rd(zz))/twa)*i))
1552
 
1553
 elseif c0orc1==1 then
1554
 
1555
 wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
1556
 
1557
 
1558
*i),zz2-(((zz2-rd(zz))/twa)*i))
1559
 
1560
 else local x,y,z = wexx.C0:toEulerAnglesXYZ()
1561
 
1562
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
1563
 
1564
 wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
1565
 
1566
 end
1567
 
1568
 if fu then
1569
 
1570
 q(fu)
1571
 
1572
 end
1573
 
1574
 wait()
1575
 
1576
 end
1577
 
1578
 for i=0.8,1,smmx*0.45 do
1579
 
1580
 twa = 1
1581
 
1582
 if c0orc1==0 then
1583
 
1584
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
1585
 
1586
 
1587
*i),zz2-(((zz2-rd(zz))/twa)*i))
1588
 
1589
 elseif c0orc1==1 then
1590
 
1591
 wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
1592
 
1593
 
1594
*i),zz2-(((zz2-rd(zz))/twa)*i))
1595
 
1596
 else local x,y,z = wexx.C0:toEulerAnglesXYZ()
1597
 
1598
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
1599
 
1600
 wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
1601
 
1602
 end
1603
 
1604
 wait()
1605
 
1606
 end
1607
 
1608
 end
1609
 
1610
 local i=1
1611
 
1612
 if c0orc1==0 then
1613
 
1614
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
1615
 
1616
 
1617
*i),zz2-(((zz2-rd(zz))/twa)*i))
1618
 
1619
 elseif c0orc1==1 then
1620
 
1621
 wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
1622
 
1623
 
1624
*i),zz2-(((zz2-rd(zz))/twa)*i))
1625
 
1626
 else local x,y,z = wexx.C0:toEulerAnglesXYZ()
1627
 
1628
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
1629
 
1630
 wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
1631
 
1632
 end
1633
 
1634
 a.Welding=a.Welding - 1
1635
 
1636
 local tn=ft2(a.insw,wexx)
1637
 
1638
 if c0orc1==0 then
1639
 
1640
 a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
1641
 
1642
 a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
1643
 
1644
 elseif c0orc1==1 then
1645
 
1646
 a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
1647
 
1648
 a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
1649
 
1650
 elseif c0orc1==3 then
1651
 
1652
 local x,y,z=wexx.C0.x,wexx.C0.y,wexx.C0.z
1653
 
1654
 a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
1655
 
1656
 local x,y,z=wexx.C1:toEulerAnglesXYZ()
1657
 
1658
 a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
1659
 
1660
 end
1661
 
1662
end
1663
 
1664
 
1665
Welds={}
1666
 
1667
Ani=function(w,a,b,c,d,e,f,ty,inc,sined)
1668
 
1669
if not Welds[w] then
1670
 
1671
local d0,e0,f0=w.C0:toEulerAnglesXYZ() local d1,e1,f1=w.C1:toEulerAnglesXYZ()
1672
 
1673
local d0,e0,f0=mdeg(d0),mdeg(e0),mdeg(f0) local d1,e1,f1=mdeg(d1),mdeg(e1),mdeg(f1)
1674
 
1675
Welds[w]={[0]={w.C0.x,w.C0.y,w.C0.z,d0,e0,f0},[1]={w.C1.x,w.C1.y,w.C1.z,d1,e1,f1}}
1676
 
1677
end
1678
 
1679
local c0,c1=Welds[w][0],Welds[w][1]
1680
 
1681
c0[1],c0[2],c0[3]=w.C0.x,w.C0.y,w.C0.z
1682
 
1683
c1[1],c1[2],c1[3]=w.C1.x,w.C1.y,w.C1.z
1684
 
1685
local A0,B0,C0,D0,E0,F0 = unpack(c0)
1686
 
1687
local A1,B1,C1,D1,E1,F1 = unpack(c1)
1688
 
1689
local Do = function(i)
1690
 
1691
if ty==0 then
1692
 
1693
w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2( D0-((D0-d)*i) , E0-(((E0-e)/1)*i) , F0-((F0-f)*i) )
1694
 
1695
elseif ty==1 then
1696
 
1697
w.C1=cn( A1-((A1-a)*i) , B1-((B1-b)*i) , C1-((C1-c)*i) ) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
1698
 
1699
else
1700
 
1701
w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2(D0,E0,F0)
1702
 
1703
w.C1=cn(A1,B1,C1) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
1704
 
1705
end
1706
 
1707
end
1708
 
1709
for i=inc,1,inc do
1710
 
1711
Do(sined and math.sin(math.pi/2*i) or i)
1712
 
1713
wait()
1714
 
1715
end
1716
 
1717
Do(1)
1718
 
1719
if ty==0 then
1720
 
1721
c0[4],c0[5],c0[6]=d,e,f
1722
 
1723
else
1724
 
1725
c1[4],c1[5],c1[6]=d,e,f
1726
 
1727
end
1728
 
1729
end
1730
 
1731
qAni=function(w,a,b,c,d,e,f,ty,inc,sined) q(function() Ani(w,a,b,c,d,e,f,ty,inc,sined) end) end
1732
 
1733
rAni=function(w)
1734
 
1735
Welds[w]=nil
1736
 
1737
end
1738
 
1739
 
1740
gunshot = function(speed,sc,dmg,cff) q(function() -- gunshot function
1741
 
1742
local bb = pa(workspace,"bullet","Block",0.2*sc,0.3*sc,0.2*sc,true,true,0,0.1,"Black") qi({"CylinderMesh",bb})
1743
 
1744
bb.CFrame = cff*ca(rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500))
1745
 
1746
so(ds.Fire,bb,0.3,1) wait() for i=1,50 do
1747
 
1748
bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,-1,0)).p)
1749
 
1750
if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bpos and (bpos - bb.Position).magnitude < speed  then break end
1751
 
1752
bb.CFrame=bb.CFrame*cn(0,speed,0)*ca(rd(-0.2),0,0)
1753
 
1754
wait()
1755
 
1756
end bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
1757
 
1758
if not bhit.Anchored then
1759
 
1760
if bhit.Parent:findFirstChild("Humanoid") then local h = bhit.Parent.Humanoid h.Health=h.Health-dmg so(ds.Hit,bhit,0.3,1) end
1761
 
1762
else if bhit.Name~="Base" then bhit.Anchored=false bhit:BreakJoints() end end bb:Remove()
1763
 
1764
if bhit.Parent:findFirstChild("Humanoid") == nil then BulletHole(bpos,bhit,0.7*sc) end
1765
 
1766
end) end
1767
 
1768
 
1769
dive = function(ob2,pro,ite,stof)
1770
 
1771
local function div(ob) for i,v in pairs(ob:children()) do if v[pro] == ite then
1772
 
1773
for i=1,#stof do v[stof[i][1]] = stof[i][2] end else div(v) end end end
1774
 
1775
div(ob2)
1776
 
1777
end
1778
 
1779
 
1780
fc = function(ob,cl)
1781
 
1782
for i,v in pairs(ob:children()) do if v.className:lower()==cl:lower() then return v end end
1783
 
1784
end
1785
 
1786
 
1787
function se(Key,Text)
1788
 
1789
local Values = {}
1790
 
1791
for value in (Text..Key):gmatch("(.-)"..Key) do
1792
 
1793
table.insert(Values,value)
1794
 
1795
end return Values
1796
 
1797
end
1798
 
1799
 
1800
local thefenv = getfenv()
1801
 
1802
getfenv()["rmhelp"] = function()
1803
 
1804
local nus = 0
1805
 
1806
for i,v in pairs(thefenv) do if i ~= "wait" and i ~= "script" then nus = nus + 1 wait(0.05)
1807
 
1808
print(string.rep(" ",3-#tostring(nus)) ..nus.. ")  " ..i.. "  (" ..type(v).. ")")
1809
 
1810
end
1811
 
1812
end
1813
 
1814
end
1815
 
1816
 
1817
for i,v in pairs(thefenv) do
1818
 
1819
_G[i] = v --print(i)
1820
 
1821
end
1822
 
1823
 
1824
_G[" rm".."dx "] = [[
1825
 
1826
for i,v in pairs(_G) do
1827
 
1828
if i ~= "wait" and i ~= "script" then
1829
 
1830
getfenv()[i] = v
1831
 
1832
end
1833
 
1834
end
1835
 
1836
]]
1837
 
1838
 
1839
 
1840
 
1841
 
1842
 
1843
 
1844
 
1845
 
1846
 
1847
 
1848
 
1849
 
1850
 
1851
 
1852
 
1853
 
1854
 
1855
 
1856
 
1857
 
1858
 
1859
 
1860
 
1861
 
1862
 
1863
 
1864
 
1865
 
1866
 
1867
 
1868
 
1869
 
1870
 
1871
 
1872
 
1873
 
1874
 
1875
 
1876
 
1877
 
1878
 
1879
 
1880
 
1881
 
1882
 
1883
 
1884
 
1885
 
1886
script:ClearAllChildren()
1887
 
1888
loadstring(_G[" rmdx "])()
1889
 
1890
 
1891
Player=game:GetService("Players").LocalPlayer
1892
 
1893
Char=Player.Character
1894
 
1895
Backpack=Player.Backpack
1896
 
1897
PlayerGui=Player.PlayerGui
1898
 
1899
Torso=Char.Torso
1900
 
1901
Head=Char.Head
1902
 
1903
Hum=Char.Humanoid
1904
 
1905
Cam=workspace.CurrentCamera
1906
 
1907
Tn="Rocket Launcher"
1908
 
1909
 
1910
pcall(function() Backpack[Tn]:Remove() end)
1911
 
1912
pcall(function() Cam[Tn]:Remove() end)
1913
 
1914
pcall(function() thesuit=Char[''] end)
1915
 
1916
pcall(function() thesuit[Tn]:Remove() end)
1917
 
1918
pcall(function() PlayerGui[Tn]:Remove() end)
1919
 
1920
 
1921
CModel=qi{'Model',Cam,Name=Tn}
1922
 
1923
Tool=qi{'HopperBin',Player.Backpack,Name=Tn}
1924
 
1925
Suit=qi{'Model',Char,Name=''}
1926
 
1927
Weapon=qi{'Model',Suit,Name=Tn}
1928
 
1929
Gui=qi{'ScreenGui',PlayerGui,Name=Tn}
1930
 
1931
 
1932
Mode="Normal"
1933
 
1934
equip="unequipped"
1935
 
1936
anim=""
1937
 
1938
keys={}
1939
 
1940
fmouse=nil
1941
 
1942
Gyr0z=false
1943
 
1944
LastShot=0
1945
 
1946
 
1947
ids = {}
1948
 
1949
ids.Shoot = 2691586
1950
 
1951
ids.Shoot2 = 10209842
1952
 
1953
ids.Ring =  3270017
1954
 
1955
ids.Fire = 10209821
1956
 
1957
ids.Crown = 20329976
1958
 
1959
ids.Crown2 = 1323306
1960
 
1961
ids.Icon = 52611635
1962
 
1963
ids.Spike = 1033714
1964
 
1965
ids.Hit = 10209590
1966
 
1967
ids.Explode = 2697431
1968
 
1969
ids.Rocket = 103970395
1970
 
1971
 
1972
for i,v in pairs(ids) do
1973
 
1974
if type(v)=='number' then
1975
 
1976
ids[i]='http://www.roblox.com/asset/?id='..v
1977
 
1978
end
1979
 
1980
end
1981
 
1982
 
1983
Limbs={LS=Torso:findFirstChild'Left Shoulder',RS=Torso:findFirstChild'Right Shoulder',LH=Torso:findFirstChild'Left Hip',RH=Torso:findFirstChild'Right Hip'}
1984
 
1985
if _G.Limbz then
1986
 
1987
Limbs.LS=Limbs.LS or _G.Limbz.LS
1988
 
1989
Limbs.RS=Limbs.RS or _G.Limbz.RS
1990
 
1991
Limbs.LH=Limbs.LH or _G.Limbz.LH
1992
 
1993
Limbs.RH=Limbs.RH or _G.Limbz.RH
1994
 
1995
end
1996
 
1997
_G.Limbz=Limbs
1998
 
1999
Torso.Neck.C0=cn(0,1.5,0) Torso.Neck.C1=cn(0,0,0)
2000
 
2001
c2(Torso.Neck,1,3,0,1.5,0,0,0,0)
2002
 
2003
LS,RS,LH,RH=Limbs.LS,Limbs.RS,Limbs.LH,Limbs.RH
2004
 
2005
LA,RA,LL,RL=Char['Left Arm'],Char['Right Arm'],Char['Left Leg'],Char['Right Leg']
2006
 
2007
LS.Part0,RS.Part0,LH.Part0,RH.Part0=Torso,Torso,Torso,Torso
2008
 
2009
LS.Part1,RS.Part1,LH.Part1,RH.Part1=LA,RA,LL,RL
2010
 
2011
 
2012
pcall(function() thesuit:Remove() end)
2013
 
2014
 
2015
pcall(function() Head.face.Transparency=0 end)
2016
 
2017
Head.Transparency=0.99 Torso.Transparency=1
2018
 
2019
fTorso=pa(Suit,"FTorso","Block",2,2,1,false,false,0,0,Torso.BrickColor.Name) neck=Torso.Neck
2020
 
2021
tw=weld(fTorso,Torso,fTorso,0,0,0,0,0,0) qi{"BlockMesh",fTorso}
2022
 
2023
fHead=pa(Suit,"FHead","Block",2,1,1,false,false,0,0,Head.BrickColor.Name)
2024
 
2025
hw=weld(fHead,fTorso,fHead,0,1.5,0,0,0,0) qi{"SpecialMesh",fHead,Scale=v3(1.15,1.15,1.15)} Head.face:Clone().Parent=fHead Head.face.Transparency=1
2026
 
2027
la=qi{'Weld',fTorso,Part0=fTorso,C0=cn(-1.5,0.5,0),C1=cn(0,0.5,0)} ra=qi{'Weld',fTorso,Part0=fTorso,C0=cn(1.5,0.5,0),C1=cn(0,0.5,0)}
2028
 
2029
ll=qi{'Weld',fTorso,Part0=fTorso,C0=cn(-0.5,-1,0),C1=cn(0,1,0)} rl=qi{'Weld',fTorso,Part0=fTorso,C0=cn(0.5,-1,0),C1=cn(0,1,0)}
2030
 
2031
newhats(Char,fHead,Head) ClearClass(Char,"Hat") Hum.MaxHealth=200 Hum.Health=Hum.MaxHealth
2032
 
2033
 
2034
Armz=false
2035
 
2036
Legz=false
2037
 
2038
Arms = function(on) Armz=on
2039
 
2040
if on then
2041
 
2042
LS.Part1=nil RS.Part1=nil
2043
 
2044
la.Part0=fTorso ra.Part0=fTorso
2045
 
2046
la.Part1=LA ra.Part1=RA
2047
 
2048
la.C0,la.C1=cn(-1.5,0.5,0),cn(0,0.5,0)
2049
 
2050
ra.C0,ra.C1=cn(1.5,0.5,0),cn(0,0.5,0)
2051
 
2052
else
2053
 
2054
LS.Parent,RS.Parent=fTorso,fTorso LS.Part0=fTorso RS.Part0=fTorso LS.Part1=LA RS.Part1=RA
2055
 
2056
la.Part1=nil ra.Part1=nil
2057
 
2058
end
2059
 
2060
end
2061
 
2062
 
2063
Legs = function(on) Legz=on
2064
 
2065
if on then
2066
 
2067
LH.Part1=nil RH.Part1=nil
2068
 
2069
ll.Part0=fTorso rl.Part0=fTorso
2070
 
2071
ll.Part1=LL rl.Part1=RL
2072
 
2073
ll.C0,ll.C1=cn(-0.5,-1,0),cn(0,1,0)
2074
 
2075
rl.C0,rl.C1=cn(0.5,-1,0),cn(0,1,0)
2076
 
2077
else
2078
 
2079
LH.Parent,RH.Parent=fTorso,fTorso LH.Part0=fTorso RH.Part0=fTorso LH.Part1=LL RH.Part1=RL
2080
 
2081
ll.Part1=nil rl.Part1=nil
2082
 
2083
end
2084
 
2085
end
2086
 
2087
Arms'' Legs''
2088
 
2089
 
2090
WDesign=function()
2091
 
2092
hp=pa(Weapon,"","Block",0,0,0,false,false,1,0) haw=weld(hp,Torso,hp,1,1,0.6,rd(180),0,rd(90))
2093
 
2094
ha=pa(Weapon,"","Block",0.25,0.9,0.4,false,false,0,0,"Br. yellowish orange") weld(ha,hp,ha,0,0,0,0,rd(90),0)
2095
 
2096
p=pa(Weapon,"","Block",0.35,0.5,0.45,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,0.45+0.25,0,0,0,0) qi{'BlockMesh',p}
2097
 
2098
p=pa(Weapon,"","Block",0.35,0.4,0.8,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,0.9+0.25,-0.175,0,0,0) qi{'BlockMesh',p}
2099
 
2100
p=pa(Weapon,"","Block",0.35,0.2,0.2,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,1.05,0.325,rd(180),0,0) qi{'SpecialMesh',p,MeshType="Wedge"}
2101
 
2102
p=pa(Weapon,"","Block",0.35,0.2,0.2,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,1.25,0.325,0,0,0) qi{'BlockMesh',p}
2103
 
2104
tr=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,"Dark stone grey") weld(tr,ha,tr,0,0.8,-0.35,0,rd(90),0) qi{'SpecialMesh',tr,MeshId=ids.Ring,Scale=v3(0.4,0.4,1)}
2105
 
2106
p=pa(Weapon,"","Block",0.2,0.25,0.2,false,false,0,0,"Dark stone grey") weld(p,tr,p,-0.15,0,0,0,0,rd(10)) qi{'BlockMesh',p,Scale=v3(1,1,0.5)}
2107
 
2108
bp=pa(Weapon,"","Block",0.7,2.5,0.7,false,false,0,0,"Dark stone grey") weld(bp,ha,bp,0,1.6,-0.5-0.125,rd(90),0,0) qi{'CylinderMesh',bp}
2109
 
2110
p=pa(Weapon,"","Block",1,1,1,false,false,0,0,"Br. yellowish orange") weld(p,bp,p,0,1.25,0,rd(180),0,0) qi{'SpecialMesh',p,Scale=v3(0.4,4,0.4),MeshId=ids.Spike}
2111
 
2112
p=pa(Weapon,"","Block",0.9,0.2,0.9,false,false,0,0,"Dark stone grey") weld(p,bp,p,0,2.7,0,0,0,0) qi{'CylinderMesh',p}
2113
 
2114
p=pa(Weapon,"","Block",1,1,1,false,false,0,0,"Br. yellowish orange") weld(p,bp,p,0,3.1,0,0,0,0) qi{'SpecialMesh',p,Scale=v3(0.4,1,0.4),MeshId=ids.Spike}
2115
 
2116
p=pa(Weapon,"","Block",0.6,0.5,0.6,false,false,0,0,"Dark stone grey") weld(p,bp,p,0,3.35,0,0,0,0) qi{'CylinderMesh',p}
2117
 
2118
p=pa(Weapon,"","Block",0.7,0.2,0.7,false,false,0,0,"Dark stone grey") weld(p,bp,p,0,3.25,0,0,0,0) qi{'CylinderMesh',p,Scale=v3(1,0.5,1)}
2119
 
2120
p=pa(Weapon,"","Block",0.7,0.2,0.7,false,false,0,0,"Dark stone grey") weld(p,bp,p,0,3.45,0,0,0,0) qi{'CylinderMesh',p,Scale=v3(1,0.5,1)}
2121
 
2122
for i=0,360,360/10 do
2123
 
2124
local p=pa(Weapon,"","Block",0.2,1,0.5,false,false,0,0,"Dark stone grey") local pw=weld(p,bp,p,0,0,0,0,0,0) qi{'BlockMesh',p,Scale=v3(0.5,1,1)}pw.C0=cn(0,3.9,0)*ca(0,rd(i),0)*cn(0.5,0,0)*ca(0,0,rd(-35))
2125
 
2126
local p=pa(Weapon,"","Block",0.3,0.2,0.7,false,false,0,0,"Dark stone grey") local pw=weld(p,bp,p,0,0,0,0,0,0) qi{'BlockMesh',p,Scale=v3(1,0.5,1)}pw.C0=cn(0,4.3,0)*ca(0,rd(i),0)*cn(0.9,0,0)
2127
 
2128
end
2129
 
2130
bar=pa(Weapon,"","Block",0.65,1.2,0.65,false,false,0,0,"Dark stone grey") weld(bar,bp,bar,0,-1.5,0,0,0,0) qi{'CylinderMesh',bar}
2131
 
2132
p=pa(Weapon,"","Block",0.45,1,0.45,false,false,0,0,"Really black") weld(p,bar,p,0,-0.6,0,0,0,0) qi{'CylinderMesh',p,Scale=v3(1,0.02,1)}
2133
 
2134
p=pa(Weapon,"","Block",0.25,1.5,0.4,false,false,0,0,"Br. yellowish orange") weld(p,ha,p,0,0.3,-1.8,0,0,0) qi{'BlockMesh',p}
2135
 
2136
p=pa(Weapon,"","Block",0.35,0.5,0.9,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,1.1,-1.8,0,0,0) qi{'BlockMesh',p}
2137
 
2138
p=pa(Weapon,"","Block",0.2,0.3,0.4,false,false,0,0,"Dark stone grey") weld(p,bar,p,-0.1,0,-0.3,rd(90),0,0) qi{'BlockMesh',p}
2139
 
2140
pb=pa(Weapon,"","Block",0.3,0.2,0.5,false,false,0,0,"Dark stone grey") weld(pb,bar,pb,-0.1,0,-0.5,rd(-90),0,0) qi{'BlockMesh',pb,Scale=v3(1,0.5,1)}
2141
 
2142
p=pa(Weapon,"","Block",0.2,0.3,0.5,false,false,0,0,"Dark stone grey") weld(p,pb,p,-0.125,0.2,0,0,0,0) qi{'SpecialMesh',p,MeshType="Wedge",Scale=v3(0.25,1,1)}
2143
 
2144
p=pa(Weapon,"","Block",0.2,0.3,0.5,false,false,0,0,"Dark stone grey") weld(p,pb,p,0.125,0.2,0,0,0,0) qi{'SpecialMesh',p,MeshType="Wedge",Scale=v3(0.25,1,1)}
2145
 
2146
p=pa(Weapon,"","Block",0.25,0.6,0.2,false,false,0,0,"Dark stone grey") weld(p,pb,p,0,0.2,0,rd(-15),0,0) qi{'BlockMesh',p,Scale=v3(1,1,0.25)}
2147
 
2148
p=pa(Weapon,"","Block",0.25,0.3,0.2,false,false,0,0,"Dark stone grey") weld(p,pb,p,0,0.6,0,rd(25),0,0) qi{'BlockMesh',p,Scale=v3(1,1,0.25)}
2149
 
2150
p=pa(Weapon,"","Block",0.3,0.2,0.2,false,false,0,0,"Dark stone grey") weld(p,bp,p,0.4,-0.75,0,0,0,0) qi{'BlockMesh',p,Scale=v3(1,0.5,0.5)}
2151
 
2152
p=pa(Weapon,"","Block",0.3,0.2,0.2,false,false,0,0,"Dark stone grey") weld(p,bp,p,0.4,0.75,0,0,0,0) qi{'BlockMesh',p,Scale=v3(1,0.5,0.5)}
2153
 
2154
pl=pa(Weapon,"","Block",0.2,2,0.7,false,false,0,0,"Dark stone grey") weld(pl,bp,pl,0.6,0,0,0,0,0) qi{'BlockMesh',pl,Scale=v3(0.5,1,1)}
2155
 
2156
p=pa(Weapon,"","Block",0.2,2,0.6,false,false,0,0,"Dark stone grey") weld(p,pl,p,-0.275,0,-0.5,0,rd(60),0) qi{'BlockMesh',p,Scale=v3(0.5,1,1)}
2157
 
2158
for i,v in pairs(Weapon:GetChildren()) do v.CanCollide=false end
2159
 
2160
end
2161
 
2162
 
2163
WDesign()
2164
 
2165
Arms(false) Legs(false)
2166
 
2167
 
2168
Dealt={20,70}
2169
 
2170
BBD,BBT=0,{}
2171
 
2172
 
2173
function Destroy(Directory,Part,Distance)
2174
 
2175
for i,v in pairs(Directory:GetChildren()) do
2176
 
2177
if v:IsA("BasePart") and not GetHum(v) and v.Parent.Name~=Tn and v.Parent.Name~=Suit.Name then
2178
 
2179
if (Part.Position-v.Position).magnitude<=Distance and v:GetMass()<=1000 then
2180
 
2181
v.Anchored=false
2182
 
2183
v:BreakJoints()
2184
 
2185
v.CFrame=cn(v.Position,Part.Position)*ca(0,rd(180),0)
2186
 
2187
v.Velocity=cn(Part.Position,v.Position).lookVector*50
2188
 
2189
end
2190
 
2191
elseif v:IsA("Model") or v:IsA("Script") then
2192
 
2193
Destroy(v,Part,Distance)
2194
 
2195
end
2196
 
2197
end
2198
 
2199
end
2200
 
2201
 
2202
SplashDmg=function(Part,Distance)
2203
 
2204
q(function()
2205
 
2206
so(ids.Explode,Part,1,0.4)
2207
 
2208
qi{"Explosion",workspace,Position=Part.Position,BlastPressure=0}
2209
 
2210
for i,v in pairs(workspace:GetChildren()) do
2211
 
2212
if v:FindFirstChild("Torso",true) then
2213
 
2214
local vTorso=v:FindFirstChild("Torso",true)
2215
 
2216
if (vTorso.Position-Part.Position).magnitude<=Distance then
2217
 
2218
local vHum=GetHum(vTorso)
2219
 
2220
if not vHum or BBD==0 or BBT[vHum.Parent] then return end
2221
 
2222
BBT[vHum.Parent]=1
2223
 
2224
if rn(1,20)==1 then
2225
 
2226
Dmg(vHum,rn(Dealt[1],Dealt[2])*3)
2227
 
2228
else
2229
 
2230
Dmg(vHum,rn(Dealt[1],Dealt[2]))
2231
 
2232
end
2233
 
2234
if BBD==2 and vTorso then
2235
 
2236
vHum.PlatformStand=true
2237
 
2238
if vHum.Jump then
2239
 
2240
AddBV(140,cn(Part.Position,vTorso.Position),vTorso,0.3)
2241
 
2242
else
2243
 
2244
AddBV(110,cn(Part.Position,vTorso.Position),vTorso,0.3)
2245
 
2246
end
2247
 
2248
if vTorso.Parent~=Char then
2249
 
2250
AddBAV(v3(rn(-25,25),rn(-25,25),rn(-25,25)),vTorso,0.4)
2251
 
2252
end
2253
 
2254
q(function()
2255
 
2256
wait(0.4)
2257
 
2258
vHum.PlatformStand=false
2259
 
2260
end)
2261
 
2262
end
2263
 
2264
so(ids.Hit,vTorso,1,1)
2265
 
2266
BBT[vHum.Parent]=nil
2267
 
2268
end
2269
 
2270
end
2271
 
2272
end
2273
 
2274
end)
2275
 
2276
end
2277
 
2278
 
2279
Fire = function(speed,sc,cff,dest)
2280
 
2281
q(function()
2282
 
2283
bb = pa(workspace,"bullet","Block",0.5*sc,2.8*sc,0.5*sc,false,true,0,0,"Black") qi{"SpecialMesh",bb,MeshId=ids.Rocket} bb.CanCollide=false
2284
 
2285
bb.CFrame = cn(cff.p,dest)
2286
 
2287
local m=pa(Weapon,"muzzle","Block",1,1,1,false,false,0,0,"Bright orange") qi{"SpecialMesh",m,MeshId=ids.Crown,Scale=v3(0.5,0.5,0.5)}  weld(m,bar,m,0,-0.825,0.05,rd(180),0,0) fade(m,0.2)
2288
 
2289
local m=pa(Weapon,"muzzle","Block",1,1,1,false,false,0,0,"Bright orange") qi{"SpecialMesh",m,MeshId=ids.Crown2,Scale=v3(0.4,0.7,0.4)} weld(m,bar,m,0,-1,0,rd(180),0,0) fade(m,0.2)
2290
 
2291
so(ids.Fire,ha,1,1)
2292
 
2293
for i=1,100 do
2294
 
2295
bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,0,2)).p)
2296
 
2297
if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bhit.Name~="muzzle" and bpos and (bpos - bb.Position).magnitude < speed then break end
2298
 
2299
bb.CFrame=bb.CFrame*cn(0,0,-speed)
2300
 
2301
GlowMesh(false,"block",Weapon,v3(1,1,1),"Bright red",bb.CFrame*cn(rn(-5,5),rn(-5,5),rn(1,3))*ca(rn(-5,5),rn(-5,5),rn(-5,5)),0.1,1,0.07)
2302
 
2303
wait()
2304
 
2305
end
2306
 
2307
local Surface = DetectSurface(bpos,bhit)
2308
 
2309
local C = cn(bpos) * ca(bhit.CFrame:toEulerAnglesXYZ()) * Surface[2]
2310
 
2311
if Surface[1] == "Anything" then C = Surface[2] end
2312
 
2313
GlowMesh(false,ids.Crown,Weapon,v3(6,4,6),"Bright orange",C*cn(0,1.5,0),0.25,1,0.05)
2314
 
2315
GlowMesh(false,ids.Crown2,Weapon,v3(6,4,6),"Bright orange",C*cn(0,1.5,0),0.25,1,0.05)
2316
 
2317
BBD=2
2318
 
2319
bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
2320
 
2321
SplashDmg(bb,12)
2322
 
2323
Destroy(workspace,bb,12)
2324
 
2325
BBD=0
2326
 
2327
game:GetService("Debris"):AddItem(bb,1)
2328
 
2329
end)
2330
 
2331
end
2332
 
2333
 
2334
function Stance(speed)
2335
 
2336
c2(ra,speed,3,1.25,0.5,-0.25,-90,-65,0)
2337
 
2338
c2(la,speed,3,-1.25,0.5,-0.25,-90,-20,0)
2339
 
2340
c2(ll,speed,3,-0.5,-1,0,0,0,0)
2341
 
2342
c2(rl,speed,3,0.5,-1,0,0,0,0)
2343
 
2344
c2(hw,speed,3,0,1.5,0,0,-65,0)
2345
 
2346
c2(tw,speed,3,0,0,0,0,65,0)
2347
 
2348
c2(neck,speed,3,0,1.5,0,0,0,0)
2349
 
2350
Ani(haw,0,-1,0.8,-90,-90,0,0,speed,1)
2351
 
2352
end
2353
 
2354
 
2355
function Reset(speed)
2356
 
2357
c2(ra,speed,3,1.5,0.5,0,0,0,0)
2358
 
2359
c2(la,speed,3,-1.5,0.5,0,0,0,0)
2360
 
2361
c2(ll,speed,3,-0.5,-1,0,0,0,0)
2362
 
2363
c2(rl,speed,3,0.5,-1,0,0,0,0)
2364
 
2365
c2(hw,speed,3,0,1.5,0,0,0,0)
2366
 
2367
c2(tw,speed,3,0,0,0,0,0,0)
2368
 
2369
c2(neck,speed,3,0,1.5,0,0,0,0)
2370
 
2371
Ani(haw,1,1,0.6,180,0,90,0,speed,1)
2372
 
2373
end
2374
 
2375
 
2376
function Button1Down()
2377
 
2378
if equip=="equipped" and anim=="" and (tick()-LastShot)>=0.8 and Hum.Health>0 then
2379
 
2380
LastShot=tick()
2381
 
2382
Fire(4,1,bar.CFrame*cn(0,-2,0),fmouse.Hit.p)
2383
 
2384
end
2385
 
2386
end
2387
 
2388
 
2389
function KeyDown(key)
2390
 
2391
key=key:lower()
2392
 
2393
keys[key]=true
2394
 
2395
end
2396
 
2397
 
2398
function KeyUp(key)
2399
 
2400
key=key:lower()
2401
 
2402
keys[key]=false
2403
 
2404
end
2405
 
2406
 
2407
function Move()
2408
 
2409
if equip=="equipped" and anim=="" then
2410
 
2411
c2(ra,1,3,1.25,0.5,-0.25,-90+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
2412
 
2413
c2(la,1,3,-1.25,0.5,-0.25,-90+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-20,0)
2414
 
2415
c2(hw,1,3,0,1.5,0,math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
2416
 
2417
end
2418
 
2419
if Gyr0z then
2420
 
2421
Gyro.maxTorque=v3(1/0,1/0,1/0)
2422
 
2423
Gyro.cframe = cn(Torso.Position,v3(fmouse.hit.p.x,Torso.Position.y,fmouse.hit.p.z))
2424
 
2425
else
2426
 
2427
Gyro.maxTorque = v3(0,0,0)
2428
 
2429
end
2430
 
2431
end
2432
 
2433
 
2434
Tool.Selected:connect(function(mouse)
2435
 
2436
fmouse=mouse Gyr0z=true
2437
 
2438
if equip=="unequipped" and anim=="" then
2439
 
2440
equip="equipping" Arms(true) c2(la,0.1,3,-1.5,0.5,0,0,0,20) c1(ra,0.1,3,1.5,0.5,0,-210,0,-10)
2441
 
2442
local ofs = RA.CFrame:toObjectSpace(hp.CFrame)
2443
 
2444
haw.Part0=RA haw.C0=ofs haw.C1=cn(0,0,0) rAni(haw)
2445
 
2446
Stance(0.1) equip="equipped"
2447
 
2448
end
2449
 
2450
mouse.Button1Down:connect(Button1Down)
2451
 
2452
mouse.KeyDown:connect(KeyDown)
2453
 
2454
mouse.KeyUp:connect(KeyUp)
2455
 
2456
mouse.Move:connect(Move)
2457
 
2458
end)
2459
 
2460
 
2461
Tool.Deselected:connect(function()
2462
 
2463
fmouse=nil Gyr0z=false
2464
 
2465
if equip=="equipped" and anim=="" then
2466
 
2467
equip="unequipping" c2(la,0.1,3,-1.5,0.5,0,0,0,0) c1(ra,0.1,3,1.5,0.5,0,-210,0,-10)
2468
 
2469
local ofs = Torso.CFrame:toObjectSpace(hp.CFrame)
2470
 
2471
haw.Part0=Torso haw.C0=ofs haw.C1=cn(0,0,0) rAni(haw)
2472
 
2473
Reset(0.1)
2474
 
2475
Arms(false) Legs(false) equip="unequipped"
2476
 
2477
end
2478
 
2479
end)
2480
 
2481
 
2482
Gyro=qi{"BodyGyro",Torso,D=50,P=1500}
2483
 
2484
game:GetService("RunService").Stepped:connect(function()
2485
 
2486
if equip=="equipped" and anim=="" then
2487
 
2488
c2(ra,1,3,1.25,0.5,-0.25,-90+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
2489
 
2490
c2(la,1,3,-1.25,0.5,-0.25,-90+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-20,0)
2491
 
2492
c2(hw,1,3,0,1.5,0,math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
2493
 
2494
end
2495
 
2496
if Gyr0z then
2497
 
2498
Gyro.maxTorque=v3(1/0,1/0,1/0)
2499
 
2500
Gyro.cframe = cn(Torso.Position,v3(fmouse.hit.p.x,Torso.Position.y,fmouse.hit.p.z))
2501
 
2502
else
2503
 
2504
Gyro.maxTorque = v3(0,0,0)
2505
 
2506
end
2507
 
2508
end)
2509
end)
2510
UGB = Instance.new("TextButton", Screen)
2511
UGB.Name = "UGB"
2512
UGB.Text = "Ungod me"
2513
UGB.Position = UDim2.new(0.05, 0, 0.6, 0)
2514
UGB.Size = UDim2.new(0.1, 0, 0.1, 0)
2515
UGB.Font = "Arial"
2516
UGB.FontSize = "Size24"
2517
UGB.TextWrapped = true
2518
UGB.BackgroundColor3 = Color3.new(0, 0, 1)
2519
UGB.TextColor3 = Color3.new(1, 1, 0)
2520
UGB.BackgroundTransparency = 0.7
2521
UGB.MouseButton1Down:connect(function()
2522
    Char.Humanoid.MaxHealth = 100
2523
    Char.Humanoid.Health = 100
2524
end)
2525
PIPE = Instance.new("TextButton", Screen)
2526
PIPE.Name = "PIPE"
2527
PIPE.Text = "Pipebomb launcher"
2528
PIPE.Position = UDim2.new(0.35, 0, 0.3, 0)
2529
PIPE.Size = UDim2.new(0.1, 0, 0.1, 0)
2530
PIPE.Font = "Arial"
2531
PIPE.FontSize = "Size24"
2532
PIPE.TextWrapped = true
2533
PIPE.BackgroundColor3 = Color3.new(0, 0, 1)
2534
PIPE.TextColor3 = Color3.new(1, 1, 0)
2535
PIPE.BackgroundTransparency = 0.7
2536
PIPE.MouseButton1Down:connect(function()
2537
script.Parent = nil
2538
2539
2540
2541
it = Instance.new
2542
2543
v3=Vector3.new
2544
2545
bc=BrickColor.new 
2546
2547
c3=Color3.new 
2548
2549
cn=CFrame.new 
2550
2551
ca=CFrame.Angles
2552
2553
ca2=function(a,b,c) 
2554
2555
return ca(math.rad(a),math.rad(b),math.rad(c)) 
2556
2557
end
2558
2559
ti=table.insert 
2560
2561
tr=table.remove 
2562
2563
rn=math.random 
2564
2565
rd=math.rad 
2566
2567
mf=math.floor
2568
2569
ud = UDim2.new
2570
2571
inf=math.huge
2572
2573
dg=math.deg
2574
2575
mdeg=math.deg
2576
2577
v310=v3(1/0,1/0,1/0)
2578
2579
pi=math.pi
2580
2581
w=wait
2582
2583
cf=cn
2584
2585
bn=bc
2586
2587
ts=tostring
2588
2589
2590
2591
Workspace=game:GetService("Workspace")
2592
2593
Players=game:GetService("Players")
2594
2595
Player=Players.LocalPlayer
2596
2597
Lighting=game:GetService("Lighting")
2598
2599
Debris=game:GetService("Debris")
2600
2601
2602
2603
work=Workspace
2604
2605
server=Players
2606
2607
tb=Player
2608
2609
lighting=Lighting
2610
2611
deb=Debris
2612
2613
2614
2615
asset = "http://www.roblox.com/asset/?id="
2616
2617
Asset=asset
2618
2619
2620
2621
ids = {}
2622
2623
ids.Shoot = 10209633
2624
2625
ids.Reload = 10209636
2626
2627
ids.Crown = 20329976
2628
2629
ids.Crown2 = 1323306
2630
2631
ids.Icon = 52611635
2632
2633
ids.Explode = 2697431
2634
2635
ids.Ring =  3270017 
2636
2637
2638
2639
for i,v in pairs(ids) do 
2640
2641
if type(v)=='number' then 
2642
2643
ids[i]='http://www.roblox.com/asset/?id='..v
2644
2645
end
2646
2647
game:GetService("ContentProvider"):Preload(ids[i])
2648
2649
end
2650
2651
2652
2653
qi = function(ttz)
2654
2655
 local qii = it(ttz[1])  table.foreach(ttz,function(oi,oi2) 
2656
2657
 if oi ~= 1 and oi ~= 2 then  qii[oi] = oi2  end  end) qii.Parent=ttz[2] return qii end
2658
2659
2660
2661
q = function(f)
2662
2663
 coroutine.resume(coroutine.create(function() f() end)) end 
2664
2665
 
2666
2667
ft = function(tablez,item)
2668
2669
 for i=1,#tablez do if tablez[i] == item then return i end end  return nil end
2670
2671
2672
2673
ft2 = function(tablez,item)
2674
2675
 for i=1,#tablez do  if tablez[i][1] == item then  return i  end  end  return nil end
2676
2677
2678
2679
pa = function(pa,pn,sh,x,y,z,c,a,tr,re,bc2)
2680
2681
 local fp=nil 
2682
2683
 if sh ~= "Wedge" and sh ~= "CornerWedge" and sh ~= "VehicleSeat" and sh ~= "Seat" then 
2684
2685
 fp=it("Part",pa) 
2686
2687
 fp.Shape=sh or "Block" 
2688
2689
 fp.formFactor="Custom" 
2690
2691
 elseif sh == "Wedge" then 
2692
2693
 fp=it("WedgePart",pa) 
2694
2695
 fp.formFactor="Custom"
2696
2697
 elseif sh == "CornerWedge" then 
2698
2699
 fp=it("CornerWedgePart",pa) 
2700
2701
 elseif sh == "VehicleSeat" then 
2702
2703
 fp=it("VehicleSeat",pa) 
2704
2705
 elseif sh == "Seat" then 
2706
2707
 fp=it("Seat",pa) 
2708
2709
 end 
2710
2711
 fp.Size=v3(x or 4,y or 2,z or 2) 
2712
2713
 fp.Friction = 2 
2714
2715
 fp.CanCollide=c or true
2716
2717
 fp.Anchored=a or false
2718
2719
 fp.BrickColor=bc(bc2 or "") 
2720
2721
 fp.Transparency=tr or 0
2722
2723
 fp.Reflectance=re or 0
2724
2725
 fp.BottomSurface=0 
2726
2727
 fp.Name=pn or "TBLib Part"
2728
2729
 fp.Locked = true
2730
2731
 fp.TopSurface=0 
2732
2733
 fp.CFrame=cn(0,0,0)
2734
2735
 fp:BreakJoints() 
2736
2737
 fp.Anchored = a 
2738
2739
 return fp 
2740
2741
end 
2742
2743
2744
2745
function ClearClass(Object,Class) 
2746
2747
for _,v in pairs(Object:GetChildren()) do 
2748
2749
if v:IsA(Class) then 
2750
2751
v:Destroy() 
2752
2753
end 
2754
2755
end 
2756
2757
end
2758
2759
2760
2761
function GetClass(Object,Class)
2762
2763
for _,v in pairs(Object:GetChildren()) do
2764
2765
if v:IsA(Class) then
2766
2767
return v
2768
2769
end
2770
2771
end
2772
2773
end
2774
2775
2776
2777
function re(par,obj)
2778
2779
 if par:findFirstChild(obj) then 
2780
2781
 par[obj]:Remove'' 
2782
2783
 end 
2784
2785
end 
2786
2787
2788
2789
function invis(o)
2790
2791
 for i,v in pairs(o:children()) do 
2792
2793
 if v:IsA("BasePart") then 
2794
2795
 v.Transparency=1 
2796
2797
 end 
2798
2799
 invis(v) 
2800
2801
 end 
2802
2803
end 
2804
2805
2806
2807
function newhats(p,o,o2)
2808
2809
 for i,v in pairs(p:children()) do 
2810
2811
 if v:IsA("Hat") then 
2812
2813
 local np=v.Handle:Clone'' 
2814
2815
 np.Transparency=0 
2816
2817
 np.Mesh.Scale=np.Mesh.Scale*1.04 
2818
2819
 np.Parent=o 
2820
2821
 np.CFrame=v.Handle.CFrame 
2822
2823
 np.Name="Hat"
2824
2825
 stick2(np,o2,o) 
2826
2827
 end 
2828
2829
 end 
2830
2831
end 
2832
2833
2834
2835
fade = function(prt,incr)
2836
2837
 q(function()  
2838
2839
 for i=prt.Transparency,1,incr do  
2840
2841
 prt.Transparency=i 
2842
2843
 wait()  
2844
2845
 end 
2846
2847
 prt:Remove'' 
2848
2849
 end) 
2850
2851
end
2852
2853
 
2854
2855
function weld(pa,p0,p1,x,y,z,a,b,c) 
2856
2857
 local fw=it("Weld",pa) 
2858
2859
 fw.Part0=p0 
2860
2861
 fw.Part1=p1 
2862
2863
 fw.C0=cn(x,y,z)*ca(a,b,c) 
2864
2865
 return fw 
2866
2867
end
2868
2869
2870
2871
2872
2873
stick = function(hit2,hit)
2874
2875
 return qi({"Weld",hit2,Part0=hit2,Part1=hit,C0=hit2.CFrame:inverse()*cn(hit2.Position),C1=hit.CFrame:inverse()*cn(hit2.Position)}) 
2876
2877
end 
2878
2879
2880
2881
function stick2(hit2,hit,tostick)
2882
2883
 local weld=it("Weld") 
2884
2885
 weld.Part0=tostick 
2886
2887
 weld.Part1=hit2 
2888
2889
 local HitPos=hit.Position 
2890
2891
 local CJ=cn(HitPos) 
2892
2893
 local C0=hit2.CFrame:inverse() *CJ 
2894
2895
 local C1=hit.CFrame:inverse() * CJ weld.C0=C1 
2896
2897
 weld.C1=C0 
2898
2899
 weld.Parent=hit2 
2900
2901
end 
2902
2903
2904
2905
ray = function(Pos, Dir,tab)
2906
2907
 return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999),tab)
2908
2909
end 
2910
2911
 
2912
2913
function rtab(tabz,obj) 
2914
2915
 for i=1,#tabz do 
2916
2917
 if tabz[i] == obj then 
2918
2919
 tr(tabz,i) 
2920
2921
 break 
2922
2923
 end 
2924
2925
 end 
2926
2927
end 
2928
2929
2930
2931
sTrail={}
2932
2933
function Trail2(lopz,ob,waitz,col,thickz,ofz) cw(function() ti(sTrail,ob)
2934
2935
local oldpos=(ob.CFrame *ofz).p local lopz2=0
2936
2937
local function loltr() local obp=(ob.CFrame *ofz).p lopz2=lopz2 + 1
2938
2939
local mag=(oldpos - obp).magnitude 
2940
2941
local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col) tr.Anchored=true 
2942
2943
tr.CFrame=cn(oldpos,obp) 
2944
2945
tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
2946
2947
local trm=it("CylinderMesh",tr) trm.Scale=v3(5*thickz,mag*5,5*thickz)
2948
2949
cw(function() for i=5*thickz,0,-5*thickz/10 do trm.Scale=v3(i,mag*5,i) w() end tr:Remove'' end)
2950
2951
tr.CFrame=tr.CFrame *ca(rd(90),0,0) oldpos=obp end 
2952
2953
repeat loltr()
2954
2955
wait(waitz) until ft(sTrail,ob) == nil or lopz2 == lopz loltr() end) end
2956
2957
2958
2959
Trail = function(ob,times,waitz,col,thickz,ofz) -- Brick Trail
2960
2961
 q(function() 
2962
2963
 local oldpos=(ob.CFrame *ofz).p 
2964
2965
 for i=1,times do 
2966
2967
 if effon==true then
2968
2969
 local obp=(ob.CFrame *ofz).p 
2970
2971
 local mag=(oldpos - obp).magnitude 
2972
2973
 local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col)
2974
2975
 tr.Anchored=true 
2976
2977
 tr.CFrame=cn(oldpos,obp) 
2978
2979
 tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2) 
2980
2981
 trm=it("CylinderMesh",tr) 
2982
2983
 trm.Scale=v3(thickz,mag*5,thickz) 
2984
2985
 q(function() 
2986
2987
 for i=thickz,0,thickz/10 do 
2988
2989
 trm.Scale=v3(i,mag*5,i) 
2990
2991
 wait() 
2992
2993
 end 
2994
2995
 tr:Remove'' 
2996
2997
 end) 
2998
2999
 tr.CFrame=tr.CFrame *ca(rd(90),0,0) 
3000
3001
 oldpos=obp wait(waitz) 
3002
3003
 end
3004
3005
 end
3006
3007
 end) 
3008
3009
end
3010
3011
3012
3013
de = function(it,ti) game:service'Debris':AddItem(it,ti) end -- Debris
3014
3015
3016
3017
GlowMesh = function(anch,meshid2,rootz,mv3,colzz,adjus,l1,l2,l3) q(function() -- Glowmesh
3018
3019
local spi=pa(rootz,"glowmesh","Block",mv3.X,mv3.Y,mv3.Z,false,false,l1,0,colzz) local spim=it("SpecialMesh",spi) spi.CanCollide=false if meshid2:lower()=="sphere" then spim.MeshType="Sphere" elseif meshid2:lower()=="block" then spim=it("BlockMesh",spi) else spim.MeshType="FileMesh" spim.MeshId=meshid2 end
3020
3021
if anch then local spiw=qi({"Weld",spi,Part0=rootz,Part1=spi}) spiw.C0 =spiw.C0 *adjus else spi.Anchored=true spi.CFrame=adjus end 
3022
3023
for i=l1,l2,l3 do spi.Transparency=i spim.Scale=mv3*(i+0.3) wait() end spi:Remove'' end) 
3024
3025
end
3026
3027
3028
3029
DetectSurface = function(pos, part) -- Surface Detector
3030
3031
local surface = nil local pospos = part.CFrame
3032
3033
local pos2 = pospos:pointToObjectSpace(pos) local siz = part.Size local shaep = part.Shape
3034
3035
if shaep == Enum.PartType.Ball or shaep == Enum.PartType.Cylinder then
3036
3037
surface = {"Anything", cn(pospos.p, pos)*cn(0, 0, -(pospos.p - pos).magnitude+0.12)*ca(rd(-90), 0, 0)}
3038
3039
else if pos2.Y > ((siz.Y/2)-0.01) then surface = {"Top", ca(0, 0, 0)}
3040
3041
elseif pos2.Y < -((siz.Y/2)-0.01) then surface = {"Bottom", ca(-math.pi, 0, 0)} elseif pos2.X > ((siz.X/2)-0.01) then surface = {"Right", ca(0, 0, rd(-90))}
3042
3043
elseif pos2.X < -((siz.X/2)-0.01) then surface = {"Left", ca(0, 0, rd(90))} elseif pos2.Z > ((siz.Z/2)-0.01) then surface = {"Back", ca(rd(90), 0, 0)} elseif pos2.Z < -((siz.Z/2)-0.01) then surface = {"Front", ca(rd(-90), 0, 0)} end end return surface end
3044
3045
3046
3047
BulletHole = function(HitPos,HitObj,sc,img,par) -- Bullethole function
3048
3049
local Surface = DetectSurface(HitPos, HitObj)
3050
3051
local C = cn(HitPos) * ca(HitObj.CFrame:toEulerAnglesXYZ()) * Surface[2]
3052
3053
if Surface[1] == "Anything" then C = Surface[2] end local theimg = img or ds.BulletHole
3054
3055
local bl = pa(workspace or par,"bullethole","Block",sc,0,sc,false,true,1,0,"") qi({"Decal",bl,Face="Top",Texture=theimg})
3056
3057
bl.CFrame = C*cn(0,-0.1,0) if not HitObj.Anchored then bl.Anchored = false stick(bl,HitObj) bl.ChildRemoved:connect(function() bl:Remove() end) end q(function() wait(5) for i=0,1,0.05 do bl.Size=v3(-i*sc,0,-i*sc) wait() end de(bl,0) end) 
3058
3059
end
3060
3061
3062
3063
so = function(id,par,vol,pit) q(function() -- Sound maker
3064
3065
local sou = qi({"Sound",par or workspace,Volume=vol,Pitch=pit or 1,SoundId=id})
3066
3067
wait() sou:play() wait(6) sou:Remove() end) end
3068
3069
3070
3071
-- local/so(asset..ds.GothicMusic,workspace,1,2.6)
3072
3073
3074
3075
function GetRegion(p0,p1,f,f2) q(function()
3076
3077
for i,v in pairs(workspace:FindPartsInRegion3(Region3.new(p0,p1),c,100) ) do if v.Parent:findFirstChild("Humanoid") and v.Parent.Humanoid.Health > 0 and v.Parent:findFirstChild("Torso") then q(function() f(v.Parent) end) elseif f2 and v.Parent.Parent:findFirstChild("Humanoid") == nil then f2(v) end end
3078
3079
end) end 
3080
3081
 
3082
3083
FindGround = function(pos) -- ground finder
3084
3085
 local ax,ay,az = pos:toEulerAnglesXYZ()
3086
3087
 local bhit,bpos=ray(pos.p,pos.p - (pos.p + v3(0,200,0)))
3088
3089
 if bhit and bpos then 
3090
3091
 return cn(bpos)*ca(ax,ay,az) 
3092
3093
 end 
3094
3095
 return nil 
3096
3097
end
3098
3099
3100
3101
function NPC(Name, Position) -- npc maker
3102
3103
        local Character = Instance.new("Model")
3104
3105
        Character.Name = Name
3106
3107
        local Humanoid = Instance.new("Humanoid")
3108
3109
        Humanoid.Parent = Character
3110
3111
        local Template = Instance.new("Part")
3112
3113
        Template.FormFactor = "Custom"
3114
3115
        Template.Size = Vector3.new(1, 2, 1)
3116
3117
        Template.Locked = true
3118
3119
        local Head = Template:Clone()
3120
3121
        Head.Name = "Head"
3122
3123
        Head.TopSurface = "Smooth"
3124
3125
        Head.BottomSurface = "Smooth"
3126
3127
        Head.Size = Vector3.new(2, 1, 1)
3128
3129
        Head.Parent = Character
3130
3131
        local Mesh = Instance.new("SpecialMesh")
3132
3133
        Mesh.MeshType = "Head"
3134
3135
        Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
3136
3137
        Mesh.Parent = Head
3138
3139
        local Face = Instance.new("Decal")
3140
3141
        Face.Name = "face"
3142
3143
        Face.Texture = "rbxasset://textures/face.png"
3144
3145
        Face.Parent = Head
3146
3147
        local Torso = Template:Clone()
3148
3149
        Torso.Name = "Torso"
3150
3151
        Torso.LeftSurface = "Weld"
3152
3153
        Torso.RightSurface = "Weld"
3154
3155
        Torso.CFrame = CFrame.new(0, 10000, 0)
3156
3157
        Torso.Size = Vector3.new(2, 2, 1)
3158
3159
        Torso.Parent = Character
3160
3161
        local TShirt = Instance.new("Decal")
3162
3163
        TShirt.Name = "roblox"
3164
3165
        TShirt.Parent = Torso
3166
3167
        local LeftArm = Template:Clone()
3168
3169
        LeftArm.Name = "Left Arm"
3170
3171
        LeftArm.Parent = Character
3172
3173
        local RightArm = Template:Clone()
3174
3175
        RightArm.Name = "Right Arm"
3176
3177
        RightArm.Parent = Character
3178
3179
        local LeftLeg = Template:Clone()
3180
3181
        LeftLeg.Name = "Left Leg"
3182
3183
        LeftLeg.Parent = Character
3184
3185
        local RightLeg = Template:Clone()
3186
3187
        RightLeg.Name = "Right Leg"
3188
3189
        RightLeg.Parent = Character
3190
3191
        Character:BreakJoints()
3192
3193
        local Neck = Instance.new("Weld")
3194
3195
        Neck.Name = "Neck"
3196
3197
        Neck.Part0 = Torso
3198
3199
        Neck.Part1 = Head
3200
3201
        Neck.C0 = CFrame.new(0, 1.5, 0)
3202
3203
        Neck.Parent = Torso
3204
3205
        local LeftShoulder = Instance.new("Motor")
3206
3207
        LeftShoulder.Name = "Left Shoulder"
3208
3209
        LeftShoulder.Part0 = Torso
3210
3211
        LeftShoulder.Part1 = LeftArm
3212
3213
        LeftShoulder.MaxVelocity = 0.1
3214
3215
        LeftShoulder.C0 = CFrame.new(-Torso.Size.x / 2 - RightArm.Size.x / 2, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
3216
3217
        LeftShoulder.C1 = CFrame.new(0, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
3218
3219
        LeftShoulder.Parent = Torso
3220
3221
        local RightShoulder = Instance.new("Motor")
3222
3223
        RightShoulder.Name = "Right Shoulder"
3224
3225
        RightShoulder.Part0 = Torso
3226
3227
        RightShoulder.Part1 = RightArm
3228
3229
        RightShoulder.MaxVelocity = 0.1
3230
3231
        RightShoulder.C0 = CFrame.new(Torso.Size.x / 2 + RightArm.Size.x / 2, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
3232
3233
        RightShoulder.C1 = CFrame.new(0, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
3234
3235
        RightShoulder.Parent = Torso
3236
3237
        local LeftHip = Instance.new("Motor")
3238
3239
        LeftHip.Name = "Left Hip"
3240
3241
        LeftHip.Part0 = Torso
3242
3243
        LeftHip.Part1 = LeftLeg
3244
3245
        LeftHip.MaxVelocity = 0.1
3246
3247
        LeftHip.C0 = CFrame.new(-LeftLeg.Size.x / 2, -LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
3248
3249
        LeftHip.C1 = CFrame.new(0, LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
3250
3251
        LeftHip.Parent = Torso
3252
3253
        local RightHip = Instance.new("Motor")
3254
3255
        RightHip.Name = "Right Hip"
3256
3257
        RightHip.Part0 = Torso
3258
3259
        RightHip.Part1 = RightLeg
3260
3261
        RightHip.MaxVelocity = 0.1
3262
3263
        RightHip.C0 = CFrame.new(RightLeg.Size.x / 2, -RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
3264
3265
        RightHip.C1 = CFrame.new(0, RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
3266
3267
        RightHip.Parent = Torso
3268
3269
        local BodyColors = Instance.new("BodyColors")
3270
3271
        BodyColors.LeftArmColor = BrickColor.new("Bright yellow")
3272
3273
        BodyColors.RightArmColor = BrickColor.new("Bright yellow")
3274
3275
        BodyColors.LeftLegColor = BrickColor.new("Br. yellowish green")
3276
3277
        BodyColors.RightLegColor = BrickColor.new("Br. yellowish green")
3278
3279
        BodyColors.HeadColor = BrickColor.new("Bright yellow")
3280
3281
        BodyColors.TorsoColor = BrickColor.new("Bright blue")
3282
3283
        BodyColors.Parent = Character
3284
3285
        Character.Parent = Workspace
3286
3287
        Character:MoveTo(Position)
3288
3289
        Character:MoveTo(Torso.Position + Vector3.new(0, 3, 0))
3290
3291
        return Character
3292
3293
end
3294
3295
3296
3297
AddBV=function(str,cfr,par,debt)
3298
3299
if not par then return end 
3300
3301
if par:findFirstChild'LibBV' then par.LibBV:Remove() end 
3302
3303
tbbodyvelocity=qi{'BodyVelocity',par,velocity=cfr.lookVector*str,maxForce=v3(1/0,1/0,1/0),Name='LibBV'} deb:AddItem(tbbodyvelocity,debt)
3304
3305
end
3306
3307
3308
3309
AddBG=function(str,par,debt)
3310
3311
if not par then return end 
3312
3313
if par:findFirstChild'LibBG' then par.LibBG:Remove() end 
3314
3315
tbbodygyro=qi{'BodyGyro',par,maxTorque=v3(1/0,1/0,1/0),P=100000,cframe=str,Name='LibBG'} deb:AddItem(tbbodygyro,debt)
3316
3317
end
3318
3319
3320
3321
AddBAV=function(vec3,par,debt)
3322
3323
if not par then return end
3324
3325
if par:findFirstChild'LibBAV' then par.LibBAV:Remove() end
3326
3327
tbbodyangularvelocity=qi{'BodyAngularVelocity',par,maxTorque=v3(1/0,1/0,1/0),angularvelocity=vec3,Name='LibBAV'} deb:AddItem(tbbodyangularvelocity,debt)
3328
3329
end
3330
3331
3332
3333
Dmg = function(Hum,Dealt,Critical)
3334
3335
local HM=Hum.Parent
3336
3337
local HMT,HMB=HM:findFirstChild'Torso',HM:findFirstChild'Block'
3338
3339
local Blocks=HMB and HMB.Value>0
3340
3341
if HMT then
3342
3343
local mm=qi{'Model',HMT} qi{'Humanoid',mm,MaxHealth=0} deb:AddItem(mm,1)
3344
3345
local mp= qi{'Part',mm,Name='Head',formFactor="Custom",Anchored=true,CanCollide=false,Size=v3(1,0.2,1),CFrame=HMT.CFrame*cn(rn(-100,100)/50,3,rn(-100,100)/50)} qi{'BlockMesh',mp}
3346
3347
if Blocks then 
3348
3349
mm.Name='Block!'
3350
3351
mp.BrickColor=bn'Bright blue'
3352
3353
HMB.Value=HMB.Value-1
3354
3355
elseif not Blocks then
3356
3357
mm.Name=Dealt
3358
3359
mp.BrickColor=bn'Bright red'
3360
3361
end
3362
3363
if Critical then
3364
3365
mm.Name="Crit! "..Dealt
3366
3367
else
3368
3369
mm.Name=Dealt
3370
3371
end
3372
3373
end
3374
3375
if not Blocks then  
3376
3377
Hum:TakeDamage(Dealt)
3378
3379
end
3380
3381
end
3382
3383
3384
3385
GetHum = function(part)
3386
3387
local Hum,HT,block
3388
3389
for i,v in pairs(part.Parent:children()) do 
3390
3391
if v:IsA("Humanoid") then
3392
3393
Hum=v
3394
3395
elseif v.Name=='Torso' then
3396
3397
HT=v
3398
3399
elseif v.Name=='Block' and v:IsA("NumberValue") then
3400
3401
block=v
3402
3403
end
3404
3405
end
3406
3407
return Hum,HT,block
3408
3409
end
3410
3411
3412
3413
Lightning = function(p0,p1,tym,ofs,col,th,tra) -- start end times offset color thickness
3414
3415
local magz = (p0 - p1).magnitude local curpos = p0 local trz = {-ofs,ofs}
3416
3417
for i=1,tym do 
3418
3419
local li = it("Part",c) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true  li.Transparency = tra or 0.4 li.BrickColor = bc(col)
3420
3421
li.formFactor = "Custom" li.CanCollide = false li.Size = v3(th,th,magz/tym) local ofz = v3(trz[rn(1,2)],trz[rn(1,2)],trz[rn(1,2)]) 
3422
3423
local trolpos = cn(curpos,p1)*cn(0,0,magz/tym).p+ofz
3424
3425
if tym == i then 
3426
3427
local magz2 = (curpos - p1).magnitude li.Size = v3(th,th,magz2)
3428
3429
li.CFrame = cn(curpos,p1)*cn(0,0,-magz2/2)
3430
3431
else
3432
3433
li.CFrame = cn(curpos,trolpos)*cn(0,0,magz/tym/2)
3434
3435
end
3436
3437
curpos = li.CFrame*cn(0,0,magz/tym/2).p de(li,0.25)
3438
3439
end
3440
3441
end
3442
3443
3444
3445
MakeCrater = function(pos,sc,tyms,debz,par) -- crater maker
3446
3447
 q(function() 
3448
3449
 if not debz then 
3450
3451
 debz = 5 
3452
3453
 end 
3454
3455
 local bhit,bpos=ray(pos,pos - (pos + v3(0,200,0)))
3456
3457
 if bhit and bpos then
3458
3459
 for i=1,tyms do 
3460
3461
 q(function()
3462
3463
 local gr = pa(par or workspace,"","Block",rn(5,13)/10*sc,0.25*sc,rn(4,10)/10*sc,true,true,bhit.Transparency,bhit.Reflectance,bhit.BrickColor.Name) 
3464
3465
 gr.Material = bhit.Material 
3466
3467
 gr.TopSurface = bhit.TopSurface
3468
3469
 gr.CFrame = cn(bpos+v3(rn(-12,12)/10*sc,0,rn(-12,12)/10*sc))*ca(rd(rn(-40,40)),rd(rn(-360,360)),rd(rn(-40,40))) 
3470
3471
 wait(debz) 
3472
3473
 fade(gr,0.1)
3474
3475
 end) 
3476
3477
 end
3478
3479
 end 
3480
3481
 end)
3482
3483
end
3484
3485
3486
3487
MakeCrack = function(pos,sc,debz,par) -- crackmaker
3488
3489
 q(function() 
3490
3491
 if not debz then 
3492
3493
 debz = 5 
3494
3495
 end 
3496
3497
 local bhit,bpos=ray(pos,pos - (pos + v3(0,10,0)))
3498
3499
 if bhit and bpos then
3500
3501
local cr = pa(par or workspace,"Crack","Block",sc,0,sc,false,true,1,0,"") cr.CFrame = cn(bpos)
3502
3503
local dec=qi({"Decal",cr,Face="Top",Texture=ds.Crack}) de(cr,debz)
3504
3505
 end 
3506
3507
 end)
3508
3509
end
3510
3511
3512
3513
a = {}
3514
3515
a.insw={}
3516
3517
function cleanweld(wexx,namzi) 
3518
3519
 local tn=ft2(a.insw,wexx) 
3520
3521
 if tn==nil then return end 
3522
3523
 if namzi=="p0" then 
3524
3525
 a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=0,0,0 elseif namzi=="p1" then
3526
3527
 a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=0,0,0 elseif namzi=="a0" then
3528
3529
 a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=0,0,0 elseif namzi=="a1" then
3530
3531
 a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=0,0,0 
3532
3533
 end
3534
3535
end
3536
3537
function c2(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz) 
3538
3539
 q(function() 
3540
3541
 c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz) 
3542
3543
 end) 
3544
3545
end
3546
3547
a.Welding=0 
3548
3549
function c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
3550
3551
 if ft2(a.insw,wexx)==nil then 
3552
3553
 ti(a.insw,{wexx,{}}) 
3554
3555
 local tn=ft2(a.insw,wexx) 
3556
3557
 a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=wexx.C0.x,wexx.C0.y,wexx.C0.z 
3558
3559
 a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=wexx.C1.x,wexx.C1.y,wexx.C1.z 
3560
3561
 a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=wexx.C0:toEulerAnglesXYZ()
3562
3563
 a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=wexx.C1:toEulerAnglesXYZ() 
3564
3565
 end 
3566
3567
 local tn=ft2(a.insw,wexx) 
3568
3569
 local xx2,yy2,zz2=0,0,0 
3570
3571
 local x2,y2,z2=0,0,0 
3572
3573
 if c0orc1==0 then 
3574
3575
 xx2,yy2,zz2=a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"] 
3576
3577
 x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"] 
3578
3579
 elseif c0orc1==1 then 
3580
3581
 xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"] 
3582
3583
 x2,y2,z2=a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"] 
3584
3585
 else 
3586
3587
 xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
3588
3589
 x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"] 
3590
3591
 end a.Welding=a.Welding + 1 
3592
3593
 local twa=1 
3594
3595
 if smmx >= 1 then 
3596
3597
 else 
3598
3599
 for i=smmx,0.8,smmx do 
3600
3601
 twa = 1 
3602
3603
 if c0orc1==0 then 
3604
3605
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)) 
3606
3607
 elseif c0orc1==1 then 
3608
3609
 wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)) 
3610
3611
 else local x,y,z = wexx.C0:toEulerAnglesXYZ()
3612
3613
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
3614
3615
 wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
3616
3617
 end 
3618
3619
 if fu then 
3620
3621
 q(fu) 
3622
3623
 end 
3624
3625
 wait() 
3626
3627
 end 
3628
3629
 for i=0.8,1,smmx*0.45 do 
3630
3631
 twa = 1 
3632
3633
 if c0orc1==0 then 
3634
3635
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)) 
3636
3637
 elseif c0orc1==1 then 
3638
3639
 wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)) 
3640
3641
 else local x,y,z = wexx.C0:toEulerAnglesXYZ()
3642
3643
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
3644
3645
 wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
3646
3647
 end
3648
3649
 wait() 
3650
3651
 end 
3652
3653
 end 
3654
3655
 local i=1 
3656
3657
 if c0orc1==0 then 
3658
3659
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)) 
3660
3661
 elseif c0orc1==1 then 
3662
3663
 wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)) 
3664
3665
 else local x,y,z = wexx.C0:toEulerAnglesXYZ()
3666
3667
 wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
3668
3669
 wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
3670
3671
 end 
3672
3673
 a.Welding=a.Welding - 1 
3674
3675
 local tn=ft2(a.insw,wexx)
3676
3677
 if c0orc1==0 then 
3678
3679
 a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
3680
3681
 a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
3682
3683
 elseif c0orc1==1 then
3684
3685
 a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
3686
3687
 a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
3688
3689
 elseif c0orc1==3 then
3690
3691
 local x,y,z=wexx.C0.x,wexx.C0.y,wexx.C0.z 
3692
3693
 a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
3694
3695
 local x,y,z=wexx.C1:toEulerAnglesXYZ()
3696
3697
 a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
3698
3699
 end 
3700
3701
end 
3702
3703
3704
3705
Welds={}
3706
3707
Ani=function(w,a,b,c,d,e,f,ty,inc,sined)
3708
3709
if not Welds[w] then
3710
3711
local d0,e0,f0=w.C0:toEulerAnglesXYZ() local d1,e1,f1=w.C1:toEulerAnglesXYZ()
3712
3713
local d0,e0,f0=mdeg(d0),mdeg(e0),mdeg(f0) local d1,e1,f1=mdeg(d1),mdeg(e1),mdeg(f1)
3714
3715
Welds[w]={[0]={w.C0.x,w.C0.y,w.C0.z,d0,e0,f0},[1]={w.C1.x,w.C1.y,w.C1.z,d1,e1,f1}}
3716
3717
end
3718
3719
local c0,c1=Welds[w][0],Welds[w][1]
3720
3721
c0[1],c0[2],c0[3]=w.C0.x,w.C0.y,w.C0.z
3722
3723
c1[1],c1[2],c1[3]=w.C1.x,w.C1.y,w.C1.z
3724
3725
local A0,B0,C0,D0,E0,F0 = unpack(c0)
3726
3727
local A1,B1,C1,D1,E1,F1 = unpack(c1)
3728
3729
local Do = function(i)
3730
3731
if ty==0 then
3732
3733
w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2( D0-((D0-d)*i) , E0-(((E0-e)/1)*i) , F0-((F0-f)*i) )
3734
3735
elseif ty==1 then
3736
3737
w.C1=cn( A1-((A1-a)*i) , B1-((B1-b)*i) , C1-((C1-c)*i) ) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
3738
3739
else
3740
3741
w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2(D0,E0,F0)
3742
3743
w.C1=cn(A1,B1,C1) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
3744
3745
end
3746
3747
end
3748
3749
for i=inc,1,inc do 
3750
3751
Do(sined and math.sin(math.pi/2*i) or i)
3752
3753
wait()
3754
3755
end
3756
3757
Do(1)
3758
3759
if ty==0 then
3760
3761
c0[4],c0[5],c0[6]=d,e,f 
3762
3763
else
3764
3765
c1[4],c1[5],c1[6]=d,e,f 
3766
3767
end
3768
3769
end
3770
3771
qAni=function(w,a,b,c,d,e,f,ty,inc,sined) q(function() Ani(w,a,b,c,d,e,f,ty,inc,sined) end) end
3772
3773
rAni=function(w)
3774
3775
Welds[w]=nil
3776
3777
end
3778
3779
3780
3781
gunshot = function(speed,sc,dmg,cff) q(function() -- gunshot function
3782
3783
local bb = pa(workspace,"bullet","Block",0.2*sc,0.3*sc,0.2*sc,true,true,0,0.1,"Black") qi({"CylinderMesh",bb})
3784
3785
bb.CFrame = cff*ca(rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500))
3786
3787
so(ds.Fire,bb,0.3,1) wait() for i=1,50 do 
3788
3789
bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,-1,0)).p)
3790
3791
if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bpos and (bpos - bb.Position).magnitude < speed  then break end
3792
3793
bb.CFrame=bb.CFrame*cn(0,speed,0)*ca(rd(-0.2),0,0)
3794
3795
wait()
3796
3797
end bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
3798
3799
if not bhit.Anchored then 
3800
3801
if bhit.Parent:findFirstChild("Humanoid") then local h = bhit.Parent.Humanoid h.Health=h.Health-dmg so(ds.Hit,bhit,0.3,1) end 
3802
3803
else if bhit.Name~="Base" then bhit.Anchored=false bhit:BreakJoints() end end bb:Remove()
3804
3805
if bhit.Parent:findFirstChild("Humanoid") == nil then BulletHole(bpos,bhit,0.7*sc) end
3806
3807
end) end
3808
3809
3810
3811
dive = function(ob2,pro,ite,stof)
3812
3813
local function div(ob) for i,v in pairs(ob:children()) do if v[pro] == ite then 
3814
3815
for i=1,#stof do v[stof[i][1]] = stof[i][2] end else div(v) end end end 
3816
3817
div(ob2)
3818
3819
end
3820
3821
3822
3823
fc = function(ob,cl)
3824
3825
for i,v in pairs(ob:children()) do if v.className:lower()==cl:lower() then return v end end 
3826
3827
end
3828
3829
3830
3831
function se(Key,Text) 
3832
3833
local Values = {} 
3834
3835
for value in (Text..Key):gmatch("(.-)"..Key) do 
3836
3837
table.insert(Values,value)
3838
3839
end return Values 
3840
3841
end
3842
3843
3844
3845
local thefenv = getfenv()
3846
3847
getfenv()["rmhelp"] = function() 
3848
3849
local nus = 0
3850
3851
for i,v in pairs(thefenv) do if i ~= "wait" and i ~= "script" then nus = nus + 1 wait(0.05)
3852
3853
print(string.rep(" ",3-#tostring(nus)) ..nus.. ")  " ..i.. "  (" ..type(v).. ")")
3854
3855
end
3856
3857
end
3858
3859
end
3860
3861
3862
3863
for i,v in pairs(thefenv) do 
3864
3865
_G[i] = v
3866
3867
--print(i)
3868
3869
end
3870
3871
3872
3873
_G[" r".."m".."d".."x "] = [[
3874
3875
for i,v in pairs(_G) do 
3876
3877
if i ~= "wait" and i ~= "script" then
3878
3879
getfenv()[i] = v
3880
3881
end
3882
3883
end
3884
3885
]]
3886
---------------------------------------------------------
3887
script:ClearAllChildren()
3888
3889
loadstring(_G[" rmdx "])()
3890
3891
3892
3893
Player=game:GetService("Players").LocalPlayer
3894
3895
Char=Player.Character
3896
3897
Backpack=Player.Backpack
3898
3899
PlayerGui=Player.PlayerGui
3900
3901
Torso=Char.Torso
3902
3903
Head=Char.Head
3904
3905
Hum=Char.Humanoid
3906
3907
Cam=workspace.CurrentCamera
3908
3909
Tn="Pipebomb Launcher"
3910
3911
3912
3913
3914
pcall(function() Backpack[Tn]:Remove() end)
3915
3916
pcall(function() Cam[Tn]:Remove() end)
3917
3918
pcall(function() thesuit=Char[''] end)
3919
3920
pcall(function() thesuit[Tn]:Remove() end)
3921
3922
pcall(function() PlayerGui[Tn]:Remove() end)
3923
3924
3925
3926
CModel=qi{'Model',Cam,Name=Tn}
3927
3928
Tool=qi{'HopperBin',Player.Backpack,Name=Tn}
3929
3930
Suit=qi{'Model',Char,Name=''}
3931
3932
Weapon=qi{'Model',Suit,Name=Tn}
3933
3934
Gui=qi{'ScreenGui',PlayerGui,Name=Tn}
3935
3936
3937
3938
equip="unequipped"
3939
3940
anim=""
3941
3942
keys={}
3943
3944
fmouse=nil
3945
3946
PipeRotate=0
3947
3948
Clip=6
3949
3950
LastShot=0
3951
3952
3953
3954
ids = {}
3955
3956
ids.Shoot = 10209633
3957
3958
ids.Reload = 10209636
3959
3960
ids.Crown = 20329976
3961
3962
ids.Crown2 = 1323306
3963
3964
ids.Icon = 52611635
3965
3966
ids.Explode = 2697431
3967
3968
ids.Ring =  3270017 
3969
3970
3971
3972
for i,v in pairs(ids) do 
3973
3974
if type(v)=='number' then 
3975
3976
ids[i]='http://www.roblox.com/asset/?id='..v
3977
3978
end
3979
3980
game:GetService("ContentProvider"):Preload(ids[i])
3981
3982
end
3983
3984
3985
3986
Limbs={LS=Torso:findFirstChild'Left Shoulder',RS=Torso:findFirstChild'Right Shoulder',LH=Torso:findFirstChild'Left Hip',RH=Torso:findFirstChild'Right Hip'}
3987
3988
if _G.Limbz then 
3989
3990
Limbs.LS=Limbs.LS or _G.Limbz.LS
3991
3992
Limbs.RS=Limbs.RS or _G.Limbz.RS
3993
3994
Limbs.LH=Limbs.LH or _G.Limbz.LH
3995
3996
Limbs.RH=Limbs.RH or _G.Limbz.RH
3997
3998
end 
3999
4000
_G.Limbz=Limbs
4001
4002
Torso.Neck.C0=cn(0,1.5,0) Torso.Neck.C1=cn(0,0,0)
4003
4004
c2(Torso.Neck,1,3,0,1.5,0,0,0,0)
4005
4006
LS,RS,LH,RH=Limbs.LS,Limbs.RS,Limbs.LH,Limbs.RH
4007
4008
LA,RA,LL,RL=Char['Left Arm'],Char['Right Arm'],Char['Left Leg'],Char['Right Leg']
4009
4010
LS.Part0,RS.Part0,LH.Part0,RH.Part0=Torso,Torso,Torso,Torso
4011
4012
LS.Part1,RS.Part1,LH.Part1,RH.Part1=LA,RA,LL,RL
4013
4014
4015
4016
pcall(function() thesuit:Remove() end)
4017
4018
4019
4020
Head.face.Transparency=0 
4021
4022
Head.Transparency=1 Torso.Transparency=1
4023
4024
fTorso=pa(Suit,"FTorso","Block",2,2,1,false,false,0,0,Torso.BrickColor.Name) neck=Torso.Neck
4025
4026
tw=weld(fTorso,Torso,fTorso,0,0,0,0,0,0) qi{"BlockMesh",fTorso}
4027
4028
fHead=pa(Suit,"FHead","Block",2,1,1,false,false,0,0,Head.BrickColor.Name)
4029
4030
hw=weld(fHead,fTorso,fHead,0,1.5,0,0,0,0) qi{"SpecialMesh",fHead,Scale=v3(1.15,1.15,1.15)} Head.face:Clone().Parent=fHead Head.face.Transparency=1
4031
4032
la=qi{'Weld',fTorso,Part0=fTorso,C0=cn(-1.5,0.5,0),C1=cn(0,0.5,0)} ra=qi{'Weld',fTorso,Part0=fTorso,C0=cn(1.5,0.5,0),C1=cn(0,0.5,0)}
4033
4034
ll=qi{'Weld',fTorso,Part0=fTorso,C0=cn(-0.5,-1,0),C1=cn(0,1,0)} rl=qi{'Weld',fTorso,Part0=fTorso,C0=cn(0.5,-1,0),C1=cn(0,1,0)}
4035
4036
newhats(Char,fHead,Head) ClearClass(Char,"Hat") Hum.WalkSpeed=16 Hum.MaxHealth=175
4037
4038
4039
4040
Armz=false
4041
4042
Legz=false
4043
4044
Arms = function(on) Armz=on
4045
4046
if on then
4047
4048
LS.Part1=nil RS.Part1=nil
4049
4050
la.Part0=fTorso ra.Part0=fTorso
4051
4052
la.Part1=LA ra.Part1=RA 
4053
4054
la.C0,la.C1=cn(-1.5,0.5,0),cn(0,0.5,0) 
4055
4056
ra.C0,ra.C1=cn(1.5,0.5,0),cn(0,0.5,0)
4057
4058
else
4059
4060
LS.Parent,RS.Parent=fTorso,fTorso LS.Part0=fTorso RS.Part0=fTorso LS.Part1=LA RS.Part1=RA
4061
4062
la.Part1=nil ra.Part1=nil
4063
4064
end
4065
4066
end
4067
4068
4069
4070
Legs = function(on) Legz=on
4071
4072
if on then
4073
4074
LH.Part1=nil RH.Part1=nil
4075
4076
ll.Part0=fTorso rl.Part0=fTorso
4077
4078
ll.Part1=LL rl.Part1=RL 
4079
4080
ll.C0,ll.C1=cn(-0.5,-1,0),cn(0,1,0) 
4081
4082
rl.C0,rl.C1=cn(0.5,-1,0),cn(0,1,0)
4083
4084
else
4085
4086
LH.Parent,RH.Parent=fTorso,fTorso LH.Part0=fTorso RH.Part0=fTorso LH.Part1=LL RH.Part1=RL
4087
4088
ll.Part1=nil rl.Part1=nil
4089
4090
end
4091
4092
end
4093
4094
Arms'' Legs''
4095
4096
4097
4098
WDesign=function(c)
4099
4100
ha=pa(Weapon,"","Block",0.2,0.5,1,false,false,0,0,c[1]) haw=weld(ha,Torso,ha,0.5,2.5,1,rd(270),0,rd(90))
4101
4102
gp=pa(Weapon,"","Block",0.2,1,0.2,false,false,0,0,c[1]) weld(gp,ha,gp,0,-0.35,0,rd(-90),0,0) qi{'SpecialMesh',gp,MeshType='Wedge'}
4103
4104
gp=pa(Weapon,"","Block",0.2,0.7,0.2,false,false,0,0,c[2]) weld(gp,ha,gp,0,-0.1,0.55,0,0,0) qi{'BlockMesh',gp,Scale=v3(1,1,0.5)}
4105
4106
gp=pa(Weapon,"","Block",0.2,0.5,0.5,false,false,0,0,c[1]) weld(gp,ha,gp,0,-0.115,-0.5,rd(45),0,0)
4107
4108
gp=pa(Weapon,"","Block",0.2,0.5,1,false,false,0,0,c[1]) weld(gp,ha,gp,0,-0.1,-0.95,rd(15),0,0)
4109
4110
gpp=pa(Weapon,"","Block",0.21,0.6,0.3,false,false,0,0,c[3]) weld(gpp,ha,gpp,0,0,-1.5,0,0,0)
4111
4112
gp=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(gp,gpp,gp,0,-0.4,0.05,0,rd(90),0) qi{'SpecialMesh',gp,MeshId=ids.Ring,Scale=v3(0.35,0.35,1)}
4113
4114
gp=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(gp,gpp,gp,0,-0.4,0.05,rd(10),rd(90),0) qi{'BlockMesh',gp,Scale=v3(0.25,1,0.25)}
4115
4116
gp1=pa(Weapon,"","Block",1.2,0.2,1.2,false,false,0,0,c[3]) weld(gp1,gpp,gp1,0,-0.25,-0.2,rd(90),0,0) qi{'CylinderMesh',gp1}
4117
4118
p1=pa(Weapon,"","Block",0.4,1.3,0.2,false,false,0,0,c[3]) weld(p1,gp1,p1,0,0,0.1,rd(90),0,0)
4119
4120
p2=pa(Weapon,"","Block",0.2,0.4,0.2,false,false,0,0,c[3]) weld(p2,p1,p2,0,1.3/2,0,0,0,rd(90)) qi{'CylinderMesh',p2}
4121
4122
hinge=pa(Weapon,"","Block",0.2,0.4,0.2,false,false,0,0,c[4]) hingew=weld(hinge,p2,hinge,0,0,0,0,rd(0),0) qi{'CylinderMesh',hinge,Scale=v3(0.6,1.001,0.6)}
4123
4124
p3=pa(Weapon,"","Block",0.4,0.3,0.2,false,false,0,0,c[3]) weld(p3,p1,p3,0,-1.3/2,0,0,0,0) qi{'BlockMesh',p3}
4125
4126
p4=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(p4,p3,p4,0.15,-0.2,0,0,0,0) qi{'BlockMesh',p4,Scale=v3(0.5,1,1)}
4127
4128
p5=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(p5,p3,p5,-0.15,-0.2,0,0,0,0) qi{'BlockMesh',p5,Scale=v3(0.5,1,1)}
4129
4130
p6=pa(Weapon,"","Block",0.4,0.2,0.7,false,false,0,0,c[3]) weld(p6,hinge,p6,0,0,0.35,0,0,rd(-90)) qi{'BlockMesh',p6,Scale=v3(1,0.5,1)}
4131
4132
p7=pa(Weapon,"","Block",0.4,0.2,0.4,false,false,0,0,c[3]) weld(p7,p6,p7,0,0,0.55,rd(180),0,0) qi{'SpecialMesh',p7,Scale=v3(1,0.5,1),MeshType="Wedge"}
4133
4134
p8=pa(Weapon,"","Block",0.4,0.2,0.4,false,false,0,0,c[3]) weld(p8,p7,p8,0,-0.15,0,rd(180),0,0) qi{'SpecialMesh',p8,MeshType="Wedge"}
4135
4136
p9=pa(Weapon,"","Block",0.4,0.2,0.3,false,false,0,0,c[3]) weld(p9,p8,p9,0,0,0.35,0,0,0) qi{'BlockMesh',p9}
4137
4138
p10=pa(Weapon,"","Block",0.4,0.2,0.3,false,false,0,0,c[3]) weld(p10,p9,p10,0,0,0.3,0,rd(180),0) qi{'SpecialMesh',p10,MeshType="Wedge"}
4139
4140
p11=pa(Weapon,"","Block",0.4,0.2,0.3,false,false,0,0,c[3]) weld(p11,p10,p11,0,-0.2,0,0,0,0) qi{'BlockMesh',p11}
4141
4142
p12=pa(Weapon,"","Block",0.3,0.2,0.3,false,false,0,0,c[3]) weld(p12,p11,p12,0.35,0,0,0,rd(-90),0) qi{'SpecialMesh',p12,MeshType="Wedge"}
4143
4144
p13=pa(Weapon,"","Block",0.3,0.2,0.3,false,false,0,0,c[3]) weld(p13,p11,p13,-0.35,0,0,0,rd(90),0) qi{'SpecialMesh',p13,MeshType="Wedge"}
4145
4146
p14=pa(Weapon,"","Block",1.5,0.3,1.5,false,false,0,0,c[3]) weld(p14,p11,p14,0,-0.7,0,rd(90),0,0) qi{'CylinderMesh',p14}
4147
4148
p15=pa(Weapon,"","Block",1.3,0.2,1.3,false,false,0,0,c[2]) weld(p15,p14,p15,0,0.25,0,0,0,0) qi{'CylinderMesh',p15}
4149
4150
p16=pa(Weapon,"","Block",0.2,1.4,0.2,false,false,0,0,c[2]) piperw=weld(p16,p15,p16,0,0.7,0,0,rd(30),0) qi{'CylinderMesh',p16}
4151
4152
for i=0,360,360/6 do 
4153
4154
p16p=pa(Weapon,"","Block",0.5,1.1,0.5,false,false,0,0,c[2]) p16pw=weld(p16p,p16,p16p,0,0,0,0,0,0) qi{'CylinderMesh',p16p} p16pw.C0=cn(0,-0.05,0)*ca(0,rd(i),0)*cn(0.4,0,0) 
4155
4156
p16p=pa(Weapon,"","Block",0.3,0.2,0.3,false,false,0,0,c[5]) p16pw=weld(p16p,p16,p16p,0,0,0,0,0,0) qi{'CylinderMesh',p16p,Scale=v3(1,0.1,1)} p16pw.C0=cn(0,0.5,0)*ca(0,rd(i),0)*cn(0.4,0,0) 
4157
4158
p16p=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[2]) p16pw=weld(p16p,p16,p16p,0,0,0,0,0,0) qi{'CylinderMesh',p16p,Scale=v3(1,0.1,1)} p16pw.C0=cn(0,0.51,0)*ca(0,rd(i),0)*cn(0.4,0,0) 
4159
4160
end
4161
4162
p17=pa(Weapon,"","Block",0.2,0.2,0.3,false,false,0,0,c[3]) weld(p17,p14,p17,0,0,0.75,rd(90),rd(180),0) qi{'SpecialMesh',p17,MeshType="Wedge",Scale=v3(1,1,1)}
4163
4164
p18=pa(Weapon,"","Block",0.2,0.2,1.5,false,false,0,0,c[3]) weld(p18,p17,p18,0,0.05,0.9,0,0,0) qi{'BlockMesh',p18,Scale=v3(1,0.5,1)}
4165
4166
p19=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(p19,p18,p19,0,0.1,0,0,0,0) qi{'SpecialMesh',p19,Scale=v3(0.5,0.5,1),MeshType="Wedge"}
4167
4168
p20=pa(Weapon,"","Block",0.2,0.2,0.3,false,false,0,0,c[3]) weld(p20,p19,p20,0,0,0.25,0,0,0) qi{'BlockMesh',p20,Scale=v3(0.5,0.5,1)}
4169
4170
p21=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(p21,p20,p21,0,0,0.175,0,rd(180),0) qi{'SpecialMesh',p21,Scale=v3(0.5,0.5,0.25),MeshType="Wedge"}
4171
4172
p22=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[4]) weld(p22,p20,p22,0,0,0.05,0,0,rd(90)) qi{'CylinderMesh',p22,Scale=v3(0.25,0.51,0.25)}
4173
4174
p23=pa(Weapon,"","Block",0.75,0.8,0.75,false,false,0,0,c[2]) weld(p23,p14,p23,0,0.1,0.3,0,0,0) qi{'SpecialMesh',p23} -- start of barrel
4175
4176
p24=pa(Weapon,"","Block",0.6,1.8,0.6,false,false,0,0,c[2]) weld(p24,p23,p24,0,-0.9,0,0,0,0) qi{'CylinderMesh',p24}
4177
4178
p25=pa(Weapon,"","Block",0.4,0.2,0.4,false,false,0,0,c[6]) weld(p25,p24,p25,0,-0.9,0,0,0,0) qi{'CylinderMesh',p25,Scale=v3(1,0.1,1)}
4179
4180
p26=pa(Weapon,"","Block",0.65,0.2,0.65,false,false,0,0,c[3]) weld(p26,p24,p26,0,-0.4,0,0,0,0) qi{'CylinderMesh',p26,Scale=v3(1,1,1)}
4181
4182
p26=pa(Weapon,"","Block",0.6,0.4,0.8,false,false,0,0,c[1]) weld(p26,p24,p26,0,0.17,-0.4,rd(90),0,0)
4183
4184
p27=pa(Weapon,"","Block",0.6,0.4,0.4,false,false,0,0,c[1]) weld(p27,p26,p27,0,0,0.6,rd(180),0,0) qi{'SpecialMesh',p27,MeshType="Wedge"}
4185
4186
for i,v in pairs(Weapon:GetChildren()) do v.CanCollide=false end
4187
4188
end
4189
4190
4191
4192
WDesign({"Reddish brown","Black","Dark stone grey","White","Medium stone grey","Really black"}) Arms(false) Legs(false)
4193
4194
4195
4196
BBD,BBT=0,{}
4197
4198
Dealt={20,40}
4199
4200
4201
4202
function Destroy(Directory,Part,Distance) 
4203
4204
for i,v in pairs(Directory:GetChildren()) do 
4205
4206
if v:IsA("BasePart") and not GetHum(v) and v.Parent.Name~=Tn and v.Parent.Name~=Suit.Name and v.Name~="Ignore" and v.Name~="Base" then 
4207
4208
if (Part.Position-v.Position).magnitude<=Distance and v:GetMass()<=1000 then
4209
4210
v.Anchored=false
4211
4212
v:BreakJoints()
4213
4214
v.CFrame=cn(v.Position,Part.Position)*ca(0,rd(180),0) 
4215
4216
v.Velocity=cn(Part.Position,v.Position).lookVector*50
4217
4218
end
4219
4220
elseif v:IsA("Model") or v:IsA("Script") or v:IsA("BasePart") and v.Name=="Base" then 
4221
4222
Destroy(v,Part,Distance) 
4223
4224
end 
4225
4226
end
4227
4228
end
4229
4230
4231
4232
SplashDmg=function(Part,Distance)
4233
4234
q(function()
4235
4236
qi{"Explosion",workspace,Position=Part.Position,BlastPressure=0}
4237
4238
for i,v in pairs(workspace:GetChildren()) do
4239
4240
if v:FindFirstChild("Torso",true) then
4241
4242
local vTorso=v:FindFirstChild("Torso",true)
4243
4244
if (vTorso.Position-Part.Position).magnitude<=Distance then
4245
4246
local vHum=GetHum(vTorso)
4247
4248
if not vHum or BBD==0 or BBT[vHum.Parent] then return end
4249
4250
BBT[vHum.Parent]=1
4251
4252
if rn(1,20)==1 then
4253
4254
Dmg(vHum,rn(Dealt[1],Dealt[2])*3,true)
4255
4256
else
4257
4258
Dmg(vHum,rn(Dealt[1],Dealt[2]),false)
4259
4260
end
4261
4262
if BBD==2 and vTorso then 
4263
4264
vHum.PlatformStand=true
4265
4266
if vHum.Jump then
4267
4268
AddBV(120,cn(Part.Position,vTorso.Position),vTorso,0.4) 
4269
4270
else
4271
4272
AddBV(100,cn(Part.Position,vTorso.Position),vTorso,0.4) 
4273
4274
end
4275
4276
if vTorso.Parent~=Char then
4277
4278
AddBAV(v3(rn(-50,50),rn(-50,50),rn(-50,50)),vTorso,0.4)
4279
4280
end
4281
4282
q(function()
4283
4284
wait(0.6)
4285
4286
vHum.PlatformStand=false
4287
4288
end)
4289
4290
end
4291
4292
so(ids.Hit,vTorso,1,1)
4293
4294
BBT[vHum.Parent]=nil
4295
4296
end
4297
4298
end
4299
4300
end
4301
4302
end)
4303
4304
end
4305
4306
4307
4308
Fire = function(speed,sc,cff,dest) 
4309
4310
q(function()
4311
4312
local bb = pa(workspace,"bullet","Block",0.4*sc,0.6*sc,0.4*sc,false,true,0,0,"Bright red") bb.CanCollide=false qi{"CylinderMesh",bb} 
4313
4314
local pp0 = pa(bb,"bullet","Block",0.2*sc,0.2*sc,0.2*sc,false,true,0,0,"Bright red") pp0.CanCollide=false qi{"SpecialMesh",pp0,MeshType="Sphere",Scale=v3(2,2,2)} 
4315
4316
local pp1 = pa(bb,"bullet","Block",0.2*sc,0.2*sc,0.2*sc,false,true,0,0,"Black") pp1.CanCollide=false qi{"CylinderMesh",pp1,Scale=v3(2.02,0.25,2.02)} 
4317
4318
local pp2 = pa(bb,"bullet","Block",0.2*sc,0.2*sc,0.2*sc,false,true,0,0,"Black") pp2.CanCollide=false qi{"CylinderMesh",pp2,Scale=v3(2.02,2,2.02)} 
4319
4320
bb.CFrame = cn(cff.p,dest)*ca(rd(-90),0,0)
4321
4322
local m=pa(Weapon,"muzzle","Block",1,1,1,false,false,0,0,"Bright orange") qi{"SpecialMesh",m,MeshId=ids.Crown,Scale=v3(0.5,0.5,0.5)}  weld(m,p25,m,0,-0.6,0.05,rd(180),0,0) fade(m,0.2)
4323
4324
local m=pa(Weapon,"muzzle","Block",1,1,1,false,false,0,0,"Bright orange") qi{"SpecialMesh",m,MeshId=ids.Crown2,Scale=v3(0.4,0.7,0.4)} weld(m,p25,m,0,-0.8,0,rd(180),0,0) fade(m,0.2)
4325
4326
for i=1,100 do 
4327
4328
bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,-2,0)).p)
4329
4330
bhit2,bpos2=ray(pp0.Position,pp0.Position - (pp0.CFrame *cn(0,-2,0)).p)
4331
4332
bhit3,bpos3=ray(pp1.Position,bb.Position - (pp1.CFrame *cn(0,-2,0)).p)
4333
4334
bhit4,bpos4=ray(pp2.Position,pp0.Position - (pp2.CFrame *cn(0,-2,0)).p)
4335
4336
if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bhit.Name~="muzzle" and bpos and (bpos - bb.Position).magnitude < speed then break end
4337
4338
if bhit2 and bhit2.Name ~= "bullet" and bhit2.Name ~= "bullethole" and bhit2.Name~="muzzle" and bpos2 and (bpos2 - bb.Position).magnitude < speed then break end
4339
4340
if bhit3 and bhit3.Name ~= "bullet" and bhit3.Name ~= "bullethole" and bhit3.Name~="muzzle" and bpos3 and (bpos3 - bb.Position).magnitude < speed then break end
4341
4342
if bhit4 and bhit4.Name ~= "bullet" and bhit4.Name ~= "bullethole" and bhit4.Name~="muzzle" and bpos4 and (bpos4 - bb.Position).magnitude < speed then break end
4343
4344
bb.CFrame=bb.CFrame*cn(0,speed,0)*ca(rd(-0.3),0,0)
4345
4346
pp0.CFrame=bb.CFrame*cn(0,0.3,0)
4347
4348
pp1.CFrame=bb.CFrame*cn(0,-0.3,0)
4349
4350
pp2.CFrame=bb.CFrame*cn(0,0.1,0)
4351
4352
wait()
4353
4354
end 
4355
4356
GlowMesh(false,"sphere",Weapon,v3(3,3,3),"Bright red",cn(bpos),0.25,1,0.05)
4357
4358
BBD=2
4359
4360
sopart=pa(workspace,"bullet","Block",0,0,0,true,true,1,0)
4361
4362
bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
4363
4364
pp0.CFrame=bb.CFrame*cn(0,0.3,0)
4365
4366
pp1.CFrame=bb.CFrame*cn(0,-0.3,0)
4367
4368
pp2.CFrame=bb.CFrame*cn(0,0.1,0)
4369
4370
sopart.CFrame=bb.CFrame
4371
4372
so(ids.Explode,sopart,1,0.4)
4373
4374
SplashDmg(bb,11)
4375
4376
Destroy(workspace,bb,13)
4377
4378
BBD=0
4379
4380
deb:AddItem(bb,1)
4381
4382
deb:AddItem(sopart,1)
4383
4384
end) 
4385
4386
end 
4387
4388
4389
4390
function Stance(speed)
4391
4392
c2(ra,speed,3,1.25,0.5,-0.25,-75,-65,0)
4393
4394
c2(la,speed,3,-1.25,0.5,-0.25,-70,-20,0)
4395
4396
c2(ll,speed,3,-0.5,-1,0,0,0,0)
4397
4398
c2(rl,speed,3,0.5,-1,0,0,0,0)
4399
4400
c2(hw,speed,3,0,1.5,0,0,-65,0)
4401
4402
c2(tw,speed,3,0,0,0,0,65,0)
4403
4404
c2(neck,speed,3,0,1.5,0,0,0,0)
4405
4406
c2(hingew,speed,3,0,0,0,0,0,0)
4407
4408
c2(piperw,speed,3,0,0.7,0,0,30+PipeRotate,0)
4409
4410
Ani(haw,0,0.5,0,-75,0,0,0,speed/2,1)
4411
4412
end
4413
4414
4415
4416
function Reset(speed)
4417
4418
c2(ra,speed,3,1.5,0.5,0,0,0,0)
4419
4420
c2(la,speed,3,-1.5,0.5,0,0,0,0)
4421
4422
c2(ll,speed,3,-0.5,-1,0,0,0,0)
4423
4424
c2(rl,speed,3,0.5,-1,0,0,0,0)
4425
4426
c2(hw,speed,3,0,1.5,0,0,0,0)
4427
4428
c2(tw,speed,3,0,0,0,0,0,0)
4429
4430
c2(neck,speed,3,0,1.5,0,0,0,0)
4431
4432
c2(piperw,speed,3,0,0.7,0,0,30+PipeRotate,0)
4433
4434
c2(hingew,speed,3,0,0,0,0,0,0)
4435
4436
Ani(haw,0.5,2.5,1,270,0,90,0,speed,1)
4437
4438
end
4439
4440
4441
4442
function Button1Down()
4443
4444
if Clip>0 and anim=="" and (tick()-LastShot)>=0.6 then
4445
4446
LastShot=tick()
4447
4448
so(ids.Shoot,ha,1,1)
4449
4450
Fire(3,1,p25.CFrame*cn(0,-1,0),fmouse.Hit.p)
4451
4452
Clip=Clip-1
4453
4454
PipeRotate=PipeRotate+60
4455
4456
c2(piperw,0.4,3,0,0.7,0,0,30+PipeRotate,0)
4457
4458
elseif Clip==0 and anim=="" and (tick()-LastShot)>=0.6 then
4459
4460
anim="Reloading"
4461
4462
c2(ra,0.1,3,1.25,0.5,-0.25,-75,-65,0)
4463
4464
c2(la,0.1,3,-1.25,0.5,-0.25,-70,-20,0)
4465
4466
c2(hw,0.1,3,0,1.5,0,0,-65,0)
4467
4468
c1(hingew,0.15,3,0,0,0,0,-90,0)
4469
4470
for i=1,6 do
4471
4472
PipeRotate=PipeRotate+60
4473
4474
c1(la,0.13,3,-1.25,0.25,0.1,15,0,-15)
4475
4476
local pipe=pa(Weapon,"","Block",0.4,0.7,0.4,false,false,0,0,"Bright red") weld(pipe,LA,pipe,0,-1.1,0,rd(-90),0,0) qi{"CylinderMesh",pipe}
4477
4478
local pp=pa(pipe,"","Block",0.4,0.4,0.4,false,false,0,0,"Bright red") weld(pp,pipe,pp,0,-0.35,0,0,0,0) qi{"SpecialMesh",pp,MeshType="Sphere"}
4479
4480
local pp=pa(pipe,"","Block",0.41,0.2,0.41,false,false,0,0,"Black") weld(pp,pipe,pp,0,0.35,0,0,0,0) qi{"CylinderMesh",pp,Scale=v3(1,0.25,1)}
4481
4482
local pp=pa(pipe,"","Block",0.41,0.5,0.41,false,false,0,0,"Black") weld(pp,pipe,pp,0,0,0,0,0,0) qi{"CylinderMesh",pp}
4483
4484
c1(la,0.16,3,-1.25,0.4,-0.1,-100,0,-15)
4485
4486
c1(la,0.2,3,-1.25,0.3,-0.25,-40,0,-15)
4487
4488
so(ids.Reload,ha,1,1)
4489
4490
c1(piperw,0.4,3,0,0.7,0,0,30+PipeRotate,0)
4491
4492
Clip=i
4493
4494
deb:AddItem(pipe,0.05)
4495
4496
end
4497
4498
Stance(0.15)
4499
4500
anim=""
4501
4502
end
4503
4504
end
4505
4506
4507
4508
function KeyDown(key)
4509
4510
key=key:lower()
4511
4512
keys[key]=true
4513
4514
if key=="r" and anim=="" and equip=="equipped" and Clip==0 then
4515
4516
anim="Reloading"
4517
4518
c2(ra,0.1,3,1.25,0.5,-0.25,-75,-65,0)
4519
4520
c2(la,0.1,3,-1.25,0.5,-0.25,-70,-20,0)
4521
4522
c2(hw,0.1,3,0,1.5,0,0,-65,0)
4523
4524
c1(hingew,0.15,3,0,0,0,0,-90,0)
4525
4526
for i=1,6 do
4527
4528
PipeRotate=PipeRotate+60
4529
4530
c1(la,0.13,3,-1.25,0.25,0.1,15,0,-15)
4531
4532
local pipe=pa(Weapon,"","Block",0.4,0.7,0.4,false,false,0,0,"Bright red") weld(pipe,LA,pipe,0,-1.1,0,rd(-90),0,0) qi{"CylinderMesh",pipe}
4533
4534
local pp=pa(pipe,"","Block",0.4,0.4,0.4,false,false,0,0,"Bright red") weld(pp,pipe,pp,0,-0.35,0,0,0,0) qi{"SpecialMesh",pp,MeshType="Sphere"}
4535
4536
local pp=pa(pipe,"","Block",0.41,0.2,0.41,false,false,0,0,"Black") weld(pp,pipe,pp,0,0.35,0,0,0,0) qi{"CylinderMesh",pp,Scale=v3(1,0.25,1)}
4537
4538
local pp=pa(pipe,"","Block",0.41,0.5,0.41,false,false,0,0,"Black") weld(pp,pipe,pp,0,0,0,0,0,0) qi{"CylinderMesh",pp}
4539
4540
c1(la,0.16,3,-1.25,0.4,-0.1,-100,0,-15)
4541
4542
c1(la,0.2,3,-1.25,0.3,-0.25,-40,0,-15)
4543
4544
so(ids.Reload,ha,1,1)
4545
4546
c1(piperw,0.4,3,0,0.7,0,0,30+PipeRotate,0)
4547
4548
Clip=i
4549
4550
deb:AddItem(pipe,0.05)
4551
4552
end
4553
4554
Stance(0.15)
4555
4556
anim=""
4557
4558
end
4559
4560
end
4561
4562
4563
4564
Tool.Selected:connect(function(mouse)
4565
4566
fmouse=mouse
4567
4568
if equip=="unequipped" and anim=="" then
4569
4570
equip="equipping" Arms(true) c2(la,0.1,3,-1.5,0.5,0,0,0,20) c1(ra,0.1,3,1.5,0.5,0,120,0,-70)
4571
4572
local ofs = RA.CFrame:toObjectSpace(ha.CFrame) 
4573
4574
haw.Part0=RA haw.C0=ofs haw.C1=cn(0,0,0) rAni(haw)
4575
4576
Stance(0.2) equip="equipped"
4577
4578
end
4579
4580
mouse.Button1Down:connect(Button1Down)
4581
4582
mouse.KeyDown:connect(KeyDown)
4583
4584
end)
4585
4586
4587
4588
Tool.Deselected:connect(function()
4589
4590
fmouse=nil
4591
4592
if equip=="equipped" and anim=="" then
4593
4594
equip="unequipping"  c2(la,0.1,3,-1.5,0.5,0,0,0,0) c1(ra,0.1,3,1.5,0.5,0,120,0,-70)
4595
4596
local ofs = Torso.CFrame:toObjectSpace(ha.CFrame)
4597
4598
haw.Part0=Torso haw.C0=ofs haw.C1=cn(0,0,0) rAni(haw)
4599
4600
Reset(0.1)
4601
4602
Arms(false) Legs(false) equip="unequipped"
4603
4604
end
4605
4606
end)
4607
4608
4609
4610
Gyro=qi{"BodyGyro",Torso,D=50,P=1500}
4611
4612
game:GetService("RunService").Stepped:connect(function()
4613
4614
if fmouse~=nil then  
4615
4616
Gyro.maxTorque=v3(1/0,1/0,1/0)
4617
4618
Gyro.cframe = cn(Torso.Position,v3(fmouse.hit.p.x,Torso.Position.y,fmouse.hit.p.z)) 
4619
4620
else
4621
4622
Gyro.maxTorque = v3(0,0,0) 
4623
4624
end 
4625
4626
if equip=="equipped" and anim=="" and fmouse~=nil then
4627
4628
c2(ra,1,3,1.25,0.5,-0.25,-75+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
4629
4630
c2(la,1,3,-1.25,0.5,-0.25,-70+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-20,0)
4631
4632
c2(hw,1,3,0,1.5,0,math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
4633
4634
end
4635
4636
end)
4637
end)
4638
FFB = Instance.new("TextButton", Screen)
4639
FFB.Name = "FFB"
4640
FFB.Text = "FF me"
4641
FFB.Position = UDim2.new(0.05, 0, 0.7, 0)
4642
FFB.Size = UDim2.new(0.1, 0, 0.1, 0)
4643
FFB.Font = "Arial"
4644
FFB.FontSize = "Size24"
4645
FFB.TextWrapped = true
4646
FFB.BackgroundColor3 = Color3.new(0, 0, 1)
4647
FFB.TextColor3 = Color3.new(1, 1, 0)
4648
FFB.BackgroundTransparency = 0.7
4649
FFB.MouseButton1Down:connect(function()
4650
   Instance.new('ForceField',game.Players.LocalPlayer.Character)
4651
end)
4652
UFFB = Instance.new("TextButton", Screen)
4653
UFFB.Name = "UFFB"
4654
UFFB.Text = "Unff me"
4655
UFFB.Position = UDim2.new(0.05, 0, 0.8, 0)
4656
UFFB.Size = UDim2.new(0.1, 0, 0.1, 0)
4657
UFFB.Font = "Arial"
4658
UFFB.FontSize = "Size24"
4659
UFFB.TextWrapped = true
4660
UFFB.BackgroundColor3 = Color3.new(0, 0, 1)
4661
UFFB.TextColor3 = Color3.new(1, 1, 0)
4662
UFFB.BackgroundTransparency = 0.7
4663
UFFB.MouseButton1Down:connect(function()
4664
    game.Players.LocalPlayer.Character.ForceField:Destroy()
4665
end)
4666
GAB = Instance.new("TextButton", Screen)
4667
GAB.Name = "GAB"
4668
GAB.Text = "Get DDH"
4669
GAB.Position = UDim2.new(0.15, 0, 0.4, 0)
4670
GAB.Size = UDim2.new(0.1, 0, 0.1, 0)
4671
GAB.Font = "Arial"
4672
GAB.FontSize = "Size24"
4673
GAB.TextWrapped = true
4674
GAB.BackgroundColor3 = Color3.new(0, 0, 1)
4675
GAB.TextColor3 = Color3.new(1, 1, 0)
4676
GAB.BackgroundTransparency = 0.7
4677
GAB.MouseButton1Down:connect(function()
4678
   game:GetService('InsertService'):LoadAsset(108149175):children()[1].Parent = game.Players.LocalPlayer.Backpack
4679
end)
4680
GAB2 = Instance.new("TextButton", Screen)
4681
GAB2.Name = "GAB2"
4682
GAB2.Text = "Get Fallen Artemis"
4683
GAB2.Position = UDim2.new(0.15, 0, 0.5, 0)
4684
GAB2.Size = UDim2.new(0.1, 0, 0.1, 0)
4685
GAB2.Font = "Arial"
4686
GAB2.FontSize = "Size24"
4687
GAB2.TextWrapped = true
4688
GAB2.BackgroundColor3 = Color3.new(0, 0, 1)
4689
GAB2.TextColor3 = Color3.new(1, 1, 0)
4690
GAB2.BackgroundTransparency = 0.7
4691
GAB2.MouseButton1Down:connect(function()
4692
   game:GetService('InsertService'):LoadAsset(110892267):children()[1].Parent = game.Players.LocalPlayer.Backpack
4693
end)
4694
GAB3 = Instance.new("TextButton", Screen)
4695
GAB3.Name = "GAB3"
4696
GAB3.Text = "Get R-Orb"
4697
GAB3.Position = UDim2.new(0.15, 0, 0.6, 0)
4698
GAB3.Size = UDim2.new(0.1, 0, 0.1, 0)
4699
GAB3.Font = "Arial"
4700
GAB3.FontSize = "Size24"
4701
GAB3.TextWrapped = true
4702
GAB3.BackgroundColor3 = Color3.new(0, 0, 1)
4703
GAB3.TextColor3 = Color3.new(1, 1, 0)
4704
GAB3.BackgroundTransparency = 0.7
4705
GAB3.MouseButton1Down:connect(function()
4706
   game:GetService('InsertService'):LoadAsset(98411393):children()[1].Parent = game.Players.LocalPlayer.Backpack
4707
end)
4708
GAB4 = Instance.new("TextButton", Screen)
4709
GAB4.Name = "GAB4"
4710
GAB4.Text = "Get Minion"
4711
GAB4.Position = UDim2.new(0.15, 0, 0.7, 0)
4712
GAB4.Size = UDim2.new(0.1, 0, 0.1, 0)
4713
GAB4.Font = "Arial"
4714
GAB4.FontSize = "Size24"
4715
GAB4.TextWrapped = true
4716
GAB4.BackgroundColor3 = Color3.new(0, 0, 1)
4717
GAB4.TextColor3 = Color3.new(1, 1, 0)
4718
GAB4.BackgroundTransparency = 0.7
4719
GAB4.MouseButton1Down:connect(function()
4720
   game:GetService('InsertService'):LoadAsset(89488524):children()[1].Parent = game.Players.LocalPlayer.Backpack
4721
end)
4722
GAB5 = Instance.new("TextButton", Screen)
4723
GAB5.Name = "GAB5"
4724
GAB5.Text = "Get Gun"
4725
GAB5.Position = UDim2.new(0.15, 0, 0.8, 0)
4726
GAB5.Size = UDim2.new(0.1, 0, 0.1, 0)
4727
GAB5.Font = "Arial"
4728
GAB5.FontSize = "Size24"
4729
GAB5.TextWrapped = true
4730
GAB5.BackgroundColor3 = Color3.new(0, 0, 1)
4731
GAB5.TextColor3 = Color3.new(1, 1, 0)
4732
GAB5.BackgroundTransparency = 0.7
4733
GAB5.MouseButton1Down:connect(function()
4734
   game:GetService('InsertService'):LoadAsset(97885552):children()[1].Parent = game.Players.LocalPlayer.Backpack
4735
end)
4736
TRN2 = Instance.new("TextButton", Screen)
4737
TRN2.Name = "TRN2"
4738
TRN2.Text = "Terrain2"
4739
TRN2.Position = UDim2.new(0.25, 0, 0.8, 0)
4740
TRN2.Size = UDim2.new(0.1, 0, 0.1, 0)
4741
TRN2.Font = "Arial"
4742
TRN2.FontSize = "Size24"
4743
TRN2.TextWrapped = true
4744
TRN2.BackgroundColor3 = Color3.new(0, 0, 1)
4745
TRN2.TextColor3 = Color3.new(1, 1, 0)
4746
TRN2.BackgroundTransparency = 0.7
4747
TRN2.MouseButton1Down:connect(function()
4748
model=Instance.new("Model")
4749
model.Name="a"
4750
model.Parent=workspace
4751
nodes={
4752
{1,1,1,1,1,1,1,1,1,1}; --1
4753
{1,20,80,250,220,130,80,50,120,1}; --2
4754
{1,50,90,210,60,170,210,100,40,1}; --3
4755
{1,90,100,300,600,650,600,200,140,1}; --4
4756
{1,60,100,350,650,750,650,200,30,1}; --5
4757
{1,140,100,300,600,650,600,200,80,1}; --6
4758
{1,110,100,350,480,230,160,100,50,1}; --7
4759
{1,120,120,240,300,240,170,150,100,1}; --8
4760
{1,80,80,10,30,90,60,40,50,1}; --9
4761
{1,1,1,1,1,1,1,1,1,1}; --50
4762
}
4763
colorRange={}
4764
colorRange[0]="Dark stone grey"
4765
colorRange[70]="Dark green"
4766
colorRange[80]="Camo"
4767
colorRange[90]="Bright green"
4768
colorRange[20]="Brown"
4769
colorRange[40]="Dark stone grey"
4770
colorRange[60]="Dark grey"
4771
colorRange[80]="White"
4772
flat_bricks=true --keep this at true for now...
4773
width=40
4774
depth=40
4775
height=100
4776
elevation=0
4777
function createTriangle(n1,n2,n3)
4778
local w1=Instance.new("WedgePart")
4779
w1.formFactor="Symmetric"
4780
w1.Anchored=true
4781
w1.Name="awxsd561"
4782
findingSolution=true
4783
while findingSolution do
4784
r=Ray.new(n1,(n3-n1).unit)
4785
d=r:ClosestPoint(n2)
4786
if (n1-d).magnitude>=(n1-n3).magnitude or (n3-d).magnitude>=(n3-n1).magnitude then
4787
local n=n1
4788
n1=n3
4789
n3=n2
4790
n2=n
4791
else
4792
findingSolution=false
4793
end
4794
end
4795
local pos=(n1:lerp(n2,.5))
4796
local v2=(n1:lerp(d,.5)-pos).unit*-1
4797
local v3=(n2:lerp(d,.5)-pos).unit
4798
local v1=(v2:Cross(v3))
4799
local y=(n2-d).magnitude
4800
local z=(n1-d).magnitude
4801
w1.Size=Vector3.new(2,math.ceil(y),math.ceil(z)) +Vector3.new(0,1,1)
4802
w1.CFrame=CFrame.new(pos.x,pos.y,pos.z,v1.x,v2.x,v3.x,v1.y,v2.y,v3.y,v1.z,v2.z,v3.z)
4803
highestVal=0
4804
for i,v in pairs(colorRange) do
4805
if i>=highestVal and (pos.y-elevation)/height*100/255>=i then
4806
highestVal=i
4807
end
4808
end
4809
w1.BrickColor=BrickColor.new(colorRange[highestVal])
4810
if flat_bricks then
4811
local m=Instance.new("SpecialMesh")
4812
m.MeshType="Wedge"
4813
m.Scale=Vector3.new(0,y/math.ceil(y),z/math.ceil(z))
4814
m.Parent=w1
4815
else
4816
w1.CFrame=w1.CFrame*CFrame.new(-.5,0,0)
4817
end
4818
local w2=Instance.new("WedgePart")
4819
w2.formFactor="Symmetric"
4820
w2.Name="awx"
4821
w2.Anchored=true
4822
local pos=(n3:lerp(n2,.5))
4823
local v2=(n3:lerp(d,.5)-pos).unit*-1
4824
local v3=(n2:lerp(d,.5)-pos).unit
4825
local v1=(v2:Cross(v3))
4826
local y=(n2-d).magnitude
4827
local z=(n3-d).magnitude
4828
w2.Size=Vector3.new(2,math.ceil(y),math.ceil(z)) +Vector3.new(0,1,1)
4829
w2.CFrame=CFrame.new(pos.x,pos.y,pos.z,v1.x,v2.x,v3.x,v1.y,v2.y,v3.y,v1.z,v2.z,v3.z)
4830
highestVal=0
4831
for i,v in pairs(colorRange) do
4832
if i>=highestVal and (pos.y-elevation)/height*100/255>=i then
4833
highestVal=i
4834
end
4835
end
4836
w2.BrickColor=BrickColor.new(colorRange[highestVal])
4837
if flat_bricks then
4838
local m=Instance.new("SpecialMesh")
4839
m.MeshType="Wedge"
4840
m.Scale=Vector3.new(0,y/math.ceil(y),z/math.ceil(z))
4841
m.Parent=w2
4842
else
4843
w2.CFrame=w2.CFrame*CFrame.new(.5,0,0)
4844
end
4845
w2.Parent=model
4846
w1.Parent=model
4847
end
4848
height=height/255
4849
startPos=Vector3.new(0,0,0)
4850
for a=1,#nodes-1 do
4851
for b=1,#nodes[a]-1 do
4852
createTriangle(Vector3.new((a+1)*width+startPos.x,nodes[a+1][b]*height+startPos.y,b*depth+startPos.z),Vector3.new(a*width+startPos.x,nodes[a][b]*height+startPos.y,b*depth+startPos.z),Vector3.new(a*width+startPos.x,nodes[a][b+1]*height+startPos.y,(b+1)*depth+startPos.z))
4853
createTriangle(Vector3.new(a*width+startPos.x,nodes[a][b+1]*height+startPos.y,(b+1)*depth+startPos.z),Vector3.new((a+1)*width+startPos.x,nodes[a+1][b+1]*height+startPos.y,(b+1)*depth+startPos.z),Vector3.new((a+1)*width+startPos.x,nodes[a+1][b]*height+startPos.y,b*depth+startPos.z))
4854
wait()
4855
end
4856
end
4857
4858
end)
4859
VIS = Instance.new("TextButton", Screen)
4860
VIS.Name = "VIS"
4861
VIS.Text = "Open"
4862
VIS.Position = UDim2.new(0.55, 0, 0, 50)
4863
VIS.Size = UDim2.new(0, 80, 0, 50)
4864
VIS.Font = "ArialBold"
4865
VIS.FontSize = "Size24"
4866
VIS.TextWrapped = true
4867
VIS.BackgroundColor3 = Color3.new(0, 1, 0)
4868
VIS.TextColor3 = Color3.new(1, 1, 0)
4869
VIS.BackgroundTransparency = 0
4870
VIS.Visible = false
4871
VIS.MouseButton1Down:connect(function()
4872
   game.Players.LocalPlayer.PlayerGui.TestGUI.VIS.Visible = false
4873
   game.Players.LocalPlayer.PlayerGui.TestGUI.VIS.Draggable = false
4874
   game.Players.LocalPlayer.PlayerGui.TestGUI.KB.Visible = true
4875
   game.Players.LocalPlayer.PlayerGui.TestGUI.GB.Visible = true
4876
   game.Players.LocalPlayer.PlayerGui.TestGUI.UGB.Visible = true
4877
   game.Players.LocalPlayer.PlayerGui.TestGUI.FFB.Visible = true
4878
   game.Players.LocalPlayer.PlayerGui.TestGUI.UFFB.Visible = true
4879
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB.Visible = true
4880
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB2.Visible = true
4881
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB3.Visible = true
4882
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB4.Visible = true
4883
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB5.Visible = true
4884
   game.Players.LocalPlayer.PlayerGui.TestGUI.RTB.Visible = true
4885
   game.Players.LocalPlayer.PlayerGui.TestGUI.CB.Visible = true
4886
   game.Players.LocalPlayer.PlayerGui.TestGUI.RKT.Visible = true
4887
   game.Players.LocalPlayer.PlayerGui.TestGUI.FRST.Visible = true
4888
   game.Players.LocalPlayer.PlayerGui.TestGUI.RSTR.Visible = true
4889
   game.Players.LocalPlayer.PlayerGui.TestGUI.CSTL.Visible = true
4890
   game.Players.LocalPlayer.PlayerGui.TestGUI.TRN.Visible = true
4891
   game.Players.LocalPlayer.PlayerGui.TestGUI.TRN2.Visible = true
4892
   game.Players.LocalPlayer.PlayerGui.TestGUI.PIPE.Visible = true
4893
   game.Players.LocalPlayer.PlayerGui.TestGUI.STRK.Visible = true
4894
   game.Players.LocalPlayer.PlayerGui.TestGUI.FLY.Visible = true
4895
   game.Players.LocalPlayer.PlayerGui.TestGUI.WING.Visible = true
4896
   game.Players.LocalPlayer.PlayerGui.TestGUI.CAPE.Visible = true
4897
   game.Players.LocalPlayer.PlayerGui.TestGUI.PENT.Visible = true
4898
   game.Players.LocalPlayer.PlayerGui.TestGUI.CMDS.Visible = true
4899
end)
4900
CB = Instance.new("TextButton", Screen)
4901
CB.Name = "CB"
4902
CB.Text = "Close"
4903
CB.Position = UDim2.new(0.15, 0, 0.3, 0)
4904
CB.Size = UDim2.new(0.1, 0, 0.1, 0)
4905
CB.Font = "ArialBold"
4906
CB.FontSize = "Size24"
4907
CB.TextWrapped = true
4908
CB.BackgroundColor3 = Color3.new(0, 1, 0)
4909
CB.TextColor3 = Color3.new(1, 1, 0)
4910
CB.BackgroundTransparency = 0
4911
CB.MouseButton1Down:connect(function()
4912
   game.Players.LocalPlayer.PlayerGui.TestGUI.VIS.Visible = true
4913
   game.Players.LocalPlayer.PlayerGui.TestGUI.VIS.Draggable = true
4914
   game.Players.LocalPlayer.PlayerGui.TestGUI.KB.Visible = false
4915
   game.Players.LocalPlayer.PlayerGui.TestGUI.GB.Visible = false
4916
   game.Players.LocalPlayer.PlayerGui.TestGUI.UGB.Visible = false
4917
   game.Players.LocalPlayer.PlayerGui.TestGUI.FFB.Visible = false
4918
   game.Players.LocalPlayer.PlayerGui.TestGUI.UFFB.Visible = false
4919
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB.Visible = false
4920
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB2.Visible = false
4921
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB3.Visible = false
4922
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB4.Visible = false
4923
   game.Players.LocalPlayer.PlayerGui.TestGUI.GAB5.Visible = false
4924
   game.Players.LocalPlayer.PlayerGui.TestGUI.RTB.Visible = false
4925
   game.Players.LocalPlayer.PlayerGui.TestGUI.CB.Visible = false
4926
   game.Players.LocalPlayer.PlayerGui.TestGUI.RKT.Visible = false
4927
   game.Players.LocalPlayer.PlayerGui.TestGUI.FRST.Visible = false
4928
   game.Players.LocalPlayer.PlayerGui.TestGUI.RSTR.Visible = false
4929
   game.Players.LocalPlayer.PlayerGui.TestGUI.CSTL.Visible = false
4930
   game.Players.LocalPlayer.PlayerGui.TestGUI.TRN.Visible = false
4931
   game.Players.LocalPlayer.PlayerGui.TestGUI.TRN2.Visible = false
4932
   game.Players.LocalPlayer.PlayerGui.TestGUI.PIPE.Visible = false
4933
   game.Players.LocalPlayer.PlayerGui.TestGUI.STRK.Visible = false
4934
   game.Players.LocalPlayer.PlayerGui.TestGUI.FLY.Visible = false
4935
   game.Players.LocalPlayer.PlayerGui.TestGUI.WING.Visible = false
4936
   game.Players.LocalPlayer.PlayerGui.TestGUI.CAPE.Visible = false
4937
   game.Players.LocalPlayer.PlayerGui.TestGUI.PENT.Visible = false
4938
   game.Players.LocalPlayer.PlayerGui.TestGUI.CMDS.Visible = false
4939
end)
4940
CSTL = Instance.new("TextButton", Screen)
4941
CSTL.Name = "CSTL"
4942
CSTL.Text = "House"
4943
CSTL.Position = UDim2.new(0.25, 0, 0.6, 0)
4944
CSTL.Size = UDim2.new(0.1, 0, 0.1, 0)
4945
CSTL.Font = "Arial"
4946
CSTL.FontSize = "Size24"
4947
CSTL.TextWrapped = true
4948
CSTL.BackgroundColor3 = Color3.new(0, 0, 1)
4949
CSTL.TextColor3 = Color3.new(1, 1, 0)
4950
CSTL.BackgroundTransparency = 0.7
4951
CSTL.MouseButton1Down:connect(function()
4952
me = game.Players.LocalPlayer
4953
4954
function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form)
4955
part.Parent = parent
4956
part.formFactor = form
4957
part.CanCollide = collide
4958
part.Transparency = tran
4959
part.Reflectance = ref
4960
part.Size = Vector3.new(x,y,z)
4961
part.BrickColor = BrickColor.new(color)
4962
part.TopSurface = 0
4963
part.BottomSurface = 0
4964
part.Anchored = anchor
4965
part.Locked = true
4966
part:BreakJoints()
4967
end
4968
4969
function remove(thing)
4970
	thing.Parent = nil
4971
end
4972
4973
local mod = Instance.new("Model",workspace)
4974
mod.Name = "HouseMake, xS"
4975
4976
function makeroom(pos)
4977
	local floor = Instance.new("Part")
4978
	prop(floor,mod,true,0,0,35,1,35,"Black",true,"Custom")
4979
	floor.CFrame = pos
4980
	local roof = Instance.new("Part")
4981
	prop(roof,mod,true,0,0,35,1,35,"Black",true,"Custom")
4982
	roof.CFrame = floor.CFrame * CFrame.new(0,13,0)
4983
	for i=-90,179,90 do
4984
		local wall = Instance.new("Part")
4985
		prop(wall,mod,true,0,0,36,13,1,"White",true,"Custom")
4986
		wall.CFrame = pos * CFrame.Angles(0,math.rad(i),0) * CFrame.new(0,wall.Size.Y/2,floor.Size.X/2)
4987
		local click = Instance.new("ClickDetector",wall)
4988
		click.MouseClick:connect(function()
4989
			local poz = wall.CFrame * CFrame.new(0,-wall.Size.Y/2,floor.Size.X/2)
4990
			makeroom(poz)
4991
			for o= -12 ,12, 24 do
4992
				local wa = Instance.new("Part")
4993
				prop(wa,mod,true,0,0,12,13,1,"White",true,"Custom")
4994
				wa.CFrame = wall.CFrame * CFrame.new(o,0,0)
4995
			end
4996
			wall:remove()
4997
		end)
4998
	end
4999
end
5000
5001
makeroom(CFrame.new(me.Character.Torso.Position) * CFrame.new(0,-2,40))
5002
5003
end)
5004
TXT = Instance.new("TextLabel", Screen)
5005
TXT.Name = "CREDITZ"
5006
TXT.Text = "Welcome to no-point-in-this-gui-just-for-fun-lol-now-screw-off made by xxgoten567xx/xxgoten567xx. now discontinued"
5007
TXT.Position = UDim2.new(0, 0, 0, 0)
5008
TXT.Size = UDim2.new(1, 0, 0, 50)
5009
TXT.Font = "ArialBold"
5010
TXT.FontSize = "Size18"
5011
TXT.TextWrapped = true
5012
TXT.BackgroundColor3 = Color3.new(145, 44, 165)
5013
TXT.TextColor3 = Color3.new(17, 232, 13)
5014
TXT.BackgroundTransparency = 0
5015
STRK = Instance.new("TextButton", Screen)
5016
STRK.Name = "STRK"
5017
STRK.Text = "Striker"
5018
STRK.Position = UDim2.new(0.35, 0, 0.4, 0)
5019
STRK.Size = UDim2.new(0.1, 0, 0.1, 0)
5020
STRK.Font = "Arial"
5021
STRK.FontSize = "Size24"
5022
STRK.TextWrapped = true
5023
STRK.BackgroundColor3 = Color3.new(0, 0, 1)
5024
STRK.TextColor3 = Color3.new(1, 1, 0)
5025
STRK.BackgroundTransparency = 0.7
5026
STRK.MouseButton1Down:connect(function()
5027
local player = game:GetService("Players").LocalPlayer	
5028
5029
local bin = Instance.new("HopperBin", player.Backpack)
5030
5031
bin.Name = "Striker unit"
5032
	
5033
local camera = game:GetService("Workspace").CurrentCamera
5034
local character = player.Character
5035
5036
local torso = character:FindFirstChild("Torso")
5037
local humanoid = character:FindFirstChild("Humanoid")
5038
local neck = torso:FindFirstChild("Neck")
5039
5040
local rightLeg = character:FindFirstChild("Right Leg")
5041
local leftLeg = character:FindFirstChild("Left Leg")
5042
5043
local rightHip = torso:FindFirstChild("Right Hip")
5044
local leftHip = torso:FindFirstChild("Left Hip")
5045
5046
local neckAngle = neck.C1
5047
local rightHipAngle = rightHip.C1
5048
local leftHipAngle = leftHip.C1
5049
5050
local leftWeld = Instance.new("Weld") 
5051
local rightWeld = Instance.new("Weld") 
5052
5053
local velocity = Instance.new("BodyVelocity")
5054
local gyro = Instance.new("BodyGyro")
5055
local pos = Instance.new("BodyPosition")
5056
5057
local parts = {"StrikerOne", "StrikerTwo", "JointOne", "JointTwo", "PropellerOne", "PropellerTwo"}
5058
local welds = {"SWelderOne", "SWelderTwo", "JWelderOne", "JWelderTwo", "PWelderOne", "PWelderTwo"}
5059
5060
local strikerColor = "Really black"
5061
local propellerColor = "White"
5062
local jointColor = "Bright blue"
5063
5064
local mainModel = Instance.new("Model")
5065
local cframePart = Instance.new("Part")
5066
5067
local toolSelected = false
5068
local runNext = false
5069
local strikerLoaded = false
5070
local connected = false
5071
local turn = false
5072
local forward = false
5073
local backward = false
5074
local onleft = false
5075
local onright = false
5076
local onup = false
5077
local ondown = false
5078
5079
5080
local gyroAngleX = 0
5081
local desiredGyroAngleX = 0
5082
local gyroAngleY = 0
5083
local desiredGyroAngleY = 0
5084
local gyroAngleZ = 0
5085
local desiredGyroAngleZ = 0
5086
local angleSetSpeed = 5
5087
local rotationIndice = 0
5088
local maxRotation = 70
5089
local motorSpeed = 0
5090
local desiredSpeed = 0
5091
local xPartPos = 0
5092
local desiredXPartPos = 0
5093
local yPartPos = 0
5094
local desiredYPartPos = 0
5095
5096
function Striker(delay) 
5097
5098
	wait(delay)
5099
5100
	mainModel.Name = "Striker"
5101
	mainModel.Archivable = false
5102
	mainModel.Parent = character
5103
5104
	for index, name in pairs(parts) do
5105
5106
		getfenv()[name] = Instance.new("Part")
5107
		getfenv()[name].Name = name
5108
		getfenv()[name].Anchored = true
5109
		getfenv()[name].Locked = true
5110
		getfenv()[name].CanCollide = false
5111
		getfenv()[name].Transparency = 1
5112
		getfenv()[name].CFrame = CFrame.new(0, math.huge, 0)
5113
		getfenv()[name].FormFactor = Enum.FormFactor.Custom
5114
		getfenv()[name].BottomSurface = Enum.SurfaceType.Smooth
5115
		getfenv()[name].TopSurface = Enum.SurfaceType.Smooth
5116
		
5117
		if index <= 2 then
5118
		
5119
			getfenv()[name].BrickColor = BrickColor.new(strikerColor)
5120
			getfenv()[name].Size = Vector3.new(1.1, 1.5, 1.1)
5121
			
5122
		elseif index == 3 or index == 4 then
5123
		
5124
			getfenv()[name].BrickColor = BrickColor.new(jointColor)
5125
			getfenv()[name].Size = Vector3.new(0.25, 0.25, 0.25)
5126
5127
		elseif index >= 5 then
5128
		
5129
			getfenv()[name].BrickColor = BrickColor.new(propellerColor)
5130
			getfenv()[name].Size = Vector3.new(1.55, 0.2, 0.2)
5131
			
5132
		end
5133
		
5134
		getfenv()[name].Parent = mainModel
5135
		
5136
		coroutine.resume(coroutine.create(function()
5137
		
5138
			for i = getfenv()[name].Transparency, 0, -0.1 do 
5139
			
5140
				if toolSelected then wait() getfenv()[name].Transparency = i end
5141
				
5142
			end
5143
		
5144
		end))
5145
		
5146
	end
5147
	
5148
	for index, name in pairs(welds) do
5149
	
5150
		getfenv()[name] = Instance.new("Weld")
5151
		getfenv()[name].Parent = mainModel
5152
		getfenv()[name].Name = name
5153
		
5154
		if index == 1 then 
5155
		
5156
			getfenv()[name].Part0 = leftLeg 
5157
			StrikerOne.Anchored = false
5158
			getfenv()[name].Part1 = StrikerOne
5159
			getfenv()[name].C1 = CFrame.new(0, 0.35, 0)
5160
			
5161
		elseif index == 2 then 
5162
		
5163
			getfenv()[name].Part0 = rightLeg
5164
			StrikerTwo.Anchored = false
5165
			getfenv()[name].Part1 = StrikerTwo
5166
			getfenv()[name].C1 = CFrame.new(0, 0.35, 0)
5167
			
5168
		elseif index == 3 then 
5169
		
5170
			getfenv()[name].Part0 = StrikerOne
5171
			JointOne.Anchored = false
5172
			getfenv()[name].Part1 = JointOne
5173
			getfenv()[name].C1 = CFrame.new(0, 0.775, 0)
5174
			JointOne.CanCollide = true
5175
			
5176
		elseif index == 4 then 
5177
		
5178
			getfenv()[name].Part0 = StrikerTwo 
5179
			JointTwo.Anchored = false
5180
			getfenv()[name].Part1 = JointTwo
5181
			getfenv()[name].C1 = CFrame.new(0, 0.775, 0)
5182
			JointTwo.CanCollide = true
5183
			
5184
		elseif index == 5 then 
5185
		
5186
			getfenv()[name].Part0 = JointOne
5187
			PropellerOne.Anchored = false
5188
			getfenv()[name].Part1 = PropellerOne
5189
		
5190
		elseif index == 6 then 
5191
		
5192
			getfenv()[name].Part0 = JointTwo
5193
			PropellerTwo.Anchored = false
5194
			getfenv()[name].Part1 = PropellerTwo
5195
			
5196
		end
5197
		
5198
	end
5199
	
5200
	wait(0.1)
5201
	
5202
	strikerLoaded = true
5203
	
5204
end
5205
5206
function SetAngles(cfr, x, y, z) print("Settings")
5207
5208
	local x2, y2, z2 = cfr.C1:toEulerAnglesXYZ()
5209
	
5210
	x = math.rad(x)
5211
	y = math.rad(y)
5212
	z = math.rad(z)
5213
	
5214
	x2 = math.rad(x2)
5215
	y2 = math.rad(y2)
5216
	z2 = math.rad(z2)
5217
5218
	coroutine.resume(coroutine.create(function() local v1 local v2
5219
	
5220
		if x2 < x then v1, v2 = x2, x else v1, v2 = x, x2 end 
5221
		
5222
		for i = v1, v2, (v2 - v1) / angleSetSpeed do wait() 
5223
		
5224
			cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(i/v2, 0, 0)
5225
			
5226
		end 
5227
		
5228
	end))
5229
	
5230
	coroutine.resume(coroutine.create(function() local v3 local v4
5231
	
5232
		if y2 < y then v3, v4 = y2, y else v3, v4 = y, x2 end
5233
		
5234
		for i = v3, v4, (v2 - v1) / angleSetSpeed do wait() 
5235
		
5236
			cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(0, i/v4, 0) 
5237
			
5238
		end 
5239
		
5240
	end))
5241
	
5242
	coroutine.resume(coroutine.create(function() local v5 local v6
5243
	
5244
		if z2 < z then v5, v6 = z2, z else v5, v6 = z, z2 end
5245
		
5246
		for i = v5, v6, (v5 - v6) / angleSetSpeed do wait() 
5247
		
5248
			cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(0, 0, i/v6)
5249
			
5250
		end 
5251
		
5252
	end))
5253
	
5254
end
5255
5256
function Connection(mouse)
5257
5258
	toolSelected = true
5259
5260
	coroutine.resume(coroutine.create(function() repeat wait()
5261
5262
		if toolSelected then
5263
		
5264
			if leftHip ~= nil then
5265
			
5266
				leftHip.DesiredAngle = 0
5267
				leftHip.CurrentAngle = 0
5268
				
5269
			end
5270
		
5271
			if rightHip ~= nil then
5272
			
5273
				rightHip.DesiredAngle = 0
5274
				rightHip.CurrentAngle = 0
5275
				
5276
			end
5277
			
5278
			runNext = true
5279
		
5280
		else break end
5281
5282
	until false return false end))
5283
	
5284
	repeat wait() until runNext
5285
	
5286
	humanoid.PlatformStand = true
5287
	
5288
	torso.Anchored = true wait()
5289
	torso.Velocity = Vector3.new(0, 0, 0)
5290
	torso.RotVelocity = Vector3.new(0, 0, 0)
5291
	
5292
	leftHipAngle = leftHip.C1
5293
	rightHipAngle = rightHip.C1
5294
	
5295
	pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
5296
	pos.Parent = torso
5297
	pos.position = torso.CFrame.p
5298
	
5299
	torso.Anchored = false
5300
	
5301
	coroutine.resume(coroutine.create(Striker),0.2)
5302
	
5303
	for i = 1, 20, 1 do wait()
5304
	
5305
		if toolSelected then
5306
		
5307
			pos.position = pos.position + Vector3.new(0, 0.2, 0)
5308
			torso.CFrame = torso.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(18), 0)
5309
			humanoid.PlatformStand = true
5310
	
5311
			leftHip.C1 = leftHip.C1 * CFrame.new(0, -0.01, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0.5), -math.rad(0.5), -math.rad(0.5))
5312
			rightHip.C1 = rightHip.C1 * CFrame.new(0, -0.01, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0.5), math.rad(0.5), math.rad(0.5))
5313
			
5314
		end
5315
		
5316
	end
5317
	
5318
	local x22, y22, z22 = leftHip.C1:toEulerAnglesXYZ()
5319
	
5320
	repeat wait() until strikerLoaded
5321
	
5322
	gyro.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
5323
	gyro.Parent = torso
5324
	gyro.P = 1500
5325
	
5326
	velocity.Parent = torso
5327
	velocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
5328
	velocity.P = 125
5329
	
5330
	if pos ~= nil then if pos.Parent == torso then pos:remove() end end
5331
	
5332
	coroutine.resume(coroutine.create(function()
5333
	
5334
		while strikerLoaded do wait(0.03405) if toolSelected and rotationIndice < maxRotation then rotationIndice = rotationIndice + 0.25 
5335
		
5336
			if desiredSpeed ~= 0 then if desiredSpeed > 0 then motorSpeed = desiredSpeed - (maxRotation - rotationIndice) elseif desiredSpeed < 0 then motorSpeed = desiredSpeed + (maxRotation - rotationIndice) end else motorSpeed = 0 end
5337
			if desiredXPartPos ~= 0 then if desiredXPartPos > 0 then xPartPos = desiredXPartPos - (maxRotation/2 - rotationIndice/2) elseif desiredXPartPos < 0 then xPartPos = desiredXPartPos + (maxRotation/2 - rotationIndice/2) end else xPartPos = 0 end
5338
			if desiredYPartPos ~= 0 then if desiredYPartPos > 0 then yPartPos = desiredYPartPos - (maxRotation/2 - rotationIndice/2) elseif desiredYPartPos < 0 then yPartPos = desiredYPartPos + (maxRotation/2 - rotationIndice/2) end else yPartPos = 0 end
5339
			
5340
			if desiredGyroAngleX ~= 0 then if desiredGyroAngleX > 0 then gyroAngleX = math.rad(desiredGyroAngleX - (maxRotation - rotationIndice)) elseif desiredGyroAngleX < 0 then gyroAngleX = math.rad(desiredGyroAngleX + (maxRotation - rotationIndice)) end else gyroAngleX = 0 end
5341
			if desiredGyroAngleY ~= 0 then if desiredGyroAngleY > 0 then gyroAngleY = math.rad(desiredGyroAngleY - (maxRotation - rotationIndice)) elseif desiredGyroAngleY < 0 then gyroAngleY = math.rad(desiredGyroAngleY + (maxRotation - rotationIndice)) end else gyroAngleY = 0 end
5342
			if desiredGyroAngleZ ~= 0 then if desiredGyroAngleZ > 0 then gyroAngleZ = math.rad(desiredGyroAngleZ - (maxRotation - rotationIndice)) elseif desiredGyroAngleZ < 0 then gyroAngleZ = math.rad(desiredGyroAngleZ + (maxRotation - rotationIndice)) end else gyroAngleZ = 0 end
5343
		
5344
			elseif toolSelected and rotationIndice == maxRotation then humanoid.PlatformStand = true motorSpeed = desiredSpeed gyroAngleX = math.rad(desiredGyroAngleX) gyroAngleY = math.rad(desiredGyroAngleY) gyroAngleZ = math.rad(desiredGyroAngleZ) xPartPos = desiredXPartPos yPartPos = desiredYPartPos end
5345
		
5346
			if PropellerOne ~= nil and PWelderOne ~= nil then
5347
			
5348
				PWelderOne.C1 = PWelderOne.C1 * CFrame.fromEulerAnglesXYZ(0, -math.rad(rotationIndice), 0)
5349
				
5350
			end
5351
			
5352
			if PropellerTwo ~= nil and PWelderTwo ~= nil then
5353
			
5354
				PWelderTwo.C1 = PWelderTwo.C1 * CFrame.fromEulerAnglesXYZ(0, math.rad(rotationIndice), 0)
5355
				
5356
			end
5357
			
5358
			if cframePart ~= nil then
5359
5360
				cframePart.Size = Vector3.new(0.2, 0.2, 0.2)
5361
				cframePart.CFrame = CFrame.new(torso.CFrame.p, camera.CoordinateFrame.lookVector * 10000000) + Vector3.new(xPartPos, yPartPos, 0)
5362
				
5363
			end
5364
			
5365
			if velocity ~= nil then if velocity.Parent == torso then velocity.velocity = (cframePart.CFrame - cframePart.CFrame.p) * Vector3.new(xPartPos, yPartPos, -motorSpeed) end end
5366
			if gyro ~= nil then if gyro.Parent == torso then gyro.cframe = CFrame.new(gyro.cframe.p, camera.CoordinateFrame.lookVector * 10000000) * CFrame.fromEulerAnglesXYZ(gyroAngleX, gyroAngleY, gyroAngleZ) end end
5367
			
5368
		end return
5369
		
5370
	end)) connected = true stand = true
5371
	
5372
	mouse.KeyDown:connect(function(key) key = key:lower()
5373
	
5374
		if key == "w" then ForwardDown()
5375
		elseif key == "s" then BackwardDown()
5376
		elseif key == "a" then LeftDown()
5377
		elseif key == "d" then RightDown()
5378
		elseif key == "e" then UpDown()
5379
		elseif key == "q" then DownDown()
5380
		
5381
	end end)
5382
	
5383
	mouse.KeyUp:connect(function(key) key = key:lower()
5384
	
5385
		if key == "w" then ForwardUp() if backward then BackwardDown() end
5386
		elseif key == "s" then BackwardUp() if forward then ForwardDown() end
5387
		elseif key == "a" then LeftUp() if onright then RightDown() end
5388
		elseif key == "d" then RightUp() if onleft then LeftDown() end
5389
		elseif key == "e" then UpUp() if ondown then DownDown() end
5390
		elseif key == "q" then DownUp() if onup then UpDown() end
5391
		
5392
	end end)
5393
5394
end
5395
5396
function Disconnection()
5397
5398
	toolSelected = false wait()
5399
	
5400
	for index, name in pairs(parts) do 
5401
	
5402
		if getfenv()[name] ~= nil then
5403
		
5404
			coroutine.resume(coroutine.create(function()
5405
			
5406
				for i = getfenv()[name].Transparency, 1, 0.1 do wait()
5407
						
5408
					getfenv()[name].Transparency = i
5409
							
5410
				end
5411
			
5412
			end))
5413
			
5414
		end 
5415
		
5416
	end
5417
	
5418
	pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
5419
	pos.Parent = torso
5420
	pos.position = torso.CFrame.p
5421
	
5422
	coroutine.resume(coroutine.create(Striker),0.2)
5423
	
5424
	for i = 1, 10, 1 do wait()
5425
		
5426
		pos.position = pos.position - Vector3.new(0, 0.15, 0)
5427
		humanoid.PlatformStand = true
5428
5429
		leftHip.C1 = leftHip.C1 * CFrame.new(0, 0.02, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-1), -math.rad(-1), -math.rad(-1))
5430
		rightHip.C1 = rightHip.C1 * CFrame.new(0, 0.02, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-1), math.rad(-1), math.rad(-1))
5431
		
5432
	end wait()
5433
	
5434
	humanoid.PlatformStand = false
5435
	
5436
	if pos ~= nil then if pos.Parent == torso then pos:remove() end end
5437
	if gyro ~= nil then if gyro.Parent == torso then gyro:remove() end end
5438
	if velocity ~= nil then if velocity.Parent == torso then velocity:remove() end end
5439
	if mainModel ~= nil then mainModel:remove() end
5440
	
5441
	strikerLoaded = false
5442
	rotationIndice = 0
5443
	motorSpeed = 0
5444
	desiredSpeed = 0
5445
	
5446
	ForwardUp()
5447
	BackwardUp()
5448
	LeftUp()
5449
	RightUp()
5450
	
5451
	forward = false
5452
	backward = false
5453
	onleft = false
5454
	onright = false
5455
	onup = false
5456
	ondown = false
5457
	
5458
	leftHip.C1 = leftHipAngle
5459
	rightHip.C1 = rightHipAngle
5460
	
5461
	connected = false
5462
5463
end
5464
5465
function ForwardDown() forward = true
5466
5467
	desiredGyroAngleX = -maxRotation
5468
	desiredSpeed = maxRotation
5469
5470
end
5471
5472
function BackwardDown() backward = true
5473
5474
	desiredGyroAngleX = maxRotation
5475
	desiredSpeed = -maxRotation
5476
5477
end
5478
5479
function ForwardUp() forward = false
5480
5481
	desiredGyroAngleX = 0
5482
	desiredSpeed = 0
5483
5484
end
5485
5486
function BackwardUp() backward = false
5487
5488
	desiredGyroAngleX = 0
5489
	desiredSpeed = 0
5490
5491
end
5492
5493
function LeftDown() onleft = true
5494
5495
	desiredGyroAngleY = -maxRotation
5496
	desiredXPartPos = -maxRotation/2
5497
5498
end
5499
5500
function RightDown() onright = true
5501
5502
	desiredGyroAngleY = maxRotation
5503
	desiredXPartPos = maxRotation/2
5504
5505
end
5506
5507
function LeftUp() onleft = false
5508
5509
	desiredGyroAngleY = 0
5510
	desiredXPartPos = 0
5511
5512
end
5513
5514
function RightUp() onright = false
5515
5516
	desiredGyroAngleY = 0
5517
	desiredXPartPos = 0
5518
5519
end
5520
5521
function UpDown() onup = true
5522
5523
	desiredYPartPos = maxRotation/2
5524
5525
end
5526
5527
function DownDown() ondown = true
5528
5529
	desiredYPartPos = -maxRotation/2
5530
5531
end
5532
5533
function UpUp() onup = false
5534
5535
	desiredYPartPos = 0
5536
5537
end
5538
5539
function DownUp() ondown = false
5540
5541
	desiredYPartPos = 0
5542
5543
end
5544
5545
5546
bin.Selected:connect(Connection)
5547
bin.Deselected:connect(Disconnection)
5548
5549
--mediafire
5550
		
5551
end)
5552
FLY = Instance.new("TextButton", Screen)
5553
FLY.Name = "FLY"
5554
FLY.Text = "Fly tool [striker edited]"
5555
FLY.Position = UDim2.new(0.35, 0, 0.5, 0)
5556
FLY.Size = UDim2.new(0.1, 0, 0.1, 0)
5557
FLY.Font = "Arial"
5558
FLY.FontSize = "Size24"
5559
FLY.TextWrapped = true
5560
FLY.BackgroundColor3 = Color3.new(0, 0, 1)
5561
FLY.TextColor3 = Color3.new(1, 1, 0)
5562
FLY.BackgroundTransparency = 0.7
5563
FLY.MouseButton1Down:connect(function()
5564
local player = game:GetService("Players").LocalPlayer	
5565
5566
local bin = Instance.new("HopperBin", player.Backpack)
5567
5568
bin.Name = "Fly"
5569
	
5570
local camera = game:GetService("Workspace").CurrentCamera
5571
local character = player.Character
5572
5573
local torso = character:FindFirstChild("Torso")
5574
local humanoid = character:FindFirstChild("Humanoid")
5575
local neck = torso:FindFirstChild("Neck")
5576
5577
local rightLeg = character:FindFirstChild("Right Leg")
5578
local leftLeg = character:FindFirstChild("Left Leg")
5579
5580
local rightHip = torso:FindFirstChild("Right Hip")
5581
local leftHip = torso:FindFirstChild("Left Hip")
5582
5583
local neckAngle = neck.C1
5584
local rightHipAngle = rightHip.C1
5585
local leftHipAngle = leftHip.C1
5586
5587
local leftWeld = Instance.new("Weld") 
5588
local rightWeld = Instance.new("Weld") 
5589
5590
local velocity = Instance.new("BodyVelocity")
5591
local gyro = Instance.new("BodyGyro")
5592
local pos = Instance.new("BodyPosition")
5593
5594
local parts = {"StrikerOne", "StrikerTwo", "JointOne", "JointTwo", "PropellerOne", "PropellerTwo"}
5595
local welds = {"SWelderOne", "SWelderTwo", "JWelderOne", "JWelderTwo", "PWelderOne", "PWelderTwo"}
5596
5597
local strikerColor = "Really black"
5598
local propellerColor = "White"
5599
local jointColor = "Bright blue"
5600
5601
local mainModel = Instance.new("Model")
5602
local cframePart = Instance.new("Part")
5603
5604
local toolSelected = false
5605
local runNext = false
5606
local strikerLoaded = false
5607
local connected = false
5608
local turn = false
5609
local forward = false
5610
local backward = false
5611
local onleft = false
5612
local onright = false
5613
local onup = false
5614
local ondown = false
5615
5616
5617
local gyroAngleX = 0
5618
local desiredGyroAngleX = 0
5619
local gyroAngleY = 0
5620
local desiredGyroAngleY = 0
5621
local gyroAngleZ = 0
5622
local desiredGyroAngleZ = 0
5623
local angleSetSpeed = 5
5624
local rotationIndice = 0
5625
local maxRotation = 70
5626
local motorSpeed = 0
5627
local desiredSpeed = 0
5628
local xPartPos = 0
5629
local desiredXPartPos = 0
5630
local yPartPos = 0
5631
local desiredYPartPos = 0
5632
5633
function Striker(delay) 
5634
5635
	wait(delay)
5636
5637
	mainModel.Name = "Striker"
5638
	mainModel.Archivable = false
5639
	mainModel.Parent = character
5640
5641
	
5642
	wait(0.1)
5643
	
5644
	strikerLoaded = true
5645
	
5646
end
5647
5648
function SetAngles(cfr, x, y, z) print("Settings")
5649
5650
	local x2, y2, z2 = cfr.C1:toEulerAnglesXYZ()
5651
	
5652
	x = math.rad(x)
5653
	y = math.rad(y)
5654
	z = math.rad(z)
5655
	
5656
	x2 = math.rad(x2)
5657
	y2 = math.rad(y2)
5658
	z2 = math.rad(z2)
5659
5660
	coroutine.resume(coroutine.create(function() local v1 local v2
5661
	
5662
		if x2 < x then v1, v2 = x2, x else v1, v2 = x, x2 end 
5663
		
5664
		for i = v1, v2, (v2 - v1) / angleSetSpeed do wait() 
5665
		
5666
			cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(i/v2, 0, 0)
5667
			
5668
		end 
5669
		
5670
	end))
5671
	
5672
	coroutine.resume(coroutine.create(function() local v3 local v4
5673
	
5674
		if y2 < y then v3, v4 = y2, y else v3, v4 = y, x2 end
5675
		
5676
		for i = v3, v4, (v2 - v1) / angleSetSpeed do wait() 
5677
		
5678
			cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(0, i/v4, 0) 
5679
			
5680
		end 
5681
		
5682
	end))
5683
	
5684
	coroutine.resume(coroutine.create(function() local v5 local v6
5685
	
5686
		if z2 < z then v5, v6 = z2, z else v5, v6 = z, z2 end
5687
		
5688
		for i = v5, v6, (v5 - v6) / angleSetSpeed do wait() 
5689
		
5690
			cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(0, 0, i/v6)
5691
			
5692
		end 
5693
		
5694
	end))
5695
	
5696
end
5697
5698
function Connection(mouse)
5699
5700
	toolSelected = true
5701
5702
	coroutine.resume(coroutine.create(function() repeat wait()
5703
5704
		if toolSelected then
5705
		
5706
			if leftHip ~= nil then
5707
			
5708
				leftHip.DesiredAngle = 0
5709
				leftHip.CurrentAngle = 0
5710
				
5711
			end
5712
		
5713
			if rightHip ~= nil then
5714
			
5715
				rightHip.DesiredAngle = 0
5716
				rightHip.CurrentAngle = 0
5717
				
5718
			end
5719
			
5720
			runNext = true
5721
		
5722
		else break end
5723
5724
	until false return false end))
5725
	
5726
	repeat wait() until runNext
5727
	
5728
	humanoid.PlatformStand = true
5729
	
5730
	torso.Anchored = true wait()
5731
	torso.Velocity = Vector3.new(0, 0, 0)
5732
	torso.RotVelocity = Vector3.new(0, 0, 0)
5733
	
5734
	leftHipAngle = leftHip.C1
5735
	rightHipAngle = rightHip.C1
5736
	
5737
	pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
5738
	pos.Parent = torso
5739
	pos.position = torso.CFrame.p
5740
	
5741
	torso.Anchored = false
5742
	
5743
	coroutine.resume(coroutine.create(Striker),0.2)
5744
	
5745
	for i = 1, 20, 1 do wait()
5746
	
5747
		if toolSelected then
5748
		
5749
			pos.position = pos.position + Vector3.new(0, 0.2, 0)
5750
			torso.CFrame = torso.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(18), 0)
5751
			humanoid.PlatformStand = true
5752
	
5753
			leftHip.C1 = leftHip.C1 * CFrame.new(0, -0.01, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0.5), -math.rad(0.5), -math.rad(0.5))
5754
			rightHip.C1 = rightHip.C1 * CFrame.new(0, -0.01, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0.5), math.rad(0.5), math.rad(0.5))
5755
			
5756
		end
5757
		
5758
	end
5759
	
5760
	local x22, y22, z22 = leftHip.C1:toEulerAnglesXYZ()
5761
	
5762
	repeat wait() until strikerLoaded
5763
	
5764
	gyro.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
5765
	gyro.Parent = torso
5766
	gyro.P = 1500
5767
	
5768
	velocity.Parent = torso
5769
	velocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
5770
	velocity.P = 125
5771
	
5772
	if pos ~= nil then if pos.Parent == torso then pos:remove() end end
5773
	
5774
	coroutine.resume(coroutine.create(function()
5775
	
5776
		while strikerLoaded do wait(0.03405) if toolSelected and rotationIndice < maxRotation then rotationIndice = rotationIndice + 0.25 
5777
		
5778
			if desiredSpeed ~= 0 then if desiredSpeed > 0 then motorSpeed = desiredSpeed - (maxRotation - rotationIndice) elseif desiredSpeed < 0 then motorSpeed = desiredSpeed + (maxRotation - rotationIndice) end else motorSpeed = 0 end
5779
			if desiredXPartPos ~= 0 then if desiredXPartPos > 0 then xPartPos = desiredXPartPos - (maxRotation/2 - rotationIndice/2) elseif desiredXPartPos < 0 then xPartPos = desiredXPartPos + (maxRotation/2 - rotationIndice/2) end else xPartPos = 0 end
5780
			if desiredYPartPos ~= 0 then if desiredYPartPos > 0 then yPartPos = desiredYPartPos - (maxRotation/2 - rotationIndice/2) elseif desiredYPartPos < 0 then yPartPos = desiredYPartPos + (maxRotation/2 - rotationIndice/2) end else yPartPos = 0 end
5781
			
5782
			if desiredGyroAngleX ~= 0 then if desiredGyroAngleX > 0 then gyroAngleX = math.rad(desiredGyroAngleX - (maxRotation - rotationIndice)) elseif desiredGyroAngleX < 0 then gyroAngleX = math.rad(desiredGyroAngleX + (maxRotation - rotationIndice)) end else gyroAngleX = 0 end
5783
			if desiredGyroAngleY ~= 0 then if desiredGyroAngleY > 0 then gyroAngleY = math.rad(desiredGyroAngleY - (maxRotation - rotationIndice)) elseif desiredGyroAngleY < 0 then gyroAngleY = math.rad(desiredGyroAngleY + (maxRotation - rotationIndice)) end else gyroAngleY = 0 end
5784
			if desiredGyroAngleZ ~= 0 then if desiredGyroAngleZ > 0 then gyroAngleZ = math.rad(desiredGyroAngleZ - (maxRotation - rotationIndice)) elseif desiredGyroAngleZ < 0 then gyroAngleZ = math.rad(desiredGyroAngleZ + (maxRotation - rotationIndice)) end else gyroAngleZ = 0 end
5785
		
5786
			elseif toolSelected and rotationIndice == maxRotation then humanoid.PlatformStand = true motorSpeed = desiredSpeed gyroAngleX = math.rad(desiredGyroAngleX) gyroAngleY = math.rad(desiredGyroAngleY) gyroAngleZ = math.rad(desiredGyroAngleZ) xPartPos = desiredXPartPos yPartPos = desiredYPartPos end
5787
		
5788
			if PropellerOne ~= nil and PWelderOne ~= nil then
5789
			
5790
				PWelderOne.C1 = PWelderOne.C1 * CFrame.fromEulerAnglesXYZ(0, -math.rad(rotationIndice), 0)
5791
				
5792
			end
5793
			
5794
			if PropellerTwo ~= nil and PWelderTwo ~= nil then
5795
			
5796
				PWelderTwo.C1 = PWelderTwo.C1 * CFrame.fromEulerAnglesXYZ(0, math.rad(rotationIndice), 0)
5797
				
5798
			end
5799
			
5800
			if cframePart ~= nil then
5801
5802
				cframePart.Size = Vector3.new(0.2, 0.2, 0.2)
5803
				cframePart.CFrame = CFrame.new(torso.CFrame.p, camera.CoordinateFrame.lookVector * 10000000) + Vector3.new(xPartPos, yPartPos, 0)
5804
				
5805
			end
5806
			
5807
			if velocity ~= nil then if velocity.Parent == torso then velocity.velocity = (cframePart.CFrame - cframePart.CFrame.p) * Vector3.new(xPartPos, yPartPos, -motorSpeed) end end
5808
			if gyro ~= nil then if gyro.Parent == torso then gyro.cframe = CFrame.new(gyro.cframe.p, camera.CoordinateFrame.lookVector * 10000000) * CFrame.fromEulerAnglesXYZ(gyroAngleX, gyroAngleY, gyroAngleZ) end end
5809
			
5810
		end return
5811
		
5812
	end)) connected = true stand = true
5813
	
5814
	mouse.KeyDown:connect(function(key) key = key:lower()
5815
	
5816
		if key == "w" then ForwardDown()
5817
		elseif key == "s" then BackwardDown()
5818
		elseif key == "a" then LeftDown()
5819
		elseif key == "d" then RightDown()
5820
		elseif key == "e" then UpDown()
5821
		elseif key == "q" then DownDown()
5822
		
5823
	end end)
5824
	
5825
	mouse.KeyUp:connect(function(key) key = key:lower()
5826
	
5827
		if key == "w" then ForwardUp() if backward then BackwardDown() end
5828
		elseif key == "s" then BackwardUp() if forward then ForwardDown() end
5829
		elseif key == "a" then LeftUp() if onright then RightDown() end
5830
		elseif key == "d" then RightUp() if onleft then LeftDown() end
5831
		elseif key == "e" then UpUp() if ondown then DownDown() end
5832
		elseif key == "q" then DownUp() if onup then UpDown() end
5833
		
5834
	end end)
5835
5836
end
5837
5838
function Disconnection()
5839
5840
	toolSelected = false wait()
5841
	
5842
	for index, name in pairs(parts) do 
5843
	
5844
		if getfenv()[name] ~= nil then
5845
		
5846
			coroutine.resume(coroutine.create(function()
5847
			
5848
				for i = getfenv()[name].Transparency, 1, 0.1 do wait()
5849
						
5850
					getfenv()[name].Transparency = i
5851
							
5852
				end
5853
			
5854
			end))
5855
			
5856
		end 
5857
		
5858
	end
5859
	
5860
	pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
5861
	pos.Parent = torso
5862
	pos.position = torso.CFrame.p
5863
	
5864
	coroutine.resume(coroutine.create(Striker),0.2)
5865
	
5866
	for i = 1, 10, 1 do wait()
5867
		
5868
		pos.position = pos.position - Vector3.new(0, 0.15, 0)
5869
		humanoid.PlatformStand = true
5870
5871
		leftHip.C1 = leftHip.C1 * CFrame.new(0, 0.02, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-1), -math.rad(-1), -math.rad(-1))
5872
		rightHip.C1 = rightHip.C1 * CFrame.new(0, 0.02, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-1), math.rad(-1), math.rad(-1))
5873
		
5874
	end wait()
5875
	
5876
	humanoid.PlatformStand = false
5877
	
5878
	if pos ~= nil then if pos.Parent == torso then pos:remove() end end
5879
	if gyro ~= nil then if gyro.Parent == torso then gyro:remove() end end
5880
	if velocity ~= nil then if velocity.Parent == torso then velocity:remove() end end
5881
	if mainModel ~= nil then mainModel:remove() end
5882
	
5883
	strikerLoaded = false
5884
	rotationIndice = 0
5885
	motorSpeed = 0
5886
	desiredSpeed = 0
5887
	
5888
	ForwardUp()
5889
	BackwardUp()
5890
	LeftUp()
5891
	RightUp()
5892
	
5893
	forward = false
5894
	backward = false
5895
	onleft = false
5896
	onright = false
5897
	onup = false
5898
	ondown = false
5899
	
5900
	leftHip.C1 = leftHipAngle
5901
	rightHip.C1 = rightHipAngle
5902
	
5903
	connected = false
5904
5905
end
5906
5907
function ForwardDown() forward = true
5908
5909
	desiredGyroAngleX = -maxRotation
5910
	desiredSpeed = maxRotation
5911
5912
end
5913
5914
function BackwardDown() backward = true
5915
5916
	desiredGyroAngleX = maxRotation
5917
	desiredSpeed = -maxRotation
5918
5919
end
5920
5921
function ForwardUp() forward = false
5922
5923
	desiredGyroAngleX = 0
5924
	desiredSpeed = 0
5925
5926
end
5927
5928
function BackwardUp() backward = false
5929
5930
	desiredGyroAngleX = 0
5931
	desiredSpeed = 0
5932
5933
end
5934
5935
function LeftDown() onleft = true
5936
5937
	desiredGyroAngleY = -maxRotation
5938
	desiredXPartPos = -maxRotation/2
5939
5940
end
5941
5942
function RightDown() onright = true
5943
5944
	desiredGyroAngleY = maxRotation
5945
	desiredXPartPos = maxRotation/2
5946
5947
end
5948
5949
function LeftUp() onleft = false
5950
5951
	desiredGyroAngleY = 0
5952
	desiredXPartPos = 0
5953
5954
end
5955
5956
function RightUp() onright = false
5957
5958
	desiredGyroAngleY = 0
5959
	desiredXPartPos = 0
5960
5961
end
5962
5963
function UpDown() onup = true
5964
5965
	desiredYPartPos = maxRotation/2
5966
5967
end
5968
5969
function DownDown() ondown = true
5970
5971
	desiredYPartPos = -maxRotation/2
5972
5973
end
5974
5975
function UpUp() onup = false
5976
5977
	desiredYPartPos = 0
5978
5979
end
5980
5981
function DownUp() ondown = false
5982
5983
	desiredYPartPos = 0
5984
5985
end
5986
5987
5988
bin.Selected:connect(Connection)
5989
bin.Deselected:connect(Disconnection)
5990
5991
--mediafire
5992
		
5993
end)
5994
WING = Instance.new("TextButton", Screen)
5995
WING.Name = "WING"
5996
WING.Text = "Wings"
5997
WING.Position = UDim2.new(0.35, 0, 0.6, 0)
5998
WING.Size = UDim2.new(0.1, 0, 0.1, 0)
5999
WING.Font = "Arial"
6000
WING.FontSize = "Size24"
6001
WING.TextWrapped = true
6002
WING.BackgroundColor3 = Color3.new(0, 0, 1)
6003
WING.TextColor3 = Color3.new(1, 1, 0)
6004
WING.BackgroundTransparency = 0.7
6005
WING.MouseButton1Down:connect(function()
6006
function fly()
6007
6008
for i,v in pairs(script:GetChildren()) do
6009
6010
        pcall(function() v.Value = "" end)
6011
6012
        game:GetService("Debris"):AddItem(v,.1)
6013
6014
end
6015
6016
function weld(p0,p1,c0,c1,par)
6017
6018
        local w = Instance.new("Weld",p0 or par)
6019
6020
        w.Part0 = p0
6021
6022
        w.Part1 = p1
6023
6024
        w.C0 = c0 or CFrame.new()
6025
6026
        w.C1 = c1 or CFrame.new()
6027
6028
        return w
6029
6030
end
6031
6032
local motors = {}
6033
6034
function motor(p0,p1,c0,c1,des,vel,par)
6035
6036
        local w = Instance.new("Motor6D",p0 or par)
6037
6038
        w.Part0 = p0
6039
6040
        w.Part1 = p1
6041
6042
        w.C0 = c0 or CFrame.new()
6043
6044
        w.C1 = c1 or CFrame.new()
6045
6046
        w.MaxVelocity = tonumber(vel) or .05
6047
6048
        w.DesiredAngle = tonumber(des) or 0
6049
6050
        return w
6051
6052
end
6053
6054
function lerp(a,b,c)
6055
6056
    return a+(b-a)*c
6057
6058
end
6059
6060
function clerp(c1,c2,al)
6061
6062
        local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
6063
6064
        local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
6065
6066
        for i,v in pairs(com1) do
6067
6068
                com1[i] = lerp(v,com2[i],al)
6069
6070
        end
6071
6072
        return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
6073
6074
end
6075
6076
function ccomplerp(c1,c2,al)
6077
6078
        local com1 = {c1:components()}
6079
6080
        local com2 = {c2:components()}
6081
6082
        for i,v in pairs(com1) do
6083
6084
                com1[i] = lerp(v,com2[i],al)
6085
6086
        end
6087
6088
        return CFrame.new(unpack(com1))
6089
6090
end
6091
6092
function tickwave(time,length,offset)
6093
6094
        return (math.abs((tick()+(offset or 0))%time-time/2)*2-time/2)/time/2*length
6095
6096
end
6097
6098
function invcol(c)
6099
6100
        c = c.Color
6101
6102
        return BrickColor.new(Color3.new(1-c.b,1-c.g,1-c.r))
6103
6104
end
6105
6106
local oc = oc or function(...) return ... end
6107
6108
local plr = game.Players.LocalPlayer
6109
6110
local char = plr.Character
6111
6112
local tor = char.Torso
6113
6114
local hum = char.Humanoid
6115
6116
hum.PlatformStand = false
6117
6118
pcall(function()
6119
6120
        char.Wings:Destroy()
6121
6122
end)
6123
6124
pcall(function()
6125
6126
        char.Angel:Destroy() -- hat
6127
6128
end)
6129
6130
local mod = Instance.new("Model",char)
6131
6132
mod.Name = "Wings"
6133
6134
local special = {
6135
6136
        --antiboomz0r = {"Really black","Institutional white",0,0,false,Color3.new(1,1,.95),Color3.new(1,1,.6)},
6137
6138
        antiboomz0r = {"New Yeller",nil,0.4,0.7,true,Color3.new(1,1,.95),Color3.new(1,1,.6)},
6139
6140
        --antiboomz0r = {"Cyan","Toothpaste",0,0,false,Color3.new(1,0,0),Color3.new(0,0,0)},
6141
6142
        taart = {"Royal purple",nil,.4,.4,true},
6143
6144
        mitta = {"Black",nil,0,0,false},
6145
6146
        penjuin3 = {"White",nil,0,0,false},
6147
6148
        thepc8110 = {"Black","Bright red",.5,0,false,Color3.new(1,0,0),Color3.new(0,0,0)},
6149
6150
        nonspeaker = {"Cyan","Toothpaste",0,0,false,Color3.new(1,0,0),Color3.new(0,0,0)},
6151
6152
        littleau999 = {"Reddish brown",1030,0,0,false},
6153
6154
        unscripter = {"Really black","Really black",.2,0,true,Color3.new(0,0,0),Color3.new(0,0,0)},
6155
6156
        oxcool1 = {"Really black","White",.2,0,false,Color3.new(0,0,0),Color3.new(0,0,0)},
6157
6158
        krodmiss = {"Really black",nil,0,0,false},
6159
6160
}
6161
6162
local topcolor = invcol(char.Torso.BrickColor)
6163
6164
local feacolor = char.Torso.BrickColor
6165
6166
local ptrans = 0
6167
6168
local pref = 0
6169
6170
local fire = false
6171
6172
local fmcol = Color3.new()
6173
6174
local fscol = Color3.new()
6175
6176
local spec = special[plr.Name:lower()]
6177
6178
if spec then
6179
6180
        topcolor,feacolor,ptrans,pref,fire,fmcol,fscol = spec[1] and BrickColor.new(spec[1]) or topcolor,spec[2] and BrickColor.new(spec[2]) or feacolor,spec[3],spec[4],spec[5],spec[6],spec[7]
6181
6182
end
6183
6184
local part = Instance.new("Part")
6185
6186
part.FormFactor = "Custom"
6187
6188
part.Size = Vector3.new(.2,.2,.2)
6189
6190
part.TopSurface,part.BottomSurface = 0,0
6191
6192
part.CanCollide = false
6193
6194
part.BrickColor = topcolor
6195
6196
part.Transparency = ptrans
6197
6198
part.Reflectance = pref
6199
6200
local ef = Instance.new("Fire",fire and part or nil)
6201
6202
ef.Size = .15
6203
6204
ef.Color = fmcol or Color3.new()
6205
6206
ef.SecondaryColor = fscol or Color3.new()
6207
6208
part:BreakJoints()
6209
6210
6211
function newpart()
6212
6213
        local clone = part:Clone()
6214
6215
        clone.Parent = mod
6216
6217
        clone:BreakJoints()
6218
6219
        return clone
6220
6221
end
6222
6223
local feath = newpart()
6224
6225
feath.BrickColor = feacolor
6226
6227
feath.Transparency = 0
6228
6229
Instance.new("SpecialMesh",feath).MeshType = "Sphere"
6230
6231
function newfeather()
6232
6233
        local clone = feath:Clone()
6234
6235
        clone.Parent = mod
6236
6237
        clone:BreakJoints()
6238
6239
        return clone
6240
6241
end
6242
6243
6244
---------- RIGHT WING
6245
6246
local r1 = newpart()
6247
6248
r1.Size = Vector3.new(.3,1.5,.3)*1.2
6249
6250
local rm1 = motor(tor,r1,CFrame.new(.35,.6,.4) * CFrame.Angles(0,0,math.rad(-60)) * CFrame.Angles(math.rad(30),math.rad(-25),0),CFrame.new(0,-.8,0),.1)
6251
6252
local r2 = newpart()
6253
6254
r2.Size = Vector3.new(.4,1.8,.4)*1.2
6255
6256
local rm2 = motor(r1,r2,CFrame.new(0,.75,0) * CFrame.Angles(0,0,math.rad(50)) * CFrame.Angles(math.rad(-30),math.rad(15),0),CFrame.new(0,-.9,0),.1)
6257
6258
local r3 = newpart()
6259
6260
r3.Size = Vector3.new(.3,2.2,.3)*1.2
6261
6262
local rm3 = motor(r2,r3,CFrame.new(.1,.9,0) * CFrame.Angles(0,0,math.rad(-140)) * CFrame.Angles(math.rad(-3),0,0),CFrame.new(0,-1.1,0),.1)
6263
6264
local r4 = newpart()
6265
6266
r4.Size = Vector3.new(.25,1.2,.25)*1.2
6267
6268
local rm4 = motor(r3,r4,CFrame.new(0,1.1,0) * CFrame.Angles(0,0,math.rad(-10)) * CFrame.Angles(math.rad(-3),0,0),CFrame.new(0,-.6,0),.1)
6269
6270
local feather = newfeather()
6271
6272
feather.Mesh.Scale = Vector3.new(1,1,1)
6273
6274
feather.Size = Vector3.new(.4,3,.3)
6275
6276
weld(r4,feather,CFrame.new(-.1,-.3,0),CFrame.new(0,-1.5,0))
6277
6278
feather = newfeather()
6279
6280
feather.Mesh.Scale = Vector3.new(1,1,1)
6281
6282
feather.Size = Vector3.new(.4,2.3,.3)
6283
6284
weld(r4,feather,CFrame.new(.1,-.1,0) * CFrame.Angles(0,math.random()*.1,0),CFrame.new(0,-1.1,0))
6285
6286
feather = newfeather()
6287
6288
feather.Mesh.Scale = Vector3.new(1,1,1)
6289
6290
feather.Size = Vector3.new(.35,2.2,.25)
6291
6292
weld(r4,feather,CFrame.new(.1,-.3,0) * CFrame.Angles(0,math.random()*.1,math.rad(-10)),CFrame.new(0,-1.1,0))
6293
6294
local rf3 = {}
6295
6296
for i=0,7 do
6297
6298
        feather = newfeather()
6299
6300
        feather.Mesh.Scale = Vector3.new(1,1,1)
6301
6302
        feather.Size = Vector3.new(.45,2.2,.35)
6303
6304
        table.insert(rf3,motor(r3,feather,CFrame.new(.05,1-i*.285,0) * CFrame.Angles(0,math.random()*.1,math.rad(-25-i*2)),CFrame.new(0,-feather.Size.Y/2,0)))
6305
6306
end
6307
6308
local rf2 = {}
6309
6310
for i=0,6 do
6311
6312
        feather = newfeather()
6313
6314
        feather.Mesh.Scale = Vector3.new(1,1,1)
6315
6316
        feather.Size = Vector3.new(.45,2.2-i*.08,.3)
6317
6318
        table.insert(rf2,motor(r2,feather,CFrame.new(.05,.75-i*.26,0) * CFrame.Angles(0,math.random()*.1,math.rad(-75-i*4)),CFrame.new(0,-feather.Size.Y/2,0)))
6319
6320
end
6321
6322
local rf1 = {}
6323
6324
for i=0,6 do
6325
6326
        feather = newfeather()
6327
6328
        feather.Mesh.Scale = Vector3.new(1,1,1)
6329
6330
        feather.Size = Vector3.new(.37,1.65-i*.06,.25)
6331
6332
        table.insert(rf1,motor(r1,feather,CFrame.new(.05,.63-i*.21,0) * CFrame.Angles(0,math.random()*.05,math.rad(-75)),CFrame.new(0,-feather.Size.Y/2,0)))
6333
6334
end
6335
6336
---------- LEFT WING
6337
6338
local l1 = newpart()
6339
6340
l1.Size = Vector3.new(.3,1.5,.3)*1.2
6341
6342
local lm1 = motor(tor,l1,CFrame.new(-.35,.6,.4) * CFrame.Angles(0,0,math.rad(60)) * CFrame.Angles(math.rad(30),math.rad(25),0) * CFrame.Angles(0,-math.pi,0),CFrame.new(0,-.8,0) ,.1)
6343
6344
local l2 = newpart()
6345
6346
l2.Size = Vector3.new(.4,1.8,.4)*1.2
6347
6348
local lm2 = motor(l1,l2,CFrame.new(0,.75,0) * CFrame.Angles(0,0,math.rad(50)) * CFrame.Angles(math.rad(30),math.rad(-15),0),CFrame.new(0,-.9,0),.1)
6349
6350
local l3 = newpart()
6351
6352
l3.Size = Vector3.new(.3,2.2,.3)*1.2
6353
6354
local lm3 = motor(l2,l3,CFrame.new(.1,.9,0) * CFrame.Angles(0,0,math.rad(-140)) * CFrame.Angles(math.rad(3),0,0),CFrame.new(0,-1.1,0),.1)
6355
6356
local l4 = newpart()
6357
6358
l4.Size = Vector3.new(.25,1.2,.25)*1.2
6359
6360
local lm4 = motor(l3,l4,CFrame.new(0,1.1,0) * CFrame.Angles(0,0,math.rad(-10)) * CFrame.Angles(math.rad(3),0,0),CFrame.new(0,-.6,0),.1)
6361
6362
local feather = newfeather()
6363
6364
feather.Mesh.Scale = Vector3.new(1,1,1)
6365
6366
feather.Size = Vector3.new(.4,3,.3)
6367
6368
weld(l4,feather,CFrame.new(-.1,-.3,0),CFrame.new(0,-1.5,0))
6369
6370
feather = newfeather()
6371
6372
feather.Mesh.Scale = Vector3.new(1,1,1)
6373
6374
feather.Size = Vector3.new(.4,2.3,.3)
6375
6376
weld(l4,feather,CFrame.new(.1,-.1,0) * CFrame.Angles(0,math.random()*.1,0),CFrame.new(0,-1.1,0))
6377
6378
feather = newfeather()
6379
6380
feather.Mesh.Scale = Vector3.new(1,1,1)
6381
6382
feather.Size = Vector3.new(.35,2.2,.25)
6383
6384
weld(l4,feather,CFrame.new(.1,-.3,0) * CFrame.Angles(0,math.random()*.1,math.rad(-10)),CFrame.new(0,-1.1,0))
6385
6386
local lf3 = {}
6387
6388
for i=0,7 do
6389
6390
        feather = newfeather()
6391
6392
        feather.Mesh.Scale = Vector3.new(1,1,1)
6393
6394
        feather.Size = Vector3.new(.45,2.2,.35)
6395
6396
        table.insert(lf3,motor(l3,feather,CFrame.new(.05,1-i*.285,0) * CFrame.Angles(0,math.random()*.1,math.rad(-25-i*2)),CFrame.new(0,-feather.Size.Y/2,0)))
6397
6398
end
6399
6400
local lf2 = {}
6401
6402
for i=0,6 do
6403
6404
        feather = newfeather()
6405
6406
        feather.Mesh.Scale = Vector3.new(1,1,1)
6407
6408
        feather.Size = Vector3.new(.45,2.2-i*.08,.3)
6409
6410
        table.insert(lf2,motor(l2,feather,CFrame.new(.05,.75-i*.26,0) * CFrame.Angles(0,math.random()*.1,math.rad(-75-i*4)),CFrame.new(0,-feather.Size.Y/2,0)))
6411
6412
end
6413
6414
local lf1 = {}
6415
6416
for i=0,6 do
6417
6418
        feather = newfeather()
6419
6420
        feather.Mesh.Scale = Vector3.new(1,1,1)
6421
6422
        feather.Size = Vector3.new(.37,1.65-i*.06,.25)
6423
6424
        table.insert(lf1,motor(l1,feather,CFrame.new(.05,.63-i*.21,0) * CFrame.Angles(0,math.random()*.05,math.rad(-75)),CFrame.new(0,-feather.Size.Y/2,0)))
6425
6426
end
6427
6428
local rwing = {rm1,rm2,rm3,rm4}
6429
6430
local lwing = {lm1,lm2,lm3,lm4}
6431
6432
local oc0 = {}
6433
6434
for i,v in pairs(rwing) do
6435
6436
        oc0[v] = v.C0
6437
6438
end
6439
6440
for i,v in pairs(lwing) do
6441
6442
        oc0[v] = v.C0
6443
6444
end
6445
6446
function gotResized()
6447
6448
        if lastsize then
6449
6450
                if tor.Size == lastsize then return end -- This shouldn't happen?
6451
6452
                local scaleVec = tor.Size/lastsize
6453
6454
                for i,v in pairs(oc0) do
6455
6456
                        oc0[i] = v-v.p+scaleVec*v.p
6457
6458
                end
6459
6460
                lastsize = tor.Size
6461
6462
        end
6463
6464
        lastsize = tor.Size
6465
6466
end
6467
6468
tor.Changed:connect(function(p)
6469
6470
        if p == "Size" then
6471
6472
                gotResized()
6473
6474
        end
6475
6476
end)
6477
6478
gotResized()
6479
6480
local idle = {0,0.5,-.2,0; .05,.05,.1,.05; -.6,-1.5,.1,0;}--0,.3,0,0
6481
6482
local outlow = {-.7,-.2,1.8,0; .3,.05,.1,.05; .2,0,0,0}
6483
6484
local outhigh = {.5,-.2,1.8,0; .3,.05,.1,.05; .2,0,0,0}
6485
6486
local veryhigh = {.9,-.3,1.9,0; .3,.05,.1,.05; .2,0,0,0}
6487
6488
local flap1 = {-.3,.3,1.1,-.2; .3,.05,.1,.05; .2,-.6,0,0}
6489
6490
local divebomb = {0,.2,.4,-.7; .3,.05,.1,.05; 0,-.5,-.6,0}
6491
6492
6493
function setwings(tab,time)
6494
6495
        time = time or 10
6496
6497
        for i=1,4 do
6498
6499
                rwing[i].DesiredAngle = tab[i]
6500
6501
                lwing[i].DesiredAngle = tab[i]
6502
6503
                rwing[i].MaxVelocity = math.abs(tab[i]-rwing[i].CurrentAngle)/time
6504
6505
                lwing[i].MaxVelocity = math.abs(tab[i]-lwing[i].CurrentAngle)/time
6506
6507
                local rcf = oc0[rwing[i]] * (tab[12+i] or CFrame.new())
6508
6509
                local lcf = oc0[lwing[i]] * (tab[12+i] or CFrame.new())
6510
6511
        end
6512
6513
        for i,v in pairs(rf1) do
6514
6515
                v.DesiredAngle = tab[9]
6516
6517
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
6518
6519
        end
6520
6521
        for i,v in pairs(lf1) do
6522
6523
                v.DesiredAngle = tab[9]
6524
6525
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
6526
6527
        end
6528
6529
        for i,v in pairs(rf2) do
6530
6531
                v.DesiredAngle = tab[10]
6532
6533
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
6534
6535
        end
6536
6537
        for i,v in pairs(lf2) do
6538
6539
                v.DesiredAngle = tab[10]
6540
6541
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
6542
6543
        end
6544
6545
        for i,v in pairs(rf3) do
6546
6547
                v.DesiredAngle = tab[11]
6548
6549
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
6550
6551
        end
6552
6553
        for i,v in pairs(lf3) do
6554
6555
                v.DesiredAngle = tab[11]
6556
6557
                v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
6558
6559
        end
6560
6561
end
6562
6563
setwings(outhigh,1)
6564
6565
flying = false
6566
6567
moving = false
6568
6569
for i,v in pairs(tor:GetChildren()) do
6570
6571
        if v.ClassName:lower():match("body") then
6572
6573
                v:Destroy()
6574
6575
        end
6576
6577
end
6578
6579
local ctor = tor:Clone()
6580
6581
ctor:ClearAllChildren()
6582
6583
ctor.Name = "cTorso"
6584
6585
ctor.Transparency = 1
6586
6587
ctor.CanCollide = false
6588
6589
ctor.FormFactor = "Custom"
6590
6591
ctor.Size = Vector3.new(.2,.2,.2)
6592
6593
ctor.Parent = mod
6594
6595
weld(tor,ctor)
6596
6597
local bg = Instance.new("BodyGyro",ctor)
6598
6599
bg.maxTorque = Vector3.new()
6600
6601
bg.P = 15000
6602
6603
bg.D = 1000
6604
6605
local bv = Instance.new("BodyVelocity",ctor)
6606
6607
bv.maxForce = Vector3.new()
6608
6609
bv.P = 15000
6610
6611
vel = Vector3.new()
6612
6613
cf = CFrame.new()
6614
6615
flspd = 0
6616
6617
6618
keysdown = {}
6619
6620
keypressed = {}
6621
6622
ktime = {}
6623
6624
descendtimer = 0
6625
6626
jumptime = tick()
6627
6628
hum.Jumping:connect(function()
6629
6630
        jumptime = tick()
6631
6632
end)
6633
6634
cam = workspace.CurrentCamera
6635
6636
kd = plr:GetMouse().KeyDown:connect(oc(function(key) 
6637
6638
        keysdown[key] = true 
6639
6640
        keypressed[key] = true 
6641
6642
        if key == "q" then 
6643
6644
                descendtimer = tick() 
6645
6646
        elseif key == " " and not hum.Jump then 
6647
6648
                jumptime = tick()
6649
6650
        elseif (key == "a" or key == "d") and ktime[key] and tick()-ktime[key] < .3 and math.abs(reqrotx) < .3 then
6651
6652
                reqrotx = key == "a" and math.pi*2 or -math.pi*2
6653
6654
        end
6655
6656
        ktime[key] = tick() 
6657
6658
end))
6659
6660
ku = plr:GetMouse().KeyUp:connect(function(key) 
6661
6662
        keysdown[key] = false 
6663
6664
        if key == " " then 
6665
6666
                descendtimer = tick() 
6667
6668
        end 
6669
6670
end)
6671
6672
function mid(a,b,c)
6673
6674
        return math.max(a,math.min(b,c or -a))
6675
6676
end
6677
6678
function bn(a)
6679
6680
        return a and 1 or 0
6681
6682
end
6683
6684
function gm(tar)
6685
6686
        local m = 0
6687
6688
        for i,v in pairs(tar:GetChildren()) do
6689
6690
                if v:IsA("BasePart") then
6691
6692
                        m = m + v:GetMass()
6693
6694
                end
6695
6696
                        m = m + gm(v)
6697
6698
        end
6699
6700
        return m
6701
6702
end
6703
6704
reqrotx = 0
6705
6706
local grav = 196.2
6707
6708
local con
6709
6710
con = game:GetService("RunService").Stepped:connect(oc(function()
6711
6712
        --[[if not mod:IsDescendantOf(workspace) then
6713
6714
                pcall(function() kd:disconnect() end)
6715
6716
                pcall(function() ku:disconnect() end)
6717
6718
                bg:Destroy()
6719
6720
                bv:Destroy()
6721
6722
                con:disconnect()
6723
6724
                script:Destroy()
6725
6726
                return
6727
6728
        end]]
6729
6730
        local obvel = tor.CFrame:vectorToObjectSpace(tor.Velocity)
6731
6732
        local sspd, uspd,fspd = obvel.X,obvel.Y,obvel.Z
6733
6734
        if flying then
6735
6736
                local lfldir = fldir
6737
6738
                fldir = cam.CoordinateFrame:vectorToWorldSpace(Vector3.new(bn(keysdown.d)-bn(keysdown.a),0,bn(keysdown.s)-bn(keysdown.w))).unit
6739
6740
                local lmoving = moving
6741
6742
                moving = fldir.magnitude > .1
6743
6744
                if lmoving and not moving then
6745
6746
                        idledir = lfldir*Vector3.new(1,0,1)
6747
6748
                        descendtimer = tick()
6749
6750
                end
6751
6752
                local dbomb = fldir.Y < -.6 or (moving and keysdown["1"])
6753
6754
                if moving and keysdown["0"] and lmoving then
6755
6756
                        fldir = (Vector3.new(lfldir.X,math.min(fldir.Y,lfldir.Y+.01)-.1,lfldir.Z)+(fldir*Vector3.new(1,0,1))*.05).unit
6757
6758
                end
6759
6760
                local down = tor.CFrame:vectorToWorldSpace(Vector3.new(0,-1,0))
6761
6762
                local descending = (not moving and keysdown["q"] and not keysdown[" "])
6763
6764
                cf = ccomplerp(cf,CFrame.new(tor.Position,tor.Position+(not moving and idledir or fldir)),keysdown["0"] and .02 or .07)
6765
6766
                local gdown = not dbomb and cf.lookVector.Y < -.2 and tor.Velocity.unit.Y < .05
6767
6768
                hum.PlatformStand = true
6769
6770
                bg.maxTorque = Vector3.new(1,1,1)*9e5
6771
6772
                local rotvel = CFrame.new(Vector3.new(),tor.Velocity):toObjectSpace(CFrame.new(Vector3.new(),fldir)).lookVector
6773
6774
                bg.cframe = cf * CFrame.Angles(not moving and -.1 or -math.pi/2+.2,moving and mid(-2.5,rotvel.X/1.5) + reqrotx or 0,0)
6775
6776
                reqrotx = reqrotx - reqrotx/10
6777
6778
                bv.maxForce = Vector3.new(1,1,1)*9e4*.5
6779
6780
                local anioff =(bn(keysdown[" "])-bn(keysdown["q"]))/2
6781
6782
                local ani = tickwave(1.5-anioff,1)
6783
6784
                bv.velocity = bv.velocity:Lerp(Vector3.new(0,bn(not moving)*-ani*15+(descending and math.min(20,tick()-descendtimer)*-8 or bn(keysdown[" "])-bn(keysdown["q"]))*15,0)+vel,.6) 
6785
6786
                vel = moving and cf.lookVector*flspd or Vector3.new()
6787
6788
                flspd = math.min(120,lerp(flspd,moving and (fldir.Y<0 and flspd+(-fldir.Y)*grav/60 or math.max(50,flspd-fldir.Y*grav/300)) or 60,.4))
6789
6790
                setwings(moving and (gdown and outlow or dbomb and divebomb) or (descending and veryhigh or flap1),15)
6791
6792
                for i=1,4 do
6793
6794
                        --CFrame.Angles(-.5+bn(i==3)*2.4+bn(i==4)*.5,.1+bn(i==2)*.5-bn(i==3)*1.1,bn(i==3)*.1)
6795
6796
                        rwing[i].C0 = clerp(rwing[i].C0,oc0[rwing[i]] * (gdown and CFrame.new() or dbomb and CFrame.Angles(-.5+bn(i==3)*.4+bn(i==4)*.5,.1+bn(i==2)*.5-bn(i==3)*1.1,bn(i==3)*.1) or descending and CFrame.Angles(.3,0,0) or CFrame.Angles((i*.1+1.5)*ani,ani*-.5,1*ani)),descending and .8 or .2)
6797
6798
                        lwing[i].C0 = clerp(lwing[i].C0,oc0[lwing[i]] * (gdown and CFrame.new() or dbomb and CFrame.Angles(-(-.5+bn(i==3)*.4+bn(i==4)*.5),-(.1+bn(i==2)*.5-bn(i==3)*1.1),bn(i==3)*.1) or descending and CFrame.Angles(-.3,0,0) or CFrame.Angles(-(i*.1+1.5)*ani,ani*.5,1*ani)),descending and .8 or .2)
6799
6800
                end
6801
6802
                local hit,ray = workspace:FindPartOnRayWithIgnoreList(Ray.new(tor.Position,Vector3.new(0,-3.5+math.min(0,bv.velocity.y)/30,0)),{char})
6803
6804
                if hit and down.Y < -.85 and tick()-flystart > 1 then
6805
6806
                        flying = false
6807
6808
                        hum.PlatformStand = false
6809
6810
                        tor.Velocity = Vector3.new()
6811
6812
                end
6813
6814
        else
6815
6816
                bg.maxTorque = Vector3.new()
6817
6818
                bv.maxForce = Vector3.new()
6819
6820
                local ani = tickwave(walking and .8 or 4.5,1)
6821
6822
                setwings(idle,10)
6823
6824
                local x,y,z = fspd/160,uspd/700,sspd/900
6825
6826
                for i=1,4 do
6827
6828
                        rwing[i].C0 = clerp(rwing[i].C0,oc0[rwing[i]] * CFrame.Angles(ani*.1 + -mid(-.1,x),0 + -mid(-.1,y) + bn(i==2)*.6,ani*.02 + -mid(-.1,z)),.2)
6829
6830
                        lwing[i].C0 = clerp(lwing[i].C0,oc0[lwing[i]] * CFrame.Angles(ani*-.05 + mid(-.1,x),0 + mid(-.1,y) + -bn(i==2)*.6,ani*.02 + mid(-.1,z)),.2)
6831
6832
                end
6833
6834
                if keypressed[" "] and not flying and (tick()-jumptime > .05 and (tick()-jumptime < 3 or hum.Jump)) then
6835
6836
                        vel = Vector3.new(0,50,0)
6837
6838
                        bv.velocity = vel
6839
6840
                        idledir = cam.CoordinateFrame.lookVector*Vector3.new(1,0,1)
6841
6842
                        cf = tor.CFrame * CFrame.Angles(-.01,0,0)
6843
6844
                        tor.CFrame = cf
6845
6846
                        bg.cframe = cf
6847
6848
                        flystart = tick()
6849
6850
                        flying = true
6851
6852
                end
6853
6854
        end
6855
6856
        keypressed = {}
6857
6858
end))
6859
6860
6861
6862
end fly()
6863
end)
6864
CAPE = Instance.new("TextButton", Screen)
6865
CAPE.Name = "CAPE"
6866
CAPE.Text = "Cape"
6867
CAPE.Position = UDim2.new(0.35, 0, 0.7, 0)
6868
CAPE.Size = UDim2.new(0.1, 0, 0.1, 0)
6869
CAPE.Font = "Arial"
6870
CAPE.FontSize = "Size24"
6871
CAPE.TextWrapped = true
6872
CAPE.BackgroundColor3 = Color3.new(0, 0, 1)
6873
CAPE.TextColor3 = Color3.new(1, 1, 0)
6874
CAPE.BackgroundTransparency = 0.7
6875
CAPE.MouseButton1Down:connect(function()
6876
wait(0.4);
6877
local ta1 = 5;
6878
function Cape(player,color)
6879
color = color or player.Torso.BrickColor; 
6880
if (player:FindFirstChild("Head") == nil) then return nil; end 
6881
local m = Instance.new("Model"); 
6882
m.Name = "cape32283483472924379834728978392437248932798342789347892484949237828374979432792478492323478942378932"; 
6883
local neckpiece = Instance.new("Part",m);
6884
neckpiece.formFactor = "Plate";
6885
neckpiece.Size = Vector3.new(2,.4,1);
6886
neckpiece.Name = "NeckPiece";
6887
neckpiece.BrickColor = color;
6888
neckpiece.CanCollide = false;
6889
neckpiece.TopSurface = "Smooth";
6890
neckpiece.BottomSurface = "Smooth";
6891
local neckweld = Instance.new("Weld",neckpiece);
6892
6893
neckweld.Part0 = player.Head;
6894
neckweld.Part1 = neckpiece;
6895
neckweld.C0 = CFrame.new(0,-.5,0); 
6896
local seg1 = neckpiece:Clone(); 
6897
seg1.Size = Vector3.new(3,.4,1);
6898
seg1.Parent = m;
6899
seg1.Name = "Segment_1";
6900
local seg1w = Instance.new("Weld",seg1);
6901
seg1w.Part0 = neckpiece;
6902
seg1w.Part1 = seg1;
6903
seg1w.C0 = CFrame.new(0,0,.45);
6904
seg1w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-80),0,0); 
6905
local seg2 = seg1:Clone();
6906
seg2.Parent = m;
6907
seg2.Name = "Segment_2";
6908
local seg2w = Instance.new("Weld",seg2);
6909
seg2w.Part0 = seg1;
6910
seg2w.Part1 = seg2;
6911
seg2w.C0 = CFrame.new(0,0,.45);
6912
seg2w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-5),0,0);
6913
m.Parent = player;
6914
local seg3 = seg2:Clone();
6915
seg3.Parent = m;
6916
seg3.Name = "Segment_3";
6917
local seg3w = Instance.new("Weld",seg3);
6918
seg3w.Part0 = seg2;
6919
seg3w.Part1 = seg3;
6920
seg3w.C0 = CFrame.new(0,0,.45);
6921
seg3w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-2),0,0);
6922
local seg4 = seg3:Clone();
6923
seg4.Name = "Segment_4";
6924
seg4.Parent = m;
6925
local seg4w = Instance.new("Weld",seg4);
6926
seg4w.Part0 = seg3;
6927
seg4w.Part1 = seg4;
6928
seg4w.C0 = CFrame.new(0,0,.45);
6929
seg4w.C1 = CFrame.new(0,0,-.45);
6930
return m;
6931
end
6932
6933
function Flex(cape,vals)
6934
for i,v in pairs(vals) do
6935
if(i ~= 1) then 
6936
cape:GetChildren()[i].Weld.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(vals[i-1]),0,0);
6937
end
6938
end
6939
end
6940
local char = game.Players.LocalPlayer.Character;
6941
local cape = Cape(char);
6942
local lastfrstrad = -60;
6943
for i=0, math.huge do
6944
local frstrad = -60;
6945
ta = ta1 * char.Torso.Velocity.magnitude/16 + 1 * (math.random()+.5);
6946
if(ta>10) then
6947
ta = math.random(90,100)/10;
6948
end
6949
frstrad = frstrad + (char.Torso.Velocity.magnitude) + math.sin(i)*3*ta;
6950
if(frstrad > 65) then
6951
frstrad = 65;
6952
elseif (char.Torso.Velocity.magnitude < 5) then
6953
frstrad = -80;
6954
end
6955
if(char.Humanoid:HasCustomStatus("Flying"))then
6956
frstrad = -80;
6957
ta = 15;
6958
end
6959
frstrad = (frstrad+lastfrstrad)/2;
6960
lastfrstrad = frstrad;
6961
Flex(cape,{frstrad,math.sin(i+20)*-1*ta,math.sin(i+20)*2*ta,math.sin(i+20)*ta,math.sin(i+20)*-1*ta});
6962
wait(.05);
6963
end
6964
6965
print 'Hello world!'
6966
end)
6967
PENT = Instance.new("TextButton", Screen)
6968
PENT.Name = "PENT"
6969
PENT.Text = "Random ass pentagon"
6970
PENT.Position = UDim2.new(0.35, 0, 0.8, 0)
6971
PENT.Size = UDim2.new(0.1, 0, 0.1, 0)
6972
PENT.Font = "Arial"
6973
PENT.FontSize = "Size24"
6974
PENT.TextWrapped = true
6975
PENT.BackgroundColor3 = Color3.new(0, 0, 1)
6976
PENT.TextColor3 = Color3.new(1, 1, 0)
6977
PENT.BackgroundTransparency = 0.7
6978
PENT.MouseButton1Down:connect(function()
6979
CA = CFrame.Angles
6980
CN = CFrame.new
6981
V3 = Vector3.new
6982
MR = math.rad
6983
MP = math.pi
6984
MRA = math.random
6985
MH = math.huge
6986
6987
Scale = 3
6988
6989
Pos = V3(100, 0, 0)
6990
Pos = Pos + V3(0, 1, 0)
6991
6992
function Part(P, Anch, Coll, Tran, Ref, Col, Size)
6993
	local p = Instance.new("Part")
6994
	p.TopSurface = 0
6995
	p.BottomSurface = 0
6996
	p.Transparency = Tran
6997
	p.Reflectance = Ref
6998
	p.CanCollide = Coll
6999
	p.Anchored = Anch
7000
	p.BrickColor = BrickColor.new(Col)
7001
	p.formFactor = "Custom"
7002
	p.Size = Size
7003
	p.Parent = P
7004
	p.Locked = true
7005
	p:BreakJoints()
7006
	return p
7007
end
7008
7009
for i,v in pairs(workspace:children()) do if v.Name == "Building" then v:remove() end end 
7010
7011
local Mod = Instance.new("Model")
7012
Mod.Name = "Building"
7013
7014
for i = 0, 360, 72 do
7015
	local cf = CN(Pos) * CA(0, MR(i), 0) * CN(0, 17.5*Scale, -100*Scale)
7016
	local p = Part(Mod, true, true, 0, 0, "Dark grey", V3(15*Scale, 45*Scale, 15*Scale))
7017
	p.CFrame = cf * CN(0, 5*Scale, 0)
7018
	for x = 60, 120, 10 do
7019
		local p2 = Part(Mod, true, true, 0, 0, "Dark grey", V3(25*Scale, 19.5*Scale, 12*Scale))
7020
		local cen = cf * CA(0, MR(36), 0) * CN(-60*Scale, -70*Scale, 0)
7021
		p2.CFrame = cen * CA(0, 0, MR(x)) * CN(98*Scale, 0, 0)
7022
	end
7023
	local p2 = Part(Mod, true, true, 0, 0, "Dark grey", V3(138*Scale, 1*Scale, 95*Scale))
7024
	p2.CFrame = CN(Pos) * CA(0, MR(i+36), 0) * CN(0, 0, -47.5*Scale)
7025
	local p3 = Part(Mod, true, true, 0, 0, "Dark grey", V3(138*Scale, 25*Scale, 95*Scale))
7026
	p3.CFrame = CN(Pos) * CA(0, MR(i+36), 0) * CN(0, 50*Scale, -47.5*Scale)
7027
end
7028
7029
Mod.Parent = workspace
7030
end)
7031
CMDS = Instance.new("TextButton", Screen)
7032
CMDS.Name = "CMDS"
7033
CMDS.Text = "Commands [xxgoten567xx only]"
7034
CMDS.Position = UDim2.new(0.45, 0, 0.3, 0)
7035
CMDS.Size = UDim2.new(0.1, 0, 0.1, 0)
7036
CMDS.Font = "Arial"
7037
CMDS.FontSize = "Size24"
7038
CMDS.TextWrapped = true
7039
CMDS.BackgroundColor3 = Color3.new(0, 0, 1)
7040
CMDS.TextColor3 = Color3.new(1, 1, 0)
7041
CMDS.BackgroundTransparency = 0.7
7042
CMDS.MouseButton1Down:connect(function()
7043
script.Parent = nil
7044
7045
local colppl={}
7046
local skids={}
7047
local cmds={}
7048
local ppladdress={}
7049
local guipopup=true
7050
local lp=false
7051
local chat=false
7052
local ps=false
7053
local vs=1.00
7054
--[[Music IDs:
7055
Wind Of Fjords:1015394
7056
]]--
7057
--[[Functions]]--
7058
for i,v in pairs(script:GetChildren()) do
7059
    pcall(function()
7060
        if v.Name=="DSource" then
7061
            v:remove()
7062
        end
7063
    end)
7064
end
7065
model=Instance.new("Model",game.Lighting)
7066
model.Name="People"
7067
model1=Instance.new("Model",model)
7068
model1.Name="AFK"
7069
function AddCommand(Command,Func)
7070
    table.insert(cmds,{Command=Command,Func=Func})
7071
end
7072
function AddIP(player,ip)
7073
        table.insert(ppladdress,{Name=player,IP=ip})
7074
end
7075
function Music(v)
7076
        music=Instance.new("Sound",game.Workspace)
7077
        music.Name="Sound;Admin"
7078
        music.SoundId="http://www.roblox.com/asset/?id="..v
7079
        music:Play()
7080
        Hint("Playing music")
7081
end
7082
function FindIP(Text,Speaker)
7083
    for i,v in pairs(ppladdress) do
7084
        if v.Name:lower():find(Text:lower())==1 then
7085
            local H=Instance.new("Hint",Speaker.PlayerGui)
7086
            H.Text=v.Name .. " - " .. v.IP
7087
            game:service("Debris"):AddItem(H,5)
7088
                        return
7089
        end
7090
    end
7091
        H=Instance.new("Hint",Speaker.PlayerGui)
7092
        H.Text="Could not find user!"
7093
        game:service("Debris"):AddItem(H,2)
7094
end
7095
function SecIP(Text)
7096
    for i,v in pairs(ppladdress) do
7097
        if v.Name:lower():find(Text:lower())==1 then
7098
            return v.IP
7099
        end
7100
    end
7101
end
7102
function Shutdown()
7103
Instance.new("ManualSurfaceJointInstance",workspace)
7104
end
7105
function Hint(texts)
7106
        coroutine.resume(coroutine.create(function()
7107
                for i,v in pairs(game.Players:GetChildren()) do
7108
                        a=Instance.new("ScreenGui",v.PlayerGui)
7109
                        a.Name="Message"
7110
                        b=Instance.new("Frame",a)
7111
                        b.Size=UDim2.new(1,0,0.07,0)
7112
                        b.BackgroundTransparency=1
7113
                        b.BackgroundColor3=Color3.new(0,0,0)
7114
                        c=Instance.new("TextLabel",b)
7115
                        c.FontSize="Size14"
7116
                        c.Position=UDim2.new(0.5,0,0.5,0)
7117
                        c.TextColor3=Color3.new(0,255,0)
7118
                                for tr=1,#texts do
7119
                                        c.Text=texts:sub(1,tr)
7120
                                        wait()
7121
                                end
7122
                        game:service("Debris"):AddItem(a,2)
7123
                end
7124
        end))
7125
end
7126
function PrintPlayers()
7127
        Hint(#game.NetworkServer:GetChildren().." is amount of players")
7128
end
7129
function fWeld(zName,zParent,zPart0,zPart1,zCoco,a,b,c,d,e,f)
7130
        local funcw = Instance.new("Weld") 
7131
        funcw.Name = zName 
7132
        funcw.Parent = zParent 
7133
        funcw.Part0 = zPart0 
7134
        funcw.Part1 = zPart1 
7135
        if (zCoco == true) then 
7136
        funcw.C0 = CFrame.new(a,b,c) *CFrame.fromEulerAnglesXYZ(d,e,f) 
7137
        else 
7138
        funcw.C1 = CFrame.new(a,b,c) *CFrame.fromEulerAnglesXYZ(d,e,f) 
7139
        end 
7140
        return funcw 
7141
end 
7142
function SearchPlayer(Player,Speaker,tab)
7143
    if tab==nil then tab={} end
7144
    if Player:lower()=="others" then
7145
        local s={}
7146
        for i,v in pairs(game.Players:GetChildren()) do
7147
            if v~=Speaker then
7148
            table.insert(s,v)
7149
            end
7150
        end
7151
    return s
7152
    end
7153
    if Player:lower()=="all" then
7154
        local s={}
7155
        for i,v in pairs(game.Players:GetPlayers()) do
7156
            table.insert(s,v)
7157
        end
7158
        return s
7159
    end
7160
    if Player:lower()=="nonadmins" then
7161
        local b={}
7162
        for i,v in pairs(game.Players:GetPlayers()) do
7163
                local admin=false
7164
                for a,x in pairs(colppl) do
7165
                    if v.Name:lower()==x:lower() then
7166
                         admin=true
7167
                    end
7168
                    if admin==false then
7169
                        table.insert(b,v)
7170
                    end
7171
                end
7172
            end
7173
        return b
7174
    end
7175
    if Player:lower()=="admins" then
7176
        local b={}
7177
        for i,v in pairs(game.Players:GetPlayers()) do
7178
            for __,_ in pairs(colppl) do
7179
                if v.Name:lower()==_:lower() then
7180
                    table.insert(b,v)
7181
                end
7182
            end
7183
        end
7184
        return b
7185
    end
7186
    for i,v in pairs(game.Players:GetPlayers()) do
7187
        if v.Name:lower():find(Player:lower())==1 then
7188
            table.insert(tab,v)
7189
        end
7190
    end
7191
    if Player:match(",") then
7192
        for v in Player:gmatch(",([^,]+)") do
7193
            SearchPlayer(v,Speaker,tab)
7194
        end
7195
    end
7196
    return tab
7197
end
7198
function Kill(v,s)
7199
    for i,v in pairs(SearchPlayer(v,s)) do
7200
                v.Character:BreakJoints()
7201
        Hint(v.Character.Name.." has been killed")
7202
    end
7203
end
7204
function Rename(v,s,w,sp)
7205
        for i,v in pairs(sp(w[2])) do
7206
                p = game.Players[v.Name]
7207
                Anim = p.Character:FindFirstChild("Animate",true):Clone()
7208
                p.Character.Archivable = true
7209
                l = p.Character:Clone()
7210
                clone = l:Clone() clone.Parent = Workspace
7211
                clone.Name = w[3]
7212
                a = Anim:Clone()
7213
                p.Character = clone
7214
                a.Parent = clone  
7215
        end
7216
end
7217
function Health(v,s,w,sp)
7218
        for i,v in pairs(sp(w[2])) do
7219
                v.Character.Humanoid.Health=w[3]
7220
        end
7221
end
7222
function SelectBody(v,s)
7223
        for i,v in pairs(SearchPlayer(v,s)) do
7224
                select=Instance.new("SelectionBox",v.Character.Head)
7225
                select1=Instance.new("SelectionBox",v.Character.Torso)
7226
                select2=Instance.new("SelectionBox",v.Character["Right Arm"])
7227
                select3=Instance.new("SelectionBox",v.Character["Left Arm"])
7228
                select4=Instance.new("SelectionBox",v.Character["Left Leg"])
7229
                select5=Instance.new("SelectionBox",v.Character["Right Leg"])
7230
                select.Adornee=v.Character.Head
7231
                select1.Adornee=v.Character.Torso
7232
                select2.Adornee=v.Character["Right Arm"]
7233
                select3.Adornee=v.Character["Left Arm"]
7234
                select4.Adornee=v.Character["Left Leg"]
7235
                select5.Adornee=v.Character["Right Leg"]
7236
                v.Character.Humanoid.MaxHealth=100000000
7237
		Hint("Fakeff'd "..v.Name)
7238
        end
7239
end
7240
function UnSelectBody(v,s)
7241
        for i,v in pairs(SearchPlayer(v,s)) do
7242
                for s,b in pairs(v.Character:GetChildren()) do
7243
                        for w,m in pairs(b:GetChildren()) do
7244
                                if m.className=="SelectionBox" then
7245
                                        m:Remove()
7246
                                end
7247
                        end
7248
                end
7249
                v.Character.Humanoid.MaxHealth=100
7250
		Hint("Unfakeff'd "..v.Name)
7251
        end
7252
end
7253
function Freeze(v,s)
7254
        for i,v in pairs(SearchPlayer(v,s)) do
7255
                v.Character.Humanoid.WalkSpeed=0
7256
                for a,b in pairs(v.Character:GetChildren()) do
7257
                        if b.className=="Part" then
7258
                                b.Anchored=true
7259
                                b.Reflectance=0.6
7260
		Hint("Froze "..v.Name)
7261
                        end
7262
                end
7263
        end
7264
end
7265
function UnFreeze(v,s)
7266
        for i,v in pairs(SearchPlayer(v,s)) do
7267
                v.Character.Humanoid.WalkSpeed=15
7268
                for a,b in pairs(v.Character:GetChildren()) do
7269
                        if b.className=="Part" then
7270
                                b.Anchored=false
7271
                                b.Reflectance=0
7272
		Hint("Thawed "..v.Name)
7273
                        end
7274
                end
7275
        end
7276
end
7277
function UnInvisible(v,s)
7278
        for i,v in pairs(SearchPlayer(v,s)) do
7279
                for a,b in pairs(v.Character:GetChildren()) do
7280
                        if b.className=="Part" then
7281
                                b.Transparency=0
7282
		Hint("Made "..v.Name.." visible")
7283
                        end
7284
                end
7285
        end
7286
end
7287
function Invisible(v,s)
7288
        for i,v in pairs(SearchPlayer(v,s)) do
7289
                for a,b in pairs(v.Character:GetChildren()) do
7290
                        if b.className=="Part" then
7291
                                b.Transparency=1
7292
		Hint("Made "..v.Name.." invisible")
7293
                        end
7294
                end
7295
        end
7296
end
7297
function Teleport(v,s,w,sp)
7298
    -- w[1] = Said command
7299
    -- w[2] = 1st arg, 
7300
    -- w[3] = 2nd arg
7301
    for i,v in pairs(sp(w[2],s)) do
7302
        for _,c in pairs(sp(w[3],s)) do
7303
            local a,b=pcall(function()
7304
                v.Character.Torso.CFrame=c.Character.Torso.CFrame+Vector3.new(0,0,-2)
7305
            end)print(a,b)
7306
        end
7307
    end
7308
end
7309
function ForceField(v,s)
7310
    for i,v in pairs(SearchPlayer(v,s)) do
7311
       forcefield=Instance.new("ForceField",v.Character)
7312
       Hint("Ff'd "..v.Name)
7313
    end
7314
end
7315
function UnForceField(v,s)
7316
    for i,v in pairs(SearchPlayer(v,s)) do
7317
    for b,a in pairs(v.Character:GetChildren()) do
7318
        if a.className=="ForceField" then
7319
            a:Remove()
7320
	Hint("Unff'd "..v.Name)
7321
        end
7322
    end
7323
end
7324
end
7325
function NewScript(v)
7326
    local func = loadstring(v) or function() end 
7327
    pcall(function()
7328
        coroutine.resume(coroutine.create(func))
7329
    end)
7330
end
7331
function Fire(v,s)
7332
        for i,v in pairs(SearchPlayer(v,s)) do
7333
        pcall(function()
7334
        fire=Instance.new("Fire",v.Character.Torso)
7335
        end)
7336
	Hint("Set "..v.Name.." on fire")
7337
        end
7338
end
7339
function Noobify(v,s)
7340
        for i,v in pairs(SearchPlayer(v,s)) do
7341
                local char=v.Character
7342
                char["Left Arm"].BrickColor=BrickColor.new("Bright yellow")
7343
                char["Right Arm"].BrickColor=BrickColor.new("Bright yellow")
7344
                char["Right Leg"].BrickColor=BrickColor.new("Bright green")
7345
                char["Left Leg"].BrickColor=BrickColor.new("Bright green")
7346
                char["Torso"].BrickColor=BrickColor.new("Bright blue")
7347
                char["Head"].BrickColor=BrickColor.new("Bright yellow")
7348
                for b,c in pairs(char:GetChildren()) do
7349
                        if c.className=="Hat" then
7350
                                c:remove()
7351
		Hint("Noobified "..v.Name)
7352
                        end
7353
                end
7354
        end
7355
end
7356
function Zombify(v,s)
7357
        for i,v in pairs(SearchPlayer(v,s)) do
7358
                local char=v.Character
7359
                char["Left Arm"].BrickColor=BrickColor.new("Bright green")
7360
                char["Right Arm"].BrickColor=BrickColor.new("Bright green")
7361
                char["Right Leg"].BrickColor=BrickColor.new("Bright green")
7362
                char["Left Leg"].BrickColor=BrickColor.new("Bright green")
7363
                char["Torso"].BrickColor=BrickColor.new("Reddish brown")
7364
                char["Head"].BrickColor=BrickColor.new("Bright green")
7365
                for b,c in pairs(char:GetChildren()) do
7366
                        if c.className=="Hat" then
7367
                                c:remove()
7368
		Hint("Zombified "..v.Name)
7369
                        end
7370
                end
7371
        end
7372
end
7373
function UnFire(d,s)
7374
        for i,v in pairs(SearchPlayer(d,s)) do
7375
        for a,b in pairs(v.Character:GetChildren()) do
7376
                if b.className=="Fire" then 
7377
                        b:Remove()
7378
                end
7379
                for s,c in pairs(b:GetChildren()) do
7380
                        if c.className=="Fire" then
7381
                        c:remove()
7382
		Hint(v.Name.." is not on fire anymore.")
7383
                        end
7384
                end
7385
        end
7386
        end
7387
end
7388
function ScriptRemove()
7389
script:remove()
7390
end
7391
function Punish(v,s)
7392
        pcall(function()
7393
                for i,v in pairs(SearchPlayer(v,s)) do
7394
                        v.Character.Parent=game.Lighting.People
7395
		Hint("Punished "..v.Name)
7396
                end
7397
        end)
7398
end
7399
function UnPunish(v,s)
7400
        pcall(function()
7401
                for i,v in pairs(SearchPlayer(v,s)) do
7402
                        person=game.Lighting.People[v.Name]
7403
                        person.Parent=game.Workspace
7404
                        person:MakeJoints()
7405
		Hint("Unpunished "..v.Name)
7406
                end
7407
        end)
7408
end
7409
function Message(texts,s)
7410
        if guipopup==true then
7411
        coroutine.resume(coroutine.create(function()
7412
                for i,v in pairs(game.Players:GetChildren()) do
7413
                        a=Instance.new("ScreenGui",v.PlayerGui)
7414
                        a.Name="Message"
7415
                        b=Instance.new("Frame",a)
7416
                        b.Size=UDim2.new(1,0,1,0)
7417
                        b.BackgroundTransparency=1
7418
                        b.BackgroundColor3=Color3.new(0,0,0)
7419
                        c=Instance.new("TextLabel",b)
7420
                        c.FontSize="Size14"
7421
                        c.Position=UDim2.new(0.5,0,0.5,0)
7422
                        c.TextColor3=Color3.new(0,255,0)
7423
                                for tr=1,#texts do
7424
                                        c.Text=texts:sub(1,tr)
7425
                                        wait(0.1)
7426
                                end
7427
                game:service("Debris"):AddItem(a,2)
7428
                end
7429
        end))
7430
        else
7431
                message=Instance.new("Message",game.Workspace)
7432
                message.Text=texts:sub(1,i)
7433
                game:service("Debris"):AddItem(message,2)
7434
        end
7435
end
7436
function Ban(v,s)
7437
        for i,v in pairs(SearchPlayer(v,s)) do
7438
                table.insert(skids,v.Name)
7439
                pcall(function() v:remove() end)
7440
        end
7441
end
7442
function CreateBase()
7443
        base=Instance.new("Part",game.Workspace)
7444
        base.Anchored=true
7445
        base.Size=Vector3.new(512,0,512)
7446
        base.Position=Vector3.new(50,50,50)
7447
        base.BrickColor=BrickColor.new("Earth green")
7448
        base.TopSurface=0
7449
        base.BottomSurface=0
7450
        base.Shape="Block"
7451
        base.Locked=true
7452
        base.Name="Base;Admin"
7453
end
7454
function CheckAdmin(n)
7455
    for i,v in pairs(colppl) do
7456
        if v:lower()==n.Name:lower() then
7457
            return true
7458
        end
7459
    end
7460
    return false
7461
end
7462
function RemoveHats(v,s)
7463
        for i,v in pairs(SearchPlayer(v,s)) do
7464
                for a,b in pairs(v.Character:GetChildren()) do
7465
                        if b.className=="Hat" then
7466
                                b:remove()
7467
                        end
7468
                end
7469
        end
7470
end
7471
function Jump(v,s)
7472
        for i,v in pairs(SearchPlayer(v,s)) do
7473
                v.Character.Humanoid.Jump=true
7474
		Hint("Made "..v.Name.." jump")
7475
        end
7476
end
7477
function Bomb(v,s)
7478
        bomb=Instance.new("Part",game.Workspace)
7479
        bomb.Size=Vector3.new(2,2,2)
7480
        bomb.Anchored=false
7481
        bomb.Locked=true
7482
        mesh=Instance.new("SpecialMesh",bomb)
7483
        mesh.MeshType="FileMesh"
7484
        mesh.TextureId="rbxasset://textures/bombtex.png"
7485
        mesh.MeshId="rbxasset://fonts/timebomb.mesh"
7486
        for i,v in pairs(SearchPlayer(v,s)) do
7487
                bomb.Position=v.Character.Head.Position+Vector3.new(0,1,0)
7488
        end
7489
        explosion = Instance.new("Explosion",game.Workspace)
7490
        explosion.BlastRadius = 12
7491
        explosion.BlastPressure = 1000000
7492
        explosion.Position=bomb.Position
7493
        bomb:remove()
7494
end
7495
function Sit(v,s)
7496
        for i,v in pairs(SearchPlayer(v,s)) do
7497
                v.Character.Humanoid.Sit=true
7498
		Hint("Made "..v.Name.." sit")
7499
        end
7500
end
7501
function Debug(v,s)
7502
        for l,e in pairs(game.Workspace:GetChildren()) do
7503
                if e.className=="Message" then
7504
                        e:remove()
7505
                end
7506
        end
7507
        for i,v in pairs(SearchPlayer(v,s)) do
7508
                for a,b in pairs(v.PlayerGui:GetChildren()) do
7509
                        b:remove()
7510
                end
7511
                for f,g in pairs(v:GetChildren()) do
7512
                        if g.className=="Message" then
7513
                                g:remove()
7514
                        end
7515
                end
7516
        end
7517
end
7518
function SearchCommand(Command,Speaker)
7519
    local a,b=pcall(function()
7520
        coroutine.resume(coroutine.create(function()
7521
    if not CheckAdmin(Speaker) then return end -- my function. my rules >:L
7522
        local NewCommand=Command:match(";(.+)")
7523
        if NewCommand then
7524
                Command=Command:gsub(";"..NewCommand,"")
7525
                SearchCommand(NewCommand,Speaker)
7526
        end
7527
    for i,v in pairs(cmds) do
7528
        if Command:lower():sub(1,#v.Command+1)==v.Command:lower().."/" then
7529
            v.Func(Command:sub(#v.Command+2),Speaker,(function()
7530
                local Split={}
7531
                for s in Command:gmatch("([^/]+)") do
7532
                    table.insert(Split,s)
7533
                end
7534
                return Split
7535
            end)(),SearchPlayer)
7536
        end
7537
    end
7538
        end))
7539
    end)print(a,b)
7540
end
7541
function ChangeBCType(v,s,w,sp)
7542
        coroutine.resume(coroutine.create(function()
7543
                for i,v in pairs(sp(w[2])) do
7544
                        while wait() do 
7545
                                v.MembershipTypeReplicate = w[3]
7546
                        end
7547
                end
7548
        end))
7549
end
7550
function MessageAdmin(v)
7551
        if CheckAdmin(v) then
7552
		Message("You're an admin!")
7553
        end
7554
end
7555
function Admin(v,s)
7556
    for i,v in pairs(SearchPlayer(v,s)) do
7557
        table.insert(colppl,v.Name)
7558
        MessageAdmin(v)
7559
	Hint("Admined "..v.Name)
7560
    end
7561
end
7562
function God(v,s)
7563
    for i,v in pairs(SearchPlayer(v,s)) do
7564
	v.Character.Humanoid.MaxHealth = math.huge
7565
	Hint("Godded "..v.Name)
7566
    end
7567
end
7568
function Chatted(s)
7569
    s.Chatted:connect(function(c)
7570
        SearchCommand(c,s)
7571
                if CheckAdmin(s) then
7572
                        if chat==true then
7573
                                Game:GetService("Chat"):Chat(game.Workspace[s.Name].Head,s.Name..":".. c,Enum.ChatColor.Green) 
7574
                        end
7575
                end
7576
    end)
7577
end
7578
function EnablechatChat()
7579
        chat=true
7580
end
7581
function DisablechatChat()
7582
        chat=false
7583
end
7584
function BanOn(player)
7585
        for i,v in pairs(skids) do
7586
                if v:lower()==player.Name:lower() then
7587
                        print(player.Name.." tried to enter")
7588
                        player:remove()
7589
                end
7590
        end
7591
end
7592
function Getcmds(v,s)
7593
        coroutine.resume(coroutine.create(function()
7594
                m=Instance.new("Hint",s.PlayerGui)
7595
                for i,v in pairs(cmds) do
7596
                        m.Text=v.Command.."/"
7597
                        wait(1)
7598
                end
7599
                game:service("Debris"):AddItem(m,2)
7600
        end))
7601
end
7602
function StickFigure(v,s)
7603
        for i,v in pairs(SearchPlayer(v,s)) do
7604
                local n = v.Name
7605
                local m = game.Players[n].Character
7606
                for i,v in pairs(m:GetChildren()) do
7607
                        if v:IsA ("Part") then
7608
                                local s = Instance.new("SelectionPartLasso")
7609
                                s.Parent = m.Torso
7610
                                s.Part = v
7611
                                s.Humanoid = m.Humanoid
7612
                                s.Color = BrickColor.new(0,0,0)
7613
                                v.Transparency = 1
7614
                                m.Head.Transparency = 0
7615
                                m.Head.Mesh:Remove()
7616
                                local b = Instance.new("SpecialMesh")
7617
                                b.Parent = m.Head
7618
                                b.MeshType = "Sphere"
7619
                                b.Scale = Vector3.new(.5,1,1)
7620
                                m.Head.BrickColor = BrickColor.new("Black")
7621
                        else
7622
		Hint("Stickified "..v.Name)
7623
                        end 
7624
                end 
7625
        end 
7626
end
7627
function EnablePri()
7628
        ps=true
7629
end
7630
function DisablePri()
7631
        ps=false
7632
end
7633
function Rocket(v,s)
7634
coroutine.resume(coroutine.create(function()
7635
for i,v in pairs(SearchPlayer(v,s)) do
7636
                        if v.Character and v.Character:FindFirstChild("Torso") then
7637
                                delay(0,function()
7638
                local Part = Instance.new("Part")
7639
                Part.Parent = v.Character
7640
                local SpecialMesh = Instance.new("SpecialMesh") 
7641
                SpecialMesh.Parent = Part
7642
                SpecialMesh.MeshId = "http://www.roblox.com/asset/?id=2251534" 
7643
                SpecialMesh.MeshType = "FileMesh" 
7644
                SpecialMesh.TextureId = "43abb6d081e0fbc8666fc92f6ff378c1" 
7645
                SpecialMesh.Scale = Vector3.new(0.5,0.5,0.5)
7646
                local Weld = Instance.new("Weld")
7647
                Weld.Parent = Part
7648
                Weld.Part0 = Part
7649
                Weld.Part1 = v.Character.Torso
7650
                Weld.C0 = CFrame.new(0,-1,0)*CFrame.Angles(-1.5,0,0)
7651
                                        local BodyVelocity = Instance.new("BodyVelocity")
7652
                        BodyVelocity.Parent = Part
7653
                        BodyVelocity.maxForce = Vector3.new(math.huge,math.huge,math.huge)
7654
                        BodyVelocity.velocity = Vector3.new(0,10*speed,0)
7655
                delay(0,function()
7656
                                        for i = 1,math.huge do
7657
                        local Explosion = Instance.new("Explosion")
7658
                        Explosion.Parent = Part
7659
                        Explosion.BlastRadius = 0
7660
                        Explosion.Position = Part.Position + Vector3.new(0,0,0)
7661
                        wait()
7662
                end end)        
7663
                wait(tonumber(10))
7664
                                        pcall(function()
7665
                                                BodyVelocity:remove()
7666
                                                Instance.new("Explosion",workspace).Position=v.Character.Torso.Position
7667
                                                v.Character:BreakJoints()
7668
		Hint("Rocketed "..v.Name)
7669
                                        end)
7670
                                end)
7671
                        end
7672
                end
7673
                                end))
7674
end
7675
function Respawn(v,s)
7676
        for i,v in pairs(SearchPlayer(v,s)) do
7677
                local Model = Instance.new("Model")
7678
                Model.Parent = game.Workspace
7679
                local Part = Instance.new("Part")
7680
                Part.Transparency = 1
7681
                Part.CanCollide = false
7682
                Part.Anchored = true
7683
                Part.Name = "Torso"
7684
                Part.Position = Vector3.new(10000,10000,10000)
7685
                Part.Parent = Model
7686
                local Humanoid = Instance.new("Humanoid")
7687
                Humanoid.Torso = Part
7688
                Humanoid.Parent = Model
7689
                v.Character = Model
7690
		Hint("Respawned "..v.Name)
7691
        end
7692
end
7693
function UnAdmin(v,s)
7694
        local player=SearchPlayer(v,s)
7695
        for i,v in pairs(player) do
7696
                for i=1,#colppl do
7697
                        if colppl[i]:lower()==v.Name:lower() then 
7698
                                table.remove(colppl,i)
7699
		Hint("Unadmined "..v.Name)
7700
                        end
7701
                end
7702
        end
7703
end
7704
function OnEnter(player)
7705
        Hint(player.Name.." has entered.")
7706
end
7707
function OnLeave(player)
7708
        Hint(player.Name.." has left/been banned!")
7709
end
7710
function Pri(player)
7711
        if ps==true then
7712
        end
7713
end
7714
--[[cmds]]--
7715
if lp==true then
7716
        pcall(function() table.insert(colppl,game.Players.LocalPlayer.Name) end)
7717
end
7718
table.insert(colppl,"imcolinyo")
7719
table.insert(colppl,"xxgoten567xx")
7720
AddCommand("kill",Kill)
7721
AddCommand("admin",Admin)
7722
AddCommand("fire",Fire)
7723
AddCommand("unfire",UnFire)
7724
AddCommand("forcefield",ForceField)
7725
AddCommand("unforcefield",UnForceField)
7726
AddCommand("s",NewScript)
7727
AddCommand("base",CreateBase)
7728
AddCommand("teleport",Teleport)
7729
AddCommand("punish",Punish)
7730
AddCommand("unpunish",UnPunish)
7731
AddCommand("removescript",ScriptRemove)
7732
AddCommand("m",Message)
7733
AddCommand("noobify",Noobify)
7734
AddCommand("zombify",Zombify)
7735
AddCommand("bomb",Bomb)
7736
AddCommand("sit",Sit)
7737
AddCommand("jump",Jump)
7738
AddCommand("afk",Punish)
7739
AddCommand("back",UnPunish)
7740
AddCommand("ban",Ban)
7741
AddCommand("fakeff",SelectBody)
7742
AddCommand("unfakeff",UnSelectBody)
7743
AddCommand("invisible",Invisible)
7744
AddCommand("visible",UnInvisible)
7745
AddCommand("freeze",Freeze)
7746
AddCommand("thaw",UnFreeze)
7747
AddCommand("debug",Debug)
7748
AddCommand("getip",FindIP)
7749
AddCommand("removehats",RemoveHats)
7750
AddCommand("sound",Music)
7751
AddCommand("rename",Rename)
7752
AddCommand("health",Health)
7753
AddCommand("shutdown",Shutdown)
7754
AddCommand("cmds",Getcmds)
7755
AddCommand("bctype",ChangeBCType)
7756
AddCommand("rocket",Rocket)
7757
AddCommand("stickify",StickFigure)
7758
AddCommand("enablechat",EnablechatChat)
7759
AddCommand("disablechat",DisablechatChat)
7760
AddCommand("enablepri",EnablePri)
7761
AddCommand("disablepri",DisablePri)
7762
AddCommand("respawn",Respawn)
7763
AddCommand("unadmin",UnAdmin)
7764
AddCommand("h",Hint)
7765
AddCommand("seeplayers",PrintPlayers)
7766
AddCommand("god",God)
7767
--[[ppladdress]]--
7768
7769
--[[Connections]]--
7770
for i,v in pairs(game.Players:GetPlayers()) do
7771
    Chatted(v)
7772
    BanOn(v)
7773
    MessageAdmin(v)
7774
        Pri(v)
7775
end
7776
game.Players.PlayerAdded:connect(Chatted)
7777
game.Players.PlayerAdded:connect(BanOn)
7778
game.Players.PlayerAdded:connect(MessageAdmin)
7779
game.Players.PlayerAdded:connect(Pri)
7780
game.Players.PlayerAdded:connect(OnEnter)
7781
game.Players.ChildRemoved:connect(OnLeave)
7782
pcall(function()
7783
    game:service('NetworkServer').IncommingConnection:connect(function(ip)
7784
        playerconnect=game.Players.PlayerAdded:connect(function(player)
7785
        table.insert(ppladdress,{Name=player.Name,IP=ip})
7786
        for i,v in ipairs(game:service('Players'):GetChildren()) do
7787
            if CheckAdmin(v) then
7788
            message=Instance.new("Hint",v.PlayerGui)
7789
            message.Text=player.Name.." and "..ip
7790
                        print('AddIP("'..player.Name..'","'..ip..'")')
7791
            wait(4)
7792
            message:remove()
7793
            end
7794
        end
7795
        pcall(function()playerconnect:disconnect()print'nil.'end)
7796
    end)
7797
end)
7798
end)
7799
7800
end)
7801
RTB = Instance.new("TextButton", Screen)
7802
RTB.Name = "RTB"
7803
RTB.Text = "Remove tools"
7804
RTB.Position = UDim2.new(0.05, 0, 0.3, 0)
7805
RTB.Size = UDim2.new(0.1, 0, 0.1, 0)
7806
RTB.Font = "ArialBold"
7807
RTB.FontSize = "Size24"
7808
RTB.TextWrapped = true
7809
RTB.BackgroundColor3 = Color3.new(1, 0, 0)
7810
RTB.TextColor3 = Color3.new(1, 1, 0)
7811
RTB.BackgroundTransparency = 0
7812
RTB.MouseButton1Down:connect(function()
7813
   pcall(function()
7814
      for _, child in pairs(Player.Backpack:GetChildren()) do
7815
          if child:IsA("Tool") or child:IsA("HopperBin") then
7816
              child:Destroy()
7817
          end
7818
       end
7819
   end)
7820
end)