Conectarse

Recuperar mi contraseña

Estadísticas
Tenemos 15 miembros registrados.
El último usuario registrado es edisonortiz15.

Nuestros miembros han publicado un total de 96 mensajes en 33 argumentos.
Últimos temas
» Hola soy AburameShino
Dom Mayo 01, 2011 10:04 pm por Onuba

» MOG- Battleback EX
Jue Abr 21, 2011 8:16 pm por Onuba

» ABS God of War
Jue Abr 21, 2011 8:13 pm por Onuba

» [VX] PHLiM2's Menu Mod
Jue Abr 21, 2011 8:10 pm por Onuba

» Shadow´s WorkShop !
Vie Mar 18, 2011 7:44 pm por Onuba

» Tiendas/Comercios
Vie Mar 18, 2011 9:15 am por Shadow97

» [Encuesta] ¿Quiéren un mercado?
Jue Mar 17, 2011 8:41 pm por Onuba

» Lee.makeador se presenta
Jue Mar 17, 2011 5:54 pm por Lee.makeador

» [VX]Proyecto Grupal :¿NONAME?
Jue Mar 17, 2011 9:25 am por Shadow97

Compañeros
Noviembre 2017
DomLunMarMiérJueVieSáb
   1234
567891011
12131415161718
19202122232425
2627282930  

Calendario Calendario

Sondeo

[Programa + Script + Tutoriales] SwapXT: Herramienta de intercambio para RPG Maker VX

Ver el tema anterior Ver el tema siguiente Ir abajo

[Programa + Script + Tutoriales] SwapXT: Herramienta de intercambio para RPG Maker VX

Mensaje por Shirokull el Miér Mar 09, 2011 11:58 pm

SwapXT - Herramienta de Intercambio para RPG Maker VX
Tutorial hecho por Juancituh

Intoducción:

En este tutorial, les enseñare a como usar el SwapXT, herramienta que se usa para cambiar los tilesets y los permisos de tilesets de sus juegos, en otras palabras, esta aplicación te permite usar cuantos tilesets quieras en tu juego de una manera rápida y sencilla.

Descargas:

SwapXT (Instalador):

Mirror 1 (MediaFire) (Subido por bulletxt)
Mirror 2 (SourceForge)
(Subido por bulletxt)
Mirror 3 (HotFile) (Subido por Juancituh)

Script (Necesario):

Código:
=begin
                                SwapXT

Version: 1.0
Author: Marco Di Antonio (bulletxt@gmail.com)
Nickname: BulletXt
Date: 14/07/2010

This is SwapXT script that must be put in your VX game script section.
It's Plug&Play.
Use SwapXT application to do swaps once you put this into your VX game.

=end


############################# CONFIGURATION ####################################

#Switch ID.
#If ON, your events will not swap according to tiles and will use default tiles.
DISABLE_EVENT_SWAPPING = 100


=begin
IGNORE the following two switches IDs unless you are using
old 0.4 swapping script found at:
http://lodestone2d.svn.sourceforge.net/viewvc/lodestone2d/Scripts-Dev/Swap_TileSet/Swap_tile_new_passage_setting.rb .
If you are, set the 2 ID switches to ensure compatibility
with your current "old system" swaps.
The meaning of these two switches are described on the old 0.4 script, and you
should already have confidence with them if you need these.
=end
SWAP_TILE = 9999
LOAD_PASSAGE_SETTING = 9998


########################## END CONFIGURATION ###################################


#==============================================================================
# ** Cache

module Cache_Swap_Tiles
 
  #error message in case user is swapping tiles
  #on a map with both old and new system
  def self.error_message(map_id)
  $bulletxt_error_message_mixed_swapping_configuration = "BulletXt Message:
  on this map ID " + map_id.to_s() + "
  you have a dangerous configuration.
  You are swapping tilesets from events and from the swapping application.
  Mixed configuration is not allowed.
  Please decide which system to use to swap your tiles.
  I highly suggest to swap tilesets using the swapping application.
  If you decide to do this, please be sure you turn off the swapping switch
  ID " + SWAP_TILE.to_s() + " before entering this map.
  I will close the game for security reasons." 
  #get rid of \n
  array = $bulletxt_error_message_mixed_swapping_configuration.split("\n")
  size = array.length()
  n = 0
  f = ""
  while n < size do
    message = array[n]
    f = f + message
    n = n + 1
  end
  $bulletxt_error_message_mixed_swapping_configuration = f
  end

  #error message in case user is swapping passage settings
  #on a map with both old and new system
  def self.error_message_passage(map_id)
  $bulletxt_error_message_mixed_swapping_configuration = "BulletXt Message:
  on this map ID " + map_id.to_s() + "
  you have a dangerous configuration.
  You are swapping a passage settings from events and from the swapping application.
  Mixed configuration is not allowed.
  Please decide which system to use to swap your passage settings.
  I highly suggest to swap passage settings using the swapping application.
  If you decide to do this, please be sure you turn off the swapping passage
  setting switch ID " + LOAD_PASSAGE_SETTING.to_s() + " before entering this map.
  I will close the game for security reasons." 
  #get rid of \n
  array = $bulletxt_error_message_mixed_swapping_configuration.split("\n")
  size = array.length()
  n = 0
  f = ""
  while n < size do
    message = array[n]
    f = f + message
    n = n + 1
  end
  $bulletxt_error_message_mixed_swapping_configuration = f
  end 

 
  #--------------------------------------------------------------------------
  # * Get Character Graphic
  #    filename : Filename
  #--------------------------------------------------------------------------
  def self.swap(filename)
    load_bitmap("Graphics/System/extra_tiles/", filename)
  end
 
  #--------------------------------------------------------------------------
  # * Clear Cache
  #--------------------------------------------------------------------------
  def self.clear
    @cache = {} if @cache == nil
    @cache.clear
    GC.start
  end
  #--------------------------------------------------------------------------
  # * Load Bitmap
  #--------------------------------------------------------------------------
  def self.load_bitmap(folder_name, filename, hue = 0)
    @cache = {} if @cache == nil
    path = folder_name + filename
    if not @cache.include?(path) or @cache[path].disposed?
      if filename.empty?
        @cache[path] = Bitmap.new(32, 32)
      else
        @cache[path] = Bitmap.new(path)
      end
    end
    if hue == 0
      return @cache[path]
    else
      key = [path, hue]
      if not @cache.include?(key) or @cache[key].disposed?
        @cache[key] = @cache[path].clone
        @cache[key].hue_change(hue)
      end
      return @cache[key]
    end
  end
end


################################################################################



############ CHECK IF THERE ARE SWAPPED TILES AT START PLAY TIME ###############
=begin
We must ensure user is starting game and there are physically swapped tiles or
passage settings,
tiles that have been for example swapped from the application
=end
class Scene_Title < Scene_Base

  alias swapxt_start start
  def start
    swapxt_start
    check_if_tileset_swapped_exist
    check_if_passage_swapped_exist
  end
 
  def check_if_tileset_swapped_exist
    tile = "Graphics/System/swapped_"
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "A1.png")
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "A2.png")
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "A3.png")
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "A4.png")
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "A5.png")
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "B.png")
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "C.png")
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "D.png")
    tileset_swap_loaded_message_error if FileTest.exist?(tile + "E.png")
  end

  def tileset_swap_loaded_message_error
 
  p sprintf("SwapXT Error: You are not allowed to start your game with
swapped tilesets. You must unload your tilesets with SwapXT application
first. Open SwapXT, click at top Tools->Restore all Tilesets")
    exit
  end
 
  def check_if_passage_swapped_exist
    passage = "swapxt/passage_warning.stx"
    passage_swap_loaded_message_error if FileTest.exist?(passage)
  end
 
  def passage_swap_loaded_message_error
 
  p sprintf("SwapXT Error: You are not allowed to start your game with
swapped passage settings. You must unload your passage setting with
SwapXT application first. Open SwapXT, go on PassageSetting tab and
click on Restore to Default.")
    exit
  end
 
end
################################################################################



=begin
this class takes care of checking if there is a map id file. this class does
not swap tilesets but only prepares the tiles variables(if map id file found).
this class handles loading the passage setting file, for both old and
new system
=end

class Game_Map
  include Cache_Swap_Tiles 
  alias bulletxt_goodbye_vx_limit_tile_setup setup
  def setup(map_id)
 
    #must be false at load time
    $swapxt_realtime = false
   
    #this variable must always be false at runtime.
    #becomes true only if it finds a map id file
    $swap_tileset_profile_bulletxt = false
 
    #check if it must load a saved profile TILESET for this map id
    profile_path_tile = "swapxt/tiles/" + map_id.to_s() + ".stx"
    if FileTest.exist?(profile_path_tile)
      #we must now check if user isn't fooling around with his configuration.
      #he must not be swapping tiles on this map with old and new system
      #at the same time. if this is the case, warn him we don't want issues and
      #close the game
      if $game_switches[SWAP_TILE] == true
        Cache_Swap_Tiles.error_message(map_id)
        p sprintf($bulletxt_error_message_mixed_swapping_configuration)
        exit
      end
      #set this to true so we know we want to swap with new system
      $swap_tileset_profile_bulletxt = true
      #p sprintf(profile_path_tile + " found!")
      #read the map id file, it has 8 lines with the name of the tileset to swap.
      #set each tileset global variable with the corresponding found line, in order.
      $tileA1,$tileA2,$tileA3,$tileA4,$tileA5,$tileB,$tileC,$tileD,$tileE = File.read(profile_path_tile).split("\n")
    end
 
 
    ##################### SWAP PASSSAGE SETTINGS ##########################
    @swap_passagesetting_bulletxt = false
    #for how this works, look at the code above
    profile_path_passages = "swapxt/passages/" + map_id.to_s() + ".stx"
    if FileTest.exist?(profile_path_passages)
      #p sprintf("passage exists on map " + map_id.to_s())
      if $game_switches[LOAD_PASSAGE_SETTING] == true
        Cache_Swap_Tiles.error_message_passage(map_id)
        p sprintf($bulletxt_error_message_mixed_swapping_configuration)
        exit
      end
      @swap_passagesetting_bulletxt = true
      $swap_passages = (File.read(profile_path_passages).split("\n"))[0]
    end
 
   
    #checks if it should load default passage setting, both for old and new system
    if $game_switches[LOAD_PASSAGE_SETTING] == false and @swap_passagesetting_bulletxt == false
      bulletxt_goodbye_vx_limit_tile_setup(map_id)
      $swap_passages = nil
      return 
    end
   
 
    path = "Graphics/System/extra_tiles/" + $swap_passages.to_s() + ".rvdata" rescue nil

    #check if user set $swap_passages to nil cause he wants to load default setting.
    #if user is loading with new system checks if it's equal to empty::*::
    if $swap_passages == nil or $swap_passages == "empty::*::"
      bulletxt_goodbye_vx_limit_tile_setup(map_id)
      return
    end
 

    #when here, we are sure user wants to swap passage setting, either
    #via old system or new system
    #the file to swap is not default one, he wants to swap to a real new one
    @map_id = map_id
    @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
    @display_x = 0
    @display_y = 0
   
    # load system settings from that file
    new_system_rvdata = load_data(path)
    # Use passage settings from that file
    @passages = new_system_rvdata.passages
     
    #default vx code
    referesh_vehicles
    setup_events
    setup_scroll
    setup_parallax
    @need_refresh = false
  end
 
 
############################# REAL TIME SWAPS ################################## 
  #if here, player has done a $game_map.tileset call. It must reload
  #map with new passage setting (if it exists) and upate map.
  #OLD SYSTEM
  def tileset
    #if false, we must update and load default passage
    if $game_switches[LOAD_PASSAGE_SETTING] == false
      @passages = $data_system.passages
    else
      #if nil, must reset passage setting to default 
      if $swap_passages == nil
        @passages = $data_system.passages
        $scene = Scene_Map.new
        return
      end
    path = "Graphics/System/extra_tiles/" + $swap_passages + ".rvdata" rescue nil
    # load system settings from that file
    new_system_rvdata = load_data(path)
    # Use passage settings from that file
    @passages = new_system_rvdata.passages
    end 
    #this updates the map tiles. it does not modify events or anything else.
    $scene = Scene_Map.new
  end
 

 
  #if here, player has done a $game_map.swapxt() call. It must reload
  #map with new passage setting (if it exists) and upate map.
  #NEW SWAPXT SYSTEM
  def swapxt(integer)
    rtx_path = "swapxt/realtime/" + integer.to_s() + ".rtx"
    if !FileTest.exist?(rtx_path )
 
    p sprintf("SwapXT Error: You have called $game_map.swapxt(" +
integer.to_s() + ") , but that Real-Time swap doesn't exist. Please
better check it inside SwapXT app, under the Real-Time section.")
      exit
    end
    $tileA1,$tileA2,$tileA3,$tileA4,$tileA5,$tileB,$tileC,$tileD,$tileE,passage = File.read(rtx_path).split("\n")
    path = "Graphics/System/extra_tiles/" + passage + ".rvdata" rescue nil
    if !FileTest.exist?(path)
 
    p sprintf("SwapXT Error: Unable to find " + path + ". Please go and
 check your existant passages from SwapXT in the PassageSetting
section.")
      exit
    end
    $swapxt_realtime = true #warning,realtime update must occur
    # load system settings from that file
    new_system_rvdata = load_data(path)
    # Use passage settings from that file
    @passages = new_system_rvdata.passages
    #this updates the map tiles. it does not modify events or anything else.
    $scene = Scene_Map.new
  end
 
 
end


#this class handles loading tilesets
class Spriteset_Map
include Cache_Swap_Tiles 

  alias bulletxt_lodestone_create_tilemap create_tilemap
  def create_tilemap
    #if true, it means the map doesn't have to load tilesets,
    #neither for old swapping system or new system.
    #if true, also means no realtime update occured
    #it must load DEFAULT tilesets
    if $game_switches[SWAP_TILE] == false and $swap_tileset_profile_bulletxt == false and $swapxt_realtime == false
      bulletxt_lodestone_create_tilemap
      $tileA1 = nil
      $tileA2 = nil
      $tileA3 = nil
      $tileA4 = nil
      $tileA5 = nil
      $tileB = nil
      $tileC = nil
      $tileD = nil
      $tileE = nil
      return
    end
 
   
   
=begin
calling the original function is a trick. if there are tiles to swap
it will just replace them, otherwise if a tile is nil it won't swap anything,
but still the tile will be loaded because it has already loaded the original tile
when calling this function. in other words, if setting a tile$n = nil will simply
make the script load default tile.
=end
    bulletxt_lodestone_create_tilemap
=begin
when here, some/all tiles must be swapped, either old or with new system.
the tile can be equal to "empty::*::" only if it found the file id of the
map and line$n is equal to empty::*::. in that case it must load default tileset.
there are no chances a user with old system is swapping a tileset named
"empty::*::" because you can't name files with ":" characters under
Microsoft Windows OS.
=end
    path_to_graphic = "extra_tiles/"

    #tileA1
    if $tileA1 == "empty::*::"
      @tilemap.bitmaps[0] = Cache.system("TileA1")
    else
      tile1 = Cache_Swap_Tiles.swap($tileA1 + ".png") rescue nil
      @tilemap.bitmaps[0] = tile1 if $tileA1 != nil
    end
 
    #tileA2
    if $tileA2 == "empty::*::"
      @tilemap.bitmaps[1] = Cache.system("TileA2")
    else
      tile2 = Cache_Swap_Tiles.swap($tileA2 + ".png") rescue nil
      @tilemap.bitmaps[1] = tile2 if $tileA2 != nil
    end
   
    #tileA3
    if $tileA3 == "empty::*::"
      @tilemap.bitmaps[2] = Cache.system("TileA3")
    else
      tile3 = Cache_Swap_Tiles.swap($tileA3 + ".png") rescue nil
      @tilemap.bitmaps[2] = tile3 if $tileA3 != nil
    end
     
    #tileA4
    if $tileA4 == "empty::*::"
      @tilemap.bitmaps[3] = Cache.system("TileA4")
    else
      tile4 = Cache_Swap_Tiles.swap($tileA4 + ".png") rescue nil
      @tilemap.bitmaps[3] = tile4 if $tileA4 != nil
    end
     
    #tileA5
    if $tileA5 == "empty::*::"
      @tilemap.bitmaps[4] = Cache.system("TileA5")
    else
      tile5 = Cache_Swap_Tiles.swap($tileA5 + ".png") rescue nil
      @tilemap.bitmaps[4] = tile5 if $tileA5 != nil
    end

    #tileB
    if $tileB == "empty::*::"
      @tilemap.bitmaps[5] = Cache.system("TileB")
    else
      tile6 = Cache_Swap_Tiles.swap($tileB + ".png") rescue nil
      @tilemap.bitmaps[5] = tile6 if $tileB != nil
    end

    #tileC
    if $tileC == "empty::*::"
      @tilemap.bitmaps[6] = Cache.system("TileC")
    else
      tile7 = Cache_Swap_Tiles.swap($tileC + ".png") rescue nil
      @tilemap.bitmaps[6] = tile7 if $tileC != nil
    end

    #tileD
    if $tileD == "empty::*::"
      @tilemap.bitmaps[7] = Cache.system("TileD")
    else
      tile8 = Cache_Swap_Tiles.swap($tileD + ".png") rescue nil
      @tilemap.bitmaps[7] = tile8 if $tileD != nil
    end

    #tileE
    if $tileE == "empty::*::"
      @tilemap.bitmaps[8] = Cache.system("TileE")
    else
      tile9 = Cache_Swap_Tiles.swap($tileE + ".png") rescue nil
      @tilemap.bitmaps[8] = tile9 if $tileE != nil
    end
   
  #closes def
  end
#closes class
end


########################## SWAP EVENT'S GRAPHICS #############################
#the following class handles swapping event's graphics according to the tiles
class Sprite_Character < Sprite_Base
include Cache_Swap_Tiles

  alias swap_tileset_bitmap tileset_bitmap
  def tileset_bitmap(tile_id)
    #do not swap events if true
    if $game_switches[DISABLE_EVENT_SWAPPING]
        set_number = tile_id / 256
        return Cache.system("TileB") if set_number == 0
        return Cache.system("TileC") if set_number == 1
        return Cache.system("TileD") if set_number == 2
        return Cache.system("TileE") if set_number == 3
        return nil
        return
    end
   
    if $game_switches[SWAP_TILE] == false and $swap_tileset_profile_bulletxt == false and $swapxt_realtime == false
        set_number = tile_id / 256
        return Cache.system("TileB") if set_number == 0
        return Cache.system("TileC") if set_number == 1
        return Cache.system("TileD") if set_number == 2
        return Cache.system("TileE") if set_number == 3
        return nil
        return
    end
   
    swap_tileset_bitmap(tile_id)
    set_number = tile_id / 256
   
    if $tileB == "empty::*::"
      return Cache.system("TileB") if set_number == 0
    else
      return Cache_Swap_Tiles.swap($tileB) if set_number == 0 rescue nil
    end
   
    if $tileC == "empty::*::"
      return Cache.system("TileC") if set_number == 1
    else
      return Cache_Swap_Tiles.swap($tileC) if set_number == 1 rescue nil
    end
   
    if $tileD == "empty::*::"
      return Cache.system("TileD") if set_number == 2
    else
      return Cache_Swap_Tiles.swap($tileD) if set_number == 2 rescue nil
    end
   
    if $tileE == "empty::*::"
      return Cache.system("TileE") if set_number == 3
    else
      return Cache_Swap_Tiles.swap($tileE) if set_number == 3 rescue nil
    end

    return nil
  end
end



=begin
saves tiles and passage setting variables,
needed if you save on a map that has swapped stuff.
this is only needed when using old system, because new system
reads the value from the map id file
=end
class Scene_File < Scene_Base
  alias bulletxt_swap_tiles_write_save_data write_save_data
  def write_save_data(file)
    bulletxt_swap_tiles_write_save_data(file)
    Marshal.dump($tileA1,      file)
    Marshal.dump($tileA2,      file)
    Marshal.dump($tileA3,      file)
    Marshal.dump($tileA4,      file)
    Marshal.dump($tileA5,      file)
    Marshal.dump($tileB,      file)
    Marshal.dump($tileC,      file)
    Marshal.dump($tileD,      file)
    Marshal.dump($tileE,      file)
    Marshal.dump($swap_passages.to_s(),  file)
    Marshal.dump($swap_tileset_profile_bulletxt,  file)
    Marshal.dump($swapxt_realtime, file)
  end 

  alias bulletxt_swap_tiles_read_save_data read_save_data
  def read_save_data(file)
    bulletxt_swap_tiles_read_save_data(file)
    $tileA1        = Marshal.load(file)
    $tileA2        = Marshal.load(file)
    $tileA3        = Marshal.load(file)
    $tileA4        = Marshal.load(file)
    $tileA5        = Marshal.load(file)
    $tileB        = Marshal.load(file)
    $tileC        = Marshal.load(file)
    $tileD        = Marshal.load(file)
    $tileE        = Marshal.load(file)
    $swap_passages = Marshal.load(file)
    $swap_tileset_profile_bulletxt = Marshal.load(file)
    $swapxt_realtime = Marshal.load(file)
  end

end

Descarga: MediaFire


FAQ's:


Q: ¿Que hago con el SwapXt.rb y como lo abro?.
A: Este script sirve para que el SwapXT pueda funcionar en tu juego, y lo puedes abrir con el "Bloc de Notas", copias su contenido y lo pegas en el "Editor de Scripts" de tu juego.

Q: La primera vez que abro el SwapXT me pide que busque el RPG Maker VX.exe, ¿Que hago?.
A: Tal como te dice el mensaje, tienes que buscar la aplicación RPG Maker VX.exe en la carpeta donde instalaste el RPG Maker VX, lo seleccionas y aceptas.

Video Tutoriales en Español por Juancituh: (Se recomienda verlos en Youtube)

[SwapXT] Video Tutorial #1 - TileSets:

http://www.youtube-nocookie.com/v/pqLhE1G8kDI?fs
http://www.youtube-nocookie.com/v/pqLhE1G8kDI?fs


Editado por Onuba: cambié los link para que se puedan ver
avatar
Shirokull
Novato
Novato

Mensajes : 11
Puntos : 21
Reputación : 1
Fecha de inscripción : 09/03/2011
Edad : 19
Localización : España

Ver perfil de usuario http://rpgmakervx.forosactivos.net/

Volver arriba Ir abajo

Re: [Programa + Script + Tutoriales] SwapXT: Herramienta de intercambio para RPG Maker VX

Mensaje por Shadow97 el Jue Mar 10, 2011 12:08 am

Shiro , no se ve el video , yfaltan los créditos , arreglalo por favor Smile
+1 !
avatar
Shadow97
Colaborador
Colaborador

Mensajes : 29
Puntos : 72
Reputación : 0
Especialidad: : Graffer y databaser :) !
Fecha de inscripción : 09/03/2011

Ver perfil de usuario

Volver arriba Ir abajo

Re: [Programa + Script + Tutoriales] SwapXT: Herramienta de intercambio para RPG Maker VX

Mensaje por Onuba el Jue Mar 10, 2011 12:34 am

Bueno, he editado el post para que estén los links directos a youtube
avatar
Onuba
Administrador PM
Administrador PM

Mensajes : 41
Puntos : 105
Reputación : 0
Especialidad: : Mapeador
Fecha de inscripción : 08/03/2011

Ver perfil de usuario http://planeta-maker.creaforo.net

Volver arriba Ir abajo

Re: [Programa + Script + Tutoriales] SwapXT: Herramienta de intercambio para RPG Maker VX

Mensaje por Shirokull el Jue Mar 10, 2011 12:57 am

Gracias por arreglarlo , eso se me paso ~.~ sorry Razz
avatar
Shirokull
Novato
Novato

Mensajes : 11
Puntos : 21
Reputación : 1
Fecha de inscripción : 09/03/2011
Edad : 19
Localización : España

Ver perfil de usuario http://rpgmakervx.forosactivos.net/

Volver arriba Ir abajo

Re: [Programa + Script + Tutoriales] SwapXT: Herramienta de intercambio para RPG Maker VX

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.