Страница 1 из 2

магазин / цикл покупки-продажи макросом мяса и т.п.

Добавлено: Сб дек 09, 2006 8:21 pm
торгаш
Я торгую мясом около южного входа в пронту, покупаю мясо в излуде, кладу в телегу, прихожу на место, открываю магазин и начинаю торговать. Когда мясо заканчивается, я иду обратно в излуд и повторяю все вышеперечисленные операции.
Очень хочется автоматизировать этот процесс, но не нашёл на форуме, как это сделать.
подскажите, плиз, что и куда нужно забивать, что бы при отсутствии мяса в телеге бот шёл в излуд, покупал 300 единиц мяса, складывал в телегу и после этого шёл к пронте (или шёл к пронте, и на месте клал мясо в телегу). Когда мясо продано (как открывать магазин я разобрался), он повторяет операцию.

izlude 105, 99 - координаты мясника в излуде

lockMap prt_fild08
lockMap_x 168
lockMap_y 366
lockMap_randX 5
lockMap_randY 5
место продажи

прожу не писать такие посты как -
ЧИТАЙ viewtopic.php?t=23
ЧИТАЙ viewtopic.php?t=79
всё это я уже перечитал, возможно ответ там, но я не смог разобраться :(

Добавлено: Сб дек 09, 2006 11:46 pm
торгаш
если это невозможно, так и скажите, плиз!

Добавлено: Сб дек 09, 2006 11:49 pm
piroJOKE
это разумеется возможно
просто я еще не придумал под каким предлогом отправить тему в мусорник :D

Добавлено: Вс дек 10, 2006 12:00 am
antigony
Вот набросал тут макро.
Не сказу что особо изящен, мой первый макрос=)


automacro checkshop {
location prt_fild08
shop "Meat" <= 1
timeout 20
call tomeat
run-once 1
}


macro tomeat {
$me = Meat
pause @rand (20,30)
do closeshop
pause @rand (2,3)
do move 102 95 izlude
do talk @npc (105 99)
do store
pause @rand (4,6)
do buy @store ($me) @eval ((300 - @cartamount ($me)) / 2)
pause @rand (2,6)
do cart add $me
do buy @store ($me) @eval (300 - @cartamount ($me))
pause @rand (2,6)
do cart add $me
do move 168 366 prt_fild08
pause @rand (20,30)
do openshop
release checkshop
}


все работает... возможно может где и есть какие глюки, но работает.

Добавлено: Вс дек 10, 2006 12:40 am
торгаш
эээ...вопрос от нуба....куда эту прелесть вставлять?

Добавлено: Вс дек 10, 2006 12:47 am
piroJOKE
А вот на этом месте г-н торгаш отправляется читать доку по макросам. 8)
( viewtopic.php?t=4 )

Добавлено: Вс дек 10, 2006 1:02 am
торгаш
спасибо большое что не сказал - испольуй поиск или что то в этом роде....вроде запустился...пока смотрю

Добавлено: Вс дек 10, 2006 1:45 am
торгаш
не пашет
все файлы разложил по полочкам, в control/macros.txt вставил приведённый выше макрос. бот находится в локе prt_fild08 на заданном месте.
вопрос - в файле shop.txt что-нибудь писать надо? я потом попробовал настроить его - ничего....

Добавлено: Вс дек 10, 2006 2:13 am
antigony
собственно в файле шоп конечно же надо написать что ты продаешь и по чем.

Добавлено: Вс дек 10, 2006 3:59 am
kLabMouse
Я Не Понял? Зачем Создавать копии Тем. :evil:
Давайте так. Доделайте Макрос. Хотя возможно и без него. Только правильно автопокупку настроить нужно.

Добавлено: Вс дек 10, 2006 10:33 am
торгаш
шоп настроил
Meat

Meat 44

а в конфиге прописывать что-нибудь надо?

Добавлено: Вс дек 10, 2006 2:33 pm
piroJOKE
С таким макро вроде-бы ничего к конфиг не надо писать.
Ну разве что (это уже другой разговор) описать, что будет, если твоему мерчу по дороге кто-то надерёт задницу.

Слушай, вопрос, а ты вообще пробовал всё это запускать, ы?

Добавлено: Вс дек 10, 2006 3:31 pm
торгаш
млин, ничего не пашет
конфиги не трогал, шоп настроил, макрос засунул в макрос.тхт, все .pl файлы всавил куда нужно.
в консоли надо вбивать что-нибудь что бы он напчал работу?

Добавлено: Вт дек 12, 2006 12:56 pm
LLIYTHUK
Для начала объясню свой порядок действий:
- сам покупаю 500 мяса и кидаю в тележку
- выхожу из игры и запускаю бота
- бот открывает магазин
- когда мясо продаётся, то запускается macro tomeat и на него бот сильно матерится:

Код: Выделить всё

[macro] tomeat error: error in 9: command buy @store ($me) @eval ((500 - @cartamount ($me)) / 2) failed
the line number may be incorrect if you called a sub-macro.
Из оригинального макроса я удалил все do move, т.к. мне не надо никуда ходить.
В конфиге стоит только shopAuto_open 1
В чём может быть ошибка?

Добавлено: Вт дек 12, 2006 3:02 pm
antigony
do buy @store ($me) @eval ((500 - @cartamount ($me)) / 2)

поменяй @eval ((500 - @cartamount ($me)) / 2)
на @eval (250 - @cartamount ($me))