В телегу из кафры...
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Тем не менее можно положить в телегу большее, чем удельный вес перса применив цикл ну и за одно контролируя окончательное количество вещей в телеге, как пример:
$m00 = Trunk # как пример "Поленья"
if (@cartamount ($m00) > 600) goto mak02 # если в телеге меньше 600 - продолжить
do move 156 95 # в морокке ползем к кафре
do talknpc 156 97 c r1 # открываем склад
pause 2 # без паузы глюконет
$i = 0 # переменная цикла
while ($i < 3) as cycle01 # собственно шапка цикла
$m01 = @eval (600 - @cartamount ($m00)) # сколько поленьев требуется добрать
if ($m01 <= 200) goto mak01 # упс, не поднять?
$m01 = @eval ($m01 - 200) # уменьшаем количество
if ($m01 <= 200) goto mak01 # упс, не поднять?
$m01 = @eval ($m01 - 200) # уменьшаем количество
:mak01
do storage get $m00 $m01 # в инвентарь со склада
pause 2
do cart add $m00 $m01 # из инвентаря в телегу
pause 2
$i++
end cycle01
:mak02
$m00 = Trunk # как пример "Поленья"
if (@cartamount ($m00) > 600) goto mak02 # если в телеге меньше 600 - продолжить
do move 156 95 # в морокке ползем к кафре
do talknpc 156 97 c r1 # открываем склад
pause 2 # без паузы глюконет
$i = 0 # переменная цикла
while ($i < 3) as cycle01 # собственно шапка цикла
$m01 = @eval (600 - @cartamount ($m00)) # сколько поленьев требуется добрать
if ($m01 <= 200) goto mak01 # упс, не поднять?
$m01 = @eval ($m01 - 200) # уменьшаем количество
if ($m01 <= 200) goto mak01 # упс, не поднять?
$m01 = @eval ($m01 - 200) # уменьшаем количество
:mak01
do storage get $m00 $m01 # в инвентарь со склада
pause 2
do cart add $m00 $m01 # из инвентаря в телегу
pause 2
$i++
end cycle01
:mak02
от РО до шестой палаты - один шаг...
Мде, по сравнению с вашими мега макросами мой не смотрится конечно, но зато работает, только что проверил
macro getmeat {
do ai manual
do tele 2
do move 123 62 geffen
do talk @npc (120 62)
pause 5
do talk resp 1
#блок просто тупо копируется 10 раз, потому как в телегу
#влазит 500 мяса
do storage get @storage (Meat) 50
do cart add @inventory (Meat)
do storage close
do ai auto
}
gettocart утестился, так ни разу и не сработало
потестил еще, работает следующее:
storage get Meat 123
cart add Meat 123
То есть просто тупо название, без указания номера итема.
macro getmeat {
do ai manual
do tele 2
do move 123 62 geffen
do talk @npc (120 62)
pause 5
do talk resp 1
#блок просто тупо копируется 10 раз, потому как в телегу
#влазит 500 мяса
do storage get @storage (Meat) 50
do cart add @inventory (Meat)
do storage close
do ai auto
}
gettocart утестился, так ни разу и не сработало
потестил еще, работает следующее:
storage get Meat 123
cart add Meat 123
То есть просто тупо название, без указания номера итема.
Когда наша компания выходит на прогулку, следы потом сохраняются еще очень долго…
Брань, Глад, Мор и Смерть
Брань, Глад, Мор и Смерть
agasecond, ну это понятно.. просто показан образец для программирования.. а именно.. использование переменных, использование запросов, цикла и ветвления по условию.. именно поэтому даны комментарии каждой строке... обрати внимание на задачу.. название итема менять только в одном месте макроса, а в будущем можно быстро приспособить под использование значения другой переменной.. также значения 600, можно заменить переменной, в этом случае появляется ещё большая гибкость.. поскольку основная цель алгоритма, чтобы в телеге, сколько бы не было итема до операции, после его будет обязательно установленное нами количество..
от РО до шестой палаты - один шаг...