Witam . Buszując na necie , znalazłem ten oto skrypt , który pozwala zrobić dodatkowe warstwy do map .
Autor :
Lavalle SF ( email'a nie posiadam )
Screen :
Spoiler:
Skrypt :
Spoiler:
Kod:
class Scene_Map < Scene_Base
alias start_2 start
alias update_2 update
attr_reader :map_layer_spritesets
def start
start_2
setup_map_layers
end
def update_transfer_player
return unless $game_player.transfer?
fade = (Graphics.brightness > 0)
fadeout(30) if fade
@spriteset.dispose
for i in 0...@map_layer_spritesets.size
@map_layer_spritesets[i].dispose
end
$game_player.perform_transfer
$game_map.autoplay
$game_map.update
Graphics.wait(15)
@spriteset = Spriteset_Map.new
setup_map_layers
fadein(30) if fade
Input.update
end
def setup_map_layers
maps = load_data("Data/MapInfos.rvdata")
game_map_name = maps[$game_map.map_id].name
@map_layers = []
@map_layer_spritesets = []
map_names = []
layer_map_names = []
layer_index = []
c = maps.keys
d = c.max
for i in 1..d
unless maps[i] == nil
a = nil
map_names.push(maps[i].name)
a = maps[i].name =~ /(l|L)\d+/
layer_map_names.push(maps[i].name) if a != nil
layer_index.push(maps.index(maps[i])) if a != nil
end
end
for string in layer_map_names
string.chop! until string == game_map_name or string == ""
end
if layer_map_names.include?(game_map_name)
for i in 0...layer_map_names.size
if layer_map_names[i] != ""
map = Game_Map.new
map.setup(layer_index[i])
@map_layer_spritesets.push(Spriteset_Map_2.new(map))
@map_layers.push(map)
end
end
end
end
def update
update_2
for i in 0...@map_layer_spritesets.size
@map_layers[i].update
@map_layer_spritesets[i].update
end
end
end
class Spriteset_Map_2 < Spriteset_Map
def initialize(layer)
@layer = layer
create_viewports
create_tilemap
update
end
Aby skrypt działał , należy :
- Wkleić go nad Main, w edytorze skryptu
- Zrobić 2 mapy (jedną główną, a drugą z takim samym napisem co pierwsza, tylko z dodaniem "L1" / "L2" itd.
- Pierwszą mapkę, w drugiej tylko dodatki.
________________________ 2009-10-12 - dzień , od którego jestem uczestnikiem na polskiej scenie RPG Makera [/b]
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Czw 08 Kwi, 2010 07:49
Świetny skrypt. Jedna tylko uwaga (dodałam już informację w powyższym poście):
Warstw z mapami może być wiele. W chwili gdy stworzymy trzy mapy, główną nazwiemy TEST, to kolejne powinny się nazywać: TEST L1 i TEST L2 - z czego ta z dopiskiem L2 będzie warstwą wierzchnią. Tym sposobem możemy nałożyć na siebie z 10 warstw (tylko po co?!)
Niemniej jednak skrypt jest bardzo pomysłowy i oczywiście przydatny Na pewno skorzystam
Pomógł: 22 razy Dołączył: 27 Kwi 2010 Posty: 136 Skąd: że znowu
Wysłany: Pon 03 Sty, 2011 21:18
Ciekawy skrypt. Dzięki niemu można tworzyć efektowniejsze mapy i zawsze miałem problem z tym, jak dodać 2 rzeczy na kupce. Mam nadzieję, że to nie są takie warstwy jak do XP, bo przez nie przestałem w nim tworzyć.
Chciałam ten skrypt wypróbować, więc zrobiłam nowy projekt bez żadnych dodatkowych skryptów poza tym. Zrobiłam dwie mapy Test L1 i Test L2 i niezależnie od tego, gdzie umieszczę pozycję startową gracza, to tylko jedna mapa jest widoczna (nie nakładają się na siebie). Co zrobiłam nie tak?
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum