Run it
Copy the script and paste it into your executor.
player = .Players.LocalPlayer
RS = :()
SHOP_POS = .(, , )
sg = .(, player.PlayerGui)
frame = .(, sg)
frame.Size = .(, , , )
frame.Position = .(, -, , )
frame.BackgroundColor3 = .(, , )
frame.Active, frame.Draggable = ,
title = .(, frame)
title.Size = .(, , , ); title.Text = ; title.BackgroundColor3 = .(, , ); title.TextColor3 = .(,,)
(prompt)
.StopHarvest
(prompt)
prompt:(.UserInputType.Keyboard)
.()
prompt:(.UserInputType.Keyboard)
()
.StopHarvest =
char = player.Character
root = char char:()
root
oldPos = root.CFrame
allPrompts = {}
_, v (.Workspace:())
v:()
v.ActionText:() v.ObjectText:() v.ActionText:()
.(allPrompts, v)
( .. #allPrompts)
i, prompt (allPrompts)
.StopHarvest
prompt prompt.Parent
target = prompt.Parent
offset = .(, , )
target:()
root.CFrame = target:() * .(, , )
root.CFrame = target.CFrame * .(, , )
.()
(prompt)
( .. i .. .. #allPrompts)
.()
root.CFrame = oldPos
()
b1 = .(, frame)
b1.Size = .(, , , ); b1.Position = .(, , , )
b1.Text = ; b1.BackgroundColor3 = .(, , )
b1.MouseButton1Click:(startHurricane)
b2 = .(, frame)
b2.Size = .(, , , ); b2.Position = .(, , , )
b2.Text = ; b2.BackgroundColor3 = .(, , )
b2.MouseButton1Click:(()
root = player.Character.HumanoidRootPart
old = root.CFrame
root.CFrame = .(SHOP_POS)
.()
RS.RemoteEvents.GetShopData:()
RS.RemoteEvents.SellItems:()
.()
root.CFrame = old
)
stop = .(, frame)
stop.Size = .(, , , ); stop.Position = .(, , , )
stop.Text = ; stop.BackgroundColor3 = .(, , )
stop.MouseButton1Click:(() .StopHarvest = )
Its keyless, and easy, and you can harvest everything easily and sell all, its op

Universal