vie sur les monstre vx ace
Mer 22 Avr 2015 - 13:57
salut a tous j ai crée un system de vie pour les monstre si ca vous dit
pour l installer insérer les script dans materials au dessus de main.
dite moi ce que vous en dite
pour l installer insérer les script dans materials au dessus de main.
dite moi ce que vous en dite
- Spoiler:
- Code:
#
#create by jbdfjojo
#rpg maker vx ace
#
module EHUD
#choisir ou de ne pas faire l'arrière-plan apparaît
WINDOW_BACK = false
#Nombre, De choisir la durée d'attente entre les attaques
#Recommandé 4-6
WINDOW_WAIT = 5
#La valeur Y de la fenêtre. Recommandé 20
WINDOW_Y = 20
#Decides Que ce soit ou de ne pas afficher les numéros HP / etc / etc.
# 0 Normal signifie (nom HP, actuelle et max hp)
# 1 signifie caché max hp
# 2 signifie simplement la barre
DRAW_HP_NUMBERS = 0
#taille barre de l'ennemie def:475
NEO_ULTIMATE_ACE = false
BOSS_GAUGE = 475
BOSS_ENEMY = [] #ne pas toucher
BOSS_ENEMY[1] = true
end
class Game_Enemy < Game_Battler
alias shaz_enemyhud_initialize initialize
# ------------------------------------------------- -------------------------
# * Variables d'instance publique
# ------------------------------------------------- -------------------------
attr_accessor :old_hp # hp on last hud refresh
attr_accessor :old_mp # mp on last hud refresh
# ------------------------------------------------- -------------------------
# * Objet initialisation
# ------------------------------------------------- -------------------------
def initialize(index, enemy_id)
shaz_enemyhud_initialize(index, enemy_id)
@old_hp = mhp
@old_mp = mmp
end
end
class Window_Enemy_Hud < Window_Base
################################################## #################
#Sets Jusqu'à ce qui apparaît dans le HUD
#questions noms et HUD, puis affiche Them
################################################## ###############
#set Jusqu'à démarrage de la fenêtre
def initialize
#Fenêtre
super(0,EHUD::WINDOW_Y,545,120)
if EHUD::WINDOW_BACK == false
self.opacity = 0
end
self.z = 0
@x, @y = 0, 50
troop_fix
if EHUD::BOSS_ENEMY[@enemy1.enemy_id] != nil and EHUD::BOSS_ENEMY[@enemy1.enemy_id] == true
@boss_troop = true
@boss_enemy = @enemy1
else
@boss_troop = false
@boss_enemy = nil
end
enemy_hud
refresh
end
if EHUD::DRAW_HP_NUMBERS == 1
if EHUD::NEO_ULTIMATE_ACE == false
def draw_actor_hp(actor, x, y, width = 124)
draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
change_color(system_color)
draw_text(x, y, 30, line_height, Vocab::hp_a)
change_color(hp_color(actor))
draw_text(x, y, width, line_height, actor.hp)
change_color(system_color)
end
else
def draw_actor_hp(actor, x, y, width = 124)
gwidth = width * actor.hp / actor.mhp
cg = neo_gauge_back_color
c1, c2, c3 = cg[0], cg[1], cg[2]
draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, c1, c2, c3)
(1..3).each {|i| eval("c#{i} = HP_GCOLOR_#{i}")}
draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
width, 30)
draw_text(x, y, 30, line_height, Vocab::hp_a)
change_color(hp_color(actor))
draw_text(x, y, width, line_height, actor.hp)
change_color(system_color)
end
end
end
if EHUD::DRAW_HP_NUMBERS == 2
if EHUD::NEO_ULTIMATE_ACE == false
def draw_actor_hp(actor, x, y, width = 124)
draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
end
else
def draw_actor_hp(actor, x, y, width = 124)
gwidth = width * actor.hp / actor.mhp
cg = neo_gauge_back_color
c1, c2, c3 = cg[0], cg[1], cg[2]
draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
HPMP_GAUGE_Y_PLUS, width, HPMP_GAUGE_HEIGHT, c1, c2, c3)
(1..3).each {|i| eval("c#{i} = HP_GCOLOR_#{i}")}
draw_neo_gauge(x + HPMP_GAUGE_X_PLUS, y + line_height - 8 +
HPMP_GAUGE_Y_PLUS, gwidth, HPMP_GAUGE_HEIGHT, c1, c2, c3, false, false,
width, 30)
end
end
end
def troop_fix
if $game_troop.alive_members.size > 0
@enemy1 = $game_troop.alive_members[0]
end
if $game_troop.alive_members.size > 1
@enemy2 = $game_troop.alive_members[1]
end
if $game_troop.alive_members.size > 2
@enemy3 = $game_troop.alive_members[2]
end
if $game_troop.alive_members.size > 3
@enemy4 = $game_troop.alive_members[3]
end
if $game_troop.alive_members.size > 4
@enemy5 = $game_troop.alive_members[4]
end
if $game_troop.alive_members.size > 5
@enemy6 = $game_troop.alive_members[5]
end
if $game_troop.alive_members.size > 6
@enemy7 = $game_troop.alive_members[6]
end
if $game_troop.alive_members.size > 7
@enemy8 = $game_troop.alive_members[7]
end
end
def enemy_hud
troop_fix
if $game_troop.alive_members.size > 0
if @boss_troop == true and @boss_enemy.enemy_id == @enemy1.enemy_id
draw_actor_name(@enemy1,10,0)
draw_actor_hp(@enemy1,10,20,width=EHUD::BOSS_GAUGE)
else
draw_actor_name(@enemy1,10,0)
draw_actor_hp(@enemy1,10,20,width=96)
end
end
if $game_troop.alive_members.size > 1
if @boss_troop == true and @boss_enemy.enemy_id == @enemy1.enemy_id
draw_actor_name(@enemy2,10,50)
draw_actor_hp(@enemy2,10,70,width=96)
else
draw_actor_name(@enemy2,10+125,0)
draw_actor_hp(@enemy2,10+125,20,width=96)
end
end
if $game_troop.alive_members.size > 2
if @boss_troop == true and @boss_enemy.enemy_id == @enemy1.enemy_id
draw_actor_name(@enemy3,10+125,50)
draw_actor_hp(@enemy3,10+125,70,width=96)
else
draw_actor_name(@enemy3,10+250,0)
draw_actor_hp(@enemy3,10+250,20,width=96)
end
end
if $game_troop.alive_members.size > 3
if @boss_troop == true and @boss_enemy.enemy_id == @enemy1.enemy_id
draw_actor_name(@enemy4,10+250,50)
draw_actor_hp(@enemy4,10+250,70,width=96)
else
draw_actor_name(@enemy4,10+375,0)
draw_actor_hp(@enemy4,10+375,20,width=96)
end
end
if $game_troop.alive_members.size > 4
if @boss_troop == true and @boss_enemy.enemy_id == @enemy1.enemy_id
draw_actor_name(@enemy5,10+375,50)
draw_actor_hp(@enemy5,10+375,70,width=96)
else
draw_actor_name(@enemy5,10,50)
draw_actor_hp(@enemy5,10,70,width=96)
end
end
if $game_troop.alive_members.size > 5
if @boss_troop == false
draw_actor_name(@enemy6,10+125,50)
draw_actor_hp(@enemy6,10+125,70,width=96)
end
end
if $game_troop.alive_members.size > 6
if @boss_troop == false
draw_actor_name(@enemy7,10+250,50)
draw_actor_hp(@enemy7,10+250,70,width=96)
end
end
if $game_troop.alive_members.size > 7
if @boss_troop == false
draw_actor_name(@enemy8,10+375,50)
draw_actor_hp(@enemy8,10+375,70,width=96)
end
end
end
def refresh
contents.clear
enemy_hud
@old_size = $game_troop.alive_members.size
if @old_size < 5 and @boss_troop == false
self.height = 80
end
end
# Suppose l'actualisation nécessaire
def update
refresh_okay = false
# Boucle à travers restants ennemis un à la fois - chaque ennemi est mis dans la variable temporaire appelé «l'ennemi»
$game_troop.alive_members.each do |enemy|
# Avez HP ou MP changé depuis la dernière fois?
if enemy.hp != enemy.old_hp || enemy.mp != enemy.old_mp
# La nécessité de mettre à jour vie enemy
refresh_okay = true
# Et remplacer les anciennes valeurs avec les valeurs actuelles
enemy.old_hp = enemy.hp
enemy.old_mp = enemy.mp
end
end
if $game_troop.alive_members.size != @old_size
refresh_okay = true
end
if @boss_enemy != nil
if @enemy1.enemy_id == @boss_enemy.enemy_id
@boss_troop = true
else
@boss_troop = false
end
end
if refresh_okay
refresh
end
end
end
class Window_BattleLog
alias enemy_hud_battle_log_wait wait_and_clear
def wait_and_clear
wait while @num_wait < EHUD::WINDOW_WAIT if line_number > 0
clear
end
end
class Scene_Battle < Scene_Base
alias original_create_all_windows create_all_windows
def create_all_windows
original_create_all_windows
create_enemy_hud_window
end
def create_enemy_hud_window
@enemy_hud_window = Window_Enemy_Hud.new
end
end
- ZaleraMembre
- Nombre de messages : 34
Age : 32
Distinction : aucune
Date d'inscription : 18/04/2015
Re: vie sur les monstre vx ace
Mer 22 Avr 2015 - 14:29
ton code est pas facile lire ><
- HeavenStaffeux retraité
- Nombre de messages : 2441
Age : 23
Localisation : Alpes-Maritimes VIRILITÉ OLALA
Distinction : Aucune
Date d'inscription : 18/10/2012
Re: vie sur les monstre vx ace
Mer 22 Avr 2015 - 16:51
Il faudrait que tu aères ton code (ex : que tu mettes des espaces, une logique..ect). Tu as un petit screen pour illustrer ce que ça donne ? Sinon merci du partage :3
Heav'n
Heav'n
- ZaleraMembre
- Nombre de messages : 34
Age : 32
Distinction : aucune
Date d'inscription : 18/04/2015
Re: vie sur les monstre vx ace
Mer 22 Avr 2015 - 16:53
J'ai tester ton script, parfois il m'affiche la vie d'un boss alors que j'ai 5 ennemis identique, un à moment il m'affiche 5 barre de vie identique(sans celle de boss). Après je ne suis pas codeur, donc je n'ai pas trouver pourquoi ce changement.
- reveurducielMembre
- Nombre de messages : 197
Date d'inscription : 18/12/2014
Re: vie sur les monstre vx ace
Mer 22 Avr 2015 - 18:37
Tu pourrais me faire un script similaire pour mon jeu ? J'ai besoin d'une barre de vie pour mes monstres
Re: vie sur les monstre vx ace
Mer 22 Avr 2015 - 21:43
voila j ai commenter mon code vous devriez comprendre plus facilement
c normal je les configurer pour qui affiche seulement la vie des enemies c tout !!
il faudrais reprend tout de code pour qui face la difference dc voila
et pour " reveurduciel " contact moi par mp on vera ce qu'on peut faire
Zalera a écrit:J'ai tester ton script, parfois il m'affiche la vie d'un boss alors que j'ai 5 ennemis identique, un à moment il m'affiche 5 barre de vie identique(sans celle de boss). Après je ne suis pas codeur, donc je n'ai pas trouver pourquoi ce changement.
c normal je les configurer pour qui affiche seulement la vie des enemies c tout !!
il faudrais reprend tout de code pour qui face la difference dc voila
et pour " reveurduciel " contact moi par mp on vera ce qu'on peut faire
- ZaleraMembre
- Nombre de messages : 34
Age : 32
Distinction : aucune
Date d'inscription : 18/04/2015
Re: vie sur les monstre vx ace
Jeu 23 Avr 2015 - 6:23
Re: vie sur les monstre vx ace
Jeu 23 Avr 2015 - 7:46
C'est normal le premier est toujours considéré comme un boss sauf si un monstre de grandes taille
c normal c'un script tres basique tu sais
c normal c'un script tres basique tu sais
- HeavenStaffeux retraité
- Nombre de messages : 2441
Age : 23
Localisation : Alpes-Maritimes VIRILITÉ OLALA
Distinction : Aucune
Date d'inscription : 18/10/2012
Re: vie sur les monstre vx ace
Jeu 23 Avr 2015 - 8:04
Merci pour le screen, je t'ajoute quand même 5 points ;p
Heav'n
Heav'n
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|