Собираем баги UTF-8 для разработчегов OpenKore

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

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
DInvalid
Грамотный
Сообщения: 368
Зарегистрирован: Вт ноя 14, 2006 4:54 pm

Сообщение DInvalid » Пн янв 22, 2007 10:42 pm

Antarx писал(а): но хотелось бы нормальное решение...)
1. Я затирал заменяя эти байты на 0х20 - пробелы - все работало.
2. "Единственное, что: вроде этот символ идёт первым в файле, потому если он по каким-либо причинам попадётся ещё раз - это будет нехорошо..."
этот символ означает "пробел с 0 длиной", то есть - отсутсвие пробела, если он встретится где-то в середине файла то удалить его будет только на пользу. Тем более что он не должен быть нигде кроме как в начале.
3."s/^\x{FEFF}//g;" и что? этот регэксп применяется к файлу построчно, и указанием символа начала - т.е. будет проверятся каждая строка. Нормально все и без этого.

К самому Коре это не относится, скорее к плагину. Так что надо или что бы автор плагина вставил, или самим.

2
Kolpak

А вы предпочитаете вместо исправления глюка править файлы - а то что он спотыкается на этой строчке - вам не важно? А потом ловить где нибуть глюки?

Аватара пользователя
DeniZka
Разработчик
Сообщения: 410
Зарегистрирован: Ср ноя 15, 2006 6:36 pm
Сервер RO:: rRO AsgardRO
Откуда: Mos-Cow Citadel
Контактная информация:

Сообщение DeniZka » Сб фев 03, 2007 10:18 pm

Вот у меня проблема.. когда вписываю комментированную строчку с русскими символами бот не запускается и
выводит следующий error.txt
OpenKore version 1.9.3
Loaded plugins:
plugins/alertsound.pl (alertsound)
plugins/doCommand.pl (doCommand)
plugins/macro.pl (macro)
plugins/patchConnect.pl (patchconnect)
plugins/ropp.pl (ppengine)

Error message:
Malformed UTF-8 character (fatal) at C:/Documents and Settings/DeniZka/Ðàáî÷èé ñòîë/Files/FINAL/193SVN5369/src/FileParsers.pm line 1052, <FILE> line 777.

Stack trace:
Malformed UTF-8 character (fatal) at C:/Documents and Settings/DeniZka/Ðàáî÷èé ñòîë/Files/FINAL/193SVN5369/src/FileParsers.pm line 1052
FileParsers::writeDataFileIntact('control/config.txt', 'HASH(0xdfe944)') called at C:/Documents and Settings/DeniZka/Ðàáî÷èé ñòîë/Files/FINAL/193SVN5369/src/Misc.pm line 321
Misc::saveConfigFile() called at C:/Documents and Settings/DeniZka/Ðàáî÷èé ñòîë/Files/FINAL/193SVN5369/src/Misc.pm line 282
Misc::configModify('macro_orphans', 'terminate') called at C:/Documents and Settings/DeniZka/Ðàáî÷èé ñòîë/Files/FINAL/193SVN5369/plugins/macro.pl line 151
macro::checkConfig called at C:/Documents and Settings/DeniZka/Ðàáî÷èé ñòîë/Files/FINAL/193SVN5369/plugins/macro.pl line 64
macro::onstart3('start3', 'undef', 'undef') called at C:/Documents and Settings/DeniZka/Ðàáî÷èé ñòîë/Files/FINAL/193SVN5369/src/Plugins.pm line 378
Plugins::callHook('start3') called at openkore.pl line 225
main::__start() called at start.pl line 127
Изображение
1t 1$ t00 900d d4y 2 d1e

?(???)?(???)?( ?Д?)?

Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse » Сб фев 03, 2007 10:48 pm

DeniZka
Сохрани файл в УТФ-8 И не парь мозг.

Аватара пользователя
DeniZka
Разработчик
Сообщения: 410
Зарегистрирован: Ср ноя 15, 2006 6:36 pm
Сервер RO:: rRO AsgardRO
Откуда: Mos-Cow Citadel
Контактная информация:

Сообщение DeniZka » Сб фев 03, 2007 11:39 pm

Ага.. только я для Ok-configa =)
Нашел-таки фунциклёвину, которая порешила мою проблему.
ща новый релиз выложу
Изображение
1t 1$ t00 900d d4y 2 d1e

?(???)?(???)?( ?Д?)?

knight13
Новичок
Сообщения: 8
Зарегистрирован: Пт фев 09, 2007 5:15 pm

Сообщение knight13 » Ср фев 14, 2007 12:11 am

А у меня в Коре версии 1.9.3 карта не открывается,только нажимаю -вылетает ошибка и коре слетает....

Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse » Ср фев 14, 2007 2:51 am

knight13
Где лог? еррор? и всё такое??? версия какова? у 1.9.3 есть целая куча билдов.

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

Сообщение piroJOKE » Ср фев 14, 2007 1:15 pm

Хм... Нашел что-то вроде бага. Конкретно не напишу, но часть отладночной инфы (debug N) выводится без перекодировки. Т.е., русских названий акторов понять не возможно.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download

Жданов
Новичок
Сообщения: 12
Зарегистрирован: Вс фев 18, 2007 12:52 am

Сообщение Жданов » Пт фев 23, 2007 8:43 pm

OpenKore version 1.9.3
Loaded plugins:
plugins/alertsound.pl (alertsound)
plugins/doCommand.pl (doCommand)
plugins/macro.pl (macro)
plugins/patchConnect.pl (patchconnect)
plugins/ropp.pl (ppengine)

Error message:
Malformed UTF-8 character (fatal) at C:/Program Files/Gravity/RagnarokOnline/Õàíòåð/193SVN5455/src/FileParsers.pm line 135, <FILE> line 19.

Stack trace:
Malformed UTF-8 character (fatal) at C:/Program Files/Gravity/RagnarokOnline/Õàíòåð/193SVN5455/src/Interface/Wx.pm line 139
Interface::Wx::mainLoop('Interface::Wx=HASH(0x265e6e4)') called at openkore.pl line 96
main::__start() called at start.pl line 127

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

Сообщение piroJOKE » Пт фев 23, 2007 8:51 pm

Жданов
И как это воспроизвести?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download

Жданов
Новичок
Сообщения: 12
Зарегистрирован: Вс фев 18, 2007 12:52 am

Сообщение Жданов » Пт фев 23, 2007 9:54 pm

Все, поправил, заковырка оказалась в файле чат_респ.

Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron » Пт мар 09, 2007 7:32 am

Ввиду того что, возникла потребность использования кириллицы в макросе.. заремил первую строку, сохранил в кодировке.. но Коре перестала работать..

OpenKore version 1.9.3
@ai_seq = macro
Loaded plugins:
plugins/alertsound.pl (alertsound)
plugins/doCommand.pl (doCommand)
plugins/macro.pl (macro)
plugins/patchConnect.pl (patchconnect)
plugins/ropp.pl (ppengine)

Error message:
Can't use an undefined value as a HASH reference at C:/aaaaa05/src/AI.pm line 550.

Stack trace:
Can't use an undefined value as a HASH reference at C:/aaaaa05/src/AI.pm line 550
AI::ai_route_getRoute('ARRAY(0x348e12c)', 'Field=HASH(0x2d3799c)', 'undef', 'HASH(0x341be24)', 'undef') called at C:/aaaaa05/src/AI.pm line 516
AI::ai_route('prt_church', 184, 37, 'attackOnRoute', 1, 'noSitAuto', 1, 'notifyUponArrival', 1, ...) called at C:/aaaaa05/src/Commands.pm line 2663
Commands::cmdMove('move', '184 37 prt_church') called at C:/aaaaa05/src/Commands.pm line 236
Commands::run('move 184 37 prt_church') called at plugins/Macro/Utilities.pm line 376
Macro::Utilities::processCmd('move 184 37 prt_church') called at plugins/Macro/Utilities.pm line 408
Macro::Utilities::callMacro() called at plugins/Macro/Automacro.pm line 513
Macro::Automacro::automacroCheck('log', 'ARRAY(0x2d38290)') called at plugins/Macro/Automacro.pm line 358
Macro::Automacro::consoleCheckWrapper('message', 'info', 0, 1, 'Requesting guild information...
', 'undef', 'Network::Receive::map_loaded', 'Network::Receive::parse') called at C:/aaaaa05/src/Log.pm line 253
Log::processMsg('message', 'Requesting guild information...
', 'info', 'undef', 1, 'HASH(0x11cda18)', 'HASH(0x11cdb38)') called at C:/aaaaa05/src/Log.pm line 275
Log::message('Requesting guild information...
', 'info') called at C:/aaaaa05/src/Network/Receive.pm line 3590
Network::Receive::map_loaded('Network::Receive::ServerType13=HASH(0x1e33824)', 'HASH(0x343ffc8)') called at C:/aaaaa05/src/Network/Receive.pm line 417
Network::Receive::parse('Network::Receive: :ServerType13=HASH(0x1e33824)', 's\x{0}\x{ab}\x{2}H\x{9}\x{19}\x{84}\x{f0 }\x{5}\x{5}') called at C:/aaaaa05/src/functions.pl line 1124
main::parseMsg('s\x{0}\x{ab}\x{2}H\x{9}\x{ 19}\x{84}\x{f0}\x{5}\x{5}\x{f}\x{1}N\x{0}\x{1}\x{0}\ x{0}\x{0}\x{0}\x{0}\x{9}\x{0}\x{0}\x{0}\x{1}\x{0}NV_BASIC \x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0 }\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{8e}\x{0}\x{4}\x{0}\x{0}\ x{0}\x{1}\x{0}\x{3}...') called at C:/aaaaa05/src/functions.pl line 506
main::mainLoop_initialized() called at C:/aaaaa05/src/functions.pl line 66
main::mainLoop() called at C:/aaaaa05/src/Interface.pm line 79
Interface::mainLoop('Interface::Console::Win32=HASH(0xc38260)') called at openkore.pl line 382
main::__start() called at start.pl line 127

Died at this line:
# So we find a nearby spot that is walkable.
* my %start = %{$r_start};
my %dest = %{$r_dest};



Подскажите, что делать? забыл сказать что выдает ошибку даже если нет ни одного символа кириллицы..
от РО до шестой палаты - один шаг...

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

Сообщение piroJOKE » Пт мар 09, 2007 11:35 am

Ну... попробовать принудительно сохранить в plain-text? Хотя ошибка... походу вовсе не в макросе.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download

Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron » Пт мар 09, 2007 12:39 pm

..понятно что не в макросе, стоило только сохранить его в UTF-8 как Коре перестал работать раньше, чем я что-то там успел по-русски написать.... раньше вроде нормально пахало (не помню в каком релизе, давно не тестил).. мне кажется в последней сборке *.pm что-то не то (начиная с AI.pm), но я нифига в этом не шарю... То есть, попробуй сохранить не пустой (пустой пашет) макрос.тхт в UTF-8 и запусти коре. блин, не знаю как прохождение квеста-профы разделить на условия.. там лог по-русски.. :(
от РО до шестой палаты - один шаг...

Antarx
Бывалый
Сообщения: 640
Зарегистрирован: Вс янв 07, 2007 5:56 am

Сообщение Antarx » Пт мар 09, 2007 1:38 pm

Sauron
как ни странно, у меня всё с последней версий бота и старыми конфигами вполне успешно работает (а там есть в том числе и UTF-8 макро.тхт)

Может, я и банальные вещи говорю, но попробуй установить кору с 0 и постепенно добавляй туда навороты из имеющегося, начиная, естественно, с macro.txt.

PS Закоммитте наконец этот фильтра кривых пробелов в макро-плагин!.. Разве это трудно?
Превосходство некоторых людей над окружающими одни считают несправедливостью, требующей уравнивания, другие - неполноценностью недовольных.
Выбор взгляда за Вами...
Изображение :)

Sauron
Грамотный
Сообщения: 435
Зарегистрирован: Ср ноя 29, 2006 3:24 pm

Сообщение Sauron » Пт мар 09, 2007 1:59 pm

Млиннннннннн.. :shock: с нуля - пашет.. вопрос снят...
от РО до шестой палаты - один шаг...

Ответить