Advertisement
Godofadmin1337

fe masturbate

Sep 8th, 2018
490
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(),Button2Up=fakeEvent(),Button2Down=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. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  51. return m:TrigEvent(b and "Button2Down" or "Button2Up")
  52. end
  53. for _,t in pairs(CAS.Actions) do
  54. for _,k in pairs(t.Keys) do
  55. if k==io.KeyCode then
  56. t.Function(t.Name,io.UserInputState,io)
  57. end
  58. end
  59. end
  60. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  61. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  62. end
  63. end)
  64. Event.Parent = NLS([==[
  65. local Player = game:GetService("Players").LocalPlayer
  66. local Event = script:WaitForChild("UserInput_Event")
  67. local Mouse = Player:GetMouse()
  68. local UIS = game:GetService("UserInputService")
  69. local input = function(io,a)
  70. if a then return end
  71. --Since InputObject is a client-side instance, we create and pass table instead
  72. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  73. end
  74. UIS.InputBegan:Connect(input)
  75. UIS.InputEnded:Connect(input)
  76. local h,t
  77. --Give the server mouse data 30 times every second, but only if the values changed
  78. --If player is not moving their mouse, client won't fire events
  79. while wait(1/30) do
  80. if h~=Mouse.Hit or t~=Mouse.Target then
  81. h,t=Mouse.Hit,Mouse.Target
  82. Event:FireServer({isMouse=true,Target=t,Hit=h})
  83. end
  84. end]==],Player.Character)
  85.  
  86. ----Sandboxed game object that allows the usage of client-side methods and services
  87. --Real game object
  88. local _rg = game
  89.  
  90. --Metatable for fake service
  91. local fsmt = {
  92. __index = function(self,k)
  93. local s = rawget(self,"_RealService")
  94. if s then
  95. return typeof(s[k])=="function"
  96. and function(_,...)return s[k](s,...)end or s[k]
  97. end
  98. end,
  99. __newindex = function(self,k,v)
  100. local s = rawget(self,"_RealService")
  101. if s then s[k]=v 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 rawget(self,s) or _rg:GetService(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. RunService = FakeService({
  120. _btrs = {},
  121. RenderStepped = _rg:GetService("RunService").Heartbeat,
  122. BindToRenderStep = function(self,name,_,fun)
  123. self._btrs[name] = self.Heartbeat:Connect(fun)
  124. end,
  125. UnbindFromRenderStep = function(self,name)
  126. self._btrs[name]:Disconnect()
  127. end,
  128. },"RunService")
  129. }
  130. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  131. g.service = g.GetService
  132. FakeService(g,game)
  133. --Changing owner to fake player object to support owner:GetMouse()
  134. game,owner = g,g.Players.LocalPlayer
  135. end
  136.  
  137. local Me = game.Players.LocalPlayer
  138. bin = Instance.new("HopperBin")
  139. bin.Name = "Fap (Q and E)"
  140. bin.Parent = Me.Backpack
  141.  
  142. local SIZE = 1
  143. local DISTANCE = 1
  144. local RAISE = 0.03
  145. local INCLINE = 0.001
  146. local ChaneOfEnjoyment = 10
  147. local Auto = false
  148. local AutoAmout = 1
  149.  
  150. local char = Me.Character
  151. local Torsoz = char:findFirstChild("Torso")
  152. local RA = char:findFirstChild("Right Arm")
  153. local LA = char:findFirstChild("Left Arm")
  154. local H = char:findFirstChild("Head")
  155. local RS = Torsoz:findFirstChild("Right Shoulder")
  156. local LS = Torsoz:findFirstChild("Left Shoulder")
  157. local N = Torsoz:findFirstChild("Neck")
  158. local Joint1
  159. local Joint2
  160. local Fap = 1
  161. local FapCount = Instance.new("Part")
  162. local FapCountM = Instance.new("Model")
  163. local Points = 0
  164. local Dks = {}
  165. local InTenPoints = 0
  166. local RaiseOrg = RAISE
  167. local Tickup = false
  168.  
  169. Me:ClearCharacterAppearance()
  170. wait(0.1)
  171. Me.Character.Head.BrickColor = BrickColor.new("Cool yellow")
  172. Me.Character.Torso.BrickColor = BrickColor.new("Cool yellow")
  173. Me.Character["Right Arm"].BrickColor = BrickColor.new("Cool yellow")
  174. Me.Character["Right Leg"].BrickColor = BrickColor.new("Cool yellow")
  175. Me.Character["Left Leg"].BrickColor = BrickColor.new("Cool yellow")
  176. Me.Character["Left Arm"].BrickColor = BrickColor.new("Cool yellow")
  177. pcall(function() Me.Character.Torso.roblox:Destroy() end)
  178.  
  179. local P = Instance.new("Part")
  180. P.Anchored = false
  181. P.CanCollide = false
  182. P.Name = "Part"
  183. P.formFactor = "Custom"
  184. P.Size = Vector3.new(0.5,0.5,0.5)
  185. P.Locked = true
  186. P.TopSurface = 0
  187. P.BottomSurface = 0
  188.  
  189. local Model = Instance.new("Model", char)
  190. Model.Name = "Troll"
  191.  
  192. local B1 = Instance.new("Part", Model)
  193. B1.Name = "Di-ck"
  194. B1.Size = Vector3.new(1,1,1)
  195. B1.TopSurface = "Smooth"
  196. B1.BottomSurface = "Smooth"
  197. B1.Position = Vector3.new(0,10,0)
  198. B1.BrickColor = BrickColor.new("Cool yellow")
  199. B1.CanCollide = true
  200. B1.Locked = true
  201. local Mesh1 = Instance.new("SpecialMesh", B1)
  202. Mesh1.MeshType = "Sphere"
  203. Mesh1.Scale = Vector3.new(SIZE+0.3,SIZE+0.3,SIZE+0.3)
  204. local Weld1 = Instance.new("Weld", B1)
  205. Weld1.Part0 = Torsoz
  206. Weld1.Part1 = B1
  207. Weld1.C0 = CFrame.new(-0.2,-1,-0.6)
  208.  
  209. local B2 = Instance.new("Part", Model)
  210. B2.Name = "Di-ck"
  211. B2.Size = Vector3.new(1,1,1)
  212. B2.TopSurface = "Smooth"
  213. B2.BottomSurface = "Smooth"
  214. B2.Position = Vector3.new(0,10,0)
  215. B2.BrickColor = BrickColor.new("Cool yellow")
  216. B2.CanCollide = true
  217. B2.Locked = true
  218. local Mesh2 = Instance.new("SpecialMesh", B2)
  219. Mesh2.MeshType = "Sphere"
  220. Mesh2.Scale = Vector3.new(SIZE+0.3,SIZE+0.3,SIZE+0.3)
  221. local Weld2 = Instance.new("Weld", B2)
  222. Weld2.Part0 = Torsoz
  223. Weld2.Part1 = B2
  224. Weld2.C0 = CFrame.new(0.2,-1,-0.6)
  225.  
  226. function FapPos()
  227. Joint1.C0 = CFrame.new(0.8,-0.1,-0.3) * CFrame.Angles(0.3,0,-math.pi/4.4)
  228. Joint2.C0 = CFrame.new(-0.8,-0.1,-0.3) * CFrame.Angles(0.3,0,math.pi/4.4)
  229. end
  230. function DoTheFap(Motherload)
  231. FapPos()
  232. Points = Points + 1
  233. local Dk = Instance.new("Part", Model)
  234. Dk.Name = "Di-ck"
  235. Dk.Size = Vector3.new(1,1,1)
  236. Dk.TopSurface = "Smooth"
  237. Dk.BottomSurface = "Smooth"
  238. Dk.Position = Vector3.new(0,10,0)
  239. Dk.BrickColor = BrickColor.new("Pink")
  240. Dk.CanCollide = true
  241. Dk.Locked = true
  242. local Mesh = Instance.new("SpecialMesh", Dk)
  243. Mesh.MeshType = "Sphere"
  244. Mesh.Scale = Vector3.new(SIZE,SIZE,SIZE)
  245. local Weld = Instance.new("Weld", Dk)
  246. Weld.Part0 = Torsoz
  247. Weld.Part1 = Dk
  248. Weld.C0 = CFrame.new(0,-0.9 * (((#Dks+1)*(RAISE * -1))+1),-0.7 * ((#Dks+1)*(DISTANCE)))
  249. if RAISE < 0.25 and TickUp == false then
  250. RAISE = RAISE + INCLINE
  251. else
  252. TickUp = true
  253. RAISE = (RAISE + INCLINE)-0.0005
  254. end
  255. table.insert(Dks, Dk)
  256. if math.random(1,ChaneOfEnjoyment) == 1 or Motherload == true then
  257. local Sound = Instance.new("Sound", H)
  258. Sound.Name = "Uhhhh yah"
  259. Sound.Volume = 5
  260. Sound.Pitch = math.random(85,105)/100
  261. Sound.SoundId = "rbxasset://sounds/uuhhh.wav"
  262. local Num = 1
  263. if Motherload == false then
  264. Num = math.random(3,15)
  265. else
  266. Num = math.random(15,70)
  267. end
  268. for i = 0,Num do
  269. coroutine.wrap(function()
  270. local Cm = Instance.new("Part", Model)
  271. Cm.Name = "Cu-m"
  272. Cm.Size = Vector3.new(1,1,1)
  273. Cm.TopSurface = "Smooth"
  274. Cm.BottomSurface = "Smooth"
  275. Cm.Position = Dks[#Dks].Position + Vector3.new(math.random(-1,1),math.random(-1,1),math.random(-1,1))
  276. Cm.BrickColor = BrickColor.new("White")
  277. Cm.Shape = "Ball"
  278. Cm.Locked = true
  279. local Mesh = Instance.new("SpecialMesh", Cm)
  280. Mesh.MeshType = "Sphere"
  281. Mesh.Scale = Vector3.new(0.45,0.45,0.45)
  282. wait(math.random(10,60))
  283. Cm:Destroy()
  284. end)()
  285. end
  286. wait()
  287. Sound:Play()
  288. wait()
  289. Sound:remove()
  290. wait()
  291. end
  292. end
  293.  
  294. function UnFap()
  295. Joint1.C0 = CFrame.new(0.8,-0.1,-0.5) * CFrame.Angles(0.7,0,-math.pi/4.4)
  296. Joint2.C0 = CFrame.new(-0.8,-0.1,-0.5) * CFrame.Angles(0.7,0,math.pi/4.4)
  297. end
  298.  
  299. function onKeyDown(key, mouse)
  300. if key ~= nil then
  301. key:lower()
  302. if Auto == false then
  303. if key == "e" then
  304. if Fap == 1 then
  305. UnFap()
  306. Fap = 0
  307. end
  308. elseif key == "q" then
  309. if Fap == 0 then
  310. Fap = 1
  311. if Points == 100 then
  312. DoTheFap(true)
  313. else
  314. DoTheFap(false)
  315. end
  316. end
  317. elseif key == "m" then
  318. if Fap == 1 then
  319. UnFap()
  320. Fap = 0
  321. end
  322. elseif key == "n" then
  323. if Fap == 0 then
  324. if #Dks > 1 then
  325. Fap = 1
  326. FapPos()
  327. Points = Points - 1
  328. for Num,Dk in pairs(Dks) do
  329. if Num == #Dks then
  330. table.remove(Dks, Num)
  331. Dk:Destroy()
  332. end
  333. end
  334. end
  335. end
  336. end
  337. end
  338. end
  339. end
  340.  
  341. function Equip()
  342. local joint = Instance.new("Motor", Torsoz)
  343. joint.Part0 = Torsoz
  344. joint.Part1 = RA
  345. joint.C0 = CFrame.new(0.8,-0.1,-0.3) * CFrame.Angles(0.3,0,-math.pi/4.4)
  346. Joint1 = joint
  347. local joint = Instance.new("Motor", Torsoz)
  348. joint.Part0 = Torsoz
  349. joint.Part1 = LA
  350. joint.C0 = CFrame.new(-0.8,-0.1,-0.3) * CFrame.Angles(0.3,0,math.pi/4.4)
  351. Joint2 = joint
  352.  
  353. local m = Instance.new("Model", char)
  354. m.Name = "Fap Points: "..Points
  355. FapCountM = m
  356. local p = P:Clone()
  357. p.Parent = m
  358. p.Name = "Head"
  359. p.Anchored = true
  360. p.CFrame = H.CFrame + Vector3.new(0,2,0)
  361. FapCount = p
  362. local h = Instance.new("Humanoid", m)
  363. h.MaxHealth = 0
  364. h.Name = "Durr"
  365. end
  366.  
  367. function Unequip()
  368. for i, v in pairs(Torsoz:children()) do
  369. if v.className == "Motor" then
  370. v:remove()
  371. end
  372. end
  373. RS.Parent = Torsoz
  374. RS.Part0 = Torsoz
  375. RS.Part1 = RA
  376. LS.Parent = Torsoz
  377. LS.Part0 = Torsoz
  378. LS.Part1 = LA
  379. for i, v in pairs(char:children()) do
  380. if v.className == "Model" and string.find(v.Name, "Fap") then
  381. v:remove()
  382. end
  383. end
  384. end
  385.  
  386. bin.Selected:connect(function(mouse)
  387. mouse.Icon = "rbxasset://textures\\GunCursor.png"
  388. mouse.Button1Down:connect(function() onButton1Down(mouse) end)
  389. mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end)
  390. Equip()
  391. end)
  392.  
  393. bin.Deselected:connect(function()
  394. Unequip()
  395. end)
  396.  
  397. if Auto == true then
  398. coroutine.wrap(function()
  399. Equip()
  400. wait(0.1)
  401. while true do
  402. if Points == 100 then
  403. DoTheFap(true)
  404. else
  405. DoTheFap(false)
  406. end
  407. wait()
  408. UnFap()
  409. wait()
  410. end
  411. end)()
  412. end
  413.  
  414. if AutoAmout ~= 0 then
  415. coroutine.wrap(function()
  416. Equip()
  417. wait(0.1)
  418. for i = 1,AutoAmout do
  419. if Points == 100 then
  420. DoTheFap(true)
  421. else
  422. DoTheFap(false)
  423. end
  424. wait()
  425. UnFap()
  426. wait()
  427. end
  428. end)()
  429. end
  430.  
  431.  
  432. coroutine.wrap(function()
  433. while true do
  434. FapCount.CFrame = H.CFrame + Vector3.new(0,2,0)
  435. FapCountM.Name = "Fap Points: "..Points
  436. if #Dks ~= 0 then
  437. for Num,Get in pairs(Dks) do
  438. pcall(function()
  439. if Num == #Dks then
  440. Get.BrickColor = BrickColor.new("Pink")
  441. else
  442. Get.BrickColor = BrickColor.new("Cool yellow")
  443. end
  444. end)
  445. end
  446. end
  447. wait(0.03)
  448. end
  449. end)()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement