Ex-Grand Œil des projets
Age : 39 Inscrit le : 10/06/2009 Messages : 1137
| Sujet: Affichage HUD / Script Requiem ABS 9 (RESOLU) Sam 1 Déc 2012 - 12:52 | |
| Bonjour, Je sais que la question que je vais poser a déjà été posée Vous ici et ailleurs : Comment je fais pour retirer le HUD dans les villes, les maisons, les cinématiques, du script Requiem ABS 9 ? Vous allez me dire : suffit d'activer l'interrupteur correspondant. Fichtre j'ai déjà essayé !! J'ai même lu presque tout le script, c'est vous dire. Voici l'extrait qui nous intéresse : - Spoiler:
#============================================================================== # Requiem HUD #==============================================================================
OnOff_Switch = 0 # Switch ID that show or hide the HUD
Skills_Text = "Magie" # Text displayed on skills window
Items_Text = "Objets" # Text displayed on items window
Ammo_Text = "Munitions" # Text displayed on ammunitions window
#------------------------------------------------------------------------------ if Requiem_Masterpiece.enabled?("Requiem ABS", 5.0) #------------------------------------------------------------------------------ Requiem_Masterpiece.register("Requiem HUD", 1.1, "06/05/2009") #------------------------------------------------------------------------------ class Requiem_HUD1 < Window_Base def initialize super(-32, -32, 224, 140) self.opacity = 0 @actor = $game_party.members[0] @old_hp = @actor.hp if @actor != nil @old_mp = @actor.mp if @actor != nil @old_exp = @actor.exp if @actor != nil update refresh end def update return if $game_party.members.size <= 0 @actor = $game_party.members[0] if @actor != $game_party.members[0] return unless @old_hp != @actor.hp or @old_mp != @actor.mp or @old_exp != @actor.exp @old_hp = @actor.hp @old_mp = @actor.mp @old_exp = @actor.exp refresh end def refresh return if $game_party.members.size <= 0 self.contents.clear draw_hpbar(@actor, 42, 16) draw_mpbar(@actor, 42, 38) draw_expbar(@actor, 42, 60) if @actor.next_exp > 0 self.contents.font.size = 16 self.contents.draw_outlined_text(18, 14, 24, 24, Vocab::hp_a) self.contents.draw_outlined_text(18, 36, 24, 24, Vocab::mp_a) self.contents.draw_outlined_text(18, 56, 24, 24, "Exp") if @actor.next_exp > 0 end def draw_hpbar(actor, x, y) base = Cache.system("Base") self.contents.blt(x, y, base, base.rect) bar = Cache.system("HP Bar") meter = Rect.new(0, 0, base.width * actor.hp / actor.maxhp, base.height) self.contents.blt(x, y, bar, meter) end def draw_mpbar(actor, x, y) base = Cache.system("Base") self.contents.blt(x, y, base, base.rect) bar = Cache.system("MP Bar") meter = Rect.new(0, 0, base.width * actor.mp / actor.maxmp, base.height) self.contents.blt(x, y, bar, meter) end def draw_expbar(actor, x, y) base = Cache.system("Base") self.contents.blt(x, y, base, base.rect) bar = Cache.system("Exp Bar") meter = Rect.new(0, 0, base.width * actor.current_exp / actor.next_exp, base.height) self.contents.blt(x, y, bar, meter) end end
#------------------------------------------------------------------------------ class Requiem_HUD2 < Window_Base def initialize super(-32, -32, 608, 480) self.opacity = 0 @actor = $game_party.members[0] @skills = (@actor.nil? ? nil : @actor.skill_hotkeys.values) @items = (@actor.nil? ? nil : @actor.item_hotkeys.values) refresh end def update return if $game_party.members.size <= 0 refresh if something_changed? end def something_changed? return true if @actor != $game_party.members[0] return true if @actor != nil and @skills != @actor.skill_hotkeys.values return true if @actor != nil and @items != @actor.item_hotkeys.values return false end def refresh return if $game_party.members.size <= 0 @actor = $game_party.members[0] @skills = @actor.skill_hotkeys.values @items = @actor.item_hotkeys.values self.contents.clear self.contents.font.size = 16 bitmap = Cache.system("HUD") rect = Rect.new(0, 0, 544, 416) self.contents.blt(16, 16, bitmap, rect) draw_skills(464, 28) draw_items(464, 396) draw_ammo(32, 396) end def draw_skills(x, y) count = 0 @actor.skill_hotkeys.each { |key, value| next if value.nil? skill = $data_skills[value] next if skill.nil? draw_icon(skill.icon_index, (32*count)+x-4, y) self.contents.draw_outlined_text((32*count)+x+5, y+17, 64, 24, Keys.name(key)) count += 1 } self.contents.draw_outlined_text(x-7, y-15, 96, 24, Skills_Text, 1) end def draw_items(x, y) count = 0 @actor.item_hotkeys.each { |key, value| next if value.nil? item = $data_items[value] next if item.nil? draw_icon(item.icon_index, (32*count)+x-4, y) self.contents.draw_outlined_text((32*count)+x+5, y+17, 64, 24, Keys.name(key)) count += 1 } self.contents.draw_outlined_text(x-7, y-15, 96, 24, Items_Text, 1) end def draw_ammo(x, y) if @actor.weapons[0] != nil and @actor.weapons[0].ranged? if @actor.weapons[0].ammo1 != nil draw_icon(@actor.equips[0].ammo1.icon_index, x-4, y) if @actor.equips[0].ammo1 != nil end if @actor.weapons[0].ammo2 != nil draw_icon(@actor.equips[0].ammo2.icon_index, x+28, y) if @actor.equips[0].ammo2 != nil end self.contents.draw_outlined_text(x+5, y+17, 32, 24, Keys.name($Requiem_ABS.attack_key1)) self.contents.draw_outlined_text(x+37, y+17, 32, 24, Keys.name($Requiem_ABS.attack_key2)) end
self.contents.draw_outlined_text(x-7, y-16, 64, 24, Ammo_Text, 1) end end
#------------------------------------------------------------------------------ class Scene_Map < Scene_Base alias requiem_hud_start start alias requiem_hud_update update alias requiem_hud_terminate terminate def start requiem_hud_start @hud_window1 = Requiem_HUD1.new @hud_window2 = Requiem_HUD2.new @hud_window1.visible = false @hud_window2.visible = false showing_hud end def update requiem_hud_update showing_hud @hud_window1.update if @hud_window1.visible @hud_window2.update if @hud_window2.visible end def terminate requiem_hud_terminate @hud_window1.dispose @hud_window2.dispose end def showing_hud if OnOff_Switch <= 0 or $game_switches[OnOff_Switch] @hud_window1.visible = true @hud_window2.visible = true else @hud_window1.visible = false @hud_window2.visible = false end end
end #------------------------------------------------------------------------------ end
J'ai donc remplacé ce 0 par un 20 (dans les deux parties du script en rouge), et tenté de créer des évènements en processus parallèle pour activer/désactiver l'interrupteur 20. En vain, le HUD ne bouge pas. Quelqu'un aurait-il l'amabilité d'éclairer ma lanterne ? Merci d'avance.
Dernière édition par Pouet le Mar 4 Déc 2012 - 18:20, édité 1 fois |
|
Poulet trizo Lv.3
Age : 30 Inscrit le : 26/11/2012 Messages : 46
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Sam 1 Déc 2012 - 13:16 | |
| Je pense que c'est avec des appels de scripte (je l'avais utiliser)
du genre
$game_switches[Off_Switch] = desactivé
$game_switches[On_Switch] = activé
mais je sais pas si l'appelle de scripte est correcte mais c'est un truck comme sa
(pas doué en scripte mais déjà utiliser) |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Sam 1 Déc 2012 - 13:24 | |
| Hum, non ce que tu dis ça revient au même que d'utiliser la commande en évent. Je jetterais un oeil dessus ce soir ou demain. |
|
Ex-Grand Œil des projets
Age : 39 Inscrit le : 10/06/2009 Messages : 1137
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Dim 2 Déc 2012 - 9:37 | |
| J'ai essayé ce que Layfon a proposé et effectivement ça ne marche pas, est-ce qu'il faut pas ajouter un numéro de switch dans l'appel de script ? Et si oui à quel endroit ?
J'ajoute que je n'ai pas d'autre script donc il n'y a pas de conflit possible.
|
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Dim 2 Déc 2012 - 10:35 | |
| Est ce que tu peux faire un projet test avec ton bug ? Histoire que je j'aie tous les éléments pour analyser le problème. |
|
Ex-Grand Œil des projets
Age : 39 Inscrit le : 10/06/2009 Messages : 1137
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Dim 2 Déc 2012 - 11:20 | |
| Projet test
De toute façon le projet est vraiment à l'état embryonnaire. Merci de te pencher sur la question Zangther, bon courage. en attendant je mapp. |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Dim 2 Déc 2012 - 14:39 | |
| Bwa, le script est pas compliqué. Je pense pouvoir te faire ça pour ce soir. Sinon, ben je verrais plus tard ;D |
|
Citadin Lv.7
Age : 38 Inscrit le : 12/02/2010 Messages : 204
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 18:16 | |
| Bonjour, j'ai repris ta démo donc vue que ton interrupteur est le numéro 20, remplaces ces deux parties. - Code:
-
#============================================================================== # Requiem HUD #==============================================================================
OnOff_Switch = 20 # Switch ID that show or hide the HUD
Skills_Text = "Magie" # Text displayed on skills window
Items_Text = "Objets" # Text displayed on items window
Ammo_Text = "Munitions" # Text displayed on ammunitions window - Code:
-
def showing_hud if OnOff_Switch <= 20 or $game_switches[OnOff_Switch] @hud_window1.visible = true @hud_window2.visible = true elsif $game_switches[OnOff_Switch] == false @hud_window1.visible = false @hud_window2.visible = false end end Ensuite ton interrupteur OnOff_Switch (numéro 20) tu le met bien sur désactiver et ça marche. |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 20:20 | |
| Non, y'a rien du tout à changer. Il faut juste mettre le bon numéro dans la configuration et ton script marche. |
|
Citadin Lv.7
Age : 38 Inscrit le : 12/02/2010 Messages : 204
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 20:48 | |
| Ah Zang, toujours le même même après presque 1 an et demi d'absence, ca "m'amuse" toujours autant de voir à quel point tes remarques peuvent faire avancer le chmilblique.
Enfin bref... Pouet, fais comme tu le sens, soit ce que j'ai proposé qui est certe de la bidouille mais qui fonctionne, soit tu comprend ce que Zang veut dire par : "Non, y'a rien du tout à changer. Il faut juste mettre le bon numéro dans la configuration et ton script marche."
Ainsi te voilà avec deux solutions à ton problème. |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 20:55 | |
| Ben en fait ta modification apporte le magnifique avantage de ne plus pouvoir utiliser les interrupteurs de 1 à 19 pour le HUD. Y'a juste la configuration préalable à faire, je viens juste de faire le test.
Après, je ne vois pas en quoi je suis méchant. Tu propose un solution erronée, je me permets de la rectifier. Rappelle toi que c'est en faisant des erreurs que l'on peut apprendre. |
|
Poulet trizo Lv.3
Age : 30 Inscrit le : 26/11/2012 Messages : 46
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 21:03 | |
| - Pouet a écrit:
- J'ai essayé ce que Layfon a proposé et effectivement ça ne marche pas, est-ce qu'il faut pas ajouter un numéro de switch dans l'appel de script ? Et si oui à quel endroit ?
J'ajoute que je n'ai pas d'autre script donc il n'y a pas de conflit possible.
désolé de t'avoir mis dans l'erreur sa partais d'une bonne intentions, mais je n'avais pas le niveau pour t'aider a ce que je voit ^^ |
|
Ex-Grand Œil des projets
Age : 39 Inscrit le : 10/06/2009 Messages : 1137
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 21:05 | |
| Euh...en fait Doddy c'est exactement ce que j'avais testé et ça n'a pas marché ! C'est bien pour cela que j'ai posté ce message ! Merci quand même. Merci de t'y donner Zang, tu risque d'apparaître ENCORE dans les crédits de mon prochain jeu. Je crois que je vais prendre un abonnement, tu fais des forfaits ? EDIT : Layfon : l'important c'est de participer |
|
Citadin Lv.7
Age : 38 Inscrit le : 12/02/2010 Messages : 204
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 21:13 | |
| Bon autant pour moi alors visiblement ya que chez moi que ca fonctionne... J'ai simplement changé le else par : - Code:
-
elsif $game_switches[OnOff_Switch] == false
Edit : Après en avoir discuter avec Grim il s'avère que c'est un gros coup de bol si ma solution fonctionne elle ne devrait pas. Et il m'a bien expliqué que c'est totalement illogique et je lui accorde. Néanmoin cette solution fonctionne et tu peux peut être t'en accommoder le temps de trouver quelques chose de plus logique. Voici ta démo avec les modifications. http://www.terafiles.net/v-170860.html |
|
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 21:57 | |
| Pouet, ouais je fais les forfaits. Je te rassure les prix restent accessibles =D |
|
Invité
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 22:03 | |
| A rajouter en dessous ... - Code:
-
class Scene_Map def showing_hud flag = (OnOff_Switch == 0) ? true : $game_switches[OnOff_Switch] @hud_window1.visible = @hud_window2.visible = flag end end Si ton interrupteur (défini dans OnOff_Switch) est activé, le hud est visible, sinon, il est invisible. (mais chez moi il ne fallait rien changer... ça marchait déjà ^^) |
|
Citadin Lv.7
Age : 38 Inscrit le : 12/02/2010 Messages : 204
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Lun 3 Déc 2012 - 22:27 | |
| Bon en fait j'ai dit de la merde et je me suis grave précipité en penssant que le soucie était dans le le script et en bidouillant, en réalité il suffit de lire. Change le 0 par 1 (par exemple) - Code:
-
OnOff_Switch = 0 # Switch ID that show or hide the HUD En bas tu laisses tel quel et là ou tu veux que le hud apparaisse tu active l'interrupteur 1 . C'est tout bête et c'est comme ça que le script est censé fonctionner. |
|
Ex-Grand Œil des projets
Age : 39 Inscrit le : 10/06/2009 Messages : 1137
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Mar 4 Déc 2012 - 18:20 | |
| Euhm... merci à vous tous pour vous être penchés sur mon problème. Du coup j'ai fait comme Doddy a dit dans son dernier post et ça a marché. Genre fallait juste modifier le premier numéro, je sais pas pourquoi j'ai touché au deuxième (probablement parce que je ne parle pas le script). Donc merci aux autres quand même, j'espère que je vous ai pas fait perdre trop de temps |
|
Ex-Grand Œil des projets
Age : 39 Inscrit le : 10/06/2009 Messages : 1137
| Sujet: Re: Affichage HUD / Script Requiem ABS 9 (RESOLU) Mar 4 Déc 2012 - 18:47 | |
| Bah si, même que je donne des cours... j'ai du epicfail en lisant. post inutile. averto + 1 BIM (Je parle de mon post je m'auto averti) |
|