среда, 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





2 комментария:

  1. Здравствуй,
    пробовал ваш плагин

    я увидел одну вещь, после смены плитки вся игра становится все медленнее.
    какие-либо предложения

    hi,
    was trying your plugin

    i saw one thing, after changing a tile, the whole game is getting slower.
    any suggestions

    ОтветитьУдалить
  2. Добрый день.
    Не думаю, что можно что-то сильно оптимизировать, тем более, у себя тормозов не ощущаю. Но вы можете приложить демо, на котором это заметно, чтобы на ней отладиться.

    ОтветитьУдалить