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