SHOW:
|
|
- or go back to the newest paste.
| 1 | --hi | |
| 2 | Player = game:GetService("Players").LocalPlayer
| |
| 3 | PlayerGui = Player.PlayerGui | |
| 4 | Cam = workspace.CurrentCamera | |
| 5 | Backpack = Player.Backpack | |
| 6 | Character = Player.Character | |
| 7 | Humanoid = Character.Humanoid | |
| 8 | Mouse = Player:GetMouse() | |
| 9 | RootPart = Character["HumanoidRootPart"] | |
| 10 | Torso = Character["Torso"] | |
| 11 | Head = Character["Head"] | |
| 12 | RightArm = Character["Right Arm"] | |
| 13 | LeftArm = Character["Left Arm"] | |
| 14 | RightLeg = Character["Right Leg"] | |
| 15 | LeftLeg = Character["Left Leg"] | |
| 16 | RootJoint = RootPart["RootJoint"] | |
| 17 | Neck = Torso["Neck"] | |
| 18 | RightShoulder = Torso["Right Shoulder"] | |
| 19 | LeftShoulder = Torso["Left Shoulder"] | |
| 20 | RightHip = Torso["Right Hip"] | |
| 21 | LeftHip = Torso["Left Hip"] | |
| 22 | local sick = Instance.new("Sound",Character)
| |
| 23 | sick.SoundId = "rbxassetid://531711813" | |
| 24 | sick.Looped = true | |
| 25 | sick.Pitch = 1 | |
| 26 | sick.Volume = 1 | |
| 27 | Head:ClearAllChildren() | |
| 28 | ||
| 29 | local tor = Instance.new("CharacterMesh")
| |
| 30 | tor.Parent = Character | |
| 31 | tor.Name = "Bones" | |
| 32 | tor.BodyPart = "Torso" | |
| 33 | tor.MeshId = "42587319" | |
| 34 | tor.OverlayTextureId = "42587579" | |
| 35 | ||
| 36 | local tor = Instance.new("CharacterMesh")
| |
| 37 | tor.Parent = Character | |
| 38 | tor.Name = "Bones" | |
| 39 | tor.BodyPart = "LeftLeg" | |
| 40 | tor.MeshId = "42587271" | |
| 41 | tor.OverlayTextureId = "42587579" | |
| 42 | ||
| 43 | local tor = Instance.new("CharacterMesh")
| |
| 44 | tor.Parent = Character | |
| 45 | tor.Name = "Bones" | |
| 46 | tor.BodyPart = "RightLeg" | |
| 47 | tor.MeshId = "42587421" | |
| 48 | tor.OverlayTextureId = "42587579" | |
| 49 | ||
| 50 | local tor = Instance.new("CharacterMesh")
| |
| 51 | tor.Parent = Character | |
| 52 | tor.Name = "Bones" | |
| 53 | tor.BodyPart = "RightArm" | |
| 54 | tor.MeshId = "42587369" | |
| 55 | tor.OverlayTextureId = "42587579" | |
| 56 | ||
| 57 | local tor = Instance.new("CharacterMesh")
| |
| 58 | tor.Parent = Character | |
| 59 | tor.Name = "Bones" | |
| 60 | tor.BodyPart = "LeftArm" | |
| 61 | tor.MeshId = "42587103" | |
| 62 | tor.OverlayTextureId = "42587579" | |
| 63 | ||
| 64 | local tor = Instance.new("SpecialMesh")
| |
| 65 | tor.Scale = Vector3.new(1,1,1) | |
| 66 | tor.MeshType = "FileMesh" | |
| 67 | tor.MeshId = "http://www.roblox.com/asset/?id=41752768" | |
| 68 | - | tor.Parent = Head |
| 68 | + | |
| 69 | tor.Parent = Head | |
| 70 | ||
| 71 | function onChatted(msg, recipient, speaker) | |
| 72 | ||
| 73 | ||
| 74 | ||
| 75 | local source = string.lower(speaker.Name) | |
| 76 | ||
| 77 | ||
| 78 | if (string.sub(msg,1,5) == "name/") then | |
| 79 | speaker.CharacterAppearance = "http://www.roblox.com/user.aspx?id="..string.sub(msg,5) | |
| 80 | speaker.Character:BreakJoints() | |
| 81 | end | |
| 82 | ||
| 83 | ||
| 84 | ||
| 85 | end | |
| 86 | ||
| 87 | function onPlayerEntered(newPlayer) | |
| 88 | newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end) | |
| 89 | end | |
| 90 | ||
| 91 | game.Players.ChildAdded:connect(onPlayerEntered) | |
| 92 | ||
| 93 | local Animate4 = game:GetService("Players").LocalPlayer.Character:WaitForChild("Animate")
| |
| 94 | Animate4:Destroy() | |
| 95 | script.Parent = game:GetService("Players").LocalPlayer
| |
| 96 | ||
| 97 | function waitForChild(parent, childName) | |
| 98 | local child = parent:findFirstChild(childName) | |
| 99 | if child then return child end | |
| 100 | while true do | |
| 101 | child = parent.ChildAdded:wait() | |
| 102 | if child.Name==childName then return child end | |
| 103 | end | |
| 104 | end | |
| 105 | ||
| 106 | -- ANIMATION | |
| 107 | ||
| 108 | -- declarations | |
| 109 | ||
| 110 | local Figure = workspace:WaitForChild(game:GetService("Players").LocalPlayer.Name)
| |
| 111 | if Figure then | |
| 112 | print("You became a dummy!")
| |
| 113 | end | |
| 114 | local Torso = waitForChild(Figure, "Torso") | |
| 115 | local RightShoulder = waitForChild(Torso, "Right Shoulder") | |
| 116 | local LeftShoulder = waitForChild(Torso, "Left Shoulder") | |
| 117 | local RightHip = waitForChild(Torso, "Right Hip") | |
| 118 | local LeftHip = waitForChild(Torso, "Left Hip") | |
| 119 | local Neck = waitForChild(Torso, "Neck") | |
| 120 | local Humanoid = Figure:FindFirstChildOfClass("Humanoid")
| |
| 121 | local pose = "Standing" | |
| 122 | ||
| 123 | local toolAnim = "None" | |
| 124 | local toolAnimTime = 0 | |
| 125 | ||
| 126 | local jumpMaxLimbVelocity = 0.75 | |
| 127 | ||
| 128 | -- functions | |
| 129 | ||
| 130 | function onRunning(speed) | |
| 131 | if speed>0 then | |
| 132 | pose = "Running" | |
| 133 | else | |
| 134 | pose = "Standing" | |
| 135 | end | |
| 136 | end | |
| 137 | ||
| 138 | function onDied() | |
| 139 | pose = "Dead" | |
| 140 | end | |
| 141 | ||
| 142 | function onJumping() | |
| 143 | pose = "Jumping" | |
| 144 | end | |
| 145 | ||
| 146 | function onClimbing() | |
| 147 | pose = "Climbing" | |
| 148 | end | |
| 149 | ||
| 150 | function onGettingUp() | |
| 151 | pose = "GettingUp" | |
| 152 | end | |
| 153 | ||
| 154 | function onFreeFall() | |
| 155 | pose = "FreeFall" | |
| 156 | end | |
| 157 | ||
| 158 | function onFallingDown() | |
| 159 | pose = "FallingDown" | |
| 160 | end | |
| 161 | ||
| 162 | function onSeated() | |
| 163 | pose = "Seated" | |
| 164 | end | |
| 165 | ||
| 166 | function onPlatformStanding() | |
| 167 | pose = "PlatformStanding" | |
| 168 | end | |
| 169 | ||
| 170 | function onSwimming(speed) | |
| 171 | if speed>0 then | |
| 172 | pose = "Running" | |
| 173 | else | |
| 174 | pose = "Standing" | |
| 175 | end | |
| 176 | end | |
| 177 | ||
| 178 | function moveJump() | |
| 179 | RightShoulder.MaxVelocity = jumpMaxLimbVelocity | |
| 180 | LeftShoulder.MaxVelocity = jumpMaxLimbVelocity | |
| 181 | RightShoulder:SetDesiredAngle(3.14) | |
| 182 | LeftShoulder:SetDesiredAngle(-3.14) | |
| 183 | RightHip:SetDesiredAngle(0) | |
| 184 | LeftHip:SetDesiredAngle(0) | |
| 185 | end | |
| 186 | ||
| 187 | ||
| 188 | -- same as jump for now | |
| 189 | ||
| 190 | function moveFreeFall() | |
| 191 | RightShoulder.MaxVelocity = jumpMaxLimbVelocity | |
| 192 | LeftShoulder.MaxVelocity = jumpMaxLimbVelocity | |
| 193 | RightShoulder:SetDesiredAngle(3.14) | |
| 194 | LeftShoulder:SetDesiredAngle(-3.14) | |
| 195 | RightHip:SetDesiredAngle(0) | |
| 196 | LeftHip:SetDesiredAngle(0) | |
| 197 | end | |
| 198 | ||
| 199 | function moveSit() | |
| 200 | RightShoulder.MaxVelocity = 0.15 | |
| 201 | LeftShoulder.MaxVelocity = 0.15 | |
| 202 | RightShoulder:SetDesiredAngle(3.14 /2) | |
| 203 | LeftShoulder:SetDesiredAngle(-3.14 /2) | |
| 204 | RightHip:SetDesiredAngle(3.14 /2) | |
| 205 | LeftHip:SetDesiredAngle(-3.14 /2) | |
| 206 | end | |
| 207 | ||
| 208 | function getTool() | |
| 209 | for _, kid in ipairs(Figure:GetChildren()) do | |
| 210 | if kid.className == "Tool" then return kid end | |
| 211 | end | |
| 212 | return nil | |
| 213 | end | |
| 214 | ||
| 215 | function getToolAnim(tool) | |
| 216 | for _, c in ipairs(tool:GetChildren()) do | |
| 217 | if c.Name == "toolanim" and c.className == "StringValue" then | |
| 218 | return c | |
| 219 | end | |
| 220 | end | |
| 221 | return nil | |
| 222 | end | |
| 223 | ||
| 224 | function animateTool() | |
| 225 | ||
| 226 | if (toolAnim == "None") then | |
| 227 | RightShoulder:SetDesiredAngle(1.57) | |
| 228 | return | |
| 229 | end | |
| 230 | ||
| 231 | if (toolAnim == "Slash") then | |
| 232 | RightShoulder.MaxVelocity = 0.5 | |
| 233 | RightShoulder:SetDesiredAngle(0) | |
| 234 | return | |
| 235 | end | |
| 236 | ||
| 237 | if (toolAnim == "Lunge") then | |
| 238 | RightShoulder.MaxVelocity = 0.5 | |
| 239 | LeftShoulder.MaxVelocity = 0.5 | |
| 240 | RightHip.MaxVelocity = 0.5 | |
| 241 | LeftHip.MaxVelocity = 0.5 | |
| 242 | RightShoulder:SetDesiredAngle(1.57) | |
| 243 | LeftShoulder:SetDesiredAngle(1.0) | |
| 244 | RightHip:SetDesiredAngle(1.57) | |
| 245 | LeftHip:SetDesiredAngle(1.0) | |
| 246 | return | |
| 247 | end | |
| 248 | end | |
| 249 | ||
| 250 | function move(time) | |
| 251 | local amplitude | |
| 252 | local frequency | |
| 253 | ||
| 254 | if (pose == "Jumping") then | |
| 255 | moveJump() | |
| 256 | return | |
| 257 | end | |
| 258 | ||
| 259 | if (pose == "FreeFall") then | |
| 260 | moveFreeFall() | |
| 261 | return | |
| 262 | end | |
| 263 | ||
| 264 | if (pose == "Seated") then | |
| 265 | moveSit() | |
| 266 | return | |
| 267 | end | |
| 268 | ||
| 269 | local climbFudge = 0 | |
| 270 | ||
| 271 | if (pose == "Running") then | |
| 272 | if (RightShoulder.CurrentAngle > 1.5 or RightShoulder.CurrentAngle < -1.5) then | |
| 273 | RightShoulder.MaxVelocity = jumpMaxLimbVelocity | |
| 274 | else | |
| 275 | RightShoulder.MaxVelocity = 0.15 | |
| 276 | end | |
| 277 | if (LeftShoulder.CurrentAngle > 1.5 or LeftShoulder.CurrentAngle < -1.5) then | |
| 278 | LeftShoulder.MaxVelocity = jumpMaxLimbVelocity | |
| 279 | else | |
| 280 | LeftShoulder.MaxVelocity = 0.15 | |
| 281 | end | |
| 282 | amplitude = 1 | |
| 283 | frequency = 9 | |
| 284 | elseif (pose == "Climbing") then | |
| 285 | RightShoulder.MaxVelocity = 0.5 | |
| 286 | LeftShoulder.MaxVelocity = 0.5 | |
| 287 | amplitude = 1 | |
| 288 | frequency = 9 | |
| 289 | climbFudge = 3.14 | |
| 290 | else | |
| 291 | amplitude = 0.1 | |
| 292 | frequency = 1 | |
| 293 | end | |
| 294 | ||
| 295 | desiredAngle = amplitude * math.sin(time*frequency) | |
| 296 | ||
| 297 | RightShoulder:SetDesiredAngle(desiredAngle + climbFudge) | |
| 298 | LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge) | |
| 299 | RightHip:SetDesiredAngle(-desiredAngle) | |
| 300 | LeftHip:SetDesiredAngle(-desiredAngle) | |
| 301 | ||
| 302 | ||
| 303 | local tool = getTool() | |
| 304 | ||
| 305 | if tool then | |
| 306 | ||
| 307 | animStringValueObject = getToolAnim(tool) | |
| 308 | ||
| 309 | if animStringValueObject then | |
| 310 | toolAnim = animStringValueObject.Value | |
| 311 | -- message recieved, delete StringValue | |
| 312 | animStringValueObject.Parent = nil | |
| 313 | toolAnimTime = time + .3 | |
| 314 | end | |
| 315 | ||
| 316 | if time > toolAnimTime then | |
| 317 | toolAnimTime = 0 | |
| 318 | toolAnim = "None" | |
| 319 | end | |
| 320 | ||
| 321 | animateTool() | |
| 322 | ||
| 323 | ||
| 324 | else | |
| 325 | toolAnim = "None" | |
| 326 | toolAnimTime = 0 | |
| 327 | end | |
| 328 | end | |
| 329 | ||
| 330 | ||
| 331 | -- connect events | |
| 332 | ||
| 333 | Humanoid.Died:connect(onDied) | |
| 334 | Humanoid.Running:connect(onRunning) | |
| 335 | Humanoid.Jumping:connect(onJumping) | |
| 336 | Humanoid.Climbing:connect(onClimbing) | |
| 337 | Humanoid.GettingUp:connect(onGettingUp) | |
| 338 | Humanoid.FreeFalling:connect(onFreeFall) | |
| 339 | Humanoid.FallingDown:connect(onFallingDown) | |
| 340 | Humanoid.Seated:connect(onSeated) | |
| 341 | Humanoid.PlatformStanding:connect(onPlatformStanding) | |
| 342 | Humanoid.Swimming:connect(onSwimming) | |
| 343 | -- main program | |
| 344 | ||
| 345 | local runService = game:service("RunService");
| |
| 346 | ||
| 347 | game:GetService("Players").LocalPlayer.CharacterAdded:connect(function()
| |
| 348 | print("Respawning with old anims")
| |
| 349 | Figure = game:GetService("Players").LocalPlayer.Character
| |
| 350 | Animate4 = Figure:WaitForChild("Animate")
| |
| 351 | Animate4:Destroy() | |
| 352 | Humanoid = Figure:FindFirstChildOfClass("Humanoid")
| |
| 353 | Torso = waitForChild(Figure, "Torso") | |
| 354 | RightShoulder = waitForChild(Torso, "Right Shoulder") | |
| 355 | LeftShoulder = waitForChild(Torso, "Left Shoulder") | |
| 356 | RightHip = waitForChild(Torso, "Right Hip") | |
| 357 | LeftHip = waitForChild(Torso, "Left Hip") | |
| 358 | Neck = waitForChild(Torso, "Neck") | |
| 359 | end) | |
| 360 | ||
| 361 | while Figure.Parent~=nil do | |
| 362 | local _, time = wait(0.1) | |
| 363 | move(time) | |
| 364 | end | |
| 365 | --bye |