delay = 100
plat_Id = 3572
worldTakePlat = "DUNVENDS"
idTakePlat = "PICKCID"
worldletter = 7
TotalWorld = 2 -- TotalWorld df u wannna make
BreakRock = true
webhook = "https://discord.com/api/webhooks/1066300873476681758/C3kpx0OIbgmManULhjuqxb2SMdzP942ZGEE7YJ6Q3JhQZuuYe_J0iMilxid4-mETSONo"
Discordid = "1061683651580022824"
Mode = "Normal" -- Normal if u want auto put world lock, sl if u want auto put small lock
DoorForIn = 858 -- id block for door
IDdoor = "226" -- id door u wanna set
EntranceID = 2810 -- id for entrance door
BreakJammer = true
owner = "owner" -- for whitelist auto ban
hit = 15
function powershell(loglars)
local script = [[
$webHookUrl = ']].. webhook ..[['
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
[System.Collections.ArrayList]$embedArray = @()
$Body = @{
'content' = '<@]].. Discordid ..[[>'
}
$title = 'DF Logger'
$description = ']].. loglars..[['
$color = ']]..math.random(1000000,9999999)..[['
$thumbUrl = 'https://cdn.discordapp.com/attachments/1014943847731699796/1045687829121994853/FDSTORE.jpg'
$cpu = (Get-WmiObject win32_processor | Measure-Object -property LoadPercentage -Average | Select Average).Average
$ram = (Get-Counter '\Memory\Available MBytes').CounterSamples.CookedValue
$thumbnailObject = [PSCustomObject]@{
url = $thumbUrl
}
$embedObject = [PSCustomObject]@{
title = $title
description = "$descriptionr
nn**[RDP INFO]**
n<a:warningbxb:974487949238485072> | CPU : $cpu%`n<a:warningbxb:974487949238485072> | RAM : $ram MB"
color = $color
thumbnail = $thumbnailObject
}
$embedArray.Add($embedObject) | Out-Null
$payload = [PSCustomObject]@{
'avatar_url' = 'https://cdn.discordapp.com/attachments/1014943847731699796/1045687829121994853/FDSTORE.jpg'
'username' = 'DF kontol'
'content' = '<@]].. Discordid ..[[>'
embeds = $embedArray
}
Invoke-RestMethod -Uri $webHookUrl -Body ($payload | ConvertTo-Json -Depth 4) -Method Post -ContentType 'application/json'
]]
local pipe = io.popen("powershell -command -", "w")
pipe:write(script)
pipe:close()
end
if Mode == "Normal" then
LockID = 242
elseif Mode == "Rotasi" then
LockID = 202
end
function infobot(info)
powershell(
"[INFORMATION]\n<:megagt:974487352233824308> | Information : "..
info.."\n\n[BOT INFO]\n <:bot:994105499865841755> | Bot : "..
getBot().name.."\n<a:online2:972348740545421373> | Status : "..
getBot().status.."\n<:world:991268717667299328> | World : "..
getBot().world.."\n<:Verified:1000267030550827128> | Captcha : "..
getBot().captcha.."\n\n[BACKPACK INFO]\n <1045068588664508536> | Door : "..
findItem(12).."\n<:wl:1043343659187318935> | Lock : "..
findItem(LockID).."\n<:jammer:1035117134931558480> | Jammer : "..
findItem(226).."\n<:house_entrance:1025728368089497630> | Entrance : "..
findItem(EntranceID))
end
function trashItem(itemID, count)
sendPacket(2,"action|trash\n|itemID|" .. itemID)
sendPacket(2,"action|dialog_return\ndialog_name|trash_item\nitemID|" .. itemID .. "|\ncount|" .. count)
sleep(200)
end
function floats(id)
local count = 0
for , obj in pairs(getObjects()) do
if obj.id == id then
count = count + obj.count
end
end
return count
end
function drops(ids)
sendPacket(2,"action|drop\n|itemID|" .. ids)
sendPacket(2,"action|dialog_return\ndialog_name|drop_item\nitemID|242|\ncount|".. findItem(ids) - 1)
sleep(1300)
end
function take(id)
for , obj in pairs(getObjects()) do
if obj.id == id then
local x = math.floor(obj.x/32)
local y = math.floor(obj.y/32)
findPath(x, y)
sleep(150)
collectSet(true,2)
end
end
end
function takelock()
if Mode == "Normal" then
if floats(242) == 0 and findItem(242) == 0 then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : No World Lock. Bot Removed \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
sleep(10000)
removeBot(getBot().name)
elseif floats(242) ~= 0 and findItem(242) == 0 then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Taking Lock ... \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
sleep(200)
take(242)
sleep(200)
move(-1,0)
sleep(100)
collectSet(true,0)
sleep(200)
drops(242)
end
elseif Mode == "Rotasi" then
if findItem(202) == 0 and floats(202) == 0 then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : No Small Lock Found. Bot removed \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
removeBot(getBot().name)
elseif findItem(202) == 0 and floats(202) ~= 0 then
collectSet(2,true)
take(202)
sleep(150)
move(0,-1)
sleep(100)
collectSet(0,true)
sleep(100)
drops(202)
end
end
end
function bgkntl()
count = 0
for , tile in pairs(getTiles()) do
if tile.bg ~= 0 then
count = count + 1
end
end
return count
end
function fgcuyy()
count = 0
for , tile in pairs(getTiles()) do
if tile.fg ~= 0 then
count = count + 1
end
end
return count
end
function geneWorld()
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Finding World ... \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
::BACK31::
sleep(3000)
sendPacket(3,"action|quit_to_exit")
sleep(3000)
local totTxt = ""
for i = 1,worldletter do
totTxt = totTxt..string.char(math.random(97,122))
end
sendPacket(3,"action|join_request\nname|" .. totTxt.."\ninvitedWorld|0")
sleep(3000)
if bgkntl() > 3600 or fgcuyy() > 3601 then
goto BACK31
end
for _,t in pairs(getTiles()) do
if t.fg== 242 or t.fg== 9640 or t.fg== 202 or t.fg== 204 or t.fg== 206 or t.fg== 1796 or t.fg== 4994 or t.fg== 7188 or t.fg== 2408 or t.fg== 2950 or t.fg== 4428 or t.fg== 4802 or t.fg== 5814 or t.fg== 5260 or t.fg== 5980 or t.fg== 8470 or t.fg== 10410 or t.fg== 11550 or t.fg== 11586 then
goto BACK31
end
end
end
function putlock()
if Mode == "Normal" then
place(242,0,-1)
sleep(150)
move(1,0)
for i = 0,hit do
punch(0,1)
sleep(150)
end
sleep(150)
place(226,0,-1)
sleep(500)
punch(0,-1)
sleep(500)
move(0,1)
sleep(300)
place(DoorForIn,0,0)
sleep(500)
editdoorr()
sleep(500)
for i = 0,hit do
punch(1,0)
sleep(150)
end
sleep(150)
move(0,-1)
sleep(150)
move(-1,0)
sleep(150)
if getTile(math.floor(getBot().x/32)+-1,math.floor(getBot().y/32)) ~= EntranceID then
place(EntranceID,-1,0)
sleep(150)
if getTile(math.floor(getBot().x/32)+1,math.floor(getBot().y/32)) ~= EntranceID then
place(EntranceID,1,0)
sleep(150)
move(-4,0)
end
end
elseif Mode == "Rotasi" then
place(202,0,-1)
sleep(150)
for i = 0,hit do
punch(0,2)
sleep(150)
end
sleep(150)
move(-1,0)
sleep(150)
for i = 0,hit do
punch(0,2)
sleep(150)
end
sleep(150)
place(2,0,-1)
move(-1,0)
for i = 0,hit do
punch(0,1)
sleep(150)
end
sleep(150)
move(3,0)
sleep(300)
place(226,0,-1)
sleep(300)
punch(0,-1)
sleep(300)
for i = 0, hit do
punch(0,1)
sleep(150)
end
sleep(150)
for i = 0,hit do
punch(0,2)
sleep(150)
end
sleep(150)
move(0,1)
sleep(150)
place(DoorForIn,0,0)
sleep(2000)
editdoorr()
sleep(2200)
move(0,-1)
sleep(150)
move(1,0)
sleep(150)
for i = 0,hit do
punch(0,1)
sleep(150)
end
sleep(150)
towdd()
end
local file = io.open("dflist.txt", "a")
file:write(getBot().world .. ", ")
file:close()
end
function editdoorr()
wrench(0,0)
sleep(2000)
sendPacket(2,"action|dialog_return\ndialog_name|door_edit\ntilex|"..math.floor(getBot().x/32).."|\ntiley|"..math.floor(getBot().y/32).."|\ndoor_name|SC BY SATSSS\ndoor_target|" .. getBot().world .. "\ndoor_id|"..IDdoor.."\ncheckbox_locked|0")
sleep(2000)
end
function towdd()
move(-2,0)
sleep(150)
if getTile(math.floor(getBot().x/32)+-1,math.floor(getBot().y/32)) ~= EntranceID then
place(EntranceID,-1,0)
sleep(150)
if getTile(math.floor(getBot().x/32)+1,math.floor(getBot().y/32)) ~= EntranceID then
place(EntranceID,1,0)
sleep(150)
sleep(2000)
reapplyLock(0,-1)
sleep(200)
move(-4,0)
end
end
end
function reapplyLock(x,y)
wrench(x,y)
sleep(2000)
sendPacket(2,"action|dialog_return\ndialog_name|lock_edit\ntilex|"..(math.floor(getBot().x/32)+x).."|\ntiley|"..(math.floor(getBot().y/32)+y).."|\nbuttonClicked|recalcLock\n\ncheckbox_public|0\ncheckbox_ignore|1")
end
function breaksj()
if BreakJammer then
for x = 1, 97 do
if getTile(x,22).fg == 226 then
findPath(x,21)
while getTile(x,22).fg == 226 do
reconnect()
punch(0,1)
sleep(150)
end
end
end
end
end
function ttrash(copid)
if findItem(copid) == 200 then
trashItem(copid,findItem(copid))
sleep(150)
end
end
-- Reconnect --
function reconnect()
if getBot().status ~= "online" then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Bot Disconnected \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
sleep(10000)
while getBot().status ~= "online" do
connect()
sleep(10000)
end
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Bot Reconnected \n<:onbutton:873152812454903839> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
if getTile(math.floor(getBot().x/32),math.floor(getBot().y/32)).fg == 6 then
move(4,0)
end
end
end
-- Clearing Trash --
function clear()
ttrash(7162);ttrash(5028);ttrash(5032);ttrash(5040);ttrash(5042);ttrash(5044);ttrash(5034);ttrash(5036);ttrash(5038);ttrash(2914);ttrash(4);ttrash(5);ttrash(10);ttrash(11);ttrash(14);ttrash(15)
end
-- Bot Index --
jmlBot = #getBots()
for i = 0, jmlBot do
if string.upper(getBots()[i].name) == string.upper(getBot().name) then
indexBot = i
end
end
-- Plant and Harvest --
function plantHv()
while findItem(2) == 0 do
for x = 30, 70 do
if findItem(2) == 200 then
break
end
findPath(x, 25)
sleep(100)
while getTile(x, 25).ready do
punch(0, 0)
sleep(100)
reconnect()
bans()
if getTile(x,26).fg == 0 then
move(1,0)
sleep(150)
end
end
collect(2)
while getTile(x, 25).fg == 0 and findItem(3) > 0 do
place(3, 0, 0)
sleep(200)
reconnect()
bans()
if getTile(x,26).fg == 0 then
move(1,0)
sleep(160)
end
end
end
end
end
function platform()
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Placing Plat... \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
if findItem(plat_Id) > 0 then
if getTile(1,4).fg ~= plat_Id then
for i=52,2,-1 do
if i % 2 == 0 then
findPath(1,i+1)
sleep(1000)
place(plat_Id,0,-1)
sleep(delay)
place(plat_Id,0,-1)
sleep(delay)
reconnect()
bans()
end
end
end
if getTile(98,4).fg ~= plat_Id then
for i=52,2,-1 do
if i % 2 == 0 then
findPath(98,i+1)
sleep(1000)
place(plat_Id,0,-1)
sleep(delay)
place(plat_Id,0,-1)
sleep(delay)
reconnect()
bans()
end
end
end
end
end
function clearSide2()
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Clearing Side ... \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
for i=24,53 do
if getTile(1,i).bg == 14 or getTile(1,i).fg == 2 then
while getTile(1,i).bg == 14 do
collectSet(true,2)
findPath(1,i-1)
punch(0,1)
sleep(190)
clear()
dropdirt()
bans()
end
if getTile(0,i).bg == 14 or getTile(0,i).fg == 2 then
while getTile(0,i).bg == 14 or getTile(0,i).fg == 2 do
collectSet(true,2)
findPath(1,i-1)
punch(-1,1)
sleep(190)
clear()
dropdirt()
bans()
end
end
end
for i=24,53 do
if getTile(98,i).bg == 14 or getTile(98,i).fg == 2 then
while getTile(98,i).bg == 14 do
collectSet(true,2)
findPath(98,i-1)
punch(0,1)
sleep(190)
clear()
dropdirt()
bans()
end
if getTile(99,i).bg == 14 or getTile(99,i).fg == 2 then
while getTile(99,i).bg == 14 do
collectSet(true,2)
findPath(98,i-1)
punch(1,1)
sleep(190)
clear()
dropdirt()
bans()
end
end
end
end
end
end
function dropdirt()
for i = 2, 3 do
for x = 30,31 do
if findItem(i) > 100 and getTile(x,23).fg ~= 6 then
collectSet(true,0)
findPath(x, 23)
sleep(100)
sendPacket(2,"action|drop\n|itemID|" .. i)
sendPacket(2,"action|dialog_return\ndialog_name|drop_item\nitemID|" .. i .. "|\ncount|" .. findItem(i))
sleep(1000)
reconnect()
bans()
end
end
end
end
function warp()
sendPacket(3,"action|join_request\nname|"..worldTakePlat.."\ninvitedWorld|0")
sleep(5000)
sendPacket(3,"action|join_request\nname|"..worldTakePlat.."|"..idTakePlat.."\ninvitedWorld|0")
end
function takeplt()
for ,obj in pairs(getObjects()) do
if obj.id == plat_Id then
local x = math.floor(obj.x / 32)
local y = math.floor(obj.y / 32)
findPath(x,y)
sleep(250)
collectSet(true,1)
sleep(200)
end
end
end
function takeplat()
warp()
sleep(200)
if floats(plat_Id) < 52 and findItem(plat_Id) < 52 then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Plat Less than 52 Removing Bot \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
removeBot(getBot().name)
else
if floats(plat_Id) > 52 and findItem(plat_Id) < 52 then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Taking Plat ... \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
sleep(delay)
takeplt()
end
end
end
function takedoor()
if floats(DoorForIn) == 0 and findItem(DoorForIn) == 0 then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : No Door Script Countinued \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
elseif floats(DoorForIn) ~= 0 and findItem(DoorForIn) == 0 then
sleep(150)
take(DoorForIn)
end
end
function takeentrance()
if floats(EntranceID) == 0 and findItem(EntranceID) == 0 then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : No entrance script countinued \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
elseif floats(EntranceID) ~= 0 and findItem(DoorForIn) == 0 then
sleep(150)
take(EntranceID)
end
end
function takejammer()
if floats(226) == 0 and findItem(226) == 0 then
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : No Jammer Script Countinued \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
elseif floats(226) ~= 0 and findItem(226) == 0 then
take(226)
sleep(150)
move(-1,0)
sleep(150)
collectSet(0,true)
sleep(150)
drops(226)
sleep(150)
end
end
-- Break --
function breakDirt()
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Breaking Dirt ... \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
for , tile in pairs(getTiles()) do
if tile.bg > 0 and tile.fg ~= 8 then
if tile.x == 0 then
sleep(500)
findPath(tile.x, tile.y - 1)
slee(100)
while getTile(math.floor(getBot().x / 32), math.floor(getBot().y / 32) + 1).bg > 0 do
punch(0,1)
sleep(100)
clear()
reconnect()
bans()
end
sleep(200)
collect(2)
end
end
end
for , tile in pairs(getTiles()) do
if tile.bg > 0 and tile.fg ~= 8 then
if tile.y % 2 == 1 then
findPath(tile.x - 1, tile.y)
sleep(100)
while getTile(math.floor(getBot().x / 32) + 1, math.floor(getBot().y / 32)).bg > 0 do
punch(1,0)
sleep(100)
clear()
reconnect()
bans()
end
sleep(200)
collect(2)
end
for i = 2, 3 do
for x = 30,31 do
if findItem(i) > 100 and getTile(x,25).fg ~= 6 then
collectSet(true,0)
findPath(x, 25)
sleep(100)
sendPacket(2,"action|drop\n|itemID|" .. i)
sendPacket(2,"action|dialog_return\ndialog_name|drop_item\nitemID|" .. i .. "|\ncount|" .. findItem(i))
sleep(1000)
reconnect()
bans()
end
end
end
end
end
end
function dirtlol()
for ,lolz in pairs(getObjects()) do
if findItem(2) == 0 then
if lolz.id == 2 then
findPath(math.floor(lolz.x / 32),math.floor(lolz.y / 32))
collectSet(true,2)
sleep(500)
end
else
end
end
end
function placeall()
for x = 1, 97 do
for y = 52, 22, -2 do
if getTile(x,y).fg == 0 then
plantHv()
findPath(x,y - 1)
sleep(150)
while getTile(x,y).fg ~= 2 do
place(2,0,1)
sleep(delay)
bans()
end
end
end
end
end
function brock()
if BreakRock then
for , d in pairs(getTiles()) do
while getTile(d.x,d.y).fg == 10 do
plantHv()
reconnect()
sleep(500)
findPath(d.x,d.y-1)
collectSet(true,2)
sleep(150)
punch(0,1)
sleep(200)
bans()
end
end
end
end
function lava()
for , s in pairs (getTiles()) do
while getTile(s.x,s.y).fg == 4 do
plantHv()
reconnect()
sleep(500)
findPath(s.x,s.y-1)
collectSet(true,2)
sleep(150)
punch(0,1)
sleep(delay)
bans()
end
end
end
-- Place --
function placeDirt()
infobot("<:bot:994105499865841755> | Bot: "..getBot().name.." \n<:megagt:974487352233824308> | Information : Placing On Top Dirt ... \n<a:online2:972348740545421373> | Status : "..getBot().status.." \n<:world:991268717667299328> | World : "..getBot().world)
for y = 2, 52, 2 do
for x = 1, 98 do
if ((y + 1) % (jmlBot + 1)) == indexBot then
if getTile(x, y).fg == 0 then
plantHv()
sleep(100)
findPath(x, y - 1)
sleep(100)
while getTile(x, y).fg == 0 do
place(2, 0, 1)
sleep(100)
reconnect()
bans()
end
end
end
end
end
end
function ht()
for x = 30, 70 do
findPath(x, 25)
sleep(100)
while getTile(x, 25).ready do
collectSet(2,true)
punch(0, 0)
sleep(100)
reconnect()
kaloht()
bans()
end
end
end
function kaloht()
for i = 2, 3 do
if findItem(i) > 100 then
sleep(200)
trashItem(i,findItem(i))
end
end
end
function bans()
if #getPlayers() > 1 then
for t,i in pairs(getPlayers()) do
if i.name:lower() ~= getBot().name:lower() and i.name:lower() ~= owner:lower() then
say("/ban "..i.name)
end
end
end
end
function main()
takeplat()
sleep(500)
takedoor()
sleep(500)
takeentrance()
sleep(500)
takejammer()
sleep(500)
takelock()
sleep(500)
geneWorld()
sleep(500)
putlock()
sleep(500)
clearSide2()
sleep(500)
platform()
sleep(500)
breakDirt()
sleep(500)
placeDirt()
sleep(500)
lava()
sleep(500)
brock()
sleep(500)
placeall()
sleep(500)
ht()
sleep(150)
breaksj()
sleep(500)
place(2,0,1)
end
function removeifdone()
for i = 0, TotalWorld do
main()
end
removeBot(getBot().name)
end
removeifdone()