Ich habe ein bisschen mit den Standardscripten experimentiert und dabei ist ein Tilesetchanger rausgekommen. Ich habe bisher keine Bugs entdeckt, falls ihr welche findet, meldet sie mir bitte.
Nutzung:
Die Tiles kommen in den System-Grafik Ordner.
Um die Tilesets auszutauschen müsst ihr folgendes per CallScript aufrufen:
Beispiel (TileCM wird nun als TilesetC verwendet):Swti::C = "TileCM"
Also, die Passierbarkeit der Tilesets wird in der System.rvdata gespeichert.
Diese liegt im Dataordner. Um eine neue Passierbarkeit zu laden, kopiert ihr am besten die System.rvdata in ein anderes projekt und passt dort die Passierbarkeit an. Nun kopiert ihr die System.rvdata wieder in den Dataordner eures normalen Projektes, ändert aber den Namen in z.B. SystemCM (.rvdata). Wenn ihr nun die neue passierbarkeit laden wollt, müsst ihr in den CallScript folgendes schreiben:
Swti::PAS = "SystemCM"
Nachdem ihr etwas gewechselt habt, müsst ihr in den CallScript noch folgendes schreiben:
$scene = Scene_Map.new
Script V1.0:
######################################################################################
# PDM's Swap Tilesets #
# Version 1.0 22.09.2010 #
#####################################################################################
module Swti
A1 = "TileA1"
A2 = "TileA2"
A3 = "TileA3"
A4 = "TileA4"
A5 = "TileA5"
B = "TileB"
C = "TileC"
D = "TileD"
E = "TileE"
PAS = "System"
end
class Spriteset_Map
def create_tilemap
@tilemap = Tilemap.new(@viewport1)
@tilemap.bitmaps[0] = Cache.system(Swti::A1)
@tilemap.bitmaps[1] = Cache.system(Swti::A2)
@tilemap.bitmaps[2] = Cache.system(Swti::A3)
@tilemap.bitmaps[3] = Cache.system(Swti::A4)
@tilemap.bitmaps[4] = Cache.system(Swti::A5)
@tilemap.bitmaps[5] = Cache.system(Swti::B)
@tilemap.bitmaps[6] = Cache.system(Swti::C)
@tilemap.bitmaps[7] = Cache.system(Swti::D)
@tilemap.bitmaps[8] = Cache.system(Swti::E)
pass = load_data("Data/"+Swti::PAS+".rvdata")
$game_map.passages = pass.passages
@tilemap.map_data = $game_map.data
@tilemap.passages = $game_map.passages
end
end
class Game_Map
attr_accessor :passages
end
Hier noch ein Hilfsvideo:
TilesetChanger (http://www.youtube.com/watch?v=tWquLEq-gSA#)