# Sélection du type de battle Back # 0:Map actuelle avec effets (Par défaut dans VX) # 1:Map actuelle # 2:Utilisation d'une image comme battle Back BB_TYPE = 0
# Affichage du Battle Floor BT_FLOOR = false
#Coordonnées du Battle Floor si BT_FLOOR = true FLOOR = [0,142, 128]
#Nom du Battle Floor que vous voulez utiliser. Il doit se trouver dans le dossier system de votre jeu. BT_FLOOR_NAME = "BattleFloor"
# Affichage du Battleback pour les tests BT_BACK_TEST = "name"
# Permet d'afficher une map en cas d'oublie de définition de la map (ça evite que votre jeu crash #si vous avez oublié de mettre un battle back pour une map et que vous avez engager un combat #ça affichera un battle back par defaut BT_BACK_BUG = "error"
#Toutes ces fonctions peuvent être changer via un appel de script dans un event #Exemple: pour Désactiver/Activer le Battle Floor, creez un event qui appelle un script dans #lequel vous mettez ceci: #BattleBack::BT_FLOOR = false ou BattleBack::BT_FLOOR = true #Pareil pour les autres fonctions.
end
#============================================================================== # ¦ Module Cache #============================================================================== module Cache def self.battleback(filename) load_bitmap("Graphics/Battlebacks/", filename) end end
#============================================================================== # ¦ Spriteset_Battle #============================================================================== class Spriteset_Battle WIDTH = 544.00 HEIGHT = 416.00 #-------------------------------------------------------------------------- # ? Création du sprite du battle Back #-------------------------------------------------------------------------- def create_battleback case BattleBack::BB_TYPE when 0 source = $game_temp.background_bitmap bitmap = Bitmap.new(640, 480) bitmap.stretch_blt(bitmap.rect, source, source.rect) bitmap.radial_blur(90, 12) @battleback_sprite = Sprite.new(@viewport1) @battleback_sprite.bitmap = bitmap @battleback_sprite.ox = 320 @battleback_sprite.oy = 240 @battleback_sprite.x = 272 @battleback_sprite.y = 176 @battleback_sprite.wave_amp = 8 @battleback_sprite.wave_length = 240 @battleback_sprite.wave_speed = 120 when 1 source = $game_temp.background_bitmap bitmap = Bitmap.new(640, 480) bitmap.stretch_blt(bitmap.rect, source, source.rect) @battleback_sprite = Sprite.new(@viewport1) @battleback_sprite.bitmap = bitmap @battleback_sprite.ox = 320 @battleback_sprite.oy = 240 @battleback_sprite.x = 272 @battleback_sprite.y = 176 when 2 if $BTEST battleback(@viewport1) else battleback(@viewport1, $battleback_name) end end end
#-------------------------------------------------------------------------- # ? Création du sprite du Battle Floor #--------------------------------------------------------------------------
def create_battlefloor if BattleBack::BT_FLOOR @battlefloor_sprite = Sprite.new(@viewport1) @battlefloor_sprite.bitmap = Cache.system(BattleBack::BT_FLOOR_NAME) @battlefloor_sprite.x = BattleBack::FLOOR[0] @battlefloor_sprite.y = BattleBack::FLOOR[1] @battlefloor_sprite.opacity = BattleBack::FLOOR[2] @battlefloor_sprite.z = 1 end end #-------------------------------------------------------------------------- # ? Suppression du sprite du Battle Floor #-------------------------------------------------------------------------- alias dispose_battlefloor_mbb dispose_battlefloor def dispose_battlefloor dispose_battlefloor_mbb if BattleBack::BT_FLOOR end #-------------------------------------------------------------------------- # ? Mise à jour du sprite du Battle Floor #-------------------------------------------------------------------------- alias update_battlefloor_mbb update_battlefloor def update_battlefloor update_battlefloor_mbb if BattleBack::BT_FLOOR end #-------------------------------------------------------------------------- # Creation de l'image du Battleback #-------------------------------------------------------------------------- def battleback(viewport, battleback_name = BattleBack::BT_BACK_TEST) @battleback_name = battleback_name @battleback_sprite = Sprite.new(viewport) @battleback_sprite.bitmap = Cache.battleback(@battleback_name) # Zoom est effectuée selon la taille de l'image. @x_zoom = WIDTH / @battleback_sprite.bitmap.width @y_zoom = HEIGHT / @battleback_sprite.bitmap.height @zoom = @x_zoom > @y_zoom ? @x_zoom : @y_zoom # Zoom effectué. @battleback_sprite.zoom_x = @zoom @battleback_sprite.zoom_y = @zoom # Fabrication de l'affichage centrale. @battleback_sprite.ox = @battleback_sprite.bitmap.width / 2 @battleback_sprite.oy = @battleback_sprite.bitmap.height / 2 @battleback_sprite.x = (@battleback_sprite.bitmap.width / 2) * @zoom @battleback_sprite.y = (@battleback_sprite.bitmap.height / 2) * @zoom end end
# -------------------------------------------------------------------------- # La partie ci-dessous associe une map à un battleback. # Les premieres lignes sont des tableaux stockant des ID des maps. # Les conditions en dessous associent un tableau ( par le biais des ID des maps qu'il contient ) à un battleback. # Rajouter les ID des maps dans le tableau de votre choix !! # Et supprimez le # devant les lignes dont le tableau est utilisé. # Tout vos battlebacks doivent etre importés dans un dossier "Battlebacks" du gestionnaire. # Il suffit ensuite de remplacer "name" par le nom d'un de vos battlebacks ( entre " " ). # Si vous utilisez plus que neuf battleback ( evidement ), il suffit de créer un nouveau tableau à la suite des autres. # L'endroit est indiqué.
# back_10 = [ID, ID, ID, ID, ID]
# Et d'inserer une nouvelle condition juste au dessus du " end " ( le dernier de cette partie ). # L'endroit est indiqué.
# -------------------------------------------------------------------------- class Scene_Map < Scene_Base
alias map_update update def update super back_1 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 1 #back_2 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 2 #back_3 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 3 #back_4 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 4 #back_5 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 5 #back_6 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 6 #back_7 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 7 #back_8 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 8 #back_9 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 9
# Ajouter ci-dessus les tableaux de vos autres battlebacks if back_1.include?($game_map.map_id) $battleback_name = "name" # Nom du battleback 1 lié au tableau back_1 # elsif back_2.include?($game_map.map_id) # $battleback_name = "name" # Nom du battleback 2 lié au tableau back_2 # elsif back_3.include?($game_map.map_id) # $battleback_name = "name" # Nom du battleback 3 lié au tableau back_3 # elsif back_4.include?($game_map.map_id) # $battleback_name = "name" # Nom du battleback 4 lié au tableau back_4 # elsif back_5.include?($game_map.map_id) # $battleback_name = "name" # Nom du battleback 5 lié au tableau back_5 # elsif back_6.include?($game_map.map_id) # $battleback_name = "name" # Nom du battleback 6 lié au tableau back_6 # elsif back_7.include?($game_map.map_id) # $battleback_name = "name" # Nom du battleback 7 lié au tableau back_7 # elsif back_8.include?($game_map.map_id) # $battleback_name = "name" # Nom du battleback 8 lié au tableau back_8 # elsif back_9.include?($game_map.map_id) # $battleback_name = "name" # Nom du battleback 9 lié au tableau back_9
# Ajouter ci-dessus les conditions pour vos autres battleback else $battleback_name = BattleBack::BT_BACK_BUG end # si le joueur est dans une area incluant [A], le battleback est different for area in $data_areas.values if $game_player.in_area?(area) and area.name.include?("[A]") choose_bback(area) end end map_update end
# -------------------------------------------------------------------------- # Choix du battleback des areas # La partie ci-dessous attribue un battleback selon la zone où le héros est. # Sur une map, vous avez le back principal, celui lié au tableau où est l'ID de la map ( l'etape 2 ci-dessus ). # Vous pouvez aussi avoir des zones aves des backs differents. # Il suffit de créer une area ( avec ou sans ennemi supplementaire, à vous de voir !! ). # Si vous voulez que l'area dispose d'un back different de celui du reste de la map, il faut inclure ces trois caracteres dans le nom de l'area : [A] # Il suffit ensuite de preciser quels back en rajoutant un [1], [2] ou [3], ... # Configurer la methode ci dessous pour savoir à quoi correspond chacun d'eux.
# Vous avez donc un battleback pour chaque maps et la possibilité d'avoir plusieurs battlebacks par map grace aux areas !! # L'area appellé "[A][5]je_sais_pas_quoi " aura donc un battleback different que celui de la map, celui correspondant au [5]. # L'area " je_sais_pas_quoi " utilise le même battleback que la map. # ------------------------------------------------------------------------- def choose_bback(area) if area.name.include?("[1]") # Area incluant [1] $battleback_name = "name" # Nom du battleback voulu elsif area.name.include?("[2]") # Area incluant [2] $battleback_name = "name" # Nom du battleback voulu elsif area.name.include?("[3]") # Area incluant [3] $battleback_name = "name" # Nom du battleback voulu elsif area.name.include?("[4]") # Area incluant [4] $battleback_name = "name" # Nom du battleback voulu elsif area.name.include?("[5]") # Area incluant [5] $battleback_name = "name" # Nom du battleback voulu elsif area.name.include?("[6]") # Area incluant [6] $battleback_name = "name" # Nom du battleback voulu elsif area.name.include?("[7]") # Area incluant [7] $battleback_name = "name" # Nom du battleback voulu elsif area.name.include?("[8]") # Area incluant [8] $battleback_name = "name" # Nom du battleback voulu elsif area.name.include?("[9]") # Area incluant [9] $battleback_name = "name" # Nom du battleback voulu end end end # class #$battleback_name = "name"
merci d avance
Dernière édition par Brandobscure001 le Sam 28 Mai 2011 - 8:21, édité 1 fois
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 16:56
# Sélection du type de battle Back # 0:Map actuelle avec effets (Par défaut dans VX) # 1:Map actuelle # 2:Utilisation d'une image comme battle Back BB_TYPE = 0
# Affichage du Battle Floor BT_FLOOR = false
#Coordonnées du Battle Floor si BT_FLOOR = true FLOOR = [0,142, 128]
#Nom du Battle Floor que vous voulez utiliser. Il doit se trouver dans le dossier system de votre jeu. BT_FLOOR_NAME = "BattleFloor"
# Affichage du Battleback pour les tests BT_BACK_TEST = "name"
# Permet d'afficher une map en cas d'oublie de définition de la map (ça evite que votre jeu crash #si vous avez oublié de mettre un battle back pour une map et que vous avez engager un combat #ça affichera un battle back par defaut BT_BACK_BUG = "error"
#Toutes ces fonctions peuvent être changer via un appel de script dans un event #Exemple: pour Désactiver/Activer le Battle Floor, creez un event qui appelle un script dans #lequel vous mettez ceci: #BattleBack::BT_FLOOR = false ou BattleBack::BT_FLOOR = true #Pareil pour les autres fonctions.
Brandobscure001
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:00
je sais mai je comprend rien a son fonctionement
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:07
Pourtant c'est marqué en français. Mais c'est sur que le script est codé n'importe comment.
Brandobscure001
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:09
C est sa que je ne comprend pas
# Sélection du type de battle Back # 0:Map actuelle avec effets (Par défaut dans VX) # 1:Map actuelle # 2:Utilisation d'une image comme battle Back BB_TYPE = 0
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:12
En fait, si tu veux que la map actuelle soit dans le fond tu mets 1 à la place de 0.
Brandobscure001
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:16
J ai un problem avec le script sa mai sa
Tiroflan
Illusionniste Lv.12
Age : 34 Inscrit le : 14/02/2010 Messages : 796
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:26
Ce script est assez mal foutu, y'a un module de configuration mais c'est pas la seule chose que le maker doit configurer :/
Bref, regarde ligne 172 et 184, tu dois rentrer l'id des maps que tu associes à un battleback (là tu ne l'as pas fait, et je crois que c'est ce qui cause le message d'erreur), et aussi préciser le nom de fichier du battleback.
Brandobscure001
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:30
Ok comment je dois faire pour sa allor parce que moi en script je suis nul je dois mettre quoi voici le code back_1 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 1 #back_2 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 2 #back_3 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 3 #back_4 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 4 #back_5 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 5 #back_6 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 6 #back_7 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 7 #back_8 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 8 #back_9 = [ID, ID, ID, ID, ID] # Placer ici toutes les ID des maps associé au back 9
Tiroflan
Illusionniste Lv.12
Age : 34 Inscrit le : 14/02/2010 Messages : 796
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:39
l'id d'une map, c'est son numéro ; lorsque tu crées une nouvelle map, elle s'appelle par défaut MAP010 par exemple, et son id est alors 10. Bref, mais j'ai jeté un œil au code, et tu devrais en prendre un autre, sinon t'as pas fini de le configurer.
Brandobscure001
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 17:49
Ok le quelle me sucgeré tu ? un du meme genre.
Tiroflan
Illusionniste Lv.12
Age : 34 Inscrit le : 14/02/2010 Messages : 796
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 18:04
L'auteur est Synthesize, n'oublie pas de le créditer si tu l'utilises.
Le script :
Code:
#=============================================================================== # Battle Backgrounds - RMVX #=============================================================================== # Written by Synthesize # January 20, 2008 # Version 1.00A #=============================================================================== # * This script is untested. * #=============================================================================== module SynBattleB # Place your battle backgrounds in the 'Pictures' folder (Graphics/Pictures) # Format = {map_id => Battleback Name} Battle_background = { 1 => "001-Grassland01", 2 => "001-Grassland01" } #----------------------------------------------------------------------------- # Create the battlefloor? Create_battlefloor = false #----------------------------------------------------------------------------- # This was being requested on quite a fe forums now, so I threw a quick script # together. It is nice and simple, and does what it is suppsoed to do. Once # RMVX is released in English, then I will add additional features into this. #----------------------------------------------------------------------------- end #------------------------------------------------------------------------------- # Spriteset_Battle #------------------------------------------------------------------------------- class Spriteset_Battle alias syn_create_battlefloor create_battlefloor #----------------------------------------------------------------------------- # Create Battleback #----------------------------------------------------------------------------- def create_battleback image = SynBattleB::Battle_background[$game_map.map_id] @battleback_sprite = Sprite.new(@viewport1) @battleback_sprite.bitmap = Cache.picture(image) end def create_battlefloor @battlefloor_sprite = Sprite.new(@viewport1) syn_create_battlefloor if SynBattleB::Create_battlefloor == true end end #=============================================================================== # * This script is untested * #=============================================================================== # Version 1.00A # January 20, 2008 # Written by Synthesize #=============================================================================== # Battle Backgrounds - RMVX #===============================================================================
Au début du script, tu as :
Code:
module SynBattleB # Place your battle backgrounds in the 'Pictures' folder (Graphics/Pictures) # Format = {map_id => Battleback Name} Battle_background = { 1 => "001-Grassland01", 2 => "001-Grassland01" }
Le 1 => "001-Grassland01" signifie que la map d'id 01 va afficher en battleback l'image (du dossier pictures) appelée 001-Grassland01.
Brandobscure001
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
Sujet: Re: Re moi soluce script battleback [Resolu] Mer 25 Mai 2011 - 18:05
Ok merci Tiroflan bonne nuit sa veux dire que poure avoire plusieur Battleback je dois mettre sa