1.0.0
16
.editorconfig
Normal file
@ -0,0 +1,16 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.py]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
47
README-EN.md
Normal file
@ -0,0 +1,47 @@
|
||||
# 🇺🇦 🖕
|
||||
|
||||
## 🍎 Battlepillars Farming Bot
|
||||
|
||||
![Battlepillars Logo](images/logo.png)
|
||||
|
||||
🇷🇺 Руководство на [русском](README.md)!
|
||||
|
||||
## 💻 Requirements
|
||||
|
||||
* [JDK](https://adoptium.net/temurin/releases/) 11.0.17+8
|
||||
* [SikuliX](https://launchpad.net/sikuli/sikulix/2.0.5/+download/sikulixide-2.0.5.jar) 2.0.5 или выше | SikuliX 2.0.5 or high
|
||||
* [Jython](https://search.maven.org/artifact/org.python/jython-standalone/2.7.3/jar) 2.7.3 Standalone
|
||||
|
||||
## 💽 Installing Jython
|
||||
|
||||
Download `jython-standalone-2.7.3.jar` and place it in the specified paths
|
||||
for your operating system.
|
||||
|
||||
* Windows: `%APPDATA%\Sikulix\Extensions`
|
||||
* Mac: `~/Library/Application Support/Sikulix/Extensions`
|
||||
* Linux: `~/.Sikulix/Extensions`
|
||||
|
||||
## 🕹 Preparing the game
|
||||
|
||||
1. Set in game settings **window mode** and window resolution **1024x768**
|
||||
2. Select the "Chain" skin for the battlepillars
|
||||
3. Run a campaign and open Level 8
|
||||
4. As items of equipment, select
|
||||
third item: **Medic**, fourth item: **Flamethrower**
|
||||
5. Run the level (this is necessary so that Level 8 is always selected by default)
|
||||
|
||||
## Bot Launch
|
||||
|
||||
1. Open the game, go to the company and leave on the global map,
|
||||
so that level 8 is on the screen
|
||||
2. Open the script `apple-farm.py` in SikuliX IDE
|
||||
3. Run the script
|
||||
|
||||
> To stop script execution, use key combination [Alt]+[Shift]+[C].
|
||||
|
||||
## ⭐ Extra
|
||||
|
||||
### run-ide.bat
|
||||
|
||||
Script to run **SikuliX IDE** with required version of **JDK**.
|
||||
The JDK directory is supposed to be located next to the IDE file (`sikulixide-2.0.5.jar`).
|
48
README.md
Normal file
@ -0,0 +1,48 @@
|
||||
# 🇺🇦 🖕
|
||||
|
||||
## 🍎 Бот для фарма в Battlepillars
|
||||
|
||||
![Battlepillars Logo](images/logo.png)
|
||||
|
||||
🇺🇸 [English](README-EN.md) guide!
|
||||
|
||||
## 💻 Требования
|
||||
|
||||
* [JDK](https://adoptium.net/temurin/releases/) 11.0.17+8
|
||||
* [SikuliX](https://launchpad.net/sikuli/sikulix/2.0.5/+download/sikulixide-2.0.5.jar) 2.0.5 или выше
|
||||
* [Jython](https://search.maven.org/artifact/org.python/jython-standalone/2.7.3/jar) 2.7.3 Standalone
|
||||
|
||||
## 💽 Установка Jython
|
||||
|
||||
Скачаиваем `jython-standalone-2.7.3.jar` и размещаем его по указанным путям
|
||||
для своей операционной системы.
|
||||
|
||||
* Windows: `%APPDATA%\Sikulix\Extensions`
|
||||
* Mac: `~/Library/Application Support/Sikulix/Extensions`
|
||||
* Linux: `~/.Sikulix/Extensions`
|
||||
|
||||
## 🕹 Подготовка игры
|
||||
|
||||
1. Установить в настройках игры **оконный режим** и разрешение окна **1024x768**
|
||||
2. Выбрать скин "Кольчуга" для гусениц
|
||||
3. Запустить из меню игры кампанию, открыть 8 уровень
|
||||
4. В качестве элементов экипировки выбрать
|
||||
третий предмет: **Медик**, четвёртый предмет: **Огнемёт**
|
||||
5. Запустить уровень (это необходимо, чтобы по умолчанию всегда был выбран 8 уровень)
|
||||
|
||||
## 🤖 Запуск бота
|
||||
|
||||
1. Открываем игру, заходим в компанию и оставляем игру на глобальной карте,
|
||||
чтобы 8 уровень был на экране
|
||||
2. Открываем скрипт `apple-farm.py` в SikuliX IDE
|
||||
3. Запускаем скрипт
|
||||
|
||||
> Для остановки выполнения скрипта исполльзуется
|
||||
> комбинация клавиш [Alt]+[Shift]+[C].
|
||||
|
||||
## ⭐ Дополнительно
|
||||
|
||||
### run-ide.bat
|
||||
|
||||
Скрипт для запуска **SikuliX IDE** с необходимой версией **JDK**.
|
||||
Предпологается, что директория с JDK разположена рядом с файлом IDE (`sikulixide-2.0.5.jar`).
|
60
apple-farm.py
Normal file
@ -0,0 +1,60 @@
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
__author__ = "Alexander Popov <iiiypuk@fastmail.fm>"
|
||||
__version__ = "1.0.0"
|
||||
__license__ = "Unlicense"
|
||||
|
||||
|
||||
def runLevel():
|
||||
"""Running level and farming applesю"""
|
||||
|
||||
wait("images/farm_level_on_map.png", 10)
|
||||
click("images/farm_level_on_map.png")
|
||||
|
||||
wait("images/level_title.png", 3)
|
||||
click("images/level_start_button.png")
|
||||
|
||||
wait("images/equip_window.png", 3)
|
||||
click("images/button_start.png")
|
||||
|
||||
wait("images/level_info_message.png", 5)
|
||||
click("images/level_info_message_ok.png")
|
||||
|
||||
Mouse.wheel(WHEEL_DOWN, 6)
|
||||
|
||||
for pillar in range(2):
|
||||
click("images/pillar_fire.png")
|
||||
|
||||
for x in range(7):
|
||||
click("images/pillar_heal.png")
|
||||
|
||||
click("images/pillar_go.png")
|
||||
|
||||
wait("images/winner_window.png", 60 * 3)
|
||||
click("images/level_complete.png")
|
||||
|
||||
|
||||
def main():
|
||||
"""Main farm loop."""
|
||||
|
||||
print("Battlepillars Farming Bot {0} by {1}".format(__version__, __author__))
|
||||
|
||||
run_count = 0
|
||||
while True:
|
||||
run_count += 1
|
||||
|
||||
date_now = datetime.now()
|
||||
date_string = date_now.strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
print(
|
||||
"[{date}] Running farm {times} times".format(
|
||||
date=date_string, times=run_count
|
||||
)
|
||||
)
|
||||
|
||||
runLevel()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
BIN
images/button_start.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
images/equip_window.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
images/farm_level_on_map.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
images/level_complete.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
images/level_info_message.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
images/level_info_message_ok.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
images/level_start_button.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
images/level_title.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
images/logo.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
images/pillar_fire.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
images/pillar_go.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
images/pillar_heal.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
images/winner_window.png
Normal file
After Width: | Height: | Size: 38 KiB |
1
run-ide.bat
Normal file
@ -0,0 +1 @@
|
||||
start "" "jdk-11.0.17+8/bin/java.exe" -jar sikulixide-2.0.5.jar
|