Carefully! Use all the recommendations from the main thread
Swarm of OpenKore bots (Рой ботов)
Got it! I'll review all the posts to ensure I capture the complete configuration.
On our server, there are commands @storage and @gstorage. These commands allow you to access storages anywhere without using NPCs.
@storage - opens the regular storage for the account.
@gstorage - opens the guild storage - this allows organizing a bot swarm using OpenKore, where they continuously exchange loot.
So, one bot can check for consumables and restock as needed, another can use loot for production, and all others, like ants, gather everything dropped for them.
However, there's a significant problem in this scheme: the Guild Storage is a single-user box. When one bot opens it, others start waiting for the transaction to finish, creating competition. To minimize possible delays, I adjust OpenKore parameters. If you see different values for a parameter in different messages, trust the later one!
I've placed macros for the swarm in our code repository:
https://github.com/uaOpenKore/uOKfiles/t...ros/GSuser
Here's an explanation of some macros:
macros/GSuser/macro-gstorage.txt
This macro ensures inventory restocking of necessary consumables. Example is redundant; only Meat, White Potions, and Blue Potions are necessary. Adapt others as needed.
This macro is necessary in case OpenKore fails to close the storage! Lag can occur, causing other bots to hang and unable to continue working.
macros/GSuser/macro-allToTown.txt
This macro sends all party members back to town when HP is below 33%, protecting characters from losing experience.
macros/GSuser/macro-idied.txt
This macro, requiring the busCommand plugin, teleports all party members to town if a character dies.
macros/GSuser/macro-aLoot.txt
This macro turns on @autoloot for the bot.
macros/GSuser/example-oneStep.txt
This is a complex macro that forces the bot to step if its coordinates don't change within a specified time. It serves as protection against unexplained glitches.
This code should be placed in config.txt, where the conditions for launching the "stepping" macro are described.
This automacro only triggers when OpenKore starts to set the stepping parameter.
This macro makes the bot walk in a square pattern. If the path is restricted, the bot should exit in some direction.
Swarm of OpenKore bots (Рой ботов)
Got it! I'll review all the posts to ensure I capture the complete configuration.
On our server, there are commands @storage and @gstorage. These commands allow you to access storages anywhere without using NPCs.
@storage - opens the regular storage for the account.
@gstorage - opens the guild storage - this allows organizing a bot swarm using OpenKore, where they continuously exchange loot.
So, one bot can check for consumables and restock as needed, another can use loot for production, and all others, like ants, gather everything dropped for them.
However, there's a significant problem in this scheme: the Guild Storage is a single-user box. When one bot opens it, others start waiting for the transaction to finish, creating competition. To minimize possible delays, I adjust OpenKore parameters. If you see different values for a parameter in different messages, trust the later one!
I've placed macros for the swarm in our code repository:
https://github.com/uaOpenKore/uOKfiles/t...ros/GSuser
Here's an explanation of some macros:
macros/GSuser/macro-gstorage.txt
Code:
automacro _GStorage {
timeout 2
inventory "Meat" < 11, "Butterfly Wing" < 2, "Fly Wing" < 3, "Awakening Potion" < 2, "White Potion" < 3, "Blue Potion" < 3
call {
do autostorage
}
}
Code:
automacro _GS_close {
timeout 60
call {
do storage close
}
}
macros/GSuser/macro-allToTown.txt
Code:
automacro _allToTown {
hp < 33%
timeout 60
call {
do bus all tele 2
pause 3
do bus all tele 2
}
macros/GSuser/macro-idied.txt
Code:
#macro work only with busCommand plugin!
automacro _GSidied {
timeout 60
status dead
call {
do bus all tele 2
}
}
macros/GSuser/macro-aLoot.txt
Code:
automacro autoLoot {
console /You are now in the game/
timeout 600
delay 4
call {
do c @autoloot
}
}
macros/GSuser/example-oneStep.txt
This is a complex macro that forces the bot to step if its coordinates don't change within a specified time. It serves as protection against unexplained glitches.
Code:
doCommand macro _oneStep {
notOnAction attack, sitAuto, move, mapRoute, follow
# notInTown 1
notWhileSitting 1
whenFollowing 0
timeout 60
}
Code:
automacro _var_oldStp {
var oldStp unset
timeout 500
call {
$oldStp = 0
}
}
Code:
macro _oneStep {
if ( $oldPos == $.pos ) {
if ($oldStp == 0 ) {
do north
do north
$oldStp = 1
}
if ($oldStp == 1 ) {
do west
do west
$oldStp = 2
}
if ($oldStp == 2 ) {
do south
do south
$oldStp = 3
}
if ($oldStp == 3 ) {
do east
do east
$oldStp = 0
}
}
$oldPos = $.pos
}