Voyageur Lv.10
Age : 27 Inscrit le : 08/05/2010 Messages : 383
| Sujet: [Résolu] Problème avec le script Battle Statistics. Sam 5 Juin 2010 - 11:04 | |
| Bonjour à tous, j'ai un problème assez embetant. J'ai trouvé un script sur un site espagnol et je l'ai mis dans mon jeu (il consiste à afficher le nombre de combat total, de combat gagné, de combat perdus et de fuite) Ensuite, j'ai un peu modifier le script pour qu'il apparaisse dans mon menu au lieu d'appuyer sur la touche Q. Et j'ai aussi traduit quelques mots mais je pense pas que ça vienne de ça. Bref voici mon problème, j'ai testé de faire un combat et il y a toujours "Combat total" qui reste à 0, idem pour les autres (fuites, combats perdus etc...) J'ai testé en combat en event et un sans event et rien ni fait... Voici le script (il est pas très long): - Spoiler:
#=============================== # Window_BattleStatistics VX # by Kyonides-Arkanthos alias Kyonides, Shadowball # v 1.0.2 - 03.25.2010 # v 1.0.1 - 12.27.2009 # v 1.0.0 - 02.06.2008 #=============================== module KyoBattleStats @@kyon_stats = [0,0,0,0] # Battles Total, Won, Lost, Escaped def self.kyon_stats; return @@kyon_stats end def self.kyon_stats=(value); @@kyon_stats = value end end
class Window_BattleStatistics < Window_Base include KyoBattleStats def initialize(x=384, y=150) super(x, y, 160, 116) self.contents = Bitmap.new(width - 32, height - 32) self.z = 104 refresh end
def refresh self.contents.clear self.contents.font.size = 16 self.contents.font.bold = true self.contents.font.color = system_color self.contents.draw_text(0, 0, 120, 18, 'Combat total :') self.contents.draw_text(0, 14, 120, 32, 'Combat gagnés : ') self.contents.draw_text(0, 36, 120, 32, 'Combat perdus :') self.contents.draw_text(0, 58, 120, 32, 'Fuites :') self.contents.font.size = 18 self.contents.font.color = normal_color self.contents.draw_text(4, -4, 124, 24, @@kyon_stats[0].to_s, 2) # Total self.contents.draw_text(4, 14, 124, 32, @@kyon_stats[1].to_s, 2) # Won self.contents.draw_text(4, 36, 124, 32, @@kyon_stats[3].to_s, 2) # Lost self.contents.draw_text(4, 58, 124, 32, @@kyon_stats[2].to_s, 2) # Escaped end def show_stats(value); @@kyon_stats[0] += 1; @@kyon_stats[value] += 1; refresh; self.visible = true end end
# * Scene_Menu Mod class Scene_Menu include KyoBattleStats alias :kyon_battle_stats_scene_menu_main :main alias :kyon_battle_stats_scene_menu_up :update def main @battle_stats = Window_BattleStatistics.new kyon_battle_stats_scene_menu_main @battle_stats.dispose end def update kyon_battle_stats_scene_menu_up # Press Q or PageUp key to make the window appear / disappear if Input.trigger?(Input::X) @battle_stats.visible = @battle_stats.visible ? false : true end end end
# * Scene_File Mod class Scene_File include KyoBattleStats alias :kyon_battle_stats_scene_file_write_save_data :write_save_data alias :kyon_battle_stats_scene_file_read_save_data :read_save_data def write_save_data(file) kyon_battle_stats_scene_file_write_save_data(file) Marshal.dump(@@kyon_stats, file) # You'll need to save these variable end
def read_save_data(file) kyon_battle_stats_scene_file_read_save_data(file) # You'll need to load this variable if you'd like to continue playing... @@kyon_stats = [0,0,0,0] if file.eof? @@kyon_stats = Marshal.load(file) if !file.eof? end end
# * Scene_Battle Mod class Scene_Battle include KyoBattleStats alias :kyon_battle_stats_scene_battle_c_info_view :create_info_viewport alias :kyon_battle_stats_scene_battle_d_info_view :dispose_info_viewport alias :kyon_battle_stats_scene_battle_process_defeat :process_defeat def create_info_viewport kyon_battle_stats_scene_battle_c_info_view @battle_stats = Window_BattleStatistics.new(192,24) @battle_stats.visible = false end def dispose_info_viewport kyon_battle_stats_scene_battle_d_info_view @battle_stats.dispose end def process_escape @info_viewport.visible = false @message_window.visible = true text = sprintf(Vocab::EscapeStart, $game_party.name) $game_message.texts.push(text) if $game_troop.preemptive success = true else success = (rand(100) < @escape_ratio) end Sound.play_escape if success @battle_stats.show_stats(2) # Escape wait_for_message battle_end(1) else @escape_ratio += 10 $game_message.texts.push('\.' + Vocab::EscapeFailure) wait_for_message $game_party.clear_actions start_main end end def process_victory @info_viewport.visible = false @message_window.visible = true RPG::BGM.stop $game_system.battle_end_me.play unless $BTEST $game_temp.map_bgm.play $game_temp.map_bgs.play end @battle_stats.show_stats(1) # Victory display_exp_and_gold display_drop_items display_level_up battle_end(0) end def process_defeat @battle_stats.show_stats(3) # Defeat kyon_battle_stats_scene_battle_process_defeat end end
J'ai déjà une petite idée : Je pense ça reste à 0 car les chiffres changent quand on appuie sur la touche Q mais si c'est ça, comment faire pour que les chiffres changent dans le menu ? Si vous avez besoin de mon script de menu, c'est celui que Biward m'a modifié (vous pouvez le voir dans son marché sous le nom de progression du joueur). N'hésitez pas à me demander un screen si besoin. Merci d'avance
Dernière édition par ----Roxxor---- le Sam 5 Juin 2010 - 21:10, édité 1 fois |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [Résolu] Problème avec le script Battle Statistics. Sam 5 Juin 2010 - 11:17 | |
| Et avec le script de base ça fait pareil ? |
|
Voyageur Lv.10
Age : 27 Inscrit le : 08/05/2010 Messages : 383
| Sujet: Re: [Résolu] Problème avec le script Battle Statistics. Sam 5 Juin 2010 - 11:37 | |
| Je viens de tester sur un nouveau projet et ça marche mais c'est fait pour s'afficher après le combat. Mais moi je veux que ça s'affiche dans le menu (en + j'ai un rapport de combat), c'est d'ailleurs pour ça que j'ai modifier la touche. Apparement ça suffit pas pour que ça marche dans le menu et je veux bien qu'on me dise comment faire pour que ça ce fasse dans le menu En fait, c'est plus compliquer que je le pensais, suffit pas de modifier la touche ^^" Edit : Après avoir passé une bonne partie de l'après-midi à chercher comment modifier le script, je vais faire une demande de modification de script en fait...
Dernière édition par ----Roxxor---- le Sam 5 Juin 2010 - 16:27, édité 1 fois |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [Résolu] Problème avec le script Battle Statistics. Sam 5 Juin 2010 - 11:42 | |
| Oui c'est bien plus compliqué que modifier une touche ^^ |
|
Poulet carnivore Lv.2
Inscrit le : 26/05/2010 Messages : 23
| Sujet: Re: [Résolu] Problème avec le script Battle Statistics. Sam 5 Juin 2010 - 20:33 | |
| Pitié, utilisez la balise code pour les codes, je ne suis pas en forme ce soir et sans indentation je ne vois que de la bouillie >_<" Le script est très mal foutu en effet (le mec doit débuter), mais son fonctionnement est simple, il est appelé en fin de combat avec un argument qui indique si c'est une victoire/défaite/fuite, et met donc les variables à jour. Remplace toute la section du class Scene_Battle par ça : - Code:
-
class Scene_Battle include KyoBattleStats alias kyobs_battle_end battle_end def battle_end(result) @@kyon_stats[0] += 1 @@kyon_stats[1+result] += 1 kyobs_battle_end(result) end end Assure-toi que le script soit bien placé après les scripts de ton CBS. Ça met les variables à jour sans appeler sa scene, donc si tu affiches les variables dans ton menu ça devrait marcher. |
|
Voyageur Lv.10
Age : 27 Inscrit le : 08/05/2010 Messages : 383
| Sujet: Re: [Résolu] Problème avec le script Battle Statistics. Sam 5 Juin 2010 - 20:56 | |
| Ok je vais essayer. Je teste et j'édite Edit ! : Merci Krazplay, ça marche ! |
|
| Sujet: Re: [Résolu] Problème avec le script Battle Statistics. | |
| |
|