whenStatusActive список статусов
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
whenStatusActive список статусов
Есть такой блог:
doCommand ss 228 10;;craft 7136 {
whenStatusActive Marionette Control,Gloria,Blessing
timeout 0.4
sp > 50
}
Но срабатывает он если хотя бы один из статусов висит на персонаже. Как сделать чтоб срабатывал тогда и только тогда, когда висеть будут все три статуса?
doCommand ss 228 10;;craft 7136 {
whenStatusActive Marionette Control,Gloria,Blessing
timeout 0.4
sp > 50
}
Но срабатывает он если хотя бы один из статусов висит на персонаже. Как сделать чтоб срабатывал тогда и только тогда, когда висеть будут все три статуса?
Re: whenStatusActive список статусов
Можно попробовать так
Код: Выделить всё
doCommand ss 228 10;;craft 7136 {
whenStatusActive Marionette Control
whenStatusActive Gloria
whenStatusActive Blessing
timeout 0.4
sp > 50
}
- Сагпоименидурак
- Грамотный
- Сообщения: 284
- Зарегистрирован: Сб дек 20, 2008 2:30 pm
- Сервер RO:: Chaos
Re: whenStatusActive список статусов
david, отпишись пжл, хавает ли докоманд 3 статуса.
А ботоводство вообще само по себе является хобби для физиков-математиков-программистов (c) dvdc
NB! В личку не стучать - никому помогать не буду, ждите месяц, блджад!
NB! В личку не стучать - никому помогать не буду, ждите месяц, блджад!
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: whenStatusActive список статусов
doCommand тут не при чём, это Self ConditionsСагпоименидурак писал(а):david, отпишись пжл, хавает ли докоманд 3 статуса.
Re: whenStatusActive список статусов
Было бы все настолько просто, я бы сделал именно так. Но в блоках с фигурными скобками нельзя дважды повторять одну и ту же опцию, не сработает. Тестил.Kissa2k писал(а):Можно попробовать такКод: Выделить всё
doCommand ss 228 10;;craft 7136 { whenStatusActive Marionette Control whenStatusActive Gloria whenStatusActive Blessing timeout 0.4 sp > 50 }
Стоял вот такой изврат, для решения конкретно это проблемы, только жуть какая то.
Код: Выделить всё
doCommand conf varim.disabled 1 {
whenStatusInactive Gloria
timeout 2
}
doCommand conf varim.disabled 1 {
whenStatusInactive Blessing
timeout 2
}
doCommand conf varim.disabled 1 {
whenStatusInactive Marionette Control
timeout 2
}
doCommand conf varim.disabled 0 {
whenStatusActive Gloria
timeout 4
}
#7175 Fire Bottle
#7176 Acid Bottle
doCommand ss 228 10;;craft 7136 {
label varim
whenStatusActive Marionette Control
timeout 0.4
sp > 50
disabled 1
}
Добавлено спустя 1 час 39 минут 26 секунд:
И сразу.
Разъясните мне дураку, как это работает в ДуКоманде:
Код: Выделить всё
whenFlag
whenNotFlag
Re: whenStatusActive список статусов
А вот ещё один вопрос.
Допустим хочу чтобы блок ДоКомманда выполнялся тогда и только тогда, когда в конфиге стоит от балды придуманная команда:
link
0 или 1
А в самом блоке ДоКоманда
inLink 1
или
inLink 0
Какую менно строку нужно добавить в файл Миск.пм?
Получилось что то типа этого, только не работает.
И вообще может я туплю, разъясните экстрасенсы o_0
Допустим хочу чтобы блок ДоКомманда выполнялся тогда и только тогда, когда в конфиге стоит от балды придуманная команда:
link
0 или 1
А в самом блоке ДоКоманда
inLink 1
или
inLink 0
Какую менно строку нужно добавить в файл Миск.пм?
Получилось что то типа этого, только не работает.
Код: Выделить всё
if ($config{$prefix . "_inLink"} > 0) { return 0 unless ($flags{$config{$prefix . "_link"}} != 1); }
- 4epT
- macro-маньячина
- Сообщения: 2792
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
Re: whenStatusActive список статусов
david, так ты используй уже имеющуюся опцию "disable 0|1"
Re: whenStatusActive список статусов
Вообщем один бот обкастовывающий, остальные бегают за кастами.
Через !include в "бегающих" есть одинаковые куски конфига, и мне нужно ввести новый параметр в конфиг.
Как то так чтоле
*мы не ищем легких путей^^
Через !include в "бегающих" есть одинаковые куски конфига, и мне нужно ввести новый параметр в конфиг.
Как то так чтоле
*мы не ищем легких путей^^
- 4epT
- macro-маньячина
- Сообщения: 2792
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
Re: whenStatusActive список статусов
один параметр который будет только у одного из бегающих?? или чё? не понимаю..
Re: whenStatusActive список статусов
ну вот допустим стоит в конфиге всех ботов такая фигня:
!include D:BotRO...doCommand.txt
в "doCommand.txt" стоит:
Как правило запускаю сразу ботов 5.
и допустим я хочу чтобы блок:
А в блок Докоманда добавить inLink 1
А как не знаю.
Добавлено спустя 4 часа 33 минуты 3 секунды:
Вот так вроде бы все работает именно так как мне надо:)
Может все же кто нибудь знает как сделать:
!include D:BotRO...doCommand.txt
в "doCommand.txt" стоит:
Код: Выделить всё
###usr usr гык гык
doCommand c @warp 1 {
timeout 3
hp < 30%
inLockOnly 1
}
doCommand c @warp 1 {
timeout 3
sp < 34
inLockOnly 1
}
doCommand is Fly Wing {
timeout 2
hp < 50%
aggressives > 3
inLockOnly 1
}
doCommand c @warp 6;;ai manual {
timeout 2
whenStatusInactive Spirit
}
doCommand ai on;;c @warp 1 {
inMap morocc
timeout 2
whenStatusActive Spirit
manualAI 1
}
doCommand is str5 {
inInventory str5 > 0
timeout 10
whenStatusInactive Steamed Tongue
}
###---High Priest---###
doCommand is Fly Wing {
timeout 3
hp < 10%
inLockOnly 1
isJob High Priest
}
doCommand ss 361 5 {
whenStatusInactive Assumptio
timeout 3
inLockOnly 1
isJob High Priest
disabled 1
}
###---Нифель запинка---###
doCommand move 19 151 {
timeout 10
inMap niflheim
}
и допустим я хочу чтобы блок:
Выполнялся только у тех ботов, которых в конфиге будет стоять новый параметр "link 1".doCommand c @warp 6;;ai manual {
timeout 2
whenStatusInactive Spirit
}
А в блок Докоманда добавить inLink 1
А как не знаю.
Код: Выделить всё
if ($config{$prefix . "_inLink"} > 0) { return 0 unless ($flags{$config{$prefix . "_link"}} != 1); }
Вот так вроде бы все работает именно так как мне надо:)
Код: Выделить всё
if ($config{$prefix . "_inLink"} > 0) { return 0 unless ($config{link}); }
Может все же кто нибудь знает как сделать:
Есть такой блог:
doCommand ss 228 10;;craft 7136 {
whenStatusActive Marionette Control,Gloria,Blessing
timeout 0.4
sp > 50
}
Но срабатывает он если хотя бы один из статусов висит на персонаже. Как сделать чтоб срабатывал тогда и только тогда, когда висеть будут все три статуса?
Re: whenStatusActive список статусов
Сделал так:Есть такой блог:
doCommand ss 228 10;;craft 7136 {
whenStatusActive Marionette Control,Gloria,Blessing
timeout 0.4
sp > 50
}
Но срабатывает он если хотя бы один из статусов висит на персонаже. Как сделать чтоб срабатывал тогда и только тогда, когда висеть будут все три статуса?
Открыл файл Misc.pm
нашел строчку:
Код: Выделить всё
if ($config{$prefix . "_whenStatusActive"}) { return 0 unless (whenStatusActive($config{$prefix . "_whenStatusActive"})); }
Код: Выделить всё
if ($config{$prefix . "_whenStatusActive2"}) { return 0 unless (whenStatusActive($config{$prefix . "_whenStatusActive2"})); }
if ($config{$prefix . "_whenStatusActive3"}) { return 0 unless (whenStatusActive($config{$prefix . "_whenStatusActive3"})); }
if ($config{$prefix . "_whenStatusActive4"}) { return 0 unless (whenStatusActive($config{$prefix . "_whenStatusActive4"})); }
if ($config{$prefix . "_whenStatusActive5"}) { return 0 unless (whenStatusActive($config{$prefix . "_whenStatusActive5"})); }