Advertisement
Christoffer07700Extr

FE Valentine

Jun 24th, 2019
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.67 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
  2. print("FE Compatibility: by WaverlyCole & Mokiros")
  3. InternalData = {}
  4. do
  5. script.Parent = owner.Character
  6. local Event = Instance.new("RemoteEvent")
  7. Event.Name = "UserInput"
  8. local function NewFakeEvent()
  9. local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
  10. return Fake
  11. end
  12. local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
  13. local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
  14. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  15. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  16. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  17. local function TriggerEvent(self,Event,...)
  18. local Trigger = Mouse[Event]
  19. if Trigger and Trigger.fakeEvent and Trigger.Function then
  20. Trigger.Function(...)
  21. end
  22. end
  23. Mouse.TrigEvent = TriggerEvent
  24. UserInputService.TrigEvent = TriggerEvent
  25. Event.OnServerEvent:Connect(function(FiredBy,Input)
  26. if FiredBy.Name ~= owner.Name then end
  27. if Input.MouseEvent then
  28. Mouse.Target = Input.Target
  29. Mouse.Hit = Input.Hit
  30. else
  31. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  32. if Input.UserInputType == Enum.UserInputType.MouseButton1 then
  33. return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
  34. end
  35. for _,Action in pairs(ContextActionService.Actions) do
  36. for _,Key in pairs(Action.Keys) do
  37. if Key==Input.KeyCode then
  38. Action.Function(Action.Name,Input.UserInputState,Input)
  39. end
  40. end
  41. end
  42. Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
  43. UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  44. end
  45. end)
  46. InternalData["Mouse"] = Mouse
  47. InternalData["ContextActionService"] = ContextActionService
  48. InternalData["UserInputService"] = UserInputService
  49. Event.Parent = NLS([[
  50. local Player = owner
  51. local Event = script:WaitForChild("UserInput")
  52. local UserInputService = game:GetService("UserInputService")
  53. local Mouse = Player:GetMouse()
  54. local Input = function(Input,gameProcessedEvent)
  55. if gameProcessedEvent then return end
  56. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  57. end
  58. UserInputService.InputBegan:Connect(Input)
  59. UserInputService.InputEnded:Connect(Input)
  60. local Hit,Target
  61. while wait(1/30) do
  62. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  63. Hit,Target = Mouse.Hit,Mouse.Target
  64. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  65. end
  66. end
  67. ]],owner.Character)
  68. end
  69. RealGame = game;game = setmetatable({},{
  70. __index = function (self,Index)
  71. local Sandbox = function (Thing)
  72. if Thing:IsA("Player") then
  73. local RealPlayer = Thing
  74. return setmetatable({},{
  75. __index = function (self,Index)
  76. local Type = type(RealPlayer[Index])
  77. if Type == "function" then
  78. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  79. return function (self)
  80. return InternalData["Mouse"]
  81. end
  82. end
  83. return function (self,...)
  84. return RealPlayer[Index](RealPlayer,...)
  85. end
  86. else
  87. return RealPlayer[Index]
  88. end
  89. end;
  90. __tostring = function(self)
  91. return RealPlayer.Name
  92. end
  93. })
  94. end
  95. end
  96. if RealGame[Index] then
  97. local Type = type(RealGame[Index])
  98. if Type == "function" then
  99. if Index:lower() == "getservice" or Index:lower() == "service" then
  100. return function (self,Service)
  101. if Service:lower() == "players" then
  102. return setmetatable({},{
  103. __index = function (self2,Index2)
  104. local RealService = RealGame:GetService(Service)
  105. local Type2 = type(Index2)
  106. if Type2 == "function" then
  107. return function (self,...)
  108. return RealService[Index2](RealService,...)
  109. end
  110. else
  111. if Index2:lower() == "localplayer" then
  112. return Sandbox(owner)
  113. end
  114. return RealService[Index2]
  115. end
  116. end;
  117. __tostring = function(self)
  118. return RealGame:GetService(Service).Name
  119. end
  120. })
  121. elseif Service:lower() == "contextactionservice" then
  122. return InternalData["ContextActionService"]
  123. elseif Service:lower() == "contextactionservice" then
  124. return InternalData["UserInputService"]
  125. elseif Service:lower() == "runservice" then
  126. return setmetatable({},{
  127. __index = function(self2,Index2)
  128. local RealService = RealGame:GetService(Service)
  129. local Type2 = type(Index2)
  130. if Type2 == "function" then
  131. return function (self,...)
  132. return RealService[Index2](RealService,...)
  133. end
  134. else
  135. if Index2:lower() == "bindtorenderstep" then
  136. return function (self,Name,Priority,Function)
  137. return RealGame:GetService("RunService").Stepped:Connect(Function)
  138. end
  139. end
  140. if Index2:lower() == "renderstepped" then
  141. return RealService["Stepped"]
  142. end
  143. return RealService[Index2]
  144. end
  145. end
  146. })
  147. else
  148. return RealGame:GetService(Service)
  149. end
  150. end
  151. end
  152. return function (self,...)
  153. return RealGame[Index](RealGame,...)
  154. end
  155. else
  156. if game:GetService(Index) then
  157. return game:GetService(Index)
  158. end
  159. return RealGame[Index]
  160. end
  161. else
  162. return nil
  163. end
  164. end
  165. });Game = game;owner = game:GetService("Players").LocalPlayer
  166. print("Complete! Running...")
  167.  
  168.  
  169. --//Paste script below this line.
  170.  
  171. -- Valentine
  172. -- Made By ItzPartapika
  173. --[[
  174. Extra Credits:
  175. Shackluster: {
  176. Script Setup
  177. A Majority of the Effect Functions
  178. }
  179. Drahazar (Nebula_Zorua): {
  180. Nebula Glitch (LoveMode)
  181. }
  182. --]]
  183. --[[ Object Variables ]]--
  184. local Plr = Plrs.LocalPlayer
  185. PlayerGui = Player.PlayerGui
  186. Cam = workspace.CurrentCamera
  187. Backpack = Player.Backpack
  188. Character = Player.Character
  189. Debris = game:GetService("Debris")
  190. Humanoid = Character.Humanoid
  191. Humanoid.DisplayDistanceType = "None"
  192. RootPart = Character["HumanoidRootPart"]
  193. Root = Character["HumanoidRootPart"]
  194. Torso = Character["Torso"]
  195. Head = Character["Head"]
  196. RightArm = Character["Right Arm"]
  197. LeftArm = Character["Left Arm"]
  198. RightLeg = Character["Right Leg"]
  199. LeftLeg = Character["Left Leg"]
  200. local Song = "1030177093"
  201. local SongObj = Instance.new("Sound",Character)
  202. SongObj.SoundId = "rbxassetid://"..Song
  203. SongObj.Looped = true
  204. SongObj.Pitch = 1
  205. SongObj.Volume = 3
  206. SongObj:Play()
  207.  
  208. --[[ Shortcut Variables ]]--
  209. --(( Shackluster ))--
  210. IT = Instance.new
  211. VT = Vector3.new
  212. BRICKC = BrickColor.new
  213.  
  214. --(( Nebula ))--
  215.  
  216. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  217. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  218. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  219. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  220. local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
  221. local R3 = {N=Region3.new}
  222. local De = S.Debris
  223. local WS = workspace
  224. local Lght = S.Lighting
  225. local RepS = S.ReplicatedStorage
  226. local IN = Instance.new
  227. local Plrs = S.Players
  228. local UIS = S.UserInputService
  229. local CAS = S.ContextActionService
  230.  
  231. --[[ Conversion ]]--
  232.  
  233. local LocalScript = NLS([==[
  234. local me = game:service'Players'.localPlayer;
  235. local mouse = me:GetMouse();
  236. local UIS = game:service'UserInputService'
  237. local ch = workspace:WaitForChild(me.Name);
  238.  
  239. local UserEvent = ch:WaitForChild('UserInputEvent',30)
  240.  
  241. UIS.InputChanged:connect(function(io,gpe)
  242. if(io.UserInputType == Enum.UserInputType.MouseMovement)then
  243. UserEvent:FireServer{Mouse=true,Target=mouse.Target,Hit=mouse.Hit}
  244. end
  245. end)
  246.  
  247. mouse.Changed:connect(function(o)
  248. if(o == 'Target' or o == 'Hit')then
  249. UserEvent:FireServer{Mouse=true,Target=mouse.Target,Hit=mouse.Hit}
  250. end
  251. end)
  252.  
  253. UIS.InputBegan:connect(function(io,gpe)
  254. if(gpe)then return end
  255. UserEvent:FireServer{InputObject=true,KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}
  256. end)
  257.  
  258. UIS.InputEnded:connect(function(io,gpe)
  259. if(gpe)then return end
  260. UserEvent:FireServer{InputObject=true,KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}
  261. end)
  262.  
  263. mouse.KeyDown:connect(function(k)
  264. UserEvent:FireServer{KeyEvent='Down',Key=k}
  265. end)
  266.  
  267. mouse.KeyUp:connect(function(k)
  268. UserEvent:FireServer{KeyEvent='Up',Key=k}
  269. end)
  270.  
  271. local ClientProp = ch:WaitForChild('GetClientProperty',30)
  272.  
  273. local sounds = {}
  274.  
  275.  
  276. function regSound(o)
  277. if(o:IsA'Sound')then
  278.  
  279. local lastLoudness = o.PlaybackLoudness
  280. ClientProp:InvokeServer(o,lastLoudness)
  281. table.insert(sounds,{o,lastLoudness})
  282. --ClientProp:InvokeServer(o,o.PlaybackLoudness)
  283. end
  284. end
  285.  
  286. ClientProp.OnClientInvoke = function(inst,prop)
  287. if(inst == 'RegSound')then
  288. regSound(prop)
  289. for i = 1, #sounds do
  290. if(sounds[i][1] == prop)then
  291. return sounds[i][2]
  292. end
  293. end
  294. else
  295. return inst[prop]
  296. end
  297. end
  298.  
  299. for _,v in next, workspace:GetDescendants() do regSound(v) end
  300. workspace.DescendantAdded:connect(regSound)
  301. me.Character.DescendantAdded:connect(regSound)
  302.  
  303. game:service'RunService'.RenderStepped:connect(function()
  304. for i = 1, #sounds do
  305. local tab = sounds[i]
  306. local object,last=unpack(tab)
  307. if(object.PlaybackLoudness ~= last)then
  308. sounds[i][2]=object.PlaybackLoudness
  309. ClientProp:InvokeServer(object,sounds[i][2])
  310. end
  311. end
  312. end)]==],Player.Character)
  313. local Mouse,UserInputService,ContextActionService
  314. do
  315. local GUID = {}
  316. do
  317. GUID.IDs = {};
  318. function GUID:new(len)
  319. local id;
  320. if(not len)then
  321. id = (tostring(function() end))
  322. id = id:gsub("function: ","")
  323. else
  324. local function genID(len)
  325. local newID = ""
  326. for i = 1,len do
  327. newID = newID..string.char(math.random(48,90))
  328. end
  329. return newID
  330. end
  331. repeat id = genID(len) until not GUID.IDs[id]
  332. local oid = id;
  333. id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
  334. GUID.IDs[oid]=true;
  335. end
  336. return id
  337. end
  338. end
  339.  
  340. local AHB = Instance.new("BindableEvent")
  341.  
  342. local FPS = 30
  343.  
  344. local TimeFrame = 0
  345.  
  346. local LastFrame = tick()
  347. local Frame = 1/FPS
  348.  
  349. game:service'RunService'.Heartbeat:connect(function(s,p)
  350. TimeFrame = TimeFrame + s
  351. if(TimeFrame >= Frame)then
  352. for i = 1,math.floor(TimeFrame/Frame) do
  353. AHB:Fire()
  354. end
  355. LastFrame=tick()
  356. TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
  357. end
  358. end)
  359.  
  360.  
  361. swait = function(dur)
  362. if(dur == 0 or typeof(dur) ~= 'number')then
  363. AHB.Event:wait()
  364. else
  365. for i = 1, dur*FPS do
  366. AHB.Event:wait()
  367. end
  368. end
  369. end
  370.  
  371. local loudnesses={}
  372. script.Parent = Player.Character
  373. local CoAS = {Actions={}}
  374. local Event = Instance.new("RemoteEvent")
  375. Event.Name = "UserInputEvent"
  376. Event.Parent = Player.Character
  377. local Func = Instance.new("RemoteFunction")
  378. Func.Name = "GetClientProperty"
  379. Func.Parent = Player.Character
  380. local fakeEvent = function()
  381. local t = {_fakeEvent=true,Waited={}}
  382. t.Connect = function(self,f)
  383. local ft={Disconnected=false;disconnect=function(s) s.Disconnected=true end}
  384. ft.Disconnect=ft.disconnect
  385.  
  386. ft.Func=function(...)
  387. for id,_ in next, t.Waited do
  388. t.Waited[id] = true
  389. end
  390. return f(...)
  391. end;
  392. self.Function=ft;
  393. return ft;
  394. end
  395. t.connect = t.Connect
  396. t.Wait = function()
  397. local guid = GUID:new(25)
  398. local waitingId = guid:Get()
  399. t.Waited[waitingId]=false
  400. repeat swait() until t.Waited[waitingId]==true
  401. t.Waited[waitingId]=nil;
  402. guid:Trash()
  403. end
  404. t.wait = t.Wait
  405. return t
  406. end
  407. local m = {Target=nil,Hit=CF.N(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  408. local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  409.  
  410. function CoAS:BindAction(name,fun,touch,...)
  411. CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
  412. end
  413. function CoAS:UnbindAction(name)
  414. CoAS.Actions[name] = nil
  415. end
  416. local function te(self,ev,...)
  417. local t = self[ev]
  418. if t and t._fakeEvent and t.Function and t.Function.Func and not t.Function.Disconnected then
  419. t.Function.Func(...)
  420. elseif t and t._fakeEvent and t.Function and t.Function.Func and t.Function.Disconnected then
  421. self[ev].Function=nil
  422. end
  423. end
  424. m.TrigEvent = te
  425. UsIS.TrigEvent = te
  426. Event.OnServerEvent:Connect(function(plr,io)
  427. if plr~=Player then return end
  428. if io.Mouse then
  429. m.Target = io.Target
  430. m.Hit = io.Hit
  431. elseif io.KeyEvent then
  432. print('Key'..io.KeyEvent,io.Key)
  433. m:TrigEvent('Key'..io.KeyEvent,io.Key)
  434. elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
  435. if io.UserInputState == Enum.UserInputState.Begin then
  436. print'down'
  437. m:TrigEvent("Button1Down")
  438. else
  439. print'up'
  440. m:TrigEvent("Button1Up")
  441. end
  442. end
  443. if(not io.KeyEvent and not io.Mouse)then
  444. for n,t in pairs(CoAS.Actions) do
  445. for _,k in pairs(t.Keys) do
  446. if k==io.KeyCode then
  447. t.Function(t.Name,io.UserInputState,io)
  448. end
  449. end
  450. end
  451. if io.UserInputState == Enum.UserInputState.Begin then
  452. UsIS:TrigEvent("InputBegan",io,false)
  453. else
  454. UsIS:TrigEvent("InputEnded",io,false)
  455. end
  456. end
  457. end)
  458.  
  459. Func.OnServerInvoke = function(plr,inst,play)
  460. if plr~=Player then return end
  461. if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
  462. loudnesses[inst]=play
  463. end
  464. end
  465.  
  466. function GetClientProperty(inst,prop)
  467. if(prop == 'PlaybackLoudness' and loudnesses[inst])then
  468. return loudnesses[inst]
  469. elseif(prop == 'PlaybackLoudness')then
  470. return Func:InvokeClient(Player,'RegSound',inst)
  471. end
  472. return Func:InvokeClient(Player,inst,prop)
  473. end
  474. Mouse, UserInputService, ContextActionService = m, UsIS, CoAS
  475. end
  476.  
  477. --[[ Customization ]]--
  478.  
  479. ALPHA = .1
  480. Animation_Speed = 3
  481. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  482.  
  483. --[[ Helpful Values ]]--
  484.  
  485. local Player_Size = 1
  486. local Speed = 10
  487. local ANIM = "Idle"
  488. local ATTACK = false
  489. local EQUIPPED = false
  490. local HOLD = false
  491. local COMBO = 1
  492. local DAMAGEMULTIPLIER = 1
  493. local Rooted = false
  494. local SINE = 0
  495. local KEYHOLD = false
  496. local CHANGE = 1
  497. local WALKINGANIM = false
  498. local WALK = 0
  499. local VALUE1 = false
  500. local VALUE2 = false
  501. local ROBLOXIDLEANIMATION = IT("Animation")
  502. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  503. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  504. local Weapon = IT("Model", Character)
  505. Weapon.Name = "Adds"
  506. local Effects = IT("Folder", Weapon)
  507. Effects.Name = "Effects"
  508. local ANIMATOR = Humanoid.Animator
  509. local ANIMATE = Character.Animate
  510. local UNANCHOR = true
  511.  
  512. --[[ Sazerenos' Artificial Heartbeat ]]--
  513.  
  514. ArtificialHB = Instance.new("BindableEvent", script)
  515. ArtificialHB.Name = "ArtificialHB"
  516.  
  517. script:WaitForChild("ArtificialHB")
  518.  
  519. frame = Frame_Speed
  520. tf = 0
  521. allowframeloss = false
  522. tossremainder = false
  523. lastframe = tick()
  524. script.ArtificialHB:Fire()
  525.  
  526. game:GetService("RunService").Heartbeat:connect(function(s, p)
  527. tf = tf + s
  528. if tf >= frame then
  529. if allowframeloss then
  530. script.ArtificialHB:Fire()
  531. lastframe = tick()
  532. else
  533. for i = 1, math.floor(tf / frame) do
  534. script.ArtificialHB:Fire()
  535. end
  536. lastframe = tick()
  537. end
  538. if tossremainder then
  539. tf = 0
  540. else
  541. tf = tf - frame * math.floor(tf / frame)
  542. end
  543. end
  544. end)
  545.  
  546. function Swait(NUMBER)
  547. if NUMBER == 0 or NUMBER == nil then
  548. ArtificialHB.Event:wait()
  549. else
  550. for i = 1, NUMBER do
  551. ArtificialHB.Event:wait()
  552. end
  553. end
  554. end
  555.  
  556. --[[ CFrame Lerp Functions ]]--
  557.  
  558. function clerp(startCF,endCF,alpha)
  559. return startCF:lerp(endCF, alpha)
  560. end
  561.  
  562. --[[ "Create" Functions ]]--
  563.  
  564. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  565. local NEWMESH = IT(MESH)
  566. if MESH == "SpecialMesh" then
  567. NEWMESH.MeshType = MESHTYPE
  568. if MESHID ~= "nil" and MESHID ~= "" then
  569. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  570. end
  571. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  572. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  573. end
  574. end
  575. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  576. NEWMESH.Scale = SCALE
  577. NEWMESH.Parent = PARENT
  578. return NEWMESH
  579. end
  580.  
  581. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  582. local NEWPART = IT("Part")
  583. NEWPART.formFactor = FORMFACTOR
  584. NEWPART.Reflectance = REFLECTANCE
  585. NEWPART.Transparency = TRANSPARENCY
  586. NEWPART.CanCollide = false
  587. NEWPART.Locked = true
  588. NEWPART.Anchored = true
  589. if ANCHOR == false then
  590. NEWPART.Anchored = false
  591. end
  592. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  593. NEWPART.Name = NAME
  594. NEWPART.Size = SIZE
  595. NEWPART.Position = Torso.Position
  596. NEWPART.Material = MATERIAL
  597. NEWPART:BreakJoints()
  598. NEWPART.Parent = PARENT
  599. return NEWPART
  600. end
  601.  
  602. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  603. local NEWWELD = IT(TYPE)
  604. NEWWELD.Part0 = PART0
  605. NEWWELD.Part1 = PART1
  606. NEWWELD.C0 = C0
  607. NEWWELD.C1 = C1
  608. NEWWELD.Parent = PARENT
  609. return NEWWELD
  610. end
  611.  
  612. function CreateSound(ID, PARENT, VOLUME, PITCH)
  613. local NEWSOUND = nil
  614. coroutine.resume(coroutine.create(function()
  615. NEWSOUND = IT("Sound", PARENT)
  616. NEWSOUND.Volume = VOLUME
  617. NEWSOUND.Pitch = PITCH
  618. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  619. Swait()
  620. NEWSOUND:play()
  621. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  622. end))
  623. return NEWSOUND
  624. end
  625.  
  626. function NewInstance(instance,parent,properties)
  627. local inst = Instance.new(instance)
  628. inst.Parent = parent
  629. if(properties)then
  630. for i,v in next, properties do
  631. pcall(function() inst[i] = v end)
  632. end
  633. end
  634. return inst;
  635. end
  636.  
  637. function New(Object, Parent, Name, Data)
  638. local Object = Instance.new(Object)
  639. for Index, Value in pairs(Data or {}) do
  640. Object[Index] = Value
  641. end
  642. Object.Parent = Parent
  643. Object.Name = Name
  644. return Object
  645. end
  646.  
  647. --[[ Shortcut Functions ]]--
  648.  
  649. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  650. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  651. end
  652.  
  653. function NoOutlines(PART)
  654. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  655. end
  656.  
  657. require(2808579462).ValentineFaces(script)
  658. function SwitchToFace(FACENUMBER)
  659. for _, c in pairs(Head:GetChildren()) do
  660. if c:IsA("Decal") then
  661. c:Remove()
  662. end
  663. end
  664. Swait(2)
  665. for _, c in pairs(script["Face"..FACENUMBER]:GetChildren()) do
  666. if c:IsA("Decal") then
  667. c:Clone().Parent = Head
  668. end
  669. end
  670. end
  671.  
  672. --[[ Effect Functions ]]--
  673.  
  674.  
  675. --[[ Character Customization ]]--
  676. --// Joints \\--
  677. local LS = NewInstance('Motor',Character,{Part0=Torso,Part1=LeftArm,C0 = CF.N(-1.5 * Player_Size,0.5 * Player_Size,0),C1 = CF.N(0,.5 * Player_Size,0)})
  678. local RS = NewInstance('Motor',Character,{Part0=Torso,Part1=RightArm,C0 = CF.N(1.5 * Player_Size,0.5 * Player_Size,0),C1 = CF.N(0,.5 * Player_Size,0)})
  679. local NK = NewInstance('Motor',Character,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * Player_Size,0)})
  680. local LH = NewInstance('Motor',Character,{Part0=Torso,Part1=LeftLeg,C0 = CF.N(-.5 * Player_Size,-1 * Player_Size,0),C1 = CF.N(0,1 * Player_Size,0)})
  681. local RH = NewInstance('Motor',Character,{Part0=Torso,Part1=RightLeg,C0 = CF.N(.5 * Player_Size,-1 * Player_Size,0),C1 = CF.N(0,1 * Player_Size,0)})
  682. local RJ = NewInstance('Motor',Character,{Part0=RootPart,Part1=Torso})
  683.  
  684. local LSC0 = LS.C0
  685. local RSC0 = RS.C0
  686. local NKC0 = NK.C0
  687. local LHC0 = LH.C0
  688. local RHC0 = RH.C0
  689. local RJC0 = RJ.C0
  690.  
  691. --// Face Change \\--
  692. SwitchToFace("1")
  693.  
  694. --// Heart \\--
  695. local Hearts = {}
  696.  
  697. function Weld(part0,part1,c0,c1)
  698. local weld = IN("Weld")
  699. weld.Parent = part0
  700. weld.Part0 = part0
  701. weld.Part1 = part1
  702. weld.C0 = c0 or CF.N()
  703. weld.C1 = c1 or CF.N()
  704. return weld
  705. end
  706.  
  707. local hrt = NewInstance("Part",Effects,{Name='Heart',Anchored=false,CanCollide=false,Color=C3.N(1,0,0),Size=V3.N(.05,.05,.05),Locked=true,Archivable=false})
  708. local hrtMesh = NewInstance("SpecialMesh",hrt,{MeshId="rbxassetid://105992239",Offset=V3.N(0,0,0),Scale=V3.N(-750,-750,-100)})
  709. local weld = Weld(Torso,hrt,CF.N(0,.25,-.65))
  710. table.insert(Hearts,{hrt,hrtMesh})
  711.  
  712. coroutine.resume(coroutine.create(function()
  713. while true do
  714. Swait()
  715. if SongObj ~= nil then
  716. for _,v in next, Hearts do
  717. local part,mesh,count = v[1],v[2],v[3]
  718. mesh.Scale = V3.N(GetClientProperty(SongObj,'PlaybackLoudness')/125,GetClientProperty(SongObj,'PlaybackLoudness')/125,1)
  719. end
  720. end
  721. end
  722. end))
  723.  
  724. --[[ On Death ]]--
  725.  
  726. Humanoid.Died:connect(function()
  727. ATTACK = true
  728. end)
  729.  
  730. --[[ Damage ]]--
  731.  
  732.  
  733. --[[ Attacks / Abilities ]]--
  734.  
  735. function Looks()
  736. local TAUNT = CreateSound("2513360852", Head, 10, 1)
  737. repeat Swait() until TAUNT.IsLoaded
  738. ATTACK = true
  739. Rooted = true
  740. SwitchToFace("2")
  741. repeat
  742. local Alpha = .1
  743. RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(0,0,M.R(0+5*M.C(SINE/16))),Alpha)
  744. NK.C0 = NK.C0:lerp(NKC0*CF.A(0,M.R(45),-M.R(0+5*M.C(SINE/16))),Alpha)
  745. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16)))*CF.A(M.R(-15),M.R(25),0),Alpha)
  746. RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  747. LS.C0 = clerp(LS.C0,CF.N(-0.787155986, 0.248306945, -0.683226228, 0.0398273654, -0.999169707, 0.00859495346, 0.554963291, 0.0149663882, -0.831740201, 0.830920994, 0.0378959104, 0.555098593)*CF.A(M.R(0+5*M.C(SINE/32)),0,0),Alpha)
  748. RS.C0 = clerp(RS.C0,CF.N(0.787632346, 0.574486911, -0.794373989, 0.0789790228, 0.995851278, 0.0451963581, 0.631366551, -0.0148838377, -0.775341749, -0.771452367, 0.0897712111, -0.629922688)*CF.A(M.R(0+5*M.C(SINE/32)),0,0),Alpha)
  749. Swait()
  750. until TAUNT.Playing ~= true
  751. SwitchToFace("1")
  752. Rooted = false
  753. ATTACK = false
  754. end
  755.  
  756. function CuteSigh()
  757. local TAUNT = CreateSound("294861193", Head, 10, 1)
  758. repeat Swait() until TAUNT.IsLoaded
  759. ATTACK = true
  760. Rooted = true
  761. SwitchToFace("3")
  762. repeat
  763. local Alpha = .1
  764. RJ.C0 = clerp(RJ.C0,CFrame.new(-0.00438984111, 0.0221795738, -0.281239897, 0.999988556, -0.00473595224, -0.000703255646, 0.00473099947, 0.954816878, 0.297157228, -0.000735841691, -0.297157168, 0.954828322),Alpha)
  765. NK.C0 = clerp(NK.C0,CFrame.new(1.58162902e-06, 1.5248462, -0.171738505, 1.00000012, -7.59866089e-06, 1.38636678e-05, -3.15252692e-07, 0.867144346, 0.498057216, -1.58054754e-05, -0.498057246, 0.867144227),Alpha)
  766. LH.C0 = clerp(LH.C0,CFrame.new(-0.497070849, -1.04715037, -0.0156083405, 0.999878228, 0.00473099947, 0.0148762148, -9.61141777e-05, 0.954816878, -0.297194898, -0.0156100877, 0.297157228, 0.954700947),Alpha)
  767. RH.C0 = clerp(RH.C0,CFrame.new(0.49794969, -1.05015182, -0.0222227573, 0.999878228, 0.00473099947, 0.0148762148, -9.61141777e-05, 0.954816878, -0.297194898, -0.0156100877, 0.297157228, 0.954700947),Alpha)
  768. RS.C0 = RS.C0:lerp(CF.N(1,0.5+0.1*M.C(SINE/28),-0.45)*CF.A(M.R(22-3*M.C(SINE/53)),M.R(0),M.R(-37+2*M.C(SINE/37))),Alpha)
  769. LS.C0 = LS.C0:lerp(CF.N(-1,0.5+0.1*M.C(SINE/28),-0.45)*CF.A(M.R(23-2*M.C(SINE/58)),M.R(0),M.R(38-3*M.C(SINE/57) )),Alpha)
  770. Swait()
  771. until TAUNT.Playing ~= true
  772. SwitchToFace("1")
  773. Rooted = false
  774. ATTACK = false
  775. end
  776.  
  777. function TheGiftOfGifting()
  778. ATTACK = true
  779. Rooted = true
  780. SwitchToFace("1")
  781. for i = 0, 8, 0.1 do
  782. local Alpha = .1
  783. RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(0,0,M.R(0+5*M.C(SINE/16))),Alpha)
  784. NK.C0 = NK.C0:lerp(NKC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  785. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16)))*CF.A(M.R(-15),M.R(25),0),Alpha)
  786. RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  787. LS.C0 = clerp(LS.C0,CFrame.new(-1.32246351, 0.253595859, 0.199904889, 0.862232804, -0.506315708, 0.0141151678, 0.451225579, 0.780480325, 0.432719588, -0.230109304, -0.366735876, 0.90141809),Alpha)
  788. RS.C0 = RS.C0:lerp(RSC0*CF.A(0,0,M.R(5+5*M.S(SINE/16))),Alpha)
  789. Swait()
  790. end
  791. SwitchToFace("4")
  792. CreateSound("1030472543", Torso, 10, 1)
  793. local Gift = New("Part",Character,"Gift",{FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(1.5999999, 2.00000048, 1.60000014),CFrame = CFrame.new(-9.46500015, 1.30149567, -6.48994637, 1, 0, 0, 0, 0, -1, 0, 1, 0),Anchored = true,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
  794. local Mesh = New("SpecialMesh",Gift,"Mesh",{Scale = Vector3.new(1.5, 1.5, 1.5),MeshId = "http://www.roblox.com/asset/?id=66887781",TextureId = "http://www.roblox.com/asset/?id=68259334",MeshType = Enum.MeshType.FileMesh,})
  795. local Weld = New("ManualWeld",Gift,"Weld",{Part0 = Gift,Part1 = LeftArm,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0),C1 = CFrame.new(-2.95639038e-05, -1.69851148, -0.195726871, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
  796. for i = 0, 5, 0.1 do
  797. local Alpha = .1
  798. RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(0,0,M.R(0+5*M.C(SINE/16))),Alpha)
  799. NK.C0 = NK.C0:lerp(NKC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  800. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16)))*CF.A(M.R(-15),M.R(25),0),Alpha)
  801. RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  802. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(90),0,0),Alpha)
  803. RS.C0 = RS.C0:lerp(RSC0*CF.A(0,0,M.R(5+5*M.S(SINE/16))),Alpha)
  804. Swait()
  805. end
  806. CreateSound("490241055", Gift, 10, 1)
  807. CreateSound("172324194", Torso, 10, 1)
  808. local PE1 = Instance.new("ParticleEmitter", Gift)
  809. PE1.LightEmission = NumberSequence.new(0.2)
  810. PE1.Size = NumberSequence.new(3)
  811. PE1.Color = ColorSequence.new(BRICKC("Bright orange").Color, BRICKC("Bright red").Color)
  812. PE1.Texture = "http://www.roblox.com/asset/?id=242461088"
  813. PE1.Lifetime = NumberRange.new(.75)
  814. PE1.Rate = 50.000
  815. PE1.Transparency = NumberSequence.new(0.2)
  816. PE1.LightEmission = NumberSequence.new(1)
  817. PE1.Rotation = NumberRange.new(0)
  818. PE1.Speed = NumberRange.new(.1)
  819. PE1.RotSpeed = NumberRange.new(0)
  820. PE1.ZOffset = .2
  821. SwitchToFace("5")
  822. for i = 0, 5, 0.1 do
  823. local Alpha = .1
  824. RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(0,0,M.R(0+5*M.C(SINE/16))),Alpha)
  825. NK.C0 = NK.C0:lerp(NKC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  826. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16)))*CF.A(M.R(-15),M.R(25),0),Alpha)
  827. RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  828. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(70),0,0),Alpha)
  829. RS.C0 = RS.C0:lerp(RSC0*CF.A(0,0,M.R(5+5*M.S(SINE/16))),Alpha)
  830. Swait()
  831. end
  832. Weld:Destroy()
  833. Gift.Parent = workspace
  834. Gift.CanCollide = true
  835. Gift.Velocity=RootPart.CFrame.upVector*0
  836. game:GetService("Debris"):AddItem(Gift, 5)
  837. SwitchToFace("1")
  838. Rooted = false
  839. ATTACK = false
  840. end
  841.  
  842. function Gibberish()
  843. local TAUNT = CreateSound("430312221", Head, 10, 1)
  844. repeat Swait() until TAUNT.IsLoaded
  845. ATTACK = true
  846. Rooted = true
  847. SwitchToFace("2")
  848. repeat
  849. local Alpha = .1
  850. RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(0,0,M.R(0+5*M.C(SINE/16))),Alpha)
  851. NK.C0 = clerp(NK.C0,CF.N(1.58162902e-06, 1.5248462, -0.171738505, 1.00000012, -7.59866089e-06, 1.38636678e-05, -3.15252692e-07, 0.867144346, 0.498057216, -1.58054754e-05, -0.498057246, 0.867144227),Alpha)
  852. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16)))*CF.A(M.R(-15),M.R(25),0),Alpha)
  853. RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  854. RS.C0 = clerp(RS.C0,CF.N(1.33073413, 0.290129036, 0.183640629, 0.915928423, 0.401075214, 0.0146333817, -0.379820168, 0.854456067, 0.354459614, 0.129661351, -0.330217659, 0.934956849),Alpha)
  855. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(90),0,0),Alpha)
  856. Swait()
  857. until TAUNT.Playing ~= true
  858. SwitchToFace("1")
  859. Rooted = false
  860. ATTACK = false
  861. end
  862.  
  863. function Baka()
  864. local TAUNT = CreateSound("590776642", Head, 10, 1)
  865. repeat Swait() until TAUNT.IsLoaded
  866. ATTACK = true
  867. Rooted = true
  868. SwitchToFace("2")
  869. repeat
  870. Change = 1
  871. local Alpha = .1
  872. RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(0,0,M.R(0+5*M.C(SINE/16))),Alpha)
  873. NK.C0 = NK.C0:lerp(NKC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  874. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16)))*CF.A(M.R(-15),M.R(25),0),Alpha)
  875. RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  876. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(90),0,0),Alpha)
  877. RS.C0 = clerp(RS.C0,CF.N(0.787632346, 0.574486911, -0.794373989, 0.0789790228, 0.995851278, 0.0451963581, 0.631366551, -0.0148838377, -0.775341749, -0.771452367, 0.0897712111, -0.629922688)*CF.A(M.R(0+5*M.C(SINE/32)),0,0),Alpha)
  878. Swait()
  879. until TAUNT.Playing ~= true
  880. SwitchToFace("1")
  881. Rooted = false
  882. ATTACK = false
  883. end
  884. --[[ Assign To Keys ]]--
  885.  
  886. function OnMouseDown()
  887. HOLD = true
  888. end
  889.  
  890. function OnMouseUp()
  891. HOLD = false
  892. end
  893.  
  894. function OnKeyDown(Key)
  895. KEYHOLD = true
  896. if ATTACK == false then
  897. --[[ Top Row Keys ]]--
  898. if Key == "q" then
  899. Looks()
  900. end
  901. if Key == "e" then
  902. CuteSigh()
  903. end
  904. if Key == "r" then
  905. TheGiftOfGifting()
  906. end
  907. if Key == "t" then
  908. Gibberish()
  909. end
  910. if Key == "y" then
  911. Baka()
  912. end
  913. end
  914. end
  915.  
  916. function OnChatted(Message)
  917. if Message:sub(1, 3) == "/e " then
  918. Message = Message:sub(4)
  919. end
  920. if ATTACK == false then
  921.  
  922. end
  923. end
  924.  
  925. function OnKeyUp(Key)
  926. KEYHOLD = false
  927. end
  928.  
  929. Player.Chatted:connect(function(NewMessage)
  930. local Message = NewMessage:lower()
  931. OnChatted(NewMessage)
  932. end)
  933.  
  934. Mouse.Button1Down:connect(function()
  935. OnMouseDown()
  936. end)
  937.  
  938. Mouse.Button1Up:connect(function()
  939. OnMouseUp()
  940. end)
  941.  
  942. Mouse.KeyDown:connect(function(NewKey)
  943. NewKey = NewKey:lower()
  944. OnKeyDown(NewKey)
  945. end)
  946.  
  947. Mouse.KeyUp:connect(function(NewKey)
  948. NewKey = NewKey:lower()
  949. OnKeyUp(NewKey)
  950. end)
  951.  
  952. --[[ Extras ]]--
  953.  
  954. function AntiTimeFreeze()
  955. if UNANCHOR == true then
  956. local g = Character:GetChildren()
  957. for i = 1, #g do
  958. if g[i].ClassName == "Part" then
  959. g[i].Anchored = false
  960. end
  961. end
  962. end
  963. end
  964.  
  965. --[[ Wrap Up The Script ]]--
  966.  
  967. while true do
  968. Swait()
  969. ANIMATE.Parent = nil
  970. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  971. IDLEANIMATION:Play()
  972. SINE = SINE + CHANGE
  973. if(not SongObj or not SongObj.Parent)then
  974. local tp = (SongObj and SongObj.TimePosition)
  975. SongObj = Instance.new("Sound",Character)
  976. SongObj.SoundId = "rbxassetid://"..Song
  977. SongObj.Looped = true
  978. SongObj.Pitch = 1
  979. SongObj.Volume = 3
  980. SongObj.TimePosition = tp
  981. end
  982. --
  983. SongObj.SoundId = "rbxassetid://"..Song
  984. SongObj.Parent = Character
  985. SongObj.Pitch = 1
  986. SongObj.Volume = 3
  987. SongObj.Playing = true
  988. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  989. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  990. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  991. local HITFLOOR = Raycast(RootPart.Position, (CF.N(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  992. local WALKSPEEDVALUE = 5
  993. local Sine = SINE
  994. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  995. ANIM = "Jump"
  996. if ATTACK == false then
  997. local Alpha = .1
  998. local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  999. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)),Alpha)
  1000. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)),Alpha)
  1001. RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1002. NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1003. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1004. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1005. end
  1006. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1007. ANIM = "Fall"
  1008. if ATTACK == false then
  1009. local Alpha = .1
  1010. local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1011. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1012. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1013. RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1014. NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1015. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1016. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1017. end
  1018. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1019. ANIM = "Idle"
  1020. if ATTACK == false then
  1021. Change = 1
  1022. local Alpha = .1
  1023. RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(0,0,M.R(0+5*M.C(SINE/16))),Alpha)
  1024. NK.C0 = NK.C0:lerp(NKC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  1025. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16)))*CF.A(M.R(-15),M.R(25),0),Alpha)
  1026. RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,-M.R(0+5*M.C(SINE/16))),Alpha)
  1027. LS.C0 = LS.C0:lerp(LSC0*CF.N(0,-.15,0)*CF.A(M.R(15),0,M.R(20)),Alpha)
  1028. RS.C0 = RS.C0:lerp(RSC0*CF.A(0,0,M.R(5+5*M.S(SINE/16))),Alpha)
  1029. end
  1030. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil and Rooted == false then
  1031. ANIM = "Walk"
  1032. Change = 1
  1033. local wsVal = 7 / (Humanoid.WalkSpeed/16)
  1034. local Alpha = math.min(.2 * (Humanoid.WalkSpeed/16),1)
  1035. RJ.C0 = RJ.C0:lerp(CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-5-2.5*M.C(Sine/(wsVal/2))),M.R(8*M.C(Sine/wsVal)),0),Alpha)
  1036. NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(5+2.5*M.C(Sine/(wsVal/2))),M.R(-8*M.C(Sine/wsVal)),0),Alpha)
  1037. LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,-.22*M.C(Sine/wsVal))*CF.A(M.R(37*M.C(Sine/wsVal)),0,M.R(-5+10*M.C(Sine/(wsVal/2))) ),Alpha)
  1038. RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,.22*M.C(Sine/wsVal))*CF.A(M.R(-37*M.C(Sine/wsVal)),0,M.R(5-10*M.C(Sine/(wsVal/2))) ),Alpha)
  1039. LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1040. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1041. end
  1042. if TORSOVELOCITY > 1 and HITFLOOR ~= nil and Rooted == false then
  1043. local wsVal = 7 / (Humanoid.WalkSpeed/16)
  1044. local Alpha = math.min(.2 * (Humanoid.WalkSpeed/16),1)
  1045. RH.C1 = RH.C1:lerp(CF.N(0,1-.1*M.C(Sine/wsVal),0+.2*M.C(Sine/wsVal))*CF.A(M.R(16-0*M.C(Sine/wsVal))+-M.S(Sine/wsVal)/1.75,0,0),Alpha)
  1046. LH.C1 = LH.C1:lerp(CF.N(0,1+.1*M.C(Sine/wsVal),0-.2*M.C(Sine/wsVal))*CF.A(M.R(16+0*M.C(Sine/wsVal))+M.S(Sine/wsVal)/1.75,0,0),Alpha)
  1047. else
  1048. RH.C1 = RH.C1:lerp(CF.N(0,1,0),.2)
  1049. LH.C1 = LH.C1:lerp(CF.N(0,1,0),.2)
  1050. end
  1051. if Rooted == false then
  1052. Disable_Jump = false
  1053. Humanoid.WalkSpeed = Speed
  1054. elseif Rooted == true then
  1055. Disable_Jump = true
  1056. Humanoid.WalkSpeed = 0
  1057. end
  1058. AntiTimeFreeze()
  1059. for _, c in pairs(Character:GetChildren()) do
  1060. if c:IsA('CharacterMesh') then
  1061. c:Destroy()
  1062. end
  1063. end
  1064. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement