0% found this document useful (0 votes)
301 views22 pages

Blockman Go Color Text Settings

This document contains configuration settings for an auto farming script in Blockman Go. It includes options for webhook notifications, world selection, hiding other players/drops, finding blocks, using magplants, taking gems/black gems, removing animations, and more.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
301 views22 pages

Blockman Go Color Text Settings

This document contains configuration settings for an auto farming script in Blockman Go. It includes options for webhook notifications, world selection, hiding other players/drops, finding blocks, using magplants, taking gems/black gems, removing animations, and more.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

RemoveHooks()

--WEBHOOK SETTING--
local whUse = false -- true or false (Default false; Write false if you don't want
to use Webhook)
local whUrl = "" -- Discord Webhook Url
local WEBHOOK_DELAY = 300 -- webhook delay (in seconds)

--GENERAL SETTING--
local WORLD = "BFGYOUN" -- Your world name (IN ALL CAPS) (LEAVE BLANK TO USE
CURRENT WORLD)
local PEOPLEHIDE = 0 -- Default 0; (Put 1 if you want to block all people and if
not then 0)
local DROPHIDDEN = 0 -- Default 0; (Put 1 if you want to auto hide the drop
gems/items and if not then 0)
local FIND_BLOCK = false -- Set to true if you use PNB and FIND BLOCK POG WITH YOU
GEMS
local BFG_WMAG = true -- Set to true if you want PNB with UNLI MAG
--NOTE : FIND_BLOCK ACTIVE NOT ENABLE REMOVE ANIMATION BLOCK,PUNCH AND DROP

--FIND SETTING--
ID_FIND_BLOCK = -274 -- set id find block ( -274 = pog id , 1656 = gg id)
ID_BLOCK = 14458 --set the id so it doesn't spam find( 14458 = pog id , 1656 = gg
id)

---AUTO CV GEMS TO DL----


local EVADE_TAXES = false
local TELEPHONE_X = 0 -- Set TILE X FOR TELEPHONE (wrench x -1 = you tile)
local TELEPHONE_Y = 0 -- Set TILE Y FOR TELEPHONE (wrench y -1 = you tile)

--MAG SETTING--
local MAG_TOP = false -- Set to true if you want just using MAGPLANT TOP, Set to
false if you don't
local MAG_DOWN = true -- Set to true if you want just using MAGPLANT DOWN, Set to
false if you don't
local TOP_AND_DOWN = false -- Set to true if you want just using MAGPLANT TOP and
DOWN, Set to false if you don't

--POSITION BREAK SETTING--


local P_PNB = true -- Set to true if you want CUSTOM TILE FOR BREAK, Set to false
if you don't
local X_P_PNB = 57 -- Set TILE X FOR POSITION BREAK (wrench x -1 = you tile)
local Y_P_PNB = 197 -- Set TILE Y FOR POSITION BREAK (wrench y -1 = you tile)

--Take Gems And BGEMS--


local TAKE_GEMS = 0 -- 1 if you want to auto take gems, 0 if you don't
local LIMIT_TAKE_GEMS = 900000 --set according to your wishes max gems, remember
the max gems on cps is only [Link]
local MIN_TAKE_GEMS = 100000 --set according to your wishes min gems, remember the
max gems on cps is only [Link]
local TAKE_BGEMS = true -- Set to true if you want to auto take black gems, Set to
false if you don't

--ANIMATION SETTING--
local removeAnimationBLOCK = true -- true or false (Usage; It Removes the Breaking
Effect & Animations when Farming)
local removeAnimationPUNCH = true -- true or false (Usage; It Removes the Breaking
Effect & Animations when Farming)
local removeAnimationDROP = false -- true or false (Usage; It Removes the Breaking
Effect & Animations when Farming)
local removeAnimationCollected = true -- true or false (Usage; It Removes the
Message when Farming)
local removeAnimationbubbletalk = true -- true or false (Usage; It Removes the
Message when Farming)
local removeSDB = true -- true or false (Usage; It Removes popup SDB)
local removeSB = true -- true or false (Usage; It Removes popup SDB)
local removeXENO = true -- true or false (Usage; It Removes popup SDB)
local removeRFONT = true -- true or false (Usage; It Removes popup SDB)

--DON'T TOUCH SETTINGS BELOW--


if TOP_AND_DOWN then -- Don't touch
MAG_X = [Link](([Link](GetLocal().pos.x // 32))-1) -- Don't touch
MAG_Y = [Link](([Link](GetLocal().pos.y // 32))-1) -- Don't touch
elseif MAG_TOP then -- Don't touch
MAG_X = [Link](([Link](GetLocal().pos.x // 32))-1) -- Don't touch
MAG_Y = [Link](([Link](GetLocal().pos.y // 32))-1) -- Don't touch
elseif MAG_DOWN then -- Don't touch
MAG_X = [Link](([Link](GetLocal().pos.x // 32))-1) -- Don't touch
MAG_Y = [Link](([Link](GetLocal().pos.y // 32))+1) -- Don't touch
end

--DON'T TOUCH SETTINGS BELOW--


local REMOTE_X = MAG_X -- Don't touch
local REMOTE_Y = MAG_Y -- Don't touch

local START_MAG_X = MAG_X -- Don't touch


local START_MAG_Y = MAG_Y -- Don't touch

local SCRIPT_START_X = [Link]([Link](GetLocal().pos.x // 32)) -- Do not


touch
local SCRIPT_START_Y = [Link]([Link](GetLocal().pos.y // 32)) -- Do not
touch

local PNB_X = SCRIPT_START_X -- Don't touch


local PNB_Y = SCRIPT_START_Y -- Don't touch

local START_PNB_X = PNB_X -- Don't touch


local START_PNB_Y = PNB_Y -- Don't touch

local USE_ARROZ = false -- Don't touch


local USE_CLOVER = false -- Don't touch
local CHECK_ARROZ = false -- Don't touch
local CHECK_CLOVER = false -- Don't touch

local CURRENT_GEMS = GetPlayerInfo().gems -- Don't touch


local LAST_UPDATE = [Link]() -- Don't touch
local CHANGE_REMOTE = false -- Don't touch

local MAG1_COUNT = 0 -- Don't touch


local MAG2_COUNT = 0 -- Don't touch
local MAG3_COUNT = 0 -- Don't touch
local MAG4_COUNT = 0 -- Don't touch
local MAG5_COUNT = 0 -- Don't touch
local MAG6_COUNT = 0 -- Don't touch

local PGEM_IN_WORLD = 0 -- Do not touch


local BGEM_IN_WORLD = 0 -- Do not touch
local UWS_IN_WORLD = 0 -- Do not touch
local MAG_1_EMPTY = false
local MAG_2_EMPTY = false
local MAG_3_EMPTY = false
local MAG_4_EMPTY = false
local MAG_5_EMPTY = false
local MAG_6_EMPTY = false

local function WARN(text)


local packet = {}
packet[0] = "OnAddNotification"
packet[1] = "interface/large/special_event.rttex"
packet[2] = text
packet[3] = 'audio/race_start.wav'
packet[4] = 0
SendVariantList(packet)
end
WARN("`2START `wPNB AUTO RECONECT \n BY `2NOMESTIC.")

local function GetItemCount(id)


for _, item in pairs(GetInventory()) do
if [Link] == id then
return [Link]
end
end
return 0
end

local CURRENT_BBGL = [Link](GetItemCount(11550)) -- Do not touch


local CURRENT_BGL = [Link](GetItemCount(7188)) -- Do not touch
local CURRENT_DL = [Link](GetItemCount(1796)) -- Do not touch

local function findItem(id)


count = 0
for _, inv in pairs(GetInventory()) do
if [Link] == id then
count = count + [Link]
end
end
return count
end

AddHook("onvariant", "mommy", function(var)


if var[0]:find("OnTalkBubble") and var[2]:find("The MAGPLANT 5000 is empty")
and var[1] == GetLocal().netid then
CHANGE_REMOTE = true
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!cmd") and var[1] ==


GetLocal().netid then
LogToConsole("Command :")
LogToConsole("!fitur (CHECK ALL COMMAND FOR ON/OFF FITUR), !chat (CHECK ALL COMMAND
FOR ON/OFF CHAT), !annimation (CHECK ALL COMMAND FOR ON/OFF ANNIMATION)")
end
if var[0]:find("OnTalkBubble") and var[2]:find("!fitur") and var[1] ==
GetLocal().netid then
LogToConsole("Command Fitur :")
LogToConsole("!webhookon (ENABLE WEBHOOK), !webhookoff (DISABLED WEBHOOK)")
LogToConsole("!findblok (ENABLE FITUR FIND BLOCK + PNB), !bfg (ENABLE FITUR PNB
WITH MAG)")
LogToConsole("!magtop (USE MAG TOP), !magdown (USE MAG DOWN), !magall (USE MAG TOP
AND DOWN)")
LogToConsole("!takegemson (ENABLE AUTO TAKE GEMS), !takegemsoff (DISABLED AUTO TAKE
GEMS)")
LogToConsole("!takebgemson (ENABLE AUTO TAKE BGEMS (MUST BE USE OWN ACC)), !
takebgemsoff (DISABLED AUTO TAKE BGEMS)")
LogToConsole("!cvon (ENABLE AUTO CV DL NO TAX), !cvoff (DISABLED AUTO CV DL NO
TAX)")
end

if var[0]:find("OnTalkBubble") and var[2]:find("!chat") and var[1] ==


GetLocal().netid then
LogToConsole("Command Remove Chat Log :")
LogToConsole("!bloksdb (ENABLE BLOK SDB), !tampilsdb (DISABLE BLOK SDB)")
LogToConsole("!bloksb (ENABLE BLOK ALL CHAT SB), !tampilsb (DISABLE BLOK ALL CHAT
SB)")
LogToConsole("blokxeno (ENABLE BLOK ALL SYSTEM XENONITE), !tampilxeno (DISABLE BLOK
ALL SYSTEM XENONITE)")
end

if var[0]:find("OnTalkBubble") and var[2]:find("!annimation") and var[1]


== GetLocal().netid then
LogToConsole("Command Remove Annimation:")
LogToConsole("!removeblock (ENABLE BLOK BLOCK), !blockon (DISABLE BLOK BLOCK)")
LogToConsole("!removedrop (ENABLE BLOK DROP), !dropon (DISABLE BLOK DROP)")
LogToConsole("!removecollect (ENABLE BLOK COLLECT BUBBLETALK), !collecton (DISABLED
BLOK COLLECT BUBBLETALK)")
LogToConsole("!removebubble (ENABLE BLOK BUBBLETALK), !bubbleon (DISABLE BLOK
BUBBLETALK)")
end

if var[0]:find("OnTalkBubble") and var[2]:find("!findblok") and var[1] ==


GetLocal().netid then
FIND_BLOCK = true
BFG_WMAG = false
LogToConsole("Change Mode FIND BLOCK + PNB Sukses")

end
if var[0]:find("OnTalkBubble") and var[2]:find("!bfg") and var[1] ==
GetLocal().netid then
BFG_WMAG = true
FIND_BLOCK = false
LogToConsole("Change Mode PNB WITH MAG Sukses")
end

if var[0]:find("OnTalkBubble") and var[2]:find("!webhookon") and var[1] ==


GetLocal().netid then
whUse = true
LogToConsole("Webhook Sukses Change On")

end
if var[0]:find("OnTalkBubble") and var[2]:find("!webhookoff") and var[1] ==
GetLocal().netid then
whUse = false
LogToConsole("Webhook Sukses Change Off")
end

if var[0]:find("OnTalkBubble") and var[2]:find("!magtop") and var[1] ==


GetLocal().netid then
MAG_TOP = true
MAG_DOWN = false
TOP_AND_DOWN = false
LogToConsole("Sukses Change Use Magplant TOP")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!magdown") and var[1] ==
GetLocal().netid then
MAG_TOP = false
MAG_DOWN = true
TOP_AND_DOWN = false
LogToConsole("Sukses Change Use Magplant DOWN")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!magall") and var[1] ==
GetLocal().netid then
MAG_TOP = false
MAG_DOWN = false
TOP_AND_DOWN = true
LogToConsole("Sukses Change Use Magplant TOP AND DOWN")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!takegemson") and var[1] ==


GetLocal().netid then
TAKE_GEMS = 1
LogToConsole("Take Gems Sukses Change On")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!takegemsoff") and var[1] ==
GetLocal().netid then
TAKE_GEMS = 0
LogToConsole("Take Gems Sukses Change Off")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!takebgemson") and var[1] ==


GetLocal().netid then
TAKE_BGEMS = 1
LogToConsole("Take BGems Sukses Change On (WORK ON ACC OWNER WORLD)")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!takebgemsoff") and var[1] ==
GetLocal().netid then
TAKE_GEMS = 0
LogToConsole("Take BGems Sukses Change Off")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!cvon") and var[1] ==


GetLocal().netid then
EVADE_TAXES = true
LogToConsole("Auto CV Gems To DL Sukses Change On")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!cvoff") and var[1] ==
GetLocal().netid then
EVADE_TAXES = false
LogToConsole("Auto CV Gems To DL Sukses Change Off")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!bloksdb") and var[1] ==


GetLocal().netid then
removeSDB = true
LogToConsole("Auto Block SDB Sukses Change On")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!tampilsdb") and var[1] ==
GetLocal().netid then
removeSDB = false
LogToConsole("Auto Block SDB Sukses Change Off")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!bloksb") and var[1] ==


GetLocal().netid then
removeSB = true
LogToConsole("Block Dialog Chat SB")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!tampilsb") and var[1] ==
GetLocal().netid then
removeSB = false
LogToConsole("Show Dialog Chat SB")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!blokxeno") and var[1] ==


GetLocal().netid then
removeXENO = true
LogToConsole("Block Dialog Chat XENONITE")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!tampilxeno") and var[1] ==
GetLocal().netid then
removeXENO = false
LogToConsole("Show Dialog Chat XENONITE")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!blokRFONT") and var[1] ==
GetLocal().netid then
removeRFONT = true
LogToConsole("Show Dialog Chat RAINBOW FONT")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!tampilRFONT") and var[1] ==
GetLocal().netid then
removeRFONT = false
LogToConsole("Show Dialog Chat RAINBOW FONT")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!removeblock") and var[1] ==


GetLocal().netid then
removeAnimationBLOCK = true
LogToConsole("Auto Remove Annimation BLOCK Sukses Change On")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!blockon") and var[1] ==
GetLocal().netid then
removeAnimationBLOCK = false
log("Auto Remove Annimation BLOCK Sukses Change Off")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!removedrop") and var[1] ==


GetLocal().netid then
removeAnimationDROP = true
LogToConsole("Auto Remove Annimation Drop Sukses Change On")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!dropon") and var[1] ==
GetLocal().netid then
removeAnimationDROP = false
LogToConsole("Auto Remove Annimation Drop Sukses Change Off")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!removecollect") and var[1] ==


GetLocal().netid then
removeAnimationCollected = true
LogToConsole("Auto Remove Annimation Collect Sukses Change On")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!collecton") and var[1] ==
GetLocal().netid then
removeAnimationCollected = false
LogToConsole("Auto Remove Annimation Collect Sukses Change Off")
return true
end

if var[0]:find("OnTalkBubble") and var[2]:find("!removebubble") and var[1] ==


GetLocal().netid then
removeAnimationbubbletalk = true
LogToConsole("Auto Remove Annimation BubbleChat Sukses Change On")
return true
end
if var[0]:find("OnTalkBubble") and var[2]:find("!bubbleon") and var[1] ==
GetLocal().netid then
removeAnimationbubbletalk = false
LogToConsole("Auto Remove Annimation BubbleChat Sukses Change Off")
return true
end

if var[0]:find("OnDialogRequest") and var[1]:find("magplant_edit") then


local x = var[1]:match('embed_data|x|(%d+)')
local y = var[1]:match('embed_data|y|(%d+)')
local amount = var[1]:match("The machine contains (%d+)")
if amount == nil then amount = 0 end

if x == ""..REMOTE_X.."" and y ~= ""..REMOTE_Y.."" then


MAG_COUNT = amount
elseif x == ""..MAG_X.."" and y == ""..MAG_Y.."" then
MAG1_COUNT = amount
elseif x == ""..(MAG_X+1).."" and y == ""..MAG_Y.."" then
MAG2_COUNT = amount
elseif x == ""..(MAG_X+2).."" and y == ""..MAG_Y.."" then
MAG3_COUNT = amount
elseif x == ""..(MAG_X).."" and y ~= ""..MAG_Y.."" then
MAG4_COUNT = amount
elseif x == ""..(MAG_X+1).."" and y ~= ""..MAG_Y.."" then
MAG5_COUNT = amount
elseif x == ""..(MAG_X+2).."" and y ~= ""..MAG_Y.."" then
MAG6_COUNT = amount
end
return true
end

if var[0]:find("OnDialogRequest") and var[1]:find("add_player_info") then


if CHECK_CLOVER then
if var[1]:find("|528|") then
USE_CLOVER = false
else
USE_CLOVER = true
end

CHECK_CLOVER = false
end

if CHECK_ARROZ then
if var[1]:find("|4604|") then
USE_ARROZ = false
else
USE_ARROZ = true
end

CHECK_ARROZ = false
end

return true
end

if var[0]:find("OnConsoleMessage") then
if var[0]:find("OnConsoleMessage") and var[1]:find("Cheat Active") then
return true
end
if var[0]:find("OnConsoleMessage") and var[1]:find("Whoa, calm down
toggling cheats on/off... Try again in a second!") then
return true
end
if var[0]:find("OnConsoleMessage") and var[1]:find("Applying cheats...")
then
return true
end

if var[0]:find("OnConsoleMessage") and var[1]:find("** from") and removeSB


then
return true
end
if var[0]:find("OnConsoleMessage") and var[1]:find("Xenonite") and
removeXENO then
return true
end
if var[0]:find("OnConsoleMessage") and var[1]:find("`1O`2h`3, `4l`5o`6o`7k
`8w`9h`ba`!t `$y`3o`2u`4'`ev`pe `#f`6o`8u`1n`7d`w!") and removeRFONT then
return true
end

end

if var[0] == "OnSDBroadcast" then


if removeSDB then
return true
end
end

if var[0] == "OnTalkBubble" and var[2]:match("Collected") then


if removeAnimationCollected then
return true
end
end
if var[0] == "OnTalkBubble" then
if removeAnimationbubbletalk then
return true
end
end
if var[0]:find("OnDialogRequest") and var[1]:find("telephone") then
return true
end
if var[0]:find("OnDialogRequest") and var[1]:match("set_default_color") then
return true
end
if var[0]:find("OnStoreRequest") and var[1]:match("set_default_color") then
return true
end

end)

WORLD = ""

if WORLD == "" or WORLD == nil then


WORLD = [Link](GetWorld().name)
end
AddHook("onprocesstankupdatepacket", "pussy", function(packet)
if [Link] == 3 then
if removeAnimationBLOCK then
return true
end
end

if [Link] == 14 then
if removeAnimationDROP then
return true
end
end

if [Link] == 17 then
if removeAnimationPUNCH then
return true
end
end
end)

local function FormatNumber(num)


num = [Link](num + 0.5)
formatted = tostring(num)
k = 3
while k < #formatted do
formatted = formatted:sub(1, #formatted - k) .. "," ..
formatted:sub(#formatted - k + 1)
k = k + 4
end
return formatted
end

local function removeColorAndSymbols(str)


cleanedStr = [Link](str, "`(%S)", '')
cleanedStr = [Link](cleanedStr, "`{2}|(~{2})", '')
return cleanedStr
end

local function CHECK_BUFFS()


if GetWorld() == nil then return end
CHECK_ARROZ = true
CHECK_CLOVER = true
SendPacket(2, "action|wrench\n|netid|"..GetLocal().netid)
end

local function FindMagplants()


if GetWorld() == nil then return end
if TOP_AND_DOWN then
if (GetTile(PNB_X+2, PNB_Y-1).fg == 5638 and GetTile(PNB_X+3, PNB_Y-1).fg ==
5638 and GetTile(PNB_X+4, PNB_Y-1).fg == 5638 and GetTile(PNB_X+2, PNB_Y+1).fg ==
5638 and GetTile(PNB_X, PNB_Y+1).fg == 5638 and GetTile(PNB_X+4, PNB_Y+1).fg ==
5638) then
return true
else
return false
end
end
if MAG_TOP then
if (GetTile(PNB_X+2, PNB_Y-1).fg == 5638 and GetTile(PNB_X+3, PNB_Y-1).fg ==
5638 and GetTile(PNB_X+4, PNB_Y-1).fg == 5638 ) then
return true
else
return false
end
end
if MAG_DOWN then
if (GetTile(PNB_X+2, PNB_Y+1).fg == 5638 and GetTile(PNB_X, PNB_Y+1).fg == 5638
and GetTile(PNB_X+4, PNB_Y+1).fg == 5638) then
return true
else
return false
end
end
end

local function PunchB(x, y, id)


if GetWorld() == nil then return end
pkt = {}
[Link] = 3
[Link] = id
[Link] = x
[Link] = y
pkt.x = GetLocal().pos.x
pkt.y = GetLocal().pos.y
SendPacketRaw(false, pkt)
end

local function Place(x, y, id)


if GetWorld() == nil then return end
pkt = {}
[Link] = 3
[Link] = id
[Link] = x
[Link] = y
pkt.x = GetLocal().pos.x
pkt.y = GetLocal().pos.y
SendPacketRaw(false, pkt)
end

local function TAKEBGEMS()


if TAKE_BGEMS then
SendPacket(2, "action|wrench\n|netid|"..GetLocal().netid)
Sleep(200)
SendPacket(2 , "action|dialog_return\ndialog_name|popup\nbuttonClicked|bgems")
Sleep(200)
SendPacket(2 , "action|dialog_return\ndialog_name|popup\nbuttonClicked|
bgem_suckall")
Sleep(200)
end
end

time = [Link]()
local function playerHook(info)
if whUse then
if TOP_AND_DOWN then
DES_MAG = "USE 2 ROW MAG (TOP AND DOWN)"
elseif MAG_TOP then
DES_MAG = "USE 1 ROW MAG (ONLY TOP)"
elseif MAG_DOWN then
DES_MAG = "USE 1 ROW MAG (ONLY DOWN)"
end
if P_PNB then
DES_PNB = "CUSTOM TILE FOR BREAK ( "..X_P_PNB.." , "..Y_P_PNB.." )"
else
DES_PNB = "NO CUSTOM TILE (TOP/DOWN MAG 2)"
end

if BFG_WMAG then
STATUS_BFG = "BFG WITH UNLI MAG"
elseif FIND_BLOCK then
STATUS_BFG = "PNB & FIND BLOCK WITH GEMS"
end
if GetWorld() == nil then return end
local gems_earned = FormatNumber(GetPlayerInfo().gems - CURRENT_GEMS)
local name_acc = removeColorAndSymbols(GetLocal().name)
local arooz = [Link](GetItemCount(4604))
local clover = [Link](GetItemCount(528))
local PGEM_IN_WORLD = 0 -- Do not touch
local BGEM_IN_WORLD = 0 -- Do not touch
local UWS_IN_WORLD = 0 -- Do not touch
local BBGL_EARNED = FormatNumber([Link](GetItemCount(11550)-
CURRENT_BBGL))
local BGL_EARNED = FormatNumber([Link](GetItemCount(7188)-
CURRENT_BGL))
local DL_EARNED = FormatNumber([Link](GetItemCount(1796)-
CURRENT_DL))

for _, object in pairs(GetObjectList()) do


if GetWorld() == nil then return end
if [Link] == 14420 then
PGEM_IN_WORLD = [Link](PGEM_IN_WORLD + [Link])
elseif [Link] == 14668 then
BGEM_IN_WORLD = [Link](BGEM_IN_WORLD + [Link])
elseif [Link] == 12600 then
UWS_IN_WORLD = [Link](UWS_IN_WORLD + [Link])
end
end

oras = [Link]() - time


local script = [[
$webHookUrl = "]].. whUrl ..[["
$title = "ALL AUTO PNB BY CRAP COMUNITY"
$date = [[Link]]::ConvertTimeBySystemTimeZoneId((Get-
Date), 'Singapore Standard Time').ToString('g')
$cpu = (Get-WmiObject win32_processor | Measure-Object -property
LoadPercentage -Average | Select Average).Average
$RAM = Get-WMIObject Win32_PhysicalMemory | Measure -Property capacity
-Sum | %{$_.sum/1Mb}
$ip = Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $(Get-
NetConnectionProfile | Select-Object -ExpandProperty InterfaceIndex) | Select-
Object -ExpandProperty IPAddress
$thumbnailObject = @{
url = ""
}
$footerObject = @{
text = "Date: ]]..([Link]("!%A %b %d, %Y | Time: %I:%M %p ",
[Link]() + 7 * 60 * 60))..[[ "
}

$fieldArray = @(

@{
name = "<:emoji_157:1084578178124763186> Application"
value = " Bhotax "
inline = "false"
}
@{
name = "<a:aOnline:1089435878583173200> Player Name"
value = "]].. name_acc ..[["
inline = "false"
}
@{
name = "<:info2:1185986300084490441> Informasi"
value = "Current Gems: ]].. CURRENT_GEMS ..[[
Arroz Con Apollo Stock: ]].. arooz ..[[
Lucky Clover Stock: ]].. clover ..[["
inline = "false"
}

@{
name = "<:gems:1089014830561759345> Previous Earned From The the
last ]].. WEBHOOK_DELAY ..[[ seconds"
value = "Previous Earned: ]].. gems_earned ..[[
BBGL: ]].. BBGL_EARNED ..[[
BGL: ]].. BGL_EARNED ..[[
DL: ]].. DL_EARNED ..[["
inline = "false"
}
@{
name = "<:growscan:1210567190022070312> Floating In World"
value = "BGEMS : **]].. BGEM_IN_WORLD ..[[**
PGEMS: **]].. PGEM_IN_WORLD ..[[**
UWS: **]].. UWS_IN_WORLD ..[[** "
inline = "false"
}

@{
name = "<:Megaphone:903891793098207232> Status"
value = "]].. info ..[[
Mode: **]].. STATUS_BFG ..[[**
Mode Mag: **]].. DES_MAG ..[[**
Mode Position Break: **]].. DES_PNB ..[[** "
inline = "false"
}

@{
name = "<:gtmag:1135828479598940222> Magplant Position"
value = "Current Remote: ( ]].. REMOTE_X ..[[, ]].. REMOTE_Y ..
[[ )"
inline = "false"
}

@{
name = "<:WallClock:1185986892987121786> Pnb Uptime"
value = "]].. [Link](oras/86400) ..[[ Days ]].. [Link](oras
%86400/3600) ..[[ Hours ]].. [Link](oras%86400%3600/60) ..[[ Minutes ]]..
[Link](oras%3600%60) ..[[ Seconds"
inline = "false"
}

)
$embedObject = @{
title = $title
description = $desc
footer = $footerObject
thumbnail = $thumbnailObject
color = "]] ..[Link](1000000,9999999).. [["

fields = $fieldArray
}
$embedArray = @($embedObject)
$payload = @{
avatar_url =
"[Link]
[Link]?size=240"
username = "BOT CRAP COMUNITY"
embeds = $embedArray
}
[[Link]]::SecurityProtocol =
[[Link]]::Tls12
Invoke-RestMethod -Uri $webHookUrl -Body ($payload | ConvertTo-Json -Depth 4)
-Method Post -ContentType 'application/json'
]]
local pipe = [Link]("powershell -command -", "w")
pipe:write(script)
pipe:close()
end
end

local function move_position_pnb()


if P_PNB then
Sleep(15000)
SendPacket(2, "action|dialog_return\ndialog_name|cheats\
ncheck_autofarm|0\ncheck_bfg|0\ncheck_gems|"..TAKE_GEMS)
Sleep(100)
FindPath(X_P_PNB, Y_P_PNB, 60)
Sleep(100)
else
Sleep(8000)
SendPacket(2, "action|dialog_return\ndialog_name|cheats\
ncheck_autofarm|0\ncheck_bfg|0\ncheck_gems|"..TAKE_GEMS)
Sleep(100)
FindPath(PNB_X, PNB_Y, 60)
Sleep(100)
end
end

local function Get_Remote()


if GetWorld() == nil then return end
Sleep(100)
SendPacket(2, "action|dialog_return\ndialog_name|cheats\
ncheck_autofarm|0\ncheck_bfg|0\ncheck_gems|"..TAKE_GEMS)
Sleep(100)
FindPath(PNB_X, PNB_Y, 60)
Sleep(100)
Place(REMOTE_X, REMOTE_Y,32)
Sleep(100)

SendPacket(2, "action|dialog_return\ndialog_name|magplant_edit\
nx|"..REMOTE_X.."|\ny|"..REMOTE_Y.."|\nbuttonClicked|getRemote")
Sleep(100)
move_position_pnb()
Sleep(100)
end

local function checkRemote()


if GetWorld() == nil then return end

if GetItemCount(5640) < 1 then


SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Sleep(200)
Get_Remote()
end

return GetItemCount(5640) >= 1


end

local function CVDL()


if GetWorld() == nil then return end
if EVADE_TAXES then
if GetPlayerInfo().gems >= 100000 then
SendPacket(2,"action|dialog_return\ndialog_name|telephone\
nnum|53785|\nx|"..TELEPHONE_X.."|\ny|"..TELEPHONE_Y.."|\nbuttonClicked|dlconvert")
Sleep(100)
end

if GetItemCount(1796) >= 100 then


SendPacket(2,"action|dialog_return\ndialog_name|telephone\
nnum|53785|\nx|"..TELEPHONE_X.."|\ny|"..TELEPHONE_Y.."|\nbuttonClicked|bglconvert")
Sleep(100)
CURRENT_DL = 0
end

if GetItemCount(7188) >= 100 then


SendPacket(2, "action|dialog_return\ndialog_name|info_box\
nbuttonClicked|make_bgl")
Sleep(100)
CURRENT_BGL = 0
end

end
end

local function MAXGEMS()


if EVADE_TAXES then
if GetPlayerInfo().gems >= LIMIT_TAKE_GEMS then
TAKE_GEMS = 0
EVADE_TAXES = true
elseif GetPlayerInfo().gems <= MIN_TAKE_GEMS then
TAKE_GEMS = 1
EVADE_TAXES = true
end
end
end

while true do

CHECK_BUFFS()

if GetWorld() == nil then


SendPacket(2, "action|join_request\nname|" .. WORLD .. "")
SendPacket(3, "action|join_request\nname|" .. WORLD .. "\ninvitedWorld|0")
Sleep(7000)

playerHook("Reconnected! You most likely disconnected recently")

elseif GetWorld().name ~= WORLD then


SendPacket(2, "action|join_request\nname|" .. WORLD .. "")
SendPacket(3, "action|join_request\nname|" .. WORLD .. "\ninvitedWorld|0")
Sleep(7000)
playerHook("Reconnected! You most likely disconnected recently")

end
if FIND_BLOCK then
if GetWorld() == nil then return end
CHECK_BUFFS()
ChangeValue("[C] Antibounce", false)
ChangeValue("[C] Modfly", false)
Sleep(1000)
if USE_CLOVER then
if GetWorld() == nil then return end
Place(([Link](GetLocal().pos.x // 32)),
([Link](GetLocal().pos.y // 32)), 528)
Sleep(500)
end

if USE_ARROZ then
if GetWorld() == nil then return end
Place(([Link](GetLocal().pos.x // 32)),
([Link](GetLocal().pos.y // 32)), 4604)
Sleep(500)
end
if ([Link](GetLocal().pos.x // 32)) ~= X_P_PNB and
([Link](GetLocal().pos.y // 32)) ~= Y_P_PNB then
if GetWorld() == nil then return end
SendPacket(2, "action|dialog_return\ndialog_name|cheats\
ncheck_autofarm|0\ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|"..
DROPHIDDEN .."\ncheck_gems|"..TAKE_GEMS.."")
move_position_pnb()
Sleep(3000)
end
if ([Link](GetLocal().pos.x // 32)) == X_P_PNB and
([Link](GetLocal().pos.y // 32)) == Y_P_PNB then
if GetWorld() == nil then return end
Sleep(3000)
Place ([Link](([Link](GetLocal().pos.x // 32))+1),
[Link](([Link](GetLocal().pos.y // 32))),ID_BLOCK)
SendPacket(2, "action|dialog_return\ndialog_name|cheats\
ncheck_autofarm|1\ncheck_bfg|0\ncheck_gems|"..TAKE_GEMS)
Sleep(200)
PunchB ([Link](([Link](GetLocal().pos.x // 32))+1),
[Link](([Link](GetLocal().pos.y // 32))),ID_BLOCK)
Sleep(200)
TAKEBGEMS()
if GetItemCount(ID_BLOCK) <= 150 then

SendPacket(2, "action|dialog_return\ndialog_name|item_search\
n"..ID_FIND_BLOCK.."|1")
Sleep(100)
end
end
MAXGEMS()
if [Link]() - LAST_UPDATE >= WEBHOOK_DELAY then
LAST_UPDATE = [Link]()
playerHook("Breaking")
end
elseif BFG_WMAG then
TAKEBGEMS()
CHECK_BUFFS()
ChangeValue("[C] Antibounce", false)
ChangeValue("[C] Modfly", false)

Sleep(200)
TAKEBGEMS()

if checkRemote() then
if USE_CLOVER then
Place(([Link](GetLocal().pos.x // 32)),
([Link](GetLocal().pos.y // 32)), 528)
Sleep(500)
end

if USE_ARROZ then
Place(([Link](GetLocal().pos.x // 32)),
([Link](GetLocal().pos.y // 32)), 4604)
Sleep(500)
end

if CHANGE_REMOTE then
if TOP_AND_DOWN then
Sleep(250)
playerHook("Changing remote! MAGPLANT 5000 ( "..REMOTE_X.." ,
"..REMOTE_Y.." ) is empty.")
Sleep(250)
if REMOTE_X == (MAG_X) and REMOTE_Y == MAG_Y and not MAG_1_EMPTY then
REMOTE_X = MAG_X + 1
WARN("`2Magplant 1 `wis empty! Switching to `2#2!")
MAG_1_EMPTY = true
Get_Remote()
elseif REMOTE_X == (MAG_X + 1) and REMOTE_Y == MAG_Y and not
MAG_2_EMPTY then
REMOTE_X = MAG_X + 2
WARN("`2Magplant 2 `wis empty! Switching to `2#3!")
MAG_2_EMPTY = true
Get_Remote()
elseif REMOTE_X == (MAG_X + 2) and REMOTE_Y == MAG_Y and not
MAG_3_EMPTY then
REMOTE_X = MAG_X
REMOTE_Y = MAG_Y + 2
WARN("`2Magplant 3 `wis empty! Switching to `2#4!")
MAG_3_EMPTY = true
Get_Remote()
elseif REMOTE_X == (MAG_X) and REMOTE_Y ~= MAG_Y and not MAG_4_EMPTY
then
REMOTE_X = MAG_X + 1
WARN("`2Magplant 4 `wis empty! Switching to `2#5!")
MAG_4_EMPTY = true
Get_Remote()
elseif REMOTE_X == (MAG_X + 1) and REMOTE_Y ~= MAG_Y and not
MAG_5_EMPTY then
REMOTE_X = MAG_X + 2
WARN("`2Magplant 5 `wis empty! Switching to `2#6!")
MAG_5_EMPTY = true
Get_Remote()
elseif REMOTE_X == (MAG_X + 2) and REMOTE_Y ~= MAG_Y and not
MAG_6_EMPTY then
REMOTE_X = MAG_X
REMOTE_Y = MAG_Y
WARN("`2Magplant DOWN 3 `wis empty! Switching to `2#DOWN
1!")
MAG_6_EMPTY = true
Get_Remote()
elseif MAG_1_EMPTY and MAG_2_EMPTY and MAG_3_EMPTY and
MAG_4_EMPTY and MAG_5_EMPTY and MAG_6_EMPTY and FindMagplants() then
WARN("`2All magplants `wempty! Moving to the next `26
Magplants!")
PNB_X = PNB_X + 3
MAG_X = MAG_X + 3
REMOTE_X = MAG_X
REMOTE_Y = MAG_Y
move_position_pnb()
Sleep(1000)
MAG_1_EMPTY = false
MAG_2_EMPTY = false
MAG_3_EMPTY = false
MAG_4_EMPTY = false
MAG_5_EMPTY = false
MAG_6_EMPTY = false
Get_Remote()

elseif MAG_1_EMPTY and MAG_2_EMPTY and MAG_3_EMPTY and


MAG_4_EMPTY and MAG_5_EMPTY and MAG_6_EMPTY and not FindMagplants() then
WARN("`2All `wmagplants empty! `2Resetting!")
PNB_X = START_PNB_X
PNB_Y = START_PNB_Y

MAG_X = START_MAG_X
MAG_Y = START_MAG_Y

REMOTE_X = MAG_X
REMOTE_Y = MAG_Y
move_position_pnb()
Sleep(1000)
MAG_1_EMPTY = false
MAG_2_EMPTY = false
MAG_3_EMPTY = false
MAG_4_EMPTY = false
MAG_5_EMPTY = false
MAG_6_EMPTY = false
Get_Remote()

end
CHANGE_REMOTE = false
Sleep(250)
end
if MAG_TOP then
playerHook("Changing remote! MAGPLANT 5000 ( "..REMOTE_X.." , "..REMOTE_Y.." ) is
empty.")
Sleep(250)
if REMOTE_X == (MAG_X) and REMOTE_Y == MAG_Y and not MAG_1_EMPTY then
REMOTE_X = MAG_X + 1
WARN("`2Magplant TOP 1 `wis empty! Switching to `2#TOP 2!")
MAG_1_EMPTY = true
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()
elseif REMOTE_X == (MAG_X + 1) and REMOTE_Y == MAG_Y and not
MAG_2_EMPTY then
REMOTE_X = MAG_X + 2
WARN("`2Magplant TOP 2 `wis empty! Switching to `2#TOP 3!")
MAG_2_EMPTY = true
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()
elseif REMOTE_X == (MAG_X + 2) and REMOTE_Y == MAG_Y and not
MAG_3_EMPTY then
REMOTE_X = MAG_X
WARN("`2Magplant TOP 3 `wis empty! Switching to `2#TOP 1!")
MAG_3_EMPTY = true
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()

elseif MAG_1_EMPTY and MAG_2_EMPTY and MAG_3_EMPTY and


FindMagplants() then
WARN("`2All magplants `wempty! Moving to the next `23
Magplants !")
PNB_X = PNB_X + 3
MAG_X = MAG_X + 3
REMOTE_X = MAG_X
REMOTE_Y = MAG_Y
move_position_pnb()
Sleep(1000)
MAG_1_EMPTY = false
MAG_2_EMPTY = false
MAG_3_EMPTY = false
playerHook("Changing remote! MAGPLANT 5000 ( "..REMOTE_X.." , "..REMOTE_Y.." ) is
empty.")
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()

elseif MAG_1_EMPTY and MAG_2_EMPTY and MAG_3_EMPTY and not


FindMagplants() then
WARN("`2All `wmagplants empty! `2Resetting!")
PNB_X = START_PNB_X
PNB_Y = START_PNB_Y

MAG_X = START_MAG_X
MAG_Y = START_MAG_Y

REMOTE_X = MAG_X
REMOTE_Y = MAG_Y
move_position_pnb()
Sleep(1000)
MAG_1_EMPTY = false
MAG_2_EMPTY = false
MAG_3_EMPTY = false
playerHook("Changing remote! MAGPLANT 5000 ( "..REMOTE_X.." , "..REMOTE_Y.." ) is
empty.")
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()

end
CHANGE_REMOTE = false
Sleep(250)
end
if MAG_DOWN then
Sleep(250)
playerHook("Changing remote! MAGPLANT 5000 ( "..REMOTE_X.." , "..REMOTE_Y.." ) is
empty.")
if REMOTE_X == (MAG_X) and REMOTE_Y == MAG_Y and not MAG_4_EMPTY then
REMOTE_X = MAG_X + 1
WARN("`2Magplant DOWN 1 `wis empty! Switching to `2#DOWN
2!")
MAG_4_EMPTY = true
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()
elseif REMOTE_X == (MAG_X + 1) and REMOTE_Y == MAG_Y and not
MAG_5_EMPTY then
REMOTE_X = MAG_X + 2
WARN("`2Magplant DOWN 2 `wis empty! Switching to `2#DOWN
3!")
MAG_5_EMPTY = true
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()
elseif REMOTE_X == (MAG_X + 2) and REMOTE_Y == MAG_Y and not
MAG_6_EMPTY then
REMOTE_X = MAG_X
REMOTE_Y = MAG_Y
WARN("`2Magplant DOWN 3 `wis empty! Switching to `2#DOWN
1!")
MAG_6_EMPTY = true
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()
elseif MAG_4_EMPTY and MAG_5_EMPTY and MAG_6_EMPTY and
FindMagplants() then
WARN("`2All magplants `wempty! Moving to the next `23
Magplants!")
PNB_X = PNB_X + 3
MAG_X = MAG_X + 3
REMOTE_X = MAG_X
REMOTE_Y = MAG_Y
move_position_pnb()
Sleep(1000)

MAG_4_EMPTY = false
MAG_5_EMPTY = false
MAG_6_EMPTY = false
playerHook("Changing remote! MAGPLANT 5000 ( "..REMOTE_X.." , "..REMOTE_Y.." ) is
empty.")
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()

elseif MAG_4_EMPTY and MAG_5_EMPTY and MAG_6_EMPTY and not


FindMagplants() then
WARN("`2All `wmagplants empty! `2Resetting!")
PNB_X = START_PNB_X
PNB_Y = START_PNB_Y

MAG_X = START_MAG_X
MAG_Y = START_MAG_Y

REMOTE_X = MAG_X
REMOTE_Y = MAG_Y
move_position_pnb()
Sleep(1000)

MAG_4_EMPTY = false
MAG_5_EMPTY = false
MAG_6_EMPTY = false
playerHook("Changing remote! MAGPLANT 5000 ( "..REMOTE_X.." , "..REMOTE_Y.." ) is
empty.")
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|0\
ncheck_bfg|0\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Get_Remote()
Sleep(7000)
end
CHANGE_REMOTE = false
Sleep(250)
end
end
Sleep(1000)
CVDL()
MAXGEMS()
SendPacket(2, "action|dialog_return\ndialog_name|cheats\ncheck_autofarm|1\
ncheck_bfg|1\ncheck_lonely|".. PEOPLEHIDE .."\ncheck_ignoreo|".. DROPHIDDEN .."\
ncheck_gems|"..TAKE_GEMS.."")
Sleep(1000)
playerHook("Breaking")

if [Link]() - LAST_UPDATE >= WEBHOOK_DELAY then


LAST_UPDATE = [Link]()

Sleep(500)
Place(MAG_X, MAG_Y, 32)
Sleep(500)
Place(MAG_X + 1, MAG_Y, 32)
Sleep(500)
Place(MAG_X + 2, MAG_Y, 32)
Sleep(500)
Place(MAG_X, MAG_Y + 2, 32)
Sleep(500)
Place(MAG_X + 1, MAG_Y + 2, 32)
Sleep(500)
Place(MAG_X + 2, MAG_Y + 2, 32)
Sleep(500)

playerHook("Breaking")
end
end
end
end

Common questions

Powered by AI

Developers of such automation scripts may face several challenges, including adapting to frequent game updates, which might alter the game's internal mechanics and rendering previous scripts obsolete. Maintaining compatibility with new game environments requires constant vigilance and updates by developers. Additionally, detecting and handling errors within the script are crucial for preventing unintended actions that could disrupt gameplay or violate user terms . Implementing robust event checking and handling scenarios to cover all potential game states can also present significant complexity due to the dynamic nature of games and player interactions .

The script maintains flexibility in handling different game environments and conditions through several adaptive strategies. It checks for the current world state and adjusts operations accordingly, ensuring it only executes actions within the right environment . Furthermore, it uses conditional logic to manage multiple MAGPLANTs, switching seamlessly between them based on their operational status. This adaptability is crucial for coping with dynamic in-game environments, such as varying resource availability and player interactions, effectively managing resources, and minimizing manual intervention .

The MAGPLANT 5000 is a central element in the script related to resource management and automation. The script indicates various configurations and checks related to its usage, such as different operational modes like "MAG_TOP," "MAG_DOWN," and "TOP_AND_DOWN," which facilitate automated resource handling . The script manages multiple instances of the MAGPLANT 5000, automatically switching between them when one is empty, which highlights its role in ensuring uninterrupted resource collection and management .

The script includes a mechanism to monitor and switch between multiple MAGPLANT 5000 units when one becomes empty. This is implemented through a series of conditional checks that determine if a MAGPLANT is empty, then switch the REMOTE_X and REMOTE_Y variables to the coordinates of the next available MAGPLANT . This reflects a sophisticated level of automation designed to optimize resource collection by reducing downtime, demonstrating efficiency in managing automated processes without human intervention .

The script employs event checking mechanisms by using hooks to listen for specific in-game events, such as 'OnTalkBubble' or 'OnDialogRequest', which trigger responses to various command inputs entered by the user. These mechanisms analyze the event data to determine if it matches certain command patterns, and then execute corresponding functionalities, such as enabling or disabling features like webhook functions or animation controls . This demonstrates the use of event-driven programming to dynamically adjust the behavior of the automation according to user commands .

The script manages user settings and configurations through a set of commands that allow users to toggle features and modes dynamically, such as enabling or disabling animations, gem collection, or switching between MAGPLANT operation modes . This configurability allows personalization and flexibility, enhancing the user experience by enabling players to tailor the automation to their specific gameplay strategies and preferences. It also provides agility in quickly adapting to gameplay changes without modifying the script manually, which can enhance usability and engagement .

The script logs events and communicates status changes to the user primarily through console messages. Specific command patterns, such as those detected via "OnTalkBubble," trigger logging functions that output relevant status or change notifications to the console. This real-time feedback system enables users to monitor actions and outcomes of their automated processes, such as switches in resource-gathering modes or enabling/disabling certain features . This method effectively keeps users informed about the operational status and changes occurring within the automation script .

The script continuously monitors resource availability by leveraging functions such as GetItemCount to assess the amount of specific resources within the player's inventory. When inventory levels drop below a certain threshold, the script triggers responses, such as switching to a new MAGPLANT or activating resource collection functions . Additionally, the script logs crucial information related to resource levels and updates user commands, further enabling the maintenance of resource availability .

The use of such automation scripts carries significant implications for player experience and in-game fairness. While they can enhance individual player efficiency by automating resource management and reducing manual labor, they may create disparities between players who use these scripts and those who rely solely on manual gameplay. This could lead to issues of fairness, as automated players might accumulate resources more quickly, skewing competitive balances . Furthermore, reliance on scripts may affect player engagement, detracting from the interactive and skill-based elements of the game, potentially impacting the overall enjoyment and challenge that the game is designed to offer .

The 'auto-take gems' feature in the script automates the process of collecting gems, an in-game currency, by toggling the TAKE_GEMS variable between 0 and 1 to control the collection process . This automation is controlled through commands that enable or disable the feature, illustrating an aspect of resource optimization by allowing gems to be collected automatically without time-consuming manual processes .

You might also like