Difference between revisions of "Script/ru"

From Dragon Age Toolset Wiki
Jump to: navigation, search
m (Правка)
m (Edit)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{rupage|Основная информация о скриптах|Скрипты}}
 
{| style="float:right;"
 
{| style="float:right;"
 
|-
 
|-
Line 12: Line 13:
 
Синтаксис языка DAScript очень похож на синтаксис языка программирования '''С''', с поддержкой подключения файлов, содержащих библиотеки функций и констант(например '''wrappers_h''').
 
Синтаксис языка DAScript очень похож на синтаксис языка программирования '''С''', с поддержкой подключения файлов, содержащих библиотеки функций и констант(например '''wrappers_h''').
  
Смотрите - '''[[Scripting overview/ru|Основная информация о языке DAScript]]''' ''[[Scripting overview|(en)]]''.
+
Смотрите - '''[[Scripting overview/ru|Обзор языка DAScript]]''' ''[[Scripting overview|(en)]]''.
  
 
== События ==
 
== События ==
Line 25: Line 26:
 
'''[[Custom AI/ru|Изменение AI]]''' ''[[Custom AI|(en)]]'' для существ осуществляется созданием пользовательских обработчиков событий AI.
 
'''[[Custom AI/ru|Изменение AI]]''' ''[[Custom AI|(en)]]'' для существ осуществляется созданием пользовательских обработчиков событий AI.
  
Для получения большей информации о событиях смотрите - '''[[Event (dascript type)/ru|События]]''' ''[[Event (dascript type)|(en)]]''.
+
Для получения большей информации о событиях смотрите - '''[[Event keyword/ru|События]]''' ''[[Event keyword|(en)]]''.
  
 
== Эффекты и способности ==
 
== Эффекты и способности ==
  
'''[[Effect (dascript type)/ru|Эффекты]]''' ''[[Effect (dascript type)|(en)]]'' - применяются на определённый объект.  
+
'''[[Effect keyword/ru|Эффекты]]''' ''[[Effect keyword|(en)]]'' - применяются на определённый объект.  
 
Каждый эффект содержит пакет модификаторов, которая определяет, как он влияет на объект. Эти модификаторы могут изменять обычные базовые свойства, так и более сложные игровые, а также накладывать визуальные эффекты.  
 
Каждый эффект содержит пакет модификаторов, которая определяет, как он влияет на объект. Эти модификаторы могут изменять обычные базовые свойства, так и более сложные игровые, а также накладывать визуальные эффекты.  
 
Также события содержат ряд параметров, зависящих от их типа, и определяющих их поведение. Когда эффект убирается (обычно по истечении определённого времени) модификаторы снимаются с объекта.
 
Также события содержат ряд параметров, зависящих от их типа, и определяющих их поведение. Когда эффект убирается (обычно по истечении определённого времени) модификаторы снимаются с объекта.
Line 42: Line 43:
 
Обычно эффекты накладываются способностями, которыми владеют существа и персонаж игрока.
 
Обычно эффекты накладываются способностями, которыми владеют существа и персонаж игрока.
  
Для получения большей информации о эффектах и способностях смотрите - '''[[Effect (dascript type)/ru|Эффекты]]''' ''[[Effect (dascript type)|(en)]]'', '''[[Ability/ru|Способности]]''' ''[[Ability|(en)]]''.
+
Для получения большей информации о эффектах и способностях смотрите - '''[[Effect keyword/ru|Эффекты]]''' ''[[Effect keyword|(en)]]'', '''[[Ability/ru|Способности]]''' ''[[Ability|(en)]]''.
  
 
== 2DA - Хранилище игровых данных ==
 
== 2DA - Хранилище игровых данных ==
Line 52: Line 53:
 
== Система выдачи плюшек (Treasure System) ==
 
== Система выдачи плюшек (Treasure System) ==
  
Система выдачи плюшек (Treasure System) позволяет выдавать различные плюшки в большинство существ и контейнеров в игре. Плюшки выдаются посредством случайной генерации при возникновении определённых событий (например - смерть существа или размещение сундука в локации). Вид и количество плюшек выбираются в соответствии с категорией и рангом объекта (у дикого животного не должны часто обнаруживаться доспехи, а порождения тьмы навряд ли будут таскать с собой фарфоровые вазы). Управление системой выдачи плюшек может осуществляться посредством '''[[local variable/ru|локальных переменных]]''' ''[[local variable|(en)]]'' и '''[[Event (dascript type)/ru|событий]]''' ''[[Event (dascript type)|(en)]]''.
+
Система выдачи плюшек (Treasure System) позволяет выдавать различные плюшки в большинство существ и контейнеров в игре. Плюшки выдаются посредством случайной генерации при возникновении определённых событий (например - смерть существа или размещение сундука в локации). Вид и количество плюшек выбираются в соответствии с категорией и рангом объекта (у дикого животного не должны часто обнаруживаться доспехи, а порождения тьмы навряд ли будут таскать с собой фарфоровые вазы). Управление системой выдачи плюшек может осуществляться посредством '''[[local variable/ru|локальных переменных]]''' ''[[local variable|(en)]]'' и '''[[Event keyword/ru|событий]]''' ''[[Event keyword|(en)]]''.
  
 
Для существа, которое уже размещено в конкретной '''[[area/ru|локации]]''' ''[[area|(en)]]'', инвентарь не может быть определён напрямую.
 
Для существа, которое уже размещено в конкретной '''[[area/ru|локации]]''' ''[[area|(en)]]'', инвентарь не может быть определён напрямую.
Line 70: Line 71:
 
Для получения большей информации о локальных переменных смотрите - '''[[Local variable/ru|Локальные переменные]]''' ''[[Local variable|(en)]]''
 
Для получения большей информации о локальных переменных смотрите - '''[[Local variable/ru|Локальные переменные]]''' ''[[Local variable|(en)]]''
  
== Переводчики ==
+
{{Languages|Script}}
kelamor / [[User:Kelamor|Страница]] / [mailto:kelamor@inbox.ru Почта] / [[Translation/ru|Как переводить DA Builder Wiki]]{{Languages|Script}}
+
 
 
[[Category:Scripts]]
 
[[Category:Scripts]]

Latest revision as of 03:37, 14 October 2011

Основная информация о скриптах
Начало / Русская DA Builder Wiki / Поделиться ВКонтакте
Скрипты
все статьи категории
описание функций

Скрипты в Dragon Age контролируют практически все игровые события. Вся игровая механика, которая обычно управляется движком игры, в Dragon Age управляется скриптами, что позволяет производить глубокую настройку игры.

Язык DAScript

Синтаксис языка DAScript очень похож на синтаксис языка программирования С, с поддержкой подключения файлов, содержащих библиотеки функций и констант(например wrappers_h).

Смотрите - Обзор языка DAScript (en).

События

В Dragon Age используется событийно-ориентированная модель, в которой каждое событие посылается в скрипт, назначенный для его обработки, с параметрами, содержащими необходимую информацию Основная часть работы со скриптами в DA связана именно с обработкой событий. Типичные примеры возникновения событий:

  • Событие посылается в скрипт, ассоциированный с Plot-файлом, когда его флаг считывается или устанавливается.
  • Событие посылается в скрипт, ассоциированный с локацией, когда в локации умирает команда существ, когда в локацию входит игрок.
  • Событие посылается в скрипт, ассоциированный с модулем, во время генерации персонажа.
  • Событие посылается существу, когда с ним что-то происходит (например - бьют).

Изменение AI (en) для существ осуществляется созданием пользовательских обработчиков событий AI.

Для получения большей информации о событиях смотрите - События (en).

Эффекты и способности

Эффекты (en) - применяются на определённый объект. Каждый эффект содержит пакет модификаторов, которая определяет, как он влияет на объект. Эти модификаторы могут изменять обычные базовые свойства, так и более сложные игровые, а также накладывать визуальные эффекты. Также события содержат ряд параметров, зависящих от их типа, и определяющих их поведение. Когда эффект убирается (обычно по истечении определённого времени) модификаторы снимаются с объекта.

В DA применяется следующая шкала продолжительности эффектов, которая определяет, как они накладываются и снимаются:

  1. Временные: накладываются на короткое время (определяется в секундах)
  2. Постоянные: применяются пока не будут убраны скриптом
  3. Разовые: применяются мгновенно и не хранятся на объекте (для примера - смерть существа)
  4. Экипировочные: ассоциированы с вещами, которыми экипировано существо. Действие эффекта прекращается после снятия вещи.

Обычно эффекты накладываются способностями, которыми владеют существа и персонаж игрока.

Для получения большей информации о эффектах и способностях смотрите - Эффекты (en), Способности (en).

2DA - Хранилище игровых данных

2DA (двухмерные массивы) содержат большую часть данных, используемых в игре, и создаются на основе таблиц формата .XLS. Если вы хотите создать новые типы существ, вещей, способностей и т.д., вам необходимо будет создать новые 2DA.

Для получения большей информации о 2DA смотрите - Работа с 2DA (en).

Система выдачи плюшек (Treasure System)

Система выдачи плюшек (Treasure System) позволяет выдавать различные плюшки в большинство существ и контейнеров в игре. Плюшки выдаются посредством случайной генерации при возникновении определённых событий (например - смерть существа или размещение сундука в локации). Вид и количество плюшек выбираются в соответствии с категорией и рангом объекта (у дикого животного не должны часто обнаруживаться доспехи, а порождения тьмы навряд ли будут таскать с собой фарфоровые вазы). Управление системой выдачи плюшек может осуществляться посредством локальных переменных (en) и событий (en).

Для существа, которое уже размещено в конкретной локации (en), инвентарь не может быть определён напрямую.

Для получения большей информации о СВП смотрите - Система выдачи плюшек (Treasure System) (en).

Локальные переменные - хранилище индивидуальных данных

Локальные переменные - связанные с игровыми объектами переменные, хранящиеся длительное время и доступные из любого скрипта (в отличие от временных, которые существуют только пока работает создавший их скрипт).

Устанавливаются локальные переменные функцией SetLocal* и считываются функцией GetLocal*.

DA не поддерживает динамическое выделение локальных переменных в игре, поэтому для использование в игре локальные переменные должны быть определены в 'variable 2DA.

Как альтернатива - по ссылке [1] вы найдёте проект "Неограниченное хранилище переменных". Используя его вы сможете посредством одного подключаемого файла получить неограниченное хранилище переменных и массивов без обязательного декларирования их в 2DA.

Для получения большей информации о локальных переменных смотрите - Локальные переменные (en)


Язык: English  • русский