Advertisement
Mediakiller7Cool

what4

Jan 3rd, 2020
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.50 KB | None | 0 0
  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 V2 by Mokiros")
  6. local RealPlayer = RealPlayer
  7. script.Parent = RealPlayer.Character
  8.  
  9. --Fake event to make stuff like Mouse.KeyDown work
  10. local Disconnect_Function = function(this)
  11. this[1].Functions[this[2]] = nil
  12. end
  13. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  14. local FakeEvent_Metatable = {__index={
  15. Connect = function(this,f)
  16. local i = tostring(math.random(0,10000))
  17. while this.Functions[i] do
  18. i = tostring(math.random(0,10000))
  19. end
  20. this.Functions[i] = f
  21. return setmetatable({this,i},Disconnect_Metatable)
  22. end
  23. }}
  24. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  25. local function fakeEvent()
  26. return setmetatable({Functions={}},FakeEvent_Metatable)
  27. end
  28.  
  29. --Creating fake input objects with fake variables
  30. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  31. FakeMouse.keyUp = FakeMouse.KeyUp
  32. FakeMouse.keyDown = FakeMouse.KeyDown
  33. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  34. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  35. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  36. end}
  37. --Merged 2 functions into one by checking amount of arguments
  38. CAS.UnbindAction = CAS.BindAction
  39.  
  40. --This function will trigger the events that have been :Connect()'ed
  41. local function TriggerEvent(self,ev,...)
  42. for _,f in pairs(self[ev].Functions) do
  43. f(...)
  44. end
  45. end
  46. FakeMouse.TriggerEvent = TriggerEvent
  47. UIS.TriggerEvent = TriggerEvent
  48.  
  49. --Client communication
  50. local Event = Instance.new("RemoteEvent")
  51. Event.Name = "UserInput_Event"
  52. Event.OnServerEvent:Connect(function(plr,io)
  53. if plr~=RealPlayer then return end
  54. FakeMouse.Target = io.Target
  55. FakeMouse.Hit = io.Hit
  56. if not io.isMouse then
  57. local b = io.UserInputState == Enum.UserInputState.Begin
  58. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  59. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  60. end
  61. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  62. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  63. end
  64. for _,t in pairs(CAS.Actions) do
  65. for _,k in pairs(t.Keys) do
  66. if k==io.KeyCode then
  67. t.Function(t.Name,io.UserInputState,io)
  68. end
  69. end
  70. end
  71. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  72. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  73. end
  74. end)
  75. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  76. local Mouse = owner:GetMouse()
  77. local UIS = game:GetService("UserInputService")
  78. local input = function(io,RobloxHandled)
  79. if RobloxHandled then return end
  80. --Since InputObject is a client-side instance, we create and pass table instead
  81. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  82. end
  83. UIS.InputBegan:Connect(input)
  84. UIS.InputEnded:Connect(input)
  85. local h,t
  86. --Give the server mouse data every second frame, but only if the values changed
  87. --If player is not moving their mouse, client won't fire events
  88. local HB = game:GetService("RunService").Heartbeat
  89. while true do
  90. if h~=Mouse.Hit or t~=Mouse.Target then
  91. h,t=Mouse.Hit,Mouse.Target
  92. Event:FireServer({isMouse=true,Target=t,Hit=h})
  93. end
  94. --Wait 2 frames
  95. for i=1,2 do
  96. HB:Wait()
  97. end
  98. end]==],script)
  99.  
  100. ----Sandboxed game object that allows the usage of client-side methods and services
  101. --Real game object
  102. local RealGame = game
  103.  
  104. --Metatable for fake service
  105. local FakeService_Metatable = {
  106. __index = function(self,k)
  107. local s = rawget(self,"_RealService")
  108. if s then
  109. return typeof(s[k])=="function"
  110. and function(_,...)return s[k](s,...)end or s[k]
  111. end
  112. end,
  113. __newindex = function(self,k,v)
  114. local s = rawget(self,"_RealService")
  115. if s then s[k]=v end
  116. end
  117. }
  118. local function FakeService(t,RealService)
  119. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  120. return setmetatable(t,FakeService_Metatable)
  121. end
  122.  
  123. --Fake game object
  124. local FakeGame = {
  125. GetService = function(self,s)
  126. return rawget(self,s) or RealGame:GetService(s)
  127. end,
  128. Players = FakeService({
  129. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  130. },"Players"),
  131. UserInputService = FakeService(UIS,"UserInputService"),
  132. ContextActionService = FakeService(CAS,"ContextActionService"),
  133. RunService = FakeService({
  134. _btrs = {},
  135. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  136. BindToRenderStep = function(self,name,_,fun)
  137. self._btrs[name] = self.Heartbeat:Connect(fun)
  138. end,
  139. UnbindFromRenderStep = function(self,name)
  140. self._btrs[name]:Disconnect()
  141. end,
  142. },"RunService")
  143. }
  144. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  145. FakeGame.service = FakeGame.GetService
  146. FakeService(FakeGame,game)
  147. --Changing owner to fake player object to support owner:GetMouse()
  148. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  149. end
  150. -- input
  151. function GetRecursiveChildren(Part, Children)
  152. for _, Part in pairs(Part:GetChildren()) do
  153. pcall(function()
  154. table.insert(Children, Part)
  155. GetRecursiveChildren(Part, Children)
  156. end)
  157. end
  158. return Children
  159. end
  160.  
  161.  
  162. local Phrases = {
  163. "YOU ARE NOW Deo's L\2OVE-PUPPY",
  164. "SergeantSmokey was here!",
  165. "SergeantSmokey was here!",
  166. "SergeantSmokey was here!",
  167. "SergeantSmokey was here!",
  168. "SergeantSmokey was here!!",
  169. "SergeantSmokey was here!",
  170. "Meow.",
  171. "SergeantSmokey was here!",
  172. "1x1x1x1 Was Not Here",
  173. "SergeantSmokey was here!",
  174. "SergeantSmokey was here!",
  175. "Oh, let's blow some things up!",
  176. "SergeantSmokey was here!",
  177. "Eat my shirt!",
  178. "No shirt, no shoes, no torso, no service.",
  179. "You got owned, bi-yatch.",
  180. "I heard you like hacks. Me too! Wow, we have so much in common! Want to go out some time?",
  181. "The Aperture Science Weighted Companion Cube will not stab you, and cannot speak.",
  182. "Please wait while I warm up the neurotoxins...",
  183. "Goodbye my only friend... / Wait, did you think I meant you? / That would be funny, / if it weren't so sad.",
  184. "Yousa gonna dia!",
  185. "THIS IS SPART- ERR I MEAN DEO!",
  186. "SergeantSmokey flashes!",
  187. "SergeantSmokey flashes!",
  188. "I'm wild for leo.",
  189. "HURR DURR.",
  190. "DURR.",
  191. "HURR.",
  192. "I'll kick your puppy!",
  193. "Oh lawdy...",
  194. "What have I done?!",
  195. ":3",
  196. "Who's the noob? You are, hurr.",
  197. "Deo l\2oves you with hate.",
  198. "Deo would like to take this moment to tell you how much he hates you.",
  199. "Deo is your new and old God.",
  200. "Deo is the cake.",
  201. "Telamon is mad you took his chicken.",
  202. "LEROOOOOOOOOOOOOOY JENKIIIIIIIIIIIIIIIIIIIIIIINS",
  203. "Clockwork was never de-admined D;",
  204. "We all have hearts of gold! Excuse me while I shatter said gold into pieces.",
  205. "I shot Santa. Christmas is canceled.",
  206. "I eat children.",
  207. "Don't be surprised if the world ends. That's just my way of saying hello.",
  208. "I'M GOING TO SM\2OKE A LOT OF CR\2ACK.",
  209. "Life is wonderful. Without it we'd all be dead.",
  210. "Daddy, why doesn't this magnet pick up this floppy disk?",
  211. "Give me ambiguity or give me something else.",
  212. "I.R.S.: We've got what it takes to take what you've got!",
  213. "We are born naked, wet and hungry. Then things get worse.",
  214. "Make it idiot proof and someone will make a better idiot.",
  215. "He who laughs last thinks slowest!",
  216. "Always remember you're unique, just like everyone else.",
  217. "\"More hay, Trigger?\" \"No thanks, Roy, I'm stuffed!\"",
  218. "A flashlight is a case for holding dead batteries.",
  219. "Lottery: A tax on people who are bad at math.",
  220. "Error, no keyboard - press F1 to continue.",
  221. "There's too much blood in my caffeine system.",
  222. "Artificial Intelligence usually beats real stupidity.",
  223. "Hard work has a future payoff. Laziness pays off now.",
  224. "\"Very funny, Scotty. Now beam down my clothes.\"",
  225. "Puritanism: The haunting fear that someone, somewhere may be happy.",
  226. "Consciousness: that annoying time between naps.",
  227. "Don't take life too seriously, you won't get out alive.",
  228. "I don't suffer from insanity. I enjoy every minute of it.",
  229. "Better to understand a little than to misunderstand a lot.",
  230. "The gene pool could use a little chlorine.",
  231. "When there's a will, I want to be in it.",
  232. "Okay, who put a \"stop payment\" on my reality check?",
  233. "We have enough youth, how about a fountain of SMART?",
  234. "Programming is an art form that fights back.",
  235. "\"Daddy, what does FORMATTING DRIVE C mean?\"",
  236. "All wiyht. Rho sritched mg kegtops awound?",
  237. "My mail reader can beat up your mail reader.",
  238. "Never forget: 2 + 2 = 5 for extremely large values of 2.",
  239. "Nobody has ever, ever, EVER learned all of WordPerfect.",
  240. "To define recursion, we must first define recursion.",
  241. "Good programming is 99% sweat and 1% coffee.",
  242. "Home is where you hang your @",
  243. "The E-mail of the species is more deadly than the mail.",
  244. "A journey of a thousand sites begins with a single click.",
  245. "You can't teach a new mouse old clicks.",
  246. "Great groups from little icons grow.",
  247. "Speak softly and carry a cellular phone.",
  248. "C:\\ is the root of all directories.",
  249. "Don't put all your hypes in one home page.",
  250. "Pentium wise; pen and paper foolish.",
  251. "The modem is the message.",
  252. "Too many clicks spoil the browse.",
  253. "The geek shall inherit the earth.",
  254. "A chat has nine lives.",
  255. "Don't byte off more than you can view.",
  256. "Fax is stranger than fiction.",
  257. "What boots up must come down.",
  258. "Windows will never cease. (ed. oh sure...)",
  259. "In Gates we trust. (ed. yeah right....)",
  260. "Virtual reality is its own reward.",
  261. "Modulation in all things.",
  262. "A user and his leisure time are soon parted.",
  263. "There's no place like http://www.home.com",
  264. "Know what to expect before you connect.",
  265. "Oh, what a tangled website we weave when first we practice.",
  266. "Speed thrills.",
  267. "Give a man a fish and you feed him for a day; teach him to use the Net and he won't bother you for weeks."
  268. }
  269.  
  270.  
  271. Textures = {
  272. "http://www.roblox.com/Asset/?id=59515602",
  273. "http://www.roblox.com/Asset/?id=48308661",
  274. "http://www.roblox.com/Asset/?id=42198984",
  275. "http://www.roblox.com/Asset/?id=59421095",
  276. "http://www.roblox.com/Asset/?id=59454680",
  277. "http://www.roblox.com/Asset/?id=59784967",
  278. "http://www.roblox.com/Asset/?id=45791014",
  279. "http://www.roblox.com/Asset/?id=58492970",
  280. "http://www.roblox.com/Asset/?id=59278856"
  281. }
  282.  
  283.  
  284. Instance.new("Sky", game:GetService("Lighting")).CelestialBodiesShown = false
  285. Instance.new("Message", Workspace)
  286. Instance.new("Hint", Workspace)
  287.  
  288.  
  289. while true do
  290. for _, Part in pairs(GetRecursiveChildren(game, {})) do
  291. pcall(function()
  292. if not Part:IsA("Player")then
  293. pcall(function() Part.Name = Phrases[math.random(1, #Phrases)] end)
  294. pcall(function() Part.Text = Phrases[math.random(1, #Phrases)] end)
  295. pcall(function() Part.Image = Textures[math.random(1, #Textures)] end)
  296. pcall(function() Part.TextureId = Textures[math.random(1, #Textures)] end)
  297. pcall(function() Part.Texture = Textures[math.random(1, #Textures)] end)
  298. pcall(function() Part.ShirtTemplate = Textures[math.random(1, #Textures)] end)
  299. pcall(function() Part.PantsTemplate = Textures[math.random(1, #Textures)] end)
  300. pcall(function() Part.Graphic = Textures[math.random(1, #Textures)] end)
  301. pcall(function() Part.Color = Color3.new(math.random(), math.random(), math.random()) end)
  302. pcall(function() Part.Color3 = Color3.new(math.random(), math.random(), math.random()) end)
  303. pcall(function()
  304. Part.SkyboxUp = Textures[math.random(1, #Textures)]
  305. Part.SkyboxDn = Textures[math.random(1, #Textures)]
  306. Part.SkyboxLf = Textures[math.random(1, #Textures)]
  307. Part.SkyboxRt = Textures[math.random(1, #Textures)]
  308. Part.SkyboxFt = Textures[math.random(1, #Textures)]
  309. Part.SkyboxBk = Textures[math.random(1, #Textures)]
  310. end)
  311. pcall(function()
  312. Part.TextColor3 = Color3.new(math.random(), math.random(), math.random())
  313. Part.BackgroundColor3 = Color3.new(math.random(), math.random(), math.random())
  314. Part.BorderColor3 = Color3.new(math.random(), math.random(), math.random())
  315. end)
  316. pcall(function()
  317. Part.Pitch = math.random() * 5
  318. Part.Volume = 1
  319. Part.Looped = true
  320. Part:Play()
  321. end)
  322. pcall(function()
  323. if math.random(1, 5) == 1 then Part.Anchored = false end
  324. if Part.Anchored == false then
  325. Part.Velocity = Vector3.new(math.random(-10, 10), math.random(0, 50), math.random(-10, 10))
  326. Part.RotVelocity = Vector3.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100))
  327. end
  328. Part.Locked = false
  329. Part.BrickColor = BrickColor.random()
  330. Part.TopSurface = "Weld"
  331. Part.BottomSurface = "Weld"
  332. Part.FrontSurface = "Weld"
  333. Part.BackSurface = "Weld"
  334. Part.LeftSurface = "Weld"
  335. Part.RightSurface = "Weld"
  336. Part:BreakJoints()
  337. end)
  338. end
  339. end)
  340. if math.random(1, 50) == 1 then wait() end
  341. end
  342. end
  343. s.Parent = game.workspace
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement