Advertisement
lafur

Untitled

May 23rd, 2020
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 52.36 KB | None | 0 0
  1. -- Converted using Mokiros's Model to Script plugin
  2. -- Converted string size: 16722
  3. local genv={}
  4. local Scripts = {
  5. function() --[[
  6. Author: @spotco
  7. This script creates sounds which are placed under the character head.
  8. These sounds are used by the "LocalSound" script.
  9.  
  10. To modify this script, copy it to your "StarterPlayer/StarterCharacterScripts" folder keeping the same script name ("Sound").
  11. The default Sound script loaded for every character will then be replaced with your copy of the script.
  12. ]]--
  13.  
  14. function CreateNewSound(name, id, looped, pitch, parent)
  15. local sound = Instance.new("Sound")
  16. sound.SoundId = id
  17. sound.Name = name
  18. sound.archivable = false
  19. sound.Parent = parent
  20. sound.Pitch = pitch
  21. sound.Looped = looped
  22.  
  23. sound.MinDistance = 5
  24. sound.MaxDistance = 150
  25. sound.Volume = 0.65
  26.  
  27. return sound
  28. end
  29.  
  30. local head = script.Parent:FindFirstChild("Head")
  31. if head == nil then
  32. error("Sound script parent has no child Head.")
  33. return
  34. end
  35.  
  36.  
  37. CreateNewSound("GettingUp", "rbxasset://sounds/action_get_up.mp3", false, 1, head)
  38. CreateNewSound("Died", "rbxasset://sounds/uuhhh.mp3", false, 1, head)
  39. CreateNewSound("FreeFalling", "rbxasset://sounds/action_falling.mp3", true, 1, head)
  40. CreateNewSound("Jumping", "rbxasset://sounds/action_jump.mp3", false, 1, head)
  41. CreateNewSound("Landing", "rbxasset://sounds/action_jump_land.mp3", false, 1, head)
  42. CreateNewSound("Splash", "rbxasset://sounds/impact_water.mp3", false, 1, head)
  43. CreateNewSound("Running", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1.85, head)
  44. CreateNewSound("Swimming", "rbxasset://sounds/action_swim.mp3", true, 1.6, head)
  45. CreateNewSound("Climbing", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1, head) end;
  46. function() --[[
  47. Author: @spotco
  48. This script runs locally for the player of the given humanoid.
  49. This script triggers humanoid sound play/pause actions locally.
  50.  
  51. The Playing/TimePosition properties of Sound objects bypass FilteringEnabled, so this triggers the sound
  52. immediately for the player and is replicated to all other players.
  53.  
  54. This script is optimized to reduce network traffic through minimizing the amount of property replication.
  55. ]]--
  56.  
  57. --All sounds are referenced by this ID
  58. local SFX = {
  59. Died = 0;
  60. Running = 1;
  61. Swimming = 2;
  62. Climbing = 3,
  63. Jumping = 4;
  64. GettingUp = 5;
  65. FreeFalling = 6;
  66. FallingDown = 7;
  67. Landing = 8;
  68. Splash = 9;
  69. }
  70.  
  71. local Humanoid = nil
  72. local Head = nil
  73.  
  74. --SFX ID to Sound object
  75. local Sounds = {}
  76.  
  77. do
  78. local Figure = script.Parent.Parent
  79. Head = Figure:WaitForChild("Head")
  80. while not Humanoid do
  81. for _,NewHumanoid in pairs(Figure:GetChildren()) do
  82. if NewHumanoid:IsA("Humanoid") then
  83. Humanoid = NewHumanoid
  84. break
  85. end
  86. end
  87. Figure.ChildAdded:wait()
  88. end
  89.  
  90. Sounds[SFX.Died] = Head:WaitForChild("Died")
  91. Sounds[SFX.Running] = Head:WaitForChild("Running")
  92. Sounds[SFX.Swimming] = Head:WaitForChild("Swimming")
  93. Sounds[SFX.Climbing] = Head:WaitForChild("Climbing")
  94. Sounds[SFX.Jumping] = Head:WaitForChild("Jumping")
  95. Sounds[SFX.GettingUp] = Head:WaitForChild("GettingUp")
  96. Sounds[SFX.FreeFalling] = Head:WaitForChild("FreeFalling")
  97. Sounds[SFX.Landing] = Head:WaitForChild("Landing")
  98. Sounds[SFX.Splash] = Head:WaitForChild("Splash")
  99. end
  100.  
  101. local Util
  102. Util = {
  103.  
  104. --Define linear relationship between (pt1x,pt2x) and (pt2x,pt2y). Evaluate this at x.
  105. YForLineGivenXAndTwoPts = function(x,pt1x,pt1y,pt2x,pt2y)
  106. --(y - y1)/(x - x1) = m
  107. local m = (pt1y - pt2y) / (pt1x - pt2x)
  108. --float b = pt1.y - m * pt1.x;
  109. local b = (pt1y - m * pt1x)
  110. return m * x + b
  111. end;
  112.  
  113. --Clamps the value of "val" between the "min" and "max"
  114. Clamp = function(val,min,max)
  115. return math.min(max,math.max(min,val))
  116. end;
  117.  
  118. --Gets the horizontal (x,z) velocity magnitude of the given part
  119. HorizontalSpeed = function(Head)
  120. local hVel = Head.Velocity + Vector3.new(0,-Head.Velocity.Y,0)
  121. return hVel.magnitude
  122. end;
  123.  
  124. --Gets the vertical (y) velocity magnitude of the given part
  125. VerticalSpeed = function(Head)
  126. return math.abs(Head.Velocity.Y)
  127. end;
  128.  
  129. --Setting Playing/TimePosition values directly result in less network traffic than Play/Pause/Resume/Stop
  130. --If these properties are enabled, use them.
  131. Play = function(sound)
  132. if sound.TimePosition ~= 0 then
  133. sound.TimePosition = 0
  134. end
  135. if not sound.IsPlaying then
  136. sound.Playing = true
  137. end
  138. end;
  139. Pause = function(sound)
  140. if sound.IsPlaying then
  141. sound.Playing = false
  142. end
  143. end;
  144. Resume = function(sound)
  145. if not sound.IsPlaying then
  146. sound.Playing = true
  147. end
  148. end;
  149. Stop = function(sound)
  150. if sound.IsPlaying then
  151. sound.Playing = false
  152. end
  153. if sound.TimePosition ~= 0 then
  154. sound.TimePosition = 0
  155. end
  156. end;
  157. }
  158.  
  159. do
  160. -- List of all active Looped sounds
  161. local playingLoopedSounds = {}
  162.  
  163. -- Last seen Enum.HumanoidStateType
  164. local activeState = nil
  165.  
  166. -- Verify and set that "sound" is in "playingLoopedSounds".
  167. function setSoundInPlayingLoopedSounds(sound)
  168. for i=1, #playingLoopedSounds do
  169. if playingLoopedSounds[i] == sound then
  170. return
  171. end
  172. end
  173. table.insert(playingLoopedSounds,sound)
  174. end
  175.  
  176. -- Stop all active looped sounds except parameter "except". If "except" is not passed, all looped sounds will be stopped.
  177. function stopPlayingLoopedSoundsExcept(except)
  178. for i=#playingLoopedSounds,1,-1 do
  179. if playingLoopedSounds[i] ~= except then
  180. Util.Pause(playingLoopedSounds[i])
  181. table.remove(playingLoopedSounds,i)
  182. end
  183. end
  184. end
  185.  
  186. -- Table of Enum.HumanoidStateType to handling function
  187. local stateUpdateHandler = {
  188. [Enum.HumanoidStateType.Dead] = function()
  189. stopPlayingLoopedSoundsExcept()
  190. local sound = Sounds[SFX.Died]
  191. Util.Play(sound)
  192. end;
  193.  
  194. [Enum.HumanoidStateType.RunningNoPhysics] = function()
  195. stateUpdated(Enum.HumanoidStateType.Running)
  196. end;
  197.  
  198. [Enum.HumanoidStateType.Running] = function()
  199. local sound = Sounds[SFX.Running]
  200. stopPlayingLoopedSoundsExcept(sound)
  201.  
  202. if Util.HorizontalSpeed(Head) > 0.5 then
  203. Util.Resume(sound)
  204. setSoundInPlayingLoopedSounds(sound)
  205. else
  206. stopPlayingLoopedSoundsExcept()
  207. end
  208. end;
  209.  
  210. [Enum.HumanoidStateType.Swimming] = function()
  211. if activeState ~= Enum.HumanoidStateType.Swimming and Util.VerticalSpeed(Head) > 0.1 then
  212. local splashSound = Sounds[SFX.Splash]
  213. splashSound.Volume = Util.Clamp(
  214. Util.YForLineGivenXAndTwoPts(
  215. Util.VerticalSpeed(Head),
  216. 100, 0.28,
  217. 350, 1),
  218. 0,1)
  219. Util.Play(splashSound)
  220. end
  221.  
  222. do
  223. local sound = Sounds[SFX.Swimming]
  224. stopPlayingLoopedSoundsExcept(sound)
  225. Util.Resume(sound)
  226. setSoundInPlayingLoopedSounds(sound)
  227. end
  228. end;
  229.  
  230. [Enum.HumanoidStateType.Climbing] = function()
  231. local sound = Sounds[SFX.Climbing]
  232. if Util.VerticalSpeed(Head) > 0.1 then
  233. Util.Resume(sound)
  234. stopPlayingLoopedSoundsExcept(sound)
  235. else
  236. stopPlayingLoopedSoundsExcept()
  237. end
  238. setSoundInPlayingLoopedSounds(sound)
  239. end;
  240.  
  241. [Enum.HumanoidStateType.Jumping] = function()
  242. if activeState == Enum.HumanoidStateType.Jumping then
  243. return
  244. end
  245. stopPlayingLoopedSoundsExcept()
  246. local sound = Sounds[SFX.Jumping]
  247. Util.Play(sound)
  248. end;
  249.  
  250. [Enum.HumanoidStateType.GettingUp] = function()
  251. stopPlayingLoopedSoundsExcept()
  252. local sound = Sounds[SFX.GettingUp]
  253. Util.Play(sound)
  254. end;
  255.  
  256. [Enum.HumanoidStateType.Freefall] = function()
  257. if activeState == Enum.HumanoidStateType.Freefall then
  258. return
  259. end
  260. local sound = Sounds[SFX.FreeFalling]
  261. sound.Volume = 0
  262. stopPlayingLoopedSoundsExcept()
  263. end;
  264.  
  265. [Enum.HumanoidStateType.FallingDown] = function()
  266. stopPlayingLoopedSoundsExcept()
  267. end;
  268.  
  269. [Enum.HumanoidStateType.Landed] = function()
  270. stopPlayingLoopedSoundsExcept()
  271. if Util.VerticalSpeed(Head) > 75 then
  272. local landingSound = Sounds[SFX.Landing]
  273. landingSound.Volume = Util.Clamp(
  274. Util.YForLineGivenXAndTwoPts(
  275. Util.VerticalSpeed(Head),
  276. 50, 0,
  277. 100, 1),
  278. 0,1)
  279. Util.Play(landingSound)
  280. end
  281. end
  282. }
  283.  
  284. -- Handle state event fired or OnChange fired
  285. function stateUpdated(state)
  286. if stateUpdateHandler[state] ~= nil then
  287. stateUpdateHandler[state]()
  288. end
  289. activeState = state
  290. end
  291.  
  292. Humanoid.Died:connect( function() stateUpdated(Enum.HumanoidStateType.Dead) end)
  293. Humanoid.Running:connect( function() stateUpdated(Enum.HumanoidStateType.Running) end)
  294. Humanoid.Swimming:connect( function() stateUpdated(Enum.HumanoidStateType.Swimming) end)
  295. Humanoid.Climbing:connect( function() stateUpdated(Enum.HumanoidStateType.Climbing) end)
  296. Humanoid.Jumping:connect( function() stateUpdated(Enum.HumanoidStateType.Jumping) end)
  297. Humanoid.GettingUp:connect( function() stateUpdated(Enum.HumanoidStateType.GettingUp) end)
  298. Humanoid.FreeFalling:connect( function() stateUpdated(Enum.HumanoidStateType.Freefall) end)
  299. Humanoid.FallingDown:connect( function() stateUpdated(Enum.HumanoidStateType.FallingDown) end)
  300.  
  301. -- required for proper handling of Landed event
  302. Humanoid.StateChanged:connect(function(old, new)
  303. stateUpdated(new)
  304. end)
  305.  
  306.  
  307. function onUpdate(stepDeltaSeconds, tickSpeedSeconds)
  308. local stepScale = stepDeltaSeconds / tickSpeedSeconds
  309. do
  310. local sound = Sounds[SFX.FreeFalling]
  311. if activeState == Enum.HumanoidStateType.Freefall then
  312. if Head.Velocity.Y < 0 and Util.VerticalSpeed(Head) > 75 then
  313. Util.Resume(sound)
  314.  
  315. --Volume takes 1.1 seconds to go from volume 0 to 1
  316. local ANIMATION_LENGTH_SECONDS = 1.1
  317.  
  318. local normalizedIncrement = tickSpeedSeconds / ANIMATION_LENGTH_SECONDS
  319. sound.Volume = Util.Clamp(sound.Volume + normalizedIncrement * stepScale, 0, 1)
  320. else
  321. sound.Volume = 0
  322. end
  323. else
  324. Util.Pause(sound)
  325. end
  326. end
  327.  
  328. do
  329. local sound = Sounds[SFX.Running]
  330. if activeState == Enum.HumanoidStateType.Running then
  331. if Util.HorizontalSpeed(Head) < 0.5 then
  332. Util.Pause(sound)
  333. end
  334. end
  335. end
  336. end
  337.  
  338. local lastTick = tick()
  339. local TICK_SPEED_SECONDS = 0.25
  340. while true do
  341. onUpdate(tick() - lastTick,TICK_SPEED_SECONDS)
  342. lastTick = tick()
  343. wait(TICK_SPEED_SECONDS)
  344. end
  345. end
  346. end;
  347. function() local p=game.Players.LocalPlayer;
  348. local gui=p.PlayerGui;
  349. local mouse=p:GetMouse();
  350. local bin=script.Parent;
  351. local m=Instance.new("Message",gui);
  352. local orignalC0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  353. local orignalC01=CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  354. local orignalC02=CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  355. wait(3)
  356. m:remove()
  357.  
  358. mouse.Move:connect(function ()--Don't change anything unless you are a very good coder.
  359. local Direction = mouse.Hit.p;
  360. local b = bin.Head.Position.Y-Direction.Y;
  361. local dist = (bin.Head.Position-Direction).magnitude;
  362. local answer = math.asin(b/dist);
  363. bin.Torso["Neck"].C0=orignalC0*CFrame.fromEulerAnglesXYZ(answer,0,0);
  364. end);
  365.  
  366. end;
  367. function() local character = script.Parent
  368.  
  369. function recurse(root,callback,i)
  370. i= i or 0
  371. for _,v in pairs(root:GetChildren()) do
  372. i = i + 1
  373. callback(i,v)
  374.  
  375. if #v:GetChildren() > 0 then
  376. i = recurse(v,callback,i)
  377. end
  378. end
  379.  
  380. return i
  381. end
  382.  
  383. function ragdollJoint(part0, part1, attachmentName, className, properties)
  384. attachmentName = attachmentName.."RigAttachment"
  385. local constraint = Instance.new(className.."Constraint")
  386. constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  387. constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  388. constraint.Name = "RagdollConstraint"..part1.Name
  389.  
  390. for _,propertyData in next,properties or {} do
  391. constraint[propertyData[1]] = propertyData[2]
  392. end
  393.  
  394. constraint.Parent = character
  395. end
  396.  
  397. function getAttachment0(attachmentName)
  398. for _,child in next,character:GetChildren() do
  399. local attachment = child:FindFirstChild(attachmentName)
  400. if attachment then
  401. return attachment
  402. end
  403. end
  404. end
  405.  
  406. character:WaitForChild("Humanoid").Died:connect(function()
  407. local camera = workspace.CurrentCamera
  408. if camera.CameraSubject == character.Humanoid then--If developer isn't controlling camera
  409. camera.CameraSubject = character.UpperTorso
  410. end
  411.  
  412. --Make it so ragdoll can't collide with invisible HRP, but don't let HRP fall through map and be destroyed in process
  413. character.HumanoidRootPart.Anchored = true
  414. character.HumanoidRootPart.CanCollide = false
  415.  
  416. --Helps to fix constraint spasms
  417. recurse(character, function(_,v)
  418. if v:IsA("Attachment") then
  419. v.Axis = Vector3.new(0, 1, 0)
  420. v.SecondaryAxis = Vector3.new(0, 0, 1)
  421. v.Rotation = Vector3.new(0, 0, 0)
  422. end
  423. end)
  424.  
  425. --Re-attach hats
  426. for _,child in next,character:GetChildren() do
  427. if child:IsA("Accoutrement") then
  428. --Loop through all parts instead of only checking for one to be forwards-compatible in the event
  429. --ROBLOX implements multi-part accessories
  430. for _,part in next,child:GetChildren() do
  431. if part:IsA("BasePart") then
  432. local attachment1 = part:FindFirstChildOfClass("Attachment")
  433. local attachment0 = getAttachment0(attachment1.Name)
  434. if attachment0 and attachment1 then
  435. --Shouldn't use constraints for this, but have to because of a ROBLOX idiosyncrasy where
  436. --joints connecting a character are perpetually deleted while the character is dead
  437. local constraint = Instance.new("HingeConstraint")
  438. constraint.Attachment0 = attachment0
  439. constraint.Attachment1 = attachment1
  440. constraint.LimitsEnabled = true
  441. constraint.UpperAngle = 0 --Simulate weld by making it difficult for constraint to move
  442. constraint.LowerAngle = 0
  443. constraint.Parent = character
  444. end
  445. end
  446. end
  447. end
  448. end
  449.  
  450. ragdollJoint(character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  451. {"LimitsEnabled",true};
  452. {"UpperAngle",5};
  453. })
  454. ragdollJoint(character.UpperTorso, character.Head, "Neck", "BallSocket", {
  455. {"LimitsEnabled",true};
  456. {"UpperAngle",15};
  457. })
  458.  
  459. local handProperties = {
  460. {"LimitsEnabled", true};
  461. {"UpperAngle",0};
  462. {"LowerAngle",0};
  463. }
  464. ragdollJoint(character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  465. ragdollJoint(character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  466.  
  467. local shinProperties = {
  468. {"LimitsEnabled", true};
  469. {"UpperAngle", 0};
  470. {"LowerAngle", -75};
  471. }
  472. ragdollJoint(character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  473. ragdollJoint(character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  474.  
  475. local footProperties = {
  476. {"LimitsEnabled", true};
  477. {"UpperAngle", 15};
  478. {"LowerAngle", -45};
  479. }
  480. ragdollJoint(character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  481. ragdollJoint(character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  482.  
  483. --TODO fix ability for socket to turn backwards whenn ConeConstraints are shipped
  484. ragdollJoint(character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
  485. ragdollJoint(character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  486. ragdollJoint(character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
  487. ragdollJoint(character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  488. ragdollJoint(character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  489. ragdollJoint(character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  490. end) end;
  491. function() function waitForChild(parent, childName)
  492. local child = parent:findFirstChild(childName)
  493. if child then return child end
  494. while true do
  495. child = parent.ChildAdded:wait()
  496. if child.Name==childName then return child end
  497. end
  498. end
  499.  
  500. local Figure = script.Parent
  501. local Humanoid = waitForChild(Figure, "Humanoid")
  502. local pose = "Standing"
  503.  
  504. local currentAnim = ""
  505. local currentAnimInstance = nil
  506. local currentAnimTrack = nil
  507. local currentAnimKeyframeHandler = nil
  508. local currentAnimSpeed = 1.0
  509.  
  510. local runAnimTrack = nil
  511. local runAnimKeyframeHandler = nil
  512.  
  513. local animTable = {}
  514. local animNames = {
  515. idle = {
  516. { id = "http://www.roblox.com/asset/?id=507766666", weight = 1 },
  517. { id = "http://www.roblox.com/asset/?id=507766951", weight = 1 },
  518. { id = "http://www.roblox.com/asset/?id=507766388", weight = 9 }
  519. },
  520. walk = {
  521. { id = "http://www.roblox.com/asset/?id=507777826", weight = 10 }
  522. },
  523. run = {
  524. { id = "http://www.roblox.com/asset/?id=507767714", weight = 10 }
  525. },
  526. swim = {
  527. { id = "http://www.roblox.com/asset/?id=507784897", weight = 10 }
  528. },
  529. swimidle = {
  530. { id = "http://www.roblox.com/asset/?id=507785072", weight = 10 }
  531. },
  532. jump = {
  533. { id = "http://www.roblox.com/asset/?id=507765000", weight = 10 }
  534. },
  535. fall = {
  536. { id = "http://www.roblox.com/asset/?id=507767968", weight = 10 }
  537. },
  538. climb = {
  539. { id = "http://www.roblox.com/asset/?id=507765644", weight = 10 }
  540. },
  541. sit = {
  542. { id = "http://www.roblox.com/asset/?id=507768133", weight = 10 }
  543. },
  544. toolnone = {
  545. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  546. },
  547. toolslash = {
  548. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  549. -- { id = "slash.xml", weight = 10 }
  550. },
  551. toollunge = {
  552. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  553. },
  554. wave = {
  555. { id = "http://www.roblox.com/asset/?id=507770239", weight = 10 }
  556. },
  557. point = {
  558. { id = "http://www.roblox.com/asset/?id=507770453", weight = 10 }
  559. },
  560. dance = {
  561. { id = "http://www.roblox.com/asset/?id=507771019", weight = 10 },
  562. { id = "http://www.roblox.com/asset/?id=507771955", weight = 10 },
  563. { id = "http://www.roblox.com/asset/?id=507772104", weight = 10 }
  564. },
  565. dance2 = {
  566. { id = "http://www.roblox.com/asset/?id=507776043", weight = 10 },
  567. { id = "http://www.roblox.com/asset/?id=507776720", weight = 10 },
  568. { id = "http://www.roblox.com/asset/?id=507776879", weight = 10 }
  569. },
  570. dance3 = {
  571. { id = "http://www.roblox.com/asset/?id=507777268", weight = 10 },
  572. { id = "http://www.roblox.com/asset/?id=507777451", weight = 10 },
  573. { id = "http://www.roblox.com/asset/?id=507777623", weight = 10 }
  574. },
  575. laugh = {
  576. { id = "http://www.roblox.com/asset/?id=507770818", weight = 10 }
  577. },
  578. cheer = {
  579. { id = "http://www.roblox.com/asset/?id=507770677", weight = 10 }
  580. },
  581. }
  582.  
  583. -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
  584. local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
  585.  
  586. math.randomseed(tick())
  587.  
  588. function configureAnimationSet(name, fileList)
  589. if (animTable[name] ~= nil) then
  590. for _, connection in pairs(animTable[name].connections) do
  591. connection:disconnect()
  592. end
  593. end
  594. animTable[name] = {}
  595. animTable[name].count = 0
  596. animTable[name].totalWeight = 0
  597. animTable[name].connections = {}
  598.  
  599. local allowCustomAnimations = true
  600. local AllowDisableCustomAnimsUserFlag = true
  601.  
  602. local success, msg = pcall(function()
  603. AllowDisableCustomAnimsUserFlag = UserSettings():IsUserFeatureEnabled("UserAllowDisableCustomAnims")
  604. end)
  605.  
  606. if (AllowDisableCustomAnimsUserFlag) then
  607. local ps = game:GetService("StarterPlayer"):FindFirstChild("PlayerSettings")
  608. if (ps ~= nil) then
  609. allowCustomAnimations = not require(ps).UseDefaultAnimations
  610. end
  611. end
  612.  
  613. -- check for config values
  614. local config = script:FindFirstChild(name)
  615. if (allowCustomAnimations and config ~= nil) then
  616. table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
  617. table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
  618. local idx = 1
  619. for _, childPart in pairs(config:GetChildren()) do
  620. if (childPart:IsA("Animation")) then
  621. table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
  622. animTable[name][idx] = {}
  623. animTable[name][idx].anim = childPart
  624. local weightObject = childPart:FindFirstChild("Weight")
  625. if (weightObject == nil) then
  626. animTable[name][idx].weight = 1
  627. else
  628. animTable[name][idx].weight = weightObject.Value
  629. end
  630. animTable[name].count = animTable[name].count + 1
  631. animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
  632. -- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
  633. idx = idx + 1
  634. end
  635. end
  636. end
  637.  
  638. -- fallback to defaults
  639. if (animTable[name].count <= 0) then
  640. for idx, anim in pairs(fileList) do
  641. animTable[name][idx] = {}
  642. animTable[name][idx].anim = Instance.new("Animation")
  643. animTable[name][idx].anim.Name = name
  644. animTable[name][idx].anim.AnimationId = anim.id
  645. animTable[name][idx].weight = anim.weight
  646. animTable[name].count = animTable[name].count + 1
  647. animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
  648. -- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
  649. end
  650. end
  651. end
  652.  
  653. -- Setup animation objects
  654. function scriptChildModified(child)
  655. local fileList = animNames[child.Name]
  656. if (fileList ~= nil) then
  657. configureAnimationSet(child.Name, fileList)
  658. end
  659. end
  660.  
  661. script.ChildAdded:connect(scriptChildModified)
  662. script.ChildRemoved:connect(scriptChildModified)
  663.  
  664.  
  665. for name, fileList in pairs(animNames) do
  666. configureAnimationSet(name, fileList)
  667. end
  668.  
  669. -- ANIMATION
  670.  
  671. -- declarations
  672. local toolAnim = "None"
  673. local toolAnimTime = 0
  674.  
  675. local jumpAnimTime = 0
  676. local jumpAnimDuration = 0.31
  677.  
  678. local toolTransitionTime = 0.1
  679. local fallTransitionTime = 0.2
  680.  
  681. -- functions
  682.  
  683. function stopAllAnimations()
  684. local oldAnim = currentAnim
  685.  
  686. -- return to idle if finishing an emote
  687. if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
  688. oldAnim = "idle"
  689. end
  690.  
  691. currentAnim = ""
  692. currentAnimInstance = nil
  693. if (currentAnimKeyframeHandler ~= nil) then
  694. currentAnimKeyframeHandler:disconnect()
  695. end
  696.  
  697. if (currentAnimTrack ~= nil) then
  698. currentAnimTrack:Stop()
  699. currentAnimTrack:Destroy()
  700. currentAnimTrack = nil
  701. end
  702.  
  703. -- clean up walk if there is one
  704. if (runAnimKeyframeHandler ~= nil) then
  705. runAnimKeyframeHandler:disconnect()
  706. end
  707.  
  708. if (runAnimTrack ~= nil) then
  709. runAnimTrack:Stop()
  710. runAnimTrack:Destroy()
  711. runAnimTrack = nil
  712. end
  713.  
  714. return oldAnim
  715. end
  716.  
  717. local smallButNotZero = 0.0001
  718. function setRunSpeed(speed)
  719.  
  720. if speed < 0.33 then
  721. currentAnimTrack:AdjustWeight(1.0)
  722. runAnimTrack:AdjustWeight(smallButNotZero)
  723. elseif speed < 0.66 then
  724. local weight = ((speed - 0.33) / 0.33)
  725. currentAnimTrack:AdjustWeight(1.0 - weight + smallButNotZero)
  726. runAnimTrack:AdjustWeight(weight + smallButNotZero)
  727. else
  728. currentAnimTrack:AdjustWeight(smallButNotZero)
  729. runAnimTrack:AdjustWeight(1.0)
  730. end
  731.  
  732. local speedScaled = speed * 1.25
  733. runAnimTrack:AdjustSpeed(speedScaled)
  734. currentAnimTrack:AdjustSpeed(speedScaled)
  735. end
  736.  
  737.  
  738. function setAnimationSpeed(speed)
  739. if speed ~= currentAnimSpeed then
  740. currentAnimSpeed = speed
  741. if currentAnim == "walk" then
  742. setRunSpeed(speed)
  743. else
  744. currentAnimTrack:AdjustSpeed(currentAnimSpeed)
  745. end
  746. end
  747. end
  748.  
  749. function keyFrameReachedFunc(frameName)
  750. -- print("CurrentAnim ", currentAnim, " ", frameName)
  751. if (frameName == "End") then
  752. if currentAnim == "walk" then
  753. runAnimTrack.TimePosition = 0.0
  754. currentAnimTrack.TimePosition = 0.0
  755. else
  756. -- print("Keyframe : ".. frameName)
  757.  
  758. local repeatAnim = currentAnim
  759. -- return to idle if finishing an emote
  760. if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
  761. repeatAnim = "idle"
  762. end
  763.  
  764. local animSpeed = currentAnimSpeed
  765. playAnimation(repeatAnim, 0.15, Humanoid)
  766. setAnimationSpeed(animSpeed)
  767. end
  768. end
  769. end
  770.  
  771. function rollAnimation(animName)
  772. local roll = math.random(1, animTable[animName].totalWeight)
  773. local origRoll = roll
  774. local idx = 1
  775. while (roll > animTable[animName][idx].weight) do
  776. roll = roll - animTable[animName][idx].weight
  777. idx = idx + 1
  778. end
  779. return idx
  780. end
  781.  
  782. function playAnimation(animName, transitionTime, humanoid)
  783.  
  784. local idx = rollAnimation(animName)
  785.  
  786. -- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
  787.  
  788. local anim = animTable[animName][idx].anim
  789.  
  790. -- switch animation
  791. if (anim ~= currentAnimInstance) then
  792.  
  793. if (currentAnimTrack ~= nil) then
  794. currentAnimTrack:Stop(transitionTime)
  795. currentAnimTrack:Destroy()
  796. end
  797.  
  798. if (runAnimTrack ~= nil) then
  799. runAnimTrack:Stop(transitionTime)
  800. runAnimTrack:Destroy()
  801. end
  802.  
  803. currentAnimSpeed = 1.0
  804.  
  805. -- load it to the humanoid; get AnimationTrack
  806. currentAnimTrack = humanoid:LoadAnimation(anim)
  807.  
  808. -- play the animation
  809. currentAnimTrack:Play(transitionTime)
  810. currentAnim = animName
  811. currentAnimInstance = anim
  812.  
  813. -- set up keyframe name triggers
  814. if (currentAnimKeyframeHandler ~= nil) then
  815. currentAnimKeyframeHandler:disconnect()
  816. end
  817. currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
  818.  
  819. -- check to see if we need to blend a walk/run animation
  820. if animName == "walk" then
  821. local runAnimName = "run"
  822. local runIdx = rollAnimation(runAnimName)
  823.  
  824. runAnimTrack = humanoid:LoadAnimation(animTable[runAnimName][runIdx].anim)
  825. runAnimTrack:Play(transitionTime)
  826.  
  827. if (runAnimKeyframeHandler ~= nil) then
  828. runAnimKeyframeHandler:disconnect()
  829. end
  830. runAnimKeyframeHandler = runAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
  831. end
  832. end
  833.  
  834. end
  835.  
  836. -------------------------------------------------------------------------------------------
  837. -------------------------------------------------------------------------------------------
  838.  
  839. local toolAnimName = ""
  840. local toolAnimTrack = nil
  841. local toolAnimInstance = nil
  842. local currentToolAnimKeyframeHandler = nil
  843.  
  844. function toolKeyFrameReachedFunc(frameName)
  845. if (frameName == "End") then
  846. -- print("Keyframe : ".. frameName)
  847. playToolAnimation(toolAnimName, 0.0, Humanoid)
  848. end
  849. end
  850.  
  851.  
  852. function playToolAnimation(animName, transitionTime, humanoid)
  853.  
  854. local idx = rollAnimation(animName)
  855. -- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
  856. local anim = animTable[animName][idx].anim
  857.  
  858. if (toolAnimInstance ~= anim) then
  859.  
  860. if (toolAnimTrack ~= nil) then
  861. toolAnimTrack:Stop()
  862. toolAnimTrack:Destroy()
  863. transitionTime = 0
  864. end
  865.  
  866. -- load it to the humanoid; get AnimationTrack
  867. toolAnimTrack = humanoid:LoadAnimation(anim)
  868.  
  869. -- play the animation
  870. toolAnimTrack:Play(transitionTime)
  871. toolAnimName = animName
  872. toolAnimInstance = anim
  873.  
  874. currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
  875. end
  876. end
  877.  
  878. function stopToolAnimations()
  879. local oldAnim = toolAnimName
  880.  
  881. if (currentToolAnimKeyframeHandler ~= nil) then
  882. currentToolAnimKeyframeHandler:disconnect()
  883. end
  884.  
  885. toolAnimName = ""
  886. toolAnimInstance = nil
  887. if (toolAnimTrack ~= nil) then
  888. toolAnimTrack:Stop()
  889. toolAnimTrack:Destroy()
  890. toolAnimTrack = nil
  891. end
  892.  
  893.  
  894. return oldAnim
  895. end
  896.  
  897. -------------------------------------------------------------------------------------------
  898. -------------------------------------------------------------------------------------------
  899.  
  900.  
  901. function onRunning(speed)
  902. if speed > 0.01 then
  903. local scale = 16.0
  904. playAnimation("walk", 0.1, Humanoid)
  905. setAnimationSpeed(speed / scale)
  906. pose = "Running"
  907. else
  908. if emoteNames[currentAnim] == nil then
  909. playAnimation("idle", 0.1, Humanoid)
  910. pose = "Standing"
  911. end
  912. end
  913. end
  914.  
  915. function onDied()
  916. pose = "Dead"
  917. end
  918.  
  919. function onJumping()
  920. playAnimation("jump", 0.1, Humanoid)
  921. jumpAnimTime = jumpAnimDuration
  922. pose = "Jumping"
  923. end
  924.  
  925. function onClimbing(speed)
  926. local scale = 5.0
  927. playAnimation("climb", 0.1, Humanoid)
  928. setAnimationSpeed(speed / scale)
  929. pose = "Climbing"
  930. end
  931.  
  932. function onGettingUp()
  933. pose = "GettingUp"
  934. end
  935.  
  936. function onFreeFall()
  937. if (jumpAnimTime <= 0) then
  938. playAnimation("fall", fallTransitionTime, Humanoid)
  939. end
  940. pose = "FreeFall"
  941. end
  942.  
  943. function onFallingDown()
  944. pose = "FallingDown"
  945. end
  946.  
  947. function onSeated()
  948. pose = "Seated"
  949. end
  950.  
  951. function onPlatformStanding()
  952. pose = "PlatformStanding"
  953. end
  954.  
  955. function onSwimming(speed)
  956. if speed > 1.00 then
  957. local scale = 10.0
  958. playAnimation("swim", 0.4, Humanoid)
  959. setAnimationSpeed(speed / scale)
  960. pose = "Swimming"
  961. else
  962. playAnimation("swimidle", 0.4, Humanoid)
  963. pose = "Standing"
  964. end
  965. end
  966.  
  967. function getTool()
  968. for _, kid in ipairs(Figure:GetChildren()) do
  969. if kid.className == "Tool" then return kid end
  970. end
  971. return nil
  972. end
  973.  
  974.  
  975. function animateTool()
  976.  
  977. if (toolAnim == "None") then
  978. playToolAnimation("toolnone", toolTransitionTime, Humanoid)
  979. return
  980. end
  981.  
  982. if (toolAnim == "Slash") then
  983. playToolAnimation("toolslash", 0, Humanoid)
  984. return
  985. end
  986.  
  987. if (toolAnim == "Lunge") then
  988. playToolAnimation("toollunge", 0, Humanoid)
  989. return
  990. end
  991. end
  992.  
  993. function getToolAnim(tool)
  994. for _, c in ipairs(tool:GetChildren()) do
  995. if c.Name == "toolanim" and c.className == "StringValue" then
  996. return c
  997. end
  998. end
  999. return nil
  1000. end
  1001.  
  1002. local lastTick = 0
  1003.  
  1004. function move(time)
  1005. local amplitude = 1
  1006. local frequency = 1
  1007. local deltaTime = time - lastTick
  1008. lastTick = time
  1009.  
  1010. local climbFudge = 0
  1011. local setAngles = false
  1012.  
  1013. if (jumpAnimTime > 0) then
  1014. jumpAnimTime = jumpAnimTime - deltaTime
  1015. end
  1016.  
  1017. if (pose == "FreeFall" and jumpAnimTime <= 0) then
  1018. playAnimation("fall", fallTransitionTime, Humanoid)
  1019. elseif (pose == "Seated") then
  1020. playAnimation("sit", 0.5, Humanoid)
  1021. return
  1022. elseif (pose == "Running") then
  1023. playAnimation("walk", 0.1, Humanoid)
  1024. elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
  1025. stopAllAnimations()
  1026. amplitude = 0.1
  1027. frequency = 1
  1028. setAngles = true
  1029. end
  1030.  
  1031. -- Tool Animation handling
  1032. local tool = getTool()
  1033. if tool and (tool.RequiresHandle or tool:FindFirstChild("Handle")) then
  1034.  
  1035. local animStringValueObject = getToolAnim(tool)
  1036.  
  1037. if animStringValueObject then
  1038. toolAnim = animStringValueObject.Value
  1039. -- message recieved, delete StringValue
  1040. animStringValueObject.Parent = nil
  1041. toolAnimTime = time + .3
  1042. end
  1043.  
  1044. if time > toolAnimTime then
  1045. toolAnimTime = 0
  1046. toolAnim = "None"
  1047. end
  1048.  
  1049. animateTool()
  1050. else
  1051. stopToolAnimations()
  1052. toolAnim = "None"
  1053. toolAnimInstance = nil
  1054. toolAnimTime = 0
  1055. end
  1056. end
  1057.  
  1058. -- connect events
  1059. Humanoid.Died:connect(onDied)
  1060. Humanoid.Running:connect(onRunning)
  1061. Humanoid.Jumping:connect(onJumping)
  1062. Humanoid.Climbing:connect(onClimbing)
  1063. Humanoid.GettingUp:connect(onGettingUp)
  1064. Humanoid.FreeFalling:connect(onFreeFall)
  1065. Humanoid.FallingDown:connect(onFallingDown)
  1066. Humanoid.Seated:connect(onSeated)
  1067. Humanoid.PlatformStanding:connect(onPlatformStanding)
  1068. Humanoid.Swimming:connect(onSwimming)
  1069.  
  1070. -- setup emote chat hook
  1071. Game.Players.LocalPlayer.Chatted:connect(function(msg)
  1072. local emote = ""
  1073. if (string.sub(msg, 1, 3) == "/e ") then
  1074. emote = string.sub(msg, 4)
  1075. elseif (string.sub(msg, 1, 7) == "/emote ") then
  1076. emote = string.sub(msg, 8)
  1077. end
  1078.  
  1079. if (pose == "Standing" and emoteNames[emote] ~= nil) then
  1080. playAnimation(emote, 0.1, Humanoid)
  1081. end
  1082. -- print("===> " .. string.sub(msg, 1, 3) .. "(" .. emote .. ")")
  1083. end)
  1084.  
  1085.  
  1086.  
  1087. -- initialize to idle
  1088. playAnimation("idle", 0.1, Humanoid)
  1089. pose = "Standing"
  1090.  
  1091. -- loop to handle timed state transitions and tool animations
  1092. while Figure.Parent~=nil do
  1093. local _, time = wait(0.1)
  1094. move(time)
  1095. end
  1096.  
  1097. end;}local ActualScripts = {}
  1098. function s(var)
  1099. local func = table.remove(Scripts,1)
  1100. setfenv(func,setmetatable({script=var,require=fake_require or require,global=genv},{
  1101. __index = getfenv(func),
  1102. }))
  1103. table.insert(ActualScripts,coroutine.wrap(func))
  1104. end
  1105. Decode = function(str,t,props,classes,values,ICList,Model,CurPar,LastIns,split,RemoveAndSplit,InstanceList)
  1106. local tonum,table_remove,inst,parnt,comma,table_foreach = tonumber,table.remove,Instance.new,"Parent",",",
  1107. function(t,f)
  1108. for a,b in pairs(t) do
  1109. f(a,b)
  1110. end
  1111. end
  1112. local Types = {
  1113. Color3 = Color3.new,
  1114. Vector3 = Vector3.new,
  1115. Vector2 = Vector2.new,
  1116. UDim = UDim.new,
  1117. UDim2 = UDim2.new,
  1118. CFrame = CFrame.new,
  1119. Rect = Rect.new,
  1120. NumberRange = NumberRange.new,
  1121. BrickColor = BrickColor.new,
  1122. PhysicalProperties = PhysicalProperties.new,
  1123. NumberSequence = function(...)
  1124. local a = {...}
  1125. local t = {}
  1126. repeat
  1127. t[#t+1] = NumberSequenceKeypoint.new(table_remove(a,1),table_remove(a,1),table_remove(a,1))
  1128. until #a==0
  1129. return NumberSequence.new(t)
  1130. end,
  1131. ColorSequence = function(...)
  1132. local a = {...}
  1133. local t = {}
  1134. repeat
  1135. t[#t+1] = ColorSequenceKeypoint.new(table_remove(a,1),Color3.new(table_remove(a,1),table_remove(a,1),table_remove(a,1)))
  1136. until #a==0
  1137. return ColorSequence.new(t)
  1138. end,
  1139. number = tonumber,
  1140. boolean = function(a)
  1141. return a=="1"
  1142. end
  1143. }
  1144. split = function(str,sep)
  1145. if not str then return end
  1146. local fields = {}
  1147. local ConcatNext = false
  1148. str:gsub(("([^%s]+)"):format(sep),function(c)
  1149. if ConcatNext == true then
  1150. fields[#fields] = fields[#fields]..sep..c
  1151. ConcatNext = false
  1152. else
  1153. fields[#fields+1] = c
  1154. end
  1155. if c:sub(#c)=="\\" then
  1156. c = fields[#fields]
  1157. fields[#fields] = c:sub(1,#c-1)
  1158. ConcatNext = true
  1159. end
  1160. end)
  1161. return fields
  1162. end
  1163. RemoveAndSplit = function(t)
  1164. return split(table_remove(t,1),comma)
  1165. end
  1166. t = split(str,";")
  1167. props = RemoveAndSplit(t)
  1168. classes = RemoveAndSplit(t)
  1169. values = split(table_remove(t,1),'|')
  1170. ICList = RemoveAndSplit(t)
  1171. InstanceList = {}
  1172. Model = inst"Model"
  1173. CurPar = Model
  1174. table_foreach(t,function(ct,c)
  1175. if c=="n" or c=="p" then
  1176. CurPar = c=="n" and LastIns or CurPar[parnt]
  1177. else
  1178. ct = split(c,"|")
  1179. local class = classes[tonum(table_remove(ct,1))]
  1180. if class=="UnionOperation" then
  1181. LastIns = {UsePartColor="1"}
  1182. else
  1183. LastIns = inst(class)
  1184. if LastIns:IsA"Script" then
  1185. s(LastIns)
  1186. elseif LastIns:IsA("ModuleScript") then
  1187. ms(LastIns)
  1188. end
  1189. end
  1190.  
  1191. local function SetProperty(LastIns,p,str,s)
  1192. s = Types[typeof(LastIns[p])]
  1193. if p=="CustomPhysicalProperties" then
  1194. s = PhysicalProperties.new
  1195. end
  1196. if s then
  1197. LastIns[p] = s(unpack(split(str,comma)))
  1198. else
  1199. LastIns[p] = str
  1200. end
  1201. end
  1202.  
  1203. local UnionData
  1204. table_foreach(ct,function(s,p,a,str)
  1205. a = p:find":"
  1206. p,str = props[tonum(p:sub(1,a-1))],values[tonum(p:sub(a+1))]
  1207. if p=="UnionData" then
  1208. UnionData = split(str," ")
  1209. return
  1210. end
  1211. if class=="UnionOperation" then
  1212. LastIns[p] = str
  1213. return
  1214. end
  1215. SetProperty(LastIns,p,str)
  1216. end)
  1217.  
  1218. if UnionData then
  1219. local LI_Data = LastIns
  1220. LastIns = DecodeUnion(UnionData)
  1221. table_foreach(LI_Data,function(p,str)
  1222. SetProperty(LastIns,p,str)
  1223. end)
  1224. end
  1225. table.insert(InstanceList,LastIns)
  1226. LastIns[parnt] = CurPar
  1227. end
  1228. end)
  1229. table_remove(ICList,1)
  1230. table_foreach(ICList,function(a,b)
  1231. b = split(b,">")
  1232. InstanceList[tonum(b[1])][props[tonum(b[2])]] = InstanceList[tonum(b[3])]
  1233. end)
  1234.  
  1235. return Model:GetChildren()
  1236. end
  1237.  
  1238. local Objects = Decode('Name,PrimaryPart,Transparency,Position,Orientation,Size,HipHeight,Color,CFrame,Value,Rotation,C0,C1,Part0,Part1,AnimationId,BottomSurface,TopSurface;Part,Model,Attachment,Humanoid,MeshPart,Vector3Valu'
  1239. ..'e,Motor6D,BodyColors,Animation,Script,LocalScript,VehicleSeat,WeldConstraint,StringValue,NumberValue;Part|Moving Anthro [NPC]|HumanoidRootPart|1|70.5681,248.8195,-37.9115|0,-166,0|144.5445,144.5445,72'
  1240. ..'.2722|RootRigAttachment|2.5|Head|0.9921,0.9176,0.5529|71.1704,436.8583,-35.514|50.0541,72.352,67.2319|NeckRigAttachment|-0,-27.7486,-4.1029|-0,-27.7486,-4.1029,1,0,0,0,1,0,0,0,1|OriginalPivot|-0,-0.30'
  1241. ..'72,-0.0455|HatAttachment|0,18.0591,2.4709|-0.0018,-0.0018,-0.0018|0,18.0591,2.4709,1,0,-0.0001,-0.0001,1,0,0,-0.0001,1|0,0.1999,0.0273|HairAttachment|FaceFrontAttachment|0,-17.2447,-25.9863|0,-17.2447'
  1242. ..',-25.9863,1,0,-0.0001,-0.0001,1,0,0,-0.0001,1|0,-0.1909,-0.2877|FaceCenterAttachment|0,-7.4248,2.4709|0,-7.4248,2.4709,1,0,-0.0001,-0.0001,1,0,0,-0.0001,1|0,-0.0822,0.0273|OriginalSize|0.554,0.8008,0.'
  1243. ..'7442|Neck|-0,70.9065,-3.3359,1,0,0,0,1,0,0,0,1|LeftHand|131.2625,203.1425,-32.2351|26.6842,56.1459,30.5923|LeftWristRigAttachment|-7.5269,19.6575,3.0955|-7.5269,19.6575,3.0955,1,0,0,0,1,0,0,0,1|-0.083'
  1244. ..'4,0.2175,0.0342|LeftGripAttachment|2.4105,0.4692,20.1946|-90,-0.0025,0|-90.0019,0,-0.0025|2.4105,0.4692,20.1946,1,0,0,0,-0.0001,1,0,-1,-0.0001|0.0266,0.0051,0.2235|0.2953,0.6214,0.3386|LeftWrist|-1.34'
  1245. ..'42,-36.7066,-12.0161,1,0,0,0,1,0,0,0,1|LeftLowerArm|133.6063,259.5065,-48.3936|25.491,83.017,42.3981|LeftElbowRigAttachment|-1.3442,35.9928,12.2033|-1.3442,35.9928,12.2033,1,0,0,0,1,0,0,0,1|-0.0149,0.'
  1246. ..'3984,0.135|-1.3442,-36.7066,-12.016|-1.3442,-36.7066,-12.016,1,0,0,0,1,0,0,0,1|-0.0149,-0.4064,-0.1331|0.2821,0.9189,0.4693|LeftElbow|-8.3671,-39.2517,3.6164,1,0,0,0,1,0,0,0,1|LeftUpperArm|124.7161,33'
  1247. ..'4.7512,-55.0259|35.7092,97.3768,46.4735|LeftShoulderRigAttachment|11.9595,26.5321,2.6056|11.9595,26.5321,2.6056,1,0,0,0,1,0,0,0,1|0.1323,0.2936,0.0288|-8.3671,-39.2517,3.6164|-0.0927,-0.4345,0.04|Left'
  1248. ..'ShoulderAttachment|7.8942,50.4711,-3.5037|7.8942,50.4711,-3.5037,1,0,0,0,1,0,0,0,1|0.0873,0.5586,-0.0388|0.3952,1.0778,0.5144|LeftShoulder|-44.7185,23.0813,9.3472,1,0,0,0,1,0,0,0,1|RightHand|19.6447,2'
  1249. ..'03.1451,-4.3988|RightWristRigAttachment|7.5268,19.6575,3.0955|7.5268,19.6575,3.0955,1,0,0,0,1,0,0,0,1|0.0833,0.2175,0.0342|RightGripAttachment|-2.4106,0.4692,20.1946|-2.4106,0.4692,20.1946,1,0,0,0,-0.'
  1250. ..'0001,1,0,-1,-0.0001|-0.0267,0.0051,0.2235|RightWrist|1.3441,-36.7065,-12.0161,1,0,0,0,1,0,0,0,1|RightLowerArm|9.9905,259.5094,-17.5651|RightElbowRigAttachment|1.3441,35.9928,12.2033|1.3441,35.9928,12.'
  1251. ..'2033,1,0,0,0,1,0,0,0,1|0.0148,0.3984,0.135|1.3441,-36.7066,-12.016|1.3441,-36.7066,-12.016,1,0,0,0,1,0,0,0,1|0.0148,-0.4064,-0.1331|RightElbow|8.367,-39.2517,3.6164,1,0,0,0,1,0,0,0,1|1.3441,35.9929,12'
  1252. ..'.2033,1,0,0,0,1,0,0,0,1|RightUpperArm|14.7287,334.7538,-27.5962|RightShoulderRigAttachment|-11.9596,26.5321,2.6056|-11.9596,26.5321,2.6056,1,0,0,0,1,0,0,0,1|-0.1324,0.2936,0.0288|8.367,-39.2517,3.6164'
  1253. ..'|0.0926,-0.4345,0.04|RightShoulderAttachment|-7.8943,48.3417,-3.5037|-7.8943,48.3417,-3.5037,1,0,0,0,1,0,0,0,1|-0.0874,0.5351,-0.0388|RightShoulder|44.7184,23.0813,9.3472,1,0,0,0,1,0,0,0,1|UpperTorso|'
  1254. ..'0.1568,0.498,0.2784|71.3537,338.2033,-34.7698|107.5318,161.2501,72.68|WaistRigAttachment|-0,-60.9266,3.2379|-0,-60.9266,3.2379,1,0,0,0,1,0,0,0,1|-0,-0.6745,0.0358|-0,70.9064,-3.3359|-0,70.9064,-3.3359'
  1255. ..',1,0,0,0,1,0,0,0,1|-0,0.7848,-0.037|-44.7185,23.0813,9.3472|-0.4951,0.2554,0.1034|44.7184,23.0813,9.3472|0.495,0.2554,0.1034|BodyFrontAttachment|0,-30.6988,-34.705|0,-30.6988,-34.705,1,0,0,0,1,0,0,0,1'
  1256. ..'|0,-0.3399,-0.3842|BodyBackAttachment|0,-30.6988,23.1128|0,-30.6988,23.1128,1,0,0,0,1,0,0,0,1|0,-0.3399,0.2558|NeckAttachment|0,59.6414,3.2379|0,59.6414,3.2379,1,0,0,0,1,0,0,0,1|0,0.6601,0.0358|RightC'
  1257. ..'ollarAttachment|31.619,49.7041,3.2379|31.619,49.7041,3.2379,1,0,0,0,1,0,0,0,1|0.3499,0.5501,0.0358|LeftCollarAttachment|-31.5781,49.7041,3.2379|-31.5781,49.7041,3.2379,1,0,0,0,1,0,0,0,1|-0.3496,0.5501'
  1258. ..',0.0358|1.1902,1.7849,0.8045|Waist|-0,32.4913,6.5901,1,0,0,0,1,0,0,0,1|-0,-60.9267,3.2379,1,0,0,0,1,0,0,0,1|LeftFoot|0.0509,0.4117,0.6745|94.2327,18.2003,-28.4664|31.3,36.3996,76.9011|LeftAnkleRigAtta'
  1259. ..'chment|-2.4013,0.2189,16.2286|-2.4013,0.2189,16.2286,1,0,0,0,1,0,0,0,1|-0.0266,0.0024,0.1796|0.3464,0.4029,0.8512|LeftAnkle|-1.5069,-65.5639,-1.3092,1,0,0,0,1,0,0,0,1|LeftLowerLeg|90.8584,83.9832,-45.'
  1260. ..'6995|40.9964,131.7814,52.2498|LeftKneeRigAttachment|-1.5068,59.6214,-2.6393|-1.5068,59.6214,-2.6393,1,0,0,0,1,0,0,0,1|-0.0167,0.6599,-0.0293|-1.5069,-65.5638,-1.3092|-1.5069,-65.5638,-1.3092,1,0,0,0,1'
  1261. ..',0,0,0,1|-0.0167,-0.7258,-0.0145|0.4538,1.4587,0.5783|LeftKnee|0.5577,-42.9636,6.7493,1,0,0,0,1,0,0,0,1|LeftUpperLeg|95.1357,186.5682,-37.0894|44.6167,136.6591,57.9861|LeftHipRigAttachment|0.5577,61.1'
  1262. ..'618,-1.3725|0.5577,61.1618,-1.3725,1,0,0,0,1,0,0,0,1|0.0061,0.677,-0.0152|0.5577,-42.9636,6.7493|0.0061,-0.4756,0.0747|0.4938,1.5127,0.6418|LeftHip|-23.0823,2.9452,-1.5251,1,0,0,0,1,0,0,0,1|RightFoot|'
  1263. ..'54.1003,18.2019,-18.4555|RightAnkleRigAttachment|2.4461,0.1597,16.2286|2.4461,0.1597,16.2286,1,0,0,0,1,0,0,0,1|0.027,0.0017,0.1796|RightAnkle|1.5516,-65.6224,-1.3093,1,0,0,0,1,0,0,0,1|RightLowerLeg|48'
  1264. ..'.9903,83.9842,-35.2557|40.9964,131.7814,52.25|RightKneeRigAttachment|1.5516,59.5892,-2.6372|1.5516,59.5892,-2.6372,1,0,0,0,1,0,0,0,1|0.0171,0.6596,-0.0292|1.5516,-65.6224,-1.3093|0.0171,-0.7264,-0.014'
  1265. ..'5|RightKnee|-0.5129,-42.9959,6.7496,1,0,0,0,1,0,0,0,1|1.5516,59.5893,-2.6372,1,0,0,0,1,0,0,0,1|RightUpperLeg|49.2609,186.5693,-25.6482|44.6167,136.6591,57.9857|RightHipRigAttachment|-0.5129,61.1665,-1'
  1266. ..'.372|-0.5129,61.1665,-1.372,1,0,0,0,1,0,0,0,1|-0.0057,0.677,-0.0152|-0.5129,-42.9958,6.7496|-0.5129,-42.9958,6.7496,1,0,0,0,1,0,0,0,1|-0.0057,-0.476,0.0747|RightHip|23.1271,2.95,-1.5251,1,0,0,0,1,0,0,'
  1267. ..'0,1|LowerTorso|72.1627,244.7853,-31.5172|86.558,62.7321,65.2151|-0,4.0341,6.5901|-0,4.0341,6.5901,1,0,0,0,1,0,0,0,1|-0,0.0446,0.0729|-0,32.4913,6.5901|-0,0.3596,0.0729|-23.0822,2.9452,-1.5251|-23.0822'
  1268. ..',2.9452,-1.5251,1,0,0,0,1,0,0,0,1|-0.2556,0.0326,-0.0169|23.1271,2.95,-1.5251|0.256,0.0326,-0.0169|WaistCenterAttachment|-0.0001,-7.3542,6.5901|-0.0001,-7.3542,6.5901,1,0,0,0,1,0,0,0,1|-0.0001,-0.0815'
  1269. ..',0.0729|WaistFrontAttachment|-0.0001,-7.3542,-15.9949|-0.0001,-7.3542,-15.9949,1,0,0,0,1,0,0,0,1|-0.0001,-0.0815,-0.1771|WaistBackAttachment|-0.0001,-7.3542,32.3702|-0.0001,-7.3542,32.3702,1,0,0,0,1,0'
  1270. ..',0,0,1|-0.0001,-0.0815,0.3583|0.9581,0.6943,0.7218|Root|rbxassetid://774242142|Sound|LocalSound|Main|RagdollClient|0.1058,0.1647,0.2078|107.2033,381.6675,-40.5527|18.26,14.3,-12.28|70.84,0.05,1.9199|0'
  1271. ..'|107.4191,381.1385,-38.7137|27.04,12.1599,-13.1001|70.4499,0.05,2.0004|65.9397,332.1937,-63.6299|-0.01,-168,-0.01|70.5108,0.0505,44.0599|32.9839,383.1021,-26.0527|-10.1801,-171.87,-9.8501|33.9904,385.'
  1272. ..'0487,-31.7216|-14.5501,-167.17,-13.44|106.5726,380.6072,-36.8593|27.03,12.1599,-13.1001|35.3106,385.7845,-39.4023|14.0399,-175.8501,-13.48|67.3012,394.8686,-57.3097|70.4724,0.0501,49.6399|32.9805,381.'
  1273. ..'9543,-24.1871|-30.8,-167.78,-11.3001|107.3265,384.6706,-58.0714|6.2399,15.84,-17.74|32.0539,380.8783,-22.6178|35.1628,385.1494,-43.6291|3.3699,-173.3001,-13.0901|67.685,282.6068,-55.4578|70.5417,0.050'
  1274. ..'8,60.7999|64.974,346.6873,-68.238|70.4969,0.0502,34.6399|64.8099,364.0876,-68.9705|70.4831,0.05,33.13|107.2386,384.543,-48.0758|20.2099,13.84,-12.4301|106.8715,382.3578,-42.5158|28,11.8999,-13.2101|66'
  1275. ..'.1121,382.7395,-62.8508|70.471,0.05,45.6399|35.2432,385.3001,-41.5363|13.0699,-175.6101,-13.4201|106.8911,382.4762,-63.6904|-22.2901,25.3199,-19.1101|33.1528,384.3456,-29.9154|-14.54,-167.17,-13.44|10'
  1276. ..'7.7539,385.2472,-50.1423|10.93,17.86,-20.2901|107.4178,383.2937,-62.0259|-13.7701,22.2999,-18.1701|35.1825,385.11,-45.5587|12.1099,-175.37,-13.37|106.905,384.0631,-60.1306|107.2881,385.2279,-52.0148|2'
  1277. ..'.47,20.9799,-19.9301|107.7776,384.8883,-54.0403|67.6843,299.0351,-55.458|67.0579,315.1144,-58.4162|70.5264,0.0507,54.7399|107.8435,384.7735,-56.0367|-3.27,18.87,-17.6701|32.797,383.7889,-28.0321|-19.9'
  1278. ..'8,-170.06,-10.32|32.1757,379.595,-21.1757|-39.5901,-165.5,-12.62|36.3466,384.6984,-49.2676|20.8299,-177.5801,-14|34.2167,385.9264,-37.6044|107.433,383.9523,-46.2524|28.9799,11.64,-13.3401|106.5621,383'
  1279. ..'.3715,-44.4211|28.9699,11.64,-13.3401|36.2587,385.0256,-47.3705|12.1,-175.37,-13.37|106.7,379.8057,-35.1145|35.77,9.6599,-14.4|33.8242,385.602,-33.564|-5.8001,-169.26,-13.0601|34.185,386.0303,-35.6816'
  1280. ..'|5.3099,-173.75,-13.1301|Animate|climb|ClimbAnim|http://www.roblox.com/asset/?id=0000000|fall|FallAnim|http://www.roblox.com/asset/?id=387948187|idle|Animation1|rbxassetid://845400520|Weight|Animation'
  1281. ..'2|rbxassetid://1132477671|jump|JumpAnim|http://www.roblox.com/asset/?id=387946624|run|RunAnim|http://www.roblox.com/asset/?id=387947975|sit|SitAnim|http://www.roblox.com/asset/?id=178130996|toolnone|T'
  1282. ..'oolNoneAnim|walk|WalkAnim|http://www.roblox.com/asset/?id=382460631|34.5602,418.8544,-28.3757|0,-76,0|23.86,0.05,20.9299|107.3112,418.8522,-53.7755|0,104,0|24.5599,0.05,22.94|125.8455,383.4642,-55.5|2'
  1283. ..'4.5599,0.05,8.27|13.1046,383.4676,-26.4866|23.86,0.05,9.3599|29.4843,418.8546,-43.254|23.86,0.05,3.8699|104.1733,418.8529,-68.5499|71.2572,473.0589,-35.0982|50.8799,0.05,66.43;0,1>2>123,17>14>64,17>15'
  1284. ..'>5,24>14>25,24>15>18,31>14>32,31>15>25,40>14>64,40>15>32,47>14>48,47>15>41,54>14>55,54>15>48,63>14>64,63>15>55,84>14>123,84>15>64,89>14>90,89>15>85,96>14>97,96>15>90,103>14>123,103>15>97,108>14>109,10'
  1285. ..'8>15>104,115>14>116,115>15>109,122>14>123,122>15>116,139>14>2,139>15>123,147>14>146,147>15>64,149>14>148,149>15>64,151>14>150,151>15>64,153>14>152,153>15>64,155>14>154,155>15>64,157>14>156,157>15>64,1'
  1286. ..'59>14>158,159>15>64,161>14>160,161>15>64,163>14>162,163>15>64,165>14>164,165>15>64,167>14>166,167>15>64,169>14>168,169>15>64,171>14>170,171>15>64,173>14>172,173>15>64,175>14>174,175>15>64,177>14>176,1'
  1287. ..'77>15>64,179>14>178,179>15>64,181>14>180,181>15>64,183>14>182,183>15>64,185>14>184,185>15>64,187>14>186,187>15>64,189>14>188,189>15>64,191>14>190,191>15>64,193>14>192,193>15>64,195>14>194,195>15>64,19'
  1288. ..'7>14>196,197>15>64,199>14>198,199>15>64,201>14>200,201>15>64,203>14>202,203>15>64,205>14>204,205>15>64,207>14>206,207>15>64,209>14>208,209>15>64,211>14>210,211>15>64,213>14>212,213>15>64,215>14>214,21'
  1289. ..'5>15>64,217>14>216,217>15>64,219>14>218,219>15>64,221>14>220,221>15>64,223>14>222,223>15>64,225>14>224,225>15>64,247>14>246,247>15>64,249>14>248,249>15>64,251>14>250,251>15>32,253>14>252,253>15>55,255'
  1290. ..'>14>254,255>15>64,257>14>256,257>15>64,259>14>258,259>15>5;2|1:2;n;1|1:3|3:4|4:5|5:6|6:7;n;3|1:8;p;4|7:9;n;p;5|1:10|8:11|4:12|5:6|6:13|8:11|8:11;n;3|1:14|4:15|9:16;n;6|1:17|10:18;p;3|1:19|4:20|5:21|11'
  1291. ..':21|9:22;n;6|1:17|10:23;p;3|1:24|4:20|5:21|11:21|9:22;n;6|1:17|10:23;p;3|1:25|4:26|5:21|11:21|9:27;n;6|1:17|10:28;p;3|1:29|4:30|5:21|11:21|9:31;n;6|1:17|10:32;p;6|1:33|10:34;7|1:35|12:36|13:16;p;5|1:3'
  1292. ..'7|8:11|4:38|5:6|6:39|8:11|8:11;n;3|1:40|4:41|9:42;n;6|1:17|10:43;p;3|1:44|4:45|5:46|11:47|9:48;n;6|1:17|10:49;p;6|1:33|10:50;7|1:51|12:52|13:42;p;5|1:53|8:11|4:54|5:6|6:55|8:11|8:11;n;3|1:56|4:57|9:58'
  1293. ..';n;6|1:17|10:59;p;3|1:40|4:60|9:61;n;6|1:17|10:62;p;6|1:33|10:63;7|1:64|12:65|13:58;p;5|1:66|8:11|4:67|5:6|6:68|8:11|8:11;n;3|1:69|4:70|9:71;n;6|1:17|10:72;p;3|1:56|4:73|9:65;n;6|1:17|10:74;p;3|1:75|4'
  1294. ..':76|9:77;n;6|1:17|10:78;p;6|1:33|10:79;7|1:80|12:81|13:71;p;5|1:82|8:11|4:83|5:6|6:39|8:11|8:11;n;3|1:84|4:85|9:86;n;6|1:17|10:87;p;3|1:88|4:89|5:46|11:47|9:90;n;6|1:17|10:91;p;6|1:33|10:50;7|1:92|12:'
  1295. ..'93|13:86;p;5|1:94|8:11|4:95|5:6|6:55|8:11|8:11;n;3|1:96|4:97|9:98;n;6|1:17|10:99;p;3|1:84|4:100|9:101;n;6|1:17|10:102;p;6|1:33|10:63;7|1:103|12:104|13:105;p;5|1:106|8:11|4:107|5:6|6:68|8:11|8:11;n;3|1'
  1296. ..':108|4:109|9:110;n;6|1:17|10:111;p;3|1:96|4:112|9:104;n;6|1:17|10:113;p;3|1:114|4:115|9:116;n;6|1:17|10:117;p;6|1:33|10:79;7|1:118|12:119|13:110;p;5|1:120|8:121|4:122|5:6|6:123|8:121|8:121;n;3|1:124|4'
  1297. ..':125|9:126;n;6|1:17|10:127;p;3|1:14|4:128|9:129;n;6|1:17|10:130;p;3|1:69|4:131|9:81;n;6|1:17|10:132;p;3|1:108|4:133|9:119;n;6|1:17|10:134;p;3|1:135|4:136|9:137;n;6|1:17|10:138;p;3|1:139|4:140|9:141;n;'
  1298. ..'6|1:17|10:142;p;3|1:143|4:144|9:145;n;6|1:17|10:146;p;3|1:147|4:148|9:149;n;6|1:17|10:150;p;3|1:151|4:152|9:153;n;6|1:17|10:154;p;6|1:33|10:155;7|1:156|12:157|13:158;p;5|1:159|8:160|4:161|5:6|6:162|8:'
  1299. ..'160|8:160;n;3|1:163|4:164|9:165;n;6|1:17|10:166;p;6|1:33|10:167;7|1:168|12:169|13:165;p;5|1:170|8:160|4:171|5:6|6:172|8:160|8:160;n;3|1:173|4:174|9:175;n;6|1:17|10:176;p;3|1:163|4:177|9:178;n;6|1:17|1'
  1300. ..'0:179;p;6|1:33|10:180;7|1:181|12:182|13:175;p;5|1:183|8:160|4:184|5:6|6:185|8:160|8:160;n;3|1:186|4:187|9:188;n;6|1:17|10:189;p;3|1:173|4:190|9:182;n;6|1:17|10:191;p;6|1:33|10:192;7|1:193|12:194|13:18'
  1301. ..'8;p;5|1:195|8:160|4:196|5:6|6:162|8:160|8:160;n;3|1:197|4:198|9:199;n;6|1:17|10:200;p;6|1:33|10:167;7|1:201|12:202|13:199;p;5|1:203|8:160|4:204|5:6|6:205|8:160|8:160;n;3|1:206|4:207|9:208;n;6|1:17|10:'
  1302. ..'209;p;3|1:197|4:210|9:202;n;6|1:17|10:211;p;6|1:33|10:180;7|1:212|12:213|13:214;p;5|1:215|8:160|4:216|5:6|6:217|8:160|8:160;n;3|1:218|4:219|9:220;n;6|1:17|10:221;p;3|1:206|4:222|9:223;n;6|1:17|10:224;'
  1303. ..'p;6|1:33|10:192;7|1:225|12:226|13:220;p;5|1:227|8:121|4:228|5:6|6:229|8:121|8:121;n;3|1:8|4:230|9:231;n;6|1:17|10:232;p;3|1:124|4:233|9:157;n;6|1:17|10:234;p;3|1:186|4:235|9:236;n;6|1:17|10:237;p;3|1:'
  1304. ..'218|4:238|9:226;n;6|1:17|10:239;p;3|1:240|4:241|9:242;n;6|1:17|10:243;p;3|1:244|4:245|9:246;n;6|1:17|10:247;p;3|1:248|4:249|9:250;n;6|1:17|10:251;p;6|1:33|10:252;7|1:253|13:231;p;8;9|16:254;10|1:255;n'
  1305. ..';10|1:256;p;11|1:257;11|1:258;12|8:259|3:4|4:260|5:261|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:264|5:265|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:267|5:268|6:269|17:263|18:2'
  1306. ..'63|8:259|8:259;n;13;p;12|8:259|3:4|4:270|5:271|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:272|5:273|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:274|5:275|6:262|17:263|18:263|8:259'
  1307. ..'|8:259;n;13;p;12|8:259|3:4|4:276|5:277|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:278|5:268|6:279|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:280|5:281|6:262|17:263|18:263|8:259|8:259;n'
  1308. ..';13;p;12|8:259|3:4|4:282|5:283|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:284|5:281|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:285|5:286|6:262|17:263|18:263|8:259|8:259;n;13;p;12'
  1309. ..'|8:259|3:4|4:287|5:268|6:288|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:289|5:268|6:290|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:291|5:268|6:292|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3'
  1310. ..':4|4:293|5:294|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:295|5:296|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:297|5:268|6:298|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:299'
  1311. ..'|5:300|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:301|5:302|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:303|5:304|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:305|5:306|6'
  1312. ..':266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:307|5:308|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:309|5:310|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:311|5:308|6:262|17:'
  1313. ..'263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:312|5:313|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:314|5:313|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:315|5:268|6:288|17:263|18:2'
  1314. ..'63|8:259|8:259;n;13;p;12|8:259|3:4|4:316|5:268|6:317|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:318|5:319|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:320|5:321|6:262|17:263|18:263|8:259'
  1315. ..'|8:259;n;13;p;12|8:259|3:4|4:322|5:323|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:324|5:325|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:326|5:277|6:266|17:263|18:263|8:259|8:259;n'
  1316. ..';13;p;12|8:259|3:4|4:327|5:328|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:329|5:330|6:262|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:331|5:332|6:262|17:263|18:263|8:259|8:259;n;13;p;12'
  1317. ..'|8:259|3:4|4:333|5:334|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:335|5:336|6:266|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:337|5:338|6:262|17:263|18:263|8:259|8:259;n;13;p;10|1:339;n'
  1318. ..';14|1:340;n;9|1:341|16:342;p;14|1:343;n;9|1:344|16:345;p;14|1:346;n;9|1:347|16:348;n;15|1:349|10:4;p;9|1:350|16:351;n;15|1:349|10:4;p;p;14|1:352;n;9|1:353|16:354;p;14|1:355;n;9|1:356|16:357;p;14|1:358'
  1319. ..';n;9|1:359|16:360;p;14|1:361;n;9|1:362|16:357;p;14|1:363;n;9|1:364|16:365;p;p;12|8:259|3:4|4:366|5:367|6:368|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:369|5:370|6:371|17:263|18:263|8:259|8:259;n'
  1320. ..';13;p;12|8:259|3:4|4:372|5:370|6:373|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:374|5:367|6:375|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:376|5:6|6:377|17:263|18:263|8:259|8:259;n;13;p;12|8'
  1321. ..':259|3:4|4:378|5:6|6:377|17:263|18:263|8:259|8:259;n;13;p;12|8:259|3:4|4:379|5:6|6:380|17:263|18:263|8:259|8:259;n;13;p;p;')
  1322. for _,Object in pairs(Objects) do
  1323. Object.Parent = script and script.Parent==workspace and script or workspace
  1324. end
  1325. for _,f in pairs(ActualScripts) do f() end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement