Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
RunService = :()
TweenService = :()
HttpService = :()
Camera = .CurrentCamera
player = Players.LocalPlayer
backpack = player:()
guiParent = player:()
character = player.Character player.CharacterAdded:()
(s) ((s):(,))
() ok,m = (() player:() ) ok m
()
m = ()
m
ok, hit = (() m.Hit )
ok hit
p = hit.Position (hit.p hit.p)
(p) == p
(inst) inst (inst:() inst:())
(k) k (k):(,)
(name) name ok,e = (() .KeyCode[name] ) ok e
(tok)
tok = (tok)
tok ==
quoted = tok:() tok:()
quoted (quoted)
tok:() ==
tok:() ==
n = (tok)
n n
a,b,c = tok:()
a b c .((a), (b), (c))
(tok)
(txt)
txt = (txt )
txt = (txt)
txt == {}
out = {}
token txt:()
v = (token)
v ~= .(out, v)
out
(remote, argsTable, sendAsXYZ)
remote remote.Parent ,
ok, err = (()
sendAsXYZ
#argsTable >= (argsTable[]) ==
v = argsTable[]
rest = {}
i = , #argsTable .(rest, argsTable[i])
sendArgs = {v.X, v.Y, v.Z}
_,o (rest) .(sendArgs, o)
remote:() remote:((sendArgs)) remote:((sendArgs))
remote:() remote:((argsTable)) remote:((argsTable))
remote:() remote:((argsTable)) remote:((argsTable))
)
ok, err
(remoteOrList, argsTable, sendAsXYZ)
remoteOrList ,
(remoteOrList) ==
(remoteOrList, argsTable, sendAsXYZ)
(remoteOrList) ==
anyOk =
lastErr =
_,rm (remoteOrList)
ok, err = (() (rm, argsTable, sendAsXYZ) )
ok err ~= anyOk = lastErr = err
anyOk, lastErr
,
()
ch = player.Character
ch ch.PrimaryPart ch.PrimaryPart.Position
ch ch:() ch.HumanoidRootPart:() ch.HumanoidRootPart.Position
Camera Camera.CFrame.p
.(,,)
()
ch = player.Character
ch ch.PrimaryPart ch.PrimaryPart.CFrame.LookVector
Camera Camera.CFrame.LookVector
.(,,-)
(predX, predY, speed)
speed >
predX > predX = .(predX, / speed)
predY > predY = .(predY, / speed)
predX, predY
humanoidCache = {}
humanoidCacheLock =
HUMANOID_CACHE_INTERVAL =
()
humanoidCacheLock
humanoidCacheLock =
newCache = {}
_, child (:())
child child:() child.Name ~= player.Name
humanoid = child:()
humanoid humanoid.Health >
root = child:() child.PrimaryPart
root root:()
.(newCache, { model = child, root = root, humanoid = humanoid })
humanoidCache = newCache
humanoidCacheLock =
.(()
(refreshHumanoidCache)
.(HUMANOID_CACHE_INTERVAL)
)
(predX, predY)
predX = (predX) ; predY = (predY)
refPos = ()
bestPl, bestPos, bestDist = , , .huge
_,pl (Players:())
pl ~= player pl.Character
hrp = pl.Character:() pl.Character.PrimaryPart
hrp hrp:()
d = (hrp.Position - refPos).Magnitude
d < bestDist bestDist = d; bestPl = pl; bestPos = hrp.Position
bestPl bestPos ,
hrpInst = bestPl.Character (bestPl.Character:() bestPl.Character.PrimaryPart)
vel = .(,,)
hrpInst hrpInst:() vel = hrpInst.Velocity .(,,)
predX, predY = (predX, predY, vel.Magnitude)
predicted = bestPos + .(vel.X * predX, vel.Y * predY, vel.Z * predX)
predicted, bestPl
(predX, predY)
predX = (predX) ; predY = (predY)
refPos = ()
bestEntry, bestDist = , .huge
_,entry (humanoidCache)
root, humanoid = entry.root, entry.humanoid
root humanoid humanoid.Health >
ok,pos = (() root.Position )
ok pos
d = (pos - refPos).Magnitude
d < bestDist bestDist = d; bestEntry = entry
bestEntry
_,child (:())
child child:() child.Name ~= player.Name
humanoid = child:()
humanoid humanoid.Health >
root = child:() child.PrimaryPart
root root:()
ok,pos = (() root.Position )
ok pos
d = (pos - refPos).Magnitude
d < bestDist bestDist = d; bestEntry = {model = child, root = root, humanoid = humanoid}
bestEntry bestEntry.root ,
rootPart = bestEntry.root
vel = .(,,)
rootPart rootPart:() vel = rootPart.Velocity .(,,)
predX, predY = (predX, predY, vel.Magnitude)
predicted = rootPart.Position + .(vel.X * predX, vel.Y * predY, vel.Z * predX)
predicted, bestEntry.model
placement = {
part = ,
billboard = ,
studs = ,
lastPos = ,
selectedModel = ,
stickToEntity = ,
clickCapture =
}
(model)
model
root = model:() model.PrimaryPart
root root:() root
_,v (model:())
v:() v
()
placement.part placement.part.Parent
placement.part (() placement.part:() )
p = .()
p.Name =
p.Size = .(,,)
p.Shape = .PartType.Ball
p.Anchored =
p.CanCollide =
p.Transparency =
p.Color = .(, , )
p.Material = .Material.SmoothPlastic
p.Parent =
placement.part = p
placement.billboard (() placement.billboard:() )
bb = .()
bb.Name =
bb.Size = .(,,,)
bb.Adornee = p
bb.AlwaysOnTop =
lbl = .(, bb)
lbl.Size = .(,,,)
lbl.BackgroundTransparency =
lbl.Text =
lbl.Font = .Font.GothamBold
lbl.TextSize =
lbl.TextColor3 = .(,,)
lbl.TextStrokeTransparency =
bb.Parent = p
placement.billboard = bb
()
placement.billboard (() placement.billboard:() ) placement.billboard =
placement.part (() placement.part:() ) placement.part =
(model)
model
adornee = (model)
adornee
existing = model:()
existing existing:()
bb = .()
bb.Name =
bb.Size = .(,,,)
bb.AlwaysOnTop =
bb.Adornee = adornee
lbl = .(, bb)
lbl.Size = .(,,,)
lbl.BackgroundTransparency =
lbl.BackgroundColor3 = .(,,)
lbl.Text = ..(model.Name)
lbl.Font = .Font.GothamBold
lbl.TextSize =
lbl.TextColor3 = .(,,)
lbl.TextStrokeTransparency =
bb.Parent = model
(model)
model
existing = model:()
existing existing:()
(aimMode)
aimMode ==
()
forward = ()
forward = .(forward.X, , forward.Z)
forward.Magnitude ==
forward = Camera .(Camera.CFrame.LookVector.X, , Camera.CFrame.LookVector.Z) .(,,-)
base = ()
studs = (placement.studs)
pos = base + (forward.Unit * studs)
pos = .(pos.X, base.Y, pos.Z)
placement.lastPos = pos
placement.part
placement.part.Position = pos
placement.billboard placement.billboard:()
placement.billboard:().Text = ():(studs)
placement.selectedModel
(placement.selectedModel)
placement.selectedModel =
aimMode ==
()
placement.selectedModel
adornee = (placement.selectedModel)
adornee
pos = adornee.Position
placement.lastPos = pos
placement.part.Position = pos
placement.billboard placement.billboard:()
placement.billboard:().Text = ():((placement.selectedModel.Name))
(placement.selectedModel)
placement.lastPos
placement.part.Position = placement.lastPos
placement.billboard placement.billboard:()
placement.billboard:().Text = ..(placement.lastPos)
placement.part.Position = () + .(,-,)
placement.lastPos
placement.part.Position = placement.lastPos
placement.billboard placement.billboard:()
placement.billboard:().Text = ..(placement.lastPos)
placement.part.Position = () + .(,-,)
placement.billboard placement.billboard:()
placement.billboard:().Text =
placement.part
placement.part.Position = () + .(,-,)
placement.selectedModel placement.stickToEntity
(placement.selectedModel)
placement.selectedModel =
RunService.RenderStepped:(()
.RKB_currentAimMode
(() (.RKB_currentAimMode) )
)
settingsFolder = player:()
settingsFolder
settingsFolder = .()
settingsFolder.Name =
settingsFolder.Parent = player
(keyName, bindingTable)
keyName bindingTable ,
data = {
key = keyName,
remotePath = bindingTable.remotePath ,
remotePaths = bindingTable.remotePaths ,
extraArgsText = bindingTable.extraArgsText ,
hold = bindingTable.hold ,
interval = (bindingTable.interval) ,
mode = bindingTable.mode ,
predictionX = (bindingTable.predictionX) ,
predictionY = (bindingTable.predictionY) ,
argFormat = bindingTable.argFormat ,
placeStuds = (bindingTable.placeStuds) ,
placeLastPos = bindingTable.placeLastPos ,
placeStick = bindingTable.placeStick
}
s = HttpService:(data)
name = .. keyName
existing = settingsFolder:(name)
existing existing:() existing.Value = s
sv = .()
sv.Name = name
sv.Value = s
sv.Parent = settingsFolder
(keyName)
keyName
name = .. keyName
existing = settingsFolder:(name)
existing existing:();
()
out = {}
_,child (settingsFolder:())
child:() child.Name:()
ok, data = (() HttpService:(child.Value) )
ok (data) == data.key out[data.key] = data
out
(fullPath)
fullPath fullPath ==
(container)
container
_,inst (container:())
ok, p = (() inst:() )
ok p == fullPath inst
res = (backpack)
res res
res = (character)
res res
existingGui = guiParent:()
existingGui existingGui:()
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
ScreenGui.Parent = guiParent
frameMain = .()
frameMain.Name =
frameMain.Size = .(, , , )
frameMain.Position = .(, -, , -)
frameMain.BackgroundColor3 = .(,,)
frameMain.BorderSizePixel =
frameMain.Active =
frameMain.Draggable =
frameMain.Parent = ScreenGui
header = .(, frameMain)
header.Size = .(,,,)
header.Position = .(,,,)
header.BackgroundColor3 = .(,,)
header.BorderSizePixel =
title = .(, header)
title.Text =
title.Font = .Font.GothamBold
title.TextSize =
title.TextColor3 = .(,,)
title.BackgroundTransparency =
title.Size = .(, -, , )
title.Position = .(, , , )
title.TextXAlignment = .TextXAlignment.Left
subtitle = .(, header)
subtitle.Text =
subtitle.Font = .Font.Gotham
subtitle.TextSize =
subtitle.TextColor3 = .(,,)
subtitle.BackgroundTransparency =
subtitle.Size = .(, -, , )
subtitle.Position = .(, , , )
subtitle.TextXAlignment = .TextXAlignment.Left
reloadBtn = .(, header)
reloadBtn.Name =
reloadBtn.Size = .(, , , )
reloadBtn.Position = .(, -, , )
reloadBtn.BackgroundColor3 = .(,,)
reloadBtn.Text =
reloadBtn.Font = .Font.Gotham
reloadBtn.TextSize =
reloadBtn.TextColor3 = .(,,)
reloadBtn.BorderSizePixel =
resetToolsBtn = .(, header)
resetToolsBtn.Name =
resetToolsBtn.Size = .(, , , )
resetToolsBtn.Position = .(, -, , )
resetToolsBtn.BackgroundColor3 = .(,,)
resetToolsBtn.Text =
resetToolsBtn.Font = .Font.Gotham
resetToolsBtn.TextSize =
resetToolsBtn.TextColor3 = .(,,)
resetToolsBtn.BorderSizePixel =
leftPane = .(, frameMain)
leftPane.Position = .(, , , )
leftPane.Size = .(, , , )
leftPane.BackgroundTransparency =
leftTitle = .(, leftPane)
leftTitle.Size = .(, , , )
leftTitle.Position = .(,,,)
leftTitle.BackgroundTransparency =
leftTitle.Font = .Font.Gotham
leftTitle.TextSize =
leftTitle.TextColor3 = .(,,)
leftTitle.Text =
leftScroll = .(, leftPane)
leftScroll.Size = .(, , , -)
leftScroll.Position = .(, , , )
leftScroll.BackgroundTransparency =
leftScroll.ScrollBarThickness =
leftListLayout = .(, leftScroll)
leftListLayout.Padding = .(,)
leftListLayout.SortOrder = .SortOrder.LayoutOrder
multiArea = .(, leftPane)
multiArea.Position = .(, , , -)
multiArea.Size = .(, , , )
multiArea.BackgroundTransparency =
multiToggle = .(, multiArea)
multiToggle.Position = .(,,,)
multiToggle.Size = .(,,,)
multiToggle.Text =
multiToggle.Font = .Font.Gotham
multiToggle.TextSize =
multiToggle.BackgroundColor3 = .(,,)
multiToggle.TextColor3 = .(,,)
multiToggle.BorderSizePixel =
clearSelectionBtn = .(, multiArea)
clearSelectionBtn.Position = .(,,,)
clearSelectionBtn.Size = .(,,,)
clearSelectionBtn.Text =
clearSelectionBtn.Font = .Font.Gotham
clearSelectionBtn.TextSize =
clearSelectionBtn.BackgroundColor3 = .(,,)
clearSelectionBtn.TextColor3 = .(,,)
clearSelectionBtn.BorderSizePixel =
clearMultiBindsBtn = .(, multiArea)
clearMultiBindsBtn.Position = .(,,,)
clearMultiBindsBtn.Size = .(,,,)
clearMultiBindsBtn.Text =
clearMultiBindsBtn.Font = .Font.Gotham
clearMultiBindsBtn.TextSize =
clearMultiBindsBtn.BackgroundColor3 = .(,,)
clearMultiBindsBtn.TextColor3 = .(,,)
clearMultiBindsBtn.BorderSizePixel =
rightPane = .(, frameMain)
rightPane.Position = .(, , , )
rightPane.Size = .(, , , )
rightPane.BackgroundTransparency =
inspectorTitle = .(, rightPane)
inspectorTitle.Position = .(,,,)
inspectorTitle.Size = .(,,,)
inspectorTitle.BackgroundTransparency =
inspectorTitle.Font = .Font.Gotham
inspectorTitle.TextSize =
inspectorTitle.TextColor3 = .(,,)
inspectorTitle.Text =
lblRemote = .(, rightPane)
lblRemote.Position = .(,,,)
lblRemote.Size = .(,,,)
lblRemote.BackgroundTransparency =
lblRemote.Font = .Font.Gotham
lblRemote.TextSize =
lblRemote.TextColor3 = .(,,)
lblRemote.Text =
lblParent = .(, rightPane)
lblParent.Position = .(,,,)
lblParent.Size = .(,,,)
lblParent.BackgroundTransparency =
lblParent.Font = .Font.Gotham
lblParent.TextSize =
lblParent.TextColor3 = .(,,)
lblParent.Text =
lblType = .(, rightPane)
lblType.Position = .(,,,)
lblType.Size = .(,,,)
lblType.BackgroundTransparency =
lblType.Font = .Font.Gotham
lblType.TextSize =
lblType.TextColor3 = .(,,)
lblType.Text =
aimLabel = .(, rightPane)
aimLabel.Position = .(,,,)
aimLabel.Size = .(,,,)
aimLabel.BackgroundTransparency =
aimLabel.Font = .Font.Gotham
aimLabel.TextSize =
aimLabel.TextColor3 = .(,,)
aimLabel.Text =
aimDropdown = .(, rightPane)
aimDropdown.Position = .(,,,)
aimDropdown.Size = .(,,,)
aimDropdown.Font = .Font.Gotham
aimDropdown.TextSize =
aimDropdown.TextColor3 = .(,,)
aimDropdown.Text =
aimDropdown.BackgroundColor3 = .(,,)
aimDropdown.BorderSizePixel =
predXLabel = .(, rightPane)
predXLabel.Position = .(,,,)
predXLabel.Size = .(,,,)
predXLabel.BackgroundTransparency =
predXLabel.Font = .Font.Gotham
predXLabel.TextSize =
predXLabel.TextColor3 = .(,,)
predXLabel.Text =
predXBox = .(, rightPane)
predXBox.Position = .(,,,)
predXBox.Size = .(,,,)
predXBox.BackgroundColor3 = .(,,)
predXBox.PlaceholderText =
predXBox.Text =
predXBox.ClearTextOnFocus =
predXBox.TextColor3 = .(,,)
predXBox.Font = .Font.Gotham
predXBox.TextSize =
predYLabel = .(, rightPane)
predYLabel.Position = .(,,,)
predYLabel.Size = .(,,,)
predYLabel.BackgroundTransparency =
predYLabel.Font = .Font.Gotham
predYLabel.TextSize =
predYLabel.TextColor3 = .(,,)
predYLabel.Text =
predYBox = .(, rightPane)
predYBox.Position = .(,,,)
predYBox.Size = .(,,,)
predYBox.BackgroundColor3 = .(,,)
predYBox.PlaceholderText =
predYBox.Text =
predYBox.ClearTextOnFocus =
predYBox.TextColor3 = .(,,)
predYBox.Font = .Font.Gotham
predYBox.TextSize =
placeLabel = .(, rightPane)
placeLabel.Position = .(,,,)
placeLabel.Size = .(,,,)
placeLabel.BackgroundTransparency =
placeLabel.Font = .Font.Gotham
placeLabel.TextSize =
placeLabel.TextColor3 = .(,,)
placeLabel.Text =
placeStudsBox = .(, rightPane)
placeStudsBox.Position = .(,,,)
placeStudsBox.Size = .(,,,)
placeStudsBox.BackgroundColor3 = .(,,)
placeStudsBox.PlaceholderText =
placeStudsBox.Text = (placement.studs)
placeStudsBox.ClearTextOnFocus =
placeStudsBox.TextColor3 = .(,,)
placeStudsBox.Font = .Font.Gotham
placeStudsBox.TextSize =
placeClickBtn = .(, rightPane)
placeClickBtn.Position = .(,,,)
placeClickBtn.Size = .(,,,)
placeClickBtn.Font = .Font.Gotham
placeClickBtn.Text =
placeClickBtn.BackgroundColor3 = .(,,)
placeClickBtn.TextColor3 = .(,,)
placeClickBtn.TextSize =
placeClickBtn.BorderSizePixel =
stickToggle = .(, rightPane)
stickToggle.Position = .(,,,)
stickToggle.Size = .(,,,)
stickToggle.Font = .Font.Gotham
stickToggle.Text =
stickToggle.BackgroundColor3 = .(,,)
stickToggle.TextColor3 = .(,,)
stickToggle.TextSize =
stickToggle.BorderSizePixel =
placementSelectedLabel = .(, rightPane)
placementSelectedLabel.Position = .(,,,)
placementSelectedLabel.Size = .(,,,)
placementSelectedLabel.BackgroundTransparency =
placementSelectedLabel.Font = .Font.Gotham
placementSelectedLabel.TextSize =
placementSelectedLabel.TextColor3 = .(,,)
placementSelectedLabel.Text =
formatLabel = .(, rightPane)
formatLabel.Position = .(,,,)
formatLabel.Size = .(,,,)
formatLabel.BackgroundTransparency =
formatLabel.Font = .Font.Gotham
formatLabel.TextSize =
formatLabel.TextColor3 = .(,,)
formatLabel.Text =
formatDropdown = .(, rightPane)
formatDropdown.Position = .(,,,)
formatDropdown.Size = .(,,,)
formatDropdown.Font = .Font.Gotham
formatDropdown.TextSize =
formatDropdown.TextColor3 = .(,,)
formatDropdown.Text =
formatDropdown.BackgroundColor3 = .(,,)
formatDropdown.BorderSizePixel =
extraLabel = .(, rightPane)
extraLabel.Position = .(,,,)
extraLabel.Size = .(,,,)
extraLabel.BackgroundTransparency =
extraLabel.Font = .Font.Gotham
extraLabel.TextSize =
extraLabel.TextColor3 = .(,,)
extraLabel.Text =
argsBox = .(, rightPane)
argsBox.Position = .(,,,)
argsBox.Size = .(,-,,)
argsBox.BackgroundColor3 = .(,,)
argsBox.ClearTextOnFocus =
argsBox.TextWrap =
argsBox.MultiLine =
argsBox.Text =
argsBox.TextColor3 = .(,,)
argsBox.Font = .Font.Gotham
argsBox.TextSize =
setKeyBtn = .(, rightPane)
setKeyBtn.Position = .(,,,-)
setKeyBtn.Size = .(,,,)
setKeyBtn.BackgroundColor3 = .(,,)
setKeyBtn.Font = .Font.Gotham
setKeyBtn.Text =
setKeyBtn.TextSize =
setKeyBtn.TextColor3 = .(,,)
setKeyBtn.BorderSizePixel =
bindSelectedBtn = .(, rightPane)
bindSelectedBtn.Position = .(,,,-)
bindSelectedBtn.Size = .(,,,)
bindSelectedBtn.BackgroundColor3 = .(,,)
bindSelectedBtn.Font = .Font.Gotham
bindSelectedBtn.Text =
bindSelectedBtn.TextSize =
bindSelectedBtn.TextColor3 = .(,,)
bindSelectedBtn.BorderSizePixel =
selectedCountLabel = .(, bindSelectedBtn)
selectedCountLabel.Size = .(,,,)
selectedCountLabel.Position = .(,-,,)
selectedCountLabel.BackgroundTransparency =
selectedCountLabel.Font = .Font.Gotham
selectedCountLabel.TextSize =
selectedCountLabel.TextColor3 = .(,,)
selectedCountLabel.Text =
assignedLabel = .(, rightPane)
assignedLabel.Position = .(,,,-)
assignedLabel.Size = .(,,,)
assignedLabel.BackgroundTransparency =
assignedLabel.Font = .Font.Gotham
assignedLabel.TextSize =
assignedLabel.Text =
assignedLabel.TextColor3 = .(,,)
holdToggle = .(, rightPane)
holdToggle.Position = .(,,,-)
holdToggle.Size = .(,,,)
holdToggle.BackgroundColor3 = .(,,)
holdToggle.Font = .Font.Gotham
holdToggle.Text =
holdToggle.TextSize =
holdToggle.TextColor3 = .(,,)
holdToggle.BorderSizePixel =
intervalLabel = .(, rightPane)
intervalLabel.Position = .(,,,-)
intervalLabel.Size = .(,,,)
intervalLabel.BackgroundTransparency =
intervalLabel.Font = .Font.Gotham
intervalLabel.TextSize =
intervalLabel.Text =
intervalLabel.TextColor3 = .(,,)
intervalBox = .(, rightPane)
intervalBox.Position = .(,,,-)
intervalBox.Size = .(,,,)
intervalBox.BackgroundColor3 = .(,,)
intervalBox.Text =
intervalBox.ClearTextOnFocus =
intervalBox.Font = .Font.Gotham
intervalBox.TextSize =
intervalBox.TextColor3 = .(,,)
saveBtn = .(, rightPane)
saveBtn.Position = .(,,, -)
saveBtn.Size = .(,,,)
saveBtn.Font = .Font.Gotham
saveBtn.Text =
saveBtn.BackgroundColor3 = .(,,)
saveBtn.TextSize =
saveBtn.TextColor3 = .(,,)
saveBtn.BorderSizePixel =
updateBtn = .(, rightPane)
updateBtn.Position = .(,,,-)
updateBtn.Size = .(,,,)
updateBtn.Font = .Font.Gotham
updateBtn.Text =
updateBtn.BackgroundColor3 = .(,,)
updateBtn.TextSize =
updateBtn.TextColor3 = .(,,)
updateBtn.BorderSizePixel =
loadBtn = .(, rightPane)
loadBtn.Position = .(,,,-)
loadBtn.Size = .(,,,)
loadBtn.Font = .Font.Gotham
loadBtn.Text =
loadBtn.BackgroundColor3 = .(,,)
loadBtn.TextSize =
loadBtn.TextColor3 = .(,,)
loadBtn.BorderSizePixel =
fireBtn = .(, rightPane)
fireBtn.Position = .(,,,-)
fireBtn.Size = .(,,,)
fireBtn.Font = .Font.Gotham
fireBtn.Text =
fireBtn.TextSize =
fireBtn.TextColor3 = .(,,)
fireBtn.BackgroundColor3 = .(,,)
fireBtn.BorderSizePixel =
statusBar = .(, frameMain)
statusBar.Position = .(,,,-)
statusBar.Size = .(,-,,)
statusBar.BackgroundTransparency =
statusBar.Font = .Font.Gotham
statusBar.TextSize =
statusBar.TextColor3 = .(,,)
statusBar.Text =
entries = {}
infos = {}
selectedInfo =
selectedSet = {}
capturingKey =
capturingConn =
bindings = {}
pendingSaved = {}
multiSelectMode =
NORMAL_BG = .(,,)
HOVER_BG = .(,,)
SELECT_BG = .(,,)
.RKB_currentAimMode = aimDropdown.Text
(remote)
remote remote.Parent
entries[remote]
info = { remote = remote, lastArgs = {}, lastArgsText = }
.(infos, info)
frame = .()
frame.Size = .(, -, , )
frame.BackgroundColor3 = NORMAL_BG
frame.BorderSizePixel =
frame.Parent = leftScroll
nameLbl = .(, frame)
nameLbl.Size = .(, -, , )
nameLbl.Position = .(, , , )
nameLbl.BackgroundTransparency =
nameLbl.Font = .Font.GothamBold
nameLbl.TextSize =
nameLbl.TextColor3 = .(,,)
ok, fullname = (() remote:() )
nameLbl.Text = ok fullname (remote.Name)
parentLbl = .(, frame)
parentLbl.Size = .(, -, , )
parentLbl.Position = .(,,,)
parentLbl.BackgroundTransparency =
parentLbl.Font = .Font.Gotham
parentLbl.TextSize =
parentLbl.TextColor3 = .(,,)
parentLbl.Text = .. (remote.Parent remote.Parent.Name )
btn = .(, frame)
btn.Size = .(, -, , -)
btn.Position = .(,,,)
btn.BackgroundTransparency =
btn.Text =
btn.AutoButtonColor =
btn.MouseEnter:(()
multiSelectMode
selectedSet[remote]
(() frame.BackgroundColor3 = .(,,) )
(() frame.BackgroundColor3 = HOVER_BG )
)
btn.MouseLeave:(()
multiSelectMode
selectedSet[remote] (() frame.BackgroundColor3 = SELECT_BG ) (() frame.BackgroundColor3 = NORMAL_BG )
(() frame.BackgroundColor3 = NORMAL_BG )
)
btn.MouseButton1Click:(()
multiSelectMode
selectedSet[remote]
selectedSet[remote] =
(() frame.BackgroundColor3 = NORMAL_BG )
selectedSet[remote] =
(() frame.BackgroundColor3 = SELECT_BG )
c = _ (selectedSet) c = c +
selectedCountLabel.Text = (c)
statusBar.Text = ():(c)
r,f (entries)
f f:()
(() TweenService:(f, TweenInfo.(), {BackgroundColor3 = NORMAL_BG}):() )
(() TweenService:(frame, TweenInfo.(), {BackgroundColor3 = HOVER_BG}):() )
selectedInfo = info
ok2, full2 = (() remote:() )
lblRemote.Text = .. (ok2 full2 (remote.Name))
lblParent.Text = .. (remote.Parent remote.Parent:() )
lblType.Text = .. (remote:() )
argsBox.Text = info.lastArgsText
statusBar.Text = .. (ok2 full2 (remote.Name))
found = ; count =
keyEnum,bd (bindings)
rlist = bd.remote
(rlist) ==
rlist == remote found = (keyEnum); count = ;
_, rr (rlist {})
rr == remote found = (keyEnum); count = #rlist;
found
found assignedLabel.Text = ():(found, count) assignedLabel.Text =
)
entries[remote] = frame
(remote)
selectedSet[remote]
selectedSet[remote] =
selectedCountLabel
c =
_ (selectedSet) c = c +
selectedCountLabel.Text = (c)
keyEnum, bd (bindings)
rr = bd.remote
(rr) ==
rr == remote
bindings[keyEnum] =
(() ((keyEnum)) )
(rr) ==
changed =
i = #rr, , -
rr[i] == remote
.(rr, i)
changed =
changed
#rr ==
bindings[keyEnum] =
(() ((keyEnum)) )
bd.remotePaths (bd.remotePaths) ==
i = #bd.remotePaths, , -
path = bd.remotePaths[i]
path path:( .. remote.Name .. )
.(bd.remotePaths, i)
bd.remotePath = bd.remotePaths[]
bd.remote = rr
()
r,fr (entries)
r r.Parent
fr fr.Parent fr:()
entries[r] =
(() (r) )
(container)
container
_, inst (container:())
(inst) entries[inst]
(inst)
(backpack)
(character)
(bd)
bd bd.remote {}
args = {}
targetPos =
bd.mode ==
targetPos = ()
bd.mode ==
pos,pl = (bd.predictionX, bd.predictionY)
pos targetPos = pos
bd.mode ==
pos,mdl = (bd.predictionX, bd.predictionY)
pos targetPos = pos
bd.mode ==
studs = (bd.placeStuds) (placeStudsBox.Text) placement.studs
forward = ()
forward = .(forward.X, , forward.Z)
forward.Magnitude ==
forward = Camera .(Camera.CFrame.LookVector.X, , Camera.CFrame.LookVector.Z) .(,,-)
base = ()
pos = base + (forward.Unit * studs)
pos = .(pos.X, base.Y, pos.Z)
targetPos = pos
bd.mode ==
pos =
placement.selectedModel
adornee = (placement.selectedModel)
adornee
pos = adornee.Position
pos bd.placeLastPos (bd.placeLastPos) == #bd.placeLastPos ==
pos = .(bd.placeLastPos[], bd.placeLastPos[], bd.placeLastPos[])
pos placement.lastPos pos = placement.lastPos
targetPos = pos
targetPos
bd.argFormat == bd.argFormat ==
.(args, targetPos)
.(args, targetPos.X)
.(args, targetPos.Y)
.(args, targetPos.Z)
bd.extraArgs #bd.extraArgs >
_,v (bd.extraArgs) .(args, v)
args
(bd)
bd bd.remote ,
args = (bd)
ok, err = (() (bd.remote, args, bd.argFormat == ) )
ok err , err
(keyEnum)
bindings[keyEnum]
kn = (keyEnum)
kn settingsFolder:(..kn) settingsFolder:(..kn):()
bd = bindings[keyEnum]
bd bd.active bd.active =
bindings[keyEnum] =
(remote)
remote
toRemove = {}
k,bd (bindings)
rr = bd.remote
(rr) ==
rr == remote .(toRemove, k)
(rr) ==
_,r (rr)
r == remote .(toRemove, k);
_,k (toRemove)
kn = (k)
kn (kn)
bd = bindings[k]
bd bd.active bd.active =
bindings[k] =
(remoteList)
remoteList
(remoteList) ==
(remoteList)
(remoteList) ~=
seen = {}
_,r (remoteList)
seen[r] (r); seen[r] =
(keyEnum, bd)
keyEnum bd bd.remote ,
(keyEnum)
(bd.remote)
bindings[keyEnum] = {
remote = bd.remote,
extraArgs = bd.extraArgs {},
hold = bd.hold ,
interval = (bd.interval) ,
mode = bd.mode ,
predictionX = (bd.predictionX) ,
predictionY = (bd.predictionY) ,
argFormat = bd.argFormat ,
placeStuds = bd.placeStuds ,
placeLastPos = bd.placeLastPos ,
placeStick = bd.placeStick ,
active = ,
remotePath = bd.remotePath ((() ((bd.remote)== bd.remote:()) ) ((bd.remote)== bd.remote:())) ,
remotePaths = bd.remotePaths
}
(keyEnum)
bd = bindings[keyEnum]
bd bd.remote
bd.hold
bd.active
bd.active =
bd._co = .(()
bd.active
(() (bd) )
.(.(, (bd.interval) ))
)
.(bd._co)
bd.active = bd.active
bd.active
bd._co = .(()
bd.active
(() (bd) )
.(.(, (bd.interval) ))
)
.(bd._co)
bd.active =
(keyEnum)
bd = bindings[keyEnum]
bd
bd.hold bd.active =
()
remotesToClear = {}
r,_ (selectedSet)
r .(remotesToClear, r)
cleared =
_,r (remotesToClear)
(() (r) )
selectedSet[r] =
cleared = cleared +
selectedCountLabel.Text =
assignedLabel.Text =
statusBar.Text = ():(cleared)
UserInputService.InputBegan:((input, gp)
input.UserInputType == .UserInputType.Keyboard
code = input.KeyCode
code
code == .KeyCode.R
(()
()
statusBar.Text =
leftScroll.CanvasSize = .(,,, leftListLayout.AbsoluteContentSize.Y + )
saved = ()
k, data (saved)
(()
ok, err = (data)
ok pendingSaved[k] =
)
)
code == .KeyCode.Delete
()
bindings[code] (code)
)
UserInputService.InputEnded:((input, gp)
input.UserInputType == .UserInputType.Keyboard
code = input.KeyCode
code bindings[code] (code)
)
aimDropdown.MouseButton1Click:(()
cur = aimDropdown.Text
cur == aimDropdown.Text =
cur == aimDropdown.Text =
cur == aimDropdown.Text =
cur == aimDropdown.Text =
aimDropdown.Text =
.RKB_currentAimMode = aimDropdown.Text
(() (.RKB_currentAimMode) )
)
formatDropdown.MouseButton1Click:(() formatDropdown.Text = (formatDropdown.Text == ) )
holdToggle.MouseButton1Click:(()
holdToggle.Text ==
holdToggle.Text =
holdToggle.BackgroundColor3 = .(,,)
holdToggle.Text =
holdToggle.BackgroundColor3 = .(,,)
)
mouse = ()
clickConn =
placeClickBtn.MouseButton1Click:(()
mouse mouse = ()
mouse statusBar.Text = ;
statusBar.Text =
placement.clickCapture =
()
placement.clickCapture =
statusBar.Text =
clickConn clickConn:(); clickConn =
escConn
escConn = UserInputService.InputBegan:((inp, gp)
inp.UserInputType == .UserInputType.Keyboard inp.KeyCode == .KeyCode.Escape
()
escConn:(); escConn =
)
clickConn = mouse.Button1Down:(()
placement.clickCapture
target = mouse.Target
hit =
(() hit = mouse.Hit.Position )
target target.Parent target.Parent:()
model = target.Parent
hum = model:()
hum model.Name ~= player.Name
placement.selectedModel placement.selectedModel ~= model
(placement.selectedModel)
placement.selectedModel = model
placement.stickToEntity = stickToggle.Text ==
(model)
adornee = (model)
placement.lastPos = (adornee adornee.Position) placement.lastPos
placementSelectedLabel.Text = ..(model.Name)
statusBar.Text = ..(model.Name)
hit
placement.lastPos = hit
placement.selectedModel
(placement.selectedModel)
placement.selectedModel =
placementSelectedLabel.Text =
statusBar.Text = ():(hit.X, hit.Y, hit.Z)
hit
placement.lastPos = hit
placement.selectedModel
(placement.selectedModel)
placement.selectedModel =
placementSelectedLabel.Text =
statusBar.Text = ():(hit.X, hit.Y, hit.Z)
placement.clickCapture =
clickConn clickConn:(); clickConn =
escConn escConn:(); escConn =
(() (.RKB_currentAimMode) )
)
)
stickToggle.MouseButton1Click:(()
stickToggle.Text ==
stickToggle.Text =
stickToggle.BackgroundColor3 = .(,,)
placement.stickToEntity =
stickToggle.Text =
stickToggle.BackgroundColor3 = .(,,)
placement.stickToEntity =
placementSelectedLabel.Text = placement.selectedModel (..(placement.selectedModel.Name))
(() (.RKB_currentAimMode) )
)
placeStudsBox:():(()
v = (placeStudsBox.Text)
v v > placement.studs = v
(() (.RKB_currentAimMode) )
)
()
capturingKey =
setKeyBtn.Text =
bindSelectedBtn.Text =
statusBar.Text =
capturingConn capturingConn:(); capturingConn =
(remotesTable)
capturingKey
capturingKey =
setKeyBtn.Text =
bindSelectedBtn.Text =
statusBar.Text =
capturingConn = UserInputService.InputBegan:((input, gp)
capturingKey
input.UserInputType == .UserInputType.Keyboard
code = input.KeyCode
code == .KeyCode.Escape ();
bd = {
remote = ((remotesTable)== (#remotesTable== remotesTable[] remotesTable)) remotesTable,
extraArgs = (argsBox.Text),
hold = (holdToggle.Text == ),
interval = (intervalBox.Text) ,
mode = aimDropdown.Text,
predictionX = (predXBox.Text) ,
predictionY = (predYBox.Text) ,
argFormat = formatDropdown.Text,
remotePath = ,
remotePaths = ,
placeStuds = (placeStudsBox.Text) placement.studs,
placeLastPos = (placement.lastPos {placement.lastPos.X, placement.lastPos.Y, placement.lastPos.Z}) ,
placeStick = placement.stickToEntity
}
(bd.remote) ==
ok, fp = (() bd.remote:() )
ok fp bd.remotePath = fp
(bd.remote) ==
bd.remotePaths = {}
_,r (bd.remote)
ok, fp = (() r:() )
ok fp .(bd.remotePaths, fp)
bd.remotePath = bd.remotePaths[]
(code, bd)
((code))
assignedLabel.Text = .. (code) .. .. ((bd.remote)== #bd.remote ) ..
statusBar.Text = .. (code)
()
)
setKeyBtn.MouseButton1Click:(()
selectedInfo selectedInfo.remote statusBar.Text = ;
(selectedInfo.remote)
)
bindSelectedBtn.MouseButton1Click:(()
remotes = {}
r,_ (selectedSet) do
if r and r.Parent then table.insert(remotes, r) end
end
if #remotes == 0 then statusBar.Text = "No remotes selected (toggle Multi-Select on, then click entries)"; return end
beginKeyCaptureForRemotes(remotes)
end)
clearMultiBindsBtn.MouseButton1Click:Connect(function()
clearSelectedBindingsAndSelection()
end)
-- multi-toggle behaviors
multiToggle.MouseButton1Click:Connect(function()
multiSelectMode = not multiSelectMode
if multiSelectMode then
multiToggle.Text = "Multi-Select: On"
statusBar.Text = "Multi-Select ON — click entries to add/remove them (blue = selected)."
for r,fr in pairs(entries) do
if selectedSet[r] then fr.BackgroundColor3 = SELECT_BG end
end
else
multiToggle.Text = "Multi-Select: Off"
statusBar.Text = "Multi-Select OFF — inspector mode."
for r,fr in pairs(entries) do
if selectedSet[r] then fr.BackgroundColor3 = NORMAL_BG end
end
end
end)
clearSelectionBtn.MouseButton1Click:Connect(function()
for r,fr in pairs(entries) do
if selectedSet[r] and fr and fr.Parent then fr.BackgroundColor3 = NORMAL_BG end
end
selectedSet = {}
selectedCountLabel.Text = "0"
statusBar.Text = "Selection cleared."
end)
-- Save/Update/Load/Fire/Clear UI handlers (behaviour kept but now store placement fields)
local function buildBindingDataFromUIForKey(keyName)
if not keyName then return nil, "no key" end
local data = {
key = keyName,
remotePath = (selectedInfo and pcall(function() return selectedInfo.remote:GetFullName() end) and selectedInfo.remote:GetFullName()) or "",
extraArgsText = argsBox.Text or "",
hold = (holdToggle.Text == "Hold mode"),
interval = tonumber(intervalBox.Text) or 0.12,
mode = aimDropdown.Text or "Mouse",
predictionX = tonumber(predXBox.Text) or 0,
predictionY = tonumber(predYBox.Text) or 0,
argFormat = formatDropdown.Text or "Vector3",
placeStuds = tonumber(placeStudsBox.Text) or placement.studs,
placeLastPos = (placement.lastPos and {placement.lastPos.X, placement.lastPos.Y, placement.lastPos.Z}) or nil,
placeStick = placement.stickToEntity
}
return data
end
function applySavedBinding(data)
if not data or not data.key then return false, "invalid data" end
local keyEnum = nameToKeyEnum(data.key)
if not keyEnum then return false, "invalid key name " .. tostring(data.key) end
local resolvedRemotes = {}
if data.remotePaths and type(data.remotePaths) == "table" then
for _,p in ipairs(data.remotePaths) do
local inst = findInstanceByFullName(p)
if inst then table.insert(resolvedRemotes, inst) end
end
elseif data.remotePath and data.remotePath ~= "" then
local inst = findInstanceByFullName(data.remotePath)
if inst then table.insert(resolvedRemotes, inst) end
end
if #resolvedRemotes == 0 then
if data.remotePath and data.remotePath ~= "" then
local short = data.remotePath:match("([^%.]+)$")
if short then
for _,inst in ipairs(backpack:GetDescendants()) do if isRemote(inst) and inst.Name == short then table.insert(resolvedRemotes, inst) end end
for _,inst in ipairs(character:GetDescendants()) do if isRemote(inst) and inst.Name == short then table.insert(resolvedRemotes, inst) end end
end
end
end
if #resolvedRemotes == 0 then
pendingSaved[data.key] = data
return false, "remote(s) not found"
end
local px = tonumber(data.predictionX); local py = tonumber(data.predictionY)
if px == nil and tonumber(data.prediction) then px = tonumber(data.prediction) end
if py == nil and tonumber(data.prediction) then py = tonumber(data.prediction) end
px = px or 0; py = py or 0
local bd = {
remote = (#resolvedRemotes==1) and resolvedRemotes[1] or resolvedRemotes,
extraArgs = parseArgsText(data.extraArgsText or ""),
hold = data.hold and true or false,
interval = tonumber(data.interval) or 0.12,
mode = data.mode or "Mouse",
predictionX = px,
predictionY = py,
argFormat = data.argFormat or "Vector3",
placeStuds = tonumber(data.placeStuds) or nil,
placeLastPos = data.placeLastPos or nil,
placeStick = data.placeStick and true or false,
remotePath = data.remotePath or "",
remotePaths = data.remotePaths or nil
}
setBindingForKey(keyEnum, bd)
return true
end
_G.applySavedBinding = applySavedBinding
saveBtn.MouseButton1Click:Connect(function()
if not selectedInfo or not selectedInfo.remote then statusBar.Text = "Select a remote first to Save"; return end
local boundKey = nil
for k,bd in pairs(bindings) do
if bd.remote and ((typeof(bd.remote)=="Instance" and bd.remote == selectedInfo.remote) or (type(bd.remote)=="table" and table.find(bd.remote, selectedInfo.remote))) then
boundKey = keyEnumToName(k); break
end
end
if not boundKey then statusBar.Text = "No keybind for selected remote. Use Set Keybind first."; return end
local data, err = buildBindingDataFromUIForKey(boundKey)
if not data then statusBar.Text = "Save error: "..tostring(err); return end
local ok, e = saveBindingToFolder(boundKey, data)
if ok then statusBar.Text = "Saved binding for key "..boundKey else statusBar.Text = "Save failed: "..tostring(e) end
end)
updateBtn.MouseButton1Click:Connect(function()
if not selectedInfo or not selectedInfo.remote then statusBar.Text = "Select a remote first."; return end
local boundKey = nil
for k,bd in pairs(bindings) do
if bd.remote and ((typeof(bd.remote)=="Instance" and bd.remote == selectedInfo.remote) or (type(bd.remote) == "table" and table.find(bd.remote, selectedInfo.remote))) then
boundKey = keyEnumToName(k); break
end
end
if not boundKey then statusBar.Text = "No keybind to update. Use Set Keybind first."; return end
local data, err = buildBindingDataFromUIForKey(boundKey)
if not data then statusBar.Text = "Update error: "..tostring(err); return end
local ok, e = saveBindingToFolder(boundKey, data)
if ok then statusBar.Text = "Updated saved binding for "..boundKey else statusBar.Text = "Update failed: "..tostring(e) end
end)
loadBtn.MouseButton1Click:Connect(function()
statusBar.Text = "Loading saved bindings..."
local saved = loadSavedBindingsIntoTable()
pendingSaved = {}
local applied = 0
for keyName, data in pairs(saved) do
local ok, err = applySavedBinding(data)
if ok then applied = applied + 1 else pendingSaved[keyName] = data end
end
statusBar.Text = ("Loaded %d saved. Pending: %d"):format(applied, (function() local c=0; for _ in pairs(pendingSaved) do c=c+1 end; return c end)())
leftScroll.CanvasSize = UDim2.new(0,0,0, leftListLayout.AbsoluteContentSize.Y + 12)
end)
fireBtn.MouseButton1Click:Connect(function()
if not selectedInfo or not selectedInfo.remote then statusBar.Text = "Select a remote first."; return end
local bd = {
remote = selectedInfo.remote,
extraArgs = parseArgsText(argsBox.Text),
mode = aimDropdown.Text,
predictionX = tonumber(predXBox.Text) or 0,
predictionY = tonumber(predYBox.Text) or 0,
argFormat = formatDropdown.Text,
placeStuds = tonumber(placeStudsBox.Text) or placement.studs,
placeLastPos = (placement.lastPos and {placement.lastPos.X, placement.lastPos.Y, placement.lastPos.Z}) or nil,
placeStick = placement.stickToEntity
}
local ok, err = safeCallRemote(bd.remote, buildArgsForBinding(bd), bd.argFormat == "XYZ")
if ok then statusBar.Text = "Test fire success." else statusBar.Text = "Test fire failed: "..tostring(err) end
end)
local function clearBindingsForSelected()
if not selectedInfo or not selectedInfo.remote then statusBar.Text = "Select a remote first."; return end
local removed = false
local toDelete = {}
for k,bd in pairs(bindings) do
local rr = bd.remote
if typeof(rr) == "Instance" then
if rr == selectedInfo.remote then table.insert(toDelete, k); removed = true end
else
for _,r in ipairs(rr or {}) do
if r == selectedInfo.remote then table.insert(toDelete, k); removed = true; break end
end
end
end
for _,k in ipairs(toDelete) do
local kn = keyEnumToName(k)
if kn then deleteSavedBinding(kn) end
bindings[k] = nil
end
if removed then assignedLabel.Text = "Assigned: <none>"; statusBar.Text = "Cleared binding(s) for selected remote." else statusBar.Text = "No binding found for selected remote." end
end
local clearBindBtn = Instance.new("TextButton", rightPane)
clearBindBtn.Position = UDim2.new(0,324,1,-84)
clearBindBtn.Size = UDim2.new(0,86,0,28)
clearBindBtn.Font = Enum.Font.Gotham
clearBindBtn.Text = "Clear Bind"
clearBindBtn.BackgroundColor3 = Color3.fromRGB(92,36,36)
clearBindBtn.TextColor3 = Color3.fromRGB(240,240,240)
clearBindBtn.BorderSizePixel = 0
clearBindBtn.TextSize = 12
clearBindBtn.MouseButton1Click:Connect(clearBindingsForSelected)
reloadBtn.MouseButton1Click:Connect(function()
pcall(function()
scanInventoryOnce()
statusBar.Text = "Remotes reloaded."
leftScroll.CanvasSize = UDim2.new(0,0,0, leftListLayout.AbsoluteContentSize.Y + 12)
local saved = loadSavedBindingsIntoTable()
for k,data in pairs(saved) do
local ok, err = applySavedBinding(data)
if ok then pendingSaved[k] = nil end
end
end)
end)
local function resetToolsNow()
statusBar.Text = "Resetting tools..."
pcall(function()
character = player.Character or player.CharacterAdded:Wait()
for _,obj in ipairs(character:GetChildren()) do
if obj:IsA("Tool") then
pcall(function() obj.Parent = backpack end)
task.wait(0.06)
pcall(function() obj.Parent = character end)
task.wait(0.06)
end
end
for _,obj in ipairs(backpack:GetChildren()) do
if obj:IsA("Tool") then
pcall(function() obj.Parent = character end)
task.wait(0.03)
pcall(function() obj.Parent = backpack end)
end
end
scanInventoryOnce()
leftScroll.CanvasSize = UDim2.new(0,0,0, leftListLayout.AbsoluteContentSize.Y + 12)
end)
statusBar.Text = "Reset tools attempted; reloaded inventory."
end
resetToolsBtn.MouseButton1Click:Connect(resetToolsNow)
-- --------------------
-- Periodic scan start & load saved
-- --------------------
task.spawn(function()
while true do
pcall(function()
scanInventoryOnce()
for r,fr in pairs(entries) do
if fr and fr.Parent then
local lbl = fr:FindFirstChildOfClass("TextLabel")
if lbl then
local ok, full = pcall(function() return r:GetFullName() end)
lbl.Text = ok and full or tostring(r.Name)
end
end
end
leftScroll.CanvasSize = UDim2.new(0,0,0, leftListLayout.AbsoluteContentSize.Y + 12)
end)
task.wait(1.0)
end
end)
task.spawn(function()
task.wait(0.6)
local saved = loadSavedBindingsIntoTable()
for k,data in pairs(saved) do
local ok, err = applySavedBinding(data)
if not ok then pendingSaved[k] = data end
end
statusBar.Text = "Ready — Multi-Select button under list. Toggle it, click entries to select."
end)
-- --------------------
-- Respawn handling & cleanup (keep visuals following new character)
-- --------------------
player.CharacterAdded:Connect(function(char)
character = char
task.delay(0.25, function()
pcall(function()
backpack = player:FindFirstChild("Backpack") or backpack
refreshHumanoidCache()
scanInventoryOnce()
local saved = loadSavedBindingsIntoTable()
for k,data in pairs(saved) do
local ok, err = applySavedBinding(data)
if not ok then pendingSaved[k] = data end
end
leftScroll.CanvasSize = UDim2.new(0,0,0, leftListLayout.AbsoluteContentSize.Y + 12)
statusBar.Text = "Respawned — reloaded inventory & saved bindings."
end)
end)
task.delay(0.2, function() pcall(function() updatePlacementVisual(_G.RKB_currentAimMode) end) end)
end)
player.AncestryChanged:Connect(function(_, parent)
if not parent then
pcall(destroyPlacementVisual)
end
end)
-- debug helpers
_G.RKB_getBindings = function() return bindings end
_G.RKB_reload = function() scanInventoryOnce(); statusBar.Text = "Manual reload (exposed)"; end
_G.RKB_resetTools = resetToolsNow
-- end of script
it uses tools keybinds as a aim system and also slient aim(i think) i added striaght forward so attacks like blasters aim forward. features are mouse,nearestplayer,nearesthumanoid,straightforward,customplacement(prob just in beta testing) and custom prediction tho this is only main for like sans fighting games you might find some use of remote abuse also multi keybinds and toggle and hold mode. also this was made by ai not me. Updated note today: this is also a reupload since it prob hard to find tho this is universal to most games that uses tools and have remotes behind them

Universal