Menu

Connexion



Retenir ?

Mot de passe oublié ?
Eclipso logo
Merry Christmas !
07/06/2020 12:24:31

2k3 < VX < Ace < XP

Propriété d'une image en script(Résolu)

Kreiss

Capitaine
Kreiss
  • Messages : 528

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 16h24

Bonjour.

J'ai un problème avec un script qui gère une barre de vie en images.
Tout fonctionne bien seulement un problème se pose... toutes les images passe avant la barre de vie.
Ce qui est très embêtant quand on ajoute des décors en premier plan...

Donc je voudrais savoir quel est la commande à rajouter pour mettre la barre de vie en priorité sur toutes les autres ? (En script)
Si quelqu'un pouvait m'aider ça me serait d'une très grande aide !

Merci d'avance

Le script :

module PLAYER_HUD
Toggle = true # Toggle's the hud
Xcoord = 270 # Position
Ycoord = 260
end
class Window_Base < Window

def draw_health(i=0,x=0,y=0)
#=============================================================#
# Small formula determines which picture should be displayed. #
#=============================================================#
q = (i * 10) # Total amount of pictures needed.
w = ($game_party.actors[0].maxhp.to_f / q.to_f) # Hp per picture.
for c in (1..q)
a = (w * c) # Top hp range
b = (w * c) - w # Low hp range
if ($game_party.actors[0].hp > b && $game_party.actors[0].hp <= a)
j = c
end
end

# This is the siren effect. It is activated at low health and switches
# the background graphic, making it appear to flash red.
if $siren == 0
if i > 0 && i < 10
background = RPG::Cache.picture("HUD/" + "Background-" + (i.to_s))
else
background = RPG::Cache.picture("HUD/" + "Background-EXT"
end
else
if i > 0 && i < 10
background = RPG::Cache.picture("HUD/" + "Background-" + (i.to_s) + "-2"
else
background = RPG::Cache.picture("HUD/" + "Background-EXT-2"
end
end

# This is the green health bar. The formula determins the ending number.
# places pictures in intervals of 10 for each upgrade. Example:
# No upgrade = Images: 1-10. First upgrade includes 1-20 (11-20 are new pics).
# Look at pictures folder for a better understanding.

if j != nil
arc = RPG::Cache.picture("HUD/Health/" + (j.to_s))
else
arc = nil
end

# Small red circle that flashes when low on health.
if $alert > 0
siren = RPG::Cache.picture("HUD/alert-" + $alert.to_s)
else
siren = RPG::Cache.picture(""
end

cw = background.width
ch = background.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, background, src_rect)

if arc != nil
self.contents.blt(x, y, arc, src_rect)
else
end

if $alert != nil
self.contents.blt(x, y, siren, src_rect)
else
end

end

def draw_face(x, y)
# Looks for the actors face named according to rmxp database
# in folder pictures/HUD/
name = $game_party.actors[0].name
face = RPG::Cache.picture("HUD/" + name)
cw = face.width
ch = face.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, face, src_rect)
end

def draw_hud(x=0,y=0,orn=0)
health = case $game_party.actors[0].maxhp
# Change HP numbers here
when 10 then 1 # Max HP at upgrade 1
when 20 then 2
when 30 then 3
when 40 then 4
when 50 then 5
when 60 then 6
when 70 then 7
when 80 then 8
when 90 then 9
when 100 then 10 # Max HP at upgrade 10# Max HP at upgrade 10
else
health = 11
end
draw_health(health,x,y + 70)
draw_face(x + 459,y + 62)
end



end

class Window_PlayerHUD < Window_Base
def reset
@old_hp = @actor.hp
@old_sp = @actor.sp
@old_max_hp = @actor.maxhp
@old_siren = $siren
@old_alert = $alert
end

def initialize
super(PLAYER_HUD::Xcoord, PLAYER_HUD::Ycoord, 603, 228)
self.contents = Bitmap.new(width - 32, height - 32)
self.windowskin = RPG::Cache.windowskin(""
self.opacity = 0
$siren = 0
$alert = 0
@actor = $game_party.actors[0]
if @actor != nil
reset
refresh
end
end

def refresh
self.contents.clear
draw_hud(0,0)
reset
end

def update
@actor = $game_party.actors[0]
if @actor != nil
if @old_hp != @actor.hp or
@old_max_hp != @actor.maxhp or
@old_siren != $siren or
@old_alert != $alert
refresh
end
end
end
end

class Scene_Map
alias phud_main main
def main
@phud = Window_PlayerHUD.new
@phud.x = PLAYER_HUD::Xcoord
@phud.y = PLAYER_HUD::Ycoord
if PLAYER_HUD::Toggle == false
@phud.visible = false
else
@phud.visible = true
end
phud_main
@phud.dispose
end
alias phud_update update
def update
if PLAYER_HUD::Toggle == false
@phud.visible = false
else
@phud.visible = true
end
@phud.update
phud_update
end
end

KuroFidy

Grand Maître
KuroFidy
  • Messages : 3782

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 17h51

Je suis débutant dans la matière, mais il me semble que si dans le :


def initialize
...
end


Tu rajoutes un
self.z = x


avec un X bien élevé (je sais plus à combien sont les autres), ça devrait être bon.

KuroFidy

Grand Maître
KuroFidy
  • Messages : 3782

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 17h56

Ah, je met un double post au cas ou tu lirais déjà le premier:


@phud.x = PLAYER_HUD::Xcoord
@phud.y = PLAYER_HUD::Ycoord


En rajoutant

@phud.z = 100000 #ou autre nombre bien élevé x)


Juste en dessous, ça devrait être la même chose ^^

Kreiss

Capitaine
Kreiss
  • Messages : 528

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 18h09

Ça ne marche pas malheureusement...

Zouzaka

Elite
Zouzaka
  • Messages : 616

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 20h03

essai ca :

module PLAYER_HUD
Toggle = true # Toggle's the hud
Xcoord = 270 # Position
Ycoord = 260
end
class Window_Base < Window

def draw_health(i=0,x=0,y=0)
#=============================================================#
# Small formula determines which picture should be displayed. #
#=============================================================#
q = (i * 10) # Total amount of pictures needed.
w = ($game_party.actors[0].maxhp.to_f / q.to_f) # Hp per picture.
for c in (1..q)
a = (w * c) # Top hp range
b = (w * c) - w # Low hp range
if ($game_party.actors[0].hp > b && $game_party.actors[0].hp <= a)
j = c
end
end

# This is the siren effect. It is activated at low health and switches
# the background graphic, making it appear to flash red.
if $siren == 0
if i > 0 && i < 10
background = RPG::Cache.picture("HUD/" + "Background-" + (i.to_s))
else
background = RPG::Cache.picture("HUD/" + "Background-EXT"
end
else
if i > 0 && i < 10
background = RPG::Cache.picture("HUD/" + "Background-" + (i.to_s) + "-2"
else
background = RPG::Cache.picture("HUD/" + "Background-EXT-2"
end
end

# This is the green health bar. The formula determins the ending number.
# places pictures in intervals of 10 for each upgrade. Example:
# No upgrade = Images: 1-10. First upgrade includes 1-20 (11-20 are new pics).
# Look at pictures folder for a better understanding.

if j != nil
arc = RPG::Cache.picture("HUD/Health/" + (j.to_s))
else
arc = nil
end

# Small red circle that flashes when low on health.
if $alert > 0
siren = RPG::Cache.picture("HUD/alert-" + $alert.to_s)
else
siren = RPG::Cache.picture(""
end

cw = background.width
ch = background.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, background, src_rect)

if arc != nil
self.contents.blt(x, y, arc, src_rect)
else
end

if $alert != nil
self.contents.blt(x, y, siren, src_rect)
else
end

end

def draw_face(x, y)
# Looks for the actors face named according to rmxp database
# in folder pictures/HUD/
name = $game_party.actors[0].name
face = RPG::Cache.picture("HUD/" + name)
cw = face.width
ch = face.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x, y, face, src_rect)
end

def draw_hud(x=0,y=0,orn=0)
health = case $game_party.actors[0].maxhp
# Change HP numbers here
when 10 then 1 # Max HP at upgrade 1
when 20 then 2
when 30 then 3
when 40 then 4
when 50 then 5
when 60 then 6
when 70 then 7
when 80 then 8
when 90 then 9
when 100 then 10 # Max HP at upgrade 10# Max HP at upgrade 10
else
health = 11
end
draw_health(health,x,y + 70)
draw_face(x + 459,y + 62)
end



end

class Window_PlayerHUD < Window_Base
def reset
@old_hp = @actor.hp
@old_sp = @actor.sp
@old_max_hp = @actor.maxhp
@old_siren = $siren
@old_alert = $alert
end

def initialize
super(PLAYER_HUD::Xcoord, PLAYER_HUD::Ycoord, 603, 228)
self.contents = Bitmap.new(width - 32, height - 32)
self.windowskin = RPG::Cache.windowskin(""
self.opacity = 0
self.z = 300
$siren = 0
$alert = 0
@actor = $game_party.actors[0]
if @actor != nil
reset
refresh
end
end

def refresh
self.contents.clear
draw_hud(0,0)
reset
end

def update
@actor = $game_party.actors[0]
if @actor != nil
if @old_hp != @actor.hp or
@old_max_hp != @actor.maxhp or
@old_siren != $siren or
@old_alert != $alert
refresh
end
end
end
end

class Scene_Map
alias phud_main main
def main
@phud = Window_PlayerHUD.new
@phud.x = PLAYER_HUD::Xcoord
@phud.y = PLAYER_HUD::Ycoord
if PLAYER_HUD::Toggle == false
@phud.visible = false
else
@phud.visible = true
end
phud_main
@phud.dispose
end
alias phud_update update
def update
if PLAYER_HUD::Toggle == false
@phud.visible = false
else
@phud.visible = true
end
@phud.update
phud_update
end
end

Zouzaka

Elite
Zouzaka
  • Messages : 616

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 20h16

Le truc c'est que le créateur de ce scripte n'affiche pas directement l'hud mais une windows (@phud) transparent avec l'hud comme contents =/

Kreiss

Capitaine
Kreiss
  • Messages : 528

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 21h08

Génial ça marche, tu as modifier quel ligne ?

Zouzaka

Elite
Zouzaka
  • Messages : 616

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 21h12

J'ai plutot ajouté une ligne (la122)
" self.z = 300"

KuroFidy

Grand Maître
KuroFidy
  • Messages : 3782

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 21h12

Mais c'est pas ce que j'avais dit ? :'D

Kreiss

Capitaine
Kreiss
  • Messages : 528

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 21h17

Punaise c'était tout bête... (C'était la 141.)
Oui Kuro c'est à peu prêt ce que tu as dit. xD

Merci beaucoup Zouzaka.

Zouzaka

Elite
Zouzaka
  • Messages : 616

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 21h21

Si, mais l'endroit c’était au mauvais endroit je pense ^^' toi tu a modifier le Z après la création de la windows alors que moi je l'ai fait avant.
@Kreiss> Derien

Ssozi

Expert
Ssozi
  • Messages : 1166

Propriété d'une image en script(Résolu)


dim. 16 févr. 2014 - 23h28

Zouz, je t'ajoute des points, merci !
Je déplace aussi.



Zouzaka

Elite
Zouzaka
  • Messages : 616

Propriété d'une image en script(Résolu)


lun. 17 févr. 2014 - 10h22

Mais c'est pas ce que j'avais dit ? :'D

Ah ouaip pas vue ton 1er message ^^'