Запуск макроса с параметрами - не передает значения

Дополнения к OpenKore, расширяющиее её функциональность, называются плагинами.

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

CaToH
Начинающий
Сообщения: 47
Зарегистрирован: Вт сен 04, 2007 9:40 pm

Запуск макроса с параметрами - не передает значения

Сообщение CaToH »

Здравствуйте!
Вызываю марокс
macro GetIngridients {

$fff = $.param1
$ddd = $.param2
$jjj = $.param3
$sol = $.param4
log $fff , $jjj , $ddd , solution = $sol, $.param1 $.param2
....
}

call GetIngridients -- 2 3 1 $sol
и из консоли
macro GetIngridients -- 2 3 1 $sol

без разницы - в обоих случаях выводятся только запятые и больше ничего.

В чем я накасячил ?
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

не понятно чё тебе нада в конецном варианте..
если вот это запихнуть в macros.txt:
macro GetIngridients {
$fff = $.param1
$ddd = $.param2
$jjj = $.param3
$sol = $.param4
log $fff , $jjj , $ddd , solution = $sol, $.param1 $.param2
}
вот это написать в консоле:
macro GetIngridients -- 2 3 1 $sol
то консоль нам выдаст:
macro GetIngridients -- 2 3 1 $sol
[macro][log] 2 , 1 , 3 , solution = , 2 3
т.е он не понимает только параметр "$sol" (кароче так не правельно)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

А причем тут "официальный сервер"?... Переношу в "плагины".
Кстати, у нас уже такая тема подымалась... вот только не помню, чем там дело кончилось.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

там другого плана темка была, типо "КАК С ПОМОЩЬЮ МАКРОСА ЗАПУСТИТЬ ДРУГОЙ МАКРОС С ПАРАМЕТРАМИ" помому так :)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
CaToH
Начинающий
Сообщения: 47
Зарегистрирован: Вт сен 04, 2007 9:40 pm

Сообщение CaToH »

Если честно, то я обобщил немного свою проблема - а зря.

Мне как раз нужно вызвать из макроса другой макрос с параметрами.
и фигня типа call name_macros --1 2 3 4 у меня не ботает.

Добавлено спустя 14 минут 17 секунд:

Мда. Я так понял меня поставило в тупик,то что здесь нужен пробел после символов --, а потом аргументы. Иначе он не воспринимает ,то что идет после как параметры.

Даже call macr_name -- 2 3 4 работает, но вот
call macr_name -- $p - не работает !
Получается нельзя использовать значение переменных в качестве
значений параметров макроса ?
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Может их стоит "вычислить" прежде, чем передать... (не знаю, это я так, от фонаря говорю).
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
CaToH
Начинающий
Сообщения: 47
Зарегистрирован: Вт сен 04, 2007 9:40 pm

Сообщение CaToH »

я пробовал ставить @eval($p) однофигственно - как будто не писали параметров работает.

Добавлено спустя 24 минуты 32 секунды:

Кажется я нашел немного другое решение своей проблемы - через глобальные переменные.

Спасибо за отзывчивость!
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Э, а расскажи как у тебя выглядит решение, вдруг кому пригодиццо!
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

pJ прав, ты пытаешь вызвать макрос таким способом: "call macr_name -- $p", а сама переменная $p у тебя нигде не определена.
Насколько я помню в той теме всё закончилось используя конфиг @conf (имя_переменной)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
CaToH
Начинающий
Сообщения: 47
Зарегистрирован: Вт сен 04, 2007 9:40 pm

Сообщение CaToH »

Моё решение такое:
вместо параметров использую глобальные переменные, значения которых задаются в автомакросе(в мое случае и вызов макроса с параметрами происходит оттуда же).
Аля

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

automacro n1{
set x 1
...
call z
}
automacro n2{
set x 2
...
call z
}
...
а где-то сам макрос

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

macro z{
 log $x
}

А что касается параметров, то я опять что-то не понимаю - на старом бот-клиенте (до апдейта на раггейме) константы передавались, а теперь - нет.

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

macro z {
        $p = 1
	call z2 -- 2 $p 3
}

macro z2 {
	log $.param1 $.param2 $.param3
}

Этот код выдает НИЧЕГО!

Возможно, я не понимаю,что тут называется "определить переменную", вроде бы тут она заводится сразу после $p = etc.
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

насколько я знаю вызывать макрос через макрос используя при этом переменные (-- 2 $p 3) - это уже впринципе неправельно..
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
CaToH
Начинающий
Сообщения: 47
Зарегистрирован: Вт сен 04, 2007 9:40 pm

Сообщение CaToH »

Вот доку бы посмотреть, что и чего можно ,а чего нельзя.
Wider
Начинающий
Сообщения: 24
Зарегистрирован: Вс апр 15, 2007 8:24 pm

Сообщение Wider »

Тоже столкнулся с проблемой, что параметры иногда передаются, а иногда нет, при одном и том же вызове. С чем это связано так и не понял.
И ещё один момент насчёт параметров не понял: если допустим в первом случае передавали 3 параметра, а во втором 2, то в третьем параметре остаётся значение с предыдущего вызова. Всвязи с этим не понятно сколько их передалию %) Никто не подскажет к этому решение? :o
CaToH
Начинающий
Сообщения: 47
Зарегистрирован: Вт сен 04, 2007 9:40 pm

Сообщение CaToH »

Есть две идеи:
1) Завершающуий 0 - пиши что-нибудь типа END(или 0 )в переменную следующую после последней переменной , что означает ,что за ней уже переменный не несут инфы.
2) Пиши в первую переменную сколько аргументов передано
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

Wider, CaToH, вы этой хренью для чего маетесь? Приведите пример

Не проще ли хранить переменные в конфиге?
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Ответить