Optimize your experience in El Paso Texas Border Roleplay with this fully-featured Anti-Teleport and Auto Farm script. Prevent teleportation detection, farm efficiently, and automate key tasks for faster progression. Enhance your gameplay with teleportation and inventory helpers, including smuggling operations and automatic item collection.
No comments yet. Be the first to comment!
1-- // Anti-Teleport System
2local players = game:GetService('Players')
3local runService = game:GetService('RunService')
4local tweenService = game:GetService('TweenService')
5local lplr = players.LocalPlayer
6local lastCF, stop, heartbeatConnection, cfConnection
7local enabled = false
8
9local function cleanup()
10 if heartbeatConnection then heartbeatConnection:Disconnect() heartbeatConnection = nil end
11 if cfConnection then cfConnection:Disconnect() cfConnection = nil end
12end
13
14local function start()
15 if not lplr.Character or not lplr.Character:FindFirstChildOfClass('Humanoid') or not lplr.Character:FindFirstChildOfClass('Humanoid').RootPart then return end
16 cleanup()
17 heartbeatConnection = runService.Heartbeat:Connect(function()
18 if stop or not enabled then return end
19 lastCF = lplr.Character:FindFirstChildOfClass('Humanoid').RootPart.CFrame
20 end)
21 cfConnection = lplr.Character:FindFirstChildOfClass('Humanoid').RootPart:GetPropertyChangedSignal('CFrame'):Connect(function()
22 if not enabled then return end
23 stop = true
24 lplr.Character:FindFirstChildOfClass('Humanoid').RootPart.CFrame = lastCF
25 runService.Heartbeat:Wait()
26 stop = false
27 end)
28 lplr.Character:FindFirstChildOfClass('Humanoid').Died:Connect(function()
29 cleanup()
30 end)
31end
32
33local function enableAntiTeleport()
34 enabled = true
35end
36
37local function disableAntiTeleport()
38 enabled = false
39 stop = false
40end
41
42lplr.CharacterAdded:Connect(function(character)
43 repeat runService.Heartbeat:Wait() until character:FindFirstChildOfClass('Humanoid')
44 repeat runService.Heartbeat:Wait() until character:FindFirstChildOfClass('Humanoid').RootPart
45 start()
46end)
47
48lplr.CharacterRemoving:Connect(function()
49 cleanup()
50end)
51
52enableAntiTeleport()
53start()
54
55local function teleportTo(position)
56 disableAntiTeleport()
57 runService.Heartbeat:Wait()
58 lplr.Character:FindFirstChildOfClass('Humanoid').RootPart.CFrame = CFrame.new(position)
59 runService.Heartbeat:Wait()
60 enableAntiTeleport()
61end
62
63-- // Inventory Helpers
64local function countInBackpack(itemName)
65 local count = 0
66 for _, item in ipairs(lplr.Backpack:GetChildren()) do
67 if item.Name == itemName then
68 count += 1
69 end
70 end
71 if lplr.Character then
72 for _, item in ipairs(lplr.Character:GetChildren()) do
73 if item:IsA('Tool') and item.Name == itemName then
74 count += 1
75 end
76 end
77 end
78 return count
79end
80
81local function hasInBackpack(itemName)
82 return countInBackpack(itemName) > 0
83end
84
85-- // Main Script Loop
86local looping = false
87local loopThread = nil
88
89local function mainScript()
90 local watch = workspace.Smuggling.Items["Fake Watch"].Main.PromptAtt.BasePurchasePrompt
91 local sar = workspace.Smuggling.Items.Sarsaparilla.Main.PromptAtt.BasePurchasePrompt
92 local bag = workspace.Smuggling.Items["Fake Designer Bag"].Main.PromptAtt.BasePurchasePrompt
93 local wash = workspace.Smuggling.Laundering:GetChildren()[4].LaundryPrompt
94
95 local function totalItems()
96 return countInBackpack("Fake Watch") + countInBackpack("Sarsaparilla") + countInBackpack("Fake Designer Bag")
97 end
98
99 --1 teleport once, re-teleport if stuck 7s, until 3 Fake Watch or total = 10
100 local function runPart1()
101 teleportTo(Vector3.new(-1845, 3, 0))
102 local t = tick()
103 repeat
104 if tick() - t >= 7 then
105 teleportTo(Vector3.new(-1845, 3, 0))
106 t = tick()
107 end
108 fireproximityprompt(watch) task.wait(0.1)
109 fireproximityprompt(watch) task.wait(0.1)
110 fireproximityprompt(watch) task.wait(0.1)
111 runService.Heartbeat:Wait()
112 until countInBackpack("Fake Watch") >= 3 or totalItems() >= 10
113 end
114 runPart1()
115
116 --3 teleport once, re-teleport if stuck 7s, until 3 Fake Designer Bag or total = 10
117 if totalItems() < 10 then
118 local function runPart3()
119 teleportTo(Vector3.new(-1831, 3, -2))
120 local t = tick()
121 repeat
122 if tick() - t >= 7 then
123 teleportTo(Vector3.new(-1831, 3, -2))
124 t = tick()
125 end
126 fireproximityprompt(bag) task.wait(0.1)
127 fireproximityprompt(bag) task.wait(0.1)
128 fireproximityprompt(bag) task.wait(0.1)
129 runService.Heartbeat:Wait()
130 until countInBackpack("Fake Designer Bag") >= 3 or totalItems() >= 10
131 end
132 runPart3()
133 end
134
135 --2 teleport once, re-teleport if stuck 7s, until 4 Sarsaparilla or total = 10
136 if totalItems() < 10 then
137 local function runPart2()
138 teleportTo(Vector3.new(-1840, 3, 1))
139 local t = tick()
140 repeat
141 if tick() - t >= 7 then
142 teleportTo(Vector3.new(-1840, 3, 1))
143 t = tick()
144 end
145 fireproximityprompt(sar) task.wait(0.1)
146 fireproximityprompt(sar) task.wait(0.1)
147 fireproximityprompt(sar) task.wait(0.1)
148 fireproximityprompt(sar) task.wait(0.1)
149 runService.Heartbeat:Wait()
150 until countInBackpack("Sarsaparilla") >= 4 or totalItems() >= 10
151 end
152 runPart2()
153 end
154
155 -- if total is still not 10, keep cycling parts 1-3-2 until it is
156 while totalItems() < 10 do
157 if countInBackpack("Fake Watch") < 3 then
158 teleportTo(Vector3.new(-1845, 3, 0))
159 local t = tick()
160 repeat
161 if tick() - t >= 7 then
162 teleportTo(Vector3.new(-1845, 3, 0))
163 t = tick()
164 end
165 fireproximityprompt(watch) task.wait(0.1)
166 runService.Heartbeat:Wait()
167 until countInBackpack("Fake Watch") >= 3 or totalItems() >= 10
168 end
169 if totalItems() >= 10 then break end
170
171 if countInBackpack("Fake Designer Bag") < 3 then
172 teleportTo(Vector3.new(-1831, 3, -2))
173 local t = tick()
174 repeat
175 if tick() - t >= 7 then
176 teleportTo(Vector3.new(-1831, 3, -2))
177 t = tick()
178 end
179 fireproximityprompt(bag) task.wait(0.1)
180 runService.Heartbeat:Wait()
181 until countInBackpack("Fake Designer Bag") >= 3 or totalItems() >= 10
182 end
183 if totalItems() >= 10 then break end
184
185 if countInBackpack("Sarsaparilla") < 4 then
186 teleportTo(Vector3.new(-1840, 3, 1))
187 local t = tick()
188 repeat
189 if tick() - t >= 7 then
190 teleportTo(Vector3.new(-1840, 3, 1))
191 t = tick()
192 end
193 fireproximityprompt(sar) task.wait(0.1)
194 runService.Heartbeat:Wait()
195 until countInBackpack("Sarsaparilla") >= 4 or totalItems() >= 10
196 end
197 end
198
199 --4 re-teleport if stuck 7s, until Briefcase appears
200 teleportTo(Vector3.new(3147, 0, -184))
201 task.wait(1.75)
202 local t4 = tick()
203 repeat
204 if tick() - t4 >= 7 then
205 teleportTo(Vector3.new(3147, 0, -184))
206 task.wait(1.75)
207 t4 = tick()
208 end
209 local sell = workspace.Smuggling.Sell.Prompt.SellSmugglePrompt
210 fireproximityprompt(sell) task.wait(0.1)
211 runService.Heartbeat:Wait()
212 until hasInBackpack("Briefcase")
213
214 --5 re-teleport if stuck 7s, until Briefcase is gone
215 teleportTo(Vector3.new(-1834, 3, -8))
216 local t5 = tick()
217 repeat
218 if tick() - t5 >= 7 then
219 teleportTo(Vector3.new(-1834, 3, -8))
220 t5 = tick()
221 end
222 fireproximityprompt(wash) task.wait(0.1)
223 runService.Heartbeat:Wait()
224 until not hasInBackpack("Briefcase")
225
226 -- always ensure anti-teleport is re-enabled after each cycle
227 enableAntiTeleport()
228end
229
230-- // UI
231local screenGui = Instance.new('ScreenGui')
232screenGui.Name = 'SmugglingUI'
233screenGui.ResetOnSpawn = false
234screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
235screenGui.Parent = lplr.PlayerGui
236
237-- Main Frame
238local mainFrame = Instance.new('Frame')
239mainFrame.Name = 'MainFrame'
240mainFrame.Size = UDim2.new(0, 220, 0, 185)
241mainFrame.Position = UDim2.new(0.5, -110, 0.05, 0)
242mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
243mainFrame.BorderSizePixel = 0
244mainFrame.Active = true
245mainFrame.Parent = screenGui
246
247local mainCorner = Instance.new('UICorner')
248mainCorner.CornerRadius = UDim.new(0, 10)
249mainCorner.Parent = mainFrame
250
251local mainStroke = Instance.new('UIStroke')
252mainStroke.Color = Color3.fromRGB(80, 80, 120)
253mainStroke.Thickness = 1.2
254mainStroke.Parent = mainFrame
255
256-- Top Bar (drag handle)
257local topBar = Instance.new('Frame')
258topBar.Name = 'TopBar'
259topBar.Size = UDim2.new(1, 0, 0, 36)
260topBar.BackgroundColor3 = Color3.fromRGB(25, 25, 38)
261topBar.BorderSizePixel = 0
262topBar.Parent = mainFrame
263
264local topCorner = Instance.new('UICorner')
265topCorner.CornerRadius = UDim.new(0, 10)
266topCorner.Parent = topBar
267
268-- fix bottom corners of topbar
269local topBarFix = Instance.new('Frame')
270topBarFix.Size = UDim2.new(1, 0, 0.5, 0)
271topBarFix.Position = UDim2.new(0, 0, 0.5, 0)
272topBarFix.BackgroundColor3 = Color3.fromRGB(25, 25, 38)
273topBarFix.BorderSizePixel = 0
274topBarFix.Parent = topBar
275
276-- Title
277local title = Instance.new('TextLabel')
278title.Size = UDim2.new(1, -70, 1, 0)
279title.Position = UDim2.new(0, 12, 0, 0)
280title.BackgroundTransparency = 1
281title.Text = 'El Paso'
282title.TextColor3 = Color3.fromRGB(200, 200, 255)
283title.TextSize = 15
284title.Font = Enum.Font.GothamBold
285title.TextXAlignment = Enum.TextXAlignment.Left
286title.Parent = topBar
287
288-- Minimize Button
289local minimizeBtn = Instance.new('TextButton')
290minimizeBtn.Size = UDim2.new(0, 28, 0, 28)
291minimizeBtn.Position = UDim2.new(1, -62, 0.5, -14)
292minimizeBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 75)
293minimizeBtn.BorderSizePixel = 0
294minimizeBtn.Text = '-'
295minimizeBtn.TextColor3 = Color3.fromRGB(180, 180, 220)
296minimizeBtn.TextSize = 14
297minimizeBtn.Font = Enum.Font.GothamBold
298minimizeBtn.Parent = topBar
299
300local minCorner = Instance.new('UICorner')
301minCorner.CornerRadius = UDim.new(0, 6)
302minCorner.Parent = minimizeBtn
303
304-- Close Button
305local closeBtn = Instance.new('TextButton')
306closeBtn.Size = UDim2.new(0, 28, 0, 28)
307closeBtn.Position = UDim2.new(1, -30, 0.5, -14)
308closeBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 60)
309closeBtn.BorderSizePixel = 0
310closeBtn.Text = 'X'
311closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
312closeBtn.TextSize = 13
313closeBtn.Font = Enum.Font.GothamBold
314closeBtn.Parent = topBar
315
316local closeCorner = Instance.new('UICorner')
317closeCorner.CornerRadius = UDim.new(0, 6)
318closeCorner.Parent = closeBtn
319
320-- Content Frame
321local content = Instance.new('Frame')
322content.Name = 'Content'
323content.Size = UDim2.new(1, 0, 1, -36)
324content.Position = UDim2.new(0, 0, 0, 36)
325content.BackgroundTransparency = 1
326content.Parent = mainFrame
327
328-- Status Label
329local statusLabel = Instance.new('TextLabel')
330statusLabel.Size = UDim2.new(1, -20, 0, 22)
331statusLabel.Position = UDim2.new(0, 10, 0, 10)
332statusLabel.BackgroundTransparency = 1
333statusLabel.Text = 'Status: Idle'
334statusLabel.TextColor3 = Color3.fromRGB(130, 130, 160)
335statusLabel.TextSize = 13
336statusLabel.Font = Enum.Font.Gotham
337statusLabel.TextXAlignment = Enum.TextXAlignment.Left
338statusLabel.Parent = content
339
340-- Start/Stop Button
341local toggleBtn = Instance.new('TextButton')
342toggleBtn.Size = UDim2.new(1, -20, 0, 40)
343toggleBtn.Position = UDim2.new(0, 10, 0, 40)
344toggleBtn.BackgroundColor3 = Color3.fromRGB(50, 160, 90)
345toggleBtn.BorderSizePixel = 0
346toggleBtn.Text = 'START'
347toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
348toggleBtn.TextSize = 15
349toggleBtn.Font = Enum.Font.GothamBold
350toggleBtn.Parent = content
351
352local toggleCorner = Instance.new('UICorner')
353toggleCorner.CornerRadius = UDim.new(0, 8)
354toggleCorner.Parent = toggleBtn
355
356-- Loop counter
357local loopCount = 0
358local loopCountLabel = Instance.new('TextLabel')
359loopCountLabel.Size = UDim2.new(1, -20, 0, 18)
360loopCountLabel.Position = UDim2.new(0, 10, 0, 95)
361loopCountLabel.BackgroundTransparency = 1
362loopCountLabel.Text = 'Loops: 0'
363loopCountLabel.TextColor3 = Color3.fromRGB(90, 90, 120)
364loopCountLabel.TextSize = 12
365loopCountLabel.Font = Enum.Font.Gotham
366loopCountLabel.TextXAlignment = Enum.TextXAlignment.Left
367loopCountLabel.Parent = content
368
369-- Money earned label
370local moneyLabel = Instance.new('TextLabel')
371moneyLabel.Size = UDim2.new(1, -20, 0, 18)
372moneyLabel.Position = UDim2.new(0, 10, 0, 114)
373moneyLabel.BackgroundTransparency = 1
374moneyLabel.Text = 'Earned: $0'
375moneyLabel.TextColor3 = Color3.fromRGB(80, 200, 100)
376moneyLabel.TextSize = 12
377moneyLabel.Font = Enum.Font.Gotham
378moneyLabel.TextXAlignment = Enum.TextXAlignment.Left
379moneyLabel.Parent = content
380
381-- Time elapsed label
382local timeLabel = Instance.new('TextLabel')
383timeLabel.Size = UDim2.new(1, -20, 0, 18)
384timeLabel.Position = UDim2.new(0, 10, 0, 133)
385timeLabel.BackgroundTransparency = 1
386timeLabel.Text = 'Time: 00:00:00'
387timeLabel.TextColor3 = Color3.fromRGB(130, 130, 200)
388timeLabel.TextSize = 12
389timeLabel.Font = Enum.Font.Gotham
390timeLabel.TextXAlignment = Enum.TextXAlignment.Left
391timeLabel.Parent = content
392
393-- // Timer logic
394local elapsedTime = 0
395local timerConnection = nil
396
397local function formatTime(seconds)
398 local h = math.floor(seconds / 3600)
399 local m = math.floor((seconds % 3600) / 60)
400 local s = math.floor(seconds % 60)
401 return string.format('%02d:%02d:%02d', h, m, s)
402end
403
404local function startTimer()
405 if timerConnection then timerConnection:Disconnect() end
406 timerConnection = runService.Heartbeat:Connect(function(dt)
407 elapsedTime += dt
408 timeLabel.Text = 'Time: ' .. formatTime(elapsedTime)
409 end)
410end
411
412local function stopTimer()
413 if timerConnection then
414 timerConnection:Disconnect()
415 timerConnection = nil
416 end
417end
418
419-- // Toggle Logic
420local function setRunning(state)
421 looping = state
422 if state then
423 statusLabel.Text = 'Status: Running...'
424 statusLabel.TextColor3 = Color3.fromRGB(80, 220, 120)
425 toggleBtn.Text = 'STOP'
426 toggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 60)
427 startTimer()
428 loopThread = task.spawn(function()
429 while looping do
430 mainScript()
431 if looping then
432 loopCount += 1
433 loopCountLabel.Text = 'Loops: ' .. loopCount
434 moneyLabel.Text = 'Earned: $' .. (loopCount * 3250)
435 end
436 end
437 enableAntiTeleport()
438 end)
439 else
440 statusLabel.Text = 'Status: Stopped'
441 statusLabel.TextColor3 = Color3.fromRGB(220, 80, 80)
442 toggleBtn.Text = 'â–¶ START'
443 toggleBtn.BackgroundColor3 = Color3.fromRGB(50, 160, 90)
444 stopTimer()
445 loopThread = nil
446 end
447end
448
449toggleBtn.MouseButton1Click:Connect(function()
450 setRunning(not looping)
451end)
452
453-- // Minimize Logic
454local minimized = false
455local fullSize = UDim2.new(0, 220, 0, 185)
456local miniSize = UDim2.new(0, 220, 0, 36)
457
458minimizeBtn.MouseButton1Click:Connect(function()
459 minimized = not minimized
460 local tween = tweenService:Create(mainFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
461 Size = minimized and miniSize or fullSize
462 })
463 tween:Play()
464 content.Visible = not minimized
465 minimizeBtn.Text = minimized and '□' or '—'
466end)
467
468-- // Close Logic
469closeBtn.MouseButton1Click:Connect(function()
470 setRunning(false)
471 screenGui:Destroy()
472end)
473
474-- // Drag Logic (PC & Mobile)
475local dragging = false
476local dragStart = nil
477local startPos = nil
478
479local function updateDrag(input)
480 local delta = input.Position - dragStart
481 mainFrame.Position = UDim2.new(
482 startPos.X.Scale,
483 startPos.X.Offset + delta.X,
484 startPos.Y.Scale,
485 startPos.Y.Offset + delta.Y
486 )
487end
488
489topBar.InputBegan:Connect(function(input)
490 if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
491 dragging = true
492 dragStart = input.Position
493 startPos = mainFrame.Position
494 input.Changed:Connect(function()
495 if input.UserInputState == Enum.UserInputState.End then
496 dragging = false
497 end
498 end)
499 end
500end)
501
502topBar.InputChanged:Connect(function(input)
503 if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
504 updateDrag(input)
505 end
506end)
507
508game:GetService('UserInputService').InputChanged:Connect(function(input)
509 if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
510 updateDrag(input)
511 end
512end)