oskdfoskofksdofk

Untitled

Mar 27th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
  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. 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)
  457. wait(1)
  458. nec:Destroy()
  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()
Add Comment
Please, Sign In to add comment