Poulet carnivore Lv.2
Age : 29 Inscrit le : 02/01/2010 Messages : 10
| Sujet: [Résolu] Script de Battle Background Ven 18 Fév 2011 - 18:16 | |
| Bonjour, Je ne sais pas trop si ce script a plus sa place dans demandes de script ou ici, je vous prierai de m'excuser d'une éventuelle erreur... J'utilise ce script de battleback : - Code:
-
#~ Script Name: Battle Backgrounds #~ Ecrit par: Synthesize #~ Version actuel: Version 1.00A #~ Date: January 20, 2008
#~ What is this script? #~ This simple script allows you to have a battle background instead of the abstract background which is the default for RPG Maker VX. Simply define the Background filename in the customization section, along with your Map_ID.
#~ Features: #~ - Simple #~ - Easy to use #~ - Turn ON/OFF the battlefloor #~ - Once RMVX is released, I will interpret more features
#~ Version : #~ V1.00 #~ - Script is released
#~ Complément info:
#~ Ce script fonctionne. #~ Ce script ce place au dessus du script Main. #~ Il vous permet afficher un fond de combat par carte que vous placerez dans le dossier picture. #~ Voici comment on nomme la picure:
#~ 001-nom #~ Le 001 c'est le numéro de la carte. #~ Ensuite dans le script il faut aussi paramétrer cela.
#~ 1 => "001-Grassland01", #~ 2 => "001-Grassland01"
#~ Au début vous avez cette portion de code.
#~ Changer cela par le nom de la picture. #~ Et garder le 1-2 après 3. #~ Et surtout la virgule aussi.
#========================================================================= # 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=>"Battleback001.png", 2=>"Battleback001.png", 3=>"Battleback003.png", 7=>"Battleback018.png", 10=>"Battleback003.png", 12=>"Battleback003.png", 20=>"Battleback003.png", 21=>"Battleback003.png", 22=>"Battleback003.png", 23=>"Battleback007.png", 24=>"Battleback003.png", 25=>"Battleback003.png"}
#----------------------------------------------------------------------------- # Create the battlefloor? Create_battlefloor = true #----------------------------------------------------------------------------- # 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 #~ #========================================================================= Et j'aimerais savoir s'il était possible de donner un battleback par défaut à toutes les maps qui n'en n'ont pas, afin d'éviter les erreurs. Merci d'avance, VincentValentine
Dernière édition par VincentValentine le Ven 18 Fév 2011 - 18:38, édité 1 fois |
|
Va-nu-pieds Lv.4
Age : 32 Inscrit le : 28/12/2009 Messages : 56
| Sujet: Re: [Résolu] Script de Battle Background Ven 18 Fév 2011 - 18:36 | |
| Il existe un script de ASHKA, de Claimh, de MogHunter et de Skillo qui est plus complet et qui permet de satisfire ta demande. Le voici: - Spoiler:
- Code:
-
#============================================================================== # ¦ BattleBacks #==============================================================================
#Scripts de ASHKA, de Claimh, et de MogHunter fusionnés et modifiés par Skillo
#============================================================================== # ¦ Module BattleBack #============================================================================== module BattleBack # 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é.
# elsif back_10.include?($game_map.map_id) # $battleback_name = "name"
# -------------------------------------------------------------------------- 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"
J'espère que cela te satisfait |
|
Poulet carnivore Lv.2
Age : 29 Inscrit le : 02/01/2010 Messages : 10
| Sujet: Re: [Résolu] Script de Battle Background Ven 18 Fév 2011 - 18:38 | |
| Merci Le seul problème est que je vais devoir retranscrire le noms des maps que j'avais déjà mis, mais on n'a rien sans rien... Au pire j'essaierai de fusionner les deux ^^' |
|
| Sujet: Re: [Résolu] Script de Battle Background | |
| |
|