Advertisement
saba1517

anthro

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