Nixy 8 Опубликовано 24 июля, 2018 (изменено) Всем привет. Добавил себе в клиент Interlude несколько сотен новых итемов, раскидал их по itemname.dat группами по ... от 30 до 100. Так вот те ID которые не выходят за 11000 стоят в группе 100 подряд и нормально читаются клиентом. А те что вышли за 11000 даже после разбития по 10-20 и разбросу в списке отображаются NoItemName. Какой максимальный ID может быть в itemname.dat чтобы название читалось нормально? И есть ли какой-нибудь проверенный способ уйти от этого NoItemName? Изменено 24 июля, 2018 пользователем Nixy Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 24 июля, 2018 Изходя из привычки и логики ява серверов можно предположить, что 2^16 (не просто так же решили именно ushort заюзать? :)), а вообще наверное стоить долждаться знатоков клиента и движка unreal, чтобы подсказали какой там тип данных используеться, или мб какието проверки Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
akoraun 2 Опубликовано 16 ноября, 2018 Та же проблема, только мне нужно добавить около 35000 новых итемов ... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
lvlkoo 190 Опубликовано 16 ноября, 2018 1 час назад, akoraun сказал: Та же проблема, только мне нужно добавить около 35000 новых итемов ... Ну и в чем проблема их добавить?) 35000 явно меньше чем 2^16 - 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 16 ноября, 2018 ну лимит в 11000 вобще не вписывается в ни одну из степеней двоек, так что скорее всего в парсерах есть к примеру доп. условие на максимальное значение. в хрониках выше вполне можно юзать и значения поболее - к примеру в хф я юзал ид со значениями 90000+ для нпс/предметов/скиллов, т.е. судя по всему уже юзаются 32-битные переменные для хранения ид. кстати в крусейде (или чуть раньше) в скиллах произошла так сказать деградация в этом плане, как минимум в парсере - там ид стали приводится к short, т.е. к 2^16 - достаточно долго пытался понять, почему у меня клиент дохнет с непонятной ошибкой при запуске, ругаясь на несуществующие объявления скиллов, пока не выяснил причину. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
isysyura 27 Опубликовано 17 ноября, 2018 Никакой проблемы с добавлением итемов 11000/12000 не заметил, ставил в самый конец списка. А вот с нпцнейм была подобная проблема, когда не в ту группу добавил. Так что следите за этим, они там не спроста так расположены. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
akoraun 2 Опубликовано 17 ноября, 2018 (изменено) Люди, спасибо за внимание. Уточню несколько вещей. На текущий момент ID последнего итема в работающей версии itemname-e.dat - 30000. Все остальное добавляется далее с номерами 30001, 30002 и так далее. У меня сгененировано и добавлено 5000 (no grade) новых вещей везде (сервер, клиент) кроме этого злосчастного itemname-e.dat. Когда я вставляю их целиком и запускаю клиент, он либо не запускается, либо критует. Но если вставить, допустим, 500, то работает. У меня планируется еще минимум по 5000 для каждого грейда. Поэтому, конечно, с горем пополам я могу попробовать их повставлять вручную группами по 500. Но хотелось бы автоматизировать процесс, как положено. Если всё же ничего не выйдет, все новые вещи будут "загадками" с именем "noitemname" , хотя жаль, ведь для каждой вещи у меня сгенерировано уникальное название и большое описание. Spoiler Spoiler Изменено 17 ноября, 2018 пользователем akoraun Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты