Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: vizaritm on October 16, 2019, 04:50:40 PM
-
Path of Exule поддерживает копипаст вещей в текст свойств вещей в буфер обмена получает что то в таком виде:
Rarity: Rare
Ghoul Goad
Titan Greaves
--------
Armour: 465 (augmented)
--------
Requirements:
Level: 68
Str: 120
--------
Sockets: R-B
--------
Item Level: 85
--------
93% increased Armour
8% increased Rarity of Items found
+32% to Fire Resistance
+48% to Cold Resistance
+45% to Lightning Resistance
17% increased Stun and Block Recovery
Надо заставит сверяться с большим списком(массивом) последнии абзацы.
Модификации можно менять сферами в сундуке, обычно все начинается со сферы превращения которая добавляет 1-2 мода, если не устравает сфера перемен которая изменяет вещь на 1-2 мода, если все устраивает делается еще шаг на 3 мод сферой царей. Если не устраивает, чистится и по новой, дальше лучше процесс делать ручками, но до этого момента может занять очень много времени. Особенно обидно если не впопыхах не уследишь и уничтожишь вожделенный рол.
Цифры разбросаны в диапозонах "tier", который и надо ловить. Также бывает мод в две строки 41% increased Armour и 17% increased Stun and Block Recovery, отдельный 52% increased Armour намного больше.
Что то мне подсказывает что обработка результатов не задача автокликера или все же есть какая-то возможность?
Тогда идея засунуть данные в эксел, и сделать проверку по совпадению из массива и количества этих совпадений. В итоге какая то ячейка будет менять цвет в зависимости от условий.
Так то мне процесс понятен, кроме одного, я не знаю как работать с числами в диапазоне с текстом. Походу стоит как то вытаскивать из одной ячейки цифры и текст.
-
Опиши задачу отдельно от игры и игровых терминов. Тебе нужно сравнить 1 текст с другим и вывести несоответствия?
-
В общих чертах наверное да.
Шаг 1. Автокликер кликает мышкой, копирует тект в буфер обмена сверяется с базой.
Если есть 2 совпадение (допустим нашло +48% to Cold Resistance и +45% to Lightning Resistance) переход к шагу 3
если нет ищет 1 совпадение (допустим +48% to Cold Resistance) переход к шагу 2
если нет преход к шагу 1
Шаг 2. Кликаем мышкой, сверяемся с базой
Если есть 2 совпадение (допустим нашло +48% to Cold Resistance и +45% to Lightning Resistance) переход к шагу 3
если нет преход к шагу 1
Шаг 3. Кликаем мышкой, сверяемся с базой
Если есть 3 совпадения остановка (допустим нашло +45% to Cold Resistance и +45% to Lightning Resistance и 15% increased Rarity of Items found)
если нет переход к шагу 1
Фишка в том что меня устроят значения выше +45% to Cold Resistance и +45% to Lightning Resistance и 15% increased Rarity of Items found, но не ниже. То есть в диапазоне 45-50 и 15-20 соответственно.
Различных модификатор довольно много, пример для ботинок (http://poedb.tw/ru/mod.php?cn=Boots&an=str_armour)
Дополнительная сложность, если присмотреться к картинке есть позиция "52% increased Armour" и "41% increased Armour 17% increased Stun and Block Recovery" - в буфер обмена сохранилось как "93% increased Armour", т.е.
В шаге 1
если появляется "17% increased Stun and Block Recovery" и "93% increased Armour" от 41 до 60 щаг 2
если "100% increased Armour" переход к 3 шагу.
Так же хотелось бы ролл на желаемые модификаторы до шага 3.
Я думаю логику отдать exel, в нем результаты отобразить в цвете, от туда уже подхватывать шаги.
Пока застрял на проверки истины, не как не пойму рядом считает цифры, а в таблице полученные значения не хочет. Отсоединить значения от текста получилось макросом.
-
Не очень, но на твоём примере работает
#DEFINE #A_LOW: 97
#DEFINE #A_UP: 65
#DEFINE #Z_LOW: 122
#DEFINE #Z_UP: 90
#DEFINE #PLUS: 43
#DEFINE #PERCENT: 37
#DEFINE SEP: "--------"
#DEFINE SEP_LEN: 8
//Тут твои клики
$str = STRCONCAT(FROMCLIP(), "$")
$start = STRPOS($str, SEP, STRPOS($str, SEP, STRPOS($str, SEP, STRPOS($str, SEP, STRPOS($str, SEP) + SEP_LEN) + SEP_LEN) + SEP_LEN) + SEP_LEN) + SEP_LEN
$end = STRPOS($str, "$", $start)
PRINT($str, CHAR(13), CHAR(10))
$toColdResistance = 0
$toLightningResistance = 0
$increasedRarityofItemsfound = 0
$increasedArmour = 0
FOR($i = $start, $i < $end)
$code = CODE(STRCUT($str, $i, 1))
$number = 0
$string = ""
$size = 0
FOR($i = $i, (($code >= #0) and ($code <= #9)) or ($code = #PLUS) or ($code = #PERCENT) )
IF($code > #PLUS)
$number = $number * 10 + CHAR($code)
END_IF
$code = CODE(STRCUT($str, $i + 1, 1))
END_CYC
FOR($i = $i, ((($size >= 0) and ($size <= 31)) and (($code >= #A_LOW) and ($code <= #Z_LOW)) or (($code >= #A_UP) and ($code <= #Z_UP)) or ($code = #SPACE)) )
$string = STRFILTER(STRCONCAT($string, CHAR($code)), " ", 0)
IF(($string = "toColdResistance") or ($string = "toLightningResistance") or ($string = "increasedRarityofItemsfound") or ($string = "increasedArmour"))
SETVAR(STRCONCAT("$", $string), $number)
END_IF
$code = CODE(STRCUT($str, $i + 1, 1))
$size = $size + 1
END_CYC
END_CYC
// Дальше твои услови
PRINT("$toColdResistance = ", $toColdResistance)
PRINT("$toLightningResistance = ",$toLightningResistance)
PRINT("$increasedRarityofItemsfound = ", $increasedRarityofItemsfound)
PRINT("$increasedArmour = ", $increasedArmour)
HALT
11:21:15 Path of Exule поддерживает копипаст вещей в текст свойств вещей в буфер обмена получает что то в таком виде:
Rarity: Rare
Ghoul Goad
Titan Greaves
--------
Armour: 465 (augmented)
--------
Requirements:
Level: 68
Str: 120
--------
Sockets: R-B
--------
Item Level: 85
--------
93% increased Armour
8% increased Rarity of Items found
+32% to Fire Resistance
+48% to Cold Resistance
+45% to Lightning Resistance
17% increased Stun and Block Recovery$
11:21:15 $toColdResistance = 48
11:21:15 $toLightningResistance = 45
11:21:15 $increasedRarityofItemsfound = 8
11:21:15 $increasedArmour = 93