Вернуться   МПМ Былины - Мир Древней Руси > Для игроков > Вопросы ньюбов

Вопросы ньюбов Вопросы ньюбов и ответы бывалых

Ответ
 
Опции темы Опции просмотра
Старый 31.12.2004, 18:44   #1
doc
Новичок
 
Регистрация: 11.06.2004
Сообщений: 9
По умолчанию Вопрос про триггера в жабе

Хотелось бы спросить следующее
У меня в жабе есть переменные
$weap - прайм
$weapoff - офф
Как грамотно написать триггер чтобы при дизарме оффа выполнялось поднятие с земли и взятие оффа, при дизарме прайма - аналогично для прайма
ПРи этом значения данных переменных -1 слово, например топор или нож
а при дизарме приходит строка "выбил тяжелый боевой топор из Ваших рук"
Помогите плз.
Best Regards
doc вне форума   Ответить с цитированием
Старый 31.12.2004, 18:54   #2
Зубран
Знакомый Мадера
 
Регистрация: 22.05.2004
Адрес: Вожский
Сообщений: 83
По умолчанию RE: Вопрос про триггера в жабе

#action {^%0 ловко выбил%1 %2 из Ваших рук.} {взять $prime; взять $off; воор $prime; дер $off} {5} {default}

Где $praim - прайм, а $off - офф.
__________________
Вокруг ромашек - белый снег,
А в нем, как капли крови - маки
Здесь для кого-то был бы рай
Ну а для нас - рубеж атаки!
Зубран вне форума   Ответить с цитированием
Старый 02.01.2005, 13:22   #3
Ladon
Отличник форума
 
Регистрация: 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';

ну и для оффа почти аналогично.
Ladon вне форума   Ответить с цитированием
Старый 02.01.2005, 15:58   #4
nigga
Знакомый Мадера
 
Регистрация: 17.07.2004
Сообщений: 68
По умолчанию RE: Вопрос про триггера в жабе

ммц такой ужас =(
nigga вне форума   Ответить с цитированием
Старый 02.01.2005, 18:23   #5
doc
Новичок
 
Регистрация: 11.06.2004
Сообщений: 9
По умолчанию RE: Вопрос про триггера в жабе

Цитата:
Сообщение от Зубран
#action {^%0 ловко выбил%1 %2 из Ваших рук.} {взять $prime; взять $off; воор $prime; дер $off} {5} {default}

Где $praim - прайм, а $off - офф.
Триг хороший и у меня прописан такой же но мне не нравится что проверяется оба оружия а надо чтобы только то которое сдизармили
Хотел на самом деле увидеть ретелл на мой вопрос с использованием
регулярных выражений (regexp)
doc вне форума   Ответить с цитированием
Старый 02.01.2005, 18:31   #6
d_blacky
The God of Void
 
Регистрация: 05.03.2004
Сообщений: 217
По умолчанию RE: Вопрос про триггера в жабе

mmc самый лучший клиент.
В jmc можно написать практически все(!) что можно написать в mmc, но это стоит таких усилий в конечном итоге это может выглядеть так криво, что лучше учите perl и садитесь за mmc.
p.s. 2Ладон пара замечаний:
1. $U::prime=$weap{$item} и "$item eq $prime -- разные переменные.
2. да и комплект тригов вышел "одноразовый" (типа сменил ножички - и придется лезть в *.ini менять названия переменных). (на худой конец выводилась бы мессага, в случае если в хеше %weap не найден ключ $item)

p.p.s. свои конфиги к чарам я не рассылаю -- просьба не спамить. (а то когда смотришь на то, как копируются кусочки из чьих-то конфигов и из этого пытаются склеить что-то дельное приходишь в ужас :).
d_blacky вне форума   Ответить с цитированием
Старый 02.01.2005, 21:11   #7
Ladon
Отличник форума
 
Регистрация: 06.03.2004
Сообщений: 505
По умолчанию RE: Вопрос про триггера в жабе

[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]


ты не учитываешь что можно один раз забить все праймы-офф и забыть про это дело... опять же можно прикрутить к этому делу базу в файле, и сделать алиасы на добавление новых оружий...
я же пример написал, дорабатывать его можно довольно сильно.
Ladon вне форума   Ответить с цитированием
Старый 03.01.2005, 05:14   #8
d_blacky
The God of Void
 
Регистрация: 05.03.2004
Сообщений: 217
По умолчанию RE: Вопрос про триггера в жабе

Цитата:
ну писал на коленке...
А ньюбы потом будут копировать и удивляться :)

Цитата:
ты не учитываешь что можно один раз забить все праймы-офф и забыть про это дело... опять же можно прикрутить к этому делу базу в файле, и сделать алиасы на добавление новых оружий...
я же пример написал, дорабатывать его можно довольно сильно.
А вообще правильный триггер на дизарм -- это сложная задача.
Вдруг у тебя 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
-- всем достать в хорошем битрейде и слушать до просветления.
d_blacky вне форума   Ответить с цитированием
Старый 03.01.2005, 12:28   #9
Ladon
Отличник форума
 
Регистрация: 06.03.2004
Сообщений: 505
По умолчанию RE: Вопрос про триггера в жабе

Правда выше приведенный триггер не дает гарантии когда мы имеем дело с кривыми объектами (не правильные падежи, не те альясы). + Самое смачное видеть фразу "Кто-то ловко выбил что-то из Ваших рук" -- тьма решает.


когда тьма тригер пофиг, всеравно взять не сможешь Ж)
Ladon вне форума   Ответить с цитированием
Старый 03.01.2005, 14:51   #10
d_blacky
The God of Void
 
Регистрация: 05.03.2004
Сообщений: 217
По умолчанию RE: Вопрос про триггера в жабе

Ага, как не совершенен наш мир
d_blacky вне форума   Ответить с цитированием
Старый 05.01.2005, 00:53   #11
doc
Новичок
 
Регистрация: 11.06.2004
Сообщений: 9
По умолчанию RE: Вопрос про триггера в жабе

Ну ..дец. Я все понимаю. И я не ньюб. Но ,господа, я задумываюсь о Вашем национальном происхождени , когда я прошу триг для жабы, а Вы мне говорите триг для ммс и обсуждаете его достоинства и недостатки((. А в итоге вывод я пользуюсь таким же тригом который написал Зубран+ хайлайт, но проблемы это не решает. В принципе все хорошо, но у меня dial up и поэтому проверка сразу двух условий дает лаг, + еще лаги бывают от умений допустим. И про то что я хотел увидеть здесь reg exp тоже как-то мимо прошло,правда Блэки предложил, но опять же для ммс
BR
doc вне форума   Ответить с цитированием
Старый 05.01.2005, 03:31   #12
Tirfa
Знакомый Мадера
 
Регистрация: 15.06.2004
Сообщений: 55
По умолчанию RE: Вопрос про триггера в жабе

Мдаа, топик про триггера в jmc а вы тут свой mmc пропагандируете
Doc а не пофигу ли тебе какой именно випон выбили? Лишняя строчка мешает? Нефик париться нуна хватать все пока моб не сделал это быстрее тебя ж)
__________________
Подпись к рисунку: "Жопа - вид спереди"
Tirfa вне форума   Ответить с цитированием
Старый 05.01.2005, 10:49   #13
saracen
Новичок
 
Регистрация: 14.11.2004
Сообщений: 33
По умолчанию RE: Вопрос про триггера в жабе

так.. к слову.. regexp он и в африке regexp вроде..
какая в ... разница какой клиент? Идею дали, че бы самому-то мозг не напрячь?

А то возникает желание написать чтонибудь из разряда: /action {выбил} {конец}

и кстати, этож какой триггер надо написать, чтобы проверка двух условий давала ощутимый лаг?
saracen вне форума   Ответить с цитированием
Старый 05.01.2005, 13:02   #14
Ележор
Летописец
 
Регистрация: 11.03.2004
Адрес: СПб
Сообщений: 679
По умолчанию RE: Вопрос про триггера в жабе

Народ, ну будьте вы проще, а? Вон Зубран второй же репликой дал, по-моему, самый надежный и быстрый триггер. И пофиг, что он всегда пытается оба оружия подобрать -- жалко вам, что ли? Еще добавить альясы на задание переменных для прайма и оффа и не забывать их обновлять при смене оружия. Все, проблема решена.
__________________
"Я во все дела сувался -- всесторонне развивался..."
Ележор вне форума   Ответить с цитированием
Старый 05.01.2005, 16:13   #15
Polud
Новичок
 
Регистрация: 23.09.2004
Адрес: Красноярск
Сообщений: 53
По умолчанию RE: Вопрос про триггера в жабе

Цитата:
Сообщение от Ележор
....
Еще добавить альясы на задание переменных для прайма и оффа и не забывать их обновлять при смене оружия. Все, проблема решена.
У меня, например, чтобы не забывалось, наиболее часто употребляемые сокращения команд сделаны алиасами %)

#al {дер}{#var off %0;держать %0}
#al {воо}{#var prime %0;вооруж %0}

$)
__________________
Твой эгоизм - это мерило искренности твоего желания быть самим собой. Прислушивайся к его советам внимательно. (с) Р.Бах
Polud вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 08:32.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot