Advertisement
lafur

Untitled

May 23rd, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.80 KB | None | 0 0
  1. -- Converted using Mokiros's Model to Script plugin
  2. -- Converted string size: 15461
  3. local genv={}
  4. local Scripts = {
  5. function() wtime = math.random(5,20)
  6.  
  7. while true do
  8. wait(wtime)
  9. script.Parent.Sound1:play()
  10. wait(wtime)
  11. S2 = script.Parent.Sound2:play()
  12. end
  13. end;
  14. function() local larm = script.Parent:FindFirstChild("Left Arm")
  15. local rarm = script.Parent:FindFirstChild("Right Arm")
  16. sound = script.Parent.Head.Sound3
  17. function findNearestTorso(pos)
  18. local list = game.Workspace:children()
  19. local torso = nil
  20. local dist = 1000
  21. local temp = nil
  22. local human = nil
  23. local temp2 = nil
  24. for x = 1, #list do
  25. temp2 = list[x]
  26. if (temp2.className == "Model") and (temp2 ~= script.Parent) then
  27. temp = temp2:findFirstChild("Torso")
  28. human = temp2:findFirstChild("Humanoid")
  29. if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  30. if (temp.Position - pos).magnitude < dist then
  31. torso = temp
  32. dist = (temp.Position - pos).magnitude
  33. end
  34. end
  35. end
  36. end
  37. return torso
  38. end
  39.  
  40. function Hit(hit)
  41. local human = hit.Parent:FindFirstChild("Humanoid")
  42. if human ~= nil then
  43. human.Health = human.Health -4
  44. sound:play()
  45. end
  46. end
  47.  
  48. larm.Touched:connect(Hit)
  49. rarm.Touched:connect(Hit)
  50.  
  51. while true do
  52. wait(0.1)
  53. local target = findNearestTorso(script.Parent.Torso.Position)
  54. if target ~= nil then
  55. script.Parent.Zombie:MoveTo(target.Position, target)
  56. end
  57. end
  58. end;
  59. function() wait(1)
  60. human = script.Parent:findFirstChild("Humanoid")
  61. if human == nil then human = script.Parent:findFirstChild("Zombie") end
  62.  
  63. if script.Parent.archivable == false then script.Parent.archivable = true end
  64. robo=script.Parent:clone()
  65. robo.Parent = game.Lighting
  66.  
  67. player = game.Players:playerFromCharacter(script.Parent)
  68. if player ~= nil then robo:findFirstChild(script.Name):remove() end
  69.  
  70. while true do
  71. wait(1)
  72. if human.Health<1 then
  73. robot=robo:clone()
  74. robot.Parent=script.Parent.Parent
  75. robot:makeJoints()
  76. wait(.1)
  77. robo:remove()
  78. script.Parent:remove()
  79. end
  80. end
  81.  
  82.  
  83.  
  84. end;
  85. function() --Beta SpeedAI June 2012 -- Still has logic bugs - Look for updates..
  86. -- Kill added.
  87. -- co-operate/other "AI"s
  88. -- Climb "Truss" Parts
  89. -- Offset Ray
  90. -- Swim - Does not work. Don't know why.
  91. -- Adjusted Jump Ray
  92. -- Ray Graphics On/Off - flip line 90
  93. -- Delay next cycle, if Falling.
  94. -- Diagonal movement - I should add right-hand logic as well...
  95.  
  96. local number = 1 + math.random()
  97. local BRAINWave = .6 -- AND line 38: Wait() between cycles of main loop
  98. local hum = nil -- Will be a pointer to the Humanoid of our AI.
  99.  
  100. wait(number) -- hold on a sec. and spread multiple instances.
  101.  
  102. --Globals
  103. local AI = script.Parent
  104. local AIName = AI.Name
  105. local AItorso = AI.Torso
  106.  
  107.  
  108. if true then -- if your torso doesn't have a Humanoid; flip this to false
  109. local HumanoidType = nil -- find-a-HumanoidObject -- make sure
  110.  
  111. local list = AI:GetChildren() -- temp var.
  112. for x = 1, #list do
  113. local temp = list[x]
  114. if (temp.className == "Humanoid") then
  115. HumanoidType = temp.Name
  116. end -- found Humanoid
  117. end -- AI Parts
  118.  
  119. if HumanoidType then
  120. number = math.floor(number*100) -- serial# of AI
  121. hum = AI[HumanoidType]
  122. BRAINWave = 7/hum.WalkSpeed -- For extreme speeds, this may have to be adjusted.
  123. print (script, ": Humanoid = ", hum, AI:GetFullName(), number, "- Think Speed = ", BRAINWave)
  124. end
  125. end -- set speed
  126.  
  127. --Constants;
  128. local RAYLength = 100 -- Not really. A point, off in space.
  129.  
  130. --Declarations
  131. local target = AItorso -- is of type torso
  132. local torsoPos = AItorso.Position
  133. local targpos = target.Position
  134. --local Oldtargpos = targpos
  135.  
  136. local OldPos = torsoPos * 2
  137. local origin = CFrame.new(torsoPos)
  138.  
  139. local Logic = 0
  140. local OldX = 100
  141. local OldZ = 0
  142. local Xdir = 100
  143. local Zdir = 0
  144. local ClimbingLadder = false
  145. local FreeFalling = false
  146. local GraphicsOn = script.GraphicsToggle.Value -- Only set at start
  147.  
  148. --functions
  149.  
  150. -- Are we falling?
  151. hum.FreeFalling:connect(function()
  152. FreeFalling = true
  153. end)
  154.  
  155. -- Find Player (& who else not to find).
  156. function findNearestTorso(pos) -- declare pos a local vector3
  157. local list = game.Workspace:children()
  158. local torso = nil
  159. local dist = 560 -- Area to search
  160. local temp = nil
  161. local human = nil
  162. local temp2 = nil
  163. for x = 1, #list do
  164. temp2 = list[x]
  165. if temp2.className == "Model" then
  166. temp = temp2:findFirstChild("Torso")
  167. if temp ~= nil then
  168. human = temp2:findFirstChild("Humanoid")
  169. if human ~= nil and (human.Health > 0) and (temp2.Name ~= AIName) then -- not named the same as us.
  170. if (temp.Position - pos).magnitude < dist then
  171. torso = temp
  172. dist = (temp.Position - pos).magnitude
  173. end -- closer?
  174. end -- human? Not us.
  175. end -- Has torso?
  176. end -- Model?
  177. end -- For. Loop thru parts in Workplace
  178.  
  179. return torso
  180. end -- findNearest
  181.  
  182.  
  183. function DrawRay(origin, point) -- 7 studs long
  184. local Ray = Ray.new(origin, (point).unit * 7) --Make the ray.
  185. local Hit,Position = game.Workspace:FindPartOnRay(Ray,AI) --Check for collisions along the ray, ignoring any Parts of us.
  186.  
  187. if GraphicsOn then --Graphics
  188. local RayPart = Instance.new("Part",AI)
  189. if Hit then
  190. if Logic == 1 then
  191. RayPart.BrickColor = BrickColor.new("Black") --Set its color.
  192. else
  193. RayPart.BrickColor = BrickColor.new("Bright red") --Set its color.
  194. end
  195. else
  196. if Logic == 1 then
  197. RayPart.BrickColor = BrickColor.new("White") --Set its color.
  198. else
  199. RayPart.BrickColor = BrickColor.new("Olive") --Set its color.
  200. end
  201. end
  202. RayPart.Transparency = 0.2 --Set its transparency.
  203. RayPart.Anchored = true --Set whether it will fall or not.
  204. RayPart.CanCollide = false --Set whether people can walk though it or not.
  205. RayPart.formFactor = Enum.FormFactor.Custom --Make it so it can be small.
  206. local Distance = (Position-origin).magnitude --Find the distance between the hit and the torso.
  207. RayPart.Size = Vector3.new(0.4,.2,Distance) --Set its size to the distance.
  208. RayPart.CFrame = CFrame.new(Position, origin) * CFrame.new(0,0,-Distance/2) --Move it halfway.
  209. game.Debris:AddItem(RayPart,2) --Add it to the debris.
  210. end -- Graphics
  211.  
  212. return Hit
  213. end -- DrawRay
  214.  
  215.  
  216. function FireRayToward() -- possible path, and read the Part we hit, if any.
  217. ClimbingLadder = false
  218.  
  219. local originPrime = origin * Vector3.new(.8,0,0) - Vector3.new(0,.4,0) -- Offset Right + OffY
  220. local offset = origin * Vector3.new(.8,0,0) - origin * Vector3.new(-.8,0,0) -- left (I guess this is increment. I didn't WANT to do it this way)
  221. local point = origin.lookVector * 7 -- dir
  222. local pointPrime = point - offset + Vector3.new(0,2,0) -- dir + OffsetLeft + OffsetY = direction of Ray
  223.  
  224. local Hit = DrawRay(originPrime, pointPrime) -- see if we hit anything
  225.  
  226. if Hit then
  227.  
  228. if target.Parent == Hit.Parent then
  229. -- AI.Head:BreakJoints()
  230. if Hit.Name ~= "Head" and Hit.Name ~= "Torso" then
  231.  
  232. else
  233. Hit.Parent.Humanoid:TakeDamage(10)
  234. end -- kill
  235.  
  236. Logic = 0
  237. Hit = nil
  238.  
  239. elseif Hit.Parent.Name == AIName then
  240. -- if Xdir > 0 then -- if going ?North? then ignore, else (?South?); Jump
  241. -- Hit = nil -- ignore
  242. -- elseif Xdir == 0 then -- else swerve (only while in logic).
  243. if Xdir == 0 then
  244. Hit = Aitorso-- this should result in Hit = true-but-don't-attemp-a-jump, so swerve; doesn't check floor!
  245. -- return hit -- Swerve, without checking to jump.
  246. elseif Hit.Velocity.y > 1 then
  247. Hit = nil -- ignore, if other AI is already jumping; else check to Jump
  248. end -- East -West collisions - swerve. North/South, check-to-jump.
  249. end -- endifs
  250. end -- read hit
  251.  
  252. -- Climb or Jump
  253. if Hit and Hit ~= AItorso then
  254.  
  255. if (Hit.Name == "Truss" and target.Position.y > torsoPos.y - 3) or target.Parent == Hit.Parent then -- ignore parts called "Ladder", if AI is level or below CURRENT Targ pos.
  256. Hit = nil
  257. ClimbingLadder = true -- Climb and don't check floor
  258.  
  259. else
  260. --print(Hit, Hit.Name)
  261. if Hit.Name == "Terrain" or Hit.CanCollide == false then -- In front is Water or a steep hill made of Terrain.
  262. Hit = nil -- swim or climb, or Ray hit a Non-colliding Part; and don't check for floor. This will not do, as we do not get a Hit when under-water, so we will check for floor. We must check Swimming event.
  263. else -- Jump?
  264. Hit = DrawRay(originPrime + Vector3.new(0,4.8,0), pointPrime)
  265. if Hit == nil then -- (Does NOT check CanCollide of Part blocking Jump)
  266. hum.Jump = true -- we do NOT check for "Floor", if jumping, but it might be a good idea.
  267. end -- Room to jump?
  268. end --Terrain? Water?
  269. end -- Ladder?
  270.  
  271. else -- path is clear. Check for cliff... or OK to drop
  272.  
  273. local Level = torsoPos.y
  274. if target then
  275. Level = target.Position.y -- get Target's current position.
  276. else -- Target is dead. Abandon all logic...
  277. Logic = 0 -- but still check for floor
  278. end
  279.  
  280. if torsoPos.y - 2 < Level then -- if Player is not well below us...
  281.  
  282. Hit = DrawRay(torsoPos + point * .8 + Vector3.new(0,1,0), Vector3.new(0,-7,0)) -- check for floor 85% of dir ahead
  283. if Hit == nil then -- There is no floor
  284. Hit = true -- Force a hit; we may not be able to get back up here.
  285.  
  286. else
  287. Hit = nil -- Force a false to hit, 'cause everything is OK. (Does NOT check CanCollide of Floor!)
  288. end -- cliff check
  289. end -- Player Hieght
  290. end -- path ok?
  291. return Hit
  292. end -- FireRayToward
  293.  
  294.  
  295. function FireAtPlayer()
  296. origin = CFrame.new(torsoPos, Vector3.new(targpos.x, torsoPos.y, targpos.z)) -- This contains Origin & Direction
  297. local hit = FireRayToward()
  298. return hit
  299. end
  300.  
  301. function FireRayAhead()
  302. origin = CFrame.new(torsoPos, torsoPos + Vector3.new(Xdir, 0, Zdir))
  303. local hit = FireRayToward()
  304. targpos = torsoPos + Vector3.new(Xdir,0,Zdir)
  305. return hit
  306. end
  307.  
  308. function FireRay() -- Fire Ahead and diagonaly
  309. origin = CFrame.new(torsoPos, torsoPos + Vector3.new(Xdag, 0, Zdag))
  310. local hit = FireRayToward()
  311. if hit then
  312. origin = CFrame.new(torsoPos, torsoPos + Vector3.new(Xdir, 0, Zdir))
  313. hit = FireRayToward()
  314. if not hit then
  315. targpos = torsoPos + Vector3.new(Xdir,0,Zdir)
  316. end
  317. else
  318. targpos = torsoPos + Vector3.new(Xdag,0,Zdag)
  319. end
  320. return hit
  321. end -- Fire Ray
  322.  
  323. function FireDag()
  324. origin = CFrame.new(torsoPos, torsoPos + Vector3.new(Xdag, 0, Zdag))
  325. local hit = FireRayToward()
  326. return hit
  327. end -- Fire Diagonaly
  328.  
  329.  
  330. function TurnRight()
  331.  
  332. if Xdir == 0 then
  333. Xdir = -Zdir
  334. Zdir = 0
  335. else
  336. Zdir = Xdir
  337. Xdir = 0
  338. end
  339. if Xdag == Zdag then Xdag = -Xdag else Zdag = -Zdag end
  340.  
  341. end -- Left
  342.  
  343. function TurnLeft()
  344. if Xdir == 0 then
  345. Xdir = Zdir
  346. Zdir = 0
  347. else
  348. Zdir = -Xdir
  349. Xdir = 0
  350. end
  351.  
  352. if Xdag == Zdag then Zdag = -Zdag else Xdag = -Xdag end
  353.  
  354. end -- Left
  355.  
  356.  
  357. function GetDir()
  358. Xdir = (targpos.x - torsoPos.x) -- Which way are we going?
  359. Zdir = (targpos.z - torsoPos.z)
  360.  
  361. -- if Zdir < 0 then -- Get closest 45 degree angle. Diagonal.
  362. -- Zdag = -RAYLength
  363. -- else
  364. -- Zdag = RAYLength
  365. -- end
  366. -- if Xdir < 0 then
  367. -- Xdag = -RAYLength
  368. -- else
  369. -- Xdag = RAYLength
  370. -- end
  371.  
  372. if math.abs(Xdir) > math.abs(Zdir) then -- Ordinal.
  373. if Xdir < 0 then
  374. Xdir = -RAYLength
  375. -- convert to our direction indicator.
  376. else
  377. Xdir = RAYLength
  378. end
  379. Zdag = Xdir -- Diagonal Right.
  380. Xdag = Xdir
  381. Zdir = 0
  382. else -- abs
  383. if Zdir < 0 then
  384. Zdir = -RAYLength
  385. else
  386. Zdir = RAYLength
  387. end
  388. Zdag = Zdir
  389. Xdag = -Zdir
  390. Xdir = 0
  391. end -- abs
  392. end -- GetDir
  393.  
  394.  
  395. while AItorso do -- while I still have a body; search.
  396. torsoPos = AItorso.Position
  397. local targ = Workspace.Terrain -- Temp targ
  398. local Distance =(torsoPos - OldPos).magnitude -- Distance traveled, since last loop
  399. --local Distance =10
  400. if target == nil then Logic = 0
  401. -- Distance = 10
  402. end -- Player died.
  403.  
  404.  
  405. if Logic == 0 then -- Defalt logic
  406.  
  407. target = findNearestTorso(torsoPos) --- target is some Player. FindNearest and get xdir, ydir.
  408.  
  409. if target ~= nil then
  410. targ = target
  411. -- if ClimbingLadder and Distance >= 1 then
  412. -- targpos = torsoPos + AItorso.CFrame.lookVector * 9
  413. -- else
  414. targpos = target.Position
  415. -- end
  416.  
  417. if Distance < 1 and (torsoPos - targpos).magnitude > 4 then -- Check if we are stuck.
  418. GetDir()
  419. OldX = Xdir -- Goal direction.
  420. OldZ = Zdir
  421.  
  422. Logic = 1 -- Impeded
  423.  
  424. else
  425. if FireAtPlayer() then -- hit
  426.  
  427. GetDir()
  428. OldX = Xdir -- Goal direction.
  429. OldZ = Zdir
  430.  
  431. if FireDag() then
  432. Logic = 1 -- Go Left; Look Right.
  433. ClimbingLadder = true -- first time thru logic 1 indicator
  434. else
  435. targpos = torsoPos + Vector3.new(Xdag,0,Zdag) -- go Right
  436.  
  437. end -- dagRight
  438. end -- hit?
  439. end -- impeded?
  440. else
  441. print(AIName, number, ": No target. - ", target)
  442. -- torsoPos = torsoPos * 2 -- Turn Impeded?, off
  443. -- Distance = 10
  444. end -- if no target?
  445. end -- Logic 0
  446.  
  447.  
  448. -- 1 - Look Right or Go left
  449. if Logic == 1 then
  450.  
  451. if Distance >= 1 then
  452. if ClimbingLadder == false then -- or target.Position.y < torsoPos.y + 4 then
  453. TurnRight()
  454. end -- else go straight or go up
  455. else
  456. TurnLeft()
  457. end
  458.  
  459. if FireRayAhead() then -- Check straight first. (And Diagonaly left)
  460. TurnLeft()
  461. if FireRay() then -- Check left (And Diagonaly left & back)
  462. TurnLeft()
  463. if FireRay() then
  464. TurnLeft()
  465. if FireRay() then
  466. targpos = torsoPos + Vector3.new(Xdir,0,Zdir)
  467. hum.Jump = true
  468. end -- right
  469. end -- Back
  470. end -- Left
  471. else -- If succesful Ahead then... (We only check RightTurns for a get-out-of-jail-Free card)
  472.  
  473. if Xdir == OldX and OldZ == Zdir then -- Gracefully exiting Logic 1
  474. Logic = 0
  475. end -- check Goal dir?
  476. end -- Ahead
  477. end -- Logic 1
  478.  
  479. -- go
  480. OldPos = torsoPos
  481. hum:MoveTo(targpos, targ) -- MoveToward Target
  482.  
  483. --wait
  484. wait(BRAINWave)
  485.  
  486. while FreeFalling do
  487. FreeFalling = false
  488. wait(.2)
  489. end
  490.  
  491. end -- Main
  492. end;
  493. function() -- Enemy by RangeMeludE --
  494.  
  495. function waitForChild(parent, childName)
  496. while true do
  497. local child = parent:findFirstChild(childName)
  498. if child then
  499. return child
  500. end
  501. parent.ChildAdded:wait()
  502. end
  503. end
  504.  
  505.  
  506. ----------------------------- TEAM COLORS
  507.  
  508.  
  509. ----------------------------- ANIMATION
  510.  
  511. -- declarations
  512.  
  513. local Figure = script.Parent
  514. local Torso = waitForChild(Figure, "Torso")
  515. local RightShoulder = waitForChild(Torso, "Right Shoulder")
  516. local LeftShoulder = waitForChild(Torso, "Left Shoulder")
  517. local RightHip = waitForChild(Torso, "Right Hip")
  518. local LeftHip = waitForChild(Torso, "Left Hip")
  519. local Neck = waitForChild(Torso, "Neck")
  520.  
  521. local Humanoid = nil -- Hack to Animate a Humanoid, no mateer what Humanoid is .Named.
  522. if true then
  523. local list = Figure:GetChildren() -- temp var.
  524. for x = 1, #list do
  525. local temp = list[x]
  526. if (temp.className == "Humanoid") then
  527. Humanoid = temp.Name
  528. end -- found Humanoid
  529. end -- Parts
  530. end -- Discard list
  531. local Humanoid = Figure[Humanoid]
  532.  
  533. --local Humanoid = waitForChild(Figure, "Humanoid")
  534.  
  535. local pose = "Standing"
  536.  
  537. local toolAnim = "None"
  538. local toolAnimTime = 0
  539.  
  540. local isSeated = false
  541.  
  542. -- functions
  543.  
  544. function onRunning(speed)
  545. if isSeated then return end
  546.  
  547. if speed>0 then
  548. pose = "Running"
  549. else
  550. pose = "Standing"
  551. end
  552. end
  553.  
  554. function onDied()
  555. pose = "Dead"
  556. end
  557.  
  558. function onJumping()
  559. isSeated = false
  560. pose = "Jumping"
  561. end
  562.  
  563. function onClimbing()
  564. pose = "Climbing"
  565. end
  566.  
  567. function onGettingUp()
  568. pose = "GettingUp"
  569. end
  570.  
  571. function onFreeFall()
  572. pose = "FreeFall"
  573. end
  574.  
  575. function onFallingDown()
  576. pose = "FallingDown"
  577. end
  578.  
  579. function onSeated()
  580. isSeated = true
  581. pose = "Seated"
  582. print("Seated")
  583. end
  584.  
  585.  
  586.  
  587. function moveJump()
  588. RightShoulder.MaxVelocity = 0.5
  589. LeftShoulder.MaxVelocity = 0.5
  590. RightShoulder.DesiredAngle = 3.14
  591. LeftShoulder.DesiredAngle = -3.14
  592. RightHip.DesiredAngle = 0
  593. LeftHip.DesiredAngle = 0
  594. end
  595.  
  596. function moveFreeFall()
  597. RightShoulder.MaxVelocity = 0.5
  598. LeftShoulder.MaxVelocity = 0.5
  599. RightShoulder.DesiredAngle = 1
  600. LeftShoulder.DesiredAngle = -1
  601. RightHip.DesiredAngle = 0
  602. LeftHip.DesiredAngle = 0
  603. end
  604.  
  605.  
  606. function moveClimb()
  607. RightShoulder.MaxVelocity = 0.5
  608. LeftShoulder.MaxVelocity = 0.5
  609. RightShoulder.DesiredAngle = -3.14
  610. LeftShoulder.DesiredAngle = 3.14
  611. RightHip.DesiredAngle = 0
  612. LeftHip.DesiredAngle = 0
  613. end
  614.  
  615. function moveSit()
  616. print("Move Sit")
  617. RightShoulder.MaxVelocity = 0.15
  618. LeftShoulder.MaxVelocity = 0.15
  619. RightShoulder.DesiredAngle = 3.14 /2
  620. LeftShoulder.DesiredAngle = -3.14 /2
  621. RightHip.DesiredAngle = 3.14 /2
  622. LeftHip.DesiredAngle = -3.14 /2
  623. end
  624.  
  625. function getTool()
  626.  
  627. kidTable = Figure:children()
  628. if (kidTable ~= nil) then
  629. numKids = #kidTable
  630. for i=1,numKids do
  631. if (kidTable[i].className == "Tool") then return kidTable[i] end
  632. end
  633. end
  634.  
  635. return nil
  636. end
  637.  
  638. function getToolAnim(tool)
  639.  
  640. c = tool:children()
  641. for i=1,#c do
  642. if (c[i].Name == "toolanim" and c[i].className == "StringValue") then
  643. return c[i]
  644. end
  645. end
  646. return nil
  647. end
  648.  
  649. function animateTool()
  650.  
  651. if (toolAnim == "None") then
  652. RightShoulder.DesiredAngle = 1.57
  653. return
  654. end
  655.  
  656. if (toolAnim == "Slash") then
  657. RightShoulder.MaxVelocity = 0.5
  658. RightShoulder.DesiredAngle = 0
  659. return
  660. end
  661.  
  662. if (toolAnim == "Lunge") then
  663. RightShoulder.MaxVelocity = 0.5
  664. LeftShoulder.MaxVelocity = 0.5
  665. RightHip.MaxVelocity = 0.5
  666. LeftHip.MaxVelocity = 0.5
  667. RightShoulder.DesiredAngle = 1.57
  668. LeftShoulder.DesiredAngle = 1.0
  669. RightHip.DesiredAngle = 1.57
  670. LeftHip.DesiredAngle = 1.0
  671. return
  672. end
  673. end
  674.  
  675. function move(time)
  676. local amplitude
  677. local frequency
  678.  
  679. if (pose == "Jumping") then
  680. moveJump()
  681. return
  682. end
  683.  
  684. if (pose == "FreeFall") then
  685. moveFreeFall()
  686. return
  687. end
  688.  
  689. if (pose == "Climbing") then
  690. moveClimb()
  691. return
  692. end
  693.  
  694. if (pose == "Seated") then
  695. moveSit()
  696. return
  697. end
  698.  
  699.  
  700. RightShoulder.MaxVelocity = 0.15
  701. LeftShoulder.MaxVelocity = 0.15
  702. if (pose == "Running") then
  703. amplitude = 1
  704. frequency = 9
  705. else
  706. amplitude = 0.1
  707. frequency = 1
  708. end
  709.  
  710. desiredAngle = amplitude * math.sin(time*frequency)
  711.  
  712. RightShoulder.DesiredAngle = desiredAngle
  713. LeftShoulder.DesiredAngle = desiredAngle
  714. RightHip.DesiredAngle = -desiredAngle/4
  715. LeftHip.DesiredAngle = -desiredAngle/4
  716.  
  717.  
  718. local tool = getTool()
  719.  
  720. if tool ~= nil then
  721.  
  722. animStringValueObject = getToolAnim(tool)
  723.  
  724. if animStringValueObject ~= nil then
  725. toolAnim = animStringValueObject.Value
  726. -- message recieved, delete StringValue
  727. animStringValueObject.Parent = nil
  728. toolAnimTime = time + .3
  729. end
  730.  
  731. if time > toolAnimTime then
  732. toolAnimTime = 0
  733. toolAnim = "None"
  734. end
  735.  
  736. animateTool()
  737.  
  738.  
  739. else
  740. toolAnim = "None"
  741. toolAnimTime = 0
  742. end
  743. end
  744.  
  745.  
  746. -- connect events
  747.  
  748. Humanoid.Died:connect(onDied)
  749. Humanoid.Running:connect(onRunning)
  750. Humanoid.Jumping:connect(onJumping)
  751. Humanoid.Climbing:connect(onClimbing)
  752. Humanoid.GettingUp:connect(onGettingUp)
  753. Humanoid.FreeFalling:connect(onFreeFall)
  754. Humanoid.FallingDown:connect(onFallingDown)
  755. Humanoid.Seated:connect(onSeated)
  756.  
  757. -- main program
  758.  
  759. local nextTime = 0
  760. local runService = game:service("RunService");
  761.  
  762. while Figure.Parent~=nil do
  763. time = runService.Stepped:wait()
  764. if time > nextTime then
  765. move(time)
  766. nextTime = time + .1
  767. end
  768. end
  769. end;
  770. function() -- Created by Quenty (@Quenty, follow me on twitter).
  771. -- Should work with only ONE copy, seamlessly with weapons, trains, et cetera.
  772. -- Parts should be ANCHORED before use. It will, however, store relatives values and so when tools are reparented, it'll fix them.
  773.  
  774. --[[ INSTRUCTIONS
  775. - Place in the model
  776. - Make sure model is anchored
  777. - That's it. It will weld the model and all children.
  778.  
  779. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  780. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  781. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  782. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  783. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  784. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  785. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  786. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  787.  
  788. This script is designed to be used is a regular script. In a local script it will weld, but it will not attempt to handle ancestory changes.
  789. ]]
  790.  
  791. --[[ DOCUMENTATION
  792. - Will work in tools. If ran more than once it will not create more than one weld. This is especially useful for tools that are dropped and then picked up again.
  793. - Will work in PBS servers
  794. - Will work as long as it starts out with the part anchored
  795. - Stores the relative CFrame as a CFrame value
  796. - Takes careful measure to reduce lag by not having a joint set off or affected by the parts offset from origin
  797. - Utilizes a recursive algorith to find all parts in the model
  798. - Will reweld on script reparent if the script is initially parented to a tool.
  799. - Welds as fast as possible
  800. ]]
  801.  
  802. -- qPerfectionWeld.lua
  803. -- Created 10/6/2014
  804. -- Author: Quenty
  805. -- Version 1.0.3
  806.  
  807. -- Updated 10/14/2014 - Updated to 1.0.1
  808. --- Bug fix with existing ROBLOX welds ? Repro by asimo3089
  809.  
  810. -- Updated 10/14/2014 - Updated to 1.0.2
  811. --- Fixed bug fix.
  812.  
  813. -- Updated 10/14/2014 - Updated to 1.0.3
  814. --- Now handles joints semi-acceptably. May be rather hacky with some joints. :/
  815.  
  816. local NEVER_BREAK_JOINTS = false -- If you set this to true it will never break joints (this can create some welding issues, but can save stuff like hinges).
  817.  
  818.  
  819. local function CallOnChildren(Instance, FunctionToCall)
  820. -- Calls a function on each of the children of a certain object, using recursion.
  821.  
  822. FunctionToCall(Instance)
  823.  
  824. for _, Child in next, Instance:GetChildren() do
  825. CallOnChildren(Child, FunctionToCall)
  826. end
  827. end
  828.  
  829. local function GetNearestParent(Instance, ClassName)
  830. -- Returns the nearest parent of a certain class, or returns nil
  831.  
  832. local Ancestor = Instance
  833. repeat
  834. Ancestor = Ancestor.Parent
  835. if Ancestor == nil then
  836. return nil
  837. end
  838. until Ancestor:IsA(ClassName)
  839.  
  840. return Ancestor
  841. end
  842.  
  843. local function GetBricks(StartInstance)
  844. local List = {}
  845.  
  846. -- if StartInstance:IsA("BasePart") then
  847. -- List[#List+1] = StartInstance
  848. -- end
  849.  
  850. CallOnChildren(StartInstance, function(Item)
  851. if Item:IsA("BasePart") then
  852. List[#List+1] = Item;
  853. end
  854. end)
  855.  
  856. return List
  857. end
  858.  
  859. local function Modify(Instance, Values)
  860. -- Modifies an Instance by using a table.
  861.  
  862. assert(type(Values) == "table", "Values is not a table");
  863.  
  864. for Index, Value in next, Values do
  865. if type(Index) == "number" then
  866. Value.Parent = Instance
  867. else
  868. Instance[Index] = Value
  869. end
  870. end
  871. return Instance
  872. end
  873.  
  874. local function Make(ClassType, Properties)
  875. -- Using a syntax hack to create a nice way to Make new items.
  876.  
  877. return Modify(Instance.new(ClassType), Properties)
  878. end
  879.  
  880. local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
  881. local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}
  882.  
  883. local function HasWheelJoint(Part)
  884. for _, SurfaceName in pairs(Surfaces) do
  885. for _, HingSurfaceName in pairs(HingSurfaces) do
  886. if Part[SurfaceName].Name == HingSurfaceName then
  887. return true
  888. end
  889. end
  890. end
  891.  
  892. return false
  893. end
  894.  
  895. local function ShouldBreakJoints(Part)
  896. --- We do not want to break joints of wheels/hinges. This takes the utmost care to not do this. There are
  897. -- definitely some edge cases.
  898.  
  899. if NEVER_BREAK_JOINTS then
  900. return false
  901. end
  902.  
  903. if HasWheelJoint(Part) then
  904. return false
  905. end
  906.  
  907. local Connected = Part:GetConnectedParts()
  908.  
  909. if #Connected == 1 then
  910. return false
  911. end
  912.  
  913. for _, Item in pairs(Connected) do
  914. if HasWheelJoint(Item) then
  915. return false
  916. elseif not Item:IsDescendantOf(script.Parent) then
  917. return false
  918. end
  919. end
  920.  
  921. return true
  922. end
  923.  
  924. local function WeldTogether(Part0, Part1, JointType, WeldParent)
  925. --- Weld's 2 parts together
  926. -- @param Part0 The first part
  927. -- @param Part1 The second part (Dependent part most of the time).
  928. -- @param [JointType] The type of joint. Defaults to weld.
  929. -- @param [WeldParent] Parent of the weld, Defaults to Part0 (so GC is better).
  930. -- @return The weld created.
  931.  
  932. JointType = JointType or "Weld"
  933. local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
  934.  
  935. local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
  936. Modify(NewWeld, {
  937. Name = "qCFrameWeldThingy";
  938. Part0 = Part0;
  939. Part1 = Part1;
  940. C0 = CFrame.new();--Part0.CFrame:inverse();
  941. C1 = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
  942. Parent = Part1;
  943. })
  944.  
  945. if not RelativeValue then
  946. RelativeValue = Make("CFrameValue", {
  947. Parent = Part1;
  948. Name = "qRelativeCFrameWeldValue";
  949. Archivable = true;
  950. Value = NewWeld.C1;
  951. })
  952. end
  953.  
  954. return NewWeld
  955. end
  956.  
  957. local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)
  958. -- @param Parts The Parts to weld. Should be anchored to prevent really horrible results.
  959. -- @param MainPart The part to weld the model to (can be in the model).
  960. -- @param [JointType] The type of joint. Defaults to weld.
  961. -- @parm DoNotUnanchor Boolean, if true, will not unachor the model after cmopletion.
  962.  
  963. for _, Part in pairs(Parts) do
  964. if ShouldBreakJoints(Part) then
  965. Part:BreakJoints()
  966. end
  967. end
  968.  
  969. for _, Part in pairs(Parts) do
  970. if Part ~= MainPart then
  971. WeldTogether(MainPart, Part, JointType, MainPart)
  972. end
  973. end
  974.  
  975. if not DoNotUnanchor then
  976. for _, Part in pairs(Parts) do
  977. Part.Anchored = false
  978. end
  979. MainPart.Anchored = false
  980. end
  981. end
  982.  
  983. local function PerfectionWeld()
  984. local Tool = GetNearestParent(script, "Tool")
  985.  
  986. local Parts = GetBricks(script.Parent)
  987. local PrimaryPart = Tool and Tool:FindFirstChild("Handle") and Tool.Handle:IsA("BasePart") and Tool.Handle or script.Parent:IsA("Model") and script.Parent.PrimaryPart or Parts[1]
  988.  
  989. if PrimaryPart then
  990. WeldParts(Parts, PrimaryPart, "Weld", false)
  991. else
  992. warn("qWeld - Unable to weld part")
  993. end
  994.  
  995. return Tool
  996. end
  997.  
  998. local Tool = PerfectionWeld()
  999.  
  1000.  
  1001. if Tool and script.ClassName == "Script" then
  1002. --- Don't bother with local scripts
  1003.  
  1004. script.Parent.AncestryChanged:connect(function()
  1005. PerfectionWeld()
  1006. end)
  1007. end
  1008.  
  1009. -- Created by Quenty (@Quenty, follow me on twitter).
  1010. end;}local ActualScripts = {}
  1011. function s(var)
  1012. local func = table.remove(Scripts,1)
  1013. setfenv(func,setmetatable({script=var,require=fake_require or require,global=genv},{
  1014. __index = getfenv(func),
  1015. }))
  1016. table.insert(ActualScripts,coroutine.wrap(func))
  1017. end
  1018. Decode = function(str,t,props,classes,values,ICList,Model,CurPar,LastIns,split,RemoveAndSplit,InstanceList)
  1019. local tonum,table_remove,inst,parnt,comma,table_foreach = tonumber,table.remove,Instance.new,"Parent",",",
  1020. function(t,f)
  1021. for a,b in pairs(t) do
  1022. f(a,b)
  1023. end
  1024. end
  1025. local Types = {
  1026. Color3 = Color3.new,
  1027. Vector3 = Vector3.new,
  1028. Vector2 = Vector2.new,
  1029. UDim = UDim.new,
  1030. UDim2 = UDim2.new,
  1031. CFrame = CFrame.new,
  1032. Rect = Rect.new,
  1033. NumberRange = NumberRange.new,
  1034. BrickColor = BrickColor.new,
  1035. PhysicalProperties = PhysicalProperties.new,
  1036. NumberSequence = function(...)
  1037. local a = {...}
  1038. local t = {}
  1039. repeat
  1040. t[#t+1] = NumberSequenceKeypoint.new(table_remove(a,1),table_remove(a,1),table_remove(a,1))
  1041. until #a==0
  1042. return NumberSequence.new(t)
  1043. end,
  1044. ColorSequence = function(...)
  1045. local a = {...}
  1046. local t = {}
  1047. repeat
  1048. t[#t+1] = ColorSequenceKeypoint.new(table_remove(a,1),Color3.new(table_remove(a,1),table_remove(a,1),table_remove(a,1)))
  1049. until #a==0
  1050. return ColorSequence.new(t)
  1051. end,
  1052. number = tonumber,
  1053. boolean = function(a)
  1054. return a=="1"
  1055. end
  1056. }
  1057. split = function(str,sep)
  1058. if not str then return end
  1059. local fields = {}
  1060. local ConcatNext = false
  1061. str:gsub(("([^%s]+)"):format(sep),function(c)
  1062. if ConcatNext == true then
  1063. fields[#fields] = fields[#fields]..sep..c
  1064. ConcatNext = false
  1065. else
  1066. fields[#fields+1] = c
  1067. end
  1068. if c:sub(#c)=="\\" then
  1069. c = fields[#fields]
  1070. fields[#fields] = c:sub(1,#c-1)
  1071. ConcatNext = true
  1072. end
  1073. end)
  1074. return fields
  1075. end
  1076. RemoveAndSplit = function(t)
  1077. return split(table_remove(t,1),comma)
  1078. end
  1079. t = split(str,";")
  1080. props = RemoveAndSplit(t)
  1081. classes = RemoveAndSplit(t)
  1082. values = split(table_remove(t,1),'|')
  1083. ICList = RemoveAndSplit(t)
  1084. InstanceList = {}
  1085. Model = inst"Model"
  1086. CurPar = Model
  1087. table_foreach(t,function(ct,c)
  1088. if c=="n" or c=="p" then
  1089. CurPar = c=="n" and LastIns or CurPar[parnt]
  1090. else
  1091. ct = split(c,"|")
  1092. local class = classes[tonum(table_remove(ct,1))]
  1093. if class=="UnionOperation" then
  1094. LastIns = {UsePartColor="1"}
  1095. else
  1096. LastIns = inst(class)
  1097. if LastIns:IsA"Script" then
  1098. s(LastIns)
  1099. elseif LastIns:IsA("ModuleScript") then
  1100. ms(LastIns)
  1101. end
  1102. end
  1103.  
  1104. local function SetProperty(LastIns,p,str,s)
  1105. s = Types[typeof(LastIns[p])]
  1106. if p=="CustomPhysicalProperties" then
  1107. s = PhysicalProperties.new
  1108. end
  1109. if s then
  1110. LastIns[p] = s(unpack(split(str,comma)))
  1111. else
  1112. LastIns[p] = str
  1113. end
  1114. end
  1115.  
  1116. local UnionData
  1117. table_foreach(ct,function(s,p,a,str)
  1118. a = p:find":"
  1119. p,str = props[tonum(p:sub(1,a-1))],values[tonum(p:sub(a+1))]
  1120. if p=="UnionData" then
  1121. UnionData = split(str," ")
  1122. return
  1123. end
  1124. if class=="UnionOperation" then
  1125. LastIns[p] = str
  1126. return
  1127. end
  1128. SetProperty(LastIns,p,str)
  1129. end)
  1130.  
  1131. if UnionData then
  1132. local LI_Data = LastIns
  1133. LastIns = DecodeUnion(UnionData)
  1134. table_foreach(LI_Data,function(p,str)
  1135. SetProperty(LastIns,p,str)
  1136. end)
  1137. end
  1138. table.insert(InstanceList,LastIns)
  1139. LastIns[parnt] = CurPar
  1140. end
  1141. end)
  1142. table_remove(ICList,1)
  1143. table_foreach(ICList,function(a,b)
  1144. b = split(b,">")
  1145. InstanceList[tonum(b[1])][props[tonum(b[2])]] = InstanceList[tonum(b[3])]
  1146. end)
  1147.  
  1148. return Model:GetChildren()
  1149. end
  1150.  
  1151. local Objects = Decode('Name,PrimaryPart,CustomPhysicalProperties,Color,Transparency,Position,Orientation,Velocity,Size,TopSurface,Scale,SoundId,Volume,LeftSurface,RightSurface,MaxVelocity,C0,C1,Part0,Part1,DesiredAngle,CanC'
  1152. ..'ollide,BottomSurface,NameOcclusion,Health,MaxHealth,WalkSpeed,Anchored,Material,MeshId,MeshType,BackSurface,FrontSurface,Reflectance,TextureId,VertexColor,Texture,Face,Shape;Part,Model,SpecialMesh,Scr'
  1153. ..'ipt,Sound,Motor,Weld,Humanoid,BoolValue,Decal,CylinderMesh;Part|Allosaurus|Head|0.6999,0,0.5,1,1|0.3568,0.3647,0.4117|1|13.4643,1.7685,50.2597|0,-95.25,0|-10.0613,-0.0011,8.0146|0.7859,0.3929,0.3929|0'
  1154. ..'|1.25,1.25,1.25|Sound2|rbxassetid://284340475|Sound3|rbxassetid://1099690763|Sound1|Torso|13.4644,1.179,50.2597|-10.0614,-0.0011,8.0154|0.7859,0.7859,0.3929|2|Right Shoulder|0.15|-0.786,0.1964,0,0,0,1'
  1155. ..',0,1,-0,-1,0,0|-0.1965,0.1964,0,0,0,1,0,1,-0,-1,0,0|-0.5989|Left Shoulder|0.7859,0.1964,0,0,0,-1,0,1,0,1,0,0|0.1964,0.1964,0,0,0,-1,0,1,0,1,0,0|Right Hip|0.1|0.3929,-0.393,0,0,0,1,0,1,-0,-1,0,0|0.1964'
  1156. ..',0.3929,0,0,0,1,0,1,-0,-1,0,0|0.1497|Left Hip|-0.393,-0.393,0,0,0,-1,0,1,0,1,0,0|-0.1965,0.3929,0,0,0,-1,0,1,0,1,0,0|Neck|0,0.3929,0,-1,0,0,0,0,1,0,1,-0|0,-0.1965,0,-1,0,0,0,0,1,0,1,-0|Left Arm|13.518'
  1157. ..'3,1.179,49.6727|-0.9075,-0.0011,8.8568|0.3929,0.7859,0.3929|0|Right Arm|13.4104,1.179,50.8467|-19.2152,-0.0011,7.174|Left Leg|13.4824,0.393,50.064|-7.0102,-0.0011,8.2969|Right Leg|13.4465,0.393,50.455'
  1158. ..'4|-13.1127,-0.0011,7.736|400|30|Respawn|AIScript|GraphicsToggle|AnimateAny|Arm1|Middle|0.2908,0.5816,0.2908|0,0,0,0,0,-1,0,0.9999,-0.0001,0.9999,0,-0.0001|Arm2|Chest|0.1058,0.1647,0.2078|14.4017,1.729'
  1159. ..'2,50.3284|0,180,30|0.7899,0.3929,0.448|neck|1312|14.1449,1.6485,50.3296|25.52,85.05,-179.1301|-37.0621,-0.0011,5.2401|0.5816,0.1163,0.2908|EggMesh3|0.1744,0.2908,0.2326|http://www.roblox.com/asset/?id'
  1160. ..'=1527559|5|tail|12.7479,1.3926,50.1967|88.43,-125.42,-30.0901|18.3674,-0.0011,10.5149|0.5816,0.5816,0.2908|0.1454,0.8724,0.1454|13.9728,0.912,50.1246|-0.7901,174.6699,91.36|-30.2326,-0.0011,13.3735|0.'
  1161. ..'2908,0.1163,0.2908|0.0581,0.2035,0.0872|13.8564,1.089,50.1144|-55.0401,83.54,1.3799|0.1163,0.0872,0.2035|14.1516,0.7269,50.1498|-0.77,174.6699,-139.75|-37.3243,-0.0011,12.374|0.2908,0.1163,0.5816|0.05'
  1162. ..'81,0.1163,0.0872|13.9367,0.9174,50.5122|-28.7974,-0.0011,-2.0033|Handle|0.4|14.0202,0.5664,50.5134|60.06,-97.1201,-91.56|-32.1114,-0.0011,-2.0497|0.5816,0.4653,0.2908|0.2908,0.2908,0.0872|http://www.r'
  1163. ..'oblox.com/asset/?id=10681506|http://www.roblox.com/asset/?id=10681501|14.1212,0.7267,50.5177|-0.77,174.6699,-145.17|-36.1192,-0.0011,-2.2217|13.8486,1.0967,50.4845|-56.6,83.48,1.4299|13.2202,1.221,50.'
  1164. ..'2299|5.1999,84.7399,-179.2101|-0.3694,-0.0011,9.1972|0.1163,0.2617,0.3199|-7.7222,6.6444,48.4559|-0.0501,-95.25,-1.51|0.5816,0.6979,0.5816|0.3929,0.3929,0.3929|rbxassetid://778193911|rbxassetid://7781'
  1165. ..'94802|13.9511,1.3518,50.3074|-32.6,-94.82,-0.94|0.1744,0.2908,0.1744|12.2952,1.4168,50.1548|36.3315,-0.0011,12.1769|0.1163,0.8724,0.1163|14.1901,0.8297,50.1484|-0.77,174.6699,2.23|-38.8538,-0.0011,12.'
  1166. ..'4299|0.0581,0.0872,0.0581|14.1551,0.8323,50.5255|-37.4659,-0.0011,-2.5327|13.4101,1.3821,50.2574|4.9,-95.38,-1.52|0.5816,1.3959,0.5816|0.0872,0.2326,0.5816|Stripe|14.0763,1.5852,50.3223|-43.6801,83.91'
  1167. ..'99,-178.9101|-34.3395,-0.0011,5.5287|0.1599,0.1817,0.0581|14.0716,0.5969,50.1313|14.2136,1.7297,50.3371|-11.5101,84.51,-179.1901|-39.7889,-0.0011,4.9417|0.1599,0.2181,0.0727|14.1243,1.6891,50.3283|-30'
  1168. ..'.83,84.1999,-179.0801|-36.2475,-0.0011,5.2936|0.1599,0.189,0.0727|13.5505,1.4381,50.2713|2.93,84.7099,-179.2101|-13.4755,-0.0011,7.5547|0.0727,0.2181,0.0581|13.2867,1.4302,50.2465|-3.0104,-0.0011,8.53'
  1169. ..'53|13.7586,1.3805,50.2899|-21.734,-0.0011,6.8162|Hawk|14.2927,1.9428,50.3475|11.1499,84.83,0.8|-42.9325,-0.0011,4.531|0.5816,0.3489,0.2908|0.1454,0.1454,0.2908|2,0,0|http://www.roblox.com/asset/?id=11'
  1170. ..'185882|14.4073,1.9479,50.3583|19.76,84.9599,0.8399|RaptorMask|14.6243,1.6996,50.3737|-13.1401,-95.14,-0.8101|-56.0871,-0.0011,3.4962|0.4653,0.0785,0.0785|0.2035,0.2035,0.2908|3,2,17.8999|http://www.ro'
  1171. ..'blox.com/asset/?id=80291600|http://www.roblox.com/asset/?id=166123148|1|Egg|1296|14.539,1.7601,50.5079|70.3,-97.53,-175.26|0.0045,0.0045,0.0137|http://www.roblox.com/asset/?id=76608021|0.9607,0.8039,0'
  1172. ..'.1882|288|14.53,1.7604,50.4902|0.0229,0.0229,0.0229|14.5413,1.7725,50.2439|14.5432,1.7719,50.2252|qPerfectionWeld|0,0,0,-0.001,0.0137,-1,0.0238,0.9996,0.0137,0.9997,-0.0239,-0.0014|0,-1.0444,-0.6322,-'
  1173. ..'0.0001,0,0.9999,-0.3157,0.9488,-0.0001,-0.9489,-0.3157,-0.0001|0,0.7184,-0.4149,0,-0.0001,-1,0.4094,-0.9124,0,-0.9124,-0.4095,-0.0001|-0.0009,-0.7242,0.1965,0,-0.0001,-1,0.9999,0,0,0,-1,0|0.2576,-0.5,'
  1174. ..'-0.178,0,1,-0.0001,-1,0,-0.0001,-0.0001,0,0.9999|-0.1798,0.3618,-0.1402,0,0,0.9999,0.833,0.5532,-0.0001,-0.5533,0.833,-0.0001|-0.808,0.0886,-0.1671,-0.7784,-0.6279,-0.0002,0.6278,-0.7784,-0.0003,0,-0.'
  1175. ..'0003,0.9999|0.2469,-0.4997,0.2111,0,1,-0.0001,-1,0,-0.0001,-0.0001,0,0.9999|-0.8057,-0.2048,-0.24,-0.8783,-0.4782,-0.0069,0.0077,0,-1,0.4781,-0.8783,0.0036|-0.8133,0.018,0.202,-0.8343,-0.5515,-0.0002,'
  1176. ..'0.5514,-0.8343,-0.0003,0,-0.0003,0.9999|0.1893,0.3806,-0.1555,-0.0001,0,0.9999,0.8478,0.5303,-0.0001,-0.5304,0.8478,-0.0001|0.0075,0.0194,0.2487,0,0,-1,0.0669,-0.9978,0,-0.9978,-0.067,0|0.0014,-0.772,'
  1177. ..'1.0166,0,-0.0001,-1,-0.2042,0.9789,-0.0001,0.9789,0.2041,-0.0001|0,-0.4091,0.3188,0,-0.0001,-1,-0.5187,0.855,-0.0001,0.855,0.5186,0|-0.0009,-1.1793,0.2099,0,-0.0001,-1,0.9999,0,0,0,-1,0|0.7253,0.3236,'
  1178. ..'-0.1734,0.9998,0.0152,-0.0001,-0.0153,0.9998,0.0002,0,-0.0003,0.9999|0.7252,0.3159,0.2052,0.9998,0.0152,-0.0001,-0.0153,0.9998,0.0002,0,-0.0003,0.9999|0.0026,-0.2071,-0.0367,-0.0017,-0.0127,-1,0.109,0'
  1179. ..'.9939,-0.0128,0.994,-0.1091,-0.0003|0,-0.131,-0.7254,0,-0.0001,-1,-0.7077,-0.7066,0,-0.7066,0.7076,-0.0001|-0.8041,0.1809,-0.2117,-0.8783,-0.4782,-0.0069,0.0077,0,-1,0.4781,-0.8783,0.0036|0,0.3893,-0.'
  1180. ..'848,0,-0.0001,-1,-0.2229,-0.9749,0,-0.9749,0.2228,-0.0001|0,0.098,-0.8312,0,-0.0001,-1,-0.5328,-0.8463,0,-0.8463,0.5327,-0.0001|0,0.2632,-0.0734,0,-0.0001,-1,0.0273,-0.9997,0,-0.9997,-0.0274,-0.0001|0'
  1181. ..',0.2417,0.1907,0,-0.0001,-1,0.0273,-0.9997,0,-0.9997,-0.0274,-0.0001|0,0.2163,-0.2851,0,-0.0001,-1,0.0273,-0.9997,0,-0.9997,-0.0274,-0.0001|0,-0.9108,-0.6695,-0.0001,0,1,-0.1701,0.9854,-0.0001,-0.9855'
  1182. ..',-0.1701,-0.0001|Leg1|0.4442,-0.0943,-0.224,-0.8436,-0.5371,0,-0.0001,0,0.9999,-0.5371,0.8435,-0.0001|-0.7333,-0.3117,0.1216,0.3963,0.8711,-0.2899,0.1533,0.2484,0.9564,0.9052,-0.4235,-0.0351|-0.1108,-'
  1183. ..'0.0937,-0.1171,0.866,0.5,-0.0001,-0.0001,0,0.9999,0.5,-0.8661,0|0.0428,0.106,0.2193,-0.014,0,-1,0.3983,0.9172,-0.0056,0.9171,-0.3984,-0.0129|0.0907,0.0503,-0.117,0,0.9999,-0.0001,0,0,-1,-1,-0.0001,0|-'
  1184. ..'0.185,-0.1852,0.0868,0,-1,0,-0.9088,-0.0001,0.4173,-0.4174,0,-0.9088|-0.1745,-0.2278,0.091,-0.0001,-1,0,-1,-0.0001,0,0,0,-1|13.2376,0.8205,49.9469|-57.5201,84.75,-90|-5.1836,-0.0011,4.4796|0.2908,0.34'
  1185. ..'89,0.2908|0.1163,0.0872,0.4071|13.2633,1.1607,49.9536|25.0599,-93.03,74.08|-5.289,-0.0011,4.8794|0.5816,0.2326,0.2908|0.3489,0.0872,0.1744|13.3372,0.347,49.9566|60,-95.25,90|-5.3357,-0.0011,6.0328|0.2'
  1186. ..'908,0.2326,0.2908|0.378,0.0872,0.1163|Claw|272|13.7285,0.3831,50.0402|23.4799,-94.45,0|-6.6389,-0.0011,12.1339|0.1,1,1|13.6035,0.3023,50.0246|0,84.75,90|-6.3956,-0.0011,10.1843|0.6999,0.2,0.6999|13.62'
  1187. ..'82,0.208,49.9206|0,19.42,-90|-4.7735,-0.0011,10.5706|0.0581,0.4943,0.0581|http://www.roblox.com/asset/?id=1033714|13.7175,0.2185,49.9942|0,-5.25,-90|-5.9216,-0.0011,11.9631|Leg2|-0.1135,0.0618,-0.112,'
  1188. ..'0.8668,0.4954,-0.0557,0.064,0,0.9979,0.4943,-0.8687,-0.0318|-0.7151,-0.3025,-0.2241,0.5041,0.8148,0.2861,0.1505,0.2433,-0.9582,-0.8505,0.5261,-0.0001|0.4119,0.093,-0.1957,-0.8344,-0.5512,0,-0.0001,0,0'
  1189. ..'.9999,-0.5512,0.8343,-0.0001|-0.0384,0.1061,0.218,-0.014,0,-1,0.3983,0.9172,-0.0056,0.9171,-0.3984,-0.0129|-0.0751,0.0424,-0.1356,-0.0001,-1,0,-0.0001,-0.0001,0.9999,-1,-0.0001,0|-0.1745,-0.2597,-0.08'
  1190. ..'29,0,-1,0,-1,0,-0.0001,0,0,-1|-0.1758,-0.1974,-0.032,0.057,-0.9984,0.0079,-0.8584,-0.0532,-0.5104,0.5098,0.0223,-0.86|13.2908,0.352,50.5129|60.31,-91.5801,90|-14.01,-0.0011,5.3082|13.224,1.1671,50.520'
  1191. ..'5|-31.75,84.75,73.37|-14.1281,-0.0011,4.2671|13.203,0.7833,50.5264|-56.5601,84.75,-90|-14.221,-0.0011,3.9401|13.6851,0.3825,50.5124|-14.0015,-0.0011,11.4569|13.5775,0.318,50.5101|0,84.75,-90|-13.9654,'
  1192. ..'-0.0011,9.7798|13.6975,0.2185,50.5617|-14.7704,-0.0011,11.6505|13.5773,0.2077,50.5947|-1.28,-35.92,-93.0401|-15.286,-0.0011,9.777;0,1>2>2,9>19>17,9>20>8,10>19>15,10>20>8,11>19>8,11>20>21,12>19>8,12>20'
  1193. ..'>19,13>19>8,13>20>2,14>19>8,14>20>99,16>19>15,16>20>30,18>19>17,18>20>33,20>19>19,20>20>127,22>19>21,22>20>151,31>19>30,31>20>30,34>19>33,34>20>33,100>19>99,100>20>99,101>19>99,101>20>85,102>19>99,102'
  1194. ..'>20>37,103>19>99,103>20>39,104>19>99,104>20>41,105>19>99,105>20>43,106>19>99,106>20>45,107>19>99,107>20>47,108>19>99,108>20>49,109>19>99,109>20>51,110>19>99,110>20>53,111>19>99,111>20>55,112>19>99,112'
  1195. ..'>20>87,113>19>99,113>20>59,114>19>99,114>20>61,115>19>99,115>20>63,116>19>99,116>20>65,117>19>99,117>20>67,118>19>99,118>20>69,119>19>99,119>20>71,120>19>99,120>20>73,121>19>99,121>20>75,122>19>99,122'
  1196. ..'>20>77,123>19>99,123>20>79,124>19>99,124>20>81,125>19>99,125>20>83,128>19>127,128>20>127,129>19>127,129>20>136,130>19>127,130>20>138,131>19>127,131>20>140,132>19>127,132>20>142,133>19>127,133>20>144,1'
  1197. ..'34>19>127,134>20>146,135>19>127,135>20>148,152>19>151,152>20>151,153>19>151,153>20>160,154>19>151,154>20>162,155>19>151,155>20>164,156>19>151,156>20>166,157>19>151,157>20>168,158>19>151,158>20>170,159'
  1198. ..'>19>151,159>20>172;2|1:2;n;1|1:3|3:4|4:5|5:6|6:7|7:8|8:9|9:10|10:11|4:5|4:5;n;3|11:12;4;5|1:13|12:14|13:6;5|1:15|12:16|13:6;5|1:17|12:16|13:6;p;1|1:18|3:4|4:5|5:6|6:19|7:8|8:20|9:21|14:22|15:22|4:5|4:'
  1199. ..'5;n;6|1:23|16:24|17:25|18:26|21:27;6|1:28|16:24|17:29|18:30|21:27;6|1:31|16:32|17:33|18:34|21:35;6|1:36|16:32|17:37|18:38|21:35;6|1:39|16:32|17:40|18:41;7;p;1|1:42|4:5|5:6|6:43|7:8|8:44|9:45|22:46|4:5'
  1200. ..'|4:5;n;7;p;1|1:47|4:5|5:6|6:48|7:8|8:49|9:45|22:46|4:5|4:5;n;7;p;1|1:50|4:5|5:6|6:51|7:8|8:52|9:45|22:46|23:11|4:5|4:5;n;7;p;1|1:53|4:5|5:6|6:54|7:8|8:55|9:45|22:46|23:11|4:5|4:5;n;7;p;8|24:11|25:56|2'
  1201. ..'6:56|27:57;4;4|1:58;4|1:59;n;9|1:60;p;4|1:61;2|1:62;n;1|1:63|4:5|5:6|6:43|7:8|8:44|9:64|22:46|4:5|4:5;n;7|17:65|18:65;p;p;2|1:66;n;1|1:63|4:5|5:6|6:48|7:8|8:49|9:64|22:46|4:5|4:5;n;7|17:65|18:65;p;p;2'
  1202. ..'|1:67;n;1|4:68|5:6|6:69|7:70|9:71|4:68|4:68;1|1:72|28:6|4:5|29:73|5:6|6:74|7:75|8:76|9:77|22:46|4:5|4:5;n;3|1:78|11:79|30:80|31:81;p;1|1:82|28:6|4:5|29:73|5:6|6:83|7:84|8:85|9:86|22:46|32:22|23:22|33:'
  1203. ..'22|14:22|15:22|10:22|4:5|4:5;n;3|1:78|11:87|30:80|31:81;p;1|28:6|4:5|29:73|5:6|6:88|7:89|8:90|9:91|22:46|23:22|4:5|4:5;n;3|1:78|11:92|30:80|31:81;p;1|28:6|4:5|29:73|5:6|6:93|7:94|9:77|22:46|23:22|10:2'
  1204. ..'2|4:5|4:5;n;3|1:78|11:95|30:80|31:81;p;1|28:6|4:5|29:73|5:6|6:96|7:97|8:98|9:99|22:46|23:22|4:5|4:5;n;3|1:78|11:100|30:80|31:81;p;1|28:6|4:5|29:73|5:6|6:101|7:89|8:102|9:91|22:46|23:22|4:5|4:5;n;3|1:7'
  1205. ..'8|11:92|30:80|31:81;p;1|1:103|28:6|4:5|29:73|34:104|5:6|6:105|7:106|8:107|9:108|22:46|23:11|10:11|4:5|4:5;n;3|11:109|30:110|35:111|31:81;p;1|28:6|4:5|29:73|5:6|6:112|7:113|8:114|9:99|22:46|23:22|4:5|4'
  1206. ..':5;n;3|1:78|11:100|30:80|31:81;p;1|28:6|4:5|29:73|5:6|6:115|7:116|9:77|22:46|23:22|10:22|4:5|4:5;n;3|1:78|11:95|30:80|31:81;p;1|1:82|28:6|4:5|29:73|5:6|6:117|7:118|8:119|9:86|22:46|32:22|23:22|33:22|1'
  1207. ..'4:22|15:22|10:22|4:5|4:5;n;3|1:78|11:120|30:80|31:81;p;1|1:63|28:6|4:5|29:73|6:121|7:122|9:123|22:46|4:5|4:5;n;3|11:124|30:125|35:126|31:81;p;1|1:72|28:6|4:5|29:73|5:6|6:127|7:128|9:77|22:46|4:5|4:5;n'
  1208. ..';3|1:78|11:129|30:80|31:81;p;1|1:82|28:6|4:5|29:73|5:6|6:130|7:84|8:131|9:86|22:46|32:22|23:22|33:22|14:22|15:22|10:22|4:5|4:5;n;3|1:78|11:132|30:80|31:81;p;1|28:6|4:5|29:73|5:6|6:133|7:134|8:135|9:99'
  1209. ..'|22:46|23:22|4:5|4:5;n;3|1:78|11:136|30:80|31:81;p;1|28:6|4:5|29:73|5:6|6:137|7:134|8:138|9:99|22:46|23:22|4:5|4:5;n;3|1:78|11:136|30:80|31:81;p;1|1:63|28:6|4:5|29:73|5:6|6:139|7:140|9:141|22:46|4:5|4'
  1210. ..':5;n;3|1:78|11:142|30:80|31:81;p;1|1:143|28:6|4:68|29:73|5:6|6:144|7:145|8:146|9:77|22:46|4:68|4:68;n;3|1:78|11:147|30:80|31:81;p;1|1:103|28:6|4:5|29:73|34:104|5:6|6:148|7:106|9:108|22:46|23:11|10:11|'
  1211. ..'4:5|4:5;n;3|11:109|30:110|35:111|31:81;p;1|1:143|28:6|4:68|29:73|5:6|6:149|7:150|8:151|9:77|22:46|4:68|4:68;n;3|1:78|11:152|30:80|31:81;p;1|1:143|28:6|4:68|29:73|5:6|6:153|7:154|8:155|9:77|22:46|4:68|'
  1212. ..'4:68;n;3|1:78|11:156|30:80|31:81;p;1|1:143|28:6|4:68|29:73|5:6|6:157|7:158|8:159|9:77|22:46|4:68|4:68;n;3|1:78|11:160|30:80|31:81;p;1|1:143|28:6|4:68|29:73|5:6|6:161|7:158|8:162|9:77|22:46|4:68|4:68;n'
  1213. ..';3|1:78|11:160|30:80|31:81;p;1|1:143|28:6|4:68|29:73|5:6|6:163|7:158|8:164|9:77|22:46|4:68|4:68;n;3|1:78|11:160|30:80|31:81;p;1|1:165|28:6|4:68|29:73|5:6|6:166|7:167|8:168|9:169|22:46|32:22|23:11|10:1'
  1214. ..'1|4:68|4:68;n;3|11:170|36:171|30:172|31:81;p;1|1:165|28:6|4:68|29:73|5:6|6:173|7:174|9:169|22:46|32:22|23:11|10:11|4:68|4:68;n;3|11:170|36:171|30:172|31:81;p;1|1:175|28:6|4:5|29:73|5:6|6:176|7:177|8:1'
  1215. ..'78|9:179|22:46|23:11|10:11|4:5|4:5;n;3|11:180|36:181|30:182|31:81;10|37:183|38:184;p;1|1:185|28:6|4:68|29:186|5:6|6:187|7:188|9:124|39:11|22:46|23:11|10:11|4:68|4:68;n;3|11:189|30:190|31:81;p;1|1:185|'
  1216. ..'28:6|4:191|29:192|5:6|6:193|7:188|9:124|39:11|22:46|23:11|10:11|4:191|4:191;n;3|11:194|30:190|31:81;p;1|1:185|28:6|4:191|29:192|5:6|6:195|7:188|9:124|39:11|22:46|23:11|10:11|4:191|4:191;n;3|11:194|30:'
  1217. ..'190|31:81;p;1|1:185|28:6|4:68|29:186|5:6|6:196|7:188|9:124|39:11|22:46|23:11|10:11|4:68|4:68;n;3|11:189|30:190|31:81;p;4|1:197;1|1:63|28:6|4:5|29:73|5:6|6:19|7:8|8:20|9:123|22:46|4:5|4:5;n;7|17:198|18'
  1218. ..':198;7|17:198|18:199;7|17:198|18:200;7|17:198|18:201;7|17:198|18:202;7|17:198|18:203;7|17:198|18:204;7|17:198|18:205;7|17:198|18:206;7|17:198|18:207;7|17:198|18:208;7|17:198|18:209;7|17:198|18:210;7|1'
  1219. ..'7:198|18:211;7|17:198|18:212;7|17:198|18:213;7|17:198|18:214;7|17:198|18:215;7|17:198|18:216;7|17:198|18:217;7|17:198|18:218;7|17:198|18:219;7|17:198|18:220;7|17:198|18:221;7|17:198|18:222;7|17:198|18'
  1220. ..':223;p;p;2|1:224;n;1|1:63|4:5|29:73|5:6|6:51|7:8|8:52|9:64|22:46|4:5|4:5;n;7|17:65|18:65;7|17:65|18:225;7|17:65|18:226;7|17:65|18:227;7|17:65|18:228;7|17:65|18:229;7|17:65|18:230;7|17:65|18:231;p;1|4:'
  1221. ..'5|29:73|5:6|6:232|7:233|8:234|9:235|22:46|23:22|4:5|4:5;n;3|1:78|11:236|30:80|31:81;p;1|4:5|29:73|5:6|6:237|7:238|8:239|9:240|22:46|23:22|10:22|4:5|4:5;n;3|1:78|11:241|30:80|31:81;p;1|4:5|29:73|5:6|6:'
  1222. ..'242|7:243|8:244|9:245|22:46|23:22|10:22|4:5|4:5;n;3|1:78|11:246|30:80|31:81;p;1|1:247|4:68|29:248|5:6|6:249|7:250|8:251|9:91|22:46|4:68|4:68;n;3|11:252|31:22;p;1|4:5|29:248|5:6|6:253|7:254|8:255|9:235'
  1223. ..'|22:46|4:5|4:5;n;11|11:256;p;1|1:247|4:68|29:248|5:6|6:257|7:258|8:259|9:235|22:46|23:22|10:11|4:68|4:68;n;3|11:260|30:261|31:81;p;1|1:247|4:68|29:248|5:6|6:262|7:263|8:264|9:235|22:46|23:22|10:11|4:6'
  1224. ..'8|4:68;n;3|11:260|30:261|31:81;p;p;2|1:265;n;1|1:63|4:5|29:73|5:6|6:54|7:8|8:55|9:64|22:46|4:5|4:5;n;7|17:65|18:65;7|17:65|18:266;7|17:65|18:267;7|17:65|18:268;7|17:65|18:269;7|17:65|18:270;7|17:65|18'
  1225. ..':271;7|17:65|18:272;p;1|4:5|29:73|5:6|6:273|7:274|8:275|9:245|22:46|23:22|10:22|4:5|4:5;n;3|1:78|11:246|30:80|31:81;p;1|4:5|29:73|5:6|6:276|7:277|8:278|9:240|22:46|23:22|10:22|4:5|4:5;n;3|1:78|11:241|'
  1226. ..'30:80|31:81;p;1|4:5|29:73|5:6|6:279|7:280|8:281|9:235|22:46|23:22|4:5|4:5;n;3|1:78|11:236|30:80|31:81;p;1|1:247|4:68|29:248|5:6|6:282|7:250|8:283|9:91|22:46|4:68|4:68;n;3|11:252|31:22;p;1|4:5|29:248|5'
  1227. ..':6|6:284|7:285|8:286|9:235|22:46|4:5|4:5;n;11|11:256;p;1|1:247|4:68|29:73|5:6|6:287|7:263|8:288|9:235|22:46|23:22|10:11|4:68|4:68;n;3|11:260|30:261|31:81;p;1|1:247|4:68|29:73|5:6|6:289|7:290|8:291|9:2'
  1228. ..'35|22:46|23:22|10:11|4:68|4:68;n;3|11:260|30:261|31:81;p;p;p;')
  1229. for _,Object in pairs(Objects) do
  1230. Object.Parent = script and script.Parent==workspace and script or workspace
  1231. end
  1232. for _,f in pairs(ActualScripts) do f() end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement