Advertisement
The_God_M8

lol

May 11th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 58.81 KB | None | 0 0
  1.  
  2. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility by WaverlyCole");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};
  3. do
  4. script.Parent = InternalData.RealOwner.Character
  5. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
  6. local function createObject (connections, index)
  7. local proxy = newproxy (true);local meta = getmetatable (proxy);
  8. local runbind = function (self, i, ...) connections[i]:Fire (...); end;
  9. while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
  10. meta.__index = function (self, i)
  11. if (i == 'TriggerEvent') then return runbind end;
  12. return connections[i] and connections[i].Event or index[i];
  13. end;
  14. meta.__newindex = index;meta.__metatable = false;return proxy
  15. end;
  16. local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
  17. local UserInputService = createObject({"InputBegan","InputEnded"},{})
  18. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  19. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  20. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  21. Event.OnServerEvent:Connect(function(FiredBy,Input)
  22. if FiredBy ~= InternalData.RealOwner then return end
  23. if Input.MouseEvent then
  24. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  25. elseif Input.Sound then
  26. if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
  27. else
  28. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  29. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
  30. for _,Action in pairs(ContextActionService.Actions) do
  31. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  32. end
  33. Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  34. end
  35. end)
  36. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  37. Event.Parent = NLS([[
  38. local Player = owner;
  39. local Sounds = {};
  40. local Event = script:WaitForChild("UserInput");
  41. local UserInputService = game:GetService("UserInputService");
  42. local Mouse = Player:GetMouse();
  43. local Input = function(Input,gameProcessedEvent)
  44. if gameProcessedEvent then return end
  45. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  46. end
  47. Event.OnClientEvent:connect(function(Args)
  48. if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
  49. end)
  50. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  51. local Hit,Target
  52. while wait(1/30) do
  53. for x,Sound in pairs(Sounds) do
  54. if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
  55. end
  56. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  57. Hit = Mouse.Hit;Target = Mouse.Target;
  58. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  59. end
  60. end
  61. ]],InternalData.RealOwner.Character)
  62. end
  63. InternalData.NewOwner = setmetatable({},{
  64. __index = function (self,Index)
  65. local Type = type(InternalData.RealOwner[Index])
  66. if Type == "function" then
  67. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  68. return function (self)return InternalData["Mouse"] end
  69. end
  70. return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
  71. elseif Index == "FakePlayer" then
  72. return true
  73. end
  74. return InternalData.RealOwner[Index]
  75. end;
  76. __tostring = function(self) return tostring(InternalData.RealOwner) end
  77. })
  78. --LoadLibrary("RbxUtility").Create
  79. InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
  80. if Library == "RbxUtility" then
  81. return setmetatable({},{
  82. __tostring = function() return "RbxUtility" end;
  83. __index = function(self, Index)
  84. if Index:lower() == "create" then
  85. return function(Type)
  86. return function(Data)
  87. Data = Data or {}
  88. local Inst = Instance.new(Type)
  89. for x,y in pairs(Data) do
  90. if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
  91. if y == owner then y = InternalData.RealOwner end
  92. Inst[x] = y
  93. end
  94. return Inst
  95. end
  96. end
  97. end
  98. return InternalData.LoadLibrary(Library)[Index]
  99. end
  100. })
  101. end
  102. return InternalData.LoadLibrary(Library)
  103. end
  104. InternalData.RealInstance = Instance;Instance = setmetatable({},{
  105. __index = function (self,Index)
  106. if Index:lower() == 'new' then
  107. return function (Type, Parent)
  108. if Parent == owner then Parent = InternalData.RealOwner end
  109. if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
  110. local Real = InternalData.RealInstance.new(Type,Parent)
  111. if not Type then return end
  112. if Type == "BillboardGui" then
  113. local ToReturn = setmetatable({},{
  114. __index = function (self,Index)
  115. if type(Real[Index]) == "function" then
  116. if Index:lower() == "clone" then
  117. return function (self)
  118. local Real = Real:Clone()
  119. local ToReturn = setmetatable({RealObject = Real},{
  120. __index = function (self,Index)
  121. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  122. return Real[Index]
  123. end;
  124. __newindex = function (self,Index,Value)
  125. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  126. if Value == owner then Value = InternalData.RealOwner end
  127. Real[Index] = Value
  128. end;
  129. __tostring = function(self) return tostring(Real) end;
  130. })
  131. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  132. end
  133. end
  134. return function (self,...) return Real[Index](Real,...)end
  135. end
  136. return Real[Index]
  137. end;
  138. __newindex = function (self,Index,Value)
  139. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  140. if Value == owner then Value = InternalData.RealOwner end
  141. Real[Index] = Value
  142. end;
  143. __tostring = function(self) return tostring(Real) end;
  144. })
  145. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  146. elseif Type:lower() == "sound" then
  147. Real.Parent = owner.Character;
  148. local ToReturn = setmetatable({RealObject = Real},{
  149. __index = function (self,Index)
  150. if Index:lower() == "playbackloudness" then
  151. return InternalData.SoundLoudness[Real] or 0
  152. elseif type(Real[Index]) == "function" then
  153. if Index:lower() == "clone" then
  154. return function (self)
  155. local Real = Real:Clone()
  156. local ToReturn = setmetatable({},{
  157. __index = function (self,Index)
  158. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  159. return Real[Index]
  160. end;
  161. __newindex = function (self,Index,Value)
  162. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  163. if Value == owner then Value = InternalData.RealOwner end
  164. Real[Index] = Value
  165. end;
  166. __tostring = function(self) return tostring(Real) end;
  167. })
  168. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  169. end
  170. end
  171. return function (self,...) return Real[Index](Real,...)end
  172. end
  173. return Real[Index]
  174. end;
  175. __newindex = function (self,Index,Value)
  176. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  177. if Value == owner then Value = InternalData.RealOwner end
  178. Real[Index] = Value
  179. end;
  180. __tostring = function(self) return tostring(Real) end;
  181. })
  182. InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
  183. else
  184. local ToReturn = setmetatable({RealObject = Real},{
  185. __index = function (self,Index)
  186. if type(Real[Index]) == "function" then
  187. if Index:lower() == "clone" then
  188. return function (self)
  189. local Real = Real:Clone()
  190. local ToReturn = setmetatable({},{
  191. __index = function (self,Index)
  192. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  193. return Real[Index]
  194. end;
  195. __newindex = function (self,Index,Value)
  196. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  197. if Value == owner then Value = InternalData.RealOwner end
  198. Real[Index] = Value
  199. end;
  200. __tostring = function(self) return tostring(Real) end;
  201. })
  202. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  203. end
  204. end
  205. return function (self,...) return Real[Index](Real,...)end
  206. end
  207. return Real[Index]
  208. end;
  209. __newindex = function (self,Index,Value)
  210. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  211. if Value == owner then Value = InternalData.RealOwner end
  212. Real[Index] = Value
  213. end;
  214. __tostring = function(self) return tostring(Real) end;
  215. })
  216. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  217. end
  218. end
  219. end
  220. return InternalData.RealInstance[Index]
  221. end;
  222. __tostring = function(self) return tostring(InternalData.RealInstance) end;
  223. });
  224. InternalData.RealGame = game;game = setmetatable({},{
  225. __index = function (self,Index)
  226. if InternalData.RealGame[Index] then
  227. local Type = type(InternalData.RealGame[Index])
  228. if Type == "function" then
  229. if Index:lower() == "getservice" or Index:lower() == "service" then
  230. return function (self,Service)
  231. local FakeServices = {
  232. ["players"] = function()
  233. return setmetatable({},{
  234. __index = function (self2,Index2)
  235. local RealService = InternalData.RealGame:GetService(Service)
  236. local Type2 = type(RealService[Index2])
  237. if Type2 == "function" then
  238. return function (self,...) return RealService[Index2](RealService,...)end
  239. else
  240. if Index2:lower() == "localplayer" then return InternalData.NewOwner end
  241. return RealService[Index2]
  242. end
  243. end;
  244. __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
  245. })
  246. end;
  247. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  248. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  249. ["debris"] = function()
  250. return setmetatable({},{
  251. __index = function(self2,Index2)
  252. local RealService = InternalData.RealGame:GetService(Service)
  253. local Type2 = type(RealService[Index2])
  254. if Type2 == "function" then
  255. if Index2:lower() == "additem" then
  256. return function (self,Item,Time)
  257. if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
  258. return RealService:AddItem(Item,Time)
  259. end
  260. end
  261. return function (self,...) return RealService[Index2](RealService,...) end
  262. end
  263. return RealService[Index2]
  264. end;
  265. __tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
  266. })
  267. end;
  268. ["runservice"] = function()
  269. return setmetatable({},{
  270. __index = function(self2,Index2)
  271. local RealService = InternalData.RealGame:GetService(Service)
  272. local Type2 = type(RealService[Index2])
  273. if Type2 == "function" then
  274. return function (self,...) return RealService[Index2](RealService,...) end
  275. else
  276. local RunServices = {
  277. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  278. ["renderstepped"] = function() return RealService["Stepped"] end
  279. }
  280. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  281. return RealService[Index2]
  282. end
  283. end;
  284. __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
  285. })
  286. end
  287. }
  288. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  289. return InternalData.RealGame:GetService(Service)
  290. end
  291. end
  292. return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
  293. else
  294. if game:GetService(Index) then return game:GetService(Index) end
  295. return InternalData.RealGame[Index]
  296. end
  297. end
  298. return nil
  299. end;
  300. __tostring = function(self) return tostring(InternalData.game) end
  301. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
  302.  
  303. ------------------------------
  304.  
  305. --Made by goodguyaiden--------
  306. --Sassy Girl------------------
  307.  
  308. ------------------------------
  309.  
  310. wait(0.2)
  311. local Player = game:service'Players'.localPlayer
  312. local chara = Player.Character
  313. Player=game:GetService("Players").LocalPlayer
  314. Character=Player.Character
  315. PlayerGui=Player.PlayerGui
  316. Backpack=Player.Backpack
  317. Torso=Character.Torso
  318. Head=Character.Head
  319. Humanoid=Character.Humanoid
  320. m=Instance.new('Model',Character)
  321. LeftArm=Character["Left Arm"]
  322. LeftLeg=Character["Left Leg"]
  323. RightArm=Character["Right Arm"]
  324. RightLeg=Character["Right Leg"]
  325. LS=Torso["Left Shoulder"]
  326. LH=Torso["Left Hip"]
  327. RS=Torso["Right Shoulder"]
  328. RH=Torso["Right Hip"]
  329. Face = Head.face
  330. Neck=Torso.Neck
  331. it=Instance.new
  332. attacktype=1
  333. vt=Vector3.new
  334. cf=CFrame.new
  335. cl3=Color3.new
  336. rgb=Color3.fromRGB
  337. bcn=BrickColor.new
  338. euler=CFrame.fromEulerAnglesXYZ
  339. angles=CFrame.Angles
  340. Humanoid.WalkSpeed = 16
  341. Player = game:GetService("Players").LocalPlayer
  342. PlayerGui = Player.PlayerGui
  343. Cam = workspace.CurrentCamera
  344. Backpack = Player.Backpack
  345. Character = Player.Character
  346. Humanoid = Character.Humanoid
  347. Mouse = owner:GetMouse()
  348. RootPart = Character["HumanoidRootPart"]
  349. Torso = Character["Torso"]
  350. Head = Character["Head"]
  351. RightArm = Character["Right Arm"]
  352. LeftArm = Character["Left Arm"]
  353. RightLeg = Character["Right Leg"]
  354. LeftLeg = Character["Left Leg"]
  355. RootJoint = RootPart["RootJoint"]
  356. Neck = Torso["Neck"]
  357. RightShoulder = Torso["Right Shoulder"]
  358. LeftShoulder = Torso["Left Shoulder"]
  359. RightHip = Torso["Right Hip"]
  360. LeftHip = Torso["Left Hip"]
  361. local Player = game:service'Players'.localPlayer
  362. local chara = Player.Character
  363.  
  364. shirt= Instance.new("Shirt", Character)
  365. shirt.Name = "Shirt"
  366. pants = Instance.new("Pants", Character)
  367. pants.Name = "Pants"
  368. chara.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=0"
  369. chara.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=405297110"
  370. pumpk = Instance.new("Sound")
  371. pumpk.Parent = game.Players.LocalPlayer.Character.Head
  372. pumpk.SoundId = "rbxassetid://1267328508"
  373. pumpk.Volume = 3
  374. pumpk.Looped = true
  375. pumpk:Play()
  376. IT = Instance.new
  377. CF = CFrame.new
  378. VT = Vector3.new
  379. RAD = math.rad
  380. C3 = Color3.new
  381. UD2 = UDim2.new
  382. BRICKC = BrickColor.new
  383. ANGLES = CFrame.Angles
  384. EULER = CFrame.fromEulerAnglesXYZ
  385. COS = math.cos
  386. ACOS = math.acos
  387. SIN = math.sin
  388. ASIN = math.asin
  389. ABS = math.abs
  390. MRANDOM = math.random
  391. FLOOR = math.floor
  392. Animation_Speed = 3
  393. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  394. local Speed = 12
  395. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  396. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  397. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  398. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  399. local DAMAGEMULTIPLIER = 1
  400. local ANIM = "Idle"
  401. local ATTACK = false
  402. local EQUIPPED = false
  403. local HOLD = false
  404. local COMBO = 1
  405. local Rooted = false
  406. local SINE = 0
  407. local KEYHOLD = false
  408. local CHANGE = 2 / Animation_Speed
  409. local WALKINGANIM = false
  410. local VALUE1 = false
  411. local VALUE2 = false
  412. local ROBLOXIDLEANIMATION = IT("Animation")
  413. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  414. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  415. --ROBLOXIDLEANIMATION.Parent = Humanoid
  416. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  417. WEAPONGUI.Name = "Weapon GUI"
  418. local Weapon = IT("Model")
  419. Weapon.Name = "Adds"
  420. local Effects = IT("Folder", Weapon)
  421. Effects.Name = "Effects"
  422. local ANIMATOR = Humanoid.Animator
  423. local ANIMATE = Character.Animate
  424. local UNANCHOR = true
  425. local PLAYANIMS = true
  426. ArtificialHB = Instance.new("BindableEvent", script)
  427. ArtificialHB.Name = "ArtificialHB"
  428.  
  429. script:WaitForChild("ArtificialHB")
  430.  
  431. frame = Frame_Speed
  432. tf = 0
  433. allowframeloss = false
  434. tossremainder = false
  435. lastframe = tick()
  436. script.ArtificialHB:Fire()
  437.  
  438. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  439. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  440. end
  441.  
  442. function PositiveAngle(NUMBER)
  443. if NUMBER >= 0 then
  444. NUMBER = 0
  445. end
  446. return NUMBER
  447. end
  448.  
  449. function NegativeAngle(NUMBER)
  450. if NUMBER <= 0 then
  451. NUMBER = 0
  452. end
  453. return NUMBER
  454. end
  455.  
  456. function Swait(NUMBER)
  457. if NUMBER == 0 or NUMBER == nil then
  458. ArtificialHB.Event:wait()
  459. else
  460. for i = 1, NUMBER do
  461. ArtificialHB.Event:wait()
  462. end
  463. end
  464. end
  465.  
  466. function QuaternionFromCFrame(cf)
  467. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  468. local trace = m00 + m11 + m22
  469. if trace > 0 then
  470. local s = math.sqrt(1 + trace)
  471. local recip = 0.5 / s
  472. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  473. else
  474. local i = 0
  475. if m11 > m00 then
  476. i = 1
  477. end
  478. if m22 > (i == 0 and m00 or m11) then
  479. i = 2
  480. end
  481. if i == 0 then
  482. local s = math.sqrt(m00 - m11 - m22 + 1)
  483. local recip = 0.5 / s
  484. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  485. elseif i == 1 then
  486. local s = math.sqrt(m11 - m22 - m00 + 1)
  487. local recip = 0.5 / s
  488. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  489. elseif i == 2 then
  490. local s = math.sqrt(m22 - m00 - m11 + 1)
  491. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  492. end
  493. end
  494. end
  495.  
  496. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  497. local xs, ys, zs = x + x, y + y, z + z
  498. local wx, wy, wz = w * xs, w * ys, w * zs
  499. local xx = x * xs
  500. local xy = x * ys
  501. local xz = x * zs
  502. local yy = y * ys
  503. local yz = y * zs
  504. local zz = z * zs
  505. 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))
  506. end
  507.  
  508. function QuaternionSlerp(a, b, t)
  509. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  510. local startInterp, finishInterp;
  511. if cosTheta >= 0.0001 then
  512. if (1 - cosTheta) > 0.0001 then
  513. local theta = ACOS(cosTheta)
  514. local invSinTheta = 1 / SIN(theta)
  515. startInterp = SIN((1 - t) * theta) * invSinTheta
  516. finishInterp = SIN(t * theta) * invSinTheta
  517. else
  518. startInterp = 1 - t
  519. finishInterp = t
  520. end
  521. else
  522. if (1 + cosTheta) > 0.0001 then
  523. local theta = ACOS(-cosTheta)
  524. local invSinTheta = 1 / SIN(theta)
  525. startInterp = SIN((t - 1) * theta) * invSinTheta
  526. finishInterp = SIN(t * theta) * invSinTheta
  527. else
  528. startInterp = t - 1
  529. finishInterp = t
  530. end
  531. end
  532. 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
  533. end
  534.  
  535. function Clerp(a, b, t)
  536. local qa = {QuaternionFromCFrame(a)}
  537. local qb = {QuaternionFromCFrame(b)}
  538. local ax, ay, az = a.x, a.y, a.z
  539. local bx, by, bz = b.x, b.y, b.z
  540. local _t = 1 - t
  541. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  542. end
  543.  
  544. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  545. local frame = IT("Frame")
  546. frame.BackgroundTransparency = TRANSPARENCY
  547. frame.BorderSizePixel = BORDERSIZEPIXEL
  548. frame.Position = POSITION
  549. frame.Size = SIZE
  550. frame.BackgroundColor3 = COLOR
  551. frame.BorderColor3 = BORDERCOLOR
  552. frame.Name = NAME
  553. frame.Parent = PARENT
  554. return frame
  555. end
  556.  
  557. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  558. local label = IT("TextLabel")
  559. label.BackgroundTransparency = 1
  560. label.Size = UD2(1, 0, 1, 0)
  561. label.Position = UD2(0, 0, 0, 0)
  562. label.TextColor3 = TEXTCOLOR
  563. label.TextStrokeTransparency = STROKETRANSPARENCY
  564. label.TextTransparency = TRANSPARENCY
  565. label.FontSize = TEXTFONTSIZE
  566. label.Font = TEXTFONT
  567. label.BorderSizePixel = BORDERSIZEPIXEL
  568. label.TextScaled = false
  569. label.Text = TEXT
  570. label.Name = NAME
  571. label.Parent = PARENT
  572. return label
  573. end
  574.  
  575. function NoOutlines(PART)
  576. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  577. end
  578.  
  579.  
  580. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  581. local NEWWELD = IT(TYPE)
  582. NEWWELD.Part0 = PART0
  583. NEWWELD.Part1 = PART1
  584. NEWWELD.C0 = C0
  585. NEWWELD.C1 = C1
  586. NEWWELD.Parent = PARENT
  587. return NEWWELD
  588. end
  589.  
  590. local S = IT("Sound")
  591.  
  592. function CreateSound(ID, PARENT, VOLUME, PITCH)
  593. local NEWSOUND = nil
  594. coroutine.resume(coroutine.create(function()
  595. NEWSOUND = S:Clone()
  596. NEWSOUND.Parent = PARENT
  597. NEWSOUND.Volume = VOLUME
  598. NEWSOUND.Pitch = PITCH
  599. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  600. Swait()
  601. NEWSOUND:play()
  602. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  603. end))
  604. return NEWSOUND
  605. end
  606.  
  607. function CFrameFromTopBack(at, top, back)
  608. local right = top:Cross(back)
  609. 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)
  610. end
  611.  
  612. function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  613. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  614. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  615. wave.CFrame = CFRAME
  616. coroutine.resume(coroutine.create(function(PART)
  617. for i = 1, WAIT do
  618. Swait()
  619. mesh.Scale = mesh.Scale + GROW
  620. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  621. if DOESROT == true then
  622. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  623. end
  624. wave.Transparency = wave.Transparency + (0.5/WAIT)
  625. if wave.Transparency > 0.99 then
  626. wave:remove()
  627. end
  628. end
  629. end))
  630. end
  631.  
  632. function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
  633. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  634. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0,0,0))
  635. wave.CFrame = CFRAME
  636. coroutine.resume(coroutine.create(function(PART)
  637. for i = 1, WAIT do
  638. Swait()
  639. mesh.Scale = mesh.Scale + GROW
  640. if DOESROT == true then
  641. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  642. end
  643. wave.Transparency = wave.Transparency + (0.5/WAIT)
  644. if wave.Transparency > 0.99 then
  645. wave:remove()
  646. end
  647. end
  648. end))
  649. end
  650.  
  651. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  652. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  653. local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
  654. wave.CFrame = CFRAME
  655. coroutine.resume(coroutine.create(function(PART)
  656. for i = 1, WAIT do
  657. Swait()
  658. mesh.Scale = mesh.Scale + GROW
  659. wave.Transparency = wave.Transparency + (1/WAIT)
  660. if wave.Transparency > 0.99 then
  661. wave:remove()
  662. end
  663. end
  664. end))
  665. end
  666.  
  667. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  668. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  669. local mesh = nil
  670. if KIND == "Base" then
  671. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  672. elseif KIND == "Thin" then
  673. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  674. elseif KIND == "Round" then
  675. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  676. end
  677. wave.CFrame = CFRAME
  678. coroutine.resume(coroutine.create(function(PART)
  679. for i = 1, WAIT do
  680. Swait()
  681. mesh.Scale = mesh.Scale + GROW/10
  682. wave.Transparency = wave.Transparency + (0.5/WAIT)
  683. if wave.Transparency > 0.99 then
  684. wave:remove()
  685. end
  686. end
  687. end))
  688. end
  689.  
  690. function MakeForm(PART,TYPE)
  691. if TYPE == "Cyl" then
  692. local MSH = IT("CylinderMesh",PART)
  693. elseif TYPE == "Ball" then
  694. local MSH = IT("SpecialMesh",PART)
  695. MSH.MeshType = "Sphere"
  696. elseif TYPE == "Wedge" then
  697. local MSH = IT("SpecialMesh",PART)
  698. MSH.MeshType = "Wedge"
  699. end
  700. end
  701.  
  702.  
  703. function CheckTableForString(Table, String)
  704. for i, v in pairs(Table) do
  705. if string.find(string.lower(String), string.lower(v)) then
  706. return true
  707. end
  708. end
  709. return false
  710. end
  711.  
  712. function CheckIntangible(Hit)
  713. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  714. if Hit and Hit.Parent then
  715. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  716. return true
  717. end
  718. end
  719. return false
  720. end
  721.  
  722. Debris = game:GetService("Debris")
  723.  
  724. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  725. local Direction = CFrame.new(StartPos, Vec).lookVector
  726. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  727. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  728. if RayHit and CheckIntangible(RayHit) then
  729. if DelayIfHit then
  730. wait()
  731. end
  732. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  733. end
  734. return RayHit, RayPos, RayNormal
  735. end
  736.  
  737. function turnto(position)
  738. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  739. end
  740.  
  741.  
  742.  
  743. game:GetService("RunService").Heartbeat:connect(function(s, p)
  744. tf = tf + s
  745. if tf >= frame then
  746. if allowframeloss then
  747. script.ArtificialHB:Fire()
  748. lastframe = tick()
  749. else
  750. for i = 1, math.floor(tf / frame) do
  751. script.ArtificialHB:Fire()
  752. end
  753. lastframe = tick()
  754. end
  755. if tossremainder then
  756. tf = 0
  757. else
  758. tf = tf - frame * math.floor(tf / frame)
  759. end
  760. end
  761. end)
  762. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  763. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  764. end
  765.  
  766. function PositiveAngle(NUMBER)
  767. if NUMBER >= 0 then
  768. NUMBER = 0
  769. end
  770. return NUMBER
  771. end
  772.  
  773. function NegativeAngle(NUMBER)
  774. if NUMBER <= 0 then
  775. NUMBER = 0
  776. end
  777. return NUMBER
  778. end
  779.  
  780. function Swait(NUMBER)
  781. if NUMBER == 0 or NUMBER == nil then
  782. ArtificialHB.Event:wait()
  783. else
  784. for i = 1, NUMBER do
  785. ArtificialHB.Event:wait()
  786. end
  787. end
  788. end
  789.  
  790. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  791. local NEWMESH = IT(MESH)
  792. if MESH == "SpecialMesh" then
  793. NEWMESH.MeshType = MESHTYPE
  794. if MESHID ~= "nil" and MESHID ~= "" then
  795. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  796. end
  797. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  798. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  799. end
  800. end
  801. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  802. NEWMESH.Scale = SCALE
  803. NEWMESH.Parent = PARENT
  804. return NEWMESH
  805. end
  806.  
  807. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  808. local NEWPART = IT("Part")
  809. NEWPART.formFactor = FORMFACTOR
  810. NEWPART.Reflectance = REFLECTANCE
  811. NEWPART.Transparency = TRANSPARENCY
  812. NEWPART.CanCollide = false
  813. NEWPART.Locked = true
  814. NEWPART.Anchored = true
  815. if ANCHOR == false then
  816. NEWPART.Anchored = false
  817. end
  818. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  819. NEWPART.Name = NAME
  820. NEWPART.Size = SIZE
  821. NEWPART.Position = Torso.Position
  822. NEWPART.Material = MATERIAL
  823. NEWPART:BreakJoints()
  824. NEWPART.Parent = PARENT
  825. return NEWPART
  826. end
  827.  
  828. local function weldBetween(a, b)
  829. local weldd = Instance.new("ManualWeld")
  830. weldd.Part0 = a
  831. weldd.Part1 = b
  832. weldd.C0 = CFrame.new()
  833. weldd.C1 = b.CFrame:inverse() * a.CFrame
  834. weldd.Parent = a
  835. return weldd
  836. end
  837.  
  838.  
  839. function QuaternionFromCFrame(cf)
  840. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  841. local trace = m00 + m11 + m22
  842. if trace > 0 then
  843. local s = math.sqrt(1 + trace)
  844. local recip = 0.5 / s
  845. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  846. else
  847. local i = 0
  848. if m11 > m00 then
  849. i = 1
  850. end
  851. if m22 > (i == 0 and m00 or m11) then
  852. i = 2
  853. end
  854. if i == 0 then
  855. local s = math.sqrt(m00 - m11 - m22 + 1)
  856. local recip = 0.5 / s
  857. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  858. elseif i == 1 then
  859. local s = math.sqrt(m11 - m22 - m00 + 1)
  860. local recip = 0.5 / s
  861. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  862. elseif i == 2 then
  863. local s = math.sqrt(m22 - m00 - m11 + 1)
  864. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  865. end
  866. end
  867. end
  868.  
  869. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  870. local xs, ys, zs = x + x, y + y, z + z
  871. local wx, wy, wz = w * xs, w * ys, w * zs
  872. local xx = x * xs
  873. local xy = x * ys
  874. local xz = x * zs
  875. local yy = y * ys
  876. local yz = y * zs
  877. local zz = z * zs
  878. 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))
  879. end
  880.  
  881. function QuaternionSlerp(a, b, t)
  882. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  883. local startInterp, finishInterp;
  884. if cosTheta >= 0.0001 then
  885. if (1 - cosTheta) > 0.0001 then
  886. local theta = ACOS(cosTheta)
  887. local invSinTheta = 1 / SIN(theta)
  888. startInterp = SIN((1 - t) * theta) * invSinTheta
  889. finishInterp = SIN(t * theta) * invSinTheta
  890. else
  891. startInterp = 1 - t
  892. finishInterp = t
  893. end
  894. else
  895. if (1 + cosTheta) > 0.0001 then
  896. local theta = ACOS(-cosTheta)
  897. local invSinTheta = 1 / SIN(theta)
  898. startInterp = SIN((t - 1) * theta) * invSinTheta
  899. finishInterp = SIN(t * theta) * invSinTheta
  900. else
  901. startInterp = t - 1
  902. finishInterp = t
  903. end
  904. end
  905. 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
  906. end
  907.  
  908. function Clerp(a, b, t)
  909. local qa = {QuaternionFromCFrame(a)}
  910. local qb = {QuaternionFromCFrame(b)}
  911. local ax, ay, az = a.x, a.y, a.z
  912. local bx, by, bz = b.x, b.y, b.z
  913. local _t = 1 - t
  914. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  915. end
  916.  
  917. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  918. local frame = IT("Frame")
  919. frame.BackgroundTransparency = TRANSPARENCY
  920. frame.BorderSizePixel = BORDERSIZEPIXEL
  921. frame.Position = POSITION
  922. frame.Size = SIZE
  923. frame.BackgroundColor3 = COLOR
  924. frame.BorderColor3 = BORDERCOLOR
  925. frame.Name = NAME
  926. frame.Parent = PARENT
  927. return frame
  928. end
  929.  
  930. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  931. local label = IT("TextLabel")
  932. label.BackgroundTransparency = 1
  933. label.Size = UD2(1, 0, 1, 0)
  934. label.Position = UD2(0, 0, 0, 0)
  935. label.TextColor3 = TEXTCOLOR
  936. label.TextStrokeTransparency = STROKETRANSPARENCY
  937. label.TextTransparency = TRANSPARENCY
  938. label.FontSize = TEXTFONTSIZE
  939. label.Font = TEXTFONT
  940. label.BorderSizePixel = BORDERSIZEPIXEL
  941. label.TextScaled = false
  942. label.Text = TEXT
  943. label.Name = NAME
  944. label.Parent = PARENT
  945. return label
  946. end
  947.  
  948. function NoOutlines(PART)
  949. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  950. end
  951.  
  952. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  953. local NEWWELD = IT(TYPE)
  954. NEWWELD.Part0 = PART0
  955. NEWWELD.Part1 = PART1
  956. NEWWELD.C0 = C0
  957. NEWWELD.C1 = C1
  958. NEWWELD.Parent = PARENT
  959. return NEWWELD
  960. end
  961.  
  962. local S = IT("Sound")
  963. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  964. local NEWSOUND = nil
  965. coroutine.resume(coroutine.create(function()
  966. NEWSOUND = S:Clone()
  967. NEWSOUND.Parent = PARENT
  968. NEWSOUND.Volume = VOLUME
  969. NEWSOUND.Pitch = PITCH
  970. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  971. NEWSOUND:play()
  972. if DOESLOOP == true then
  973. NEWSOUND.Looped = true
  974. else
  975. repeat wait(1) until NEWSOUND.Playing == false
  976. NEWSOUND:remove()
  977. end
  978. end))
  979. return NEWSOUND
  980. end
  981.  
  982. function MakeForm(PART,TYPE)
  983. if TYPE == "Cyl" then
  984. local MSH = IT("CylinderMesh",PART)
  985. elseif TYPE == "Ball" then
  986. local MSH = IT("SpecialMesh",PART)
  987. MSH.MeshType = "Sphere"
  988. elseif TYPE == "Wedge" then
  989. local MSH = IT("SpecialMesh",PART)
  990. MSH.MeshType = "Wedge"
  991. end
  992. end
  993.  
  994. function CFrameFromTopBack(at, top, back)
  995. local right = top:Cross(back)
  996. 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)
  997. end
  998.  
  999. function PuddleOfBlood(Position,MaxDrop,Model,MaxSize)
  1000. local HITFLOOR, HITPOS, NORMAL = Raycast(Position, (CF(Position, Position + VT(0, -1, 0))).lookVector, MaxDrop, Model)
  1001. if HITFLOOR ~= nil then
  1002. if HITFLOOR.Parent ~= Weapon and HITFLOOR.Parent ~= Character then
  1003. if HITFLOOR.Name == "BloodPuddle" then
  1004. local DIST = (Position - HITFLOOR.Position).Magnitude
  1005. if (HITFLOOR.Size.Z <= 5 and HITFLOOR.Size.Z < MaxSize) or (HITFLOOR.Size.Z > 5 and HITFLOOR.Size.Z < MaxSize and DIST < HITFLOOR.Size.Z/3) then
  1006. HITFLOOR.Size = HITFLOOR.Size + VT(0.1,0,0.1)
  1007. end
  1008. else
  1009. if HITFLOOR.Anchored == true then
  1010. local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(2,0,2))
  1011. BLOOD.CFrame = CF(HITPOS,HITPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0))
  1012. MakeForm(BLOOD,"Cyl")
  1013. coroutine.resume(coroutine.create(function()
  1014. Swait(75)
  1015. while true do
  1016. Swait()
  1017. BLOOD.Size = BLOOD.Size - VT(0.02,0,0.02)
  1018. if BLOOD.Size.Z < 0.051 then
  1019. BLOOD:remove()
  1020. break
  1021. end
  1022. end
  1023. end))
  1024. end
  1025. end
  1026. end
  1027. end
  1028. end
  1029.  
  1030. function SprayBlood(POSITION,DIRECTION,BloodSize)
  1031. local BLOOD = CreatePart(3, Effects, "Glass", 0, 0, "Maroon", "BloodPuddle", VT(0.3,0.3,0.3),false)
  1032. BLOOD.CFrame = CF(POSITION)
  1033. MakeForm(BLOOD,"Ball")
  1034. local bv = Instance.new("BodyVelocity",BLOOD)
  1035. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1036. bv.velocity = CF(POSITION,DIRECTION+VT(MRANDOM(-3,3)/30,MRANDOM(-3,3)/30,MRANDOM(-3,3)/30)).lookVector*75
  1037. bv.Name = "MOVE"
  1038. Debris:AddItem(bv,0.05)
  1039. coroutine.resume(coroutine.create(function()
  1040. local HASTOUCHEDGROUND = false
  1041. local HIT = BLOOD.Touched:Connect(function(hit)
  1042. if hit.Anchored == true then
  1043. HASTOUCHEDGROUND = true
  1044. PuddleOfBlood(BLOOD.Position+VT(0,1,0),2,BLOOD,BloodSize)
  1045. end
  1046. end)
  1047. wait(5)
  1048. if HASTOUCHEDGROUND == false then
  1049. BLOOD:remove()
  1050. end
  1051. end))
  1052. end
  1053.  
  1054. Debris = game:GetService("Debris")
  1055.  
  1056. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1057. local DIRECTION = CF(StartPos,EndPos).lookVector
  1058. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1059. end
  1060.  
  1061. function turnto(position)
  1062. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1063. end
  1064.  
  1065. function recurse(root,callback,i)
  1066. i= i or 0
  1067. for _,v in pairs(root:GetChildren()) do
  1068. i = i + 1
  1069. callback(i,v)
  1070.  
  1071. if #v:GetChildren() > 0 then
  1072. i = recurse(v,callback,i)
  1073. end
  1074. end
  1075.  
  1076. return i
  1077. end
  1078.  
  1079. function ragdollJoint(character, part0, part1, attachmentName, className, properties)
  1080. attachmentName = attachmentName.."RigAttachment"
  1081. local constraint = Instance.new(className.."Constraint")
  1082. constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  1083. constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  1084. constraint.Name = "RagdollConstraint"..part1.Name
  1085.  
  1086. for _,propertyData in next,properties or {} do
  1087. constraint[propertyData[1]] = propertyData[2]
  1088. end
  1089.  
  1090. constraint.Parent = character
  1091. end
  1092.  
  1093. function getAttachment0(character, attachmentName)
  1094. for _,child in next,character:GetChildren() do
  1095. local attachment = child:FindFirstChild(attachmentName)
  1096. if attachment then
  1097. return attachment
  1098. end
  1099. end
  1100. end
  1101.  
  1102. function R15Ragdoll(character)
  1103. recurse(character, function(_,v)
  1104. if v:IsA("Attachment") then
  1105. v.Axis = Vector3.new(0, 1, 0)
  1106. v.SecondaryAxis = Vector3.new(0, 0, 1)
  1107. v.Rotation = Vector3.new(0, 0, 0)
  1108. end
  1109. end)
  1110. for _,child in next,character:GetChildren() do
  1111. if child:IsA("Accoutrement") then
  1112. for _,part in next,child:GetChildren() do
  1113. if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  1114. local attachment1 = part:FindFirstChildOfClass("Attachment")
  1115. local attachment0 = getAttachment0(character,attachment1.Name)
  1116. if attachment0 and attachment1 then
  1117. local constraint = Instance.new("HingeConstraint")
  1118. constraint.Attachment0 = attachment0
  1119. constraint.Attachment1 = attachment1
  1120. constraint.LimitsEnabled = true
  1121. constraint.UpperAngle = 0
  1122. constraint.LowerAngle = 0
  1123. constraint.Parent = character
  1124. end
  1125. elseif part.Name == "HumanoidRootPart" then
  1126. part:remove()
  1127. end
  1128. end
  1129. end
  1130. end
  1131.  
  1132. ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  1133. {"LimitsEnabled",true};
  1134. {"UpperAngle",5};
  1135. })
  1136. ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
  1137. {"LimitsEnabled",true};
  1138. {"UpperAngle",15};
  1139. })
  1140.  
  1141. local handProperties = {
  1142. {"LimitsEnabled", true};
  1143. {"UpperAngle",0};
  1144. {"LowerAngle",0};
  1145. }
  1146. ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  1147. ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  1148.  
  1149. local shinProperties = {
  1150. {"LimitsEnabled", true};
  1151. {"UpperAngle", 0};
  1152. {"LowerAngle", -75};
  1153. }
  1154. ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  1155. ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  1156.  
  1157. local footProperties = {
  1158. {"LimitsEnabled", true};
  1159. {"UpperAngle", 15};
  1160. {"LowerAngle", -45};
  1161. }
  1162. ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  1163. ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  1164.  
  1165. ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
  1166. ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  1167. ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
  1168. ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  1169. ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  1170. ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  1171. end
  1172.  
  1173. function Ragdoll(Character2,CharTorso)
  1174. Character2:BreakJoints()
  1175. local hum = Character2:findFirstChild("Humanoid")
  1176. hum:remove()
  1177. local function Scan(ch)
  1178. local e
  1179. for e = 1,#ch do
  1180. Scan(ch[e]:GetChildren())
  1181. if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
  1182. ch[e]:remove()
  1183. end
  1184. end
  1185. end
  1186. local NEWHUM = IT("Humanoid")
  1187. NEWHUM.Name = "Corpse"
  1188. NEWHUM.Health = 0
  1189. NEWHUM.MaxHealth = 0
  1190. NEWHUM.PlatformStand = true
  1191. NEWHUM.Parent = Character2
  1192. NEWHUM.DisplayDistanceType = "None"
  1193.  
  1194. local ch = Character2:GetChildren()
  1195. local i
  1196. for i = 1,#ch do
  1197. if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1198. ch[i]:remove()
  1199. end
  1200. end
  1201.  
  1202. local Torso2 = Character2.Torso
  1203. local movevector = Vector3.new()
  1204.  
  1205. if Torso2 then
  1206. movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
  1207. local Head = Character2:FindFirstChild("Head")
  1208. if Head then
  1209. local Neck = Instance.new("Weld")
  1210. Neck.Name = "Neck"
  1211. Neck.Part0 = Torso2
  1212. Neck.Part1 = Head
  1213. Neck.C0 = CFrame.new(0, 1.5, 0)
  1214. Neck.C1 = CFrame.new()
  1215. Neck.Parent = Torso2
  1216.  
  1217. end
  1218. local Limb = Character2:FindFirstChild("Right Arm")
  1219. if Limb then
  1220.  
  1221. Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
  1222. local Joint = Instance.new("Glue")
  1223. Joint.Name = "RightShoulder"
  1224. Joint.Part0 = Torso2
  1225. Joint.Part1 = Limb
  1226. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1227. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1228. Joint.Parent = Torso2
  1229.  
  1230. local B = Instance.new("Part")
  1231. B.TopSurface = 0
  1232. B.BottomSurface = 0
  1233. B.formFactor = "Symmetric"
  1234. B.Size = Vector3.new(1, 1, 1)
  1235. B.Transparency = 1
  1236. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1237. B.Parent = Character2
  1238. local W = Instance.new("Weld")
  1239. W.Part0 = Limb
  1240. W.Part1 = B
  1241. W.C0 = CFrame.new(0, -0.5, 0)
  1242. W.Parent = Limb
  1243.  
  1244. end
  1245. local Limb = Character2:FindFirstChild("Left Arm")
  1246. if Limb then
  1247.  
  1248. Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
  1249. local Joint = Instance.new("Glue")
  1250. Joint.Name = "LeftShoulder"
  1251. Joint.Part0 = Torso2
  1252. Joint.Part1 = Limb
  1253. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1254. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1255. Joint.Parent = Torso2
  1256.  
  1257. local B = Instance.new("Part")
  1258. B.TopSurface = 0
  1259. B.BottomSurface = 0
  1260. B.formFactor = "Symmetric"
  1261. B.Size = Vector3.new(1, 1, 1)
  1262. B.Transparency = 1
  1263. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1264. B.Parent = Character2
  1265. local W = Instance.new("Weld")
  1266. W.Part0 = Limb
  1267. W.Part1 = B
  1268. W.C0 = CFrame.new(0, -0.5, 0)
  1269. W.Parent = Limb
  1270.  
  1271. end
  1272. local Limb = Character2:FindFirstChild("Right Leg")
  1273. if Limb then
  1274.  
  1275. Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
  1276. local Joint = Instance.new("Glue")
  1277. Joint.Name = "RightHip"
  1278. Joint.Part0 = Torso2
  1279. Joint.Part1 = Limb
  1280. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1281. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1282. Joint.Parent = Torso2
  1283.  
  1284. local B = Instance.new("Part")
  1285. B.TopSurface = 0
  1286. B.BottomSurface = 0
  1287. B.formFactor = "Symmetric"
  1288. B.Size = Vector3.new(1, 1, 1)
  1289. B.Transparency = 1
  1290. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1291. B.Parent = Character2
  1292. local W = Instance.new("Weld")
  1293. W.Part0 = Limb
  1294. W.Part1 = B
  1295. W.C0 = CFrame.new(0, -0.5, 0)
  1296. W.Parent = Limb
  1297.  
  1298. end
  1299. local Limb = Character2:FindFirstChild("Left Leg")
  1300. if Limb then
  1301.  
  1302. Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
  1303. local Joint = Instance.new("Glue")
  1304. Joint.Name = "LeftHip"
  1305. Joint.Part0 = Torso2
  1306. Joint.Part1 = Limb
  1307. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1308. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1309. Joint.Parent = Torso2
  1310.  
  1311. local B = Instance.new("Part")
  1312. B.TopSurface = 0
  1313. B.BottomSurface = 0
  1314. B.formFactor = "Symmetric"
  1315. B.Size = Vector3.new(1, 1, 1)
  1316. B.Transparency = 1
  1317. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1318. B.Parent = Character2
  1319. local W = Instance.new("Weld")
  1320. W.Part0 = Limb
  1321. W.Part1 = B
  1322. W.C0 = CFrame.new(0, -0.5, 0)
  1323. W.Parent = Limb
  1324.  
  1325. end
  1326. --[
  1327. local Bar = Instance.new("Part")
  1328. Bar.TopSurface = 0
  1329. Bar.BottomSurface = 0
  1330. Bar.formFactor = "Symmetric"
  1331. Bar.Size = Vector3.new(1, 1, 1)
  1332. Bar.Transparency = 1
  1333. Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
  1334. Bar.Parent = Character2
  1335. local Weld = Instance.new("Weld")
  1336. Weld.Part0 = Torso2
  1337. Weld.Part1 = Bar
  1338. Weld.C0 = CFrame.new(0, 0.5, 0)
  1339. Weld.Parent = Torso2
  1340. --]]
  1341. end
  1342. Character2.Parent = workspace
  1343. Debris:AddItem(Character2,5)
  1344.  
  1345. return Character2,Torso2
  1346. end
  1347.  
  1348. we = true
  1349.  
  1350. local le = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "le", VT(0, 0, 0),false)
  1351. local HandleMesh = CreateMesh("SpecialMesh", le, "FileMesh", "746694198", "0", VT(1,1,1), VT(0,0, 0))
  1352. local Weld = CreateWeldOrSnapOrMotor("Weld", le, LeftArm, le, CF(0, -1.8, -0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1353.  
  1354. local txt = Instance.new("BillboardGui", chara)
  1355. CV="Lime green"
  1356. txt.Adornee = chara.Head
  1357. txt.Name = "_status"
  1358. txt.Size = UDim2.new(2, 0, 1.2, 0)
  1359. txt.StudsOffset = Vector3.new(-9, 8, 0)
  1360. local text = Instance.new("TextLabel", txt)
  1361. text.Size = UDim2.new(10, 0, 7, 0)
  1362. text.FontSize = "Size24"
  1363. text.TextScaled = true
  1364. text.TextTransparency = 0
  1365. text.BackgroundTransparency = 1
  1366. text.TextTransparency = 0
  1367. text.TextStrokeTransparency = 0
  1368. text.Font = "Bodoni"
  1369. text.TextStrokeColor3 = BrickColor.new("Carnation pink").Color
  1370. text.TextColor3 = BrickColor.new("Light reddish violet").Color
  1371. text.Text = ""
  1372.  
  1373.  
  1374. function EW()
  1375. text.Text = "Ew"
  1376. we = true
  1377. ATTACK = true
  1378. Rooted = true
  1379. CreateSound("838721484", Head, 10, 1)
  1380. game.Players.LocalPlayer.Character["le"].Touched:connect(function(hit)
  1381. local humanoid = hit.Parent:findFirstChild("Humanoid")
  1382. if we == true then
  1383. humanoid:TakeDamage(10)
  1384. end
  1385. end)
  1386. for i=0, 1, 0.1 / Animation_Speed do
  1387. Swait()
  1388. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1389. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(12), RAD(0), RAD(20)), 0.5 / Animation_Speed)
  1390. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.55, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1391. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.55, 0) * ANGLES(RAD(150), RAD(0), RAD(40)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1392. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1393. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1394. end
  1395. wait(1)
  1396. we = false
  1397. text.Text = ""
  1398. ATTACK = false
  1399. Rooted = false
  1400. end
  1401.  
  1402.  
  1403.  
  1404. function MouseDown(Mouse)
  1405. end
  1406.  
  1407. function MouseUp(Mouse)
  1408. HOLD = false
  1409. end
  1410.  
  1411. function KeyDown(Key)
  1412. KEYHOLD = true
  1413. if Key == "q" and ATTACK == false then
  1414. EW()
  1415.  
  1416. end
  1417. end
  1418.  
  1419. function KeyUp(Key)
  1420. KEYHOLD = false
  1421. end
  1422.  
  1423. Mouse.Button1Down:connect(function(NEWKEY)
  1424. MouseDown(NEWKEY)
  1425. end)
  1426. Mouse.Button1Up:connect(function(NEWKEY)
  1427. MouseUp(NEWKEY)
  1428. end)
  1429. Mouse.KeyDown:connect(function(NEWKEY)
  1430. KeyDown(NEWKEY)
  1431. end)
  1432. Mouse.KeyUp:connect(function(NEWKEY)
  1433. KeyUp(NEWKEY)
  1434. end)
  1435.  
  1436.  
  1437. Humanoid.Changed:connect(function(Jump)
  1438. if Jump == "Jump" and (Disable_Jump == true) then
  1439. Humanoid.Jump = false
  1440. end
  1441. end)
  1442.  
  1443. while true do
  1444. Swait()
  1445. script.Parent = WEAPONGUI
  1446. ANIMATE.Parent = nil
  1447. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1448. v:Stop();
  1449. end
  1450. SINE = SINE + CHANGE
  1451. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1452. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1453. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1454. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1455. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1456. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1457. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 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)
  1458. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.3 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1459. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.3 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1460. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1461. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1462. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1463. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1464. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1465. end
  1466. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1467. ANIM = "Jump"
  1468. if PLAYANIMS == true then
  1469. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1470. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1471. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1472. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1473. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1474. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1475. end
  1476. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1477. ANIM = "Fall"
  1478. if PLAYANIMS == true then
  1479. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1480. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1481. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(100), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1482. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-100), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1483. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1484. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1485. end
  1486. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1487. ANIM = "Idle"
  1488. if PLAYANIMS == true then
  1489. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(4 - 6 * SIN(SINE / 12)), RAD(0)), 0.15 / Animation_Speed)
  1490. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(10 - 20 * SIN(SINE / 12))), 0.15 / Animation_Speed)
  1491. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-30)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1492. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-30)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1493. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1494. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1495. end
  1496. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1497. ANIM = "Walk"
  1498. if PLAYANIMS == true then
  1499. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1500. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1501. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-30)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1502. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-30)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1503. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1504. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1505. end
  1506. end
  1507. end
  1508. if Rooted == false then
  1509. Disable_Jump = false
  1510. Humanoid.WalkSpeed = Speed
  1511. elseif Rooted == true then
  1512. Disable_Jump = true
  1513. Humanoid.WalkSpeed = 0
  1514. end
  1515.  
  1516. Humanoid.Health = Humanoid.Health + 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement