Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf / Jeux: Pillar Town / Sorties: Dread Mac Farlane - Complet / Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

583 connectés actuellement

29828200 visiteurs
depuis l'ouverture

5764 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Kingdom Ultimate

Planète Glutko

RPG Fusion

RPG Maker - La Communauté

Offgame

Tous nos partenaires

Devenir
partenaire



HUD

Permet d'afficher une fenêtre simple mais contenant les informations de tous les héros sur la carte (PV, PM, XP, statut et apparence).

Script pour RPG Maker XP
Ecrit par Raziel
Publié par Manfred (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : Raziel (Allemand)
Logiciel : RPG Maker XP
Nombre de scripts : 1

Fonctionnalités
Permet d'afficher un HUD simple mais contenant les informations essentielles (PV, PM, statut et apparence) des héros sur la carte.

Installation
A placer au-dessus de Main.

Utilisation
Au début du script, remplacez le 1 dans "SWITCH_ID = 1" par l'id de l'interrupteur de votre choix. C'est celuil qui activera/désactivera l'affichage de l'HUD.
Toujours au début du script, remplacez false dans "$center_hud = false" par true si vous voulez centrer l'HUD.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# HUD by Raziel
class Scene_Map
  
  SWITCH_ID = 1
  $center_hud = false
  
  alias raz_hud_main main
  alias raz_hud_update update
  
  def main
    @size = $game_party.actors.size
    raz_hud_main
    @hud_window.dispose
    for i in 0...$game_party.actors.size
      @hud_dummy[i].dispose
    end
  end
  
  def update
    if @size != $game_party.actors.size
      @hud_window.refresh
      show_window
    end
    if @hud != true
      main_window
    end
    turn_hud_on_off
    @hud_window.update
    raz_hud_update
  end
  
  def show_window
    @size = $game_party.actors.size
    for i in 0..3
      @hud_dummy[i].visible = ($game_party.actors[i] != nil)
    end
  end
  
  def main_window
    @opacity = 200
    @hud_dummy = []
    for i in 0...4
      y = $game_party.actors.size - 1
        x = 240 - (y * 80)
      if $center_hud == true
      @hud_dummy[i] = Window_Base.new(160 * i + x, 372,160, 108)
    else
      @hud_dummy[i] = Window_Base.new(160 * i, 372,160, 108)
      end
      @hud_dummy[i].opacity = @opacity
      @hud_dummy[i].visible = false
    end
    @hud_window = Window_HUD.new
    for i in 0...$game_party.actors.size
      @hud_dummy[i].visible = $game_party.actors[i] != nil
    end
    @hud = true
  end
  
def turn_hud_on_off
 if $game_switches[SWITCH_ID] == false
  @hud_window.visible = false
    for i in 0...$game_party.actors.size
      @hud_dummy[i].visible = false
    end
  end
  
  
  if $game_switches[SWITCH_ID] == true
    @hud_window.visible = true
    for i in 0...$game_party.actors.size
      @hud_dummy[i].visible = true
    end
  end
end
 
end
 
  
class Window_HUD < Window_Base
  def initialize
    super(0, 0, 800, 600)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      eval("@old_hp#{i+1} = actor.hp; @old_sp#{i+1} = actor.sp; @old_exp#{i+1} = actor.now_exp")
    end
    refresh
  end
  
  def refresh
    self.contents.clear
    for i in 0...$game_party.actors.size
      a = $game_party.actors.size - 1
      actor = $game_party.actors[i]
      if $center_hud == true
      x = (i * 160 + 25) + (240 - (a * 80))
    else
      x = i * 160 + 25
      end
      self.contents.font.size = 21
      draw_actor_graphic(actor, x - 15, 445)
      self.contents.font.color = normal_color
      self.contents.draw_text(x - 25, 360, 100, 32, actor.name)
      width = 100
      height = 6
      draw_slant_bar(x + 8, 396, actor.hp, actor.maxhp, width, height, Color.new(150, 0, 0), Color.new(155, 155, 60))
      draw_slant_bar(x + 8, 416, actor.sp, actor.maxsp, width, height, Color.new(0, 0, 150), Color.new(60, 155, 155))
      unless actor.level == 99
        draw_slant_bar(x + 8, 436, actor.now_exp, actor.next_exp, width, height, Color.new(0, 150, 0), Color.new(60, 255, 60))
      else
        draw_slant_bar(x + 8, 436, 1, 1, width = 100, height = 6, Color.new(0, 150, 0), Color.new(60, 255, 60))
      end
      self.contents.font.size = 16
      draw_actor_state(actor, x + 45, 360)
      self.contents.font.color = normal_color
      self.contents.font.bold = true
      self.contents.font.color = actor.hp == 0 ? knockout_color : actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
      self.contents.draw_text(x + 16, 382, 100, 32, "#{actor.hp}/#{actor.maxhp}", 1)
      self.contents.font.color = actor.sp == 0 ? crisis_color : actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
      self.contents.draw_text(x + 16, 402, 100, 32, "#{actor.sp}/#{actor.maxsp}", 1)
      self.contents.font.color = system_color
      self.contents.font.size = 20
      self.contents.font.bold = false
      self.contents.draw_text(x, 384, 50, 32, $data_system.words.hp)
      self.contents.draw_text(x, 404, 50, 32, $data_system.words.sp)
      self.contents.draw_text(x, 424, 50, 32, "Exp")
    end
  end
 
  def update
    super
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      if (eval("@old_hp#{i+1}") != actor.hp or eval("@old_sp#{i+1}") != actor.sp or
        eval("@old_exp#{i+1}") != actor.now_exp)
        refresh
        eval("@old_hp#{i+1} = actor.hp; @old_sp#{i+1} = actor.sp; @old_exp#{i+1} = actor.now_exp")
      end
    end
  end
end
    
class Window_Base < Window
  def draw_slant_bar(x, y, min, max, width = 152, height = 6,
      bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
    for i in 0..height
      self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
    end
    for i in 1..(height - 1)
      r = 100 * (height - i) / height + 0 * i / height
      g = 100 * (height - i) / height + 0 * i / height
      b = 100 * (height - i) / height + 0 * i / height
      a = 255 * (height - i) / height + 255 * i / height
      self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
    end
    for i in 1..( (min / max.to_f) * width - 1)
      for j in 1..(height - 1)
        r = bar_color.red * (width - i) / width + end_color.red * i / width
        g = bar_color.green * (width - i) / width + end_color.green * i / width
        b = bar_color.blue * (width - i) / width + end_color.blue * i / width
        a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
        self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
      end
    end
  end
end
 
class Game_Actor
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end






soho - posté le 16/10/2008 à 13:25:17 (2162 messages postés)

❤ 0

Ya un bon rendu... mais tu aurais du préciser que c'est pour XP.

Rendre les petits plaisirs éphémères de la vie... Durable !


Monos - posté le 16/10/2008 à 13:47:44 (57322 messages postés)

❤ 0

Vive le homebrew

Il fait partie de la base de donnée des Script de Xp
Et rien avec le screen on se doute que c'est avec XP

Signer du nez ?


B1000 - posté le 16/10/2008 à 17:09:39 (2843 messages postés)

❤ 0

Benku, le prince des ténèbres !

le seul truc qui marche pas chez moi c'est que les chiffres ne s'afffiche pas.

Comme tout ceux qui vivent des heures si sombres mais ce n'est pas à eux de décider, tout ce que vous avez à décider, c'est quoi faire du temps qui vous est imparti.


Solaris-adz - posté le 18/10/2008 à 18:01:34 (3 messages postés)

❤ 0

Suis-je le seul pour qui ce script ne marche pas?
Je l'ai nommé HUD, je l'ai mis au-dessus de Main, mais quand je démarre le jeu et que je fais une nouvelle partie pour essayer, la fenêtre de jeu se ferme. C'est normal? (je ne pense pas mais bon...)

Salut à tous!


Madkiller - posté le 19/10/2008 à 01:25:55 (2971 messages postés)

❤ 0

Il manque une case je crois

Citation:

Je l'ai nommé HUD, je l'ai mis au-dessus de Main



a défaut de se répéter:
Le nom ne change rien dans les scripts, c'est un point de repère, t'aurai pu l'appeller "chaussettes puantes" "cannabis" "LSD" "EPO" "Soho" "Vodka" "C++" "C#" ou je ne sais quoi, ça n'aurait rien changé, ensuite, il faut toujours mettre ces scripts au-dessus de Main (de toute façon, j'ai toujours eu du mal à placer les scripts en-dessous Main...)

Ensuite, vérifie voir si c'est pas ton switch qui est mal réglé ou si tu as bien placé les false, ect... là où on t'as dit de les placer.
Ensuite, la fenêtre du jeu elle t'affiche pas un message d'erreur avant de se fermer? Parce que je ne sais pas pourquoi elle se ferme sinon, mais revérifie tout en attendant.

Sinon très bon le tuto^^ Par contre ça m'est inutile, mais bon ^^

Tuto^^//TAUT(trad FR)


nuparu1997 - posté le 19/10/2008 à 11:38:58 (222 messages postés)

❤ 0

Y'aurais pas le même pour VX?
:feu :hurle


Soho - posté le 21/10/2008 à 18:40:33 (2162 messages postés)