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