Четверг, 14 Ноября 2024, 12:26

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
База данных РПГ
ЛисенокДата: Четверг, 07 Июня 2012, 18:36 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте. Простите, что опять создаю тему. Стараюсь по пустякам вас не беспокоить, но каждая решенная проблема, как на зло, порождает следующую. =Т_Т=
В инете все обшарил, такое ощущение, что я единственный создаю РПГ такого уровня на GM.
Сейчас я начал создавать лут. Когда умирает враг, мы имеем возможность обыскать его труп. Но учитывая кол-во предметов в моей игре, мне необходима база данных, чтобы я не сошел с ума.
То есть что-то вроде таблицы на которую можно будет ссылать GM.
Допустим:

1столбик 2столбик 3столбик
(Имя предмета) (Имя спрайта) (Свойства(Переменные))
Железный меч spr_iron_sword 1,20,0...(Урон и т.д...)

Подобное и с существами.
Таблица необязательно должна быть такая же. Это все для наглядности.
Можно ли как-то привязать какую-либо базу данных к GM? В каком формате? Как это сделать? С помощью какой программы? Надеюсь на любую помощь!!! =>_<=
SaladinДата: Четверг, 07 Июня 2012, 18:51 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Датаструктуры тебе в помощь. Справка по f1.

Анбаннэд. Хэлоу эгин =)
QvantДата: Четверг, 07 Июня 2012, 19:04 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
если знакома библиотека 39dll , тогда советую использовать её для хранения в дата файле.

Например для однотипных предметов делаеш с помощью 39 длл записываеш в буфер :
id - <два байта>
имя строка spr_iron_sword (строку лучше сделать фиксированной длинны) - пусть будит 15 символов + 1 символ конец строки.
параметр 1 - <байт>
...
считаем сколько получилось байтов в блоке.
сохраняем буфер в файл и всё , можно пользоваться.

Данные получаем так же - загружаем с помощью 39длл данные из файла в буфер.
Например нужен предмет с id=8, тогда умножаем 8 на то количество байтов , которое мы посчитали в блоке.
Сдвигаем позицию чтения буфера на это значение и также читаем :
id - <два байта>
имя строка 16 символов .
параметр 1 - <байт>
...

39длл быстрей загружает данные из файла в буфер и обратно , чем ГМ и нет такого ограничение в размере массива , как в ГМ (можно сохранять хоть мегабайты данных и искать быстрей - простым сдвигом позиции записи/чтения ).
QvantДата: Четверг, 07 Июня 2012, 19:06 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Quote (Saladin)
Датаструктуры тебе в помощь. Справка по f1.

датаструктуры медленней в разы чем 39 длл и ограничение на размер массива (раньше было 32к элементов если не ошибаюсь)
ЛисенокДата: Четверг, 07 Июня 2012, 19:09 | Сообщение # 5
был не раз
Сейчас нет на сайте
Qvant.
Ух... Сейчас постараюсь разобраться :3
QvantДата: Четверг, 07 Июня 2012, 19:18 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Лисенок , вот кусок кода для примера ... там реализовано сохранение данных двумерного массива (в ГМ датаструктура сетка)
первый байт количество ячеек по ширене
второй байт количество ячеек по высоте
остальные - ячейки двумерного массива



Сообщение отредактировал Qvant - Четверг, 07 Июня 2012, 19:18
ЛисенокДата: Четверг, 07 Июня 2012, 19:24 | Сообщение # 7
был не раз
Сейчас нет на сайте
Ммм... Не мог бы ты ссылку на учебник по 39dll дать? =^_^=
QvantДата: Четверг, 07 Июня 2012, 19:35 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
http://www.39dll.ru/
ЛисенокДата: Четверг, 07 Июня 2012, 19:39 | Сообщение # 9
был не раз
Сейчас нет на сайте
Напиши на всякий случай, что это ссылка на школу dll.
Вдруг замечание сделают. Да и тем более, я там уже был. Там вроде бы как для онлайн игр. Да и как-то все резко начинается.
Скажи на твой взгляд, можно ли мне там начать учить dll? И будет ли толк в оффлайн рпг?
QvantДата: Четверг, 07 Июня 2012, 19:55 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
сайт посвящённый 39 длл ... помимо связи в онлай играх , 39длл может сохранять и загружать данные из файла в буфер , а для этой задачи это и нужно.

Если скорость и объём данных не так важен , можно гуглить примеры работа с "бинарными файлами".
Ещё медленней будит переводить и сохранять датаструктуры в строки ds_list_write(id)/ds_list_read(id,str) и тп
И ещё медленней будит работа с ini файлами.

Впринципе , для вашей игры наверняка подойдёт даже самый медленный способ happy
SaladinДата: Четверг, 07 Июня 2012, 20:59 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Quote (Qvant)
датаструктуры медленней в разы чем 39 длл и ограничение на размер массива (раньше было 32к элементов если не ошибаюсь)

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

Я вообще после того как разобрал датаструктуры без них теперь работать не могу. Мощная штука.


Анбаннэд. Хэлоу эгин =)

Сообщение отредактировал Saladin - Четверг, 07 Июня 2012, 21:02
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг