Advertisement
lafur

Untitled

May 23rd, 2020
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 38.22 KB | None | 0 0
  1. -- Converted using Mokiros's Model to Script plugin
  2. -- Converted string size: 10055
  3. local genv={}
  4. local Scripts = {
  5. function() local CurrentPart = nil
  6. local MaxInc = 60
  7.  
  8. function onTouched(hit)
  9. if hit.Parent == nil then
  10. return
  11. end
  12.  
  13. local humanoid = hit.Parent:findFirstChild("Humanoid")
  14.  
  15. if humanoid == nil then
  16. CurrentPart = hit
  17. end
  18. end
  19.  
  20. function waitForChild(parent, childName)
  21. local child = parent:findFirstChild(childName)
  22.  
  23. if child then
  24. return child
  25. end
  26.  
  27. while true do
  28. print(childName)
  29.  
  30. child = parent.ChildAdded:wait()
  31.  
  32. if child.Name==childName then
  33. return child
  34. end
  35. end
  36. end
  37.  
  38. local Figure = script.Parent
  39. local Humanoid = waitForChild(Figure, "Humanoid")
  40. local Torso = waitForChild(Figure, "HumanoidRootPart")
  41. local Left = waitForChild(Figure, "LeftFoot")
  42. local Right = waitForChild(Figure, "RightFoot")
  43.  
  44. Humanoid.Jump = true
  45.  
  46. Left.Touched:connect(onTouched)
  47. Right.Touched:connect(onTouched)
  48.  
  49. while true do
  50. wait(math.random(2, 6))
  51.  
  52. if CurrentPart ~= nil then
  53. if math.random(5, 7) == 1 then
  54. Humanoid.Jump = true
  55. end
  56.  
  57. Humanoid:MoveTo(Torso.Position + Vector3.new(math.random(-MaxInc, MaxInc), 0, math.random(-MaxInc, MaxInc)), CurrentPart)
  58. end
  59. end end;
  60. function() ---This server script creates the sounds and also exists so that it can be easily copied into an NPC and create sounds for that NPC.
  61. --Remove the local script if you copy this into an NPC.
  62.  
  63. function waitForChild(parent, childName)
  64. local child = parent:findFirstChild(childName)
  65. if child then return child end
  66. while true do
  67. child = parent.ChildAdded:wait()
  68. if child.Name==childName then return child end
  69. end
  70. end
  71.  
  72. function newSound(name, id)
  73. local sound = Instance.new("Sound")
  74. sound.SoundId = id
  75. sound.Name = name
  76. sound.archivable = false
  77. sound.Parent = script.Parent.Head
  78. return sound
  79. end
  80.  
  81. -- declarations
  82.  
  83. local sGettingUp = newSound("GettingUp", "rbxasset://sounds/action_get_up.mp3")
  84. local sDied = newSound("Died", "rbxasset://sounds/uuhhh.mp3")
  85. local sFreeFalling = newSound("FreeFalling", "rbxasset://sounds/action_falling.mp3")
  86. local sJumping = newSound("Jumping", "rbxasset://sounds/action_jump.mp3")
  87. local sLanding = newSound("Landing", "rbxasset://sounds/action_jump_land.mp3")
  88. local sSplash = newSound("Splash", "rbxasset://sounds/impact_water.mp3")
  89. local sRunning = newSound("Running", "rbxasset://sounds/action_footsteps_plastic.mp3")
  90. sRunning.Looped = true
  91. local sSwimming = newSound("Swimming", "rbxasset://sounds/action_swim.mp3")
  92. sSwimming.Looped = true
  93. local sClimbing = newSound("Climbing", "rbxasset://sounds/action_footsteps_plastic.mp3")
  94. sClimbing.Looped = true
  95.  
  96. local Figure = script.Parent
  97. local Head = waitForChild(Figure, "Head")
  98. local Humanoid = waitForChild(Figure, "Humanoid")
  99. local hasPlayer = game.Players:GetPlayerFromCharacter(script.Parent)
  100. local filteringEnabled = game.Workspace.FilteringEnabled
  101.  
  102. local prevState = "None"
  103.  
  104. -- functions
  105.  
  106. function onDied()
  107. stopLoopedSounds()
  108. sDied:Play()
  109. end
  110.  
  111. local fallCount = 0
  112. local fallSpeed = 0
  113. function onStateFall(state, sound)
  114. fallCount = fallCount + 1
  115. if state then
  116. sound.Volume = 0
  117. sound:Play()
  118. Spawn( function()
  119. local t = 0
  120. local thisFall = fallCount
  121. while t < 1.5 and fallCount == thisFall do
  122. local vol = math.max(t - 0.3 , 0)
  123. sound.Volume = vol
  124. wait(0.1)
  125. t = t + 0.1
  126. end
  127. end)
  128. else
  129. sound:Stop()
  130. end
  131. fallSpeed = math.max(fallSpeed, math.abs(Head.Velocity.Y))
  132. end
  133.  
  134.  
  135. function onStateNoStop(state, sound)
  136. if state then
  137. sound:Play()
  138. end
  139. end
  140.  
  141.  
  142. function onRunning(speed)
  143. sClimbing:Stop()
  144. sSwimming:Stop()
  145. if (prevState == "FreeFall" and fallSpeed > 0.1) then
  146. local vol = math.min(1.0, math.max(0.0, (fallSpeed - 50) / 110))
  147. sLanding.Volume = vol
  148. sLanding:Play()
  149. fallSpeed = 0
  150. end
  151. if speed>0.5 then
  152. sRunning.Playing = true
  153. sRunning.Pitch = 1.85
  154. else
  155. sRunning:Stop()
  156. end
  157. prevState = "Run"
  158. end
  159.  
  160. function onSwimming(speed)
  161. if (prevState ~= "Swim" and speed > 0.1) then
  162. local volume = math.min(1.0, speed / 350)
  163. sSplash.Volume = volume
  164. sSplash:Play()
  165. prevState = "Swim"
  166. end
  167. sClimbing:Stop()
  168. sRunning:Stop()
  169. sSwimming.Pitch = 1.6
  170. sSwimming:Play()
  171. end
  172.  
  173. function onClimbing(speed)
  174. sRunning:Stop()
  175. sSwimming:Stop()
  176. if speed>0.01 then
  177. sClimbing:Play()
  178. sClimbing.Pitch = speed / 5.5
  179. else
  180. sClimbing:Stop()
  181. end
  182. prevState = "Climb"
  183. end
  184. -- connect up
  185.  
  186. function stopLoopedSounds()
  187. sRunning:Stop()
  188. sClimbing:Stop()
  189. sSwimming:Stop()
  190. end
  191.  
  192. if hasPlayer == nil then
  193. Humanoid.Died:connect(onDied)
  194. Humanoid.Running:connect(onRunning)
  195. Humanoid.Swimming:connect(onSwimming)
  196. Humanoid.Climbing:connect(onClimbing)
  197. Humanoid.Jumping:connect(function(state) onStateNoStop(state, sJumping) prevState = "Jump" end)
  198. Humanoid.GettingUp:connect(function(state) stopLoopedSounds() onStateNoStop(state, sGettingUp) prevState = "GetUp" end)
  199. Humanoid.FreeFalling:connect(function(state) stopLoopedSounds() onStateFall(state, sFreeFalling) prevState = "FreeFall" end)
  200. Humanoid.FallingDown:connect(function(state) stopLoopedSounds() end)
  201. Humanoid.StateChanged:connect(function(old, new)
  202. if not (new.Name == "Dead" or
  203. new.Name == "Running" or
  204. new.Name == "RunningNoPhysics" or
  205. new.Name == "Swimming" or
  206. new.Name == "Jumping" or
  207. new.Name == "GettingUp" or
  208. new.Name == "Freefall" or
  209. new.Name == "FallingDown") then
  210. stopLoopedSounds()
  211. end
  212. end)
  213. end
  214. end;
  215. function() --This local script will run only for the player whos character it is in. It's changes to the sounds will replicate as they are changes to the character.
  216. -- util
  217.  
  218. function waitForChild(parent, childName)
  219. local child = parent:findFirstChild(childName)
  220. if child then return child end
  221. while true do
  222. child = parent.ChildAdded:wait()
  223. if child.Name==childName then return child end
  224. end
  225. end
  226.  
  227.  
  228. -- declarations
  229.  
  230. local Figure = script.Parent.Parent
  231. local Head = waitForChild(Figure, "Head")
  232. local Humanoid = waitForChild(Figure, "Humanoid")
  233.  
  234. local sGettingUp = waitForChild(Head, "GettingUp")
  235. local sDied = waitForChild(Head, "Died")
  236. local sFreeFalling = waitForChild(Head, "FreeFalling")
  237. local sJumping = waitForChild(Head, "Jumping")
  238. local sLanding = waitForChild(Head, "Landing")
  239. local sSplash = waitForChild(Head, "Splash")
  240. local sRunning = waitForChild(Head, "Running")
  241. sRunning.Looped = true
  242. local sSwimming = waitForChild(Head, "Swimming")
  243. sSwimming.Looped = true
  244. local sClimbing =waitForChild(Head, "Climbing")
  245. sClimbing.Looped = true
  246.  
  247. local prevState = "None"
  248.  
  249. -- functions
  250.  
  251. function onDied()
  252. stopLoopedSounds()
  253. sDied:Play()
  254. end
  255.  
  256. local fallCount = 0
  257. local fallSpeed = 0
  258. function onStateFall(state, sound)
  259. fallCount = fallCount + 1
  260. if state then
  261. sound.Volume = 0
  262. sound:Play()
  263. Spawn( function()
  264. local t = 0
  265. local thisFall = fallCount
  266. while t < 1.5 and fallCount == thisFall do
  267. local vol = math.max(t - 0.3 , 0)
  268. sound.Volume = vol
  269. wait(0.1)
  270. t = t + 0.1
  271. end
  272. end)
  273. else
  274. sound:Stop()
  275. end
  276. fallSpeed = math.max(fallSpeed, math.abs(Head.Velocity.Y))
  277. end
  278.  
  279.  
  280. function onStateNoStop(state, sound)
  281. if state then
  282. sound:Play()
  283. end
  284. end
  285.  
  286.  
  287. function onRunning(speed)
  288. sClimbing:Stop()
  289. sSwimming:Stop()
  290. if (prevState == "FreeFall" and fallSpeed > 0.1) then
  291. local vol = math.min(1.0, math.max(0.0, (fallSpeed - 50) / 110))
  292. sLanding.Volume = vol
  293. sLanding:Play()
  294. fallSpeed = 0
  295. end
  296. if speed>0.5 then
  297. sRunning:Play()
  298. sRunning.Pitch = speed / 8.0
  299. else
  300. sRunning:Stop()
  301. end
  302. prevState = "Run"
  303. end
  304.  
  305. function onSwimming(speed)
  306. if (prevState ~= "Swim" and speed > 0.1) then
  307. local volume = math.min(1.0, speed / 350)
  308. sSplash.Volume = volume
  309. sSplash:Play()
  310. prevState = "Swim"
  311. end
  312. sClimbing:Stop()
  313. sRunning:Stop()
  314. sSwimming.Pitch = 1.6
  315. sSwimming:Play()
  316. end
  317.  
  318. function onClimbing(speed)
  319. sRunning:Stop()
  320. sSwimming:Stop()
  321. if speed>0.01 then
  322. sClimbing:Play()
  323. sClimbing.Pitch = speed / 5.5
  324. else
  325. sClimbing:Stop()
  326. end
  327. prevState = "Climb"
  328. end
  329. -- connect up
  330.  
  331. function stopLoopedSounds()
  332. sRunning:Stop()
  333. sClimbing:Stop()
  334. sSwimming:Stop()
  335. end
  336.  
  337. Humanoid.Died:connect(onDied)
  338. Humanoid.Running:connect(onRunning)
  339. Humanoid.Swimming:connect(onSwimming)
  340. Humanoid.Climbing:connect(onClimbing)
  341. Humanoid.Jumping:connect(function(state) onStateNoStop(state, sJumping) prevState = "Jump" end)
  342. Humanoid.GettingUp:connect(function(state) stopLoopedSounds() onStateNoStop(state, sGettingUp) prevState = "GetUp" end)
  343. Humanoid.FreeFalling:connect(function(state) stopLoopedSounds() onStateFall(state, sFreeFalling) prevState = "FreeFall" end)
  344. Humanoid.FallingDown:connect(function(state) stopLoopedSounds() end)
  345. Humanoid.StateChanged:connect(function(old, new)
  346. if not (new.Name == "Dead" or
  347. new.Name == "Running" or
  348. new.Name == "RunningNoPhysics" or
  349. new.Name == "Swimming" or
  350. new.Name == "Jumping" or
  351. new.Name == "GettingUp" or
  352. new.Name == "Freefall" or
  353. new.Name == "FallingDown") then
  354. stopLoopedSounds()
  355. end
  356. end)
  357.  
  358. end;
  359. function() --Responsible for regening a player's humanoid's health
  360.  
  361. -- declarations
  362. local Figure = script.Parent
  363. local Head = Figure:WaitForChild("Head")
  364. local Humanoid = Figure:WaitForChild("Humanoid")
  365. local regening = false
  366.  
  367. -- regeneration
  368. function regenHealth()
  369. if regening then return end
  370. regening = true
  371.  
  372. while Humanoid.Health < Humanoid.MaxHealth do
  373. local s = wait(1)
  374. local health = Humanoid.Health
  375. if health > 0 and health < Humanoid.MaxHealth then
  376. local newHealthDelta = 0.01 * s * Humanoid.MaxHealth
  377. health = health + newHealthDelta
  378. Humanoid.Health = math.min(health,Humanoid.MaxHealth)
  379. end
  380. end
  381.  
  382. if Humanoid.Health > Humanoid.MaxHealth then
  383. Humanoid.Health = Humanoid.MaxHealth
  384. end
  385.  
  386. regening = false
  387. end
  388.  
  389. Humanoid.HealthChanged:connect(regenHealth)
  390. end;
  391. function() function waitForChild(parent, childName)
  392. local child = parent:findFirstChild(childName)
  393. if child then return child end
  394. while true do
  395. child = parent.ChildAdded:wait()
  396. if child.Name==childName then return child end
  397. end
  398. end
  399.  
  400. local Figure = script.Parent
  401. local Humanoid = waitForChild(Figure, "Humanoid")
  402. local pose = "Standing"
  403.  
  404. local currentAnim = ""
  405. local currentAnimInstance = nil
  406. local currentAnimTrack = nil
  407. local currentAnimKeyframeHandler = nil
  408. local currentAnimSpeed = 1.0
  409. local animTable = {}
  410. local animNames = {
  411. idle = {
  412. { id = "http://www.roblox.com/asset/?id=507766666", weight = 1 },
  413. { id = "http://www.roblox.com/asset/?id=507766951", weight = 1 },
  414. { id = "http://www.roblox.com/asset/?id=507766388", weight = 9 }
  415. },
  416. walk = {
  417. { id = "http://www.roblox.com/asset/?id=507777826", weight = 10 }
  418. },
  419. run = {
  420. { id = "http://www.roblox.com/asset/?id=507767714", weight = 10 }
  421. },
  422. swim = {
  423. { id = "http://www.roblox.com/asset/?id=507784897", weight = 10 }
  424. },
  425. swimidle = {
  426. { id = "http://www.roblox.com/asset/?id=507785072", weight = 10 }
  427. },
  428. jump = {
  429. { id = "http://www.roblox.com/asset/?id=507765000", weight = 10 }
  430. },
  431. fall = {
  432. { id = "http://www.roblox.com/asset/?id=507767968", weight = 10 }
  433. },
  434. climb = {
  435. { id = "http://www.roblox.com/asset/?id=507765644", weight = 10 }
  436. },
  437. sit = {
  438. { id = "http://www.roblox.com/asset/?id=507768133", weight = 10 }
  439. },
  440. toolnone = {
  441. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  442. },
  443. toolslash = {
  444. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  445. -- { id = "slash.xml", weight = 10 }
  446. },
  447. toollunge = {
  448. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  449. },
  450. wave = {
  451. { id = "http://www.roblox.com/asset/?id=507770239", weight = 10 }
  452. },
  453. point = {
  454. { id = "http://www.roblox.com/asset/?id=507770453", weight = 10 }
  455. },
  456. dance = {
  457. { id = "http://www.roblox.com/asset/?id=507771019", weight = 10 },
  458. { id = "http://www.roblox.com/asset/?id=507771955", weight = 10 },
  459. { id = "http://www.roblox.com/asset/?id=507772104", weight = 10 }
  460. },
  461. dance2 = {
  462. { id = "http://www.roblox.com/asset/?id=507776043", weight = 10 },
  463. { id = "http://www.roblox.com/asset/?id=507776720", weight = 10 },
  464. { id = "http://www.roblox.com/asset/?id=507776879", weight = 10 }
  465. },
  466. dance3 = {
  467. { id = "http://www.roblox.com/asset/?id=507777268", weight = 10 },
  468. { id = "http://www.roblox.com/asset/?id=507777451", weight = 10 },
  469. { id = "http://www.roblox.com/asset/?id=507777623", weight = 10 }
  470. },
  471. laugh = {
  472. { id = "http://www.roblox.com/asset/?id=507770818", weight = 10 }
  473. },
  474. cheer = {
  475. { id = "http://www.roblox.com/asset/?id=507770677", weight = 10 }
  476. },
  477. }
  478.  
  479. -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
  480. local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
  481.  
  482. math.randomseed(tick())
  483.  
  484. function configureAnimationSet(name, fileList)
  485. if (animTable[name] ~= nil) then
  486. for _, connection in pairs(animTable[name].connections) do
  487. connection:disconnect()
  488. end
  489. end
  490. animTable[name] = {}
  491. animTable[name].count = 0
  492. animTable[name].totalWeight = 0
  493. animTable[name].connections = {}
  494.  
  495. -- check for config values
  496. local config = script:FindFirstChild(name)
  497. if (config ~= nil) then
  498. -- print("Loading anims " .. name)
  499. table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
  500. table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
  501. local idx = 1
  502. for _, childPart in pairs(config:GetChildren()) do
  503. if (childPart:IsA("Animation")) then
  504. table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
  505. animTable[name][idx] = {}
  506. animTable[name][idx].anim = childPart
  507. local weightObject = childPart:FindFirstChild("Weight")
  508. if (weightObject == nil) then
  509. animTable[name][idx].weight = 1
  510. else
  511. animTable[name][idx].weight = weightObject.Value
  512. end
  513. animTable[name].count = animTable[name].count + 1
  514. animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
  515. -- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
  516. idx = idx + 1
  517. end
  518. end
  519. end
  520.  
  521. -- fallback to defaults
  522. if (animTable[name].count <= 0) then
  523. for idx, anim in pairs(fileList) do
  524. animTable[name][idx] = {}
  525. animTable[name][idx].anim = Instance.new("Animation")
  526. animTable[name][idx].anim.Name = name
  527. animTable[name][idx].anim.AnimationId = anim.id
  528. animTable[name][idx].weight = anim.weight
  529. animTable[name].count = animTable[name].count + 1
  530. animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
  531. -- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
  532. end
  533. end
  534. end
  535.  
  536. -- Setup animation objects
  537. function scriptChildModified(child)
  538. local fileList = animNames[child.Name]
  539. if (fileList ~= nil) then
  540. configureAnimationSet(child.Name, fileList)
  541. end
  542. end
  543.  
  544. script.ChildAdded:connect(scriptChildModified)
  545. script.ChildRemoved:connect(scriptChildModified)
  546.  
  547.  
  548. for name, fileList in pairs(animNames) do
  549. configureAnimationSet(name, fileList)
  550. end
  551.  
  552. -- ANIMATION
  553.  
  554. -- declarations
  555. local toolAnim = "None"
  556. local toolAnimTime = 0
  557.  
  558. local jumpAnimTime = 0
  559. local jumpAnimDuration = 0.31
  560.  
  561. local toolTransitionTime = 0.1
  562. local fallTransitionTime = 0.2
  563.  
  564. -- functions
  565.  
  566. function stopAllAnimations()
  567. local oldAnim = currentAnim
  568.  
  569. -- return to idle if finishing an emote
  570. if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
  571. oldAnim = "idle"
  572. end
  573.  
  574. currentAnim = ""
  575. currentAnimInstance = nil
  576. if (currentAnimKeyframeHandler ~= nil) then
  577. currentAnimKeyframeHandler:disconnect()
  578. end
  579.  
  580. if (currentAnimTrack ~= nil) then
  581. currentAnimTrack:Stop()
  582. currentAnimTrack:Destroy()
  583. currentAnimTrack = nil
  584. end
  585. return oldAnim
  586. end
  587.  
  588. function setAnimationSpeed(speed)
  589. if speed ~= currentAnimSpeed then
  590. currentAnimSpeed = speed
  591. currentAnimTrack:AdjustSpeed(currentAnimSpeed)
  592. end
  593. end
  594.  
  595. function keyFrameReachedFunc(frameName)
  596. if (frameName == "End") then
  597. -- print("Keyframe : ".. frameName)
  598.  
  599. local repeatAnim = currentAnim
  600. -- return to idle if finishing an emote
  601. if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
  602. repeatAnim = "idle"
  603. end
  604.  
  605. local animSpeed = currentAnimSpeed
  606. playAnimation(repeatAnim, 0.15, Humanoid)
  607. setAnimationSpeed(animSpeed)
  608. end
  609. end
  610.  
  611. -- Preload animations
  612. function playAnimation(animName, transitionTime, humanoid)
  613.  
  614. local roll = math.random(1, animTable[animName].totalWeight)
  615. local origRoll = roll
  616. local idx = 1
  617. while (roll > animTable[animName][idx].weight) do
  618. roll = roll - animTable[animName][idx].weight
  619. idx = idx + 1
  620. end
  621.  
  622. -- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
  623.  
  624. local anim = animTable[animName][idx].anim
  625.  
  626. -- switch animation
  627. if (anim ~= currentAnimInstance) then
  628.  
  629. if (currentAnimTrack ~= nil) then
  630. currentAnimTrack:Stop(transitionTime)
  631. currentAnimTrack:Destroy()
  632. end
  633.  
  634. currentAnimSpeed = 1.0
  635.  
  636. -- load it to the humanoid; get AnimationTrack
  637. currentAnimTrack = humanoid:LoadAnimation(anim)
  638.  
  639. -- play the animation
  640. currentAnimTrack:Play(transitionTime)
  641. currentAnim = animName
  642. currentAnimInstance = anim
  643.  
  644. -- set up keyframe name triggers
  645. if (currentAnimKeyframeHandler ~= nil) then
  646. currentAnimKeyframeHandler:disconnect()
  647. end
  648. currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
  649.  
  650. end
  651.  
  652. end
  653.  
  654. -------------------------------------------------------------------------------------------
  655. -------------------------------------------------------------------------------------------
  656.  
  657. local toolAnimName = ""
  658. local toolAnimTrack = nil
  659. local toolAnimInstance = nil
  660. local currentToolAnimKeyframeHandler = nil
  661.  
  662. function toolKeyFrameReachedFunc(frameName)
  663. if (frameName == "End") then
  664. -- print("Keyframe : ".. frameName)
  665. playToolAnimation(toolAnimName, 0.0, Humanoid)
  666. end
  667. end
  668.  
  669.  
  670. function playToolAnimation(animName, transitionTime, humanoid)
  671.  
  672. local roll = math.random(1, animTable[animName].totalWeight)
  673. local origRoll = roll
  674. local idx = 1
  675. while (roll > animTable[animName][idx].weight) do
  676. roll = roll - animTable[animName][idx].weight
  677. idx = idx + 1
  678. end
  679. -- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
  680. local anim = animTable[animName][idx].anim
  681.  
  682. if (toolAnimInstance ~= anim) then
  683.  
  684. if (toolAnimTrack ~= nil) then
  685. toolAnimTrack:Stop()
  686. toolAnimTrack:Destroy()
  687. transitionTime = 0
  688. end
  689.  
  690. -- load it to the humanoid; get AnimationTrack
  691. toolAnimTrack = humanoid:LoadAnimation(anim)
  692.  
  693. -- play the animation
  694. toolAnimTrack:Play(transitionTime)
  695. toolAnimName = animName
  696. toolAnimInstance = anim
  697.  
  698. currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
  699. end
  700. end
  701.  
  702. function stopToolAnimations()
  703. local oldAnim = toolAnimName
  704.  
  705. if (currentToolAnimKeyframeHandler ~= nil) then
  706. currentToolAnimKeyframeHandler:disconnect()
  707. end
  708.  
  709. toolAnimName = ""
  710. toolAnimInstance = nil
  711. if (toolAnimTrack ~= nil) then
  712. toolAnimTrack:Stop()
  713. toolAnimTrack:Destroy()
  714. toolAnimTrack = nil
  715. end
  716.  
  717.  
  718. return oldAnim
  719. end
  720.  
  721. -------------------------------------------------------------------------------------------
  722. -------------------------------------------------------------------------------------------
  723.  
  724.  
  725. function onRunning(speed)
  726. if speed > 0.01 then
  727. local scale = 15.0
  728. playAnimation("walk", 0.1, Humanoid)
  729. setAnimationSpeed(speed / scale)
  730. pose = "Running"
  731. else
  732. playAnimation("idle", 0.1, Humanoid)
  733. pose = "Standing"
  734. end
  735. end
  736.  
  737. function onDied()
  738. pose = "Dead"
  739. end
  740.  
  741. function onJumping()
  742. playAnimation("jump", 0.1, Humanoid)
  743. jumpAnimTime = jumpAnimDuration
  744. pose = "Jumping"
  745. end
  746.  
  747. function onClimbing(speed)
  748. local scale = 5.0
  749. playAnimation("climb", 0.1, Humanoid)
  750. setAnimationSpeed(speed / scale)
  751. pose = "Climbing"
  752. end
  753.  
  754. function onGettingUp()
  755. pose = "GettingUp"
  756. end
  757.  
  758. function onFreeFall()
  759. if (jumpAnimTime <= 0) then
  760. playAnimation("fall", fallTransitionTime, Humanoid)
  761. end
  762. pose = "FreeFall"
  763. end
  764.  
  765. function onFallingDown()
  766. pose = "FallingDown"
  767. end
  768.  
  769. function onSeated()
  770. pose = "Seated"
  771. end
  772.  
  773. function onPlatformStanding()
  774. pose = "PlatformStanding"
  775. end
  776.  
  777. function onSwimming(speed)
  778. if speed > 1.00 then
  779. local scale = 10.0
  780. playAnimation("swim", 0.4, Humanoid)
  781. setAnimationSpeed(speed / scale)
  782. pose = "Swimming"
  783. else
  784. playAnimation("swimidle", 0.4, Humanoid)
  785. pose = "Standing"
  786. end
  787. end
  788.  
  789. function getTool()
  790. for _, kid in ipairs(Figure:GetChildren()) do
  791. if kid.className == "Tool" then return kid end
  792. end
  793. return nil
  794. end
  795.  
  796. function getToolAnim(tool)
  797. for _, c in ipairs(tool:GetChildren()) do
  798. if c.Name == "toolanim" and c.className == "StringValue" then
  799. return c
  800. end
  801. end
  802. return nil
  803. end
  804.  
  805. function animateTool()
  806.  
  807. if (toolAnim == "None") then
  808. playToolAnimation("toolnone", toolTransitionTime, Humanoid)
  809. return
  810. end
  811.  
  812. if (toolAnim == "Slash") then
  813. playToolAnimation("toolslash", 0, Humanoid)
  814. return
  815. end
  816.  
  817. if (toolAnim == "Lunge") then
  818. playToolAnimation("toollunge", 0, Humanoid)
  819. return
  820. end
  821. end
  822.  
  823. function moveSit()
  824. RightShoulder.MaxVelocity = 0.15
  825. LeftShoulder.MaxVelocity = 0.15
  826. RightShoulder:SetDesiredAngle(3.14 /2)
  827. LeftShoulder:SetDesiredAngle(-3.14 /2)
  828. RightHip:SetDesiredAngle(3.14 /2)
  829. LeftHip:SetDesiredAngle(-3.14 /2)
  830. end
  831.  
  832. local lastTick = 0
  833.  
  834. function move(time)
  835. local amplitude = 1
  836. local frequency = 1
  837. local deltaTime = time - lastTick
  838. lastTick = time
  839.  
  840. local climbFudge = 0
  841. local setAngles = false
  842.  
  843. if (jumpAnimTime > 0) then
  844. jumpAnimTime = jumpAnimTime - deltaTime
  845. end
  846.  
  847. if (pose == "FreeFall" and jumpAnimTime <= 0) then
  848. playAnimation("fall", fallTransitionTime, Humanoid)
  849. elseif (pose == "Seated") then
  850. playAnimation("sit", 0.5, Humanoid)
  851. return
  852. elseif (pose == "Running") then
  853. playAnimation("walk", 0.1, Humanoid)
  854. elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
  855. stopAllAnimations()
  856. amplitude = 0.1
  857. frequency = 1
  858. setAngles = true
  859. end
  860.  
  861. -- Tool Animation handling
  862. local tool = getTool()
  863. if tool then
  864.  
  865. animStringValueObject = getToolAnim(tool)
  866.  
  867. if animStringValueObject then
  868. toolAnim = animStringValueObject.Value
  869. -- message recieved, delete StringValue
  870. animStringValueObject.Parent = nil
  871. toolAnimTime = time + .3
  872. end
  873.  
  874. if time > toolAnimTime then
  875. toolAnimTime = 0
  876. toolAnim = "None"
  877. end
  878.  
  879. animateTool()
  880. else
  881. stopToolAnimations()
  882. toolAnim = "None"
  883. toolAnimInstance = nil
  884. toolAnimTime = 0
  885. end
  886. end
  887.  
  888. -- connect events
  889. Humanoid.Died:connect(onDied)
  890. Humanoid.Running:connect(onRunning)
  891. Humanoid.Jumping:connect(onJumping)
  892. Humanoid.Climbing:connect(onClimbing)
  893. Humanoid.GettingUp:connect(onGettingUp)
  894. Humanoid.FreeFalling:connect(onFreeFall)
  895. Humanoid.FallingDown:connect(onFallingDown)
  896. Humanoid.Seated:connect(onSeated)
  897. Humanoid.PlatformStanding:connect(onPlatformStanding)
  898. Humanoid.Swimming:connect(onSwimming)
  899.  
  900. -- setup emote chat hook
  901. script.msg.Changed:connect(function(msg)
  902. script.msg.Value = ""
  903. local emote = ""
  904. if (string.sub(msg, 1, 3) == "/e ") then
  905. emote = string.sub(msg, 4)
  906. elseif (string.sub(msg, 1, 7) == "/emote ") then
  907. emote = string.sub(msg, 8)
  908. end
  909.  
  910. if (pose == "Standing" and emoteNames[emote] ~= nil) then
  911. playAnimation(emote, 0.1, Humanoid)
  912. end
  913. -- print("===> " .. string.sub(msg, 1, 3) .. "(" .. emote .. ")")
  914. end)
  915.  
  916.  
  917. -- main program
  918.  
  919. local runService = game:service("RunService");
  920.  
  921. -- print("bottom")
  922.  
  923. -- initialize to idle
  924. playAnimation("idle", 0.1, Humanoid)
  925. pose = "Standing"
  926.  
  927. while Figure.Parent~=nil do
  928. local _, time = wait(0.1)
  929. move(time)
  930. end
  931.  
  932.  
  933. end;
  934. function() script.Parent.DisplayDistanceType = 'Viewer'
  935. end;}local ActualScripts = {}
  936. function s(var)
  937. local func = table.remove(Scripts,1)
  938. setfenv(func,setmetatable({script=var,require=fake_require or require,global=genv},{
  939. __index = getfenv(func),
  940. }))
  941. table.insert(ActualScripts,coroutine.wrap(func))
  942. end
  943. Decode = function(str,t,props,classes,values,ICList,Model,CurPar,LastIns,split,RemoveAndSplit,InstanceList)
  944. local tonum,table_remove,inst,parnt,comma,table_foreach = tonumber,table.remove,Instance.new,"Parent",",",
  945. function(t,f)
  946. for a,b in pairs(t) do
  947. f(a,b)
  948. end
  949. end
  950. local Types = {
  951. Color3 = Color3.new,
  952. Vector3 = Vector3.new,
  953. Vector2 = Vector2.new,
  954. UDim = UDim.new,
  955. UDim2 = UDim2.new,
  956. CFrame = CFrame.new,
  957. Rect = Rect.new,
  958. NumberRange = NumberRange.new,
  959. BrickColor = BrickColor.new,
  960. PhysicalProperties = PhysicalProperties.new,
  961. NumberSequence = function(...)
  962. local a = {...}
  963. local t = {}
  964. repeat
  965. t[#t+1] = NumberSequenceKeypoint.new(table_remove(a,1),table_remove(a,1),table_remove(a,1))
  966. until #a==0
  967. return NumberSequence.new(t)
  968. end,
  969. ColorSequence = function(...)
  970. local a = {...}
  971. local t = {}
  972. repeat
  973. t[#t+1] = ColorSequenceKeypoint.new(table_remove(a,1),Color3.new(table_remove(a,1),table_remove(a,1),table_remove(a,1)))
  974. until #a==0
  975. return ColorSequence.new(t)
  976. end,
  977. number = tonumber,
  978. boolean = function(a)
  979. return a=="1"
  980. end
  981. }
  982. split = function(str,sep)
  983. if not str then return end
  984. local fields = {}
  985. local ConcatNext = false
  986. str:gsub(("([^%s]+)"):format(sep),function(c)
  987. if ConcatNext == true then
  988. fields[#fields] = fields[#fields]..sep..c
  989. ConcatNext = false
  990. else
  991. fields[#fields+1] = c
  992. end
  993. if c:sub(#c)=="\\" then
  994. c = fields[#fields]
  995. fields[#fields] = c:sub(1,#c-1)
  996. ConcatNext = true
  997. end
  998. end)
  999. return fields
  1000. end
  1001. RemoveAndSplit = function(t)
  1002. return split(table_remove(t,1),comma)
  1003. end
  1004. t = split(str,";")
  1005. props = RemoveAndSplit(t)
  1006. classes = RemoveAndSplit(t)
  1007. values = split(table_remove(t,1),'|')
  1008. ICList = RemoveAndSplit(t)
  1009. InstanceList = {}
  1010. Model = inst"Model"
  1011. CurPar = Model
  1012. table_foreach(t,function(ct,c)
  1013. if c=="n" or c=="p" then
  1014. CurPar = c=="n" and LastIns or CurPar[parnt]
  1015. else
  1016. ct = split(c,"|")
  1017. local class = classes[tonum(table_remove(ct,1))]
  1018. if class=="UnionOperation" then
  1019. LastIns = {UsePartColor="1"}
  1020. else
  1021. LastIns = inst(class)
  1022. if LastIns:IsA"Script" then
  1023. s(LastIns)
  1024. elseif LastIns:IsA("ModuleScript") then
  1025. ms(LastIns)
  1026. end
  1027. end
  1028.  
  1029. local function SetProperty(LastIns,p,str,s)
  1030. s = Types[typeof(LastIns[p])]
  1031. if p=="CustomPhysicalProperties" then
  1032. s = PhysicalProperties.new
  1033. end
  1034. if s then
  1035. LastIns[p] = s(unpack(split(str,comma)))
  1036. else
  1037. LastIns[p] = str
  1038. end
  1039. end
  1040.  
  1041. local UnionData
  1042. table_foreach(ct,function(s,p,a,str)
  1043. a = p:find":"
  1044. p,str = props[tonum(p:sub(1,a-1))],values[tonum(p:sub(a+1))]
  1045. if p=="UnionData" then
  1046. UnionData = split(str," ")
  1047. return
  1048. end
  1049. if class=="UnionOperation" then
  1050. LastIns[p] = str
  1051. return
  1052. end
  1053. SetProperty(LastIns,p,str)
  1054. end)
  1055.  
  1056. if UnionData then
  1057. local LI_Data = LastIns
  1058. LastIns = DecodeUnion(UnionData)
  1059. table_foreach(LI_Data,function(p,str)
  1060. SetProperty(LastIns,p,str)
  1061. end)
  1062. end
  1063. table.insert(InstanceList,LastIns)
  1064. LastIns[parnt] = CurPar
  1065. end
  1066. end)
  1067. table_remove(ICList,1)
  1068. table_foreach(ICList,function(a,b)
  1069. b = split(b,">")
  1070. InstanceList[tonum(b[1])][props[tonum(b[2])]] = InstanceList[tonum(b[3])]
  1071. end)
  1072.  
  1073. return Model:GetChildren()
  1074. end
  1075.  
  1076. local Objects = Decode('Name,CustomPhysicalProperties,Color,Material,Transparency,Position,Size,Part0,Part1,Orientation,CanCollide,CFrame,C0,C1,Rotation,AnimationId,Value,BottomSurface,TopSurface,Scale,MaxDistance,EmitterSiz'
  1077. ..'e,SoundId,Volume,Looped,PlaybackSpeed,Texture,DisplayDistanceType,HipHeight,WalkSpeed,AttachmentPoint,AttachmentPos,Locked,MeshId,TextureId,MeshType;Part,Model,MeshPart,WeldConstraint,Attachment,Motor'
  1078. ..'6D,Script,LocalScript,StringValue,Animation,NumberValue,SpecialMesh,Sound,Decal,Weld,Humanoid,Hat;Part|Program NPC|Body|Base|0.0099,0,0,0,0|0.0666,0.0666,0.0666|1568|-0.0001|-28.1421,4.7956,69.2392|2,'
  1079. ..'2,2|Neon|0,1,0|288|0.2499|-28.1421,4.8386,69.2392|2.0999,2.0999,2.0999|EyeRight|-27.892,4.7956,68.6892|0.375,0.875,1|EyeLeft|-28.392,4.7956,68.6892|-29.5171,2.5706,69.2392|0.75,0.75,0.75|0.85,0.85,0.8'
  1080. ..'5|-26.7671,2.5706,69.2392|-90,180,0|-28.1421,2.3206,69.2392|-90,0,0|1.375,1.375,2.25|1.475,1.475,2.3499|LeftFoot|0.8039,0.8039,0.8039|1|-28.6071,0.15,69.2348|1,0.3,1|0|LeftAnkleRigAttachment|-0.0001,0'
  1081. ..'.05,0|-0.0001,0.05,0,1,0,0,0,1,0,0,0,1|LeftAnkle|-0.0001,-0.75,0,1,0,0,0,1,0,0,0,1|LeftHand|-29.6071,2.15,69.2348|0.9999,0.2999,0.9999|LeftWristRigAttachment|0.0004,0.1499,0|0.0004,0.1499,0,1,0,0,0,1,'
  1082. ..'0,0,0,1|LeftGripAttachment|-0.0001,-0.15,-0.0001|-90,-0,0|-90,-0,-0|-0.0001,-0.15,-0.0001,1,0,-0,0,0,1,0,-1,0|LeftWrist|0.0004,-0.55,0,1,0,0,0,1,0,0,0,1|LeftLowerArm|-29.6071,2.85,69.2348|0.9999,1.2,1'
  1083. ..'|LeftElbowRigAttachment|0.0004,0.25,0|0.0004,0.25,0,1,0,0,0,1,0,0,0,1|0.0004,-0.55,0|LeftElbow|0.0004,-0.2001,0,1,0,0,0,1,0,0,0,1|LeftLowerLeg|-28.6071,0.95,69.2348|0.9999,1.5,1|LeftKneeRigAttachment|'
  1084. ..'-0,0.2499,-0.0001|-0,0.2499,-0.0001,1,0,0,0,1,0,0,0,1|-0.0001,-0.75,0|LeftKnee|0,-0.3,-0.0001,1,0,0,0,1,0,0,0,1|LeftUpperArm|-29.6071,3.3,69.2348|0.9999,1.4,0.9999|LeftShoulderRigAttachment|0.2501,0.4'
  1085. ..'499,0|0.2501,0.4499,0,1,0,0,0,1,0,0,0,1|0.0004,-0.2001,0|LeftShoulderAttachment|0,0.7,-0.0001|0,0.7,-0.0001,1,0,0,0,1,0,0,0,1|LeftShoulder|-1.2499,0.5499,0,1,0,0,0,1,0,0,0,1|LeftUpperLeg|-28.6071,1.5,'
  1086. ..'69.2348|1,1.4999,0.9999|LeftHipRigAttachment|0,0.5,-0.0001|0,0.5,-0.0001,1,0,0,0,1,0,0,0,1|0,-0.3,-0.0001|LeftHip|-0.5001,-0.2,-0,1,0,0,0,1,0,0,0,1|LowerTorso|-28.1071,2.2,69.2348|1.9999,0.3999,1|Root'
  1087. ..'RigAttachment|-0.0001,0.15,-0|-0.0001,0.15,-0,1,0,0,0,1,0,0,0,1|WaistRigAttachment|-0.0001,0.55,0|-0.0001,0.55,0,1,0,0,0,1,0,0,0,1|-0.5001,-0.2,-0|RightHipRigAttachment|0.4999,-0.2,-0|0.4999,-0.2,-0,1'
  1088. ..',0,0,0,1,0,0,0,1|WaistCenterAttachment|-0.0001,-0.0001,0|-0.0001,-0.0001,0,1,0,0,0,1,0,0,0,1|WaistFrontAttachment|-0.0001,0,-0.5001|-0.0001,0,-0.5001,1,0,0,0,1,0,0,0,1|WaistBackAttachment|-0.0001,0,0.'
  1089. ..'5|-0.0001,0,0.5,1,0,0,0,1,0,0,0,1|Root|Move|RightFoot|-27.6071,0.15,69.2348|0.9999,0.3,1|RightAnkleRigAttachment|-0,0.0499,0|-0,0.0499,0,1,0,0,0,1,0,0,0,1|RightAnkle|-0,-0.7501,0,1,0,0,0,1,0,0,0,1|Rig'
  1090. ..'htHand|-26.6071,2.15,69.2348|RightWristRigAttachment|0,0.1499,0|0,0.1499,0,1,0,0,0,1,0,0,0,1|RightGripAttachment|0,-0.15,-0.0001|0,-0.15,-0.0001,1,0,-0,0,0,1,0,-1,0|RightWrist|0,-0.55,-0.0001,1,0,0,0,'
  1091. ..'1,0,0,0,1|RightLowerArm|-26.6071,2.85,69.2348|RightElbowRigAttachment|0,0.25,0|0,0.25,0,1,0,0,0,1,0,0,0,1|0,-0.55,-0.0001|RightElbow|-0.0001,-0.2001,0,1,0,0,0,1,0,0,0,1|RightLowerLeg|-27.6071,0.95,69.'
  1092. ..'2348|RightKneeRigAttachment|-0,0.2499,0|-0,0.2499,0,1,0,0,0,1,0,0,0,1|-0,-0.7501,0|RightKnee|-0,-0.3,0,1,0,0,0,1,0,0,0,1|RightUpperArm|-26.6071,3.3,69.2348|RightShoulderRigAttachment|-0.2501,0.4499,0|'
  1093. ..'-0.2501,0.4499,0,1,0,0,0,1,0,0,0,1|-0.0001,-0.2001,0|RightShoulderAttachment|-0.0001,0.7,-0.0001|-0.0001,0.7,-0.0001,1,0,0,0,1,0,0,0,1|RightShoulder|1.2499,0.5499,0,1,0,0,0,1,0,0,0,1|RightUpperLeg|-27'
  1094. ..'.6071,1.5,69.2348|-0,0.5,-0.0001|-0,0.5,-0.0001,1,0,0,0,1,0,0,0,1|-0,-0.3,0|RightHip|Sound|LocalSound|Health|UpperTorso|-28.1071,3.2,69.2348|2,1.6,1|-0.0001,-0.4501,0|-0.0001,-0.4501,0,1,0,0,0,1,0,0,0'
  1095. ..',1|NeckRigAttachment|-0.0001,0.7999,0|-0.0001,0.7999,0,1,0,0,0,1,0,0,0,1|-1.2499,0.5499,0|1.2499,0.5499,0|BodyFrontAttachment|-0.0001,-0.2001,-0.5|-0.0001,-0.2001,-0.5,1,0,0,0,1,0,0,0,1|BodyBackAttach'
  1096. ..'ment|-0.0001,-0.2001,0.5|-0.0001,-0.2001,0.5,1,0,0,0,1,0,0,0,1|LeftCollarAttachment|-1,0.8,-0.0001|-1,0.8,-0.0001,1,0,0,0,1,0,0,0,1|RightCollarAttachment|0.9999,0.7999,0|0.9999,0.7999,0,1,0,0,0,1,0,0,'
  1097. ..'0,1|Waist|HumanoidRootPart|-28.1071,2.35,69.2348|2,2,1|Animate|msg|climb|ClimbAnim|http://www.roblox.com/asset/?id=507765644|fall|FallAnim|http://www.roblox.com/asset/?id=507767968|idle|Animation1|htt'
  1098. ..'p://www.roblox.com/asset/?id=507766388|Weight|9|Animation2|http://www.roblox.com/asset/?id=507766666|jump|JumpAnim|http://www.roblox.com/asset/?id=507765000|run|RunAnim|http://www.roblox.com/asset/?id'
  1099. ..'=5077677142|sit|SitAnim|http://www.roblox.com/asset/?id=507768133|swim|Swim|http://www.roblox.com/asset/?id=507784897|swimidle|SwimIdle|http://www.roblox.com/asset/?id=481825862|toolnone|ToolNoneAnim|'
  1100. ..'http://www.roblox.com/asset/?id=507768375|walk|http://www.roblox.com/asset/?id=507777826|Head|-28.1071,4.6,69.2351|2,1,1|0|1.25,1.25,1.25|FaceCenterAttachment|-0.0001,0,-0.0003|0,0,-0.0001|-0.0001,0,-'
  1101. ..'0.0003,1,0,0,-0.0001,1,-0.0001,-0.0001,0,1|FaceFrontAttachment|-0.0001,0,-0.6003|-0.0001,0,-0.6003,1,0,0,-0.0001,1,-0.0001,-0.0001,0,1|HairAttachment|-0.0001,0.6,-0.0003|-0.0001,0.6,-0.0003,1,0,0,-0.0'
  1102. ..'001,1,-0.0001,-0.0001,0,1|HatAttachment|NeckAttachment|-0.0001,-0.6,-0.0003|-0.0001,-0.6,-0.0003,1,0,0,-0.0001,1,-0.0001,-0.0001,0,1|-0.0001,-0.6001,-0.0003|-0.0001,-0.6001,-0.0003,1,0,0,0,1,0,0,0,1|N'
  1103. ..'eck|GettingUp|150|5|rbxasset://sounds/action_get_up.mp3|0.6499|Died|rbxasset://sounds/uuhhh.mp3|FreeFalling|rbxasset://sounds/action_falling.mp3|Jumping|rbxasset://sounds/action_jump.mp3|Landing|rbxas'
  1104. ..'set://sounds/action_jump_land.mp3|Splash|rbxasset://sounds/impact_water.mp3|Running|1.85|rbxasset://sounds/action_footsteps_plastic.mp3|Swimming|1.6|rbxasset://sounds/action_swim.mp3|Climbing|face|htt'
  1105. ..'p://www.roblox.com/asset/?id=10747911|HeadWeld|0,0.5,0,1,0,0,0,1,0,0,0,1|0,0.2,0,1,0,0,0,1,0,0,0,1|2|1.35|13|NerdHair|0,0.2,0|Handle|-28.1071,4.9,69.2351|1,1,1|http://www.roblox.com/asset/?id=29938421'
  1106. ..'|http://www.roblox.com/asset/?id=29938532|5;0,4>8>3,4>9>121,6>8>5,6>9>121,8>8>7,8>9>121,10>8>9,10>9>121,12>8>11,12>9>26,14>8>13,14>9>26,16>8>15,16>9>60,18>8>17,18>9>60,20>8>19,20>9>84,22>8>21,22>9>84,'
  1107. ..'25>8>34,25>9>23,29>8>30,29>9>26,33>8>38,33>9>30,37>8>43,37>9>34,42>8>84,42>9>38,46>8>47,46>9>43,55>8>94,55>9>47,59>8>68,59>9>57,63>8>64,63>9>60,67>8>72,67>9>64,71>8>77,71>9>68,76>8>84,76>9>72,80>8>47,'
  1108. ..'80>9>77,93>8>47,93>9>84,129>8>84,129>9>121,140>8>121,140>9>144;2|1:2;n;2|1:3;n;3|1:4|2:5|3:6|4:7|5:8|6:9|7:10|3:6|3:6;n;4;p;3|1:11|2:5|3:12|4:13|5:14|6:15|7:16|3:12|3:12;n;4;p;3|1:17|2:5|3:12|4:13|5:8'
  1109. ..'|6:18|7:19|3:12|3:12;n;4;p;3|1:20|2:5|3:12|4:13|5:8|6:21|7:19|3:12|3:12;n;4;p;3|1:4|2:5|3:6|4:7|5:8|6:22|7:23|3:6|3:6;n;4;p;3|1:11|2:5|3:12|4:13|5:14|6:22|7:24|3:12|3:12;n;4;p;3|1:4|2:5|3:6|4:7|5:8|6:'
  1110. ..'25|7:23|3:6|3:6;n;4;p;3|1:11|2:5|3:12|4:13|5:14|6:25|10:26|7:24|3:12|3:12;n;4;p;3|1:4|2:5|3:6|4:7|5:8|6:27|10:28|7:29|3:6|3:6;n;4;p;3|1:11|2:5|3:12|4:13|5:14|6:27|10:28|7:30|3:12|3:12;n;4;p;p;3|1:31|3'
  1111. ..':32|5:33|6:34|7:35|11:36|3:32|3:32;n;5|1:37|6:38|12:39;6|1:40|13:41|14:39;p;3|1:42|3:32|5:33|6:43|7:44|11:36|3:32|3:32;n;5|1:45|6:46|12:47;5|1:48|6:49|10:50|15:51|12:52;6|1:53|13:54|14:47;p;3|1:55|3:3'
  1112. ..'2|5:33|6:56|7:57|11:36|3:32|3:32;n;5|1:58|6:59|12:60;5|1:45|6:61|12:54;6|1:62|13:63|14:60;p;3|1:64|3:32|5:33|6:65|7:66|11:36|3:32|3:32;n;5|1:67|6:68|12:69;5|1:37|6:70|12:41;6|1:71|13:72|14:69;p;3|1:73'
  1113. ..'|3:32|5:33|6:74|7:75|11:36|3:32|3:32;n;5|1:76|6:77|12:78;5|1:58|6:79|12:63;5|1:80|6:81|12:82;6|1:83|13:84|14:78;p;3|1:85|3:32|5:33|6:86|7:87|11:36|3:32|3:32;n;5|1:88|6:89|12:90;5|1:67|6:91|12:72;6|1:9'
  1114. ..'2|13:93|14:90;p;3|1:94|3:32|5:33|6:95|7:96|3:32|3:32;n;5|1:97|6:98|12:99;5|1:100|6:101|12:102;5|1:88|6:103|12:93;5|1:104|6:105|12:106;5|1:107|6:108|12:109;5|1:110|6:111|12:112;5|1:113|6:114|12:115;6|1'
  1115. ..':116|14:99;p;7|1:117;3|1:118|3:32|5:33|6:119|7:120|11:36|3:32|3:32;n;5|1:121|6:122|12:123;6|1:124|13:125|14:123;p;3|1:126|3:32|5:33|6:127|7:44|11:36|3:32|3:32;n;5|1:128|6:129|12:130;5|1:131|6:132|10:5'
  1116. ..'0|15:51|12:133;6|1:134|13:135|14:130;p;3|1:136|3:32|5:33|6:137|7:57|11:36|3:32|3:32;n;5|1:138|6:139|12:140;5|1:128|6:141|12:135;6|1:142|13:143|14:140;p;3|1:144|3:32|5:33|6:145|7:66|11:36|3:32|3:32;n;5'
  1117. ..'|1:146|6:147|12:148;5|1:121|6:149|12:125;6|1:150|13:151|14:148;p;3|1:152|3:32|5:33|6:153|7:75|11:36|3:32|3:32;n;5|1:154|6:155|12:156;5|1:138|6:157|12:143;5|1:158|6:159|12:160;6|1:161|13:162|14:156;p;3'
  1118. ..'|1:163|3:32|5:33|6:164|7:87|11:36|3:32|3:32;n;5|1:104|6:165|12:166;5|1:146|6:167|12:151;6|1:168|13:106|14:166;p;7|1:169;n;8|1:170;p;7|1:171;3|1:172|3:32|5:33|6:173|7:174|3:32|3:32;n;5|1:100|6:175|12:1'
  1119. ..'76;5|1:177|6:178|12:179;5|1:76|6:180|12:84;5|1:154|6:181|12:162;5|1:182|6:183|12:184;5|1:185|6:186|12:187;5|1:188|6:189|12:190;5|1:191|6:192|12:193;6|1:194|13:102|14:176;p;1|1:195|5:33|6:196|7:197;n;5'
  1120. ..'|1:97;p;7|1:198;n;9|1:199;9|1:200;n;10|1:201|16:202;p;9|1:203;n;10|1:204|16:205;p;9|1:206;n;10|1:207|16:208;n;11|1:209|17:210;p;10|1:211|16:212;n;11|1:209|17:33;p;p;9|1:213;n;10|1:214|16:215;p;9|1:216'
  1121. ..';n;10|1:217|16:218;p;9|1:219;n;10|1:220|16:221;p;9|1:222;n;10|1:223|16:224;p;9|1:225;n;10|1:226|16:227;p;9|1:228;n;10|1:229|16:230;p;9|1:231;n;10|1:217|16:232;p;p;1|1:233|3:32|5:33|6:234|7:235|18:236|'
  1122. ..'19:236|3:32|3:32;n;12|20:237;5|1:238|6:239|10:240|15:240|12:241;5|1:242|6:243|10:240|15:240|12:244;5|1:245|6:246|10:240|15:240|12:247;5|1:248|6:246|10:240|15:240|12:247;5|1:249|6:250|10:240|15:240|12:'
  1123. ..'251;5|1:177|6:252|12:253;6|1:254|13:179|14:253;13|1:255|21:256|22:257|21:256|23:258|24:259;13|1:260|21:256|22:257|21:256|23:261|24:259;13|1:262|21:256|22:257|25:33|21:256|23:263|24:259;13|1:264|21:256'
  1124. ..'|22:257|21:256|23:265|24:259;13|1:266|21:256|22:257|21:256|23:267|24:259;13|1:268|21:256|22:257|21:256|23:269|24:259;13|1:270|21:256|22:257|25:33|21:256|26:271|23:272|24:259;13|1:273|21:256|22:257|25:'
  1125. ..'33|21:256|26:274|23:275|24:259;13|1:276|21:256|22:257|25:33|21:256|23:272|24:259;14|1:277|27:278;15|1:279|13:280|14:281;p;16|28:282|29:283|30:284;n;7;p;17|1:285|31:281|32:286;n;1|1:287|33:33|6:288|7:2'
  1126. ..'89|11:36|18:236|19:236;n;12|34:290|35:291|36:292;p;p;p;')
  1127. for _,Object in pairs(Objects) do
  1128. Object.Parent = script and script.Parent==workspace and script or workspace
  1129. end
  1130. for _,f in pairs(ActualScripts) do f() end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement