PDA

Просмотр полной версии : Еще раз о датапаке


mira
20.02.2012, 13:41
Народ паскажите как из датапака ява сборки извлеч инфу о нпс и итемах (тип итема, пасивки моба итд).
В отличии от скилов они не в xml а ваще бес пойми в чем. Чем можно извлеч инфу с минимумом епли? Ручной парсинг самый неидеальный вариант.

supernewbie
20.02.2012, 13:56
ваще бес пойми в чем
сысле, они же в MySQL таблицах

mira
20.02.2012, 14:32
Ну вот какуюнеть бы компоненту читать эту фигню. Как юзать скюль незнаю даже. Нада так чтоб загрузил файл какойнить компонентой и читаеш поля из таблитцы.
Ага щас скажите ставить какойнить дистрибутив с движком бд настрайвать его итд...

supernewbie
20.02.2012, 14:37
дык в делфи всё есть, TSQLConnection

mira
20.02.2012, 14:59
Ну ща. 3агуглим

Yegor
20.02.2012, 18:58
mira, надо единоразово выгрузить или постоянно юзать?

mira
21.02.2012, 09:32
mira, надо единоразово выгрузить или постоянно юзать?

считать данные в свою бд

Yegor
21.02.2012, 14:48
mira, а у тебя какой тип БД? Может тупо import сделать?

mira
21.02.2012, 16:04
Свой движок на подобии реестра виндовс. Вот и нужно сделать тулзу для импорта данных в нее.

Yegor
21.02.2012, 17:37
mira, вижу 2 варианта:

1: Установить MySql на ПК на котором будет происходить процесс. Залить туда базы сервера, обычно в сборке для этого есть батник, там все автоматизировано. Для Delphi установить компонент который умеет подключаться к БД MySql, я юзаю MyDAC 7.02. И делать выборки нужных данных с последующим занесением в свою БД.

2: Все данные в сборке сервера предназначенные для заливки в базу лежат в файлах c расширением sql. Там данные в соотвевии со стандартом MySql наподобии:

INSERT INTO `npc` (`ordinal`, `id`, `name`, `title`, `class`, `collision_radius`, `collision_height`, `level`, `sex`, `type`, `ai_type`, `attackrange`, `hp`, `base_hp_regen`, `mp`, `base_mp_regen`, `str`, `con`, `dex`, `int`, `wit`, `men`, `exp`, `sp`, `patk`, `pdef`, `matk`, `mdef`, `atkspd`, `aggro`, `matkspd`, `rhand`, `lhand`, `armor`, `walkspd`, `runspd`, `faction_id`, `faction_range`, `displayId`, `shield_defense_rate`, `shield_defense`, `corpse_time`, `base_rand_dam`, `base_critical`, `physical_hit_modify`, `base_reuse_delay`, `physical_avoid_modify`, `hit_time_factor`, `isDropHerbs`, `shots`, `map_flag`, `boss_flag`) VALUES
(1, 20001, 'Gremlin', '', 'gremlin', 10.00, 15.00, 1, 'male', 'L2Monster', 'Fighter', 40, 63, 1.500, 44, 0.900, 40, 43, 30, 21, 20, 20, 29, 2, 9, 44, 7, 35, 253, 0, 500, 0, 0, 0, 20, 50, '', 0, 0, 0, 0, 7, 30, 4, 4, 0, 0, 0.37, 'false', 'NONE', 0, 0),
....
Делаешь свой парсер этого файла и используешь данные. Но имхо это гемор.