@main / или как подружить кору с этим чатом [решено]
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
- Xmpe
- Бывалый
- Сообщения: 751
- Зарегистрирован: Вт ноя 14, 2006 10:12 pm
- Discord: Xmpe#6813
- Контактная информация:
viewtopic.php?p=23697#23697
вот так только в лог пишет
viewtopic.php?p=23750#23750
а вот так вот вобще никоим образом неработает
"+" я убирал, что с ними что без них - результат 0
з.ы. время на форуме +1 добавьте несовпадает с мск
вот так только в лог пишет
viewtopic.php?p=23750#23750
а вот так вот вобще никоим образом неработает
"+" я убирал, что с ними что без них - результат 0
з.ы. время на форуме +1 добавьте несовпадает с мск
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
* * *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);
Кроме того, почему превращается юникод (stripLanguageCode) только само сообщение, но не имя персонажа?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):
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Короче, я всё понял... Это лол.
Вот как выглядит строка фирменного чата, везде:
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")
Вот как выглядит строка фирменного чата, везде:
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 КБ) 693 просмотра