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

МПМ Былины - Мир Древней Руси (https://www.bylins.su/vbb/index.php)
-   Клиенты для игры (https://www.bylins.su/vbb/forumdisplay.php?f=52)
-   -   MMC. Конфиг килника. (https://www.bylins.su/vbb/showthread.php?t=1030)

Avega 13.03.2005 15:29

RE: MMC. Конфиг килника.
 
у меня вопросики ...
под FreeBSD итдитп какой плейер можно юзать в ММС понятно (по вкусу) а под виндой ? какой лучше?
к сожалению в данном конфиге нет возможности вносить сохраняемые изменения вовремя игры =(
не подскажите как можно пользоваться переменной из поля var файла ini в других файлах?
допустим :
[alias]
{пар}={/if ($parir>0) {парир} {отраз}}
{офпарир}={/if ($parir>0) {/var parir 0} {/var parir 1}}
[variables]
parir 0
и вот первая проверка встречается часто =( а хотелось бы вынести ее в отдельный файл (CMD::cmd_parir {if (...) ...} но оставить переменную в ини-ф.

Шана[МЗ] 14.03.2005 12:48

RE: MMC. Конфиг килника.
 
Цитата:

Сообщение от Avega
к сожалению в данном конфиге нет возможности вносить сохраняемые изменения вовремя игры =(

Это скорее плюс чем минус.
очень часто приходиться ставить временные тригеры... Отключать же их потом намного сложнее чем просто перезапустить клиент.

Насчет сохранения изменений.
Обрати внимание на файл kcir (это главный файл конфига)
В самом низу после слова __DATA__
Я добавил себе то, чего в этом конфиге по моему мнению нехватает.
В этом месте можно написать все те надстройки которые ты хочешь используя начальные знания по ммс.
(мануал по ммс тут: http://mmc.mud.ru/mmc.txt)

В секцию [run] можешь дописать все те команды, которые ты вводил во время игры. Они будут выполнены при запуске клиента.

Avega 18.03.2005 15:31

RE: MMC. Конфиг килника.
 
2_Шана[м3]: я тут немного хочу переделать твой код в модуле гроуп

Common::screcho "$mgv_name реск ф".$mgv_number." рекол С-ф".$mgv_number." луук М-ф".$mgv_number;
пишет все правильно

а бинд проходит тока на последнего
не можешь подсказать почему и что надо исправить?

our $mgv_name = "-";
our $mgv_number = 0;

P::alias {
P::bindkey{MUD::sendl("спасти .".$mgv_name);} "f".$mgv_number;
} "автобиндреск";

P::trig {
return unless $group_spam;
my ($name,$health,$energy,$place,$mem,$aff,$who,$pos) = ($1,$2,$3,$4,$5,$6,$7,$8);
if ($name =~ /^Персонаж/)
{
$; = CL::parse_colors ( "Персонаж | N | Здоровье |Энергия|Рядом|Учить| Аффект | Кто | Положение");
}
else
{
my $shr = CL::unparse_colors $;;

$shr =~ /^(.{25})(.*)/;
$; = CL::parse_colors ("$1 \3J$group_number \3H|$2");
$group{$group_number++} = $name;

$mgv_name = $name;
$mgv_number = $group_number;
Common::screcho "$mgv_name реск ф".$mgv_number." рекол С-ф".$mgv_number." луук М-ф".$mgv_number;
Common::parser "автобиндреск $mgv_name $mgv_number";
Common::parser "автобиндрекол $mgv_name $mgv_number";
Common::parser "автобиндлук $mgv_name $mgv_number";
}
for (keys %group)
{
$group{$_} =~ s/\s//g;
}
} '^([^ ]+)(\s+)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\ |(.*)';

Митька 18.03.2005 17:44

RE: MMC. Конфиг килника.
 
попробуй так, не проверял.
вот это удаляем
---- BEGIN CUT -----
P::alias {
P::bindkey{MUD::sendl("спасти .".$mgv_name);} "f".$mgv_number;
} "автореск";
---- END CUT -----

# После строчек

$mgv_name = $name;
$mgv_number = $group_number;

# добавляем

P::bindkey{MUD::sendl("спасти .".$mgv_name);} "f".$mgv_number;

тестим :)

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

A1D(Мурат) 18.03.2005 23:16

RE: MMC. Конфиг килника.
 
Конфиги в ммц это чит) запретить бы их по хорошему, так же как например и отключение текстур в контрстрайке )

Шана[МЗ] 24.03.2005 01:09

RE: MMC. Конфиг килника.
 
Цитата:

Сообщение от Avega
2_Шана[м3]: я тут немного хочу переделать твой код в модуле гроуп

Насколько я понял, ты хочешь повесить на f1..f12 рески на каждого из членов группы.
Я бы на твоём месте не правил исходные модули (конфиг постоянно обновляеться, и при желании всегда можно скачать более новую версию)
А создал бы свой модуль Avega.pm (который можно будет подключить к любой следующей версии)

Для решения этой задачи я бы написал в модуле следующие:
P::bindkey {
Common::eparser "спасти $Group::group{0}";
} "f1";
P::bindkey {
Common::eparser "спасти $Group::group{1}";
} "f2";
...............
P::bindkey {
Common::eparser "спасти $Group::group{11}";
} "f12";

И также для лука и рекола.

d_blacky 24.03.2005 05:01

RE: MMC. Конфиг килника.
 
Не читал что здесь было написано, но мое внимание привлек кусок кода:
Код:

P::bindkey {
Common::eparser "спасти $Group::group{0}";
} "f1";

После чего немного просмотрел все-таки что было написано выше...

Очень интересный подход - вместо одномерного массива - хеш с индексами 1..12.
+ следующий код:
Код:

for (keys %group)
{
$group{$_} =~ s/\s//g;
}

будет работать медленнее чем аналогичный в foreach.
Да и убирать пробелы спомощью s///g мда...

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

} '^([^ ]+)(\s+)блаблабла
на
Код:

} '^(\w+?)\s+?блаблабла
Хотя вроде регекс "1 и более не пробельный символ" - должен получить просто имя *дум зачем там вообще цикл удаляющий пробелы в именах членов группы?

Код:

} '^([^ ]+)(\s+)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\ |(.*)';
my ($name,$health,$energy,$place,$mem,$aff,$who,$pos) = ($1,$2,$3,$4,$5,$6,$7,$8);

то получается что "$health" состоит исключительно из пробелов ?
Правда дальнейшее использование этой кучи локальных переменных я так и не увидел.

Шана[МЗ] 24.03.2005 19:38

RE: MMC. Конфиг килника.
 
Напомню, что я не являюсь автором конфига. Также следует учесть, что обсуждаемая здесь версия являеться "виндоз" версией, которая была получена грубым обрезанием *никс версии. Никс версию можно взять на kilnik.bk.ru

2 d_blacky: Конфиг опенсорц, если чтото не нравиться меняй и используй.
Я оценил что ты знаешь перл, но ничего существенного в твоих замечаниях не нашел.

Mixaz 25.03.2005 00:02

RE: MMC. Конфиг килника.
 
Цитата:

Сообщение от Шана[МЗ]
Также Никс версию можно взять на kilnik.bk.ru

Ошибка DNS
Сервер не отвечает или не существует.
гм...

Шана[МЗ] 25.03.2005 23:00

RE: MMC. Конфиг килника.
 
Цитата:

Сообщение от Mixaz
Ошибка DNS
Сервер не отвечает или не существует.
гм...

облажался, пардон :)
http://kilnik.nm.ru

webus 09.04.2005 00:02

RE: MMC. Конфиг килника.
 
Видимо для написания скриптов нужен не плохой уровень знаний в перл.
Подскажите книги по перлу или jscript с самого нуля. Заранее спасибо.

зы а с чего лучше начать jmc или mmc???

Master 09.04.2005 21:11

RE: MMC. Конфиг килника.
 
Начинать лучьше с jmc, раз perl и jscript тебе незнакомы.
ну, или со zMud, просто жаба не такая навороченная, легче разобраться.

Шана[МЗ] 10.04.2005 17:44

RE: MMC. Конфиг килника.
 
Я год играл под ммс, не используя перла.
Выбрал его просто потому что этот клиент есть под никс (у нас в универе юникс залы с инетом).
В хелпе на сайте ммс (http://mmc.mud.ru/mmc.txt) нет ни слова про перл. Именно на этом хелпе писались первые конфиги

Master 10.04.2005 21:24

RE: MMC. Конфиг килника.
 
Ну каюсь, перебрал. Можно и без перла, конечно, но начинать с mmc все же трудновато.

Avega 11.04.2005 12:04

RE: MMC. Конфиг килника.
 
Цитата:

Сообщение от webus
Видимо для написания скриптов нужен не плохой уровень знаний в перл.
Подскажите книги по перлу или jscript с самого нуля. Заранее спасибо.

зы а с чего лучше начать jmc или mmc???

про jscript не скажу а перл для начинающих : http://moshkow.pstu.ru/PERL/russperl5/perl.txt


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

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