@main / или как подружить кору с этим чатом [решено]

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

Модератор: 4epT

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Я шо то не понял, как это соотноситься с предыдущим постом, выше, viewtopic.php?p=23755#23755 ?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
Xmpe
Бывалый
Сообщения: 751
Зарегистрирован: Вт ноя 14, 2006 10:12 pm
Discord: Xmpe#6813
Контактная информация:

Сообщение Xmpe »

viewtopic.php?p=23697#23697
вот так только в лог пишет

viewtopic.php?p=23750#23750
а вот так вот вобще никоим образом неработает

"+" я убирал, что с ними что без них - результат 0

з.ы. время на форуме +1 добавьте :oops: несовпадает с мск
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

piroJOKE писал(а):Я не уверен, но по-моему проблема где-то здесь:
($chatMsgUser, $chatMsg) = $message =~ /(.*?) : (.*)/;
Походу, текст сообщения попадает куда-то "не туда". (--ошибачки стерты--)
* * *

Итак...

Подход №1:
(- стертно, ненаглядно патамушта, см. №3 - )

* * *

Подход №2: (предварительное решение здесь)

Код: Выделить всё

sub public_chat {
	my ($self, $args) = @_;
	# Type: String
	my $message = bytesToString($args->{message});
	my ($chatMsgUser, $chatMsg); # Type: String

	($chatMsgUser, $chatMsg) = $message =~ /(.*?) : (.*)/;
	$chatMsgUser =~ s/ $//;
+	$chatMsg=$message;
	#visualDump($message); 
	stripLanguageCode(\$chatMsg);
c @main on
Main chat has been activated.
c @main hello?
[dist=unknown] (@main): Main@VASILIY: hello?
Резюме: ПАМАГИТЕ ХТОТА С РЫГЕКСПАМИ!
Блин, а это откуда взялось? "[dist=unknown] (@main): Main@VASILIY: hello?" - не могу воспроизвести это второй раз.

* * *

Подход №3 - визуализация проблемы в полный рост:

Код: Выделить всё

sub public_chat {
	my ($self, $args) = @_;
	# Type: String
	my $message = bytesToString($args->{message});
	my ($chatMsgUser, $chatMsg); # Type: String

	($chatMsgUser, $chatMsg) = $message =~ /(.*?) : (.*)/;
	$chatMsgUser =~ s/ $//;
+	#$chatMsg=$message;
+	error("#1\n"); visualDump($message);
+	error("#2\n"); visualDump($chatMsgUser);
+	error("#3\n"); visualDump($chatMsg);
	stripLanguageCode(\$chatMsg);
c @main on
Main chat has been activated.
c @main hi?
#1
================================================
May 4 12:30:15 2007

17 bytes

0> 4D 61 69 6E 40 56 41 53 49 4C 49 59 3A 20 68 69 Main@VASILIY. hi
16> 3F .
#2
================================================
May 4 12:30:15 2007

0 bytes

#3
================================================
May 4 12:30:15 2007

0 bytes

[dist=unknown] (@main):
Кроме того, почему превращается юникод (stripLanguageCode) только само сообщение, но не имя персонажа?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Короче, я всё понял... Это лол.

Вот как выглядит строка фирменного чата, везде:
VASILIY : hello!

А вот как это же выглядит у этих фукед эмуляторщиков в @main:
VASILIY: hello!

Вот что нужно сделать, чтобы это всё заработало, убрать пробел(ы):
((\src\Network\Receive.pm, sub public_chat)

- ($chatMsgUser, $chatMsg) = $message =~ /(.*?) : (.*)/;
+ ($chatMsgUser, $chatMsg) = $message =~ /(.*?):(.*)/;
+ $chatMsg =~ s/^ //;

То же самое в алертСаунде, потому что он сам разбирает пакеты, не пользуясь хуками Kore.

PS: Еще раз, http://forums.openkore.com/viewtopic.php?t=28736 ("@main chat")
Вложения
вот как выглядят отдельные переменные после этого фикса
вот как выглядят отдельные переменные после этого фикса
main_chat.png (1.89 КБ) 669 просмотров
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Ответить