Advertisement
sneakydodge123

thot

Oct 11th, 2018
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 by Mokiros")
  6.     local rp = RealPlayer
  7.     script.Parent = rp.Character
  8.    
  9.     --RemoteEvent for communicating
  10.     local Event = Instance.new("RemoteEvent")
  11.     Event.Name = "UserInput_Event"
  12.  
  13.     --Fake event to make stuff like Mouse.KeyDown work
  14.     local function fakeEvent()
  15.         local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16.         t.connect = t.Connect
  17.         return t
  18.     end
  19.  
  20.     --Creating fake input objects with fake variables
  21.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  22.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25.     end}
  26.     --Merged 2 functions into one by checking amount of arguments
  27.     CAS.UnbindAction = CAS.BindAction
  28.  
  29.     --This function will trigger the events that have been :Connect()'ed
  30.     local function te(self,ev,...)
  31.         local t = m[ev]
  32.         if t and t._fakeEvent then
  33.             for _,f in pairs(t.Functions) do
  34.                 f(...)
  35.             end
  36.         end
  37.     end
  38.     m.TrigEvent = te
  39.     UIS.TrigEvent = te
  40.  
  41.     Event.OnServerEvent:Connect(function(plr,io)
  42.         if plr~=rp then return end
  43.         m.Target = io.Target
  44.         m.Hit = io.Hit
  45.         if not io.isMouse then
  46.             local b = io.UserInputState == Enum.UserInputState.Begin
  47.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49.             end
  50.             for _,t in pairs(CAS.Actions) do
  51.                 for _,k in pairs(t.Keys) do
  52.                     if k==io.KeyCode then
  53.                         t.Function(t.Name,io.UserInputState,io)
  54.                     end
  55.                 end
  56.             end
  57.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59.         end
  60.     end)
  61.     Event.Parent = NLS([==[
  62.     local Player = game:GetService("Players").LocalPlayer
  63.     local Event = script:WaitForChild("UserInput_Event")
  64.  
  65.     local Mouse = Player:GetMouse()
  66.     local UIS = game:GetService("UserInputService")
  67.     local input = function(io,a)
  68.         if a then return end
  69.         --Since InputObject is a client-side instance, we create and pass table instead
  70.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  71.     end
  72.     UIS.InputBegan:Connect(input)
  73.     UIS.InputEnded:Connect(input)
  74.  
  75.     local h,t
  76.     --Give the server mouse data 30 times every second, but only if the values changed
  77.     --If player is not moving their mouse, client won't fire events
  78.     while wait(1/30) do
  79.         if h~=Mouse.Hit or t~=Mouse.Target then
  80.             h,t=Mouse.Hit,Mouse.Target
  81.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  82.         end
  83.     end]==],Player.Character)
  84.  
  85.     ----Sandboxed game object that allows the usage of client-side methods and services
  86.     --Real game object
  87.     local _rg = game
  88.  
  89.     --Metatable for fake service
  90.     local fsmt = {
  91.         __index = function(self,k)
  92.             local s = rawget(self,"_RealService")
  93.             if s then return s[k] end
  94.         end,
  95.         __newindex = function(self,k,v)
  96.             local s = rawget(self,"_RealService")
  97.             if s then s[k]=v end
  98.         end,
  99.         __call = function(self,...)
  100.             local s = rawget(self,"_RealService")
  101.             if s then return s(...) end
  102.         end
  103.     }
  104.     local function FakeService(t,RealService)
  105.         t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106.         return setmetatable(t,fsmt)
  107.     end
  108.  
  109.     --Fake game object
  110.     local g = {
  111.         GetService = function(self,s)
  112.             return self[s]
  113.         end,
  114.         Players = FakeService({
  115.             LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116.         },"Players"),
  117.         UserInputService = FakeService(UIS,"UserInputService"),
  118.         ContextActionService = FakeService(CAS,"ContextActionService"),
  119.     }
  120.     rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  121.     g.service = g.GetService
  122.    
  123.     g.RunService = FakeService({
  124.         RenderStepped = _rg:GetService("RunService").Heartbeat,
  125.         BindToRenderStep = function(self,name,_,fun)
  126.             self._btrs[name] = self.Heartbeat:Connect(fun)
  127.         end,
  128.         UnbindFromRenderStep = function(self,name)
  129.             self._btrs[name]:Disconnect()
  130.         end,
  131.     },"RunService")
  132.  
  133.     setmetatable(g,{
  134.         __index=function(self,s)
  135.             return _rg:GetService(s) or typeof(_rg[s])=="function"
  136.             and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  137.         end,
  138.         __newindex = fsmt.__newindex,
  139.         __call = fsmt.__call
  140.     })
  141.     --Changing owner to fake player object to support owner:GetMouse()
  142.     game,owner = g,g.Players.LocalPlayer
  143. end
  144.  
  145. --This script may not work because of 'Mouse is no longer active' as Studio tests have different results than InRealGame tests. Shame on you Roblox.
  146. --To fix that I will be remaking this script entirely as a require().
  147.  
  148. wait(2)
  149. explosiondebounce = false
  150. function explosion(pos,color,grow)
  151.     if explosiondebounce == false then
  152.         explosiondebounce = true
  153.         exp = Instance.new("Part")
  154.         exp.Shape = Enum.PartType.Ball
  155.         exp.Size = Vector3.new(1,1,1)
  156.         exp.Material = Enum.Material.Neon
  157.         exp.BrickColor = color
  158.         exp.Anchored = true
  159.         exp.CanCollide = false
  160.         exp.CFrame = CFrame.new(pos.X,pos.Y,pos.Z)
  161.         exp.Parent = workspace
  162.         for i=1, 10 do
  163.             wait(0.1)
  164.             exp.Size = exp.Size + Vector3.new(grow,grow,grow)
  165.             exp.Transparency = exp.Transparency + 0.1
  166.         end
  167.         exp:Destroy()
  168.         explosiondebounce = false
  169.     end
  170. end
  171. lp = owner
  172. char = lp.Character
  173. head = char.Head
  174. hum = char:FindFirstChildOfClass("Humanoid")
  175. hum.PlatformStand = true
  176. ra = char:FindFirstChild("Right Arm")
  177. wait(1)
  178. for i=1, 10 do
  179. wait(0.25)
  180. part = Instance.new("Part",workspace)
  181. part.Anchored = true
  182. part.Size = Vector3.new(2,2,2)
  183. part.CFrame = ra.CFrame + Vector3.new(math.random(-1,1),0,math.random(-1,1))
  184. part.BrickColor = BrickColor.new("Really red")
  185. part.Material = Enum.Material.Neon
  186. part.CanCollide = false
  187. part.CFrame = part.CFrame * CFrame.fromEulerAnglesXYZ(math.random(5,10),math.random(5,10),math.random(5,10))
  188. game.Debris:AddItem(part,1)
  189. end
  190. gun = Instance.new("Tool")
  191. gun.Name = "Anti Thot gun"
  192. gun.GripPos = Vector3.new(0,0,1)
  193. handle = Instance.new("Part",gun)
  194. handle.Size = Vector3.new(0.675, 1.213, 2.123)
  195. handle.Name = "Handle"
  196. handle.BrickColor = BrickColor.Black()
  197. handle.Material = Enum.Material.Neon
  198. mesh = Instance.new("FileMesh",handle)
  199. mesh.MeshId = "rbxassetid://435705367"
  200. mesh.Scale = Vector3.new(0.675/10, 1.213/10, 2.123/10)
  201. fire = Instance.new("Sound",handle)
  202. fire.Volume = 0.5
  203. fire.SoundId = "rbxassetid://1095911222"
  204. fire.TimePosition = 2.2
  205. begone = Instance.new("Sound",head)
  206. begone.Volume = 1
  207. begone.SoundId = "rbxassetid://1095911222"
  208. begone:Play()
  209. repeat
  210. wait(0.01)
  211. until begone.IsLoaded and begone.IsPlaying
  212. for i=1, 8 do
  213. wait(0.25)
  214. part = Instance.new("Part",workspace)
  215. part.Anchored = true
  216. part.Size = Vector3.new(2,2,2)
  217. part.CFrame = ra.CFrame + Vector3.new(math.random(-1,1),0,math.random(-1,1))
  218. part.BrickColor = BrickColor.new("Really red")
  219. part.Material = Enum.Material.Neon
  220. part.CanCollide = false
  221. part.CFrame = part.CFrame * CFrame.fromEulerAnglesXYZ(math.random(5,10),math.random(5,10),math.random(5,10))
  222. game.Debris:AddItem(part,1)
  223. end
  224. gun.Parent = char
  225. hum.PlatformStand = false
  226. explosion(ra.Position,BrickColor.new("Really red"),2.5)
  227. mouse = nil
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245. gun.Unequipped:connect(function()
  246. print("goodbye then")
  247. explosion(handle.Position,BrickColor.new("Really red"),1)
  248. end)
  249. gun.Equipped:connect(function(tmouse)
  250. mouse = tmouse
  251. print("time to banish some thots")
  252. explosion(handle.Position,BrickColor.new("Really red"),1)
  253. end)
  254. gun.Activated:connect(function()
  255. fire.TimePosition = 2.2
  256. fire:Play()
  257. local ray = Ray.new(handle.CFrame.p, (mouse.Hit.p - handle.CFrame.p).unit * 300)
  258.         local part, position = workspace:FindPartOnRay(ray, lp.Character, false, true)
  259.  
  260.         local beam = Instance.new("Part", workspace)
  261.         beam.BrickColor = handle.BrickColor
  262.         beam.FormFactor = "Custom"
  263.         beam.Material = "Neon"
  264.         beam.Transparency = 0
  265.         beam.Anchored = true
  266.         beam.Locked = true
  267.         beam.CanCollide = false
  268.  
  269.         local distance = (handle.CFrame.p - position).magnitude
  270.         beam.Size = Vector3.new(0.3, 0.3, distance)
  271.         beam.CFrame = CFrame.new(handle.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
  272.  
  273.         game:GetService("Debris"):AddItem(beam, 0.1)
  274.  
  275.         if part then
  276.             local humanoid = part.Parent:FindFirstChild("Humanoid")
  277.  
  278.             if not humanoid then
  279.                 humanoid = part.Parent.Parent:FindFirstChild("Humanoid")
  280.             end
  281.  
  282.             if humanoid then
  283.                 victimchar = humanoid.Parent
  284.                 gc = victimchar:GetChildren()
  285.                 for a=1, 10 do
  286.                     wait(0.1)
  287.                     for i=1, #gc do
  288.                         if gc[i].ClassName == "Part" or gc[i].ClassName == "Union" or gc[i].ClassName == "MeshPart" then
  289.                             gc[i].Anchored = true
  290.                             gc[i].Transparency = gc[i].Transparency + 0.1
  291.                             if gc[i]:FindFirstChildOfClass("Decal") then
  292.                                 gc[i]:FindFirstChildOfClass("Decal").Transparency = gc[i]:FindFirstChildOfClass("Decal").Transparency + 0.1
  293.                             end
  294.                         end
  295.                         if gc[i].ClassName == "Hat" or gc[i].ClassName == "Accessory" then
  296.                             gc[i]:FindFirstChildOfClass("Part").Transparency = gc[i]:FindFirstChildOfClass("Part").Transparency + 0.1
  297.                         end
  298.                     end
  299.                 end
  300.                 for i=1, #gc do
  301.                     if gc[i].ClassName == "Part" or gc[i].ClassName == "Union" or gc[i].ClassName == "MeshPart" then
  302.                         gc[i]:BreakJoints()
  303.                     end
  304.                 end
  305.             end
  306.         end
  307. end)
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333. wait(0.1)
  334. gun.Parent = nil
  335. wait(0.1)
  336. gun.Parent = char
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376. hum.Died:connect(function()
  377. de = Instance.new("Explosion")
  378. de.BlastPressure = 9999999
  379. de.BlastRadius = 9999999
  380. de.Position = head.Position
  381. de.Parent = workspace
  382. m = Instance.new("Message",workspace)
  383. m.Text = "PRAISE "..string.upper(char.Name).." "..tostring(math.random(1,100000)).." TIMES A DAY!\nBEGONE, THOT!"
  384. game.Debris:AddItem(m,5)
  385. end)
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403. while true do
  404. wait(0.01)
  405. handle.BrickColor = BrickColor.Random()
  406. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement