Русские названия в buy-sell

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Denton
Posts: 82
Joined: 2004-07-14 22:56:46
Location: Украина, Одесса
Contact:

Русские названия в buy-sell

Post by Denton »

Ввожу в buy\sell список названия вещей которые хочу продать или купить. Сохраняю конфигурацию. До перезапуска все работает хорошо. Перезапускаю инжу, а вместо русских надписей пустота, только пробелы видны если такие были в словах. Открываю вручную файл injection.xml смотрю список байлиста, там видно что предметы "думали сохраниться" но вместо русских названий:

Code: Select all

   <shoplist name="pants">
      <shopitem name="" want="-1"/>
      <shopitem name=" " want="-1"/>
   </shoplist>


Включил голову, попытался ввести тут вручную названия, при этом выключив инжу. Ввел, сохранил. Запускаю инжект, открываю байлист, а там вместо русских названий бред какой-то: "PїP*PєPuC"
С этим можно бороться? Версия 702.11 PaWn
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

руский там быть не может

Сервер у тебя RunUO, там процедура немного инная чем запись названий. Как покупать и продавать я тут писал... в поиск
Denton
Posts: 82
Joined: 2004-07-14 22:56:46
Location: Украина, Одесса
Contact:

Post by Denton »

Вычислил что 0x0E76 = 3702, подставил в xml

Code: Select all

   <shoplist name="pants">
      <shopitem name="1023702" want="-1"/>
   </shoplist>


В игре жму buy\sell открывается лист покупки-продажи инжектовский, там пишется all 1023702.
Подхожу к торговцу, жму продать, пишет что предмет 1023702 продан в количестве 0 шт.

P.S. На моем сервере эмулятор Пол97
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

как боротся с pol97 не знаю, ни разу не играл на таких

по ответу сервера похоже что там механизьм похожий на рунку или там рунка(так бывает, пол переделать может только тот у кого исходник... а эмулировать любой)

попробуй указать конкретное кол-во
Denton
Posts: 82
Joined: 2004-07-14 22:56:46
Location: Украина, Одесса
Contact:

Post by Denton »

Точное количество не работает тоже.

Тут получается что английские названия сохраняются нормально, при перезапуске все остается как и было, с вендорами можно работать если продаю\покупаю предмет не переведенный на рус. яз.
А вот с родным языком косяк :(
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

инжект использует файл libexpat.dll который по умолчанию русским не пользуется.
на днях гляну что можно сделать, если возможно без правок в самой инже обойтись, то поправлю.
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

посмотрел

править libexpat.dll очень не просто. Проще править сам инжект.
Однажды его уже правили, фильтр сообщений понимает русский.

так что увы
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

viewtopic.php?p=69667#69667
Исправленно
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

если не трудно покажи как сделал.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

"расширил" таблицу возможных символов, но расширять ASCII было лень по этому насильно указал, что файлы все xml файлы в ISO-8859-1 кодировке;) ну и функцию конвертирования сответственно взял от ASCII а так очень бредовая штуковина...
Там осталось еще в инже подкоректировать.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

в общем такая ситуация... isprint далек от знания русского алфавита...
проверяет рисуется ли символ по своей таблице. Надо патчить и лаунчер и сам инжект.

Code: Select all

.text:00409DA3
.text:00409DA3 loc_409DA3:                             ; CODE XREF: sub_409C80+6Dj
.text:00409DA3                                         ; sub_409C80+7Bj
.text:00409DA3                                         ; DATA XREF: ...
.text:00409DA3                 push    ecx             ; default
.text:00409DA3                                         ; jumptable 00409CFB cases 1-3,6-25
.text:00409DA4                 call    _isprint
.text:00409DA9                 add     esp, 4
.text:00409DAC                 test    eax, eax
.text:00409DAE                 jz      short loc_409E0C
.text:00409DB0                 mov     eax, [esp+30h+var_14]
.text:00409DB4                 mov     edx, [esp+30h+var_10]

собствено или нопится или перепрыгаиваем на 00409DB0 и вуля, это в лаунчере, тоже самое и в инжекте там точно тоже самое.
grundick
Posts: 258
Joined: 2006-11-25 17:44:44

Post by grundick »

О МАЙ ГАД :shock:
CuHTpoH
Posts: 287
Joined: 2007-11-01 19:09:30
Location: Moscow
Contact:

Post by CuHTpoH »

Oh my God, it's assembler ))
**Выставляем отступы в скриптах*** ©Destruction
Feel the Power of Dark Side
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

как догадался?
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

путь с расширением таблицы все равно бы уперся в iso. Я пытался как раз ее расширить и удалить iso код.. только видимо для меня это еще рано.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

не уперся бы он в исо, есть файл asciitab.h в нем лежит инфа о каждом символе, ее надо расширить до 256 значений и на допубет что бы парсер выбрал кодировка US-ASCII, имея исходники это не сложно, кодировку подставить можно в наглую в Createparser.
Denton
Posts: 82
Joined: 2004-07-14 22:56:46
Location: Украина, Одесса
Contact:

Post by Denton »

Заменил дллку expat.dll - не вышло, по прежнему русские названия становятся пустыми
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

а вот обманываешь...
вопервых если ты владелец версий 5** то тебе еще и libexpat подменять надо, это раз
во вторых... все зависет от локализаии инжекта, не в давался в подробности на пмомент компиляции или в момент загрузки создается таблица символов, от туда выползают характеристики оных... в плане печатается символ или нет... склонин считать что таблица заполняется в момент загрузки, самый простой способ ее отключить это убить isprint как показано выше как в лаунчере так и в инжекте...
Post Reply