PDA

Просмотр полной версии : заточка шмота


ConDenSat
09.02.2007, 05:52
прошу помочь за макросом на заточку шмота, чтоб бот одевал на себя не точеный шмот, точил, скажем, до +8, одевал следующую неточеную вещь.
Ps буду очень благодарен)

IBotMan
09.02.2007, 17:27
Тебе не макро надо а плагин.
Сам плагин (http://bibian.ath.cx/openkore/viewtopic.php?t=18727&highlight=refineauto)

ConDenSat
10.02.2007, 08:25
спасибо конечно за ссылку, но сколько я пытался понять это все, ничего не вышло, сколько раз убеждался что программирование не для меня. может подскажешь что и в каких файлах нужно прописать, а то там сам плагин есть, но как им пользоваться не понимаю.

4epT
24.02.2007, 19:52
а я так точил на +4 всё что есть на руках:
automacro zatocka_4 {
map morocc_in
inventory "Shoes [1]" > 0
call {
set exclusive 1
if (@invamount (Elunium) > 3) goto da
do c @storage
do storage get @storage (Elunium) @eval(60 - @invamount (Elunium))
do storage close
goto end
:da
do eq Shoes [1]
do talknpc 73 38 r5 r0
pause 1
do talknpc 73 38 r5 r0
pause 1
do talknpc 73 38 r5 r0
pause 1
do talknpc 73 38 r5 r0
pause 1
:end
release zatocka_4
}
run-once 1
}

а так на +5:
automacro zatocka_5 {
map morocc_in
inventory "+4 Shoes [1]" > 0
call {
set exclusive 1
if (@invamount (Elunium) > 0) goto da
do c @storage
do storage get @storage (Elunium) @eval(30 - @invamount (Elunium))
do storage close
goto end
:da
do eq +4 Shoes [1]
do talknpc 73 38 r5 r0 r0
pause 1
:end
release zatocka_5
}
run-once 1
}
на +6 и на +7 сами догадаетесь

Ssss
10.06.2007, 18:46
4epT ,подскажи, можно сделать так что б бот, проточив шмотки на +4(или +5 и выше) сразу скидывал их в @storage и брал оттуда ещё неточёные ? ..... а то перезаходить лениво ....а так будет намного быстрее(т.е. что б проточил все чтотки вида например Shield без заточки до +5 ....
я что-то не разберусь никак с опирациями взял-положил в хранилище просто))))


И ещё .....можно как-нить опознать шмот с помощью лупы? Если да - КАК?) .....

Ssss
10.06.2007, 20:10
automacro zatocka_4 {
map morocc_in
inventory "Shield [1]" > 0
call {
set exclusive 1
if (@invamount (Elunium) > 3) goto da
do c @storage
do storage get @storage (Elunium) @eval(60 - @invamount (Elunium))
do storage close
goto end
:da
do eq Shield [1]
do talknpc 73 38 r1 r0
pause 1
do talknpc 73 38 r1 r0
pause 1
do talknpc 73 38 r1 r0
pause 1
do talknpc 73 38 r1 r0
pause 1
do talknpc 73 38 r1 r0
pause 1
do talknpc 73 38 r1 r0
pause 1
inventory "+6 Shild [1]" > 0
call {
do c @storage
do storage add +6 Shield [1]
do storage close
}

do c @storage
do storage get Shield [1] 1
do storage close
:end
release zatocka_4
}
run-once 1
}

У мя вот что вышло ,редактируя твой макрос .....
только я не знаю как сделать так ,что б он опознавал шмотку ,которую берёт из стораджа .....
и минуэ этого в том что он точит по одному всего лишь ....

4epT
11.06.2007, 20:41
хренотень какая-то получилась..
у тя в 1 автомакросе 2 вызова макроса (call)..
нада будет попробовать что на это кора скажет (не думаю что что-то хорошее)
для того чтобы всё складывал нада писать ещё макрос, у мя нет щас времени
у мя было так:
сначало кладёт в кафру, потом забирает (по 30 шт)
macro k2 {
$i = 30
do c @storage << команда открывает кафру
while ($i > 0) as nabor
do storage get Shoes [1]
$i--
pause 0.5
end nabor
call k3
}
macro k3 {
$i = 30
do c @storage
while ($i > 0) as nabor
do storage add +4 Shoes [1]
pause 0.5
$i--
end nabor
do storage close
}


на счёт распознанных хз нету щас времени подумать (думаю лучше самому всё распознать)

Ssss
12.06.2007, 15:32
а хоть команду на опознавание шмота знаешь? потому как я полистал плагин на заточку и там нифига путного найти не удалось , слишком много каки-то переменных непонятных

macro k2 {
$i = 30
do c @storage << команда открывает кафру
while ($i > 0) as nabor
do storage get Shoes [1]
$i--
pause 0.5
end nabor
call k3
}

и вот тут разве не надо сторэдж закрытьФ? Он же точить с открытым хранилищем не будет!(

4epT
12.06.2007, 16:37
Ssss, снизу строчку call k3 видишь? Вызывается макрос k3, в котором снизу есть do storage close

по поводу лупы.. учись использовать мануал (http://openkore.sourceforge.net/manual/view.php?p=Console%20Commands#identify)

Ssss
12.06.2007, 17:19
всё .....разобрался ...... итоговый макрос которым сейчас пользуюсь:

automacro zatocka_5 {
map morocc_in
inventory "Shield [1]" > 0
call {
set exclusive 1
if (@invamount (Elunium) > 4) goto da
do c @gstorage
do storage get @storage (Elunium) @eval(60 - @invamount (Elunium))
do storage close
goto end
:da
do eq Shield [1]
do talknpc 73 38 r2 r0
pause 1
do talknpc 73 38 r2 r0
pause 1
do talknpc 73 38 r2 r0
pause 1
do talknpc 73 38 r2 r0
pause 1
do talknpc 73 38 r2 r0 r0
pause 1
do c @gstorage
do storage get Shield [1]
do storage add +5 Shield [1]
do storage close
do is Magnifier
do identify 0
:end
release zatocka_5
}
run-once 1
}

для начала заточки в инвентаре необходимо иметь 1 опознанный щит и в кафре все неопознанные

4epT
12.06.2007, 18:53
не верх совершенства, но раз работает значит годится
чё у тебя такое "do c @gstorage", работает?
недостатки:
1. у тебя один раз берётся по 60 элу, а в кафру ты лазеешь каждый раз после очерезной заточки 1 щита, думаю лечше в это период и брать 5 элу
2. не вижу, чтобы у тебя лупы набирались..

Ssss
13.06.2007, 12:49
чё у тебя такое "do c @gstorage", работает?
Ага ...

1. у тебя один раз берётся по 60 элу, а в кафру ты лазеешь каждый раз после очерезной заточки 1 щита, думаю лечше в это период и брать 5 элу
Можно , но тогда могут появиться накладки, т.к. я этот же макрос переделываю для получения заточки на 6 и выше ....с твоей проверкой хоть и дольше но надёжнее ....

2. не вижу, чтобы у тебя лупы набирались..
лупы и не набираются т.к. нифига не понял в механизме провернки инвентаря ))))))))

вообщем на заточку на +5 1000 шилдов из кафры уходит порядка 3-4 часов ....много .......но зато не руками)

FRITS
31.07.2007, 07:28
я слышал, что есть бот, который точит +10)) он роботает по принципу простого бота, когда дамаг может убить, то бот вингаетса, так тут когда заточка не удачна, бот дисконектица, потом заходит снова... т.д. пока до 10 шмот не заточит...

4epT
03.08.2007, 16:47
FRITS, хм, звучит из ряда фантастики (на сколько же должен быть глючный сервак)

Bazo_Oka
06.12.2007, 18:40
а точка скиллом МСа? хоть она только оружие точит но всеже, дешевле да и быстрее будет), насколько я понимаю макрос приблизительно как у хима при варке http://ragbot.ru/forum/makrosy-i-plaginy/683-makros-varka-alximom.html ток там фишку какуюто нада делать, толи пакеты определенные отправлять толи инструкцыю ему дать на какую строчку жать)

замутил макрос на заточку на +10.... но чтото странно он мутит с распознавание предметов, сначала берет из кафры потом юзает лупу но как заюзает пишеццо
[macro] [macro] automacro zatocka_4 triggered.
[console] Error in function 'identify' (Identify Item)
Identify Item 0 does not exist
[useItem] You used Item: Magnifier (1) x 0 - 384 left
[console] Permitted to use Item Appraisal (40), level 1
[console] You can't put on Buckler [1] (2)
хотя предмет неопознан и лежит в инвентаре, кроме него никаких неопознанных вещей нет
вот весь макрос
automacro zatocka_4 {
map morocc_in
inventory "Buckler [1]" > 0
delay 10
call {
set exclusive 1
do is Magnifier
do identify 0
do eq Buckler [1]
do talknpc 73 38 c r2 c r0 c n
pause 1
do talknpc 73 38 c r2 c r0 c n
pause 1
do talknpc 73 38 c r2 c r0 c n
pause 1
do talknpc 73 38 c r2 c r0 c n
pause 1
release zatocka_4
}
run-once 1
}

automacro zatocka_5 {
map morocc_in
inventory "+4 Buckler [1]" > 0
call {
set exclusive 1
do eq +4 Buckler [1]
do talknpc 73 38 c r2 c r0 c c r0 c n
pause 1
release zatocka_5
}
run-once 1
}

automacro zatocka_6 {
map morocc_in
inventory "+5 Buckler [1]" > 0
call {
set exclusive 1
do eq +5 Buckler [1]
do talknpc 73 38 c r2 c r0 c c r0 c n
pause 1
release zatocka_6
}
run-once 1
}

automacro zatocka_7 {
map morocc_in
inventory "+6 Buckler [1]" > 0
call {
set exclusive 1
do eq +6 Buckler [1]
do talknpc 73 38 c r2 c r0 c c r0 c n
pause 1
release zatocka_7
}
run-once 1
}

automacro zatocka_8 {
map morocc_in
inventory "+7 Buckler [1]" > 0
call {
set exclusive 1
do eq +7 Buckler [1]
do talknpc 73 38 c r2 c r0 c c r0 c n
pause 1
release zatocka_8
}
run-once 1
}

automacro zatocka_9 {
map morocc_in
inventory "+8 Buckler [1]" > 0
call {
set exclusive 1
do eq +8 Buckler [1]
do talknpc 73 38 c r2 c r0 c c r0 c n
pause 1
release zatocka_9
}
run-once 1
}

automacro zatocka_10 {
map morocc_in
inventory "+9 Buckler [1]" > 0
call {
set exclusive 1
do eq +9 Buckler [1]
do talknpc 73 38 c r2 c r0 c c r0 c n
pause 1
release zatocka_10
}
run-once 1
}

automacro storaging {
inventory "+10 Bucker [1]" > 0
call {
do c @gstorage
do storage add +10 Buckler [1]
do storage close
release storaging
}
run-once 1
}

для тех кто будет использовать макрос : набор луп, элиниума и баклеров осуществляется через конфиг, на форуме об этом есть:)

4epT
06.12.2007, 20:13
Попробуй:
do is @inventory (Magnifier)
pause 3
do identify 0

Bazo_Oka
06.12.2007, 22:59
афигеть заработало!!! волшебник блин) а что со скиллом мса? там пакетами мутить или со строчками?

4epT
07.12.2007, 00:38
боюсь что с пакетами :)

Bazo_Oka
10.12.2007, 22:23
не, мучать моск еще и впе я небуду)

GumaNoiD
22.12.2007, 16:52
Блин...я забросил в macros.txt следующее
automacro zatocka_4 {
map payon
inventory "Odin's blessing [1]"
call {
set exclusive 1
if (@invamount (Elunium) > 3) goto da
do c @storage
do storage get @storage (Elunium) @eval(60 - @invamount (Elunium))
do storage close
goto end
:da
do eq Odin's blessing [1]
do talknpc 144 173 c r1
pause 1
do talknpc 144 173 c r1
pause 1
do talknpc 144 173 c r1
pause 1
do talknpc 144 173 c r1
pause 1
:end
release zatocka_4
}
run-once 1
}
захожу в игру-0 действия...
Что нужн очтобы активировать автомакрос?

4epT
22.12.2007, 23:11
Что нужно чтобы активировать автомакрос?
ну вообще если у тебя работает сам macro-плагин, то просто написать условия при которых будет запускаться АМ. В твоём случае (map payon и inventory "Odin's blessing [1]") АМ запустится если ты будешь в пайоне и у тебя на руках бдет Odin's blessing [1].

вать машу, нада быть внимательнее, у меня же написано:

inventory "Shoes [1]" > 0

GumaNoiD
29.12.2007, 20:37
Хм...Ну получается всё ок-
automacro zatocka_4 {
inventory "Odin's Blessing [1]" > 0
call {
:da
do eq Odin's Blessing [1]
do talknpc 144 173 c r1 c r1 c d5 r0 c r0 c c c c c c
:end
release zatocka_4
}
run-once 1
}
Как добавить :если нет в инвентаре Odin's Blessing [1] то он брал бы это из телеги...

Женя
30.12.2007, 00:05
GumaNoiD
Чудо, ты случаем не на Ecchi-RO играешь?))

GumaNoiD
30.12.2007, 13:39
GumaNoiD
Чудо, ты случаем не на Ecchi-RO играешь?))

нет:-[
урааа...Спс 4ерт'у толкнул мыслю
щас юзаю такие макросы
http://rapidshare.com/files/80548341/macros.txt.html

timpson
11.02.2008, 17:31
такая тема играю на зениро.нужно ответить нпс сколько раз точить как ето зделать?

masterspirta
11.02.2008, 18:08
Если красиво то с юзай плагин reactonnpc.pl
Командно макросом...
do talk num 9

timpson
11.02.2008, 18:17
automacro zatocka_9 {
inventory "Odin's Blessing [1]" > 0
call {
:da
do eq Odin's Blessing [1]
do talknpc 144 173 c r1 c r1 do talk num 9 c r1 c c c
:end
release zatocka_9
}
run-once 1
}
Както так?

Вроде рзобралса:
automacro zatocka_6 {
inventory "Hood" > 0
call {
:da
do eq Hood
do talknpc 63 60 c r4 c r1 c d6 c r0 c r0 c c c c c c
:end
release zatocka_6
}
run-once 1
}

Тока вот проблема.Когда открываю кору он выдаёт ошибку,и всё закрываетса.Ну я открываю опять и так пока он не запашет(примерно из5-4раза будет ошибку выдавать)Как ето исправить?
А вот ето у меня в фаиле ерор:
OpenKore version what-will-become-2.0.4 (SVN version)
Network state = 5
Network handler = Network::DirectConnection
SVN revision: unknown
Loaded plugins:
plugins/alertsound.pl (alertsound)
plugins/doCommand.pl (doCommand)
plugins/macro.pl (macro)
plugins/patchConnect.pl (patchconnect)

Error message:
Illegal division by zero at C:/boti/WIZARD/src/Interface/Wx.pm line 1208.

Stack trace:
Illegal division by zero at C:/boti/WIZARD/src/Interface/Wx.pm line 1208.
at C:/boti/WIZARD/src/Interface/Wx.pm line 118
Interface::Wx::mainLoop('Interface::Wx=HASH(0x2cd3 780)') called at openkore.pl line 96
main::__start() called at start.pl line 125

Died at this line:
$self->{stat}->SetLabel($msg);
* $self->{weightBar}->SetLabel($char->{'weight'}."/".$char->{'weight_max'} . " (" . sprintf("%.1f", $char->{'weight'}/$char->{'weight_max'} * 100). "%)");
$self->{lvl}->SetLabel(timeConvert($EstB_sec));

Короче я опять всё зделал и поять не доконца))вот смотрите:
automacro zatocka_4 {
inventory "Pauldron [1]" > 0
call {
set exclusive 1
do is Magnifier
pause 3
do identify 0
do eq Pauldron [1]
do talknpc 63 60 c r4 c r1 c d4 c r0 c r0 c c c c c c c c
release zatocka_4
}
run-once 1
}

А вот ето у меня в конфиге(чтоб бегал достовал что надо):
storageAuto 1
storageAuto_npc prontera 164 174
storageAuto_distance 9
storageAuto_npc_type 1
storageAuto_npc_steps
storageAuto_password
storageAuto_keepOpen 0
storageAuto_useChatCommand
relogAfterStorage 0

getAuto Pauldron [1] {
minAmount 0
maxAmount 7
passive
}

getAuto Elunium {
minAmount 8
maxAmount 70
passive
}

getAuto Magnifier {
minAmount 0
maxAmount 7
passive
}
lockMap prt_in
lockMap_x
lockMap_y
lockMap_randX
lockMap_randY
Вот он распознает точит и так далее.Всё закончил,а после тупо пытаетса дальше распозноватьи точить а бежать доставать итемы даж не мечтает.Как зделать приоритетным для бота имено кол-во вещеи в инвентаре••••••(чтоб короче запахало))??

Святой Инквизитор
04.01.2009, 14:30
А ещё проще... смотрим тут(http://rofan.ru/viewtopic.php?f=32&t=6529) мой набор макросов и делаем как нам нужно

NewBotie123
03.12.2012, 11:06
Хороший макрос был тут:
http://rofan.ru/viewtopic.php?p=65439#p65439
http://rofan.ru/download/file.php?id=1806

Итак, спустя некоторое время написал я макрос автомат на заточку ботом Кривых ожей [4]
Запускать макрос: в консоли ввести macro Run
Как работает.
Бот проверяет есть ли у него в инвертаре любые Кривые ножи [4] любой заточки от 0 до 9 если есть идёт в кузницу. Проверяет есть ли у него Фраконы, если мало, то докупает до 100 шт. Точит.
Если нож сломался - берёт новый или ножи кончились в инвертаре идёт в кафру берёт нову партию.
Если заточился до +10 ложит его в телегу.
лишние Логи можете удалить.
Конечно это макрос написан не профессионально, наверное, но работает.
Подправил макрос, были замечены ошибки.