Advertisement
epicboi

Untitled

Apr 7th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 84.11 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. local RealPlayer = Player
  4. do print("FE Compatibility code by Mokiros");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer
  5. script.Parent = InternalData.RealOwner.Character
  6. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
  7. local function createObject (connections, index)
  8. local proxy = newproxy (true);local meta = getmetatable (proxy);
  9. local runbind = function (self, i, ...) connections[i]:Fire (...); end;
  10. while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
  11. meta.__index = function (self, i)
  12. if (i == 'TriggerEvent') then return runbind end;
  13. return connections[i] and connections[i].Event or index[i];
  14. end;
  15. meta.__newindex = index;meta.__metatable = false;return proxy
  16. end;
  17. local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
  18. local UserInputService = createObject({"InputBegan","InputEnded"},{})
  19. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  20. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  21. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  22. Event.OnServerEvent:Connect(function(FiredBy,Input)
  23. if FiredBy ~= InternalData.RealOwner then return end
  24. if Input.MouseEvent then
  25. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  26. elseif Input.Sound then
  27. if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
  28. else
  29. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  30. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
  31. for _,Action in pairs(ContextActionService.Actions) do
  32. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  33. end
  34. Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  35. end
  36. end)
  37. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  38. Event.Parent = NLS([[
  39. local Player = owner;
  40. local Sounds = {};
  41. local Event = script:WaitForChild("UserInput");
  42. local UserInputService = game:GetService("UserInputService");
  43. local Mouse = Player:GetMouse();
  44. local Input = function(Input,gameProcessedEvent)
  45. if gameProcessedEvent then return end
  46. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  47. end
  48. Event.OnClientEvent:connect(function(Args)
  49. if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
  50. end)
  51. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  52. local Hit,Target
  53. while wait(1/30) do
  54. for x,Sound in pairs(Sounds) do
  55. if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
  56. end
  57. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  58. Hit = Mouse.Hit;Target = Mouse.Target;
  59. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  60. end
  61. end
  62. ]],InternalData.RealOwner.Character)
  63. end
  64. InternalData.NewOwner = setmetatable({},{
  65. __index = function (self,Index)
  66. local Type = type(InternalData.RealOwner[Index])
  67. if Type == "function" then
  68. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  69. return function (self)return InternalData["Mouse"] end
  70. end
  71. return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
  72. elseif Index == "FakePlayer" then
  73. return true
  74. end
  75. return InternalData.RealOwner[Index]
  76. end;
  77. __tostring = function(self) return tostring(InternalData.RealOwner) end
  78. })
  79. --LoadLibrary("RbxUtility").Create
  80. InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
  81. if Library == "RbxUtility" then
  82. return setmetatable({},{
  83. __tostring = function() return "RbxUtility" end;
  84. __index = function(self, Index)
  85. if Index:lower() == "create" then
  86. return function(Type)
  87. return function(Data)
  88. Data = Data or {}
  89. local Inst = Instance.new(Type)
  90. for x,y in pairs(Data) do
  91. if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
  92. if y == owner then y = InternalData.RealOwner end
  93. Inst[x] = y
  94. end
  95. return Inst
  96. end
  97. end
  98. end
  99. return InternalData.LoadLibrary(Library)[Index]
  100. end
  101. })
  102. end
  103. return InternalData.LoadLibrary(Library)
  104. end
  105. InternalData.RealInstance = Instance;Instance = setmetatable({},{
  106. __index = function (self,Index)
  107. if Index:lower() == 'new' then
  108. return function (Type, Parent)
  109. if Parent == owner then Parent = InternalData.RealOwner end
  110. if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
  111. local Real = InternalData.RealInstance.new(Type,Parent)
  112. if not Type then return end
  113. if Type == "BillboardGui" then
  114. local ToReturn = setmetatable({},{
  115. __index = function (self,Index)
  116. if type(Real[Index]) == "function" then
  117. if Index:lower() == "clone" then
  118. return function (self)
  119. local Real = Real:Clone()
  120. local ToReturn = setmetatable({RealObject = Real},{
  121. __index = function (self,Index)
  122. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  123. return Real[Index]
  124. end;
  125. __newindex = function (self,Index,Value)
  126. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  127. if Value == owner then Value = InternalData.RealOwner end
  128. Real[Index] = Value
  129. end;
  130. __tostring = function(self) return tostring(Real) end;
  131. })
  132. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  133. end
  134. end
  135. return function (self,...) return Real[Index](Real,...)end
  136. end
  137. return Real[Index]
  138. end;
  139. __newindex = function (self,Index,Value)
  140. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  141. if Value == owner then Value = InternalData.RealOwner end
  142. Real[Index] = Value
  143. end;
  144. __tostring = function(self) return tostring(Real) end;
  145. })
  146. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  147. elseif Type:lower() == "sound" then
  148. Real.Parent = owner.Character;
  149. local ToReturn = setmetatable({RealObject = Real},{
  150. __index = function (self,Index)
  151. if Index:lower() == "playbackloudness" then
  152. return InternalData.SoundLoudness[Real] or 0
  153. elseif type(Real[Index]) == "function" then
  154. if Index:lower() == "clone" then
  155. return function (self)
  156. local Real = Real:Clone()
  157. local ToReturn = setmetatable({},{
  158. __index = function (self,Index)
  159. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  160. return Real[Index]
  161. end;
  162. __newindex = function (self,Index,Value)
  163. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  164. if Value == owner then Value = InternalData.RealOwner end
  165. Real[Index] = Value
  166. end;
  167. __tostring = function(self) return tostring(Real) end;
  168. })
  169. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  170. end
  171. end
  172. return function (self,...) return Real[Index](Real,...)end
  173. end
  174. return Real[Index]
  175. end;
  176. __newindex = function (self,Index,Value)
  177. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  178. if Value == owner then Value = InternalData.RealOwner end
  179. Real[Index] = Value
  180. end;
  181. __tostring = function(self) return tostring(Real) end;
  182. })
  183. InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
  184. else
  185. local ToReturn = setmetatable({RealObject = Real},{
  186. __index = function (self,Index)
  187. if type(Real[Index]) == "function" then
  188. if Index:lower() == "clone" then
  189. return function (self)
  190. local Real = Real:Clone()
  191. local ToReturn = setmetatable({},{
  192. __index = function (self,Index)
  193. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  194. return Real[Index]
  195. end;
  196. __newindex = function (self,Index,Value)
  197. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  198. if Value == owner then Value = InternalData.RealOwner end
  199. Real[Index] = Value
  200. end;
  201. __tostring = function(self) return tostring(Real) end;
  202. })
  203. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  204. end
  205. end
  206. return function (self,...) return Real[Index](Real,...)end
  207. end
  208. return Real[Index]
  209. end;
  210. __newindex = function (self,Index,Value)
  211. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  212. if Value == owner then Value = InternalData.RealOwner end
  213. Real[Index] = Value
  214. end;
  215. __tostring = function(self) return tostring(Real) end;
  216. })
  217. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  218. end
  219. end
  220. end
  221. return InternalData.RealInstance[Index]
  222. end;
  223. __tostring = function(self) return tostring(InternalData.RealInstance) end;
  224. });
  225. InternalData.RealGame = game;game = setmetatable({},{
  226. __index = function (self,Index)
  227. if InternalData.RealGame[Index] then
  228. local Type = type(InternalData.RealGame[Index])
  229. if Type == "function" then
  230. if Index:lower() == "getservice" or Index:lower() == "service" then
  231. return function (self,Service)
  232. local FakeServices = {
  233. ["players"] = function()
  234. return setmetatable({},{
  235. __index = function (self2,Index2)
  236. local RealService = InternalData.RealGame:GetService(Service)
  237. local Type2 = type(RealService[Index2])
  238. if Type2 == "function" then
  239. return function (self,...) return RealService[Index2](RealService,...)end
  240. else
  241. if Index2:lower() == "localplayer" then return InternalData.NewOwner end
  242. return RealService[Index2]
  243. end
  244. end;
  245. __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
  246. })
  247. end;
  248. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  249. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  250. ["debris"] = function()
  251. return setmetatable({},{
  252. __index = function(self2,Index2)
  253. local RealService = InternalData.RealGame:GetService(Service)
  254. local Type2 = type(RealService[Index2])
  255. if Type2 == "function" then
  256. if Index2:lower() == "additem" then
  257. return function (self,Item,Time)
  258. if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
  259. return RealService:AddItem(Item,Time)
  260. end
  261. end
  262. return function (self,...) return RealService[Index2](RealService,...) end
  263. end
  264. return RealService[Index2]
  265. end;
  266. __tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
  267. })
  268. end;
  269. ["runservice"] = function()
  270. return setmetatable({},{
  271. __index = function(self2,Index2)
  272. local RealService = InternalData.RealGame:GetService(Service)
  273. local Type2 = type(RealService[Index2])
  274. if Type2 == "function" then
  275. return function (self,...) return RealService[Index2](RealService,...) end
  276. else
  277. local RunServices = {
  278. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  279. ["renderstepped"] = function() return RealService["Stepped"] end
  280. }
  281. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  282. return RealService[Index2]
  283. end
  284. end;
  285. __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
  286. })
  287. end
  288. }
  289. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  290. return InternalData.RealGame:GetService(Service)
  291. end
  292. end
  293. return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
  294. else
  295. if game:GetService(Index) then return game:GetService(Index) end
  296. return InternalData.RealGame[Index]
  297. end
  298. end
  299. return nil
  300. end;
  301. __tostring = function(self) return tostring(InternalData.game) end
  302. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
  303. local Player = game:service'Players':GetPlayerFromCharacter(script.Parent)
  304. if Player then
  305. local Owner = script.Owner
  306. Owner.Value = Owner.Value
  307. Owner:Destroy()
  308. local FakeMouse = script.FakeMouse:Clone();
  309. FakeMouse.Parent = Player.Character;
  310. script.FakeMouse:Destroy()
  311. do
  312. local GUID = {}
  313. do
  314. GUID.IDs = {};
  315. function GUID:new(len)
  316. local id;
  317. if(not len)then
  318. id = (tostring(function() end))
  319. id = id:gsub("function: ","")
  320. else
  321. local function genID(len)
  322. local newID = ""
  323. for i = 1,len do
  324. newID = newID..string.char(math.random(48,90))
  325. end
  326. return newID
  327. end
  328. repeat id = genID(len) until not GUID.IDs[id]
  329. local oid = id;
  330. id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
  331. GUID.IDs[oid]=true;
  332. end
  333. return id
  334. end
  335. end
  336.  
  337. local AHB = Instance.new("BindableEvent")
  338.  
  339. local FPS = 30
  340.  
  341. local TimeFrame = 0
  342.  
  343. local LastFrame = tick()
  344. local Frame = 1/FPS
  345.  
  346. game:service'RunService'.Heartbeat:connect(function(s,p)
  347. TimeFrame = TimeFrame + s
  348. if(TimeFrame >= Frame)then
  349. for i = 1,math.floor(TimeFrame/Frame) do
  350. AHB:Fire()
  351. end
  352. LastFrame=tick()
  353. TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
  354. end
  355. end)
  356.  
  357.  
  358. function swait(dur)
  359. if(dur == 0 or typeof(dur) ~= 'number')then
  360. AHB.Event:wait()
  361. else
  362. for i = 1, dur*FPS do
  363. AHB.Event:wait()
  364. end
  365. end
  366. end
  367.  
  368. local oPlayer = Player
  369. local Player = oPlayer
  370.  
  371. local loudnesses={}
  372. script.Parent = Player.Character
  373. local CoAS = {Actions={}}
  374. local Event = Instance.new("RemoteEvent")
  375. Event.Name = "UserInputEvent"
  376. Event.Parent = Player.Character
  377. local Func = Instance.new("RemoteFunction")
  378. Func.Name = "GetClientProperty"
  379. Func.Parent = Player.Character
  380. local fakeEvent = function()
  381. local t = {_fakeEvent=true,Waited={},Connected={}}
  382. t.Connect = function(self,f)
  383. local ft={}
  384. ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
  385. ft.Disconnect=ft.disconnect
  386.  
  387. ft.Func=function(...)
  388. for id,_ in next, t.Waited do
  389. t.Waited[id] = true
  390. end
  391. return f(...)
  392. end;
  393.  
  394. table.insert(self.Connected,ft)
  395. return ft;
  396. end
  397. t.connect = t.Connect
  398. t.Wait = function()
  399. local guid = GUID:new(25)
  400. local waitingId = guid:Get()
  401. t.Waited[waitingId]=false
  402. repeat swait() until t.Waited[waitingId]==true
  403. t.Waited[waitingId]=nil;
  404. guid:Trash()
  405. end
  406. t.wait = t.Wait
  407. return t
  408. end
  409. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  410. local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  411. local Run = {RenderStepped=fakeEvent()}
  412.  
  413. function CoAS:BindAction(name,fun,touch,...)
  414. CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
  415. end
  416. function CoAS:UnbindAction(name)
  417. CoAS.Actions[name] = nil
  418. end
  419. local function te(self,ev,...)
  420. local t = self[ev]
  421. if t and t._fakeEvent and t.Connected then
  422. for i,v in next, t.Connected do
  423. if(v.Func and not v.Disconnected)then
  424. v.Func(...)
  425. else
  426. t.Connected[i]=nil
  427. end
  428. end
  429. end
  430. end
  431. m.TrigEvent = te
  432. UsIS.TrigEvent = te
  433. Run.TrigEvent = te
  434. Event.OnServerEvent:Connect(function(plr,io)
  435. if plr~=Player then return end
  436. --[[table.foreach(io,print)
  437. print'---']]
  438. if io.Mouse then
  439. m.Target = io.Target
  440. m.Hit = io.Hit
  441. elseif io.KeyEvent then
  442. m:TrigEvent('Key'..io.KeyEvent,io.Key)
  443. elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
  444. if io.UserInputState == Enum.UserInputState.Begin then
  445. m:TrigEvent("Button1Down")
  446. else
  447. m:TrigEvent("Button1Up")
  448. end
  449. end
  450. if(not io.KeyEvent and not io.Mouse)then
  451.  
  452. for n,t in pairs(CoAS.Actions) do
  453. for _,k in pairs(t.Keys) do
  454. if k==io.KeyCode then
  455. t.Function(t.Name,io.UserInputState,io)
  456. end
  457. end
  458. end
  459. if io.UserInputState == Enum.UserInputState.Begin then
  460. UsIS:TrigEvent("InputBegan",io,false)
  461. else
  462. UsIS:TrigEvent("InputEnded",io,false)
  463. end
  464. end
  465. end)
  466.  
  467. Func.OnServerInvoke = function(plr,inst,play)
  468. if plr~=Player then return end
  469. if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
  470. loudnesses[inst]=play
  471. end
  472. end
  473.  
  474. function GetClientProperty(inst,prop)
  475. --if(script:IsA'LocalScript' or game:service'RunService':IsStudio())then return prop[inst] end
  476. if(prop == 'PlaybackLoudness' and loudnesses[inst])then
  477. return loudnesses[inst]
  478. elseif(prop == 'PlaybackLoudness')then
  479. return Func:InvokeClient(Player,'RegSound',inst)
  480. end
  481. return Func:InvokeClient(Player,inst,prop)
  482. end
  483.  
  484.  
  485. local oldGame = game;
  486. local function GetService(s,i)
  487. local service = s:GetService(i)
  488. if(i == 'Players')then
  489. local oldService = service;
  490. local fakeService = newproxy(true)
  491. getmetatable(fakeService).__index = function(s,i)
  492. if(s == fakeService)then s=oldService end
  493. if(i == 'LocalPlayer' or i == 'localPlayer')then
  494. local oldPlayer = Player;
  495. local fakePlayer = newproxy(true)
  496. getmetatable(fakePlayer).__index = function(s,i)
  497. if(i == 'GetMouse')then
  498. return function() return m; end
  499. end
  500. return Player[i]
  501. end
  502. getmetatable(fakePlayer).__newindex = function(s,i,v)
  503. Player[i]=v
  504. end
  505. getmetatable(fakePlayer).__call=function(self,...)
  506. if(self == fakePlayer)then self = Player end
  507. local wh = {...}
  508. local name = table.remove(wh,1)
  509. for i,v in next, wh do
  510. wh[i]=v
  511. end
  512. if(name == 'GetMouse')then
  513. return m;
  514. end
  515. return self(name,unpack(wh))
  516. end
  517. getmetatable(fakePlayer).__namecall=function(self,...)
  518. if(self == fakePlayer)then self = Player end
  519. local tuple={...}
  520. local name = table.remove(tuple,#tuple)
  521.  
  522. if(name == 'GetMouse')then
  523. return m;
  524. else
  525. return self[name](self,unpack(tuple))
  526. end
  527. end
  528.  
  529. return fakePlayer
  530. elseif(i == 'oPlayer')then
  531. return oPlayer
  532. else
  533. return s[i]
  534. end
  535. end
  536. getmetatable(fakeService).__newindex = function(s,i,v)
  537. if(s == fakeService)then s=oldService end
  538. s[i]=v
  539. end
  540. getmetatable(fakeService).__call=function(self,...)
  541. if(self == fakeService)then self = oldService end
  542. local wh = {...}
  543. local name = table.remove(wh,1)
  544. for i,v in next, wh do
  545. wh[i]=v
  546. end
  547. return self(name,unpack(wh))
  548. end
  549. getmetatable(fakeService).__namecall=function(self,...)
  550. if(self == fakeService)then self = oldService end
  551. local tuple={...}
  552. local name = table.remove(tuple,#tuple)
  553.  
  554. return self[name](self,unpack(tuple))
  555. end
  556. getmetatable(fakeService).__metatable = 'gay'
  557. return fakeService
  558. elseif(i == 'RunService')then
  559. local oldService = service;
  560. local fakeService = newproxy(true)
  561. getmetatable(fakeService).__index = function(s,i)
  562. if(s == fakeService)then s=oldService end
  563. return Run[i] or s[i]
  564. end
  565. getmetatable(fakeService).__newindex = function(s,i,v)
  566. if(s == fakeService)then s=oldService end
  567. s[i]=v
  568. end
  569. getmetatable(fakeService).__call=function(self,...)
  570. if(self == fakeService)then self = oldService end
  571. local wh = {...}
  572. local name = table.remove(wh,1)
  573. for i,v in next, wh do
  574. wh[i]=v
  575. end
  576. return self(name,unpack(wh))
  577. end
  578. getmetatable(fakeService).__namecall=function(self,...)
  579. if(self == fakeService)then self = oldService end
  580. local tuple={...}
  581. local name = table.remove(tuple,#tuple)
  582.  
  583. return self[name](self,unpack(tuple))
  584. end
  585. getmetatable(fakeService).__metatable = 'gay'
  586. return fakeService
  587. elseif(i == 'UserInputService')then
  588. return UsIS
  589. elseif(i == 'ContextActionService')then
  590. return CoAS;
  591. else
  592. return service
  593. end
  594. end
  595. local serviceFunctions={
  596. service=true,
  597. GetService=true,
  598. }
  599. local fakeGame = newproxy(true)
  600. getmetatable(fakeGame).__index = function(s,i)
  601. if(s == fakeGame)then s=oldGame end
  602. local serv = GetService(oldGame,i)
  603. if serviceFunctions[i] then
  604. return GetService
  605. elseif(serv)then
  606. return serv
  607. else
  608. return s[i]
  609. end
  610. end
  611. getmetatable(fakeGame).__newindex = function(s,i,v)
  612. if(s == fakeGame)then s=oldGame end
  613. s[i]=v
  614. end
  615. getmetatable(fakeGame).__call=function(self,...)
  616. if(self == fakeGame)then self = oldGame end
  617. local wh = {...}
  618. local name = table.remove(wh,1)
  619. for i,v in next, wh do
  620. if(v == fakeGame)then v = oldGame end
  621. wh[i]=v
  622. end
  623. if serviceFunctions[name] then
  624. return GetService(self,unpack(wh))
  625. else
  626. return self(name,unpack(wh))
  627. end
  628. end
  629. getmetatable(fakeGame). __namecall=function(self,...)
  630. if(self == fakeGame)then self = oldGame end
  631. local tuple={...}
  632. local name = table.remove(tuple,#tuple)
  633.  
  634. local funcToCall=self[name]
  635.  
  636. if serviceFunctions[name] then
  637. return GetService(self,unpack(tuple))
  638. else
  639. return self[name](self,unpack(tuple))
  640. end
  641. end
  642. getmetatable(fakeGame).__metatable = 'gay'
  643.  
  644. coroutine.wrap(function()
  645. while true do
  646. Run:TrigEvent('RenderStepped')
  647. swait()
  648. end
  649. end)()
  650. game=fakeGame
  651. UserInputService,ContextActionService = UsIS,CoAS
  652. end
  653. end
  654. -- Synapse Decompiler
  655. -- Purchase Here: https://brack4712.xyz/synapse/purchase/
  656.  
  657. wait(0.2)
  658. Player = game:GetService("Players").LocalPlayer
  659. PlayerGui = Player.PlayerGui
  660. Cam = workspace.CurrentCamera
  661. Backpack = Player.Backpack
  662. Character = Player.Character
  663. Humanoid = Character.Humanoid
  664. Mouse = Player:GetMouse()
  665. RootPart = Character.HumanoidRootPart
  666. Torso = Character.Torso
  667. Head = Character.Head
  668. RightArm = Character["Right Arm"]
  669. LeftArm = Character["Left Arm"]
  670. RightLeg = Character["Right Leg"]
  671. LeftLeg = Character["Left Leg"]
  672. RootJoint = RootPart.RootJoint
  673. Neck = Torso.Neck
  674. RightShoulder = Torso["Right Shoulder"]
  675. LeftShoulder = Torso["Left Shoulder"]
  676. RightHip = Torso["Right Hip"]
  677. LeftHip = Torso["Left Hip"]
  678. local sick = Instance.new("Sound", Character)
  679. IT = Instance.new
  680. CF = CFrame.new
  681. VT = Vector3.new
  682. RAD = math.rad
  683. C3 = Color3.new
  684. UD2 = UDim2.new
  685. BRICKC = BrickColor.new
  686. ANGLES = CFrame.Angles
  687. EULER = CFrame.fromEulerAnglesXYZ
  688. COS = math.cos
  689. ACOS = math.acos
  690. SIN = math.sin
  691. ASIN = math.asin
  692. ABS = math.abs
  693. MRANDOM = math.random
  694. FLOOR = math.floor
  695. Animation_Speed = 3
  696. Frame_Speed = 0.016666666666666666
  697. local Speed = 25
  698. local SIZE = 3
  699. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  700. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  701. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  702. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  703. local DAMAGEMULTIPLIER = 1
  704. local ANIM = "Idle"
  705. local ATTACK = false
  706. local EQUIPPED = false
  707. local HOLD = false
  708. local COMBO = 1
  709. local Rooted = false
  710. local SINE = 0
  711. local KEYHOLD = false
  712. local CHANGE = 2 / Animation_Speed
  713. local WALKINGANIM = false
  714. local VALUE1 = false
  715. local VALUE2 = false
  716. local ROBLOXIDLEANIMATION = IT("Animation")
  717. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  718. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  719. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  720. WEAPONGUI.Name = "Weapon GUI"
  721. local Effects = IT("Folder", Character)
  722. Effects.Name = "Effects"
  723. local ANIMATOR = Humanoid.Animator
  724. local ANIMATE = Character.Animate
  725. ANIMATOR:Destroy()
  726. local UNANCHOR = true
  727. local HELDGUN, GUNWELD
  728. local HITPLAYERSOUNDS = {
  729. "263032172",
  730. "263032182",
  731. "263032200",
  732. "263032221",
  733. "263032252",
  734. "263033191"
  735. }
  736. ArtificialHB = Instance.new("BindableEvent", script)
  737. ArtificialHB.Name = "ArtificialHB"
  738. script:WaitForChild("ArtificialHB")
  739. frame = Frame_Speed
  740. tf = 0
  741. allowframeloss = false
  742. tossremainder = false
  743. lastframe = tick()
  744. script.ArtificialHB:Fire()
  745. game:GetService("RunService").Heartbeat:connect(function(s, p)
  746. tf = tf + s
  747. if tf >= frame then
  748. if allowframeloss then
  749. script.ArtificialHB:Fire()
  750. lastframe = tick()
  751. else
  752. for i = 1, math.floor(tf / frame) do
  753. script.ArtificialHB:Fire()
  754. end
  755. lastframe = tick()
  756. end
  757. if tossremainder then
  758. tf = 0
  759. else
  760. tf = tf - frame * math.floor(tf / frame)
  761. end
  762. end
  763. end)
  764. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  765. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  766. end
  767. function PositiveAngle(NUMBER)
  768. if NUMBER >= 0 then
  769. NUMBER = 0
  770. end
  771. return NUMBER
  772. end
  773. function NegativeAngle(NUMBER)
  774. if NUMBER <= 0 then
  775. NUMBER = 0
  776. end
  777. return NUMBER
  778. end
  779. function Swait(NUMBER)
  780. if NUMBER == 0 or NUMBER == nil then
  781. ArtificialHB.Event:wait()
  782. else
  783. for i = 1, NUMBER do
  784. ArtificialHB.Event:wait()
  785. end
  786. end
  787. end
  788. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  789. local NEWMESH = IT(MESH)
  790. if MESH == "SpecialMesh" then
  791. NEWMESH.MeshType = MESHTYPE
  792. if MESHID ~= "nil" and MESHID ~= "" then
  793. NEWMESH.MeshId = "http://www.roblox.com/asset/?id=" .. MESHID
  794. end
  795. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  796. NEWMESH.TextureId = "http://www.roblox.com/asset/?id=" .. TEXTUREID
  797. end
  798. end
  799. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  800. NEWMESH.Scale = SCALE
  801. NEWMESH.Parent = PARENT
  802. return NEWMESH
  803. end
  804. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  805. local NEWPART = IT("Part")
  806. NEWPART.formFactor = FORMFACTOR
  807. NEWPART.Reflectance = REFLECTANCE
  808. NEWPART.Transparency = TRANSPARENCY
  809. NEWPART.CanCollide = false
  810. NEWPART.Locked = true
  811. NEWPART.Anchored = true
  812. if ANCHOR == false then
  813. NEWPART.Anchored = false
  814. end
  815. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  816. NEWPART.Name = NAME
  817. NEWPART.Size = SIZE
  818. NEWPART.Position = Torso.Position
  819. NEWPART.Material = MATERIAL
  820. NEWPART:BreakJoints()
  821. NEWPART.Parent = PARENT
  822. return NEWPART
  823. end
  824. local weldBetween = function(a, b)
  825. local weldd = Instance.new("ManualWeld")
  826. weldd.Part0 = a
  827. weldd.Part1 = b
  828. weldd.C0 = CFrame.new()
  829. weldd.C1 = b.CFrame:inverse() * a.CFrame
  830. weldd.Parent = a
  831. return weldd
  832. end
  833. function QuaternionFromCFrame(cf)
  834. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  835. local trace = m00 + m11 + m22
  836. if trace > 0 then
  837. local s = math.sqrt(1 + trace)
  838. local recip = 0.5 / s
  839. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  840. else
  841. local i = 0
  842. if m00 < m11 then
  843. i = 1
  844. end
  845. if m22 > (i == 0 and m00 or m11) then
  846. i = 2
  847. end
  848. if i == 0 then
  849. local s = math.sqrt(m00 - m11 - m22 + 1)
  850. local recip = 0.5 / s
  851. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  852. elseif i == 1 then
  853. local s = math.sqrt(m11 - m22 - m00 + 1)
  854. local recip = 0.5 / s
  855. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  856. elseif i == 2 then
  857. local s = math.sqrt(m22 - m00 - m11 + 1)
  858. local recip = 0.5 / s
  859. return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  860. end
  861. end
  862. end
  863. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  864. local xs, ys, zs = x + x, y + y, z + z
  865. local wx, wy, wz = w * xs, w * ys, w * zs
  866. local xx = x * xs
  867. local xy = x * ys
  868. local xz = x * zs
  869. local yy = y * ys
  870. local yz = y * zs
  871. local zz = z * zs
  872. 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))
  873. end
  874. function QuaternionSlerp(a, b, t)
  875. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  876. local startInterp, finishInterp
  877. if cosTheta >= 1.0E-4 then
  878. if 1 - cosTheta > 1.0E-4 then
  879. local theta = ACOS(cosTheta)
  880. local invSinTheta = 1 / SIN(theta)
  881. startInterp = SIN((1 - t) * theta) * invSinTheta
  882. finishInterp = SIN(t * theta) * invSinTheta
  883. else
  884. startInterp = 1 - t
  885. finishInterp = t
  886. end
  887. elseif 1 + cosTheta > 1.0E-4 then
  888. local theta = ACOS(-cosTheta)
  889. local invSinTheta = 1 / SIN(theta)
  890. startInterp = SIN((t - 1) * theta) * invSinTheta
  891. finishInterp = SIN(t * theta) * invSinTheta
  892. else
  893. startInterp = t - 1
  894. finishInterp = t
  895. end
  896. 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
  897. end
  898. function Clerp(a, b, t)
  899. local qa = {
  900. QuaternionFromCFrame(a)
  901. }
  902. local qb = {
  903. QuaternionFromCFrame(b)
  904. }
  905. local ax, ay, az = a.x, a.y, a.z
  906. local bx, by, bz = b.x, b.y, b.z
  907. local _t = 1 - t
  908. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  909. end
  910. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  911. local frame = IT("Frame")
  912. frame.BackgroundTransparency = TRANSPARENCY
  913. frame.BorderSizePixel = BORDERSIZEPIXEL
  914. frame.Position = POSITION
  915. frame.Size = SIZE
  916. frame.BackgroundColor3 = COLOR
  917. frame.BorderColor3 = BORDERCOLOR
  918. frame.Name = NAME
  919. frame.Parent = PARENT
  920. return frame
  921. end
  922. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  923. local label = IT("TextLabel")
  924. label.BackgroundTransparency = 1
  925. label.Size = UD2(1, 0, 1, 0)
  926. label.Position = UD2(0, 0, 0, 0)
  927. label.TextColor3 = TEXTCOLOR
  928. label.TextStrokeTransparency = STROKETRANSPARENCY
  929. label.TextTransparency = TRANSPARENCY
  930. label.FontSize = TEXTFONTSIZE
  931. label.Font = TEXTFONT
  932. label.BorderSizePixel = BORDERSIZEPIXEL
  933. label.TextScaled = false
  934. label.Text = TEXT
  935. label.Name = NAME
  936. label.Parent = PARENT
  937. return label
  938. end
  939. function NoOutlines(PART)
  940. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  941. end
  942. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  943. local NEWWELD = IT(TYPE)
  944. NEWWELD.Part0 = PART0
  945. NEWWELD.Part1 = PART1
  946. NEWWELD.C0 = C0
  947. NEWWELD.C1 = C1
  948. NEWWELD.Parent = PARENT
  949. return NEWWELD
  950. end
  951. local S = IT("Sound")
  952. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  953. local NEWSOUND
  954. coroutine.resume(coroutine.create(function()
  955. NEWSOUND = S:Clone()
  956. NEWSOUND.Parent = PARENT
  957. NEWSOUND.EmitterSize = 10 + VOLUME * 2
  958. NEWSOUND.Volume = VOLUME
  959. NEWSOUND.Pitch = PITCH
  960. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id=" .. ID
  961. NEWSOUND:play()
  962. if DOESLOOP == true then
  963. NEWSOUND.Looped = true
  964. else
  965. repeat
  966. wait(1)
  967. until NEWSOUND.Playing == false
  968. NEWSOUND:remove()
  969. end
  970. end))
  971. return NEWSOUND
  972. end
  973. function CFrameFromTopBack(at, top, back)
  974. local right = top:Cross(back)
  975. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  976. end
  977. function WACKYEFFECT(Table)
  978. local TYPE = Table.EffectType or "Sphere"
  979. local SIZE = Table.Size or VT(1, 1, 1)
  980. local ENDSIZE = Table.Size2 or VT(0, 0, 0)
  981. local TRANSPARENCY = Table.Transparency or 0
  982. local ENDTRANSPARENCY = Table.Transparency2 or 1
  983. local CFRAME = Table.CFrame or Torso.CFrame
  984. local MOVEDIRECTION = Table.MoveToPos or nil
  985. local ROTATION1 = Table.RotationX or 0
  986. local ROTATION2 = Table.RotationY or 0
  987. local ROTATION3 = Table.RotationZ or 0
  988. local MATERIAL = Table.Material or "Neon"
  989. local COLOR = Table.Color or C3(1, 1, 1)
  990. local TIME = Table.Time or 45
  991. local SOUNDID = Table.SoundID or nil
  992. local SOUNDPITCH = Table.SoundPitch or nil
  993. local SOUNDVOLUME = Table.SoundVolume or nil
  994. coroutine.resume(coroutine.create(function()
  995. local PLAYSSOUND = false
  996. local SOUND
  997. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1, 1, 1), true)
  998. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  999. PLAYSSOUND = true
  1000. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1001. end
  1002. EFFECT.Color = COLOR
  1003. local MSH
  1004. if TYPE == "Sphere" then
  1005. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0, 0, 0))
  1006. elseif TYPE == "Block" or TYPE == "Box" then
  1007. MSH = IT("BlockMesh", EFFECT)
  1008. MSH.Scale = SIZE
  1009. elseif TYPE == "Wave" then
  1010. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
  1011. elseif TYPE == "Ring" then
  1012. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X, SIZE.X, 0.1), VT(0, 0, 0))
  1013. elseif TYPE == "Slash" then
  1014. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  1015. elseif TYPE == "Round Slash" then
  1016. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  1017. elseif TYPE == "Swirl" then
  1018. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0, 0, 0))
  1019. elseif TYPE == "Skull" then
  1020. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0, 0, 0))
  1021. elseif TYPE == "Crystal" then
  1022. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0, 0, 0))
  1023. end
  1024. if MSH ~= nil then
  1025. local MOVESPEED
  1026. if MOVEDIRECTION ~= nil then
  1027. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude / TIME
  1028. end
  1029. local GROWTH = SIZE - ENDSIZE
  1030. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1031. if TYPE == "Block" then
  1032. EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  1033. else
  1034. EFFECT.CFrame = CFRAME
  1035. end
  1036. for LOOP = 1, TIME + 1 do
  1037. Swait()
  1038. MSH.Scale = MSH.Scale - GROWTH / TIME
  1039. if TYPE == "Wave" then
  1040. MSH.Offset = VT(0, 0, -MSH.Scale.X / 8)
  1041. end
  1042. EFFECT.Transparency = EFFECT.Transparency - TRANS / TIME
  1043. if TYPE == "Block" then
  1044. EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  1045. else
  1046. EFFECT.CFrame = EFFECT.CFrame * ANGLES(RAD(ROTATION1), RAD(ROTATION2), RAD(ROTATION3))
  1047. end
  1048. if MOVEDIRECTION ~= nil then
  1049. local ORI = EFFECT.Orientation
  1050. EFFECT.CFrame = CF(EFFECT.Position, MOVEDIRECTION) * CF(0, 0, -MOVESPEED)
  1051. EFFECT.Orientation = ORI
  1052. end
  1053. end
  1054. if PLAYSSOUND == false then
  1055. EFFECT:remove()
  1056. else
  1057. repeat
  1058. Swait()
  1059. until EFFECT:FindFirstChildOfClass("Sound") == nil
  1060. EFFECT:remove()
  1061. end
  1062. elseif PLAYSSOUND == false then
  1063. EFFECT:remove()
  1064. else
  1065. repeat
  1066. Swait()
  1067. until EFFECT:FindFirstChildOfClass("Sound") == nil
  1068. EFFECT:remove()
  1069. end
  1070. end))
  1071. end
  1072. function MakeForm(PART, TYPE)
  1073. if TYPE == "Cyl" then
  1074. local MSH = IT("CylinderMesh", PART)
  1075. elseif TYPE == "Ball" then
  1076. local MSH = IT("SpecialMesh", PART)
  1077. MSH.MeshType = "Sphere"
  1078. elseif TYPE == "Wedge" then
  1079. local MSH = IT("SpecialMesh", PART)
  1080. MSH.MeshType = "Wedge"
  1081. end
  1082. end
  1083. Debris = game:GetService("Debris")
  1084. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1085. local DIRECTION = CF(StartPos, EndPos).lookVector
  1086. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1087. end
  1088. function MakeForm(PART, TYPE)
  1089. if TYPE == "Cyl" then
  1090. local MSH = IT("CylinderMesh", PART)
  1091. elseif TYPE == "Ball" then
  1092. local MSH = IT("SpecialMesh", PART)
  1093. MSH.MeshType = "Sphere"
  1094. elseif TYPE == "Wedge" then
  1095. local MSH = IT("SpecialMesh", PART)
  1096. MSH.MeshType = "Wedge"
  1097. end
  1098. end
  1099. Debris = game:GetService("Debris")
  1100. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1101. local DIRECTION = CF(StartPos, EndPos).lookVector
  1102. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1103. end
  1104. function Chatter(Text, Timer)
  1105. local chat = coroutine.wrap(function()
  1106. if Character:FindFirstChild("SpeechBoard") ~= nil then
  1107. Character:FindFirstChild("SpeechBoard"):destroy()
  1108. end
  1109. local naeeym2 = IT("BillboardGui", Character)
  1110. naeeym2.Size = UD2(0, 100, 0, 40)
  1111. naeeym2.StudsOffset = VT(0, 5, 0)
  1112. naeeym2.Adornee = Character.Head
  1113. naeeym2.Name = "SpeechBoard"
  1114. naeeym2.AlwaysOnTop = true
  1115. local tecks2 = IT("TextLabel", naeeym2)
  1116. tecks2.BackgroundTransparency = 1
  1117. tecks2.BorderSizePixel = 0
  1118. tecks2.Text = ""
  1119. tecks2.Font = "Legacy"
  1120. tecks2.TextSize = 15
  1121. tecks2.TextStrokeTransparency = 0
  1122. tecks2.TextColor3 = C3(1, 1, 1)
  1123. tecks2.TextStrokeColor3 = C3(0, 0, 0)
  1124. tecks2.Size = UDim2.new(1, 0, 0.5, 0)
  1125. local FINISHED = false
  1126. coroutine.resume(coroutine.create(function()
  1127. for i = 1, string.len(Text) do
  1128. if naeeym2.Parent ~= Character then
  1129. FINISHED = true
  1130. end
  1131. CreateSound(418252437, Head, 7, MRANDOM(8, 12) / 15, false)
  1132. tecks2.Text = string.sub(Text, 1, i)
  1133. Swait(Timer)
  1134. end
  1135. FINISHED = true
  1136. end))
  1137. repeat
  1138. wait()
  1139. until FINISHED == true
  1140. wait(1)
  1141. naeeym2.Name = "FadingDialogue"
  1142. for i = 1, 45 do
  1143. Swait()
  1144. naeeym2.StudsOffset = naeeym2.StudsOffset + VT(0, (2 - 0.044444444444444446 * i) / 45, 0)
  1145. tecks2.TextTransparency = tecks2.TextTransparency + 0.022222222222222223
  1146. tecks2.TextStrokeTransparency = tecks2.TextTransparency
  1147. end
  1148. naeeym2:Destroy()
  1149. end)
  1150. chat()
  1151. end
  1152. function CreateFlyingDebree(FLOOR, POSITION, AMOUNT, BLOCKSIZE, SWAIT, STRENGTH, DOES360)
  1153. if FLOOR ~= nil then
  1154. for i = 1, AMOUNT do
  1155. do
  1156. local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Peal", "Debree", BLOCKSIZE, false)
  1157. DEBREE.Material = FLOOR.Material
  1158. DEBREE.Color = FLOOR.Color
  1159. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)))
  1160. if DOES360 == true then
  1161. DEBREE.Velocity = VT(MRANDOM(-STRENGTH, STRENGTH), MRANDOM(-STRENGTH, STRENGTH), MRANDOM(-STRENGTH, STRENGTH))
  1162. else
  1163. DEBREE.Velocity = VT(MRANDOM(-STRENGTH, STRENGTH), STRENGTH, MRANDOM(-STRENGTH, STRENGTH))
  1164. end
  1165. coroutine.resume(coroutine.create(function()
  1166. Swait(15)
  1167. DEBREE.Parent = workspace
  1168. DEBREE.CanCollide = true
  1169. Debris:AddItem(DEBREE, SWAIT)
  1170. end))
  1171. end
  1172. end
  1173. end
  1174. end
  1175. function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
  1176. local CHILDREN = workspace:GetDescendants()
  1177. for index, CHILD in pairs(CHILDREN) do
  1178. if CHILD.ClassName == "Model" then
  1179. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1180. if HUM then
  1181. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1182. if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  1183. local CAMSHAKER = script.CamShake:Clone()
  1184. CAMSHAKER.Shake.Value = INTENSITY
  1185. CAMSHAKER.Timer.Value = TIME
  1186. CAMSHAKER.Parent = CHILD
  1187. CAMSHAKER.Disabled = false
  1188. end
  1189. end
  1190. end
  1191. end
  1192. end
  1193. Humanoid.Parent = nil
  1194. RootPart.Size = RootPart.Size * SIZE
  1195. Torso.Size = Torso.Size * SIZE
  1196. RightArm.Size = RightArm.Size * SIZE
  1197. RightLeg.Size = RightLeg.Size * SIZE
  1198. LeftArm.Size = LeftArm.Size * SIZE
  1199. LeftLeg.Size = LeftLeg.Size * SIZE
  1200. RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  1201. RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  1202. Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + (1 * SIZE - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1203. Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1204. RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  1205. LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  1206. RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1207. LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1208. RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1209. LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1210. Head.Size = Head.Size * SIZE
  1211. RootJoint.Parent = RootPart
  1212. Neck.Parent = Torso
  1213. RightShoulder.Parent = Torso
  1214. LeftShoulder.Parent = Torso
  1215. RightHip.Parent = Torso
  1216. LeftHip.Parent = Torso
  1217.  
  1218. local Trap = Instance.new
  1219. local GUNOFFSET = CF(0, 0.8, -1.3)
  1220. local BEARTRAP = script.Beartrap
  1221. BEARTRAP.Parent = nil
  1222. local GRENADE = script.Grenade
  1223. GRENADE.Parent = nil
  1224. GRENADE.Anchored = false
  1225. local FAKEBEARTRAP, FAKEGUN, HELDTRAP
  1226. for _, c in pairs(Character:GetChildren()) do
  1227. if script:FindFirstChild(c.Name) then
  1228. local Part = script[c.Name]
  1229. Part.Parent = Character
  1230. Part:SetPrimaryPartCFrame(c.CFrame)
  1231. c.Transparency = 1
  1232. for _, e in pairs(Part:GetChildren()) do
  1233. if e:IsA("BasePart") and e.Name ~= "Base" then
  1234. e.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1235. e.Anchored = false
  1236. weldBetween(c, e)
  1237. e.CanCollide = false
  1238. e.Locked = true
  1239. if e.Name == "Beartrap" then
  1240. FAKEBEARTRAP = e
  1241. elseif e.Name == "Gun" then
  1242. FAKEGUN = e
  1243. elseif e.Name == "HeldBeartrap" then
  1244. HELDTRAP = e
  1245. end
  1246. end
  1247. end
  1248. end
  1249. end
  1250.  
  1251. local TAIL = {}
  1252.  
  1253. local SKILLTEXTCOLOR = C3(1, 1, 1)
  1254. local SKILLFONT = "Legacy"
  1255. local SKILLTEXTSIZE = 3
  1256. local ATTACKS = {
  1257. "Mouse - Fury",
  1258. "F - Equip Gun",
  1259. "C - Beartrap",
  1260. "V - Hand Grenade"
  1261. }
  1262. for i = 1, #ATTACKS do
  1263. local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97 - 0.02 * i, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill Frame")
  1264. local SKILLTEXT = CreateLabel(SKILLFRAME, "[" .. ATTACKS[i] .. "]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
  1265. SKILLTEXT.TextXAlignment = "Right"
  1266. end
  1267. Humanoid.Parent = Character
  1268. function ApplyDamage(Humanoid, Damage)
  1269. Damage = Damage * DAMAGEMULTIPLIER
  1270. if Humanoid.Health < 2000 then
  1271. if Humanoid.Health - Damage > 0 then
  1272. Humanoid.Health = Humanoid.Health - Damage
  1273. else
  1274. Humanoid.Parent:BreakJoints()
  1275. end
  1276. else
  1277. Humanoid.Parent:BreakJoints()
  1278. end
  1279. end
  1280. function ApplyAoE(POSITION, RANGE, MINDMG, MAXDMG, FLING, INSTAKILL)
  1281. for index, CHILD in pairs(workspace:GetDescendants()) do
  1282. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1283. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1284. if HUM then
  1285. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1286. if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  1287. if INSTAKILL == true then
  1288. CHILD:BreakJoints()
  1289. else
  1290. local DMG = MRANDOM(MINDMG, MAXDMG)
  1291. ApplyDamage(HUM, DMG)
  1292. end
  1293. if FLING > 0 then
  1294. for _, c in pairs(CHILD:GetChildren()) do
  1295. if c:IsA("BasePart") then
  1296. local bv = Instance.new("BodyVelocity")
  1297. bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1298. bv.velocity = CF(POSITION, TORSO.Position).lookVector * FLING
  1299. bv.Parent = c
  1300. Debris:AddItem(bv, 0.05)
  1301. end
  1302. end
  1303. end
  1304. end
  1305. end
  1306. end
  1307. end
  1308. end
  1309. function Fury()
  1310. ATTACK = true
  1311. Rooted = false
  1312. if EQUIPPED == false then
  1313. Rooted = true
  1314. Chatter("I'll crush you!", 0)
  1315. for i = 0, 0.3, 0.1 / Animation_Speed do
  1316. Swait()
  1317. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0.01 * SIZE, -0.01 * SIZE) * ANGLES(RAD(-5), RAD(0), RAD(15)), 1 / Animation_Speed)
  1318. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1319. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1320. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1321. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, 0.2 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(5), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1322. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(-5), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1323. end
  1324. local TOUCH = RightLeg.Touched:Connect(function(HIT)
  1325. if HIT.Anchored == false and (HIT.Parent:FindFirstChildOfClass("Humanoid") or HIT.Parent.Parent:FindFirstChildOfClass("Humanoid")) then
  1326. HIT:BreakJoints()
  1327. end
  1328. end)
  1329. for i = 0, 0.1, 0.1 / Animation_Speed do
  1330. Swait()
  1331. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, -0.4 * SIZE, -0.1 * SIZE) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
  1332. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1333. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(-25), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1334. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(-25), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1335. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -0.7 * SIZE, -0.5 * SIZE) * ANGLES(RAD(25), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1.5 / Animation_Speed)
  1336. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1.1 * SIZE, -0.01 * SIZE) * ANGLES(RAD(25), RAD(-75), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1337. end
  1338. local HITFLOOR, HITPOS = Raycast(RightLeg.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 2 * SIZE, Character)
  1339. if HITFLOOR then
  1340. for i = 1, 5 do
  1341. WACKYEFFECT({
  1342. Time = 25,
  1343. EffectType = "Wave",
  1344. Size = VT(5, 0.5, 5),
  1345. Size2 = VT(15 + i * 3, 0, 15 + i * 3),
  1346. Transparency = 0.7,
  1347. Transparency2 = 1,
  1348. CFrame = CF(RightLeg.CFrame * CF(0, -1.05 * SIZE, 0).p) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)),
  1349. MoveToPos = nil,
  1350. RotationX = 0,
  1351. RotationY = 0,
  1352. RotationZ = 0,
  1353. Material = "Neon",
  1354. Color = C3(1, 1, 1),
  1355. SoundID = nil,
  1356. SoundPitch = nil,
  1357. SoundVolume = nil
  1358. })
  1359. end
  1360. SHAKECAM(HITPOS, 35, 7, 12)
  1361. ApplyAoE(HITPOS, 25, 35, 45, 45, false)
  1362. CreateSound(765590102, RightLeg, 6, 1, false)
  1363. CreateFlyingDebree(HITFLOOR, CF(HITPOS), 10, VT(2, 2, 2), 5, 75, false)
  1364. end
  1365. TOUCH:Disconnect()
  1366. for i = 0, 0.2, 0.1 / Animation_Speed do
  1367. Swait()
  1368. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, -0.4 * SIZE, -0.1 * SIZE) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
  1369. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1370. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(-25), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1371. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(-25), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1372. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -0.7 * SIZE, -0.5 * SIZE) * ANGLES(RAD(25), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1.5 / Animation_Speed)
  1373. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1.1 * SIZE, -0.01 * SIZE) * ANGLES(RAD(25), RAD(-75), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1374. end
  1375. else
  1376. do
  1377. local GYRO = IT("BodyGyro", RootPart)
  1378. GYRO.D = 2
  1379. GYRO.P = 20000
  1380. GYRO.MaxTorque = VT(0, 4000000, 0)
  1381. coroutine.resume(coroutine.create(function()
  1382. repeat
  1383. Swait()
  1384. GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1385. until ATTACK == false
  1386. GYRO:Remove()
  1387. end))
  1388. local FIRING = true
  1389. local SHOOTING = false
  1390. local TIMER = 70
  1391. CreateSound(1498950813, HELDGUN, 6, 1, false)
  1392. for i = 0, 0.2, 0.1 / Animation_Speed do
  1393. Swait()
  1394. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  1395. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(15 - 5 * COS(SINE / 24)), RAD(-5), RAD(-25)), 1 / Animation_Speed)
  1396. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(80), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1397. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1398. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1399. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1400. end
  1401. local MOUSE = Mouse.Button1Down:connect(function(NEWKEY)
  1402. if SHOOTING == false then
  1403. HOLD = true
  1404. repeat
  1405. SHOOTING = true
  1406. local GUNPOS = HELDGUN.CFrame * GUNOFFSET.p
  1407. local HIT, POS, NORMAL = CastProperRay(GUNPOS, Mouse.Hit.p, 1000, Character)
  1408. local DISTANCE = (POS - GUNPOS).Magnitude
  1409. if HIT then
  1410. if HIT.Parent:FindFirstChildOfClass("Humanoid") then
  1411. if HIT.Parent:FindFirstChildOfClass("Humanoid").Health > 0 then
  1412. HIT.CFrame = HIT.CFrame * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  1413. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], HIT, 10, 1, false)
  1414. ApplyDamage(HIT.Parent:FindFirstChildOfClass("Humanoid"), 99)
  1415. CreateFlyingDebree(HIT, CF(POS), 7, VT(0.1, 0.1, 0.1), 5, 35, true)
  1416. end
  1417. elseif HIT.Anchored == true then
  1418. CreateFlyingDebree(HIT, CF(POS), 7, VT(0.2, 0.2, 0.2), 5, 35, true)
  1419. end
  1420. end
  1421. SHAKECAM(GUNPOS, 8, 5, 3)
  1422. SHAKECAM(POS, 10, 6, 6)
  1423. WACKYEFFECT({
  1424. Time = 6,
  1425. EffectType = "Block",
  1426. Size = VT(2, 2, 2),
  1427. Size2 = VT(4, 4, 4),
  1428. Transparency = 0,
  1429. Transparency2 = 1,
  1430. CFrame = CF(GUNPOS),
  1431. MoveToPos = nil,
  1432. RotationX = 0,
  1433. RotationY = 0,
  1434. RotationZ = 0,
  1435. Material = "Neon",
  1436. Color = C3(1, 1, 0),
  1437. SoundID = 213603013,
  1438. SoundPitch = 0.9,
  1439. SoundVolume = 10
  1440. })
  1441. WACKYEFFECT({
  1442. Time = 6,
  1443. EffectType = "Box",
  1444. Size = VT(1.6, 1.6, DISTANCE),
  1445. Size2 = VT(0, 0, DISTANCE),
  1446. Transparency = 0,
  1447. Transparency2 = 1,
  1448. CFrame = CF(GUNPOS, POS) * CF(0, 0, -DISTANCE / 2),
  1449. MoveToPos = nil,
  1450. RotationX = 0,
  1451. RotationY = 0,
  1452. RotationZ = 0,
  1453. Material = "Neon",
  1454. Color = C3(1, 1, 0),
  1455. SoundID = nil,
  1456. SoundPitch = nil,
  1457. SoundVolume = nil
  1458. })
  1459. for i = 0, 0.3, 0.1 / Animation_Speed do
  1460. Swait()
  1461. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  1462. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(15 - 5 * COS(SINE / 24)), RAD(-5), RAD(-25)), 1 / Animation_Speed)
  1463. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(100), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1464. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1465. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1466. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1467. end
  1468. for i = 0, 0.5, 0.1 / Animation_Speed do
  1469. Swait()
  1470. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  1471. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(15 - 5 * COS(SINE / 24)), RAD(-5), RAD(-25)), 1 / Animation_Speed)
  1472. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(80), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1473. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1474. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1475. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1476. end
  1477. until HOLD == false
  1478. SHOOTING = false
  1479. end
  1480. end)
  1481. repeat
  1482. Swait()
  1483. if SHOOTING == false then
  1484. TIMER = TIMER - 1
  1485. if TIMER <= 0 then
  1486. FIRING = false
  1487. end
  1488. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  1489. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(15 - 5 * COS(SINE / 24)), RAD(-5), RAD(-25)), 1 / Animation_Speed)
  1490. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(80), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1491. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1492. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1493. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1494. end
  1495. until FIRING == false and SHOOTING == false
  1496. MOUSE:Disconnect()
  1497. end
  1498. end
  1499. ATTACK = false
  1500. Rooted = false
  1501. end
  1502. function EquipGun()
  1503. ATTACK = true
  1504. Rooted = false
  1505. if EQUIPPED == false then
  1506. Chatter("Let's play dirty.", 0)
  1507. for i = 0, 0.3, 0.1 / Animation_Speed do
  1508. Swait()
  1509. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1510. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1511. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.4 * SIZE, 0.35 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(15), RAD(0), RAD(-75)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1512. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0.2 * SIZE) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1513. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1514. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1515. end
  1516. HELDGUN = FAKEGUN:Clone()
  1517. HELDGUN.Parent = Character
  1518. GUNWELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, HELDGUN, CF(0.3 * SIZE, -1.5 * SIZE, 0.1 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(-90)), CF(0, 0, 0))
  1519. FAKEGUN.Transparency = 1
  1520. CreateSound(1498950813, HELDGUN, 6, 1, false)
  1521. for i = 0, 0.3, 0.1 / Animation_Speed do
  1522. Swait()
  1523. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1524. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1525. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.5 * SIZE, 0.45 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(45), RAD(0), RAD(-35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1526. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.3 * SIZE) * ANGLES(RAD(25), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1527. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1528. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1529. end
  1530. EQUIPPED = true
  1531. else
  1532. for i = 0, 0.3, 0.1 / Animation_Speed do
  1533. Swait()
  1534. GUNWELD.C1 = Clerp(GUNWELD.C1, CF(0, 0.5, 0) * ANGLES(RAD(65), RAD(-45), RAD(0)), 1 / Animation_Speed)
  1535. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1536. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1537. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.7 * SIZE, 0 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.1 * SIZE) * ANGLES(RAD(35), RAD(0), RAD(-75)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1538. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0.3 * SIZE) * ANGLES(RAD(-25), RAD(15), RAD(-15)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1539. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1540. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1541. end
  1542. FAKEGUN.Transparency = 0
  1543. HELDGUN:remove()
  1544. HELDGUN = nil
  1545. EQUIPPED = false
  1546. end
  1547. ATTACK = false
  1548. Rooted = false
  1549. end
  1550. function BearTrap()
  1551. ATTACK = true
  1552. Rooted = false
  1553. coroutine.resume(coroutine.create(function()
  1554. repeat
  1555. Swait()
  1556. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(-20), RAD(-25), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1557. until ATTACK == false
  1558. end))
  1559. for i = 0, 0.3, 0.1 / Animation_Speed do
  1560. Swait()
  1561. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1562. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1563. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.1 * SIZE, 0.25 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(30), RAD(0), RAD(90)) * ANGLES(RAD(0), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1564. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1565. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1566. end
  1567. local GYRO = IT("BodyGyro", RootPart)
  1568. GYRO.D = 2
  1569. GYRO.P = 20000
  1570. GYRO.MaxTorque = VT(0, 4000000, 0)
  1571. GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1572. coroutine.resume(coroutine.create(function()
  1573. repeat
  1574. Swait()
  1575. GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1576. until ATTACK == false
  1577. GYRO:Remove()
  1578. end))
  1579. FAKEBEARTRAP.Transparency = 1
  1580. HELDTRAP.Transparency = 0
  1581. for i = 0, 0.4, 0.1 / Animation_Speed do
  1582. Swait()
  1583. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1584. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1585. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(40), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1586. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1587. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1588. end
  1589. local TRAP = BEARTRAP:Clone()
  1590. TRAP.Parent = Effects
  1591. coroutine.resume(coroutine.create(function()
  1592. TRAP:SetPrimaryPartCFrame(HELDTRAP.CFrame)
  1593. local BASE = TRAP.PrimaryPart
  1594. local OPEN = TRAP.Open
  1595. local CLOSED = TRAP.Closed
  1596. CreateSound(147722227, BASE, 6, 1, false)
  1597. local DISTANCE = (BASE.Position - Mouse.Hit.p).Magnitude
  1598. BASE.Velocity = CF(BASE.Position - VT(0, 5, 0), Mouse.Hit.p).lookVector * (DISTANCE * 2)
  1599. wait(0.7)
  1600. BASE.Velocity = VT(0, 0, 0)
  1601. local ISCLOSED = false
  1602. for i = 1, 15 do
  1603. Swait()
  1604. BASE.CFrame = Clerp(BASE.CFrame, CF(BASE.Position + VT(0, 1, 0)), 0.4)
  1605. end
  1606. TOUCH = OPEN.Touched:Connect(function(HIT)
  1607. if HIT.Anchored == false and ISCLOSED == false and HIT.Parent:FindFirstChildOfClass("Humanoid") then
  1608. TOUCH:Disconnect()
  1609. ISCLOSED = true
  1610. OPEN.Anchored = true
  1611. OPEN.Transparency = 1
  1612. CLOSED.Transparency = 0
  1613. OPEN.CanCollide = false
  1614. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], HIT, 10, 1, false)
  1615. ApplyDamage(HIT.Parent:FindFirstChildOfClass("Humanoid"), 60)
  1616. weldBetween(OPEN, HIT)
  1617. CreateSound(54061314, OPEN, 6, 1, false)
  1618. end
  1619. end)
  1620. wait(15)
  1621. TOUCH:Disconnect()
  1622. for i = 1, 45 do
  1623. Swait()
  1624. for _, e in pairs(TRAP:GetChildren()) do
  1625. if e:IsA("BasePart") then
  1626. e.Transparency = e.Transparency + 0.022222222222222223
  1627. end
  1628. end
  1629. end
  1630. TRAP:Remove()
  1631. end))
  1632. HELDTRAP.Transparency = 1
  1633. for i = 0, 0.3, 0.1 / Animation_Speed do
  1634. Swait()
  1635. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1636. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(5)), 1 / Animation_Speed)
  1637. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.2 * SIZE) * ANGLES(RAD(120), RAD(0), RAD(10)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1638. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1639. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(-5), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1640. end
  1641. FAKEBEARTRAP.Transparency = 0
  1642. ATTACK = false
  1643. Rooted = false
  1644. end
  1645. function HandGrenade()
  1646. ATTACK = true
  1647. Rooted = false
  1648. Chatter("How about a little fire?", 0)
  1649. coroutine.resume(coroutine.create(function()
  1650. repeat
  1651. Swait()
  1652. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.35 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0.2 * SIZE) * ANGLES(RAD(-20), RAD(-25), RAD(-3)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1653. until ATTACK == false
  1654. end))
  1655. local GYRO = IT("BodyGyro", RootPart)
  1656. GYRO.D = 2
  1657. GYRO.P = 20000
  1658. GYRO.MaxTorque = VT(0, 4000000, 0)
  1659. GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1660. coroutine.resume(coroutine.create(function()
  1661. repeat
  1662. Swait()
  1663. GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1664. until ATTACK == false
  1665. GYRO:Remove()
  1666. end))
  1667. for i = 0, 0.4, 0.1 / Animation_Speed do
  1668. Swait()
  1669. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1670. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(0 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1671. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(-5), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1672. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1673. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1674. end
  1675. local NADE = GRENADE:Clone()
  1676. NADE.CFrame = LeftArm.CFrame * CF(0, -1.2 * SIZE, 0) * ANGLES(RAD(90), RAD(0), RAD(0))
  1677. NADE.Parent = Effects
  1678. CreateSound(326088041, NADE, 7, 1, false)
  1679. local WELD = weldBetween(LeftArm, NADE)
  1680. for i = 0, 0.7, 0.1 / Animation_Speed do
  1681. Swait()
  1682. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
  1683. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(0 - 5 * COS(SINE / 24)), RAD(-5), RAD(-15)), 1 / Animation_Speed)
  1684. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(150), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1685. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1686. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1687. end
  1688. coroutine.resume(coroutine.create(function()
  1689. WELD:remove()
  1690. local DISTANCE = (NADE.Position - Mouse.Hit.p).Magnitude
  1691. if DISTANCE > 150 then
  1692. DISTANCE = 150
  1693. end
  1694. NADE.Velocity = CF(NADE.Position - VT(0, 5, 0), Mouse.Hit.p).lookVector * (DISTANCE * 2)
  1695. wait(0.2)
  1696. TOUCH = NADE.Touched:Connect(function()
  1697. TOUCH:Disconnect()
  1698. wait(0.5)
  1699. NADE.Anchored = true
  1700. NADE.Transparency = 1
  1701. NADE.CanCollide = false
  1702. local COLORS = {
  1703. C3(0.8862745098039215, 0.6078431372549019, 0.25098039215686274),
  1704. C3(1, 0, 0),
  1705. C3(0.9607843137254902, 0.803921568627451, 0.18823529411764706)
  1706. }
  1707. WACKYEFFECT({
  1708. Time = 66,
  1709. EffectType = "Sphere",
  1710. Size = VT(45, 45, 45),
  1711. Size2 = VT(450, 450, 450),
  1712. Transparency = 0.99,
  1713. Transparency2 = 1,
  1714. CFrame = CF(NADE.Position),
  1715. MoveToPos = nil,
  1716. RotationX = 0,
  1717. RotationY = 0,
  1718. RotationZ = 0,
  1719. Material = "Neon",
  1720. Color = C3(1, 1, 1),
  1721. SoundID = nil,
  1722. SoundPitch = nil,
  1723. SoundVolume = nil
  1724. })
  1725. for i = 1, 45 do
  1726. WACKYEFFECT({
  1727. Time = MRANDOM(10, 60),
  1728. EffectType = "Sphere",
  1729. Size = VT(45, 45, 45) * MRANDOM(5, 12) / 10,
  1730. Size2 = VT(65, 65, 65) * MRANDOM(5, 22) / 10,
  1731. Transparency = 0,
  1732. Transparency2 = 1,
  1733. CFrame = CF(NADE.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 15, 0),
  1734. MoveToPos = nil,
  1735. RotationX = 0,
  1736. RotationY = 0,
  1737. RotationZ = 0,
  1738. Material = "Neon",
  1739. Color = COLORS[MRANDOM(1, #COLORS)],
  1740. SoundID = nil,
  1741. SoundPitch = nil,
  1742. SoundVolume = nil
  1743. })
  1744. end
  1745. ApplyAoE(NADE.Position, 75, 35, 80, 145, false)
  1746. SHAKECAM(NADE.Position, 160, 12, 25)
  1747. CreateSound(174580476, NADE, 10, 1, false)
  1748. CreateSound(165970126, NADE, 6, 1, false)
  1749. Debris:AddItem(NADE, 10)
  1750. end)
  1751. end))
  1752. for i = 0, 0.3, 0.1 / Animation_Speed do
  1753. Swait()
  1754. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1755. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(0 - 5 * COS(SINE / 24)), RAD(-5), RAD(15)), 1 / Animation_Speed)
  1756. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.2 * SIZE) * ANGLES(RAD(25), RAD(0), RAD(10)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1757. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1758. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(-5), RAD(-80), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1759. end
  1760. ATTACK = false
  1761. Rooted = false
  1762. end
  1763. function AttackTemplate()
  1764. ATTACK = true
  1765. Rooted = false
  1766. for i = 0, 1, 0.1 / Animation_Speed do
  1767. Swait()
  1768. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1769. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(25 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1770. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1771. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE - 0.05 * SIZE * SIN(SINE / 24), 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1772. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1773. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1774. end
  1775. ATTACK = false
  1776. Rooted = false
  1777. end
  1778. function MouseDown(Mouse)
  1779. if ATTACK == false then
  1780. Fury()
  1781. end
  1782. end
  1783. function MouseUp(Mouse)
  1784. HOLD = false
  1785. end
  1786. function KeyDown(Key)
  1787. KEYHOLD = true
  1788. if Key == "f" and ATTACK == false then
  1789. EquipGun()
  1790. end
  1791. if Key == "c" and ATTACK == false then
  1792. BearTrap()
  1793. end
  1794. if Key == "v" and ATTACK == false then
  1795. HandGrenade()
  1796. end
  1797. if Key ~= "x" or ATTACK == false then
  1798. end
  1799. end
  1800. function KeyUp(Key)
  1801. KEYHOLD = false
  1802. end
  1803. Mouse.Button1Down:connect(function(NEWKEY)
  1804. MouseDown(NEWKEY)
  1805. end)
  1806. Mouse.Button1Up:connect(function(NEWKEY)
  1807. MouseUp(NEWKEY)
  1808. end)
  1809. Mouse.KeyDown:connect(function(NEWKEY)
  1810. KeyDown(NEWKEY)
  1811. end)
  1812. Mouse.KeyUp:connect(function(NEWKEY)
  1813. KeyUp(NEWKEY)
  1814. end)
  1815. function unanchor()
  1816. for _, c in pairs(Character:GetChildren()) do
  1817. if c:IsA("BasePart") and c ~= RootPart then
  1818. c.Anchored = false
  1819. end
  1820. end
  1821. if UNANCHOR == true then
  1822. RootPart.Anchored = false
  1823. else
  1824. RootPart.Anchored = true
  1825. end
  1826. end
  1827. Humanoid.Changed:connect(function(Jump)
  1828. if Jump == "Jump" and Disable_Jump == true then
  1829. Humanoid.Jump = false
  1830. end
  1831. end)
  1832. while true do
  1833. Swait()
  1834. script.Parent = WEAPONGUI
  1835. ANIMATE.Parent = nil
  1836. for _, v in next, Humanoid:GetPlayingAnimationTracks() do
  1837. v:Stop()
  1838. end
  1839. SINE = SINE + CHANGE
  1840. Humanoid.HipHeight = 0.4
  1841. Humanoid.JumpPower = 150
  1842. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1843. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1844. local HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4 * SIZE, Character)
  1845. local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
  1846. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1847. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1848. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5 * SIZE, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1849. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * SIZE, 0.885 * SIZE - 0.125 * SIZE * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE * 2), 0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
  1850. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * SIZE, 0.885 * SIZE + 0.125 * SIZE * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE * 2), 0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
  1851. elseif ANIM ~= "Walk" or TORSOVELOCITY < 1 then
  1852. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1853. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5 * SIZE, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1854. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * SIZE, 1 * SIZE, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1855. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * SIZE, 1 * SIZE, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1856. end
  1857. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1858. ANIM = "Jump"
  1859. if ATTACK == false then
  1860. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1861. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
  1862. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1863. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1864. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE, -0.3 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
  1865. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE, -0.3 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
  1866. end
  1867. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1868. ANIM = "Fall"
  1869. if ATTACK == false then
  1870. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1871. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
  1872. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * SIZE, 0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-10), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1873. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * SIZE, 0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-10), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1874. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -0.8 * SIZE, -0.3 * SIZE) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
  1875. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
  1876. end
  1877. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1878. ANIM = "Idle"
  1879. if ATTACK == false then
  1880. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 + 0.05 * SIZE * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  1881. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(10 - 5 * COS(SINE / 24)), RAD(-5), RAD(-5)), 1 / Animation_Speed)
  1882. if EQUIPPED == false then
  1883. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * SIZE, 0.55 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.75 * SIZE) * ANGLES(RAD(25), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1884. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * SIZE, 0.25 * SIZE - 0.05 * SIZE * SIN(SINE / 24), -0.5 * SIZE) * ANGLES(RAD(25), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1885. else
  1886. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * SIZE, 0.5 * SIZE, -0.5 * SIZE) * ANGLES(RAD(45), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1887. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * SIZE, 0.5 * SIZE, -0.8 * SIZE) * ANGLES(RAD(45), RAD(0), RAD(50)) * CF(0, 0.1 * SIZE, 0) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1888. end
  1889. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  1890. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE - 0.05 * SIZE * COS(SINE / 24), -0.01 * SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
  1891. end
  1892. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1893. ANIM = "Walk"
  1894. if ATTACK == false then
  1895. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * SIZE, 0 * SIZE, -0.1 * SIZE) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1896. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + (1 * SIZE - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1897. if EQUIPPED == false then
  1898. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * SIZE, 0.55 * SIZE + 0.05 * SIZE * COS(SINE / (WALKSPEEDVALUE / 2)), -0.75 * SIZE) * ANGLES(RAD(25), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1899. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * SIZE, 0.25 * SIZE + 0.05 * SIZE * COS(SINE / (WALKSPEEDVALUE / 2)), -0.5 * SIZE) * ANGLES(RAD(25), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1900. else
  1901. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * SIZE, 0.5 * SIZE + 0.05 * SIZE * COS(SINE / (WALKSPEEDVALUE / 2)), -0.5 * SIZE) * ANGLES(RAD(45), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1902. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * SIZE, 0.5 * SIZE + 0.05 * SIZE * COS(SINE / (WALKSPEEDVALUE / 2)), -0.8 * SIZE) * ANGLES(RAD(45), RAD(0), RAD(50)) * CF(0, 0.1 * SIZE, 0) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1903. end
  1904. RightHip.C0 = Clerp(RightHip.C0, CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1905. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1906. end
  1907. end
  1908. for E = 1, #TAIL do
  1909. TAIL[E].C1 = Clerp(TAIL[E].C1, CF(0, 0, 0) * ANGLES(RAD(-2 * COS(SINE / 48) + 1 * SIN(SINE / 12)), RAD(0), RAD(1 * SIN(SINE / 24))), 1 / Animation_Speed)
  1910. end
  1911. unanchor()
  1912. Humanoid.MaxHealth = 1000
  1913. Humanoid.Health = 1000
  1914. if Rooted == false then
  1915. Disable_Jump = false
  1916. Humanoid.WalkSpeed = Speed
  1917. elseif Rooted == true then
  1918. Disable_Jump = true
  1919. Humanoid.WalkSpeed = 0
  1920. end
  1921. for _, c in pairs(Character:GetChildren()) do
  1922. if c.ClassName == "Part" and c.Name ~= "Eye" then
  1923. c.Material = "Granite"
  1924. if c:FindFirstChildOfClass("ParticleEmitter") then
  1925. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1926. end
  1927. c.Color = C3(0.3137254901960784, 0.2627450980392157, 0.2627450980392157)
  1928. if c == Head and c:FindFirstChild("face") then
  1929. c.face:remove()
  1930. end
  1931. elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
  1932. c:remove()
  1933. elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  1934. c:remove()
  1935. end
  1936. end
  1937. Humanoid.DisplayDistanceType = "None"
  1938. Humanoid.Name = "NONHUM"
  1939. if sick.Parent ~= Character then
  1940. sick = IT("Sound", Character)
  1941. end
  1942. sick.SoundId = "rbxassetid://737063244"
  1943. sick.Looped = true
  1944. sick.Pitch = 0.9
  1945. sick.Volume = 3
  1946. sick.Playing = true
  1947. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement