PNB
PNB
-- Variable Settings --
local collectGem = 1 -- Auto Collect Gems
local HidePeople = 1 -- Hide People (Be Alone)
local ignoreDrop = 1 -- Ignore New Drops
local magplantX, magplantY = 3, 193 -- Magplant X and Magplant Y
local whiteList = {""} -- Whitelist Name [Anti Ban]
local trashList = { -- Trash List [Supports Custom Item ID + Don't forget to follow
the format]
{trashItemID = 0, customItemID = 0}
}
-- Pack Settings --
local packName = "" -- Item Debug
local packPrice = 0 -- Pack Price
local storeTiles = { -- Add if your going to multiple item.id [Don't forget to
follow the format]
{item = 0, x = 0, y = 0}
}
-- Storage Settings --
local depositMode = 0 -- Deposit Mode [1] = Dropping Packs, Deposit Mode [2] =
Restocking Method
local depositWorld = "" -- Deposit World
-- Don't Touch --
local startingTime = os.time()
local lastMessageId
local username = GetLocal().name
local userMod = false
local doneSetup = false
local nextTile = false
local changeMagplant = false
local getPlayerArroz = false
local getPlayerClover = false
local getPlayerGhost = false
local telepX = 0
local telepY = 0
local magplantCount = 1
local magplantX = magplantX - 1
local oldMagplantX = magplantX
local oldMagplantY = magplantY
local worldName = GetWorld().name
local previousGems = GetPlayerInfo().gems
local positionX = math.floor(GetLocal().pos.x / 32)
local positionY = math.floor(GetLocal().pos.y / 32)
local vendTotal = 0
local packList = {}
ChangeValue("[C] Modfly", true)
if var[1]:match("|528|") then
getPlayerClover = true
else
getPlayerClover = false
return true
end
if var[1]:match("|290|") then
getPlayerGhost = true
else
getPlayerGhost = false
return true
end
return true
end
return true
end
return true
end
return false
end)
table.insert(whiteList, removeColorAndSymbols(GetLocal().name:lower()))
return playerCount
end
return formatted
end
return count
end
return count
end
return count
end
if username:find("@") then
userMod = true
end
if findItem(trash) == 0 then
break
end
end
end
end
if findItem(trashItemID) == 0 then
break
end
end
end
if bool then
local pkt = {}
pkt = {}
pkt.type = 3
pkt.value = id
pkt.x = type(x) == "number" and x * 32 or GetLocal().pos.x
pkt.y = type(y) == "number" and y * 32 or GetLocal().pos.y
pkt.px = math.floor(pkt.x / 32)
pkt.py = math.floor(pkt.y / 32)
SendPacketRaw(false, pkt)
else
local pkt = {}
pkt = {}
pkt.type = 3
pkt.value = id
pkt.px = math.floor(GetLocal().pos.x / 32 + x)
pkt.py = math.floor(GetLocal().pos.y / 32 + y)
pkt.x = GetLocal().pos.x
pkt.y = GetLocal().pos.y
SendPacketRaw(false, pkt)
end
end
local pkt = {}
pkt = {}
pkt.type = 3
pkt.value = 18
pkt.x = GetLocal().pos.x
pkt.y = GetLocal().pos.y
pkt.px = math.floor(GetLocal().pos.x / 32 + x)
pkt.py = math.floor(GetLocal().pos.y / 32 + y)
SendPacketRaw(false, pkt)
end
if bool then
local pkt = {}
pkt = {}
pkt.type = 3
pkt.value = 32
pkt.x = type(x) == "number" and x * 32 or GetLocal().pos.x
pkt.y = type(y) == "number" and y * 32 or GetLocal().pos.y
pkt.px = math.floor(pkt.x / 32)
pkt.py = math.floor(pkt.y / 32)
SendPacketRaw(false, pkt)
if bool then
local pkt = {}
pkt.type = 0
pkt.state = state
pkt.x = type(x) == "number" and x * 32 or GetLocal().pos.x
pkt.y = type(y) == "number" and y * 32 or GetLocal().pos.y
pkt.px = math.floor(pkt.x / 32)
pkt.py = math.floor(pkt.y / 32)
SendPacketRaw(false, pkt)
Sleep(60)
if autoBan then
if userMod then
for i = 1, 1 do
Sleep(2500)
SendPacket(2, "action|input\n|text|/boot "..
removeColorAndSymbols(player.name))
Sleep(1000)
end
else
for i = 1, 1 do
Sleep(2500)
SendPacket(2, "action|input\n|text|/ban "..
removeColorAndSymbols(player.name))
Sleep(1000)
end
end
end
Sleep(100)
goto loopPause
else
end
end
end
end
for i = 1, 1 do
if magplantX and magplantY and GetTile(magplantX + 1, magplantY).fg
== 5638 then
magplantX = magplantX + 1
magplantCount = magplantCount + 1
warnText("`wMagplant `2#".. magplantCount - 1 .." `wis empty.
Switching to Magplant `2#".. magplantCount)
Sleep(1000)
else
warnText("`wMagplant `2#".. magplantCount .." `wis empty.
Switching to Magplant `2#1")
magplantCount = 1
magplantX = oldMagplantX
Sleep(1000)
end
end
changeMagplant = false
end
if findPathRemote then
findPath(magplantX, magplantY - 1, 32, true)
Sleep(100)
wrench(magplantX, magplantY, true)
Sleep(100)
SendPacket(2, "action|dialog_return\ndialog_name|magplant_edit\nx|"..
magplantX .."|\ny|".. magplantY .."|\nbuttonClicked|getRemote")
else
Sleep(100)
wrench(magplantX, magplantY, true)
Sleep(100)
SendPacket(2, "action|dialog_return\ndialog_name|magplant_edit\nx|"..
magplantX .."|\ny|".. magplantY .."|\nbuttonClicked|getRemote")
end
if countTry == 5 then
countTry = 0
end
playerPosition()
Sleep(1000)
end
if depositMode == 1 then
if GetWorld().name ~= depositWorld:upper() then
warp(depositWorld:lower())
Sleep(4500)
end
::loopDrop::
for _, storeItem in ipairs(storeTiles) do
for _, tile in pairs(GetTiles()) do
if tile.x == storeItem.x and tile.y == storeItem.y then
findPath(tile.x + 1, tile.y, 48, true)
if findItem(storeItem.item) >= 1 then
dropItem(storeItem.item, findItem(storeItem.item))
Sleep(1000)
end
if nextTile then
nextTile = false
storeItem.x = storeItem.x + 1
goto loopDrop
end
if findItem(packID) == 0 then
break
end
end
end
end
end
playerPosition()
end
::loopTelephone::
if autoTelephone then
while GetPlayerInfo().gems >= 120000 do
SendPacket(2,"action|dialog_return\ndialog_name|telephone\nnum|53785|\
nx|".. telepX .."|\ny|".. telepY .."|\nbuttonClicked|dlconvert")
Sleep(100)
::loopInvasion::
if autoInvasion then
while GetPlayerInfo().gems >= 10000 do
SendPacket(2, "action|buy\nitem|buy_worldlockpack")
Sleep(100)
count = 0
Sleep(1000)
if packName ~= "" and packName ~= nil then
Sleep(100)
depositItem()
end
end
continueRestart = coroutine.create(playerRestart)
end
continueRestart = coroutine.create(playerRestart)
local function resumeCoroutine()
local status, err = coroutine.resume(continueRestart)
if not status then
print("Error in coroutine:", err)
end
end
if findItem(5640) == 0 then
Sleep(1000)
getItem()
end
for i = 1, 1 do
while GetWorld() == nil or GetWorld().name ~= worldName:upper() do
for i = 1, 1 do
end
warp(worldName:lower())
Sleep(4500)
if GetWorld() ~= nil then
if GetWorld().name == worldName:upper() then
Sleep(1000)
goto loopPnb
end
end
end
Sleep(100)
SendPacket(2, "action|dialog_return\ndialog_name|cheats\
ncheck_autofarm|1\ncheck_bfg|1\ncheck_lonely".. HidePeople .."\ncheck_ignoreo|"..
ignoreDrop .."\ncheck_gems|".. collectGem)
end
if changeMagplant then
Sleep(100)
getItem()
end
if autoBuy then
if GetPlayerInfo().gems >= packPrice * 250 then
Sleep(1000)
buyItem()
end
end
if findItem(5640) == 0 then
goto loopPnb
Sleep(1000)
end
getLocalInfo()
if not getPlayerArroz then
Sleep(100)
for i = 1, 1 do
if autoArroz then
place(4604, 0, 0)
Sleep(100)
end
end
end
getLocalInfo()
if not getPlayerClover then
Sleep(100)
for i = 1, 1 do
if autoClover then
place(528, 0, 0)
Sleep(100)
end
end
end
getLocalInfo()
if not getPlayerGhost then
Sleep(100)
for i = 1, 1 do
if autoGhost then
SendPacket(2, "action|input\ntext|/ghost")
Sleep(100)
end
end
end
if autoRestart then
Sleep(1000)
resumeCoroutine()
end
end
end
while true do
Sleep(1000)
if changeMagplant then
Sleep(1000)
getItem()
end
if findItem(5640) == 0 then
autoFarm = true
Sleep(1000)
getItem()
Sleep(1000)
pnbBreak()
end