Инструменты пользователя

Инструменты сайта


ru:rpd:mods_scripts

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ru:rpd:mods_scripts [2018/01/02 21:33]
mike [Акторы]
ru:rpd:mods_scripts [2020/07/30 19:59] (текущий)
mike
Строка 15: Строка 15:
       * traps - тут лежат уже готовые ловушки       * traps - тут лежат уже готовые ловушки
  
-Скрипты основных библиотек имеют имена файлов в camelCase, пользовательские же скрипты предпочтительно именовать в CamelCase. +Скрипты основных библиотек имеют имена файлов в camelCase, пользовательские же скрипты предпочтительно именовать в CamelCase
 + 
 +Все файлы скриптов должны быть в кодировке UTF-8 без BOM.
  
 Ниже последует описание некоторых уже реализованных возможностей скриптинга: Ниже последует описание некоторых уже реализованных возможностей скриптинга:
Строка 21: Строка 23:
 ====== Ловушки (Они же триггеры) ====== ====== Ловушки (Они же триггеры) ======
  
-Ловушка ( LevelObject - Trap ) объект который активируется когда на него наступает герой (или моб, или падает предмет в зависимости от параметров). При активации Trap может имитировать поведение одной из базовых ловушек или выполнить скрипт.+Ловушка ( LevelObject - Trap ) объекткоторый активируется когда на него наступает герой (или моб, или падает предмет в зависимости от параметров). При активации Trap может имитировать поведение одной из базовых ловушек или выполнить скрипт.
  
-На вход скрипт получает индекс клетки где должен сработать, существо которое привело триггер в действие и строку указанную в описании ловушки.+На вход скрипт получает индекс клетки где должен сработать, существокоторое привело триггер в действие и строку указанную в описании ловушки.
  
 Например так будет выглядеть описание триггера который просто покажет текст: Например так будет выглядеть описание триггера который просто покажет текст:
Строка 37: Строка 39:
   }   }
  
-Посмотрите для примера на код файла [[https://github.com/NYRDS/pixel-dungeon-remix/blob/master/PixelDungeon/src/main/assets/scripts/traps/Message.lua|scripts/traps/Message.lua]]+Посмотрите для примера на код файла [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/traps/Message.lua|scripts/traps/Message.lua]]
  
 ====== Акторы ====== ====== Акторы ======
Строка 57: Строка 59:
 ''RPD.Dungeon.level:addScriptedActor(RPD.new(RPD.Objects.Actors.ScriptedActor,"scripts/actors/Burn"))'' ''RPD.Dungeon.level:addScriptedActor(RPD.new(RPD.Objects.Actors.ScriptedActor,"scripts/actors/Burn"))''
      
-А вот и пример [[https://github.com/NYRDS/pixel-dungeon-remix/blob/master/PixelDungeon/src/main/assets/scripts/actors/Burn.lua|scripts/actors/Burn.lua]]+А вот и пример [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/actors/Burn.lua|scripts/actors/Burn.lua]]
  
 ====== Мобы ====== ====== Мобы ======
Строка 66: Строка 68:
 Сейчас это: Сейчас это:
  
-  * Смерть ( пример - [[https://github.com/NYRDS/pixel-dungeon-remix/blob/master/PixelDungeon/src/main/assets/scripts/mobs/Hydra.lua|Hydra]] ) +  * Смерть ( пример - [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/mobs/Hydra.lua|Hydra]] ) 
-  * Взаимодействие с героем ( пример - [[https://github.com/NYRDS/pixel-dungeon-remix/blob/master/PixelDungeon/src/main/assets/scripts/mobs/Talkie.lua|Talkie]] )+  * Взаимодействие с героем ( пример - [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/mobs/Talkie.lua|Talkie]] ) 
 +  * Добавление моба на уровень (spawn) 
 +  * Получение урона 
 +  * Перемещение моба (move) - (пример - [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/mobs/NatureAura.lua|NatureAura]]) 
 +  * Задание характеристик (stats) (пример - [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/mobs/NatureAura.lua|NatureAura]])
  
 ====== Библиотеки ====== ====== Библиотеки ======
Строка 95: Строка 101:
  
 Список блобов: Список блобов:
-<spoiler>+
   * Fire   * Fire
   * Foliage    * Foliage 
Строка 105: Строка 111:
   * ToxicGas   * ToxicGas
   * Regrowth   * Regrowth
-</spoiler>+
  
 ===== Storage ===== ===== Storage =====
Строка 122: Строка 128:
 Данные сохраняются в тех же файлах что и сейвы, а значит подчиняются всем правилам связанным классами и модами. Для сериализации/десериализации сейчас используется библиотека [[https://github.com/pkulchenko/serpent|serpent]] Данные сохраняются в тех же файлах что и сейвы, а значит подчиняются всем правилам связанным классами и модами. Для сериализации/десериализации сейчас используется библиотека [[https://github.com/pkulchenko/serpent|serpent]]
  
-В качестве примера давайте рассмотрим [[https://github.com/NYRDS/pixel-dungeon-remix/blob/master/PixelDungeon/src/main/assets/scripts/traps/Counter.lua|ловушку]] которая считает сколько на неё раз наступили и показывает соответствующий текст.+В качестве примера давайте рассмотрим [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/traps/Counter.lua|ловушку]]которая считает сколько на неё раз наступили и показывает соответствующий текст.
  
 ===== Quest ===== ===== Quest =====
  
 Модуль ''scripts/lib/quest'' существует для облегчения подготовки квестов. Модуль ''scripts/lib/quest'' существует для облегчения подготовки квестов.
 +
 +===== Mob =====
 +
 +Модуль ''scripts/lib/mob'' содержит методы позволяющие создавать собственных мобов.
ru/rpd/mods_scripts.1514928823.txt.gz · Последнее изменение: 2018/01/02 21:33 — mike