| (RESOLU][VX] Besoin d'aide pour réparer un script. | |
|
Auteur | Message |
---|
Habitant Lv.6
Age : 32 Inscrit le : 16/06/2011 Messages : 135
| Sujet: (RESOLU][VX] Besoin d'aide pour réparer un script. Dim 28 Juil 2013 - 21:13 | |
| Bonjour à tous. J'ai récemment trouver sur le forum un script qui pourrait m’être utile dans un projet, il s'agit d'un script créé par Biward pour afficher un fond de combat. - Code:
-
#-------------------------------------------------------------------------------------------------------------------# #################################################################### ############################## BATTLE_BACK ######################### #################################################################### #--------------------------------------------------------------------------------------------------------------------#
# Auteur : Biward # Version : 1.0 # Date : 04/07/2010 16:14 # Pour le forum RPG Maker VX et VX-fan
# Utilité : # Permet l'affichage de fond pendant le combat, en fonction de : # Soit, en fonction de la map sur laquelle se déroule le combat; # Soit en fonction de l'id du groupe de monstre en face; # Soit en fonction du level du premier membre de l'équipe; # Soit aléatoirement.
#################################################################### ##################### CONFIGURATION DU SCRIPT ###################### ####################################################################
module BI module BATTLE_FOND # Mettez ici, le type que vous voulez : # Si 1 : # Affichage des images en fonctions de la map du combat # Si 2 : # Affichage des images en fonction de l'ID du groupe de monstre # Si 3 : # Affichage des images en fonction du level du premier membre de l'équipe # Si 4 : # Affichage aléatoire TYPE = 1 # Mettez ici les images en fonctions du type ! # Les images doivent se trouver dans le dossier BattleFond de votre jeu ! FOND = { 1 => "Fond1", 2 => "Fond2", } # Mettez ici l'opacité que doit avoir les fenêtres des combats ! OPACITY = 255/2 end end
###################################################################### ############################# Début du Script ############################ ######################################################################
module Cache def self.battlefond(filename) load_bitmap("Graphics/Battle Fond/", filename) end end
#### Modif de Scene_Battle afin de modifier l'opacité des fenêtres ! class Scene_Battle < Scene_Base include BI::BATTLE_FOND alias start_item_selection_2 start_item_selection alias start_2 start alias create_info_viewport_2 create_info_viewport alias start_target_enemy_selection_2 start_target_enemy_selection alias start_target_actor_selection_2 start_target_actor_selection alias start_skill_selection_2 start_skill_selection alias terminate_2 terminate def start start_2 @message_window.opacity = OPACITY end
def terminate terminate_2 if @fond != nil @fond.dispose end end def create_info_viewport create_info_viewport_2 @status_window.opacity = OPACITY @party_command_window.opacity = OPACITY @actor_command_window.opacity = OPACITY end def start_target_enemy_selection start_target_enemy_selection_2 @target_enemy_window.opacity = OPACITY end def start_target_actor_selection start_target_actor_selection_2 @target_actor_window.opacity = OPACITY end def start_item_selection start_item_selection_2 @help_window.opacity = OPACITY @item_window.opacity = OPACITY end def start_skill_selection start_skill_selection_2 @help_window.opacity = OPACITY @skill_window.opacity = OPACITY end end
#----------------------------------------# # Modif de Spriteset_Battle afin# # d'afficher l'image de fond ! # #-----------------------------------------# class Spriteset_Battle include BI::BATTLE_FOND
alias truc2 create_battleback #-------------------------------------------------------------------------- # * Create Battleback Sprite #-------------------------------------------------------------------------- def create_battleback
@viewport5 = Viewport.new(0, 0, 544, 416)
if TYPE == 1 @fond = Cache.battlefond(FOND[$game_map.map_id]) elsif TYPE == 2 troop = $game_troop.troop.id if troop != nil or @troop != 0 name = FOND[troop].to_s @fond = Cache.battlefond(name) end elsif TYPE == 3 membre = $game_party.members[0].level name = FOND[membre].to_s @fond = Cache.battlefond(name) elsif TYPE == 4 ale = rand(FOND.size) + 1 print ale @fond = Cache.battlefond(FOND[ale]) end
@battleback_sprite = Sprite.new(@viewport1) @battleback_sprite.bitmap = @fond @battleback_sprite.ox = 0 @battleback_sprite.oy = 0 @battleback_sprite.x = 0 @battleback_sprite.y = 0
end end
###################################################################### ############################## Fin du Script ############################# ###################################################################### J'ai choisi la seconde possibilité proposer par le script qui est de définir un fond de combat en fonction de l'ID du groupe ennemi. Mais lorsque je test un combat, il se déroule comme ceci: (Image 1) L'opacité de la fenêtre qui indique l'ennemi visé ne change pas. (Image 2) Lorsque j'utilise la commande attaquer, le jeu m'indique cette erreur dans le script. J'ai bien essayé de comprendre l’erreur, je suis aller voir dans l'éditeur de script si j'avais changé quelque chose qui n'aurait pas dû l'être, mais n'étant pas super doué en script je n'ai rien trouvé. J'utilise ce script avec le SBS : 3.4e Pouvez vous me dire si c'est un problème de compatibilité? (Et si ce n'en est pas un, pouvez vous me dire comment corriger l'erreur s'il vous plait?) Voila, je vous serait franchement reconnaissant pour chaque réponse. |
|
| |
Age : 33 Inscrit le : 02/02/2010 Messages : 4692
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Dim 28 Juil 2013 - 21:23 | |
| Tu as tenté de modifier le OPACITY = 255/2 par un chiffre simple? J'ai pas l'impression que le message d'erreur vienne de là, mais ce qui m'a choqué c'est que le 255/2 tombe sur un chiffre à virgule, et je pensais pas ça possible de gérer l'opacité avec autre chose que des nombres entiers.
Donc teste à tout hasard. Sinon bah je m'en remets aux scripteurs qui seront plus aptes que moi à te donner une solution. |
|
| |
Habitant Lv.6
Age : 32 Inscrit le : 16/06/2011 Messages : 135
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Dim 28 Juil 2013 - 21:31 | |
| J'ai essayé de remplacer le OPACITY = 255/2 par OPACITY = 127, mais le résultat lors du test reste malheureusement le même, Je te remercie néanmoins pour pour avoir essayé de m'aider aussi rapidement. |
|
| |
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Dim 28 Juil 2013 - 22:06 | |
| Je pense que le problème vient du fait que le script est surement destiné au combat de base. Vois avec Biward pour qu'il fasse les modifications nécéssaires. |
|
| |
Habitant Lv.6
Age : 32 Inscrit le : 16/06/2011 Messages : 135
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Lun 29 Juil 2013 - 17:14 | |
| J'ai vais lui demander, merci du conseil. |
|
| |
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Lun 29 Juil 2013 - 18:34 | |
| C'est pour les combats de base, donc je vais voir ce que je peux te faire en rentrant de vacances (et j'en profiterai pour l'améliorer tiens !) Rien que le 255/2 cité par Nus me dit que le code est pas forcément le mieux réalisé x) Bref, à dans 10 jours ! (Peux pas le faire avant, désolé..) |
|
| |
Habitant Lv.6
Age : 32 Inscrit le : 16/06/2011 Messages : 135
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Lun 29 Juil 2013 - 19:42 | |
| Ne t'excuse pas, c'est moi qui devrait être désoler de te faire bosser sur un script juste après ton retour des vacance . Au passage, j'ai commencé à me pencher sur la demande que tu avait poster pour des characters, tu me dira si le résultat te convient. EDIT: Merci pour le script. |
|
| |
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Dim 4 Aoû 2013 - 11:57 | |
| Je repasse juste pour dire que j'ai pas oublié, je suis juste pas encore rentré ! J'essaierai de te faire ça au plus vite ! (Et merci pour les characters si tu y arrives ) |
|
| |
Habitant Lv.6
Age : 32 Inscrit le : 16/06/2011 Messages : 135
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Dim 4 Aoû 2013 - 14:42 | |
| C'est gentil de penser au script, mais ce n'est pas urgent, ne te sent pas obliger de le faire au plus vite, ça peut attendre.
Profite d'abord de tes vacances.
J'ai fini les characters que tu avait demandé, tu me dira si ils te plaisent.
|
|
| |
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Ven 9 Aoû 2013 - 17:44 | |
| Bon alors, j'ai déjà mis le script à jour. Il comportait des fautes, et des oublis que j'ai rectifié. - Spoiler:
- Code:
-
#-------------------------------------------------------------------------------------------------------------------# #################################################################### ############################## BATTLE_BACK ######################### #################################################################### #--------------------------------------------------------------------------------------------------------------------#
# Auteur : Biward # Version : 2.0 # Date : 04/07/2010 16:14 # Pour le forum RPG Maker VX et VX-fan
# Utilité : # Permet l'affichage de fond pendant le combat, en fonction de : # Soit, en fonction de la map sur laquelle se déroule le combat; # Soit en fonction de l'id du groupe de monstre en face; # Soit en fonction du level du premier membre de l'équipe; # Soit aléatoirement.
#################################################################### ##################### CONFIGURATION DU SCRIPT ###################### ####################################################################
module BI module BATTLE_FOND # Mettez ici, le type que vous voulez : # Si 1 : # Affichage des images en fonctions de la map du combat # Si 2 : # Affichage des images en fonction de l'ID du groupe de monstre # Si 3 : # Affichage des images en fonction du level du premier membre de l'équipe # Si 4 : # Affichage aléatoire TYPE = 2 # Mettez ici les images en fonctions du type ! # Les images doivent se trouver dans le dossier BattleFond de votre jeu ! FOND = { 1 => "fond2", 2 => "fond2", } # Mettez ici l'opacité que doit avoir les fenêtres des combats ! OPACITY = 255/2 # Indiquez ici si vous voulez que l'ombre de fond reste ou non (true = oui ; false = non FLOOR = false end end
###################################################################### ############################# Début du Script ############################ ######################################################################
module Cache def self.battlefond(filename) load_bitmap("Graphics/Battle Fond/", filename) end end
#### Modif de Scene_Battle afin de modifier l'opacité des fenêtres ! class Scene_Battle < Scene_Base include BI::BATTLE_FOND alias start_item_selection_2 start_item_selection alias start_2 start alias create_info_viewport_2 create_info_viewport alias start_target_enemy_selection_2 start_target_enemy_selection alias start_target_actor_selection_2 start_target_actor_selection alias start_skill_selection_2 start_skill_selection alias terminate_2 terminate def start start_2 @message_window.opacity = OPACITY if @message_window end def terminate terminate_2 @fond.dispose if @fond end def create_info_viewport create_info_viewport_2 @status_window.opacity = OPACITY if @status_window @party_command_window.opacity = OPACITY if @party_command_window @actor_command_window.opacity = OPACITY if @actor_command_window end def start_target_enemy_selection start_target_enemy_selection_2 @target_enemy_window.opacity = OPACITY if @target_enemy_window end def start_target_actor_selection start_target_actor_selection_2 @target_actor_window.opacity = OPACITY if @target_actor_window end def start_item_selection start_item_selection_2 @item_window.help_window.opacity = OPACITY if @help_window @item_window.opacity = OPACITY if @item_window end def start_skill_selection start_skill_selection_2 @skill_window.help_window.opacity = OPACITY if @help_window @skill_window.opacity = OPACITY if @skill_window end end
#----------------------------------------# # Modif de Spriteset_Battle afin# # d'afficher l'image de fond ! # #-----------------------------------------# class Spriteset_Battle include BI::BATTLE_FOND
alias truc2 create_battleback #-------------------------------------------------------------------------- # * Create Battleback Sprite #-------------------------------------------------------------------------- def create_battleback
@viewport5 = Viewport.new(0, 0, 544, 416)
if TYPE == 1 @fond = Cache.battlefond(FOND[$game_map.map_id]) elsif TYPE == 2 troop = $game_troop.troop.id if troop || @troop != 0 name = FOND[troop].to_s @fond = Cache.battlefond(name) end elsif TYPE == 3 membre = $game_party.members[0].level name = FOND[membre].to_s @fond = Cache.battlefond(name) elsif TYPE == 4 ale = rand(FOND.size) + 1 @fond = Cache.battlefond(FOND[ale]) end @battleback_sprite = Sprite.new(@viewport1) @battleback_sprite.bitmap = @fond @battleback_sprite.ox = 0 @battleback_sprite.oy = 0 @battleback_sprite.x = 0 @battleback_sprite.y = 0 end alias create_battlefloor_bi create_battlefloor def create_battlefloor create_battlefloor_bi if ! FLOOR @battlefloor_sprite.opacity = 0 end end end
###################################################################### ############################## Fin du Script ############################# ######################################################################
Et il faudra que tu ajoutes ce petit patch (qui ne fonctionne que si le SBS 3.4e est installé). J'ai vu dans les options du SBS que tu pouvais mettre l'image de fond (l'ombre) en opacité 0 pour l'effacer. Mais j'ai quand même modifier mon script de manière à ce que l'opacité de cette image ce mette toute seule à zéro (pas besoin de configurer ça du coup ^^). voilà le patch : - Code:
-
class Scene_Battle < Scene_Base alias sm_bi select_member def select_member(actor = false) if $imported["TankentaiSideview"] @help_window2.opacity = BI::BATTLE_FOND::OPACITY if @help_window2 end sm_bi end end J'ai testé durant un combat basique et un combat SBS, et normalement tout fonctionne, mais on sait jamais ! Voilàààà |
|
| |
Habitant Lv.6
Age : 32 Inscrit le : 16/06/2011 Messages : 135
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. Sam 10 Aoû 2013 - 11:23 | |
| Il marche au poil , merci beaucoup pour ton aide. |
|
| |
| Sujet: Re: (RESOLU][VX] Besoin d'aide pour réparer un script. | |
| |
|
| |
| (RESOLU][VX] Besoin d'aide pour réparer un script. | |
|