zXzGamePROzXz

Anthro XDD

Jan 26th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 60.23 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5. print("FE Compatibility code by Mokiros, Edited by StarzoZero")
  6. local rp = RealPlayer
  7. script.Parent = rp.Character
  8.  
  9. --RemoteEvent for communicating
  10. local Event = Instance.new("RemoteEvent")
  11. Event.Name = "UserInput_Event"
  12.  
  13. --Fake event to make stuff like Mouse.KeyDown work
  14. local function fakeEvent()
  15. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16. t.connect = t.Connect
  17. return t
  18. end
  19.  
  20. --Creating fake input objects with fake variables
  21. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  22. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25. end}
  26. --Merged 2 functions into one by checking amount of arguments
  27. CAS.UnbindAction = CAS.BindAction
  28.  
  29. --This function will trigger the events that have been :Connect()'ed
  30. local function te(self,ev,...)
  31. local t = m[ev]
  32. if t and t._fakeEvent then
  33. for _,f in pairs(t.Functions) do
  34. f(...)
  35. end
  36. end
  37. end
  38. m.TrigEvent = te
  39. UIS.TrigEvent = te
  40.  
  41. Event.OnServerEvent:Connect(function(plr,io)
  42. if plr~=rp then return end
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. if not io.isMouse then
  46. local b = io.UserInputState == Enum.UserInputState.Begin
  47. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49. end
  50. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  51. return m:TrigEvent(b and "Button2Down" or "Button2Up")
  52. end
  53. for _,t in pairs(CAS.Actions) do
  54. for _,k in pairs(t.Keys) do
  55. if k==io.KeyCode then
  56. t.Function(t.Name,io.UserInputState,io)
  57. end
  58. end
  59. end
  60. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  61. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  62. end
  63. end)
  64. Event.Parent = NLS([==[
  65. local Player = game:GetService("Players").LocalPlayer
  66. local Event = script:WaitForChild("UserInput_Event")
  67. local Mouse = Player:GetMouse()
  68. local UIS = game:GetService("UserInputService")
  69. local input = function(io,a)
  70. if a then return end
  71. --Since InputObject is a client-side instance, we create and pass table instead
  72. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  73. end
  74. UIS.InputBegan:Connect(input)
  75. UIS.InputEnded:Connect(input)
  76. local h,t
  77. --Give the server mouse data 30 times every second, but only if the values changed
  78. --If player is not moving their mouse, client won't fire events
  79. while wait(1/30) do
  80. if h~=Mouse.Hit or t~=Mouse.Target then
  81. h,t=Mouse.Hit,Mouse.Target
  82. Event:FireServer({isMouse=true,Target=t,Hit=h})
  83. end
  84. end]==],Player.Character)
  85.  
  86. ----Sandboxed game object that allows the usage of client-side methods and services
  87. --Real game object
  88. local _rg = game
  89.  
  90. --Metatable for fake service
  91. local fsmt = {
  92. __index = function(self,k)
  93. local s = rawget(self,"_RealService")
  94. if s then
  95. return typeof(s[k])=="function"
  96. and function(_,...)return s[k](s,...)end or s[k]
  97. end
  98. end,
  99. __newindex = function(self,k,v)
  100. local s = rawget(self,"_RealService")
  101. if s then s[k]=v end
  102. end
  103. }
  104. local function FakeService(t,RealService)
  105. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106. return setmetatable(t,fsmt)
  107. end
  108.  
  109. --Fake game object
  110. local g = {
  111. GetService = function(self,s)
  112. return rawget(self,s) or _rg:GetService(s)
  113. end,
  114. Players = FakeService({
  115. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116. },"Players"),
  117. UserInputService = FakeService(UIS,"UserInputService"),
  118. ContextActionService = FakeService(CAS,"ContextActionService"),
  119. RunService = FakeService({
  120. _btrs = {},
  121. RenderStepped = _rg:GetService("RunService").Heartbeat,
  122. BindToRenderStep = function(self,name,_,fun)
  123. self._btrs[name] = self.Heartbeat:Connect(fun)
  124. end,
  125. UnbindFromRenderStep = function(self,name)
  126. self._btrs[name]:Disconnect()
  127. end,
  128. },"RunService")
  129. }
  130. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  131. g.service = g.GetService
  132. FakeService(g,game)
  133. --Changing owner to fake player object to support owner:GetMouse()
  134. game,owner = g,g.Players.LocalPlayer
  135. end
  136. --Original script quuisiYT or quu
  137. local moving_anthro_npc = Instance.new("Model")
  138. local body_colors = Instance.new("BodyColors", moving_anthro_npc)
  139. local humanoidrootpart = Instance.new("Part")
  140. local rootrigattachment = Instance.new("Attachment")
  141. local humanoid = Instance.new("Humanoid")
  142. local animator = Instance.new("Animator", humanoid)
  143. local head = Instance.new("Part")
  144. local neckrigattachment = Instance.new("Attachment")
  145. local originalpivot = Instance.new("Vector3Value")
  146. local hatattachment = Instance.new("Attachment")
  147. local originalpivot_2 = Instance.new("Vector3Value")
  148. local hairattachment = Instance.new("Attachment")
  149. local originalpivot_3 = Instance.new("Vector3Value")
  150. local facefrontattachment = Instance.new("Attachment")
  151. local originalpivot_4 = Instance.new("Vector3Value")
  152. local facecenterattachment = Instance.new("Attachment")
  153. local originalpivot_5 = Instance.new("Vector3Value")
  154. local originalsize = Instance.new("Vector3Value")
  155. local neck = Instance.new("Motor6D")
  156. local mesh = Instance.new("SpecialMesh")
  157. local lefthand = Instance.new("Part")
  158. local leftwristrigattachment = Instance.new("Attachment")
  159. local originalpivot_6 = Instance.new("Vector3Value")
  160. local leftgripattachment = Instance.new("Attachment")
  161. local originalpivot_7 = Instance.new("Vector3Value")
  162. local originalsize_2 = Instance.new("Vector3Value")
  163. local leftwrist = Instance.new("Motor6D")
  164. local mesh_2 = Instance.new("SpecialMesh")
  165. local leftlowerarm = Instance.new("Part")
  166. local leftelbowrigattachment = Instance.new("Attachment")
  167. local originalpivot_8 = Instance.new("Vector3Value")
  168. local leftwristrigattachment_2 = Instance.new("Attachment")
  169. local originalpivot_9 = Instance.new("Vector3Value")
  170. local originalsize_3 = Instance.new("Vector3Value")
  171. local leftelbow = Instance.new("Motor6D")
  172. local mesh_3 = Instance.new("SpecialMesh")
  173. local leftupperarm = Instance.new("Part")
  174. local leftshoulderrigattachment = Instance.new("Attachment")
  175. local originalpivot_10 = Instance.new("Vector3Value")
  176. local leftelbowrigattachment_2 = Instance.new("Attachment")
  177. local originalpivot_11 = Instance.new("Vector3Value")
  178. local leftshoulderattachment = Instance.new("Attachment")
  179. local originalpivot_12 = Instance.new("Vector3Value")
  180. local originalsize_4 = Instance.new("Vector3Value")
  181. local leftshoulder = Instance.new("Motor6D")
  182. local mesh_4 = Instance.new("SpecialMesh")
  183. local righthand = Instance.new("Part")
  184. local rightwristrigattachment = Instance.new("Attachment")
  185. local originalpivot_13 = Instance.new("Vector3Value")
  186. local rightgripattachment = Instance.new("Attachment")
  187. local originalpivot_14 = Instance.new("Vector3Value")
  188. local originalsize_5 = Instance.new("Vector3Value")
  189. local rightwrist = Instance.new("Motor6D")
  190. local mesh_5 = Instance.new("SpecialMesh")
  191. local rightlowerarm = Instance.new("Part")
  192. local rightelbowrigattachment = Instance.new("Attachment")
  193. local originalpivot_15 = Instance.new("Vector3Value")
  194. local rightwristrigattachment_2 = Instance.new("Attachment")
  195. local originalpivot_16 = Instance.new("Vector3Value")
  196. local originalsize_6 = Instance.new("Vector3Value")
  197. local rightelbow = Instance.new("Motor6D")
  198. local mesh_6 = Instance.new("SpecialMesh")
  199. local rightupperarm = Instance.new("Part")
  200. local rightshoulderrigattachment = Instance.new("Attachment")
  201. local originalpivot_17 = Instance.new("Vector3Value")
  202. local rightelbowrigattachment_2 = Instance.new("Attachment")
  203. local originalpivot_18 = Instance.new("Vector3Value")
  204. local rightshoulderattachment = Instance.new("Attachment")
  205. local originalpivot_19 = Instance.new("Vector3Value")
  206. local originalsize_7 = Instance.new("Vector3Value")
  207. local rightshoulder = Instance.new("Motor6D")
  208. local mesh_7 = Instance.new("SpecialMesh")
  209. local uppertorso = Instance.new("Part")
  210. local waistrigattachment = Instance.new("Attachment")
  211. local originalpivot_20 = Instance.new("Vector3Value")
  212. local neckrigattachment_2 = Instance.new("Attachment")
  213. local originalpivot_21 = Instance.new("Vector3Value")
  214. local leftshoulderrigattachment_2 = Instance.new("Attachment")
  215. local originalpivot_22 = Instance.new("Vector3Value")
  216. local rightshoulderrigattachment_2 = Instance.new("Attachment")
  217. local originalpivot_23 = Instance.new("Vector3Value")
  218. local bodyfrontattachment = Instance.new("Attachment")
  219. local originalpivot_24 = Instance.new("Vector3Value")
  220. local bodybackattachment = Instance.new("Attachment")
  221. local originalpivot_25 = Instance.new("Vector3Value")
  222. local neckattachment = Instance.new("Attachment")
  223. local originalpivot_26 = Instance.new("Vector3Value")
  224. local rightcollarattachment = Instance.new("Attachment")
  225. local originalpivot_27 = Instance.new("Vector3Value")
  226. local leftcollarattachment = Instance.new("Attachment")
  227. local originalpivot_28 = Instance.new("Vector3Value")
  228. local originalsize_8 = Instance.new("Vector3Value")
  229. local waist = Instance.new("Motor6D")
  230. local mesh_8 = Instance.new("SpecialMesh")
  231. local leftfoot = Instance.new("Part")
  232. local leftanklerigattachment = Instance.new("Attachment")
  233. local originalpivot_29 = Instance.new("Vector3Value")
  234. local originalsize_9 = Instance.new("Vector3Value")
  235. local leftankle = Instance.new("Motor6D")
  236. local mesh_9 = Instance.new("SpecialMesh")
  237. local leftlowerleg = Instance.new("Part")
  238. local leftkneerigattachment = Instance.new("Attachment")
  239. local originalpivot_30 = Instance.new("Vector3Value")
  240. local leftanklerigattachment_2 = Instance.new("Attachment")
  241. local originalpivot_31 = Instance.new("Vector3Value")
  242. local originalsize_10 = Instance.new("Vector3Value")
  243. local leftknee = Instance.new("Motor6D")
  244. local mesh_10 = Instance.new("SpecialMesh")
  245. local leftupperleg = Instance.new("Part")
  246. local lefthiprigattachment = Instance.new("Attachment")
  247. local originalpivot_32 = Instance.new("Vector3Value")
  248. local leftkneerigattachment_2 = Instance.new("Attachment")
  249. local originalpivot_33 = Instance.new("Vector3Value")
  250. local originalsize_11 = Instance.new("Vector3Value")
  251. local lefthip = Instance.new("Motor6D")
  252. local mesh_11 = Instance.new("SpecialMesh")
  253. local rightfoot = Instance.new("Part")
  254. local rightanklerigattachment = Instance.new("Attachment")
  255. local originalpivot_34 = Instance.new("Vector3Value")
  256. local originalsize_12 = Instance.new("Vector3Value")
  257. local rightankle = Instance.new("Motor6D")
  258. local mesh_12 = Instance.new("SpecialMesh")
  259. local rightlowerleg = Instance.new("Part")
  260. local rightkneerigattachment = Instance.new("Attachment")
  261. local originalpivot_35 = Instance.new("Vector3Value")
  262. local rightanklerigattachment_2 = Instance.new("Attachment")
  263. local originalpivot_36 = Instance.new("Vector3Value")
  264. local originalsize_13 = Instance.new("Vector3Value")
  265. local rightknee = Instance.new("Motor6D")
  266. local mesh_13 = Instance.new("SpecialMesh")
  267. local rightupperleg = Instance.new("Part")
  268. local righthiprigattachment = Instance.new("Attachment")
  269. local originalpivot_37 = Instance.new("Vector3Value")
  270. local rightkneerigattachment_2 = Instance.new("Attachment")
  271. local originalpivot_38 = Instance.new("Vector3Value")
  272. local originalsize_14 = Instance.new("Vector3Value")
  273. local righthip = Instance.new("Motor6D")
  274. local mesh_14 = Instance.new("SpecialMesh")
  275. local lowertorso = Instance.new("Part")
  276. local rootrigattachment_2 = Instance.new("Attachment")
  277. local originalpivot_39 = Instance.new("Vector3Value")
  278. local waistrigattachment_2 = Instance.new("Attachment")
  279. local originalpivot_40 = Instance.new("Vector3Value")
  280. local lefthiprigattachment_2 = Instance.new("Attachment")
  281. local originalpivot_41 = Instance.new("Vector3Value")
  282. local righthiprigattachment_2 = Instance.new("Attachment")
  283. local originalpivot_42 = Instance.new("Vector3Value")
  284. local waistcenterattachment = Instance.new("Attachment")
  285. local originalpivot_43 = Instance.new("Vector3Value")
  286. local waistfrontattachment = Instance.new("Attachment")
  287. local originalpivot_44 = Instance.new("Vector3Value")
  288. local waistbackattachment = Instance.new("Attachment")
  289. local originalpivot_45 = Instance.new("Vector3Value")
  290. local originalsize_15 = Instance.new("Vector3Value")
  291. local root = Instance.new("Motor6D")
  292. local mesh_15 = Instance.new("SpecialMesh")
  293.  
  294. moving_anthro_npc.Name = "Moving Anthro [NPC]"
  295. moving_anthro_npc.Parent = workspace
  296. humanoidrootpart.Size = Vector3.new(2, 2, 1)
  297. humanoidrootpart.Material = Enum.Material.SmoothPlastic
  298. humanoidrootpart.Orientation = Vector3.new(0, -166.02, 0)
  299. humanoidrootpart.Name = "HumanoidRootPart"
  300. humanoidrootpart.Transparency = 1
  301. humanoidrootpart.Parent = moving_anthro_npc
  302. humanoidrootpart.CFrame = CFrame.new(-8.268, 3.443, -57.903) * CFrame.Angles(3.142, -0.244, 3.142)
  303. rootrigattachment.Name = "RootRigAttachment"
  304. rootrigattachment.Parent = humanoidrootpart
  305. humanoid.HipHeight = 2.5
  306. humanoid.RigType = Enum.HumanoidRigType.R15
  307. humanoid.Parent = moving_anthro_npc
  308. head.Size = Vector3.new(0.693, 1.001, 0.93)
  309. head.Color = Color3.new(0.992157, 0.917647, 0.552941)
  310. head.Name = "Head"
  311. head.Material = Enum.Material.SmoothPlastic
  312. head.BrickColor = BrickColor.new("Cool yellow")
  313. head.Orientation = Vector3.new(0, -166.02, 0)
  314. head.Parent = moving_anthro_npc
  315. head.CFrame = CFrame.new(-8.26, 6.045, -57.87) * CFrame.Angles(3.142, -0.244, 3.142)
  316. neckrigattachment.Position = Vector3.new(0, -0.384, -0.057)
  317. neckrigattachment.Name = "NeckRigAttachment"
  318. neckrigattachment.CFrame = CFrame.new(0, -0.384, -0.057)
  319. neckrigattachment.Parent = head
  320. originalpivot.Value = Vector3.new(0, -0.307, -0.045)
  321. originalpivot.Name = "OriginalPivot"
  322. originalpivot.Parent = neckrigattachment
  323. hatattachment.Position = Vector3.new(0, 0.25, 0.034)
  324. hatattachment.Name = "HatAttachment"
  325. hatattachment.CFrame = CFrame.new(0, 0.25, 0.034)
  326. hatattachment.Parent = head
  327. originalpivot_2.Value = Vector3.new(0, 0.2, 0.027)
  328. originalpivot_2.Name = "OriginalPivot"
  329. originalpivot_2.Parent = hatattachment
  330. hairattachment.Position = Vector3.new(0, 0.25, 0.034)
  331. hairattachment.Name = "HairAttachment"
  332. hairattachment.CFrame = CFrame.new(0, 0.25, 0.034)
  333. hairattachment.Parent = head
  334. originalpivot_3.Value = Vector3.new(0, 0.2, 0.027)
  335. originalpivot_3.Name = "OriginalPivot"
  336. originalpivot_3.Parent = hairattachment
  337. facefrontattachment.Position = Vector3.new(0, -0.239, -0.36)
  338. facefrontattachment.Name = "FaceFrontAttachment"
  339. facefrontattachment.CFrame = CFrame.new(0, -0.239, -0.36)
  340. facefrontattachment.Parent = head
  341. originalpivot_4.Value = Vector3.new(0, -0.191, -0.288)
  342. originalpivot_4.Name = "OriginalPivot"
  343. originalpivot_4.Parent = facefrontattachment
  344. facecenterattachment.Position = Vector3.new(0, -0.103, 0.034)
  345. facecenterattachment.Name = "FaceCenterAttachment"
  346. facecenterattachment.CFrame = CFrame.new(0, -0.103, 0.034)
  347. facecenterattachment.Parent = head
  348. originalpivot_5.Value = Vector3.new(0, -0.082, 0.027)
  349. originalpivot_5.Name = "OriginalPivot"
  350. originalpivot_5.Parent = facecenterattachment
  351. originalsize.Value = Vector3.new(0.554, 0.801, 0.744)
  352. originalsize.Name = "OriginalSize"
  353. originalsize.Parent = head
  354. neck.Part1 = head
  355. neck.C0 = CFrame.new(0, 0.981, -0.046)
  356. neck.Part0 = uppertorso
  357. neck.C1 = CFrame.new(0, -0.384, -0.057)
  358. neck.Name = "Neck"
  359. neck.Parent = head
  360. mesh.MeshType = Enum.MeshType.FileMesh
  361. mesh.Scale = Vector3.new(1.2, 1.2, 1.2)
  362. mesh.MeshId = "rbxassetid://875229544"
  363. mesh.TextureId = "rbxassetid://853067666"
  364. mesh.Parent = head
  365. lefthand.CanCollide = false
  366. lefthand.Size = Vector3.new(0.369, 0.777, 0.423)
  367. lefthand.BrickColor = BrickColor.new("Cool yellow")
  368. lefthand.Material = Enum.Material.SmoothPlastic
  369. lefthand.Color = Color3.new(0.992157, 0.917647, 0.552941)
  370. lefthand.Orientation = Vector3.new(0, -166.02, 0)
  371. lefthand.Name = "LeftHand"
  372. lefthand.Parent = moving_anthro_npc
  373. lefthand.CFrame = CFrame.new(-7.428, 2.811, -57.824) * CFrame.Angles(3.142, -0.244, 3.142)
  374. leftwristrigattachment.Position = Vector3.new(-0.104, 0.272, 0.043)
  375. leftwristrigattachment.Name = "LeftWristRigAttachment"
  376. leftwristrigattachment.CFrame = CFrame.new(-0.104, 0.272, 0.043)
  377. leftwristrigattachment.Parent = lefthand
  378. originalpivot_6.Value = Vector3.new(-0.083, 0.218, 0.034)
  379. originalpivot_6.Name = "OriginalPivot"
  380. originalpivot_6.Parent = leftwristrigattachment
  381. leftgripattachment.Rotation = Vector3.new(-90, 0, 0)
  382. leftgripattachment.CFrame = CFrame.new(0.033, 0.006, 0.279) * CFrame.Angles(-1.571, 0, 0)
  383. leftgripattachment.Orientation = Vector3.new(-90, 0, 0)
  384. leftgripattachment.Name = "LeftGripAttachment"
  385. leftgripattachment.SecondaryAxis = Vector3.new(0, 0, -1)
  386. leftgripattachment.Position = Vector3.new(0.033, 0.006, 0.279)
  387. leftgripattachment.Parent = lefthand
  388. originalpivot_7.Value = Vector3.new(0.027, 0.005, 0.224)
  389. originalpivot_7.Name = "OriginalPivot"
  390. originalpivot_7.Parent = leftgripattachment
  391. originalsize_2.Value = Vector3.new(0.295, 0.621, 0.339)
  392. originalsize_2.Name = "OriginalSize"
  393. originalsize_2.Parent = lefthand
  394. leftwrist.Part1 = lefthand
  395. leftwrist.C0 = CFrame.new(-0.019, -0.508, -0.166)
  396. leftwrist.Part0 = leftlowerarm
  397. leftwrist.C1 = CFrame.new(-0.104, 0.272, 0.043)
  398. leftwrist.Name = "LeftWrist"
  399. leftwrist.Parent = lefthand
  400. mesh_2.MeshType = Enum.MeshType.FileMesh
  401. mesh_2.Scale = Vector3.new(1.6, 1.6, 1.6)
  402. mesh_2.MeshId = "rbxassetid://875229553"
  403. mesh_2.TextureId = "rbxassetid://853067666"
  404. mesh_2.Parent = lefthand
  405. leftlowerarm.CanCollide = false
  406. leftlowerarm.Size = Vector3.new(0.353, 1.149, 0.587)
  407. leftlowerarm.BrickColor = BrickColor.new("Cool yellow")
  408. leftlowerarm.Material = Enum.Material.SmoothPlastic
  409. leftlowerarm.Color = Color3.new(0.992157, 0.917647, 0.552941)
  410. leftlowerarm.Orientation = Vector3.new(0, -166.02, 0)
  411. leftlowerarm.Name = "LeftLowerArm"
  412. leftlowerarm.Parent = moving_anthro_npc
  413. leftlowerarm.CFrame = CFrame.new(-7.396, 3.591, -58.047) * CFrame.Angles(3.142, -0.244, 3.142)
  414. leftelbowrigattachment.Position = Vector3.new(-0.019, 0.498, 0.169)
  415. leftelbowrigattachment.Name = "LeftElbowRigAttachment"
  416. leftelbowrigattachment.CFrame = CFrame.new(-0.019, 0.498, 0.169)
  417. leftelbowrigattachment.Parent = leftlowerarm
  418. originalpivot_8.Value = Vector3.new(-0.015, 0.398, 0.135)
  419. originalpivot_8.Name = "OriginalPivot"
  420. originalpivot_8.Parent = leftelbowrigattachment
  421. leftwristrigattachment_2.Position = Vector3.new(-0.019, -0.508, -0.166)
  422. leftwristrigattachment_2.Name = "LeftWristRigAttachment"
  423. leftwristrigattachment_2.CFrame = CFrame.new(-0.019, -0.508, -0.166)
  424. leftwristrigattachment_2.Parent = leftlowerarm
  425. originalpivot_9.Value = Vector3.new(-0.015, -0.406, -0.133)
  426. originalpivot_9.Name = "OriginalPivot"
  427. originalpivot_9.Parent = leftwristrigattachment_2
  428. originalsize_3.Value = Vector3.new(0.282, 0.919, 0.469)
  429. originalsize_3.Name = "OriginalSize"
  430. originalsize_3.Parent = leftlowerarm
  431. leftelbow.Part1 = leftlowerarm
  432. leftelbow.C0 = CFrame.new(-0.116, -0.543, 0.05)
  433. leftelbow.Part0 = leftupperarm
  434. leftelbow.C1 = CFrame.new(-0.019, 0.498, 0.169)
  435. leftelbow.Name = "LeftElbow"
  436. leftelbow.Parent = leftlowerarm
  437. mesh_3.MeshType = Enum.MeshType.FileMesh
  438. mesh_3.Scale = Vector3.new(1.6, 1.6, 1.6)
  439. mesh_3.MeshId = "rbxassetid://875229562"
  440. mesh_3.TextureId = "rbxassetid://853067666"
  441. mesh_3.Parent = leftlowerarm
  442. leftupperarm.CanCollide = false
  443. leftupperarm.Size = Vector3.new(0.494, 1.347, 0.643)
  444. leftupperarm.BrickColor = BrickColor.new("Cool yellow")
  445. leftupperarm.Material = Enum.Material.SmoothPlastic
  446. leftupperarm.Color = Color3.new(0.992157, 0.917647, 0.552941)
  447. leftupperarm.Orientation = Vector3.new(0, -166.02, 0)
  448. leftupperarm.Name = "LeftUpperArm"
  449. leftupperarm.Parent = moving_anthro_npc
  450. leftupperarm.CFrame = CFrame.new(-7.519, 4.632, -58.139) * CFrame.Angles(3.142, -0.244, 3.142)
  451. leftshoulderrigattachment.Position = Vector3.new(0.165, 0.367, 0.036)
  452. leftshoulderrigattachment.Name = "LeftShoulderRigAttachment"
  453. leftshoulderrigattachment.CFrame = CFrame.new(0.165, 0.367, 0.036)
  454. leftshoulderrigattachment.Parent = leftupperarm
  455. originalpivot_10.Value = Vector3.new(0.132, 0.294, 0.029)
  456. originalpivot_10.Name = "OriginalPivot"
  457. originalpivot_10.Parent = leftshoulderrigattachment
  458. leftelbowrigattachment_2.Position = Vector3.new(-0.116, -0.543, 0.05)
  459. leftelbowrigattachment_2.Name = "LeftElbowRigAttachment"
  460. leftelbowrigattachment_2.CFrame = CFrame.new(-0.116, -0.543, 0.05)
  461. leftelbowrigattachment_2.Parent = leftupperarm
  462. originalpivot_11.Value = Vector3.new(-0.093, -0.434, 0.04)
  463. originalpivot_11.Name = "OriginalPivot"
  464. originalpivot_11.Parent = leftelbowrigattachment_2
  465. leftshoulderattachment.Position = Vector3.new(0.109, 0.698, -0.048)
  466. leftshoulderattachment.Name = "LeftShoulderAttachment"
  467. leftshoulderattachment.CFrame = CFrame.new(0.109, 0.698, -0.048)
  468. leftshoulderattachment.Parent = leftupperarm
  469. originalpivot_12.Value = Vector3.new(0.087, 0.559, -0.039)
  470. originalpivot_12.Name = "OriginalPivot"
  471. originalpivot_12.Parent = leftshoulderattachment
  472. originalsize_4.Value = Vector3.new(0.395, 1.078, 0.514)
  473. originalsize_4.Name = "OriginalSize"
  474. originalsize_4.Parent = leftupperarm
  475. leftshoulder.Part1 = leftupperarm
  476. leftshoulder.C0 = CFrame.new(-0.619, 0.319, 0.129)
  477. leftshoulder.Part0 = uppertorso
  478. leftshoulder.C1 = CFrame.new(0.165, 0.367, 0.036)
  479. leftshoulder.Name = "LeftShoulder"
  480. leftshoulder.Parent = leftupperarm
  481. mesh_4.MeshType = Enum.MeshType.FileMesh
  482. mesh_4.Scale = Vector3.new(1.6, 1.6, 1.6)
  483. mesh_4.MeshId = "rbxassetid://875229564"
  484. mesh_4.TextureId = "rbxassetid://853067666"
  485. mesh_4.Parent = leftupperarm
  486. righthand.CanCollide = false
  487. righthand.Size = Vector3.new(0.369, 0.777, 0.423)
  488. righthand.BrickColor = BrickColor.new("Cool yellow")
  489. righthand.Material = Enum.Material.SmoothPlastic
  490. righthand.Color = Color3.new(0.992157, 0.917647, 0.552941)
  491. righthand.Orientation = Vector3.new(0, -166.02, 0)
  492. righthand.Name = "RightHand"
  493. righthand.Parent = moving_anthro_npc
  494. righthand.CFrame = CFrame.new(-8.973, 2.811, -57.439) * CFrame.Angles(3.142, -0.244, 3.142)
  495. rightwristrigattachment.Position = Vector3.new(0.104, 0.272, 0.043)
  496. rightwristrigattachment.Name = "RightWristRigAttachment"
  497. rightwristrigattachment.CFrame = CFrame.new(0.104, 0.272, 0.043)
  498. rightwristrigattachment.Parent = righthand
  499. originalpivot_13.Value = Vector3.new(0.083, 0.218, 0.034)
  500. originalpivot_13.Name = "OriginalPivot"
  501. originalpivot_13.Parent = rightwristrigattachment
  502. rightgripattachment.Rotation = Vector3.new(-90, 0, 0)
  503. rightgripattachment.CFrame = CFrame.new(-0.033, 0.006, 0.279) * CFrame.Angles(-1.571, 0, 0)
  504. rightgripattachment.Orientation = Vector3.new(-90, 0, 0)
  505. rightgripattachment.Name = "RightGripAttachment"
  506. rightgripattachment.SecondaryAxis = Vector3.new(0, 0, -1)
  507. rightgripattachment.Position = Vector3.new(-0.033, 0.006, 0.279)
  508. rightgripattachment.Parent = righthand
  509. originalpivot_14.Value = Vector3.new(-0.027, 0.005, 0.224)
  510. originalpivot_14.Name = "OriginalPivot"
  511. originalpivot_14.Parent = rightgripattachment
  512. originalsize_5.Value = Vector3.new(0.295, 0.621, 0.339)
  513. originalsize_5.Name = "OriginalSize"
  514. originalsize_5.Parent = righthand
  515. rightwrist.Part1 = righthand
  516. rightwrist.C0 = CFrame.new(0.019, -0.508, -0.166)
  517. rightwrist.Part0 = rightlowerarm
  518. rightwrist.C1 = CFrame.new(0.104, 0.272, 0.043)
  519. rightwrist.Name = "RightWrist"
  520. rightwrist.Parent = righthand
  521. mesh_5.MeshType = Enum.MeshType.FileMesh
  522. mesh_5.Scale = Vector3.new(1.6, 1.6, 1.6)
  523. mesh_5.MeshId = "rbxassetid://875229570"
  524. mesh_5.TextureId = "rbxassetid://853067666"
  525. mesh_5.Parent = righthand
  526. rightlowerarm.CanCollide = false
  527. rightlowerarm.Size = Vector3.new(0.353, 1.149, 0.587)
  528. rightlowerarm.BrickColor = BrickColor.new("Cool yellow")
  529. rightlowerarm.Material = Enum.Material.SmoothPlastic
  530. rightlowerarm.Color = Color3.new(0.992157, 0.917647, 0.552941)
  531. rightlowerarm.Orientation = Vector3.new(0, -166.02, 0)
  532. rightlowerarm.Name = "RightLowerArm"
  533. rightlowerarm.Parent = moving_anthro_npc
  534. rightlowerarm.CFrame = CFrame.new(-9.106, 3.591, -57.621) * CFrame.Angles(3.142, -0.244, 3.142)
  535. rightelbowrigattachment.Position = Vector3.new(0.019, 0.498, 0.169)
  536. rightelbowrigattachment.Name = "RightElbowRigAttachment"
  537. rightelbowrigattachment.CFrame = CFrame.new(0.019, 0.498, 0.169)
  538. rightelbowrigattachment.Parent = rightlowerarm
  539. originalpivot_15.Value = Vector3.new(0.015, 0.398, 0.135)
  540. originalpivot_15.Name = "OriginalPivot"
  541. originalpivot_15.Parent = rightelbowrigattachment
  542. rightwristrigattachment_2.Position = Vector3.new(0.019, -0.508, -0.166)
  543. rightwristrigattachment_2.Name = "RightWristRigAttachment"
  544. rightwristrigattachment_2.CFrame = CFrame.new(0.019, -0.508, -0.166)
  545. rightwristrigattachment_2.Parent = rightlowerarm
  546. originalpivot_16.Value = Vector3.new(0.015, -0.406, -0.133)
  547. originalpivot_16.Name = "OriginalPivot"
  548. originalpivot_16.Parent = rightwristrigattachment_2
  549. originalsize_6.Value = Vector3.new(0.282, 0.919, 0.469)
  550. originalsize_6.Name = "OriginalSize"
  551. originalsize_6.Parent = rightlowerarm
  552. rightelbow.Part1 = rightlowerarm
  553. rightelbow.C0 = CFrame.new(0.116, -0.543, 0.05)
  554. rightelbow.Part0 = rightupperarm
  555. rightelbow.C1 = CFrame.new(0.019, 0.498, 0.169)
  556. rightelbow.Name = "RightElbow"
  557. rightelbow.Parent = rightlowerarm
  558. mesh_6.MeshType = Enum.MeshType.FileMesh
  559. mesh_6.Scale = Vector3.new(1.6, 1.6, 1.6)
  560. mesh_6.MeshId = "rbxassetid://875229578"
  561. mesh_6.TextureId = "rbxassetid://853067666"
  562. mesh_6.Parent = rightlowerarm
  563. rightupperarm.CanCollide = false
  564. rightupperarm.Size = Vector3.new(0.494, 1.347, 0.643)
  565. rightupperarm.BrickColor = BrickColor.new("Cool yellow")
  566. rightupperarm.Material = Enum.Material.SmoothPlastic
  567. rightupperarm.Color = Color3.new(0.992157, 0.917647, 0.552941)
  568. rightupperarm.Orientation = Vector3.new(0, -166.02, 0)
  569. rightupperarm.Name = "RightUpperArm"
  570. rightupperarm.Parent = moving_anthro_npc
  571. rightupperarm.CFrame = CFrame.new(-9.04, 4.632, -57.76) * CFrame.Angles(3.142, -0.244, 3.142)
  572. rightshoulderrigattachment.Position = Vector3.new(-0.165, 0.367, 0.036)
  573. rightshoulderrigattachment.Name = "RightShoulderRigAttachment"
  574. rightshoulderrigattachment.CFrame = CFrame.new(-0.165, 0.367, 0.036)
  575. rightshoulderrigattachment.Parent = rightupperarm
  576. originalpivot_17.Value = Vector3.new(-0.132, 0.294, 0.029)
  577. originalpivot_17.Name = "OriginalPivot"
  578. originalpivot_17.Parent = rightshoulderrigattachment
  579. rightelbowrigattachment_2.Position = Vector3.new(0.116, -0.543, 0.05)
  580. rightelbowrigattachment_2.Name = "RightElbowRigAttachment"
  581. rightelbowrigattachment_2.CFrame = CFrame.new(0.116, -0.543, 0.05)
  582. rightelbowrigattachment_2.Parent = rightupperarm
  583. originalpivot_18.Value = Vector3.new(0.093, -0.434, 0.04)
  584. originalpivot_18.Name = "OriginalPivot"
  585. originalpivot_18.Parent = rightelbowrigattachment_2
  586. rightshoulderattachment.Position = Vector3.new(-0.109, 0.669, -0.048)
  587. rightshoulderattachment.Name = "RightShoulderAttachment"
  588. rightshoulderattachment.CFrame = CFrame.new(-0.109, 0.669, -0.048)
  589. rightshoulderattachment.Parent = rightupperarm
  590. originalpivot_19.Value = Vector3.new(-0.087, 0.535, -0.039)
  591. originalpivot_19.Name = "OriginalPivot"
  592. originalpivot_19.Parent = rightshoulderattachment
  593. originalsize_7.Value = Vector3.new(0.395, 1.078, 0.514)
  594. originalsize_7.Name = "OriginalSize"
  595. originalsize_7.Parent = rightupperarm
  596. rightshoulder.Part1 = rightupperarm
  597. rightshoulder.C0 = CFrame.new(0.619, 0.319, 0.129)
  598. rightshoulder.Part0 = uppertorso
  599. rightshoulder.C1 = CFrame.new(-0.165, 0.367, 0.036)
  600. rightshoulder.Name = "RightShoulder"
  601. rightshoulder.Parent = rightupperarm
  602. mesh_7.MeshType = Enum.MeshType.FileMesh
  603. mesh_7.Scale = Vector3.new(1.6, 1.6, 1.6)
  604. mesh_7.MeshId = "rbxassetid://875229582"
  605. mesh_7.TextureId = "rbxassetid://853067666"
  606. mesh_7.Parent = rightupperarm
  607. uppertorso.Size = Vector3.new(1.488, 2.231, 1.006)
  608. uppertorso.Color = Color3.new(0.156863, 0.498039, 0.278431)
  609. uppertorso.Name = "UpperTorso"
  610. uppertorso.Material = Enum.Material.SmoothPlastic
  611. uppertorso.BrickColor = BrickColor.new("Dark green")
  612. uppertorso.Orientation = Vector3.new(0, -166.02, 0)
  613. uppertorso.Parent = moving_anthro_npc
  614. uppertorso.CFrame = CFrame.new(-8.257, 4.68, -57.859) * CFrame.Angles(3.142, -0.244, 3.142)
  615. waistrigattachment.Position = Vector3.new(0, -0.843, 0.045)
  616. waistrigattachment.Name = "WaistRigAttachment"
  617. waistrigattachment.CFrame = CFrame.new(0, -0.843, 0.045)
  618. waistrigattachment.Parent = uppertorso
  619. originalpivot_20.Value = Vector3.new(0, -0.674, 0.036)
  620. originalpivot_20.Name = "OriginalPivot"
  621. originalpivot_20.Parent = waistrigattachment
  622. neckrigattachment_2.Position = Vector3.new(0, 0.981, -0.046)
  623. neckrigattachment_2.Name = "NeckRigAttachment"
  624. neckrigattachment_2.CFrame = CFrame.new(0, 0.981, -0.046)
  625. neckrigattachment_2.Parent = uppertorso
  626. originalpivot_21.Value = Vector3.new(0, 0.785, -0.037)
  627. originalpivot_21.Name = "OriginalPivot"
  628. originalpivot_21.Parent = neckrigattachment_2
  629. leftshoulderrigattachment_2.Position = Vector3.new(-0.619, 0.319, 0.129)
  630. leftshoulderrigattachment_2.Name = "LeftShoulderRigAttachment"
  631. leftshoulderrigattachment_2.CFrame = CFrame.new(-0.619, 0.319, 0.129)
  632. leftshoulderrigattachment_2.Parent = uppertorso
  633. originalpivot_22.Value = Vector3.new(-0.495, 0.255, 0.103)
  634. originalpivot_22.Name = "OriginalPivot"
  635. originalpivot_22.Parent = leftshoulderrigattachment_2
  636. rightshoulderrigattachment_2.Position = Vector3.new(0.619, 0.319, 0.129)
  637. rightshoulderrigattachment_2.Name = "RightShoulderRigAttachment"
  638. rightshoulderrigattachment_2.CFrame = CFrame.new(0.619, 0.319, 0.129)
  639. rightshoulderrigattachment_2.Parent = uppertorso
  640. originalpivot_23.Value = Vector3.new(0.495, 0.255, 0.103)
  641. originalpivot_23.Name = "OriginalPivot"
  642. originalpivot_23.Parent = rightshoulderrigattachment_2
  643. bodyfrontattachment.Position = Vector3.new(0, -0.425, -0.48)
  644. bodyfrontattachment.Name = "BodyFrontAttachment"
  645. bodyfrontattachment.CFrame = CFrame.new(0, -0.425, -0.48)
  646. bodyfrontattachment.Parent = uppertorso
  647. originalpivot_24.Value = Vector3.new(0, -0.34, -0.384)
  648. originalpivot_24.Name = "OriginalPivot"
  649. originalpivot_24.Parent = bodyfrontattachment
  650. bodybackattachment.Position = Vector3.new(0, -0.425, 0.32)
  651. bodybackattachment.Name = "BodyBackAttachment"
  652. bodybackattachment.CFrame = CFrame.new(0, -0.425, 0.32)
  653. bodybackattachment.Parent = uppertorso
  654. originalpivot_25.Value = Vector3.new(0, -0.34, 0.256)
  655. originalpivot_25.Name = "OriginalPivot"
  656. originalpivot_25.Parent = bodybackattachment
  657. neckattachment.Position = Vector3.new(0, 0.825, 0.045)
  658. neckattachment.Name = "NeckAttachment"
  659. neckattachment.CFrame = CFrame.new(0, 0.825, 0.045)
  660. neckattachment.Parent = uppertorso
  661. originalpivot_26.Value = Vector3.new(0, 0.66, 0.036)
  662. originalpivot_26.Name = "OriginalPivot"
  663. originalpivot_26.Parent = neckattachment
  664. rightcollarattachment.Position = Vector3.new(0.438, 0.688, 0.045)
  665. rightcollarattachment.Name = "RightCollarAttachment"
  666. rightcollarattachment.CFrame = CFrame.new(0.438, 0.688, 0.045)
  667. rightcollarattachment.Parent = uppertorso
  668. originalpivot_27.Value = Vector3.new(0.35, 0.55, 0.036)
  669. originalpivot_27.Name = "OriginalPivot"
  670. originalpivot_27.Parent = rightcollarattachment
  671. leftcollarattachment.Position = Vector3.new(-0.437, 0.688, 0.045)
  672. leftcollarattachment.Name = "LeftCollarAttachment"
  673. leftcollarattachment.CFrame = CFrame.new(-0.437, 0.688, 0.045)
  674. leftcollarattachment.Parent = uppertorso
  675. originalpivot_28.Value = Vector3.new(-0.35, 0.55, 0.036)
  676. originalpivot_28.Name = "OriginalPivot"
  677. originalpivot_28.Parent = leftcollarattachment
  678. originalsize_8.Value = Vector3.new(1.19, 1.785, 0.805)
  679. originalsize_8.Name = "OriginalSize"
  680. originalsize_8.Parent = uppertorso
  681. waist.Part1 = uppertorso
  682. waist.C0 = CFrame.new(0, 0.45, 0.091)
  683. waist.Part0 = lowertorso
  684. waist.C1 = CFrame.new(0, -0.843, 0.045)
  685. waist.Name = "Waist"
  686. waist.Parent = uppertorso
  687. mesh_8.Offset = Vector3.new(0, 0.09, 0)
  688. mesh_8.MeshId = "rbxassetid://875229590"
  689. mesh_8.Scale = Vector3.new(1.4, 1.4, 1.4)
  690. mesh_8.TextureId = "rbxassetid://853067666"
  691. mesh_8.MeshType = Enum.MeshType.FileMesh
  692. mesh_8.Parent = uppertorso
  693. leftfoot.CanCollide = false
  694. leftfoot.Size = Vector3.new(0.433, 0.504, 1.064)
  695. leftfoot.BrickColor = BrickColor.new("Bright blue")
  696. leftfoot.Material = Enum.Material.SmoothPlastic
  697. leftfoot.Color = Color3.new(0.0509804, 0.411765, 0.67451)
  698. leftfoot.Orientation = Vector3.new(0, -166.02, 0)
  699. leftfoot.Name = "LeftFoot"
  700. leftfoot.Parent = moving_anthro_npc
  701. leftfoot.CFrame = CFrame.new(-7.941, 0.253, -57.772) * CFrame.Angles(3.142, -0.244, 3.142)
  702. leftanklerigattachment.Position = Vector3.new(-0.033, 0.003, 0.225)
  703. leftanklerigattachment.Name = "LeftAnkleRigAttachment"
  704. leftanklerigattachment.CFrame = CFrame.new(-0.033, 0.003, 0.225)
  705. leftanklerigattachment.Parent = leftfoot
  706. originalpivot_29.Value = Vector3.new(-0.027, 0.002, 0.18)
  707. originalpivot_29.Name = "OriginalPivot"
  708. originalpivot_29.Parent = leftanklerigattachment
  709. originalsize_9.Value = Vector3.new(0.346, 0.403, 0.851)
  710. originalsize_9.Name = "OriginalSize"
  711. originalsize_9.Parent = leftfoot
  712. leftankle.Part1 = leftfoot
  713. leftankle.C0 = CFrame.new(-0.021, -0.907, -0.018)
  714. leftankle.Part0 = leftlowerleg
  715. leftankle.C1 = CFrame.new(-0.033, 0.003, 0.225)
  716. leftankle.Name = "LeftAnkle"
  717. leftankle.Parent = leftfoot
  718. mesh_9.MeshType = Enum.MeshType.FileMesh
  719. mesh_9.Scale = Vector3.new(1.6, 1.6, 1.6)
  720. mesh_9.MeshId = "rbxassetid://875229596"
  721. mesh_9.TextureId = "rbxassetid://853067666"
  722. mesh_9.Parent = leftfoot
  723. leftlowerleg.CanCollide = false
  724. leftlowerleg.Size = Vector3.new(0.567, 1.823, 0.723)
  725. leftlowerleg.BrickColor = BrickColor.new("Bright blue")
  726. leftlowerleg.Material = Enum.Material.SmoothPlastic
  727. leftlowerleg.Color = Color3.new(0.0509804, 0.411765, 0.67451)
  728. leftlowerleg.Orientation = Vector3.new(0, -166.02, 0)
  729. leftlowerleg.Name = "LeftLowerLeg"
  730. leftlowerleg.Parent = moving_anthro_npc
  731. leftlowerleg.CFrame = CFrame.new(-7.988, 1.163, -58.011) * CFrame.Angles(3.142, -0.244, 3.142)
  732. leftkneerigattachment.Position = Vector3.new(-0.021, 0.825, -0.037)
  733. leftkneerigattachment.Name = "LeftKneeRigAttachment"
  734. leftkneerigattachment.CFrame = CFrame.new(-0.021, 0.825, -0.037)
  735. leftkneerigattachment.Parent = leftlowerleg
  736. originalpivot_30.Value = Vector3.new(-0.017, 0.66, -0.029)
  737. originalpivot_30.Name = "OriginalPivot"
  738. originalpivot_30.Parent = leftkneerigattachment
  739. leftanklerigattachment_2.Position = Vector3.new(-0.021, -0.907, -0.018)
  740. leftanklerigattachment_2.Name = "LeftAnkleRigAttachment"
  741. leftanklerigattachment_2.CFrame = CFrame.new(-0.021, -0.907, -0.018)
  742. leftanklerigattachment_2.Parent = leftlowerleg
  743. originalpivot_31.Value = Vector3.new(-0.017, -0.726, -0.014)
  744. originalpivot_31.Name = "OriginalPivot"
  745. originalpivot_31.Parent = leftanklerigattachment_2
  746. originalsize_10.Value = Vector3.new(0.454, 1.459, 0.578)
  747. originalsize_10.Name = "OriginalSize"
  748. originalsize_10.Parent = leftlowerleg
  749. leftknee.Part1 = leftlowerleg
  750. leftknee.C0 = CFrame.new(0.008, -0.594, 0.093)
  751. leftknee.Part0 = leftupperleg
  752. leftknee.C1 = CFrame.new(-0.021, 0.825, -0.037)
  753. leftknee.Name = "LeftKnee"
  754. leftknee.Parent = leftlowerleg
  755. mesh_10.Offset = Vector3.new(0, 0.2, 0)
  756. mesh_10.MeshId = "rbxassetid://875229599"
  757. mesh_10.Scale = Vector3.new(1.6, 1.6, 1.6)
  758. mesh_10.TextureId = "rbxassetid://853067666"
  759. mesh_10.MeshType = Enum.MeshType.FileMesh
  760. mesh_10.Parent = leftlowerleg
  761. leftupperleg.CanCollide = false
  762. leftupperleg.Size = Vector3.new(0.617, 1.891, 0.802)
  763. leftupperleg.BrickColor = BrickColor.new("Bright blue")
  764. leftupperleg.Material = Enum.Material.SmoothPlastic
  765. leftupperleg.Color = Color3.new(0.0509804, 0.411765, 0.67451)
  766. leftupperleg.Orientation = Vector3.new(0, -166.02, 0)
  767. leftupperleg.Name = "LeftUpperLeg"
  768. leftupperleg.Parent = moving_anthro_npc
  769. leftupperleg.CFrame = CFrame.new(-7.928, 2.582, -57.892) * CFrame.Angles(3.142, -0.244, 3.142)
  770. lefthiprigattachment.Position = Vector3.new(0.008, 0.846, -0.019)
  771. lefthiprigattachment.Name = "LeftHipRigAttachment"
  772. lefthiprigattachment.CFrame = CFrame.new(0.008, 0.846, -0.019)
  773. lefthiprigattachment.Parent = leftupperleg
  774. originalpivot_32.Value = Vector3.new(0.006, 0.677, -0.015)
  775. originalpivot_32.Name = "OriginalPivot"
  776. originalpivot_32.Parent = lefthiprigattachment
  777. leftkneerigattachment_2.Position = Vector3.new(0.008, -0.594, 0.093)
  778. leftkneerigattachment_2.Name = "LeftKneeRigAttachment"
  779. leftkneerigattachment_2.CFrame = CFrame.new(0.008, -0.594, 0.093)
  780. leftkneerigattachment_2.Parent = leftupperleg
  781. originalpivot_33.Value = Vector3.new(0.006, -0.476, 0.075)
  782. originalpivot_33.Name = "OriginalPivot"
  783. originalpivot_33.Parent = leftkneerigattachment_2
  784. originalsize_11.Value = Vector3.new(0.494, 1.513, 0.642)
  785. originalsize_11.Name = "OriginalSize"
  786. originalsize_11.Parent = leftupperleg
  787. lefthip.Part1 = leftupperleg
  788. lefthip.C0 = CFrame.new(-0.319, 0.041, -0.021)
  789. lefthip.Part0 = lowertorso
  790. lefthip.C1 = CFrame.new(0.008, 0.846, -0.019)
  791. lefthip.Name = "LeftHip"
  792. lefthip.Parent = leftupperleg
  793. mesh_11.Offset = Vector3.new(0, 0.1, 0)
  794. mesh_11.MeshId = "rbxassetid://875229605"
  795. mesh_11.Scale = Vector3.new(1.5, 1, 1.5)
  796. mesh_11.TextureId = "rbxassetid://853067666"
  797. mesh_11.MeshType = Enum.MeshType.FileMesh
  798. mesh_11.Parent = leftupperleg
  799. rightfoot.CanCollide = false
  800. rightfoot.Size = Vector3.new(0.433, 0.504, 1.064)
  801. rightfoot.BrickColor = BrickColor.new("Bright blue")
  802. rightfoot.Material = Enum.Material.SmoothPlastic
  803. rightfoot.Color = Color3.new(0.0509804, 0.411765, 0.67451)
  804. rightfoot.Orientation = Vector3.new(0, -166.02, 0)
  805. rightfoot.Name = "RightFoot"
  806. rightfoot.Parent = moving_anthro_npc
  807. rightfoot.CFrame = CFrame.new(-8.496, 0.252, -57.633) * CFrame.Angles(3.142, -0.244, 3.142)
  808. rightanklerigattachment.Position = Vector3.new(0.034, 0.002, 0.225)
  809. rightanklerigattachment.Name = "RightAnkleRigAttachment"
  810. rightanklerigattachment.CFrame = CFrame.new(0.034, 0.002, 0.225)
  811. rightanklerigattachment.Parent = rightfoot
  812. originalpivot_34.Value = Vector3.new(0.027, 0.002, 0.18)
  813. originalpivot_34.Name = "OriginalPivot"
  814. originalpivot_34.Parent = rightanklerigattachment
  815. originalsize_12.Value = Vector3.new(0.346, 0.403, 0.851)
  816. originalsize_12.Name = "OriginalSize"
  817. originalsize_12.Parent = rightfoot
  818. rightankle.Part1 = rightfoot
  819. rightankle.C0 = CFrame.new(0.021, -0.908, -0.018)
  820. rightankle.Part0 = rightlowerleg
  821. rightankle.C1 = CFrame.new(0.034, 0.002, 0.225)
  822. rightankle.Name = "RightAnkle"
  823. rightankle.Parent = rightfoot
  824. mesh_12.MeshType = Enum.MeshType.FileMesh
  825. mesh_12.Scale = Vector3.new(1.6, 1.6, 1.6)
  826. mesh_12.MeshId = "rbxassetid://875229610"
  827. mesh_12.TextureId = "rbxassetid://853067666"
  828. mesh_12.Parent = rightfoot
  829. rightlowerleg.CanCollide = false
  830. rightlowerleg.Size = Vector3.new(0.567, 1.823, 0.723)
  831. rightlowerleg.BrickColor = BrickColor.new("Bright blue")
  832. rightlowerleg.Material = Enum.Material.SmoothPlastic
  833. rightlowerleg.Color = Color3.new(0.0509804, 0.411765, 0.67451)
  834. rightlowerleg.Orientation = Vector3.new(0, -166.02, 0)
  835. rightlowerleg.Name = "RightLowerLeg"
  836. rightlowerleg.Parent = moving_anthro_npc
  837. rightlowerleg.CFrame = CFrame.new(-8.567, 1.162, -57.866) * CFrame.Angles(3.142, -0.244, 3.142)
  838. rightkneerigattachment.Position = Vector3.new(0.021, 0.825, -0.036)
  839. rightkneerigattachment.Name = "RightKneeRigAttachment"
  840. rightkneerigattachment.CFrame = CFrame.new(0.021, 0.825, -0.036)
  841. rightkneerigattachment.Parent = rightlowerleg
  842. originalpivot_35.Value = Vector3.new(0.017, 0.66, -0.029)
  843. originalpivot_35.Name = "OriginalPivot"
  844. originalpivot_35.Parent = rightkneerigattachment
  845. rightanklerigattachment_2.Position = Vector3.new(0.021, -0.908, -0.018)
  846. rightanklerigattachment_2.Name = "RightAnkleRigAttachment"
  847. rightanklerigattachment_2.CFrame = CFrame.new(0.021, -0.908, -0.018)
  848. rightanklerigattachment_2.Parent = rightlowerleg
  849. originalpivot_36.Value = Vector3.new(0.017, -0.726, -0.014)
  850. originalpivot_36.Name = "OriginalPivot"
  851. originalpivot_36.Parent = rightanklerigattachment_2
  852. originalsize_13.Value = Vector3.new(0.454, 1.459, 0.578)
  853. originalsize_13.Name = "OriginalSize"
  854. originalsize_13.Parent = rightlowerleg
  855. rightknee.Part1 = rightlowerleg
  856. rightknee.C0 = CFrame.new(-0.007, -0.595, 0.093)
  857. rightknee.Part0 = rightupperleg
  858. rightknee.C1 = CFrame.new(0.021, 0.825, -0.036)
  859. rightknee.Name = "RightKnee"
  860. rightknee.Parent = rightlowerleg
  861. mesh_13.Offset = Vector3.new(0, 0.2, 0)
  862. mesh_13.MeshId = "rbxassetid://875229614"
  863. mesh_13.Scale = Vector3.new(1.6, 1.6, 1.6)
  864. mesh_13.TextureId = "rbxassetid://853067666"
  865. mesh_13.MeshType = Enum.MeshType.FileMesh
  866. mesh_13.Parent = rightlowerleg
  867. rightupperleg.CanCollide = false
  868. rightupperleg.Size = Vector3.new(0.617, 1.891, 0.802)
  869. rightupperleg.BrickColor = BrickColor.new("Bright blue")
  870. rightupperleg.Material = Enum.Material.SmoothPlastic
  871. rightupperleg.Color = Color3.new(0.0509804, 0.411765, 0.67451)
  872. rightupperleg.Orientation = Vector3.new(0, -166.02, 0)
  873. rightupperleg.Name = "RightUpperLeg"
  874. rightupperleg.Parent = moving_anthro_npc
  875. rightupperleg.CFrame = CFrame.new(-8.563, 2.582, -57.734) * CFrame.Angles(3.142, -0.244, 3.142)
  876. righthiprigattachment.Position = Vector3.new(-0.007, 0.846, -0.019)
  877. righthiprigattachment.Name = "RightHipRigAttachment"
  878. righthiprigattachment.CFrame = CFrame.new(-0.007, 0.846, -0.019)
  879. righthiprigattachment.Parent = rightupperleg
  880. originalpivot_37.Value = Vector3.new(-0.006, 0.677, -0.015)
  881. originalpivot_37.Name = "OriginalPivot"
  882. originalpivot_37.Parent = righthiprigattachment
  883. rightkneerigattachment_2.Position = Vector3.new(-0.007, -0.595, 0.093)
  884. rightkneerigattachment_2.Name = "RightKneeRigAttachment"
  885. rightkneerigattachment_2.CFrame = CFrame.new(-0.007, -0.595, 0.093)
  886. rightkneerigattachment_2.Parent = rightupperleg
  887. originalpivot_38.Value = Vector3.new(-0.006, -0.476, 0.075)
  888. originalpivot_38.Name = "OriginalPivot"
  889. originalpivot_38.Parent = rightkneerigattachment_2
  890. originalsize_14.Value = Vector3.new(0.494, 1.513, 0.642)
  891. originalsize_14.Name = "OriginalSize"
  892. originalsize_14.Parent = rightupperleg
  893. righthip.Part1 = rightupperleg
  894. righthip.C0 = CFrame.new(0.32, 0.041, -0.021)
  895. righthip.Part0 = lowertorso
  896. righthip.C1 = CFrame.new(-0.007, 0.846, -0.019)
  897. righthip.Name = "RightHip"
  898. righthip.Parent = rightupperleg
  899. mesh_14.Offset = Vector3.new(0, 0.1, 0)
  900. mesh_14.MeshId = "rbxassetid://875229618"
  901. mesh_14.Scale = Vector3.new(1.5, 1, 1.5)
  902. mesh_14.TextureId = "rbxassetid://853067666"
  903. mesh_14.MeshType = Enum.MeshType.FileMesh
  904. mesh_14.Parent = rightupperleg
  905. lowertorso.Size = Vector3.new(1.198, 0.868, 0.902)
  906. lowertorso.Color = Color3.new(0.156863, 0.498039, 0.278431)
  907. lowertorso.Name = "LowerTorso"
  908. lowertorso.Material = Enum.Material.SmoothPlastic
  909. lowertorso.BrickColor = BrickColor.new("Dark green")
  910. lowertorso.Orientation = Vector3.new(0, -166.02, 0)
  911. lowertorso.Parent = moving_anthro_npc
  912. lowertorso.CFrame = CFrame.new(-8.246, 3.387, -57.815) * CFrame.Angles(3.142, -0.244, 3.142)
  913. rootrigattachment_2.Position = Vector3.new(0, 0.056, 0.091)
  914. rootrigattachment_2.Name = "RootRigAttachment"
  915. rootrigattachment_2.CFrame = CFrame.new(0, 0.056, 0.091)
  916. rootrigattachment_2.Parent = lowertorso
  917. originalpivot_39.Value = Vector3.new(0, 0.045, 0.073)
  918. originalpivot_39.Name = "OriginalPivot"
  919. originalpivot_39.Parent = rootrigattachment_2
  920. waistrigattachment_2.Position = Vector3.new(0, 0.45, 0.091)
  921. waistrigattachment_2.Name = "WaistRigAttachment"
  922. waistrigattachment_2.CFrame = CFrame.new(0, 0.45, 0.091)
  923. waistrigattachment_2.Parent = lowertorso
  924. originalpivot_40.Value = Vector3.new(0, 0.36, 0.073)
  925. originalpivot_40.Name = "OriginalPivot"
  926. originalpivot_40.Parent = waistrigattachment_2
  927. lefthiprigattachment_2.Position = Vector3.new(-0.319, 0.041, -0.021)
  928. lefthiprigattachment_2.Name = "LeftHipRigAttachment"
  929. lefthiprigattachment_2.CFrame = CFrame.new(-0.319, 0.041, -0.021)
  930. lefthiprigattachment_2.Parent = lowertorso
  931. originalpivot_41.Value = Vector3.new(-0.256, 0.033, -0.017)
  932. originalpivot_41.Name = "OriginalPivot"
  933. originalpivot_41.Parent = lefthiprigattachment_2
  934. righthiprigattachment_2.Position = Vector3.new(0.32, 0.041, -0.021)
  935. righthiprigattachment_2.Name = "RightHipRigAttachment"
  936. righthiprigattachment_2.CFrame = CFrame.new(0.32, 0.041, -0.021)
  937. righthiprigattachment_2.Parent = lowertorso
  938. originalpivot_42.Value = Vector3.new(0.256, 0.033, -0.017)
  939. originalpivot_42.Name = "OriginalPivot"
  940. originalpivot_42.Parent = righthiprigattachment_2
  941. waistcenterattachment.Position = Vector3.new(0, -0.102, 0.091)
  942. waistcenterattachment.Name = "WaistCenterAttachment"
  943. waistcenterattachment.CFrame = CFrame.new(0, -0.102, 0.091)
  944. waistcenterattachment.Parent = lowertorso
  945. originalpivot_43.Value = Vector3.new(0, -0.081, 0.073)
  946. originalpivot_43.Name = "OriginalPivot"
  947. originalpivot_43.Parent = waistcenterattachment
  948. waistfrontattachment.Position = Vector3.new(0, -0.102, -0.221)
  949. waistfrontattachment.Name = "WaistFrontAttachment"
  950. waistfrontattachment.CFrame = CFrame.new(0, -0.102, -0.221)
  951. waistfrontattachment.Parent = lowertorso
  952. originalpivot_44.Value = Vector3.new(0, -0.081, -0.177)
  953. originalpivot_44.Name = "OriginalPivot"
  954. originalpivot_44.Parent = waistfrontattachment
  955. waistbackattachment.Position = Vector3.new(0, -0.102, 0.448)
  956. waistbackattachment.Name = "WaistBackAttachment"
  957. waistbackattachment.CFrame = CFrame.new(0, -0.102, 0.448)
  958. waistbackattachment.Parent = lowertorso
  959. originalpivot_45.Value = Vector3.new(0, -0.081, 0.358)
  960. originalpivot_45.Name = "OriginalPivot"
  961. originalpivot_45.Parent = waistbackattachment
  962. originalsize_15.Value = Vector3.new(0.958, 0.694, 0.722)
  963. originalsize_15.Name = "OriginalSize"
  964. originalsize_15.Parent = lowertorso
  965. root.Part1 = lowertorso
  966. root.Part0 = humanoidrootpart
  967. root.C1 = CFrame.new(0, 0.056, 0.091)
  968. root.Name = "Root"
  969. root.Parent = lowertorso
  970. mesh_15.MeshType = Enum.MeshType.FileMesh
  971. mesh_15.Scale = Vector3.new(1.4, 1.4, 1.4)
  972. mesh_15.MeshId = "rbxassetid://875229629"
  973. mesh_15.TextureId = "rbxassetid://853067666"
  974. mesh_15.Parent = lowertorso
  975. moving_anthro_npc.PrimaryPart = humanoidrootpart
  976. moving_anthro_npc.Name = game.Players.LocalPlayer.Name
  977. local plr = game.Players.LocalPlayer
  978. repeat wait(.2) until plr.Character
  979. plr.Character = moving_anthro_npc
  980. workspace.CurrentCamera.CameraSubject = humanoid
  981. workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
  982.  
  983. game:GetService("RunService").RenderStepped:Connect(function()
  984.  
  985. humanoid:RemoveAccessories()
  986. humanoid.MaxHealth = 1e4556464
  987. humanoid.Health = 1e4556464
  988.  
  989. end)
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007. local Figure = plr.Character
  1008. local pose = "Standing"
  1009.  
  1010. local currentAnim = ""
  1011. local currentAnimInstance = nil
  1012. local currentAnimTrack = nil
  1013. local currentAnimKeyframeHandler = nil
  1014. local currentAnimSpeed = 1.0
  1015. local animTable = {}
  1016. local animNames = {
  1017. idle = {
  1018. { id = "http://www.roblox.com/asset/?id=507766666", weight = 1 },
  1019. { id = "http://www.roblox.com/asset/?id=507766951", weight = 1 },
  1020. { id = "http://www.roblox.com/asset/?id=507766388", weight = 9 }
  1021. },
  1022. walk = {
  1023. { id = "http://www.roblox.com/asset/?id=507777826", weight = 10 }
  1024. },
  1025. run = {
  1026. { id = "http://www.roblox.com/asset/?id=507767714", weight = 10 }
  1027. },
  1028. swim = {
  1029. { id = "http://www.roblox.com/asset/?id=507784897", weight = 10 }
  1030. },
  1031. swimidle = {
  1032. { id = "http://www.roblox.com/asset/?id=507785072", weight = 10 }
  1033. },
  1034. jump = {
  1035. { id = "http://www.roblox.com/asset/?id=507765000", weight = 10 }
  1036. },
  1037. fall = {
  1038. { id = "http://www.roblox.com/asset/?id=507767968", weight = 10 }
  1039. },
  1040. climb = {
  1041. { id = "http://www.roblox.com/asset/?id=507765644", weight = 10 }
  1042. },
  1043. sit = {
  1044. { id = "http://www.roblox.com/asset/?id=507768133", weight = 10 }
  1045. },
  1046. toolnone = {
  1047. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  1048. },
  1049. toolslash = {
  1050. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  1051. -- { id = "slash.xml", weight = 10 }
  1052. },
  1053. toollunge = {
  1054. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  1055. },
  1056. wave = {
  1057. { id = "http://www.roblox.com/asset/?id=507770239", weight = 10 }
  1058. },
  1059. point = {
  1060. { id = "http://www.roblox.com/asset/?id=507770453", weight = 10 }
  1061. },
  1062. dance = {
  1063. { id = "http://www.roblox.com/asset/?id=507771019", weight = 10 },
  1064. { id = "http://www.roblox.com/asset/?id=507771955", weight = 10 },
  1065. { id = "http://www.roblox.com/asset/?id=507772104", weight = 10 }
  1066. },
  1067. dance2 = {
  1068. { id = "http://www.roblox.com/asset/?id=507776043", weight = 10 },
  1069. { id = "http://www.roblox.com/asset/?id=507776720", weight = 10 },
  1070. { id = "http://www.roblox.com/asset/?id=507776879", weight = 10 }
  1071. },
  1072. dance3 = {
  1073. { id = "http://www.roblox.com/asset/?id=507777268", weight = 10 },
  1074. { id = "http://www.roblox.com/asset/?id=507777451", weight = 10 },
  1075. { id = "http://www.roblox.com/asset/?id=507777623", weight = 10 }
  1076. },
  1077. laugh = {
  1078. { id = "http://www.roblox.com/asset/?id=507770818", weight = 10 }
  1079. },
  1080. cheer = {
  1081. { id = "http://www.roblox.com/asset/?id=507770677", weight = 10 }
  1082. },
  1083. }
  1084.  
  1085. -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
  1086. local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
  1087.  
  1088. math.randomseed(tick())
  1089.  
  1090. function configureAnimationSet(name, fileList)
  1091. if (animTable[name] ~= nil) then
  1092. for _, connection in pairs(animTable[name].connections) do
  1093. connection:disconnect()
  1094. end
  1095. end
  1096. animTable[name] = {}
  1097. animTable[name].count = 0
  1098. animTable[name].totalWeight = 0
  1099. animTable[name].connections = {}
  1100.  
  1101. -- check for config values
  1102. local config = script:FindFirstChild(name)
  1103. if (config ~= nil) then
  1104. -- print("Loading anims " .. name)
  1105. table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
  1106. table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
  1107. local idx = 1
  1108. for _, childPart in pairs(config:GetChildren()) do
  1109. if (childPart:IsA("Animation")) then
  1110. table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
  1111. animTable[name][idx] = {}
  1112. animTable[name][idx].anim = childPart
  1113. local weightObject = childPart:FindFirstChild("Weight")
  1114. if (weightObject == nil) then
  1115. animTable[name][idx].weight = 1
  1116. else
  1117. animTable[name][idx].weight = weightObject.Value
  1118. end
  1119. animTable[name].count = animTable[name].count + 1
  1120. animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
  1121. -- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
  1122. idx = idx + 1
  1123. end
  1124. end
  1125. end
  1126.  
  1127. -- fallback to defaults
  1128. if (animTable[name].count <= 0) then
  1129. for idx, anim in pairs(fileList) do
  1130. animTable[name][idx] = {}
  1131. animTable[name][idx].anim = Instance.new("Animation")
  1132. animTable[name][idx].anim.Name = name
  1133. animTable[name][idx].anim.AnimationId = anim.id
  1134. animTable[name][idx].weight = anim.weight
  1135. animTable[name].count = animTable[name].count + 1
  1136. animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
  1137. -- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
  1138. end
  1139. end
  1140. end
  1141.  
  1142. -- Setup animation objects
  1143. function scriptChildModified(child)
  1144. local fileList = animNames[child.Name]
  1145. if (fileList ~= nil) then
  1146. configureAnimationSet(child.Name, fileList)
  1147. end
  1148. end
  1149.  
  1150. script.ChildAdded:connect(scriptChildModified)
  1151. script.ChildRemoved:connect(scriptChildModified)
  1152.  
  1153.  
  1154. for name, fileList in pairs(animNames) do
  1155. configureAnimationSet(name, fileList)
  1156. end
  1157.  
  1158. -- ANIMATION
  1159.  
  1160. -- declarations
  1161. local toolAnim = "None"
  1162. local toolAnimTime = 0
  1163.  
  1164. local jumpAnimTime = 0
  1165. local jumpAnimDuration = 0.31
  1166.  
  1167. local toolTransitionTime = 0.1
  1168. local fallTransitionTime = 0.2
  1169.  
  1170. -- functions
  1171.  
  1172. function stopAllAnimations()
  1173. local oldAnim = currentAnim
  1174.  
  1175. -- return to idle if finishing an emote
  1176. if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
  1177. oldAnim = "idle"
  1178. end
  1179.  
  1180. currentAnim = ""
  1181. currentAnimInstance = nil
  1182. if (currentAnimKeyframeHandler ~= nil) then
  1183. currentAnimKeyframeHandler:disconnect()
  1184. end
  1185.  
  1186. if (currentAnimTrack ~= nil) then
  1187. currentAnimTrack:Stop()
  1188. currentAnimTrack:Destroy()
  1189. currentAnimTrack = nil
  1190. end
  1191. return oldAnim
  1192. end
  1193.  
  1194. function setAnimationSpeed(speed)
  1195. if speed ~= currentAnimSpeed then
  1196. currentAnimSpeed = speed
  1197. currentAnimTrack:AdjustSpeed(currentAnimSpeed)
  1198. end
  1199. end
  1200.  
  1201. function keyFrameReachedFunc(frameName)
  1202. if (frameName == "End") then
  1203. -- print("Keyframe : ".. frameName)
  1204.  
  1205. local repeatAnim = currentAnim
  1206. -- return to idle if finishing an emote
  1207. if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
  1208. repeatAnim = "idle"
  1209. end
  1210.  
  1211. local animSpeed = currentAnimSpeed
  1212. playAnimation(repeatAnim, 0.15, humanoid)
  1213. setAnimationSpeed(animSpeed)
  1214. end
  1215. end
  1216.  
  1217. -- Preload animations
  1218. function playAnimation(animName, transitionTime, humanoid)
  1219.  
  1220. local roll = math.random(1, animTable[animName].totalWeight)
  1221. local origRoll = roll
  1222. local idx = 1
  1223. while (roll > animTable[animName][idx].weight) do
  1224. roll = roll - animTable[animName][idx].weight
  1225. idx = idx + 1
  1226. end
  1227.  
  1228. -- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
  1229.  
  1230. local anim = animTable[animName][idx].anim
  1231.  
  1232. -- switch animation
  1233. if (anim ~= currentAnimInstance) then
  1234.  
  1235. if (currentAnimTrack ~= nil) then
  1236. currentAnimTrack:Stop(transitionTime)
  1237. currentAnimTrack:Destroy()
  1238. end
  1239.  
  1240. currentAnimSpeed = 1.0
  1241.  
  1242. -- load it to the humanoid; get AnimationTrack
  1243. currentAnimTrack = humanoid:LoadAnimation(anim)
  1244.  
  1245. -- play the animation
  1246. currentAnimTrack:Play(transitionTime)
  1247. currentAnim = animName
  1248. currentAnimInstance = anim
  1249.  
  1250. -- set up keyframe name triggers
  1251. if (currentAnimKeyframeHandler ~= nil) then
  1252. currentAnimKeyframeHandler:disconnect()
  1253. end
  1254. currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
  1255.  
  1256. end
  1257.  
  1258. end
  1259.  
  1260. -------------------------------------------------------------------------------------------
  1261. -------------------------------------------------------------------------------------------
  1262.  
  1263. local toolAnimName = ""
  1264. local toolAnimTrack = nil
  1265. local toolAnimInstance = nil
  1266. local currentToolAnimKeyframeHandler = nil
  1267.  
  1268. function toolKeyFrameReachedFunc(frameName)
  1269. if (frameName == "End") then
  1270. -- print("Keyframe : ".. frameName)
  1271. playToolAnimation(toolAnimName, 0.0, humanoid)
  1272. end
  1273. end
  1274.  
  1275.  
  1276. function playToolAnimation(animName, transitionTime, humanoid)
  1277.  
  1278. local roll = math.random(1, animTable[animName].totalWeight)
  1279. local origRoll = roll
  1280. local idx = 1
  1281. while (roll > animTable[animName][idx].weight) do
  1282. roll = roll - animTable[animName][idx].weight
  1283. idx = idx + 1
  1284. end
  1285. -- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
  1286. local anim = animTable[animName][idx].anim
  1287.  
  1288. if (toolAnimInstance ~= anim) then
  1289.  
  1290. if (toolAnimTrack ~= nil) then
  1291. toolAnimTrack:Stop()
  1292. toolAnimTrack:Destroy()
  1293. transitionTime = 0
  1294. end
  1295.  
  1296. -- load it to the humanoid; get AnimationTrack
  1297. toolAnimTrack = humanoid:LoadAnimation(anim)
  1298.  
  1299. -- play the animation
  1300. toolAnimTrack:Play(transitionTime)
  1301. toolAnimName = animName
  1302. toolAnimInstance = anim
  1303.  
  1304. currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
  1305. end
  1306. end
  1307.  
  1308. function stopToolAnimations()
  1309. local oldAnim = toolAnimName
  1310.  
  1311. if (currentToolAnimKeyframeHandler ~= nil) then
  1312. currentToolAnimKeyframeHandler:disconnect()
  1313. end
  1314.  
  1315. toolAnimName = ""
  1316. toolAnimInstance = nil
  1317. if (toolAnimTrack ~= nil) then
  1318. toolAnimTrack:Stop()
  1319. toolAnimTrack:Destroy()
  1320. toolAnimTrack = nil
  1321. end
  1322.  
  1323.  
  1324. return oldAnim
  1325. end
  1326.  
  1327. -------------------------------------------------------------------------------------------
  1328. -------------------------------------------------------------------------------------------
  1329.  
  1330.  
  1331. function onRunning(speed)
  1332. if speed > 0.01 then
  1333. local scale = 15.0
  1334. playAnimation("walk", 0.1, humanoid)
  1335. setAnimationSpeed(speed / scale)
  1336. pose = "Running"
  1337. else
  1338. playAnimation("idle", 0.1, humanoid)
  1339. pose = "Standing"
  1340. end
  1341. end
  1342.  
  1343. function onDied()
  1344. pose = "Dead"
  1345. end
  1346.  
  1347. function onJumping()
  1348. playAnimation("jump", 0.1, humanoid)
  1349. jumpAnimTime = jumpAnimDuration
  1350. pose = "Jumping"
  1351. end
  1352.  
  1353. function onClimbing(speed)
  1354. local scale = 5.0
  1355. playAnimation("climb", 0.1, humanoid)
  1356. setAnimationSpeed(speed / scale)
  1357. pose = "Climbing"
  1358. end
  1359.  
  1360. function onGettingUp()
  1361. pose = "GettingUp"
  1362. end
  1363.  
  1364. function onFreeFall()
  1365. if (jumpAnimTime <= 0) then
  1366. playAnimation("fall", fallTransitionTime, humanoid)
  1367. end
  1368. pose = "FreeFall"
  1369. end
  1370.  
  1371. function onFallingDown()
  1372. pose = "FallingDown"
  1373. end
  1374.  
  1375. function onSeated()
  1376. pose = "Seated"
  1377. end
  1378.  
  1379. function onPlatformStanding()
  1380. pose = "PlatformStanding"
  1381. end
  1382.  
  1383. function onSwimming(speed)
  1384. if speed > 1.00 then
  1385. local scale = 10.0
  1386. playAnimation("swim", 0.4, humanoid)
  1387. setAnimationSpeed(speed / scale)
  1388. pose = "Swimming"
  1389. else
  1390. playAnimation("swimidle", 0.4, humanoid)
  1391. pose = "Standing"
  1392. end
  1393. end
  1394.  
  1395. function getTool()
  1396. for _, kid in ipairs(Figure:GetChildren()) do
  1397. if kid.className == "Tool" then return kid end
  1398. end
  1399. return nil
  1400. end
  1401.  
  1402. function getToolAnim(tool)
  1403. for _, c in ipairs(tool:GetChildren()) do
  1404. if c.Name == "toolanim" and c.className == "StringValue" then
  1405. return c
  1406. end
  1407. end
  1408. return nil
  1409. end
  1410.  
  1411. function animateTool()
  1412.  
  1413. if (toolAnim == "None") then
  1414. playToolAnimation("toolnone", toolTransitionTime, humanoid)
  1415. return
  1416. end
  1417.  
  1418. if (toolAnim == "Slash") then
  1419. playToolAnimation("toolslash", 0, humanoid)
  1420. return
  1421. end
  1422.  
  1423. if (toolAnim == "Lunge") then
  1424. playToolAnimation("toollunge", 0, humanoid)
  1425. return
  1426. end
  1427. end
  1428.  
  1429. function moveSit()
  1430. end
  1431.  
  1432. local lastTick = 0
  1433.  
  1434. function move(time)
  1435. local amplitude = 1
  1436. local frequency = 1
  1437. local deltaTime = time - lastTick
  1438. lastTick = time
  1439.  
  1440. local climbFudge = 0
  1441. local setAngles = false
  1442.  
  1443. if (jumpAnimTime > 0) then
  1444. jumpAnimTime = jumpAnimTime - deltaTime
  1445. end
  1446.  
  1447. if (pose == "FreeFall" and jumpAnimTime <= 0) then
  1448. playAnimation("fall", fallTransitionTime, humanoid)
  1449. elseif (pose == "Seated") then
  1450. playAnimation("sit", 0.5, humanoid)
  1451. return
  1452. elseif (pose == "Running") then
  1453. playAnimation("walk", 0.1, humanoid)
  1454. elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
  1455. stopAllAnimations()
  1456. amplitude = 0.1
  1457. frequency = 1
  1458. setAngles = true
  1459. end
  1460.  
  1461. -- Tool Animation handling
  1462. local tool = getTool()
  1463. if tool then
  1464.  
  1465. animStringValueObject = getToolAnim(tool)
  1466.  
  1467. if animStringValueObject then
  1468. toolAnim = animStringValueObject.Value
  1469. -- message recieved, delete StringValue
  1470. animStringValueObject.Parent = nil
  1471. toolAnimTime = time + .3
  1472. end
  1473.  
  1474. if time > toolAnimTime then
  1475. toolAnimTime = 0
  1476. toolAnim = "None"
  1477. end
  1478.  
  1479. animateTool()
  1480. else
  1481. stopToolAnimations()
  1482. toolAnim = "None"
  1483. toolAnimInstance = nil
  1484. toolAnimTime = 0
  1485. end
  1486. end
  1487.  
  1488. -- connect events
  1489. humanoid.Died:connect(onDied)
  1490. humanoid.Running:connect(onRunning)
  1491. humanoid.Jumping:connect(onJumping)
  1492. humanoid.Climbing:connect(onClimbing)
  1493. humanoid.GettingUp:connect(onGettingUp)
  1494. humanoid.FreeFalling:connect(onFreeFall)
  1495. humanoid.FallingDown:connect(onFallingDown)
  1496. humanoid.Seated:connect(onSeated)
  1497. humanoid.PlatformStanding:connect(onPlatformStanding)
  1498. humanoid.Swimming:connect(onSwimming)
  1499.  
  1500. Game.Players.LocalPlayer.Chatted:connect(function(msg)
  1501. local emote = ""
  1502. if (string.sub(msg, 1, 3) == "/e ") then
  1503. emote = string.sub(msg, 4)
  1504. elseif (string.sub(msg, 1, 7) == "/emote ") then
  1505. emote = string.sub(msg, 8)
  1506. end
  1507.  
  1508. if (pose == "Standing" and emoteNames[emote] ~= nil) then
  1509. playAnimation(emote, 0.1, humanoid)
  1510. end
  1511. print("===> " .. string.sub(msg, 1, 3) .. "(" .. emote .. ")")
  1512. end)
  1513.  
  1514.  
  1515. -- main program
  1516.  
  1517. local runService = game:service("RunService");
  1518.  
  1519. -- print("bottom")
  1520.  
  1521. -- initialize to idle
  1522. playAnimation("idle", 0.1, humanoid)
  1523. pose = "Standing"
  1524. game:GetService("RunService").RenderStepped:Connect(function(step)
  1525. move(step)
  1526. end)
Add Comment
Please, Sign In to add comment