Diju

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 17

Bot = {}

Bot["CHENSSSGALAU4"] = {
webhookLink =
"https://discord.com/api/webhooks/1021706682612580402/o75rW819TvJROsu-
ujSTdm64SUXlZ3v_NH3QVUN0iPqDlVZeTjl-G-Pyj1jdhkREfO3N", -- Bot webhook link
messageId = "1021706596277030925", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {YGYANG}, -- World list
doorFarm = "RL12345", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["CHENSSSGALAU8"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["bot3"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["bot4"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["bot5"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["bot6"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["bot7"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["bot8"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["bot9"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}
Bot["bot10"] = {
webhookLink = "", -- Bot webhook link
messageId = "", -- Webhook message id
startFrom = 1, -- Start from in world list
worldList = {}, -- World list
doorFarm = "", -- Rotation world door id
upgradeBackpack = 0 -- Number of times to upgrade backpack when starting
rotation
}

webhookLinkPack =
"https://discord.com/api/webhooks/1021706682612580402/o75rW819TvJROsu-
ujSTdm64SUXlZ3v_NH3QVUN0iPqDlVZeTjl-G-Pyj1jdhkREfO3N" -- Pack info webhook link
messageIdPack = "1021706596277030925" -- Pack info message id

webhookLinkSeed =
"https://discord.com/api/webhooks/1021706682612580402/o75rW819TvJROsu-
ujSTdm64SUXlZ3v_NH3QVUN0iPqDlVZeTjl-G-Pyj1jdhkREfO3N" -- Seed info webhook link
messageIdSeed = "1021706596277030925" -- Seed info message id

storageSeed, doorSeed, patokanSeed = "VRUDOLFGTG", "VR12345", 16 -- Seed storage


world name, door id, and patokan
storagePack, doorPack, patokanPack = "VRUDOLFGTG", "VR12345", 20 -- Pack storage
world name, door id, and patokan

blacklistTile = false
blacklist = {
{x = -1, y = -1},
{x = 0, y = -1},
{x = 1, y = -1}
}

maxReconnect = 20 -- Max reconnect attempt


delayMaxReconnect = 1800000 -- Delay to reconnect after max attempt

itmId = 4584 -- Item id


itmSeed = itmId + 1 -- Item seed / Dont edit

delayHarvest = 120 -- Harvesting delay


delayPlant = 100 -- Planting delay
delayPunch = 160 -- Punching delay
delayPlace = 110 -- Placing delay

tileNumber = 5 -- Customable from 1 to 5


customTile = false -- Set true if custom breaking pos
customX = 1 -- Custom breaking pos x
customY = 2 -- Custom breaking pos y

separatePlant = false -- Set true if separate harvest and plant


buyAfterPNB = true -- Set true if buying and storing pack after each pnb
root = false -- Set true if farming root
looping = true -- Set false if not looping

pack = "World Lock" -- Pack name to display on webhook


packList = {242} -- List of pack id
packName = "world_lock" -- Pack name in store
minimumGem = 20000 -- Minimum gems to buy pack
packPrice = 2000 -- Pack price
packLimit = 200 -- Limit of buying pack before bp full

joinWorldAfterRotation = true -- Set true if join random world after each rotation
worldToJoin =
{"world1","world2","world3","world4","world5","world6","world7","world8","world9"}
-- List of world to join after finishing 1 world

restartTimer = true -- Set true if restart time of farm after looping


customShow = false -- Set true if showing only custom amount of world
showList = 3 -- Number of custom worlds to be shown

goods = {itmId, itmSeed, 98, 18, 32, 6336, 9640} -- Item whitelist (don't edit)

items = {
{name = "World Lock", id = 242, emote = "<:world_lock:1011929928519925820>"},
{name = "Pepper Tree", id = 4584, emote =
"<:pepper_tree:1011930020836544522>"},
{name = "Pepper Tree Seed", id = 4585, emote =
"<:pepper_tree_seed:1011930051744374805>"},
} -- List of item info

------------------ Dont Touch ------------------


list = {}
tree = {}
waktu = {}
worlds = {}
fossil = {}
tileBreak = {}
profit = 0
listNow = 1
strWaktu = ""
t = os.time()
start = Bot[getBot().name:upper()].startFrom
stop = #Bot[getBot().name:upper()].worldList
doorFarm = Bot[getBot().name:upper()].doorFarm
messageId = Bot[getBot().name:upper()].messageId
worldList = Bot[getBot().name:upper()].worldList
totalList = #Bot[getBot().name:upper()].worldList
webhookLink = Bot[getBot().name:upper()].webhookLink
upgradeBackpack = Bot[getBot().name:upper()].upgradeBackpack

for i = start,#worldList do
table.insert(worlds,worldList[i])
end

if looping then
for i = 0,start - 1 do
table.insert(worlds,worldList[i])
end
end

for _,pack in pairs(packList) do


table.insert(goods,pack)
end

for i = math.floor(tileNumber/2),1,-1 do
i = i * -1
table.insert(tileBreak,i)
end
for i = 0, math.ceil(tileNumber/2) - 1 do
table.insert(tileBreak,i)
end

if (showList - 1) >= #worldList then


customShow = false
end

function bl(world)
blist = {}
fossil[world] = 0
for _,tile in pairs(getTiles()) do
if tile.fg == 6 then
doorX = tile.x
doorY = tile.y
elseif tile.fg == 3918 then
fossil[world] = fossil[world] + 1
end
end
if blacklistTile then
for _,tile in pairs(blacklist) do
table.insert(blist,{x = doorX + tile.x, y = doorY + tile.y})
end
end
end

function tilePunch(x,y)
for _,num in pairs(tileBreak) do
if getTile(x - 1,y + num).fg ~= 0 or getTile(x - 1,y + num).bg ~= 0 then
return true
end
end
return false
end
function tilePlace(x,y)
for _,num in pairs(tileBreak) do
if getTile(x - 1,y + num).fg == 0 and getTile(x - 1,y + num).bg == 0 then
return true
end
end
return false
end

function check(x,y)
for _,tile in pairs(blist) do
if x == tile.x and y == tile.y then
return false
end
end
return true
end

function warp(world,id)
while getBot().world ~= world:upper() do
sendPacket(3,"action|join_request\nname|"..world:upper())
sleep(5000)
end
if id ~= "" then
while getTile(math.floor(getBot().x / 32),math.floor(getBot().y / 32)).fg
== 6 do
sendPacket(3,"action|join_request\
nname|"..world:upper().."|"..id:upper())
sleep(1000)
end
end
end

function waktuWorld()
strWaktu = ""
if customShow then
for i = showList,1,-1 do
newList = listNow - i
if newList <= 0 then
newList = newList + totalList
end
strWaktu = strWaktu.."\n"..worldList[newList]:upper().." ( "..
(waktu[worldList[newList]] or "?").." | "..(tree[worldList[newList]] or "?").." )"
end
else
for _,world in pairs(worldList) do
strWaktu = strWaktu.."\n"..world:upper().." ( "..(waktu[world] or
"?").." | "..(tree[world] or "?").." )"
end
end
end

function botInfo(info)
te = os.time() - t
fossill = fossil[getBot().world] or 0
local text = [[
$webHookUrl = "]]..webhookLink..[[/messages/]]..messageId..[["
$CPU = Get-WmiObject Win32_Processor | Measure-Object -Property
LoadPercentage -Average | Select -ExpandProperty Average
$CompObject = Get-WmiObject -Class WIN32_OperatingSystem
$Memory = ((($CompObject.TotalVisibleMemorySize -
$CompObject.FreePhysicalMemory)*100)/ $CompObject.TotalVisibleMemorySize)
$RAM = [math]::Round($Memory, 0)
$thumbnailObject = @{
url = "https://komikkamvret.com/wp-content/uploads/2021/04/Pus-
Nyangami-Roger-1024x978.png"
}
$footerObject = @{
text = "]]..(os.date("!%a %b %d, %Y at %I:%M %p", os.time() + 7 * 60 *
60))..[["
}
$fieldArray = @(
@{
name = "<:pickaxe:1011931845065183313> Bot Info"
value = "]]..info..[["
inline = "false"
}
@{
name = "<:birth_certificate:1011929949076193291> Bot Name"
value = "]]..getBot().name..[["
inline = "true"
}
@{
name = "<:heart_monitor:1012587208902987776> Bot Status"
value = "]]..getBot().status..[["
inline = "true"
}
@{
name = "<:gems:1011931178510602240> Bot Gems"
value = "]]..findItem(112)..[["
inline = "true"
}
@{
name = "<:globe:1011929997679796254> World Name"
value = "]]..getBot().world..[["
inline = "true"
}
@{
name = "<:growtopia_scroll:1011972982261944444> World Order"
value = "]]..start..[[ / ]]..stop..[["
inline = "true"
}
@{
name = "<:fossil_rock:1011972962573881464> World Fossil"
value = "]]..fossill..[["
inline = "true"
}
@{
name = "<:shop_sign:1012590603172847648> Pack Name"
value = "]]..pack..[["
inline = "true"
}
@{
name = "<:guest_book:1012588503466528869> Bot Profit"
value = "]]..profit..[[ ]]..pack..[["
inline = "true"
}
@{
name = "<:CPU:994981162588053565> CPU & RAM"
value = "$CPU% | $RAM%"
inline = "true"
}
@{
name = "<:change_of_address:1012566655995490354> World List"
value = "]]..strWaktu..[["
inline = "false"
}
@{
name = "<:growtopia_clock:1011929976628596746> Bot Uptime"
value = "]]..math.floor(te/86400)..[[ Days ]]..math.floor(te
%86400/3600)..[[ Hours ]]..math.floor(te%86400%3600/60)..[[ Minutes"
inline = "false"
}
)
$embedObject = @{
title = "<:exclamation_sign:1011934940096630794> **BOT INFORMATION**"
color = "]]..math.random(1111111,9999999)..[["
thumbnail = $thumbnailObject
footer = $footerObject
fields = $fieldArray
}
$embedArray = @($embedObject)
$payload = @{
embeds = $embedArray
}
[Net.ServicePointManager]::SecurityProtocol =
[Net.SecurityProtocolType]::Tls12
Invoke-RestMethod -Uri $webHookUrl -Body ($payload | ConvertTo-Json -Depth
4) -Method Patch -ContentType 'application/json'
]]
local file = io.popen("powershell -command -", "w")
file:write(text)
file:close()
end

function packInfo(link,id,desc)
local text = [[
$webHookUrl = "]]..link..[[/messages/]]..id..[["
$thumbnailObject = @{
url = "https://komikkamvret.com/wp-content/uploads/2021/04/Pus-
Nyangami-Roger-1024x978.png"
}
$footerObject = @{
text = "]]..(os.date("!%a %b %d, %Y at %I:%M %p", os.time() + 7 * 60 *
60))..[["
}
$fieldArray = @(
@{
name = "Dropped Items"
value = "]]..desc..[["
inline = "false"
}
)
$embedObject = @{
title = "<:exclamation_sign:1011934940096630794> **PACK/SEED
INFORMATION**"
color = "]]..math.random(111111,999999)..[["
thumbnail = $thumbnailObject
footer = $footerObject
fields = $fieldArray
}
$embedArray = @($embedObject)
$payload = @{
embeds = $embedArray
}
[Net.ServicePointManager]::SecurityProtocol =
[Net.SecurityProtocolType]::Tls12
Invoke-RestMethod -Uri $webHookUrl -Body ($payload | ConvertTo-Json -Depth
4) -Method Patch -ContentType 'application/json'
]]
local file = io.popen("powershell -command -", "w")
file:write(text)
file:close()
end

function reconInfo()
local text = [[
$webHookUrl = "]]..webhookLink..[["
$payload = @{
content = "]]..getBot().name..[[ status is ]]..getBot().status..
[[ @everyone"
}
[Net.ServicePointManager]::SecurityProtocol =
[Net.SecurityProtocolType]::Tls12
Invoke-RestMethod -Uri $webHookUrl -Body ($payload | ConvertTo-Json -Depth
4) -Method Post -ContentType 'application/json'
]]
local file = io.popen("powershell -command -", "w")
file:write(text)
file:close()
end

function reconnect(world,id,x,y)
if getBot().status ~= "online" then
botInfo("Reconnecting")
sleep(100)
reconInfo()
sleep(100)
konek = 0
while true do
connect()
sleep(10000)
if getBot().status == "suspended" or getBot().status == "banned" then
botInfo(getBot().status)
sleep(100)
reconInfo()
sleep(100)
while true do
sleep(10000)
end
end
while getBot().status == "online" and getBot().world ~= world:upper()
do
sendPacket(3,"action|join_request\nname|"..world:upper())
sleep(5000)
end
if getBot().status == "online" and getBot().world == world:upper() then
while getTile(math.floor(getBot().x / 32),math.floor(getBot().y /
32)).fg == 6 do
sendPacket(3,"action|join_request\
nname|"..world:upper().."|"..id:upper())
sleep(1000)
end
if x and y and getBot().status == "online" and getBot().world ==
world:upper() then
while math.floor(getBot().x / 32) ~= x or math.floor(getBot().y
/ 32) ~= y do
findPath(x,y)
sleep(100)
end
end
if getBot().status == "online" and getBot().world == world:upper()
then
if x and y then
if getBot().status == "online" and math.floor(getBot().x /
32) == x and math.floor(getBot().y / 32) == y then
break
end
elseif getBot().status == "online" then
break
end
end
end
if konek < maxReconnect then
konek = konek + 1
else
botInfo("Max Reconnect Attempt Reached! Waiting for "..
(math.floor(delayMaxReconnect/36000)/100).." Minutes")
sleep(delayMaxReconnect)
konek = 0
botInfo("Reconnecting")
sleep(100)
end
end
botInfo("Succesfully Reconnected")
sleep(100)
reconInfo()
sleep(100)
botInfo("Farming")
sleep(100)
end
end

function round(n)
return n % 1 > 0.5 and math.ceil(n) or math.floor(n)
end

function tileDrop1(x,y,num)
local count = 0
local stack = 0
for _,obj in pairs(getObjects()) do
if round(obj.x / 32) == x and math.floor(obj.y / 32) == y then
count = count + obj.count
stack = stack + 1
end
end
if stack < 20 and count <= (4000 - num) then
return true
end
return false
end

function tileDrop2(x,y,num)
local count = 0
local stack = 0
for _,obj in pairs(getObjects()) do
if round(obj.x / 32) == x and math.floor(obj.y / 32) == y then
count = count + obj.count
stack = stack + 1
end
end
if count <= (4000 - num) then
return true
end
return false
end

function storePack()
for _,pack in pairs(packList) do
for _,tile in pairs(getTiles()) do
if tile.fg == patokanPack or tile.bg == patokanPack then
if tileDrop1(tile.x,tile.y,findItem(pack)) then
while math.floor(getBot().x / 32) ~= (tile.x - 1) or
math.floor(getBot().y / 32) ~= tile.y do
findPath(tile.x - 1,tile.y)
sleep(1000)
reconnect(storagePack,doorPack,tile.x - 1,tile.y)
end
while findItem(pack) > 0 and
tileDrop1(tile.x,tile.y,findItem(pack)) do
sendPacket(2,"action|drop\n|itemID|"..pack)
sendPacket(2,"action|dialog_return\ndialog_name|drop_item\
nitemID|"..pack.."|\ncount|"..findItem(pack))
sleep(500)
reconnect(storagePack,doorPack,tile.x - 1,tile.y)
end
end
end
if findItem(pack) == 0 then
break
end
end
end
end

function itemInfo(ids)
local result = {name = "null", id = ids, emote = "null"}
for _,item in pairs(items) do
if item.id == ids then
result.name = item.name
result.emote = item.emote
return result
end
end
return result
end

function infoPack()
local store = {}
for _,obj in pairs(getObjects()) do
if store[obj.id] then
store[obj.id].count = store[obj.id].count + obj.count
else
store[obj.id] = {id = obj.id, count = obj.count}
end
end
local str = ""
for _,object in pairs(store) do
str = str.."\n"..itemInfo(object.id).emote.."
"..itemInfo(object.id).name.." : x"..object.count
end
return str
end

function storeSeed(world)
botInfo("Storing Seed")
sleep(100)
collectSet(false,3)
sleep(100)
warp(storageSeed,doorSeed)
sleep(100)
for _,tile in pairs(getTiles()) do
if tile.fg == patokanSeed or tile.bg == patokanSeed then
if tileDrop2(tile.x,tile.y,100) then
while math.floor(getBot().x / 32) ~= (tile.x - 1) or
math.floor(getBot().y / 32) ~= tile.y do
findPath(tile.x - 1,tile.y)
sleep(1000)
reconnect(storageSeed,doorSeed,tile.x - 1,tile.y)
end
while findItem(itmSeed) >= 100 and tileDrop2(tile.x,tile.y,100) do
sendPacket(2,"action|drop\n|itemID|"..itmSeed)
sendPacket(2,"action|dialog_return\ndialog_name|drop_item\
nitemID|"..itmSeed.."|\ncount|100")
sleep(500)
reconnect(storageSeed,doorSeed,tile.x - 1,tile.y)
end
end
if findItem(itmSeed) < 100 then
break
end
end
end
packInfo(webhookLinkSeed,messageIdSeed,infoPack())
sleep(100)
warp(world,doorFarm)
sleep(100)
collectSet(true,3)
sleep(100)
botInfo("Farming")
sleep(100)
end
function buy()
botInfo("Buying and Storing Pack")
sleep(100)
collectSet(false,3)
sleep(100)
warp(storagePack,doorPack)
sleep(100)
while findItem(112) >= packPrice do
for i = 1, packLimit do
sendPacket(2,"action|buy\nitem|"..packName)
sleep(500)
if findItem(packList[0]) == 0 then
sendPacket(2,"action|buy\nitem|upgrade_backpack")
sleep(500)
else
profit = profit + 1
end
if findItem(112) < packPrice then
break
end
end
storePack()
sleep(100)
reconnect(storagePack,doorPack)
end
packInfo(webhookLinkPack,messageIdPack,infoPack())
sleep(100)
end

function includesNumber(table, number)


for _,num in pairs(table) do
if num == number then
return true
end
end
return false
end

function clear()
for _,item in pairs(getInventory()) do
if not includesNumber(goods, item.id) then
sendPacket(2, "action|trash\n|itemID|"..item.id)
sendPacket(2, "action|dialog_return\ndialog_name|trash_item\
nitemID|"..item.id.."|\ncount|"..item.count)
sleep(200)
end
end
end

function take(world)
botInfo("Taking Seed")
sleep(100)
while findItem(itmSeed) == 0 do
collectSet(false,3)
sleep(100)
warp(storageSeed,doorSeed)
sleep(100)
for _,obj in pairs(getObjects()) do
if obj.id == itmSeed then
findPath(round(obj.x / 32),math.floor(obj.y / 32))
sleep(1000)
collect(2)
sleep(1000)
end
if findItem(itmSeed) > 0 then
break
end
end
packInfo(webhookLinkSeed,messageIdSeed,infoPack())
sleep(100)
warp(world,doorFarm)
sleep(100)
collectSet(true,3)
sleep(100)
end
end

function plant(world)
for _,tile in pairs(getTiles()) do
if findItem(itmSeed) == 0 then
take(world)
sleep(100)
botInfo("Farming")
sleep(100)
end
if tile.flags ~= 0 and tile.y ~= 0 and getTile(tile.x,tile.y - 1).fg == 0
then
if not blacklistTile or check(tile.x,tile.y) then
findPath(tile.x,tile.y - 1)
while getTile(tile.x,tile.y - 1).fg == 0 and
getTile(tile.x,tile.y).flags ~= 0 do
place(itmSeed,0,0)
sleep(delayPlant)
reconnect(world,doorFarm,tile.x,tile.y - 1)
end
end
end
end
if findItem(itmSeed) >= 100 then
storeSeed(world)
sleep(100)
end
end

function pnb(world)
if findItem(itmId) >= tileNumber then
if not customTile then
ex = 1
ye = math.floor(getBot().y / 32)
if ye > 40 then
ye = ye - 10
elseif ye < 11 then
ye = ye + 10
end
if getTile(ex,ye).fg ~= 0 and getTile(ex,ye).fg ~= itmSeed then
ye = ye - 1
end
else
ex = customX
ye = customY
end
while math.floor(getBot().x / 32) ~= ex or math.floor(getBot().y / 32) ~=
ye do
findPath(ex,ye)
sleep(100)
end
if tileNumber > 1 then
while findItem(itmId) >= tileNumber and findItem(itmSeed) < 190 do
while tilePlace(ex,ye) do
for _,i in pairs(tileBreak) do
if getTile(ex - 1,ye + i).fg == 0 and getTile(ex - 1,ye +
i).bg == 0 then
place(itmId,-1,i)
sleep(delayPlace)
reconnect(world,doorFarm,ex,ye)
end
end
end
while tilePunch(ex,ye) do
for _,i in pairs(tileBreak) do
if getTile(ex - 1,ye + i).fg ~= 0 or getTile(ex - 1,ye +
i).bg ~= 0 then
punch(-1,i)
sleep(delayPunch)
reconnect(world,doorFarm,ex,ye)
end
end
end
reconnect(world,doorFarm,ex,ye)
end
else
while findItem(itmId) > 0 and findItem(itmSeed) < 190 do
while getTile(ex - 1,ye).fg == 0 and getTile(ex - 1,ye).bg == 0 do
place(itmId,-1,0)
sleep(delayPlace)
reconnect(world,doorFarm,ex,ye)
end
while getTile(ex - 1,ye).fg ~= 0 or getTile(ex - 1,ye).bg ~= 0 do
punch(-1,0)
sleep(delayPunch)
reconnect(world,doorFarm,ex,ye)
end
end
end
clear()
sleep(100)
if buyAfterPNB and findItem(112) >= minimumGem then
buy()
sleep(100)
warp(world,doorFarm)
sleep(100)
collectSet(true,3)
sleep(100)
botInfo("Farming")
sleep(100)
end
end
end

function harvest(world)
botInfo("Farming")
sleep(100)
tree[world] = 0
if not separatePlant then
for _,tile in pairs(getTiles()) do
if findItem(itmSeed) == 0 then
take(world)
sleep(100)
botInfo("Farming")
sleep(100)
end
if getTile(tile.x,tile.y - 1).ready or (tile.flags ~= 0 and tile.y ~= 0
and getTile(tile.x,tile.y - 1).fg == 0) then
if not blacklistTile or check(tile.x,tile.y) then
tree[world] = tree[world] + 1
findPath(tile.x,tile.y - 1)
while getTile(tile.x,tile.y - 1).fg == itmSeed do
punch(0,0)
sleep(delayHarvest)
reconnect(world,doorFarm,tile.x,tile.y - 1)
end
if root then
while getTile(tile.x, tile.y).fg == (itmId + 4) and
getTile(tile.x, tile.y).flags ~= 0 do
punch(0, 1)
sleep(delayHarvest)
reconnect(world,doorFarm,tile.x,tile.y - 1)
end
clear()
sleep(100)
end
while getTile(tile.x,tile.y - 1).fg == 0 and
getTile(tile.x,tile.y).flags ~= 0 do
place(itmSeed,0,0)
sleep(delayPlant)
reconnect(world,doorFarm,tile.x,tile.y - 1)
end
end
end
if findItem(itmId) >= 190 then
pnb(world)
sleep(100)
if findItem(itmSeed) >= 190 then
storeSeed(world)
sleep(100)
end
end
end
else
for _,tile in pairs(getTiles()) do
if findItem(itmSeed) == 0 then
take(world)
sleep(100)
botInfo("Farming")
sleep(100)
end
if getTile(tile.x,tile.y - 1).ready then
if not blacklistTile or check(tile.x,tile.y) then
tree[world] = tree[world] + 1
findPath(tile.x,tile.y - 1)
while getTile(tile.x,tile.y - 1).fg == itmSeed do
punch(0,0)
sleep(delayHarvest)
reconnect(world,doorFarm,tile.x,tile.y - 1)
end
if root then
while getTile(tile.x, tile.y).fg == (itmId + 4) and
getTile(tile.x, tile.y).flags ~= 0 do
punch(0, 1)
sleep(delayHarvest)
reconnect(world,doorFarm,tile.x,tile.y - 1)
end
clear()
sleep(100)
end
end
end
if findItem(itmId) >= 190 then
pnb(world)
sleep(100)
plant(world)
sleep(100)
end
end
end
pnb(world)
sleep(100)
if separatePlant then
plant(world)
sleep(100)
end
if findItem(112) >= minimumGem then
buy()
sleep(100)
end
end

for i = 1,upgradeBackpack do
sendPacket(2,"action|buy\nitem|upgrade_backpack")
sleep(500)
end

while true do
for index,world in pairs(worlds) do
waktuWorld()
sleep(100)
if findItem(itmSeed) == 0 then
take(world)
sleep(100)
else
warp(world,doorFarm)
sleep(100)
end
collectSet(true,3)
sleep(100)
bl(world)
sleep(100)
botInfo("Starting "..world)
sleep(100)
tt = os.time()
harvest(world)
sleep(100)
tt = os.time() - tt
botInfo("Finished "..world)
sleep(100)
waktu[world] = math.floor(tt/3600).." Hours "..math.floor(tt%3600/60).."
Minutes"
sleep(100)
if joinWorldAfterRotation then
botInfo("Clearing World Logs")
sleep(100)
for _,v in pairs(worldToJoin) do
while getBot().world ~= v:upper() do
sendPacket(3,"action|join_request\nname|"..v:upper())
sleep(5000)
end
sleep(10000)
end
end
if start < stop then
start = start + 1
else
if restartTimer then
waktu = {}
tree = {}
end
start = 1
end
end
if not looping then
waktuWorld()
sleep(100)
botInfo("Finished All World, Removing Bot!")
sleep(100)
removeBot(getBot().name)
break
end
end

You might also like