[ADD ON SBS]: Scan
Lun 23 Aoû 2010 - 14:30
Auteur : wilkyo, d'une requête
Date : 23/08/2010
Dernière version: 26/08/2010
Description du script :
Ce script permet de n'afficher la vie des ennemis ciblés que s'ils sont sous l'effet de la compétence "Scan"
/!\ Il n'affiche pas du tout une autre barre de vie au niveau du monstre !
Vous pouvez, si vous avez scanné un ennemi, voir la vie des ennemis similaires (id dans la BDD) (réglable en haut du script)
Images:
Ps: Si vous ne voulez pas que l'état soit affiché entre les [], vous devez aller dans le script SBS Configurations et ajouter dans STATE_NON_DISPLAY l'id de votre état "Scanné"
Installation :
Placez le en dessous des scripts du SBS, et au-dessus de main.
- Créez l'état "Scanné" dans la BDD, en cochant la case "Aucune résistance"
- Créez la compétence Scan, qui inflige à un ennemi l'état "Scanné" (avec de préférence 100%)
- Réglez vos préférences en haut du script (id de l'état...)
Bonne journée
Date : 23/08/2010
Dernière version: 26/08/2010
Description du script :
Ce script permet de n'afficher la vie des ennemis ciblés que s'ils sont sous l'effet de la compétence "Scan"
/!\ Il n'affiche pas du tout une autre barre de vie au niveau du monstre !
Vous pouvez, si vous avez scanné un ennemi, voir la vie des ennemis similaires (id dans la BDD) (réglable en haut du script)
Images:
Ps: Si vous ne voulez pas que l'état soit affiché entre les [], vous devez aller dans le script SBS Configurations et ajouter dans STATE_NON_DISPLAY l'id de votre état "Scanné"
Installation :
Placez le en dessous des scripts du SBS, et au-dessus de main.
- Créez l'état "Scanné" dans la BDD, en cochant la case "Aucune résistance"
- Créez la compétence Scan, qui inflige à un ennemi l'état "Scanné" (avec de préférence 100%)
- Réglez vos préférences en haut du script (id de l'état...)
- Code:
#############################################################################
# Add_on SBS - Scan #
# by wilkyo - Idea of Drakild #
# Permet d'utiliser la compétence scan, qui une fois utilisée sur un ennemi, permet de voir sa vie #
# #
# Utilisation: #
# - Créez l'état "Scanné" dans la BDD, en cochant la case "Aucune résistance" #
# - Créez la compétence Scan, qui inflige à un ennemi l'état "Scanné" (avec de préférence 100%) #
# - Réglez vos préférences çi dessous #
#############################################################################
module N01
# id de l'état "Scanné"
ID_SCAN = 21
# Si vrai, replace le nom de la cible à la place de sa vie
SCAN_NAME =true
# Décale vers la droite le nom (pour ceux qui sont pas satisfaits de l'affichage)
DECAL_NAME = true
# Si vrai, en scannant 1 ennemi, ça scan tous les ennemis de la même espèce.
SCAN_GROUPES = true
end
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
def enemy?
return false
end
def scanned?
return true
end
end
#==============================================================================
# ** Game_Enemy
#------------------------------------------------------------------------------
# This class handles enemy characters. It's used within the Game_Troop class
# ($game_troop).
#==============================================================================
class Game_Enemy < Game_Battler
def enemy?
return true
end
#######################################################
# Renvoie vrai si l'ennemi est sous l'effet du scan #
#######################################################
def scanned?
return states.include?($data_states[N01::ID_SCAN])
end
#######################################################
# Scan tous les ennemis du même type qu'un ennemi scanné #
#######################################################
def scan_groupes
s_s = $data_states[N01::ID_SCAN]
for i in $game_troop.members
if i.states.include?(s_s)
for j in $game_troop.members
j.add_state(N01::ID_SCAN) if j.enemy_id == i.enemy_id && !j.states.include?(s_s)
end
end
end
end
end
#==============================================================================
# ■ Window_Help
#------------------------------------------------------------------------------
# スキルやアイテムの説明、アクターのステータスなどを表示するウィンドウです。
#==============================================================================
class Window_Help < Window_Base
#--------------------------------------------------------------------------
# ● テキスト設定
#--------------------------------------------------------------------------
def set_text_n01add(member)
self.contents.clear
return if member == nil || member.dead?
member.scan_groupes if N01::SCAN_GROUPES && member.enemy?
self.contents.font.color = normal_color
if !member.actor? && N01::ENEMY_NON_DISPLAY.include?(member.enemy_id)
return self.contents.draw_text(4, 0, self.width - 40, WLH, member.name, 1)
elsif member.actor? && !N01::ACTOR_DISPLAY
return self.contents.draw_text(4, 0, self.width - 40, WLH, member.name, 1)
end
if N01::WORD_STATE_DISPLAY && N01::HP_DISPLAY
nom = member.name
lgt = 175
if member.scanned?
draw_actor_hp(member, 182, 0, 120)
elsif N01::SCAN_NAME
(nom += " " while nom.size < 22) if N01::DECAL_NAME
lgt = 300
end
self.contents.draw_text(0, 0, lgt, WLH, nom, 2)
text = "["
for state in member.states
next if N01::STATE_NON_DISPLAY.include?(state.id)
text += " " if text != "["
text += state.name
end
text += N01::WORD_NORMAL_STATE if text == "["
text += "]"
text = "" if text == "[]"
self.contents.draw_text(315, 0, 195, WLH, text, 0)
elsif N01::WORD_STATE_DISPLAY
text = member.name + " ["
for state in member.states
next if N01::STATE_NON_DISPLAY.include?(state.id)
text += " " if text != member.name + " ["
text += state.name
end
text += N01::WORD_NORMAL_STATE if text == member.name + " ["
text += "]"
text = "" if text == "[]"
self.contents.draw_text(4, 0, self.width - 40, WLH, text, 1)
elsif N01::HP_DISPLAY
nom = member.name
lgt = 175
if member.scanned?
draw_actor_hp(member, 262, 0, 120)
elsif N01::SCAN_NAME
(nom += " " while nom.size < 22) if N01::DECAL_NAME
lgt = 300
end
self.contents.draw_text(4, 0, lgt, WLH, nom, 2)
end
end
end
Bonne journée
- Black'Membre
- Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010
Re: [ADD ON SBS]: Scan
Lun 23 Aoû 2010 - 15:03
Superbe script, bravovovovo!0.0 Merci du partage !
- DrakildMembre
- Nombre de messages : 103
Age : 45
Localisation : Mozelle
Distinction : aucune
Date d'inscription : 15/03/2009
Re: [ADD ON SBS]: Scan
Lun 23 Aoû 2010 - 23:25
Super script, bon travail.
C'est pile ce que je voulais.
Merci
C'est pile ce que je voulais.
Merci
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum