Advertisement
marioisdabomb

somik

Dec 16th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.71 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
  2. do
  3. script.Parent = owner.Character
  4. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
  5. local function NewFakeEvent()
  6. local Bind = Instance.new("BindableEvent")
  7. local Fake;Fake = {Connections = {},
  8. fakeEvent=true;
  9. Connect=function(self,Func)
  10. Bind.Event:connect(Func)
  11. self.Connections[Bind] = true
  12. return setmetatable({Connected = true},{
  13. __index = function (self,Index)
  14. if Index:lower() == "disconnect" then
  15. return function() Fake.Connections[Bind] = false;self.Connected = false end
  16. end
  17. return Fake[Index]
  18. end;
  19. __tostring = function() return "Connection" end;
  20. })
  21. end}
  22. Fake.connect = Fake.Connect;return Fake;
  23. end
  24. local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
  25. local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
  26. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  27. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  28. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  29. local function TriggerEvent(self,Event,...)
  30. local Trigger = Mouse[Event]
  31. if Trigger and Trigger.fakeEvent and Trigger.Connections then
  32. for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
  33. end
  34. end
  35. Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
  36. Event.OnServerEvent:Connect(function(FiredBy,Input)
  37. if FiredBy.Name ~= owner.Name then return end
  38. if Input.MouseEvent then
  39. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  40. else
  41. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  42. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
  43. for _,Action in pairs(ContextActionService.Actions) do
  44. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  45. end
  46. Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
  47. UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  48. end
  49. end)
  50. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  51. Event.Parent = NLS([[
  52. local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
  53. local Input = function(Input,gameProcessedEvent)
  54. if gameProcessedEvent then return end
  55. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  56. end
  57. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  58. local Hit,Target
  59. while wait(1/30) do
  60. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  61. Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  62. end
  63. end
  64. ]],owner.Character)
  65. end
  66. RealGame = game;game = setmetatable({},{
  67. __index = function (self,Index)
  68. local Sandbox = function (Thing)
  69. if Thing:IsA("Player") then
  70. local RealPlayer = Thing
  71. return setmetatable({},{
  72. __index = function (self,Index)
  73. local Type = type(RealPlayer[Index])
  74. if Type == "function" then
  75. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  76. return function (self)return InternalData["Mouse"] end
  77. end
  78. return function (self,...)return RealPlayer[Index](RealPlayer,...) end
  79. end
  80. return RealPlayer[Index]
  81. end;
  82. __tostring = function(self) return RealPlayer.Name end
  83. })
  84. end
  85. end
  86. if RealGame[Index] then
  87. local Type = type(RealGame[Index])
  88. if Type == "function" then
  89. if Index:lower() == "getservice" or Index:lower() == "service" then
  90. return function (self,Service)
  91. local FakeServices = {
  92. ["players"] = function()
  93. return setmetatable({},{
  94. __index = function (self2,Index2)
  95. local RealService = RealGame:GetService(Service)
  96. local Type2 = type(Index2)
  97. if Type2 == "function" then
  98. return function (self,...) return RealService[Index2](RealService,...)end
  99. else
  100. if Index2:lower() == "localplayer" then return Sandbox(owner) end
  101. return RealService[Index2]
  102. end
  103. end;
  104. __tostring = function(self) return RealGame:GetService(Service).Name end
  105. })
  106. end;
  107. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  108. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  109. ["runservice"] = function()
  110. return setmetatable({},{
  111. __index = function(self2,Index2)
  112. local RealService = RealGame:GetService(Service)
  113. local Type2 = type(Index2)
  114. if Type2 == "function" then
  115. return function (self,...) return RealService[Index2](RealService,...) end
  116. else
  117. local RunServices = {
  118. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  119. ["renderstepped"] = function() return RealService["Stepped"] end
  120. }
  121. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  122. return RealService[Index2]
  123. end
  124. end
  125. })
  126. end
  127. }
  128. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  129. return RealGame:GetService(Service)
  130. end
  131. end
  132. return function (self,...) return RealGame[Index](RealGame,...) end
  133. else
  134. if game:GetService(Index) then return game:GetService(Index) end
  135. return RealGame[Index]
  136. end
  137. end
  138. return nil
  139. end
  140. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
  141. -----------------------------------------------------
  142. --Sonic's Schoolhouse V1.4, by PRGSPY.
  143. --With Textures Ripped by ManuB05
  144. --and alot of free audio
  145. -----------------------------------------------------
  146. local playere = game:GetService("Players").LocalPlayer
  147. local character = playere.Character
  148. local human = character:WaitForChild("Humanoid")
  149. local slides = {"rbxassetid://1775750905", "rbxassetid://1775750765", "rbxassetid://1775750896", "rbxassetid://1775750765", "rbxassetid://1775750905"}
  150. local messages = {'"No Running in the Halls." - The Principle of the Thing', "Only Insta-kill moves can flatten Me!", "If you don't get what you're looking for when you ask for help, try again!", "[N - O = P]E", "[N * A = H]", "Don't touch my quills, because it will hurt.", "The Textures used for this script were ripped by ManuB05.", "This script was originally made by PRGSPY.", "Click on me for help!"}
  151. local itemids = {243788599, 122278276, 68603151, 128160832, 26013203, 236441643, 42845853, 503955938, 738925737}
  152. local Mouse = playere:GetMouse()
  153. local UserInputService = game:GetService("UserInputService")
  154. local mam = nil
  155. local debris=game:GetService("Debris")
  156. local iteminsertdisabled = false
  157. local debugman = false
  158. x = {5, 0}
  159. y = {6, 0}
  160. eggs = {1.25, 0}
  161. --Making the Player Invisible, and invinicible
  162. repeat wait() until character:FindFirstChild("roblox", true) ~= nil and character.Head:FindFirstChild("face") ~= nil
  163. for i,v in pairs(character:GetChildren()) do
  164. if v.ClassName == "Part" or v.ClassName == "MeshPart" then
  165. v.Transparency = 1
  166. if v.Name == "Head" then
  167. v.Transparency = 0.99
  168. end
  169. end
  170. end
  171. wait(0.01)
  172. for q,t in pairs(character:GetChildren()) do
  173. if t.ClassName == "Accessory" or t.ClassName == "Hat" then
  174. t.Handle.Transparency = 1
  175. end
  176. end
  177. character.Head.face.Transparency = 1
  178. human.MaxHealth = math.huge
  179. human.Health = human.MaxHealth
  180. human.JumpPower = 100
  181. human.WalkSpeed = 64
  182. local ff = Instance.new("ForceField")
  183. ff.Parent = character
  184. ff.Visible = false
  185. character.Head.Died.SoundId = "rbxassetid://571879674"
  186. character.Head.Jumping.SoundId = "rbxassetid://1206872046"
  187. character.Head.Jumping.Volume = 3
  188. --Setting up the BillboardGui
  189. local floatie = Instance.new("BillboardGui")
  190. floatie.Parent = character.Head
  191. floatie.Adornee = character.Head
  192. floatie.Size = UDim2.new(unpack(x), unpack(y, 0))
  193. print("Main container created")
  194. local imageman = Instance.new("ImageLabel")
  195. imageman.Parent = floatie
  196. imageman.Image = "rbxassetid://1775750905"
  197. imageman.BackgroundTransparency = 1
  198. imageman.BorderSizePixel = 0
  199. imageman.Size = UDim2.new(unpack(eggs), unpack(eggs, 0))
  200. local clickie = Instance.new("ClickDetector")
  201. clickie.Parent = character.Head
  202. clickie.MaxActivationDistance = math.huge
  203. print("image created")
  204. local song = Instance.new("Sound")
  205. song.SoundId = "rbxassetid://1791879624"
  206. song.Name = "Song"
  207. song.Looped = true
  208. song.Volume = 2
  209. song.Parent = floatie
  210. local death = Instance.new("Sound")
  211. death.SoundId = "rbxassetid://571879674"
  212. death.Name = "ded"
  213. death.Looped = false
  214. death.Volume = 1
  215. death.Parent = floatie
  216. local hits = Instance.new("Sound")
  217. hits.SoundId = "rbxassetid://131864673"
  218. hits.Name = "bang"
  219. hits.Looped = false
  220. hits.Volume = 1
  221. hits.Parent = floatie
  222. local choose = Instance.new("Sound")
  223. choose.SoundId = "rbxassetid://130792936"
  224. choose.Name = "ins"
  225. choose.Looped = false
  226. choose.Volume = 3
  227. choose.Parent = floatie
  228. local ring = Instance.new("Sound")
  229. ring.SoundId = "rbxassetid://181453194"
  230. ring.Name = "dins"
  231. ring.Looped = false
  232. ring.Volume = 5
  233. ring.Parent = floatie
  234. --The Good Stuff
  235. function onTouched(hit)
  236. if hit.Parent:findFirstChild("Humanoid") and hit.Parent.name ~= playere.Name then
  237. hit.Parent.Humanoid:TakeDamage(hit.Parent.Humanoid.MaxHealth / 10)
  238. hit.Parent.Humanoid.Sit = true
  239. hits:Play()
  240. if hit.Parent.Humanoid.MaxHealth == math.huge then
  241. hit.Parent.Humanoid.Health = 0
  242. end
  243. if hit.Parent.Humanoid.Health == 0 then
  244. death:Play()
  245. if mam == nil then
  246. mam = Instance.new("Message")
  247. mam.Parent = game.Workspace
  248. mam.Text = "A bit of advice for ".. hit.Parent.name ..": " .. messages[math.random(1,#messages)]
  249. wait(3)
  250. if mam ~= nil then
  251. mam:Destroy()
  252. mam = nil
  253. end
  254. end
  255. end
  256. end
  257. end
  258. function createbus()
  259. fricc = Instance.new("Part")
  260. fricc.CFrame = CFrame.new(Vector3.new(-28.6299992, 6.12698269, -13.46)) * CFrame.Angles(-0, 0, -0)
  261. fricc.Transparency = 1
  262. fricc.TopSurface = Enum.SurfaceType.Smooth
  263. fricc.BottomSurface = Enum.SurfaceType.Smooth
  264. fricc.Size = Vector3.new(6, 6, 6)
  265. fricc.Friction = 0.30000001192093
  266. fricc.Shape = Enum.PartType.Block
  267. fricc.Name = "sweep"
  268. fricc.Parent = game.Workspace
  269. local floatie2 = Instance.new("BillboardGui")
  270. floatie2.Parent = fricc
  271. floatie2.Adornee = fricc
  272. floatie2.Size = UDim2.new(unpack(x), unpack(y, 0))
  273. local imagemanu = Instance.new("ImageLabel")
  274. imagemanu.Parent = floatie2
  275. imagemanu.Image = "rbxassetid://954619044"
  276. imagemanu.BackgroundTransparency = 1
  277. imagemanu.BorderSizePixel = 0
  278. local ecc = {1, 0}
  279. imagemanu.Size = UDim2.new(unpack(eggs), unpack(ecc, 0))
  280. return fricc
  281. end
  282. function FireProj(part, speed, duration, gravMultiplier)
  283. local dur = duration or 5
  284. local mouse = game:GetService("Players").LocalPlayer:GetMouse()
  285.  
  286. local ShotCFrame = character.HumanoidRootPart.CFrame
  287.  
  288. local ShotClone = part:Clone()
  289. ShotClone.CFrame = CFrame.new(ShotCFrame.p, mouse.Hit.p) + (ShotCFrame.lookVector * 4)
  290. ShotClone.Velocity = ShotClone.CFrame.lookVector * speed
  291.  
  292. for _, child in ipairs(ShotClone:GetChildren()) do
  293. if child:IsA("BasePart") then
  294. local BodyVelocity = Instance.new("BodyForce")
  295. BodyVelocity.Force = Vector3.new(0, (workspace.Gravity * child:GetMass()) / gravMultiplier, 0)
  296. BodyVelocity.Parent = child
  297. end
  298. end
  299.  
  300. local BodyVelocity = Instance.new("BodyForce")
  301. BodyVelocity.Force = Vector3.new(0, (workspace.Gravity * ShotClone:GetMass()) / gravMultiplier, 0)
  302. BodyVelocity.Parent = ShotClone
  303.  
  304. game:GetService("Debris"):AddItem(ShotClone, dur)
  305. ShotClone.Parent = game:GetService("Workspace")
  306.  
  307. return ShotClone
  308. end
  309. clickie.MouseClick:connect(function(player)
  310. for u,j in pairs(game.Workspace:GetChildren()) do
  311. if j.ClassName == "Message" then
  312. j.Destroy()
  313. end
  314. end
  315. local mem = Instance.new("Message")
  316. mem.Parent = game.Workspace
  317. mem.Text = "Reply to request for help by ".. player.name ..": " .. messages[math.random(1,#messages)]
  318. wait(3)
  319. mem:Destroy()
  320. end)
  321.  
  322. Mouse.KeyDown:connect(function(key)
  323. if (key=="e") then
  324. song:Stop()
  325. end
  326. if (key=="q") then
  327. song:Play()
  328. end
  329. if (key=="t") then
  330. if imageman ~= nil then
  331. for i = 1,#slides do
  332. imageman.Image = slides[i]
  333. wait(0.1)
  334. end
  335. end
  336. end
  337. if (key=="y") then
  338. for u,j in pairs(game.Workspace:GetChildren()) do
  339. if j.ClassName == "Message" then
  340. j:Destroy()
  341. end
  342. end
  343. local mem = Instance.new("Message")
  344. mem.Parent = game.Workspace
  345. mem.Text = "A message from Sonic for those who need help: " .. messages[math.random(1,#messages)]
  346. wait(3)
  347. mem:Destroy()
  348. end
  349. if (key=="f") then
  350. for u,j in pairs(game.Workspace:GetChildren()) do
  351. if j.ClassName == "Message" then
  352. j:Destroy()
  353. end
  354. end
  355. end
  356. if (key=="r") and iteminsertdisabled == false then
  357. if script.ClassName == "LocalScript" then
  358. death:Play()
  359. local mrm = Instance.new("Message")
  360. mrm.Parent = playere.PlayerGui
  361. mrm.Text = "It would be nice if local scripts (like this script right now) could insert stuff, but they can't so this move is broken."
  362. wait(3)
  363. mrm:Destroy()
  364. else
  365. local itemid = itemids[math.random(1,#itemids)]
  366. iteminsertdisabled = true
  367. choose:Play()
  368. local gear = game:GetService("InsertService"):LoadAsset(itemid)
  369. local item = gear:FindFirstChildWhichIsA("Tool")
  370. item.Parent = playere.Backpack
  371. wait()
  372. gear:Destroy()
  373. print("Inserted Item")
  374. wait(15)
  375. iteminsertdisabled = false
  376. ring:Play()
  377. end
  378. end
  379. if (key=="f") then
  380. local e = createbus()
  381. local eh = FireProj(e, 150, 5, 2.125)
  382. eh.CFrame = eh.CFrame * CFrame.Angles(0, math.rad(90), 0)
  383. e:Destroy()
  384. local touched = nil
  385.  
  386. touched = eh.Touched:connect(function(hit)
  387. if hit.Parent:FindFirstChildWhichIsA("Humanoid") ~= nil and hit.Parent:FindFirstChildWhichIsA("Humanoid") ~= human then
  388. local sweep = Instance.new("Sound")
  389. sweep.Parent = eh
  390. sweep.SoundId = "rbxassetid://1781430032"
  391. sweep.Volume = 2
  392. sweep.Pitch = math.random(0.9, 1.3)
  393. sweep:Play()
  394. hit.Parent.Humanoid.Sit = true
  395. end
  396. end)
  397. end
  398. end)
  399. character.HumanoidRootPart.Touched:connect(onTouched)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement