МПМ Былины - Мир Древней Руси

МПМ Былины - Мир Древней Руси (https://www.bylins.su/vbb/index.php)
-   Вопросы ньюбов (https://www.bylins.su/vbb/forumdisplay.php?f=2)
-   -   Вопрос про триггера в жабе (https://www.bylins.su/vbb/showthread.php?t=883)

doc 31.12.2004 18:44

Вопрос про триггера в жабе
 
Хотелось бы спросить следующее
У меня в жабе есть переменные
$weap - прайм
$weapoff - офф
Как грамотно написать триггер чтобы при дизарме оффа выполнялось поднятие с земли и взятие оффа, при дизарме прайма - аналогично для прайма
ПРи этом значения данных переменных -1 слово, например топор или нож
а при дизарме приходит строка "выбил тяжелый боевой топор из Ваших рук"
Помогите плз.
Best Regards

Зубран 31.12.2004 18:54

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

Где $praim - прайм, а $off - офф.

Ladon 02.01.2005 13:22

грамотный триг для ммс Ж)
 
вставляешь в ммс.ини
#хеш массив задающий падежи праймов
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';

ну и для оффа почти аналогично.

nigga 02.01.2005 15:58

RE: Вопрос про триггера в жабе
 
ммц такой ужас =(

doc 02.01.2005 18:23

RE: Вопрос про триггера в жабе
 
Цитата:

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

Где $praim - прайм, а $off - офф.

Триг хороший и у меня прописан такой же но мне не нравится что проверяется оба оружия а надо чтобы только то которое сдизармили
Хотел на самом деле увидеть ретелл на мой вопрос с использованием
регулярных выражений (regexp)

d_blacky 02.01.2005 18:31

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

p.p.s. свои конфиги к чарам я не рассылаю -- просьба не спамить. (а то когда смотришь на то, как копируются кусочки из чьих-то конфигов и из этого пытаются склеить что-то дельное приходишь в ужас :).

Ladon 02.01.2005 21:11

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

[quote=d_blacky]
2. да и комплект тригов вышел "одноразовый" (типа сменил ножички - и придется лезть в *.ini менять названия переменных). (на худой конец выводилась бы мессага, в случае если в хеше %weap не найден ключ $item)
[quote]


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

d_blacky 03.01.2005 05:14

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
-- всем достать в хорошем битрейде и слушать до просветления.

Ladon 03.01.2005 12:28

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


когда тьма тригер пофиг, всеравно взять не сможешь Ж)

d_blacky 03.01.2005 14:51

RE: Вопрос про триггера в жабе
 
Ага, как не совершенен наш мир :(

doc 05.01.2005 00:53

RE: Вопрос про триггера в жабе
 
Ну ..дец. Я все понимаю. И я не ньюб. Но ,господа, я задумываюсь о Вашем национальном происхождени , когда я прошу триг для жабы, а Вы мне говорите триг для ммс и обсуждаете его достоинства и недостатки((. А в итоге вывод я пользуюсь таким же тригом который написал Зубран+ хайлайт, но проблемы это не решает. В принципе все хорошо, но у меня dial up и поэтому проверка сразу двух условий дает лаг, + еще лаги бывают от умений допустим. И про то что я хотел увидеть здесь reg exp тоже как-то мимо прошло,правда Блэки предложил, но опять же для ммс
BR

Tirfa 05.01.2005 03:31

RE: Вопрос про триггера в жабе
 
Мдаа, топик про триггера в jmc а вы тут свой mmc пропагандируете ;)
Doc а не пофигу ли тебе какой именно випон выбили? Лишняя строчка мешает? Нефик париться нуна хватать все пока моб не сделал это быстрее тебя ж)

saracen 05.01.2005 10:49

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

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

и кстати, этож какой триггер надо написать, чтобы проверка двух условий давала ощутимый лаг?

Ележор 05.01.2005 13:02

RE: Вопрос про триггера в жабе
 
Народ, ну будьте вы проще, а? :) Вон Зубран второй же репликой дал, по-моему, самый надежный и быстрый триггер. И пофиг, что он всегда пытается оба оружия подобрать -- жалко вам, что ли? Еще добавить альясы на задание переменных для прайма и оффа и не забывать их обновлять при смене оружия. Все, проблема решена.

Polud 05.01.2005 16:13

RE: Вопрос про триггера в жабе
 
Цитата:

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

У меня, например, чтобы не забывалось, наиболее часто употребляемые сокращения команд сделаны алиасами %)

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

$)

Никомир 05.01.2005 18:42

RE: Вопрос про триггера в жабе
 
Цитата:

Сообщение от doc
+ еще лаги бывают от умений допустим.

Хочу триггер али алиас на хил игнорящий лаги от умений :) Баша оглуша молота там... И желательно холда! :)

Типа сбашили тебя, 2 раунда в лаге не лежишь а сразу встаешь и гх.

А то ~ лаг не убирает... только буфер того, что после лага случится чистит..

Ladon 05.01.2005 22:50

RE: Вопрос про триггера в жабе
 
Цитата:

Сообщение от Никомир
Хочу триггер али алиас на хил игнорящий лаги от умений :) Баша оглуша молота там... И желательно холда! :)

Типа сбашили тебя, 2 раунда в лаге не лежишь а сразу встаешь и гх.

А то ~ лаг не убирает... только буфер того, что после лага случится чистит..


а, ну это просто, надо всего то стать 31м левелом ж)
тогда можно и молотить каждый раунд, или гневать скока влезет...

Зубран 06.01.2005 14:10

RE: Вопрос про триггера в жабе
 
Я всю жизнь с диал-апа играю, и никогда на связь не жаловался:). И уж лишнего лага от посылки 4 строк вместо 2 не будет, это точно. Хотя иногда надежней чтоб кто-нить стоял рядом, подбирал твой ствол и давал его тебе, пока это не сделал моб:). А то иначе прохождение япы или кащи на двоих превращается в интересную игру моб дизармит тебя-подбирает ствол-ты дизармиш его-подбираеш ствол :).

doc 07.01.2005 00:18

RE: Вопрос про триггера в жабе
 
Цитата:

Сообщение от Зубран
Я всю жизнь с диал-апа играю, и никогда на связь не жаловался:). И уж лишнего лага от посылки 4 строк вместо 2 не будет, это точно.

ТОже всегда игрраю диалапом но почему-то ,несмотря на то что стоит такой же триг как у тебя подбирает либо, допустим, Дивинт у которого триги на подбирание чужого оружия и давания его владельцу, либо моб-
я подбираю лишь в случае, если не трогает моб. Вот я и поставил задачу послыать 2 строки а не 4. Регеспы писал но получается лажа - строка всегда соответвует шаблону :( ну для сранения у меня на мопеде пинг 100-800( в среднем 200, мопеды они тоже разные)

Дивинт 07.01.2005 07:48

RE: Вопрос про триггера в жабе
 
Цитата:

Сообщение от doc
ТОже всегда игрраю диалапом но почему-то ,несмотря на то что стоит такой же триг как у тебя подбирает либо, допустим, Дивинт у которого триги на подбирание чужого оружия и давания его владельцу, либо моб-
я подбираю лишь в случае, если не трогает моб. Вот я и поставил задачу послыать 2 строки а не 4. Регеспы писал но получается лажа - строка всегда соответвует шаблону :( ну для сранения у меня на мопеде пинг 100-800( в среднем 200, мопеды они тоже разные)

моб подбирает быстрее тебя, потому что ты в лаге после успешно применненного умения, а моб нет. я успеваю отдать оружие владельцу, потому что я не в лаге у меня просто стоит триггер, который автоматом биндит клавишу на подбор дизармленных випонов и возвращение их хозяину, а уж нажимать или не нажимать кнопку решать мне )

judge 07.01.2005 08:07

2doc
 
doc, ты не прав насчет модема, 4 строчки если даже и пройдут с задержкой, все равно их будет обрабатывать сервер после лага от дизарма, а пока длится лаг, ты сможешь строчек 10 послать точно...


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

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