Partagez
Aller en bas
avatar
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 105
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Vie sur la map

le Ven 7 Mar 2008 - 21:19
Auteur de silent walker

Permet avoir des barres qui représente les HP/MP/experience du 1er héros.
Les infos pour le réglage sont dans le script au début.

Screen :



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
#============================================================================#

#===============================================================
#                           
#                www.rpgmakervx-fr.com                                           
#       
#===============================================================

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 = 10 # 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


Attention: Activer l'interrupteur 10 et le NOMMER "10"!


Dernière édition par Tretian le Dim 9 Nov 2008 - 21:41, édité 1 fois
avatar
Hamaar
Membre

Nombre de messages : 183
Age : 24
Localisation : Les fesses calées dans mon fauteuil
Distinction : aucune
Date d'inscription : 25/02/2008

Re: Vie sur la map

le Dim 9 Mar 2008 - 13:40
Cool comme script, il a une certaine utilité tout en restant simple, il va me servir en tout cas merci de l'apport^^
avatar
Mister Geek
Staffeux retraité

Nombre de messages : 719
Age : 24
Localisation : Vosges
Distinction : aucune
Date d'inscription : 20/12/2007

Re: Vie sur la map

le Dim 9 Mar 2008 - 18:46
Tu pourrais donner un petit screen du rendu ? :P
avatar
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 105
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Re: Vie sur la map

le Dim 9 Mar 2008 - 18:54
arf! ^^
Tu peux pas le faire et éditer?
RMVX est sur mon autre ordi, qui est éteint ^^
avatar
Mister Geek
Staffeux retraité

Nombre de messages : 719
Age : 24
Localisation : Vosges
Distinction : aucune
Date d'inscription : 20/12/2007

Re: Vie sur la map

le Dim 9 Mar 2008 - 19:01
Screen rajouté dans le premier post, j'adore le rendu ! =)
avatar
filsduloup
Membre

Nombre de messages : 85
Age : 33
Distinction : aucune
Date d'inscription : 30/01/2008

Re: Vie sur la map

le Mar 11 Mar 2008 - 18:08
Nickel c'est exactement ce que je voulais!

Peut on changer l'interupteur 10 ?

En tout cas chapeau bas !!!
avatar
fabY
Membre

Nombre de messages : 229
Distinction : aucune
Date d'inscription : 29/01/2008
http://rpg-maker-vx.bbactif.com/index.htm

Re: Vie sur la map

le Mar 11 Mar 2008 - 18:25
Bien sur, au lieu de


ON_OFF_SWITCH = 10 # Numéros interrupteur

Tu mets


ON_OFF_SWITCH = celui que tu veux ^^ # Numéros interrupteur
avatar
filsduloup
Membre

Nombre de messages : 85
Age : 33
Distinction : aucune
Date d'inscription : 30/01/2008

Re: Vie sur la map

le Mar 11 Mar 2008 - 20:25
Ah oui merci beaucoup !

je v'est essayer de le bidouiller un peu !
avatar
Sake
Membre

Nombre de messages : 4
Distinction : aucune
Date d'inscription : 12/03/2008

Re: Vie sur la map

le Mer 12 Mar 2008 - 22:16
je comprend pas comment on fait pour l interrupeteur 10??
avatar
Mister Geek
Staffeux retraité

Nombre de messages : 719
Age : 24
Localisation : Vosges
Distinction : aucune
Date d'inscription : 20/12/2007

Re: Vie sur la map

le Mer 12 Mar 2008 - 22:27
Tu ne comprends pas son utilité, ou comment le changer ?

Utilité : Lorsqu'il est activé, la vie est affichée sur la map.


Le changer : Vers le début du script, tu as la ligne :

Code:
ON_OFF_SWITCH = 10 # Numéros interrupteur

Change simplement le "10" par le numéro de l'interrupteur que tu souhaites utiliser Smile
avatar
varley60
Membre

Nombre de messages : 25
Age : 38
Localisation : Quelque part sur la terre... enfin je crois...
Distinction : aucune
Date d'inscription : 09/03/2008

Re: Vie sur la map

le Mer 12 Mar 2008 - 23:10
je comprend pas comment on fait pour l interrupeteur 10??
sinon si tu sais pas comment l'activer c'est simple,

- couche evenement
- clique droit
- placer un evenement
- commande evenement
- gestion des interrupteurs
- 1 seul/parcourrir/0010/nom "10"/activer
- appliquer

c'est tout simple si ce n'est pas ce que tu voulais, faites comme si javais rien mis
avatar
Sake
Membre

Nombre de messages : 4
Distinction : aucune
Date d'inscription : 12/03/2008

Re: Vie sur la map

le Jeu 13 Mar 2008 - 18:56
Non non sa me va c'etait juste pour savoire comment atciver l interrupteur 10
avatar
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 27
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Re: Vie sur la map

le Mer 9 Juil 2008 - 22:41
Oulaaa Game' qui fait du nécropost ça pue ça.

Hum bon j'aimerais bien trouver un gentil scripteur qui puisse me dire quelles lignes modifier pour changer la couleur de certaines barres. J'aimerais que cette recherche se fasse via MP, merci.
avatar
opelvect2
Membre

Nombre de messages : 32
Distinction : aucune
Date d'inscription : 10/09/2008

Re: Vie sur la map

le Jeu 11 Sep 2008 - 20:20
SAKE ,tu fait un évènement,tu va dans la première section et tu vas dans modifier un interrupteur tu choisi ton interrupteur tu l'appelle 10 et tu commence a jouer tu vas sur l'évènement e la barre s'affiche sur l'écran,c'est tout simple Very Happy
avatar
Azaki
Modérateur

Nombre de messages : 1742
Age : 25
Localisation : Dans ton cul(stom), t'as vu, tarba? é_è
Distinction : Commentateur sportif
Indépendantiste Breton
Chevalier de lumière
Membre du Haruhi fan-club
Membre du Tsukasa Nishino fan-club.
[Chou n°3]
Mist' Wink

Fils caché de Francis L'Alan
[Coco' Smile]
Chevalier Noir
Ex-Empereur d'Erem Vehyx (ou pas!! x) )

Date d'inscription : 14/05/2008

Re: Vie sur la map

le Jeu 11 Sep 2008 - 20:23
Faut vraiment eviter les necropost, c'est sévèrement puni par la loi n°35 du forumisme.
avatar
Invité
Invité

Re: Vie sur la map

le Jeu 11 Sep 2008 - 20:32
Pile poil deux mois. Mais étant donné qu'il a essayé d'apporter une réponse constructive à la réponse de Game', on va oublier l'averto.
Contenu sponsorisé

Re: Vie sur la map

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum