| [VX] Changer le fond de combat | |
|
Auteur | Message |
---|
Voyageur Lv.10
Age : 31 Inscrit le : 08/07/2009 Messages : 418
| Sujet: [VX] Changer le fond de combat Ven 31 Juil 2009 - 22:18 | |
| J'ai remarqué qu'il n'y avais pas ce script vachement pratique sur ce forum alors je vous met celui que j'ai trouvé ici :http://www.rpg-maker.fr/index.php?page=scripts&id=191 Ce script permet comme son nom l'indique de changer le fond de combat toutefois il faudra avoir un fond pour CHAQUE CARTE où l'on peux combattre ce qui fait donc un packet de fond de combat ^^ Je ne suis pas l'auteur de ce script bien entendu d'apres le script l'auteur est synthesize - Code:
-
#===============================================================================
# Battle Backgrounds - RMVX
#===============================================================================
module SynBattleB
# Place your battle backgrounds in the 'Pictures' folder (Graphics/Pictures)
# Format = {map_id => Battleback Name}
Battle_background =
{ 1 => "Grassland", }
#-----------------------------------------------------------------------------
# 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
#===============================================================================
# Version 1.00A
# January 20, 2008
# Written by Synthesize
#===============================================================================
# Battle Backgrounds - RMVX
#=============================================================================== Pour le configurer tres simple : - Code:
-
# Format = {map_id => Battleback Name}
Battle_background =
{ 1 => "Grassland", } Le 1 est l'ID de la carte où s'affichera le background choisi et Grassland est le nom de l'image qui sert de background qui doit être dans le dossier Graphics / pictures de votre jeux une petite image du resultat - Spoiler:
Vous pouvez comme moi creer d'abord le fond avec rpg maker et l'utiliser comme fond de combat attention toutefois a ce que le personnage 1 ne se retrouve pas dans le décor ^^ |
|
| |
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
| Sujet: Re: [VX] Changer le fond de combat Ven 31 Juil 2009 - 23:15 | |
| Mmmh oui étrange qu'il ne soit pas présent mais merci du partage =O. |
|
| |
Poulet trizo Lv.3
Age : 37 Inscrit le : 24/08/2008 Messages : 47
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 19:15 | |
| Bien l'bonjour ami makeur! Alors déjà je m'excuse pour le nécropost, mais j'ai vraiment besoin de votre aide concernant le changement des fonds de combat. Voilà, j'ai consulté plusieurs post sur le sujet, et à chaque fois je suis à la lettre vos explications. Mais rien n'y fait, j'ai toujours ce foutu tourbillon coloré! alors est ce que quelqu'un peut m'expliquer les moindres détails de la démarche a suivre, ou ce qui serait mieux, c'est une démo. En vous remerciant! |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 19:20 | |
| J'connaissais pas cette version du script X_x Voici la mienne : - Code:
-
#============================================================================== # ■ VX-RGSS2-7 Change Battle Background [Ver.1.0.0] par Claimh #------------------------------------------------------------------------------ # Traduction Française de : Orig@mi #------------------------------------------------------------------------------ # Changer le fond de combat #==============================================================================
module BattleBack # Selectionne le type de fond de combat # 0: Map courante avec effet de vague pour le fond de combat (style VX par défaut) # 1: Map courante utilisé comme fond de combat # 2:Utilise une image pour le fond de combat BB_TYPE = 2 # Cache le sol de combat BT_FLOOR = false
# Picture (Seulement requis si BB_TYPE = 2) M_B_BACK = { # Map ID => "Nom du fichier picture(Graphics/System)" 1 => ""} end
#============================================================================== # ■ Spriteset_Battle #============================================================================== class Spriteset_Battle #-------------------------------------------------------------------------- # ● Creation du sprite de combat #-------------------------------------------------------------------------- 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 @battleback_sprite = BattleBackSprite.new(@viewport1) end end #-------------------------------------------------------------------------- # ● Creation du sprite du sol #-------------------------------------------------------------------------- alias create_battlefloor_mbb create_battlefloor def create_battlefloor create_battlefloor_mbb if BattleBack::BT_FLOOR end #-------------------------------------------------------------------------- # ● Suppression du sprite du sol #-------------------------------------------------------------------------- alias dispose_battlefloor_mbb dispose_battlefloor def dispose_battlefloor dispose_battlefloor_mbb if BattleBack::BT_FLOOR end #-------------------------------------------------------------------------- # ● Mise a jour du sprite du sol #-------------------------------------------------------------------------- alias update_battlefloor_mbb update_battlefloor def update_battlefloor update_battlefloor_mbb if BattleBack::BT_FLOOR end end
#============================================================================== # ■ Sprite du fond de combat #============================================================================== class BattleBackSprite < Sprite # Taille de l'image du fond de combat WIDTH = 544.00 HEIGHT = 288.00 #-------------------------------------------------------------------------- # ● Initialisation de l'objet #-------------------------------------------------------------------------- def initialize(viewport = nil) super(viewport) self.bitmap = Cache.system(BattleBack::M_B_BACK[$game_map.map_id]) # Zoom porté en dehors de la taille de l'image @x_zoom = WIDTH / self.bitmap.width @y_zoom = HEIGHT / self.bitmap.height @zoom = @x_zoom > @y_zoom ? @x_zoom : @y_zoom # Zoom est porté en dehors self.zoom_x = @zoom self.zoom_y = @zoom # Centré self.ox = self.bitmap.width / 2 self.oy = self.bitmap.height / 2 self.x = (self.bitmap.width / 2) * @zoom self.y = (self.bitmap.height / 2) * @zoom end end Met le sous main et rempli la partie à remplir, et c'too. |
|
| |
Poulet trizo Lv.3
Age : 37 Inscrit le : 24/08/2008 Messages : 47
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 20:25 | |
| - Spoiler:
# Picture (Seulement requis si BB_TYPE = 2) M_B_BACK = { # Map ID => "Nom du fichier picture(Graphics/System)" 1 => ""} end
Alors attend parce que je comprend pas tout "Nom du fichier picture(Graphics/System)" Donc c'est le nom de mon image qui me servira de battleground? Mon image doit se trouver dans Graphic/system ou alors il doit avoir un dossier picture dans le dossier graphic ou dans ledossier system? 1 => "et là"} je met quoi? Et pour inscrire un autre battleground sur une autre carte, je fais comment? Je dois tout remettre comme ça : - Spoiler:
# Picture (Seulement requis si BB_TYPE = 2) M_B_BACK = { # Map ID => "Nom du fichier picture(Graphics/System)" 2 => ""} end
ou juste sa - Spoiler:
2 => ""}
Voilà! si tu peux m'aider, je t'en serais très reconnaissant |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 20:33 | |
| C'est pas dur ... dans graphics/system tu importes une image, par exemple grassland.png
Si tu veux attribuer à tes 3 premières maps ce btb, tu fais :
{ 1 => "grassland.png",
2 => "grassland.png",
3 => "grassland.png" }
Pas de virgule à la dernière, c'est important.
EDIT : méa culpa, pas de .png si vous ne voulez pas que ça buggue
Dernière édition par Matsuo Kaito le Mar 26 Jan 2010 - 19:55, édité 1 fois |
|
| |
Poulet trizo Lv.3
Age : 37 Inscrit le : 24/08/2008 Messages : 47
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 20:47 | |
| Sa marche pas! c'est pas possible! Donc si j'ai bien compris donc il faut mettre - Spoiler:
# Picture (Seulement requis si BB_TYPE = 2) M_B_BACK = { # Map ID => "Grassland.png" 1 => "Grassland.png"} end
et dans ton précedents commentaires tu me dit de la mettre sous main, mais c'est pas plutot au dessus? |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 20:50 | |
| Oui c'est au dessus de main ( entre main et materials, quoi ), sorry de la faute de distraction =3 |
|
| |
Poulet trizo Lv.3
Age : 37 Inscrit le : 24/08/2008 Messages : 47
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 21:13 | |
| Ok mais c'est bien cela qu'il faire (dans le spoiler)? - Spoiler:
# Picture (Seulement requis si BB_TYPE = 2) M_B_BACK = { # Map ID => "Grassland.png" 1 => "Grassland.png"} end
|
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 21:38 | |
| Non ! # Map ID => "Nom du fichier picture(Graphics/System)" Ca c'est l'exemple, t'y touches pas à cette partie du script, c'est du commentaire de toute manière. Ce que tu dois faire c'est : # Map ID => "Nom du fichier picture(Graphics/System)" 1 => "blabla.png", 2 => "blablabla.png" } etc ... |
|
| |
Poulet trizo Lv.3
Age : 37 Inscrit le : 24/08/2008 Messages : 47
| Sujet: Re: [VX] Changer le fond de combat Mer 11 Nov 2009 - 22:32 | |
| Ok merci, mais bon rien n'y fait, ça marche toujours pas! l'image est bien en png, bien dans le dossier system, le script est bien au dessus de main, c'est bien la carte ID n°1, j'ai pas mis la virgule.
Ca peut pas venir de la taille de l'image ou je sais pas.... Je suis désespéré! |
|
| |
Poulet trizo Lv.3
Inscrit le : 23/01/2010 Messages : 42
| Sujet: Re: [VX] Changer le fond de combat Dim 24 Jan 2010 - 19:54 | |
| Salut , tout d'abord désolé si pour vous 2 mois = Nécropost mais j'ai un problème avec ton script Matsuo Kaito , à la ligne 75 dans modules > Cache
Voici les lignes :
# * 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 |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Dim 24 Jan 2010 - 20:07 | |
| Ca ne vient pas du cache, tu as tout simplement oublié de définir quel btb allait à quelle map ( du moins à l'une des maps ). Bref, vérifie que toutes les maps où un combat démarre sont associées à un via " 1 => ", "2 =>" etc etc. |
|
| |
Habitant Lv.6
Age : 34 Inscrit le : 04/12/2009 Messages : 125
| Sujet: Re: [VX] Changer le fond de combat Dim 24 Jan 2010 - 22:37 | |
| Bonsoir Matsuo, chez moi tout fonctionne bien mais je ne sais pas comment faire pour garder l'effet de vague avec un battleback, peux tu m'aidé s'il te plait . |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Lun 25 Jan 2010 - 10:04 | |
| Effet de vague avec un btb ? C'est au choix justement avec ce script : tu as trois modes, 0 > par défaut, 1 > map sans effet de vague ( donc map de base ), 2 > battleback normal. * Donc si tu choisis 0, 1 ou 2, ce choix s'applique sur tout ton jeu, et tu ne peux fusionner les deux. Maintenant, si tu veux faire un effet sur un battleback, soit tu demandes un autres script, soit tu le fais manuellement ( enfin, avec paint.net par exemple, et tu utilises le mode 2 ). * partie à modifier : dernière ligne de cette portion de code - Code:
-
#============================================================================== # ■ VX-RGSS2-7 Change Battle Background [Ver.1.0.0] par Claimh #------------------------------------------------------------------------------ # Traduction Française de : Orig@mi #------------------------------------------------------------------------------ # Changer le fond de combat #==============================================================================
module BattleBack # Selectionne le type de fond de combat # 0: Map courante avec effet de vague pour le fond de combat (style VX par défaut) # 1: Map courante utilisé comme fond de combat # 2:Utilise une image pour le fond de combat BB_TYPE = 2
|
|
| |
Habitant Lv.6
Age : 34 Inscrit le : 04/12/2009 Messages : 125
| Sujet: Re: [VX] Changer le fond de combat Lun 25 Jan 2010 - 10:31 | |
| C'est sympa, merci Matsuo . |
|
| |
Poulet trizo Lv.3
Inscrit le : 23/01/2010 Messages : 42
| Sujet: Re: [VX] Changer le fond de combat Lun 25 Jan 2010 - 19:58 | |
| Salut , en effet j'avais oublié une map où il y avait un combat , mais comment pour que lors d'un combat dans TEL zone j'ai TEL battleground ? |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Lun 25 Jan 2010 - 20:00 | |
| Le script associe un battleback à une map, indépendament des zones ( faut lire le script aussi hein ). |
|
| |
Poulet trizo Lv.3
Inscrit le : 23/01/2010 Messages : 42
| Sujet: Re: [VX] Changer le fond de combat Mar 26 Jan 2010 - 18:02 | |
| Il choisis tout seul selon l'endroit ?
J'ai toujours le bug ligne 75 de modules > cache :
path = folder_name + filename
... je n'arrive pas à résoudre ce bug >< |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Mar 26 Jan 2010 - 18:07 | |
| Bah écoute, il peut y avoir plusieurs zones par map ... Mais même si tu as X zones, chaque zone appartient à une map donc a le même battleback je crois. Ce qui signifie que tu dois programmer quel battleback correspond à quelle map, indépendamment des zones. Pour le reste je sais pas, il existe peut-être un autre script qui correspondrait aux zones mais je ne le connais pas, désolé.
EDIT : le bug à la ligne 75 du cache correspond logiquement à une erreur de programmation du battleback par rapport à la map ... t'es sûr que chaque map où un combat se déroule possède un battleback ? Montre ton module au cas où. |
|
| |
Poulet trizo Lv.3
Inscrit le : 23/01/2010 Messages : 42
| Sujet: Re: [VX] Changer le fond de combat Mar 26 Jan 2010 - 18:49 | |
| Ben j'ai fais deux battleback (pour l'instant ya que deux décors différents où il y a des combats ^^) et je les ai mis dans le script ...
#============================================================================== # ** Cache #------------------------------------------------------------------------------ # This module loads each of graphics, creates a Bitmap object, and retains it. # To speed up load times and conserve memory, this module holds the created # Bitmap object in the internal hash, allowing the program to return # preexisting objects when the same bitmap is requested again. #==============================================================================
module Cache #-------------------------------------------------------------------------- # * Get Animation Graphic # filename : Filename # hue : Hue change value #-------------------------------------------------------------------------- def self.animation(filename, hue) load_bitmap("Graphics/Animations/", filename, hue) end #-------------------------------------------------------------------------- # * Get Battler Graphic # filename : Filename # hue : Hue change value #-------------------------------------------------------------------------- def self.battler(filename, hue) load_bitmap("Graphics/Battlers/", filename, hue) end #-------------------------------------------------------------------------- # * Get Character Graphic # filename : Filename #-------------------------------------------------------------------------- def self.character(filename) load_bitmap("Graphics/Characters/", filename) end #-------------------------------------------------------------------------- # * Get Face Graphic # filename : Filename #-------------------------------------------------------------------------- def self.face(filename) load_bitmap("Graphics/Faces/", filename) end #-------------------------------------------------------------------------- # * Get Parallax Background Graphic # filename : Filename #-------------------------------------------------------------------------- def self.parallax(filename) load_bitmap("Graphics/Parallaxes/", filename) end #-------------------------------------------------------------------------- # * Get Picture Graphic # filename : Filename #-------------------------------------------------------------------------- def self.picture(filename) load_bitmap("Graphics/Pictures/", filename) end #-------------------------------------------------------------------------- # * Get System Graphic # filename : Filename #-------------------------------------------------------------------------- def self.system(filename) load_bitmap("Graphics/System/", 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 |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Mar 26 Jan 2010 - 18:56 | |
| J'ai supprimé le doublon, pas grave. Non, ce que j'aimerai voir c'est ton script de battleback, pas le cache identique chez tous les makers ou presque si je ne m'abuse. Et, de préférence, une information sur tes maps ( genre : sur quelles maps il y a un combat, et sur quelle map le bug apparaît ). |
|
| |
Poulet trizo Lv.3
Inscrit le : 23/01/2010 Messages : 42
| Sujet: Re: [VX] Changer le fond de combat Mar 26 Jan 2010 - 19:15 | |
| #============================================================================== # ■ VX-RGSS2-7 Change Battle Background [Ver.1.0.0] par Claimh #------------------------------------------------------------------------------ # Traduction Française de : Orig@mi #------------------------------------------------------------------------------ # Changer le fond de combat #==============================================================================
module BattleBack # Selectionne le type de fond de combat # 0: Map courante avec effet de vague pour le fond de combat (style VX par défaut) # 1: Map courante utilisé comme fond de combat # 2:Utilise une image pour le fond de combat BB_TYPE = 2 # Cache le sol de combat BT_FLOOR = false
# Picture (Seulement requis si BB_TYPE = 2) M_B_BACK = { # Map ID => "Nom du fichier picture(Graphics/System)" 1 => "Snowbattle.png", 2 => "Housebattle.png" }
end
La suite je n'y ai pas touché . Le bug intervient à chaques maps (pour l'instant il n'y en a que 2 donc deux fonds de combats ... et deux bugs identiques ><) |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Changer le fond de combat Mar 26 Jan 2010 - 19:30 | |
| Tes images en questions sont bien dans le dossier Graphic/System, sous le même nom à la majuscule près ? Ah ouais non ... tu dois pas mettre le .png je crois. Enfin chez moi, je mets pas le .png et ça marche ( donc je sais pas si le .png fait que ça buggue aussi, mais c'est une piste plausible ). |
|
| |
Poulet trizo Lv.3
Inscrit le : 23/01/2010 Messages : 42
| Sujet: Re: [VX] Changer le fond de combat Mar 26 Jan 2010 - 19:32 | |
| Ah j'ai justement ajouté le .pnj parce que j'avais vu dans l'exemple que tu as dit "blablabla.pnj" . C'est sûrement ça la cause . Je vais voir et j'éditerai ^^
Edit : C'était ça , merci infiniment ! |
|
| |
| Sujet: Re: [VX] Changer le fond de combat | |
| |
|
| |
| [VX] Changer le fond de combat | |
|