View difference between Paste ID: BE2pkaGi and LMmfvbX4
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2-
Player = game.Players.LocalPlayer
2+
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do print("FE Compatibility code V2 by Mokiros")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end Player = game.Players.LocalPlayer
6
Character = Player.Character 
7
PlayerGui = Player.PlayerGui
8
Backpack = Player.Backpack 
9
Torso = Character.Torso 
10
Head = Character.Head 
11
Humanoid = Character.Humanoid
12
LeftArm = Character["Left Arm"] 
13
LeftLeg = Character["Left Leg"] 
14
RightArm = Character["Right Arm"] 
15
RightLeg = Character["Right Leg"]
16
PlayerGui = Player.PlayerGui
17
Backpack = Player.Backpack 
18
Torso = Character.Torso 
19
Head = Character.Head 
20
Humanoid = Character.Humanoid
21
LeftArm = Character["Left Arm"] 
22
LeftLeg = Character["Left Leg"] 
23
RightArm = Character["Right Arm"] 
24
RightLeg = Character["Right Leg"] 
25
LS = Torso["Left Shoulder"] 
26
RS = Torso["Right Shoulder"] 
27
Neck = Torso.Neck
28
attacktype = 1
29
vt = Vector3.new
30
cf = CFrame.new
31
euler = CFrame.fromEulerAnglesXYZ
32
angles = CFrame.Angles
33
necko = cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
34
necko2 = cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
35
LHC0 = cf(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
36
LHC1 = cf(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
37
RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
38
RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
39
RootPart = Character.HumanoidRootPart
40
RootJoint = RootPart.RootJoint
41
RootCF = euler(-1.57, 0, 3.14)
42
attack = false
43
equipped = false
44
local Anim = "Idle"
45
local Effects = {}
46
cam = workspace.CurrentCamera
47
ZTarget = nil
48
RocketTarget = nil
49
local RbxUtility = LoadLibrary("RbxUtility")
50
local Create = RbxUtility.Create
51
local m = Create("Model"){
52
	Parent = Character,
53
	Name = "WeaponModel",
54
}
55
mouse = Player:GetMouse()
56
RSH = Torso["Right Shoulder"] 
57
LSH = Torso["Left Shoulder"]
58
RHP = Character.Torso["Right Hip"] 
59
LHP = Character.Torso["Left Hip"]  
60
61
function NoOutline(Part)
62
	Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10
63
end
64
function swait(num)
65
	if num == 0 or num == nil then
66
		game:service'RunService'.Heartbeat:wait()
67
	else
68
		for i = 0, num do
69
			game:service'RunService'.Heartbeat:wait()
70
		end
71
	end
72
end
73
	
74
function nooutline(part)
75
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
76
end
77
	
78
function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size)
79
	local fp = Create("Part"){
80
		formFactor = formfactor,
81
		Parent = parent,
82
		Reflectance = reflectance,
83
		Transparency = transparency,
84
		CanCollide = false,
85
		Locked = true,
86
		BrickColor = BrickColor.new(tostring(brickcolor)),
87
		Name = name,
88
		Size = size,
89
		Position = Character.Torso.Position,
90
		Material = material,
91
	}
92
	nooutline(fp)
93
	return fp
94
end
95
	
96
function mesh(Mesh, part, meshtype, meshid, offset, scale)
97
	local Msh = Create(Mesh){
98
		Parent = part,
99
		Offset = offset,
100
		Scale = scale,
101
	}
102
	if Mesh == "SpecialMesh" then
103
		Msh.MeshType = meshtype
104
		Msh.MeshId = meshid
105
	end
106
	return Msh
107
end
108
	
109
function weld(parent, part0, part1, c0, c1)
110
	local Weld = Create("Weld"){
111
		Parent = parent,
112
		Part0 = part0,
113
		Part1 = part1,
114
		C0 = c0,
115
		C1 = c1,
116
	}
117
	return Weld
118
end
119
	
120
	
121
local function CFrameFromTopBack(at, top, back)
122
	local right = top:Cross(back)
123
	return CFrame.new(at.x, at.y, at.z,
124
right.x, top.x, back.x,
125
right.y, top.y, back.y,
126
right.z, top.z, back.z)
127
end
128
129
function Triangle(a, b, c)
130
	local edg1 = (c - a):Dot((b - a).unit)
131
	local edg2 = (a - b):Dot((c - b).unit)
132
	local edg3 = (b - c):Dot((a - c).unit)
133
	if edg1 <= (b - a).magnitude and edg1 >= 0 then
134
		a, b, c = a, b, c
135
	elseif edg2 <= (c - b).magnitude and edg2 >= 0 then
136
		a, b, c = b, c, a
137
	elseif edg3 <= (a - c).magnitude and edg3 >= 0 then
138
		a, b, c = c, a, b
139
	else
140
		assert(false, "unreachable")
141
	end
142
 
143
	local len1 = (c - a):Dot((b - a).unit)
144
	local len2 = (b - a).magnitude - len1
145
	local width = (a + (b - a).unit * len1 - c).magnitude
146
 
147
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit)
148
 
149
	local list = {}
150
151
	local Color = BrickColor.new("Dark stone grey")
152
 
153
	if len1 > 0.01 then
154
		local w1 = Create('WedgePart', m){
155
			Material = "SmoothPlastic",
156
			FormFactor = 'Custom',
157
			BrickColor = Color,
158
			Transparency = 0,
159
			Reflectance = 0,
160
			Material = "SmoothPlastic",
161
			CanCollide = false,
162
			Anchored = true,
163
			Parent = workspace,
164
			Transparency = 0.3,
165
		}
166
		game:GetService("Debris"):AddItem(w1, 5)
167
		NoOutline(w1)
168
		local sz = Vector3.new(0.2, width, len1)
169
		w1.Size = sz
170
		local sp = Create("SpecialMesh"){
171
			Parent = w1,
172
			MeshType = "Wedge",
173
			Scale = Vector3.new(0, 1, 1) * sz / w1.Size,
174
		}
175
		w1:BreakJoints()
176
		table.insert(Effects, {
177
			w1,
178
			"Disappear",
179
			.03
180
		})
181
		w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2)
182
		table.insert(list, w1)
183
	end
184
	if len2 > 0.01 then
185
		local w2 = Create('WedgePart', m){
186
			Material = "SmoothPlastic",
187
			FormFactor = 'Custom',
188
			BrickColor = Color,
189
			Transparency = 0,
190
			Reflectance = 0,
191
			Material = "SmoothPlastic",
192
			CanCollide = false,
193
			Anchored = true,
194
			Parent = workspace,
195
			Transparency = 0.3,
196
		}
197
		game:GetService("Debris"):AddItem(w2, 5)
198
		NoOutline(w2)
199
		local sz = Vector3.new(0.2, width, len2)
200
		w2.Size = sz
201
		local sp = Create("SpecialMesh"){
202
			Parent = w2,
203
			MeshType = "Wedge",
204
			Scale = Vector3.new(0, 1, 1) * sz / w2.Size,
205
		}
206
		w2:BreakJoints()
207
		table.insert(Effects, {
208
			w2,
209
			"Disappear",
210
			.03
211
		})
212
		w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2)
213
		table.insert(list, w2)
214
	end
215
	return unpack(list)
216
end
217
	
218
function so(id, par, vol, pit) 
219
	coroutine.resume(coroutine.create(function()
220
		local sou = Instance.new("Sound", par or workspace)
221
		sou.Volume = vol
222
		sou.Pitch = pit or 1
223
		sou.SoundId = id
224
		swait() 
225
		sou:play() 
226
		swait(6) 
227
		sou:Remove() 
228
	end))
229
end
230
 
231
function clerp(a, b, t)
232
233
	local function QuaternionFromCFrame(cf)
234
		local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
235
		local trace = m00 + m11 + m22
236
		if trace > 0 then
237
			local s = math.sqrt(1 + trace)
238
			local recip = 0.5 / s
239
			return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
240
		else
241
			local i = 0
242
			if m11 > m00 then
243
				i = 1
244
			end
245
			if m22 > (i == 0 and m00 or m11) then
246
				i = 2
247
			end
248
			if i == 0 then
249
				local s = math.sqrt(m00 - m11 - m22 + 1)
250
				local recip = 0.5 / s
251
				return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
252
			elseif i == 1 then
253
				local s = math.sqrt(m11 - m22 - m00 + 1)
254
				local recip = 0.5 / s
255
				return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
256
			elseif i == 2 then
257
				local s = math.sqrt(m22 - m00 - m11 + 1)
258
				local recip = 0.5 / s
259
				return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
260
			end
261
		end
262
	end
263
         
264
	local function QuaternionToCFrame(px, py, pz, x, y, z, w)
265
		local xs, ys, zs = x + x, y + y, z + z
266
		local wx, wy, wz = w * xs, w * ys, w * zs
267
		local xx = x * xs
268
		local xy = x * ys
269
		local xz = x * zs
270
		local yy = y * ys
271
		local yz = y * zs
272
		local zz = z * zs
273
		return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
274
	end
275
         
276
	local function QuaternionSlerp(a, b, t)
277
		local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
278
		local startInterp, finishInterp;
279
		if cosTheta >= 0.0001 then
280
			if (1 - cosTheta) > 0.0001 then
281
				local theta = math.acos(cosTheta)
282
				local invSinTheta = 1 / math.sin(theta)
283
				startInterp = math.sin((1 - t) * theta) * invSinTheta
284
				finishInterp = math.sin(t * theta) * invSinTheta
285
			else
286
				startInterp = 1 - t
287
				finishInterp = t
288
			end
289
		else
290
			if (1 + cosTheta) > 0.0001 then
291
				local theta = math.acos(-cosTheta)
292
				local invSinTheta = 1 / math.sin(theta)
293
				startInterp = math.sin((t - 1) * theta) * invSinTheta
294
				finishInterp = math.sin(t * theta) * invSinTheta
295
			else
296
				startInterp = t - 1
297
				finishInterp = t
298
			end
299
		end
300
		return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
301
	end
302
303
	local qa = {
304
		QuaternionFromCFrame(a)
305
	}
306
	local qb = {
307
		QuaternionFromCFrame(b)
308
	}
309
	local ax, ay, az = a.x, a.y, a.z
310
	local bx, by, bz = b.x, b.y, b.z
311
312
	local _t = 1 - t
313
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
314
end
315
316
function rayCast(Pos, Dir, Max, Ignore)
317
	return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) 
318
end 
319
320
Damagefunc = function(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
321
	if hit.Parent == nil then
322
		return
323
	end
324
	local h = hit.Parent:FindFirstChild("Humanoid")
325
	for _, v in pairs(hit.Parent:children()) do
326
		if v:IsA("Humanoid") then
327
			h = v
328
		end
329
	end
330
	if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
331
		if hit.Parent:findFirstChild("DebounceHit") ~= nil then
332
			if hit.Parent.DebounceHit.Value == true then
333
				return
334
			end
335
		end
336
		if h.MaxHealth >= math.huge then
337
			hit:BreakJoints()
338
		end
339
		local c = Create("ObjectValue"){
340
			Name = "creator",
341
			Value = game:service("Players").LocalPlayer,
342
			Parent = h,
343
		}
344
		game:GetService("Debris"):AddItem(c, .5)
345
		if HitSound ~= nil and HitPitch ~= nil then
346
			so(HitSound, hit, 1, HitPitch) 
347
		end
348
		local Damage = math.random(minim, maxim)
349
		local blocked = false
350
		local block = hit.Parent:findFirstChild("Block")
351
		if block ~= nil then
352
			if block.className == "IntValue" then
353
				if block.Value > 0 then
354
					blocked = true
355
					block.Value = block.Value - 1
356
					print(block.Value)
357
				end
358
			end
359
		end
360
		if blocked == false then
361
			h.Health = h.Health - Damage
362
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color, Handle.BrickColor.Color)
363
		else
364
			h.Health = h.Health - (Damage / 2)
365
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color, Handle.BrickColor.Color)
366
		end
367
		if Type == "Knockdown" then
368
			local hum = hit.Parent.Humanoid
369
			hum.PlatformStand = true
370
			coroutine.resume(coroutine.create(function(HHumanoid)
371
				swait(1)
372
				HHumanoid.PlatformStand = false
373
			end), hum)
374
			local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
375
			local bodvol = Create("BodyVelocity"){
376
				velocity = angle * knockback,
377
				P = 5000,
378
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
379
				Parent = hit,
380
			}
381
			local rl = Create("BodyAngularVelocity"){
382
				P = 3000,
383
				maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
384
				angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
385
				Parent = hit,
386
			}
387
			game:GetService("Debris"):AddItem(bodvol, .5)
388
			game:GetService("Debris"):AddItem(rl, .5)
389
		elseif Type == "Normal" then
390
			local vp = Create("BodyVelocity"){
391
				P = 500,
392
				maxForce = Vector3.new(math.huge, 0, math.huge),
393
				velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
394
			}
395
			if knockback > 0 then
396
				vp.Parent = hit.Parent.Torso
397
			end
398
			game:GetService("Debris"):AddItem(vp, .5)
399
		elseif Type == "Up" then
400
			local bodyVelocity = Create("BodyVelocity"){
401
				velocity = vt(0, 20, 0),
402
				P = 5000,
403
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
404
				Parent = hit,
405
			}
406
			game:GetService("Debris"):AddItem(bodyVelocity, .5)
407
		elseif Type == "Snare" then
408
			local bp = Create("BodyPosition"){
409
				P = 2000,
410
				D = 100,
411
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
412
				position = hit.Parent.Torso.Position,
413
				Parent = hit.Parent.Torso,
414
			}
415
			game:GetService("Debris"):AddItem(bp, 1)
416
		elseif Type == "Freeze" then
417
			local BodPos = Create("BodyPosition"){
418
				P = 50000,
419
				D = 1000,
420
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
421
				position = hit.Parent.Torso.Position,
422
				Parent = hit.Parent.Torso,
423
			}
424
			local BodGy = Create("BodyGyro") {
425
				maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
426
				P = 20e+003,
427
				Parent = hit.Parent.Torso,
428
				cframe = hit.Parent.Torso.CFrame,
429
			}
430
			hit.Parent.Torso.Anchored = true
431
			coroutine.resume(coroutine.create(function(Part) 
432
				swait(1.5)
433
				Part.Anchored = false
434
			end), hit.Parent.Torso)
435
			game:GetService("Debris"):AddItem(BodPos, 3)
436
			game:GetService("Debris"):AddItem(BodGy, 3)
437
		end
438
		local debounce = Create("BoolValue"){
439
			Name = "DebounceHit",
440
			Parent = hit.Parent,
441
			Value = true,
442
		}
443
		game:GetService("Debris"):AddItem(debounce, Delay)
444
		c = Instance.new("ObjectValue")
445
		c.Name = "creator"
446
		c.Value = Player
447
		c.Parent = h
448
		game:GetService("Debris"):AddItem(c, .5)
449
	end
450
end
451
452
function ShowDamage(Pos, Text, Time, Color, Color2)
453
	local Rate = (1 / 30)
454
	local Pos = (Pos or Vector3.new(0, 0, 0))
455
	local Text = (Text or "")
456
	local Time = (Time or 2)
457
	local Color = (Color or Color3.new(1, 0, 0))
458
	local EffectPart = part("Custom", workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", vt(0, 0, 0))
459
	EffectPart.Anchored = true
460
	local BillboardGui = Create("BillboardGui"){
461
		Size = UDim2.new(3, 0, 3, 0),
462
		Adornee = EffectPart,
463
		Parent = EffectPart,
464
	}
465
	local TextLabel = Create("TextLabel"){
466
		BackgroundTransparency = 1,
467
		Size = UDim2.new(1, 0, 1, 0),
468
		Text = Text,
469
		TextColor3 = Color,
470
		TextScaled = true,
471
		Font = Enum.Font.ArialBold,
472
		FontSize = Enum.FontSize.Size10,
473
		TextStrokeColor3 = Color2,
474
		TextStrokeTransparency = 0.8,
475
		Parent = BillboardGui,
476
	}
477
	game.Debris:AddItem(EffectPart, (Time + 0.1))
478
	EffectPart.Parent = game:GetService("Workspace")
479
	delay(0, function()
480
		local Frames = (Time / Rate)
481
		for Frame = 1, Frames do
482
			wait(Rate)
483
			local Percent = (Frame / Frames)
484
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
485
			TextLabel.TextTransparency = Percent
486
		end
487
		if EffectPart and EffectPart.Parent then
488
			EffectPart:Destroy()
489
		end
490
	end)
491
end
492
493
Handle=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Handle",Vector3.new(0.280000031, 0.699999988, 0.280000001))
494
Handleweld=weld(m,Character["Right Arm"],Handle,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0860519409, -0.159469604, 1.00696373, 1, -1.72803976e-011, 1.90765604e-006, 1.90764786e-006, 4.44081707e-006, -1, 9.09494702e-012, 0.999999881, 4.44081707e-006))
495
FakeHandle=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","FakeHandle",Vector3.new(0.280000031, 0.699999988, 0.280000001))
496
FakeHandleweld=weld(m,Handle,FakeHandle,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.90734863e-006, 0.0707168579, 0.0574593544, 1, -8.18545232e-012, 2.86099269e-013, -8.18545232e-012, 1, 4.54747351e-013, 2.86099269e-013, 4.54747351e-013, 1))
497
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
498
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000375747681, -1.18781972, 0.839702606, -1, -1.02313925e-006, -2.56240446e-006, 2.56240173e-006, 1.79690323e-006, -1, 1.02317256e-006, -1, -1.79690414e-006))
499
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
500
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.200000003, 0.420000017, 0.200000003))
501
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.889633477, -0.979663849, 0.0548973083, -0.258811921, -5.54403186e-006, -0.96592772, -3.15453076e-006, 1, -4.89435752e-006, 0.96592778, 1.78029984e-006, -0.258811951))
502
mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=111896510",Vector3.new(0, 0, 0),Vector3.new(0.349999994, 0.349999994, 0.349999994))
503
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.200000003, 0.200000003, 0.280000001))
504
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.279872894, 0.209986687, -1.33514404e-005, -3.935309e-006, 1, -2.90573007e-006, 1.08481819e-008, 2.90573598e-006, 1, 1, 3.93527625e-006, -1.08583693e-008))
505
mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=3270017",Vector3.new(0, 0, 0),Vector3.new(0.519399941, 0.557200074, 1.74439991))
506
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.200000003, 0.420000017, 0.200000003))
507
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.889616966, -0.979663849, -0.0549716949, 0.258811742, -5.84206009e-006, -0.96592778, -1.50227504e-006, 1, -6.45063938e-006, 0.965927839, 3.12056136e-006, 0.258811772))
508
mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=111896510",Vector3.new(0, 0, 0),Vector3.new(0.349999994, 0.349999994, 0.349999994))
509
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000046, 0.280000061, 0.560000002))
510
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.419868469, 7.62939453e-006, 2.7179718e-005, 3.83001225e-006, -1, 2.54809993e-006, 1, 3.82997496e-006, 3.03872399e-010, -3.12454534e-010, 2.54810584e-006, 1))
511
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
512
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000031, 0.700000048, 0.280000001))
513
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.14440918e-005, 0.552843094, 0.296955109, 1, -2.22826202e-011, 1.80189787e-011, -7.95807864e-013, 0.707115233, -0.707098365, -1.73940862e-011, 0.707098365, 0.707115233))
514
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000046, 0.28700006, 0.280000031))
515
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.41986084, 0.00234603882, 2.14576721e-005, 3.74060505e-006, -1, 2.30967612e-006, 1, 3.74057413e-006, -7.42010826e-008, 7.41938067e-008, 2.30968203e-006, 1))
516
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
517
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.287, 0.560000062, 0.200000003))
518
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00273132324, 0.622810364, 0.296985626, 1, -2.22826202e-011, 1.80189787e-011, -7.95807864e-013, 0.707115233, -0.707098365, -1.73940862e-011, 0.707098365, 0.707115233))
519
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
520
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000046, 0.280000061, 0.420000017))
521
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.839817047, -1.90734863e-005, -0.489821672, 3.8300077e-006, -1, 2.53319945e-006, 1, 3.82997496e-006, 3.04327147e-010, -3.12426113e-010, 2.53320582e-006, 1))
522
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
523
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000046, 0.28700006, 0.280000031))
524
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.839794159, 0.00254631042, -0.49509263, 3.8300077e-006, -1, 2.53319945e-006, 1, 3.82997496e-006, 3.04327147e-010, -3.12426113e-010, 2.53320582e-006, 1))
525
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
526
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000031, 0.420000046, 0.980000079))
527
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.90734863e-006, -0.559818268, 0.0699512959, 1, -2.04636308e-011, 7.38572398e-013, -1.63709046e-011, 1, 2.6823227e-007, 7.82044568e-013, -2.68225904e-007, 1))
528
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.280000001))
529
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.279872894, 0.209986687, -1.33514404e-005, -3.935309e-006, 1, -2.90573007e-006, 1.08481819e-008, 2.90573598e-006, 1, 1, 3.93527625e-006, -1.08583693e-008))
530
mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=3270017",Vector3.new(0, 0, 0),Vector3.new(0.491399914, 0.557200074, 1.74439991))
531
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000031, 0.200000003, 0.560000062))
532
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-2.0980835e-005, -0.419818878, 0.839810848, 1, -2.13731255e-011, -1.65118821e-011, -1.54614099e-011, 1, 2.62222466e-006, 1.80325338e-011, -2.62221829e-006, 1))
533
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
534
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000017, 0.420000017, 0.560000002))
535
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559810638, -0.769824028, -3.43322754e-005, 1.45437184e-007, -1, -1.29630371e-006, -2.08639904e-007, 1.29629734e-006, -1, 1, 1.45400691e-007, -2.08638184e-007))
536
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
537
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000061, 0.280000061, 0.280000031))
538
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.209846497, -3.81469727e-006, 0.559957266, 1.49184416e-008, -1, -6.10877123e-007, 1, 1.48816071e-008, 2.96593194e-010, -2.95063474e-010, -6.10870757e-007, 1))
539
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
540
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.287, 0.840000033, 0.200000003))
541
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00215530396, -0.0698623657, 0.000190734863, 1, -2.22826202e-011, 1.80189787e-011, -1.43245416e-011, 1, 2.69661223e-006, -1.68107646e-011, -2.69660586e-006, 1))
542
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
543
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.287, 0.200000003, 0.560000002))
544
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0021572113, -0.559833527, -0.0698022842, 1, -5.50244295e-011, 1.91965506e-011, -4.70663508e-011, 1, 2.69661314e-006, -1.56331059e-011, -2.69659495e-006, 1))
545
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
546
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.287, 0.427000016, 0.200000003))
547
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000122070313, -0.560840607, 0.27643466, 1, -2.22826202e-011, 1.80189787e-011, -1.43245416e-011, 1, 8.19589786e-007, -1.68107889e-011, -8.1958342e-007, 1))
548
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
549
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000017, 0.420000017, 0.280000031))
550
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.55978775, -2.44724131, -0.000165939331, 1.45490276e-007, -1, -2.49798723e-005, -2.08999595e-007, 2.49798668e-005, -1, 1, 1.45458671e-007, -2.08994436e-007))
551
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
552
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000017, 0.280000001, 0.560000062))
553
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.559822083, 0, -0.419999123, 5.95878191e-008, 1, 1.94764652e-007, -1, 5.9624881e-008, 3.44258311e-008, 3.44273339e-008, -1.94758286e-007, 1))
554
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
555
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000031, 0.200000003, 0.200000003))
556
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0, 0.279838562, 0.21000886, 1, 4.46839294e-008, 1.44186561e-006, 4.47196271e-008, -1, 7.78919912e-007, 1.44186413e-006, -7.78926278e-007, -1))
557
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 0.699999988))
558
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000017, 0.560000002, 0.420000017))
559
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559791565, -0.55984664, 3.81469727e-005, 1.4543707e-007, -1, -5.08004541e-006, -2.08696321e-007, 5.08003723e-006, -1, 1, 1.45401373e-007, -2.08694047e-007))
560
mesh("SpecialMesh",Part,Enum.MeshType.Sphere,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
561
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000031, 0.200000003, 0.200000003))
562
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(5.91278076e-005, 0.279800415, 1.04951167, -1, -2.53198436e-007, 1.49545034e-008, 2.53235044e-007, -1, -7.584179e-006, 1.49579638e-008, -7.58417036e-006, 1))
563
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 0.699999988))
564
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000017, 0.560000062, 0.200000003))
565
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559768677, -2.37841272, -0.000438690186, 1.45475724e-007, -1, -2.01288749e-005, -2.08974669e-007, 2.01288676e-005, -1, 1, 1.45443096e-007, -2.08970206e-007))
566
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
567
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000017, 0.280000001, 0.420000017))
568
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.55979538, -0.979748011, 7.62939453e-006, 1.45442073e-007, -1, -6.30070645e-006, -2.08722611e-007, 6.30070008e-006, -1, 1, 1.45406489e-007, -2.08720166e-007))
569
mesh("SpecialMesh",Part,Enum.MeshType.Sphere,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
570
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000031, 0.200000003, 0.560000002))
571
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.90734863e-006, -0.27980423, 0.699883938, 1, -2.04636308e-011, 1.10889423e-012, -1.63709046e-011, 1, 2.11572933e-006, 4.11753964e-013, -2.11572296e-006, 1))
572
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
573
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000031, 0.200000003, 0.560000062))
574
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-3.24249268e-005, -0.699771881, 0.839804649, 1, -2.13731255e-011, -1.66693187e-011, -1.54614099e-011, 1, 4.23093024e-006, 1.81899929e-011, -4.23092433e-006, 1))
575
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
576
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000031, 0.200000003, 0.200000003))
577
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-4.76837158e-005, -0.559803009, 1.0495255, 1, -1.56887836e-011, 3.45319641e-011, -2.09183781e-011, 1, 5.48155458e-006, -3.30136751e-011, -5.48154867e-006, 1))
578
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 0.699999988))
579
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
580
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000427246094, -2.58794498, 0.839736938, -1, -1.49499328e-008, -2.52553122e-007, 2.52551388e-007, 1.52605935e-005, -1, 1.49906327e-008, -1, -1.52605971e-005))
581
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
582
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
583
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.83972168, -2.44782782, -0.000438690186, 1.45468562e-007, -1, -2.04852658e-005, -2.09350546e-007, 2.04852604e-005, -1, 1, 1.45436047e-007, -2.09346027e-007))
584
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
585
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
586
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000421524048, 2.30780578, 0.83972168, 1, 5.67174197e-007, 2.54727388e-006, -2.54726456e-006, -1.37063362e-005, 1, 5.67245934e-007, -1, -1.37063407e-005))
587
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
588
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
589
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00043296814, 2.30763364, -0.27973938, -1, 1.49386779e-008, 2.53097255e-007, 2.53098563e-007, -1.32949481e-005, 1, 1.49050265e-008, 1, 1.32949544e-005))
590
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
591
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
592
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.279750824, 2.44781303, -0.000444412231, 1.45382273e-007, 1, 2.08481797e-005, -2.08853876e-007, -2.08481761e-005, 1, 1, -1.45423428e-007, 2.08852413e-007))
593
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
594
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
595
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00043296814, -2.58781743, -0.279773712, 1, -5.67145435e-007, -2.54751899e-006, -2.54751376e-006, 1.19385704e-005, -1, 5.67138841e-007, 1, 1.19385777e-005))
596
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 0.699999988, 0.699999988))
597
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.231000006, 0.200000003, 0.280000031))
598
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.560119629, -2.59035707, -0.000175476074, 3.96057294e-006, -1, -2.42740825e-005, -2.09122135e-007, 2.42740789e-005, -1, 1, 3.96054475e-006, -2.09025103e-007))
599
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
600
Barrel=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Barrel",Vector3.new(0.200000003, 0.200000003, 0.280000031))
601
Barrelweld=weld(m,FakeHandle,Barrel,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.562404633, -2.59142828, -0.000175476074, 3.96057203e-006, -1, -2.4095265e-005, -2.09117701e-007, 2.40952577e-005, -1, 1, 3.96054384e-006, -2.09021465e-007))
602
mesh("CylinderMesh",Barrel,"","",Vector3.new(0, 0, 0),Vector3.new(0.945000052, 0.699999988, 1))
603
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000017, 0.200000003, 0.280000031))
604
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559753418, -1.60731864, -0.000179290771, 1.45490958e-007, -1, -2.51584643e-005, -2.09002877e-007, 2.51584588e-005, -1, 1, 1.45459353e-007, -2.0899769e-007))
605
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
606
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000017, 0.200000003, 0.280000031))
607
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559776306, -2.16727662, -0.000164031982, 1.45485501e-007, -1, -2.33735591e-005, -2.08965247e-007, 2.33735518e-005, -1, 1, 1.45453555e-007, -2.08960316e-007))
608
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
609
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000017, 0.420000046, 0.280000031))
610
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559776306, -1.88730073, -0.000165939331, 1.45485956e-007, -1, -2.35518892e-005, -2.08967805e-007, 2.35518837e-005, -1, 1, 1.4545401e-007, -2.08962845e-007))
611
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
612
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000017, 0.280000061, 0.280000031))
613
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559753418, -1.39711809, -0.000173568726, 1.45514491e-007, -1, -2.24795003e-005, -2.08946716e-007, 2.24794821e-005, -1, 1, 1.45416834e-007, -2.08939554e-007))
614
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
615
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000017, 0.420000046, 0.200000003))
616
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559764862, -1.88847375, -0.000436782837, 1.45466288e-007, -1, -1.8521725e-005, -2.08988865e-007, 1.85217195e-005, -1, 1, 1.45433319e-007, -2.08984645e-007))
617
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
618
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000017, 0.560000062, 0.200000003))
619
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559757233, -1.39839482, -0.000442504883, 1.45464355e-007, -1, -1.69149826e-005, -2.08905689e-007, 1.69149753e-005, -1, 1, 1.45431045e-007, -2.08901696e-007))
620
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.699999988))
621
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000046, 0.287, 0.420000017))
622
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559772491, 0.00134277344, -0.0700860023, -7.44953468e-008, -1, -4.73725959e-006, 1, -7.45317266e-008, -7.42083941e-008, 7.42095523e-008, -4.73725368e-006, 1))
623
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
624
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.420000046, 0.287, 0.280000031))
625
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.559783936, 0.00134277344, -0.420075655, -7.44639692e-008, -1, -5.6308827e-006, 1, -7.45658326e-008, -7.42004715e-008, 7.42039248e-008, -5.63086405e-006, 1))
626
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
627
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.420000017, 0.280000001, 0.560000062))
628
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.5598526, 1.52587891e-005, 1.11974049, 5.9590775e-008, 1, 2.51883012e-006, -1, 5.96276095e-008, 3.44174609e-008, 3.441885e-008, -2.51882193e-006, 1))
629
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
630
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0.5,0,"New Yeller","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
631
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00018119812, -0.844371796, 0.276464224, 1, -2.20552465e-011, 1.82033399e-011, -1.47792889e-011, 1, 1.78784603e-006, -1.66827021e-011, -1.78783966e-006, 1))
632
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.735000134, 0.699999988, 0.699999988))
633
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.280000001, 0.200000003, 0.280000091))
634
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.769760132, 0.000406265259, -0.279969931, 5.95582605e-008, 1, 2.26564134e-006, -1, 5.96603513e-008, 3.44175426e-008, 3.44209745e-008, -2.26562315e-006, 1))
635
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.699999988, 1))
636
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.700000048, 0.200000003))
637
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.839698792, -0.0692727566, -0.000392913818, 1.45439344e-007, -1, -9.2651635e-006, -2.0875224e-007, 9.26515713e-006, -1, 1, 1.45404442e-007, -2.0874937e-007))
638
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 1, 0.699999988))
639
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Institutional white","Part",Vector3.new(0.200000003, 0.699999988, 0.200000003))
640
Partweld=weld(m,FakeHandle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.839668274, -0.768940926, -0.000394821167, 1.45451168e-007, -1, -1.17661502e-005, -2.08743202e-007, 1.17661421e-005, -1, 1, 1.45416834e-007, -2.08739948e-007))
641
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.699999988, 1, 0.699999988))
642
643
Handleweld.Part0 = LeftLeg 
644
Handleweld.C0 = angles(-2, 0, 0) * cf(-.5, 1.3, 1) 
645
646
local PE1 = Create("ParticleEmitter"){
647
Parent = Barrel,
648
Color = ColorSequence.new(BrickColor.new("New Yeller").Color),
649
Transparency = NumberSequence.new(0),
650
Size = NumberSequence.new(.5),
651
Texture = "rbxassetid://257430870",
652
Lifetime = NumberRange.new(.1),
653
Rate = 100,
654
VelocitySpread = 180,
655
Rotation = NumberRange.new(0),
656
Speed = NumberRange.new(0),
657
LightEmission = .6,
658
LockedToPart = true,
659
Enabled = false
660
}
661
662
local PE2 = PE1:Clone()
663
PE2.Size = NumberSequence.new(.7)
664
PE2.LightEmission = 1
665
PE2.Texture = "rbxassetid://87729590"
666
667
local Lite = Create("PointLight"){
668
	Parent = Barrel,
669
	Color = BrickColor.new("New Yeller").Color,
670
	Shadows = true,
671
	Range = 10,
672
	Brightness = 0.5,
673
	Enabled = false
674
}
675
676
function Equip()
677
	attack = true
678
	equipped = true
679
	RSH.Parent = nil 
680
	LSH.Parent = nil 
681
682
	RHP.Parent = nil 
683
	LHP.Parent = nil 
684
685
	RW = Create("Weld"){
686
		Name = "Right Shoulder",
687
		Part0 = Torso ,
688
		C0 = cf(1.5, 0.5, 0),
689
		C1 = cf(0, 0.5, 0), 
690
		Part1 = RightArm ,
691
		Parent = Torso ,
692
	}
693
694
	LW = Create("Weld"){
695
		Name = "Left Shoulder",
696
		Part0 = Torso ,
697
		C0 = cf(-1.5, 0.5, 0),
698
		C1 = cf(0, 0.5, 0) ,
699
		Part1 = LeftArm ,
700
		Parent = Torso ,
701
	}
702
703
	RH = Create("Weld"){
704
		Part0 = Torso, 
705
		C0 = cf(0, -1.5, 0), --* euler(1.3, 0, -0.5) 
706
		C1 = cf(-0.5, 0.5, 0) ,
707
		Part1 = Character["Right Leg"], 
708
		Parent = Torso,
709
	}
710
711
	LH = Create("Weld"){
712
		Part0 = Torso, 
713
		C0 = cf(0, -1.5, 0), --* euler(1.3, 0, -0.5) 
714
		C1 = cf(0.5, 0.5, 0) ,
715
		Part1 = Character["Left Leg"], 
716
		Parent = Torso,
717
	}
718
719
	for i = 0, 1, 0.1 do
720
		swait()
721
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
722
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(30), math.rad(0), math.rad(30)), .3)
723
		RW.C0 = clerp(RW.C0, CFrame.new(0, 0.2, -.5) * angles(math.rad(20), math.rad(0), math.rad(-50)), 0.3)
724
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-5), math.rad(0), math.rad(-10)), 0.3)
725
		RH.C0 = clerp(RH.C0, cf(0.03, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(2)), .3)
726
		LH.C0 = clerp(LH.C0, cf(-0.03, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-2)), .3)
727
	end
728
	Handleweld.Part0 = RightArm
729
	Handleweld.C0 = euler(0, 0, 0) * cf(0, 0, 0) 
730
	attack = false
731
end
732
733
function Unequip()
734
	equipped = false
735
	attack = true
736
	for i = 0, 1, 0.1 do
737
		swait()
738
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
739
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(30), math.rad(0), math.rad(30)), .3)
740
		RW.C0 = clerp(RW.C0, CFrame.new(.5, 0.2, -.7) * angles(math.rad(20), math.rad(0), math.rad(-50)), 0.3)
741
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
742
		RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(5)), .3)
743
		LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
744
		FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) *euler(6*i,0,0), .5)
745
	end
746
	FakeHandleweld.C0 = angles(0, 0, 0) * cf(0, 0, 0)
747
	Handleweld.Part0 = LeftLeg 
748
	Handleweld.C0 = angles(-2, 0, 0) * cf(-.5, 1.3, 1) 
749
	RW.Parent = nil 
750
	LW.Parent = nil 
751
	RH.Parent = nil 
752
	LH.Parent = nil 
753
	RSH.Parent = Torso
754
	LSH.Parent = Torso
755
	RHP.Parent = Torso
756
	LHP.Parent = Torso
757
	Torso.Neck.C0 = necko
758
	RootJoint.C0 = RootCF
759
	RW.C0 = cf(1.5, 0.5, 0) * euler(0, 0, 0)
760
	RW.C1 = cf(0, 0.5, 0) * euler(0, 0, 0)
761
	LW.C0 = cf(-1.5, 0.5, 0) * euler(0, 0, 0)
762
	LW.C1 = cf(0, 0.5, 0) * euler(0, 0, 0)
763
	attack = false
764
end
765
766
function CylinderEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
767
	local prt = part(3, Character, "Neon", 0, 0, brickcolor, "Effect", vt(0.2, 0.2, 0.2))
768
	prt.Anchored = true
769
	prt.CFrame = cframe
770
	local msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
771
	game:GetService("Debris"):AddItem(prt, 5)
772
	Effects[#Effects + 1] = {
773
		prt,
774
		"Cylinder",
775
		delay,
776
		x3,
777
		y3,
778
		z3
779
	} --part, type, delay
780
end
781
782
function MagnitudeDamage(Hit, Part, magni, mindam, maxdam, knock, Type)
783
	for _, c in pairs(workspace:children()) do
784
		local hum = c:findFirstChild("Humanoid")
785
		if hum ~= nil then
786
			local head = c:findFirstChild("Torso")
787
			if head ~= nil then
788
				local targ = head.Position - Part.Position
789
				local mag = targ.magnitude
790
				if mag <= magni and c.Name ~= Player.Name then 
791
					Damagefunc(Hit, head, mindam, maxdam, knock, Type, RootPart, 0, "rbxassetid://199149186", 1)
792
				end
793
			end
794
		end
795
	end
796
end
797
798
RailgunTarget = RootPart
799
function Laser(asd)
800
local MouseLook=cf((asd.Position+mouse.Hit.p)/2,mouse.Hit.p)
801
local hit,pos = rayCast(asd.Position,MouseLook.lookVector,999,RailgunTarget.Parent)
802
local mag=(asd.Position-pos).magnitude 
803
CylinderEffect(BrickColor.new("New Yeller"),CFrame.new((asd.Position+pos)/2,pos)*angles(1.57,0,0),1,mag*5,1,1.2,0,1.2,0.1)
804
CylinderEffect(BrickColor.new("Institutional white"),CFrame.new((asd.Position+pos)/2,pos)*angles(1.57,0,0),1,mag*5,.5,1,0,.5,0.1)
805
if hit~=nil then
806
local ref=part(3,workspace,"SmoothPlastic",0,1,BrickColor.new("New Yeller"),"Reference",vt())
807
ref.Anchored=true
808
ref.CFrame=cf(pos)
809
game:GetService("Debris"):AddItem(ref,1)
810
Damagefunc(ref,hit,20,90,0,"Normal",RootPart,0)
811
end
812
end
813
814
RocketTarget = RootPart
815
function Shoot(asd, spread1, spread2)
816
	local MainPos = asd.Position
817
	local MainPos2 = mouse.Hit.p
818
	local spread = vt((math.random(-spread1, 0) + math.random()) * spread2, (math.random(-spread1, 0) + math.random()) * spread2, (math.random(-spread1, 0) + math.random()) * spread2) * (asd.Position - mouse.Hit.p).magnitude / 100
819
	local MouseLook = cf((MainPos + MainPos2) / 2, MainPos2 + spread)
820
	num = 30
821
	coroutine.resume(coroutine.create(function(Spreaded) 
822
		repeat
823
			wait()
824
			local hit, pos = rayCast(MainPos, MouseLook.lookVector, 10, RocketTarget.Parent)
825
			local TheHit = mouse.Hit.p
826
			local mag = (MainPos - pos).magnitude 
827
			CylinderEffect(BrickColor.new("New Yeller"), CFrame.new((MainPos + pos) / 2, pos) * angles(1.57, 0, 0), 3, mag * 5, 3, .5, 0, 1.5, 0.1)
828
			MainPos = MainPos + (MouseLook.lookVector * 10)
829
			num = num - 1
830
			if hit ~= nil then
831
				num = 0
832
				local ref = part(3, workspace, "Neon", 0, 1, BrickColor.new("New Yeller"), "Reference", vt())
833
				ref.Anchored = true
834
				ref.CFrame = cf(pos)
835
				MagnitudeDamage(ref, hit, 5, 10, 20, 1, "Normal")
836
				game:GetService("Debris"):AddItem(ref, 5) 
837
			end
838
		until num <= 0
839
	end))
840
end
841
842
function ChargeEffect(part, x1, y1, z1, x2, y2, z2, x3, y3, z3, color) 
843
	local S = Create("Part"){
844
	Material = "SmoothPlastic",
845
	Name = "Effect",
846
	formFactor = 0,
847
	Size = vt(x1, y1, z1),
848
	BrickColor = color,
849
	Reflectance = 0,
850
	TopSurface = 0,
851
	BottomSurface = 0,
852
	Transparency = 0,
853
	Anchored = false,
854
	CanCollide = false,
855
	Material = "Neon",
856
	CFrame = part.CFrame * cf(x2, y2, z2) * euler(x3, y3, z3),
857
	Parent = m,
858
	}
859
	local msh1 = Create("SpecialMesh"){
860
	Scale = vt(0.5, 0.5, 0.5) ,
861
	MeshType = "Sphere", 
862
	Parent = S,
863
	}
864
	coroutine.resume(coroutine.create(function(Part, CF) 
865
		local f = Instance.new("BodyPosition")
866
		f.P = 800
867
		f.D = 100
868
		f.maxForce = vt(math.huge, math.huge, math.huge)
869
		f.position = part.Position
870
		f.Parent = Part
871
		for i = 0, 1, 0.1 do
872
			wait()
873
			Part.Transparency = Part.Transparency + 0.1
874
		end
875
		Part.Parent = nil
876
	end), S, S.CFrame)
877
end 
878
879
local lasrs = {} 
880
local lasrspd = 3 
881
local maxTravelDistance = 500 
882
local maxRebounds = 20 
883
884
function RAY(pos, dir, collidedlist, startpos, endpos, distleft) 
885
	collidedlist = collidedlist or {Character} 
886
	startpos = startpos or pos 
887
	distleft = distleft or dir.unit * dir.magnitude 
888
	endpos = endpos or pos + distleft 
889
	local ray = Ray.new(pos, distleft) 
890
	local hitz,enz = workspace:FindPartOnRayWithIgnoreList(ray, collidedlist) 
891
	if hitz ~= nil and not hitz.Parent:findFirstChild("Humanoid") then 
892
		if hitz.CanCollide == false then 
893
			table.insert(collidedlist, hitz) 
894
			local newpos = enz 
895
			local newdistleft = distleft - (dir.unit * (pos - newpos).magnitude) 
896
			if newdistleft then 
897
				return RAY(newpos-(dir*0.01), dir, collidedlist, startpos, endpos, newdistleft+(dir*0.01)) 
898
			end 
899
		end 
900
	end 
901
	return hitz, enz, ray 
902
end 
903
904
function FindSurface(part, position) 
905
	local obj = part.CFrame:pointToObjectSpace(position) 
906
	local siz = part.Size/2 
907
	so("rbxassetid://199144144", workspace, 1, .9)
908
	for i,v in pairs(Enum.NormalId:GetEnumItems()) do 
909
		local vec = Vector3.FromNormalId(v) 
910
		local wvec = part.CFrame:vectorToWorldSpace(vec) 
911
		local vz = (obj)/(siz*vec) 
912
		if (math.abs(vz.X-1) < 0.001 or math.abs(vz.Y-1) < 0.001 or math.abs(vz.Z-1) < 0.001) then
913
			return wvec,vec 
914
		end 
915
	end 
916
	if part.className == "WedgePart" then 
917
		local pos = (part.CFrame * CFrame.new(0,part.Size.y/2,part.Size.z/2)).p 
918
		local apos = (part.CFrame * CFrame.Angles(-math.atan2(part.CFrame:pointToObjectSpace(pos).y,part.CFrame:pointToObjectSpace(pos).z),0,0) * CFrame.new(0,1,0)).p 
919
		local wvec,vec = (apos - part.Position).unit, part.CFrame:pointToObjectSpace(apos) 
920
		return wvec,vec 
921
	elseif part.className == "Part" and (part.Shape.Name == "Ball" or part.Shape.Name == "Cylinder") then 
922
		return (position - part.Position).unit, part.CFrame:vectorToObjectSpace((position - part.Position).unit) 
923
	end 
924
end 
925
926
function Reflect(direction, normal) 
927
	return direction - 2 * normal:Dot(direction) * normal 
928
end 
929
930
function ReflectShot(mouse) 
931
	local dir = (mouse.Hit.p - Torso.Position).unit 
932
	local tabl 
933
	local tablnum = 0 
934
	for i, v in pairs(lasrs) do 
935
		if not v[1] then 
936
			tabl = v 
937
			tablnum = i 
938
			break 
939
		end 
940
	end 
941
	if not tabl then 
942
		tablnum = #lasrs + 1 
943
		tabl = {false,nil,nil,0,0,1,{},{},{},{}} 
944
		for i = 1, 2 do 
945
			for j = 1, 6 do 
946
				local p = Instance.new("Part") 
947
				p.FormFactor = "Custom" 
948
				p.CanCollide = false 
949
				p.Anchored = true 
950
				p.Locked = true 
951
				p.BrickColor = BrickColor.new("New Yeller") 
952
				p.TopSurface = 10 
953
				p.BottomSurface = 10 
954
				p.RightSurface = 10 
955
				p.LeftSurface = 10 
956
				p.FrontSurface = 10 
957
				p.BackSurface = 10 
958
				p.Size = Vector3.new(1,1,1) 
959
				p.Material = "Neon"
960
				p.Transparency = i == 1 and 0 or 0.6 
961
				p.Touched:connect(function(hit)
962
		        hit.Parent.Humanoid:TakeDamage(30)
963
		        end)
964
				local mesh = Instance.new("CylinderMesh",p) 
965
				table.insert(tabl[6+i],p) 
966
				table.insert(tabl[8+i],mesh) 
967
			end 
968
		end 
969
		table.insert(lasrs,tabl) 
970
	end 
971
	-- isMoving,direction,lastPosition,rebounds,distance,recycleCount,middleLayer,outerLayer
972
	tabl[4],tabl[5] = 0,0 
973
	tabl[3] = Barrel.Position 
974
	tabl[2] = dir 
975
	tabl[1] = true 
976
977
end 
978
979
local MultiShoot = false
980
local gun = false
981
local shoot = false
982
local Obliterate = false
983
local LaserMode = false
984
function Aim()
985
	attack = true
986
	gun = true
987
	for i = 0, 1, 0.2 do
988
		swait()
989
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
990
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-90)), .5)
991
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.5)
992
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.5)
993
		RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
994
		LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
995
	end
996
	RootJoint.C0 = RootCF * cf(0, 0, 0) * euler(0, 0, 1.57)
997
	RW.C0 = cf(1.5, 0.5, 0) * euler(1.57, 0, 1.57)
998
	local gairo = Create("BodyGyro"){
999
	Parent = RootPart,
1000
	maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
1001
	P = 20e+003 ,
1002
	cframe = RootPart.CFrame,
1003
	}
1004
	local offset = nil
1005
	while gun == true do
1006
		swait()
1007
		local gunpos = vt(mouse.Hit.p.x, Head.Position.Y, mouse.Hit.p.z)
1008
		offset = (Torso.Position.y - mouse.Hit.p.y) / 60
1009
		local mag = (Torso.Position - mouse.Hit.p).magnitude / 80
1010
		offset = offset / mag 
1011
		gairo.cframe = cf(Head.Position, gunpos)
1012
		Neck.C0 = clerp(Neck.C0, necko * euler(0, 0, -1.57), .3)
1013
		RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(offset, 0, 0), .5)
1014
	end
1015
	if shoot == true then
1016
		gairo.Parent = nil
1017
		PE1.Enabled,PE2.Enabled = true,true
1018
		Lite.Enabled = true
1019
		for i = 0, 1, 0.1 do
1020
			swait()
1021
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .3)
1022
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(5), math.rad(-90)), .3)
1023
			RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(50), math.rad(90)), 0.3)
1024
			LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.3)
1025
			RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
1026
			LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
1027
			FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .3)
1028
		end
1029
		Lite.Enabled = false
1030
		PE1.Enabled,PE2.Enabled = false,false
1031
	elseif MultiShoot == true then
1032
		gairo.Parent = nil
1033
		for i = 1,5 do
1034
		so("rbxassetid://199144089", Barrel, 1, 1.1)
1035
		Shoot(Barrel, .2, 1)
1036
		PE1.Enabled,PE2.Enabled = true,true
1037
		Lite.Enabled = true
1038
		for i = 0,1,1 do
1039
			swait()
1040
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
1041
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(2), math.rad(-90)), .5)
1042
			RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(50), math.rad(90)), 0.5)
1043
			LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.5)
1044
			RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
1045
			LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
1046
			FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .3)
1047
		end
1048
		PE1.Enabled,PE2.Enabled = false,false
1049
		Lite.Enabled = false
1050
		for i = 0,1,1 do
1051
			swait()
1052
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
1053
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-90)), .5)
1054
			RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.5)
1055
			LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.5)
1056
			RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
1057
			LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
1058
			FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
1059
		end
1060
       end
1061
	elseif LaserMode == true then
1062
		gairo.Parent = nil
1063
		so("rbxassetid://161006157", Barrel, 1, .9)
1064
		so("rbxassetid://161006131", Barrel, 1, 1.2)
1065
		for i = 1, 30 do
1066
			swait()
1067
			ChargeEffect(Barrel, 2, 2, 2, math.random(-10, 10), math.random(-10, 10), math.random(-10, 10), 0, 0, 0, BrickColor.new("New Yeller")) 
1068
		end
1069
		so("rbxassetid://199144089", Barrel, 1, .8)
1070
		so("rbxassetid://199144089", Barrel, 1, .5)
1071
		Laser(Barrel)
1072
		PE1.Enabled,PE2.Enabled = true,true
1073
		Lite.Enabled = true
1074
		for i = 0, 1, 0.1 do
1075
			swait()
1076
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .3)
1077
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(5), math.rad(-90)), .3)
1078
			RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(50), math.rad(90)), 0.3)
1079
			LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.3)
1080
			RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
1081
			LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
1082
			FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .3)
1083
		end
1084
		PE1.Enabled,PE2.Enabled = false,false
1085
		Lite.Enabled = false
1086
	elseif Obliterate == true then
1087
		gairo.Parent = nil
1088
		so("rbxassetid://161006157", Barrel, 1, .7)
1089
		so("rbxassetid://161006131", Barrel, 1, 1)
1090
		for i = 1, 60 do
1091
			swait()
1092
			ChargeEffect(Barrel, 2, 2, 2, math.random(-10, 10), math.random(-10, 10), math.random(-10, 10), 0, 0, 0, BrickColor.new("New Yeller")) 
1093
		end
1094
		for i = 1, 5 do
1095
			so("rbxassetid://199144089", Barrel, 1, .8)
1096
			for i = 1, 5 do
1097
				Shoot(Barrel, 1, 3)
1098
			end
1099
			PE1.Enabled,PE2.Enabled = true,true
1100
		    Lite.Enabled = true
1101
			for i = 0, 1, 0.2 do
1102
				swait()
1103
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
1104
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(5), math.rad(-90)), .5)
1105
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.8, 0) * angles(math.rad(90), math.rad(50), math.rad(90)), 0.5)
1106
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-40)), 0.5)
1107
				RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
1108
				LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
1109
				FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(30), math.rad(0), math.rad(0)), .3)
1110
			end
1111
		PE1.Enabled,PE2.Enabled = false,false
1112
		Lite.Enabled = false
1113
			for i = 0, 1, 0.2 do
1114
				swait()
1115
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .3)
1116
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-90)), .3)
1117
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.3)
1118
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.3)
1119
				RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
1120
				LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
1121
				FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
1122
			end
1123
		end
1124
		
1125
			for i = 0, 1, 0.1 do
1126
				swait()
1127
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), .3)
1128
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(5), math.rad(-5), math.rad(-55)), .3)
1129
				RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, -.5) * angles(math.rad(0), math.rad(130), math.rad(80)), 0.3)
1130
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.3)
1131
				RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
1132
				LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
1133
				FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .3)
1134
			end
1135
		so("rbxassetid://161006157", Barrel, 1, .9)
1136
		so("rbxassetid://161006131", Barrel, 1, 1.2)
1137
		for i = 1, 30 do
1138
			swait()
1139
			ChargeEffect(Barrel, 2, 2, 2, math.random(-10, 10), math.random(-10, 10), math.random(-10, 10), 0, 0, 0, BrickColor.new("New Yeller")) 
1140
		end
1141
			for i = 0, 1, 0.05 do
1142
				swait()
1143
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .3)
1144
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(1), math.rad(-85)), .3)
1145
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.3)
1146
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.3)
1147
				RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .3)
1148
				LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .3)
1149
				FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(0)), .3)
1150
			end
1151
		so("rbxassetid://199144089", Barrel, 1, .8)
1152
		so("rbxassetid://199144089", Barrel, 1, .9)
1153
		so("rbxassetid://199144089", Barrel, 1, .6)
1154
			for i = 1, 20 do
1155
				Shoot(Barrel, 1.5, 5)
1156
			end
1157
			PE1.Enabled,PE2.Enabled = true,true
1158
		    Lite.Enabled = true
1159
			for i = 0, 1, 0.05 do
1160
				swait()
1161
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), .5)
1162
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(10), math.rad(-90)), .5)
1163
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.8, 0) * angles(math.rad(0), math.rad(50), math.rad(120)), 0.5)
1164
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.5)
1165
				RH.C0 = clerp(RH.C0, cf(0.05, -1.5, 0) * angles(math.rad(5), math.rad(0), math.rad(5)), .5)
1166
				LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-5)), .5)
1167
			end
1168
			PE1.Enabled,PE2.Enabled = false,false
1169
		    Lite.Enabled = false
1170
	end
1171
	gairo.Parent = nil
1172
	shoot = false
1173
	attack = false
1174
end
1175
1176
mouse.Button1Down:connect(function()
1177
	if gun == true then
1178
		shoot = true
1179
		so("rbxassetid://199144089", Barrel, 1, 1)
1180
		Shoot(Barrel, 0, 0)
1181
		gun = false
1182
	end
1183
end)
1184
1185
1186
1187
mouse.KeyDown:connect(function(k)
1188
	k = k:lower()
1189
	if attack == false and equipped == false and k == 'e' then
1190
		Equip()
1191
	elseif attack == false and equipped == true and k == 'e' then
1192
		Unequip()
1193
	elseif attack == false and equipped == true and k == 'f' then
1194
		Aim()
1195
	elseif equipped == true and k == 'f' then
1196
		shoot = false
1197
	elseif equipped == true and gun == true and k == 'q' then
1198
		shoot = true
1199
		so("rbxassetid://199144089", Barrel, 1, .8)
1200
		for i = 1, 5 do
1201
			Shoot(Barrel, 1, 3)
1202
			gun = false
1203
		end
1204
	elseif equipped == true and gun == true and k == 'e' then
1205
		MultiShoot = true
1206
		gun = false
1207
	elseif equipped == true and gun == true and k == 'r' then
1208
		MultiShoot = false
1209
		LaserMode = true
1210
		gun = false
1211
	elseif equipped == true and attack == true and gun == true and k == 't' then
1212
		MultiShoot = false
1213
		Obliterate = true
1214
		LaserMode = false
1215
		gun = false
1216
	elseif equipped == true and attack == true and gun == true and k == 'g' then
1217
		shoot = true
1218
		ReflectShot(mouse)
1219
		so("rbxassetid://199144089", Barrel, 1, .8)
1220
		so("rbxassetid://199144089", Barrel, 1, .5)
1221
		gun = false
1222
	end
1223
end)
1224
1225
game:GetService("RunService").Stepped:connect(function() 
1226
	for _, lasr in pairs(lasrs) do 
1227
		for i, v in pairs(lasr[9]) do 
1228
			if lasr[7][i].Parent then 
1229
				v.Scale = v.Scale + Vector3.new(-0.1,0,-0.1) 
1230
				lasr[10][i].Scale = lasr[10][i].Scale + Vector3.new(-0.1,0,-0.1) 
1231
				if v.Scale.x < 0.1 then 
1232
					lasr[7][i].Parent = nil 
1233
					lasr[8][i].Parent = nil 
1234
				end 
1235
			end 
1236
		end 
1237
1238
		if lasr[1] then 
1239
			local hitz, enz = RAY(lasr[3],lasr[2]*lasrspd) 
1240
			lasr[5] = lasr[5] + (lasr[3] - enz).magnitude 
1241
1242
			lasr[7][lasr[6]].Parent = m 
1243
			lasr[7][lasr[6]].CFrame = CFrame.new((lasr[3] + enz)/2,enz) * CFrame.Angles(math.pi/2,0,0) 
1244
			lasr[9][lasr[6]].Scale = Vector3.new(0.7,(lasr[3] - enz).magnitude*5,0.7) 
1245
1246
			lasr[8][lasr[6]].Parent = m 
1247
			lasr[8][lasr[6]].CFrame = lasr[7][lasr[6]].CFrame 
1248
			lasr[10][lasr[6]].Scale = Vector3.new(1.3,(lasr[3] - enz).magnitude*5 + 0.02,1.3) 
1249
1250
			lasr[3] = enz 
1251
			lasr[6] = lasr[6]%#lasr[7] + 1 
1252
1253
			if hitz then 
1254
				lasr[4] = lasr[4] + 1 
1255
				if lasr[4] == maxRebounds then 
1256
					lasr[1] = false 
1257
				else 
1258
					local norm = FindSurface(hitz,enz) 
1259
					lasr[2] = Reflect(lasr[2],norm) 
1260
				end 
1261
			end 
1262
			if lasr[5] > maxTravelDistance then 
1263
				lasr[1] = false 
1264
			end 
1265
		end 
1266
	end 
1267
end)
1268
1269
local sine = 0
1270
local change = 1
1271
local val = 0
1272
local idle = 0
1273
local donum = 0
1274
1275
while true do
1276
	swait()
1277
	sine = sine + change
1278
	mouse.Icon = "http://www.roblox.com/asset/?id=296383647"
1279
	local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude 
1280
	local velderp = RootPart.Velocity.y
1281
	hitfloor, posfloor = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
1282
	if equipped == true then
1283
		if attack == false then
1284
			idle = idle + 1
1285
		else
1286
			idle = 0
1287
		end
1288
		if idle >= 500 then
1289
			if attack == false then
1290
			end
1291
		end
1292
		if donum >= .5 then
1293
			handidle = true
1294
		elseif donum <= 0 then
1295
			handidle = false
1296
		end
1297
		if handidle == false then
1298
			donum = donum + 0.003
1299
		else
1300
			donum = donum - 0.003
1301
		end
1302
		if RootPart.Velocity.y > 1 and hitfloor == nil then 
1303
			Anim = "Jump"
1304
			if attack == false then
1305
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
1306
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3)
1307
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(30)), 0.3)
1308
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.3)
1309
				RH.C0 = clerp(RH.C0, cf(.05, -1.5, .5) * angles(math.rad(-20), math.rad(0), math.rad(5)), .3)
1310
				LH.C0 = clerp(LH.C0, cf(-.05, -1.5, .5) * angles(math.rad(-20), math.rad(0), math.rad(-5)), .3)
1311
				FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
1312
				RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(0, 0, 0), .3)
1313
			end
1314
		elseif RootPart.Velocity.y < -1 and hitfloor == nil then 
1315
			Anim = "Fall"
1316
			if attack == false then
1317
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
1318
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(0)), .3)
1319
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(40)), 0.3)
1320
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-30)), 0.3)
1321
				RH.C0 = clerp(RH.C0, cf(0.05, -1.5, -.2) * angles(math.rad(10), math.rad(0), math.rad(5)), .3)
1322
				LH.C0 = clerp(LH.C0, cf(-0.05, -1.5, -.2) * angles(math.rad(10), math.rad(0), math.rad(-5)), .3)
1323
				FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
1324
				RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(0, 0, 0), .3)
1325
			end
1326
		elseif torvel < 1 and hitfloor ~= nil then
1327
			Anim = "Idle"
1328
			if attack == false then
1329
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(5) + donum / 3, math.rad(0), math.rad(30)), .3)
1330
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(.5) - donum / 3, math.rad(.5) + donum / 3, math.rad(-30)), .3)
1331
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(50), math.rad(0), math.rad(5) + donum / 2), 0.3)
1332
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-5) + donum / 2, math.rad(0), math.rad(-10)), 0.3)
1333
				RH.C0 = clerp(RH.C0, cf(.2, -1.5, -.5) * angles(math.rad(5) + donum / 2, math.rad(-30), math.rad(5) + donum / 5), .3)
1334
				LH.C0 = clerp(LH.C0, cf(0, -1.5 - donum / 3.5, 0) * angles(math.rad(5) + donum / 3, math.rad(-10), math.rad(0)), .3)
1335
				FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
1336
				RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(0, 0, 0), .3)
1337
			end
1338
		elseif torvel > 2 and hitfloor ~= nil then
1339
			Anim = "Walk"
1340
			if attack == false then
1341
				change = 3
1342
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(20) + donum / 2, math.rad(0), math.rad(0)), .3)
1343
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-10) - donum / 2, math.rad(0), math.rad(0)), .3)
1344
				RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-50) + donum / 2, math.rad(0), math.rad(5) + donum / 2), 0.3)
1345
				LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20) + donum / 2, math.rad(0), math.rad(-5) - donum / 2), 0.3)
1346
                LH.C0 = clerp(LH.C0, CFrame.new(0, -1.5-0.3*math.cos(sine/10)/2, -.05 + math.sin(sine/10)/2) * CFrame.Angles(math.rad(3) + -math.sin(sine/10)/2.3, math.rad(0), math.rad(-3)), .4)
1347
                RH.C0 = clerp(RH.C0, CFrame.new(0, -1.5+0.3*math.cos(sine/10)/2, -.05 + -math.sin(sine/10)/2) * CFrame.Angles(math.rad(3) + math.sin(sine/10)/2.3, math.rad(0), math.rad(3)), .4)
1348
				FakeHandleweld.C0 = clerp(FakeHandleweld.C0, cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
1349
				RW.C1 = clerp(RW.C1, cf(0, 0.5, 0) * euler(0, 0, 0), .3)
1350
			end
1351
		end
1352
	end
1353
	if #Effects > 0 then
1354
		for e = 1, #Effects do
1355
			if Effects[e] ~= nil then
1356
				local Thing = Effects[e]
1357
				if Thing ~= nil then
1358
					local Part = Thing[1]
1359
					local Mode = Thing[2]
1360
					local Delay = Thing[3]
1361
					local IncX = Thing[4]
1362
					local IncY = Thing[5]
1363
					local IncZ = Thing[6]
1364
					if Thing[1].Transparency <= 1 then
1365
						if Thing[2] == "Block1" then
1366
							Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1367
							Mesh = Thing[1].Mesh
1368
							Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1369
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1370
						elseif Thing[2] == "Cylinder" then
1371
							Mesh = Thing[1].Mesh
1372
							Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1373
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1374
						elseif Thing[2] == "Blood" then
1375
							Mesh = Thing[7]
1376
							Thing[1].CFrame = Thing[1].CFrame * cf(0, .5, 0)
1377
							Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
1378
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1379
						elseif Thing[2] == "Elec" then
1380
							Mesh = Thing[1].Mesh
1381
							Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9])
1382
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1383
						elseif Thing[2] == "Disappear" then
1384
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1385
						end
1386
					else
1387
						Part.Parent = nil
1388
						table.remove(Effects, e)
1389
					end
1390
				end
1391
			end
1392
		end
1393
	end
1394
end