|
Вопросы ньюбов Вопросы ньюбов и ответы бывалых |
![]() |
|
Опции темы | Опции просмотра |
|
![]() |
#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 | |
Новичок
Регистрация: 11.06.2004
Сообщений: 9
|
![]() Цитата:
Хотел на самом деле увидеть ретелл на мой вопрос с использованием регулярных выражений (regexp) |
|
![]() |
![]() |
![]() |
#5 |
Знакомый Мадера
![]() Регистрация: 17.07.2004
Сообщений: 68
|
![]()
ммц такой ужас =(
|
![]() |
![]() |
![]() |
#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: ![]() [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 | |
Гость
![]() Регистрация: 23.09.2004
Сообщений: 335
|
![]() Цитата:
![]() ![]() Типа сбашили тебя, 2 раунда в лаге не лежишь а сразу встаешь и гх. А то ~ лаг не убирает... только буфер того, что после лага случится чистит.. |
|
![]() |
![]() |
![]() |
#13 | |
Отличник форума
![]() Регистрация: 06.03.2004
Сообщений: 505
|
![]() Цитата:
а, ну это просто, надо всего то стать 31м левелом ж) тогда можно и молотить каждый раунд, или гневать скока влезет... |
|
![]() |
![]() |
![]() |
#14 |
Знакомый Мадера
![]() Регистрация: 15.06.2004
Сообщений: 55
|
![]()
Мдаа, топик про триггера в jmc а вы тут свой mmc пропагандируете
![]() Doc а не пофигу ли тебе какой именно випон выбили? Лишняя строчка мешает? Нефик париться нуна хватать все пока моб не сделал это быстрее тебя ж)
__________________
Подпись к рисунку: "Жопа - вид спереди" |
![]() |
![]() |
![]() |
#15 |
Новичок
Регистрация: 14.11.2004
Сообщений: 33
|
![]()
так.. к слову.. regexp он и в африке regexp вроде..
какая в ... разница какой клиент? Идею дали, че бы самому-то мозг не напрячь? А то возникает желание написать чтонибудь из разряда: /action {выбил} {конец} и кстати, этож какой триггер надо написать, чтобы проверка двух условий давала ощутимый лаг? |
![]() |
![]() |