вторник, 5 сентября 2017 г.

Simple lockpick game

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


Есть возможность настройки:
1) Картинок фона, частей замка, отмычки
2) Скорости движения зазоров, "ширину" зазоров
3) Количества частей
4) Режим хард (если не попал в зазор - сброс в начало), легкий (бесконечно попыток)
5) Настройка свитча победы.

Пример запуска (из события, скриптом)
$game_system.lp_num_locks = 2 # число замков
$game_system.lp_base_speeds = [2,2.5] # массив скоростей
$game_system.lp_back_name = "lock_bg1" # картинка бекграунда
$game_system.lp_lockbg_name = "lock_bg" # картинка замка
$game_system.lp_lock_name = "lock" # картинка язычка замка
$game_system.lp_lockpick_name = "lockpick" # картинка отмычки
$game_system.lp_win_switch_id = 112 # id свитча победы
$game_system.lp_space = 6 # зазор
$game_system.hard_mode = true
SceneManager.call(Scene_LockPick)

Ссылки:
скрипт
демо

среда, 19 июля 2017 г.

TileSwap [MV]

Этот скрипт позволяет заменить часть данных тайлов карты на другой. Изменения сохраняются и загружаются, как нужно.

Использование свободное.

Использование

Команда плагина TileSwap x y z tileId [needRefresh], где
(x,y) - координаты на карте в тайлах,
z - высота (слой: 0, 1, 2)
tileId - id тайла, который должен находиться в этом месте (подробности ниже)
needRefresh - необязательный параметр, если стоит true, то после команды рефрешится карта, отображая изменения. Для скорости лучше накидать все нужные сейчас свапы, а в последний указать true.

Команда плагина TileSwapEx mapId x y z tileId позволяет засвапить тайл на любой карте, параметра рефреша нет, использовать лучше для тех карт, где сейчас нет героя; а рефреш случиться при перемещении.
mapId - id карты
(x,y) - координаты на карте в тайлах,
z - высота (слой: 0, 1, 2)
tileId - id тайла, который должен находиться в этом месте (подробности ниже)

Команда плагина TileSwapCl mapId x y z [needRefresh], снимает все изменения, накиданые ранее, с тайла на карте.
mapId - id карты
(x,y) - координаты на карте в тайлах,
z - высота (слой: 0, 1, 2)
needRefresh - необязательный параметр, если стоит true, то после команды рефрешится карта, отображая изменения. Для скорости лучше накидать все нужные сейчас свапы, а в последний указать true.

Команда плагина ShowAutotile x y startId показывает раздербаненный автотайл в виде прямоугольника 6*8. Удобно для того, чтобы быстро получить рисунки автотайлов и потом применять их.
(x,y) - верхний левый угол на карте в тайлах,
tileId - id начального тайла автотайла (подробности ниже)

Формат tileId

Тайлы в MV нумеруются сверху вниз справа налево, отсчет ведется со страницы B с нуля (см рисунок):
Итак, начальные ID для страниц B-E:
B - 0
C - 256
D - 512
E - 768

Далее идет A5 c 1536
Номера с 1024 по 1535, по-видимому, игнорируются.

Потом начинается самое интересное - автотайлы.
Каждый автотайл забирает 48 штук tileId, если его "раздербанить", то можно увидеть порядок (см рисунок, где показан пятый по счету автотайл из A2):

Раздербанивать все я не собираюсь, экспериментируйте. В XP была фича по даблклику на автотайл показать подобную картинку, тут её нет, так что картинку я просто вывел этим скриптом.

Зная, что каждый автотайл жрет по 48 tileId и начальные id для страниц An, остальное выводится просто. ВОт список начальных tileId для A1-A4:
A1 - 2048
A2 - 2816
A3 - 4352
A4 - 5888
И до кучи еще одна картинка:
К теме прилагаю небольшое демо с участием скрипта.

Ссылка на демо: https://yadi.sk/d/KI2WqzpL3LBKxD
Ссылка на скрипт: https://yadi.sk/d/H6h0E_p03LDLFG





вторник, 9 мая 2017 г.

MultiParallax [MV]

Пока думал над тем, как организовать демо для скрипта TimeManagement, сделал скрипт для манипуляции параллаксами и поддержки нескольких параллаксов одновременно.


Плагин позволяет командами задавать несколько параллаксов со всеми теми же настройками, что доступны для того, что в конструкторе.

Также плагин позволяет командами манипулировать прозрачностью параллаксов (в том числе, с duration).

Для демо планировалось использовать для плавной переключалки между днем/ночью/погодой на картах, где есть параллакс, может быть будет еще для чего-то полезен.

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



Ссылка на скрипт https://drive.google.com/open?id=0B_UUr9ncWPb1QkcwSE1BdnNlalE
Ссылка на демо: https://yadi.sk/d/B0IjCPZW3HuUFU

воскресенье, 7 мая 2017 г.

TimeManagement [MV]

Пост будет дополняться по мере разработки скрипта.

Это не копия старого TimeManagement  с VX Ace, но существенно переработанная версия.

Особенности:

  1. Возможность задать несколько плейлистов в одном файле
  2. Привязка проигрывания к реальному времени (как параметром скрипта, задающим 1 день = Х минут, так и командой плагина).
  3. Настройка шагов плейлиста через обычные дд:чч:мм.
  4. Команды установки значений переменных, свитчей и селфсвитчей.
  5. Возможность старта/остановки как отдельного плейлиста, так и всех.
  6. Ресет, старт и остановка времени по команде, также настройка "тикать ли в меню/битве".
  7. Возможность задавать повторяемость плейлиста (интервал), например для цикла день-ночь.
  8. Возможность вызвать команду скрипта из строки

Текущий прогресс:

Базовый функционал написан и отлаживается. 
Нужно сделать толковую демку, объясняющую как пользоваться.
Дописать возможность вызова команды скрипта