Страница 3 из 3

Добавлено: Чт май 03, 2007 11:30 pm
piroJOKE
Я шо то не понял, как это соотноситься с предыдущим постом, выше, viewtopic.php?p=23755#23755 ?

Добавлено: Пт май 04, 2007 1:04 am
Xmpe
viewtopic.php?p=23697#23697
вот так только в лог пишет

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

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

з.ы. время на форуме +1 добавьте :oops: несовпадает с мск

Добавлено: Пт май 04, 2007 12:05 pm
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) только само сообщение, но не имя персонажа?

Добавлено: Пт май 04, 2007 3:40 pm
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")