AERIE Team

Все об играх серии Baldur's Gate
Текущее время: 22 авг 2017, 00:46

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Тонкости синтаксиса BAF, D и TP2
СообщениеДобавлено: 09 мар 2009, 01:21 
Не в сети

Зарегистрирован: 04 мар 2009, 18:22
Сообщения: 32
Преамбула

Стал я разбираться, как писать моды. Попутно решил добавить в свой любимый редактор подсветку синтаксиса всех необходимых скриптов (я по этому поводу человек избалованный: без нормальной подсветки не пишу. Соответственно — изучение любого нового языка обычно именно с этого и начинается. Очень помогает, кстати). А для подсветки в этом редакторе используется такая вещь, как colorer. Библиотека очень мощная, позволяет разобрать и обработать самые малейшие детали этого самого синтаксиса. И вот, собственно, за этими деталями я сюда и пишу.
Итак.


1. BAF

1.0. Существует ли в природе точное описание языка? То, что лежит на http://iesdp.gibberlings3.net/, таковым, увы, не является. То что мне там удалось найти — это только список функций и констант + некоторые примеры их использование...

1.1. Допустим ли пробел между именем тригера/акции и открывающей скобкой?

1.2. Допустимы ли комментарии повсюду в тексте? (Например: «Action(FOO /*какая-то константа*/)» )

1.3. Точный смысл выражений вида « [ FOO . BAR . BAZ ] » ?


2.Диалоги

2.1 Каков формат меток? (допустимые символы, длина, etc)

2.2. Как правильно — «+~Trigger()~+» или «+Trigger()+»? (Если второе — то как сам WeiDU его отличает от «+метка»?..)

2.3. После IF и DO идут строки, внутри которых находятся куски BAF-скрипта. Допустимы ли комментарии внутри этих кусков?

2.4. В какой части transitions допустимы внутри CHAIN? В определении CHAIN про них не слова, а в описании откуда-то вылезает DO...

2.5. Вот этот вот скрипт валиден? Там используется синтаксис CHAIN, но само слово CHAIN отсутствует, вместо этого — обычный BEGIN с последующим IF...

2.6. В каких ситуациях необходим THEN после IF? Если верить описанию — при использовании CHAIN (включая chainText) необходим, а в обычных state/transition блоках — нет. Это правильно или тоже опечатка, как в 2.4?


Пока на этом все. Продолжение следует...
Неизбежно будет следовать по мере процесса превращения не вполне однозначного текста README-WeiDU в последовательность регэкспов и правил синтаксического разбора...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тонкости синтаксиса BAF, D и TP2
СообщениеДобавлено: 09 мар 2009, 02:06 
Не в сети
Аватара пользователя

Зарегистрирован: 09 сен 2006, 19:38
Сообщения: 558
Откуда: СПб
1.0. Никогда не видел, но премудростей там почти нет

IF Trigger() OR(X) Trigger1() Trigger2() ... TriggerX() TriggerY() THEN RESPONSE #percentage1 Action1() RESPONSE #percentage2 Action2() END

Кажецо, это весь существующий синтаксис.

1.1. "Триггер ()"? Компилировать такое не пробовал, но вряд ли.
1.2. Оно отсекается, если я правильно понял вопрос

Код:
<<<<<<<<
Global("whatdoing","locals",2)
/*HAS_NO_SPELL*/
THEN
RESPONSE #100
ReallyForceSpellRES("ag#fresh",Myself)
SetGlobal("whatdoing","locals",3)
END
>>>>>>>>
...
REPLACE_TEXTUALLY EXACT_MATCH ~/*HAS_NO_SPELL*/~
~!HaveSpellRES("%oldspell%")
/*HAS_NO_SPELL*/~
...
COMPILE

1.3 Это идентификаторы актера (Race, Gender, General, Class, etc.). Нули можно опускать, если за ними дальше ничего нет, но вот слева или справа - не помню.

2. Тут я не слишком силен.
2.2. +~Trigger()~+
2.3. По аналогии, думаю должны отсекаться
2.5. Скорее, это был черновой набросок

_________________
They killed Fry :( Them bastards have killed her :'(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тонкости синтаксиса BAF, D и TP2
СообщениеДобавлено: 25 апр 2009, 00:59 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2008, 10:04
Сообщения: 228
Чуть позже, как на работу приду, про некоторые вещи напишу. Просто с тела лень писать...

_________________
The Unfulfill'd Queen...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тонкости синтаксиса BAF, D и TP2
СообщениеДобавлено: 25 апр 2009, 04:22 
Не в сети

Зарегистрирован: 26 апр 2008, 09:25
Сообщения: 433
вы знаете, все уже придумано до вас.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тонкости синтаксиса BAF, D и TP2
СообщениеДобавлено: 19 авг 2010, 10:24 
Не в сети

Зарегистрирован: 04 мар 2009, 18:22
Сообщения: 32
На всякий случай, если это вдруг кому-нибудь здесь интересно: схемы, которые я тогда написал, полгода назад были включены в состав колорера. Последний может использоваться, например, в фаре или в eclipse.

Если кому нужно — пользуйтесь.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB