• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Справочник вещей в Готике...

siryksv

Участник форума
Регистрация
5 Окт 2009
Сообщения
567
Благодарности
1
Баллы
225
Представляю мини справочник (мини БД) для хранения информации об игровых предметах. Программа может быть использована в различных целях, и для различных игр, не только Готики. Пока я начал собирать в один скрипт коды на вещи из Готики Возвращения (собрал небольшую часть, понадобилась бы помощь - см. ниже).

Для представления иерархической древовидной структуры разработан примитивный скриптовый язык.

Правила грамматики языка даются ниже (кто разбирается в синтаксическом разборе и построении компиляторов, тот сразу поймет суть дела ;)):

Примечания:
1) В фигурные скобки {...} заключается часть правила, которая может повторяться сколько угодно раз, в т.ч. и ни одного раза;
2) В квадратные скобки [...] заключается необязательная часть, которая может быть, а может и отсутствовать;
3) Str_Const - это обозначение для произвольной строковой константы, которая обрамляется одинарными кавычками (как в Паскале)
4) Id - это обозначение для идентификатора (в нас это имена переменных, которые соответствуют узлам дерева).
5) Ключевые слова выделены прописью;
6) Нетерминалы заключаются в угловые скобки <...>
7) Символ "::=" служит для отделения правой части правила от левой (т.е. имени нетерминала).
Код:
<старт>::=[<операторы_управления_формой>]BEGIN[<операторы_описаний>]END

<операторы_управления_формой>::=<оператор_управления>{;<оператор_управления>}

<оператор_управления>::=<captionform>

<captionform>::=CAPTIONFORM=Str_Const

<операторы_описаний>::=<оператор_описаний>{;<оператор_описаний>}

<оператор_описаний>::=<addnode>|<addthing>

<addnode>::= Id=ADDNODE (<parent_node>, Str_Const)

<parent_node>::= Id | NIL

<addthing>::=ADDTHING(Id, Str_Const, Str_Const, Str_Const, Str_Const)

Из операторов управления формой пока я ввел только captionform, который устанавливает заголовок программы. Остальные еще не придумал, какие бы ввести.

Есть два оператора описаний: ADDNODE для описания узла дерева, и ADDTHING для описания вещи.

Оператор ADDNODE:
Код:
имя_узла=ADDNODE(узел_предок, 'название узла')
Если надо добавить в корень, то узел_предок=nil

Оператор ADDTHING:
Код:
имя_узла=ADDTHING(переменная_корневого_узела, 'название узла дерева', 'название вещи', 'относительный путь к файлу описания', 'относительный путь к файлу изображения')

Список зарезервированных ключевых слов, которые не следует использовать в качестве имен идентификаторов:
Код:
captionform,
addnode,
addthing,
begin,
end,
nil

Пример простейшего скрипта:
Код:
captionform='Имя формы';
begin
t=addnode(nil,'Уровень 1');
t1=addnode(t,'Уровень 2');
t2=addnode(t,'Уровень 2');
t3=addnode(t1,'Уровень 3');
addthing(t,'111','вещь','','');
addthing(t1,'222','','','');
addthing(t1,'333','','','');
addthing(t2,'444','','','');
addthing(t3,'555','','','');
end
В результате получится дерево на скрине.
attachment.php


Четвертым и пятым параметрами оператора ADDTHING являются пути к файлам относительно каталога программы.

Пока я программу сделал исходя из того, чтобы удобно организовать базу кодов вещей в Готике. Но можно сделать БД путевых точек, или расположение всех растений, или что-то еще. Конечно, можно добавить другие функции в синтаксис, или сделать так, что функция addthing имела не пять параметров, а значительно больше. В дальнейшем, если на что-то это понадобится, я расширю синтаксис скриптов.

Я начал собирать в один скриптовый файл коды на вещи в Возвращении.
Пока вписал только часть рун (и потратил на это минут 20). Инфу по рунам брал отсюда: http://returning.worldofgothic.ru/item/obzor-run-vozvraschenija (слышал, что там есть ошибки в кодах. Не знаю, сам пока не проверял). Мне бы понадобилась помощь людей, которые могли бы составить подробные описания (просто в текстовых файлах) параметров/характеристик рун, оружия и обмундирования. Также нужны изображения самих вещей. Еще был бы очень рад людям, которые могли бы писать все это прямо в скриптах (хотя этого я не требую от желающих помочь, готовые описания в скрипты я и сам переведу).Всем людям, которые существенно помогут в продвижении названных выше вещей, обещаю место под Сонцем в субтитрах программы;)*flowers*.

То что у меня вышло, показано на скрине. В свободное время добавлю еще. Скрипты хранятся в файлах *.tmdb. Чтобы открыть файл, надо меню Файл->Открыть файл описаний.
Во вложениях находится архив TMDB.rar с программой (немного сжал UPX-ом), и скрипт G2R.tmdb для Возвращения. В подкаталоге Data находятся файлы описаний (это текстовые файлы) и пара картинок. Собственно, помощники мне нужны для того, чтобы составить подробные описания и собрать коллекцию картинок. Картинки очень желательно делать JPG, и маленького размера. Со временем, постараюсь выложить и исходники (а сейчас от них толку практически никакого, ибо всякий ступивший туда, быстро заблудится ;)).

attachment.php
 

Вложения

  • Пример_простого_скрипта.JPG
    Пример_простого_скрипта.JPG
    5,6 KB · Просмотры: 1.447
  • Безымянный.jpg
    Безымянный.jpg
    272 KB · Просмотры: 1.503
  • TMDB.rar
    319,2 KB · Просмотры: 306
Сверху Снизу