Advertisement
AxilEdits

Roblox // Cloud Visualizer V.2

Aug 16th, 2018
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.36 KB | None | 0 0
  1. --//FE Edit By AxilYT
  2. --//FE Script
  3. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  4. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  5. local RealPlayer = Player
  6. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer end
  7.  
  8. --//Cloud Script
  9. print("AxilYT, Commands are !play !snow !rain !multiplier and !volume")local Player = owner
  10.  
  11. local Character = Player.Character
  12.  
  13. local H = Character["Head"]
  14.  
  15. local multiplier = 4
  16.  
  17. local Cloud = Instance.new('Part',Character)
  18.  
  19. Cloud.Size = Vector3.new(20,15,20)
  20.  
  21. Cloud.Anchored = true
  22.  
  23. Cloud.CanCollide = false
  24.  
  25. Cloud.Transparency = 0
  26.  
  27.  
  28.  
  29. local CloudMesh = Instance.new('SpecialMesh',Cloud)
  30.  
  31. CloudMesh.Scale = Vector3.new(25,10,25)
  32.  
  33. CloudMesh.MeshId = "http://www.roblox.com/asset/?id=1095708"
  34.  
  35. CloudMesh.Offset = Vector3.new(0,10,0)
  36.  
  37.  
  38. local loudness = 0
  39.  
  40.  
  41.  
  42. local S = Instance.new('Sound',Cloud)
  43.  
  44. S.SoundId = "rbxassetid://1117396305"
  45.  
  46. S.Looped = true
  47.  
  48. S.Volume = 8
  49.  
  50. S.MaxDistance = 100
  51.  
  52. S:Play()
  53.  
  54.  
  55.  
  56. local Rain = Instance.new('ParticleEmitter',Cloud)
  57.  
  58. Rain.Color = ColorSequence.new(Color3.new(1,1,1),Color3.fromRGB(175,255,255))
  59.  
  60. Rain.Size = NumberSequence.new(.5)
  61.  
  62. Rain.Texture = "http://www.roblox.com/asset/?id=241876428"
  63.  
  64. Rain.Transparency = NumberSequence.new(0,.6)
  65.  
  66. Rain.Acceleration = Vector3.new(0,-150,0)
  67.  
  68. Rain.Lifetime = NumberRange.new(5,10)
  69.  
  70. Rain.Rate = 100
  71.  
  72. local rad = math.rad
  73.  
  74. local sin = math.sin
  75.  
  76. local tan = math.tan
  77.  
  78. local cos = math.cos
  79.  
  80. Player.Chatted:connect(function(m)
  81.  
  82. if m:match("!play%s%d+") then
  83.  
  84. S:Stop()
  85.  
  86. S.SoundId = "rbxassetid://"..m:match("!play%s(%d+)")
  87.  
  88. S:Play()
  89.  
  90. elseif m:match("!volume%s%d+") then
  91.  
  92. S.Volume = m:match("!volume%s(%d+)")
  93.  
  94. elseif m:match("!pitch%s%d+") then
  95.  
  96. S.Pitch = m:match("!volume%s(%d+)")
  97.  
  98. elseif m:match("!snow") then
  99.  
  100. Rain.Texture = "http://www.roblox.com/asset/?id=605668174"
  101.  
  102. Rain.Acceleration = Vector3.new(0,-10,0)
  103.  
  104. Rain.Lifetime = NumberRange.new(15,20)
  105.  
  106. Rain.Size = NumberSequence.new(.2)
  107.  
  108. elseif m:match("!rain") then
  109.  
  110. Rain.Texture = "http://www.roblox.com/asset/?id=241876428"
  111.  
  112. Rain.Acceleration = Vector3.new(0,-150,0)
  113.  
  114. Rain.Lifetime = NumberRange.new(5,10)
  115.  
  116. Rain.Size = NumberSequence.new(.5)
  117.  
  118. elseif m:match("!multiplier%s%d+") then
  119.  
  120. multiplier = m:match("!multiplier%s(%d+)")
  121.  
  122. elseif m:match("!rr") then
  123.  
  124. print(Rain.Rate)
  125.  
  126. end
  127. end)
  128.  
  129.  
  130.  
  131. function Weld(x,y)
  132.  
  133. local w = Instance.new("Weld")
  134.  
  135. w.Part0 = x
  136.  
  137. w.Part1 = y
  138.  
  139. w.Name = tostring(y.Name).."_Weld"
  140.  
  141. w.Parent = x
  142.  
  143. return w
  144.  
  145. end
  146.  
  147.  
  148.  
  149. function Clerp(start,destination,increment)
  150.  
  151. local function slerp(a,b,c)return (1-c)*a+(c*b)end
  152.  
  153. local c1 = {start.X,start.Y,start.Z,start:toEulerAnglesXYZ()}
  154.  
  155. local c2 = {destination.X,destination.Y,destination.Z,destination:toEulerAnglesXYZ()}
  156.  
  157. for i,v in pairs(c1)do c1[i] = slerp(v,c2[i],increment)end
  158.  
  159. return CFrame.new(c1[1],c1[2],c1[3])*CFrame.Angles(c1[4],c1[5],c1[6])
  160.  
  161. end
  162.  
  163.  
  164.  
  165. while true do
  166.  
  167. Rain.Rate = (S.PlaybackLoudness + 50) * multiplier
  168.  
  169. game:GetService('RunService').RenderStepped:wait()
  170.  
  171. local HP = H.CFrame.p
  172.  
  173. local sizer = S.PlaybackLoudness/50 + 15
  174.  
  175. Cloud.Size = Vector3.new(sizer,15,sizer)
  176.  
  177. CloudMesh.Scale = Vector3.new(sizer,10,sizer)
  178.  
  179. Cloud.CFrame = Clerp(Cloud.CFrame, CFrame.new(HP + Vector3.new(0,4,0))*CFrame.Angles(0,rad(90),0), .1)
  180.  
  181. Cloud.BrickColor = BrickColor.new(Color3.fromRGB(255 - S.PlaybackLoudness*1.1, 255-S.PlaybackLoudness*1.1, 255-S.PlaybackLoudness*1.1))
  182. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement