Войти на сайт

Авторизация, ждите ...
×

ТЕМА: (ХР)Change tileset

(ХР)Change tileset 16 года 6 мес. назад #13896

  • Alien
  • Alien аватар
  • Вне сайта
  • Познающий
  • Сообщений: 16
Нашел как-то на просторах инета скрипт возвращающий наш любимый мейкер XP очень полезную фишку из 2000/2003 мейкеров. А именно команду change tileset. Скрипт изменяет родные скрипты игры, так что я думаю делать демку смысла нет. Просто если не знать где копать, выдрать его оттуда будет практически невозможно. Так что привожу здесь его текст с комментариями по установке. Ну а там сами в свои проекты добавляйте при желании. Приступаем.

Для начала в редакторе скриптов выбираем класс Game_Map
Там после строк:
class Game_Map
#
вставляем
attr_accessor :new_tileset
 
Далее здесь же находим строку:
def setup(map_id) и строкой ниже пишем
@new_tileset = false

Теперь листаем текст в самый низ, и после всех строк вставляем
def replace_tileset(new_tiles) # New Method
  tileset = $data_tilesets[new_tiles]
  @tileset_name = tileset.tileset_name
  @autotile_names = tileset.autotile_names
  @panorama_name = tileset.panorama_name
  @panorama_hue = tileset.panorama_hue
  @fog_name = tileset.fog_name
  @fog_hue = tileset.fog_hue
  @fog_opacity = tileset.fog_opacity
  @fog_blend_type = tileset.fog_blend_type
  @fog_zoom = tileset.fog_zoom
  @fog_sx = tileset.fog_sx
  @fog_sy = tileset.fog_sy
  @battleback_name = tileset.battleback_name
  @passages = tileset.passages
  @priorities = tileset.priorities
  @terrain_tags = tileset.terrain_tags
  $game_map.new_tileset = true
end

Ну и наконец находим класс Spriteset_Map
и после строк
class Spriteset_Map
#
def update
сразу же вставляем следующие строки
if $game_map.new_tileset == true
    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
    @tilemap.priorities = $game_map.priorities
    for i in 0..6
      autotile_name = $game_map.autotile_names[i]
      @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
    end
    $game_map.new_tileset = false
  end

Ну вот и все!!! Чтобы использовать данную фичу как обычно создаем ивент. Добавляем в него команду Script. В тексте скрипта пишем $game_map.replace_tileset(x). Где х - номер тайлсета в базе данных. Проверял лично работает на 100% ;D
Администратор запретил публиковать записи гостям.

Change tileset 16 года 6 мес. назад #13897

  • Dr. Nick To
  • Dr. Nick To аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 2158
  • Спасибо получено: 24
А вот за эту штуку спасибо. Можно Линчевские глюки делать. Типа выпил сто грамм а комната вся в в крови и на стенах глаза :D.

.. где мой психиатр..
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Администратор запретил публиковать записи гостям.

Change tileset 16 года 6 мес. назад #13903

  • Dr. Nick To
  • Dr. Nick To аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 2158
  • Спасибо получено: 24
Можно Silent Hill сделать. Одним эвентом менять мирный тайлсет на кровавый. И обратно. А как это сделать в пределах одного сета? Разбить каждое поле карты на эвенты? Не думаю.
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Администратор запретил публиковать записи гостям.

Change tileset 16 года 6 мес. назад #13907

  • Inca
  • Inca аватар
а вместе с тайлом изменяются и все остальные фичи, привязанные к тайлу? т.е. музыка, туман, панорама и тп...
Администратор запретил публиковать записи гостям.

Change tileset 16 года 6 мес. назад #13920

  • Dr. Nick To
  • Dr. Nick To аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 2158
  • Спасибо получено: 24
а вместе с тайлом изменяются и все остальные фичи, привязанные к тайлу? т.е. музыка, туман, панорама и тп...

Нет конечно, только картинка. Но эвент резиновый. Просто допиши снизу и измени.
На седьмом столбе мудрости дома клана Тайра в Эдо написано: Каждый, кто не понимает разницу между небрежностью и качеством, старанием и поспешностью, - достоин сожаления.
Администратор запретил публиковать записи гостям.

(ХР)Change tileset 15 года 11 мес. назад #20352

  • Scorpionalfa
  • Scorpionalfa аватар
  • Вне сайта
  • Познающий
  • Сообщений: 12
  • Разработчик
Спасибо,сгодится. ;)
Когда ты споришь с дураком,он в это время делает тоже самое.
Администратор запретил публиковать записи гостям.

(ХР)Change tileset 13 года 8 мес. назад #35287

  • Подрез
  • Подрез аватар
  • Вне сайта
  • Мастер
  • Сообщений: 136
  • Спасибо получено: 8
превосходный скрипт! все время такой искал.
Администратор запретил публиковать записи гостям.

(ХР)Change tileset 13 года 8 мес. назад #35288

  • Злодей
  • Злодей аватар
  • Вне сайта
  • Архитектор Миров
  • Настоящее звание: Прокуратор! Просто опечатка!
  • Сообщений: 1876
  • Спасибо получено: 78
NECROPOSTING!
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.317 секунд