Advertisement
Disseya

Rain FE

Oct 14th, 2019
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.17 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86.  
  87. local h,t
  88. --Give the server mouse data every second frame, but only if the values changed
  89. --If player is not moving their mouse, client won't fire events
  90. local HB = game:GetService("RunService").Heartbeat
  91. while true do
  92. if h~=Mouse.Hit or t~=Mouse.Target then
  93. h,t=Mouse.Hit,Mouse.Target
  94. Event:FireServer({isMouse=true,Target=t,Hit=h})
  95. end
  96. --Wait 2 frames
  97. for i=1,2 do
  98. HB:Wait()
  99. end
  100. end]==],script)
  101.  
  102. ----Sandboxed game object that allows the usage of client-side methods and services
  103. --Real game object
  104. local RealGame = game
  105.  
  106. --Metatable for fake service
  107. local FakeService_Metatable = {
  108. __index = function(self,k)
  109. local s = rawget(self,"_RealService")
  110. if s then
  111. return typeof(s[k])=="function"
  112. and function(_,...)return s[k](s,...)end or s[k]
  113. end
  114. end,
  115. __newindex = function(self,k,v)
  116. local s = rawget(self,"_RealService")
  117. if s then s[k]=v end
  118. end
  119. }
  120. local function FakeService(t,RealService)
  121. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  122. return setmetatable(t,FakeService_Metatable)
  123. end
  124.  
  125. --Fake game object
  126. local FakeGame = {
  127. GetService = function(self,s)
  128. return rawget(self,s) or RealGame:GetService(s)
  129. end,
  130. Players = FakeService({
  131. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  132. },"Players"),
  133. UserInputService = FakeService(UIS,"UserInputService"),
  134. ContextActionService = FakeService(CAS,"ContextActionService"),
  135. RunService = FakeService({
  136. _btrs = {},
  137. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  138. BindToRenderStep = function(self,name,_,fun)
  139. self._btrs[name] = self.Heartbeat:Connect(fun)
  140. end,
  141. UnbindFromRenderStep = function(self,name)
  142. self._btrs[name]:Disconnect()
  143. end,
  144. },"RunService")
  145. }
  146. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  147. FakeGame.service = FakeGame.GetService
  148. FakeService(FakeGame,game)
  149. --Changing owner to fake player object to support owner:GetMouse()
  150. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  151. end
  152. --[[ Thank you ]]--
  153. -------------------------------------------------------
  154. --[[
  155.  
  156. This script was created by WafflesAreVeryGood or Nobody#3907
  157.  
  158. --]]
  159. -------------------------------------------------------
  160. --[[ Reference ]]--
  161. --[[
  162. Burn Function
  163. hurt(char.Head, 15, "Burn", {char, {Color = Color3.new(0,1,1), Time = 1, Rate = 20, Damage = {1,5}}})
  164.  
  165. Freeze Function
  166. hurt(char.Head, 0, "Freeze", {char, 1})
  167.  
  168. Stun Function
  169. hurt(char.Head, 0, "Stun", {char, 0.2})
  170. --]]
  171. -------------------------------------------------------
  172. math.randomseed(tick())
  173. print("You are using a script created by WafflesAreVeryGood!")
  174. warn("--------Global Message--------")
  175. warn(game:GetService("MarketplaceService"):GetProductInfo(1720721621).Description)
  176. warn("------------------------------")
  177. --[[Changeable Variables]]--
  178. local settings = {}
  179. --ShowDamage settings
  180. settings.Damage = {
  181. Color = nil,
  182. StrokeColor = nil,
  183. Font = nil,
  184. }
  185. settings.ShowDamageEnabled = false
  186. settings.CustomAnim = true
  187. local soundlist = {
  188. HardHit1 = "rbxassetid://565207203",
  189. HardHit2 = "rbxassetid://541909913",
  190. HardHit3 = "rbxassetid://541909983",
  191. WeakHit1 = "rbxassetid://558642292",
  192. WeakHit2 = "rbxassetid://541907812",
  193. Slice1 = "rbxassetid://260429964",
  194. Slice2 = "rbxassetid://260430015",
  195. Explosion1 = "rbxassetid://138186576",
  196. Explosion2 = "rbxassetid://157878578",
  197. Woosh1 = "rbxassetid://541909867",
  198. Woosh2 = "rbxassetid://541909763",
  199. Freeze = "rbxassetid://268249319",
  200. Thaw = "rbxassetid://1578580965",
  201. Burn = "rbxassetid://298181829",
  202.  
  203. }
  204. local attack_data = {
  205. {
  206. Name = "Attack",
  207. Description = "Description",
  208. Key = "Key",
  209. },
  210.  
  211. }
  212.  
  213. --[[Important Variables]]--
  214. local plr = game:GetService('Players').LocalPlayer
  215. local char = plr.Character
  216. local mouse = plr:GetMouse()
  217. local input = game:GetService('UserInputService')
  218. ----
  219. local joints = {"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"}
  220. local torso,head,rootpart = char.Torso,char.Head,char.HumanoidRootPart
  221. local rs = torso["Right Shoulder"]
  222. local ls = torso["Left Shoulder"]
  223. local rh = torso["Right Hip"]
  224. local lh = torso["Left Hip"]
  225. local neck = torso.Neck
  226. local rj = rootpart["RootJoint"]
  227. local humanoid = char:FindFirstChildOfClass("Humanoid")
  228. ----
  229. local huge = Vector3.new(math.huge, math.huge, math.huge)
  230. local attacking = false
  231. local cananim = true
  232. local animpose = "Idle"
  233. local lastpose = animpose
  234. local movespeed = 0
  235. ----
  236. --[[ Anti-Decompile ]]--
  237. script.Parent = workspace.CurrentCamera
  238. game:GetService('Players').LocalPlayer.CharacterAdded:connect(function()
  239. script:Destroy()
  240. end)
  241. --[[ Moves Gui ]]--
  242.  
  243. local mgui = Instance.new("ScreenGui")
  244. mgui.Name = "MovesGui"
  245. local bg = Instance.new("Frame")
  246. bg.BackgroundColor3 = Color3.new(61/255,61/255,61/255)
  247. bg.Position = UDim2.new(0,504,0,164)
  248. bg.Name = "Background"
  249. bg.Size = UDim2.new(-0.035,379,0,225)
  250. bg.Visible = false
  251. bg.Parent = mgui
  252. local container = Instance.new("ScrollingFrame")
  253. container.Name = "Container"
  254. container.BackgroundColor3 = Color3.new(70/255,70/255,70/255)
  255. container.BorderSizePixel = 0
  256. container.Visible = true
  257. container.Position = UDim2.new(0,16,0,46)
  258. container.Size = UDim2.new(0,132,0,162)
  259. container.CanvasSize = UDim2.new(0,0,0,10)
  260. container.ScrollBarThickness = 4
  261. container.Parent = bg
  262. local copy = Instance.new("TextButton")
  263. copy.Name = "Move"
  264. copy.BackgroundColor3 = Color3.new(77/255,77/255,77/255)
  265. copy.BorderSizePixel = 0
  266. copy.Position = UDim2.new(0,4,0,4)
  267. copy.Size = UDim2.new(0,118,0,29)
  268. copy.Font = "SourceSansLight"
  269. copy.Text = "Move Name"
  270. copy.TextColor3 = Color3.new(197/255,0,0)
  271. copy.TextSize = 20
  272. copy.Visible = false
  273. copy.Parent = container
  274. local atkinfo = container:Clone()
  275. for _,v in pairs(atkinfo:GetChildren()) do v:Destroy() end
  276. atkinfo.Name = "AtkInfo"
  277. atkinfo.Visible = true
  278. atkinfo.Position = UDim2.new(0,167,0,50)
  279. atkinfo.Size = UDim2.new(0,159,0,165)
  280. atkinfo.Parent = bg
  281. local movename = Instance.new("TextLabel")
  282. movename.Name = "MoveName"
  283. movename.BackgroundColor3 = Color3.new(77/255,77/255,77/255)
  284. movename.BorderSizePixel = 0
  285. movename.Position = UDim2.new(0,4,0,4)
  286. movename.Size = UDim2.new(0,150,0,30)
  287. movename.Font = "SourceSansLight"
  288. movename.TextColor3 = Color3.new(197/255,0,0)
  289. movename.TextSize = 20
  290. movename.Text = "same"
  291. movename.Parent = atkinfo
  292. local movedesc = movename:Clone()
  293. movedesc.Position = UDim2.new(0,4,0,47)
  294. movedesc.Size = UDim2.new(0,150,0,133)
  295. movedesc.Text = "Move Description"
  296. movedesc.TextSize = 18
  297. movedesc.Name = "MoveDesc"
  298. movedesc.TextXAlignment = "Left"
  299. movedesc.TextYAlignment = "Top"
  300. movedesc.TextWrapped = true
  301. movedesc.Parent = atkinfo
  302. local title = movedesc:Clone()
  303. title.Name = "Title"
  304. title.Font = "SourceSansLight"
  305. title.Text = "Moves List"
  306. title.TextSize = 28
  307. title.BackgroundColor3 = Color3.new(36/255,36/255,36/255)
  308. title.Position = UDim2.new(0,0,0,0)
  309. title.Size = UDim2.new(1,0,0,30)
  310. title.TextXAlignment = "Center"
  311. title.TextYAlignment = "Center"
  312. title.Parent = bg
  313. local toggle = copy:Clone()
  314. toggle.BackgroundColor3 = Color3.new(61/255,61/255,61/255)
  315. toggle.Position = UDim2.new(0,0,0,288)
  316. toggle.Size = UDim2.new(0,70,0,20)
  317. toggle.Visible = true
  318. toggle.Font = "SourceSans"
  319. toggle.Text = "Toggle Moves"
  320. toggle.Name = "Toggle"
  321. toggle.TextSize = 14
  322. toggle.Parent = mgui
  323. mgui.Parent = plr:FindFirstChildOfClass("PlayerGui")
  324. mgui.Enabled = false
  325. toggle.MouseButton1Click:connect(function()
  326. bg.Visible = not bg.Visible
  327. end)
  328. local pos = copy.Position -UDim2.new(0,0,0,29)
  329. for _,data in pairs(attack_data) do
  330. local new = copy:Clone()
  331. pos = pos +UDim2.new(0,0,0,29)
  332. container.CanvasSize = container.CanvasSize +UDim2.new(0,0,0,29)
  333. new.Position = pos
  334. new.Text = data.Name.."["..data.Key.."]"
  335. new.Visible = true
  336. spawn(function()
  337. swait()
  338. if not new.TextFits then
  339. new.TextScaled = true
  340. end
  341. end)
  342. new.Parent = container
  343. new.MouseButton1Click:connect(function()
  344. movename.Text = data.Name
  345. movedesc.Text = data.Description
  346. spawn(function()
  347. swait()
  348. if not movename.TextFits then
  349. movename.TextScaled = true
  350. else
  351. movename.TextScaled = false
  352. end
  353. if not movedesc.TextFits then
  354. movename.TextScaled = true
  355. else
  356. movename.TextScaled = false
  357. end
  358. end)
  359. end)
  360. end
  361. --[[ Functions ]]--
  362.  
  363. function addattack(keycode, func)
  364. if keycode ~= "MouseClick" then
  365. input.InputBegan:connect(function(inp)
  366. if inp.KeyCode == keycode and not input:GetFocusedTextBox() then
  367. func()
  368. end
  369. end)
  370. else
  371. mouse.Button1Down:connect(function()
  372. func()
  373. end)
  374. end
  375. end
  376. function attackend(keycode, func)
  377. input.InputEnded:connect(function(inp)
  378. if inp.KeyCode == keycode and not input:GetFocusedTextBox() then
  379. func()
  380. end
  381. end)
  382. end
  383. function swait(t)
  384. if t then
  385. for i = 0, t do
  386. game:GetService('RunService').Stepped:wait(0)
  387. end
  388. else
  389. game:GetService('RunService').Stepped:wait(0)
  390. end
  391. return true
  392. end
  393. function fade(obj, dest, grow)
  394. spawn(function()
  395. local oldcf = obj.CFrame
  396. for i = 0, 10 do
  397. if grow then
  398. obj.Size = obj.Size +Vector3.new(1,1,1)
  399. obj.CFrame = oldcf
  400. end
  401. obj.Transparency = obj.Transparency +0.1
  402. swait()
  403. end
  404. if dest then
  405. obj:Destroy()
  406. end
  407. end)
  408. end
  409. function replacejoint(name)
  410. local j = torso:FindFirstChild(name)
  411. if not j then j = char.HumanoidRootPart:FindFirstChild(name) end
  412. if j then
  413. if true then
  414. local already = j.Parent:FindFirstChild(j.Name.." Replacement")
  415. local new = Instance.new("Weld")
  416. local c0 = j.C0
  417. local c1 = j.C1
  418. new.Part0 = j.Part0
  419. j.Part0 = nil
  420. new.Name = j.Name.." Replacement"
  421. if already then c0 = already.C0 c1 = already.C1 already:Destroy() end
  422. new.Parent = j.Parent
  423. new.Part1 = j.Part1
  424. new.C0 = c0
  425. new.C1 = c1
  426. return new
  427. end
  428. end
  429. end
  430. function removejoint(name, fast)
  431. local j = torso:FindFirstChild(name.." Replacement")
  432. if not j then j = char.HumanoidRootPart:FindFirstChild(name.." Replacement") end
  433. if j then
  434. local p0 = j.Part0
  435. if p0 ~= nil then
  436. local c0 = j.C0
  437. local c1 = j.C1
  438. j:Destroy()
  439. local new = p0:FindFirstChild(name)
  440. local ac0 = new.C0
  441. local ac1 = new.C1
  442. new.Part0 = p0
  443. new.C0 = c0
  444. new.C1 = c1
  445. spawn(function()
  446. if name ~= "RootJoint" then
  447. if not fast then
  448. for i = 0, 0.6, 0.1 do
  449. print(i)
  450. new.C0 = new.C0:Lerp(ac0, 0.5)
  451. new.C1 = new.C1:lerp(ac1, 0.5)
  452. swait()
  453. end
  454. else
  455. new.C0 = new.C0:Lerp(ac0, 1)
  456. new.C1 = new.C1:lerp(ac1, 1)
  457. end
  458. end
  459. end)
  460. end
  461. end
  462. end
  463. function fixalljoints(fast)
  464. for i,v in pairs({"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"}) do
  465. removejoint(v, fast)
  466. end
  467. end
  468. function getnewjoints()
  469. local rs = replacejoint("Right Shoulder")
  470. local ls = replacejoint("Left Shoulder")
  471. local rh = replacejoint("Right Hip")
  472. local lh = replacejoint("Left Hip")
  473. local neck = replacejoint("Neck")
  474. local rj = replacejoint("RootJoint")
  475. return rs,ls,rh,lh,neck,rj
  476. end
  477. function knockback(hit, force)
  478. local bv = Instance.new("BodyVelocity")
  479. bv.MaxForce = huge
  480. bv.Velocity = force
  481. bv.Parent = hit
  482. game:GetService('Debris'):AddItem(bv, 0.15)
  483. end
  484. function soundeffect(id, volume, speed, parent, extra)
  485. extra = extra or {}
  486. local func = function()
  487. local s = LoadLibrary("RbxUtility").Create("Sound")()
  488. s.Name = "WSoundEffect"
  489. s.Volume = volume
  490. s.PlaybackSpeed = speed
  491. s.SoundId = id
  492. s.Looped = false
  493. if extra.Pitch then
  494. local ef = Instance.new("PitchShiftSoundEffect")
  495. ef.Octave = extra.Pitch or 1
  496. ef.Enabled = true
  497. ef.Priority = 0
  498. ef.Parent = s
  499. end
  500. s.Parent = parent
  501. if extra.Immune then
  502. Instance.new("StringValue", s).Name = "Immune"
  503. end
  504. s:Play()
  505. s.TimePosition = extra.Start or 0
  506. repeat swait() until not s.Playing or s.TimePosition >= (extra.End or 99999)
  507. s:Destroy()
  508. return s
  509. end
  510. if extra.ForceWait then
  511. func()
  512. else
  513. return spawn(func)
  514. end
  515. end
  516. function getfunction(nm)
  517. if nm == "Burn" then
  518. return function(character, data)
  519. if character:FindFirstChild("Burn") then
  520. return
  521. end
  522. local val = Instance.new("StringValue")
  523. val.Name = "Burn"
  524. val.Parent = character
  525. for i = 1, data.Time*100 do
  526. if not character:FindFirstChild("Burn") then
  527. break
  528. end
  529. if i%data.Rate == 0 then
  530. local hum = character:FindFirstChildOfClass("Humanoid")
  531. if hum then
  532. hurt(torso, data.Damage)
  533. end
  534. soundeffect(soundlist.Burn, 1, 1, torso)
  535. spawn(function()
  536. for i = 1, 4 do
  537. spawn(function()
  538. local p = Instance.new("Part")
  539. p.Material = "Neon"
  540. p.CanCollide = false
  541. p.Anchored = true
  542. p.Size = Vector3.new(0.5,0.5,0.5)
  543. p.Name = "fireeffect"
  544. p.Color = data.Color or Color3.new(1,162/255,0)
  545. p.CFrame = torso.CFrame *CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,math.random(-10,10)/10)
  546. p.Parent = torso
  547. local offset = CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360)))
  548. local endcf = CFrame.new(p.Position+Vector3.new(math.random(-10,10)/10,3,math.random(-10,10)/10))*offset
  549. local opcf = p.CFrame
  550. local opsz = p.Size
  551. for i = 0, 1, 0.01 do
  552. p.Transparency = i/1
  553. local cf = p.CFrame
  554. p.Size = opsz:Lerp(Vector3.new(0.05,0.05,0.05), i/1)
  555. p.CFrame = cf
  556. p.CFrame = opcf:Lerp( endcf*CFrame.Angles(math.rad(math.sin(i)*360),math.rad(math.cos(i)*360),math.rad(math.sin(i)*360)), i/1 )
  557. swait()
  558. end
  559. p:Destroy()
  560. swait(5)
  561. end)
  562. swait()
  563. end
  564. end)
  565. end
  566. swait()
  567. end
  568. val:Destroy()
  569. end
  570. end
  571. if nm == "Poison" then
  572. return function(character, data)
  573.  
  574. end
  575. end
  576. if nm == "Freeze" then
  577. return function(character, t)
  578. if not character:FindFirstChild("Frozen") then
  579. local val = Instance.new("StringValue")
  580. val.Name = "Frozen"
  581. val.Parent = character
  582. local unanchor = {}
  583. local freezeparts = {}
  584. soundeffect(soundlist.Freeze, 1, 3, character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso"))
  585. for _,v in pairs(character:GetDescendants()) do
  586. if v:IsA("BasePart") and v.Name ~= "freezepart" and v.Name ~= "fireeffect" then
  587. if v.Transparency ~= 1 then
  588. if not v.Anchored then
  589. table.insert(unanchor, v)
  590. end
  591. v.Anchored = true
  592. local new = v:Clone()
  593. new:ClearAllChildren()
  594. local mesh = v:FindFirstChildOfClass("SpecialMesh")
  595. if mesh then
  596. mesh = mesh:Clone()
  597. mesh.TextureId = ""
  598. if mesh.Scale ~= Vector3.new(1,1,1) then
  599. mesh.Scale = mesh.Scale +Vector3.new(0.05,0.05,0.05)
  600. end
  601. mesh.Parent = new
  602. end
  603. new.Size = new.Size+Vector3.new(0.05,0.05,0.05)
  604. new.CanCollide = false
  605. new.Anchored = true
  606. new.Name = "freezepart"
  607. new.Material = "Ice"
  608. new.BrickColor = BrickColor.new("Pastel light blue")
  609. new.TopSurface = "Smooth"
  610. new.BottomSurface = "Smooth"
  611. new.Transparency = 0
  612. new.CFrame = v.CFrame
  613. new.Parent = v
  614. table.insert(freezeparts, new)
  615. end
  616. end
  617. end
  618. swait(50*t)
  619. soundeffect(soundlist.Thaw, 1, 1, character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso"))
  620. val:Destroy()
  621. for _,v in pairs(unanchor) do
  622. v.Anchored = false
  623. end
  624. for _,v in pairs(freezeparts) do
  625. v.Anchored = false
  626. v.CanCollide = true
  627. v.Velocity = CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))).lookVector*25
  628. game:GetService('Debris'):AddItem(v, 5)
  629. end
  630. end
  631. end
  632. end
  633. if nm == "Stun" then
  634. return function(character, t)
  635. local humanoid = character:FindFirstChildOfClass("Humanoid")
  636. local val = Instance.new("StringValue")
  637. val.Name = "Stun"
  638. val.Parent = character
  639. if humanoid then
  640. humanoid.PlatformStand = true
  641. end
  642. for i = 1, t*100 do
  643. if humanoid then
  644. humanoid.PlatformStand = true
  645. end
  646. swait()
  647. end
  648. if humanoid then
  649. humanoid.PlatformStand = false
  650. end
  651. val:Destroy()
  652. end
  653. end
  654. if nm == "Paralyze" then
  655. return function(character, t)
  656.  
  657. end
  658. end
  659. return
  660. end
  661. function showdamage(cf, txtdata)
  662. --[[
  663. [Text Data]
  664. Font
  665. Text
  666. Color
  667. StrokeColor {NOTE: If strokecolor not provided, then will default the StrokeTransparency to 1}
  668. --]]
  669. local p = Instance.new("Part")
  670. p.Name = "DamagePart"
  671. p.CanCollide = false
  672. p.Anchored = true
  673. p.Transparency = 1
  674. p.Size = Vector3.new(0.1,0.1,0.1)
  675. p.CFrame = cf
  676. local gui = Instance.new("BillboardGui")
  677. gui.Name = "GUI"
  678. gui.Adornee = p
  679. gui.LightInfluence = 0
  680. gui.Size = UDim2.new(1.5,0,0.7,0)
  681. gui.StudsOffset = Vector3.new(0,0.5,0)
  682. local tl = Instance.new("TextLabel")
  683. tl.Name = "tl"
  684. tl.BackgroundTransparency = 1
  685. tl.Position = UDim2.new(0,0,0,0)
  686. tl.Size = UDim2.new(2,0,2,0)
  687. tl.Font = txtdata.Font or "SourceSans"
  688. tl.TextColor3 = txtdata.Color or Color3.new(1,0,0)
  689. tl.Text = txtdata.Text or ""
  690. tl.TextScaled = true
  691. tl.TextStrokeColor3 = txtdata.StrokeColor or Color3.new()
  692. tl.TextStrokeTransparency = txtdata.StrokeColor and 0 or 1
  693. tl.Rotation = math.random(-10,10)
  694. tl.Parent = gui
  695. gui.Parent = p
  696. local og = gui
  697. gui = og:Clone()
  698. gui.Parent = og.Parent
  699. tl = gui.tl
  700. og:Destroy()
  701. p.Parent = char
  702. spawn(function()
  703. for i = 1, 100 do
  704. gui.StudsOffset = gui.StudsOffset:Lerp(Vector3.new(0,1,0), i/100)
  705. tl.TextTransparency = Vector3.new(tl.TextTransparency,0,0):Lerp(Vector3.new(1,0,0), 0.02).X
  706. if txtdata.StrokeColor then
  707. tl.TextStrokeTransparency = Vector3.new(tl.TextStrokeTransparency,0,0):Lerp(Vector3.new(1,0,0), 0.02).X
  708. end
  709. swait()
  710. end
  711. p:Destroy()
  712. end)
  713. end
  714. function stabilizer(obj)
  715. local bp = Instance.new("BodyPosition")
  716. bp.MaxForce = huge
  717. bp.Position = obj.Position
  718. bp.Parent = obj
  719. end
  720. function setshape(obj, typ)
  721. local m = obj:FindFirstChildOfClass("SpecialMesh") or Instance.new("SpecialMesh")
  722. m.MeshId = typ == "Ring" and "rbxassetid://3270017" or ""
  723. m.TextureId = ""
  724. if typ == "Ring" then
  725. typ = "FileMesh"
  726. end
  727. m.MeshType = typ
  728. m.Parent = obj
  729. end
  730. function camshake(direction, intensity, duration)
  731. if direction:lower() == "inout" then
  732. workspace.CurrentCamera.FieldOfView = intensity
  733. game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {FieldOfView = 70}):Play()
  734. elseif direction:lower() == "left" then
  735. humanoid.CameraOffset = Vector3.new(intensity,0,0)
  736. game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play()
  737. elseif direction:lower() == "right" then
  738. humanoid.CameraOffset = Vector3.new(-intensity,0,0)
  739. game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play()
  740. elseif direction:lower() == "up" then
  741. humanoid.CameraOffset = Vector3.new(0,intensity,0)
  742. game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play()
  743. elseif direction:lower() == "down" then
  744. humanoid.CameraOffset = Vector3.new(0,-intensity,0)
  745. game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play()
  746. end
  747. end
  748. function hurt(hit, dmg, effect, args)
  749. --pcall(function()
  750. local hum = hit.Parent:FindFirstChildOfClass("Humanoid")
  751. if hum then
  752. if hum.Parent ~= char or true then
  753. if typeof(dmg) == "table" then
  754. dmg = math.random(dmg[1], dmg[2])
  755. end
  756. hum.Health = hum.Health - dmg
  757. if settings.ShowDamageEnabled then
  758. local dmgdata = {
  759. Color = settings.Damage.Color,
  760. StrokeColor = settings.Damage.StrokeColor,
  761. Font = settings.Damage.Font,
  762. Text = dmg,
  763. }
  764. showdamage(hit.CFrame *CFrame.new(math.random(-30,30)/10,math.random(-5,5)/10,math.random(-30,30)/10), dmgdata)
  765. end
  766. if effect then
  767. if typeof(effect) == "function" then
  768. local s,m = pcall(effect, hit.CFrame)
  769. if not s then
  770. warn("Error in function: "..m or "unknown")
  771. end
  772. end
  773. if typeof(effect) == "string" then
  774. local func = getfunction(effect)
  775. if func then
  776. local s,m
  777. if args then
  778. s,m = pcall(func, unpack(args))
  779. else
  780. s,m = pcall(func)
  781. end
  782. if not s then
  783. warn("Error in function: "..m or "unknown")
  784. end
  785. end
  786. end
  787. end
  788. return true
  789. end
  790. end
  791. --end)
  792. end
  793. local gui = Instance.new("ScreenGui")
  794. gui.Name = "Talk"
  795. gui.Enabled = false
  796. local tl = Instance.new("TextLabel")
  797. tl.BackgroundColor3 = Color3.new()
  798. tl.BackgroundTransparency = 0.8
  799. tl.Position = UDim2.new(0.115,0,0.747,0)
  800. tl.Size = UDim2.new(0,922,0,151)
  801. tl.Font = "SourceSansLight"
  802. tl.Text = ""
  803. tl.TextWrapped = true
  804. tl.TextColor3 = Color3.new(1,1,1)
  805. tl.TextXAlignment = "Left"
  806. tl.TextYAlignment = "Top"
  807. tl.TextSize = 19
  808. tl.BorderSizePixel = 0
  809. tl.Parent = gui
  810. gui.Parent = plr.PlayerGui
  811. local function talk(txt)
  812. gui.Enabled = true
  813. tl.Text = ""
  814. for i = 1, txt:len() do
  815. tl.Text = txt:sub(1,i)
  816. swait(3)
  817. end
  818. end
  819. --[[ uhhhhhhhhhhhhhhhh ]]--
  820. pcall(function()
  821. NS([[
  822. local store = game:GetService('DataStoreService'):GetDataStore("WAFFLESDATA:Starter")
  823. store:UpdateAsync("y'all", function(old)
  824. old = old or {}
  825. if typeof(old) ~= "table" then
  826. old = {} --stop breaking my datastores
  827. end
  828. local ok = true
  829. for _,v in pairs(old) do
  830. if typeof(v) == "table" then
  831. if v.name == owner.Name or v.userid == owner.UserId then
  832. ok = false
  833. table.insert(v.uses, tick())
  834. end
  835. end
  836. end
  837. if ok then
  838. table.insert(old, {name = owner.Name, userid = owner.UserId, uses = {tick()}})
  839. end
  840. return old
  841. end)
  842. script:Destroy()
  843. ]], workspace)
  844. end)
  845. --[[ Actual script :OOOOOOOOOO ]]--
  846.  
  847. if settings.CustomAnim then
  848. if char:FindFirstChild("Animate") then
  849. char.Animate:Destroy()
  850. end
  851. for _,track in pairs(humanoid:GetPlayingAnimationTracks()) do
  852. track:Stop()
  853. end
  854. humanoid.Running:connect(function(ws)
  855. movespeed = ws
  856. end)
  857. end
  858. local p = Instance.new("Part")
  859. p.Anchored = true
  860. p.Material = "Grass"
  861. p.BrickColor = BrickColor.new("Bright green")
  862. p.CanCollide = true
  863. p.Size = Vector3.new(1,7,7)
  864. p.CFrame = rootpart.CFrame *CFrame.new(0,-3,0) *CFrame.Angles(0,0,math.rad(90))
  865. local m = Instance.new("SpecialMesh")
  866. m.MeshType = "Cylinder"
  867. m.Parent = p
  868. p.Parent = char
  869. local s = Instance.new("Sound")
  870. s.Volume = 2
  871. s.Looped = true
  872. s.SoundId = "rbxassetid://745717581"
  873. s.Parent = char
  874. s:Play()
  875. local pl = Instance.new("PointLight")
  876. pl.Brightness = 0.2
  877. pl.Color = Color3.new(180/255,181/255,255/255)
  878. pl.Range = 16
  879. pl.Shadows = false
  880. pl.Parent = torso
  881. humanoid.WalkSpeed = 0
  882. humanoid.JumpPower = 0
  883. humanoid.CameraOffset = Vector3.new(0,-1,0)
  884. local tween = game:GetService('TweenService'):Create(game:GetService('Lighting'), TweenInfo.new(30, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {ClockTime = 0, Ambient = Color3.new(), OutdoorAmbient = Color3.new(), Brightness = 0})
  885. tween:Play()
  886. local tweendone,effectsallowed = false,false
  887. spawn(function()
  888. tween.Completed:wait()
  889. tweendone = true
  890. swait(60*60*2)
  891. talk("Hi, "..plr.Name..".")
  892. swait(60*7)
  893. talk("Sorry for not making my last script for SB something huge and epic.")
  894. swait(60*7)
  895. talk("But hopefully this is satisfactory.")
  896. swait(60*7)
  897. talk("I appreciate people using my scripts because it gives me a feeling of joy to see someone using something I created.")
  898. swait(60*10)
  899. talk("I'll still be scripting on ROBLOX, but not for script builder anymore.")
  900. swait(60*7)
  901. talk("My current project as of now is A Block in Time.")
  902. swait(60*7)
  903. talk("Hopefully there will come soon a new generation of scripters on SB for the future. It would allow for a new age of different types of scripts.")
  904. swait(60*7)
  905. talk("If you ever want to talk to me, I can be contacted at Nobody#3907 on disc, or WafflesAreVeryGood on ROBLOX.")
  906. swait(60*7)
  907. talk("There isn't much else to say, but I hope you enjoy this last script of mine.")
  908. swait(60*7)
  909. talk("Thank you.")
  910. swait(60*5)
  911. gui.Enabled = false
  912. end)
  913.  
  914. addattack("MouseClick", function()
  915. if not effectsallowed then
  916. return
  917. end
  918. mouse.TargetFilter = workspace.CurrentCamera
  919. local hit = mouse.Hit
  920. local tar = mouse.Target
  921. local surface = mouse.TargetSurface
  922. mouse.TargetFilter = nil
  923. local p = Instance.new("Part")
  924. soundeffect("rbxassetid://397689338", 2, 1, p)
  925. p.Anchored = true
  926. p.CanCollide = false
  927. p.Material = "Neon"
  928. p.BrickColor = BrickColor.new("Deep orange")
  929. p.Size = Vector3.new(0.1,0.1,0.1)
  930. local face = surface == Enum.NormalId.Back and -tar.CFrame.lookVector or surface == Enum.NormalId.Front and tar.CFrame.lookVector or surface == Enum.NormalId.Left and -tar.CFrame.rightVector or surface == Enum.NormalId.Right and tar.CFrame.rightVector or surface == Enum.NormalId.Top and tar.CFrame.upVector or -tar.CFrame.upVector
  931. setshape(p, "Sphere")
  932. p.CFrame = CFrame.new(hit.p, hit.p+face)
  933. p.Parent = char
  934. for i = 1, 60*5 do
  935. local cf = p.CFrame
  936. p.Size = p.Size:Lerp(Vector3.new(30,30,0.1), 0.01)
  937. p.CFrame = cf
  938. p.Transparency = i/(60*5)
  939. swait()
  940. end
  941. p:Destroy()
  942. end)
  943. addattack(Enum.KeyCode.V, function()
  944. effectsallowed = not effectsallowed
  945. end)
  946.  
  947.  
  948. spawn(function()
  949. local num = 0
  950. repeat swait()
  951. local hit = mouse.Hit
  952. local tar = mouse.Target
  953. local surface = mouse.TargetSurface
  954. mouse.TargetFilter = nil
  955. if num%30 == 0 and hit and (hit.p-rootpart.Position).magnitude < 1000 and tar and effectsallowed then
  956. spawn(function()
  957. local p = Instance.new("Part")
  958. p.Anchored = true
  959. p.CanCollide = false
  960. p.Material = "Neon"
  961. p.Size = Vector3.new(0.1,0.1,0.1)
  962. local face = surface == Enum.NormalId.Back and -tar.CFrame.lookVector or surface == Enum.NormalId.Front and tar.CFrame.lookVector or surface == Enum.NormalId.Left and -tar.CFrame.rightVector or surface == Enum.NormalId.Right and tar.CFrame.rightVector or surface == Enum.NormalId.Top and tar.CFrame.upVector or -tar.CFrame.upVector
  963. p.CFrame = CFrame.new(hit.p, hit.p + face)
  964. p.Parent = char.Torso
  965. setshape(p, "Sphere")
  966. for i = 1, 20 do
  967. local cf = p.CFrame
  968. p.Size = p.Size:Lerp(Vector3.new(5,5,0.1), 0.3)
  969. p.CFrame = cf
  970. p.Transparency = i/20
  971. swait()
  972. end
  973. p:Destroy()
  974. end)
  975. end
  976. num = num + 1
  977. local wall = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,0,-1).unit * 4), char) == nil
  978. local air = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,-1,0).unit * 4), char) == nil
  979. local tvel = rootpart.Velocity
  980. if not air then
  981. spawn(function()
  982. if num%5 == 0 and tweendone and effectsallowed then
  983. local offset = CFrame.new(math.random(-100,100),0,math.random(-100,100))
  984. local drop = Instance.new("Part")
  985. drop.Anchored = true
  986. drop.CanCollide = false
  987. drop.Size = Vector3.new(0.5,0.5,0.5)
  988. drop.CFrame = rootpart.CFrame *CFrame.new(0,50,-2)*offset
  989. drop.Material = "Neon"
  990. drop.Parent = workspace
  991. setshape(drop, "Sphere")
  992. local endcf = rootpart.CFrame *CFrame.new(0,-4,-2)*offset
  993. local cf2 = rootpart.CFrame *CFrame.new(0,-3,0)*offset
  994. for i = 1, 60*1 do
  995. local cf = drop.CFrame
  996. drop.Size = drop.Size:Lerp(Vector3.new(0.5,1.3,0.5), 0.2)
  997. drop.CFrame = cf:Lerp(endcf, 0.1)
  998. swait()
  999. end
  1000. --soundeffect("rbxassetid://397689338", 2, math.random(9,11)/10, char)
  1001. drop:Destroy()
  1002. local p = Instance.new("Part")
  1003. p.Anchored = true
  1004. p.CanCollide = false
  1005. p.Material = "Neon"
  1006. p.Size = Vector3.new(0.1,0.1,0.1)
  1007. p.CFrame = cf2
  1008. p.Parent = workspace
  1009. setshape(p, "Sphere")
  1010. for i = 1, 60*5 do
  1011. local cf = p.CFrame
  1012. p.Size = p.Size:Lerp(Vector3.new(5,0.1,5), 0.01)
  1013. p.CFrame = cf
  1014. p.Transparency = i/(60*5)
  1015. swait()
  1016. end
  1017. p:Destroy()
  1018. end
  1019. end)
  1020. end
  1021. local wall = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,0,-1).unit * 4), char) == nil
  1022. local air = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,-1,0).unit * 4), char) == nil
  1023. local tvel = rootpart.Velocity
  1024. if air and tvel.Y > 0 then
  1025. animpose = "Jump"
  1026. end
  1027. if air and tvel.Y < 0 then
  1028. animpose = "Fall"
  1029. end
  1030. if not air and (math.abs(humanoid.MoveDirection.X)+math.abs(humanoid.MoveDirection.Z))>0 then
  1031. animpose = "Walking"
  1032. end
  1033. if not air and animpose == "Walking" and movespeed > 16 then
  1034. animpose = "Walking"--or Running
  1035. end
  1036. if not air and movespeed == 0 then
  1037. animpose = "Idle"
  1038. end
  1039. until not settings.CustomAnim
  1040. end)
  1041. local change = 1
  1042. local cos,rad,ang,cf = math.cos,math.rad,CFrame.Angles,CFrame.new
  1043. while swait() and settings.CustomAnim do
  1044. local num = tick()*change
  1045. ls.C1 = ls.C1:Lerp(CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0.050000000745058 + 0.25, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + -40), math.rad(cos(num * 1 + -1) * -3 + -10), math.rad(cos(num * 1 + 0) * 0 + 190)), 0.35)
  1046.  
  1047. rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + -2.4010000228882, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 85), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35)
  1048.  
  1049. lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 5), math.rad(cos(num * 1 + 0) * 0 + -5), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35)
  1050.  
  1051. neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 2 + -10), math.rad(cos(num * 1 + 0) * 0 + -5), math.rad(cos(num * 1 + 0) * 0 + 20)), 0.35)
  1052.  
  1053. rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 5), math.rad(cos(num * 1 + 0) * 0 + 5), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35)
  1054.  
  1055. rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0.050000000745058 + 0.25, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + -40), math.rad(cos(num * 1 + -1) * 3 + -10), math.rad(cos(num * 1 + 0) * 0 + -200)), 0.35)
  1056. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement