Тема: ProLevel
Показать сообщение отдельно
Старый 11.11.2012, 21:59   #1
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
ProLevel

Есть у меня такая самописная система обработки уровней. Позволяет в любом редакторе( макс, милка ) настраивать игровые объекты( пока совместим только с Xors3D ). Триггеры тоже поддерживаются. В общем мысли свои понятно излагать не умею поэтому приведу выдержку из справки к этой "супер" системе.
Параметры записываются в имени объекта
 
Справка по ProLevel
Как правильно записывать параметры объектов. Параметр имеет имя и значение. Значение - либо число, либо строка. Пример: · name=cube; · mass=1; Параметры отделяются друг от друга точкой с запятой. Пробелов может быть сколь угодно много - при разборе строки лишние пробелы удаляются. Чтобы сохранить пробелы строку нужно окружить кавычками. Пример: · objective="Receive data"; Если значение не поместить в кавычки, в качестве значения, параметру objective присвоится только Receive. Общие параметры - эти параметры могут иметь все объекты в игре · class - класс объекта. Возможны два значения: 1. classObject - объект 2. classLogic - логика( триггеры и т.п. ) · type - тип объекта 1. object - описывает обычный объект 2. light - источник света 3. trigger - триггер 4. sound - звук · name - имя объекта, используется для обращения к объекту из триггера · body - тип физического тела 1. sphere - сфера - радиус вычисляется автоматически и равен радиусу описанной вокруг объекта сферы 2. box - коробка, содержащая объект полностью 3. convex - выпуклое тело - строится из вершин объекта, тело не содержит вогнутых частей. 4. concave - вогнутое тело - может содержать вогнутые части( углубления и т.п.) 5. static - статическое тело( масса = 0 ), используется для описания геометрии уровня. · constraint *- тип ограничителя 1. hinge - петля · frict - трение ( 0 - нет трения ) · alpha - полупрозрачность ( от 0 до 1 ) · iskill - если 1, то убивает игрока при контакте. Используется для ловушек Параметры объектов - частные параметры - ими владеют только определенные объекты
Свет.
Пример: class = classObject; type = light; subtype=1; red=120;green=200;blue=255;range=1000; 1. red - красный цвет - от 0 до 255 2. green - зеленый цвет - от 0 до 255 3. blue - синий цвет - от 0 до 255 4. range - максимальная дальность освещения 5. subtype - всегда 1
Триггеры
Триггер - объект выполняющий определенные действия. Выключаются при выполнении условия, совершая указанные действия. Каждый триггер выполняет какие-то указанные действия. Чтобы указать действие, нужно написать action№=actionName(actionParameters); Здесь: · № - номер действия( нумерация может начинаться с любого числа, но последующее действие должно иметь номер на единицу больше чем номер предыдущего действия ) · actionName и actionParameters - любое действие из нижеперечисленных( в скобках параметры ) 1. Animate( имя_анимируемого_объекта, 3, скорость_анимации, 0); -анимирует объект 2. Enable( имя_включаемого_триггера ); - включает триггер 3. Disable(имя_выключаемого_триггера); - выключает триггер 4. AddForce(имя_объекта,силаПо_X, силаПо_Y, силаПо_Z ); прикладывает силу к объекту 5. AddTorque(имя_объекта,врМ_X,врМ_Y, врМ_Z); прикладывает вращающий момент 6. Hide(имя_объекта); - скрывает объект 7. Show(имя_объекта); - показывает объект 8. Win( ); -выиграть текущую карту Пример: class=classLogic;type=trigger;subtype=distanceTrigger;target=Player;distance=20;action0=Animate( pt1, 3,1,0); Каждый триггер после выполнения действий выключается. Чтобы триггер не выключался нужно добавить параметр nodisable = 1; Изначально триггер считается включенным - чтобы его отключить нужно добавить isenabled=0; Конкретный тип триггера указывается параметромsubtype, который может принимать следующие значения: Типы. distanceTrigger - триггер срабатывающий при приближении target объекта на расстояние меньшее distance. · Параметры: 1. target - имя объекта, на приближение которого реагирует триггер 2. distance - расстояние до объекта при котором срабатывает триггер nullTrigger - триггер без условий выполнения - т.е. делает указанные действия без какого либо условия. · Параметры: 1. только список действий timeTrigger- триггер выполняет указанные действия спустя time времени · Параметры: 1. time - время в миллисекундах( 1 секунда = 1000 миллисекунд ) zoneTrigger - триггер срабатывает при попадании target объекта в триггер( в редакторе триггером становится обычная коробка ( Box ) необходимых размеров ) · Параметры: 1. target - имя объекта, на который срабатывает триггер keyTrigger - триггер сочетает в себе distanceTrigger, но накладывается дополнительное условие срабатывания - нажатие на определенную кнопку.
Причем справка еще не закончена, есть еще куча триггеров и параметров.

Нужно ли такое кому-нибудь?( за примерами использования можно обратиться к моим недавним "проектам" )
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
impersonalis (12.11.2012), Program23 (14.11.2012)