Invité Invité
| Sujet: [RPG Maker VX] Add_on SBS - Scan Mer 21 Sep 2011 - 19:47 | |
| DescriptionPermet d'analyser un ennemi pour connaitre ses points de vie. InstructionPlacer se script en dessous des script du SBS. Créer un état "Scan" et attribuer son ID par le script. AuteurWilkyo - Code:
-
############################################################################# # Add_on SBS - Scan V2 # # 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 = 35 # 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 # Nombre d'icônes à afficher NB_ICONES = 8 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) draw_enemy_state(member,315,0) 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 def draw_enemy_state(enemy, x, y, width = 24*N01::NB_ICONES) count = 0 for state in enemy.states next if state.extension.include?("HIDEICON") draw_icon(state.icon_index, x + 24 * count, y) count += 1 break if (24 * count > width - 24) end end end
|
|
Jin Ancien staffeux
Messages postés : 8557 Date d'inscription : 08/12/2010 Jauge LPC :
| Sujet: Re: [RPG Maker VX] Add_on SBS - Scan Mer 21 Sep 2011 - 20:30 | |
| |
|
City Hunter Administrateur
Messages postés : 6524 Date d'inscription : 25/05/2011 Jauge LPC :
| Sujet: Re: [RPG Maker VX] Add_on SBS - Scan Ven 23 Sep 2011 - 21:23 | |
| Rooooo Oo Genre pas de screen^^" Garruk tu faiblis la x)
Merci du partage ! |
|
Elekami Fondateur
Messages postés : 19071 Date d'inscription : 19/07/2008 Jauge LPC :
| Sujet: Re: [RPG Maker VX] Add_on SBS - Scan Sam 24 Sep 2011 - 12:23 | |
| Merci aussi! (bientôt les 100 points LPDM... on prévoit une petite fête ou quoi?) |
|
Contenu sponsorisé
| Sujet: Re: [RPG Maker VX] Add_on SBS - Scan | |
| |
|