SHOW:
|
|
- or go back to the newest paste.
1 | --[[ | |
2 | info script | |
3 | by MyWorld | |
4 | Showcased by X | |
5 | ||
6 | ]] | |
7 | ||
8 | local g = game | |
9 | if not g:IsLoaded() then | |
10 | g.Loaded:Wait() | |
11 | end | |
12 | ||
13 | local plrs = g:GetService("Players") | |
14 | local lp = plrs.LocalPlayer | |
15 | local mouse = lp:GetMouse() | |
16 | local ws = g:GetService("Workspace") | |
17 | local cg = g:GetService("CoreGui") | |
18 | local pg = lp:FindFirstChildOfClass("PlayerGui") | |
19 | local rs = g:GetService("RunService") | |
20 | local uis = g:GetService("UserInputService") | |
21 | local stepped = rs.Stepped | |
22 | local renderstepped = rs.RenderStepped | |
23 | local heartbeat = rs.Heartbeat | |
24 | local currentplayer = lp | |
25 | local fenv = getfenv() | |
26 | local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.sethiddenprop or fenv.set_hidden_prop | |
27 | local ssr = fenv.setsimulationradius or fenv.setsimradius or fenv.set_simulation_radius | |
28 | local v3 = Vector3.new | |
29 | local v3_0 = v3(0, 0, 0) | |
30 | local cf = CFrame.new | |
31 | local flycf = false | |
32 | local twait, tspawn, tdelay = task.wait, task.spawn, task.delay | |
33 | local schar, mrandom = string.char, math.random | |
34 | local tfind, tinsert, tremove = table.find, table.insert, table.remove | |
35 | local instancenew = Instance.new | |
36 | ||
37 | local function gp(parent, name, className) | |
38 | if typeof(parent) == "Instance" then | |
39 | for _, v in pairs(parent:GetChildren()) do | |
40 | if (v.Name == name) and v:IsA(className) then | |
41 | return v | |
42 | end | |
43 | end | |
44 | end | |
45 | return nil | |
46 | end | |
47 | ||
48 | local function randomstring(len) | |
49 | len = len or mrandom(8, 15) | |
50 | local ret = "" | |
51 | for i=1, len do | |
52 | if mrandom(1, 2) == 1 then | |
53 | ret = ret .. schar(mrandom(97, 122)):lower() | |
54 | else | |
55 | ret = ret .. schar(mrandom(97, 122)):upper() | |
56 | end | |
57 | end | |
58 | return ret | |
59 | end | |
60 | ||
61 | local guiname = g.PlaceId .. "_info" | |
62 | ||
63 | local gui = nil | |
64 | pcall(function() | |
65 | gui = gp(cg, guiname, "ScreenGui") | |
66 | end) | |
67 | gui = gui or gp(pg, guiname, "ScreenGui") | |
68 | if gui then | |
69 | gui:Destroy() | |
70 | end | |
71 | ||
72 | renderstepped:Wait() | |
73 | ||
74 | gui = instancenew("ScreenGui") | |
75 | gui.Name = guiname | |
76 | gui.ResetOnSpawn = false | |
77 | gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling | |
78 | gui.Enabled = false | |
79 | gui.IgnoreGuiInset = true | |
80 | pcall(function() | |
81 | gui.Parent = cg | |
82 | end) | |
83 | if gui.Parent ~= cg then | |
84 | gui.Parent = pg | |
85 | end | |
86 | gui:GetPropertyChangedSignal("Parent"):Connect(function() | |
87 | if not (gui and gui.Parent) then | |
88 | gui = false | |
89 | end | |
90 | end) | |
91 | local mainFrame = instancenew("Frame") | |
92 | mainFrame.Name = randomstring() | |
93 | mainFrame.Parent = gui | |
94 | mainFrame.BackgroundColor3 = Color3.fromRGB(21, 21, 21) | |
95 | mainFrame.BorderSizePixel = 0 | |
96 | mainFrame.Position = UDim2.new(0, 0, 1, -200) | |
97 | mainFrame.Size = UDim2.new(1, 0, 0, 200) | |
98 | local mf = instancenew("Frame") | |
99 | mf.Name = randomstring() | |
100 | mf.Parent = mainFrame | |
101 | mf.BackgroundColor3 = mainFrame.BackgroundColor3 | |
102 | mf.BorderSizePixel = 0 | |
103 | mf.Position = UDim2.new(0, 0, 1, 0) | |
104 | mf.Size = UDim2.new(1, 0, 1, 0) | |
105 | local scriptName = instancenew("TextLabel") | |
106 | scriptName.Name = randomstring() | |
107 | scriptName.Parent = mainFrame | |
108 | scriptName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) | |
109 | scriptName.BackgroundTransparency = 1.000 | |
110 | scriptName.BorderSizePixel = 0 | |
111 | scriptName.Size = UDim2.new(1, 0, 0, 20) | |
112 | scriptName.Font = Enum.Font.SourceSans | |
113 | - | scriptName.Text = "info script showcased By X" |
113 | + | scriptName.Text = "سكربت F5" |
114 | scriptName.TextColor3 = Color3.fromRGB(181, 181, 181) | |
115 | scriptName.TextSize = 20.000 | |
116 | scriptName.TextWrapped = true | |
117 | local line = instancenew("Frame") | |
118 | line.Name = randomstring() | |
119 | line.Parent = scriptName | |
120 | line.BackgroundColor3 = Color3.fromRGB(255, 255, 255) | |
121 | line.BackgroundTransparency = 0.700 | |
122 | line.BorderSizePixel = 0 | |
123 | line.Position = UDim2.new(0, 5, 1, 0) | |
124 | line.Size = UDim2.new(1, -10, 0, 1) | |
125 | local showhide = instancenew("TextButton") | |
126 | showhide.Name = randomstring() | |
127 | showhide.Parent = mainFrame | |
128 | showhide.BackgroundColor3 = Color3.fromRGB(21, 21, 21) | |
129 | showhide.BorderSizePixel = 0 | |
130 | showhide.Position = UDim2.new(0.5, -25, 0, -30) | |
131 | showhide.Size = UDim2.new(0, 50, 0, 30) | |
132 | showhide.Font = Enum.Font.SourceSans | |
133 | showhide.Text = "\\/" | |
134 | showhide.TextColor3 = Color3.fromRGB(235, 235, 235) | |
135 | showhide.TextSize = 20.000 | |
136 | local scrollingFrame = instancenew("ScrollingFrame") | |
137 | scrollingFrame.Name = randomstring() | |
138 | scrollingFrame.Parent = mainFrame | |
139 | scrollingFrame.Active = true | |
140 | scrollingFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) | |
141 | scrollingFrame.BackgroundTransparency = 1.000 | |
142 | scrollingFrame.BorderSizePixel = 0 | |
143 | scrollingFrame.ClipsDescendants = false | |
144 | scrollingFrame.Position = UDim2.new(0, 5, 0, 30) | |
145 | scrollingFrame.Size = UDim2.new(1, -10, 1, -35) | |
146 | scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) | |
147 | scrollingFrame.ScrollBarThickness = 10 | |
148 | scrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.X | |
149 | local UIListLayout = instancenew("UIListLayout") | |
150 | UIListLayout.Parent = scrollingFrame | |
151 | UIListLayout.FillDirection = Enum.FillDirection.Horizontal | |
152 | UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder | |
153 | UIListLayout.Padding = UDim.new(0, 10) | |
154 | ||
155 | local sn = scriptName.Text | |
156 | local function notify(msg) | |
157 | local msg1 = sn .. " - " .. msg | |
158 | scriptName.Text = msg1 | |
159 | tdelay(3, function() | |
160 | if scriptName.Text == msg1 then | |
161 | scriptName.Text = sn | |
162 | end | |
163 | end) | |
164 | end | |
165 | ||
166 | if gui.Parent == pg then | |
167 | notify("gui in playerGui") | |
168 | end | |
169 | ||
170 | local ancprt = nil | |
171 | local function weldtp(part, cfr) | |
172 | if not (part and part.Parent and part:IsA("BasePart") and (not part:IsGrounded())) then | |
173 | return nil | |
174 | end | |
175 | if not (ancprt and ancprt.Parent and ancprt:IsA("BasePart") and ancprt:IsGrounded() and ancprt:IsDescendantOf(ws)) then | |
176 | for i, v in pairs(ws:GetDescendants()) do | |
177 | if v and v.Parent and v:IsA("BasePart") and v:IsGrounded() then | |
178 | ancprt = v | |
179 | break | |
180 | end | |
181 | end | |
182 | end | |
183 | if not ancprt then | |
184 | ancprt = instancenew("Part", ws) | |
185 | ancprt.Anchored = true | |
186 | ancprt.Transparency = 1 | |
187 | ancprt.CanCollide = false | |
188 | ancprt.Name = "weldtp part" | |
189 | end | |
190 | local weld = instancenew("Weld") | |
191 | weld.Name = randomstring() | |
192 | weld.Part0 = part | |
193 | weld.C0 = cfr:Inverse() | |
194 | weld.Part1 = ancprt | |
195 | weld.C1 = ancprt.CFrame:Inverse() | |
196 | weld.Parent = ws | |
197 | stepped:Wait() | |
198 | pcall(function() | |
199 | weld:Destroy() | |
200 | end) | |
201 | end | |
202 | ||
203 | local function respawnRequest() | |
204 | local ccfr = ws.CurrentCamera.CFrame | |
205 | local c = lp.Character | |
206 | lp.Character = nil | |
207 | lp.Character = c | |
208 | ws.CurrentCamera:GetPropertyChangedSignal("CFrame"):Wait() | |
209 | ws.CurrentCamera.CFrame = ccfr | |
210 | end | |
211 | ||
212 | local function removehats(c) | |
213 | c = c or lp.Character | |
214 | if not c then return end | |
215 | for i, v in pairs(c:GetChildren()) do | |
216 | if v:IsA("Accessory") then | |
217 | local handle = gp(v, "Handle", "BasePart") | |
218 | if handle then | |
219 | handle:Destroy() | |
220 | v:Destroy() | |
221 | end | |
222 | end | |
223 | end | |
224 | end | |
225 | ||
226 | local function makeFrame(parent, text, color) | |
227 | local frame = instancenew("Frame") | |
228 | frame.Name = randomstring() | |
229 | frame.Parent = parent | |
230 | frame.BackgroundColor3 = color | |
231 | frame.Size = UDim2.new(0, 300, 0, 145) | |
232 | frame.BorderSizePixel = 0 | |
233 | local framelabel = instancenew("TextLabel") | |
234 | framelabel.Name = randomstring() | |
235 | framelabel.Parent = frame | |
236 | framelabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) | |
237 | framelabel.BackgroundTransparency = 1.000 | |
238 | framelabel.BorderSizePixel = 0 | |
239 | framelabel.Size = UDim2.new(1, 0, 0, 20) | |
240 | framelabel.Font = Enum.Font.SourceSans | |
241 | framelabel.Text = text | |
242 | framelabel.TextColor3 = Color3.fromRGB(197, 197, 197) | |
243 | framelabel.TextSize = 14.000 | |
244 | local line = instancenew("Frame") | |
245 | line.Name = randomstring() | |
246 | line.Parent = framelabel | |
247 | line.BackgroundColor3 = Color3.fromRGB(255, 255, 255) | |
248 | line.BackgroundTransparency = 0.700 | |
249 | line.BorderSizePixel = 0 | |
250 | line.Position = UDim2.new(0, 5, 1, 0) | |
251 | line.Size = UDim2.new(1, -10, 0, 1) | |
252 | local ScrollingFrame = instancenew("ScrollingFrame") | |
253 | ScrollingFrame.Parent = frame | |
254 | ScrollingFrame.Active = true | |
255 | ScrollingFrame.Name = randomstring() | |
256 | ScrollingFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255) | |
257 | ScrollingFrame.BackgroundTransparency = 1.000 | |
258 | ScrollingFrame.BorderSizePixel = 0 | |
259 | ScrollingFrame.Position = UDim2.new(0, 5, 0, 25) | |
260 | ScrollingFrame.Size = UDim2.new(1, -5, 1, -30) | |
261 | ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) | |
262 | ScrollingFrame.ScrollBarThickness = 7 | |
263 | ScrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y | |
264 | local UIListLayout = instancenew("UIListLayout") | |
265 | UIListLayout.Parent = ScrollingFrame | |
266 | UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder | |
267 | UIListLayout.Padding = UDim.new(0, 5) | |
268 | renderstepped:Wait() | |
269 | return frame | |
270 | end | |
271 | ||
272 | showhide.MouseButton1Click:Connect(function() | |
273 | if showhide.Text == "/\\" then | |
274 | showhide.Text = "\\/" | |
275 | mainFrame:TweenPosition(UDim2.new(0, 0, 1, -200), "Out", "Elastic", 1) | |
276 | else | |
277 | showhide.Text = "/\\" | |
278 | mainFrame:TweenPosition(UDim2.new(0, 0, 1, -5), "Out", "Elastic", 1) | |
279 | end | |
280 | end) | |
281 | ||
282 | local cbring = {} | |
283 | local controllable = {} | |
284 | local lastc = nil | |
285 | local con = nil | |
286 | con = lp.CharacterAdded:Connect(function(c) | |
287 | if not gui then | |
288 | con:Disconnect() | |
289 | return | |
290 | end | |
291 | if lastc == c then | |
292 | return | |
293 | end | |
294 | if c and c.Parent then | |
295 | lastc = c | |
296 | controllable = {} | |
297 | for i, v in pairs(plrs:GetPlayers()) do | |
298 | local c = v.Character | |
299 | if c and c.Parent then | |
300 | tinsert(controllable, c) | |
301 | end | |
302 | end | |
303 | end | |
304 | end) | |
305 | ||
306 | local viewedPlayer = nil | |
307 | local viewbutton = {Text = ""} | |
308 | ||
309 | local playersframe = makeFrame(scrollingFrame, "Players", Color3.fromRGB(12, 59, 100)) | |
310 | local playercframe = makeFrame(playersframe, "playerscontrol", Color3.fromRGB(12, 59, 100)) | |
311 | playercframe.BorderSizePixel = 1.000 | |
312 | playercframe.BorderColor3 = Color3.fromRGB(27, 42, 53) | |
313 | playercframe.Position = UDim2.new(0, 10, -1, -40) | |
314 | playercframe.BackgroundColor3 = Color3.fromRGB(100, 100, 100) | |
315 | playercframe.Visible = true | |
316 | local playerframef = makeFrame(playercframe, "friends", Color3.fromRGB(0, 150, 0)) | |
317 | playerframef.Position = UDim2.new(1, 10, 0, 5) | |
318 | ||
319 | local function addbtn(parent, plr) | |
320 | local playerbutton = instancenew("TextButton") | |
321 | playerbutton.Name = plr.Name | |
322 | playerbutton.Parent = parent | |
323 | if plr == lp then | |
324 | playerbutton.BackgroundColor3 = Color3.fromRGB(100, 200, 200) | |
325 | else | |
326 | playerbutton.BackgroundColor3 = Color3.fromRGB(136, 136, 136) | |
327 | end | |
328 | playerbutton.BorderSizePixel = 0 | |
329 | playerbutton.Size = UDim2.new(1, -10, 0, 20) | |
330 | playerbutton.Font = Enum.Font.SourceSans | |
331 | playerbutton.Text = plr.Name | |
332 | if plr.Name ~= plr.DisplayName then | |
333 | playerbutton.Text = playerbutton.Text .. " (" .. plr.DisplayName .. ")" | |
334 | end | |
335 | playerbutton.TextColor3 = Color3.fromRGB(0, 0, 0) | |
336 | playerbutton.TextSize = 15.000 | |
337 | playerbutton.MouseButton1Click:Connect(function() | |
338 | playercframe:FindFirstChildOfClass("TextLabel").Text = "player: " .. playerbutton.Text | |
339 | currentplayer = plr | |
340 | playercframe.Visible = true | |
341 | playerframef.Visible = false | |
342 | viewbutton.Text = ((viewedPlayer == plr) and "unview") or "view" | |
343 | end) | |
344 | end | |
345 | ||
346 | local function unview() | |
347 | viewedPlayer = nil | |
348 | viewbutton.Text = "view" | |
349 | local c = lp.Character | |
350 | if c and c.Parent then | |
351 | local subject = c:FindFirstChildOfClass("Humanoid") or c:FindFirstChildWhichIsA("BasePart") | |
352 | if subject then | |
353 | ws.CurrentCamera.CameraType = Enum.CameraType.Custom | |
354 | ws.CurrentCamera.CameraSubject = subject | |
355 | else | |
356 | notify("no part to view") | |
357 | end | |
358 | else | |
359 | notify("character not found") | |
360 | end | |
361 | end | |
362 | ||
363 | local playersScroll = playersframe:FindFirstChildOfClass("ScrollingFrame") | |
364 | ||
365 | for i, v in pairs(plrs:GetPlayers()) do | |
366 | addbtn(playersScroll, v) | |
367 | end | |
368 | local reset = function() end | |
369 | local con = nil | |
370 | con = plrs.PlayerAdded:Connect(function(plr) | |
371 | if gui then | |
372 | addbtn(playersScroll, plr) | |
373 | if playerframef.Visible then | |
374 | tspawn(function() | |
375 | if plr and plr.Parent and currentplayer:IsFriendsWith(plr.UserId) then | |
376 | addbtn(playerframef:FindFirstChildOfClass("ScrollingFrame"), plr) | |
377 | end | |
378 | end) | |
379 | end | |
380 | else | |
381 | con:Disconnect() | |
382 | end | |
383 | end) | |
384 | local con = nil | |
385 | con = plrs.PlayerRemoving:Connect(function(plr) | |
386 | if gui then | |
387 | local playerbutton = gp(playersScroll, plr.Name, "TextButton") | |
388 | if playerbutton then | |
389 | playerbutton:Destroy() | |
390 | end | |
391 | if plr == currentplayer then | |
392 | playercframe.Visible = false | |
393 | end | |
394 | if plr == viewedPlayer then | |
395 | unview() | |
396 | end | |
397 | else | |
398 | con:Disconnect() | |
399 | end | |
400 | end) | |
401 | local hideplayerc = instancenew("TextButton") | |
402 | hideplayerc.Name = randomstring() | |
403 | hideplayerc.Parent = playercframe:FindFirstChildOfClass("TextLabel") | |
404 | hideplayerc.BackgroundColor3 = Color3.fromRGB(59, 59, 59) | |
405 | hideplayerc.BorderSizePixel = 0 | |
406 | hideplayerc.Position = UDim2.new(1, -17, 0, 2) | |
407 | hideplayerc.Size = UDim2.new(0, 15, 0, 15) | |
408 | hideplayerc.Font = Enum.Font.SourceSans | |
409 | hideplayerc.Text = "X" | |
410 | hideplayerc.TextColor3 = Color3.fromRGB(206, 206, 206) | |
411 | hideplayerc.TextSize = 14.000 | |
412 | hideplayerc.MouseButton1Click:Connect(function() | |
413 | playercframe.Visible = false | |
414 | end) | |
415 | local function makeplrbutton(buttontext) | |
416 | local button = instancenew("TextButton") | |
417 | button.Name = randomstring() | |
418 | button.Parent = playercframe:FindFirstChildOfClass("ScrollingFrame") | |
419 | button.BackgroundColor3 = Color3.fromRGB(53, 53, 53) | |
420 | button.BorderSizePixel = 0 | |
421 | button.Size = UDim2.new(1, -10, 0, 20) | |
422 | button.Font = Enum.Font.SourceSans | |
423 | button.Text = buttontext | |
424 | button.TextColor3 = Color3.fromRGB(226, 226, 226) | |
425 | button.TextSize = 15.000 | |
426 | return button | |
427 | end | |
428 | makeplrbutton("goto").MouseButton1Click:Connect(function() | |
429 | local c = lp.Character | |
430 | if c and c.Parent then | |
431 | local tp = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
432 | if tp then | |
433 | local c1 = currentplayer.Character | |
434 | if c1 and c1.Parent then | |
435 | local to = gp(c1, "HumanoidRootPart", "BasePart") or gp(c1, "Head", "BasePart") or c1:FindFirstChildWhichIsA("BasePart") | |
436 | if to then | |
437 | if flycf then | |
438 | flycf = to.CFrame | |
439 | else | |
440 | weldtp(tp, to.CFrame) | |
441 | if viewedPlayer == currentplayer then | |
442 | unview() | |
443 | end | |
444 | end | |
445 | notify("goto: " .. currentplayer.Name) | |
446 | else | |
447 | notify("no target part found") | |
448 | end | |
449 | else | |
450 | notify("target character not found") | |
451 | end | |
452 | else | |
453 | notify("no part found") | |
454 | end | |
455 | else | |
456 | notify("character not found") | |
457 | end | |
458 | end) | |
459 | viewbutton = makeplrbutton("view") | |
460 | viewbutton.MouseButton1Click:Connect(function() | |
461 | if viewedPlayer == currentplayer then | |
462 | unview() | |
463 | else | |
464 | viewedPlayer = currentplayer | |
465 | viewbutton.Text = "unview" | |
466 | end | |
467 | end) | |
468 | ||
469 | local cbringb = makeplrbutton("cbring") | |
470 | ||
471 | local function noanimations() | |
472 | local c = lp.Character | |
473 | if c and c.Parent then | |
474 | local hum = c:FindFirstChildOfClass("Humanoid") | |
475 | if hum then | |
476 | local animate = gp(c, "Animate", "LocalScript") | |
477 | if animate then | |
478 | animate.Disabled = true | |
479 | end | |
480 | for i, v in pairs(hum:GetPlayingAnimationTracks()) do | |
481 | v:Stop() | |
482 | end | |
483 | else | |
484 | notify("humanoid not found") | |
485 | end | |
486 | else | |
487 | notify("character not found") | |
488 | end | |
489 | end | |
490 | ||
491 | local function isConnected(part0, part1, tested) | |
492 | if not ((typeof(part0) == "Instance") and part0:IsA("BasePart")) then | |
493 | return false | |
494 | end | |
495 | if not ((typeof(part1) == "Instance") and part1:IsA("BasePart")) then | |
496 | return false | |
497 | end | |
498 | if not tested then | |
499 | tested = {} | |
500 | end | |
501 | local ret = false | |
502 | tinsert(tested, part0) | |
503 | for i, v in pairs(part0:GetConnectedParts()) do | |
504 | if part1 == v then | |
505 | return true | |
506 | elseif not tfind(tested, v) then | |
507 | ret = ret or isConnected(v, part1, tested) | |
508 | end | |
509 | end | |
510 | return ret | |
511 | end | |
512 | ||
513 | local function attach(c1) | |
514 | local bck = lp:FindFirstChildOfClass("Backpack") | |
515 | local c = lp.Character | |
516 | --checks for: model, humanoid, arm, torso for main character: | |
517 | if not (c and c.Parent) then | |
518 | notify("character not found") | |
519 | return false | |
520 | end | |
521 | local hum = c:FindFirstChildOfClass("Humanoid") | |
522 | if not hum then | |
523 | notify("humanoid not found") | |
524 | return false | |
525 | end | |
526 | local arm = gp(c, "Right Arm", "BasePart") or gp(c, "RightHand", "BasePart") | |
527 | if not arm then | |
528 | notify("arm not found") | |
529 | return false | |
530 | end | |
531 | local torso = gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart") | |
532 | if not torso then | |
533 | notify("torso not found") | |
534 | return | |
535 | end | |
536 | if torso:IsGrounded() then | |
537 | notify("torso is grounded") | |
538 | return | |
539 | end | |
540 | if not isConnected(arm, torso) then | |
541 | notify("arm and toso not connected") | |
542 | return | |
543 | end | |
544 | --checks for: tool: | |
545 | local tool, handle = nil, nil | |
546 | for i, v in pairs(c:GetChildren()) do | |
547 | if v:IsA("Tool") then | |
548 | handle = gp(v, "Handle", "BasePart") | |
549 | if handle then | |
550 | tool = v | |
551 | break | |
552 | end | |
553 | end | |
554 | end | |
555 | if (not tool) and bck then | |
556 | for i, v in pairs(bck:GetChildren()) do | |
557 | if v:IsA("Tool") then | |
558 | handle = gp(v, "Handle", "BasePart") | |
559 | if handle then | |
560 | tool = v | |
561 | break | |
562 | end | |
563 | end | |
564 | end | |
565 | end | |
566 | if not tool then | |
567 | notify("no tools with handle found") | |
568 | return false | |
569 | end | |
570 | --checks for: model, humanoid, arm, torso for target character: | |
571 | if not (c1 and c1.Parent) then | |
572 | notify("target character not found") | |
573 | return false | |
574 | end | |
575 | local hum1 = c1:FindFirstChildOfClass("Humanoid") | |
576 | if not hum1 then | |
577 | notify("target humanoid not found") | |
578 | return false | |
579 | end | |
580 | local arm1 = gp(c1, "Right Arm", "BasePart") or gp(c1, "RightHand", "BasePart") | |
581 | if not arm1 then | |
582 | notify("target arm not found") | |
583 | return false | |
584 | end | |
585 | local torso1 = gp(c1, "Torso", "BasePart") or gp(c1, "UpperTorso", "BasePart") | |
586 | if not torso1 then | |
587 | notify("target torso not found") | |
588 | return | |
589 | end | |
590 | if torso1:IsGrounded() then | |
591 | notify("target torso is grounded") | |
592 | return | |
593 | end | |
594 | if not isConnected(arm1, torso1) then | |
595 | notify("target arm and toso not connected") | |
596 | return | |
597 | end | |
598 | --all checks good | |
599 | if bck then | |
600 | for i, v in pairs(c:GetChildren()) do | |
601 | if v:IsA("Tool") then | |
602 | v.Parent = bck | |
603 | end | |
604 | end | |
605 | end | |
606 | removehats(c) | |
607 | local nhum = hum:Clone() | |
608 | hum:Destroy() | |
609 | hum = nhum | |
610 | hum.Parent = c | |
611 | hum:EquipTool(tool) | |
612 | for i, v in pairs(c1:GetDescendants()) do | |
613 | if v and v.Parent and v:IsA("BasePart") then | |
614 | v.Massless = true | |
615 | end | |
616 | end | |
617 | local attaching = true | |
618 | tspawn(function() | |
619 | while renderstepped:Wait() and attaching do | |
620 | --checks for: model, humanoid, arm, torso for main character: | |
621 | if not (c and c.Parent) then | |
622 | handle = nil | |
623 | tool.Parent = bck | |
624 | return notify("character removed") | |
625 | end | |
626 | if (not hum and hum.Parent) then | |
627 | handle = nil | |
628 | tool.Parent = bck | |
629 | return notify("humanoid removed") | |
630 | end | |
631 | if not (arm and arm.Parent) then | |
632 | handle = nil | |
633 | tool.Parent = bck | |
634 | return notify("arm removed") | |
635 | end | |
636 | if not (torso and torso.Parent) then | |
637 | handle = nil | |
638 | tool.Parent = bck | |
639 | return notify("torso removed") | |
640 | end | |
641 | if torso:IsGrounded() then | |
642 | handle = nil | |
643 | tool.Parent = bck | |
644 | return notify("torso got grounded") | |
645 | end | |
646 | if not isConnected(arm, torso) then | |
647 | handle = nil | |
648 | tool.Parent = bck | |
649 | return notify("arm and toso connection removed") | |
650 | end | |
651 | --checks for: model, humanoid, arm, torso for target character: | |
652 | if not (c1 and c1.Parent) then | |
653 | handle = nil | |
654 | tool.Parent = bck | |
655 | return notify("target character removed") | |
656 | end | |
657 | if not (hum1 and hum1.Parent) then | |
658 | handle = nil | |
659 | tool.Parent = bck | |
660 | return notify("target humanoid removed") | |
661 | end | |
662 | if not (arm1 and arm1.Parent) then | |
663 | handle = nil | |
664 | tool.Parent = bck | |
665 | return notify("target arm removed") | |
666 | end | |
667 | if not (torso1 and torso1.Parent) then | |
668 | handle = nil | |
669 | tool.Parent = bck | |
670 | return notify("target torso removed") | |
671 | end | |
672 | if torso:IsGrounded() then | |
673 | handle = nil | |
674 | tool.Parent = bck | |
675 | return notify("target torso got grounded") | |
676 | end | |
677 | if not isConnected(arm1, torso1) then | |
678 | handle = nil | |
679 | tool.Parent = bck | |
680 | return notify("target arm and toso connection removed") | |
681 | end | |
682 | --checks for: tool | |
683 | if not (tool and tool.Parent) then | |
684 | handle = nil | |
685 | tool.Parent = bck | |
686 | return notify("tool removed") | |
687 | end | |
688 | if not (handle and handle.Parent) then | |
689 | handle = nil | |
690 | tool.Parent = bck | |
691 | return notify("tool handle removed") | |
692 | end | |
693 | if (tool.Parent ~= c) and (tool.Parent ~= c1) and (tool.Parent ~= bck) then | |
694 | handle = nil | |
695 | tool.Parent = bck | |
696 | return notify("unexpected tool parent") | |
697 | end | |
698 | weldtp(arm1, handle.CFrame) | |
699 | end | |
700 | end) | |
701 | while tool do | |
702 | tool.AncestryChanged:Wait() | |
703 | attaching = false | |
704 | break | |
705 | end | |
706 | return handle | |
707 | end | |
708 | ||
709 | makeplrbutton("bring").MouseButton1Click:Connect(function() | |
710 | local plr = currentplayer | |
711 | local c1 = plr.Character | |
712 | if not (c1 and c1.Parent) then | |
713 | notify("target character not found") | |
714 | return | |
715 | end | |
716 | if not tfind(controllable, c1) then | |
717 | reset(true) | |
718 | twait(0.1) | |
719 | end | |
720 | if not (plr and plr.Parent) then | |
721 | notify("target player left") | |
722 | return | |
723 | end | |
724 | if not (c1 and c1.Parent) then | |
725 | c1 = plr.Character | |
726 | end | |
727 | if not (c1 and c1.Parent) then | |
728 | notify("target character not found") | |
729 | return | |
730 | end | |
731 | local c = lp.Character | |
732 | if not (c and c.Parent) then | |
733 | notify("character not found") | |
734 | return | |
735 | end | |
736 | local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "Head", "BasePart") | |
737 | if not part then | |
738 | notify("part not found") | |
739 | return | |
740 | end | |
741 | local cfr = part.CFrame | |
742 | local joint = attach(plr.Character) | |
743 | if not joint then | |
744 | return | |
745 | end | |
746 | weldtp(part, cfr) | |
747 | twait(0.5) | |
748 | if c and c.Parent and part and part.Parent and joint and joint.Parent then | |
749 | weldtp(part, cfr) | |
750 | if not (joint and joint.Parent) then | |
751 | notify("joint removed") | |
752 | reset(false) | |
753 | return | |
754 | end | |
755 | joint:BreakJoints() | |
756 | reset(false) | |
757 | if viewedPlayer == plr then | |
758 | unview() | |
759 | end | |
760 | notify("brought " .. plr.Name) | |
761 | end | |
762 | end) | |
763 | ||
764 | local fekill = nil | |
765 | fekill = function(c1) | |
766 | if not (c1 and c1.Parent) then | |
767 | return notify("target character not found") | |
768 | end | |
769 | local torso = gp(c1, "Torso", "BasePart") or gp(c1, "UpperTorso", "BasePart") | |
770 | if not torso then | |
771 | return notify("target torso not found") | |
772 | end | |
773 | local head = gp(c1, "Head", "BasePart") | |
774 | if not head then | |
775 | return notify("target head not found") | |
776 | end | |
777 | if not isConnected(torso, head) then | |
778 | return notify("torso and head not connected") | |
779 | end | |
780 | if not tfind(controllable, c1) then | |
781 | reset(true) | |
782 | twait(0.1) | |
783 | end | |
784 | if (plrs.RespawnTime < 15) and (plrs.RespawnTime > 1) then | |
785 | notify("preparing fast respawn") | |
786 | respawnRequest() | |
787 | twait(plrs.RespawnTime - 1) | |
788 | end | |
789 | if not (c1 and c1.Parent) then | |
790 | return notify("target character removed") | |
791 | end | |
792 | local c = lp.Character | |
793 | if not (c and c.Parent) then | |
794 | return notify("character not found") | |
795 | end | |
796 | local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "Head", "BasePart") | |
797 | if not part then | |
798 | return notify("part not found") | |
799 | end | |
800 | local hum = c1:FindFirstChildOfClass("Humanoid") | |
801 | if not hum then | |
802 | return notify("humanoid not found") | |
803 | end | |
804 | if not isConnected(torso, head) then | |
805 | return notify("torso and head joint removed") | |
806 | end | |
807 | local cfr = part.CFrame | |
808 | local part1 = gp(c1, "HumanoidRootPart", "BasePart") or gp(c1, "Torso", "BasePart") or gp(c1, "UpperTorso", "BasePart") or gp(c1, "Head", "BasePart") | |
809 | if part1 then | |
810 | weldtp(part, part1.CFrame) | |
811 | end | |
812 | if hum.Health > 0 then | |
813 | hum.BreakJointsOnDeath = false | |
814 | end | |
815 | stepped:Wait() | |
816 | local joint = attach(c1) | |
817 | if not joint then | |
818 | return weldtp(part, cfr) | |
819 | end | |
820 | stepped:Wait() | |
821 | hum:ChangeState(Enum.HumanoidStateType.Dead) | |
822 | twait(0.3) | |
823 | if joint then | |
824 | joint:BreakJoints() | |
825 | end | |
826 | weldtp(part, cfr) | |
827 | reset(false) | |
828 | notify("kill attempt failed") | |
829 | local t = tick() + 1 | |
830 | local con = nil | |
831 | con = stepped:Connect(function() | |
832 | if tick() > t then | |
833 | return con:Disconnect() | |
834 | end | |
835 | if not isConnected(torso, head) then | |
836 | con:Disconnect() | |
837 | notify("killed succesfully") | |
838 | end | |
839 | end) | |
840 | end | |
841 | ||
842 | makeplrbutton("kill").MouseButton1Click:Connect(function() | |
843 | fekill(currentplayer.Character) | |
844 | end) | |
845 | ||
846 | makeplrbutton("attach").MouseButton1Click:Connect(function() | |
847 | return attach(currentplayer.Character) and notify("attached to " .. currentplayer.Name) | |
848 | end) | |
849 | ||
850 | makeplrbutton("view friends").MouseButton1Click:Connect(function() | |
851 | playerframef.Visible = not playerframef.Visible | |
852 | if not playerframef.Visible then | |
853 | return | |
854 | end | |
855 | playerframef:FindFirstChildOfClass("TextLabel").Text = "friends of: " .. currentplayer.Name | |
856 | local scroll = playerframef:FindFirstChildOfClass("ScrollingFrame") | |
857 | for i, v in pairs(scroll:GetChildren()) do | |
858 | if v and v.Parent and v:IsA("TextButton") then | |
859 | v:Destroy() | |
860 | end | |
861 | end | |
862 | for i, v in pairs(plrs:GetPlayers()) do | |
863 | tspawn(function() | |
864 | if v and v.Parent and currentplayer:IsFriendsWith(v.UserId) then | |
865 | addbtn(playerframef:FindFirstChildOfClass("ScrollingFrame"), v) | |
866 | end | |
867 | end) | |
868 | end | |
869 | end) | |
870 | ||
871 | local function makeflingbutton(partname) | |
872 | makeplrbutton("fling (" .. partname .. ")").MouseButton1Click:Connect(function() | |
873 | local c = lp.Character | |
874 | if c and c.Parent then | |
875 | local hrp = gp(c, partname, "BasePart") | |
876 | if hrp then | |
877 | local c1 = currentplayer.Character | |
878 | if c1 and c1.Parent then | |
879 | local hrp1 = gp(c1, partname, "BasePart") | |
880 | if hrp1 then | |
881 | c:BreakJoints() | |
882 | hrp.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0.01, 0.01, 0.01, 0.01) | |
883 | for i, v in pairs(c:GetChildren()) do | |
884 | if (v ~= hrp) and v and v.Parent and v:IsA("BasePart") then | |
885 | v:Destroy() | |
886 | end | |
887 | end | |
888 | hrp.Transparency = 0.5 | |
889 | while heartbeat:Wait() and c and c.Parent and hrp and hrp.Parent and c1 and c1.Parent and hrp1 and hrp1.Parent do | |
890 | local pos = {x=0, y=0, z=0} | |
891 | pos.x = hrp1.Position.X | |
892 | pos.y = hrp1.Position.Y | |
893 | pos.z = hrp1.Position.Z | |
894 | pos.x += hrp1.Velocity.X / 2 | |
895 | pos.y += hrp1.Velocity.Y / 2 | |
896 | pos.z += hrp1.Velocity.Z / 2 | |
897 | local heightlock = ws.FallenPartsDestroyHeight + 5 | |
898 | if pos.y < heightlock then | |
899 | pos.y = heightlock | |
900 | end | |
901 | hrp.CanCollide = false | |
902 | hrp.Position = v3(pos.x, pos.y, pos.z) | |
903 | hrp.Velocity = v3(0, 1000, 0) | |
904 | hrp.RotVelocity = v3(10000, 10000, 10000) | |
905 | ws.CurrentCamera.CameraSubject = hrp1 | |
906 | end | |
907 | twait(0.1) | |
908 | local c = lp.Character | |
909 | if (c and c.Parent) then | |
910 | ws.CurrentCamera.CameraSubject = c:FindFirstChildOfClass("Humanoid") or c:FindFirstChildWhichIsA("BasePart") or c | |
911 | end | |
912 | else | |
913 | notify("target part not found") | |
914 | end | |
915 | else | |
916 | notify("target character not found") | |
917 | end | |
918 | else | |
919 | notify("part not found") | |
920 | end | |
921 | else | |
922 | notify("character not found") | |
923 | end | |
924 | end) | |
925 | end | |
926 | makeflingbutton("Head") | |
927 | makeflingbutton("HumanoidRootPart") | |
928 | makeflingbutton("Torso") | |
929 | ||
930 | local graphicsframe = makeFrame(scrollingFrame, "Graphics", Color3.fromRGB(84, 45, 162)) | |
931 | local function makegraphicsbutton(buttontext) | |
932 | local button = instancenew("TextButton") | |
933 | button.Name = randomstring() | |
934 | button.Parent = graphicsframe:FindFirstChildOfClass("ScrollingFrame") | |
935 | button.BackgroundColor3 = Color3.fromRGB(53, 53, 53) | |
936 | button.BorderSizePixel = 0 | |
937 | button.Size = UDim2.new(1, -10, 0, 20) | |
938 | button.Font = Enum.Font.SourceSans | |
939 | button.Text = buttontext | |
940 | button.TextColor3 = Color3.fromRGB(226, 226, 226) | |
941 | button.TextSize = 15.000 | |
942 | return button | |
943 | end | |
944 | local lig = g:GetService("Lighting") | |
945 | makegraphicsbutton("remove fog").MouseButton1Click:Connect(function() | |
946 | lig.FogStart = 9e9 | |
947 | lig.FogEnd = 9e9 | |
948 | end) | |
949 | local function setupremove(button, classname) | |
950 | button.MouseButton1Click:Connect(function() | |
951 | for i, v in pairs(g:GetDescendants()) do | |
952 | if v:IsA(classname) then | |
953 | v:Destroy() | |
954 | end | |
955 | end | |
956 | end) | |
957 | end | |
958 | setupremove(makegraphicsbutton("remove atmosphere effects"), "Atmosphere") | |
959 | setupremove(makegraphicsbutton("remove blur"), "BlurEffect") | |
960 | setupremove(makegraphicsbutton("remove decals"), "Decal") | |
961 | setupremove(makegraphicsbutton("default sky"), "Sky") | |
962 | setupremove(makegraphicsbutton("remove sun rays"), "SunRaysEffect") | |
963 | setupremove(makegraphicsbutton("remove particles"), "ParticleEmitter") | |
964 | setupremove(makegraphicsbutton("remove color correction effects"), "ColorCorrectionEffect") | |
965 | ||
966 | local cfly = nil | |
967 | local fhrp = nil | |
968 | local flyspeed = 60 | |
969 | ||
970 | local positionsframe = makeFrame(scrollingFrame, "Positions", Color3.fromRGB(162, 108, 42)) | |
971 | local addpositionbutton = instancenew("TextButton") | |
972 | addpositionbutton.Name = randomstring() | |
973 | addpositionbutton.Parent = positionsframe:FindFirstChildOfClass("TextLabel") | |
974 | addpositionbutton.BackgroundColor3 = Color3.fromRGB(59, 59, 59) | |
975 | addpositionbutton.BorderSizePixel = 0 | |
976 | addpositionbutton.Position = UDim2.new(1, -77, 0, 2) | |
977 | addpositionbutton.Size = UDim2.new(0, 75, 1, -4) | |
978 | addpositionbutton.Font = Enum.Font.SourceSans | |
979 | addpositionbutton.Text = "+ add current" | |
980 | addpositionbutton.TextColor3 = Color3.fromRGB(206, 206, 206) | |
981 | addpositionbutton.TextSize = 14.000 | |
982 | addpositionbutton.MouseButton1Click:Connect(function() | |
983 | local c = lp.Character | |
984 | if c and c.Parent then | |
985 | local hrp = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
986 | if hrp then | |
987 | local cfr = hrp.CFrame | |
988 | local positionframe = instancenew("Frame") | |
989 | local loadposbutton = instancenew("TextButton") | |
990 | local removeposbutton = instancenew("TextButton") | |
991 | local positionName = instancenew("TextBox") | |
992 | positionframe.Name = randomstring() | |
993 | positionframe.Parent = positionsframe:FindFirstChildOfClass("ScrollingFrame") | |
994 | positionframe.BackgroundColor3 = Color3.fromRGB(106, 106, 106) | |
995 | positionframe.BorderSizePixel = 0 | |
996 | positionframe.Size = UDim2.new(1, -10, 0, 30) | |
997 | loadposbutton.Name = randomstring() | |
998 | loadposbutton.Parent = positionframe | |
999 | loadposbutton.BackgroundColor3 = Color3.fromRGB(47, 47, 47) | |
1000 | loadposbutton.BorderSizePixel = 0 | |
1001 | loadposbutton.Position = UDim2.new(1, -70, 0, 5) | |
1002 | loadposbutton.Size = UDim2.new(0, 40, 1, -10) | |
1003 | loadposbutton.Font = Enum.Font.SourceSans | |
1004 | loadposbutton.Text = "load" | |
1005 | loadposbutton.TextColor3 = Color3.fromRGB(223, 223, 223) | |
1006 | loadposbutton.TextSize = 16.000 | |
1007 | removeposbutton.Name = randomstring() | |
1008 | removeposbutton.Parent = positionframe | |
1009 | removeposbutton.BackgroundColor3 = Color3.fromRGB(47, 47, 47) | |
1010 | removeposbutton.BorderSizePixel = 0 | |
1011 | removeposbutton.Position = UDim2.new(1, -25, 0, 5) | |
1012 | removeposbutton.Size = UDim2.new(0, 20, 1, -10) | |
1013 | removeposbutton.Font = Enum.Font.SourceSans | |
1014 | removeposbutton.Text = "X" | |
1015 | removeposbutton.TextColor3 = Color3.fromRGB(223, 223, 223) | |
1016 | removeposbutton.TextSize = 16.000 | |
1017 | positionName.Name = randomstring() | |
1018 | positionName.Parent = positionframe | |
1019 | positionName.BackgroundColor3 = Color3.fromRGB(255, 255, 255) | |
1020 | positionName.BackgroundTransparency = 1.000 | |
1021 | positionName.BorderSizePixel = 0 | |
1022 | positionName.Position = UDim2.new(0, 5, 0, 5) | |
1023 | positionName.Size = UDim2.new(1, -80, 1, -10) | |
1024 | positionName.Font = Enum.Font.SourceSans | |
1025 | positionName.Text = "Position1" | |
1026 | positionName.ClearTextOnFocus = false | |
1027 | positionName.TextColor3 = Color3.fromRGB(0, 0, 0) | |
1028 | positionName.TextSize = 25.000 | |
1029 | positionName.TextXAlignment = Enum.TextXAlignment.Left | |
1030 | loadposbutton.MouseButton1Click:Connect(function() | |
1031 | c = lp.Character | |
1032 | if c and c.Parent then | |
1033 | hrp = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
1034 | if hrp then | |
1035 | if flycf then | |
1036 | flycf = cfr | |
1037 | else | |
1038 | weldtp(hrp, cfr) | |
1039 | end | |
1040 | else | |
1041 | notify("part not found") | |
1042 | end | |
1043 | else | |
1044 | notify("character not found") | |
1045 | end | |
1046 | end) | |
1047 | removeposbutton.MouseButton1Click:Connect(function() | |
1048 | positionframe:Destroy() | |
1049 | end) | |
1050 | end | |
1051 | end | |
1052 | end) | |
1053 | ||
1054 | local charframe = makeFrame(scrollingFrame, "Character", Color3.fromRGB(99, 15, 15)) | |
1055 | local function makecharbutton(buttontext) | |
1056 | local button = instancenew("TextButton") | |
1057 | button.Name = randomstring() | |
1058 | button.Parent = charframe:FindFirstChildOfClass("ScrollingFrame") | |
1059 | button.BackgroundColor3 = Color3.fromRGB(53, 53, 53) | |
1060 | button.BorderSizePixel = 0 | |
1061 | button.Size = UDim2.new(1, -10, 0, 20) | |
1062 | button.Font = Enum.Font.SourceSans | |
1063 | button.Text = buttontext | |
1064 | button.TextColor3 = Color3.fromRGB(226, 226, 226) | |
1065 | button.TextSize = 15.000 | |
1066 | return button | |
1067 | end | |
1068 | local loopr = false | |
1069 | local fakevoidp = nil | |
1070 | reset = function(respawn) | |
1071 | if fakevoidp then | |
1072 | fakevoidp = nil | |
1073 | twait(0.3) | |
1074 | end | |
1075 | local c = lp.Character | |
1076 | local partName, cfr, ccfr = nil, nil, nil | |
1077 | if not (c and c.Parent) then | |
1078 | respawnRequest() | |
1079 | if not loopr then | |
1080 | notify("character not found, trying to respawn") | |
1081 | end | |
1082 | return | |
1083 | end | |
1084 | local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Torso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
1085 | if not part then | |
1086 | respawnRequest() | |
1087 | if not loopr then | |
1088 | notify("no part found in the character, trying to respawn") | |
1089 | end | |
1090 | return | |
1091 | end | |
1092 | partName, cfr, ccfr = part.Name, part.CFrame, ws.CurrentCamera.CFrame | |
1093 | tspawn(function() | |
1094 | local c, part = c, nil | |
1095 | while c and c.Parent do | |
1096 | heartbeat:Wait() | |
1097 | end | |
1098 | while true do | |
1099 | c = lp.Character | |
1100 | if c and c.Parent then | |
1101 | break | |
1102 | end | |
1103 | heartbeat:Wait() | |
1104 | end | |
1105 | while c and c.Parent do | |
1106 | part = gp(c, partName, "BasePart") | |
1107 | if part then | |
1108 | break | |
1109 | end | |
1110 | heartbeat:Wait() | |
1111 | end | |
1112 | if not part then | |
1113 | if not loopr then | |
1114 | notify("failed to tp back") | |
1115 | end | |
1116 | return | |
1117 | end | |
1118 | weldtp(part, cfr) | |
1119 | ws.CurrentCamera.CFrame = ccfr | |
1120 | cfr = nil | |
1121 | if not loopr then | |
1122 | notify("respawned") | |
1123 | end | |
1124 | end) | |
1125 | if respawn and (not loopr) then | |
1126 | notify("respawning...") | |
1127 | end | |
1128 | if respawn then | |
1129 | tspawn(function() | |
1130 | while c and c.Parent do | |
1131 | if part and part.Parent then | |
1132 | cfr = part.CFrame | |
1133 | end | |
1134 | ccfr = ws.CurrentCamera.CFrame | |
1135 | stepped:Wait() | |
1136 | end | |
1137 | end) | |
1138 | if plrs.RespawnTime > 0.5 then | |
1139 | for i=1, 3 do | |
1140 | twait(0.1) | |
1141 | if c and c.Parent then | |
1142 | respawnRequest() | |
1143 | else | |
1144 | break | |
1145 | end | |
1146 | end | |
1147 | twait(plrs.RespawnTime - 0.5) | |
1148 | else | |
1149 | respawnRequest() | |
1150 | end | |
1151 | part = nil | |
1152 | end | |
1153 | if c and c.Parent then | |
1154 | if respawn then | |
1155 | local hum = c:FindFirstChildOfClass("Humanoid") | |
1156 | if hum then | |
1157 | hum.BreakJointsOnDeath = false | |
1158 | hum:ChangeState(Enum.HumanoidStateType.Dead) | |
1159 | hum.Health = 0 | |
1160 | hum:SetStateEnabled(Enum.HumanoidStateType.Dead, false) | |
1161 | end | |
1162 | tdelay(1, function() | |
1163 | if c and c.Parent then | |
1164 | c:BreakJoints() | |
1165 | respawnRequest() | |
1166 | end | |
1167 | end) | |
1168 | else | |
1169 | c:BreakJoints() | |
1170 | end | |
1171 | while gui and cfr do | |
1172 | stepped:Wait() | |
1173 | end | |
1174 | end | |
1175 | end | |
1176 | makecharbutton("respawn").MouseButton1Click:Connect(function() | |
1177 | if not loopr then | |
1178 | reset(true) | |
1179 | end | |
1180 | end) | |
1181 | makecharbutton("reset").MouseButton1Click:Connect(function() | |
1182 | reset(false) | |
1183 | end) | |
1184 | local looprb = makecharbutton("loop respawn") | |
1185 | tspawn(function() | |
1186 | while wait() and gui do | |
1187 | if loopr then | |
1188 | reset(true) | |
1189 | end | |
1190 | end | |
1191 | end) | |
1192 | looprb.MouseButton1Click:Connect(function() | |
1193 | loopr = not loopr | |
1194 | looprb.Text = "loop respawn" .. ((loopr and " (Enabled)") or "") | |
1195 | end) | |
1196 | makecharbutton("remove meshes").MouseButton1Click:Connect(function() | |
1197 | local c = lp.Character | |
1198 | if c and c.Parent then | |
1199 | for i, v in pairs(c:GetDescendants()) do | |
1200 | if v and v.Parent and (v:IsA("Mesh") or v:IsA("SpecialMesh") or v:IsA("CharacterMesh")) then | |
1201 | v:Destroy() | |
1202 | end | |
1203 | end | |
1204 | notify("removed meshes") | |
1205 | else | |
1206 | notify("no character") | |
1207 | end | |
1208 | end) | |
1209 | makecharbutton("break joints").MouseButton1Click:Connect(function() | |
1210 | local c = lp.Character | |
1211 | if c and c.Parent then | |
1212 | c:BreakJoints() | |
1213 | notify("broken joints") | |
1214 | else | |
1215 | notify("no character") | |
1216 | end | |
1217 | end) | |
1218 | local noclipb = makecharbutton("noclip") | |
1219 | local noclip = false | |
1220 | noclipb.MouseButton1Click:Connect(function() | |
1221 | noclip = not noclip | |
1222 | noclipb.Text = "noclip" .. ((noclip and " (Enabled)") or "") | |
1223 | end) | |
1224 | local fakevoidb = makecharbutton("fake void") | |
1225 | fakevoidb.MouseButton1Click:Connect(function() | |
1226 | if fakevoidp then | |
1227 | fakevoidp = nil | |
1228 | fakevoidb.Text = "fake void" | |
1229 | else | |
1230 | local c = lp.Character | |
1231 | if not (c and c.Parent) then | |
1232 | notify("character not found") | |
1233 | return | |
1234 | end | |
1235 | local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
1236 | if not part then | |
1237 | notify("no part found") | |
1238 | return | |
1239 | end | |
1240 | fakevoidp = part | |
1241 | fakevoidb.Text = "fake void (Enabled)" | |
1242 | notify("character teleported under FallenPartsDestroyHeight") | |
1243 | ||
1244 | local dh = ws.FallenPartsDestroyHeight | |
1245 | local cfr = fakevoidp.CFrame | |
1246 | local newcf = cf(0, dh - 100, 0) | |
1247 | local camcf = ws.CurrentCamera.CFrame | |
1248 | ws.CurrentCamera.CameraType = Enum.CameraType.Scriptable | |
1249 | ws.FallenPartsDestroyHeight = dh - 200 | |
1250 | while stepped:Wait() and gui and c and c.Parent and fakevoidp and fakevoidp.Parent do | |
1251 | weldtp(fakevoidp, newcf) | |
1252 | end | |
1253 | ws.FallenPartsDestroyHeight = dh | |
1254 | fakevoidb.Text = "fake void" | |
1255 | if c and c.Parent then | |
1256 | unview() | |
1257 | ws.CurrentCamera.CFrame = camcf | |
1258 | if part and part.Parent then | |
1259 | weldtp(part, cfr) | |
1260 | notify("teleported back") | |
1261 | else | |
1262 | notify("part removed") | |
1263 | end | |
1264 | else | |
1265 | notify("character removed") | |
1266 | end | |
1267 | end | |
1268 | end) | |
1269 | makecharbutton("block tool").MouseButton1Click:Connect(function() | |
1270 | local c = lp.Character | |
1271 | if c and c.Parent then | |
1272 | local tool = c:FindFirstChildOfClass("Tool") | |
1273 | if tool then | |
1274 | local found = false | |
1275 | for i, v in pairs(tool:GetDescendants()) do | |
1276 | if v and v.Parent and v:IsA("Mesh") or v:IsA("SpecialMesh") then | |
1277 | v:Destroy() | |
1278 | end | |
1279 | end | |
1280 | if found then | |
1281 | notify("removed tool meshes") | |
1282 | else | |
1283 | notify("no meshes found") | |
1284 | end | |
1285 | else | |
1286 | notify("tool not found") | |
1287 | end | |
1288 | else | |
1289 | notify("no character") | |
1290 | end | |
1291 | end) | |
1292 | local infjumpb = makecharbutton("infjump") | |
1293 | local infjump = false | |
1294 | local con = nil | |
1295 | con = g:GetService("UserInputService").JumpRequest:Connect(function() | |
1296 | if not gui then | |
1297 | con:Disconnect() | |
1298 | return | |
1299 | end | |
1300 | if infjump then | |
1301 | local c = lp.Character | |
1302 | if c and c.Parent then | |
1303 | local hum = c:FindFirstChildOfClass("Humanoid") | |
1304 | if hum then | |
1305 | hum:ChangeState("Jumping") | |
1306 | end | |
1307 | end | |
1308 | end | |
1309 | end) | |
1310 | infjumpb.MouseButton1Click:Connect(function() | |
1311 | infjump = not infjump | |
1312 | infjumpb.Text = "infjump" .. ((infjump and " (Enabled)") or "") | |
1313 | end) | |
1314 | - | makecharbutton("god (remove humanoid)").MouseButton1Click:Connect(function() |
1314 | + | makecharbutton("عدم موت (remove humanoid)").MouseButton1Click:Connect(function() |
1315 | local c = lp.Character | |
1316 | if c and c.Parent then | |
1317 | local hum = c:FindFirstChildOfClass("Humanoid") | |
1318 | if hum then | |
1319 | hum.Archivable = true | |
1320 | local hum1 = hum:Clone() | |
1321 | hum:Destroy() | |
1322 | hum1.Parent = c | |
1323 | notify("humanoid client sided") | |
1324 | else | |
1325 | notify("humanoid not found") | |
1326 | end | |
1327 | else | |
1328 | notify("character not found") | |
1329 | end | |
1330 | end) | |
1331 | - | local loopgb = makecharbutton("loop god mode") |
1331 | + | local loopgb = makecharbutton("تفعيل عدم موت") |
1332 | local loopg = false | |
1333 | tspawn(function() | |
1334 | while wait() and gui do | |
1335 | if loopg then | |
1336 | local c = lp.Character | |
1337 | if c and c.Parent then | |
1338 | local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
1339 | if part then | |
1340 | local hum = c:FindFirstChildOfClass("Humanoid") | |
1341 | if hum then | |
1342 | local partName = part.Name | |
1343 | local new = hum:Clone() | |
1344 | hum:Destroy() | |
1345 | new.Parent = c | |
1346 | ws.CurrentCamera.CameraSubject = new | |
1347 | local currentcfr = part.CFrame | |
1348 | local camcfr = ws.CurrentCamera.CFrame | |
1349 | while twait() and c and c.Parent and part and part.Parent do | |
1350 | currentcfr = part.CFrame | |
1351 | camcfr = ws.CurrentCamera.CFrame | |
1352 | removehats(c) | |
1353 | local ff = c:FindFirstChildOfClass("ForceField") | |
1354 | if ff then | |
1355 | ff:Destroy() | |
1356 | end | |
1357 | end | |
1358 | part = nil | |
1359 | while not (part and part.Parent) do | |
1360 | twait() | |
1361 | c = lp.Character | |
1362 | part = gp(c, partName, "BasePart") | |
1363 | end | |
1364 | weldtp(part, currentcfr) | |
1365 | ws.CurrentCamera.CFrame = camcfr | |
1366 | end | |
1367 | end | |
1368 | end | |
1369 | end | |
1370 | end | |
1371 | end) | |
1372 | loopgb.MouseButton1Click:Connect(function() | |
1373 | loopg = not loopg | |
1374 | - | loopgb.Text = "loop god mode" .. ((loopg and " (Enabled)") or "") |
1374 | + | loopgb.Text = "تفعيل عدم موت" .. ((loopg and " (Enabled)") or "") |
1375 | end) | |
1376 | local flyb = makecharbutton("fly") | |
1377 | flyb.MouseButton1Click:Connect(function() | |
1378 | if cfly and cfly.Parent then | |
1379 | cfly = nil | |
1380 | else | |
1381 | cfly = lp.Character | |
1382 | flyb.Text = "fly (Enabled)" | |
1383 | end | |
1384 | end) | |
1385 | ||
1386 | local ctrlf = { | |
1387 | ["w"] = false, | |
1388 | ["a"] = false, | |
1389 | ["s"] = false, | |
1390 | ["d"] = false | |
1391 | } | |
1392 | local con = nil | |
1393 | con = mouse.KeyDown:Connect(function(key) | |
1394 | if not gui then | |
1395 | con:Disconnect() | |
1396 | return | |
1397 | end | |
1398 | key = key:lower() | |
1399 | if ctrlf[key] ~= nil then | |
1400 | ctrlf[key] = true | |
1401 | end | |
1402 | end) | |
1403 | local con = nil | |
1404 | con = mouse.KeyUp:Connect(function(key) | |
1405 | if not gui then | |
1406 | con:Disconnect() | |
1407 | return | |
1408 | end | |
1409 | key = key:lower() | |
1410 | if ctrlf[key] ~= nil then | |
1411 | ctrlf[key] = false | |
1412 | end | |
1413 | end) | |
1414 | local con = nil | |
1415 | con = renderstepped:Connect(function(deltaTime) | |
1416 | if not gui then | |
1417 | con:Disconnect() | |
1418 | return | |
1419 | end | |
1420 | if not flycf then | |
1421 | return | |
1422 | end | |
1423 | local fb = ((ctrlf["w"] and flyspeed) or 0) + ((ctrlf["s"] and -flyspeed) or 0) | |
1424 | local lr = ((ctrlf["a"] and -flyspeed) or 0) + ((ctrlf["d"] and flyspeed) or 0) | |
1425 | local camcf = ws.CurrentCamera.CFrame | |
1426 | local caX, caY, caZ, ca1, ca2, ca3, ca4, ca5, ca6, ca7, ca8, ca9 = camcf:GetComponents() | |
1427 | flycf = cf(flycf.X, flycf.Y, flycf.Z, ca1, ca2, ca3, ca4, ca5, ca6, ca7, ca8, ca9) | |
1428 | flycf += camcf.LookVector * fb * deltaTime | |
1429 | flycf += camcf.RightVector * lr * deltaTime | |
1430 | end) | |
1431 | tspawn(function() | |
1432 | while stepped:Wait() and gui do | |
1433 | if cfly and cfly.Parent then | |
1434 | fhrp = (fhrp and (fhrp.Parent == cfly) and fhrp) or gp(cfly, "HumanoidRootPart", "BasePart") or gp(cfly, "Head", "BasePart") or cfly:FindFirstChildWhichIsA("BasePart") | |
1435 | if fhrp then | |
1436 | flycf = flycf or fhrp.CFrame | |
1437 | weldtp(fhrp, flycf) | |
1438 | end | |
1439 | else | |
1440 | flycf = false | |
1441 | fhrp = nil | |
1442 | flyb.Text = "fly" | |
1443 | end | |
1444 | end | |
1445 | end) | |
1446 | ||
1447 | local hiddenfling = false | |
1448 | tspawn(function() | |
1449 | local hrp, c, vel, movel = nil, nil, nil, 0.1 | |
1450 | while gui do | |
1451 | heartbeat:Wait() | |
1452 | if hiddenfling then | |
1453 | while gui and hiddenfling and not (c and c.Parent and hrp and hrp.Parent) do | |
1454 | heartbeat:Wait() | |
1455 | c = lp.Character | |
1456 | hrp = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart") | |
1457 | end | |
1458 | if gui and hiddenfling then | |
1459 | vel = hrp.Velocity | |
1460 | hrp.Velocity = vel * 10000 + v3(0, 10000, 0) | |
1461 | renderstepped:Wait() | |
1462 | if c and c.Parent and hrp and hrp.Parent then | |
1463 | hrp.Velocity = vel | |
1464 | end | |
1465 | stepped:Wait() | |
1466 | if c and c.Parent and hrp and hrp.Parent then | |
1467 | hrp.Velocity = vel + v3(0, movel, 0) | |
1468 | movel = movel * -1 | |
1469 | end | |
1470 | end | |
1471 | end | |
1472 | end | |
1473 | end) | |
1474 | ||
1475 | local hiddenflingB = makecharbutton("hidden fling") | |
1476 | hiddenflingB.MouseButton1Click:Connect(function() | |
1477 | hiddenfling = not hiddenfling | |
1478 | hiddenflingB.Text = "hidden fling" .. ((hiddenfling and " (Enabled)") or "") | |
1479 | end) | |
1480 | ||
1481 | makecharbutton("anti respawn (wait RespawnTime)").MouseButton1Click:Connect(respawnRequest) | |
1482 | makecharbutton("no animations").MouseButton1Click:Connect(noanimations) | |
1483 | makecharbutton("sit").MouseButton1Click:Connect(function() | |
1484 | local c = lp.Character | |
1485 | if c and c.Parent then | |
1486 | local hum = c:FindFirstChildOfClass("Humanoid") | |
1487 | if hum then | |
1488 | hum.Sit = not hum.Sit | |
1489 | else | |
1490 | notify("humanoid not found") | |
1491 | end | |
1492 | else | |
1493 | notify("character not found") | |
1494 | end | |
1495 | end) | |
1496 | makecharbutton("fake sit").MouseButton1Click:Connect(function() | |
1497 | local c = lp.Character | |
1498 | if c and c.Parent then | |
1499 | local hum = c:FindFirstChildOfClass("Humanoid") | |
1500 | if hum then | |
1501 | hum:SetStateEnabled(Enum.HumanoidStateType.Seated, false) | |
1502 | hum.Sit = true | |
1503 | notify("humanoid.Sit set to true") | |
1504 | else | |
1505 | notify("humanoid not found") | |
1506 | end | |
1507 | else | |
1508 | notify("character not found") | |
1509 | end | |
1510 | end) | |
1511 | makecharbutton("remove humanoidroot").MouseButton1Click:Connect(function() | |
1512 | local c = lp.Character | |
1513 | if c then | |
1514 | local cpar = c.Parent | |
1515 | if cpar then | |
1516 | local hrp = gp(c, "HumanoidRootPart", "BasePart") | |
1517 | if hrp then | |
1518 | c.Parent = nil | |
1519 | hrp:Destroy() | |
1520 | c.Parent = cpar | |
1521 | notify("hrp removed") | |
1522 | else | |
1523 | notify("hrp not found") | |
1524 | end | |
1525 | else | |
1526 | notify("character not found") | |
1527 | end | |
1528 | else | |
1529 | notify("character not found") | |
1530 | end | |
1531 | end) | |
1532 | makecharbutton("set CanTouch to false").MouseButton1Click:Connect(function() | |
1533 | local c = lp.Character | |
1534 | if c and c.Parent then | |
1535 | local tool = c:FindFirstChildOfClass("Tool") | |
1536 | for i, v in pairs(c:GetDescendants()) do | |
1537 | if v and v.Parent and v:IsA("BasePart") and ((not tool) or (not v:IsDescendantOf(tool))) then | |
1538 | v.CanTouch = false | |
1539 | end | |
1540 | end | |
1541 | notify("CanTouch has been set to false") | |
1542 | else | |
1543 | notify("character not found") | |
1544 | end | |
1545 | end) | |
1546 | local ctrltp = false | |
1547 | local clicktpbutton = makecharbutton("ctrl click tp") | |
1548 | clicktpbutton.MouseButton1Click:Connect(function() | |
1549 | ctrltp = not ctrltp | |
1550 | clicktpbutton.Text = "ctrl click tp" .. ((ctrltp and " (Enabled)") or "") | |
1551 | end) | |
1552 | local con = nil | |
1553 | con = mouse.Button1Down:Connect(function() | |
1554 | if not gui then | |
1555 | con:Disconnect() | |
1556 | return | |
1557 | end | |
1558 | if not ctrltp then | |
1559 | return | |
1560 | end | |
1561 | if not (mouse.Target and uis:IsKeyDown(Enum.KeyCode.LeftControl)) then | |
1562 | return | |
1563 | end | |
1564 | local to = mouse.Hit.Position + v3(0, 3, 0) | |
1565 | to = cf(to, to + v3(1, 0, 1) * ws.CurrentCamera.CFrame.LookVector) | |
1566 | if flycf then | |
1567 | flycf = to | |
1568 | return | |
1569 | end | |
1570 | local c = lp.Character | |
1571 | if not (c and c.Parent) then | |
1572 | return | |
1573 | end | |
1574 | local hrp = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
1575 | if hrp then | |
1576 | weldtp(hrp, to) | |
1577 | end | |
1578 | end) | |
1579 | makecharbutton("view").MouseButton1Click:Connect(unview) | |
1580 | ||
1581 | local utilframe = makeFrame(scrollingFrame, "Utilities", Color3.fromRGB(0, 150, 150)) | |
1582 | local utilscroll = utilframe:FindFirstChildOfClass("ScrollingFrame") | |
1583 | ||
1584 | local function makeutilbutton(buttontext) | |
1585 | local button = instancenew("TextButton") | |
1586 | button.Name = randomstring() | |
1587 | button.Parent = utilscroll | |
1588 | button.BackgroundColor3 = Color3.fromRGB(53, 53, 53) | |
1589 | button.BorderSizePixel = 0 | |
1590 | button.Size = UDim2.new(1, -10, 0, 20) | |
1591 | button.Font = Enum.Font.SourceSans | |
1592 | button.Text = buttontext | |
1593 | button.TextColor3 = Color3.fromRGB(226, 226, 226) | |
1594 | button.TextSize = 15.000 | |
1595 | return button | |
1596 | end | |
1597 | ||
1598 | local espb = makeutilbutton("esp") | |
1599 | local esp = false | |
1600 | espb.MouseButton1Click:Connect(function() | |
1601 | esp = not esp | |
1602 | espb.Text = "esp" .. ((esp and " (Enabled)") or "") | |
1603 | end) | |
1604 | local teamcheckb = makeutilbutton("esp team check") | |
1605 | local espTeamCheck = false | |
1606 | teamcheckb.MouseButton1Click:Connect(function() | |
1607 | espTeamCheck = not espTeamCheck | |
1608 | teamcheckb.Text = "esp team check" .. ((espTeamCheck and " (Enabled)") or "") | |
1609 | end) | |
1610 | ||
1611 | local espcolor = Color3.fromRGB(255, 0, 0) | |
1612 | ||
1613 | local vpf = instancenew("ViewportFrame", gui) | |
1614 | vpf.BackgroundTransparency = 1 | |
1615 | vpf.BorderSizePixel = 0 | |
1616 | vpf.ImageTransparency = 0.5 | |
1617 | vpf.ImageColor3 = espcolor | |
1618 | vpf.BackgroundColor3 = espcolor | |
1619 | vpf.Size = UDim2.new(1, 0, 1, 0) | |
1620 | vpf.Visible = true | |
1621 | vpf.Name = randomstring() | |
1622 | ||
1623 | local net = false | |
1624 | local con = nil | |
1625 | con = renderstepped:Connect(function() | |
1626 | if not gui then | |
1627 | con:Disconnect() | |
1628 | return | |
1629 | end | |
1630 | if net then | |
1631 | net(1000) | |
1632 | end | |
1633 | vpf:ClearAllChildren() | |
1634 | if esp then | |
1635 | vpf.CurrentCamera = ws.CurrentCamera | |
1636 | for i, plr in pairs(plrs:GetPlayers()) do | |
1637 | if ( (not espTeamCheck) or (plr.Team ~= lp.Team) ) and (plr ~= lp) then | |
1638 | local c = plr.Character | |
1639 | if c and c.Parent then | |
1640 | for i, part in pairs(c:GetDescendants()) do | |
1641 | if part:IsA("BasePart") then | |
1642 | local part1 = instancenew("Part", vpf) | |
1643 | part1.Color = espcolor | |
1644 | part1.Size = part.Size | |
1645 | part1.CFrame = part.CFrame | |
1646 | end | |
1647 | end | |
1648 | end | |
1649 | end | |
1650 | end | |
1651 | end | |
1652 | if viewedPlayer then | |
1653 | if tfind(cbring, viewedPlayer.Name) then | |
1654 | return unview() | |
1655 | end | |
1656 | local c = viewedPlayer.Character | |
1657 | if c and c.Parent then | |
1658 | local subject = c:FindFirstChildOfClass("Humanoid") or c:FindFirstChildWhichIsA("BasePart") or c | |
1659 | if subject then | |
1660 | ws.CurrentCamera.CameraType = Enum.CameraType.Custom | |
1661 | ws.CurrentCamera.CameraSubject = subject | |
1662 | end | |
1663 | end | |
1664 | end | |
1665 | end) | |
1666 | ||
1667 | local antiflingb = makeutilbutton("anti fling") | |
1668 | local antifling = false | |
1669 | antiflingb.MouseButton1Click:Connect(function() | |
1670 | antifling = not antifling | |
1671 | antiflingb.Text = "anti fling" .. ((antifling and " (Enabled)") or "") | |
1672 | end) | |
1673 | ||
1674 | local con0, con1 = nil, nil | |
1675 | local function antiflingF() | |
1676 | if not gui then | |
1677 | con0:Disconnect() | |
1678 | con1:Disconnect() | |
1679 | return | |
1680 | end | |
1681 | if antifling then | |
1682 | for i, v in pairs(plrs:GetPlayers()) do | |
1683 | if v ~= lp then | |
1684 | local c = v.Character | |
1685 | if c and c.Parent then | |
1686 | for i1, v1 in pairs(c:GetDescendants()) do | |
1687 | if v1:IsA("BasePart") then | |
1688 | v1.CanCollide = false | |
1689 | v1.Velocity = v3_0 | |
1690 | v1.RotVelocity = v3_0 | |
1691 | end | |
1692 | end | |
1693 | end | |
1694 | end | |
1695 | end | |
1696 | end | |
1697 | end | |
1698 | con0 = stepped:Connect(antiflingF) | |
1699 | con1 = heartbeat:Connect(antiflingF) | |
1700 | ||
1701 | local antiattb = makeutilbutton("anti attach") | |
1702 | local antiatt = false | |
1703 | antiattb.MouseButton1Click:Connect(function() | |
1704 | antiatt = not antiatt | |
1705 | antiattb.Text = "anti attach" .. ((antiatt and " (Enabled)") or "") | |
1706 | end) | |
1707 | local charcon = nil | |
1708 | local currentcon = nil | |
1709 | local function onchar(c) | |
1710 | if not gui then | |
1711 | charcon:Disconnect() | |
1712 | return | |
1713 | end | |
1714 | if typeof(c) ~= "Instance" then | |
1715 | return | |
1716 | end | |
1717 | if currentcon then | |
1718 | currentcon:Disconnect() | |
1719 | end | |
1720 | currentcon = c.ChildAdded:Connect(function(t) | |
1721 | if not (antiatt and gui) then | |
1722 | return | |
1723 | end | |
1724 | if not t:IsA("Tool") then return end | |
1725 | local h = gp(t, "Handle", "BasePart") or t:FindFirstChildWhichIsA("BasePart") | |
1726 | if not h then return end | |
1727 | for i, v in pairs(h:GetConnectedParts()) do | |
1728 | if not v:IsDescendantOf(c) then | |
1729 | h:BreakJoints() | |
1730 | stepped:Wait() | |
1731 | if t and (t.Parent == c) then | |
1732 | t.Parent = lp:FindFirstChildOfClass("Backpack") or ws | |
1733 | end | |
1734 | return | |
1735 | end | |
1736 | end | |
1737 | end) | |
1738 | end | |
1739 | onchar(lp.Character) | |
1740 | charcon = lp.CharacterAdded:Connect(onchar) | |
1741 | ||
1742 | local netb = makeutilbutton("net bypass") | |
1743 | netb.MouseButton1Click:Connect(function() | |
1744 | if net then | |
1745 | net = false | |
1746 | else | |
1747 | net = shp and function(Radius) | |
1748 | shp(lp, "SimulationRadius", Radius) | |
1749 | end | |
1750 | net = net or ssr | |
1751 | if not net then | |
1752 | notify("exploit not supported") | |
1753 | end | |
1754 | end | |
1755 | netb.Text = "net bypass" .. ((net and " (Enabled)") or "") | |
1756 | end) | |
1757 | ||
1758 | makeutilbutton("rejoin").MouseButton1Click:Connect(function() | |
1759 | g:GetService("TeleportService"):TeleportToPlaceInstance(g.PlaceId, g.JobId, lp) | |
1760 | end) | |
1761 | ||
1762 | makeutilbutton("serverhop").MouseButton1Click:Connect(function() | |
1763 | local servers = nil | |
1764 | pcall(function() | |
1765 | servers = g:GetService("HttpService"):JSONDecode(g:HttpGetAsync("https://games.roblox.com/v1/games/" .. g.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100")).data | |
1766 | end) | |
1767 | if type(servers) ~= "table" then | |
1768 | notify("error getting server list") | |
1769 | return | |
1770 | end | |
1771 | local jobIds = {} | |
1772 | for i, v in pairs(servers) do | |
1773 | if type(v) == "table" and v.maxPlayers > v.playing and v.id ~= g.JobId then | |
1774 | tinsert(jobIds, v.id) | |
1775 | end | |
1776 | end | |
1777 | if #jobIds > 0 then | |
1778 | g:GetService("TeleportService"):TeleportToPlaceInstance(g.PlaceId, jobIds[mrandom(1, #jobIds)]) | |
1779 | else | |
1780 | notify("no server found") | |
1781 | end | |
1782 | end) | |
1783 | ||
1784 | makeutilbutton("instant leave").MouseButton1Click:Connect(function() | |
1785 | lp:Kick() | |
1786 | twait() | |
1787 | g:Shutdown() | |
1788 | end) | |
1789 | ||
1790 | ||
1791 | local cbringframe = makeFrame(scrollingFrame, "cbring", Color3.fromRGB(15, 100, 15)) | |
1792 | local cbringscroll = cbringframe:FindFirstChildOfClass("ScrollingFrame") | |
1793 | ||
1794 | local togglecbring = nil | |
1795 | ||
1796 | local function makecbringframe(name) | |
1797 | local plrcbringf = instancenew("Frame") | |
1798 | local uncbringbtn = instancenew("TextButton") | |
1799 | local cbringplrname = instancenew("TextBox") | |
1800 | plrcbringf.Name = name | |
1801 | plrcbringf.BackgroundColor3 = Color3.fromRGB(106, 106, 106) | |
1802 | plrcbringf.BorderSizePixel = 0 | |
1803 | plrcbringf.Size = UDim2.new(1, -10, 0, 30) | |
1804 | plrcbringf.Parent = cbringscroll | |
1805 | uncbringbtn.Name = randomstring() | |
1806 | uncbringbtn.Parent = plrcbringf | |
1807 | uncbringbtn.BackgroundColor3 = Color3.fromRGB(47, 47, 47) | |
1808 | uncbringbtn.BorderSizePixel = 0 | |
1809 | uncbringbtn.Position = UDim2.new(1, -25, 0, 5) | |
1810 | uncbringbtn.Size = UDim2.new(0, 20, 1, -10) | |
1811 | uncbringbtn.Font = Enum.Font.SourceSans | |
1812 | uncbringbtn.Text = "X" | |
1813 | uncbringbtn.TextColor3 = Color3.fromRGB(223, 223, 223) | |
1814 | uncbringbtn.TextSize = 16.000 | |
1815 | cbringplrname.Parent = plrcbringf | |
1816 | cbringplrname.BackgroundColor3 = Color3.fromRGB(255, 255, 255) | |
1817 | cbringplrname.BackgroundTransparency = 1.000 | |
1818 | cbringplrname.BorderSizePixel = 0 | |
1819 | cbringplrname.Position = UDim2.new(0, 5, 0, 5) | |
1820 | cbringplrname.Size = UDim2.new(1, -80, 1, -10) | |
1821 | cbringplrname.Font = Enum.Font.SourceSans | |
1822 | cbringplrname.Text = name | |
1823 | cbringplrname.TextColor3 = Color3.fromRGB(0, 0, 0) | |
1824 | cbringplrname.TextSize = 25.000 | |
1825 | cbringplrname.TextXAlignment = Enum.TextXAlignment.Left | |
1826 | uncbringbtn.MouseButton1Click:Connect(function() | |
1827 | togglecbring(name) | |
1828 | end) | |
1829 | return plrcbringf | |
1830 | end | |
1831 | ||
1832 | togglecbring = function(name) | |
1833 | local frame = gp(cbringscroll, name, "Frame") | |
1834 | if frame then | |
1835 | pcall(function() | |
1836 | tremove(cbring, tfind(cbring, name)) | |
1837 | end) | |
1838 | frame:Destroy() | |
1839 | notify("removed " .. name .. " from cbring") | |
1840 | else | |
1841 | tinsert(cbring, name) | |
1842 | makecbringframe(name) | |
1843 | notify("added " .. name .. " to cbring") | |
1844 | end | |
1845 | end | |
1846 | ||
1847 | cbringb.MouseButton1Click:Connect(function() | |
1848 | togglecbring(currentplayer.Name) | |
1849 | end) | |
1850 | ||
1851 | local cbringallbtn = instancenew("TextButton") | |
1852 | cbringallbtn.Name = randomstring() | |
1853 | cbringallbtn.Parent = cbringframe:FindFirstChildOfClass("TextLabel") | |
1854 | cbringallbtn.BackgroundColor3 = Color3.fromRGB(59, 59, 59) | |
1855 | cbringallbtn.BorderSizePixel = 0 | |
1856 | cbringallbtn.Position = UDim2.new(1, -57, 0, 2) | |
1857 | cbringallbtn.Size = UDim2.new(0, 55, 1, -4) | |
1858 | cbringallbtn.Font = Enum.Font.SourceSans | |
1859 | cbringallbtn.Text = "+ add all" | |
1860 | cbringallbtn.TextColor3 = Color3.fromRGB(206, 206, 206) | |
1861 | cbringallbtn.TextSize = 14.000 | |
1862 | cbringallbtn.MouseButton1Click:Connect(function() | |
1863 | for i, v in pairs(plrs:GetPlayers()) do | |
1864 | if (v ~= lp) and v and v.Parent and (not tfind(cbring, v.Name)) then | |
1865 | togglecbring(v.Name) | |
1866 | end | |
1867 | end | |
1868 | end) | |
1869 | ||
1870 | tspawn(function() | |
1871 | while gui do | |
1872 | local waited = false | |
1873 | local lpc = lp.Character | |
1874 | if lpc and lpc.Parent then | |
1875 | local part0 = gp(lpc, "Torso", "BasePart") or gp(lpc, "HumanoidRootPart", "BasePart") or gp(lpc, "Head", "BasePart") or lpc:FindFirstChildWhichIsA("BasePart") | |
1876 | if part0 then | |
1877 | for i, v in pairs(plrs:GetPlayers()) do | |
1878 | if v ~= lp then | |
1879 | local c = v.Character | |
1880 | if c and c.Parent then | |
1881 | if tfind(cbring, v.Name) then | |
1882 | local part1 = gp(c, part0.Name, "BasePart") or gp(c, "Torso", "BasePart") or gp(c, "HumanoidRootPart", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
1883 | if part1 then | |
1884 | local p1cf = part0.CFrame | |
1885 | waited = true | |
1886 | weldtp(part1, p1cf + p1cf.LookVector * 2) | |
1887 | end | |
1888 | end | |
1889 | end | |
1890 | end | |
1891 | end | |
1892 | end | |
1893 | end | |
1894 | if not waited then | |
1895 | stepped:Wait() | |
1896 | end | |
1897 | end | |
1898 | end) | |
1899 | ||
1900 | local con = nil | |
1901 | con = stepped:Connect(function() | |
1902 | if not gui then | |
1903 | con:Disconnect() | |
1904 | return | |
1905 | end | |
1906 | local lpc = lp.Character | |
1907 | if noclip and lpc and lpc.Parent then | |
1908 | for i, v in pairs(lpc:GetDescendants()) do | |
1909 | if v:IsA("BasePart") then | |
1910 | v.CanCollide = false | |
1911 | end | |
1912 | end | |
1913 | end | |
1914 | end) | |
1915 | ||
1916 | gui.Enabled = true | |
1917 | renderstepped:Wait() | |
1918 | playercframe.Visible = false |