ХЗ, в какой раздел запихнуть тему... Наверное, лучше сюда)

Вернул себе инет наконец - хочу свои программки выложить.

GRF Switcher написал еще полгода назад где-то для удобства добавления GRFшек к клиенту.

Тогда же примерно начал альтернативную базу для РО писать: достала МОТРевская своей неполнотой и кучей ошибок. Планирую мультисерверную, мультиязычную и максимально полную базу сделать, но пока пишу под МОТР и законченной ее назвать сложновато. Лагов хватает, некоторые алгоритмы тормозят, но уже можно потихоньку начинать пользоваться). Выкладываю сие творение в 2х версиях:
1) 50-метровый архив, со всем рисунками, которые я успел вытащить из клиента.
2) 600-килобайтный архив без крупных изображений (т.е. только иконки).

Сейчас бы главное еще заполнить ее - тогда понятнее будет и какие алгоритмы как лучше переделать, и внешне как изменить... Но в одиночку я это делать замучаюсь. Ищу добровольцев на помощь мне в этом деле=)

Основной вопрос при заполнении это, скорее всего, откуда брать данные... Думаю, в нашем случае лучший вариант это файлы клиента + обычная база МОТРа. Если б Спакум соизволил выложить куда-нибудь настройки нашего эмуля, я на онлайн-базу вообще забил бы - меньше глюков бы было... ну а так что делать? Эмуляторы разные (кстати, кто-нибудь знает хотя бы версию нашего?), да и настройки наверняка не по умолчанию у нас стоят...

Теперь по порядку:
1) Мобы. ID мобам даю по имени файла их спрайта, остальные данные беру из МОТРевской базы. База у нас и по мобам далека от идеала (как-то ходили на Баксоджин, и я, поверив базе, начал бить ее ветряными стрелами - не оценила), так что сомнительных мобов есть смысл проверять Sense'ом, у кого есть.
2) Лут. Все нужные данные, кроме цен, есть в клиенте. Оттуда все брать и советую: они куда ближе к истине, чем в нашей базе. И описания не будут терять формат.
3,4) Эка и карты. Тоже почти все данные в клиенте есть.
5) Наборы. Описания эффектов от любого сета в клиенте входит в описание одного из его компонентов. ID придумывать самим =) Только лучше все же не от балды, а чтоб потом нужный сет и по ID найти несложно было. Кардсеты, которые дают какие-то дополнительные плюшки определенному классу, я помечаю как cl_<класс>, остальные по "главной" карточке (в которой описание лежит). С названием примерно то же самое - обычно по главной карте даю либо по классу получателей "фишек". Так, например, набор мастеринга (Mastering + Poring) будет будет иметь ID mastering и название "Mastering Card Set", а арчерский набор идентифицироваться как cl_archer и называться "Archer Class Card Set".
6) Для навыков (кроме скиллов, которые могут юзать только мобы) все нужные данные опять же лежат в клиенте.
7) Локации. ID (= имя файла) и названия лежат в клиенте. Но названия, которые дали Графитевцы (или ХЗ, кто там дал) своим локациям, всех только сбивают, из-за чего в большинстве баз - включая нашу - карты указываются исключительно по ID. Эту проблемку, по-моему, лучше всего решил создатель PowerMaps - просто грамотным переименованием =) Я к этому переименованию решил добавить и ввод описания для локаций. Так, у меня мапа с ID tur_dun03 и названием "Good Turtles Village" получила имя "Turtle Island F3" и описание "Good Turtles Village". Размеры мап лежат в GAT-файлах со смещением в 6 байт. А вот с типом карты и варпами сложнее: в нашей базе все это не указывается, в клиенте данных тоже нету... так что в основном из других эмулей все брать и потом тестить... ну и тип можно указать просто по памяти).
8) Персонажи. ID тут, как и в сетах, сами придумываем, но, как обычно, не стоит забывать, что все это "самопридумывание" может быть как хорошим и удобным, так и дибильным абсолютно =) Я пока придумал так: ID каждой неписи начинается с сокращения локации, на которой она обитает, потом через прочерк имя неписи (порой тоже лучше сокращенно) либо, если она входит в состав стандартных (к примеру, Tool Dealer), ее тип. Если неписей одного типа на карте много, то после типа через прочерк нужно указать индекс - либо числовой (prt_weapon_3 - третий занесенный в базу Weapon Dealer в Пронте), либо буквой, обозначающей положение на местности (alb_kafra_n - серверная Кафра Альберты). Флажок "Торговец" во-первых обозначает, что данный персонаж может покупать у вас предметы, а во-вторых, что при покупке у него при прокачанном навыке возможна скидка. Координаты можно брать как из МОТРовской базы (если для этой неписи они там есть), так и просто скринить заодно со списком продаваемых вещей. Ну а о варпах и квестах можно узнать либо на форуме и в вики, либо опять же экспериментальным путем. Второй способ в случае варпов лучше тем, что позволяет узнать координаты "точки приземления".
9) Квесты. Тут вообще все сами придумываем. Стандартные квесты лучше называть по получаемым наградам.
10) Производство. То же самое. Единственное, в ID добавьте префикс, указывающий на тип этого производства; а для эрроу-крафтинга ID создавайте из сырья, а не продукта.

Для удобства вытаскивания данных из клиента я на днях написал небольшую утилитку - RO Client Data Viewer. Там, вроде, все просто и понятно... и даже особо непонятливым должно хватить файла "Readme" =)

Жду вашей помощи, критики (как по работе самой программы, так и по удобству вышеизложенных условностей и данных базы), замечаний и предложений, которые вы можете оставить на форуме, прислать мне на мыло (fallenphoenix@nm.ru), высказать при встрече в игре, ну или кто знает мою асю, может кинуть все это дело туда.

Если кто знает язык C#, вот исходники:
Ragnarok Darabase - Source
RO Client Data Viewer - Source