Здравствуйте. Простите, что опять создаю тему. Стараюсь по пустякам вас не беспокоить, но каждая решенная проблема, как на зло, порождает следующую. =Т_Т= В инете все обшарил, такое ощущение, что я единственный создаю РПГ такого уровня на GM. Сейчас я начал создавать лут. Когда умирает враг, мы имеем возможность обыскать его труп. Но учитывая кол-во предметов в моей игре, мне необходима база данных, чтобы я не сошел с ума. То есть что-то вроде таблицы на которую можно будет ссылать GM. Допустим:
Подобное и с существами. Таблица необязательно должна быть такая же. Это все для наглядности. Можно ли как-то привязать какую-либо базу данных к GM? В каком формате? Как это сделать? С помощью какой программы? Надеюсь на любую помощь!!! =>_<=
если знакома библиотека 39dll , тогда советую использовать её для хранения в дата файле.
Например для однотипных предметов делаеш с помощью 39 длл записываеш в буфер : id - <два байта> имя строка spr_iron_sword (строку лучше сделать фиксированной длинны) - пусть будит 15 символов + 1 символ конец строки. параметр 1 - <байт> ... считаем сколько получилось байтов в блоке. сохраняем буфер в файл и всё , можно пользоваться.
Данные получаем так же - загружаем с помощью 39длл данные из файла в буфер. Например нужен предмет с id=8, тогда умножаем 8 на то количество байтов , которое мы посчитали в блоке. Сдвигаем позицию чтения буфера на это значение и также читаем : id - <два байта> имя строка 16 символов . параметр 1 - <байт> ...
39длл быстрей загружает данные из файла в буфер и обратно , чем ГМ и нет такого ограничение в размере массива , как в ГМ (можно сохранять хоть мегабайты данных и искать быстрей - простым сдвигом позиции записи/чтения ).
Лисенок , вот кусок кода для примера ... там реализовано сохранение данных двумерного массива (в ГМ датаструктура сетка) первый байт количество ячеек по ширене второй байт количество ячеек по высоте остальные - ячейки двумерного массива
Напиши на всякий случай, что это ссылка на школу dll. Вдруг замечание сделают. Да и тем более, я там уже был. Там вроде бы как для онлайн игр. Да и как-то все резко начинается. Скажи на твой взгляд, можно ли мне там начать учить dll? И будет ли толк в оффлайн рпг?
сайт посвящённый 39 длл ... помимо связи в онлай играх , 39длл может сохранять и загружать данные из файла в буфер , а для этой задачи это и нужно.
Если скорость и объём данных не так важен , можно гуглить примеры работа с "бинарными файлами". Ещё медленней будит переводить и сохранять датаструктуры в строки ds_list_write(id)/ds_list_read(id,str) и тп И ещё медленней будит работа с ini файлами.
Впринципе , для вашей игры наверняка подойдёт даже самый медленный способ
датаструктуры медленней в разы чем 39 длл и ограничение на размер массива (раньше было 32к элементов если не ошибаюсь)
В них легче разобраться чем в 39длл. А учитывая, что для предметов в рпг (это же не мультиплеер с просчетом характеристик сотни игроков из бд на лету) бд вовсе не нужна, тем более такая большая, то датаструктуры самый безболезненный вариант. Хотя спорить смысла нет, кому как удобнее.
Я вообще после того как разобрал датаструктуры без них теперь работать не могу. Мощная штука. Анбаннэд. Хэлоу эгин =)
Сообщение отредактировал Saladin - Четверг, 07 Июня 2012, 21:02