ru:rpd:mods_scripts
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| ru:rpd:mods_scripts [2017/11/15 19:56] – mike | ru:rpd:mods_scripts [2020/07/30 19:59] (текущий) – mike | ||
|---|---|---|---|
| Строка 10: | Строка 10: | ||
| * корневая папка мода | * корневая папка мода | ||
| - | * scripts - корневая папка для скриптов | + | |
| - | * lib - библиотеки RPD и другие, | + | * lib - библиотеки RPD и другие, |
| - | * actors - тут лежат уже готовые акторы | + | * actors - тут лежат уже готовые акторы |
| - | * traps - тут лежат уже готовые ловушки | + | * traps - тут лежат уже готовые ловушки |
| - | Скрипты основных библиотек имеют имена файлов в camelCase, пользовательские же скрипты предпочтительно именовать в CamelCase. | + | Скрипты основных библиотек имеют имена файлов в camelCase, пользовательские же скрипты предпочтительно именовать в CamelCase. |
| + | |||
| + | Все файлы скриптов должны быть в кодировке UTF-8 без BOM. | ||
| Ниже последует описание некоторых уже реализованных возможностей скриптинга: | Ниже последует описание некоторых уже реализованных возможностей скриптинга: | ||
| Строка 21: | Строка 23: | ||
| ====== Ловушки (Они же триггеры) ====== | ====== Ловушки (Они же триггеры) ====== | ||
| - | Ловушка ( LevelObject - Trap ) объект который активируется когда на него наступает герой (или моб, или падает предмет в засимости от параметров). При активации Trap может имитировать поведение одной из базовых ловушек или выполнить скрипт. | + | Ловушка ( LevelObject - Trap ) объект, который активируется когда на него наступает герой (или моб, или падает предмет в зависимости от параметров). При активации Trap может имитировать поведение одной из базовых ловушек или выполнить скрипт. |
| - | На вход скрипт получает индекс клетки где должен сработать, | + | На вход скрипт получает индекс клетки где должен сработать, |
| - | Например так будет выглядеть описание тригера который просто покажет текст: | + | Например так будет выглядеть описание триггера который просто покажет текст: |
| { | { | ||
| Строка 37: | Строка 39: | ||
| } | } | ||
| - | Посмотрите для примера на код файла [[https:// | + | Посмотрите для примера на код файла [[https:// |
| ====== Акторы ====== | ====== Акторы ====== | ||
| - | Актор - это такая бесплотная сущность которая существует на уровне и переодически что-то делает. | + | Актор - это такая бесплотная сущность которая существует на уровне и периодически что-то делает. |
| В отличие от ловушки актор может реализовывать 3 метода: | В отличие от ловушки актор может реализовывать 3 метода: | ||
| Строка 49: | Строка 51: | ||
| Актора можно подцепить к уровню в Dungeon.json например так: | Актора можно подцепить к уровню в Dungeon.json например так: | ||
| - | " | + | " |
| | | ||
| - | " | + | " |
| Или же можно подцепить актора к уровню из любого другого скрипта ( например активируемого триггером ) примерно так: | Или же можно подцепить актора к уровню из любого другого скрипта ( например активируемого триггером ) примерно так: | ||
| | | ||
| - | '' | + | '' |
| | | ||
| - | А вот и пример [[https:// | + | А вот и пример [[https:// |
| + | |||
| + | ====== Мобы ====== | ||
| + | Мобы ( а с ними и NPC ) в обилии населяют город и подземелье. | ||
| + | |||
| + | Для некоторых из них ( [[custommob|для кастомных]] ) можно задавать скрипты описывающие некоторые события в его жизни. | ||
| + | |||
| + | Сейчас это: | ||
| + | |||
| + | * Смерть ( пример - [[https:// | ||
| + | * Взаимодействие с героем ( пример - [[https:// | ||
| + | * Добавление моба на уровень (spawn) | ||
| + | * Получение урона | ||
| + | * Перемещение моба (move) - (пример - [[https:// | ||
| + | * Задание характеристик (stats) (пример - [[https:// | ||
| ====== Библиотеки ====== | ====== Библиотеки ====== | ||
| Строка 85: | Строка 101: | ||
| Список блобов: | Список блобов: | ||
| - | < | + | |
| * Fire | * Fire | ||
| * Foliage | * Foliage | ||
| Строка 95: | Строка 111: | ||
| * ToxicGas | * ToxicGas | ||
| * Regrowth | * Regrowth | ||
| - | </ | + | |
| ===== Storage ===== | ===== Storage ===== | ||
| Строка 112: | Строка 128: | ||
| Данные сохраняются в тех же файлах что и сейвы, а значит подчиняются всем правилам связанным классами и модами. Для сериализации/ | Данные сохраняются в тех же файлах что и сейвы, а значит подчиняются всем правилам связанным классами и модами. Для сериализации/ | ||
| - | В качестве примера давайте рассмотрим [[https:// | + | В качестве примера давайте рассмотрим [[https:// |
| + | |||
| + | ===== Quest ===== | ||
| + | |||
| + | Модуль '' | ||
| + | |||
| + | ===== Mob ===== | ||
| + | |||
| + | Модуль '' | ||
ru/rpd/mods_scripts.1510775774.txt.gz · Последнее изменение: 2017/11/15 19:56 — mike