Tile Swap(Замена тайлов)

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 8 мес. назад - 11 года 1 мес. назад #63785 от strelokhalfer
Представляю вам один, несомненно интересный скрипт под названием
Tile Swap

Он позволяет менять тайлы посредством вызова скрипта в событии.

Но для начала немного ТЕОРИИ

Тайлсеты в Ace

Тайлсеты в RMVX Ace разделяются на пять категорий, а именно A, B, C, D, E.
В свою очередь, "А" подразделяется ещё на пять категорий: А1, А2, А3, А4, А5.

Слои в Ace

Может принимать значения от 0 до 2.
0 - нижний слой, 2 - верхний слой.
Тайлсеты "A1", "A2", "A3", и "A4" располагаются на слоях 0 и 1, а "A5", "B", "C", "D", и "E" соответственно на 2.
[Прим.переводчика]
Я не понял логики работы слоя в скриптах, то не надо указывать, то надо гадать, какую цифру поставить.
Возможно с 1 по 4 столбец это нулевой слой, а с 5 по 8 соответственно первый слой.
Указывать надо, если тайлы из разных слоев(указывать слой на котором меняют)


Как рассчитать tileID?

Этот скрипт использует понятие "tile ID", оно определяет тайл в
вашем тайлсете.

Каждый tile ID начинается с буквы, далее идет номер.
Буквы указывают на раздела тайлсета, а именно(можно строчными):

A, B, C, D, E

Номер означает позицию тайла в тайлсете.
Для примера, "A1" означает первый файл в тайлсете A, а
"B12" означает двенадцатый тайл в тайлсете B.

Узнать номер ID очень легко: просто считаем с права-на-лево.

Пример:

1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
и так далее.

Лично я использую(переводчик) формулу, так как иногда считать не удобно.
((x-1)*8)+y
"x" - номер ряда
"y" - номер столбца
Пример: На тайлстете "Карта мира" ищем id облака
((2-1)*8)+8=16 {Хотя посчитать вручную было проще, но это же пример!}


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


Собственно сам код
Как всегда, дэмо прилагается.

Ссылка на демо - Архив ZIP 1.4мб

"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 11 года 1 мес. назад пользователем strelokhalfer.
Спасибо сказали: AnnTenna, DK, caveman, Демий, poca, Doctor_Bug

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 8 мес. назад - 12 года 8 мес. назад #63786 от strelokhalfer
Что то подобное делал для XP Пещерник. ТЫЦ

"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 12 года 8 мес. назад пользователем strelokhalfer.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
12 года 8 мес. назад #63787 от caveman
caveman ответил в теме Tile Swap(Замена тайлов)
О, партийное задание выполнено :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
12 года 8 мес. назад #63789 от DeadElf79
DeadElf79 ответил в теме Tile Swap(Замена тайлов)
Э... А можно тексты (не заголовки) с середины сдвинуть в нормальный вид - влево. Читать неудобно, на половину объяснения хватило терпения))

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
12 года 8 мес. назад #63792 от Cerberus
Cerberus ответил в теме Tile Swap(Замена тайлов)
Доставлено :)

Жуть болотная, на лапках, в тапках и с пулемётом...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

1 место в Готв 3 место Учитель Разработчик 3 место Готв Ветеран Писатель 2 место Тестер
Больше
12 года 8 мес. назад #63796 от Демий
Большое спасибо! Это как раз то что я так давно искал!
Осталось только пиксельарту научиться...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
11 года 1 мес. назад #78994 от strelokhalfer
Обновил скрипт и демо до актуальной версии.

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор Паладин Даритель Стимкея Проект месяца 1 место Проект месяца 2 место Проект месяца 3 место 2 место Готв 2 место За 3 место на конкурсе маппинга
Больше
11 года 1 мес. назад #78995 от Sypherot
Sypherot ответил в теме Tile Swap(Замена тайлов)

strelokhalfer пишет: Обновил скрипт и демо до актуальной версии.

При попытке "вернуть озеро" вылетает с ошибкой.

Всего хорошего, и спасибо за рыбу

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
11 года 1 мес. назад - 11 года 1 мес. назад #78996 от strelokhalfer
Там походу кириллические буквы остались с прошлой версии.
И вновь продолжается [strike]бой[/strike] перезалив, исправил демку.

"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 11 года 1 мес. назад пользователем strelokhalfer.
Спасибо сказали: Blacklst

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Программист JavaScript Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место Учитель Оратор Ветеран Даритель Стимкея 2 место Программист Ruby Паладин
Больше
11 года 1 мес. назад #79124 от DK
DK ответил в теме Tile Swap(Замена тайлов)
Классный скрипт. Попробую как-нибудь к своей погоде прикрутить.
Спасибо сказали: strelokhalfer

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
11 года 1 мес. назад #79125 от strelokhalfer
Ну сделать то не так трудно, проверить, импортирован ли скрипт и менять по тайлИД

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Программист JavaScript Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место Учитель Оратор Ветеран Даритель Стимкея 2 место Программист Ruby Паладин
Больше
11 года 1 мес. назад #79136 от DK
DK ответил в теме Tile Swap(Замена тайлов)
Ну там надо настроить, чтобы можно было указать, что считать зимой/весной и т.д.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

1 место в Готв Проект месяца 1 место 2 место Учитель Проект месяца 2 место Проект месяца 3 место 3 место Готв Разработчик Коммерсант Проект года 3 место
Больше
11 года 1 мес. назад #79528 от peter8031983
Делал для Нейтралки.
Думаю здесь лишним не будет.
Демо-Версия:
yadi.sk/d/usZsPw7lfauCu

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 3 место 3 место 3 место в Кодировке Программист Ruby Проект месяца 1 место Ветеран
Больше
6 года 4 мес. назад - 6 года 4 мес. назад #114814 от Doctor_Bug
Ребят я добавил два почти одинаковых функционала. Короче функции заливают новыми тайлами указанное пространство (без указаний регионов)
1. square_swap(x, y, width, height, tileID, layer, map_id) - где width и height - ширина и высота указанного квадрата заполнения тайлами
2. fill_swap(x1, y1, x2, y2, tileID, layer, map_id) - где x1, y1, это верхний левый угол координат, а x2, y2 - правый нижний угол координат заливки новых тайлов.

Отличие их только в удобстве использования.

Ту тц_Ба[strike]г[/strike]


Баг изучает Godot Engine. А слушает эту музыку ~~> Мое сердце
Последнее редактирование: 6 года 4 мес. назад пользователем Doctor_Bug.
Спасибо сказали: NeKotZima

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.123 секунд
Работает на Kunena форум