Вроде уже кидал, но тем не менее. Смена тайлсета прямо на карте для ХР:
В самой игре вызывается через команду "выполнить скрипт", где вводится "$game_map.replace_tileset(1)", где "(1)" это номер набора тайлов в базе данных (как пример). Насколько помню, есть какое-то ограничение, как то - все наборы, прогоняемые через эту команду, должны иметь один и тот-же размер, иначе вылетит. Ну, это не такая большая проблема.Код:#==================================== # Phylomortis Script, Ryethe. Rewrite: Leon_Westbrooke #------------------------------------------------------------------------ # Game_Map and Spriteset_Map are aliased # To call $game_map.replace_tileset(x), where x is the ID number of the new tileset. #==================================== #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Game_Map #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class Game_Map attr_accessor :new_tileset alias leon_gm_tileset_setup setup def setup(map_id) @new_tileset = false leon_gm_tileset_setup(map_id) end def replace_tileset(new_tiles) 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 end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Spriteset_Map #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class Spriteset_Map alias leon_sm_tileset_update update 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 leon_sm_tileset_update end end
С помощью этого можно как раз делать анимированные карты, просто "перелистывая" наборы с заданной скоростью через эвент.




Ответить с цитированием



Социальные закладки