1 | local plrs=game:FindFirstChildOfClass("Players") |
2 | local lp=plrs.LocalPlayer |
3 | local ws=game:FindFirstChildOfClass("Workspace") |
4 | local uis=game:FindFirstChildOfClass("UserInputService") |
5 | local rs=game:FindFirstChildOfClass("RunService") |
6 | local heartbeat=rs.Heartbeat |
7 | local renderstepped=rs.RenderStepped |
8 | local angles=CFrame.Angles |
9 | local cf=CFrame.new |
10 | local v3=Vector3.new |
11 | local v3_010=v3(0,1,0) |
12 | local v3_0=v3(0,0,0) |
13 | local osclock=os.clock |
14 | local twait=task.wait |
15 | local slower=string.lower |
16 | local ssub=string.sub |
17 | |
18 | local speeding=32 |
19 | local maxspeed=75 |
20 | local off=angles(-1.5707963267948966,0,0) |
21 | |
22 | local function gp(p,n,cl) |
23 | if typeof(p)=="Instance" then |
24 | local c=p:GetChildren() |
25 | for i=1,#c do |
26 | local v=c[i] |
27 | if (v.Name==n) and v:IsA(cl) then |
28 | return v |
29 | end |
30 | end |
31 | end |
32 | return nil |
33 | end |
34 | |
35 | local i=Instance.new |
36 | local v2=Vector2.new |
37 | local bc=BrickColor.new |
38 | local c3=Color3.new |
39 | local u2=UDim2.new |
40 | local sc,mr=string.char,math.random |
41 | local function rs(l) |
42 | l=l or mr(8,15) |
43 | local s="" |
44 | for i=1,l do |
45 | if mr(1,2)==1 then |
46 | s=s..sc(mr(65,90)) |
47 | else |
48 | s=s..sc(mr(97,122)) |
49 | end |
50 | end |
51 | return s |
52 | end |
53 | local e=Enum |
54 | local i1=i("Frame") |
55 | local i2=i("TextLabel") |
56 | local i3=i("Frame") |
57 | local i4=i("TextBox") |
58 | local i5=i("TextButton") |
59 | local i6=i("TextLabel") |
60 | local i7=i("TextLabel") |
61 | local i8=i("ScreenGui") |
62 | i1.AnchorPoint=v2(0.5,0.5) |
63 | i1.BackgroundColor=bc(149) |
64 | i1.BackgroundColor3=c3(0.129412,0.129412,0.129412) |
65 | i1.BorderColor=bc(1003) |
66 | i1.BorderColor3=c3(0,0,0) |
67 | i1.BorderSizePixel=0 |
68 | i1.Position=u2(0.5,0,0.5,0) |
69 | i1.Size=u2(0,250,0,140) |
70 | i1.Name=rs() |
71 | i1.Parent=i8 |
72 | i2.Font=e.Font.SourceSans |
73 | i2.FontSize=e.FontSize.Size24 |
74 | i2.Text="FE bring gui" |
75 | i2.TextColor=bc(1002) |
76 | i2.TextColor3=c3(0.815686,0.815686,0.815686) |
77 | i2.TextSize=20 |
78 | i2.BackgroundColor=bc(1001) |
79 | i2.BackgroundColor3=c3(1,1,1) |
80 | i2.BackgroundTransparency=1 |
81 | i2.BorderColor=bc(1003) |
82 | i2.BorderColor3=c3(0,0,0) |
83 | i2.BorderSizePixel=0 |
84 | i2.Size=u2(1,0,0,25) |
85 | i2.Name=rs() |
86 | i2.Parent=i1 |
87 | i3.BackgroundColor=bc(26) |
88 | i3.BackgroundColor3=c3(0.192157,0.192157,0.192157) |
89 | i3.BorderColor=bc(1003) |
90 | i3.BorderColor3=c3(0,0,0) |
91 | i3.BorderSizePixel=0 |
92 | i3.ClipsDescendants=true |
93 | i3.Position=u2(0,5,0,25) |
94 | i3.Size=u2(1,-10,1,-30) |
95 | i3.Name=rs() |
96 | i3.Parent=i1 |
97 | i4.CursorPosition=-1 |
98 | i4.Font=e.Font.SourceSans |
99 | i4.FontSize=e.FontSize.Size24 |
100 | i4.PlaceholderColor3=c3(0.509804,0.509804,0.509804) |
101 | i4.PlaceholderText="DisplayName/Name" |
102 | i4.Text="" |
103 | i4.TextColor=bc(1) |
104 | i4.TextColor3=c3(0.952941,0.952941,0.952941) |
105 | i4.TextSize=20 |
106 | i4.TextWrap=true |
107 | i4.AnchorPoint=v2(0.5,0) |
108 | i4.BackgroundColor=bc(364) |
109 | i4.BackgroundColor3=c3(0.266667,0.266667,0.266667) |
110 | i4.BorderColor=bc(1003) |
111 | i4.BorderColor3=c3(0,0,0) |
112 | i4.BorderSizePixel=0 |
113 | i4.ClipsDescendants=true |
114 | i4.Position=u2(0.5,0,0,13) |
115 | i4.Size=u2(1,-30,0,32) |
116 | i4.Name=rs() |
117 | i4.Parent=i3 |
118 | i5.AnchorPoint=v2(0.5,0) |
119 | i5.BackgroundColor=bc(364) |
120 | i5.BackgroundColor3=c3(0.266667,0.266667,0.266667) |
121 | i5.BorderColor=bc(1003) |
122 | i5.BorderColor3=c3(0,0,0) |
123 | i5.BorderSizePixel=0 |
124 | i5.Position=u2(0.5,0,0,64) |
125 | i5.Size=u2(1,-30,0,32) |
126 | i5.Name=rs() |
127 | i5.Parent=i3 |
128 | i5.Font=e.Font.FredokaOne |
129 | i5.FontSize=e.FontSize.Size24 |
130 | i5.Text="BRING" |
131 | i5.TextColor3=c3(0.55,0.55,0.55) |
132 | i5.TextSize=23 |
133 | i6.Font=e.Font.SourceSans |
134 | i6.FontSize=e.FontSize.Size14 |
135 | i6.Text="by lulas🍭" |
136 | i6.TextColor=bc(2) |
137 | i6.TextColor3=c3(0.635294,0.635294,0.635294) |
138 | i6.AnchorPoint=v2(1,1) |
139 | i6.AutomaticSize=e.AutomaticSize.XY |
140 | i6.BackgroundColor=bc(1001) |
141 | i6.BackgroundColor3=c3(1,1,1) |
142 | i6.BackgroundTransparency=1 |
143 | i6.BorderColor=bc(1003) |
144 | i6.BorderColor3=c3(0,0,0) |
145 | i6.BorderSizePixel=0 |
146 | i6.Position=u2(1,0,1,0) |
147 | i6.Name=rs() |
148 | i6.Parent=i3 |
149 | i7.Font=e.Font.SourceSans |
150 | i7.FontSize=e.FontSize.Size14 |
151 | i7.Text="" |
152 | i7.TextColor=bc(2) |
153 | i7.TextColor3=c3(0.635294,0.635294,0.635294) |
154 | i7.AnchorPoint=v2(0.5,0) |
155 | i7.AutomaticSize=e.AutomaticSize.XY |
156 | i7.BackgroundColor=bc(1001) |
157 | i7.BackgroundColor3=c3(1,1,1) |
158 | i7.BackgroundTransparency=1 |
159 | i7.BorderColor=bc(1003) |
160 | i7.BorderColor3=c3(0,0,0) |
161 | i7.BorderSizePixel=0 |
162 | i7.Position=u2(0.5,0,0,47) |
163 | i7.Name=rs() |
164 | i7.Parent=i3 |
165 | i8.ZIndexBehavior=e.ZIndexBehavior.Sibling |
166 | i8.Name=rs() |
167 | |
168 | local function Draggable(window,obj) |
169 | local MB1enum = e.UserInputType.MouseButton1 |
170 | local TOUCHenum = e.UserInputType.Touch |
171 | obj = obj or window |
172 | local activeEntered = 0 |
173 | local mouseStart = nil |
174 | local dragStart = nil |
175 | local inputbegancon = nil |
176 | local rendersteppedcon = nil |
177 | local inputendedcon = nil |
178 | local function inputendedf(a) |
179 | a=a.UserInputType |
180 | if (a==MB1enum) or (a==TOUCHenum) then |
181 | rendersteppedcon:Disconnect() |
182 | inputendedcon:Disconnect() |
183 | end |
184 | end |
185 | local function rendersteppedf() |
186 | local off = uis:GetMouseLocation()-mouseStart |
187 | window.Position=dragStart+u2(0,off.X,0,off.Y) |
188 | end |
189 | local function inputbeganf(a) |
190 | a=a.UserInputType |
191 | if ((a==MB1enum) or (a==TOUCHenum)) and (activeEntered==0) and not uis:GetFocusedTextBox() then |
192 | mouseStart=uis:GetMouseLocation() |
193 | dragStart=window.Position |
194 | if rendersteppedcon then rendersteppedcon:Disconnect() end |
195 | rendersteppedcon = renderstepped:Connect(rendersteppedf) |
196 | if inputendedcon then inputendedcon:Disconnect() end |
197 | inputendedcon = uis.InputEnded:Connect(inputendedf) |
198 | end |
199 | end |
200 | obj.MouseEnter:Connect(function() |
201 | if inputbegancon then inputbegancon:Disconnect() end |
202 | inputbegancon = uis.InputBegan:Connect(inputbeganf) |
203 | end) |
204 | obj.MouseLeave:Connect(function() |
205 | inputbegancon:Disconnect() |
206 | end) |
207 | local function ondes(d) |
208 | if d:IsA("GuiObject") then |
209 | local thisEntered = false |
210 | local thisAdded = false |
211 | local con0 = d.MouseEnter:Connect(function() |
212 | thisEntered = true |
213 | if (not thisAdded) and d.Active then |
214 | activeEntered = activeEntered + 1 |
215 | thisAdded = true |
216 | end |
217 | end) |
218 | local con1 = d.MouseLeave:Connect(function() |
219 | thisEntered = false |
220 | if thisAdded then |
221 | activeEntered = activeEntered - 1 |
222 | thisAdded = false |
223 | end |
224 | end) |
225 | local con2 = d:GetPropertyChangedSignal("Active"):Connect(function() |
226 | if thisEntered then |
227 | if thisAdded and not d.Active then |
228 | activeEntered = activeEntered - 1 |
229 | thisAdded = false |
230 | elseif d.Active and not thisAdded then |
231 | activeEntered = activeEntered + 1 |
232 | thisAdded = true |
233 | end |
234 | end |
235 | end) |
236 | local con3 = nil |
237 | con3 = d.AncestryChanged:Connect(function() |
238 | if not d:IsDescendantOf(window) then |
239 | if thisEntered then |
240 | activeEntered = activeEntered - 1 |
241 | end |
242 | con0:Disconnect() |
243 | con1:Disconnect() |
244 | con2:Disconnect() |
245 | con3:Disconnect() |
246 | end |
247 | end) |
248 | end |
249 | end |
250 | window.DescendantAdded:Connect(ondes) |
251 | local des=window:GetDescendants() |
252 | for i=1,#des do |
253 | ondes(des[i]) |
254 | end |
255 | end |
256 | Draggable(i1) |
257 | |
258 | local others={} |
259 | for i,v in pairs(plrs:GetPlayers()) do |
260 | if v~=lp then |
261 | others[v]=true |
262 | end |
263 | end |
264 | plrs.PlayerAdded:Connect(function(plr) |
265 | others[plr]=true |
266 | end) |
267 | local function findplr(txt) |
268 | if txt=="" then |
269 | return nil |
270 | end |
271 | for v,_ in pairs(others) do |
272 | if v.DisplayName==txt then |
273 | return v |
274 | end |
275 | end |
276 | for v,_ in pairs(others) do |
277 | if v.Name==txt then |
278 | return v |
279 | end |
280 | end |
281 | local lower=slower(txt) |
282 | for v,_ in pairs(others) do |
283 | if slower(v.DisplayName)==lower then |
284 | return v |
285 | end |
286 | end |
287 | for v,_ in pairs(others) do |
288 | if slower(v.Name)==lower then |
289 | return v |
290 | end |
291 | end |
292 | local l=#txt |
293 | for v,_ in pairs(others) do |
294 | if ssub(v.DisplayName,l,l)==txt then |
295 | return v |
296 | end |
297 | end |
298 | for v,_ in pairs(others) do |
299 | if ssub(v.Name,l,l)==txt then |
300 | return v |
301 | end |
302 | end |
303 | for v,_ in pairs(others) do |
304 | if slower(ssub(v.DisplayName,l,l))==lower then |
305 | return v |
306 | end |
307 | end |
308 | for v,_ in pairs(others) do |
309 | if slower(ssub(v.Name,l,l))==lower then |
310 | return v |
311 | end |
312 | end |
313 | return nil |
314 | end |
315 | local target=nil |
316 | i4:GetPropertyChangedSignal("Text"):Connect(function() |
317 | local txt=i4.Text |
318 | target=findplr(txt) |
319 | if target then |
320 | if (target.DisplayName) and (target.DisplayName~="") and (target.DisplayName~=target.Name) then |
321 | i7.Text=target.DisplayName.." @"..target.Name |
322 | else |
323 | i7.Text="@"..target.Name |
324 | end |
325 | i5.TextColor3=c3(0.301961,1,0) |
326 | else |
327 | i7.Text="" |
328 | i5.TextColor3=c3(0.55,0.55,0.55) |
329 | end |
330 | end) |
331 | plrs.PlayerRemoving:Connect(function(plr) |
332 | others[plr]=nil |
333 | if plr==target then |
334 | target=nil |
335 | i7.Text="" |
336 | i5.TextColor3=c3(0.55,0.55,0.55) |
337 | end |
338 | end) |
339 | local notifyid=0 |
340 | local function notify(txt) |
341 | notifyid=notifyid+1 |
342 | local thisid=notifyid |
343 | i6.Text=txt |
344 | twait(2) |
345 | if notifyid==thisid then |
346 | i6.Text="by 🍭" |
347 | end |
348 | end |
349 | local bringing=false |
350 | i5.MouseButton1Click:Connect(function() |
351 | if bringing then |
352 | bringing=false |
353 | i5.Text="BRING" |
354 | return |
355 | end |
356 | if not target then |
357 | return |
358 | end |
359 | local c=lp.Character |
360 | local c1=target.Character |
361 | if not (c and c1) then |
362 | return notify("no xharakter") |
363 | end |
364 | if not (c:IsDescendantOf(ws) and c1:IsDescendantOf(ws)) then |
365 | return notify("character not in workspace") |
366 | end |
367 | local hrp=gp(c,"HumanoidRootPart","BasePart") |
368 | local hrp1=gp(c1,"HumanoidRootPart","BasePart") |
369 | if not (hrp and hrp1) then |
370 | return notify("no humanoidrootpart") |
371 | end |
372 | bringing=true |
373 | i5.Text="bringing" |
374 | local from=hrp1.CFrame |
375 | local fromP=from.Position |
376 | local to=hrp.CFrame |
377 | local toP=to.Position |
378 | local mag=(fromP-toP).Magnitude-3 |
379 | local lv=cf(fromP,toP).LookVector |
380 | local vel=0 |
381 | local pos=from.Position-v3_010*2 |
382 | toP=toP-v3_010*2 |
383 | |
384 | local sine=osclock() |
385 | local lastsine=sine |
386 | local way=0 |
387 | local reachedmaxspeed=false |
388 | while bringing and c:IsDescendantOf(ws) and c1:IsDescendantOf(ws) do |
389 | sine=osclock() |
390 | local deltaTime=sine-lastsine |
391 | lastsine=sine |
392 | if reachedmaxspeed then |
393 | if mag-way<reachedmaxspeed then |
394 | vel=vel-deltaTime*speeding |
395 | if vel<0 then |
396 | break |
397 | end |
398 | end |
399 | else |
400 | if way>mag/2 then |
401 | vel=vel-deltaTime*speeding |
402 | if vel<0 then |
403 | break |
404 | end |
405 | else |
406 | vel=vel+deltaTime*speeding |
407 | if vel>maxspeed then |
408 | reachedmaxspeed=way |
409 | vel=maxspeed |
410 | end |
411 | end |
412 | end |
413 | way=way+vel*deltaTime |
414 | if not hrp:IsGrounded() then |
415 | hrp.CFrame=cf(pos+lv*way,toP)*off |
416 | hrp.Velocity=lv*(vel+1) |
417 | hrp.RotVelocity=v3_0 |
418 | end |
419 | twait() |
420 | end |
421 | hrp.CFrame=to |
422 | hrp.Velocity=v3_0 |
423 | hrp.RotVelocity=v3_0 |
424 | bringing=false |
425 | i5.Text="BRING" |
426 | end) |
427 | local iscg,_=pcall(function() |
428 | i8.Parent=game:FindFirstChildOfClass("CoreGui") |
429 | end) |
430 | if not iscg then |
431 | i8.Parent=lp:FindFirstChildOfClass("PlayerGui") |
432 | end |