Advertisement
Hermaxs

TF2 Engineer

Feb 26th, 2019
2,056
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 97.38 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  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
  6.  
  7.  
  8.  
  9.  
  10. --[[
  11. Tf2 Engineer Class
  12. --------------------
  13. Script by: 123jl123
  14. ---------------------
  15. Sentry by: Madiik
  16. -- ]]
  17.  
  18.  
  19. local plr = game:service'Players'.LocalPlayer
  20. local char = plr.Character
  21. local mouse = plr:GetMouse()
  22. local humanoid = char:findFirstChild("Humanoid")
  23. local torso = char:findFirstChild("Torso")
  24. local head = char.Head
  25. local ra = char:findFirstChild("Right Arm")
  26. local la = char:findFirstChild("Left Arm")
  27. local rl = char:findFirstChild("Right Leg")
  28. local ll = char:findFirstChild("Left Leg")
  29. local rs = torso:findFirstChild("Right Shoulder")
  30. local ls = torso:findFirstChild("Left Shoulder")
  31. local rh = torso:findFirstChild("Right Hip")
  32. local lh = torso:findFirstChild("Left Hip")
  33. local neck = torso:findFirstChild("Neck")
  34. local rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
  35. local rootpart = char:findFirstChild("HumanoidRootPart")
  36. local camera = workspace.CurrentCamera
  37. local anim = char:findFirstChild("Animate")
  38. DA = false
  39. NoSentry = true
  40. maincolor = game.Players.LocalPlayer.Character.Torso.BrickColor.Name
  41. secondcolor = "Really black"
  42. WSHM = {'10209908','10209905','10209905','10209908'}
  43. WSH = WSHM[math.random(1,#WSHM)]
  44. wait(1 / 60)
  45. Effects = { }
  46. local Player = game.Players.localPlayer
  47. local Character = Player.Character
  48. local Humanoid = Character.Humanoid
  49. local mouse = Player:GetMouse()
  50. local LeftArm = Character["Left Arm"]
  51. local RightArm = Character["Right Arm"]
  52. local LeftLeg = Character["Left Leg"]
  53. local RightLeg = Character["Right Leg"]
  54. local Head = Character.Head
  55. local Torso = Character.Torso
  56. local cam = game.Workspace.CurrentCamera
  57. local RootPart = Character.HumanoidRootPart
  58. local RootJoint = RootPart.RootJoint
  59. local equipped = false
  60. local attack = false
  61. local Anim = 'Idle'
  62. local idle = 0
  63. local attacktype = 1
  64. local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  65. local velocity = RootPart.Velocity.y
  66. local sine = 0
  67. local change = 1
  68. local grabbed = false
  69. local cn = CFrame.new
  70. local mr = math.rad
  71. local angles = CFrame.Angles
  72. local ud = UDim2.new
  73. local c3 = Color3.new
  74. local slashDamage = 15
  75. trans = 1
  76. for i,v in pairs(char:GetChildren()) do if v:IsA("Accessory") then v:Remove() end end
  77. for i,v in pairs(char:GetChildren()) do if v:IsA("Hat") then v:Remove() end end
  78. Wep = 1
  79. equippedgun2 = false
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90. --SB Plasma Shotgun 2013
  91.  
  92. --madiik's plasma shottie
  93.  
  94. --variables
  95.  
  96.  
  97.  
  98. --some more variables
  99.  
  100. local spread = 1
  101. -- end of some more variables
  102.  
  103. local sound = Instance.new("Sound",head)
  104. sound.SoundId = "http://www.roblox.com/asset?id=10209842"
  105. sound.Volume = 2
  106. sound.Pitch = 1
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. local sound2 = Instance.new("Sound",head)
  115. sound2.SoundId = "http://www.roblox.com/asset?id=10209881"
  116. sound2.Volume = 1
  117. sound2.Pitch = 1
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125. function attach(weld, part0, part1)
  126. weld.Part0 = part0
  127. weld.Part1 = part1
  128. end
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138. --create func
  139. function part(parent, size, color, formfactor, collide, transparency)
  140. if transparency == nil then transparency = 0 end
  141. if collide == nil then collide = false end
  142. if formfactor == nil then formfactor = Enum.FormFactor.Custom end
  143. local p=Instance.new("Part", parent)
  144. p.FormFactor=formfactor
  145. p.CanCollide=false
  146. p.Size=size
  147. p.Locked=true
  148. p.Transparency=transparency
  149. p.Position=torso.Position
  150. p.BrickColor=color
  151. p.FrontSurface="SmoothNoOutlines"
  152. p.BackSurface="SmoothNoOutlines"
  153. p.LeftSurface="SmoothNoOutlines"
  154. p.BottomSurface="SmoothNoOutlines"
  155. p.TopSurface="SmoothNoOutlines"
  156. p.RightSurface="SmoothNoOutlines"
  157. return p
  158. end
  159. function wedge(parent, size, color, formfactor, collide, transparency)
  160.  
  161. if transparency == nil then transparency = 0 end
  162. if collide == nil then collide = false end
  163. if formfactor == nil then formfactor = Enum.FormFactor.Custom end
  164.  
  165. local p=Instance.new("WedgePart", parent)
  166. p.FormFactor=formfactor
  167. p.CanCollide=false
  168. p.Size=size
  169. p.Locked=true
  170. p.Position = torso.Position
  171. p.BrickColor=color
  172. p.FrontSurface="SmoothNoOutlines"
  173. p.BackSurface="SmoothNoOutlines"
  174. p.LeftSurface="SmoothNoOutlines"
  175. p.BottomSurface="SmoothNoOutlines"
  176. p.TopSurface="SmoothNoOutlines"
  177. p.RightSurface="SmoothNoOutlines"
  178. return p
  179. end
  180. function weld(part0, part1, c0, parent, c1)
  181. if parent == nil then parent = gun end
  182. if c1 == nil then c1 = CFrame.new() end
  183.  
  184. local wel=Instance.new("Weld", parent)
  185. wel.Part0 = part0
  186. wel.Part1 = part1
  187. wel.C0 = c0
  188. wel.C1 = c1
  189. return wel
  190. end
  191. function specialmesh(parent, meshType, scale, meshId)
  192. local mesh = Instance.new("SpecialMesh", parent)
  193. mesh.Scale = scale
  194. mesh.MeshType = meshType
  195. mesh.MeshId = meshId
  196. return mesh
  197. end
  198.  
  199.  
  200. --some ray functi0n
  201.  
  202. function rayCast2(speed, gravity, from)
  203. coroutine.wrap(function()
  204. if char.Humanoid.Health == 0 then return end
  205. local rayP = Instance.new("Part")
  206. rayP.Name = "rayP"
  207. rayP.BrickColor = BrickColor.new("New Yeller")
  208. rayP.Material = 'Neon'
  209. rayP.Anchored = true
  210. rayP.CanCollide = false
  211. rayP.Locked = true
  212. rayP.TopSurface = Enum.SurfaceType.Smooth
  213. rayP.BottomSurface = Enum.SurfaceType.Smooth
  214. rayP.formFactor = Enum.FormFactor.Custom
  215. rayP.Size = Vector3.new(0.2, 0.2, 0.2)
  216.  
  217.  
  218.  
  219. Instance.new("BlockMesh", rayP).Scale = Vector3.new(0.2, 0.2, 10)
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228. local bulletposition = from.Position + Vector3.new(0, 0.3, 0)
  229.  
  230. local bulletvelocity = (Vector3.new(math.random(-spread*4,spread*4), math.random(-spread*4,spread*4), math.random(-spread*4,spread*4)))+( plr:GetMouse().Hit.p - bulletposition).unit*speed
  231. local bulletlastposition = bulletposition
  232.  
  233.  
  234.  
  235.  
  236. coroutine.resume(coroutine.create(function()
  237. while true do
  238. local dt = wait()
  239. bulletlastposition = bulletposition
  240. bulletvelocity = bulletvelocity + (Vector3.new(0, -14.81*gravity, 0)*dt)
  241. bulletposition = bulletposition + (bulletvelocity*dt)
  242.  
  243. local ray = Ray.new(bulletlastposition, (bulletposition - bulletlastposition))
  244.  
  245. local hit, hitposition = workspace:FindPartOnRayWithIgnoreList( ray, { char, rayP, TrailPart} )
  246.  
  247. if (torso.Position - rayP.Position).magnitude > 540 then
  248. rayP:Destroy()
  249. break
  250. end
  251.  
  252.  
  253. if hit then
  254. local damage = math.random(10, 20)
  255. if hit.Parent:findFirstChild("Humanoid") ~= nil then
  256. hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - damage
  257. end
  258. if hit.Parent:IsA("Hat") and hit.Parent.Parent:findFirstChild("Humanoid") ~= nil then
  259. hit.Parent.Parent.Humanoid.Health = hit.Parent.Parent.Humanoid.Health - damage
  260. end
  261. bulletposition = hitposition
  262. rayP.CFrame = CFrame.new(bulletposition, bulletposition+bulletvelocity)
  263. rayP:Destroy()
  264. break
  265. end
  266. rayP.CFrame = CFrame.new(bulletposition, bulletposition+bulletvelocity)
  267. rayP.Parent = workspace
  268. end
  269. end))
  270. end)()
  271. end
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279. --function attach(weld, part0, part1)
  280. --weld.Part0 = part0
  281. --weld.Part1 = part1
  282. --end
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310. TmRed = false
  311. TmBlue = false
  312. TeamColor = BrickColor.new("Really Black")
  313.  
  314. local BC = char["Body Colors"]
  315. BC.HeadColor = BrickColor.new("Pastel brown")
  316. BC.LeftArmColor = BrickColor.new("Pastel brown")
  317. BC.LeftLegColor = BrickColor.new("Pastel brown")
  318. BC.RightArmColor = BrickColor.new("Pastel brown")
  319. BC.RightLegColor = BrickColor.new("Pastel brown")
  320. BC.TorsoColor = BrickColor.new("Pastel brown")
  321.  
  322.  
  323. New = function(Object, Parent, Name, Data)
  324. local Object = Instance.new(Object)
  325. for Index, Value in pairs(Data or {}) do
  326. Object[Index] = Value
  327. end
  328. Object.Parent = Parent
  329. Object.Name = Name
  330. return Object
  331. end
  332. local AddInstance = function(Object, ...)
  333. local Obj = Instance.new(Object)
  334. for i,v in next,(...) do
  335. Obj[i] = v
  336. end
  337. return Obj
  338. end
  339.  
  340.  
  341.  
  342.  
  343.  
  344. Team=function()
  345.  
  346. local r=math.random(1,2)
  347. if r==1 then
  348. print('RED')
  349. script.Name = "TeamRed"
  350. TmRed = true
  351. for i,v in pairs(char:GetChildren()) do if v:IsA("Shirt") then v:Remove() end end
  352. for i,v in pairs(char:GetChildren()) do if v:IsA("Pants") then v:Remove() end end
  353. wait()shirt = Instance.new("Shirt", char)
  354. shirt.Name = "Shirt"
  355. pants = Instance.new("Pants", char)
  356. pants.Name = "Pants"
  357. char.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=69232230"
  358. char.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=69232580"
  359. TeamColor = BrickColor.new("Bright red")
  360. end
  361.  
  362. if r==2 then
  363. print('BLUE')
  364. TmBlue = true
  365. script.Name = "TeamBlue"
  366. for i,v in pairs(char:GetChildren()) do if v:IsA("Shirt") then v:Remove() end end
  367. for i,v in pairs(char:GetChildren()) do if v:IsA("Pants") then v:Remove() end end
  368. wait()shirt = Instance.new("Shirt", char)
  369. shirt.Name = "Shirt"
  370. pants = Instance.new("Pants", char)
  371. pants.Name = "Pants"
  372. char.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=69232247"
  373. char.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=69232594"
  374. TeamColor = BrickColor.new("Bright blue")
  375. end
  376. print(''..r)
  377. end
  378.  
  379. Team()
  380.  
  381.  
  382.  
  383. local MusThingHat = AddInstance("Part",{
  384. Parent = head,
  385. CFrame = head.CFrame,
  386. formFactor = "Symmetric",
  387. Size = Vector3.new(1, 1, 1),
  388. CanCollide = false,
  389. TopSurface = "Smooth",
  390. BottomSurface = "Smooth",
  391. Locked = true,
  392. BrickColor=BrickColor.new("Br. yellowish orange"),
  393. Transparency = 1,
  394. })
  395. local Weld = AddInstance("Weld",{
  396. Parent = MusThingHat,
  397. Part0 = head,
  398. C0 = CFrame.new(0,0.5,0)*CFrame.Angles(0,0,0),
  399. Part1 = MusThingHat,
  400. })
  401. local Mesh = AddInstance("SpecialMesh",{
  402. Parent = MusThingHat,
  403.  
  404. Scale = Vector3.new(.1,0,.1),
  405.  
  406. })
  407.  
  408. local Reaper = AddInstance("Part",{
  409. Parent = head,
  410. CFrame = head.CFrame,
  411. formFactor = "Symmetric",
  412. Size = Vector3.new(1, 1, 1),
  413. CanCollide = false,
  414. TopSurface = "Smooth",
  415. BottomSurface = "Smooth",
  416. Locked = true,
  417. BrickColor=BrickColor.new("Br. yellowish orange"),
  418. })
  419. local Weld = AddInstance("Weld",{
  420. Parent = Reaper,
  421. Part0 = head,
  422. C0 = CFrame.new(-.04,.7,-.1)*CFrame.Angles(0,0,.08),
  423. Part1 = Reaper,
  424. })
  425. local Mesh = AddInstance("SpecialMesh",{
  426. Parent = Reaper,
  427. MeshId = "rbxassetid://1073659",
  428. Scale = Vector3.new(1.06,1.05,1.06),
  429. VertexColor = Vector3.new(1,1,1),
  430. })
  431.  
  432. local Helmpart2 = AddInstance("Part",{
  433. Parent = head,
  434. CFrame = head.CFrame,
  435. formFactor = "Symmetric",
  436. Size = Vector3.new(1, 1, 1),
  437. CanCollide = false,
  438. TopSurface = "Smooth",
  439. BottomSurface = "Smooth",
  440. Locked = true,
  441. BrickColor=BrickColor.new("White"),
  442. })
  443. local Weld = AddInstance("Weld",{
  444. Parent = Helmpart2,
  445. Part0 = head,
  446. C0 = CFrame.new(.01,.4,.05)*CFrame.Angles(.1,0,-.02),
  447. Part1 = Helmpart2,
  448. })
  449. local Mesh = AddInstance("SpecialMesh",{
  450. Parent = Helmpart2,
  451. Scale = Vector3.new(1.28,.48,1.28),
  452. VertexColor = Vector3.new(1,1,1),
  453. })
  454.  
  455.  
  456. local Glassespart2 = AddInstance("Part",{
  457. Parent = head,
  458. CFrame = head.CFrame,
  459. formFactor = "Symmetric",
  460. Size = Vector3.new(1, 1, 1),
  461. CanCollide = false,
  462. TopSurface = "Smooth",
  463. BottomSurface = "Smooth",
  464. Locked = true,
  465. BrickColor=BrickColor.new("Really black"),
  466. })
  467. local Weld = AddInstance("Weld",{
  468. Parent = Glassespart2,
  469. Part0 = head,
  470. C0 = CFrame.new(0,.35,0)*CFrame.Angles(0,0,0),
  471. Part1 = Glassespart2,
  472. })
  473. local Mesh = AddInstance("SpecialMesh",{
  474. Parent = Glassespart2,
  475. Scale = Vector3.new(1.27,.5,1.27),
  476. VertexColor = Vector3.new(1,1,1),
  477. })
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486. local Reaper3 = AddInstance("Part",{
  487. Parent = head,
  488. CFrame = head.CFrame,
  489. formFactor = "Symmetric",
  490. Size = Vector3.new(1, 1, 1),
  491. CanCollide = false,
  492. TopSurface = "Smooth",
  493. BottomSurface = "Smooth",
  494. Locked = true,
  495. BrickColor=BrickColor.new("Gold"),
  496. })
  497. local Weld = AddInstance("Weld",{
  498. Parent = Reaper3,
  499. Part0 = head,
  500. C0 = CFrame.new(0,.3,-0.02)*CFrame.Angles(-.1,0,0),
  501. Part1 = Reaper3,
  502. })
  503. local Mesh = AddInstance("SpecialMesh",{
  504. Parent = Reaper3,
  505. MeshId = "rbxassetid://19380122",
  506. TextureId = "rbxassetid://19380117",
  507. Scale = Vector3.new(.9,1,1),
  508. VertexColor = Vector3.new(1,1,1),
  509. })
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517. local Reaper4 = AddInstance("Part",{
  518. Parent = RightArm,
  519. CFrame = RightArm.CFrame,
  520. formFactor = "Symmetric",
  521. Size = Vector3.new(0.1, 0.5, 3),
  522. CanCollide = false,
  523. TopSurface = "Smooth",
  524. BottomSurface = "Smooth",
  525. Locked = true,
  526. Transparency = 0
  527. })
  528. local Weld = AddInstance("Weld",{
  529. Parent = Reaper4,
  530. Part0 = RightArm,
  531. C0 = CFrame.new(-0.35,-1.8,-0.4)*CFrame.Angles(4.7,3.4,0),
  532. Part1 = Reaper4,
  533. })
  534. local Mesh = AddInstance("SpecialMesh",{
  535. Parent = Reaper4,
  536. MeshId = "rbxassetid://470533002",
  537. TextureId = "rbxassetid://470533004",
  538. Scale = Vector3.new(.03,.03,.03),
  539. VertexColor = Vector3.new(1,1,1),
  540. })
  541.  
  542. local GunFire = AddInstance("Part",{
  543. Parent = RightArm,
  544. CFrame = RightArm.CFrame,
  545. formFactor = "Symmetric",
  546. Size = Vector3.new(0.1, 0.1, 0.1),
  547. CanCollide = false,
  548. TopSurface = "Smooth",
  549. BottomSurface = "Smooth",
  550. Locked = true,
  551. Transparency = 1
  552. })
  553. local Weld = AddInstance("Weld",{
  554. Parent = GunFire,
  555. Part0 = RightArm,
  556. C0 = CFrame.new(-0.8,-3.5,-0.7)*CFrame.Angles(4.7,3.4,0),
  557. Part1 = GunFire,
  558. })
  559.  
  560.  
  561. local GunParticle = Instance.new("ParticleEmitter", GunFire);
  562. GunParticle.VelocitySpread = 60;
  563. GunParticle.LightEmission = 200;
  564.  
  565. local Colors2 = {Color3.new(1,.5,0), Color3.new(1,.7,0), Color3.new(1,.9,0);}
  566. GunParticle.Size = NumberSequence.new(.05,.07);
  567.  
  568. GunParticle.Color = ColorSequence.new(Colors2[math.random(#Colors2)]);
  569. GunParticle.Texture = "rbxassetid://252350680";
  570. GunParticle.RotSpeed = NumberRange.new(10,70);
  571. GunParticle.Rate = 600;
  572. GunParticle.Speed = NumberRange.new(15);
  573. GunParticle.Transparency = NumberSequence.new(0,1);
  574. GunParticle.Lifetime = NumberRange.new(.01,.2);
  575. GunParticle.EmissionDirection = 'Back'
  576. GunParticle.Enabled = false
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585. local Reaper5 = AddInstance("Part",{
  586. Parent = RightArm,
  587. CFrame = RightArm.CFrame,
  588. formFactor = "Symmetric",
  589. Size = Vector3.new(0.1, 0.5, 3),
  590. CanCollide = false,
  591. TopSurface = "Smooth",
  592. BottomSurface = "Smooth",
  593. Locked = true,
  594. Transparency = 1
  595. })
  596. local Weld = AddInstance("Weld",{
  597. Parent = Reaper5,
  598. Part0 = RightArm,
  599. C0 = CFrame.new(-.1,-0.75,-.7)*CFrame.Angles(1.5,0,3),
  600. Part1 = Reaper5,
  601. })
  602. local Mesh = AddInstance("SpecialMesh",{
  603. Parent = Reaper5,
  604. MeshId = "rbxassetid://431003868",
  605. TextureId = "rbxassetid://430627740",
  606. Scale = Vector3.new(1.93,1.99,1.99),
  607. VertexColor = Vector3.new(1,1,1),
  608. })
  609.  
  610.  
  611.  
  612. local Arms = AddInstance("Model",{
  613. Parent = cam,
  614. Name = "Arms",
  615.  
  616.  
  617. })
  618.  
  619. local Arm1 = AddInstance("Part",{
  620. Parent = Arms,
  621. Name = "RightArm",
  622. CFrame = RightArm.CFrame,
  623. formFactor = "Symmetric",
  624. Size = Vector3.new(.85,1.85,.85),
  625. CanCollide = false,
  626. Material = "SmoothPlastic",
  627. TopSurface = "Smooth",
  628. BottomSurface = "Smooth",
  629. Locked = true,
  630. BrickColor=BrickColor.new("Pastel brown"),
  631. Transparency = 0
  632. })
  633. local Weld = AddInstance("Weld",{
  634. Parent = Arm1,
  635. Part0 = RightArm,
  636. C0 = CFrame.new(0,0,0)*CFrame.Angles(0,0,0),
  637. Part1 = Arm1,
  638. })
  639.  
  640. local Arm2 = AddInstance("Part",{
  641. Parent = Arms,
  642. Name = "LeftArm",
  643. CFrame = LeftArm.CFrame,
  644. formFactor = "Symmetric",
  645. Size = Vector3.new(.85,1.85,.85),
  646. CanCollide = false,
  647. Material = "SmoothPlastic",
  648. TopSurface = "Smooth",
  649. BottomSurface = "Smooth",
  650. Locked = true,
  651. BrickColor=BrickColor.new("Pastel brown"),
  652. Transparency = 0
  653. })
  654. local Weld = AddInstance("Weld",{
  655. Parent = Arm2,
  656. Part0 = LeftArm,
  657. C0 = CFrame.new(0,0,0)*CFrame.Angles(0,0,0),
  658. Part1 = Arm2,
  659. })
  660.  
  661.  
  662.  
  663.  
  664. local Arm3 = AddInstance("Part",{
  665. Parent = Arms,
  666. Name = "RightArm",
  667. CFrame = RightArm.CFrame,
  668. formFactor = "Symmetric",
  669. Size = Vector3.new(.9,.9,.9),
  670. CanCollide = false,
  671. Material = "SmoothPlastic",
  672. TopSurface = "Smooth",
  673. BottomSurface = "Smooth",
  674. Locked = true,
  675. BrickColor=TeamColor,
  676. Transparency = 0
  677. })
  678. local Weld = AddInstance("Weld",{
  679. Parent = Arm3,
  680. Part0 = RightArm,
  681. C0 = CFrame.new(0,.5,0)*CFrame.Angles(0,0,0),
  682. Part1 = Arm3,
  683. })
  684.  
  685. local Arm4 = AddInstance("Part",{
  686. Parent = Arms,
  687. Name = "LeftArm",
  688. CFrame = LeftArm.CFrame,
  689. formFactor = "Symmetric",
  690. Size = Vector3.new(.9,.9,.9),
  691. CanCollide = false,
  692. Material = "SmoothPlastic",
  693. TopSurface = "Smooth",
  694. BottomSurface = "Smooth",
  695. Locked = true,
  696. BrickColor=TeamColor,
  697. Transparency = 0
  698. })
  699. local Weld = AddInstance("Weld",{
  700. Parent = Arm4,
  701. Part0 = LeftArm,
  702. C0 = CFrame.new(0,.5,0)*CFrame.Angles(0,0,0),
  703. Part1 = Arm4,
  704. })
  705. local Arm5 = AddInstance("Part",{
  706. Parent = Arms,
  707. Name = "RightArm",
  708. CFrame = RightArm.CFrame,
  709. formFactor = "Symmetric",
  710. Size = Vector3.new(.86,.8,.86),
  711. CanCollide = false,
  712. Material = "SmoothPlastic",
  713. TopSurface = "Smooth",
  714. BottomSurface = "Smooth",
  715. Locked = true,
  716. BrickColor=BrickColor.new("Br. yellowish orange"),
  717. Transparency = 0
  718. })
  719. local Weld = AddInstance("Weld",{
  720. Parent = Arm5,
  721. Part0 = RightArm,
  722. C0 = CFrame.new(0,-.55,0)*CFrame.Angles(0,0,0),
  723. Part1 = Arm5,
  724. })
  725.  
  726. local Reaper6 = AddInstance("Part",{
  727. Parent = Arms,
  728. CFrame = RightArm.CFrame,
  729. formFactor = "Symmetric",
  730. Size = Vector3.new(0.1, 0.1, .1),
  731. CanCollide = false,
  732. TopSurface = "Smooth",
  733. BottomSurface = "Smooth",
  734. Locked = true,
  735. Transparency = 1
  736. })
  737. local Weld = AddInstance("Weld",{
  738. Parent = Reaper6,
  739. Part0 = RightArm,
  740. C0 = CFrame.new(-0.35,-1.8,-0.4)*CFrame.Angles(4.7,3.4,0),
  741. Part1 = Reaper6,
  742. })
  743. local Mesh = AddInstance("SpecialMesh",{
  744. Parent = Reaper6,
  745. MeshId = "rbxassetid://470533002",
  746. TextureId = "rbxassetid://470533004",
  747. Scale = Vector3.new(.029,.029,.029),
  748. VertexColor = Vector3.new(1,1,1),
  749. })
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763. local Reaper7 = AddInstance("Part",{
  764. Parent = Arms,
  765. CFrame = RightArm.CFrame,
  766. formFactor = "Symmetric",
  767. Size = Vector3.new(0.1, 0.5, 3),
  768. CanCollide = false,
  769. TopSurface = "Smooth",
  770. BottomSurface = "Smooth",
  771. Locked = true,
  772. Transparency = 1
  773. })
  774. local Weld = AddInstance("Weld",{
  775. Parent = Reaper7,
  776. Part0 = RightArm,
  777. C0 = CFrame.new(-.1,-0.75,-.7)*CFrame.Angles(1.5,0,3),
  778. Part1 = Reaper7,
  779. })
  780. local Mesh = AddInstance("SpecialMesh",{
  781. Parent = Reaper7,
  782. MeshId = "rbxassetid://431003868",
  783. TextureId = "rbxassetid://430627740",
  784. Scale = Vector3.new(1.9,1.98,1.98),
  785. VertexColor = Vector3.new(1,1,1),
  786. })
  787.  
  788.  
  789. head.face.Texture = "http://www.roblox.com/asset/?id=156600391"
  790. local NeckCF = cn(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  791. Humanoid.Animator:Destroy()
  792. Character.Animate:Destroy()
  793.  
  794. local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
  795. local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
  796. local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
  797.  
  798.  
  799. RSH, LSH = nil, nil
  800.  
  801. RW = Instance.new("Weld")
  802. LW = Instance.new("Weld")
  803.  
  804. RH = Torso["Right Hip"]
  805. LH = Torso["Left Hip"]
  806.  
  807. RSH = Torso["Right Shoulder"]
  808. LSH = Torso["Left Shoulder"]
  809.  
  810. RSH.Parent = nil
  811. LSH.Parent = nil
  812.  
  813. RW.Name = "RW"
  814. RW.Part0 = Torso
  815. RW.C0 = cn(1.5, 0.5, 0)
  816. RW.C1 = cn(0, 0.5, 0)
  817. RW.Part1 = RightArm
  818. RW.Parent = Torso
  819.  
  820. LW.Name = "LW"
  821. LW.Part0 = Torso
  822. LW.C0 = cn(-1.5, 0.5, 0)
  823. LW.C1 = cn(0, 0.5, 0)
  824. LW.Part1 = LeftArm
  825. LW.Parent = Torso
  826.  
  827. function clerp(a, b, t)
  828. local qa = {
  829. QuaternionFromCFrame(a)
  830. }
  831. local qb = {
  832. QuaternionFromCFrame(b)
  833. }
  834. local ax, ay, az = a.x, a.y, a.z
  835. local bx, by, bz = b.x, b.y, b.z
  836. local _t = 1 - t
  837. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  838. end
  839.  
  840. function QuaternionFromCFrame(cf)
  841. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  842. local trace = m00 + m11 + m22
  843. if trace > 0 then
  844. local s = math.sqrt(1 + trace)
  845. local recip = 0.5 / s
  846. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  847. else
  848. local i = 0
  849. if m11 > m00 then
  850. i = 1
  851. end
  852. if m22 > (i == 0 and m00 or m11) then
  853. i = 2
  854. end
  855. if i == 0 then
  856. local s = math.sqrt(m00 - m11 - m22 + 1)
  857. local recip = 0.5 / s
  858. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  859. elseif i == 1 then
  860. local s = math.sqrt(m11 - m22 - m00 + 1)
  861. local recip = 0.5 / s
  862. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  863. elseif i == 2 then
  864. local s = math.sqrt(m22 - m00 - m11 + 1)
  865. local recip = 0.5 / s
  866. return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  867. end
  868. end
  869. end
  870.  
  871. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  872. local xs, ys, zs = x + x, y + y, z + z
  873. local wx, wy, wz = w * xs, w * ys, w * zs
  874. local xx = x * xs
  875. local xy = x * ys
  876. local xz = x * zs
  877. local yy = y * ys
  878. local yz = y * zs
  879. local zz = z * zs
  880. 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))
  881. end
  882.  
  883. function QuaternionSlerp(a, b, t)
  884. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  885. local startInterp, finishInterp;
  886. if cosTheta >= 0.0001 then
  887. if (1 - cosTheta) > 0.0001 then
  888. local theta = math.acos(cosTheta)
  889. local invSinTheta = 1 / math.sin(theta)
  890. startInterp = math.sin((1 - t) * theta) * invSinTheta
  891. finishInterp = math.sin(t * theta) * invSinTheta
  892. else
  893. startInterp = 1 - t
  894. finishInterp = t
  895. end
  896. else
  897. if (1 + cosTheta) > 0.0001 then
  898. local theta = math.acos(-cosTheta)
  899. local invSinTheta = 1 / math.sin(theta)
  900. startInterp = math.sin((t - 1) * theta) * invSinTheta
  901. finishInterp = math.sin(t * theta) * invSinTheta
  902. else
  903. startInterp = t - 1
  904. finishInterp = t
  905. end
  906. end
  907. 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
  908. end
  909.  
  910. function swait(num)
  911. if num == 0 or num == nil then
  912. game:service'RunService'.RenderStepped:wait(0)
  913. else
  914. for i = 0, num do
  915. game:service'RunService'.RenderStepped:wait(0)
  916. end
  917. end
  918. end
  919.  
  920. local RbxUtility = LoadLibrary("RbxUtility")
  921. local Create = RbxUtility.Create
  922.  
  923. function RemoveOutlines(part)
  924. part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  925. end
  926.  
  927. function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  928. local Part = Create("Part"){
  929. formFactor = FormFactor,
  930. Parent = Parent,
  931. Reflectance = Reflectance,
  932. Transparency = Transparency,
  933. CanCollide = false,
  934. Locked = true,
  935. BrickColor = BrickColor.new(tostring(BColor)),
  936. Name = Name,
  937. Size = Size,
  938. Material = Material,
  939. }
  940. RemoveOutlines(Part)
  941. return Part
  942. end
  943.  
  944. function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  945. local Msh = Create(Mesh){
  946. Parent = Part,
  947. Offset = OffSet,
  948. Scale = Scale,
  949. }
  950. if Mesh == "SpecialMesh" then
  951. Msh.MeshType = MeshType
  952. Msh.MeshId = MeshId
  953. end
  954. return Msh
  955. end
  956.  
  957. function CreateWeld(Parent, Part0, Part1, C0, C1)
  958. local Weld = Create("Weld"){
  959. Parent = Parent,
  960. Part0 = Part0,
  961. Part1 = Part1,
  962. C0 = C0,
  963. C1 = C1,
  964. }
  965. return Weld
  966. end
  967.  
  968. function rayCast(Position, Direction, Range, Ignore)
  969. return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
  970. end
  971.  
  972. function CreateSound(id, par, vol, pit)
  973. coroutine.resume(coroutine.create(function()
  974. local sou = Instance.new("Sound", par or workspace)
  975. sou.Volume = vol
  976. sou.Pitch = pit or 1
  977. sou.SoundId = id
  978. wait()
  979. sou:play()
  980. game:GetService("Debris"):AddItem(sou, 6)
  981. end))
  982. end
  983.  
  984. local function getclosest(obj, distance)
  985. local last, lastx = distance + 1
  986. for i, v in pairs(workspace:GetChildren()) do
  987. if v:IsA'Model' and v ~= Character and v:findFirstChild('Humanoid') and v:findFirstChild('Torso') and v:findFirstChild('Humanoid').Health > 0 then
  988. local t = v.Torso
  989. local dist = (t.Position - obj.Position).magnitude
  990. if dist <= distance then
  991. if dist < last then
  992. last = dist
  993. lastx = v
  994. end
  995. end
  996. end
  997. end
  998. return lastx
  999. end
  1000.  
  1001. function Damage(hit, damage, cooldown, Color1, Color2, HSound, HPitch)
  1002. for i, v in pairs(hit:GetChildren()) do
  1003. if v:IsA("Humanoid") and hit.Name ~= Character.Name then
  1004. local find = v:FindFirstChild("Hitz")
  1005. if not find then
  1006. if v.Parent:findFirstChild("Head") then
  1007. local BillG = Create("BillboardGui"){
  1008. Parent = v.Parent.Head,
  1009. Size = UDim2.new(1, 0, 1, 0),
  1010. Adornee = v.Parent.Head,
  1011. StudsOffset = Vector3.new(math.random(-3, 3), math.random(3, 5), math.random(-3, 3)),
  1012. }
  1013. local TL = Create("TextLabel"){
  1014. Parent = BillG,
  1015. Size = UDim2.new(3, 3, 3, 3),
  1016. BackgroundTransparency = 1,
  1017. Text = tostring(damage).."-",
  1018. TextColor3 = Color1.Color,
  1019. TextStrokeColor3 = Color2.Color,
  1020. TextStrokeTransparency = 0,
  1021. TextXAlignment = Enum.TextXAlignment.Center,
  1022. TextYAlignment = Enum.TextYAlignment.Center,
  1023. FontSize = Enum.FontSize.Size18,
  1024. Font = "ArialBold",
  1025. }
  1026. coroutine.resume(coroutine.create(function()
  1027. wait(1)
  1028. for i = 0, 1, .1 do
  1029. wait(.1)
  1030. BillG.StudsOffset = BillG.StudsOffset + Vector3.new(0, .1, 0)
  1031. end
  1032. BillG:Destroy()
  1033. end))
  1034. end
  1035. v.Health = v.Health - damage
  1036. local bool = Create("BoolValue"){
  1037. Parent = v,
  1038. Name = 'Hitz',
  1039. }
  1040. if HSound ~= nil and HPitch ~= nil then
  1041. CreateSound(HSound, hit, 1, HPitch)
  1042. end
  1043. game:GetService("Debris"):AddItem(bool, cooldown)
  1044. end
  1045. end
  1046. end
  1047. end
  1048.  
  1049.  
  1050. function BlockEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  1051. local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  1052. prt.Anchored = true
  1053. prt.CFrame = cframe
  1054. local msh = CreateMesh("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  1055. game:GetService("Debris"):AddItem(prt, 10)
  1056. if Type == 1 or Type == nil then
  1057. table.insert(Effects, {
  1058. prt,
  1059. "Block1",
  1060. delay,
  1061. x3,
  1062. y3,
  1063. z3,
  1064. msh
  1065. })
  1066. elseif Type == 2 then
  1067. table.insert(Effects, {
  1068. prt,
  1069. "Block2",
  1070. delay,
  1071. x3,
  1072. y3,
  1073. z3,
  1074. msh
  1075. })
  1076. end
  1077. end
  1078.  
  1079. function SphereEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  1080. local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  1081. prt.Anchored = true
  1082. prt.CFrame = cframe
  1083. local msh = CreateMesh("SpecialMesh", prt, "Sphere", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  1084. game:GetService("Debris"):AddItem(prt, 10)
  1085. table.insert(Effects, {
  1086. prt,
  1087. "Cylinder",
  1088. delay,
  1089. x3,
  1090. y3,
  1091. z3,
  1092. msh
  1093. })
  1094. end
  1095.  
  1096. function RingEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  1097. local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  1098. prt.Anchored = true
  1099. prt.CFrame = cframe * CFrame.new(x1, y1, z1)
  1100. local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  1101. game:GetService("Debris"):AddItem(prt, 10)
  1102. table.insert(Effects, {
  1103. prt,
  1104. "Cylinder",
  1105. delay,
  1106. x3,
  1107. y3,
  1108. z3,
  1109. msh
  1110. })
  1111. end
  1112.  
  1113. function CylinderEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  1114. local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  1115. prt.Anchored = true
  1116. prt.CFrame = cframe
  1117. local msh = CreateMesh("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  1118. game:GetService("Debris"):AddItem(prt, 10)
  1119. table.insert(Effects, {
  1120. prt,
  1121. "Cylinder",
  1122. delay,
  1123. x3,
  1124. y3,
  1125. z3,
  1126. msh
  1127. })
  1128. end
  1129.  
  1130. function WaveEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  1131. local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  1132. prt.Anchored = true
  1133. prt.CFrame = cframe
  1134. local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  1135. game:GetService("Debris"):AddItem(prt, 10)
  1136. table.insert(Effects, {
  1137. prt,
  1138. "Cylinder",
  1139. delay,
  1140. x3,
  1141. y3,
  1142. z3,
  1143. msh
  1144. })
  1145. end
  1146.  
  1147. function SpecialEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  1148. local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  1149. prt.Anchored = true
  1150. prt.CFrame = cframe
  1151. local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "24388358", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  1152. game:GetService("Debris"):AddItem(prt, 10)
  1153. table.insert(Effects, {
  1154. prt,
  1155. "Cylinder",
  1156. delay,
  1157. x3,
  1158. y3,
  1159. z3,
  1160. msh
  1161. })
  1162. end
  1163.  
  1164. function BreakEffect(brickcolor, cframe, x1, y1, z1)
  1165. local prt = CreatePart(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  1166. prt.Anchored = true
  1167. prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  1168. local msh = CreateMesh("SpecialMesh", prt, "Sphere", "nil", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  1169. local num = math.random(10, 50) / 1000
  1170. game:GetService("Debris"):AddItem(prt, 10)
  1171. table.insert(Effects, {
  1172. prt,
  1173. "Shatter",
  1174. num,
  1175. prt.CFrame,
  1176. math.random() - math.random(),
  1177. 0,
  1178. math.random(50, 100) / 100
  1179. })
  1180. end
  1181.  
  1182.  
  1183.  
  1184.  
  1185. for i = 0, 1, 0.05 do
  1186. swait()
  1187. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
  1188. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5), math.rad(0), math.rad(0)), .1)
  1189. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(5), math.rad(0), math.rad(5)), 0.1)
  1190. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-10)), 0.3)
  1191. if Torsovelocity > 2 then
  1192. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-50 * math.cos(sine / 4)), math.rad(0), math.rad(4 * math.cos(sine / 4))), .2)
  1193. RH.C0 = clerp(RH.C0, cn(1, -1 + .1 * math.cos(sine / 5), 0) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(30 * math.cos(sine / 4))), .3)
  1194. LH.C0 = clerp(LH.C0, cn(-1, -1 + .1 * math.cos(sine / 5), 0) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(30 * math.cos(sine / 4))), .3)
  1195. elseif Torsovelocity < 1 then
  1196. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(5), math.rad(0), math.rad(5)), 0.1)
  1197. RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  1198. LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  1199. end
  1200. end
  1201. attack = false
  1202.  
  1203.  
  1204.  
  1205. game:GetService'RunService'.Stepped:connect(function()
  1206.  
  1207.  
  1208.  
  1209. if Wep == 1 then
  1210. equippedgun2 = false
  1211. Reaper4.Transparency = 1
  1212. Reaper5.Transparency = 0
  1213. Reaper6.Transparency = 1
  1214. Reaper7.Transparency = 0
  1215. end
  1216. if Wep == 2 then
  1217. equippedgun2 = true
  1218. Reaper4.Transparency = 0
  1219. Reaper5.Transparency = 1
  1220. Reaper6.Transparency = 0
  1221. Reaper7.Transparency = 1
  1222. end
  1223. if Wep == 3 then
  1224. equippedgun2 = false
  1225. Reaper4.Transparency = 1
  1226. Reaper5.Transparency = 1
  1227. Reaper6.Transparency = 1
  1228. Reaper7.Transparency = 1
  1229. end
  1230.  
  1231. Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  1232. velocity = RootPart.Velocity.y
  1233. sine = sine + change
  1234. local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
  1235. if equipped == true or equipped == false then
  1236. if RootPart.Velocity.y > 1 and hit == nil then
  1237. Anim = "Jump"
  1238. if attack == false and Wep == 1 then
  1239. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1240. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1241. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(30)), .1)
  1242. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(-30)), .1)
  1243. RH.C0 = clerp(RH.C0, cn(1, -.9, -.3) * RHCF * angles(math.rad(3), math.rad(0), math.rad(0)), .1)
  1244. LH.C0 = clerp(LH.C0, cn(-1, -.7, -.5) * LHCF * angles(math.rad(-3), math.rad(0), math.rad(0)), .1)
  1245. end
  1246. elseif RootPart.Velocity.y < -1 and hit == nil then
  1247. Anim = "Fall"
  1248. if attack == false and Wep == 1 then
  1249. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1250. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1251. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(50)), .1)
  1252. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-50)), .1)
  1253. RH.C0 = clerp(RH.C0, cn(1, -1, -.3) * RHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1254. LH.C0 = clerp(LH.C0, cn(-1, -.8, -.3) * LHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1255. end
  1256. elseif Torsovelocity < 1 and hit ~= nil then
  1257. Anim = "Idle"
  1258. if attack == false and Wep == 1 then
  1259. change = 1
  1260. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.1 + 0.1 * math.cos(sine / 25)) * angles(math.rad(0), math.rad(0), math.rad(5)), .1)
  1261. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5 - 2 * math.cos(sine / 25)), math.rad(0), math.rad(-5)), .1)
  1262. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5 - -.1 * math.cos(sine / 25), 0) * angles(math.rad(50), math.rad(35 - 25 * math.cos(sine / 25)), math.rad(5 + 3 * math.cos(sine / 25))), 0.1)
  1263. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(80 + 7 * math.cos(sine / 25)), math.rad(-30), math.rad(35 - 1 * math.cos(sine / 25))), 0.1)
  1264. RH.C0 = clerp(RH.C0, cn(1, -.9 - 0.1 * math.cos(sine / 25), 0) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
  1265. LH.C0 = clerp(LH.C0, cn(-1, -.9 - 0.1 * math.cos(sine / 25), 0) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
  1266. end
  1267. elseif Torsovelocity > 2 and hit ~= nil then
  1268. Anim = "Walk"
  1269. if attack == false and Wep == 1 then
  1270. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(5 * math.cos(sine / 5))), .2)
  1271. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(-5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
  1272. RW.C0 = clerp(RW.C0, CFrame.new(1.2 - -.05 * math.cos(sine / 4), 0.5 - -.05 * math.cos(sine / 4), 0) * angles(math.rad(50), math.rad(57 - .1 * math.cos(sine / 25)), math.rad(5 + 3 * math.cos(sine / 25))), 0.1)
  1273. LW.C0 = clerp(LW.C0, CFrame.new(-1.2 - -.05 * math.cos(sine / 4), 0.4 - -.05 * math.cos(sine / 4), -.4) * angles(math.rad(80 + 1 * math.cos(sine / 25)), math.rad(-30), math.rad(35 - 1 * math.cos(sine / 25))), 0.1)
  1274. RH.C0 = clerp(RH.C0, cn(1, -.9 + -.1 * math.cos(sine / 4),0 + -.1 * math.cos(sine / 4)) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
  1275. LH.C0 = clerp(LH.C0, cn(-1, -.9 + .1 * math.cos(sine / 4), 0 + .1 * math.cos(sine / 4)) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
  1276. end
  1277. end
  1278. end
  1279. -----------------------[Anim2]--------------------------------------------------------------------------------------------------------------------------
  1280.  
  1281. if equipped == true or equipped == false then
  1282. if RootPart.Velocity.y > 1 and hit == nil then
  1283. Anim = "Jump"
  1284. if attack == false and Wep == 2 then
  1285. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1286. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1287. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.2, 0) * angles(math.rad(60), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
  1288. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.1, -.4) * angles(math.rad(55 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
  1289. RH.C0 = clerp(RH.C0, cn(1, -.9, -.3) * RHCF * angles(math.rad(3), math.rad(0), math.rad(0)), .1)
  1290. LH.C0 = clerp(LH.C0, cn(-1, -.7, -.5) * LHCF * angles(math.rad(-3), math.rad(0), math.rad(0)), .1)
  1291. end
  1292.  
  1293. elseif RootPart.Velocity.y < -1 and hit == nil then
  1294. Anim = "Fall"
  1295. if attack == false and Wep == 2 then
  1296. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1297. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1298. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.8, 0) * angles(math.rad(60), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.05)
  1299. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.7, -.4) * angles(math.rad(55 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.05)
  1300. RH.C0 = clerp(RH.C0, cn(1, -1, -.3) * RHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1301. LH.C0 = clerp(LH.C0, cn(-1, -.8, -.3) * LHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1302. end
  1303. elseif Torsovelocity < 1 and hit ~= nil then
  1304. Anim = "Idle"
  1305. if attack == false and Wep == 2 then
  1306. change = 1
  1307. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.1 + 0.1 * math.cos(sine / 25)) * angles(math.rad(0), math.rad(0), math.rad(5)), .1)
  1308. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5 - 2 * math.cos(sine / 25)), math.rad(0), math.rad(-5)), .1)
  1309. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(60), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
  1310. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(55 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
  1311. RH.C0 = clerp(RH.C0, cn(1, -.9 - 0.1 * math.cos(sine / 25), 0) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
  1312. LH.C0 = clerp(LH.C0, cn(-1, -.9 - 0.1 * math.cos(sine / 25), 0) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
  1313. end
  1314. elseif Torsovelocity > 2 and hit ~= nil then
  1315. Anim = "Walk"
  1316. if attack == false and Wep == 2 then
  1317. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-25 - 5 * math.cos(sine / 5))), .2)
  1318. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(25 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
  1319. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(60), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
  1320. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(55 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
  1321. RH.C0 = clerp(RH.C0, cn(.95, -.9 + -.1 * math.cos(sine / 4),-.35) * RHCF * angles(math.rad(-2), math.rad(25), math.rad(50 * math.cos(sine / 4))), .3)
  1322. LH.C0 = clerp(LH.C0, cn(-.95, -.9 + .1 * math.cos(sine / 4), .35) * LHCF * angles(math.rad(-2), math.rad(25), math.rad(50 * math.cos(sine / 4))), .3)
  1323. end
  1324.  
  1325. end
  1326. end
  1327.  
  1328.  
  1329.  
  1330. -----------------------[Noraml Anim]--------------------------------------------------------------------------------------------------------------------------
  1331.  
  1332. if equipped == true or equipped == false then
  1333. if RootPart.Velocity.y > 1 and hit == nil then
  1334. Anim = "Jump"
  1335. if attack == false and Wep == 3 then
  1336. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1337. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1338. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(30)), .1)
  1339. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(-30)), .1)
  1340. RH.C0 = clerp(RH.C0, cn(1, -.9, -.3) * RHCF * angles(math.rad(3), math.rad(0), math.rad(0)), .1)
  1341. LH.C0 = clerp(LH.C0, cn(-1, -.7, -.5) * LHCF * angles(math.rad(-3), math.rad(0), math.rad(0)), .1)
  1342. end
  1343. elseif RootPart.Velocity.y < -1 and hit == nil then
  1344. Anim = "Fall"
  1345. if attack == false and Wep == 3 then
  1346. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1347. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  1348. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(50)), .1)
  1349. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-50)), .1)
  1350. RH.C0 = clerp(RH.C0, cn(1, -1, -.3) * RHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1351. LH.C0 = clerp(LH.C0, cn(-1, -.8, -.3) * LHCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  1352. end
  1353. elseif Torsovelocity < 1 and hit ~= nil then
  1354. Anim = "Idle"
  1355. if attack == false and Wep == 3 then
  1356. change = 1
  1357. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.1 + 0.1 * math.cos(sine / 25)) * angles(math.rad(0), math.rad(0), math.rad(5)), .1)
  1358. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5 - 2 * math.cos(sine / 25)), math.rad(0), math.rad(-5)), .1)
  1359. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5 - 0 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(0 - 0 * math.cos(sine / 25)), math.rad(5 + 3 * math.cos(sine / 25))), 0.1)
  1360. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0 + 0 * math.cos(sine / 25)), math.rad(-0), math.rad(-5 - 3 * math.cos(sine / 25))), 0.1)
  1361. RH.C0 = clerp(RH.C0, cn(1, -.9 - 0.1 * math.cos(sine / 25), 0) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
  1362. LH.C0 = clerp(LH.C0, cn(-1, -.9 - 0.1 * math.cos(sine / 25), 0) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(-5), math.rad(0 + 2 * math.cos(sine / 25))), .1)
  1363. end
  1364. elseif Torsovelocity > 2 and hit ~= nil then
  1365. Anim = "Walk"
  1366. if attack == false and Wep == 3 then
  1367. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(5 * math.cos(sine / 5))), .2)
  1368. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(-5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
  1369. RW.C0 = clerp(RW.C0, CFrame.new(1.5 - -0 * math.cos(sine / 4), 0.5 - -.05 * math.cos(sine / 4), 0) * angles(math.rad(10 + -50 * math.cos(sine / 4)), math.rad(0 - .1 * math.cos(sine / 25)), math.rad(5 + 3 * math.cos(sine / 25))), 0.3)
  1370. LW.C0 = clerp(LW.C0, CFrame.new(-1.5 - -0 * math.cos(sine / 4), 0.5 - -.05 * math.cos(sine / 4), 0) * angles(math.rad(10 + 50 * math.cos(sine / 4)), math.rad(-0), math.rad(-5 - 3 * math.cos(sine / 25))), 0.3)
  1371. RH.C0 = clerp(RH.C0, cn(1, -.9 + -.1 * math.cos(sine / 4),0 + -.1 * math.cos(sine / 4)) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
  1372. LH.C0 = clerp(LH.C0, cn(-1, -.9 + .1 * math.cos(sine / 4), 0 + .1 * math.cos(sine / 4)) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
  1373. end
  1374. end
  1375. end
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394. if #Effects > 0 then
  1395. for e = 1, #Effects do
  1396. if Effects[e] ~= nil then
  1397. local Thing = Effects[e]
  1398. if Thing ~= nil then
  1399. local Part = Thing[1]
  1400. local Mode = Thing[2]
  1401. local Delay = Thing[3]
  1402. local IncX = Thing[4]
  1403. local IncY = Thing[5]
  1404. local IncZ = Thing[6]
  1405. if Thing[1].Transparency <= 1 then
  1406. if Thing[2] == "Block1" then
  1407. Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  1408. local Mesh = Thing[1].Mesh
  1409. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  1410. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1411. elseif Thing[2] == "Block2" then
  1412. Thing[1].CFrame = Thing[1].CFrame
  1413. local Mesh = Thing[7]
  1414. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  1415. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1416. elseif Thing[2] == "Cylinder" then
  1417. local Mesh = Thing[1].Mesh
  1418. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  1419. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1420. elseif Thing[2] == "Blood" then
  1421. local Mesh = Thing[7]
  1422. Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, .5, 0)
  1423. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  1424. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1425. elseif Thing[2] == "Elec" then
  1426. local Mesh = Thing[1].Mesh
  1427. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
  1428. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1429. elseif Thing[2] == "Disappear" then
  1430. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1431. elseif Thing[2] == "Shatter" then
  1432. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1433. Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
  1434. Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
  1435. Thing[6] = Thing[6] + Thing[5]
  1436. end
  1437. else
  1438. Part.Parent = nil
  1439. table.remove(Effects, e)
  1440. end
  1441. end
  1442. end
  1443. end
  1444. end
  1445. end)
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459. local No = Instance.new("Sound", head);
  1460. No.SoundId = "rbxassetid://245064504"
  1461. No.Volume = 3
  1462. local yes = Instance.new("Sound", head);
  1463. yes.SoundId = "rbxassetid://131384028"
  1464. yes.Volume = 3
  1465. local HitM = Instance.new("Sound", Reaper5);
  1466. HitM.SoundId = "rbxassetid://"..WSH
  1467. HitM.Volume = 1.1
  1468. local Swing = Instance.new("Sound", Reaper5);
  1469. Swing.SoundId = "rbxassetid://10209850"
  1470. Swing.Volume = 1.5
  1471. Swing.Pitch = 1.1
  1472. local SwingH = Instance.new("Sound", Reaper5);
  1473. SwingH.SoundId = "rbxassetid://10209590"
  1474. SwingH.Volume = 2.9
  1475. SwingH.Pitch = .8
  1476. local Taunt = Instance.new("Sound", head);
  1477. Taunt.SoundId = "rbxassetid://150611842"
  1478. Taunt.Volume = 2
  1479. local RUS = Instance.new("Sound", char);
  1480. RUS.SoundId = "rbxassetid://322621962"
  1481. RUS.Volume = 2.5
  1482. RUS.Pitch = 1
  1483. RUS.Looped = true
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494. function BuildSentry()
  1495. do --CFrame lerp (stravant, clerp by AntiBoomz0r)
  1496. local function QuaternionFromCFrame(cf) -- y u no axis angle interpolation?
  1497. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1498. local trace = m00 + m11 + m22
  1499. if trace > 0 then
  1500. local s = math.sqrt(1 + trace)
  1501. local recip = 0.5/s
  1502. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  1503. else
  1504. local i = 0
  1505. if m11 > m00 then
  1506. i = 1
  1507. end
  1508. if m22 > (i == 0 and m00 or m11) then
  1509. i = 2
  1510. end
  1511. if i == 0 then
  1512. local s = math.sqrt(m00-m11-m22+1)
  1513. local recip = 0.5/s
  1514. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  1515. elseif i == 1 then
  1516. local s = math.sqrt(m11-m22-m00+1)
  1517. local recip = 0.5/s
  1518. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  1519. elseif i == 2 then
  1520. local s = math.sqrt(m22-m00-m11+1)
  1521. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  1522. end
  1523. end
  1524. end
  1525. local function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1526. local xs, ys, zs = x + x, y + y, z + z
  1527. local wx, wy, wz = w*xs, w*ys, w*zs
  1528. local xx = x*xs
  1529. local xy = x*ys
  1530. local xz = x*zs
  1531. local yy = y*ys
  1532. local yz = y*zs
  1533. local zz = z*zs
  1534. 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))
  1535. end
  1536. function QuaternionSlerp(a, b, t)
  1537. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  1538. local startInterp, finishInterp;
  1539. if cosTheta >= 0.0001 then
  1540. if (1 - cosTheta) > 0.0001 then
  1541. local theta = math.acos(cosTheta)
  1542. local invSinTheta = 1/math.sin(theta)
  1543. startInterp = math.sin((1-t)*theta)*invSinTheta
  1544. finishInterp = math.sin(t*theta)*invSinTheta
  1545. else
  1546. startInterp = 1-t
  1547. finishInterp = t
  1548. end
  1549. else
  1550. if (1+cosTheta) > 0.0001 then
  1551. local theta = math.acos(-cosTheta)
  1552. local invSinTheta = 1/math.sin(theta)
  1553. startInterp = math.sin((t-1)*theta)*invSinTheta
  1554. finishInterp = math.sin(t*theta)*invSinTheta
  1555. else
  1556. startInterp = t-1
  1557. finishInterp = t
  1558. end
  1559. end
  1560. 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
  1561. end
  1562. function clerp(a,b,t)
  1563. local qa = {QuaternionFromCFrame(a)}
  1564. local qb = {QuaternionFromCFrame(b)}
  1565. local ax, ay, az = a.x, a.y, a.z
  1566. local bx, by, bz = b.x, b.y, b.z
  1567. local _t = 1-t
  1568. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  1569. end
  1570. end
  1571.  
  1572.  
  1573.  
  1574.  
  1575. local ABS = math.abs;
  1576. local SIN = math.sin;
  1577. local ASIN = math.asin;
  1578. local COS = math.cos;
  1579.  
  1580. local new = Instance.new;
  1581.  
  1582. function math_pos(float)
  1583. if float < 0 then float = 0 end
  1584. return float
  1585. end
  1586. function math_neg(float)
  1587. if float > 0 then float = 0 end
  1588. return float
  1589. end
  1590. function math_max(float, max)
  1591. if float > max then float = max end
  1592. return float
  1593. end
  1594. function math_min(float, min)
  1595. if float > min then float = min end
  1596. return float
  1597. end
  1598.  
  1599. function SharpSin(double_p1)
  1600. return ASIN(SIN(double_p1));
  1601. end
  1602.  
  1603. local Storage = Instance.new("Model", script);
  1604.  
  1605. function WeldP(part0, part1, C0, C1)
  1606. local W = new("Weld", Storage);
  1607. W.Part0 = part0;
  1608. W.Part1 = part1;
  1609. W.C0 = C0 or CFrame.new();
  1610. W.C1 = C1 or CFrame.new();
  1611. return W;
  1612. end
  1613.  
  1614. function Bevel(part, sizeV3)
  1615. local BvlMesh = new("SpecialMesh", part)
  1616. BvlMesh.MeshId = "rbxasset://fonts/torso.mesh";
  1617. if (sizeV3 ~= nil) then
  1618. BvlMesh.Scale = Vector3.new(sizeV3.x/2, sizeV3.y/2, sizeV3.z);
  1619. else
  1620. BvlMesh.Scale = Vector3.new(part.Size.x/2, part.Size.y/2, part.Size.z);
  1621. end
  1622. end
  1623.  
  1624.  
  1625.  
  1626. local Scale = 0.5 -- 1 is size of a robloxian (mostly);
  1627.  
  1628. Storage.Name = "ä";
  1629.  
  1630. local BasePart = new("Part");
  1631. BasePart.FormFactor = "Custom";
  1632. BasePart.TopSurface = 10;
  1633. BasePart.BottomSurface = 10;
  1634. BasePart.LeftSurface = 10;
  1635. BasePart.RightSurface = 10;
  1636. BasePart.FrontSurface = 10;
  1637. BasePart.BackSurface = 10;
  1638.  
  1639. local CylPart = new("Part");
  1640. CylPart.FormFactor = "Custom";
  1641. CylPart.TopSurface = 10;
  1642. CylPart.BottomSurface = 10;
  1643. CylPart.LeftSurface = 10;
  1644. CylPart.RightSurface = 10;
  1645. CylPart.FrontSurface = 10;
  1646. CylPart.BackSurface = 10;
  1647. new("CylinderMesh", CylPart);
  1648.  
  1649. local TopFrame = BasePart:clone()
  1650. TopFrame.Parent = Storage;
  1651. TopFrame.Size = Vector3.new(3.5*Scale, 1.5*Scale, 3.5*Scale);
  1652. TopFrame.BrickColor = TeamColor;
  1653.  
  1654. new("CylinderMesh", TopFrame);
  1655.  
  1656. local Screw = CylPart:clone();
  1657. Screw.Parent = Storage;
  1658. Screw.Size = Vector3.new(.3*Scale, 1.6*Scale, .3*Scale);
  1659. Screw.BrickColor = BrickColor.new(199);
  1660.  
  1661. local CGreyStyle = CylPart:clone()
  1662. CGreyStyle.Parent = Storage;
  1663. CGreyStyle.Size = Vector3.new(2.2*Scale, 1.52*Scale, 2.6*Scale);
  1664. CGreyStyle.BrickColor = BrickColor.new(199);
  1665.  
  1666. local TurretCasing = BasePart:clone();
  1667. TurretCasing.Size = Vector3.new(2.2*Scale, 1.4*Scale, 5.6*Scale);
  1668. TurretCasing.BrickColor = BrickColor.new(199);
  1669. TurretCasing.Parent = Storage;
  1670.  
  1671. Bevel(TurretCasing);
  1672.  
  1673. local TurretFront = BasePart:clone();
  1674. TurretFront.Size = Vector3.new(1.7*Scale, 1*Scale, .2*Scale);
  1675. TurretFront.BrickColor = TeamColor;
  1676. TurretFront.Parent = Storage;
  1677.  
  1678. local Barrel = CylPart:clone();
  1679. Barrel.Parent = Storage;
  1680. Barrel.Size = Vector3.new(.7*Scale, .4*Scale, .7*Scale);
  1681. Barrel.BrickColor = BrickColor.Black();
  1682.  
  1683.  
  1684. local Particle = Instance.new("ParticleEmitter", Barrel);
  1685. Particle.VelocitySpread = 30;
  1686. Particle.LightEmission = 200;
  1687.  
  1688. local Colors = {Color3.new(1,.5,0), Color3.new(1,.7,0), Color3.new(1,.9,0);}
  1689.  
  1690. Particle.Size = NumberSequence.new(.05,.07);
  1691.  
  1692. Particle.Color = ColorSequence.new(Colors[math.random(#Colors)]);
  1693. Particle.Texture = "rbxassetid://252350680";
  1694. Particle.RotSpeed = NumberRange.new(10,70);
  1695. Particle.Rate = 300;
  1696. Particle.Speed = NumberRange.new(15);
  1697. Particle.Transparency = NumberSequence.new(0,1);
  1698. Particle.Lifetime = NumberRange.new(.01,.2);
  1699. Particle.Enabled = false
  1700.  
  1701.  
  1702.  
  1703. local RedDot = BasePart:clone();
  1704. RedDot.Parent = Storage;
  1705. RedDot.Size = Vector3.new(.2*Scale, .2*Scale, .2*Scale);
  1706. RedDot.BrickColor = BrickColor.new("Really red");
  1707.  
  1708. local Sphere = Instance.new("SpecialMesh", RedDot);
  1709. Sphere.MeshType = "Sphere";
  1710. Sphere.Scale = Vector3.new(1*Scale,1*Scale,1*Scale);
  1711.  
  1712.  
  1713. Bevel(TurretFront, Vector3.new(1.7*Scale, 1*Scale, .05*Scale));
  1714.  
  1715. local Joint = CylPart:clone();
  1716. Joint.Parent = Storage;
  1717. Joint.Size = Vector3.new(.7*Scale, 2*Scale, .7*Scale);
  1718. Joint.BrickColor = BrickColor.Black();
  1719.  
  1720. local Hold = BasePart:clone();
  1721. Hold.Parent = Storage;
  1722. Hold.BrickColor = BrickColor.Black();
  1723. Hold.Size = Vector3.new(2.2*Scale, .2*Scale, .75*Scale);
  1724.  
  1725. local Bolt = BasePart:clone();
  1726. Bolt.Size = Vector3.new(.2*Scale, 1.5*Scale, .5*Scale);
  1727. Bolt.Parent = Storage;
  1728. Bolt.BrickColor = BrickColor.Black();
  1729.  
  1730. local Bolt2 = BasePart:clone();
  1731. Bolt2.Size = Vector3.new(.2*Scale, 1.5*Scale, .5*Scale);
  1732. Bolt2.Parent = Storage;
  1733. Bolt2.BrickColor = BrickColor.Black();
  1734.  
  1735.  
  1736. local TurretToFrame = WeldP(TopFrame, TurretCasing, CFrame.new(0, 0, 1.4*Scale));
  1737. WeldP(TopFrame, CGreyStyle);
  1738. WeldP(TurretCasing, TurretFront, CFrame.new(0, 0, 2.8*Scale));
  1739. WeldP(TopFrame, Screw);
  1740. local BarrelWeld = WeldP(Barrel, TurretFront, CFrame.new(.3*Scale, -.2*Scale, 0), CFrame.Angles(math.pi/2, 0, 0));
  1741.  
  1742. WeldP(RedDot, TurretFront, CFrame.new(-.55*Scale, 0, -.15*Scale), CFrame.Angles(math.pi/2, 0, 0));
  1743.  
  1744. local RotateAxisY = WeldP(Bolt, TurretCasing, CFrame.Angles(0,0,0), CFrame.new(1.1*Scale, -.75*Scale, 1*Scale));
  1745.  
  1746. WeldP(Bolt, Hold, CFrame.new(-1.1*Scale, -.5*Scale, 0));
  1747.  
  1748. WeldP(Bolt2, Hold, CFrame.new(1.1*Scale, -.5*Scale, 0));
  1749.  
  1750. local RotateAxisX = WeldP(Hold, Joint, CFrame.new(0, -1*Scale, 0));
  1751.  
  1752.  
  1753.  
  1754. local Leg1 = BasePart:clone();
  1755. Leg1.Size = Vector3.new(.2*Scale, 3.5*Scale, .5*Scale);
  1756. Leg1.Parent = Storage;
  1757. Leg1.BrickColor = BrickColor.Black();
  1758.  
  1759.  
  1760. WeldP(Leg1, Joint, CFrame.new(0, -1.75*Scale, 0), CFrame.new(0, -.75*Scale, 0) * CFrame.Angles(math.pi/3, 0, math.pi));
  1761.  
  1762.  
  1763. local Leg2 = BasePart:clone();
  1764. Leg2.Size = Vector3.new(.2*Scale, 3.5*Scale, .5*Scale);
  1765. Leg2.Parent = Storage;
  1766. Leg2.BrickColor = BrickColor.Black();
  1767.  
  1768.  
  1769. WeldP(Leg2, Joint, CFrame.new(0, -1.75*Scale, 0), CFrame.new(0, -.45*Scale, 0) * CFrame.Angles(-math.pi/4, 0, math.pi + -math.pi/6));
  1770.  
  1771.  
  1772. local Leg3 = BasePart:clone();
  1773. Leg3.Size = Vector3.new(.2*Scale, 3.5*Scale, .5*Scale);
  1774. Leg3.Parent = Storage;
  1775. Leg3.BrickColor = BrickColor.Black();
  1776.  
  1777.  
  1778. WeldP(Leg3, Joint, CFrame.new(0, -1.75*Scale, 0), CFrame.new(0, -.45*Scale, 0) * CFrame.Angles(-math.pi/4, 0, math.pi + math.pi/6));
  1779.  
  1780. for i,v in pairs(Storage:children()) do
  1781. if v.Name== "Part" then
  1782. trans = 1
  1783. v.Transparency = 1
  1784. end
  1785. end
  1786.  
  1787. local InvisiBox = BasePart:clone();
  1788. InvisiBox.Size = Storage:GetModelSize() + Vector3.new(2*Scale, 0, 0);
  1789. InvisiBox.Parent = Storage;
  1790. InvisiBox.Transparency = 1
  1791. InvisiBox.Name = 'box'
  1792. WeldP(InvisiBox, Joint, CFrame.new(0, -.2*Scale, .97*Scale));
  1793.  
  1794. local InvisiBox2 = BasePart:clone();
  1795. InvisiBox2.Size = Storage:GetModelSize() + Vector3.new(2*Scale, 0, 0);
  1796. InvisiBox2.Parent = Arms;
  1797. InvisiBox2.Transparency = .9
  1798. InvisiBox2.Name = 'box'
  1799. InvisiBox2.CanCollide = false
  1800. InvisiBox2.BrickColor = TeamColor
  1801. InvisiBox2.Material = 'Neon'
  1802. WeldP(InvisiBox2, Joint, CFrame.new(0, -1.2*Scale, .97*Scale));
  1803.  
  1804. InvisiBox.CFrame = torso.CFrame * CFrame.new(0, 5.5*Scale, -2.9) * CFrame.Angles(0, math.pi, 0);
  1805.  
  1806. local Action = "Idle";
  1807.  
  1808. local Target = nil;
  1809.  
  1810. wait(1)
  1811.  
  1812. InvisiBox.Anchored = true
  1813.  
  1814. for i,v in pairs(Storage:children()) do
  1815. if v:IsA'Part' then
  1816. v.Locked = true
  1817. end
  1818. end
  1819. --//
  1820. --// SOUNDS
  1821. --//
  1822. for i,v in pairs(Storage:children()) do
  1823. if v.Name== "Part" then
  1824. trans = 1
  1825. v.Transparency = 1
  1826. end
  1827. end
  1828. for i,v in pairs(Storage:children()) do
  1829. if v.Name== "Part" then
  1830. trans = 1
  1831. v.Transparency = 1
  1832. for i = 1,11 do
  1833.  
  1834. trans = trans - .1
  1835. v.Transparency = trans
  1836. wait()
  1837. end
  1838. end
  1839. end
  1840. trans = 1
  1841.  
  1842. local OnFind = new("Sound", TopFrame);
  1843. OnFind.SoundId = "rbxassetid://10209260"
  1844. OnFind.Volume = 1
  1845.  
  1846.  
  1847. local OnFire = new("Sound", TopFrame);
  1848. OnFire.SoundId = "rbxassetid://10209257"
  1849. OnFire.Volume = 1
  1850.  
  1851. local OnEmpty = new("Sound", TopFrame);
  1852. OnEmpty.SoundId = "rbxassetid://10209225"
  1853. OnEmpty.Volume = 1
  1854.  
  1855. local Scanning = new("Sound", TopFrame);
  1856. Scanning.SoundId = "rbxassetid://258704234"
  1857. Scanning.Volume = 1
  1858.  
  1859. local Explode = new("Sound", TopFrame);
  1860. Explode.SoundId = "rbxassetid://10209236"
  1861. Explode.Volume = .5
  1862.  
  1863. local Move = new("Sound", TopFrame);
  1864. Move.SoundId = "rbxassetid://258704467";
  1865. Move.Volume = 1;
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871. function FindShortest(Table)
  1872. local Current = Table[1]
  1873. local Final
  1874. for _,v in pairs(Table) do
  1875. if v[2] ~= Current[2] then
  1876. if v[1] < Current[1] then
  1877. Current = v
  1878. end
  1879. end
  1880. end
  1881. Final = Current
  1882. return Final
  1883. end
  1884.  
  1885. function GetNearbyPlayer()
  1886.  
  1887. local List = {}
  1888. for i,v in pairs(workspace:children()) do
  1889. if (v ~= nil) then
  1890. if (v:IsA'Model') then
  1891. if (v:findFirstChild'Torso' ~= nil) then
  1892. local rx, ry, rz = Hold.CFrame:toEulerAnglesXYZ();
  1893. if (v:findFirstChild'Torso'.Position - Hold.CFrame * CFrame.new(0, 0, 20) * CFrame.Angles(0, ry, 0).p).magnitude < 20 then
  1894. if (v ~= char) then
  1895. for x,z in next, v:children() do
  1896. if z:IsA'Humanoid' and z.Health > 0.01 then
  1897. table.insert(List, {(v:findFirstChild'Torso'.Position - Hold.CFrame * CFrame.new(0, 0, 20) * CFrame.Angles(0, ry, 0).p).magnitude, v})
  1898. end
  1899. end
  1900. end
  1901. end
  1902. end
  1903. end
  1904. end
  1905. end
  1906. if (FindShortest(List) ~= nil) then
  1907. return FindShortest(List)[2];
  1908. else
  1909. return nil;
  1910. end
  1911. end
  1912.  
  1913. local Health = Instance.new("Humanoid", Storage);
  1914. Health.MaxHealth = 150;
  1915. Health.Health = 150;
  1916.  
  1917.  
  1918.  
  1919. function RayC(Part, speed)
  1920. coroutine.wrap(function()
  1921. local Visual = BasePart:clone();
  1922. Visual.FormFactor = "Custom";
  1923. Visual.BrickColor = BrickColor.Yellow();
  1924. Visual.Size = Vector3.new(.2, 3, .2);
  1925. Visual.CFrame = Part.CFrame * CFrame.new(0, -1, 0);
  1926. Visual.Anchored = true;
  1927. Visual.CanCollide = false;
  1928. Visual.Locked = true
  1929.  
  1930.  
  1931. coroutine.wrap(function()
  1932.  
  1933. wait(.2)
  1934.  
  1935. wait(.1);
  1936. wait(.3)
  1937.  
  1938. end)()
  1939.  
  1940. Instance.new("SpecialMesh", Visual).MeshType = "Sphere";
  1941. Visual.Mesh.Scale = Vector3.new(.5, 1, .5);
  1942.  
  1943. local bulletpos = Visual.Position
  1944. local bulletvelocity = (Part.CFrame.p - bulletpos).unit*speed
  1945. local lastbulletpos = Visual.Position
  1946. Visual.Parent = Storage;
  1947. while game:service'RunService'.Stepped:wait() do
  1948.  
  1949. lastbulletpos = bulletpos
  1950. bulletpos = bulletpos + bulletvelocity
  1951. local RayCast = Ray.new(lastbulletpos, (bulletpos - lastbulletpos))
  1952. local hit, hitpos = workspace:FindPartOnRay(RayCast, Storage, false, true)
  1953. if (Joint.Position - Visual.Position).magnitude > 1000 or Visual.Parent == nil then
  1954. Visual:Destroy();
  1955. break
  1956. end
  1957. Visual.Anchored = true
  1958. Visual.CFrame = CFrame.new(bulletpos, bulletpos+bulletvelocity) * CFrame.Angles(math.pi/2, 0, 0);
  1959. if hit then
  1960. if hit.Parent:IsA'Hat' then
  1961. if hit.Parent.Parent:IsA'Model' then
  1962. for x,z in next, hit.Parent.Parent:children() do
  1963. if z:IsA'Humanoid' then
  1964. z:TakeDamage(math.random(8,12));
  1965. end
  1966. end
  1967. end
  1968. else
  1969. if hit.Parent:IsA'Model' then
  1970. for x,z in next, hit.Parent:children() do
  1971. if z:IsA'Humanoid' then
  1972. z:TakeDamage(math.random(8,12));
  1973. end
  1974. end
  1975. end
  1976. end
  1977.  
  1978. Visual:Destroy();
  1979. break
  1980. end
  1981. end
  1982. end)()
  1983. end
  1984.  
  1985. lastTick = tick();
  1986. local db = false;
  1987. game:service'RunService'.RenderStepped:connect(function()
  1988. if Action == "DEAD" then return end;
  1989.  
  1990.  
  1991. if not Wrangler then
  1992. --//
  1993. --// AUTOMATED MODE, MOTION SENSOR WILL DETECT MOVEMENT
  1994. --//
  1995.  
  1996.  
  1997. --//
  1998. --// IF PLAYER USED WRANGLER, THERE IS A SHIELD WICH MUST BE REMOVED
  1999. --//
  2000.  
  2001. if (Storage:findFirstChild'Shield') then
  2002. Storage:findFirstChild'Shield':Destroy();
  2003. end
  2004.  
  2005. local LastTarget = Target;
  2006.  
  2007. --//
  2008. --// CHECK FOR NEARBY ENEMIES
  2009. --//
  2010. local Player = GetNearbyPlayer();
  2011. Target = Player;
  2012.  
  2013. --//
  2014. --// BEEP ON TARGET FOUND
  2015. --//
  2016. if (Target ~= LastTarget and Target ~= nil) then
  2017. Move.Pitch = 0.9 + math.random()/9;
  2018. Move:play();
  2019. OnFind:play();
  2020. Action = "Standby";
  2021. end
  2022.  
  2023. --//
  2024. --// IDLE
  2025. --//
  2026. if Action == "Idle" then
  2027. RotateAxisX.C1 = clerp(RotateAxisX.C1, CFrame.Angles(0, SharpSin(tick()*2)*.2, 0), .1);
  2028. RotateAxisY.C0 = clerp(RotateAxisY.C0, CFrame.new(), .1);
  2029. end
  2030.  
  2031.  
  2032. --//
  2033. --// SENTRY DEAD
  2034. --//
  2035.  
  2036. --//
  2037. --// IF PLAYER EXISTS, FIRE!
  2038. --//
  2039.  
  2040.  
  2041.  
  2042. if Action == "Standby" then
  2043. pcall(function()
  2044. local tor = Target.Torso.CFrame.p -- Target CFrame
  2045. local direction = InvisiBox.CFrame.lookVector -- Direction handling, welds mess up, just a workaround.
  2046. local heading = math.atan2(direction.x, direction.z)--
  2047. local RotY = math.deg(heading)
  2048. if RotY < 0 then
  2049. RotY = (360 - math.abs(RotY));
  2050. end
  2051. RotateAxisX.C1 = --Begin here
  2052. clerp(RotateAxisX.C1,
  2053. CFrame.new(
  2054.  
  2055. Vector3.new(), --The Pivot0 of pointing the weld.
  2056. Vector3.new(tor.x, 0, tor.z) - Vector3.new(RotateAxisX.Part1.CFrame.x, 0, RotateAxisX.Part1.CFrame.z)) --We point the sentry here
  2057.  
  2058. * CFrame.Angles(0, math.rad(360) - math.rad(RotY), 0),
  2059. .1
  2060. );
  2061.  
  2062. local Point = Hold.CFrame:toObjectSpace(CFrame.new(Hold.CFrame.p,tor))*CFrame.Angles(0,math.rad(180),0)
  2063. local RX, RY, RZ = Point:toEulerAnglesXYZ()
  2064. if math.deg(RX) > 45 then
  2065. RX = math.rad(45)
  2066. elseif math.deg(RX) < -55 then
  2067. RX = math.rad(-55)
  2068. end
  2069. RotateAxisY.C0 = clerp(RotateAxisY.C0,CFrame.Angles(RX,0,0),.1)
  2070.  
  2071. end)
  2072. end
  2073. if Action == "Fire" then
  2074. pcall(function()
  2075. local tor = Target.Torso.CFrame.p;
  2076. local direction = InvisiBox.CFrame.lookVector
  2077. local heading = math.atan2(direction.x, direction.z)
  2078. local RotY = math.deg(heading)
  2079. if RotY < 0 then
  2080. RotY = (360 - math.abs(RotY));
  2081. end
  2082. RotateAxisX.C1 = --Begin here
  2083. clerp(RotateAxisX.C1,
  2084. CFrame.new(
  2085.  
  2086. Vector3.new(), --The Pivot0 of pointing the weld.
  2087. Vector3.new(tor.x, 0, tor.z) - Vector3.new(RotateAxisX.Part1.CFrame.x, 0, RotateAxisX.Part1.CFrame.z)) --We point the sentry here
  2088.  
  2089. * CFrame.Angles(0, math.rad(360) - math.rad(RotY), 0),
  2090. .1
  2091. );
  2092.  
  2093. BarrelWeld.C0 = clerp(BarrelWeld.C0, CFrame.new())
  2094. local Point = Hold.CFrame:toObjectSpace(CFrame.new(Hold.CFrame.p,tor))*CFrame.Angles(0,math.rad(180),0)
  2095. local RX, RY, RZ = Point:toEulerAnglesXYZ()
  2096. if math.deg(RX) > 45 then
  2097. RX = math.rad(45)
  2098. elseif math.deg(RX) < -55 then
  2099. RX = math.rad(-55)
  2100. end
  2101. RotateAxisY.C0 = clerp(RotateAxisY.C0,CFrame.Angles(RX,0,0),.1)
  2102. end)
  2103. end
  2104.  
  2105. if (Target ~= nil) then
  2106. if Action == "Fire" or db then return end
  2107. if Action == "Standby" then
  2108. db = true
  2109. wait(.2);
  2110. end
  2111. Action = "Fire";
  2112. db = false
  2113. OnFire:play();
  2114.  
  2115. Particle.Color = ColorSequence.new(Colors[math.random(#Colors)]);
  2116.  
  2117. local PointLight = Instance.new("PointLight", Barrel);
  2118. PointLight.Color = Color3.new(1,.8,0)
  2119. PointLight.Brightness = 6;
  2120. Particle.Enabled = true
  2121. game:service'Debris':AddItem(PointLight, .05);
  2122.  
  2123.  
  2124.  
  2125. RayC(Barrel, 20)
  2126.  
  2127.  
  2128.  
  2129.  
  2130. wait(.1)
  2131. Particle.Enabled = false
  2132. if (Target ~= nil) then
  2133. Action = "Standby";
  2134. else
  2135. Action = "Idle";
  2136. end
  2137. end
  2138.  
  2139. if tick() - lastTick > 2.5 and Target == nil then
  2140. lastTick = tick();
  2141. Scanning:play();
  2142. end
  2143. end
  2144.  
  2145. if (Health.Health < 0.0001 or RotateAxisX.Parent == nil) then
  2146. Action = "DEAD";
  2147. if db then return end
  2148. RotateAxisY:Destroy();
  2149. TurretToFrame:Destroy();
  2150. Joint:Destroy();
  2151. InvisiBox2:Destroy();
  2152. db = true
  2153. local expl = Instance.new("Explosion", Storage);
  2154.  
  2155. expl.BlastRadius = .3;
  2156. expl.BlastPressure = 2050000;
  2157. expl.Position = TopFrame.Position;
  2158. Explode:Play()
  2159. NoSentry = true
  2160. game:service'Debris':AddItem(Storage, 3);
  2161.  
  2162. end
  2163.  
  2164. end)
  2165. end
  2166.  
  2167.  
  2168.  
  2169. combo = 0
  2170. function strike(hit)
  2171. if hit and hit.Parent and hit.Parent.Name ~= char.Name then
  2172. local targetHumanoid = hit.Parent:FindFirstChild("Humanoid")
  2173. if targetHumanoid and targetHumanoid ~= char:FindFirstChild("Humanoid") then
  2174. if combo == 1 then
  2175. targetHumanoid:TakeDamage(slashDamage)
  2176. SwingH:Play()
  2177.  
  2178. end
  2179.  
  2180.  
  2181.  
  2182. end
  2183. end
  2184. end
  2185.  
  2186.  
  2187.  
  2188. Reaper5.Touched:connect(strike)
  2189. --------------------------------------------------------------------------------------------------------------------------
  2190. function AnimSit()
  2191. for i = 0, 1, 0.05 do
  2192.  
  2193. swait()
  2194. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, -1, -.6) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
  2195. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
  2196. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, .1) * angles(math.rad(20), math.rad(0), math.rad(20)), 0.1)
  2197. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(5)), 0.1)
  2198. RH.C0 = clerp(RH.C0, cn(1, -.4, -.4) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2199. LH.C0 = clerp(LH.C0, cn(-1, -1, -.6) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(60)), .1)
  2200. end
  2201.  
  2202. end
  2203.  
  2204. function AnimSitHit1()
  2205. for i = 0, 1, 0.05 do
  2206.  
  2207. swait()
  2208. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, -1, -.6) * angles(math.rad(10), math.rad(0), math.rad(0)), .1)
  2209. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5), math.rad(0), math.rad(0)), .1)
  2210. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, .1) * angles(math.rad(20), math.rad(0), math.rad(20)), 0.1)
  2211. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(170), math.rad(0), math.rad(-5)), 0.08)
  2212. RH.C0 = clerp(RH.C0, cn(1, -.4, -.4) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(10)), .1)
  2213. LH.C0 = clerp(LH.C0, cn(-1, -1, -.6) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(50)), .1)
  2214. end
  2215.  
  2216. end
  2217.  
  2218.  
  2219. function AnimSitHit2()
  2220. for i = 0, 1, 0.05 do
  2221.  
  2222. swait()
  2223. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, -1, -.6) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
  2224. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(15), math.rad(0), math.rad(0)), .1)
  2225. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, .1) * angles(math.rad(20), math.rad(0), math.rad(20)), 0.1)
  2226. RW.C0 = clerp(RW.C0, CFrame.new(1.55, 0.4, -.1) * angles(math.rad(40), math.rad(3 ), math.rad(-15)), 0.3)
  2227. RH.C0 = clerp(RH.C0, cn(1, -.4, -.4) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2228. LH.C0 = clerp(LH.C0, cn(-1, -1, -.6) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(60)), .1)
  2229. end
  2230.  
  2231. end
  2232. --------------------------------------------------------------------------------------------------------------------------
  2233.  
  2234. function No1()
  2235. for i = 0, 1, 0.05 do
  2236.  
  2237. swait()
  2238. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
  2239. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(30), math.rad(0), math.rad(40)), .1)
  2240. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
  2241. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.1)
  2242. RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2243. LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2244. end
  2245.  
  2246. end
  2247.  
  2248.  
  2249.  
  2250. function No2()
  2251. for i = 0, 1, 0.05 do
  2252.  
  2253. swait()
  2254. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
  2255. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(-40)), .1)
  2256. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
  2257. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.1)
  2258. RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2259. LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2260. end
  2261.  
  2262. end
  2263.  
  2264.  
  2265.  
  2266. --------------------------------------------------------------------------------------------------------------------------
  2267.  
  2268. function Yes1()
  2269. for i = 0, 1, 0.1 do
  2270.  
  2271. swait()
  2272. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
  2273. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(25), math.rad(0), math.rad(0)), .1)
  2274. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
  2275. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.1)
  2276. RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2277. LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2278. end
  2279.  
  2280. end
  2281.  
  2282.  
  2283.  
  2284. function Yes2()
  2285. for i = 0, 1, 0.1 do
  2286.  
  2287. swait()
  2288. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,0) * angles(math.rad(0), math.rad(0), math.rad(0)), .1)
  2289. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  2290. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -.1) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
  2291. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.1)
  2292. RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2293. LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(0)), .1)
  2294. end
  2295.  
  2296. end
  2297.  
  2298.  
  2299.  
  2300. --------------------------------------------------------------------------------------------------------------------------
  2301. function AttackAnim1()
  2302. for i = 0, 1, 0.05 do
  2303. swait()
  2304. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .1)
  2305. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5), math.rad(0), math.rad(0)), .1)
  2306. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(170), math.rad(0), math.rad(10)), 0.08)
  2307. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(40), math.rad(0), math.rad(10)), 0.3)
  2308. if Torsovelocity > 2 then
  2309. RH.C0 = clerp(RH.C0, cn(1, -1 + .1 * math.cos(sine / 5), 0) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(30 * math.cos(sine / 4))), .3)
  2310. LH.C0 = clerp(LH.C0, cn(-1, -1 + .1 * math.cos(sine / 5), 0) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(30 * math.cos(sine / 4))), .3)
  2311. elseif Torsovelocity < 1 then
  2312. RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(-5)), .1)
  2313. LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(5)), .1)
  2314. end
  2315. end
  2316. end
  2317.  
  2318.  
  2319. function AttackAnim2()
  2320. for i = 0, 1, 0.05 do
  2321. swait()
  2322. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(5), math.rad(0), math.rad(0)), .2)
  2323. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(5), math.rad(0), math.rad(0)), .1)
  2324. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.1) * angles(math.rad(5), math.rad(10), math.rad(-10)), 0.25)
  2325. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(10)), 0.3)
  2326. if Torsovelocity > 2 then
  2327. RH.C0 = clerp(RH.C0, cn(1, -.9 + -.1 * math.cos(sine / 4),0 + -.1 * math.cos(sine / 4)) * RHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
  2328. LH.C0 = clerp(LH.C0, cn(-1, -.9 + .1 * math.cos(sine / 4), 0 + .1 * math.cos(sine / 4)) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(50 * math.cos(sine / 4))), .3)
  2329.  
  2330. elseif Torsovelocity < 1 then
  2331. RH.C0 = clerp(RH.C0, cn(1, -1, 0) * RHCF * angles(math.rad(-2), math.rad(5), math.rad(5)), .1)
  2332. LH.C0 = clerp(LH.C0, cn(-1, -1, 0) * LHCF * angles(math.rad(-2), math.rad(5), math.rad(-5)), .1)
  2333. end
  2334. end
  2335. end
  2336. --------------------------------------------------------------------------------------------------------------------------
  2337.  
  2338.  
  2339.  
  2340. function ShotAttackAnim1()
  2341. for i = 0, 1, 0.07 do
  2342. swait()
  2343.  
  2344. if Torsovelocity > 2 then
  2345. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-50 - 5 * math.cos(sine / 5))), .2)
  2346. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(50 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
  2347. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(90), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.2)
  2348. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(85 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.2)
  2349. RH.C0 = clerp(RH.C0, cn(.9, -.9 + -.1 * math.cos(sine / 4),-.6) * RHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
  2350. LH.C0 = clerp(LH.C0, cn(-.9, -.9 + .1 * math.cos(sine / 4), .5) * LHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
  2351.  
  2352.  
  2353.  
  2354. elseif Torsovelocity < 1 then
  2355.  
  2356.  
  2357. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .2)
  2358. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(50)), .2)
  2359. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(90), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.2)
  2360. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(85 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.2)
  2361. RH.C0 = clerp(RH.C0, cn(.9, -.9 - 0.1 * math.cos(sine / 25), -.6) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
  2362. LH.C0 = clerp(LH.C0, cn(-.9, -.9 - 0.1 * math.cos(sine / 25), .5) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
  2363.  
  2364.  
  2365. end
  2366. end
  2367. end
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373. function ShotAttackAnim2()
  2374. for i = 0, 1, 0.05 do
  2375. swait()
  2376.  
  2377. if Torsovelocity > 2 then
  2378. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-50 - 5 * math.cos(sine / 5))), .2)
  2379. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(50 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
  2380. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(100), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
  2381. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(75 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
  2382. RH.C0 = clerp(RH.C0, cn(.9, -.9 + -.1 * math.cos(sine / 4),-.6) * RHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
  2383. LH.C0 = clerp(LH.C0, cn(-.9, -.9 + .1 * math.cos(sine / 4), .5) * LHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
  2384.  
  2385.  
  2386.  
  2387. elseif Torsovelocity < 1 then
  2388.  
  2389.  
  2390. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .2)
  2391. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(50)), .2)
  2392. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * angles(math.rad(100), math.rad(0 - .01 * math.cos(sine / 25)), math.rad(-40 + 0.1 * math.cos(sine / 25))), 0.1)
  2393. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.4, -.4) * angles(math.rad(75 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-10 - 1 * math.cos(sine / 25))), 0.1)
  2394. RH.C0 = clerp(RH.C0, cn(.9, -.9 - 0.1 * math.cos(sine / 25), -.6) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
  2395. LH.C0 = clerp(LH.C0, cn(-.9, -.9 - 0.1 * math.cos(sine / 25), .5) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
  2396.  
  2397.  
  2398. end
  2399. end
  2400. end
  2401.  
  2402.  
  2403.  
  2404. function ShotAttackAnim3()
  2405. for i = 0, 1, 0.05 do
  2406. swait()
  2407.  
  2408. if Torsovelocity > 2 then
  2409. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-50 - 5 * math.cos(sine / 5))), .2)
  2410. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(50 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
  2411. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.56, -.2) * angles(math.rad(45), math.rad(-20 - .01 * math.cos(sine / 25)), math.rad(-70 + 0.1 * math.cos(sine / 25))), 0.2)
  2412. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -.6) * angles(math.rad(115 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-30 - 1 * math.cos(sine / 25))), 0.2)
  2413. RH.C0 = clerp(RH.C0, cn(.9, -.9 + -.1 * math.cos(sine / 4),-.6) * RHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
  2414. LH.C0 = clerp(LH.C0, cn(-.9, -.9 + .1 * math.cos(sine / 4), .5) * LHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
  2415.  
  2416.  
  2417.  
  2418. elseif Torsovelocity < 1 then
  2419.  
  2420.  
  2421. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .2)
  2422. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(50)), .2)
  2423. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.56, -.2) * angles(math.rad(45), math.rad(-20 - .01 * math.cos(sine / 25)), math.rad(-70 + 0.1 * math.cos(sine / 25))), 0.2)
  2424. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -.6) * angles(math.rad(115 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-30 - 1 * math.cos(sine / 25))), 0.2)
  2425. RH.C0 = clerp(RH.C0, cn(.9, -.9 - 0.1 * math.cos(sine / 25), -.6) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
  2426. LH.C0 = clerp(LH.C0, cn(-.9, -.9 - 0.1 * math.cos(sine / 25), .5) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
  2427.  
  2428.  
  2429. end
  2430. end
  2431. end
  2432.  
  2433. function ShotAttackAnim4()
  2434. for i = 0, 1, 0.05 do
  2435. swait()
  2436.  
  2437. if Torsovelocity > 2 then
  2438. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, -0.05 + .1 * math.cos(sine / 3)) * angles(math.rad(5), math.rad(0) + RootPart.RotVelocity.Y / 30, math.rad(-50 - 5 * math.cos(sine / 5))), .2)
  2439. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-3), math.rad(0), math.rad(50 + 5 * math.cos(sine / 5)) + RootPart.RotVelocity.Y / 9), .2)
  2440. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.56, 0) * angles(math.rad(45), math.rad(-20 - .01 * math.cos(sine / 25)), math.rad(-70 + 0.1 * math.cos(sine / 25))), 0.2)
  2441. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -.8) * angles(math.rad(115 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-50 - 1 * math.cos(sine / 25))), 0.2)
  2442. RH.C0 = clerp(RH.C0, cn(.9, -.9 + -.1 * math.cos(sine / 4),-.6) * RHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
  2443. LH.C0 = clerp(LH.C0, cn(-.9, -.9 + .1 * math.cos(sine / 4), .5) * LHCF * angles(math.rad(-2), math.rad(50), math.rad(50 * math.cos(sine / 4))), .3)
  2444.  
  2445.  
  2446.  
  2447. elseif Torsovelocity < 1 then
  2448.  
  2449.  
  2450. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .2)
  2451. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(50)), .2)
  2452. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.56, 0) * angles(math.rad(45), math.rad(-20 - .01 * math.cos(sine / 25)), math.rad(-70 + 0.1 * math.cos(sine / 25))), 0.2)
  2453. LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -.8) * angles(math.rad(115 + 1 * math.cos(sine / 25)), math.rad(15), math.rad(-50 - 1 * math.cos(sine / 25))), 0.2)
  2454. RH.C0 = clerp(RH.C0, cn(.9, -.9 - 0.1 * math.cos(sine / 25), -.6) * RHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
  2455. LH.C0 = clerp(LH.C0, cn(-.9, -.9 - 0.1 * math.cos(sine / 25), .5) * LHCF * angles(math.rad(-2 + 1 * math.cos(sine / 25)), math.rad(50), math.rad(10 + 2 * math.cos(sine / 25))), .2)
  2456.  
  2457.  
  2458. end
  2459. end
  2460. end
  2461. --------------------------------------------------------------------------------------------------------------------------
  2462.  
  2463. function DanAni1()
  2464. for i = 0, .8, 0.05 + MusThingHat.Mesh.Scale.Y*0.025 do
  2465.  
  2466. swait()
  2467. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,-.4) * angles(math.rad(5), math.rad(-8), math.rad(0)), MusThingHat.Mesh.Scale.Y*0.2)
  2468. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(MusThingHat.Mesh.Scale.Y*30) +math.rad(-10),0,math.rad(0)),MusThingHat.Mesh.Scale.Y*0.2)
  2469. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -.25) * angles(math.rad(170), math.rad(0), math.rad(20)), MusThingHat.Mesh.Scale.Y*0.2)
  2470. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.0) * angles(math.rad(90), math.rad(0), math.rad(-45)), MusThingHat.Mesh.Scale.Y*0.2)
  2471. RH.C0 = clerp(RH.C0, cn(1, -.2, -.4) * RHCF * angles(math.rad(-4), math.rad(-15), math.rad(-5)), MusThingHat.Mesh.Scale.Y*0.3)
  2472. LH.C0 = clerp(LH.C0, cn(-1, -1, -.0) * LHCF * angles(math.rad(4), math.rad(5), math.rad(5)), MusThingHat.Mesh.Scale.Y*0.2)
  2473. end
  2474.  
  2475. end
  2476.  
  2477.  
  2478.  
  2479. function DanAni2()
  2480. for i = 0, .8, 0.05 + MusThingHat.Mesh.Scale.Y*0.025 do
  2481.  
  2482. swait()
  2483. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cn(0,0,-.5) * angles(math.rad(8), math.rad(8), math.rad(0)), MusThingHat.Mesh.Scale.Y*0.2)
  2484. Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(MusThingHat.Mesh.Scale.Y*30) +math.rad(-10),0,math.rad(0)),MusThingHat.Mesh.Scale.Y*0.2)
  2485. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.6, -.25) * angles(math.rad(180), math.rad(0), math.rad(25)), MusThingHat.Mesh.Scale.Y*0.2)
  2486. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, -.0) * angles(math.rad(0), math.rad(0), math.rad(45)), MusThingHat.Mesh.Scale.Y*0.2)
  2487. RH.C0 = clerp(RH.C0, cn(1, -1, -.0) * RHCF * angles(math.rad(4), math.rad(-5), math.rad(-8)), MusThingHat.Mesh.Scale.Y*0.2)
  2488. LH.C0 = clerp(LH.C0, cn(-1, -.2, -.4) * LHCF * angles(math.rad(-4), math.rad(15), math.rad(8)), MusThingHat.Mesh.Scale.Y*0.3)
  2489. end
  2490.  
  2491.  
  2492. end
  2493.  
  2494.  
  2495.  
  2496. --------------------------------------------------------------------------------------------------------------------------
  2497.  
  2498. BuildNow = false
  2499.  
  2500. Shotuse = false
  2501.  
  2502. wait2 = false
  2503.  
  2504. mouse.KeyDown:connect(function(key)
  2505.  
  2506. if key == "g" and attack == false then
  2507. yes:Play()
  2508. head.face.Texture = "http://www.roblox.com/asset/?id=393521316"
  2509. humanoid.WalkSpeed = 0
  2510. attack = true
  2511. Yes1()
  2512. Yes2()
  2513. Yes1()
  2514. Yes2()
  2515. attack = false
  2516. humanoid.WalkSpeed = 16
  2517. head.face.Texture = "http://www.roblox.com/asset/?id=156600391"
  2518. end
  2519. end)
  2520.  
  2521.  
  2522. mouse.KeyDown:connect(function(key)
  2523. if key == "e" and attack == false then
  2524. if Wep == 1 then
  2525. Wep = 2
  2526. else
  2527. Wep = 1
  2528. end
  2529.  
  2530.  
  2531. end
  2532. end)
  2533.  
  2534. mouse.KeyDown:connect(function(key)
  2535. if key == "p" and attack == false then
  2536.  
  2537. Wep = 3
  2538.  
  2539.  
  2540.  
  2541. end
  2542. end)
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555. equippedgun = true
  2556.  
  2557.  
  2558.  
  2559.  
  2560. coroutine.wrap(function()
  2561. while equippedgun do
  2562.  
  2563. if spread < 0 then spread = 0 end
  2564. if humanoid.Health == 0 then break end
  2565.  
  2566.  
  2567. game:service'RunService'.Stepped:wait()
  2568. end
  2569. end)()
  2570.  
  2571. mouse.Button1Down:connect(function()
  2572. if debounce then return end
  2573. if equippedgun2 == true and attack == false then
  2574. Shotuse = true
  2575. debounce = true
  2576.  
  2577. wait(.2)
  2578.  
  2579. sound:play()
  2580.  
  2581.  
  2582.  
  2583. coroutine.wrap(function()
  2584. wait(0.3)
  2585. for angle = 0, 4 do
  2586.  
  2587. wait()
  2588. end
  2589.  
  2590. wait(0.2)
  2591. sound2:play()
  2592.  
  2593.  
  2594. wait(0.1)
  2595. for move = 0, 3 do
  2596. if move > 2 then return end
  2597.  
  2598.  
  2599. wait(0.06)
  2600. end
  2601. end)()
  2602. spread = spread + 1
  2603. coroutine.wrap(function()
  2604. for bullitz = 0, 7 do
  2605. if bullitz > 6 then return end
  2606. rayCast2(300, 1, Reaper4)
  2607. GunParticle.Enabled = true
  2608. local PointLight = Instance.new("PointLight", Reaper4);
  2609. PointLight.Color = Color3.new(.2,.2,0)
  2610. PointLight.Brightness = 2;
  2611. game:service'Debris':AddItem(PointLight, .05);
  2612. end
  2613. end)()
  2614. coroutine.wrap(function()
  2615. for _ = 0, 50 do
  2616. pcall(function()
  2617. spread = spread - 0.03
  2618. end)
  2619. wait()
  2620. end
  2621. end)()
  2622. wait(1)
  2623. debounce = false
  2624. end
  2625.  
  2626. end)
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636. mouse.Button1Down:connect(function(key)
  2637.  
  2638. if attack == false and Wep == 1 then
  2639. attack = true
  2640.  
  2641. AttackAnim1()
  2642. combo = 1
  2643. Swing:Play()
  2644. AttackAnim2()
  2645. attack = false
  2646. combo = 0
  2647. end
  2648. end)
  2649.  
  2650.  
  2651.  
  2652. mouse.KeyDown:connect(function(key)
  2653.  
  2654. if key == "f" and attack == false then
  2655. No:Play()
  2656. humanoid.WalkSpeed = 0
  2657. attack = true
  2658. No1()
  2659. No2()
  2660. attack = false
  2661. humanoid.WalkSpeed = 16
  2662. end
  2663. end)
  2664.  
  2665.  
  2666.  
  2667.  
  2668. mouse.KeyDown:connect(function(key)
  2669. if attack == false or DA == true then
  2670. if key == "r" and Wep == 3 then
  2671.  
  2672. if DA == false then
  2673. DA = true
  2674. RUS:Play()
  2675. attack=true
  2676. humanoid.WalkSpeed = 0
  2677. head.face.Texture = "http://www.roblox.com/asset/?id=393521316"
  2678. else
  2679. DA = false
  2680. RUS:Stop()
  2681. attack=false
  2682. humanoid.WalkSpeed = 16
  2683. head.face.Texture = "http://www.roblox.com/asset/?id=156600391"
  2684. end
  2685. end
  2686. end
  2687. end)
  2688.  
  2689.  
  2690.  
  2691. mouse.KeyDown:connect(function(key)
  2692.  
  2693. if key == "t" and attack == false then
  2694. Taunt:Play()
  2695. humanoid.WalkSpeed = 0
  2696. attack = true
  2697. No1()
  2698. Yes2()
  2699. attack = false
  2700. humanoid.WalkSpeed = 16
  2701. end
  2702. end)
  2703.  
  2704. mouse.KeyDown:connect(function(key)
  2705. if key == "z" then
  2706.  
  2707.  
  2708.  
  2709. if NoSentry == false and attack == false and wait2 == false then
  2710. wait2 = true
  2711. for i,v in pairs(script:children()) do
  2712. if (v:IsA'Model') then
  2713.  
  2714.  
  2715. for i,v in pairs(v:children()) do
  2716. if (v:IsA'Humanoid') then
  2717. v.Health = 0
  2718. end
  2719. end
  2720.  
  2721.  
  2722. end
  2723.  
  2724. NoSentry = true
  2725.  
  2726. end
  2727.  
  2728.  
  2729.  
  2730. end
  2731.  
  2732.  
  2733.  
  2734. if NoSentry == true and attack == false and wait2 == false and Wep == 1 then
  2735. attack = true
  2736. wait2 = true
  2737. humanoid.WalkSpeed = 0
  2738. AnimSit()
  2739. AnimSitHit1()
  2740. WSH = WSHM[math.random(1,#WSHM)]
  2741. HitM.SoundId = "rbxassetid://"..WSH
  2742. HitM:Play()
  2743. BuildNow = true
  2744. AnimSitHit2()
  2745. AnimSitHit1()
  2746. WSH = WSHM[math.random(1,#WSHM)]
  2747. HitM.SoundId = "rbxassetid://"..WSH
  2748. HitM:Play()
  2749. AnimSitHit2()
  2750. AnimSitHit1()
  2751. WSH = WSHM[math.random(1,#WSHM)]
  2752. HitM.SoundId = "rbxassetid://"..WSH
  2753. HitM:Play()
  2754. AnimSitHit2()
  2755. AnimSitHit1()
  2756. WSH = WSHM[math.random(1,#WSHM)]
  2757. HitM.SoundId = "rbxassetid://"..WSH
  2758. HitM:Play()
  2759. AnimSitHit2()
  2760. AnimSitHit1()
  2761. WSH = WSHM[math.random(1,#WSHM)]
  2762. HitM.SoundId = "rbxassetid://"..WSH
  2763. HitM:Play()
  2764. AnimSitHit2()
  2765. AnimSitHit1()
  2766. WSH = WSHM[math.random(1,#WSHM)]
  2767. HitM.SoundId = "rbxassetid://"..WSH
  2768. HitM:Play()
  2769. AnimSitHit2()
  2770. AnimSitHit1()
  2771. WSH = WSHM[math.random(1,#WSHM)]
  2772. HitM.SoundId = "rbxassetid://"..WSH
  2773. HitM:Play()
  2774. AnimSitHit2()
  2775. AnimSitHit1()
  2776. WSH = WSHM[math.random(1,#WSHM)]
  2777. HitM.SoundId = "rbxassetid://"..WSH
  2778. HitM:Play()
  2779. AnimSitHit2()
  2780. AnimSitHit1()
  2781. WSH = WSHM[math.random(1,#WSHM)]
  2782. HitM.SoundId = "rbxassetid://"..WSH
  2783. HitM:Play()
  2784. AnimSitHit2()
  2785. AnimSitHit1()
  2786. WSH = WSHM[math.random(1,#WSHM)]
  2787. HitM.SoundId = "rbxassetid://"..WSH
  2788. HitM:Play()
  2789. AnimSitHit2()
  2790. AnimSit()
  2791.  
  2792. humanoid.WalkSpeed = 16
  2793. attack = false
  2794. NoSentry = false
  2795.  
  2796. end
  2797. wait()
  2798.  
  2799. wait2 = false
  2800. end end)
  2801.  
  2802.  
  2803.  
  2804. humanoid.Died:connect(function()
  2805. Arms:Destroy()
  2806. end)
  2807.  
  2808. print([[
  2809.  
  2810.  
  2811. ----------------------------------------
  2812. Tf2 Engineer Class
  2813. ----------------------------------------
  2814. Script by: 123jl123
  2815. Sentry by: Madiik
  2816. TheBoozled gave me a Mesh and Sounds from tf2
  2817. ----------------------------------------
  2818. Dont leak and dont do it.....
  2819. ----------------------------------------
  2820. ]])
  2821.  
  2822. game:GetService("RunService"):BindToRenderStep("ew", 0, function()
  2823. MusThingHat.Mesh.Scale = Vector3.new(MusThingHat.Mesh.Scale.X, RUS.PlaybackLoudness / 160, MusThingHat.Mesh.Scale.Z)
  2824. end)
  2825.  
  2826. local mesh1anan = Instance.new("SpecialMesh")
  2827. mesh1anan.MeshType = Enum.MeshType.FileMesh
  2828. mesh1anan.Scale = Vector3.new(3,3,3)
  2829. mesh1anan.MeshId = "http://www.roblox.com/asset/?id=521754610"
  2830. mesh1anan.TextureId = "http://www.roblox.com/asset/?id=521754612"
  2831.  
  2832. Glow1 = Color3.new(1,1,1)
  2833. Glow2 = Color3.new(0,0,0)
  2834.  
  2835. GlowParticle = Instance.new("ParticleEmitter")
  2836. GlowParticle.LightEmission = 1
  2837.  
  2838. GlowParticle.Size = NumberSequence.new(0,2)
  2839. GlowParticle.Texture = "http://www.roblox.com/asset/?id=52620985"
  2840. GlowParticle.Transparency = NumberSequence.new(0,1)
  2841. GlowParticle.LockedToPart = false
  2842. GlowParticle.Lifetime = NumberRange.new(0.5)
  2843. GlowParticle.Rate= 25
  2844. GlowParticle.Speed =NumberRange.new(0)
  2845.  
  2846.  
  2847. function RainDucks()
  2848. local locationanan = char.Torso.CFrame
  2849. local tacoa = Instance.new("Part")
  2850. tacoa.Size = Vector3.new(.5,.5,.5)
  2851. tacoa.CanCollide = false
  2852. tacoa.RotVelocity = Vector3.new(math.random(0,6),math.random(0,6),math.random(0,6))
  2853. local meshanananan = mesh1anan:clone()
  2854. meshanananan.Parent = tacoa
  2855. meshanananan.Scale = Vector3.new(1,1,1)
  2856. tacoa.CFrame = locationanan * CFrame.new(math.random(-8,8),math.random(10,40),math.random(-8,8))
  2857. tacoa.Parent = workspace
  2858.  
  2859.  
  2860. game:GetService("Debris"):AddItem(tacoa,4)
  2861. local GP = GlowParticle:clone()
  2862. GP.Parent = tacoa
  2863. Glow1 = Color3.new(math.random(), math.random(), math.random())
  2864. GP.Color = ColorSequence.new(Glow1,Glow2)
  2865.  
  2866. end
  2867.  
  2868.  
  2869.  
  2870. --]]
  2871.  
  2872.  
  2873.  
  2874. while true do wait()
  2875. if BuildNow == true then
  2876. BuildNow = false
  2877.  
  2878. BuildSentry()
  2879. end
  2880. if Shotuse == true then
  2881. Shotuse = false
  2882. attack = true
  2883. ShotAttackAnim1()
  2884. GunParticle.Enabled = false
  2885. ShotAttackAnim2()
  2886. ShotAttackAnim3()
  2887. ShotAttackAnim4()
  2888. ShotAttackAnim3()
  2889. attack = false
  2890. end
  2891.  
  2892.  
  2893.  
  2894.  
  2895. if DA == true then
  2896. DanAni1()
  2897. RainDucks()
  2898. local PointLight = Instance.new("PointLight", Torso);
  2899. PointLight.Color = Color3.new(math.random(), math.random(), math.random())
  2900. PointLight.Brightness = 50;
  2901. PointLight.Range = MusThingHat.Mesh.Scale.Y*10;
  2902. game:service'Debris':AddItem(PointLight, .3);
  2903.  
  2904. DanAni2()
  2905. RainDucks()
  2906. local PointLight = Instance.new("PointLight", Torso);
  2907. PointLight.Color = Color3.new(math.random(), math.random(), math.random())
  2908. PointLight.Brightness = 50;
  2909. PointLight.Range = MusThingHat.Mesh.Scale.Y*10;
  2910. game:service'Debris':AddItem(PointLight, .3);
  2911.  
  2912.  
  2913.  
  2914. end
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement