SHOW:
|
|
- or go back to the newest paste.
1 | local Me = game.Players.LocalPlayer | |
2 | bin = Instance.new("HopperBin") | |
3 | bin.Name = "Fap (Q and E)" | |
4 | bin.Parent = Me.Backpack | |
5 | ||
6 | - | local SIZE = 1 |
6 | + | local SIZE = 999 |
7 | local DISTANCE = 1 | |
8 | local RAISE = 0.03 | |
9 | local INCLINE = 0.001 | |
10 | local ChaneOfEnjoyment = 10 | |
11 | local Auto = false | |
12 | local AutoAmout = 200 | |
13 | ||
14 | local char = Me.Character | |
15 | local Torsoz = char:findFirstChild("Torso") | |
16 | local RA = char:findFirstChild("Right Arm") | |
17 | local LA = char:findFirstChild("Left Arm") | |
18 | local H = char:findFirstChild("Head") | |
19 | local RS = Torsoz:findFirstChild("Right Shoulder") | |
20 | local LS = Torsoz:findFirstChild("Left Shoulder") | |
21 | local N = Torsoz:findFirstChild("Neck") | |
22 | local Joint1 | |
23 | local Joint2 | |
24 | local Fap = 1 | |
25 | local FapCount = Instance.new("Part") | |
26 | local FapCountM = Instance.new("Model") | |
27 | local Points = 0 | |
28 | local Dks = {} | |
29 | local InTenPoints = 0 | |
30 | local RaiseOrg = RAISE | |
31 | local Tickup = false | |
32 | ||
33 | Me:ClearCharacterAppearance() | |
34 | wait(0.1) | |
35 | Me.Character.Head.BrickColor = BrickColor.new("Cool yellow") | |
36 | Me.Character.Torso.BrickColor = BrickColor.new("Cool yellow") | |
37 | Me.Character["Right Arm"].BrickColor = BrickColor.new("Cool yellow") | |
38 | Me.Character["Right Leg"].BrickColor = BrickColor.new("Cool yellow") | |
39 | Me.Character["Left Leg"].BrickColor = BrickColor.new("Cool yellow") | |
40 | Me.Character["Left Arm"].BrickColor = BrickColor.new("Cool yellow") | |
41 | pcall(function() Me.Character.Torso.roblox:Destroy() end) | |
42 | ||
43 | local P = Instance.new("Part") | |
44 | P.Anchored = false | |
45 | P.CanCollide = false | |
46 | P.Name = "Part" | |
47 | P.formFactor = "Custom" | |
48 | P.Size = Vector3.new(0.5,0.5,0.5) | |
49 | P.Locked = true | |
50 | P.TopSurface = 0 | |
51 | P.BottomSurface = 0 | |
52 | ||
53 | local Model = Instance.new("Model", char) | |
54 | Model.Name = "Troll" | |
55 | ||
56 | local B1 = Instance.new("Part", Model) | |
57 | B1.Name = "Di-ck" | |
58 | B1.Size = Vector3.new(1,1,1) | |
59 | B1.TopSurface = "Smooth" | |
60 | B1.BottomSurface = "Smooth" | |
61 | B1.Position = Vector3.new(0,10,0) | |
62 | B1.BrickColor = BrickColor.new("Cool yellow") | |
63 | B1.CanCollide = true | |
64 | B1.Locked = true | |
65 | local Mesh1 = Instance.new("SpecialMesh", B1) | |
66 | Mesh1.MeshType = "Sphere" | |
67 | Mesh1.Scale = Vector3.new(SIZE+0.3,SIZE+0.3,SIZE+0.3) | |
68 | local Weld1 = Instance.new("Weld", B1) | |
69 | Weld1.Part0 = Torsoz | |
70 | Weld1.Part1 = B1 | |
71 | Weld1.C0 = CFrame.new(-0.2,-1,-0.6) | |
72 | ||
73 | local B2 = Instance.new("Part", Model) | |
74 | B2.Name = "Di-ck" | |
75 | B2.Size = Vector3.new(1,1,1) | |
76 | B2.TopSurface = "Smooth" | |
77 | B2.BottomSurface = "Smooth" | |
78 | B2.Position = Vector3.new(0,10,0) | |
79 | B2.BrickColor = BrickColor.new("Cool yellow") | |
80 | B2.CanCollide = true | |
81 | B2.Locked = true | |
82 | local Mesh2 = Instance.new("SpecialMesh", B2) | |
83 | Mesh2.MeshType = "Sphere" | |
84 | Mesh2.Scale = Vector3.new(SIZE+0.3,SIZE+0.3,SIZE+0.3) | |
85 | local Weld2 = Instance.new("Weld", B2) | |
86 | Weld2.Part0 = Torsoz | |
87 | Weld2.Part1 = B2 | |
88 | Weld2.C0 = CFrame.new(0.2,-1,-0.6) | |
89 | ||
90 | function FapPos() | |
91 | Joint1.C0 = CFrame.new(0.8,-0.1,-0.3) * CFrame.Angles(0.3,0,-math.pi/4.4) | |
92 | Joint2.C0 = CFrame.new(-0.8,-0.1,-0.3) * CFrame.Angles(0.3,0,math.pi/4.4) | |
93 | end | |
94 | function DoTheFap(Motherload) | |
95 | FapPos() | |
96 | Points = Points + 1 | |
97 | local Dk = Instance.new("Part", Model) | |
98 | Dk.Name = "Di-ck" | |
99 | Dk.Size = Vector3.new(1,1,1) | |
100 | Dk.TopSurface = "Smooth" | |
101 | Dk.BottomSurface = "Smooth" | |
102 | Dk.Position = Vector3.new(0,10,0) | |
103 | Dk.BrickColor = BrickColor.new("Pink") | |
104 | Dk.CanCollide = true | |
105 | Dk.Locked = true | |
106 | local Mesh = Instance.new("SpecialMesh", Dk) | |
107 | Mesh.MeshType = "Sphere" | |
108 | Mesh.Scale = Vector3.new(SIZE,SIZE,SIZE) | |
109 | local Weld = Instance.new("Weld", Dk) | |
110 | Weld.Part0 = Torsoz | |
111 | Weld.Part1 = Dk | |
112 | Weld.C0 = CFrame.new(0,-0.9 * (((#Dks+1)*(RAISE * -1))+1),-0.7 * ((#Dks+1)*(DISTANCE))) | |
113 | if RAISE < 0.25 and TickUp == false then | |
114 | RAISE = RAISE + INCLINE | |
115 | else | |
116 | TickUp = true | |
117 | RAISE = (RAISE + INCLINE)-0.0005 | |
118 | end | |
119 | table.insert(Dks, Dk) | |
120 | if math.random(1,ChaneOfEnjoyment) == 1 or Motherload == true then | |
121 | local Sound = Instance.new("Sound", H) | |
122 | Sound.Name = "Uhhhh yah" | |
123 | Sound.Volume = 5 | |
124 | Sound.Pitch = math.random(85,105)/100 | |
125 | Sound.SoundId = "rbxasset://sounds/uuhhh.wav" | |
126 | local Num = 1 | |
127 | if Motherload == false then | |
128 | Num = math.random(3,15) | |
129 | else | |
130 | Num = math.random(15,70) | |
131 | end | |
132 | for i = 0,Num do | |
133 | coroutine.wrap(function() | |
134 | local Cm = Instance.new("Part", Model) | |
135 | Cm.Name = "Cu-m" | |
136 | Cm.Size = Vector3.new(1,1,1) | |
137 | Cm.TopSurface = "Smooth" | |
138 | Cm.BottomSurface = "Smooth" | |
139 | Cm.Position = Dks[#Dks].Position + Vector3.new(math.random(-1,1),math.random(-1,1),math.random(-1,1)) | |
140 | Cm.BrickColor = BrickColor.new("White") | |
141 | Cm.Shape = "Ball" | |
142 | Cm.Locked = true | |
143 | local Mesh = Instance.new("SpecialMesh", Cm) | |
144 | Mesh.MeshType = "Sphere" | |
145 | Mesh.Scale = Vector3.new(0.45,0.45,0.45) | |
146 | wait(math.random(10,60)) | |
147 | Cm:Destroy() | |
148 | end)() | |
149 | end | |
150 | wait() | |
151 | Sound:Play() | |
152 | wait() | |
153 | Sound:remove() | |
154 | wait() | |
155 | end | |
156 | end | |
157 | ||
158 | function UnFap() | |
159 | Joint1.C0 = CFrame.new(0.8,-0.1,-0.5) * CFrame.Angles(0.7,0,-math.pi/4.4) | |
160 | Joint2.C0 = CFrame.new(-0.8,-0.1,-0.5) * CFrame.Angles(0.7,0,math.pi/4.4) | |
161 | end | |
162 | ||
163 | function onKeyDown(key, mouse) | |
164 | if key ~= nil then | |
165 | key:lower() | |
166 | if Auto == false then | |
167 | if key == "e" then | |
168 | if Fap == 1 then | |
169 | UnFap() | |
170 | Fap = 0 | |
171 | end | |
172 | elseif key == "q" then | |
173 | if Fap == 0 then | |
174 | Fap = 1 | |
175 | if Points == 100 then | |
176 | DoTheFap(true) | |
177 | else | |
178 | DoTheFap(false) | |
179 | end | |
180 | end | |
181 | elseif key == "m" then | |
182 | if Fap == 1 then | |
183 | UnFap() | |
184 | Fap = 0 | |
185 | end | |
186 | elseif key == "n" then | |
187 | if Fap == 0 then | |
188 | if #Dks > 1 then | |
189 | Fap = 1 | |
190 | FapPos() | |
191 | Points = Points - 1 | |
192 | for Num,Dk in pairs(Dks) do | |
193 | if Num == #Dks then | |
194 | table.remove(Dks, Num) | |
195 | Dk:Destroy() | |
196 | end | |
197 | end | |
198 | end | |
199 | end | |
200 | end | |
201 | end | |
202 | end | |
203 | end | |
204 | ||
205 | function Equip() | |
206 | local joint = Instance.new("Motor", Torsoz) | |
207 | joint.Part0 = Torsoz | |
208 | joint.Part1 = RA | |
209 | joint.C0 = CFrame.new(0.8,-0.1,-0.3) * CFrame.Angles(0.3,0,-math.pi/4.4) | |
210 | Joint1 = joint | |
211 | local joint = Instance.new("Motor", Torsoz) | |
212 | joint.Part0 = Torsoz | |
213 | joint.Part1 = LA | |
214 | joint.C0 = CFrame.new(-0.8,-0.1,-0.3) * CFrame.Angles(0.3,0,math.pi/4.4) | |
215 | Joint2 = joint | |
216 | ||
217 | local m = Instance.new("Model", char) | |
218 | m.Name = "Fap Points: "..Points | |
219 | FapCountM = m | |
220 | local p = P:Clone() | |
221 | p.Parent = m | |
222 | p.Name = "Head" | |
223 | p.Anchored = true | |
224 | p.CFrame = H.CFrame + Vector3.new(0,2,0) | |
225 | FapCount = p | |
226 | local h = Instance.new("Humanoid", m) | |
227 | h.MaxHealth = 0 | |
228 | h.Name = "Durr" | |
229 | end | |
230 | ||
231 | function Unequip() | |
232 | for i, v in pairs(Torsoz:children()) do | |
233 | if v.className == "Motor" then | |
234 | v:remove() | |
235 | end | |
236 | end | |
237 | RS.Parent = Torsoz | |
238 | RS.Part0 = Torsoz | |
239 | RS.Part1 = RA | |
240 | LS.Parent = Torsoz | |
241 | LS.Part0 = Torsoz | |
242 | LS.Part1 = LA | |
243 | for i, v in pairs(char:children()) do | |
244 | if v.className == "Model" and string.find(v.Name, "Fap") then | |
245 | v:remove() | |
246 | end | |
247 | end | |
248 | end | |
249 | ||
250 | bin.Selected:connect(function(mouse) | |
251 | mouse.Icon = "rbxasset://textures\\GunCursor.png" | |
252 | mouse.Button1Down:connect(function() onButton1Down(mouse) end) | |
253 | mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end) | |
254 | Equip() | |
255 | end) | |
256 | ||
257 | bin.Deselected:connect(function() | |
258 | Unequip() | |
259 | end) | |
260 | ||
261 | if Auto == true then | |
262 | coroutine.wrap(function() | |
263 | Equip() | |
264 | wait(0.1) | |
265 | while true do | |
266 | if Points == 100 then | |
267 | DoTheFap(true) | |
268 | else | |
269 | DoTheFap(false) | |
270 | end | |
271 | wait() | |
272 | UnFap() | |
273 | wait() | |
274 | end | |
275 | end)() | |
276 | end | |
277 | ||
278 | if AutoAmout ~= 0 then | |
279 | coroutine.wrap(function() | |
280 | Equip() | |
281 | wait(0.1) | |
282 | for i = 1,AutoAmout do | |
283 | if Points == 100 then | |
284 | DoTheFap(true) | |
285 | else | |
286 | DoTheFap(false) | |
287 | end | |
288 | wait() | |
289 | UnFap() | |
290 | wait() | |
291 | end | |
292 | end)() | |
293 | end | |
294 | ||
295 | ||
296 | coroutine.wrap(function() | |
297 | while true do | |
298 | FapCount.CFrame = H.CFrame + Vector3.new(0,2,0) | |
299 | FapCountM.Name = "Fap Points: "..Points | |
300 | if #Dks ~= 0 then | |
301 | for Num,Get in pairs(Dks) do | |
302 | pcall(function() | |
303 | if Num == #Dks then | |
304 | Get.BrickColor = BrickColor.new("Pink") | |
305 | else | |
306 | Get.BrickColor = BrickColor.new("Cool yellow") | |
307 | end | |
308 | end) | |
309 | end | |
310 | end | |
311 | wait(0.03) | |
312 | end | |
313 | end)() |