AccueilPortailCalendrierFAQRechercherMembresGroupesS'enregistrerConnexion

Partagez | 
 

 VX Script qui montre les degat

Aller en bas 
AuteurMessage
Faucheuse
Acrobate
Acrobate
avatar

Masculin
Nombre de messages : 95
Age : 21
Projet(s) en cours : aucun
Niveau Rpg Maker : Moyen
Jeux Préférés : Zelda oracle of the season,final fantasy tactics,Call of duty Modern warfare 2 et 3,Dragon quest 9,World of Warcraft,StarcraftII
Date d'inscription : 15/03/2011

MessageSujet: VX Script qui montre les degat    Lun 07 Nov 2011, 19:04

Bonjour,Fusiens et Fusiennes

j'ai l'honneur de vous montrer un script qui permet de montrer les dégât
reçu ou donnés sur l'écran compatible avec la SBS (combat vue de côtés).
Le script et fonctionnel il n'est pas de moi donc pas la peine de me prévenir
d'eventuelle bug Amen.

ouvrir l'éditeur de script,mettre le code au dessus de main,nommez les BattleDamage.
Screen:


Modifiable a la ligne 24 vous avez ça et vous mettez le nom de la police
(je me suis permis de mettre impact car on vois mieux ^^):
self.bitmap.font.name = "Impact"



#==============================================================================
# ** BattleDamage **
#------------------------------------------------------------------------------
# A simple script showing battle damages.
# Tested under RPG Maker VX
# mailto: romuald.dub@gmail.com
# Feel free to send comments and fixes.
#==============================================================================
#==============================================================================
# ** Sprite_Damage
#------------------------------------------------------------------------------
# This sprite is used to display the damage count, It automatically changes
# color during battle.
#==============================================================================
class Sprite_Damage < Sprite
#--------------------------------------------------------------------------
# * Object Initialization
# viewport : viewport
#--------------------------------------------------------------------------
def initialize(viewport)
super(viewport)
@effect_duration = 128
self.bitmap = Bitmap.new(88, 48)
self.bitmap.font.name = "Impact"
self.x = (544 / 2 - 16) # center x
self.z = 200
update
end
#--------------------------------------------------------------------------
# * Dispose
#--------------------------------------------------------------------------
def dispose
self.bitmap.dispose
super
end
#--------------------------------------------------------------------------
# * Set Damage
#--------------------------------------------------------------------------
def set_damage(target, val)
@effect_duration = 128
self.bitmap.clear

if val < 0
if target.actor?
self.y = (416 / 2 - 16) # center y
else
self.y = 0
end
self.bitmap.font.color.set(128, 255, 128) # recovery color
val = val.abs
elsif val > 0
if target.actor?
self.y = (416 / 2 - 16) # center y
self.bitmap.font.color.set(255, 255, 0) # ennemy attack color
else
self.y = 0
self.bitmap.font.color.set(255, 255, 255) # actor attack color
end
else
return
end

if target.critical
self.bitmap.font.size = 46
else
self.bitmap.font.size = 32
end

self.bitmap.draw_text(self.bitmap.rect, val)
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
def update
super
if @effect_duration > 0
@effect_duration -= 1
end
self.opacity = 256 - (32 - @effect_duration) * 10
end
end
#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
# This class brings together battle screen sprites. It's used within the
# Scene_Battle class.
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
create_viewports
create_battleback
create_battlefloor
create_enemies
create_actors
create_pictures
@damage_sprite = Sprite_Damage.new(@viewport1)
create_timer
update
end
#--------------------------------------------------------------------------
# * Dispose
#--------------------------------------------------------------------------
def dispose
dispose_battleback_bitmap
dispose_battleback
dispose_battlefloor
dispose_enemies
dispose_actors
dispose_pictures
@damage_sprite.dispose
dispose_timer
dispose_viewports
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
update_battleback
update_battlefloor
update_enemies
update_actors
update_pictures
update_timer
@damage_sprite.update
update_viewports
end
#--------------------------------------------------------------------------
# * Set Damage
#--------------------------------------------------------------------------
def set_damage(target, val)
@damage_sprite.set_damage(target, val)
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * Show HP Damage
# target : Target
# obj : Skill or item
#--------------------------------------------------------------------------
def display_hp_damage(target, obj = nil)
if target.hp_damage == 0 # No damage
return if obj != nil and obj.damage_to_mp
return if obj != nil and obj.base_damage == 0
fmt = target.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
text = sprintf(fmt, target.name)
elsif target.absorbed # Absorb
fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
text = sprintf(fmt, target.name, Vocab::hp, target.hp_damage)
elsif target.hp_damage > 0 # Damage
if target.actor?
text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage)
Sound.play_actor_damage
$game_troop.screen.start_shake(5, 5, 10)
else
text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage)
Sound.play_enemy_damage
target.blink = true
end
else # Recovery
fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
text = sprintf(fmt, target.name, Vocab::hp, -target.hp_damage)
Sound.play_recovery
end
@message_window.add_instant_text(text)
@spriteset.set_damage(target, target.hp_damage) # display hp damage
end
#--------------------------------------------------------------------------
# * Show MP Damage
# target : Target
# obj : Skill or item
#--------------------------------------------------------------------------
def display_mp_damage(target, obj = nil)
return if target.dead?
return if target.mp_damage == 0
if target.absorbed # Absorb
fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
text = sprintf(fmt, target.name, Vocab::mp, target.mp_damage)
elsif target.mp_damage > 0 # Damage
fmt = target.actor? ? Vocab::ActorLoss : Vocab::EnemyLoss
text = sprintf(fmt, target.name, Vocab::mp, target.mp_damage)
else # Recovery
fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
text = sprintf(fmt, target.name, Vocab::mp, -target.mp_damage)
Sound.play_recovery
end
@message_window.add_instant_text(text)
@spriteset.set_damage(target, target.mp_damage) # display mp damage
end
end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
VX Script qui montre les degat
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Appeler un script/ une page PHP?
» Charisma ; «Montre-moi, que la vie est belle...»
» [Script RMVX] Fenêtre additionnelle
» After Effects script
» [demande] conversion de script

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Combat-
Sauter vers: