Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Jeu 19 Jan 2012 - 7:34
Je peux t'aider je pense, va sur la première map de ton jeux et va sur la case ou le personnage doit commencer, met toi en mode évènement, fais un clic droit dessus un petit menu s'ouvre, va tout en bas du menu "Emplacement de départ" et sélectionne "Equipe" sa devrait faire une petite marque sur la case et la sa devrait résoudre le problème.
Par contre c'est pas ici que tu devrais poster ça, ça n'as rien a voir avec SwapXT.
(Pour info les nécros c'est après 1 mois)
zouzaka
Croisé Lv.14
Age : 26 Inscrit le : 22/05/2011 Messages : 1141
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Jeu 19 Jan 2012 - 12:30
Y a necro' la non ?
Citation :
Dim 24 Juil 2011 - 10:44
Citation :
28 Déc 2011 - 14:59
Citation :
Dim 1 Jan 2012 - 19:17
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Jeu 19 Jan 2012 - 13:42
wil12t > C'est tout simplement, comme Shaolan91 te l'a expliqué, que tu n'as pas de position de départ initié.
zouzaka > Non mais tais toi, ce n'est en aucun cas ton role de dire ce genre de choses !!!
wil12t
Va-nu-pieds Lv.4
Inscrit le : 30/01/2010 Messages : 74
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Sam 21 Jan 2012 - 2:48
merci c'etait bien ça.
(J'aurais dû y penser que c'était un petit détail comme ça )
darkal
Poulet carnivore Lv.2
Inscrit le : 24/09/2011 Messages : 18
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Sam 28 Jan 2012 - 21:39
Merci beaucoup blockade! Ce système me permet de mapper vraiment bien! Merci beaucoup! Bon sinon j'ai un petit problème, je n arrive plus à accéder à la page du script seulement , j'ai swap Xt téléchargé mais suite à un bug j avais supprimé le script et j avais oublié de le copier (allez moquez vous!). Je demande donc à quelquun de bien vouloir me mettre le script nécessaire pour faire fonctionner swap! (désolé du nécro d'une semaine)
Invité
Invité
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Dim 29 Jan 2012 - 7:59
On perds ses scripts. Faut faire attention ^^. Tiens je te le redonne.
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.
#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 ###################################
#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
#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
############################# 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
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
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Dim 29 Jan 2012 - 9:42
Merci beaucoup!
Nina2
Illusionniste Lv.12
Age : 29 Inscrit le : 20/08/2012 Messages : 743
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 17:49
Bonsoir !
Pardon du nécropost, vraiment ! Mais il y a quelque chose que je ne comprends pas... En fait, ça ne marche pas vraiment pour moi.
Voilà ce qui s'affiche lorsque je lance le jeu : http://bildberg.eu/InAt5jSA.png Il y aurait une erreur dans le script donné ? (je précise que j'ai bien fait "Restore all Tilesets to default")
Si le soucis est évident et que mon post est inutile, je m'excuse d'avance ! Mais j'ai beau relire, cette erreur n'est pas spécifiée...
Voilà, merci d'avance
Invité
Invité
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 19:52
Tu as peut etre un autre script qui touche le scene_base. Essai sur un projet vierge et ajoute tes scripts au fur et à mesure.
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 20:11
As tu bien collé le script au bon endroit ? C'est à dire en dessous de ▼ Materials ?
(D'ailleurs, pas de problème pour le nécropost ;D)
Nina2
Illusionniste Lv.12
Age : 29 Inscrit le : 20/08/2012 Messages : 743
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 20:16
Merci de m'avoir répondu !
Ah non ce n'était pas au bon endroit en effet ^^ Maintenant je n'ai plus de message d'erreur, merci !
Par contre, j'ai beau suivre le tutoriel à la lettre, les nouveaux tiles ne s'affichent pas sur la Map lorsque je teste le jeu :/ Sauriez vous pourquoi ?
Invité
Invité
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 20:29
Quand tu choisis ton nouveau tile pour une carte il faut dans l'éditeur changer de map en cliquant puis revenir sur la bonne map. Toutes tes maps seront mais ce n'est que visuel. En enregistrant le jeu sera normal.
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 20:43
As tu bien ajouté l'ID de ta map dans l'onglet Manage VX Map ID de SwapXT ?
Nina2
Illusionniste Lv.12
Age : 29 Inscrit le : 20/08/2012 Messages : 743
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 20:47
Oui, la Map 1 (ou 001) ... Sinon j'ai fais ce que tu as dis crackerwood, mais pourtant... ça ne marche toujours pas ^^" (je désespère xD)
Invité
Invité
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 21:36
Je comprends pas car j'ai jamias eu de bug. malheureusement je ne suis pas sur mon pc mais des que je peux je te ferais une sorte de tuto. il ffaudrait quue tu essai par rapport au premier post du sujet. je trouve qu'il est bien explique.
Nina2
Illusionniste Lv.12
Age : 29 Inscrit le : 20/08/2012 Messages : 743
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche. Mer 22 Aoû 2012 - 21:46
D'accord, merci ^^
Moi aussi je trouve que c'est très bien expliqué, pour ça que je ne comprends pas pourquoi de mon côté, ça ne veut pas marcher... Heureusement, j'ai de la patience xD Comme je débute je vais m'entrainer à mapper et continuer à parcourir les tutoriels.
En tout cas, merci !
EDIT : J'oubliais de dire : Je vais réessayer sur un nouveau projet.
Contenu sponsorisé
Sujet: Re: [VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche.
[VX] SwapXT, un multi tileset sans défaut, simple, intuitif et qui marche.