Что нового

[Преспективы]Планетарное взаимодействие

Zuzik

Знающий
Сообщения
45
Репутация
5
Вот стало интересно а реально ли написать бота для планетарного взаимодействия.
Алгоритмы работы относительно просто, зависимости требования уже посчитаны силами ив-сруком, только вот методика поиска с технической точки зрения непрочтая(вращать глобус в поисках нужной концентрации)

Получается пиксель сёрч по большой действия. с драгом.

Кто-нить попытается сделать?

+ширпотреб, вроде топлива для посов
+можно вести со станции
+до даста хрен убъёшь
+для вывоза лута мона приспособить хаулер

-месторождения некоторые иссекают
-непонятно пока взаимодействие межу игроками(возможно ли подлость, когда кто-нить выкачает быстрыми циклами ресы пока ты копаешь медленными)

Вообщем интересны мнения)
Лично я как закончу с копателем мб попробую)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Пусть сперва выйдет оффициальный релиз, тогда и будем думать, а пока ждем :smile:
 
Автор
Z

Zuzik

Знающий
Сообщения
45
Репутация
5
Ну пока есть немного времени уже на тесте прикидываю...
Пока основная трудность на мой взгляд поиск макс концентраций
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
А я еще даже в глаза не видел движок планетарного взаимодействия :smile:
 

DJ_Tommy

Продвинутый
Сообщения
236
Репутация
57
Мож не стоит лезть туда где может быть по началу много глюков? Если так охото в эту нишу залезть - сделай бота для производственного цикла на посах. Например:
Закупаем по своим ордерам мунматы или адвенсед мунматы (торговый бот)
Отвозим купленное на пос (транспортный бот)
Запускаем все в производство, достаем произведенное
Отвозим в житу
Продаем и сначала ....

ИМХО с планетами будет такой же геморой. Уж выгоднее хант бота в глубоких нулях иметь.
 

Jonik Silver

Знающий
Сообщения
19
Репутация
11
Собственно основной геморрой в ПВ заключен в возобновлении работы экстракторов.
Вот для этого пример бота я и предлагаю.
Алгоритм примерно следующий:
Построено все на простых циклах For-Next, настройки забиваются в файл ini, хотя конечно можно сделать и базу данных, тогда возможно бот получится менее громоздким. После входа в экран планеты нам потребуется свернуть или закрыть все окна, что можно сделать сочетанием CTRL+ALT+W, этим хоткеем правда все необязательные окна закрываются, так что после отработки скрипта их потребуется снова открывать. Кнопки выхода из экрана планеты и подтверждения изменений имеют постоянные координаты и специально их искать не требуется. В качестве масштабирования можно воспользоваться кнопкой Home, которая центрирует экран на нашем командном центре и устанавливает приемлемый для работы масштаб, который не изменится если крутить планету без приближения-удаления.
Само собой планета должна уже быть застроена модулями и настроены роуты. Далее нам потребуются координаты экстракторов и точек линий перемещения по планете.
Зоны где идет добыча назовем регионами. То есть регион это группа построек для управления которыми нужно крутить планету. Перемещение между регионами при помощи серии драг&дроп:
Код:
If $Region <> $Regions Then ;если не последний регион, то процедура перемещения в следующий
	$Moves = IniRead($INI, $Chars[$Char], "Moves" & $Planet & "-" & ($Region + 1), 0)
	For $Move=1 To $Moves
	            $X = IniRead($INI, $Chars[$Char], "Move" & $Planet & "-" & ($Region+1) & "-" & $Move & "X1", 0)
		$Y = IniRead($INI, $Chars[$Char], "Move" & $Planet & "-" & ($Region+1) & "-" & $Move & "Y1", 0)
		$X1 = IniRead($INI, $Chars[$Char], "Move" & $Planet & "-" & ($Region+1) & "-" & $Move & "X2", 0)
		$Y1 = IniRead($INI, $Chars[$Char], "Move" & $Planet & "-" & ($Region+1) & "-" & $Move & "Y2", 0)
		MouseClickDrag("left", $X,$Y, $X1,$Y1, 10)
	Next
EndIf

В файле настроек маршрут будет выглядеть примерно так:
Код:
Regions3=2
Moves3-2=3
Move3-2-1X1=1154
Move3-2-1Y1=473
Move3-2-1X2=639
Move3-2-1Y2=447
Move3-2-2X1=1131
Move3-2-2Y1=474
Move3-2-2X2=630
Move3-2-2Y2=452
Move3-2-3X1=1114
Move3-2-3Y1=474
Move3-2-3X2=631
Move3-2-3Y2=451
Возможно потребуется настройка мыши опциями MouseClickDownDelay, MouseClickDragDelay, чтобы не было проскальзывания планеты при вращении.

Обработка экстракторов делается на даблкликах, первым даблкликом по самому экстрактору в заранее полученных координатах вызывается форма управления экстрактором, причем сразу запускается сканер ресурсов, остается только чуть чуть подождать пока он выдаст результат и сделать второй даблклик по строке с требуемой нам интенсивностью. Само собой, при том обстоятельстве, что экстракторы у нас дрочит бот, можно выставить и максимальную интенсивность с циклом полной выработки за пол часа, но следует иметь в виду что система линков должна иметь соответствующую пропускную способность. В настройках координаты экстракторов у меня выглядят примерно так:
Код:
Extractors4-1=2
E4-1-1X=529
E4-1-1Y=594
E4-1-2X=526
E4-1-2Y=562
Extractors4-2=3
E4-2-1X=480
E4-2-1Y=638
E4-2-2X=445
E4-2-2Y=600
E4-2-3X=436
E4-2-3Y=567
И обрабатываются примерно таким кодом:
Код:
$Extractors = IniRead($INI, $Chars[$Char], "Extractors" & $Planet & "-" & $Region, 0)
For $Extractor=1 To $Extractors
;перебор экстракторов в регионе
	$X = IniRead($INI, $Chars[$Char], "E" & $Planet & "-" & $Region & "-" & $Extractor & "X", 0)
	$Y = IniRead($INI, $Chars[$Char], "E" & $Planet & "-" & $Region & "-" & $Extractor & "Y", 0)
	MouseMoveClick($X, $Y, "left", 2)	;двойной клик по экстрактору
	Sleep(3000)
	If Not $ThisTest Then
		$X = IniRead($INI, $Chars[$Char], "SurveyAxis", 0)
		$Y = IniRead($INI, $Chars[$Char], "SurveyFirstRow", 0) + (IniRead($INI, $Chars[$Char], "RowStep", 0) * ($Intesivity-1))
		MouseMoveClick($X, $Y, "left",2)	;двойной клик по нужной строчке в таблице производительности экстрактора
		Sleep(1000)
	EndIf
	$X = IniRead($INI, $Chars[$Char], "SurveyCloseX", 0)
	$Y = IniRead($INI, $Chars[$Char], "SurveyCloseY", 0)
	MouseMoveClick($X, $Y, "left")	;закроем форму управления экстрактором
	Sleep(1000)
Next

В качестве индикаторов можно использовать бэкграунды окон наука и промышленность и формы управления экстрактором. Так же сам экстрактор, которому уже задан режим добычи, но изменения еще не подтверждены кнопкой Submit, имеет толстое желтое кольцо в своей иконке.

Ну и собственно сам скрипт с файлом настроек
 

asa12

Новичок
Сообщения
66
Репутация
3
Я проще сделал. Один раз прошелся по циклу.
вручную на кнопки перезагрузки экстракторов нажимал. Записал в макрос. И повесил на повтор - раз в сутки.
Делать нормальный бот планетарок, пока не вижу смысла - опять поменяют скоро интерфейс.
 

Jonik Silver

Знающий
Сообщения
19
Репутация
11
А если требуется снести/добавить экстрактор/планету, снова вручную по экстракторам долбить, макрос записывать?
Это однако не наш метод.
В дальнейшем хочу переделать скрипт на настройки из базы данных, куда думаю включить так же вид сырья и производительность на момент запуска, и возможность анализа состояния складов, чтобы на основании этих данных и анализа можно было бы более разумно управлять экстракторами при избытке ресурсов и планировать выхлоп с планеты. Но дальше первичной переработки и вывоза, пока соваться не думаю.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Лучше подождать выхода инкуршена, там изменят схему ПВ, а того и глядишь изменят интерфейс.
 

Jonik Silver

Знающий
Сообщения
19
Репутация
11
Incursion, однако вот он, вышел, и скрипт в нем прекрасно работает. :blink:
ИМХО планы изменения интерфейса ПВ выкладывались для успокоения опщчественности. Если изменение такое и будет сделано, то очень нескоро. Как я думаю на самом деле в представлении ЧиЧиПи, ПВ сейчас идеально, ибо поглощает огромное количество жопо-часов, не требуя при этом абсолютно никакого применения мозга, ну и убивая заодно его остатки. Вобщем время идет, деньги тоже идут.
С другой стороны ЧиЧиПи получили идеальный полигон для ботоводов. :laugh:

В итоге ЕВЕ станет игрой в которую играют боты.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
http://www.eveonline.com/devblog.asp?a=blog&bid=805

Инкуршен еще не вышел. Он еще идет. Полноценный патч вступит в силу в конце января. В котором мы увидим то что представлено на скрине, и не факт что это будут единственные изменения :smile:
 

asa12

Новичок
Сообщения
66
Репутация
3
Инкушен вышел, как и предполагалась боты планетарки на свалку, в архив для истории.

Пока тестю цикл востановления ресурсов. Смысла в боте пока не вижу. Кликдроч ушел в прошлое.
Если потребуется, сваять сделаю на маус кликак + перевозчик ресов. Жалко правда отвлекать майнера, буду считать - что выгоднее.
 

asa12

Новичок
Сообщения
66
Репутация
3
И так расчеты выгодности: лоу, 5 планет баррен типа.
1000 единиц Т2 типа по от 6000 до 10000 исков - в день около 10-12 кк. Неплохое подспорье игрокам. В месяц почти на плекс набирается.
Гимора мало: вывоз раз в 7-10 дней в житу.
занимает максимум час.
Цикл поставил 23 часа 45 мин. уменьшение добычи пока не заметил.
Бот (хотя это не бот) занимает минут 8 в день. Как раз перед сном запускаю, после майнинга. 8)
Кстати радует увеличение прибыли с бота с 80 исков с куба, до 110.
Цены на минералы растут.
Так что, сливаю вместо Т1 фригов, Т2 варианты. На таклера тренируюсь
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Я за день заработаю в нулях лярд, чисто по баунти, не считая лута и фракции. Актуальности в PI боте вообще не вижу если он такой маленький выхлоп дает. ГРубо говоры его дневной выхлоп это несколько минут ханта, даже руками.
 
Верх