|
|||||||
| Вопросы ньюбов Вопросы ньюбов и ответы бывалых |
![]() |
|
|
Опции темы | Опции просмотра |
|
|
#1 |
|
Новичок
Регистрация: 11.06.2004
Сообщений: 9
|
Хотелось бы спросить следующее
У меня в жабе есть переменные $weap - прайм $weapoff - офф Как грамотно написать триггер чтобы при дизарме оффа выполнялось поднятие с земли и взятие оффа, при дизарме прайма - аналогично для прайма ПРи этом значения данных переменных -1 слово, например топор или нож а при дизарме приходит строка "выбил тяжелый боевой топор из Ваших рук" Помогите плз. Best Regards |
|
|
|
|
|
#2 |
|
Знакомый Мадера
![]() Регистрация: 22.05.2004
Адрес: Вожский
Сообщений: 83
|
#action {^%0 ловко выбил%1 %2 из Ваших рук.} {взять $prime; взять $off; воор $prime; дер $off} {5} {default}
Где $praim - прайм, а $off - офф.
__________________
Вокруг ромашек - белый снег, А в нем, как капли крови - маки Здесь для кого-то был бы рай Ну а для нас - рубеж атаки! |
|
|
|
|
|
#3 |
|
Отличник форума
![]() Регистрация: 06.03.2004
Сообщений: 505
|
вставляешь в ммс.ини
#хеш массив задающий падежи праймов my %weap = ('мечем' => 'меч', 'ножом' => 'нож'); делаешь такой триг #триг прописывающий прайм когда им вооружаешся trig {my $item=$1; if (defined $weap{$item}) {$U:: prime=$weap{$item}}} '^Вы вооружились (.*)\.', '1000nf:autoweap'; #триг поднимающий и вооружающий прайм trig { my $item=$1; if ($item eq $prime) {sendl("взя $prime");sendl("воор $prime")}; } 'ловко выбил.? (.*) из Ваших рук\.', '1000nf:NoDisarm'; ну и для оффа почти аналогично. |
|
|
|
|
|
#4 |
|
Знакомый Мадера
![]() Регистрация: 17.07.2004
Сообщений: 68
|
ммц такой ужас =(
|
|
|
|
|
|
#5 | |
|
Новичок
Регистрация: 11.06.2004
Сообщений: 9
|
Цитата:
Хотел на самом деле увидеть ретелл на мой вопрос с использованием регулярных выражений (regexp) |
|
|
|
|
|
|
#6 |
|
The God of Void
![]() Регистрация: 05.03.2004
Сообщений: 217
|
mmc самый лучший клиент.
В jmc можно написать практически все(!) что можно написать в mmc, но это стоит таких усилий в конечном итоге это может выглядеть так криво, что лучше учите perl и садитесь за mmc. p.s. 2Ладон пара замечаний: 1. $U::prime=$weap{$item} и "$item eq $prime -- разные переменные. 2. да и комплект тригов вышел "одноразовый" (типа сменил ножички - и придется лезть в *.ini менять названия переменных). (на худой конец выводилась бы мессага, в случае если в хеше %weap не найден ключ $item) p.p.s. свои конфиги к чарам я не рассылаю -- просьба не спамить. (а то когда смотришь на то, как копируются кусочки из чьих-то конфигов и из этого пытаются склеить что-то дельное приходишь в ужас :). |
|
|
|
|
|
#7 |
|
Отличник форума
![]() Регистрация: 06.03.2004
Сообщений: 505
|
[quote=d_blacky]mmc самый лучший клиент.
В jmc можно написать практически все(!) что можно написать в mmc, но это стоит таких усилий в конечном итоге это может выглядеть так криво, что лучше учите perl и садитесь за mmc. p.s. 2Ладон пара замечаний: 1. $U: rime=$weap{$item} и "$item eq $prime -- разные переменные.[quote] ну писал на коленке... [quote=d_blacky] 2. да и комплект тригов вышел "одноразовый" (типа сменил ножички - и придется лезть в *.ini менять названия переменных). (на худой конец выводилась бы мессага, в случае если в хеше %weap не найден ключ $item) [quote] ты не учитываешь что можно один раз забить все праймы-офф и забыть про это дело... опять же можно прикрутить к этому делу базу в файле, и сделать алиасы на добавление новых оружий... я же пример написал, дорабатывать его можно довольно сильно. |
|
|
|
|
|
#8 | ||
|
The God of Void
![]() Регистрация: 05.03.2004
Сообщений: 217
|
Цитата:
Цитата:
Вдруг у тебя 2 одинаковых оружия. Вдруг место действия - комната без света и тому подобные сложности. Я предолжил бы следующую идею: 2 трига определяющих названия прайма и оффа по команде "экип": Код:
trig {
if (цвет 1ого слова пришедшей строки светло серый) {
$off_weapon=$1;
}
} '^<в левой руке>\s+([\w\-]+\s?[\w\.]+?)\s+<.+>$', "nf:get_off";
trig {
if (цвет 1ого слова пришедшей строки светло серый) {
$praim_weapon=$1;
}
} '^<в правой руке>\s+([\w\-]+\s?[\w\.]+?)\s+<.+>$', "nf:get_praim";
Код:
trig {
if (цвет пришедшей строки светло серый) {
get_and_equip_disarm_weapon(vinpad_to_impad($1))
} '^[\w\-\.\,]+? ловко выбил.? (.+?) из Ваших рук\.$', "nf:weapons_are_disarmed";
sub vinpad_to_impad() -- в соответствии с правилами русского языка переводит название оружия (состоящего как правило из 1 существительного и 1-2 прилагательных в именительный падеж) sub get_and_equip_disarm_weapon() -- поднимает с земли оружие, проверяет пришедшую строку на эквивалентность относительно $off_weapon и $prime_weapon, затем заменяет пробелы в пришедшем слове точками (получается: "острое.шило", "посох.странствий" и пытается ими вооружиться/взять в офф) (как вариант - можно на этапе sub vinpad_to_impad() оставить лишь существительное (это не настолько сложно определить и в большинстве случаев работает) и затем его экипировывать. (правда в этом случае будут траблы если в прайме какой-нибудь "титановый кинжал", оффе "стальной кинжал" а на вход пришла строка "кинжал". Правда выше приведенный триггер не дает гарантии когда мы имеем дело с кривыми объектами (не правильные падежи, не те альясы). + Самое смачное видеть фразу "Кто-то ловко выбил что-то из Ваших рук" -- тьма решает. p.s. http://www.mp3search.ru/m3u.html?id=122031 -- всем достать в хорошем битрейде и слушать до просветления. |
||
|
|
|
|
|
#9 |
|
Отличник форума
![]() Регистрация: 06.03.2004
Сообщений: 505
|
Правда выше приведенный триггер не дает гарантии когда мы имеем дело с кривыми объектами (не правильные падежи, не те альясы). + Самое смачное видеть фразу "Кто-то ловко выбил что-то из Ваших рук" -- тьма решает.
когда тьма тригер пофиг, всеравно взять не сможешь Ж) |
|
|
|
|
|
#10 |
|
The God of Void
![]() Регистрация: 05.03.2004
Сообщений: 217
|
Ага, как не совершенен наш мир
|
|
|
|
|
|
#11 |
|
Новичок
Регистрация: 11.06.2004
Сообщений: 9
|
Ну ..дец. Я все понимаю. И я не ньюб. Но ,господа, я задумываюсь о Вашем национальном происхождени , когда я прошу триг для жабы, а Вы мне говорите триг для ммс и обсуждаете его достоинства и недостатки((. А в итоге вывод я пользуюсь таким же тригом который написал Зубран+ хайлайт, но проблемы это не решает. В принципе все хорошо, но у меня dial up и поэтому проверка сразу двух условий дает лаг, + еще лаги бывают от умений допустим. И про то что я хотел увидеть здесь reg exp тоже как-то мимо прошло,правда Блэки предложил, но опять же для ммс
BR |
|
|
|
|
|
#12 |
|
Знакомый Мадера
![]() Регистрация: 15.06.2004
Сообщений: 55
|
Мдаа, топик про триггера в jmc а вы тут свой mmc пропагандируете
![]() Doc а не пофигу ли тебе какой именно випон выбили? Лишняя строчка мешает? Нефик париться нуна хватать все пока моб не сделал это быстрее тебя ж)
__________________
Подпись к рисунку: "Жопа - вид спереди" |
|
|
|
|
|
#13 |
|
Новичок
Регистрация: 14.11.2004
Сообщений: 33
|
так.. к слову.. regexp он и в африке regexp вроде..
какая в ... разница какой клиент? Идею дали, че бы самому-то мозг не напрячь? А то возникает желание написать чтонибудь из разряда: /action {выбил} {конец} и кстати, этож какой триггер надо написать, чтобы проверка двух условий давала ощутимый лаг? |
|
|
|
|
|
#14 |
|
Летописец
![]() Регистрация: 11.03.2004
Адрес: СПб
Сообщений: 679
|
Народ, ну будьте вы проще, а?
Вон Зубран второй же репликой дал, по-моему, самый надежный и быстрый триггер. И пофиг, что он всегда пытается оба оружия подобрать -- жалко вам, что ли? Еще добавить альясы на задание переменных для прайма и оффа и не забывать их обновлять при смене оружия. Все, проблема решена.
__________________
"Я во все дела сувался -- всесторонне развивался..." |
|
|
|
|
|
#15 | |
|
Новичок
![]() Регистрация: 23.09.2004
Адрес: Красноярск
Сообщений: 53
|
Цитата:
#al {дер}{#var off %0;держать %0} #al {воо}{#var prime %0;вооруж %0} $)
__________________
Твой эгоизм - это мерило искренности твоего желания быть самим собой. Прислушивайся к его советам внимательно. (с) Р.Бах |
|
|
|
|