Run it
Copy the script and paste it into your executor.
().deletewhendupefound =
localplr = :().LocalPlayer
mouse = localplr:()
lib = (:())()
lib.()
main = lib.()
drag = lib.()
trav = lib.()
tools = lib.()
loopclickpart = .()
loopclickpart.Anchored =
loopclickpart.CanCollide =
loopclickpart.Color = .(,,)
loopclickpart.Shape = .PartType.Ball
loopclickpart.Size = .(,,)
loopclickpart.Transparency =
loopclickpart.Material = .Material.SmoothPlastic
loopclickpart.Parent =
loopclick =
tableofconnections = {}
trainhighlight = .()
trainhighlight.Enabled =
trainhighlight.Adornee = :()
trainhighlight.Parent = .CoreGui
uis = :()
mousereq
(()
mousereq = (:().Client.Controllers.MouseController)
)
:()
.(()
trainhighlight.Adornee = :(,.huge)
)()
lib.(,main,(bool)
uis.MouseIconEnabled = bool
)
lib.(,main,(bool)
:().LocalPlayer.PlayerGui.LoadingScreenPrefab.Enabled = bool
)
localplr.CameraMaxZoomDistance =
localplr.CameraMode =
uis.MouseBehavior = .MouseBehavior.Default
thirdperson =
lib.(,main,(bool)
thirdperson = bool
bool
localplr.CameraMaxZoomDistance =
localplr.CameraMode =
mousereq
mousereq.()
mousereq.(.MouseBehavior.Default,)
uis.MouseBehavior = .MouseBehavior.Default
localplr.CameraMaxZoomDistance =
localplr.CameraMode =
mousereq
mousereq.(.MouseBehavior.LockCenter,)
uis.MouseBehavior = .MouseBehavior.LockCenter
,)
.(tableofconnections,uis.InputEnded:((input)
input.KeyCode == .KeyCode.RightControl thirdperson
localplr.CameraMaxZoomDistance =
localplr.CameraMode =
mousereq
mousereq.()
mousereq.(.MouseBehavior.Default,)
uis.MouseBehavior = .MouseBehavior.Default
))
lib.(,trav,(bool)
loopclick = bool
)
posgoto =
.(tableofconnections,mouse.Button1Down:(()
loopclick
hit = .(mouse.hit.Position)
.Players.LocalPlayer.Character .Players.LocalPlayer.Character:()
hit = hit + .(,.Players.LocalPlayer.Character.HumanoidRootPart.Size.Y*,)
loopclickpart.CFrame = hit
loopclickpart.Transparency =
posgoto = hit
))
precentagetext =
lib.(,trav,()
posgoto
pos = posgoto
posgoto =
loopclickpart.Transparency =
timebefore = ()
posdiff = (.Players.LocalPlayer.Character:().Position - pos.Position).Magnitude
.()
.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = pos
lib.((.(timebefore+(posdiff/) - ()))..,precentagetext)
() > timebefore+(posdiff/)
)
precentagetext = lib.(,trav)
lib.(,main)
lib.(,main,()
:():()
)
lib.(,main,()
(:())()
)
lib.(,main)
(bool)
:()
i,v (.StartingBaseplate:())
v:()
v.CanCollide = bool
bool == v:()
pathfindmod = .()
pathfindmod.PassThrough =
pathfindmod.Parent = v
v:() bool ==
v:()
:()
i,v (.Baseplates:())
v:()
v.CanCollide = bool
bool == v:()
pathfindmod = .()
pathfindmod.PassThrough =
pathfindmod.Parent = v
v:() bool ==
v:()
PathfindingService = :()
Players = :()
RunService = :()
Workspace = :()
path = PathfindingService:({})
waypoints
nextWaypointIndex
reachedConnection
blockedConnection
currrailroad =
wcrl =
pathfindparts = {}
(destination)
wcrl ==
()
success, errorMessage = (()
path:(localplr.Character.HumanoidRootPart.Position, currrailroad.Position)
)
(success,errorMessage,path.Status)
wcrl success path.Status == .PathStatus.Success
waypoints = path:()
blockedConnection = path.Blocked:((blockedWaypointIndex)
wcrl blockedWaypointIndex >= nextWaypointIndex
blockedConnection:()
()
(currrailroad.Position + .(,,))
)
reachedConnection
reachedConnection = localplr.Character.Humanoid.MoveToFinished:((reached)
keepgoing =
wcrl nextWaypointIndex < #waypoints
keepgoing =
reachedConnection:()
blockedConnection:()
reachedConnection =
blockedConnection =
wcrl nextWaypointIndex >= #waypoints
(currrailroad.Position + .(,,))
keepgoing
nextWaypointIndex +=
localplr.Character.Humanoid:(waypoints[nextWaypointIndex].Position)
i,v (pathfindparts)
v:()
pathfindparts[i] =
i,v (waypoints)
.(nextWaypointIndex-i) <
pfpart = .()
pfpart.Anchored =
pfpart.CanCollide =
pfpart.Size = .(,,)
pfpart.Transparency =
pfpart.Color = .(,,)
pfpart.CFrame = .(v.Position+.(,,))
pfpart.CanQuery =
pfpart.CastShadow =
pathfindmod = .()
pathfindmod.PassThrough =
pathfindmod.Parent = pfpart
pfpart.Parent =
.(pathfindparts,pfpart)
)
nextWaypointIndex =
(waypoints[nextWaypointIndex].Position)
localplr.Character.Humanoid:(waypoints[nextWaypointIndex].Position)
(, errorMessage,currrailroad)
lib.(,main,(bool)
wcrl = bool
wcrl
guides = {}
i,v (.RailSegments:())
v:()
.(guides,v.Guide)
bestguide =
i,v (guides)
bestguide ==
bestguide = {v,(localplr.Character:().Position - v.Position).Magnitude}
bestguide ~= bestguide[] > (localplr.Character:().Position - v.Position).Magnitude
bestguide = {v,(localplr.Character:().Position - v.Position).Magnitude}
fp =
bestguide
.()
localplr.Character.Humanoid:(bestguide[].Position)
((bestguide[].Position - .(,bestguide[].Position.Y,)) - (localplr.Character:().Position - .(,localplr.Character:().Position.Y,))).Magnitude <
tween = :():(localplr.Character.HumanoidRootPart,TweenInfo.(,.EasingStyle.Linear,.EasingDirection.In,,,),{ = (bestguide[].CFrame+.(,,))})
()
tween:()
.()
ft =
bestguide =
wcrl
.()
()
guides = {}
i,v (.RailSegments:())
v:()
.(guides,v.Guide)
i,v (guides)
bestguide ==
bestguide = {v,(v.Position.Z + ),(localplr.Character:().Position - v.Position).Magnitude}
bestguide ~= bestguide[] > v.Position.Z +
bestguide = {v,(v.Position.Z + ),(localplr.Character:().Position - v.Position).Magnitude}
bestguide
currrailroad = bestguide[]
ft ==
ft =
fp = (currrailroad.Position + .(,,))
.()
currrailroad =
()
i,v (pathfindparts)
v:()
reachedConnection
reachedConnection:()
reachedConnection =
blockedConnection
blockedConnection:()
blockedConnection =
)
lib.(,main)
fpsdiv =
destroyheight = .FallenPartsDestroyHeight
.FallenPartsDestroyHeight = -
dhoffset =
dhto =
sentnotif =
destroyheightnew = destroyheight + dhoffset
localplr = .Players.LocalPlayer
connectsextra = {}
charcframe =
tpcframe =
stopped =
antivoidon =
(character)
.(()
.() character:()
hum = character:()
state = hum:()
.(connectsextra,hum.StateChanged:((old,new)
state = new
))
oldstate =
hum ~= hum.Parent ~= stopped
.()
state ~= oldstate (state ~= .HumanoidStateType.Jumping state ~= .HumanoidStateType.Freefall) (state == .HumanoidStateType.Running state == .HumanoidStateType.Landed)
tpcframe = charcframe
oldstate = state
)()
character = .Players.LocalPlayer.Character
().deletescript123456lol69 ~=
().()
characteradded = localplr.CharacterAdded:((character2)
character = character2
(character2)
)
(character)
startergui = :()
(message,yesorno,yesfunc)
(()
yesorno ~= yesfunc ~=
bindfunc = .()
bindfunc.OnInvoke = (buttonname)
buttonname ==
()
sentnotif =
startergui:(,{
Title = ,
Text = message,
Duration = ,
Callback = bindfunc,
Button1 = ,
Button2 =
})
()
sentnotif =
startergui:(,{
Title = ,
Text = message,
Duration =
})
)
(part)
character
piv = character:()
character:(.(piv.Position.X,destroyheight+dhto+character:().Y,piv.Position.Z))
part
part.Velocity = .(,,)
character
i,v (character:())
v:()
v.Velocity = .(,,)
tpcframe ~= sentnotif ==
sentnotif =
(,,()
character
character:(tpcframe)
part
part.Velocity = .(,,)
)
stepped = :().Stepped:(()
character ~= character:() antivoidon
part = character:() character:()
cfr = (character:() character.HumanoidRootPart.CFrame) character:()
charcframe = cfr
cfr.Position.Y < destroyheightnew
(part)
partvel = part.Velocity
(partvel.Y/fpsdiv) + part.Position.Y < destroyheightnew
(part)
)
()
().deletescript123456lol69 = ()
.FallenPartsDestroyHeight = destroyheight
characteradded:()
stepped:()
i,v (connectsextra)
v:()
stopped =
lib.(,main,(bool)
antivoidon = bool
,)
lib.(,main,()
vseat = .Train:(,)
()
vseat =
)
showradius =
lib.(,main,(bool)
showradius = bool
)
ltpe =
lib.(,main,(bool)
ltpe = bool
)
lib.(,main,()
water = .Baseplates.FinalBasePlate:()
water.CanCollide =
pwp = water.CFrame
water.CFrame = localplr.Character:()
.()
water.CFrame = pwp
water.CanCollide =
)
bankcomb = lib.(,main)
lib.(,trav,(bool)
trainhighlight.Enabled = bool
)
vt =
()
vt
.CurrentCamera.CameraSubject = .Train.TrainControls
.CurrentCamera.CameraSubject = localplr.Character.Humanoid
wtt =
lib.(,trav,(bool)
wtt = bool
wtt
(()
localplr.Character.Humanoid:(.Train:().Position)
)
.()
)
ftt =
lib.(,trav,(bool)
ftt = bool
ftt
(()
:().Shared.Remotes.RagdollFlop:(.(.Players.LocalPlayer.Character:().Position,.Train:().Position).LookVector)
)
.()
)
dft = lib.(,trav)
dfs = lib.(,trav)
lib.(,trav,(bool)
vt = bool
()
)
plrtracers =
lib.(,trav,(bool)
plrtracers = bool
)
insun = lib.(,trav)
player = localplr
()
screenGui = .()
screenGui.Name =
screenGui.Parent = .CoreGui
screenGui
screenGui = ()
lines = {}
labels = {}
(player)
line = .()
line.Size = .(, , , )
line.BackgroundColor3 = .(, , )
line.BorderSizePixel =
line.AnchorPoint = .(, )
line.Visible =
line.Parent = screenGui
label = .()
label.Size = .(, , , )
label.Text = player.DisplayName
label.TextColor3 = .(, , )
label.TextSize =
label.BackgroundTransparency =
label.AnchorPoint = .(, )
label.ZIndex =
label.TextStrokeTransparency =
label.TextStrokeColor3 = .(, , )
label.Visible =
label.Parent = screenGui
lines[player.UserId] = line
labels[player.UserId] = label
()
screenWidth = :().CurrentCamera.ViewportSize.X
screenHeight = :().CurrentCamera.ViewportSize.Y
screenCenter = .(screenWidth / , screenHeight / )
_, player (.Players:())
player == .Players.LocalPlayer
player.Character player.Character:()
worldPos = player.Character.HumanoidRootPart.Position
screenPos, onScreen = :().CurrentCamera:(worldPos)
screenPos2D = .(screenPos.X, screenPos.Y)
line = lines[player.UserId]
label = labels[player.UserId]
line
(player)
line = lines[player.UserId]
label = labels[player.UserId]
onScreen plrtracers
direction = screenPos2D - screenCenter
distance = direction.Magnitude
line.Size = .(, distance, , )
halfwayPosition = screenCenter + (direction * )
line.Position = .(, halfwayPosition.X, , halfwayPosition.Y)
angle = .(.(direction.Y, direction.X))
line.Rotation = angle
camera = :().CurrentCamera
playerDistance = (camera.CFrame.Position - worldPos).Magnitude
textSize = .(, .(, / playerDistance))
label.TextSize = textSize
labelOffset = .(, )
label.Position = .(, screenPos2D.X + labelOffset.X, , screenPos2D.Y + labelOffset.Y)
label.Text = player.DisplayName....(.(playerDistance))..
line.Visible =
label.Visible =
line.Visible =
label.Visible =
lines[player.UserId]
lines[player.UserId].Visible =
labels[player.UserId]
labels[player.UserId].Visible =
opr = .Players.PlayerRemoving:((playerLeaving)
line = lines[playerLeaving.UserId]
label = labels[playerLeaving.UserId]
line
line:()
lines[playerLeaving.UserId] =
label
label:()
labels[playerLeaving.UserId] =
)
collidedrag =
dragparts = {}
playerdragparts = {}
(v,t)
( v:() (v:() v:() (v.HumanoidRootPart.CollisionGroup == v.HumanoidRootPart.CollisionGroup == )))
i2,v2 (v:())
v2:()
(v2.CollisionGroup == v2.CollisionGroup == v2.CollisionGroup == ) collidedrag
v2.CollisionGroup =
.(tableofconnections,v2:():(()
(v2.CollisionGroup == v2.CollisionGroup == v2.CollisionGroup == ) collidedrag
v2.CollisionGroup =
))
.(t dragparts,v2)
:()
i,v (.RuntimeItems:())
(v)
.RuntimeItems.ChildAdded:(dodrag)
()
RaycastParams_new_result1 = RaycastParams.()
RaycastParams_new_result1.FilterType = .RaycastFilterType.Exclude
RaycastParams_new_result1.FilterDescendantsInstances = {LocalPlayer_upvr.Character}
:(CurrentCamera_upvr.CFrame.Position, CurrentCamera_upvr.CFrame.LookVector * , RaycastParams_new_result1)
killplr =
dragaurap = .()
dragaurap.Anchored =
dragaurap.CanCollide =
dragaurap.Color = .(,,)
dragaurap.Shape = .PartType.Ball
dragaurap.Size = .(,,)
dragaurap.Transparency =
dragaurap.Material = .Material.SmoothPlastic
dragaurap.Parent =
dragaura =
lib.(,drag,(bool)
dragaura = bool
dragaura
dragaura
.()
currdrag == :().Client.Handlers.DraggableItemHandlers.ClientDraggableObjectHandler.DraggingObject.Value ~= currdrag
currdrag =
bestthing =
i,v (.RuntimeItems:())
v:() localplr v ~= localplr localplr.Character bestthing ==
bestthing = {v,(v:().Position - localplr.Character:().Position).Magnitude}
v:() localplr v ~= localplr localplr.Character v (v:().Position - localplr.Character:().Position).Magnitude < bestthing[]
bestthing = {v,(v:().Position - localplr.Character:().Position).Magnitude}
.ReplicatedStorage.Shared.Remotes.RequestStartDrag:(bestthing[])
.()
currdrag = bestthing[]
currdrag =
.ReplicatedStorage.Shared.Remotes.RequestStopDrag:()
)
killplr =
lib.(,drag,()
killplr = currdrag
.()
killplr =
)
lib.(,drag,(bool)
bool
killplr =
killplr ~=
.()
(()
:().Client.Handlers.DraggableItemHandlers.ClientDraggableObjectHandler.DraggingObject.Value ~=
currdrag = :().Client.Handlers.DraggableItemHandlers.ClientDraggableObjectHandler.DraggingObject.Value
)
killplr = currdrag
killplr =
)
tpdp =
lib.(,drag,()
tpdp =
.()
tpdp =
)
tpdpcu =
lib.(,drag,()
tpdpcu = .(-, , -)
.()
tpdpcu =
)
tpdpc =
lib.(,drag,()
tpdpc =
.()
tpdpc =
)
mdpf =
lib.(,drag,(bool)
mdpf = bool
mdpf
(()
:().Client.Handlers.DraggableItemHandlers.ClientDraggableObjectHandler.DraggingObject.Value ~=
currdrag = :().Client.Handlers.DraggableItemHandlers.ClientDraggableObjectHandler.DraggingObject.Value
)
)
atdt =
lib.(,drag,(bool)
atdt = bool
atdt
.()
:().Client.Handlers.DraggableItemHandlers.ClientDraggableObjectHandler.DraggingObject.Value ~= .Train
.ReplicatedStorage.Shared.Remotes.RequestStartDrag:(.Train)
)
Players = :()
Lighting = :()
UNIT_Z = .(, , )
EARTH_TILT = .()
HALF_SOLAR_YEAR =
()
gameTime = Lighting:()
geoLatitude = Lighting.GeographicLatitude
dayTime = gameTime /
sourceAngle = * .pi * dayTime
sunPosition = .(.(sourceAngle), -.(sourceAngle), )
latRad = .(geoLatitude)
sunOffset = -EARTH_TILT * .(.pi * (dayTime - HALF_SOLAR_YEAR) / HALF_SOLAR_YEAR) - latRad
sunRotation = .(UNIT_Z:(sunPosition), sunOffset)
sunDirection = sunRotation * sunPosition
sunDirection
oldHeadColor =
(v,c)
radthing =
v.Parent.Parent:()
v.Parent.Parent:(v.Name..)
radthing = .()
radthing.Shape = .PartType.Ball
rad = v.Value*
radthing.Size = .(rad,rad,rad)
radthing.Color = c .(,,)
radthing.CastShadow =
radthing.CanCollide =
radthing.CanQuery =
radthing.Anchored =
radthing.Name = v.Name..
radthing.Transparency =
radthing.Parent = v.Parent.Parent
otherradthing = .()
otherradthing.Shape = .PartType.Ball
rad = v.Value* -
otherradthing.Size = .(rad,rad,rad)
otherradthing.Color = c .(,,)
otherradthing.CastShadow =
otherradthing.CanCollide =
otherradthing.CanQuery =
otherradthing.Anchored =
otherradthing.Name =
otherradthing.Transparency =
otherradthing.Parent = radthing
radthing = v.Parent.Parent[v.Name..]
showradius v.Parent.Parent.Humanoid.Health >
radthing.Transparency =
radthing.radthing2.Transparency =
radthing.Transparency =
radthing.radthing2.Transparency =
fpos = (v.Parent.Parent:() v.Parent.Parent.HumanoidRootPart.CFrame) v.Parent.Parent:()
radthing.CFrame = fpos
radthing.radthing2.CFrame = .(fpos.Position,.(,,),.(,,),.(,,))
(v)
v:(,)
(v:(,),.(,,))
v:(,)
(v:(,),.(,,))
v:(,)
(v:(,),.(,,))
ors = :().Stepped:(()
(()
:().Client.Handlers.DraggableItemHandlers.ClientDraggableObjectHandler.DraggingObject.Value ~=
currdrag = :().Client.Handlers.DraggableItemHandlers.ClientDraggableObjectHandler.DraggingObject.Value
)
currdrag currdrag:(,)
killplr
i,v (currdrag:())
v:()
v.CanCollide =
v.CollisionGroup =
currdrag:(,).Position = ((currdrag:() currdrag:().Position) (currdrag:() currdrag.Position)) + .(,-,)
tpdp
currdrag:()
currdrag.CFrame = .Train:()
currdrag:(.Train:())
currdrag:(,).Position = .Train:().Position
tpdpc
posit = .CurrentCamera.CFrame + .CurrentCamera.CFrame.LookVector *
currdrag:()
currdrag.CFrame = posit
currdrag:(posit)
currdrag:(,).Position = posit.Position
mdpf
posit = .CurrentCamera.CFrame + .CurrentCamera.CFrame.LookVector *
currdrag:()
currdrag.Velocity = .(,,)
currdrag.CFrame = posit
i,v (currdrag:())
v:()
v.Velocity = .(,,)
currdrag:(posit)
tpdpcu
currdrag:()
currdrag.CFrame = .(tpdpcu)
currdrag:(.(tpdpcu))
currdrag:(,).Position = tpdpcu
currdrag currdrag:(,)
currdrag =
vseat
localplr.Character:(vseat.CFrame+.(,,))
vseat:(localplr.Character.Humanoid)
()
()
:()
i,v (.RuntimeItems:())
(v)
:()
i,v (.NightEnemies:())
(v)
:()
i,v (.RandomBuildings:())
v:() v.StandaloneZombiePart:()
i,v (v.StandaloneZombiePart.Zombies:())
(v)
:()
i,v (.Towns:())
v:() v.ZombiePart:()
i,v (v.ZombiePart.Zombies:())
(v)
:()
i,v (.Baseplates:())
i,v (v:())
v:()
i,v (v.Animals:())
.(v.Name:(),) v:(,)
(v)
v.Name == v.Name ==
(v)
v:()
i,v (v.StandaloneZombiePart.Zombies:())
(v)
character = localplr.Character
character character:()
hit = :(character.Head.CFrame.Position, () * )
hit
lib.(,insun)
hit
lib.(,insun)
nb =
:()
i,v (.Towns:())
v:()
closestbank =
i,v (v.Buildings:())
v.Name == v.Name == v:(,)
closestbank == v:(,)
closestbank = {v:(,).Value,(v:().Position - localplr.Character:().Position).Magnitude}
v:(,) closestbank[] > (v:().Position - localplr.Character:().Position).Magnitude
closestbank = {v:(,).Value,(v:().Position - localplr.Character:().Position).Magnitude}
nb = closestbank[]
nb ~=
lib.(..(nb),bankcomb)
lib.(,bankcomb)
ltpe
localplr.Character:(.(-, , -))
(()
.Baseplates.FinalBasePlate.OutlawBase.Bridge.BridgeControl.Crank.Model.Mid.EndGame.HoldDuration =
(.Baseplates.FinalBasePlate.OutlawBase.Bridge.BridgeControl.Crank.Model.Mid.EndGame,)
)
)
lib.(,drag,(bool)
collidedrag = bool
collidedrag
i,v (dragparts)
v (v.CollisionGroup == v.CollisionGroup == )
v.CollisionGroup =
)
spams = {}
spamsrev = {}
(sname,boolname)
spams[boolname] =
spamsrev[sname] =
lib.(..sname..,tools,(bool)
spams[boolname] = bool
spams[boolname]
spams[boolname]
.()
(()
i,v (localplr.Backpack:())
v.Name == sname
v.Parent = localplr.Character
i,v (localplr.Character:())
v.Name == sname
v:()
)
)
sa =
lib.(,tools,(bool)
sa = bool
sa
sa
.()
(()
i,v (localplr.Backpack:())
spamsrev[v.Name] ==
v.Parent = localplr.Character
i,v (localplr.Character:())
spamsrev[v.Name] ==
v:()
)
)
(,)
(,)
(,)
(,)
(,)
lib.(,tools,()
(:().Packages.Satchel):()
)
on =
.(()
on
.()
(()
lib.(..(.((localplr.Character:().Position - .Train:().Position).Magnitude)),dft)
:()
lib.(..(.((localplr.Character:().Position - .StartingZone:().Position).Magnitude)),dfs)
lib.(..(.((localplr.Character:().Position - .(, , )).Magnitude)),dfs)
)
)()
lib.ondestroyedfunc = ()
on =
localplr.CameraMaxZoomDistance =
localplr.CameraMode =
uis.MouseBehavior = .MouseBehavior.LockCenter
uis.MouseIconEnabled =
mousereq
mousereq.()
i,v (tableofconnections)
v:()
trainhighlight:()
loopclickpart:()
wtt =
ftt =
i,v (spams)
v =
sa =
atdt =
tpdp =
tpdpc =
wcrl =
i,v (pathfindparts)
v:()
reachedConnection
reachedConnection:()
reachedConnection =
blockedConnection
blockedConnection:()
blockedConnection =
()
currdrag =
dragaura =
killplr =
antivoidon =
vseat =
vt =
()
plrtracers =
opr:()
ors:()
showradius =
i,v (.RuntimeItems:())
v:(,)
(v:(,))
i,v (.Towns:())
v:() v.ZombiePart:()
i,v (v.ZombiePart.Zombies:())
v:(,)
(v:(,))
ltpe =
Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: rawscripts.net, devforum.roblox.com, create.roblox.com.
3/22/2025 I went back to dead rails after grinding some stuff on my main, and saw that people were COPYING my method of teleporting to the bridge! Straight on, i mightve flexed to some random script dev and they got his friggin friends to come and mimic it, and that wouldve been fine,until they RELEASED it TO THE PUBLIC! what the hell man?? this is why we cant have nice thing cause they just do this and get the whole thing patched, now no one can farm wins. Updated script to the version that teleports to bridge now. spam all melees use underground railroad anti void (doesnt work well) teleport to bug server fling item (trash and doesnt work) teleport item to train teleport item to camera (trash again) tp to train (trash) loop goto click position (also trash) highlight train flop to train walk to train third person