View difference between Paste ID: PBpQBfT6 and 1GKFrmzb
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,game,owner = owner,game
3
local RealPlayer = Player
4
do
5
    print("FE Compatibility code by Mokiros")
6
    local rp = RealPlayer
7
    script.Parent = rp.Character
8
   
9
    --RemoteEvent for communicating
10
    local Event = Instance.new("RemoteEvent")
11
    Event.Name = "UserInput_Event"
12
 
13
    --Fake event to make stuff like Mouse.KeyDown work
14
    local function fakeEvent()
15
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16
        t.connect = t.Connect
17
        return t
18
    end
19
 
20
    --Creating fake input objects with fake variables
21
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
22
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25
    end}
26
    --Merged 2 functions into one by checking amount of arguments
27
    CAS.UnbindAction = CAS.BindAction
28
 
29
    --This function will trigger the events that have been :Connect()'ed
30
    local function te(self,ev,...)
31
        local t = m[ev]
32
        if t and t._fakeEvent then
33
            for _,f in pairs(t.Functions) do
34
                f(...)
35
            end
36
        end
37
    end
38
    m.TrigEvent = te
39
    UIS.TrigEvent = te
40
 
41
    Event.OnServerEvent:Connect(function(plr,io)
42
        if plr~=rp then return end
43
        m.Target = io.Target
44
        m.Hit = io.Hit
45
        if not io.isMouse then
46
            local b = io.UserInputState == Enum.UserInputState.Begin
47
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
            end
50
            for _,t in pairs(CAS.Actions) do
51
                for _,k in pairs(t.Keys) do
52
                    if k==io.KeyCode then
53
                        t.Function(t.Name,io.UserInputState,io)
54
                    end
55
                end
56
            end
57
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
        end
60
    end)
61
    Event.Parent = NLS([==[
62
    local Player = game:GetService("Players").LocalPlayer
63
    local Event = script:WaitForChild("UserInput_Event")
64
 
65
    local Mouse = Player:GetMouse()
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,Hit=Mouse.Hit,Target=Mouse.Target})
71
    end
72
    UIS.InputBegan:Connect(input)
73
    UIS.InputEnded:Connect(input)
74
 
75
    local h,t
76
    --Give the server mouse data 30 times every second, but only if the values changed
77
    --If player is not moving their mouse, client won't fire events
78
    while wait(1/30) do
79
        if h~=Mouse.Hit or t~=Mouse.Target then
80
            h,t=Mouse.Hit,Mouse.Target
81
            Event:FireServer({isMouse=true,Target=t,Hit=h})
82
        end
83
    end]==],Player.Character)
84
 
85
    ----Sandboxed game object that allows the usage of client-side methods and services
86
    --Real game object
87
    local _rg = game
88
 
89
    --Metatable for fake service
90
    local fsmt = {
91
        __index = function(self,k)
92
            local s = rawget(self,"_RealService")
93
            if s then return s[k] end
94
        end,
95
        __newindex = function(self,k,v)
96
            local s = rawget(self,"_RealService")
97
            if s then s[k]=v end
98
        end,
99
        __call = function(self,...)
100
            local s = rawget(self,"_RealService")
101
            if s then return s(...) end
102
        end
103
    }
104
    local function FakeService(t,RealService)
105
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106
        return setmetatable(t,fsmt)
107
    end
108
 
109
    --Fake game object
110
    local g = {
111
        GetService = function(self,s)
112
            return self[s]
113
        end,
114
        Players = FakeService({
115
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116
        },"Players"),
117
        UserInputService = FakeService(UIS,"UserInputService"),
118
        ContextActionService = FakeService(CAS,"ContextActionService"),
119
    }
120
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121
    g.service = g.GetService
122
   
123
    g.RunService = FakeService({
124
        RenderStepped = _rg:GetService("RunService").Heartbeat,
125
        BindToRenderStep = function(self,name,_,fun)
126
            self._btrs[name] = self.Heartbeat:Connect(fun)
127
        end,
128
        UnbindFromRenderStep = function(self,name)
129
            self._btrs[name]:Disconnect()
130
        end,
131
    },"RunService")
132
 
133
    setmetatable(g,{
134
        __index=function(self,s)
135
            return _rg:GetService(s) or typeof(_rg[s])=="function"
136
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137
        end,
138
        __newindex = fsmt.__newindex,
139
        __call = fsmt.__call
140
    })
141
    --Changing owner to fake player object to support owner:GetMouse()
142
    game,owner = g,g.Players.LocalPlayer
143
end
144
--//Holiday Feelings//--
145
print("Holiday Feelings")
146
print("Made by vlad20020.")
147
warn("This is holiday time!")
148
print("Controls below ok")
149
warn([[E - Hug
150
Q - Throw snowbal
151
F - Place a gift
152
C - TP
153
Z - Sit]])
154
local plr = game:GetService("Players").LocalPlayer
155
local plrg = plr.PlayerGui
156
local mouse = plr:GetMouse()
157
local char = plr.Character
158
local h = char:FindFirstChild("Head")
159
local t = char:FindFirstChild("Torso")
160
local ra = char:FindFirstChild("Right Arm")
161
local la = char:FindFirstChild("Left Arm")
162
local rl = char:FindFirstChild("Right Leg")
163
local ll = char:FindFirstChild("Left Leg")
164
local rs = t:FindFirstChild("Right Shoulder")
165
local ls = t:FindFirstChild("Left Shoulder")
166
local rh = t:FindFirstChild("Right Hip")
167
local lh = t:FindFirstChild("Left Hip")
168
local nec = t.Neck
169
local rut = char.HumanoidRootPart
170
local rutj = rut.RootJoint
171
local hum = char:FindFirstChildOfClass("Humanoid")
172
local cf1 = nec.C1
173
local cf2 = rutj.C1
174
local cf3 = rs.C1
175
local cf4 = ls.C1
176
local cf5 = rh.C1
177
local cf6 = lh.C1
178
local cf01 = nec.C0
179
local cf02 = rutj.C0
180
local cf03 = rs.C0
181
local cf04 = ls.C0
182
local cf05 = rh.C0
183
local cf06 = lh.C0
184
local p0,p1 = nec.Part0,nec.Part1
185
local rsp0,rsp1 = rs.Part0,rs.Part1
186
local lsp0,lsp1 = ls.Part0,ls.Part1
187
local rhp0,rhp1 = rh.Part0,rh.Part1
188
local lhp0,lhp1 = lh.Part0,lh.Part1
189
local aa = 10
190
local aaa = aa*3
191
local change = 0
192
local lchange = 0
193
local sine = 1
194
local hugtime = 1
195
local anim = "idle"
196
local animspeed = .005
197
local animspeed1 = 1.5
198
local walkanimspeed = .1
199
local walkspeed = 16
200
local sumthin = walkspeed/8
201
local idlenum = 0
202
local lsvol = 2.5
203
local whenbored = math.random(2,6)
204
local rad = math.rad
205
local huge = math.huge
206
local using = false
207
local hugging = false
208
local lookinaround = false
209
local aiming = false
210
local sitting = false
211
local furmode = false
212
local landed = false
213
local readytoland = false
214
local cangrabthecorner = false
215
local grabbedc = false
216
local qui = Enum.EasingStyle.Quint
217
local io = Enum.EasingDirection.InOut
218
local tweens = game:GetService("TweenService")
219
local debrs = game:GetService("Debris")
220
local gifts = {"rbxassetid://5013502","rbxassetid://1237427","rbxassetid://6109471","rbxassetid://7812400","rbxassetid://19428684"}
221
local spart
222
local phit
223
local cos = math.cos
224
local sin = math.sin
225
local tan = math.tan
226
local ray = Ray.new
227
local v3 = Vector3.new
228
cff5 = cf5 * CFrame.Angles(rad(2),rad(3),rad(0))
229
cff6 = cf6 * CFrame.Angles(rad(2),rad(-3),rad(0))
230
if plr.UserId == 90745958 or plr.UserId == 62574108 then
231
	furmode = true
232
end
233
if furmode then
234
hugtime = 2.5
235
print("owo uwu")
236
end
237
local effpart = Instance.new("Part") effpart.Size = Vector3.new(2,.1,1) effpart.Massless = true effpart.Transparency = 1 effpart.CanCollide = false effpart.Anchored = false effpart.Parent = char
238
local grabpart = Instance.new("Part") grabpart.Size = Vector3.new(.1,.1,.1) grabpart.Massless = true grabpart.Transparency = 1 grabpart.CanCollide = false grabpart.Anchored = false grabpart.Material = "Neon" grabpart.Parent = char 
239
local pweld = Instance.new("Weld",effpart) pweld.Part0 = t pweld.Part1 = effpart pweld.C0 = CFrame.new(0,-2.2,-.5)
240
local gweld = Instance.new("Weld",grabpart) gweld.Part0 = rut gweld.Part1 = grabpart gweld.C0 = CFrame.new(0,3,-1.4)
241
local lsound = Instance.new("Sound",effpart) lsound.Volume = lsvol lsound.SoundId = "rbxassetid://1161221108"
242
--//ArmJointParts~//--
243
local tpr = Instance.new("Part",t) tpr.Size = Vector3.new(.1,.1,.1) tpr.CanCollide = false tpr.Transparency = 1 tpr.Locked = true
244
local tpl = Instance.new("Part",t) tpl.Size = Vector3.new(.1,.1,.1) tpl.CanCollide = false tpl.Transparency = 1 tpl.Locked = true
245
local tprw = Instance.new("Weld",t) tprw.Part0 = t tprw.Part1 = tpr tprw.C0 = CFrame.new(1,.5,0)
246
local tplw = Instance.new("Weld",t) tplw.Part0 = t tplw.Part1 = tpl tplw.C0 = CFrame.new(-1,.5,0)
247
--
248
local rapr = Instance.new("Part",ra) rapr.Size = Vector3.new(.1,.1,.1) rapr.CanCollide = false rapr.Transparency = 1 rapr.Locked = true
249
local lapl = Instance.new("Part",la) lapl.Size = Vector3.new(.1,.1,.1) lapl.CanCollide = false lapl.Transparency = 1 lapl.Locked = true
250
local raprw = Instance.new("Weld",ra) raprw.Part0 = ra raprw.Part1 = rapr raprw.C0 = CFrame.new(-.5,.5,0)
251
local laplw = Instance.new("Weld",la) laplw.Part0 = la laplw.Part1 = lapl laplw.C0 = CFrame.new(.5,.5,0)
252
--/JointsWelds~//--
253
local rsw = Instance.new("Weld",ra) rsw.Part0 = tpr rsw.Part1 = nil --Right Shoulder
254
local lsw = Instance.new("Weld",la) lsw.Part0 = tpl lsw.Part1 = nil --Left Shoulder
255
local bil = Instance.new("BillboardGui",char) bil.Name = "ChatFunc" bil.Adornee = h bil.Size = UDim2.new(1,0,1,0) bil.StudsOffset = Vector3.new(0,2,0)
256
local effects = Instance.new("Model",char) effects.Name = "Effects"
257
local noanim = true
258
if noanim then
259
if char:WaitForChild("Animate",1.5) then
260
char.Animate:Destroy()
261
end
262
for i,v in pairs(hum:GetPlayingAnimationTracks()) do
263
	v:Stop(0)
264
	v:AdjustSpeed(0)
265
	v:AdjustWeight(math.huge)
266
	v.TimePosition = 0
267
	v:Destroy()
268
end
269
wait()
270
if hum:FindFirstChildOfClass("Animator") then
271
char.Humanoid.Animator:Destroy()
272
end
273
end
274
function swait(num)
275
	game:GetService("RunService").Stepped:Wait()
276
end
277
function remove(instanc,timee)
278
	debrs:AddItem(instanc,timee)
279
end
280
function dest(hit,type)
281
        if hit:IsA("Seat") or hit:IsA("VehicleSeat") then
282
            hit.Parent = nil
283
        end
284
        hit:ClearAllChildren()
285
        hit.Anchored = false hit.CanCollide = true
286
        if hit:IsA("Part") then
287
            hit.FormFactor = "Custom"
288
        end
289
        hit.Size = v3(hit.Size.x/2,hit.Size.y/2,hit.Size.z/2)
290
        hit.CFrame = hit.CFrame * CFrame.new(hit.Size.x/2,hit.Size.y/2,hit.Size.z/2)
291
        local clone = hit:Clone() clone.Parent = workspace
292
        local clone1 = hit:Clone() clone1.Parent = workspace
293
        local clone2 = hit:Clone() clone2.Parent = workspace
294
        local clone3 = hit:Clone() clone3.Parent = workspace
295
        local clone4 = hit:Clone() clone4.Parent = workspace
296
        local clone5 = hit:Clone() clone5.Parent = workspace
297
        local clone6 = hit:Clone() clone6.Parent = workspace
298
        clone.CFrame = hit.CFrame * CFrame.new(0,-hit.Size.y,0)
299
        clone1.CFrame = hit.CFrame * CFrame.new(-hit.Size.x,-hit.Size.y,0)
300
        clone2.CFrame = hit.CFrame * CFrame.new(-hit.Size.x,0,0)
301
        clone3.CFrame = hit.CFrame * CFrame.new(0,0,-hit.Size.z)
302
        clone4.CFrame = clone.CFrame * CFrame.new(0,0,-clone.Size.z)
303
        clone5.CFrame = clone1.CFrame * CFrame.new(0,0,-clone1.Size.z)
304
        clone6.CFrame = clone2.CFrame * CFrame.new(0,0,-clone2.Size.z)
305
        local parts = {hit,clone,clone1,clone2,clone3,clone4,clone5,clone6}
306
		return parts
307
end
308
function rayc(spos,direc,ignore,dist)
309
local rai = ray(spos,direc.Unit * dist)
310
local rhit,rpos,rrot = workspace:FindPartOnRayWithIgnoreList(rai,ignore,false,false)
311
return rhit,rpos,rrot
312
end
313
local tlerp = function(part,tablee,leinght,easingstyle,easingdirec)
314
pcall(function()
315
    local info = TweenInfo.new(
316
    leinght,
317
    easingstyle,
318
    easingdirec,
319
    0,
320
    false,
321
    0
322
    )
323
    local lerp = tweens:Create(part,info,tablee)
324
    lerp:Play()
325
end)
326
end
327
function fire(partp,parent,color1,color2,ssize,osize,leinght,material,minr,maxr,shape,spread,st,ot,onlyraise)
328
    local part = Instance.new("Part",parent) part.Size = Vector3.new(ssize,ssize,ssize) part.Transparency = st part.CanCollide = false part.Anchored = true part.Shape = shape part.Material = material part.BrickColor = BrickColor.new(color1) part.CFrame = partp.CFrame * CFrame.new(partp.Size.x/math.random(-20,20),partp.Size.y/math.random(-20,20),partp.Size.z/math.random(-20,20))
329
    if onlyraise == true then
330
        part.CFrame = CFrame.new(part.CFrame.p,Vector3.new(nil,part.CFrame.y,part.CFrame.z))
331
    else    
332
    end
333
    local pcf = part.CFrame
334
    tlerp(part,{CFrame = pcf * CFrame.new(math.random(-spread,spread)/math.random(2,4),math.random(minr,maxr),math.random(-spread,spread)/math.random(2,4)) * CFrame.Angles(rad(math.random(-180,180)),rad(math.random(-180,180)),rad(math.random(-180,180))),Size = Vector3.new(osize,osize,osize),Color = BrickColor.new(color2).Color,Transparency = ot},leinght,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
335
    game:GetService("Debris"):AddItem(part,leinght)
336
end
337
function removewithfade(part,timebeforefade,randc)
338
pcall(function()
339
	coroutine.resume(coroutine.create(function()
340
		wait(timebeforefade)
341
		part:BreakJoints()
342
		part.Name = "JustGoingAwayOk?"
343
		for i = 1,25 do
344
			if randc then
345
				part.BrickColor = BrickColor.Random()
346
			end
347
			part.Transparency = part.Transparency +.04
348
			wait()
349
		end
350
		part:Destroy()
351
	end))
352
end)
353
end
354
function fadewithfly(part,color,randc)
355
pcall(function()
356
	part:ClearAllChildren()
357
	part.CanCollide = false
358
	part.Anchored = false
359
	part.Massless = true
360
	part.Locked = false
361
	part.Archivable = true
362
	part.Material = "Neon"
363
	part.BrickColor = BrickColor.new(color)
364
	local vel = Instance.new("BodyVelocity")
365
	vel.MaxForce = v3(huge,huge,huge)
366
	vel.P = 10000
367
	vel.Velocity = v3(math.random(-3,3),math.random(1,3),math.random(-3,3))
368
	local avel = Instance.new("BodyAngularVelocity")
369
	avel.MaxTorque = v3(huge,huge,huge)
370
	avel.AngularVelocity = v3(math.random(-2,2),math.random(-2,2),math.random(-2,2))
371
	avel.Parent = part
372
	vel.Parent = part
373
	if randc then
374
		removewithfade(part,0,true)
375
	else
376
		removewithfade(part,0,false)
377
	end
378
end)
379
end
380
function throwsb(to,power)
381
pcall(function()
382
	local sb = Instance.new("Part") 
383
	sb.Size = v3(1,1,1)
384
	sb.BrickColor = BrickColor.new("Institutional white") 
385
	sb.CFrame = ra.CFrame * CFrame.new(0,-1.5,0) 
386
	sb.Material = "Sand"
387
	sb.Parent = workspace
388
	sb.Shape = "Ball"
389
	sb:BreakJoints()
390
	local vel = Instance.new("BodyVelocity") 
391
	vel.MaxForce = v3(huge,huge,huge) 
392
	vel.Velocity = CFrame.new(sb.Position,to).LookVector * power
393
	remove(vel,.2)
394
	vel.Parent = sb
395
	sb.Touched:Connect(function(hit)
396
		if hit.Parent ~= char and hit.Parent.Parent ~= char then
397
			local shum = hit.Parent:FindFirstChildOfClass("Humanoid") or hit.Parent.Parent:FindFirstChildOfClass("Humanoid")
398
			if shum then
399
				coroutine.resume(coroutine.create(function()
400
					shum.PlatformStand = true
401
					wait(.5)
402
					shum.PlatformStand = false
403
				end))
404
			end
405
			local cf = sb.CFrame
406
			sb:Destroy()
407
			for i = 1,math.random(6,12) do
408
				local force = 5
409
				local debr = Instance.new("Part")
410
				debr.Size = v3(.2,.2,.2)
411
				debr.BrickColor = BrickColor.new("Institutional white")
412
				debr.Material = "Sand"
413
				debr.Parent = workspace
414
				debr.CFrame = cf * CFrame.new(1/math.random(-5,5),1/math.random(-5,5),1/math.random(-5,5))
415
				debr:BreakJoints()
416
				debr.Name = "SnowDedree"
417
				local mesh = Instance.new("SpecialMesh",debr)
418
				mesh.MeshType = "Sphere"
419
				mesh.Scale = v3(math.random(10,30)/10,math.random(10,30)/10,math.random(10,30)/10)
420
				local fors = Instance.new("BodyForce",debr)
421
				fors.Force = v3(math.random(-force,force),math.random(-force,force),math.random(-force,force))
422
				remove(debr,math.random(4,7))
423
				remove(fors,.05)
424
			end
425
		end
426
	end)
427
end)
428
end
429
function introhat()
430
pcall(function()
431
	using = true
432
	rsw.Part1 = rapr
433
	lsw.Part1 = lapl
434
	local hpart = Instance.new("Part",char) hpart.Size = Vector3.new(.01,.01,.01) hpart.Transparency = 0 hpart.Name = "Santa Hat"
435
	hpart.Locked = true
436
	local hmesh = Instance.new("FileMesh",hpart) hmesh.MeshId = "http://www.roblox.com/asset/?id=1090610" hmesh.TextureId = "http://www.roblox.com/asset/?id=66690053"
437
	local hweld = Instance.new("Weld",h) hweld.Part0 = ra hweld.Part1 = hpart hweld.C0 = CFrame.new(0,-1.2,0) * CFrame.Angles(rad(-120),rad(30),rad(0))
438
	tlerp(rsw,{C0 = CFrame.new(-.3,-.1,-.1) * CFrame.Angles(rad(50),rad(20),rad(-40))},.5,qui,io)
439
	tlerp(lsw,{C0 = CFrame.new(.3,-.1,-.1) * CFrame.Angles(rad(50),rad(-20),rad(40))},.5,qui,io)
440
	tlerp(hweld,{C0 = CFrame.new(0,-1.2,0) * CFrame.Angles(rad(-120),rad(-65),rad(-30))},.5,qui,io)
441
	wait(.65)
442
	tlerp(rsw,{C0 = CFrame.new(-.3,.65,-.2) * CFrame.Angles(rad(160),rad(20),rad(-30))},.7,qui,io)
443
	tlerp(lsw,{C0 = CFrame.new(.3,.65,-.2) * CFrame.Angles(rad(160),rad(-20),rad(30))},.7,qui,io)
444
	tlerp(hweld,{C0 = CFrame.new(-.3,-1.2,-.2) * CFrame.Angles(rad(-180),rad(-65),rad(-100)) * CFrame.Angles(rad(0),rad(0),rad(60))},.7,qui,io)
445
	wait(.65)
446
	tlerp(rsw,{C0 = CFrame.new(-.3,.15,0) * CFrame.Angles(rad(179),rad(20),rad(-30))},.7,qui,io)
447
	tlerp(lsw,{C0 = CFrame.new(.3,.15,0) * CFrame.Angles(rad(179),rad(-20),rad(30))},.7,qui,io)
448
	hweld.C0 = CFrame.new(-.3,-1,-.2) * CFrame.Angles(rad(-180),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-30)) * CFrame.Angles(rad(0),rad(-30),rad(0))
449
	wait(.6)
450
	hweld.Part0 = h
451
	hweld.C0 = CFrame.new(0,.5,0) * CFrame.Angles(rad(0),rad(-30),rad(0))
452
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},1,qui,io)
453
	tlerp(lsw,{C0 = CFrame.new(0,0,0)},1,qui,io)
454-
	local music = Instance.new("Sound",t) music.Name = "Song" music.SoundId = "rbxassetid://1845187266" music.Volume = 0 music.Looped = true music:Play()
454+
	
455
	spart = Instance.new("Part",char) spart.Size = Vector3.new(20,1,20) spart.CanCollide = false spart.Anchored = true spart.Massless = true spart.Transparency = 1 spart.CFrame = h.CFrame * CFrame.new(0,15,0) spart.Locked = true
456-
		for i = 1,5 do
456+
457-
			music.Volume = music.Volume +.125
457+
458-
			wait(.2)
458+
459
	rs:Destroy()
460
	ls:Destroy()
461
	rh:Destroy()
462
	lh:Destroy()
463
	nec = Instance.new("Motor6D",t) nec.Part0 = p0 nec.Part1 = p1 nec.C0 = cf01
464
	rs = Instance.new("Motor6D",t) rs.Part0 = rsp0 rs.Part1 = rsp1 rs.C0 = cf03
465
	ls = Instance.new("Motor6D",t) ls.Part0 = lsp0 ls.Part1 = lsp1 ls.C0 = cf04
466
	rh = Instance.new("Motor6D",t) rh.Part0 = rhp0 rh.Part1 = rhp1 rh.C0 = cf05
467
	lh = Instance.new("Motor6D",t) lh.Part0 = lhp0 lh.Part1 = lhp1 lh.C0 = cf06
468
	rsw.Part1 = nil
469
	lsw.Part1 = nil
470
	using = false
471
end)
472
end
473
function hug(who)
474
pcall(function()
475
	if not hugging then
476
	local removerut = false
477
	hugging = true
478
	using = true
479
	local tors = who:FindFirstChild("Torso") or who:FindFirstChild("UpperTorso")
480
	local hu = who:FindFirstChildOfClass("Humanoid")
481
	hu.PlatformStand = true
482
	local weld = Instance.new("Weld",t) weld.Part0 = t weld.Part1 = tors weld.C0 = CFrame.new(0,0,-.9) * CFrame.Angles(rad(0),rad(180),rad(0))
483
	local deb = Instance.new("Glue",who) deb.Name = "Hugging"
484
	tlerp(rsw,{C0 = CFrame.new(-.3,-.2,-.45) * CFrame.Angles(rad(110),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-60))},.4,qui,io)
485
	tlerp(lsw,{C0 = CFrame.new(.2,-.2,-.45) * CFrame.Angles(rad(105),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(65))},.4,qui,io)
486
	tlerp(nec,{C0 = CFrame.new(-.15,1,0) * CFrame.Angles(rad(90),rad(180),rad(0)) * CFrame.Angles(rad(0),rad(15),rad(25))},.4,qui,io)
487
	rsw.Part1 = rapr
488
	lsw.Part1 = lapl
489
	wait(hugtime)
490
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},.7,qui,io)
491
	tlerp(lsw,{C0 = CFrame.new(0,0,0)},.7,qui,io)
492
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.7,qui,io)
493
	wait(.4)
494
	hu.PlatformStand = false
495
	weld:Destroy()
496
	wait(.4)
497
	rsw.Part1 = nil
498
	lsw.Part1 = nil
499
	deb:Destroy()
500
	hugging = false
501
	using = false
502
	end
503
end)
504
end
505
function detect()
506
pcall(function()
507
	coroutine.resume(coroutine.create(function()
508
	local canhug = true
509
	local fakedetect = Instance.new("Part",char) fakedetect.Size = Vector3.new(3.5,5,3.5) fakedetect.CanCollide = false fakedetect.Massless = true fakedetect.Transparency = 1 fakedetect.CFrame = t.CFrame
510
	local fdweld = Instance.new("Weld",fakedetect) fdweld.Part0 = t fdweld.Part1 = fakedetect fdweld.C0 = CFrame.new(0,0,-1)
511
	local region
512
	for i = 1,5 do
513
		if canhug then
514
		region = Region3.new(fakedetect.Position - fakedetect.Size/2,fakedetect.Position + fakedetect.Size/2)
515
		local hit = workspace:FindPartsInRegion3WithIgnoreList(region,{char},200)
516
		local characters = {}
517
		for i,v in pairs(hit) do
518
			if v.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
519
				characters[v.Parent.Name] = v.Parent
520
			end
521
		end
522
		for i,v in pairs(characters) do
523
		spawn(function()
524
			fakedetect:Destroy()
525
			hug(v)
526
			canhug = false
527
		end)
528
		end
529
		end
530
		wait(.1)
531
	end
532
	if canhug then
533
	if fakedetect ~= nil then
534
	fakedetect:Destroy()
535
	end
536
	end
537
	end))
538
end)	
539
end
540
function placegift()
541
pcall(function()
542
	using = true
543
	hum.WalkSpeed = 0 hum.JumpPower = 0
544
	rsw.Part1 = rapr
545
	lsw.Part1 = lapl
546
	local giftp = Instance.new("Part",char) giftp.Size = Vector3.new(1.5,1.5,1.5) giftp.Massless = true giftp.CanCollide = false giftp.Name = "Gift"
547
	local gmesh = Instance.new("FileMesh",giftp) gmesh.MeshId = "rbxassetid://1237207" gmesh.TextureId = gifts[math.random(1,#gifts)] gmesh.Scale = Vector3.new(1.5,1.5,1.5)
548
	local gweld = Instance.new("Weld",giftp) gweld.Part0 = ra gweld.Part1 = giftp gweld.C0 = CFrame.new(-.55,-1.4,0) * CFrame.Angles(rad(-60),rad(-10),rad(10))
549
	tlerp(rsw,{C0 = CFrame.new(-.3,-.3,-.3) * CFrame.Angles(rad(80),rad(0),rad(-20))},.7,qui,io)
550
	tlerp(lsw,{C0 = CFrame.new(.3,-.3,-.3) * CFrame.Angles(rad(80),rad(0),rad(20))},.7,qui,io)
551
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(70),rad(180),rad(0))},.7,qui,io)
552
	tlerp(rh,{C0 = CFrame.new(1,0,-.7) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(20))},.7,qui,io)
553
	tlerp(lh,{C0 = CFrame.new(-1,-1.3,-1) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(70))},.7,qui,io)
554
	tlerp(rutj,{C0 = CFrame.new(0,-1,0) * CFrame.Angles(rad(70),rad(180),rad(0))},.7,qui,io)
555
	wait(.6)
556
	local ray = Ray.new(giftp.Position - Vector3.new(0,giftp.Size.y/2,0),-giftp.CFrame.UpVector.unit * 20)
557
	local hit,pos,idk = workspace:FindPartOnRayWithIgnoreList(ray,{char,giftp},false,true)
558
	if hit ~= nil then
559
		local oy = giftp.Orientation.y
560
		local oz = giftp.Orientation.z
561
		giftp:BreakJoints()
562
		giftp.Anchored = true
563
		giftp.CanCollide = true
564
		giftp.Parent = workspace
565
		giftp.CFrame = CFrame.new(pos,pos + idk) * CFrame.Angles(rad(-90),rad(oy),rad(oz)) * CFrame.new(0,.75,0)
566
		local cdet = Instance.new("ClickDetector",giftp) cdet.MaxActivationDistance = 10
567
		spawn(function()
568
			removewithfade(giftp,30) 
569
			cdet.MouseClick:Connect(function(plr)
570
				if script.ClassName == "Script" then
571
				local ids = {113328094,16924676,26419811,164207842,212641536}
572
				local requireditem = game:GetService("InsertService"):LoadAsset(ids[math.random(1,#ids)])
573
				local item = requireditem:FindFirstChildOfClass("Tool")
574
				item.Parent = plr.Backpack
575
				removewithfade(giftp,0)
576
				cdet:Destroy()
577
				else
578
					print("oof")
579
					removewithfade(giftp,0)
580
					cdet:Destroy()
581
				end
582
			end)
583
		end)
584
	else
585
		giftp:Destroy()
586
	end
587
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},.7,qui,io)
588
	tlerp(lsw,{C0 = CFrame.new(0,0,0)},.7,qui,io)
589
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.7,qui,io)
590
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.7,qui,io)
591
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.7,qui,io)
592
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.7,qui,io)
593
	wait(.6)
594
	hum.WalkSpeed = 16 hum.JumpPower = 50
595
	rsw.Part1 = nil
596
	lsw.Part1 = nil
597
	using = false
598
end)
599
end
600
function huggies()
601
pcall(function()
602
	using = true
603
	rsw.Part1 = rapr
604
	lsw.Part1 = lapl
605
	tlerp(rsw,{C0 = CFrame.new(0,0,-.5) * CFrame.Angles(rad(90),rad(0),rad(50))},.55,qui,io)
606
	tlerp(lsw,{C0 = CFrame.new(0,0,-.5) * CFrame.Angles(rad(90),rad(0),rad(-50))},.65,qui,io)
607
	wait(.35)
608
	detect()
609
	tlerp(rsw,{C0 = CFrame.new(-.3,-.2,-.45) * CFrame.Angles(rad(110),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-60))},.4,qui,io)
610
	tlerp(lsw,{C0 = CFrame.new(.2,-.2,-.45) * CFrame.Angles(rad(105),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(65))},.4,qui,io)
611
	wait(.5)
612
	if not hugging then
613
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},.4,qui,io)
614
	tlerp(lsw,{C0 = CFrame.new(0,0,0)},.4,qui,io)
615
	wait(.5)
616
	rsw.Part1 = nil
617
	lsw.Part1 = nil
618
	using = false
619
	end
620
end)
621
end
622
function grabsb()
623
pcall(function()
624
	using = true
625
	hum.WalkSpeed = 0
626
	hum.JumpPower = 0
627
	rsw.Part1 = rapr
628
	tlerp(rsw,{C0 = CFrame.new(0,-.4,0) * CFrame.Angles(rad(30),rad(0),rad(20))},.4,qui,io)
629
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(70),rad(180),rad(0))},.4,qui,io)
630
	tlerp(rh,{C0 = CFrame.new(1,.6,-.7) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(-25),rad(0),rad(20))},.4,qui,io)
631
	tlerp(lh,{C0 = CFrame.new(-1,.3,-.7) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(15),rad(0),rad(-20))},.4,qui,io)
632
	tlerp(rutj,{C0 = CFrame.new(0,-1.2,0) * CFrame.Angles(rad(60),rad(180),rad(30))},.4,qui,io)
633
	wait(.3)
634
	local hit,pos,rot = rayc(ra.Position -v3(0,1,0),-ra.CFrame.UpVector,{char},.5)
635
	if hit ~= nil and pos then
636
		local cff = CFrame.new(pos,pos+rot) * CFrame.Angles(0,rad(90),0)
637
		local snow = Instance.new("Part",char) snow.Shape = "Cylinder" snow.Transparency = 1 snow.Size = v3(.1,.1,.1) snow.Material = "Sand" snow.BrickColor = BrickColor.new("Institutional white") snow.CanCollide = false snow.Anchored = true
638
		tlerp(snow,{Size =v3(.1,2.5,2.5),Transparency = 0},.2,qui,io)
639
		snow.CFrame = cff
640
		removewithfade(snow,1)
641
	else
642
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
643
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
644
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
645
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
646
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
647
		wait(.4)
648
		aiming = false
649
		hum.WalkSpeed = 16
650
		hum.JumpPower = 50
651
		rut.Anchored = false
652
		rsw.Part1 = nil
653
		using = false
654
		return warn("Can`t grab a snow ball.")
655
	end
656
	wait(.15)
657
	local fsb = Instance.new("Part",char) fsb.Name = "MustDestroy" fsb.Shape = "Ball" fsb.Size = v3(1,1,1) fsb.CanCollide = false fsb.BrickColor = BrickColor.new("Institutional white") fsb.Material = "Sand"
658
	local fweld = Instance.new("Weld",fsb) fweld.Part0 = ra fweld.Part1 = fsb fweld.C0 = CFrame.new(0,-1.2,0)
659
	tlerp(rsw,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(200),rad(10),rad(-10))},.4,qui,io)
660
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.4,qui,io)
661
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(-10))},.4,qui,io)
662
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(10))},.4,qui,io)
663
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(100),rad(180),rad(-10))},.4,qui,io)
664
	wait(.3)
665
	aiming = true
666
	repeat
667
		wait(.2)
668
	until aiming == false
669
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
670
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
671
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
672
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
673
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
674
	wait(.4)
675
	rsw.Part1 = nil
676
	using = false
677
end)
678
end
679
function land()
680
if phit then
681
	readytoland = false
682
	landed = true
683
	hum.WalkSpeed = 1.5
684
	hum.JumpPower = 0
685
	lsound:Play()
686
	for i = 0,1,.1 do
687
	rutj.C0 = rutj.C0:Lerp(CFrame.new(0,-.5,0) * CFrame.Angles(rad(-100),rad(0),rad(180)),i)
688
    rh.C0 = rh.C0:Lerp(CFrame.new(1,-.5,-.3) * CFrame.Angles(rad(11),rad(90),rad(0)),i)
689
    lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.5,-.25) * CFrame.Angles(rad(9),rad(-90),rad(0)),i)
690
	rs.C0 = rs.C0:Lerp(CFrame.new(1,.35,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(-15),rad(0),rad(10)),i)
691
    ls.C0 = ls.C0:Lerp(CFrame.new(-1,.35,0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(-15),rad(0),rad(-10)),i)
692
	nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-100),rad(0),rad(180)),i)
693
	swait()
694
	end
695
	for i = 1,math.random(6,9) do
696
	fire(effpart,workspace,tostring(phit.BrickColor),tostring(phit.BrickColor),math.random(7,13)/10,math.random(3,6)/10,math.random(4,6)/10,phit.Material,0,0,"Block",5,0,1,true)
697
	end
698
	wait(.3)
699
	landed = false
700
	hum.WalkSpeed = 16
701
	hum.JumpPower = 50
702
end
703
end
704
function tsbanim()
705
pcall(function()
706
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.2,qui,io)
707
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(-10))},.2,qui,io)
708
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(10))},.2,qui,io)
709
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(100),rad(180),rad(10))},.2,qui,io)
710
	coroutine.resume(coroutine.create(function()
711
	for i = 0,1,.05 do
712
		rsw.C0 = rsw.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(170),rad(-10),rad(10)) * CFrame.Angles(-cos(i/aa/1.5)*rad(70),0,0),i)
713
		swait()
714
	end
715
	end))
716
	wait(.1)
717
	char:WaitForChild("MustDestroy",.5):Destroy()
718
	throwsb(mouse.Hit.p,70)
719
	aiming = false
720
	hum.WalkSpeed = 16
721
	hum.JumpPower = 50
722
	rut.Anchored = false
723
end)
724
end
725
function sit()
726
pcall(function()
727
	using = true
728
	hum.WalkSpeed = 0
729
	hum.JumpPower = 0
730
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
731
	tlerp(rutj,{C0 = CFrame.new(0,-1.1,0) * CFrame.Angles(rad(100),rad(180),rad(-20))},.5,qui,io)
732
	tlerp(rs,{C0 = CFrame.new(1,.5,0) * CFrame.Angles(rad(-10),rad(90),rad(20))},.5,qui,io)
733
	tlerp(ls,{C0 = CFrame.new(-1,.5,0) * CFrame.Angles(rad(-10),rad(-90),rad(20))},.5,qui,io)
734
	tlerp(rh,{C0 = CFrame.new(1,.1,-.4) * CFrame.Angles(rad(-20),rad(90),rad(0))},.5,qui,io)
735
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(70),rad(-90),rad(0))},.5,qui,io)
736
	wait(.35)
737
	if not furmode then
738
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(70),rad(180),rad(0))},.5,qui,io)
739
		tlerp(rutj,{C0 = CFrame.new(0,-1.7,0) * CFrame.Angles(rad(120),rad(180),rad(0))},.5,qui,io)
740
		tlerp(rs,{C0 = CFrame.new(1,.15,.25) * CFrame.Angles(rad(-35),rad(85),rad(0)) * CFrame.Angles(rad(-5),rad(0),rad(0))},.5,qui,io)
741
		tlerp(ls,{C0 = CFrame.new(-1,.15,.25) * CFrame.Angles(rad(-35),rad(-65),rad(0)) * CFrame.Angles(rad(-5),rad(0),rad(0))},.5,qui,io)
742
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(60),rad(90),rad(0)) * CFrame.Angles(rad(-5),rad(0),rad(0))},.5,qui,io)
743
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(60),rad(-90),rad(0)) * CFrame.Angles(rad(-5),rad(0),rad(0))},.5,qui,io)
744
	else
745
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(-75),rad(0),rad(180))},.5,qui,io)
746
		tlerp(rutj,{C0 = CFrame.new(0,-1.6,0) * CFrame.Angles(rad(-105),rad(0),rad(180))},.5,qui,io)
747
		tlerp(rs,{C0 = CFrame.new(.5,.2,-.3) * CFrame.Angles(rad(-10),rad(95),rad(30)) * CFrame.Angles(rad(25),rad(20),rad(0))},.5,qui,io)
748
		tlerp(ls,{C0 = CFrame.new(-.5,.2,-.3) * CFrame.Angles(rad(-10),rad(-95),rad(-30)) * CFrame.Angles(rad(25),rad(-20),rad(0))},.5,qui,io)
749
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(15),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(-20),rad(90))},.5,qui,io)
750
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(15),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(20),rad(-90))},.5,qui,io)
751
	end
752
	wait(.35)
753
	sitting = true
754
end)
755
end
756
function getup()
757
pcall(function()
758
	using = true
759
	sitting = true
760
	hum.WalkSpeed = 0
761
	hum.JumpPower = 0
762
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
763
	tlerp(rutj,{C0 = CFrame.new(0,-1.1,0) * CFrame.Angles(rad(100),rad(180),rad(-20))},.5,qui,io)
764
	tlerp(rs,{C0 = CFrame.new(1,.5,0) * CFrame.Angles(rad(-10),rad(90),rad(20))},.5,qui,io)
765
	tlerp(ls,{C0 = CFrame.new(-1,.5,0) * CFrame.Angles(rad(-10),rad(-90),rad(20))},.5,qui,io)
766
	tlerp(rh,{C0 = CFrame.new(1,.1,-.4) * CFrame.Angles(rad(-20),rad(90),rad(0))},.5,qui,io)
767
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(70),rad(-90),rad(0))},.5,qui,io)
768
	wait(.35)
769
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
770
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
771
	tlerp(rs,{C0 = CFrame.new(1,.5,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
772
	tlerp(ls,{C0 = CFrame.new(-1,.5,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
773
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
774
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
775
	wait(.35)
776
	using = false
777
	sitting = false
778
	hum.WalkSpeed = 16
779
	hum.JumpPower = 50
780
end)
781
end
782
function tp()
783
pcall(function()
784
	using = true
785
	hum.WalkSpeed = 0
786
	hum.JumpPower = 0
787
	rut.Anchored = true
788
	local hit,pos,rot = rayc(rut.Position -v3(0,1,0),-rut.CFrame.UpVector,{char},30)
789
	local hit1,pos1,rot1 = rayc(mouse.Hit.p+v3(0,.7,0),-rut.CFrame.UpVector,{char},10)
790
	if hit ~= nil and pos and hit1 then
791
		local cff = CFrame.new(pos,pos+rot) * CFrame.Angles(0,rad(90),0)
792
		local snow = Instance.new("Part",char) snow.Shape = "Cylinder" snow.Transparency = 1 snow.Size = v3(.1,.1,.1) snow.Material = "Sand" snow.BrickColor = BrickColor.new("Institutional white") snow.CanCollide = false snow.Anchored = true
793
		tlerp(snow,{Size =v3(.1,7.5,7.5),Transparency = 0},.2,qui,io)
794
		snow.CFrame = cff
795
		wait(.1)
796
		tlerp(rut,{CFrame = CFrame.new(pos) * CFrame.new(0,-5,0)},.3,qui,io)
797
		wait(.2)
798
		removewithfade(snow,1)
799
	else
800
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
801
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
802
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
803
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
804
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
805
		wait(.4)
806
		aiming = false
807
		hum.WalkSpeed = 16
808
		hum.JumpPower = 50
809
		rut.Anchored = false
810
		rsw.Part1 = nil
811
		using = false
812
		return warn("Can`t teleport.")
813
	end
814
	local sn
815
	if hit1 ~= nil and pos1 then
816
		local cff = CFrame.new(pos1,pos1+rot1) * CFrame.Angles(0,rad(90),0)
817
		local snow = Instance.new("Part",char) snow.Shape = "Cylinder" snow.Transparency = 1 snow.Size = v3(.1,.1,.1) snow.Material = "Sand" snow.BrickColor = BrickColor.new("Institutional white") snow.CanCollide = false snow.Anchored = true
818
		tlerp(snow,{Size =v3(.1,7.5,7.5),Transparency = 0},.2,qui,io)
819
		snow.CFrame = cff
820
		sn = snow
821
		removewithfade(snow,1)
822
	else
823
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
824
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
825
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
826
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
827
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
828
		wait(.4)
829
		aiming = false
830
		hum.WalkSpeed = 16
831
		hum.JumpPower = 50
832
		rut.Anchored = false
833
		rsw.Part1 = nil
834
		using = false
835
		return warn("Can`t teleport.")
836
	end
837
	if sn.Orientation.z ~= 90 then
838
		rut.CFrame = sn.CFrame * CFrame.new(-3,0,0)
839
		rut.CFrame = CFrame.new(rut.Position,sn.Position)
840
		tlerp(rut,{CFrame = rut.CFrame * CFrame.new(0,0,-5)},.3,qui,io)
841
	else
842
		rut.CFrame = sn.CFrame * CFrame.new(-3,0,0)
843
		rut.CFrame = CFrame.new(rut.Position,v3(nil,sn.CFrame.y,sn.CFrame.z))
844
		tlerp(rut,{CFrame = rut.CFrame * CFrame.new(0,5,0)},.3,qui,io)
845
	end
846
	wait(.2)
847
	rut.CFrame = CFrame.new(rut.Position,Vector3.new(nil,rut.CFrame.y,-rut.CFrame.z))
848
	rut.Anchored = false
849
	hum.WalkSpeed = 16
850
	hum.JumpPower = 50
851
	using = false
852
end)
853
end
854
function candybag()
855
	pcall(function()
856
		using = true
857
		rsw.Part1 = rapr
858
		lsw.Part1 = lapl
859
		local bag = Instance.new("Part",char) bag.Locked = true bag.Size = v3(.1,.1,.1) bag.CanCollide = false bag:BreakJoints()
860
		local bmesh = Instance.new("FileMesh",bag) bmesh.MeshId = "rbxassetid://25921854" bmesh.Scale = v3(3.5,3.5,3.5) bmesh.TextureId = "rbxassetid://36938238" bmesh.Offset = v3(0,-.6,0)
861
		local weld = Instance.new("Weld",bag) weld.Part0 = ra weld.Part1 = bag weld.C0 = CFrame.new(0,-1,0)
862
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
863
		tlerp(lsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
864
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
865
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
866
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
867
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
868
		wait(.4)
869
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
870
		tlerp(lsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
871
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
872
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
873
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
874
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
875
		wait(.4)
876
		rsw.Part1 = nil
877
		lsw.Part1 = nil
878
		using = false
879
	end)
880
end
881
function saddeath(who)
882
	for i,v in pairs(who:GetDescendants()) do
883
		coroutine.resume(coroutine.create(function()
884
		if v:IsA("Shirt") or v:IsA("Pants") or v:IsA("ForceField") or v:IsA("CharacterMesh") then
885
			v:Destroy()
886
		end
887
		end))
888
		if v:IsA("Part") or v:IsA("MeshPart") then
889
			fadewithfly(v,"White",false)
890
		end
891
	end
892
end
893
894
mouse.KeyDown:Connect(function(key)
895
pcall(function()
896
	if key == "e" and not using then
897
		huggies()
898
	end
899
	if key == "f" and not using then
900
		placegift()
901
	end
902
	if key == "q" and not using then
903
		grabsb()
904
	end
905
	if key == "z" and not using and not sitting then
906
		sit()
907
	elseif key == "z" and using and sitting then
908
		getup()
909
	end
910
	if key == "c" and not using then
911
		tp()
912
	end
913
	if key == "r"and not using then
914
		--candybag()
915
	end
916
end)
917
end)
918
mouse.Button1Down:Connect(function()
919
	if aiming then
920
		tsbanim()
921
	end
922
end)
923
hum.Died:Connect(function()
924
	saddeath(char)
925
end)
926
927
local anims = coroutine.wrap(function()
928
while hum.Health > .001 do
929
	if aiming then
930
		rut.Anchored = true
931
		rut.CFrame = CFrame.new(rut.Position,v3(mouse.Hit.x,rut.CFrame.y,mouse.Hit.z))
932
	end
933
	if hum.WalkSpeed >32 then
934
		hum.WalkSpeed = 32
935
	end
936
	if not lsound.Parent then
937
		lsound = Instance.new("Sound",effpart) lsound.Volume = lsvol lsound.SoundId = "rbxassetid://1161221108"
938
	end
939
	local hit,pos,rot = rayc(rut.Position -v3(0,1,0),-rut.CFrame.UpVector,{char},2.7)
940
	local grhit,grpos,grrot = rayc(grabpart.Position,-grabpart.CFrame.UpVector,{char},1)
941
	phit = hit
942
	if not using then
943
	if grhit and grhit.Anchored == true then
944
	cangrabthecorner = true
945
	else
946
	cangrabthecorner = false
947
	end
948
	end
949
if cangrabthecorner and not grabbedc then
950
	local shit,spos,srot = rayc(rut.Position+Vector3.new(0,2.5,0),rut.CFrame.LookVector,{char},1.5)
951
	if shit then
952
	grabbedc = true
953
	local cf = CFrame.new(spos,spos+srot) * CFrame.Angles(rad(0),rad(180),0) * CFrame.new(0,-2,.7)
954
	using = true
955
	cangrabthecorner = false
956
	rut.Anchored = true
957
	local oldws = hum.WalkSpeed
958
	hum.WalkSpeed = 0
959
	hum.JumpPower = 0
960
	rut.CFrame = cf
961
	local curcf = rut.CFrame
962
	for i = 0,1,.1 do
963
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-90),rad(0),rad(180)),animspeed*50)
964
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0)),animspeed*50)
965
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0)),animspeed*50)
966
		rs.C0 = rs.C0:Lerp(CFrame.new(.85,.8,-.2) * CFrame.Angles(rad(160),rad(90),rad(0)),animspeed*50)
967
        ls.C0 = ls.C0:Lerp(CFrame.new(-.85,.8,-.2) * CFrame.Angles(rad(160),rad(-90),rad(0)),animspeed*50)
968
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-30),rad(0),rad(180)),animspeed*50)
969
		swait()
970
	end
971
	for i = 0,.65,.025 do
972
		rut.CFrame = rut.CFrame:Lerp(curcf * CFrame.new(0,4.5,-3),i)
973
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,-.8,0) * CFrame.Angles(rad(-120),rad(0),rad(180)),i)
974
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-.7,-.3) * CFrame.Angles(rad(-60),rad(90),rad(0)),i)
975
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.7,0) * CFrame.Angles(rad(20),rad(-90),rad(0)),i)
976
		rs.C0 = rs.C0:Lerp(CFrame.new(.85,.3,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(10)),i)
977
        ls.C0 = ls.C0:Lerp(CFrame.new(-.85,.3,0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(10)),i)
978
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-80),rad(0),rad(180)),i)
979
		swait()
980
	end
981
	hum.WalkSpeed = oldws
982
	hum.JumpPower = 50
983
	rut.Anchored = false
984
	t.Anchored = false
985
	using = false
986
	grabbedc = false
987
	end
988
	end
989
	walkspeed = hum.WalkSpeed
990
	sumthin = walkspeed/8
991
	animspeed1 = 1.5/sumthin
992
	change = change +sine
993
	if lookinaround then
994
		lchange = lchange +sine
995
	else
996
		lchange = 0
997
	end
998
	local vervel = rut.Velocity.y
999
	local tvel = (rut.Velocity * v3(1,0,1)).Magnitude
1000
	local Ccf=rut.CFrame
1001
	local Walktest1 = hum.MoveDirection*Ccf.LookVector
1002
	local Walktest2 = hum.MoveDirection*Ccf.RightVector
1003
	rotfb = Walktest1.X+Walktest1.Z
1004
	rotrl = Walktest2.X+Walktest2.Z
1005
	if spart then
1006
		spart.CFrame = spart.CFrame:Lerp(h.CFrame * CFrame.new(0,15,0),.1)
1007
	end
1008
	if not hit and anim == "fall" then
1009
	readytoland = true
1010
	end
1011
	if not landed then
1012
	if readytoland and hit then
1013
	land()
1014
	end
1015
	if not lookinaround and not sitting then
1016
	if anim == "idle" and hit then
1017
	--Neck
1018
		nec.C1 = nec.C1:Lerp(cf1 * CFrame.new(0,0,cos(change/aa/2.5)/(2.5*10)) * CFrame.Angles(sin(change/aa/2.5)*rad(1),0,-sin(change/aa/2.5)*rad(1)),.1)
1019
	--Humanoid Root Part
1020
		rutj.C1 = rutj.C1:Lerp(cf2 * CFrame.new(0,cos(change/aa/2.5)/(2.5*10),cos(change/aa/2.5)/(2.5*10)) * CFrame.Angles(sin(change/aa/2.5)*rad(1),0,0),.1)
1021
	--Shoulders
1022
		rs.C1 = rs.C1:Lerp(cf3 * CFrame.new(-cos(change/aa/2.5)/(2.5*10),cos(change/aa/2.5)/(2.5*10),0) * CFrame.Angles(.1,0,0) * CFrame.Angles(sin(change/aa/1.5)*rad(1),sin(change/aa/2.5)*rad(1),sin(change/aa/2.5)*rad(2.5)),.1)
1023
		ls.C1 = ls.C1:Lerp(cf4 * CFrame.new(cos(change/aa/2.5)/(2.5*10),cos(change/aa/2.5)/(2.5*10),0) * CFrame.Angles(.1,0,0) * CFrame.Angles(sin(change/aa/2.5)*rad(1),sin(change/aa/2.5)*rad(1),-sin(change/aa/2.5)*rad(2.5)),.1)
1024
	--Hips
1025
		rh.C1 = rh.C1:Lerp(cff5 * CFrame.new(cos(change/aa/2.5)/(2.5*10),-cos(change/aa/2.5)/(2.5*10),0) * CFrame.Angles(0,0,sin(change/aa/2.5)*rad(1)) * CFrame.Angles(0,0,0),.1)
1026
		lh.C1 = lh.C1:Lerp(cff6 * CFrame.new(-cos(change/aa/2.5)/(2.5*10),-cos(change/aa/2.5)/(2.5*10),0) * CFrame.Angles(0,0,-sin(change/aa/2.5)*rad(1)) * CFrame.Angles(0,0,0),.1)
1027
	elseif anim == "sit" then
1028
		nec.C1 = nec.C1:Lerp(cf1,.1)
1029
		rutj.C1 = rutj.C1:Lerp(cf2,.1)
1030
		rs.C1 = rs.C1:Lerp(cf3,.1)
1031
		ls.C1 = ls.C1:Lerp(cf4,.1)
1032
		rh.C1 = rh.C1:Lerp(cf5,.1)
1033
		lh.C1 = lh.C1:Lerp(cf6,.1)
1034
	elseif anim == "jump" and not hit then
1035
		nec.C1 = nec.C1:Lerp(cf1,.1)
1036
		rutj.C1 = rutj.C1:Lerp(cf2,.1)
1037
		rs.C1 = rs.C1:Lerp(cf3,.1)
1038
		ls.C1 = ls.C1:Lerp(cf4,.1)
1039
		rh.C1 = rh.C1:Lerp(cf5,.1)
1040
		lh.C1 = lh.C1:Lerp(cf6,.1)
1041
	elseif anim == "fall" and not hit then
1042
		nec.C1 = nec.C1:Lerp(cf1,.1)
1043
		rutj.C1 = rutj.C1:Lerp(cf2,.1)
1044
		rs.C1 = rs.C1:Lerp(cf3,.1)
1045
		ls.C1 = ls.C1:Lerp(cf4,.1)
1046
		rh.C1 = rh.C1:Lerp(cf5,.1)
1047
		lh.C1 = lh.C1:Lerp(cf6,.1)
1048
	elseif anim == "walk" and hit then
1049
		--Neck
1050
			nec.C1 = nec.C1:Lerp(cf1 * CFrame.new(0,0,cos(change/aa/animspeed1)/17.5) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(5),-rut.RotVelocity.y/90,rut.RotVelocity.y/60),walkanimspeed)
1051
		--Humanoid Root Part
1052
			rutj.C1 = rutj.C1:Lerp(cf2 * CFrame.new(0,0,cos(change/aa/animspeed1)/15) * CFrame.Angles(sin(change/aa/animspeed1)*rad(2.5*sumthin),-rut.RotVelocity.y/100,sin(change/aa/animspeed1)*rad(5*sumthin) * -rut.RotVelocity.y/100) * CFrame.Angles(-rotfb/5,rotrl/5,0),walkanimspeed)
1053
		--Shoulders
1054
			rs.C1 = rs.C1:Lerp(cf3 * CFrame.new(0,0,0) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(3*sumthin)*rotfb,-sin(change/aa/animspeed1)*rad(10)*rotfb,0) * CFrame.Angles(sin(change/aa/animspeed1)*rad(5*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(5*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(35*sumthin)*rotfb or rotfl),walkanimspeed)
1055
			ls.C1 = ls.C1:Lerp(cf4 * CFrame.new(0,0,0) * CFrame.Angles(sin(change/aa/animspeed1)*rad(3*sumthin)*rotfb,-sin(change/aa/animspeed1)*rad(10)*rotfb,0) * CFrame.Angles(sin(change/aa/animspeed1)*rad(5*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(5*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(35*sumthin)*rotfb or rotfl),walkanimspeed)
1056
		--Hips
1057
			rh.C1 = rh.C1:Lerp(cf5 * CFrame.new((cos(change/aa/animspeed1)/3.5)*rotfb or (cos(change/aa/animspeed1)/3.5)*rotrl,(cos(change/aa/animspeed1)/4),(cos(change/aa/animspeed1)/4)*rotrl) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(15*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(15*sumthin)*rotrl,sin(change/aa/animspeed1)*rad(30*sumthin)*rotfb),walkanimspeed)
1058
			lh.C1 = lh.C1:Lerp(cf6 * CFrame.new((cos(change/aa/animspeed1)/3.5)*rotfb or (cos(change/aa/animspeed1)/3.5)*rotrl,(-cos(change/aa/animspeed1)/4),(cos(change/aa/animspeed1)/4)*rotrl) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(15*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(15*sumthin)*rotrl,sin(change/aa/animspeed1)*rad(30*sumthin)*rotfb),walkanimspeed)
1059
	end
1060
	if not grabbedc then
1061
	if vervel > 1 and hum.Sit == false then
1062
		anim = "jump"
1063
		if not using then
1064
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-80),rad(0),rad(180)),animspeed*50)
1065
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-.1,-.4) * CFrame.Angles(rad(-10),rad(85),rad(0)),animspeed*50)
1066
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.4,-.25) * CFrame.Angles(rad(-10),rad(-85),rad(0)),animspeed*50)
1067
		rs.C0 = rs.C0:Lerp(CFrame.new(1,.25,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(-40),rad(0),rad(0)),animspeed*50)
1068
        ls.C0 = ls.C0:Lerp(CFrame.new(-1,.25,-0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(-40),rad(0),rad(0)),animspeed*50)
1069
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-100),rad(0),rad(180)),animspeed*50)
1070
		end
1071
	elseif vervel < -1 and hum.Sit == false then
1072
		anim = "fall"
1073
		if not using then
1074
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-80),rad(0),rad(180)),.00025)
1075
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-.1,-.4) * CFrame.Angles(rad(-10),rad(85),rad(0)),.00025)
1076
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.55,-.25) * CFrame.Angles(rad(-10),rad(-85),rad(0)),.00025)
1077
		rs.C0 = rs.C0:Lerp(CFrame.new(1,.35,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(-50),rad(0),rad(0)),.00025)
1078
        ls.C0 = ls.C0:Lerp(CFrame.new(-1,.25,-0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(-50),rad(0),rad(0)),.00025)
1079
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-110),rad(0),rad(180)),.00025)
1080
		end
1081
	elseif tvel < 1 and hum.Sit == false then
1082
		anim = "idle"
1083
		if not using then
1084
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-90),rad(0),rad(180)),animspeed*50)
1085
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0)),animspeed*50)
1086
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0)),animspeed*50)
1087
		rs.C0 = rs.C0:Lerp(CFrame.new(1,.5,0) * CFrame.Angles(rad(0),rad(90),rad(0)),animspeed*50)
1088
        ls.C0 = ls.C0:Lerp(CFrame.new(-1,.5,0) * CFrame.Angles(rad(0),rad(-90),rad(0)),animspeed*50)
1089
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-90),rad(0),rad(180)),animspeed*50)
1090
		end
1091
	elseif tvel > 1 and hum.Sit == false then
1092
		anim = "walk"
1093
		if not using then
1094
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-90),rad(0),rad(180)) * CFrame.Angles(rad(0*sumthin),rad(0),rad(0)),animspeed*50)
1095
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-.8+rotrl/4,-.15) * CFrame.Angles(rad(0),rad(90),rad(-10)) * CFrame.Angles(rad(0),rad(0),-sin(change/aa/animspeed1)*rad(10*sumthin)*rotrl) * CFrame.Angles(-rotrl/5,-rotrl/5,rotfb/5),animspeed*50)
1096
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.8-rotrl/4,-.15) * CFrame.Angles(rad(0),rad(-90),rad(10)) * CFrame.Angles(rad(0),rad(0),-sin(change/aa/animspeed1)*rad(10*sumthin)*rotrl) * CFrame.Angles(rotrl/5,-rotrl/5,-rotfb/5),animspeed*50)
1097
		rs.C0 = rs.C0:Lerp(CFrame.new(1,.5,0) * CFrame.Angles(sin(change/aa/animspeed1)*rad(10*sumthin)*rotrl,rad(90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(5*sumthin)),animspeed*50)
1098
        ls.C0 = ls.C0:Lerp(CFrame.new(-1,.5,0) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(10*sumthin)*rotrl,rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-5*sumthin)),animspeed*50)
1099
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-90),rad(0),rad(180)) * CFrame.Angles(rad(-5*sumthin),rad(0),rad(-40*rotrl)),animspeed*50)
1100
		end
1101
	elseif hum.Sit == true then
1102
		anim = "sit"
1103
		if not using then
1104
		if not furmode then
1105
			rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-90),rad(0),rad(180)),animspeed*50)
1106
      			rh.C0 = rh.C0:Lerp(CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(90)),animspeed*50)
1107
        		lh.C0 = lh.C0:Lerp(CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-90)),animspeed*50)
1108
			rs.C0 = rs.C0:Lerp(CFrame.new(1,.5,0) * CFrame.Angles(rad(0),rad(90),rad(30)) * CFrame.Angles(rad(30),rad(0),rad(0)),animspeed*50)
1109
       			ls.C0 = ls.C0:Lerp(CFrame.new(-1,.5,0) * CFrame.Angles(rad(0),rad(-90),rad(-30)) * CFrame.Angles(rad(30),rad(0),rad(0)),animspeed*50)
1110
			nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-95),rad(0),rad(180)),animspeed*50)
1111
		else
1112
			rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-105),rad(0),rad(180)),animspeed*50)
1113
      			rh.C0 = rh.C0:Lerp(CFrame.new(1,-1,0) * CFrame.Angles(rad(15),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(-20),rad(90)),animspeed*50)
1114
        		lh.C0 = lh.C0:Lerp(CFrame.new(-1,-1,0) * CFrame.Angles(rad(15),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(20),rad(-90)),animspeed*50)
1115
			rs.C0 = rs.C0:Lerp(CFrame.new(.5,.2,-.3) * CFrame.Angles(rad(-10),rad(95),rad(30)) * CFrame.Angles(rad(25),rad(20),rad(0)),animspeed*50)
1116
       			ls.C0 = ls.C0:Lerp(CFrame.new(-.5,.2,-.3) * CFrame.Angles(rad(-10),rad(-95),rad(-30)) * CFrame.Angles(rad(25),rad(-20),rad(0)),animspeed*50)
1117
			nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-75),rad(0),rad(180)),animspeed*50)
1118
		end
1119
		end
1120
		else
1121
		nec.C1 = nec.C1:Lerp(cf1,animspeed*50)
1122
		rutj.C1 = rutj.C1:Lerp(cf2,animspeed*50)
1123
		rs.C1 = rs.C1:Lerp(cf3,animspeed*50)
1124
		ls.C1 = ls.C1:Lerp(cf4,animspeed*50)
1125
		rh.C1 = rh.C1:Lerp(cf5,animspeed*50)
1126
		lh.C1 = lh.C1:Lerp(cf6,animspeed*50)
1127
		end
1128
	end
1129
	end
1130
	end
1131
	if sitting then
1132
		nec.C1 = nec.C1:Lerp(cf1 * CFrame.new(0,0,cos(change/aa)/(2.5*10)) * CFrame.Angles(sin(change/aa/1.5)*rad(2.5),0,-sin(change/aa/1.5)*rad(2.5)),.1)
1133
		rutj.C1 = rutj.C1:Lerp(cf2,.1)
1134
		rs.C1 = rs.C1:Lerp(cf3,.1)
1135
		ls.C1 = ls.C1:Lerp(cf4,.1)
1136
		rh.C1 = rh.C1:Lerp(cf5,.1)
1137
		lh.C1 = lh.C1:Lerp(cf6,.1)
1138
	end
1139
	coroutine.resume(coroutine.create(function()
1140
		if not using and anim == "idle" then
1141
	if not lookinaround then
1142
		idlenum = idlenum +.005
1143
		if idlenum >= whenbored then
1144
			idlenum = 0
1145
			local oldws = hum.WalkSpeed
1146
			local oldjp = hum.JumpPower
1147
			hum.WalkSpeed = 0
1148
			hum.JumpPower = 0
1149
			rut.Anchored = true
1150
			rh.Part0 = rut
1151
			lh.Part0 = rut
1152
			using = true
1153
			lookinaround = true
1154
			wait(3)
1155
			hum.WalkSpeed = oldws
1156
			hum.JumpPower = oldjp
1157
			rut.Anchored = false
1158
			using = false
1159
			rh.Part0 = t
1160
			lh.Part0 = t
1161
			whenbored = math.random(2,6)
1162
			lookinaround = false
1163
		end
1164
	end
1165
elseif using then
1166
	idlenum = 0
1167
elseif anim ~= "idle" then
1168
	idlenum = 0
1169
end
1170
	end))
1171
	if lookinaround then
1172
	--Neck
1173
		nec.C1 = nec.C1:Lerp(cf1 * CFrame.new(0,0,0) * CFrame.Angles(sin(lchange/aa/1.5)*rad(10),cos(lchange/aa/1.5)*rad(5),-sin(lchange/aa/3)*rad(40)),.1)
1174
	--Humanoid Root Part
1175
		rutj.C1 = rutj.C1:Lerp(cf2 * CFrame.new(0,0,0) * CFrame.Angles(cos(lchange/aa/1.5)*rad(5),cos(lchange/aa/1.5)*rad(5),-sin(lchange/aa/3)*rad(20)),.1)
1176
	--Shoulders
1177
		rs.C1 = rs.C1:Lerp(cf3 * CFrame.new(-cos(lchange/aa/3)/(3*10),cos(lchange/aa/3)/(3*10),0) * CFrame.Angles(.1,0,0) * CFrame.Angles(-sin(lchange/aa/3)*rad(12.5),-sin(lchange/aa/3)*rad(12.5),-sin(lchange/aa/3)*rad(15)),.1)
1178
		ls.C1 = ls.C1:Lerp(cf4 * CFrame.new(cos(lchange/aa/3)/(3*10),cos(lchange/aa/3)/(3*10),0) * CFrame.Angles(.1,0,0) * CFrame.Angles(sin(lchange/aa/3)*rad(12.5),-sin(lchange/aa/3)*rad(12.5),-sin(lchange/aa/3)*rad(15)),.1)
1179
	--Hips
1180
		rh.C1 = rh.C1:Lerp(cff5 * CFrame.new(0,0,0) * CFrame.Angles(0,0,0) * CFrame.Angles(0,0,0),.1)
1181
		lh.C1 = lh.C1:Lerp(cff6 * CFrame.new(0,0,0) * CFrame.Angles(0,0,0) * CFrame.Angles(0,0,0),.1)
1182
	end
1183
	swait()
1184
end
1185
end)
1186
anims()
1187
introhat()
1188
1189
1190
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
1191
local Player,game,owner = owner,game
1192
local RealPlayer = Player
1193
do
1194
    print("FE Compatibility code by Mokiros")
1195
    local rp = RealPlayer
1196
    script.Parent = rp.Character
1197
   
1198
    --RemoteEvent for communicating
1199
    local Event = Instance.new("RemoteEvent")
1200
    Event.Name = "UserInput_Event"
1201
 
1202
    --Fake event to make stuff like Mouse.KeyDown work
1203
    local function fakeEvent()
1204
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
1205
        t.connect = t.Connect
1206
        return t
1207
    end
1208
 
1209
    --Creating fake input objects with fake variables
1210
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
1211
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
1212
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
1213
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
1214
    end}
1215
    --Merged 2 functions into one by checking amount of arguments
1216
    CAS.UnbindAction = CAS.BindAction
1217
 
1218
    --This function will trigger the events that have been :Connect()'ed
1219
    local function te(self,ev,...)
1220
        local t = m[ev]
1221
        if t and t._fakeEvent then
1222
            for _,f in pairs(t.Functions) do
1223
                f(...)
1224
            end
1225
        end
1226
    end
1227
    m.TrigEvent = te
1228
    UIS.TrigEvent = te
1229
 
1230
    Event.OnServerEvent:Connect(function(plr,io)
1231
        if plr~=rp then return end
1232
        m.Target = io.Target
1233
        m.Hit = io.Hit
1234
        if not io.isMouse then
1235
            local b = io.UserInputState == Enum.UserInputState.Begin
1236
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
1237
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
1238
            end
1239
            for _,t in pairs(CAS.Actions) do
1240
                for _,k in pairs(t.Keys) do
1241
                    if k==io.KeyCode then
1242
                        t.Function(t.Name,io.UserInputState,io)
1243
                    end
1244
                end
1245
            end
1246
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
1247
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
1248
        end
1249
    end)
1250
    Event.Parent = NLS([==[
1251
    local Player = game:GetService("Players").LocalPlayer
1252
    local Event = script:WaitForChild("UserInput_Event")
1253
 
1254
    local Mouse = Player:GetMouse()
1255
    local UIS = game:GetService("UserInputService")
1256
    local input = function(io,a)
1257
        if a then return end
1258
        --Since InputObject is a client-side instance, we create and pass table instead
1259
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
1260
    end
1261
    UIS.InputBegan:Connect(input)
1262
    UIS.InputEnded:Connect(input)
1263
 
1264
    local h,t
1265
    --Give the server mouse data 30 times every second, but only if the values changed
1266
    --If player is not moving their mouse, client won't fire events
1267
    while wait(1/30) do
1268
        if h~=Mouse.Hit or t~=Mouse.Target then
1269
            h,t=Mouse.Hit,Mouse.Target
1270
            Event:FireServer({isMouse=true,Target=t,Hit=h})
1271
        end
1272
    end]==],Player.Character)
1273
 
1274
    ----Sandboxed game object that allows the usage of client-side methods and services
1275
    --Real game object
1276
    local _rg = game
1277
 
1278
    --Metatable for fake service
1279
    local fsmt = {
1280
        __index = function(self,k)
1281
            local s = rawget(self,"_RealService")
1282
            if s then return s[k] end
1283
        end,
1284
        __newindex = function(self,k,v)
1285
            local s = rawget(self,"_RealService")
1286
            if s then s[k]=v end
1287
        end,
1288
        __call = function(self,...)
1289
            local s = rawget(self,"_RealService")
1290
            if s then return s(...) end
1291
        end
1292
    }
1293
    local function FakeService(t,RealService)
1294
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
1295
        return setmetatable(t,fsmt)
1296
    end
1297
 
1298
    --Fake game object
1299
    local g = {
1300
        GetService = function(self,s)
1301
            return self[s]
1302
        end,
1303
        Players = FakeService({
1304
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
1305
        },"Players"),
1306
        UserInputService = FakeService(UIS,"UserInputService"),
1307
        ContextActionService = FakeService(CAS,"ContextActionService"),
1308
    }
1309
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
1310
    g.service = g.GetService
1311
   
1312
    g.RunService = FakeService({
1313
        RenderStepped = _rg:GetService("RunService").Heartbeat,
1314
        BindToRenderStep = function(self,name,_,fun)
1315
            self._btrs[name] = self.Heartbeat:Connect(fun)
1316
        end,
1317
        UnbindFromRenderStep = function(self,name)
1318
            self._btrs[name]:Disconnect()
1319
        end,
1320
    },"RunService")
1321
 
1322
    setmetatable(g,{
1323
        __index=function(self,s)
1324
            return _rg:GetService(s) or typeof(_rg[s])=="function"
1325
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
1326
        end,
1327
        __newindex = fsmt.__newindex,
1328
        __call = fsmt.__call
1329
    })
1330
    --Changing owner to fake player object to support owner:GetMouse()
1331
    game,owner = g,g.Players.LocalPlayer
1332
end
1333
--//Holiday Feelings//--
1334
print("Holiday Feelings")
1335
print("Made by vlad20020.")
1336
warn("This is holiday time!")
1337
print("Controls below ok")
1338
warn([[E - Hug
1339
Q - Throw snowbal
1340
F - Place a gift
1341
C - TP
1342
Z - Sit]])
1343
local plr = game:GetService("Players").LocalPlayer
1344
local plrg = plr.PlayerGui
1345
local mouse = plr:GetMouse()
1346
local char = plr.Character
1347
local h = char:FindFirstChild("Head")
1348
local t = char:FindFirstChild("Torso")
1349
local ra = char:FindFirstChild("Right Arm")
1350
local la = char:FindFirstChild("Left Arm")
1351
local rl = char:FindFirstChild("Right Leg")
1352
local ll = char:FindFirstChild("Left Leg")
1353
local rs = t:FindFirstChild("Right Shoulder")
1354
local ls = t:FindFirstChild("Left Shoulder")
1355
local rh = t:FindFirstChild("Right Hip")
1356
local lh = t:FindFirstChild("Left Hip")
1357
local nec = t.Neck
1358
local rut = char.HumanoidRootPart
1359
local rutj = rut.RootJoint
1360
local hum = char:FindFirstChildOfClass("Humanoid")
1361
local cf1 = nec.C1
1362
local cf2 = rutj.C1
1363
local cf3 = rs.C1
1364
local cf4 = ls.C1
1365
local cf5 = rh.C1
1366
local cf6 = lh.C1
1367
local cf01 = nec.C0
1368
local cf02 = rutj.C0
1369
local cf03 = rs.C0
1370
local cf04 = ls.C0
1371
local cf05 = rh.C0
1372
local cf06 = lh.C0
1373
local p0,p1 = nec.Part0,nec.Part1
1374
local rsp0,rsp1 = rs.Part0,rs.Part1
1375
local lsp0,lsp1 = ls.Part0,ls.Part1
1376
local rhp0,rhp1 = rh.Part0,rh.Part1
1377
local lhp0,lhp1 = lh.Part0,lh.Part1
1378
local aa = 10
1379
local aaa = aa*3
1380
local change = 0
1381
local lchange = 0
1382
local sine = 1
1383
local hugtime = 1
1384
local anim = "idle"
1385
local animspeed = .005
1386
local animspeed1 = 1.5
1387
local walkanimspeed = .1
1388
local walkspeed = 16
1389
local sumthin = walkspeed/8
1390
local idlenum = 0
1391
local lsvol = 2.5
1392
local whenbored = math.random(2,6)
1393
local rad = math.rad
1394
local huge = math.huge
1395
local using = false
1396
local hugging = false
1397
local lookinaround = false
1398
local aiming = false
1399
local sitting = false
1400
local furmode = false
1401
local landed = false
1402
local readytoland = false
1403
local cangrabthecorner = false
1404
local grabbedc = false
1405
local qui = Enum.EasingStyle.Quint
1406
local io = Enum.EasingDirection.InOut
1407
local tweens = game:GetService("TweenService")
1408
local debrs = game:GetService("Debris")
1409
local gifts = {"rbxassetid://5013502","rbxassetid://1237427","rbxassetid://6109471","rbxassetid://7812400","rbxassetid://19428684"}
1410
local spart
1411
local phit
1412
local cos = math.cos
1413
local sin = math.sin
1414
local tan = math.tan
1415
local ray = Ray.new
1416
local v3 = Vector3.new
1417
cff5 = cf5 * CFrame.Angles(rad(2),rad(3),rad(0))
1418
cff6 = cf6 * CFrame.Angles(rad(2),rad(-3),rad(0))
1419
if plr.UserId == 90745958 or plr.UserId == 62574108 then
1420
	furmode = true
1421
end
1422
if furmode then
1423
hugtime = 2.5
1424
print("owo uwu")
1425
end
1426
local effpart = Instance.new("Part") effpart.Size = Vector3.new(2,.1,1) effpart.Massless = true effpart.Transparency = 1 effpart.CanCollide = false effpart.Anchored = false effpart.Parent = char
1427
local grabpart = Instance.new("Part") grabpart.Size = Vector3.new(.1,.1,.1) grabpart.Massless = true grabpart.Transparency = 1 grabpart.CanCollide = false grabpart.Anchored = false grabpart.Material = "Neon" grabpart.Parent = char 
1428
local pweld = Instance.new("Weld",effpart) pweld.Part0 = t pweld.Part1 = effpart pweld.C0 = CFrame.new(0,-2.2,-.5)
1429
local gweld = Instance.new("Weld",grabpart) gweld.Part0 = rut gweld.Part1 = grabpart gweld.C0 = CFrame.new(0,3,-1.4)
1430
local lsound = Instance.new("Sound",effpart) lsound.Volume = lsvol lsound.SoundId = "rbxassetid://1161221108"
1431
--//ArmJointParts~//--
1432
local tpr = Instance.new("Part",t) tpr.Size = Vector3.new(.1,.1,.1) tpr.CanCollide = false tpr.Transparency = 1 tpr.Locked = true
1433
local tpl = Instance.new("Part",t) tpl.Size = Vector3.new(.1,.1,.1) tpl.CanCollide = false tpl.Transparency = 1 tpl.Locked = true
1434
local tprw = Instance.new("Weld",t) tprw.Part0 = t tprw.Part1 = tpr tprw.C0 = CFrame.new(1,.5,0)
1435
local tplw = Instance.new("Weld",t) tplw.Part0 = t tplw.Part1 = tpl tplw.C0 = CFrame.new(-1,.5,0)
1436
--
1437
local rapr = Instance.new("Part",ra) rapr.Size = Vector3.new(.1,.1,.1) rapr.CanCollide = false rapr.Transparency = 1 rapr.Locked = true
1438
local lapl = Instance.new("Part",la) lapl.Size = Vector3.new(.1,.1,.1) lapl.CanCollide = false lapl.Transparency = 1 lapl.Locked = true
1439
local raprw = Instance.new("Weld",ra) raprw.Part0 = ra raprw.Part1 = rapr raprw.C0 = CFrame.new(-.5,.5,0)
1440
local laplw = Instance.new("Weld",la) laplw.Part0 = la laplw.Part1 = lapl laplw.C0 = CFrame.new(.5,.5,0)
1441
--/JointsWelds~//--
1442
local rsw = Instance.new("Weld",ra) rsw.Part0 = tpr rsw.Part1 = nil --Right Shoulder
1443
local lsw = Instance.new("Weld",la) lsw.Part0 = tpl lsw.Part1 = nil --Left Shoulder
1444
local bil = Instance.new("BillboardGui",char) bil.Name = "ChatFunc" bil.Adornee = h bil.Size = UDim2.new(1,0,1,0) bil.StudsOffset = Vector3.new(0,2,0)
1445
local effects = Instance.new("Model",char) effects.Name = "Effects"
1446
local noanim = true
1447
if noanim then
1448
if char:WaitForChild("Animate",1.5) then
1449
char.Animate:Destroy()
1450
end
1451
for i,v in pairs(hum:GetPlayingAnimationTracks()) do
1452
	v:Stop(0)
1453
	v:AdjustSpeed(0)
1454
	v:AdjustWeight(math.huge)
1455
	v.TimePosition = 0
1456
	v:Destroy()
1457
end
1458
wait()
1459
if hum:FindFirstChildOfClass("Animator") then
1460
char.Humanoid.Animator:Destroy()
1461
end
1462
end
1463
function swait(num)
1464
	game:GetService("RunService").Stepped:Wait()
1465
end
1466
function remove(instanc,timee)
1467
	debrs:AddItem(instanc,timee)
1468
end
1469
function dest(hit,type)
1470
        if hit:IsA("Seat") or hit:IsA("VehicleSeat") then
1471
            hit.Parent = nil
1472
        end
1473
        hit:ClearAllChildren()
1474
        hit.Anchored = false hit.CanCollide = true
1475
        if hit:IsA("Part") then
1476
            hit.FormFactor = "Custom"
1477
        end
1478
        hit.Size = v3(hit.Size.x/2,hit.Size.y/2,hit.Size.z/2)
1479
        hit.CFrame = hit.CFrame * CFrame.new(hit.Size.x/2,hit.Size.y/2,hit.Size.z/2)
1480
        local clone = hit:Clone() clone.Parent = workspace
1481
        local clone1 = hit:Clone() clone1.Parent = workspace
1482
        local clone2 = hit:Clone() clone2.Parent = workspace
1483
        local clone3 = hit:Clone() clone3.Parent = workspace
1484
        local clone4 = hit:Clone() clone4.Parent = workspace
1485
        local clone5 = hit:Clone() clone5.Parent = workspace
1486
        local clone6 = hit:Clone() clone6.Parent = workspace
1487
        clone.CFrame = hit.CFrame * CFrame.new(0,-hit.Size.y,0)
1488
        clone1.CFrame = hit.CFrame * CFrame.new(-hit.Size.x,-hit.Size.y,0)
1489
        clone2.CFrame = hit.CFrame * CFrame.new(-hit.Size.x,0,0)
1490
        clone3.CFrame = hit.CFrame * CFrame.new(0,0,-hit.Size.z)
1491
        clone4.CFrame = clone.CFrame * CFrame.new(0,0,-clone.Size.z)
1492
        clone5.CFrame = clone1.CFrame * CFrame.new(0,0,-clone1.Size.z)
1493
        clone6.CFrame = clone2.CFrame * CFrame.new(0,0,-clone2.Size.z)
1494
        local parts = {hit,clone,clone1,clone2,clone3,clone4,clone5,clone6}
1495
		return parts
1496
end
1497
function rayc(spos,direc,ignore,dist)
1498
local rai = ray(spos,direc.Unit * dist)
1499
local rhit,rpos,rrot = workspace:FindPartOnRayWithIgnoreList(rai,ignore,false,false)
1500
return rhit,rpos,rrot
1501
end
1502
local tlerp = function(part,tablee,leinght,easingstyle,easingdirec)
1503
pcall(function()
1504
    local info = TweenInfo.new(
1505
    leinght,
1506
    easingstyle,
1507
    easingdirec,
1508
    0,
1509
    false,
1510
    0
1511
    )
1512
    local lerp = tweens:Create(part,info,tablee)
1513
    lerp:Play()
1514
end)
1515
end
1516
function fire(partp,parent,color1,color2,ssize,osize,leinght,material,minr,maxr,shape,spread,st,ot,onlyraise)
1517
    local part = Instance.new("Part",parent) part.Size = Vector3.new(ssize,ssize,ssize) part.Transparency = st part.CanCollide = false part.Anchored = true part.Shape = shape part.Material = material part.BrickColor = BrickColor.new(color1) part.CFrame = partp.CFrame * CFrame.new(partp.Size.x/math.random(-20,20),partp.Size.y/math.random(-20,20),partp.Size.z/math.random(-20,20))
1518
    if onlyraise == true then
1519
        part.CFrame = CFrame.new(part.CFrame.p,Vector3.new(nil,part.CFrame.y,part.CFrame.z))
1520
    else    
1521
    end
1522
    local pcf = part.CFrame
1523
    tlerp(part,{CFrame = pcf * CFrame.new(math.random(-spread,spread)/math.random(2,4),math.random(minr,maxr),math.random(-spread,spread)/math.random(2,4)) * CFrame.Angles(rad(math.random(-180,180)),rad(math.random(-180,180)),rad(math.random(-180,180))),Size = Vector3.new(osize,osize,osize),Color = BrickColor.new(color2).Color,Transparency = ot},leinght,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut)
1524
    game:GetService("Debris"):AddItem(part,leinght)
1525
end
1526
function removewithfade(part,timebeforefade,randc)
1527
pcall(function()
1528
	coroutine.resume(coroutine.create(function()
1529
		wait(timebeforefade)
1530
		part:BreakJoints()
1531
		part.Name = "JustGoingAwayOk?"
1532
		for i = 1,25 do
1533
			if randc then
1534
				part.BrickColor = BrickColor.Random()
1535
			end
1536
			part.Transparency = part.Transparency +.04
1537
			wait()
1538
		end
1539
		part:Destroy()
1540
	end))
1541
end)
1542
end
1543
function fadewithfly(part,color,randc)
1544
pcall(function()
1545
	part:ClearAllChildren()
1546
	part.CanCollide = false
1547
	part.Anchored = false
1548
	part.Massless = true
1549
	part.Locked = false
1550
	part.Archivable = true
1551
	part.Material = "Neon"
1552
	part.BrickColor = BrickColor.new(color)
1553
	local vel = Instance.new("BodyVelocity")
1554
	vel.MaxForce = v3(huge,huge,huge)
1555
	vel.P = 10000
1556
	vel.Velocity = v3(math.random(-3,3),math.random(1,3),math.random(-3,3))
1557
	local avel = Instance.new("BodyAngularVelocity")
1558
	avel.MaxTorque = v3(huge,huge,huge)
1559
	avel.AngularVelocity = v3(math.random(-2,2),math.random(-2,2),math.random(-2,2))
1560
	avel.Parent = part
1561
	vel.Parent = part
1562
	if randc then
1563
		removewithfade(part,0,true)
1564
	else
1565
		removewithfade(part,0,false)
1566
	end
1567
end)
1568
end
1569
function throwsb(to,power)
1570
pcall(function()
1571
	local sb = Instance.new("Part") 
1572
	sb.Size = v3(1,1,1)
1573
	sb.BrickColor = BrickColor.new("Institutional white") 
1574
	sb.CFrame = ra.CFrame * CFrame.new(0,-1.5,0) 
1575
	sb.Material = "Sand"
1576
	sb.Parent = workspace
1577
	sb.Shape = "Ball"
1578
	sb:BreakJoints()
1579
	local vel = Instance.new("BodyVelocity") 
1580
	vel.MaxForce = v3(huge,huge,huge) 
1581
	vel.Velocity = CFrame.new(sb.Position,to).LookVector * power
1582
	remove(vel,.2)
1583
	vel.Parent = sb
1584
	sb.Touched:Connect(function(hit)
1585
		if hit.Parent ~= char and hit.Parent.Parent ~= char then
1586
			local shum = hit.Parent:FindFirstChildOfClass("Humanoid") or hit.Parent.Parent:FindFirstChildOfClass("Humanoid")
1587
			if shum then
1588
				coroutine.resume(coroutine.create(function()
1589
					shum.PlatformStand = true
1590
					wait(.5)
1591
					shum.PlatformStand = false
1592
				end))
1593
			end
1594
			local cf = sb.CFrame
1595
			sb:Destroy()
1596
			for i = 1,math.random(6,12) do
1597
				local force = 5
1598
				local debr = Instance.new("Part")
1599
				debr.Size = v3(.2,.2,.2)
1600
				debr.BrickColor = BrickColor.new("Institutional white")
1601
				debr.Material = "Sand"
1602
				debr.Parent = workspace
1603
				debr.CFrame = cf * CFrame.new(1/math.random(-5,5),1/math.random(-5,5),1/math.random(-5,5))
1604
				debr:BreakJoints()
1605
				debr.Name = "SnowDedree"
1606
				local mesh = Instance.new("SpecialMesh",debr)
1607
				mesh.MeshType = "Sphere"
1608
				mesh.Scale = v3(math.random(10,30)/10,math.random(10,30)/10,math.random(10,30)/10)
1609
				local fors = Instance.new("BodyForce",debr)
1610
				fors.Force = v3(math.random(-force,force),math.random(-force,force),math.random(-force,force))
1611
				remove(debr,math.random(4,7))
1612
				remove(fors,.05)
1613
			end
1614
		end
1615
	end)
1616
end)
1617
end
1618
function introhat()
1619
pcall(function()
1620
	using = true
1621
	rsw.Part1 = rapr
1622
	lsw.Part1 = lapl
1623
	local hpart = Instance.new("Part",char) hpart.Size = Vector3.new(.01,.01,.01) hpart.Transparency = 0 hpart.Name = "Santa Hat"
1624
	hpart.Locked = true
1625
	local hmesh = Instance.new("FileMesh",hpart) hmesh.MeshId = "http://www.roblox.com/asset/?id=1090610" hmesh.TextureId = "http://www.roblox.com/asset/?id=66690053"
1626
	local hweld = Instance.new("Weld",h) hweld.Part0 = ra hweld.Part1 = hpart hweld.C0 = CFrame.new(0,-1.2,0) * CFrame.Angles(rad(-120),rad(30),rad(0))
1627
	tlerp(rsw,{C0 = CFrame.new(-.3,-.1,-.1) * CFrame.Angles(rad(50),rad(20),rad(-40))},.5,qui,io)
1628
	tlerp(lsw,{C0 = CFrame.new(.3,-.1,-.1) * CFrame.Angles(rad(50),rad(-20),rad(40))},.5,qui,io)
1629
	tlerp(hweld,{C0 = CFrame.new(0,-1.2,0) * CFrame.Angles(rad(-120),rad(-65),rad(-30))},.5,qui,io)
1630
	wait(.65)
1631
	tlerp(rsw,{C0 = CFrame.new(-.3,.65,-.2) * CFrame.Angles(rad(160),rad(20),rad(-30))},.7,qui,io)
1632
	tlerp(lsw,{C0 = CFrame.new(.3,.65,-.2) * CFrame.Angles(rad(160),rad(-20),rad(30))},.7,qui,io)
1633
	tlerp(hweld,{C0 = CFrame.new(-.3,-1.2,-.2) * CFrame.Angles(rad(-180),rad(-65),rad(-100)) * CFrame.Angles(rad(0),rad(0),rad(60))},.7,qui,io)
1634
	wait(.65)
1635
	tlerp(rsw,{C0 = CFrame.new(-.3,.15,0) * CFrame.Angles(rad(179),rad(20),rad(-30))},.7,qui,io)
1636
	tlerp(lsw,{C0 = CFrame.new(.3,.15,0) * CFrame.Angles(rad(179),rad(-20),rad(30))},.7,qui,io)
1637
	hweld.C0 = CFrame.new(-.3,-1,-.2) * CFrame.Angles(rad(-180),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-30)) * CFrame.Angles(rad(0),rad(-30),rad(0))
1638
	wait(.6)
1639
	hweld.Part0 = h
1640
	hweld.C0 = CFrame.new(0,.5,0) * CFrame.Angles(rad(0),rad(-30),rad(0))
1641
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},1,qui,io)
1642
	tlerp(lsw,{C0 = CFrame.new(0,0,0)},1,qui,io)
1643
	
1644
	spart = Instance.new("Part",char) spart.Size = Vector3.new(20,1,20) spart.CanCollide = false spart.Anchored = true spart.Massless = true spart.Transparency = 1 spart.CFrame = h.CFrame * CFrame.new(0,15,0) spart.Locked = true
1645
	local emitter = Instance.new("ParticleEmitter",spart) emitter.Texture = "http://www.roblox.com/asset/?id=137831468" emitter.Size = NumberSequence.new(.2,.01) emitter.Rate = 40 emitter.Color = ColorSequence.new(Color3.new(1,1,1),Color3.new(1,1,1)) emitter.EmissionDirection = "Top" emitter.Lifetime = NumberRange.new(3) emitter.Acceleration = Vector3.new(0,-40,0) emitter.Speed = NumberRange.new(-10,10) emitter.SpreadAngle = Vector2.new(-30,30)
1646
	wait(1)
1647
	nec:Destroy()
1648
	rs:Destroy()
1649
	ls:Destroy()
1650
	rh:Destroy()
1651
	lh:Destroy()
1652
	nec = Instance.new("Motor6D",t) nec.Part0 = p0 nec.Part1 = p1 nec.C0 = cf01
1653
	rs = Instance.new("Motor6D",t) rs.Part0 = rsp0 rs.Part1 = rsp1 rs.C0 = cf03
1654
	ls = Instance.new("Motor6D",t) ls.Part0 = lsp0 ls.Part1 = lsp1 ls.C0 = cf04
1655
	rh = Instance.new("Motor6D",t) rh.Part0 = rhp0 rh.Part1 = rhp1 rh.C0 = cf05
1656
	lh = Instance.new("Motor6D",t) lh.Part0 = lhp0 lh.Part1 = lhp1 lh.C0 = cf06
1657
	rsw.Part1 = nil
1658
	lsw.Part1 = nil
1659
	using = false
1660
end)
1661
end
1662
function hug(who)
1663
pcall(function()
1664
	if not hugging then
1665
	local removerut = false
1666
	hugging = true
1667
	using = true
1668
	local tors = who:FindFirstChild("Torso") or who:FindFirstChild("UpperTorso")
1669
	local hu = who:FindFirstChildOfClass("Humanoid")
1670
	hu.PlatformStand = true
1671
	local weld = Instance.new("Weld",t) weld.Part0 = t weld.Part1 = tors weld.C0 = CFrame.new(0,0,-.9) * CFrame.Angles(rad(0),rad(180),rad(0))
1672
	local deb = Instance.new("Glue",who) deb.Name = "Hugging"
1673
	tlerp(rsw,{C0 = CFrame.new(-.3,-.2,-.45) * CFrame.Angles(rad(110),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-60))},.4,qui,io)
1674
	tlerp(lsw,{C0 = CFrame.new(.2,-.2,-.45) * CFrame.Angles(rad(105),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(65))},.4,qui,io)
1675
	tlerp(nec,{C0 = CFrame.new(-.15,1,0) * CFrame.Angles(rad(90),rad(180),rad(0)) * CFrame.Angles(rad(0),rad(15),rad(25))},.4,qui,io)
1676
	rsw.Part1 = rapr
1677
	lsw.Part1 = lapl
1678
	wait(hugtime)
1679
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},.7,qui,io)
1680
	tlerp(lsw,{C0 = CFrame.new(0,0,0)},.7,qui,io)
1681
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.7,qui,io)
1682
	wait(.4)
1683
	hu.PlatformStand = false
1684
	weld:Destroy()
1685
	wait(.4)
1686
	rsw.Part1 = nil
1687
	lsw.Part1 = nil
1688
	deb:Destroy()
1689
	hugging = false
1690
	using = false
1691
	end
1692
end)
1693
end
1694
function detect()
1695
pcall(function()
1696
	coroutine.resume(coroutine.create(function()
1697
	local canhug = true
1698
	local fakedetect = Instance.new("Part",char) fakedetect.Size = Vector3.new(3.5,5,3.5) fakedetect.CanCollide = false fakedetect.Massless = true fakedetect.Transparency = 1 fakedetect.CFrame = t.CFrame
1699
	local fdweld = Instance.new("Weld",fakedetect) fdweld.Part0 = t fdweld.Part1 = fakedetect fdweld.C0 = CFrame.new(0,0,-1)
1700
	local region
1701
	for i = 1,5 do
1702
		if canhug then
1703
		region = Region3.new(fakedetect.Position - fakedetect.Size/2,fakedetect.Position + fakedetect.Size/2)
1704
		local hit = workspace:FindPartsInRegion3WithIgnoreList(region,{char},200)
1705
		local characters = {}
1706
		for i,v in pairs(hit) do
1707
			if v.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
1708
				characters[v.Parent.Name] = v.Parent
1709
			end
1710
		end
1711
		for i,v in pairs(characters) do
1712
		spawn(function()
1713
			fakedetect:Destroy()
1714
			hug(v)
1715
			canhug = false
1716
		end)
1717
		end
1718
		end
1719
		wait(.1)
1720
	end
1721
	if canhug then
1722
	if fakedetect ~= nil then
1723
	fakedetect:Destroy()
1724
	end
1725
	end
1726
	end))
1727
end)	
1728
end
1729
function placegift()
1730
pcall(function()
1731
	using = true
1732
	hum.WalkSpeed = 0 hum.JumpPower = 0
1733
	rsw.Part1 = rapr
1734
	lsw.Part1 = lapl
1735
	local giftp = Instance.new("Part",char) giftp.Size = Vector3.new(1.5,1.5,1.5) giftp.Massless = true giftp.CanCollide = false giftp.Name = "Gift"
1736
	local gmesh = Instance.new("FileMesh",giftp) gmesh.MeshId = "rbxassetid://1237207" gmesh.TextureId = gifts[math.random(1,#gifts)] gmesh.Scale = Vector3.new(1.5,1.5,1.5)
1737
	local gweld = Instance.new("Weld",giftp) gweld.Part0 = ra gweld.Part1 = giftp gweld.C0 = CFrame.new(-.55,-1.4,0) * CFrame.Angles(rad(-60),rad(-10),rad(10))
1738
	tlerp(rsw,{C0 = CFrame.new(-.3,-.3,-.3) * CFrame.Angles(rad(80),rad(0),rad(-20))},.7,qui,io)
1739
	tlerp(lsw,{C0 = CFrame.new(.3,-.3,-.3) * CFrame.Angles(rad(80),rad(0),rad(20))},.7,qui,io)
1740
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(70),rad(180),rad(0))},.7,qui,io)
1741
	tlerp(rh,{C0 = CFrame.new(1,0,-.7) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(20))},.7,qui,io)
1742
	tlerp(lh,{C0 = CFrame.new(-1,-1.3,-1) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(70))},.7,qui,io)
1743
	tlerp(rutj,{C0 = CFrame.new(0,-1,0) * CFrame.Angles(rad(70),rad(180),rad(0))},.7,qui,io)
1744
	wait(.6)
1745
	local ray = Ray.new(giftp.Position - Vector3.new(0,giftp.Size.y/2,0),-giftp.CFrame.UpVector.unit * 20)
1746
	local hit,pos,idk = workspace:FindPartOnRayWithIgnoreList(ray,{char,giftp},false,true)
1747
	if hit ~= nil then
1748
		local oy = giftp.Orientation.y
1749
		local oz = giftp.Orientation.z
1750
		giftp:BreakJoints()
1751
		giftp.Anchored = true
1752
		giftp.CanCollide = true
1753
		giftp.Parent = workspace
1754
		giftp.CFrame = CFrame.new(pos,pos + idk) * CFrame.Angles(rad(-90),rad(oy),rad(oz)) * CFrame.new(0,.75,0)
1755
		local cdet = Instance.new("ClickDetector",giftp) cdet.MaxActivationDistance = 10
1756
		spawn(function()
1757
			removewithfade(giftp,30) 
1758
			cdet.MouseClick:Connect(function(plr)
1759
				if script.ClassName == "Script" then
1760
				local ids = {113328094,16924676,26419811,164207842,212641536}
1761
				local requireditem = game:GetService("InsertService"):LoadAsset(ids[math.random(1,#ids)])
1762
				local item = requireditem:FindFirstChildOfClass("Tool")
1763
				item.Parent = plr.Backpack
1764
				removewithfade(giftp,0)
1765
				cdet:Destroy()
1766
				else
1767
					print("oof")
1768
					removewithfade(giftp,0)
1769
					cdet:Destroy()
1770
				end
1771
			end)
1772
		end)
1773
	else
1774
		giftp:Destroy()
1775
	end
1776
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},.7,qui,io)
1777
	tlerp(lsw,{C0 = CFrame.new(0,0,0)},.7,qui,io)
1778
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.7,qui,io)
1779
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.7,qui,io)
1780
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.7,qui,io)
1781
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.7,qui,io)
1782
	wait(.6)
1783
	hum.WalkSpeed = 16 hum.JumpPower = 50
1784
	rsw.Part1 = nil
1785
	lsw.Part1 = nil
1786
	using = false
1787
end)
1788
end
1789
function huggies()
1790
pcall(function()
1791
	using = true
1792
	rsw.Part1 = rapr
1793
	lsw.Part1 = lapl
1794
	tlerp(rsw,{C0 = CFrame.new(0,0,-.5) * CFrame.Angles(rad(90),rad(0),rad(50))},.55,qui,io)
1795
	tlerp(lsw,{C0 = CFrame.new(0,0,-.5) * CFrame.Angles(rad(90),rad(0),rad(-50))},.65,qui,io)
1796
	wait(.35)
1797
	detect()
1798
	tlerp(rsw,{C0 = CFrame.new(-.3,-.2,-.45) * CFrame.Angles(rad(110),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-60))},.4,qui,io)
1799
	tlerp(lsw,{C0 = CFrame.new(.2,-.2,-.45) * CFrame.Angles(rad(105),rad(0),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(65))},.4,qui,io)
1800
	wait(.5)
1801
	if not hugging then
1802
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},.4,qui,io)
1803
	tlerp(lsw,{C0 = CFrame.new(0,0,0)},.4,qui,io)
1804
	wait(.5)
1805
	rsw.Part1 = nil
1806
	lsw.Part1 = nil
1807
	using = false
1808
	end
1809
end)
1810
end
1811
function grabsb()
1812
pcall(function()
1813
	using = true
1814
	hum.WalkSpeed = 0
1815
	hum.JumpPower = 0
1816
	rsw.Part1 = rapr
1817
	tlerp(rsw,{C0 = CFrame.new(0,-.4,0) * CFrame.Angles(rad(30),rad(0),rad(20))},.4,qui,io)
1818
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(70),rad(180),rad(0))},.4,qui,io)
1819
	tlerp(rh,{C0 = CFrame.new(1,.6,-.7) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(-25),rad(0),rad(20))},.4,qui,io)
1820
	tlerp(lh,{C0 = CFrame.new(-1,.3,-.7) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(15),rad(0),rad(-20))},.4,qui,io)
1821
	tlerp(rutj,{C0 = CFrame.new(0,-1.2,0) * CFrame.Angles(rad(60),rad(180),rad(30))},.4,qui,io)
1822
	wait(.3)
1823
	local hit,pos,rot = rayc(ra.Position -v3(0,1,0),-ra.CFrame.UpVector,{char},.5)
1824
	if hit ~= nil and pos then
1825
		local cff = CFrame.new(pos,pos+rot) * CFrame.Angles(0,rad(90),0)
1826
		local snow = Instance.new("Part",char) snow.Shape = "Cylinder" snow.Transparency = 1 snow.Size = v3(.1,.1,.1) snow.Material = "Sand" snow.BrickColor = BrickColor.new("Institutional white") snow.CanCollide = false snow.Anchored = true
1827
		tlerp(snow,{Size =v3(.1,2.5,2.5),Transparency = 0},.2,qui,io)
1828
		snow.CFrame = cff
1829
		removewithfade(snow,1)
1830
	else
1831
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
1832
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1833
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
1834
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
1835
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1836
		wait(.4)
1837
		aiming = false
1838
		hum.WalkSpeed = 16
1839
		hum.JumpPower = 50
1840
		rut.Anchored = false
1841
		rsw.Part1 = nil
1842
		using = false
1843
		return warn("Can`t grab a snow ball.")
1844
	end
1845
	wait(.15)
1846
	local fsb = Instance.new("Part",char) fsb.Name = "MustDestroy" fsb.Shape = "Ball" fsb.Size = v3(1,1,1) fsb.CanCollide = false fsb.BrickColor = BrickColor.new("Institutional white") fsb.Material = "Sand"
1847
	local fweld = Instance.new("Weld",fsb) fweld.Part0 = ra fweld.Part1 = fsb fweld.C0 = CFrame.new(0,-1.2,0)
1848
	tlerp(rsw,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(200),rad(10),rad(-10))},.4,qui,io)
1849
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.4,qui,io)
1850
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(-10))},.4,qui,io)
1851
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(10))},.4,qui,io)
1852
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(100),rad(180),rad(-10))},.4,qui,io)
1853
	wait(.3)
1854
	aiming = true
1855
	repeat
1856
		wait(.2)
1857
	until aiming == false
1858
	tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
1859
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1860
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
1861
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
1862
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1863
	wait(.4)
1864
	rsw.Part1 = nil
1865
	using = false
1866
end)
1867
end
1868
function land()
1869
if phit then
1870
	readytoland = false
1871
	landed = true
1872
	hum.WalkSpeed = 1.5
1873
	hum.JumpPower = 0
1874
	lsound:Play()
1875
	for i = 0,1,.1 do
1876
	rutj.C0 = rutj.C0:Lerp(CFrame.new(0,-.5,0) * CFrame.Angles(rad(-100),rad(0),rad(180)),i)
1877
    rh.C0 = rh.C0:Lerp(CFrame.new(1,-.5,-.3) * CFrame.Angles(rad(11),rad(90),rad(0)),i)
1878
    lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.5,-.25) * CFrame.Angles(rad(9),rad(-90),rad(0)),i)
1879
	rs.C0 = rs.C0:Lerp(CFrame.new(1,.35,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(-15),rad(0),rad(10)),i)
1880
    ls.C0 = ls.C0:Lerp(CFrame.new(-1,.35,0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(-15),rad(0),rad(-10)),i)
1881
	nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-100),rad(0),rad(180)),i)
1882
	swait()
1883
	end
1884
	for i = 1,math.random(6,9) do
1885
	fire(effpart,workspace,tostring(phit.BrickColor),tostring(phit.BrickColor),math.random(7,13)/10,math.random(3,6)/10,math.random(4,6)/10,phit.Material,0,0,"Block",5,0,1,true)
1886
	end
1887
	wait(.3)
1888
	landed = false
1889
	hum.WalkSpeed = 16
1890
	hum.JumpPower = 50
1891
end
1892
end
1893
function tsbanim()
1894
pcall(function()
1895
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.2,qui,io)
1896
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(-10))},.2,qui,io)
1897
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(10))},.2,qui,io)
1898
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(100),rad(180),rad(10))},.2,qui,io)
1899
	coroutine.resume(coroutine.create(function()
1900
	for i = 0,1,.05 do
1901
		rsw.C0 = rsw.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(170),rad(-10),rad(10)) * CFrame.Angles(-cos(i/aa/1.5)*rad(70),0,0),i)
1902
		swait()
1903
	end
1904
	end))
1905
	wait(.1)
1906
	char:WaitForChild("MustDestroy",.5):Destroy()
1907
	throwsb(mouse.Hit.p,70)
1908
	aiming = false
1909
	hum.WalkSpeed = 16
1910
	hum.JumpPower = 50
1911
	rut.Anchored = false
1912
end)
1913
end
1914
function sit()
1915
pcall(function()
1916
	using = true
1917
	hum.WalkSpeed = 0
1918
	hum.JumpPower = 0
1919
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1920
	tlerp(rutj,{C0 = CFrame.new(0,-1.1,0) * CFrame.Angles(rad(100),rad(180),rad(-20))},.5,qui,io)
1921
	tlerp(rs,{C0 = CFrame.new(1,.5,0) * CFrame.Angles(rad(-10),rad(90),rad(20))},.5,qui,io)
1922
	tlerp(ls,{C0 = CFrame.new(-1,.5,0) * CFrame.Angles(rad(-10),rad(-90),rad(20))},.5,qui,io)
1923
	tlerp(rh,{C0 = CFrame.new(1,.1,-.4) * CFrame.Angles(rad(-20),rad(90),rad(0))},.5,qui,io)
1924
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(70),rad(-90),rad(0))},.5,qui,io)
1925
	wait(.35)
1926
	if not furmode then
1927
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(70),rad(180),rad(0))},.5,qui,io)
1928
		tlerp(rutj,{C0 = CFrame.new(0,-1.7,0) * CFrame.Angles(rad(120),rad(180),rad(0))},.5,qui,io)
1929
		tlerp(rs,{C0 = CFrame.new(1,.15,.25) * CFrame.Angles(rad(-35),rad(85),rad(0)) * CFrame.Angles(rad(-5),rad(0),rad(0))},.5,qui,io)
1930
		tlerp(ls,{C0 = CFrame.new(-1,.15,.25) * CFrame.Angles(rad(-35),rad(-65),rad(0)) * CFrame.Angles(rad(-5),rad(0),rad(0))},.5,qui,io)
1931
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(60),rad(90),rad(0)) * CFrame.Angles(rad(-5),rad(0),rad(0))},.5,qui,io)
1932
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(60),rad(-90),rad(0)) * CFrame.Angles(rad(-5),rad(0),rad(0))},.5,qui,io)
1933
	else
1934
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(-75),rad(0),rad(180))},.5,qui,io)
1935
		tlerp(rutj,{C0 = CFrame.new(0,-1.6,0) * CFrame.Angles(rad(-105),rad(0),rad(180))},.5,qui,io)
1936
		tlerp(rs,{C0 = CFrame.new(.5,.2,-.3) * CFrame.Angles(rad(-10),rad(95),rad(30)) * CFrame.Angles(rad(25),rad(20),rad(0))},.5,qui,io)
1937
		tlerp(ls,{C0 = CFrame.new(-.5,.2,-.3) * CFrame.Angles(rad(-10),rad(-95),rad(-30)) * CFrame.Angles(rad(25),rad(-20),rad(0))},.5,qui,io)
1938
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(15),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(-20),rad(90))},.5,qui,io)
1939
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(15),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(20),rad(-90))},.5,qui,io)
1940
	end
1941
	wait(.35)
1942
	sitting = true
1943
end)
1944
end
1945
function getup()
1946
pcall(function()
1947
	using = true
1948
	sitting = true
1949
	hum.WalkSpeed = 0
1950
	hum.JumpPower = 0
1951
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1952
	tlerp(rutj,{C0 = CFrame.new(0,-1.1,0) * CFrame.Angles(rad(100),rad(180),rad(-20))},.5,qui,io)
1953
	tlerp(rs,{C0 = CFrame.new(1,.5,0) * CFrame.Angles(rad(-10),rad(90),rad(20))},.5,qui,io)
1954
	tlerp(ls,{C0 = CFrame.new(-1,.5,0) * CFrame.Angles(rad(-10),rad(-90),rad(20))},.5,qui,io)
1955
	tlerp(rh,{C0 = CFrame.new(1,.1,-.4) * CFrame.Angles(rad(-20),rad(90),rad(0))},.5,qui,io)
1956
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(70),rad(-90),rad(0))},.5,qui,io)
1957
	wait(.35)
1958
	tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1959
	tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1960
	tlerp(rs,{C0 = CFrame.new(1,.5,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
1961
	tlerp(ls,{C0 = CFrame.new(-1,.5,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
1962
	tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
1963
	tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
1964
	wait(.35)
1965
	using = false
1966
	sitting = false
1967
	hum.WalkSpeed = 16
1968
	hum.JumpPower = 50
1969
end)
1970
end
1971
function tp()
1972
pcall(function()
1973
	using = true
1974
	hum.WalkSpeed = 0
1975
	hum.JumpPower = 0
1976
	rut.Anchored = true
1977
	local hit,pos,rot = rayc(rut.Position -v3(0,1,0),-rut.CFrame.UpVector,{char},30)
1978
	local hit1,pos1,rot1 = rayc(mouse.Hit.p+v3(0,.7,0),-rut.CFrame.UpVector,{char},10)
1979
	if hit ~= nil and pos and hit1 then
1980
		local cff = CFrame.new(pos,pos+rot) * CFrame.Angles(0,rad(90),0)
1981
		local snow = Instance.new("Part",char) snow.Shape = "Cylinder" snow.Transparency = 1 snow.Size = v3(.1,.1,.1) snow.Material = "Sand" snow.BrickColor = BrickColor.new("Institutional white") snow.CanCollide = false snow.Anchored = true
1982
		tlerp(snow,{Size =v3(.1,7.5,7.5),Transparency = 0},.2,qui,io)
1983
		snow.CFrame = cff
1984
		wait(.1)
1985
		tlerp(rut,{CFrame = CFrame.new(pos) * CFrame.new(0,-5,0)},.3,qui,io)
1986
		wait(.2)
1987
		removewithfade(snow,1)
1988
	else
1989
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
1990
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1991
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
1992
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
1993
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
1994
		wait(.4)
1995
		aiming = false
1996
		hum.WalkSpeed = 16
1997
		hum.JumpPower = 50
1998
		rut.Anchored = false
1999
		rsw.Part1 = nil
2000
		using = false
2001
		return warn("Can`t teleport.")
2002
	end
2003
	local sn
2004
	if hit1 ~= nil and pos1 then
2005
		local cff = CFrame.new(pos1,pos1+rot1) * CFrame.Angles(0,rad(90),0)
2006
		local snow = Instance.new("Part",char) snow.Shape = "Cylinder" snow.Transparency = 1 snow.Size = v3(.1,.1,.1) snow.Material = "Sand" snow.BrickColor = BrickColor.new("Institutional white") snow.CanCollide = false snow.Anchored = true
2007
		tlerp(snow,{Size =v3(.1,7.5,7.5),Transparency = 0},.2,qui,io)
2008
		snow.CFrame = cff
2009
		sn = snow
2010
		removewithfade(snow,1)
2011
	else
2012
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
2013
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
2014
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
2015
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
2016
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
2017
		wait(.4)
2018
		aiming = false
2019
		hum.WalkSpeed = 16
2020
		hum.JumpPower = 50
2021
		rut.Anchored = false
2022
		rsw.Part1 = nil
2023
		using = false
2024
		return warn("Can`t teleport.")
2025
	end
2026
	if sn.Orientation.z ~= 90 then
2027
		rut.CFrame = sn.CFrame * CFrame.new(-3,0,0)
2028
		rut.CFrame = CFrame.new(rut.Position,sn.Position)
2029
		tlerp(rut,{CFrame = rut.CFrame * CFrame.new(0,0,-5)},.3,qui,io)
2030
	else
2031
		rut.CFrame = sn.CFrame * CFrame.new(-3,0,0)
2032
		rut.CFrame = CFrame.new(rut.Position,v3(nil,sn.CFrame.y,sn.CFrame.z))
2033
		tlerp(rut,{CFrame = rut.CFrame * CFrame.new(0,5,0)},.3,qui,io)
2034
	end
2035
	wait(.2)
2036
	rut.CFrame = CFrame.new(rut.Position,Vector3.new(nil,rut.CFrame.y,-rut.CFrame.z))
2037
	rut.Anchored = false
2038
	hum.WalkSpeed = 16
2039
	hum.JumpPower = 50
2040
	using = false
2041
end)
2042
end
2043
function candybag()
2044
	pcall(function()
2045
		using = true
2046
		rsw.Part1 = rapr
2047
		lsw.Part1 = lapl
2048
		local bag = Instance.new("Part",char) bag.Locked = true bag.Size = v3(.1,.1,.1) bag.CanCollide = false bag:BreakJoints()
2049
		local bmesh = Instance.new("FileMesh",bag) bmesh.MeshId = "rbxassetid://25921854" bmesh.Scale = v3(3.5,3.5,3.5) bmesh.TextureId = "rbxassetid://36938238" bmesh.Offset = v3(0,-.6,0)
2050
		local weld = Instance.new("Weld",bag) weld.Part0 = ra weld.Part1 = bag weld.C0 = CFrame.new(0,-1,0)
2051
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
2052
		tlerp(lsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
2053
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
2054
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
2055
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
2056
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
2057
		wait(.4)
2058
		tlerp(rsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
2059
		tlerp(lsw,{C0 = CFrame.new(0,0,0)},.5,qui,io)
2060
		tlerp(nec,{C0 = CFrame.new(0,1,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
2061
		tlerp(rh,{C0 = CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0))},.5,qui,io)
2062
		tlerp(lh,{C0 = CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0))},.5,qui,io)
2063
		tlerp(rutj,{C0 = CFrame.new(0,0,0) * CFrame.Angles(rad(90),rad(180),rad(0))},.5,qui,io)
2064
		wait(.4)
2065
		rsw.Part1 = nil
2066
		lsw.Part1 = nil
2067
		using = false
2068
	end)
2069
end
2070
function saddeath(who)
2071
	for i,v in pairs(who:GetDescendants()) do
2072
		coroutine.resume(coroutine.create(function()
2073
		if v:IsA("Shirt") or v:IsA("Pants") or v:IsA("ForceField") or v:IsA("CharacterMesh") then
2074
			v:Destroy()
2075
		end
2076
		end))
2077
		if v:IsA("Part") or v:IsA("MeshPart") then
2078
			fadewithfly(v,"White",false)
2079
		end
2080
	end
2081
end
2082
2083
mouse.KeyDown:Connect(function(key)
2084
pcall(function()
2085
	if key == "e" and not using then
2086
		huggies()
2087
	end
2088
	if key == "f" and not using then
2089
		placegift()
2090
	end
2091
	if key == "q" and not using then
2092
		grabsb()
2093
	end
2094
	if key == "z" and not using and not sitting then
2095
		sit()
2096
	elseif key == "z" and using and sitting then
2097
		getup()
2098
	end
2099
	if key == "c" and not using then
2100
		tp()
2101
	end
2102
	if key == "r"and not using then
2103
		--candybag()
2104
	end
2105
end)
2106
end)
2107
mouse.Button1Down:Connect(function()
2108
	if aiming then
2109
		tsbanim()
2110
	end
2111
end)
2112
hum.Died:Connect(function()
2113
	saddeath(char)
2114
end)
2115
2116
local anims = coroutine.wrap(function()
2117
while hum.Health > .001 do
2118
	if aiming then
2119
		rut.Anchored = true
2120
		rut.CFrame = CFrame.new(rut.Position,v3(mouse.Hit.x,rut.CFrame.y,mouse.Hit.z))
2121
	end
2122
	if hum.WalkSpeed >32 then
2123
		hum.WalkSpeed = 32
2124
	end
2125
	if not lsound.Parent then
2126
		lsound = Instance.new("Sound",effpart) lsound.Volume = lsvol lsound.SoundId = "rbxassetid://1161221108"
2127
	end
2128
	local hit,pos,rot = rayc(rut.Position -v3(0,1,0),-rut.CFrame.UpVector,{char},2.7)
2129
	local grhit,grpos,grrot = rayc(grabpart.Position,-grabpart.CFrame.UpVector,{char},1)
2130
	phit = hit
2131
	if not using then
2132
	if grhit and grhit.Anchored == true then
2133
	cangrabthecorner = true
2134
	else
2135
	cangrabthecorner = false
2136
	end
2137
	end
2138
if cangrabthecorner and not grabbedc then
2139
	local shit,spos,srot = rayc(rut.Position+Vector3.new(0,2.5,0),rut.CFrame.LookVector,{char},1.5)
2140
	if shit then
2141
	grabbedc = true
2142
	local cf = CFrame.new(spos,spos+srot) * CFrame.Angles(rad(0),rad(180),0) * CFrame.new(0,-2,.7)
2143
	using = true
2144
	cangrabthecorner = false
2145
	rut.Anchored = true
2146
	local oldws = hum.WalkSpeed
2147
	hum.WalkSpeed = 0
2148
	hum.JumpPower = 0
2149
	rut.CFrame = cf
2150
	local curcf = rut.CFrame
2151
	for i = 0,1,.1 do
2152
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-90),rad(0),rad(180)),animspeed*50)
2153
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0)),animspeed*50)
2154
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0)),animspeed*50)
2155
		rs.C0 = rs.C0:Lerp(CFrame.new(.85,.8,-.2) * CFrame.Angles(rad(160),rad(90),rad(0)),animspeed*50)
2156
        ls.C0 = ls.C0:Lerp(CFrame.new(-.85,.8,-.2) * CFrame.Angles(rad(160),rad(-90),rad(0)),animspeed*50)
2157
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-30),rad(0),rad(180)),animspeed*50)
2158
		swait()
2159
	end
2160
	for i = 0,.65,.025 do
2161
		rut.CFrame = rut.CFrame:Lerp(curcf * CFrame.new(0,4.5,-3),i)
2162
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,-.8,0) * CFrame.Angles(rad(-120),rad(0),rad(180)),i)
2163
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-.7,-.3) * CFrame.Angles(rad(-60),rad(90),rad(0)),i)
2164
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.7,0) * CFrame.Angles(rad(20),rad(-90),rad(0)),i)
2165
		rs.C0 = rs.C0:Lerp(CFrame.new(.85,.3,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(10)),i)
2166
        ls.C0 = ls.C0:Lerp(CFrame.new(-.85,.3,0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(10)),i)
2167
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-80),rad(0),rad(180)),i)
2168
		swait()
2169
	end
2170
	hum.WalkSpeed = oldws
2171
	hum.JumpPower = 50
2172
	rut.Anchored = false
2173
	t.Anchored = false
2174
	using = false
2175
	grabbedc = false
2176
	end
2177
	end
2178
	walkspeed = hum.WalkSpeed
2179
	sumthin = walkspeed/8
2180
	animspeed1 = 1.5/sumthin
2181
	change = change +sine
2182
	if lookinaround then
2183
		lchange = lchange +sine
2184
	else
2185
		lchange = 0
2186
	end
2187
	local vervel = rut.Velocity.y
2188
	local tvel = (rut.Velocity * v3(1,0,1)).Magnitude
2189
	local Ccf=rut.CFrame
2190
	local Walktest1 = hum.MoveDirection*Ccf.LookVector
2191
	local Walktest2 = hum.MoveDirection*Ccf.RightVector
2192
	rotfb = Walktest1.X+Walktest1.Z
2193
	rotrl = Walktest2.X+Walktest2.Z
2194
	if spart then
2195
		spart.CFrame = spart.CFrame:Lerp(h.CFrame * CFrame.new(0,15,0),.1)
2196
	end
2197
	if not hit and anim == "fall" then
2198
	readytoland = true
2199
	end
2200
	if not landed then
2201
	if readytoland and hit then
2202
	land()
2203
	end
2204
	if not lookinaround and not sitting then
2205
	if anim == "idle" and hit then
2206
	--Neck
2207
		nec.C1 = nec.C1:Lerp(cf1 * CFrame.new(0,0,cos(change/aa/2.5)/(2.5*10)) * CFrame.Angles(sin(change/aa/2.5)*rad(1),0,-sin(change/aa/2.5)*rad(1)),.1)
2208
	--Humanoid Root Part
2209
		rutj.C1 = rutj.C1:Lerp(cf2 * CFrame.new(0,cos(change/aa/2.5)/(2.5*10),cos(change/aa/2.5)/(2.5*10)) * CFrame.Angles(sin(change/aa/2.5)*rad(1),0,0),.1)
2210
	--Shoulders
2211
		rs.C1 = rs.C1:Lerp(cf3 * CFrame.new(-cos(change/aa/2.5)/(2.5*10),cos(change/aa/2.5)/(2.5*10),0) * CFrame.Angles(.1,0,0) * CFrame.Angles(sin(change/aa/1.5)*rad(1),sin(change/aa/2.5)*rad(1),sin(change/aa/2.5)*rad(2.5)),.1)
2212
		ls.C1 = ls.C1:Lerp(cf4 * CFrame.new(cos(change/aa/2.5)/(2.5*10),cos(change/aa/2.5)/(2.5*10),0) * CFrame.Angles(.1,0,0) * CFrame.Angles(sin(change/aa/2.5)*rad(1),sin(change/aa/2.5)*rad(1),-sin(change/aa/2.5)*rad(2.5)),.1)
2213
	--Hips
2214
		rh.C1 = rh.C1:Lerp(cff5 * CFrame.new(cos(change/aa/2.5)/(2.5*10),-cos(change/aa/2.5)/(2.5*10),0) * CFrame.Angles(0,0,sin(change/aa/2.5)*rad(1)) * CFrame.Angles(0,0,0),.1)
2215
		lh.C1 = lh.C1:Lerp(cff6 * CFrame.new(-cos(change/aa/2.5)/(2.5*10),-cos(change/aa/2.5)/(2.5*10),0) * CFrame.Angles(0,0,-sin(change/aa/2.5)*rad(1)) * CFrame.Angles(0,0,0),.1)
2216
	elseif anim == "sit" then
2217
		nec.C1 = nec.C1:Lerp(cf1,.1)
2218
		rutj.C1 = rutj.C1:Lerp(cf2,.1)
2219
		rs.C1 = rs.C1:Lerp(cf3,.1)
2220
		ls.C1 = ls.C1:Lerp(cf4,.1)
2221
		rh.C1 = rh.C1:Lerp(cf5,.1)
2222
		lh.C1 = lh.C1:Lerp(cf6,.1)
2223
	elseif anim == "jump" and not hit then
2224
		nec.C1 = nec.C1:Lerp(cf1,.1)
2225
		rutj.C1 = rutj.C1:Lerp(cf2,.1)
2226
		rs.C1 = rs.C1:Lerp(cf3,.1)
2227
		ls.C1 = ls.C1:Lerp(cf4,.1)
2228
		rh.C1 = rh.C1:Lerp(cf5,.1)
2229
		lh.C1 = lh.C1:Lerp(cf6,.1)
2230
	elseif anim == "fall" and not hit then
2231
		nec.C1 = nec.C1:Lerp(cf1,.1)
2232
		rutj.C1 = rutj.C1:Lerp(cf2,.1)
2233
		rs.C1 = rs.C1:Lerp(cf3,.1)
2234
		ls.C1 = ls.C1:Lerp(cf4,.1)
2235
		rh.C1 = rh.C1:Lerp(cf5,.1)
2236
		lh.C1 = lh.C1:Lerp(cf6,.1)
2237
	elseif anim == "walk" and hit then
2238
		--Neck
2239
			nec.C1 = nec.C1:Lerp(cf1 * CFrame.new(0,0,cos(change/aa/animspeed1)/17.5) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(5),-rut.RotVelocity.y/90,rut.RotVelocity.y/60),walkanimspeed)
2240
		--Humanoid Root Part
2241
			rutj.C1 = rutj.C1:Lerp(cf2 * CFrame.new(0,0,cos(change/aa/animspeed1)/15) * CFrame.Angles(sin(change/aa/animspeed1)*rad(2.5*sumthin),-rut.RotVelocity.y/100,sin(change/aa/animspeed1)*rad(5*sumthin) * -rut.RotVelocity.y/100) * CFrame.Angles(-rotfb/5,rotrl/5,0),walkanimspeed)
2242
		--Shoulders
2243
			rs.C1 = rs.C1:Lerp(cf3 * CFrame.new(0,0,0) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(3*sumthin)*rotfb,-sin(change/aa/animspeed1)*rad(10)*rotfb,0) * CFrame.Angles(sin(change/aa/animspeed1)*rad(5*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(5*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(35*sumthin)*rotfb or rotfl),walkanimspeed)
2244
			ls.C1 = ls.C1:Lerp(cf4 * CFrame.new(0,0,0) * CFrame.Angles(sin(change/aa/animspeed1)*rad(3*sumthin)*rotfb,-sin(change/aa/animspeed1)*rad(10)*rotfb,0) * CFrame.Angles(sin(change/aa/animspeed1)*rad(5*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(5*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(35*sumthin)*rotfb or rotfl),walkanimspeed)
2245
		--Hips
2246
			rh.C1 = rh.C1:Lerp(cf5 * CFrame.new((cos(change/aa/animspeed1)/3.5)*rotfb or (cos(change/aa/animspeed1)/3.5)*rotrl,(cos(change/aa/animspeed1)/4),(cos(change/aa/animspeed1)/4)*rotrl) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(15*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(15*sumthin)*rotrl,sin(change/aa/animspeed1)*rad(30*sumthin)*rotfb),walkanimspeed)
2247
			lh.C1 = lh.C1:Lerp(cf6 * CFrame.new((cos(change/aa/animspeed1)/3.5)*rotfb or (cos(change/aa/animspeed1)/3.5)*rotrl,(-cos(change/aa/animspeed1)/4),(cos(change/aa/animspeed1)/4)*rotrl) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(15*sumthin)*rotrl,-sin(change/aa/animspeed1)*rad(15*sumthin)*rotrl,sin(change/aa/animspeed1)*rad(30*sumthin)*rotfb),walkanimspeed)
2248
	end
2249
	if not grabbedc then
2250
	if vervel > 1 and hum.Sit == false then
2251
		anim = "jump"
2252
		if not using then
2253
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-80),rad(0),rad(180)),animspeed*50)
2254
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-.1,-.4) * CFrame.Angles(rad(-10),rad(85),rad(0)),animspeed*50)
2255
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.4,-.25) * CFrame.Angles(rad(-10),rad(-85),rad(0)),animspeed*50)
2256
		rs.C0 = rs.C0:Lerp(CFrame.new(1,.25,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(-40),rad(0),rad(0)),animspeed*50)
2257
        ls.C0 = ls.C0:Lerp(CFrame.new(-1,.25,-0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(-40),rad(0),rad(0)),animspeed*50)
2258
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-100),rad(0),rad(180)),animspeed*50)
2259
		end
2260
	elseif vervel < -1 and hum.Sit == false then
2261
		anim = "fall"
2262
		if not using then
2263
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-80),rad(0),rad(180)),.00025)
2264
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-.1,-.4) * CFrame.Angles(rad(-10),rad(85),rad(0)),.00025)
2265
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.55,-.25) * CFrame.Angles(rad(-10),rad(-85),rad(0)),.00025)
2266
		rs.C0 = rs.C0:Lerp(CFrame.new(1,.35,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(-50),rad(0),rad(0)),.00025)
2267
        ls.C0 = ls.C0:Lerp(CFrame.new(-1,.25,-0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(-50),rad(0),rad(0)),.00025)
2268
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-110),rad(0),rad(180)),.00025)
2269
		end
2270
	elseif tvel < 1 and hum.Sit == false then
2271
		anim = "idle"
2272
		if not using then
2273
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-90),rad(0),rad(180)),animspeed*50)
2274
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0)),animspeed*50)
2275
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0)),animspeed*50)
2276
		rs.C0 = rs.C0:Lerp(CFrame.new(1,.5,0) * CFrame.Angles(rad(0),rad(90),rad(0)),animspeed*50)
2277
        ls.C0 = ls.C0:Lerp(CFrame.new(-1,.5,0) * CFrame.Angles(rad(0),rad(-90),rad(0)),animspeed*50)
2278
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-90),rad(0),rad(180)),animspeed*50)
2279
		end
2280
	elseif tvel > 1 and hum.Sit == false then
2281
		anim = "walk"
2282
		if not using then
2283
		rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-90),rad(0),rad(180)) * CFrame.Angles(rad(0*sumthin),rad(0),rad(0)),animspeed*50)
2284
        rh.C0 = rh.C0:Lerp(CFrame.new(1,-.8+rotrl/4,-.15) * CFrame.Angles(rad(0),rad(90),rad(-10)) * CFrame.Angles(rad(0),rad(0),-sin(change/aa/animspeed1)*rad(10*sumthin)*rotrl) * CFrame.Angles(-rotrl/5,-rotrl/5,rotfb/5),animspeed*50)
2285
        lh.C0 = lh.C0:Lerp(CFrame.new(-1,-.8-rotrl/4,-.15) * CFrame.Angles(rad(0),rad(-90),rad(10)) * CFrame.Angles(rad(0),rad(0),-sin(change/aa/animspeed1)*rad(10*sumthin)*rotrl) * CFrame.Angles(rotrl/5,-rotrl/5,-rotfb/5),animspeed*50)
2286
		rs.C0 = rs.C0:Lerp(CFrame.new(1,.5,0) * CFrame.Angles(sin(change/aa/animspeed1)*rad(10*sumthin)*rotrl,rad(90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(5*sumthin)),animspeed*50)
2287
        ls.C0 = ls.C0:Lerp(CFrame.new(-1,.5,0) * CFrame.Angles(-sin(change/aa/animspeed1)*rad(10*sumthin)*rotrl,rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-5*sumthin)),animspeed*50)
2288
		nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-90),rad(0),rad(180)) * CFrame.Angles(rad(-5*sumthin),rad(0),rad(-40*rotrl)),animspeed*50)
2289
		end
2290
	elseif hum.Sit == true then
2291
		anim = "sit"
2292
		if not using then
2293
		if not furmode then
2294
			rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-90),rad(0),rad(180)),animspeed*50)
2295
      			rh.C0 = rh.C0:Lerp(CFrame.new(1,-1,0) * CFrame.Angles(rad(0),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(90)),animspeed*50)
2296
        		lh.C0 = lh.C0:Lerp(CFrame.new(-1,-1,0) * CFrame.Angles(rad(0),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(0),rad(-90)),animspeed*50)
2297
			rs.C0 = rs.C0:Lerp(CFrame.new(1,.5,0) * CFrame.Angles(rad(0),rad(90),rad(30)) * CFrame.Angles(rad(30),rad(0),rad(0)),animspeed*50)
2298
       			ls.C0 = ls.C0:Lerp(CFrame.new(-1,.5,0) * CFrame.Angles(rad(0),rad(-90),rad(-30)) * CFrame.Angles(rad(30),rad(0),rad(0)),animspeed*50)
2299
			nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-95),rad(0),rad(180)),animspeed*50)
2300
		else
2301
			rutj.C0 = rutj.C0:Lerp(CFrame.new(0,0,0) * CFrame.Angles(rad(-105),rad(0),rad(180)),animspeed*50)
2302
      			rh.C0 = rh.C0:Lerp(CFrame.new(1,-1,0) * CFrame.Angles(rad(15),rad(90),rad(0)) * CFrame.Angles(rad(0),rad(-20),rad(90)),animspeed*50)
2303
        		lh.C0 = lh.C0:Lerp(CFrame.new(-1,-1,0) * CFrame.Angles(rad(15),rad(-90),rad(0)) * CFrame.Angles(rad(0),rad(20),rad(-90)),animspeed*50)
2304
			rs.C0 = rs.C0:Lerp(CFrame.new(.5,.2,-.3) * CFrame.Angles(rad(-10),rad(95),rad(30)) * CFrame.Angles(rad(25),rad(20),rad(0)),animspeed*50)
2305
       			ls.C0 = ls.C0:Lerp(CFrame.new(-.5,.2,-.3) * CFrame.Angles(rad(-10),rad(-95),rad(-30)) * CFrame.Angles(rad(25),rad(-20),rad(0)),animspeed*50)
2306
			nec.C0 = nec.C0:Lerp(CFrame.new(0,1,0) * CFrame.Angles(rad(-75),rad(0),rad(180)),animspeed*50)
2307
		end
2308
		end
2309
		else
2310
		nec.C1 = nec.C1:Lerp(cf1,animspeed*50)
2311
		rutj.C1 = rutj.C1:Lerp(cf2,animspeed*50)
2312
		rs.C1 = rs.C1:Lerp(cf3,animspeed*50)
2313
		ls.C1 = ls.C1:Lerp(cf4,animspeed*50)
2314
		rh.C1 = rh.C1:Lerp(cf5,animspeed*50)
2315
		lh.C1 = lh.C1:Lerp(cf6,animspeed*50)
2316
		end
2317
	end
2318
	end
2319
	end
2320
	if sitting then
2321
		nec.C1 = nec.C1:Lerp(cf1 * CFrame.new(0,0,cos(change/aa)/(2.5*10)) * CFrame.Angles(sin(change/aa/1.5)*rad(2.5),0,-sin(change/aa/1.5)*rad(2.5)),.1)
2322
		rutj.C1 = rutj.C1:Lerp(cf2,.1)
2323
		rs.C1 = rs.C1:Lerp(cf3,.1)
2324
		ls.C1 = ls.C1:Lerp(cf4,.1)
2325
		rh.C1 = rh.C1:Lerp(cf5,.1)
2326
		lh.C1 = lh.C1:Lerp(cf6,.1)
2327
	end
2328
	coroutine.resume(coroutine.create(function()
2329
		if not using and anim == "idle" then
2330
	if not lookinaround then
2331
		idlenum = idlenum +.005
2332
		if idlenum >= whenbored then
2333
			idlenum = 0
2334
			local oldws = hum.WalkSpeed
2335
			local oldjp = hum.JumpPower
2336
			hum.WalkSpeed = 0
2337
			hum.JumpPower = 0
2338
			rut.Anchored = true
2339
			rh.Part0 = rut
2340
			lh.Part0 = rut
2341
			using = true
2342
			lookinaround = true
2343
			wait(3)
2344
			hum.WalkSpeed = oldws
2345
			hum.JumpPower = oldjp
2346
			rut.Anchored = false
2347
			using = false
2348
			rh.Part0 = t
2349
			lh.Part0 = t
2350
			whenbored = math.random(2,6)
2351
			lookinaround = false
2352
		end
2353
	end
2354
elseif using then
2355
	idlenum = 0
2356
elseif anim ~= "idle" then
2357
	idlenum = 0
2358
end
2359
	end))
2360
	if lookinaround then
2361
	--Neck
2362
		nec.C1 = nec.C1:Lerp(cf1 * CFrame.new(0,0,0) * CFrame.Angles(sin(lchange/aa/1.5)*rad(10),cos(lchange/aa/1.5)*rad(5),-sin(lchange/aa/3)*rad(40)),.1)
2363
	--Humanoid Root Part
2364
		rutj.C1 = rutj.C1:Lerp(cf2 * CFrame.new(0,0,0) * CFrame.Angles(cos(lchange/aa/1.5)*rad(5),cos(lchange/aa/1.5)*rad(5),-sin(lchange/aa/3)*rad(20)),.1)
2365
	--Shoulders
2366
		rs.C1 = rs.C1:Lerp(cf3 * CFrame.new(-cos(lchange/aa/3)/(3*10),cos(lchange/aa/3)/(3*10),0) * CFrame.Angles(.1,0,0) * CFrame.Angles(-sin(lchange/aa/3)*rad(12.5),-sin(lchange/aa/3)*rad(12.5),-sin(lchange/aa/3)*rad(15)),.1)
2367
		ls.C1 = ls.C1:Lerp(cf4 * CFrame.new(cos(lchange/aa/3)/(3*10),cos(lchange/aa/3)/(3*10),0) * CFrame.Angles(.1,0,0) * CFrame.Angles(sin(lchange/aa/3)*rad(12.5),-sin(lchange/aa/3)*rad(12.5),-sin(lchange/aa/3)*rad(15)),.1)
2368
	--Hips
2369
		rh.C1 = rh.C1:Lerp(cff5 * CFrame.new(0,0,0) * CFrame.Angles(0,0,0) * CFrame.Angles(0,0,0),.1)
2370
		lh.C1 = lh.C1:Lerp(cff6 * CFrame.new(0,0,0) * CFrame.Angles(0,0,0) * CFrame.Angles(0,0,0),.1)
2371
	end
2372
	swait()
2373
end
2374
end)
2375
anims()
2376
introhat()