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

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

dut 19.12.2005 13:04

сохранение цвета при сабсте
 
Привет.
На одном мад-сервере есть возможность хранить пклист и делать подсветку на стороне сервера(т.е тебе автоматически приходят посвеченные имена врагов)

Сделал такой сабст в MMC:
Код:

#subst("^(.*) при(шел|летел|шла|летела|бежал|бежала|полз|ползла)? (.*)." , "\$1 &M---=== при\$2 ===----&x \$3.");
Но у меня возникла проблема. Допустим Вася добавлен в сдр(т.е это имя всегда приходит зеленного цвета).
Но когда я делаю сабст, то слово Вася -- обесцвечивается. Т.е имя становится не зеленым, а обычным серым цветом.

Можно ли как-то сделать чтоб цвет сохранлся тот, который был до сабста?

d_blacky 19.12.2005 13:46

Re: сохранение цвета при сабсте
 
Можно 3 способами.
1. колдовство с CL::unparse_colors, CL::strip_colors, CL::parse_colors
2. MUD::Add_trigger() -- там добавляешь сабст "имя чара" и "\&цвет<строка>" -- но это по уродски.
3. Посмотреть исходный код mmc и посмотреть по какому принципу делается 2-ой вариант и делать не по уродски.

В виду лени на 3ий пункт, сам пользуюсь 1ым способом.

judge 19.12.2005 15:57

Re: сохранение цвета при сабсте
 
Так, вопросик созрел, как вообще делать сабсты в MMC не с помощью встроенного API, а на перле?

Ladon 19.12.2005 17:01

Re: сохранение цвета при сабсте
 
trig {
my $who=$1;
my $how=$2;
my $from=$3;

if (defined($pkl{$who})) {echo ("!!!!!!!!!!!! ПК В ГОРОДЕ !!!!!!!!!!!!");$target=$who};

$: = "\-\-\-\-$who\-\-\-\- при$how $from\."
} '^(.*) при(.*?) (c юга|с севера|с запада|с востока|снизу|сверху)\.', "1000nf:noColor";

dut 19.12.2005 18:05

Re: сохранение цвета при сабсте
 
и что, у тебя этот триггер работает с сохранением цвета? У меня почему-то нет.

Вот как я делал:
Код:

trig
{
  $: = "$1 \3M---=== при$2 ===----\3x $3.";
} "^(.*) при(шел|летел|шла|летела|бежал|бежала|полз|ползла)? (.*).", "1000nf:noColor";

У меня работает он аналогично тому примеру с subst(см первый мой пост)

Раххаль 19.12.2005 23:35

Re: сохранение цвета при сабсте
 
Еще есть мысль обратить пристальное внимание на приоритеты триггеров, ими стоит пользоваться, вдумчиво.

dut 20.12.2005 17:25

Re: сохранение цвета при сабсте
 
MMC -- это клиент в котором можно все! Но все это через жопу.

Шана[МЗ] 20.12.2005 22:04

Re: сохранение цвета при сабсте
 
Если руки из жопы, тогда полюбому через неё родимую :D

Sir 21.12.2005 19:42

Re: сохранение цвета при сабсте
 
Код:

trig {
  $: = CL::unparse_colors(substr($;, 0, 2*length($1)))." \003M---=== при$2 ===----\003H $3";
} '^(\w+) при(шел|летел|шла|летела|бежал|бежала|полз|ползла) (.*)', "n:PK";


dut 25.12.2005 23:37

Re: сохранение цвета при сабсте
 
ого! Ахтунг какой!
Спасибо большое!

Urik 26.12.2005 02:27

Re: сохранение цвета при сабсте
 
песать!


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

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