View difference between Paste ID: phnpfjkR and Pds4MUU4
SHOW: | | - or go back to the newest paste.
1
--This is just a fun script. Make it local to work, have fun. --
2
do --the animating
3
plr = game:service'Players'.LocalPlayer
4
char = plr.Character
5
mouse = plr:GetMouse()
6
humanoid = char:findFirstChild("Humanoid")
7
torso = char:findFirstChild("Torso")
8
head = char.Head
9
ra = char:findFirstChild("Right Arm")
10
la = char:findFirstChild("Left Arm")
11
rl = char:findFirstChild("Right Leg")
12
ll = char:findFirstChild("Left Leg")
13
rs = torso:findFirstChild("Right Shoulder")
14
ls = torso:findFirstChild("Left Shoulder")
15
rh = torso:findFirstChild("Right Hip")
16
lh = torso:findFirstChild("Left Hip")
17
neck = torso:findFirstChild("Neck")
18
rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
19
anim = char:findFirstChild("Animate")
20
rootpart = char:findFirstChild("HumanoidRootPart")
21
camera = workspace.CurrentCamera
22
if anim then
23
anim:Destroy()
24
end
25
 
26
 
27
do --CFrame lerp
28
        local function QuaternionFromCFrame(cf)
29
                local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
30
                local trace = m00 + m11 + m22
31
                if trace > 0 then
32
                        local s = math.sqrt(1 + trace)
33
                        local recip = 0.5/s
34
                        return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
35
                else
36
                        local i = 0
37
                        if m11 > m00 then
38
                                i = 1
39
                        end
40
                        if m22 > (i == 0 and m00 or m11) then
41
                                i = 2
42
                        end
43
                        if i == 0 then
44
                                local s = math.sqrt(m00-m11-m22+1)
45
                                local recip = 0.5/s
46
                                return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
47
                        elseif i == 1 then
48
                                local s = math.sqrt(m11-m22-m00+1)
49
                                local recip = 0.5/s
50
                                return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
51
                        elseif i == 2 then
52
                                local s = math.sqrt(m22-m00-m11+1)
53
                                local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
54
                        end
55
                end
56
        end
57
        local function QuaternionToCFrame(px, py, pz, x, y, z, w)
58
                local xs, ys, zs = x + x, y + y, z + z
59
                local wx, wy, wz = w*xs, w*ys, w*zs
60
                local xx = x*xs
61
                local xy = x*ys
62
                local xz = x*zs
63
                local yy = y*ys
64
                local yz = y*zs
65
                local zz = z*zs
66
                return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
67
                end  
68
        local function QuaternionSlerp(a, b, t)
69
                local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
70
                local startInterp, finishInterp;
71
                if cosTheta >= 0.0001 then
72
                        if (1 - cosTheta) > 0.0001 then
73
                                local theta = math.acos(cosTheta)
74
                                local invSinTheta = 1/math.sin(theta)
75
                                startInterp = math.sin((1-t)*theta)*invSinTheta
76
                                finishInterp = math.sin(t*theta)*invSinTheta  
77
                        else
78
                                startInterp = 1-t
79
                                finishInterp = t
80
                        end
81
                else
82
                        if (1+cosTheta) > 0.0001 then
83
                                local theta = math.acos(-cosTheta)
84
                                local invSinTheta = 1/math.sin(theta)
85
                                startInterp = math.sin((t-1)*theta)*invSinTheta
86
                                finishInterp = math.sin(t*theta)*invSinTheta
87
                        else
88
                                startInterp = t-1
89
                                finishInterp = t
90
                        end
91
                end
92
                return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
93
        end  
94
        function clerp(a,b,t)
95
                local qa = {QuaternionFromCFrame(a)}
96
                local qb = {QuaternionFromCFrame(b)}
97
                local ax, ay, az = a.x, a.y, a.z
98
                local bx, by, bz = b.x, b.y, b.z  
99
                local _t = 1-t
100
                return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
101
        end
102
 
103
end
104
105
local rm = Instance.new("Motor", torso)
106
rm.C0 = CFrame.new(1.5, 0.5, 0)
107
rm.C1 = CFrame.new(0, 0.5, 0)
108
rm.Part0 = torso
109
rm.Part1 = ra
110
local lm = Instance.new("Motor", torso)
111
lm.C0 = CFrame.new(-1.5, 0.5, 0)
112
lm.C1 = CFrame.new(0, 0.5, 0)
113
lm.Part0 = torso
114
lm.Part1 = la
115
 
116
local rlegm = Instance.new("Motor", torso)
117
rlegm.C0 = CFrame.new(0.5, -1, 0)
118
rlegm.C1 = CFrame.new(0, 1, 0)
119
rlegm.Part0 = torso
120
rlegm.Part1 = rl
121
local llegm = Instance.new("Motor", torso)
122
llegm.C0 = CFrame.new(-0.5, -1, 0)
123
llegm.C1 = CFrame.new(0, 1, 0)
124
llegm.Part0 = torso
125
llegm.Part1 = ll
126
 
127
neck.C0 = CFrame.new(0, 1, 0)
128
neck.C1 = CFrame.new(0, -0.5, 0)
129
 
130
 
131
rj.C0 = CFrame.new()
132
rj.C1 = CFrame.new()
133
 
134
 
135
local sound = Instance.new("Sound", head)
136
sound.SoundId = "http://www.roblox.com/asset/?id=130797915"
137
sound.Volume = 0.8
138
sound.Looped = true
139
 
140
for i,v in pairs(char:children()) do
141
    if v:IsA("Hat") then
142
        v:Destroy()
143
    end
144
end
145
 
146
 
147
--look of the fox here
148
game:service'InsertService':LoadAsset(25930301):children()[1].Parent = char
149
Instance.new("PointLight", head).Range = 10
150
 
151
152
 
153
 
154
local speed = 0.3
155
local angle = 0
156
local sitting = false
157
local humanwalk = false
158
local anglespeed = 1
159
rsc0 = rm.C0
160
lsc0 = lm.C0
161
llc0 = llegm.C0
162
rlc0 = rlegm.C0
163
neckc0 = neck.C0
164
 
165
local controllerService = game:GetService("ControllerService")
166
local controller = controllerService:GetChildren()[1]
167
 
168
controller.Parent = nil
169
 
170
Instance.new("HumanoidController", game:service'ControllerService')
171
Instance.new("SkateboardController", game:service'ControllerService')
172
Instance.new("VehicleController", game:service'ControllerService')
173
local controller = controllerService:GetChildren()[1]
174
mouse.KeyDown:connect(function(k)
175
    if k == "q" then
176
        humanwalk = not humanwalk
177
    end
178
    if k == "z" then
179
        if not sound.IsPlaying then
180
            sound:stop()
181
            sound.SoundId = "http://www.roblox.com/asset/?id=130802245"
182
            wait()
183
            sound:play()
184
        end
185
    end
186
    if k == "x" then
187
        if not sound.IsPlaying then
188
            sound:stop()
189
            sound.SoundId = "http://www.roblox.com/asset/?id=130797915"
190
            wait()
191
            sound:play()
192
        end
193
    end
194
    if k == "c" then
195
        if not sound.IsPlaying then
196
            sound:stop()
197
            sound.SoundId = "http://www.roblox.com/asset/?id=149713968"
198
            wait()
199
            sound:play()
200
        end
201
    end
202
    if string.byte(k) == 48 then
203
        humanoid.WalkSpeed = 34
204
    end
205
   
206
end)
207
mouse.KeyUp:connect(function(k)
208
   
209
    if string.byte(k) == 48 then
210
        humanoid.WalkSpeed = 16
211
    end
212
   
213
end)
214
 
215
   
216
 
217
while wait() do
218
    angle = (angle % 100) + anglespeed/10
219
        mvmnt = math.pi * math.sin(math.pi*2/100*(angle*10))
220
        local rscf = rsc0
221
        local lscf = lsc0
222
        local rlcf = rlc0
223
        local llcf = llc0
224
        local rjcf = CFrame.new()
225
        local ncf = neckc0
226
        local rayz = Ray.new(rootpart.Position, Vector3.new(0, -6, 0))
227
            local hitz, enz = workspace:findPartOnRay(rayz, char)
228
            if not hitz then
229
        if sound.IsPlaying then
230
            sound:stop()
231
        end
232
       
233
        if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude > 2 then
234
       
235
        ncf = neckc0 * CFrame.Angles(math.pi/5, 0, 0)
236
        rjcf = CFrame.new() * CFrame.Angles(-math.pi/5, math.sin(angle)*0.05, 0)
237
        rscf = rsc0 * CFrame.Angles(math.pi/1.7+math.sin(angle)*0.1, 0, 0)
238
        lscf = lsc0 * CFrame.Angles(math.pi/1.7+math.sin(-angle)*0.1, 0, 0)
239
        rlcf = rlc0 * CFrame.Angles(-math.pi/10+math.sin(-angle)*0.3, 0, 0)
240
        llcf = llc0 * CFrame.Angles(-math.pi/10+math.sin(angle)*0.3, 0, 0)
241
       
242
        else
243
       
244
        ncf = neckc0 * CFrame.Angles(math.pi/14, 0, 0)
245
        rjcf = CFrame.new() * CFrame.Angles(-math.pi/18, math.sin(angle)*0.05, 0)
246
        rscf = rsc0 * CFrame.Angles(-math.pi/10+math.sin(angle)*0.2, 0, 0)
247
        lscf = lsc0 * CFrame.Angles(-math.pi/10+math.sin(-angle)*0.2, 0, 0)
248
        rlcf = rlc0 * CFrame.new(0, 0.7, -0.5) CFrame.Angles(-math.pi/14, 0, 0)
249
        llcf = llc0 * CFrame.Angles(-math.pi/20, 0, 0)
250
       
251
        end
252
    elseif humanoid.Sit then
253
        if sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=130797915" then
254
        anglespeed = 6
255
        ncf = neckc0 * CFrame.Angles(math.pi/5-math.sin(angle)*0.1, 0, 0)
256
        rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, 0, 0)
257
        rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
258
        lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
259
        rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
260
        llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
261
        elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=135570347" then
262
        anglespeed = 4
263
        ncf = neckc0 * CFrame.Angles(math.pi/5-math.abs(math.sin(angle))*0.3, 0, 0)
264
        rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, 0, 0)
265
        rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
266
        lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
267
        rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
268
        llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
269
        elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=149713968" then
270
        anglespeed = 2
271
        ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08)
272
        rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0)
273
        rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
274
        lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
275
        rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
276
        llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
277
        else
278
        anglespeed = 1/2
279
        ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08)
280
        rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0)
281
        rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
282
        lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
283
        rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
284
        llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
285
        end
286
    elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 2 then
287
        if sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=130797915" then
288
        anglespeed = 6
289
            ncf = neckc0 * CFrame.Angles(math.pi/10-math.sin(angle)*0.07, 0, 0)
290
            rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(-math.pi/10, math.sin(angle)*0.001, 0)
291
            rscf = rsc0 * CFrame.Angles(math.pi/1+math.sin(angle)*0.5, 0, 0)
292
            lscf = lsc0 * CFrame.Angles(math.pi/1+math.sin(angle)*0.5, 0, 0)
293
            rlcf = rlc0 * CFrame.Angles(math.pi/10, math.sin(angle)*0.08, math.rad(6.5))
294
            llcf = llc0 * CFrame.Angles(math.pi/10, -math.sin(angle)*0.08, -math.rad(6.5))
295
        elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=149713968" then
296
            anglespeed = 2
297
            ncf = neckc0 * CFrame.Angles(math.pi/10-math.abs(math.sin(angle))*0.3, 0, 0)
298
            rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(-math.pi/20, math.sin(angle)*0.001, 0)
299
            rscf = rsc0 * CFrame.Angles(math.pi/2+math.abs(math.sin(angle)*1), 0, 0)
300
            lscf = lsc0 * CFrame.Angles(math.pi/2+math.abs(math.sin(angle)*1), 0, 0)
301
            rlcf = rlc0 * CFrame.Angles(math.pi/20, math.sin(angle)*0.08, math.rad(2.5))
302
            llcf = llc0 * CFrame.Angles(math.pi/20, -math.sin(angle)*0.08, -math.rad(2.5))
303
        elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=130802245" then
304
        anglespeed = 3
305
        ncf = neckc0 * CFrame.Angles(math.sin(angle)*0.07, math.rad(30), 0)
306
        rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(0, math.sin(angle)*0.001, 0)
307
        rscf = rsc0 * CFrame.Angles(math.sin(angle)*0.05, 0, 0)
308
        lscf = lsc0 * CFrame.Angles(math.sin(-angle)*0.05, 0, 0)
309
        rlcf = rlc0 * CFrame.new(0, -0.1 + math.abs(mvmnt)*0.1, -0.1) * CFrame.Angles(0, math.rad(5), math.rad(5))
310
        llcf = llc0 * CFrame.Angles(0, math.rad(2.5), math.rad(1))
311
        else
312
            if humanwalk then
313
                        anglespeed = 1/4
314
        ncf = neckc0 * CFrame.Angles(-math.sin(angle)*0.07, 0, 0)
315
        rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(0, math.sin(angle)*0.001, 0)
316
        rscf = rsc0 * CFrame.Angles(math.sin(angle)*0.1, 0, 0)
317
        lscf = lsc0 * CFrame.Angles(math.sin(-angle)*0.1, 0, 0)
318
        rlcf = rlc0 * CFrame.Angles(0, math.sin(angle)*0.08, math.rad(2.5))
319
        llcf = llc0 * CFrame.Angles(0, -math.sin(angle)*0.08, -math.rad(2.5))
320
                else
321
        anglespeed = 1/2
322
        ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08)
323
        rjcf = CFrame.new(0, -2, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0)
324
        rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
325
        lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
326
        rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
327
        llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
328
            end
329
        end
330
    elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 20 then
331
        if sound.IsPlaying then
332
            sound:stop()
333
        end
334
        if humanwalk then
335
                                anglespeed = 4
336
        ncf = neckc0 * CFrame.Angles(math.pi/24, mvmnt*.02, 0)
337
        rjcf = CFrame.new(0, math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/24, -mvmnt*.02, 0)
338
        rscf = rsc0 * CFrame.Angles(math.sin(angle)*1.25, 0, -math.abs(mvmnt)*0.02)
339
        lscf = lsc0 * CFrame.Angles(math.sin(-angle)*1.25, 0, math.abs(mvmnt)*0.02)
340
        rlcf = rlc0 * CFrame.Angles(math.sin(-angle)*1, 0, math.rad(.5))
341
        llcf = llc0 * CFrame.Angles(math.sin(angle)*1, 0, -math.rad(.5))
342
                else
343
        anglespeed = 4
344
        ncf = neckc0 * CFrame.new(0, 0, .2) * CFrame.Angles(math.pi/1.9, 0, 0)
345
        rjcf = CFrame.new(0, -1.5+math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/1.9, math.sin(mvmnt/2)*0.05, 0)
346
        rscf = rsc0 * CFrame.new(-.45, 0.2, -.4+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2+math.sin(angle)*0.7, 0, math.rad(5))
347
        lscf = lsc0 * CFrame.new(.45, 0.2, .1-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2+math.sin(-angle)*0.7, 0, -math.rad(5))
348
        rlcf = rlc0 * CFrame.new(0, 0, -.3+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*0.6, 0, math.abs(mvmnt)*0.025)
349
        llcf = llc0 * CFrame.new(0, 0, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(angle)*.6, 0, -math.abs(mvmnt)*0.025)
350
        end
351
    elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 20 then
352
        if sound.IsPlaying then
353
            sound:stop()
354
        end
355
        if humanwalk then
356
        anglespeed = 5
357
        ncf = neckc0 * CFrame.Angles(math.pi/20, math.sin(angle)*.04, 0)
358
        rjcf = CFrame.new(0, -.4 + math.abs(mvmnt)*0.25, 0) * CFrame.Angles(-math.pi/20, -math.sin(angle)*.08, 0)
359
        rscf = rsc0 * CFrame.new(0, 0, -.3+math.abs(mvmnt)*0.125) *  CFrame.Angles(math.pi/18+math.sin(angle)*1.5, 0, -math.abs(mvmnt)*0.02)
360
        lscf = lsc0 * CFrame.new(0, 0, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/18+math.sin(-angle)*1.5, 0, math.abs(mvmnt)*0.02)
361
        rlcf = rlc0 * CFrame.new(0, 0, -.6+math.abs(mvmnt)*0.125) * CFrame.Angles(-math.pi/18+math.sin(-angle)*1.3, 0, math.rad(.5))
362
        llcf = llc0 * CFrame.new(0, 0, -math.abs(mvmnt)*0.125) * CFrame.Angles(-math.pi/18+math.sin(angle)*1.3, 0, -math.rad(.5))
363
        else
364
        anglespeed = 5.5
365
        ncf = neckc0 * CFrame.new(0, 0, .2) * CFrame.Angles(math.pi/1.9+math.sin(mvmnt/2)*0.05, 0, 0)
366
        rjcf = CFrame.new(0, -1.3+math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/1.9+math.abs(mvmnt/2)*0.1, 0, 0)
367
        rscf = rsc0 * CFrame.new(-1, 0.2, -.5) * CFrame.Angles(math.pi/2+math.sin(angle)*1.8, 0, math.rad(5))
368
        lscf = lsc0 * CFrame.new(1, 0.2, -.5) * CFrame.Angles(math.pi/2+math.sin(angle)*1.8, 0, -math.rad(5))
369
        rlcf = rlc0 * CFrame.new(0, .3-math.abs(mvmnt)*0.125, -.3+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*1.4, 0, math.abs(mvmnt)*0.025)
370
        llcf = llc0 * CFrame.new(0, .3-math.abs(mvmnt)*0.125, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*1.4, 0, -math.abs(mvmnt)*0.025)
371
        end
372
    end
373
       
374
    rm.C0 = clerp(rm.C0,rscf,speed)
375
    lm.C0 = clerp(lm.C0,lscf,speed)
376
    rj.C0 = clerp(rj.C0,rjcf,speed)
377
    neck.C0 = clerp(neck.C0,ncf,speed)
378
    rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
379
    llegm.C0 = clerp(llegm.C0,llcf,speed)
380
end
381
 
382
 
383
end