AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



-20%
Le deal à ne pas rater :
(Adhérents Fnac) Enceinte Bluetooth Marshall Stanmore II Noir
199.99 € 249.99 €
Voir le deal

Partagez
 

 SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Boroniste
Citadin Lv.7
Citadin Lv.7
Boroniste


Masculin Age : 26
Inscrit le : 19/11/2010
Messages : 182

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 17:29

Bonjour à tous, ou peut-être bonsoir.

Mon soucis :

Ayant absolument besoin de SWAPXT pour une map très importante, je l'ai donc utiliser. J'ai donc copier/coller le script, installer le logiciel, etc... etc... Et je me retrouve maintenant prêt devant mon logiciel. Je change donc les tilesets, je mappe. Une fois cela fini, j'enregistre donc les tiles et la passabilité avec l'ID de ma map. J'ai regardé la vidéo pour voir si j'ai fais pareil que lui, c'est le cas. Mais, quand je teste, je n'ai pas les tiles que j'ai mis à la place des actuels. J'ai donc un truc très moche qui ne ressemble a rien. Non je ne veux pas passer sous Ace pour ceux qui vont me le dire.

Ma question :

Je voudrais savoir comment faire pour que ce fichu logiciel marche, j'en ai énormement besoin. Je répète que j'ai tout fais correctement.

Merci d'avance.
Revenir en haut Aller en bas
Pakodar
Citadin Lv.7
Citadin Lv.7
Pakodar


Masculin Age : 27
Inscrit le : 16/09/2011
Messages : 179

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 17:55

Yop,
Est-ce que tu as bien collé le gros script à mettre dans la liste des scripts?
Et l'appel du script qu'il te donne lorsque tu as enregistré tes tiles et tes passabilités? As-tu bien mis l'évènement en automatique? (ou du moins le mets-tu en marche?)

Je ne crois pas que ce soit le logiciel qui bug, pourquoi y aurait-il que toi où ça bug? ^^
Revenir en haut Aller en bas
Boroniste
Citadin Lv.7
Citadin Lv.7
Boroniste


Masculin Age : 26
Inscrit le : 19/11/2010
Messages : 182

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 18:19

L'appel de script ? Ah j'ai loupé un truc alors.
Tu pourrais un peu plus me l'expliquer car je suis perdu *_*

Merci d'avance (:
Revenir en haut Aller en bas
Pakodar
Citadin Lv.7
Citadin Lv.7
Pakodar


Masculin Age : 27
Inscrit le : 16/09/2011
Messages : 179

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 18:46

Je reprends de zéro.

I Script

Tu as un script à mettre dans la liste des scripts.
Celui-ci:

Code:
=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

Il vaut mieux le mettre au-dessus de "Materials" je crois... J'en suis pas sûr, mais ça marche!

II Choix des tiles et des passabilités
Tu choisis tes tiles sur SwapXT, tu fais les passabillités. Comme j'ai eu du mal pour ces dernières, je vais te l'expliquer.

Tu créer une nouvelle passabilité (2ème onglet). Tu l'appelles par exemple "Donjon" pour des tiles donjons.
Il te crée le groupe. Ensuite tu re-clique et choisis "Donjon". Là ce sera bon. Les prochaines fois tu n'auras pas forcément avoir besoin de les mettre directement, tu pourras les mettre une fois que tu auras choisi les tiles et les passabilités pour chaque map (dans le troisième onglet).

Mapping et enregistrement de la map
Tu map. Puis tu fais les passabilités sur ton jeu. Ensuite tu enregistres ce que tu as fait.
Puis tu vas sur le 3ème onglet de Swap. Tu appuies sur le petit coché vert, et tu rentres l'ID de ta map (clique droit sur le nom de la map, Propriétés).
Tu vérifies dans le petite boîte à droite que tout est bon, dans le pire des cas tu séléctionnes ce qui est à changer dans la barre déroulante et tu séléctionnes ce qui faut.

Changement de Tiles In game
Ensuite tu cliques sur le petit bouton bleu en bas, "Create a Real-Time..."
Puis tu cliques sur "Apply..."
Il va te donner un code, type "$game_map.swapxt(32591)"

Tu le copies (Ctrl + C) et tu le colles dans un évènement automatique (ou qui s'enclenche au bout d'un moment) dans ton jeu.

Réinitialiser les tiles et les passabilités
Ensuite retourne sur SwapXT, va sur le premier onglet. En haut, clique sur Tools, puis "Restore all tilesets...."
Puis vas sur le 2ème onglet et clique sur "Restore...." à droite de la barre déroulante où tu avais mis les passabilités (pense bien à enregistrer juste avant hein!).
Tu devras faire cette étape à chaque fois que tu changeras les tiles et/ou les passabilités.
Notes qu'à chaque fois que tu changeras les passabilités, il te demandera de réinitialiser le jeu, donc inutile de les mettre dans un profil!

(Les profils permettent de sauvegarder un pack de tiles et/ou les passabilités.
Tu pourras créer un profil pour les forêts, un autre pour les grottes, encore un autre pour l'intérieur des maisons...)

Puis reviens sur ton jeu, replace ton personnage sur la map voulue (il aura sûrement changé de place entre-temps), sauvegarde et test!


Pour les prochaines map types donjon (si je suis mon exemple) tu n'auras qu'à récupéré ce code et le mettre un nouvel évènement sur cette map (à moins que tu l'ai déjà mis sur une autre map donjon). Par contre il faudra quand même "cocher" la map (petit bouton vert Wink )


Dernière édition par Pakodar le Jeu 23 Fév 2012 - 20:12, édité 3 fois
Revenir en haut Aller en bas
Boroniste
Citadin Lv.7
Citadin Lv.7
Boroniste


Masculin Age : 26
Inscrit le : 19/11/2010
Messages : 182

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 19:52

Tout d'abord, merci d'avoir pris autant de temps pour ma demande (:

Des images seront plus efficace que les mots :

Spoiler:


_ _ _ _ __ _

Spoiler:

_ _ _ _ __ _

Spoiler:

J'ai encore du oublier un passage de ton explication --' Enfin je viens d'apprendre un truc avec ces appels de script merci Surprised
Revenir en haut Aller en bas
Pakodar
Citadin Lv.7
Citadin Lv.7
Pakodar


Masculin Age : 27
Inscrit le : 16/09/2011
Messages : 179

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 19:58

Ah oui! Excuse moi!

Reprends à cette étape:
Spoiler:

Là tu as fini de mapper, sauvegardé, etc.

Sur SwapXT, va sur le premier onglet. En haut, clique sur Tools, puis "Restore all tilesets...."
Puis vas sur le 2ème onglet et clique sur "Restore...." à droite de la barre déroulante où tu avais mis les passabilités (pense bien à enregistrer juste avant hein!)
Puis reviens sur ton jeu, replace ton personnage sur la map voulue (il aura sûrement changé de place entre-temps), sauvegarde et test!


Tu devras faire cette étape à chaque fois que tu changeras les tiles et/ou les passabilités.
Notes qu'à chaque fois que tu changeras les passabilités, il te demandera de réinitialiser le jeu, donc inutile de les mettre dans un profil!

Edit: les profils permettent de sauvegarder un pack de tiles et/ou les passabilités.
Tu pourras créer un profil pour les forêts, un autre pour les grottes, encore un autre pour l'intérieur des maisons...


P.S: je complète mon message plus haut Wink
Revenir en haut Aller en bas
Boroniste
Citadin Lv.7
Citadin Lv.7
Boroniste


Masculin Age : 26
Inscrit le : 19/11/2010
Messages : 182

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 20:06

Malgrès ces étapes en plus, le problème persiste :/

Toujours le même message.
Revenir en haut Aller en bas
Pakodar
Citadin Lv.7
Citadin Lv.7
Pakodar


Masculin Age : 27
Inscrit le : 16/09/2011
Messages : 179

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 20:16

--'
Je pensais connaître le message, mais je l'ai pas lu jusqu'au bout...
Dans tous les cas, l'étape que je viens de citer plus haut est à faire obligatoirement de toute façon...


Il ne voit pas RealTime donc...
Crées en un nouveau et change l'appel du code de l'évènement pour voir.

Sinon va dans le dossier de ton jeu, swapxt, puis realtime, et vérifies que le numéro entre parenthèses dans le code y soit (dans ton cas tu devrais avoir 9010.rtx exactement.


Dernière édition par Pakodar le Jeu 23 Fév 2012 - 20:40, édité 1 fois
Revenir en haut Aller en bas
Boroniste
Citadin Lv.7
Citadin Lv.7
Boroniste


Masculin Age : 26
Inscrit le : 19/11/2010
Messages : 182

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 20:28

Il est bien dans le dossier. Je vais devenir fou U_u

J'ai essayé plusieurs fois, sans résultat... J'ai aussi désintaller, réinstaller SwapXT, sans résultat.
Revenir en haut Aller en bas
Pakodar
Citadin Lv.7
Citadin Lv.7
Pakodar


Masculin Age : 27
Inscrit le : 16/09/2011
Messages : 179

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 20:37

Étourdi

Tu ne changes pas de projet entre temps?
C'est la seule chose que je vois...
Après... Je ne sais pas ^^'
Désolé!


Edit: non ça peut pas être ça, faudrait être con en plein... a moins que? lol!
Revenir en haut Aller en bas
Boroniste
Citadin Lv.7
Citadin Lv.7
Boroniste


Masculin Age : 26
Inscrit le : 19/11/2010
Messages : 182

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeJeu 23 Fév 2012 - 21:25

Non ce n'est pas cela x)
Revenir en haut Aller en bas
Pakodar
Citadin Lv.7
Citadin Lv.7
Pakodar


Masculin Age : 27
Inscrit le : 16/09/2011
Messages : 179

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeVen 24 Fév 2012 - 7:35

^^

On va faire un test:
Créer un nouveau projet, créer un nouveau jeu sur SwapXT en sélectionnant le-dit projet.
Change les tiles et les passabilités.
Map.
Enregistre la map avec les tiles et les passabilités, enregistre les passabilités mets les tiles dans graphics, swapxt...
Créer le realtime et met le code obtenu dans un évènement automatique, et test.

Si ça ne marche toujours pas... je pourrais soit te conseiller de changer d'ordi... soit je pourrais plus rien pour toi x)
Revenir en haut Aller en bas
Boroniste
Citadin Lv.7
Citadin Lv.7
Boroniste


Masculin Age : 26
Inscrit le : 19/11/2010
Messages : 182

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeVen 24 Fév 2012 - 8:41

ça ne marche pas mieu... Merci quand même d'avoir voulu m'aider. (:
Je ne sais absolument pas comment je vais faire maintenant...
Revenir en haut Aller en bas
Brahim474
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Brahim474


Masculin Age : 27
Inscrit le : 20/02/2012
Messages : 50

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: re   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeSam 25 Fév 2012 - 10:35

je crois connaitre ton probleme: faut que tu va au 3e onglet dans SWAPXT: tu appui sur le petit bouton avec un V just en bas, tu rentre L'ID de ta map ensuite tu appui sur ok, et tu va en bas tu appui sur le bouton a coté de "create a real-time swap" puis t'appui sur le bouton appui and creat juste juste en bas du code a insérer dans ta map, ensuite tu copie le code, et tu le met dans ta map en event processus parraléle, tu fait appeler le script avec le code [$game.map.swapxt("nombre_alléatoir_dans swapxt")] et tu met juste en bas effacer l'evenement pour pas laguer.


j'utilise swapxt moi Wink
Revenir en haut Aller en bas
Hamburger
Voyageur Lv.10
Voyageur Lv.10
Hamburger


Masculin Age : 26
Inscrit le : 01/08/2011
Messages : 446

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeSam 25 Fév 2012 - 11:37

J'ai le même problème que Boroniste. Je mappe tout comme il faut, mais SWAPTX n'enregistre pas la map.
Revenir en haut Aller en bas
Brahim474
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
Brahim474


Masculin Age : 27
Inscrit le : 20/02/2012
Messages : 50

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeSam 25 Fév 2012 - 13:50

...moi j'avais enregistrer un profile...essaie peut-être que sa va marcher confused

sa marche bien chez moi pourtant, les maps se translatent facilement confused
Revenir en haut Aller en bas
Pakodar
Citadin Lv.7
Citadin Lv.7
Pakodar


Masculin Age : 27
Inscrit le : 16/09/2011
Messages : 179

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeSam 25 Fév 2012 - 14:07

Pakodar a écrit:
Je reprends de zéro.

I Script

Tu as un script à mettre dans la liste des scripts.
Celui-ci:

Code:
=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

Il vaut mieux le mettre au-dessus de "Materials" je crois... J'en suis pas sûr, mais ça marche!

II Choix des tiles et des passabilités
Tu choisis tes tiles sur SwapXT, tu fais les passabillités. Comme j'ai eu du mal pour ces dernières, je vais te l'expliquer.

Tu créer une nouvelle passabilité (2ème onglet). Tu l'appelles par exemple "Donjon" pour des tiles donjons.
Il te crée le groupe. Ensuite tu re-clique et choisis "Donjon". Là ce sera bon. Les prochaines fois tu n'auras pas forcément avoir besoin de les mettre directement, tu pourras les mettre une fois que tu auras choisi les tiles et les passabilités pour chaque map (dans le troisième onglet).

Mapping et enregistrement de la map
Tu map. Puis tu fais les passabilités sur ton jeu. Ensuite tu enregistres ce que tu as fait.
Puis tu vas sur le 3ème onglet de Swap. Tu appuies sur le petit coché vert, et tu rentres l'ID de ta map (clique droit sur le nom de la map, Propriétés).
Tu vérifies dans le petite boîte à droite que tout est bon, dans le pire des cas tu séléctionnes ce qui est à changer dans la barre déroulante et tu séléctionnes ce qui faut.

Changement de Tiles In game
Ensuite tu cliques sur le petit bouton bleu en bas, "Create a Real-Time..."
Puis tu cliques sur "Apply..."
Il va te donner un code, type "$game_map.swapxt(32591)"

Tu le copies (Ctrl + C) et tu le colles dans un évènement automatique (ou qui s'enclenche au bout d'un moment) dans ton jeu.

Réinitialiser les tiles et les passabilités
Ensuite retourne sur SwapXT, va sur le premier onglet. En haut, clique sur Tools, puis "Restore all tilesets...."
Puis vas sur le 2ème onglet et clique sur "Restore...." à droite de la barre déroulante où tu avais mis les passabilités (pense bien à enregistrer juste avant hein!).
Tu devras faire cette étape à chaque fois que tu changeras les tiles et/ou les passabilités.
Notes qu'à chaque fois que tu changeras les passabilités, il te demandera de réinitialiser le jeu, donc inutile de les mettre dans un profil!

(Les profils permettent de sauvegarder un pack de tiles et/ou les passabilités.
Tu pourras créer un profil pour les forêts, un autre pour les grottes, encore un autre pour l'intérieur des maisons...)

Puis reviens sur ton jeu, replace ton personnage sur la map voulue (il aura sûrement changé de place entre-temps), sauvegarde et test!


Pour les prochaines map types donjon (si je suis mon exemple) tu n'auras qu'à récupéré ce code et le mettre un nouvel évènement sur cette map (à moins que tu l'ai déjà mis sur une autre map donjon). Par contre il faudra quand même "cocher" la map (petit bouton vert Wink )

J'ai tout dit plus haut.


Ou alors, essaie de tester:
Pakodar a écrit:

On va faire un test:
Créer un nouveau projet, créer un nouveau jeu sur SwapXT en sélectionnant le-dit projet.
Change les tiles et les passabilités.
Map.
Enregistre la map avec les tiles et les passabilités, enregistre les passabilités mets les tiles dans graphics, swapxt...
Créer le realtime et met le code obtenu dans un évènement automatique, et test.
Revenir en haut Aller en bas
Pouet
Ex-Grand Œil des projets
Ex-Grand Œil des projets
Pouet


Féminin Age : 38
Inscrit le : 10/06/2009
Messages : 1137

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitimeLun 12 Mar 2012 - 20:44

Merci pour ton aide Pako. + 3 en participation pour ta patience et ton dévouement troll
D'ailleurs, si tu es motivé pour faire un tuto sur l'utilisation de ce script... (peut-être que ça existe déjà mais je suis pas très au courant, je ne traine que dans le forum des problèmes et celui des projets XD)

Je déplace donc dans "abandonné" mais ce serait bien d'avoir une trace de ton aide PAko Wink
Revenir en haut Aller en bas
Contenu sponsorisé




SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Empty
MessageSujet: Re: SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.   SWAPXT - Il ne veut pas sauvegarder les tiles d'une map. Icon_minitime

Revenir en haut Aller en bas
 

SWAPXT - Il ne veut pas sauvegarder les tiles d'une map.

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Probleme avec SwapXt
» Problème (stupide) avec le programme SwapXT
» [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche.
» Sauvegarder avant de quitter
» Sauvegarder aussi avec F6 ^^

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Abandonné-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit | Informatique et Internet | Informatique et électronique