View difference between Paste ID: X4V2gkV7 and DpzjT5yA
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