Это просто необходимо ,если у тебя набор действий какой-то фиксированный(набрать лута для квеста,например), но ты не знаешь в нем параметры(аля кол-во или просто имена лута).
Для этого использую я макрос с параметрами
Добавлено спустя 2 минуты 24 секунды:
И в моем случае НПЦ ,дающий квест рандомно выдавал один из N вариантов списков лута - мне было проще написать для общего случае макрос с параметрами.
Запуск макроса с параметрами - не передает значения
Модератор: 4epT
Пример так пример:4epT писал(а):Wider, CaToH, вы этой хренью для чего маетесь? Приведите пример
Не проще ли хранить переменные в конфиге?
Требуется сделать макрос, чтобы он выполнял теже действия ,что и команда бота move, но шёл до цели пока не дойдёт, а не обрывал из-за ошибок stuck(типа не могу попасть из одной точки в другую) при плохом коннекте.
Выглядит это примерно так:
Код: Выделить всё
macro macroMove {
if ($.param1 == ) goto help
if ($.param2 == ) goto town
$posit = $.param1 $.param2
if ($.param3 == ) goto coordinat
$gomap = $.param3
:prov
if ($gomap != $.map) goto repeate1
if ($posit != $.pos) goto repeate1
goto endstate
:repeate1
$place = $posit $gomap
do move $place
goto prov
:town
log town
$gomap = $.param1
while ($gomap != $.map) as maploop2
do move $gomap
end maploop2
goto endstate
:coordinat
$posit = $.param1 $.param2
while ($posit != $.pos) as posloop2
do move $posit
end posloop2
goto endstate
:help
log Наберите macro macroMove -- [coord] [map]
log coord - точка карты
log map - название карты
log !Внимание! Бот обязательно должен иметь
log возможность добраться до этой кооринаты,
log иначе макрос не завершит свою работу
:endstate
}
ммм.. ну и создай в конфиге свои переменные и там значения писать/читать. Если коннект слетел при переподключении читаем значение своих переменных их конфига... например создаем в конфиге:Wider писал(а):Требуется сделать макрос, чтобы он выполнял теже действия ,что и команда бота move, но шёл до цели пока не дойдёт, а не обрывал из-за ошибок stuck
GoByforce 1/0 #Идти Принудительно
Go_map
Go_x
Go_y
от РО до шестой палаты - один шаг...
- 4epT
- macro-маньячина
- Сообщения: 2792
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
Wider, какой-то неудачный пример
CaToH, ну вот ты выцепил вариант квеста, записал в конфиг:
потом общий макрос:
CaToH, ну вот ты выцепил вариант квеста, записал в конфиг:
Код: Выделить всё
lut1 name
kolicestvo1 10
Код: Выделить всё
macro sborLuta {
log нужно собрать:
$lut1 = @config (lut1)
$kolicestvo1 = @config (kolicestvo1)
}