Aventurier Lv.16
Age : 28 Inscrit le : 03/08/2009 Messages : 1399
| Sujet: Ajout d'une commande dans le script de quête [RESOLU] Mer 2 Mar 2011 - 14:02 | |
| Bonjours à tous Bon d'abord merci de lire ce topic et désolé je savais pas trop où le mettre (c'est pas une demande de script mais c'est un bug sur un script car il n'est pas assez poussé enfin vous verrez). J'utilise le script de quêtes suivant : - Spoiler:
- Code:
-
=begin #----Script créé par Josué Alvarez (RPG-Man)---# Bon, quelques explications s'imposent :
=== Dans "def initialize" on doit avoir : === (Pour en rajouter) @id_switch_qX = Y Avec X : numéro de la quête Avec Y : ID du switch qui fait que la quête est terminée
@id_switch_qdX = Y Avec X : numéro de la quête avec Y : ID du switch qui fait que la quête est débloquée
=== Dans "Def create_command_window", on doit avoir : === #---- Quête 1 ----# if $game_switches[@id_switch_qd1] == true s1 = "Nom quête 1" else s1 = "Quête_1 (vérouillée)" end #---- Quête 2 ----# if $game_switches[@id_switch_qd2] == true s2 = "Nom quête 2" else s2 = "Quête_2 (vérouillée)" end #---- Quête 3 ----# if $game_switches[@id_switch_qd3] == true s3 = "Nom quête 3" else s3 = "Quête_3 (vérouillée)" end @command_window = Window_Command.new(160, [s1, s2, s3])
Si vous rajoutez une quête, rajoutez pour que ça donne ça: === Dans "Def create_command_window", on doit avoir : === #---- Quête 1 ----# if $game_switches[@id_switch_qd1] == true s1 = "Nom quête 1" else s1 = "Quête_1 (vérouillée)" end #---- Quête 2 ----# if $game_switches[@id_switch_qd2] == true s2 = "Nom quête 2" else s2 = "Quête_2 (vérouillée)" end #---- Quête 3 ----# if $game_switches[@id_switch_qd3] == true s3 = "Nom quête 3" else s3 = "Quête_3 (vérouillée)" end #---- Quête 4 ----# if $game_switches[@id_switch_qd4] == true s4 = "Nom quête 4" else s4 = "Quête_4 (vérouillée) end @command_window = Window_Command.new(160, [s1, s2, s3, s4 ]) #(NE PAS OUBLIER DE RAJOUTER ICI!!)
=== Dans "texte_quete" : === A chaque fois qu'une quête est rajoutée, il faut rajouter (au bon endroit, mais ça se voir) when (numero de la quete, SANS PARENTHESES!!) @image_b.bitmap = Cache.picture("Nom de l'image")
== Dans "def image_c" === Si vous avez rajouté des quêtes : when (numéro de la quete -1, vous verrez c'est à la suite) if $game_switches[@id_switch_qX] == true #Avec X le n° de la quete @image_c.bitmap = Cache.picture("Quete_ter")
=== Dans def image_d === Si vous avez rajouté des quêtes : when (numéro de la quete -1, vous verrez c'est à la suite) if $game_switches[@id_switch_qdX] == false # Avec X numéro de la quête @image_c.bitmap = Cache.picture("Quete_cache")
=== Dans "def update_command_selection" :=== Si vous avez rajouté une quête, rajoutez : when (numéro de la quete -1, vous verrez c'est à la suite) @image_a = (Le même n° que dans when) texte_quete image_c image_d NE PAS OUBLIER LES IMAGES QUI VONT AVEC !!!! =end #================================================================ #Classe Scene_Quete par RPG-Man #================================================================ class Scene_Quete def main start picture_back perform_transition Input.update loop do Graphics.update Input.update update break if $scene != self end Graphics.update pre_terminate Graphics.freeze terminate end
def initialize(menu_index = 0) @menu_index = menu_index picture_back texte_quete image_c #---- Switches quetes débloquées ---# @id_switch_qd1 = 29 @id_switch_qd2 = 37 @id_switch_qd3 = 40 @id_switch_qd4 = 43 @id_switch_qd5 = 45 @id_switch_qd6 = 48 @id_switch_qd7 = 50 @id_switch_qd8 = 52 @id_switch_qd9 = 57 @id_switch_qd10 = 59 @id_switch_qd11 = 61 @id_switch_qd12 = 69 @id_switch_qd13 = 72 @id_switch_qd14 = 74 @id_switch_qd15 = 78 @id_switch_qd16 = 91 @id_switch_qd17 = 999 @id_switch_qd18 = 999 @id_switch_qd19 = 999 @id_switch_qd20 = 999 #---- Switches quetes terminées ---# @id_switch_q1 = 30 @id_switch_q2 = 38 @id_switch_q3 = 41 @id_switch_q4 = 44 @id_switch_q5 = 46 @id_switch_q6 = 49 @id_switch_q7 = 51 @id_switch_q8 = 53 @id_switch_q9 = 58 @id_switch_q10 = 60 @id_switch_q11 = 62 @id_switch_q12 = 70 @id_switch_q13 = 73 @id_switch_q14 = 75 @id_switch_q15 = 79 @id_switch_q16 = 92 @id_switch_q17 = 999 @id_switch_q18 = 999 @id_switch_q19 = 999 @id_switch_q20 = 999
end
def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = $game_temp.background_bitmap @menuback_sprite.color.set(16, 16, 16, 128) update_menu_background end
def dispose_menu_background @menuback_sprite.dispose end
def update_menu_background end
def perform_transition Graphics.transition(10) end
def start create_menu_background create_command_window picture_back texte_quete image_c end
def pre_terminate @command_window.close @picture_back = nil begin @command_window.update Graphics.update end end def terminate dispose_menu_background @command_window.dispose
end
def update update_menu_background @command_window.update texte_quete if @command_window.active update_command_selection elsif @status_window.active update_actor_selection picture_back end end
#============================================= #---- Image fond ----# #============================================= def picture_back #~ @picture_back = Sprite.new #~ @picture_back.bitmap = Cache.picture("Menu_quetes") end #============================================= #---- Affichage des noms des quetes ----# #============================================= def create_command_window #---- Quête 1 ----# if $game_switches[@id_switch_qd1] == true s1 = "Coupeur d'arbres" else s1 = "Quête (vérouillée)" end #---- Quête 2 ----# if $game_switches[@id_switch_qd2] == true s2 = "Un jeu d'enfant" else s2 = "Quête (vérouillée)" end #---- Quête 3 ----# if $game_switches[@id_switch_qd3] == true s3 = "Chasse aux ailes" else s3 = "Quête (vérouillée)" end #---- Quête 4 ----# if $game_switches[@id_switch_qd4] == true s4 = "La devinette" else s4 = "Quête (vérouillée)" end #---- Quête 5 ----# if $game_switches[@id_switch_qd5] == true s5 = "Vole à Tercia" else s5 = "Quête (vérouillée)" end #---- Quête 6 ----# if $game_switches[@id_switch_qd6] == true s6 = "Le cadeau" else s6 = "Quête (vérouillée)" end #---- Quête 7 ----# if $game_switches[@id_switch_qd7] == true s7 = "Commande d'arme" else s7 = "Quête (vérouillée)" end #---- Quête 8 ----# if $game_switches[@id_switch_qd8] == true s8 = "Sale Champignon" else s8 = "Quête (vérouillée)" end #---- Quête 9 ----# if $game_switches[@id_switch_qd9] == true s9 = "Drôle d'ours" else s9 = "Quête (vérouillée)" end #---- Quête 10 ----# if $game_switches[@id_switch_qd10] == true s10 = "Drôle de lézards" else s10 = "Quête (vérouillée)" end #---- Quête 11 ----# if $game_switches[@id_switch_qd11] == true s11 = "Jeux d'enfants" else s11 = "Quête (vérouillée)" end #---- Quête 12 ----# if $game_switches[@id_switch_qd12] == true s12 = "Sauver le chat" else s12 = "Quête (vérouillée)" end #---- Quête 13 ----# if $game_switches[@id_switch_qd13] == true s13 = "La flemme" else s13 = "Quête (vérouillée)" end #---- Quête 14 ----# if $game_switches[@id_switch_qd14] == true s14 = "Griffonnier" else s14 = "Quête (vérouillée)" end #---- Quête 15 ----# if $game_switches[@id_switch_qd15] == true s15 = "Sacrifice ?" else s15 = "Quête (vérouillée)" end #---- Quête 16 ----# if $game_switches[@id_switch_qd16] == true s16 = "Mon arme" else s16 = "Quête (vérouillée)" end #---- Quête 17 ----# if $game_switches[@id_switch_qd17] == true s17 = "Quête 17" else s17 = "Quête (vérouillée)" end #---- Quête 18 ----# if $game_switches[@id_switch_qd18] == true s18 = "Quête 18" else s18 = "Quête (vérouillée)" end #---- Quête 19 ----# if $game_switches[@id_switch_qd19] == true s19 = "Quête 19" else s19 = "Quête (vérouillée)" end #---- Quête 20 ----# if $game_switches[@id_switch_qd20] == true s20 = "Quête 20" else s20 = "Quête (vérouillée)" end @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8, s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20]) @command_window.index = @menu_index @command_window.openness = 0 @command_window.open end #============================================= #---- Affichage de l'image de quête ----# #============================================= def texte_quete if @image_b == nil @image_b = Sprite.new @image_b.opacity = 255 case @image_a when 0 @image_b.bitmap = Cache.picture("Quete_1") when 1 @image_b.bitmap = Cache.picture("Quete_2") when 2 @image_b.bitmap = Cache.picture("Quete_3") when 3 @image_b.bitmap = Cache.picture("Quete_4") when 4 @image_b.bitmap = Cache.picture("Quete_5") when 5 @image_b.bitmap = Cache.picture("Quete_6") when 6 @image_b.bitmap = Cache.picture("Quete_7") when 7 @image_b.bitmap = Cache.picture("Quete_8") when 8 @image_b.bitmap = Cache.picture("Quete_9") when 9 @image_b.bitmap = Cache.picture("Quete_10") when 10 @image_b.bitmap = Cache.picture("Quete_11") when 11 @image_b.bitmap = Cache.picture("Quete_12") when 12 @image_b.bitmap = Cache.picture("Quete_13") when 13 @image_b.bitmap = Cache.picture("Quete_14") when 14 @image_b.bitmap = Cache.picture("Quete_15") when 15 @image_b.bitmap = Cache.picture("Quete_16") when 16 @image_b.bitmap = Cache.picture("Quete_17") when 17 @image_b.bitmap = Cache.picture("Quete_18") when 18 @image_b.bitmap = Cache.picture("Quete_19") when 19 @image_b.bitmap = Cache.picture("Quete_20") end end end #============================================= #---- Affichage de l'image lorsque la quête est réussie ----# #============================================= def image_c if @image_c == nil @image_c = Sprite.new case @image_a when 0 if $game_switches[@id_switch_q1] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 1 if $game_switches[@id_switch_q2] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 2 if $game_switches[@id_switch_q3] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 3 if $game_switches[@id_switch_q4] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 4 if $game_switches[@id_switch_q5] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 5 if $game_switches[@id_switch_q6] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 6 if $game_switches[@id_switch_q7] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 7 if $game_switches[@id_switch_q8] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 8 if $game_switches[@id_switch_q9] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 9 if $game_switches[@id_switch_q10] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 10 if $game_switches[@id_switch_q11] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 11 if $game_switches[@id_switch_q12] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 12 if $game_switches[@id_switch_q13] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 13 if $game_switches[@id_switch_q14] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 14 if $game_switches[@id_switch_q15] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 15 if $game_switches[@id_switch_q16] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 16 if $game_switches[@id_switch_q17] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 17 if $game_switches[@id_switch_q18] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 18 if $game_switches[@id_switch_q19] == true @image_c.bitmap = Cache.picture("Quete_ter") end when 19 if $game_switches[@id_switch_q20] == true @image_c.bitmap = Cache.picture("Quete_ter") end
end end end #================================================ #---- Affichage de l'image cachant la quête non débloquée ----# #================================================ def image_d if @image_d == nil @image_d = Sprite.new case @image_a when 0 if $game_switches[@id_switch_qd1] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 1 if $game_switches[@id_switch_qd2] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 2 if $game_switches[@id_switch_qd3] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 3 if $game_switches[@id_switch_qd4] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 4 if $game_switches[@id_switch_qd5] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 5 if $game_switches[@id_switch_qd6] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 6 if $game_switches[@id_switch_qd7] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 7 if $game_switches[@id_switch_qd8] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 8 if $game_switches[@id_switch_qd9] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 9 if $game_switches[@id_switch_qd10] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 10 if $game_switches[@id_switch_qd11] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 11 if $game_switches[@id_switch_qd12] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 12 if $game_switches[@id_switch_qd13] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 13 if $game_switches[@id_switch_qd14] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 14 if $game_switches[@id_switch_qd15] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 15 if $game_switches[@id_switch_qd16] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 16 if $game_switches[@id_switch_qd17] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 17 if $game_switches[@id_switch_qd18] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 18 if $game_switches[@id_switch_qd19] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end when 19 if $game_switches[@id_switch_qd20] == false @image_c.bitmap = Cache.picture("Quete_cache") @image_b.dispose end
end end end #================================================ #---- Sélection ----# #================================================ def update_command_selection if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Menu.new @picture_back = nil @image_b = nil @image_a = nil @image_c = nil #Réussie @image_d = nil #Cache image elsif Input.trigger?(Input::C) Sound.play_decision if @image_b != nil and @image_c != nil and @image_d != nil @image_b.dispose @image_c.dispose @image_d.dispose end @image_a = nil @image_c = nil @image_d = nil @image_b = nil case @command_window.index when 0 @image_a = 0 texte_quete image_c image_d when 1 @image_a = 1 texte_quete image_c image_d when 2 @image_a = 2 texte_quete image_c image_d when 3 @image_a = 3 texte_quete image_c image_d when 4 @image_a = 4 texte_quete image_c image_d when 5 @image_a = 5 texte_quete image_c image_d when 6 @image_a = 6 texte_quete image_c image_d when 7 @image_a = 7 texte_quete image_c image_d when 8 @image_a = 8 texte_quete image_c image_d when 9 @image_a = 9 texte_quete image_c image_d when 10 @image_a = 10 texte_quete image_c image_d when 11 @image_a = 11 texte_quete image_c image_d when 12 @image_a = 12 texte_quete image_c image_d when 13 @image_a = 13 texte_quete image_c image_d when 14 @image_a = 14 texte_quete image_c image_d when 15 @image_a = 15 texte_quete image_c image_d when 16 @image_a = 16 texte_quete image_c image_d when 17 @image_a = 17 texte_quete image_c image_d when 18 @image_a = 18 texte_quete image_c image_d when 19 @image_a = 19 texte_quete image_c image_d end end end end
Ce script marche comme je le désirerez mis à part un point assez problématique -_-" : Une fois un certain nombre de quête débloqué la fenêtre continu mais pas normalement, enfaite elle continue comme si l'écran n'avait aucune limite ==" Voilà l'exemple en image : - Spoiler:
Ça ne ce voit pas mais mon curseur et sur la 18/19 quêtes à peu près xD Donc j'aurais aimé que quelqu'un prenne le temps de rajouter le module dans le script car zang' m'avais passé un bout de code à mettre dans les RGSS2 de base mais sans résultats... Bref je ne sais pas si c'est très rapide ou ultra long (ni vraiment comment faire ~~J'espère qu'il ne vous faut pas refaire le script U_U) Merci de ne pas me filer un lien en me disant "Nan mais tu t'en bas les stéches ! J'ai un meilleur script de quête -> lien" Car vous comprenez bien que je serez forcé de refaire tout mon système de quêtes dans mon projet. Bye et merci d'avance
Dernière édition par thérapie le Mer 2 Mar 2011 - 15:25, édité 1 fois |
|
Aventurier Lv.16
Age : 28 Inscrit le : 03/08/2009 Messages : 1399
| Sujet: Re: Ajout d'une commande dans le script de quête [RESOLU] Mer 2 Mar 2011 - 15:25 | |
| Bon... Désolé du double post mais je suis obligé pour upper le topic xD En faite j'ai posté ce problème sur plusieurs sites histoire d'être rapidement exaucé et puis nairda a trouvé la solution Il faut rajouté : - Code:
-
@command_window.height = 416 Juste après : - Code:
-
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8, s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20]) @command_window.index = @menu_index Le problème est donc résolu (ça me fait bizarre de me répondre à moi même :/) Bye et merci quand à tous ! |
|