В телегу из кафры...

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

Модератор: 4epT

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
BraiNLesS
Энтузиаст
Сообщения: 132
Зарегистрирован: Вс янв 07, 2007 9:04 pm
Контактная информация:

Сообщение BraiNLesS »

офф: Ну да... "Я свою норму знаю - 3 литра. Но ни разу до нее не добирался".
This Machine Has No Brain Use Your Own
(картинко-оригинал искать ломает)
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

офф-топ.. вчера решил проверить работу команды макросом, пример чисто испытательный (оффсервер хаос):

Пашет:
do talknpc 156 97 c r1
pause 3
do storage get Trunk 10

Непашет (и не ругается):
do talknpc 156 97 c r1
pause 3
do storage gettocart Trunk 10
от РО до шестой палаты - один шаг...
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Sauron

Знач gettocart тупо нифига не делает.
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

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


$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
от РО до шестой палаты - один шаг...
agasecond
Энтузиаст
Сообщения: 116
Зарегистрирован: Чт ноя 30, 2006 3:17 am

Сообщение agasecond »

Мде, по сравнению с вашими мега макросами мой не смотрится конечно, но зато работает, только что проверил :)

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
То есть просто тупо название, без указания номера итема.
Когда наша компания выходит на прогулку, следы потом сохраняются еще очень долго…
Брань, Глад, Мор и Смерть
Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron »

agasecond, ну это понятно.. просто показан образец для программирования.. а именно.. использование переменных, использование запросов, цикла и ветвления по условию.. именно поэтому даны комментарии каждой строке... обрати внимание на задачу.. название итема менять только в одном месте макроса, а в будущем можно быстро приспособить под использование значения другой переменной.. также значения 600, можно заменить переменной, в этом случае появляется ещё большая гибкость.. поскольку основная цель алгоритма, чтобы в телеге, сколько бы не было итема до операции, после его будет обязательно установленное нами количество..
от РО до шестой палаты - один шаг...
Ответить