Sujet: [VX] Affichage de barres (vie, MP et expérience) sur carte Ven 7 Mar 2008 - 23:36
Incompatibilité avec le script ABS et HUD
Bonjours grace à ce script, vous pourrez contempler la vie, l'expérience et le mana du 1er personnage. Ce script peut être très utile aux système A-RPG (ou, "à la Zelda").
Voila le script :
Code:
#============================================================= # *** Silent's HUD # ** Version - 1.1 RMVX # * Fecha - 28/01/08 DD/MM/YY Version 1.1 -> 07/02/08 #----------------------------------------------------------------------------# # * Descripcion - Simple HUD que muestra el HP, mp, EXP y nombre del jugador # principal en el mapa, ideal para ARPGs # # * Placer le script au dessus du script Main. # # * lalala # # >*< 0; Haut gauche 1; Haut droite 2; Bas gauche 3; Bas droite #============================================================================#
LUGAR = 0 # Position des barres >*<
HUD_BAR_HP = true # Montrer barre HP
HUD_BAR_MP = true # Montrer Barre MP
HUD_BAR_EP = true # Montrer barre EXP
ON_OFF_SWITCH = 20 # Numéros interrupteur
#============================================================================# # ** Window_HUD # - Ventana donde se muestra la info en el mapa #============================================================================# class Window_HUD < Window_Base #--------------------------------------------------------------------------# # * Metodo Initialize #--------------------------------------------------------------------------# def initialize super(0, 0, 280, 160) self.contents = Bitmap.new(width - 32, height - 32) self.opacity = 0 refresh end #--------------------------------------------------------------------------# # * Refresh #--------------------------------------------------------------------------# def refresh actor = $game_actors[1] self.contents.clear self.contents.font.color = system_color self.contents.draw_text(4, 0, 110-2, 22, $game_actors[1].name, 2) draw_hud_actor_hp(actor, 30, 20) if HUD_BAR_HP == true draw_hud_actor_mp(actor, 30, 50) if HUD_BAR_MP == true draw_hud_actor_exp(actor, 30, 80) if HUD_BAR_EP == true end end #============================================================================# # ** Scene_Map alias # - alias a Scene_Map con metodos del HUD #============================================================================# class Scene_Map alias hud_main main alias hud_update update alias hud_terminate terminate #--------------------------------------------------------------------------# # * Metodo Principal #--------------------------------------------------------------------------# def main @lalalah = $game_actors[1].hp @lalalas = $game_actors[1].mp @lalalae = $game_actors[1].exp @hud = Window_HUD.new case LUGAR when 0 @hud.y = 0 @hud.x = 0 when 1 @hud.y = 280 @hud.x = 0 when 2 @hud.y = 0 @hud.x = 340 when 3 @hud.y = 280 @hud.x = 340 end @hud.visible = false hud_main end #--------------------------------------------------------------------------# # * Update #--------------------------------------------------------------------------# def update if $game_switches[ON_OFF_SWITCH] == true @hud.visible = true $game_map.refresh else @hud.visible = false $game_map.refresh end if $game_switches[ON_OFF_SWITCH] == true if $game_actors[1].hp != @lalalah and HUD_BAR_HP == true @hud.refresh @lalalah = $game_actors[1].hp @hud.update end if $game_actors[1].mp != @lalalas and HUD_BAR_MP == true @hud.refresh @lalalas = $game_actors[1].mp @hud.update end if $game_actors[1].exp != @lalalae and HUD_BAR_EP == true @hud.refresh @lalalae = $game_actors[1].exp @hud.update end end hud_update end #--------------------------------------------------------------------------# # * Terminate #--------------------------------------------------------------------------# def terminate @hud.dispose hud_terminate end end #============================================================================# # ** Adiciones a Window_Base # - Metodo de dibujado de barra de exp, hp y mp #============================================================================# class Window_Base < Window #--------------------------------------------------------------------------# # * Metodo de dibujado de la barra de hp #--------------------------------------------------------------------------# def draw_hp_bar(actor, x, y) hpwidth = (actor.hp * 10) / actor.maxhp * 12 * (1) self.contents.fill_rect(x + 0, y + 0, 1 * 120 + 4, 14, Color.new(0, 0, 0, 100)) self.contents.fill_rect(x + 1, y + 1, 1 * 120 + 2, 12, Color.new(255, 255, 255)) self.contents.fill_rect(x + 2, y + 2, 1 * 120, 10, Color.new(0, 0, 0, 150)) self.contents.fill_rect(x + 2, y + 2, hpwidth, 10, Color.new(155, 50, 50, 100)) end #--------------------------------------------------------------------------# # * Metodo de dibujado de la barra de mp #--------------------------------------------------------------------------# def draw_mp_bar(actor, x, y) mpwidth = (actor.mp * 10) / actor.maxmp * 12 * (1) self.contents.fill_rect(x + 0, y + 0, 1 * 120 + 4, 14, Color.new(0, 0, 0, 100)) self.contents.fill_rect(x + 1, y + 1, 1 * 120 + 2, 12, Color.new(255, 255, 255)) self.contents.fill_rect(x + 2, y + 2, 1 * 120, 10, Color.new(0, 0, 0, 150)) self.contents.fill_rect(x + 2, y + 2, mpwidth, 10, Color.new(50, 50, 155, 100)) end #--------------------------------------------------------------------------# # * Metodo de dibujado de la barra de exp #--------------------------------------------------------------------------# def draw_exp_bar(actor, x, y) exp = actor.exp_s.to_i max_exp = actor.next_exp_s.to_i expwidth = (exp * 10) / max_exp * 12 * (1) self.contents.fill_rect(x + 0, y + 0, 1 * 120 + 4, 14, Color.new(0, 0, 0, 100)) self.contents.fill_rect(x + 1, y + 1, 1 * 120 + 2, 12, Color.new(255, 255, 255)) self.contents.fill_rect(x + 2, y + 2, 1 * 120, 10, Color.new(0, 0, 0, 150)) self.contents.fill_rect(x + 2, y + 2, expwidth, 10, Color.new(50, 155, 50, 100)) end #--------------------------------------------------------------------------# # * Draw EXP Editado #--------------------------------------------------------------------------# def draw_hud_actor_exp(actor, x, y) self.contents.font.color = Color.new(10, 100, 10) draw_exp_bar(actor, x, y + 16) self.contents.draw_text(x - 30, y + 6, 32, 32, 'E') self.contents.font.color = normal_color self.contents.draw_text(x, y, 84, 32, actor.exp_s, 2) self.contents.draw_text(x + 84, y, 12, 32, '/', 1) self.contents.draw_text(x + 96, y, 84, 32, actor.next_exp_s) end #--------------------------------------------------------------------------# # * Draw HP Editado #--------------------------------------------------------------------------# def draw_hud_actor_hp(actor, x, y, width = 144) self.contents.font.color = Color.new(100, 10, 10) if width - 32 >= 108 hp_x = x + width - 108 flag = true elsif width - 32 >= 48 hp_x = x + width - 48 flag = false end draw_hp_bar(actor, hp_x - 36, y + 16) self.contents.draw_text(x - 30, y + 6, 32, 32, Vocab::hp_a) self.contents.font.color = actor.hp == 0 ? knockout_color : actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2) if flag self.contents.font.color = normal_color self.contents.draw_text(hp_x + 48, y, 12, 32, '/', 1) self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s) end end #--------------------------------------------------------------------------# # * Draw mp Editado #--------------------------------------------------------------------------# def draw_hud_actor_mp(actor, x, y, width = 144) self.contents.font.color = Color.new(10, 10, 100) if width - 32 >= 108 mp_x = x + width - 108 flag = true elsif width - 32 >= 48 mp_x = x + width - 48 flag = false end draw_mp_bar(actor, mp_x - 36, y + 16) self.contents.draw_text(x - 30, y + 6, 32, 32, Vocab::mp_a) self.contents.font.color = actor.mp == 0 ? knockout_color : actor.mp <= actor.maxmp / 4 ? crisis_color : normal_color self.contents.draw_text(mp_x, y, 48, 32, actor.mp.to_s, 2) if flag self.contents.font.color = normal_color self.contents.draw_text(mp_x + 48, y, 12, 32, '/', 1) self.contents.draw_text(mp_x + 60, y, 48, 32, actor.maxmp.to_s) end end #----------------------------------------------------------------------------# end
Vous pouvez le modifier, sur les premières lignes. Pour faire marcher ce script, il faut mettre un évènement sur la première carte où apparait le héros, en processus parallèle "activer interrupteur 20". Sur les cartes où il ne faut pas faire apparaitre les barres, vous mettez "désactiver interrupteur 20". Sachez que le n° de l'interrupteur est changeable, à la ligne 24 "ON_OFF_SWITCH = 20 # Numéros interrupteur" mettez autre chose que 20, par exemple 34 Aussi, l'interrupteur DOIT s'apeller "20" ou "34" si vous avez mis 34...
Dernière édition par fabY le Ven 18 Avr 2008 - 14:26, édité 4 fois
Invité
Invité
Sujet: barre de vie Sam 8 Mar 2008 - 10:29
c'est normale que je scripte y est pas sur ta page ??
Edite : a désolé he j'avais un problème d'affichage d'image sur mon pc
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Sam 8 Mar 2008 - 13:08
Me disais aussi que je comprenais pas ta phrase :haha:
Evite les double-post s'il te plait, fais plutot des Edite.
Dernière édition par fabY le Lun 31 Mar 2008 - 16:43, édité 1 fois
Invité
Invité
Sujet: barre de vie Sam 8 Mar 2008 - 14:55
j'ai mi le script et j'ai activer l'intérupteur en parallèle mai la barre de vie ne s'affiche pas ??
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Sam 8 Mar 2008 - 18:53
Je vais expliquer en détail :
Chose à faire.
- Lancer l'éditeur de script, crée un nouveau script "barre-vie" au dessus de Main et copier le script. - une fois le script à sa place, sur chaque maps où les barres de vies doivent être visible, faire un évènement en processus parallèle. - dans cet évenement, placer "interrupteur 20 "20" = activé". Donc il faut nommer le 20eme interrupteur "20".
Finit.
Raitosan
† Fondateur du forum †
Age : 31 Inscrit le : 09/02/2008 Messages : 1974
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Dim 9 Mar 2008 - 13:08
Yeah! super script! Merci!
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Dim 9 Mar 2008 - 13:56
T'as l'air de bien aimer ces smilies, tu fais que de les utiliser Merci malheureusement, c'est toujours pas moi l'auteur mais ça viendra peut-être... Un jour qui sais ?
Soshi
Vagabond Lv.5
Avertissements : 3Inscrit le : 15/03/2008 Messages : 80
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Sam 15 Mar 2008 - 20:07
Merci beaucoup !
Invité
Invité
Sujet: barre-de vie Dim 16 Mar 2008 - 14:01
merci pour ton script il marche enfin chez moi ^^
Invité
Invité
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Dim 16 Mar 2008 - 14:24
dsl mais je devais poster pour voir le script !
Dernière édition par EdouardPayet le Dim 16 Mar 2008 - 14:25, édité 1 fois (Raison : Pas de script)
Invité
Invité
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Lun 31 Mar 2008 - 16:28
J'ai un problème,moi sa m'indicte
???????HUD'? 221 ???syntaxError????
J'ai un peu essaiyer se que je pouvais faire mais rien a faire.
Quelqu'un pourrait m'aider s'il vous plait.
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Lun 31 Mar 2008 - 16:44
Tu ne peux pas avoir ET le script ABS ET le script si dessus ^^.
Invité
Invité
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Lun 31 Mar 2008 - 19:19
Je n'ai jamais mis le script ABS,c'est ce script qui ne marche pas,
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Lun 31 Mar 2008 - 19:20
Je sais, une erreur de ma part.
J'ai modifier le script, vas-y tu verras, ça marche ^^.
Ps : il faut aussi activer l'interrupteur 20.
Invité
Invité
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Lun 31 Mar 2008 - 19:41
Excuse moi fabY,mais ca ne marche pas...
Il dise ???HUD????143 ???? Zerodivisionerror ????Divided by zero
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Lun 31 Mar 2008 - 20:36
fabY a écrit:
Incompatibilité avec le script ABS
Je l'ai dit en plus....
INCOMPATIBILITÉ AVEC LE SCRIPT ABS
Voila ^^. Je crois que c'est clair ^^.
Invité
Invité
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Mar 1 Avr 2008 - 12:11
Je sais fabY,je l'ai comprit mais comme jai dit,je ne l'ai pas mit le scripts ABS
Twilight
Templier Lv.15
Age : 30 Inscrit le : 03/04/2008 Messages : 1240
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Dim 6 Avr 2008 - 13:58
j'ai ça je n'ai mis ni le srcipt ABS ni quoi que ce soit d'autre. J'a même activer l'interupteur 20 mais ça fout rien
Lacotrie
Habitant Lv.6
Age : 29 Inscrit le : 14/04/2008 Messages : 102
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Ven 18 Avr 2008 - 13:32
Moi j'ai asp le script ABS et sa met "script "Window-HUD" line 155: ZeroDivisionError occurred. divibed by 0
PS: Window_HUD c'ets le nom du script.
Voila aidez moi s'il vous plait :pleaaase:
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Ven 18 Avr 2008 - 14:25
Hud est un des scripts ABS, c'est forcément que vous avez l'un des trois scripts ABS (à savoir, ABS, HUD et celui de la protection).
Lacotrie
Habitant Lv.6
Age : 29 Inscrit le : 14/04/2008 Messages : 102
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Ven 18 Avr 2008 - 15:35
C'est bon sa marche mais quand je change de map sa affiche sa
:depression:
J'y arriverer
fabY
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Ven 18 Avr 2008 - 15:44
Alors la ...Pfu
Lacotrie
Habitant Lv.6
Age : 29 Inscrit le : 14/04/2008 Messages : 102
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Ven 18 Avr 2008 - 16:33
Je sais pourquois a met sa ^^" en fait c'ets parce que j'ai mit le script pour mettre des facet plus grande ^^ et donc j'ai du enlever le script par erreur donc sa reconnais aps la commande ^^"
Invité
Invité
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Sam 28 Juin 2008 - 8:35
Si j'ai bien compris...Si je mets
Code:
HUD_BAR_MP = false
à la place de
Code:
HUD_BAR_MP = true
, ca ne montrera pas la barre de mana ?
Soshi
Vagabond Lv.5
Avertissements : 3Inscrit le : 15/03/2008 Messages : 80
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte Sam 28 Juin 2008 - 8:48
Bah essaye. Mais je pense que oui.
Contenu sponsorisé
Sujet: Re: [VX] Affichage de barres (vie, MP et expérience) sur carte
[VX] Affichage de barres (vie, MP et expérience) sur carte