AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

Partagez
 

 Problême SBS Takentaï et script Yanfly bestiaire + scan

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Gunslinger
Poulet trizo Lv.3
Poulet trizo Lv.3
Gunslinger


Masculin Age : 29
Inscrit le : 31/10/2011
Messages : 31

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeLun 16 Juil 2012 - 17:03

Bonjours, bonsoir tout le monde.

J'aurais besoin de votre aide pour un problême relatif
au SBS takentaï 3.4 et le script Bestiaire + Ecran de scan Redux de Yanfly.

Mon problême est le suivant, lorsque j'appuie sur Maj pour faire apparaitre
l'écran en plein combat, il ne se passe rien, l'écran n'apparait pas et
rendant par la même occassion le scan de l'ennemi non consultable.

Je pense que cela vient du SBS car quand je teste le scan sur un projet
sans SBS, l'écran apparait bien.

Quelqu'un aurait-il la solution à mon problême, s'il vous plait ??

Merci d'avance pour votre aide !!
Amicalement
Gunslinger
Revenir en haut Aller en bas
Garruk
Aventurier Lv.16
Aventurier Lv.16
Garruk


Age : 40
Inscrit le : 03/09/2009
Messages : 1503

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeLun 16 Juil 2012 - 19:12

Le script marche très bien pour la version 3.3, après si tu utilises la jauge ATB c'est différent, car même sur la version 3.3 le script fail.
Revenir en haut Aller en bas
Malum
Révolutionnaire mais ça rentrait pas alors autre chose
Révolutionnaire mais ça rentrait pas alors autre chose
Malum


Masculin Age : 30
Inscrit le : 28/05/2010
Messages : 1537

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeLun 16 Juil 2012 - 19:24

Si tu un petit peu de skill en script, farfouille dedans pour trouver l'allusion à la touche MaJ et remplace là par une autre touche =)
Si ce n'est pas le cas, balance moi le script que j'ai pas sous la main et j'essais de te faire ça =)
Revenir en haut Aller en bas
http://malum-productions.forumsactifs.net
Gunslinger
Poulet trizo Lv.3
Poulet trizo Lv.3
Gunslinger


Masculin Age : 29
Inscrit le : 31/10/2011
Messages : 31

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeLun 16 Juil 2012 - 21:06

Je me débrouille moyennement en script.
Mais voilà le script de Yanfly sur le bestiaire
pour que tu te fasse une petite idée :

Code:

#===============================================================================
#
# Yanfly Engine RD - Bestiary + Display Scanned Enemy
# Last Date Updated: 2009.06.13
# Level: Easy, Normal, Hard, Lunatic
#
# Similar to the Display Skill Query script, I've made one for enemies. This was
# mostly to replace my Display Target Data script, considering it didn't display
# much data at all about the target. This one was also made on the account of
# making a proper scan skill property in addition to different parts of enemy
# data that it can scan.
#
# I've disliked scan systems where you would have to keep rescanning an enemy
# to see its HP, MP, etc. It felt counterproductive on the player side since
# valuable turns are wasted just to view some numbers. This system allows you to
# pull up enemy data upon enemy selection (where I believe it matters most).
# After all, providing convenience for the player is absolutely important since
# it reduces metagaming, which is something that should never have to happen
# for an RPG Maker project.
#
# For the users who fear giving too much information to their players, users can
# disable parts of the script and prevent certain pages from appear at all. You
# can limit how much and how little you want to show your players through <hide>
# tags, too, for the enemies' noteboxes.
#
# Since the May 27th update, a bestiary option is created for the main menu.
# You can access this menu and view all of the scanned data from the enemies
# you've discovered. This option is accessible once the bestiary switch is on.
#
#===============================================================================
# Updates:
# ----------------------------------------------------------------------------
# o 2009.06.10 - Compatibility added for Enemy Level Control.
# o 2009.06.09 - Small fix to bestiary calculation for not requiring scan.
# o 2009.05.27 - Bestiary added.
#                Monsters can now have more than one boss type.
# o 2009.04.27 - MAJOR BUGFIX: Fixed a save game corrupting bug.
# o 2009.04.21 - Finished and publicized.
# o 2009.04.20 - Started script.
#===============================================================================
# How to Use: Normal Mode
#===============================================================================
#
# To access the bestiary, make sure the switch governing the bestiary option
# is on. Otherwise, it will not show. The bestiary will be accessible by default
# at the start of a new game.
#
# ----------------------------------------------------------------------------
# Placing these tags into a skill's notebox will reveal specific scan data. The
# scan data will appear for all enemies of the same enemy type, but each indi-
# vidual enemy will still possess their own modifiers.
#
# <scan whole>
# Causes the skill to unlock all scan data about the target enemy.
#
# <scan hp mp>
# Causes the skill to unlock only the HP and MP portion of the enemy data.
# Note that even if HP and MP were unscanned, the gauge bars will still move up
# and down as to give the player a general idea of how much health the enemy has
# before giving the player more accurate information.
#
# <scan stats>
# Causes the skill to unlock the ADSA and HECO stats for the target enemy scan
# data. On the HECO stats side, you can hide certain stats from appear. Odds is
# hidden by default with this script.
#
# <scan skills>
# Causes the skill to unlock the skill page for the target enemy scan data. This
# will list all of the skills the enemy will use in battle. Duplicate skills are
# condensed and removed from the listing.
#
# <scan elements>
# Causes the skill to unlock the elements page for the target enemy data. This
# provides a chart of the enemy's elemental affinities as to what will damage
# the enemy more or less.
#
# <scan status effects> or <scan states>
# Causes the skill to unlock the status effects page for the target enemy data.
# Like the elements page, this provides a listing of status effect chances to
# occur for the enemy.
#
# <scan steal>
# Only appears if you have KGC Steal. This page will reveal information about
# items that can be stolen form the enemy along with their steal rates.
#
# <scan spoils>
# Causes a skill to unlock the experience, gold, encounters page for target
# enemy data. This is pretty much stuff that comes out of an enemy after a
# battle is over. Can include drops (optional).
#
# <scan drops>
# Causes a skill to unlock the drops page. Use this if you use KGC's Extra Drops
# and if your enemies have huge drop lists. This will display way more.
#
# <scan description>
# Causes a skill to unlock the extra description page where you can make your
# own custom notes. Note that if you don't alter the Lunatic mode hash down
# below, even if you scan the enemy, the extra page won't show unless there is
# something to be shown.
#
#===============================================================================
# How to Use: Hard Mode
#===============================================================================
#
# <boss type x> or <boss type x,x>
# This will determine the boss types available for that enemy. Boss types will
# categorize enemies differently in the bestiary and also display certain parts
# of the scan data differently.
#
# For those that would like to prevent certain pages from showing up on specific
# enemies, you can use the following tags on those enemies to prevent those very
# pages from appearing without completely disabling a part of the scan set.
#
# <hide whole>
# Prevents everything from being shown at all for that enemy.
#
# <hide hp_mp>
# Prevents HP and MP from being displayed for that enemy.
#
# <hide stats>
# Prevents the ADSA and HECO stats from being displayed for that enemy.
#
# <hide skills>
# Prevents skills from being displayed for that enemy.
#
# <hide elements>
# Prevents element chart from being displayed for that enemy.
#
# <hide status effects> or <hide states>
# Prevents status effect probability chart from being displayed for that enemy.
#
# <hide steal>
# Prevents stolen items from being shown for that enemy.
#
# <hide spoils>
# Prevents victory spoil information from being shown for that enemy.
#
# <hide drops>
# Prevents drop information from being displayed for that enemy.
#
# If you might have noticed, there's no hide version for description. This is
# because if you simply don't add the enemy extra notes description to the hash,
# they won't appear at all. It's easier to manage that way instead.
#
#===============================================================================
#
# Compatibility
# - Works With: KGC's ExtraDropItem, Steal
# - Alias: Game_Battler, skill_effect
# - Alias: Game_Enemy, initialize, transform, escape, perform_collapse
# - Alias: Scene_Battle, create_info_viewport, update_target_enemy_selection
#
#===============================================================================
# Credits:
# KGC for Window_Command imports.
#===============================================================================

$imported = {} if $imported == nil
$imported["DisplayScannedEnemy"] = true

module YE
  module MENU
    module MONSTER
     
      #------------------------------------------------------------------------
      # BESTIARY RELATED
      #------------------------------------------------------------------------
     
      # The following will govern the rules which the bestiary scene will abide
      # by. Be sure to adjust it accordingly to your needs.
      BESTIARY_TITLE  = "Bestiary"    # The title which appears on the menu.
      BESTIARY_SWITCH = 71            # Which switch will enable this command?
      BESTIARY_LIST  = "%s List"      # Text which follows boss type.
      BESTIARY_MASK  = "?"            # Mask used for unknown enemies.
     
      # The following is an array used to hide monsters from the bestiary.
      # Input the ID's of the monsters into the array if you wish to hide them.
      # By default, Swap Dummy Monsters are automatically hidden.
      HIDDEN_MONSTERS = [31, 32, 33, 34, 35]
     
      # The following determines the order the monsters are displayed in. Note
      # that if you alphabetize the monster list, this will have no effect.
      BESTIARY_ORDER = [16, 1..15, 17..30]
     
      # The following lets you govern the rules for displaying different
      # boss type categories.
      CATEGORIZE_TEXT = "Shift: Change Categories"
      CATEGORIZE_HELP = "Select a Category Type"
      CATEGORIZE_VIEW = "View %s"
      CATEGORIZE_BUTTON = Input::SHIFT
     
      # The following adjusts the category data shown for the overall monster
      # book information.
      MENU_FONT_SIZE  = 16
      BESTIARY_INFO  = "Bestiary Information"
      TEXT_COMPLETION = "Bestiary Completion"
      RATE_COMPLETION = "%#.05g%%"
      ICON_COMPLETION = 141
      TEXT_DISCOVERED = "Total Discovered"
      ICON_DISCOVERED = 196
      TEXT_ENCOUNTERS = "Total Encounters"
      TEXT_DEFEATED  = "Total Defeated"
      TEXT_ESCAPED    = "Total Escaped"
      TEXT_TYPE_DIS  = "%s Discovered"
      TEXT_TYPE_ENC  = "%s Encountered"
      TEXT_TYPE_DEF  = "%s Defeated"
      TEXT_TYPE_ESC  = "%s Escaped"
     
      #------------------------------------------------------------------------
      # SCAN WINDOW RELATED
      #------------------------------------------------------------------------
     
      # This is the button pressed to trigger the enemy scan window in battle.
      ENEMY_SCAN_BUTTON = Input::A
     
      # If this is set to true, you must use scan skills on an enemy type before
      # any data will be displayed at all.
      REQUIRE_SCAN  = true
     
      # This allows you to adjust the help info window's properties in battle.
      HELP_WINDOW_TX = "Press Shift to view enemy data."
      HELP_WINDOW_ON = true            # This turns the window on and off.
      HELP_WINDOW_X  = 0              # This is where the X position is.
      HELP_WINDOW_Y  = 0              # This is where the Y position is.
      HELP_WINDOW_W  = 544            # This is what width the window is.
      HELP_WINDOW_O  = 255            # This is the window's opacity level.
     
      # This affects how you want the scan to appear.
      ENEMY_NAME = "%s Data"
     
      # This displays the title information at the very top of the scan window.
      # Most of the strings are explained by the notes to the side.
      DATA_LEFT  = "<<"            # This appears if page can be moved back.
      DATA_PAGE1 = "Information"  # This appears if only one page of info.
      DATA_PAGES = "Page %d/%d"    # This appears if more than one page of info.
      DATA_RIGHT = ">>"            # This appears if page can move right.
      DATA_CATEGORY_COLOUR = 4    # This affects category text colour.
     
      # This is the sound played when flipping through the various pages.
      # Set it to nil if you don't want a sound to play.
      PAGE_SOUND = RPG::SE.new("Wind7", 80, 125)
     
      # Set this to true if you would rather the scan display the page info
      # type rather than Page X/Y. The titles following correspond to the pages'
      # titles should you decide to display them.
      REPLACE_PAGE_MSG = true
      TITLE_UNKNOWN    = "Unknown"
     
      # This affects the information shown on the first page of the scan.
      # The first page shows HP, general stats, and states if the enemy is
      # under the effects of any.
      SHOW_GENERAL  = true
      TITLE_GENERAL  = "General Info"
      GAUGE_HEIGHT  = 9        # This affects the gauge height.
      EXHAUST_COLOUR = 7        # This adjusts the exhaustion colour.
      FONT_SIZE      = 16      # Sets font size for smaller text.
      HIDDEN_HP      = "?????"  # If the enemy is unscanned or hides HP.
      HIDDEN_MP      = "?????"  # If the enemy is unscanned or hides MP.
      DATA_STATES    = "Status Effects"  # Category for affected states.
      HIDDEN_STAT    = "???"    # If the enemy is unscanned or hides stats.
      DATA_ATK      = "ATK"    # For attack.
      DATA_DEF      = "DEF"    # For defense.
      DATA_SPI      = "SPI"    # For spirit.
      DATA_AGI      = "AGI"    # For agility.
      DATA_HIT      = "HIT"    # For hit rate.
      HIDE_HIT      = false    # Set this to true if you wish to hide Hit.
      DATA_EVA      = "EVA"    # For evasion rate.
      HIDE_EVA      = false    # Set this to true if you wish to hide Eva.
      DATA_CRI      = "CRI"    # For critical rate.
      HIDE_CRI      = false    # Set this to true if you wish to hide Cri.
      DATA_ODDS      = "LUK"    # For odds value.
      HIDE_ODDS      = true    # Set this to true if you wish to hide Odds.
     
      # The display types alter how HP and MP is shown for scanned enemies.
      # Type 1: Current HP
      # Type 2: Current HP/MaxHP
      # Type 3: Percentage of Current HP/MaxHP
      # The same goes for MP display type.
      HP_DISPLAY_TYPE = 2
      MP_DISPLAY_TYPE = 2
     
      # Here you can control boss types and whatnot. To use boss types, add
      # the boss type category here and insert in the enemy's notebox the
      # <boss type x> tag. It will reference to this hash as to how to display
      # the following information: Boss Type Icon, HP Icon, HP Colour 1,
      # HP Colour 2, MP Icon, MP Colour 1, and MP Colour 2.
      BOSS_TYPES ={
      # Type  =>  [Icon,HPIc,HPC1,HPC2,MPIc,MPC1,MPC2, Type Name, Pural]
          0  =>  [ 118,  99,  20,  21, 100,  22,  23, "Monster", "Monsters"],
          1  =>  [ 112, 208,  18,  20, 209,  11,  22, "Boss", "Bosses"],
          2  =>  [ 157,  99,  20,  21, 100,  22,  23, "Midboss", "Midbosses"],
      } # Do not remove this.
     
      # This is for the bestiary and how you would like the order to appear.
      TYPE_ORDERING = [0, 2, 1]
     
      # This is all of the icon information for the first page.
      ICON_HIGH = 142  # If a stat is higher than base stat.
      ICON_LOW  = 143  # If a stat is lower than base stat.
      ICON_ATK  = 2    # Icon for ATK
      ICON_DEF  = 52    # Icon for DEF
      ICON_SPI  = 21    # Icon for SPI
      ICON_AGI  = 48    # Icon for AGI
      ICON_HIT  = 135  # Icon for HIT
      ICON_EVA  = 158  # Icon for EVA
      ICON_CRI  = 119  # Icon for CRI
      ICON_ODDS = 137  # Icon for ODD
     
      # This affects info displayed on the skill info page. Skills only appear
      # if the monster has those skills in its action list. Otherwise, this
      # page will not appear at all.
      SHOW_SKILLS    = true
      TITLE_SKILLS  = "Skill Info"
      DATA_SKILLS    = "Skill Name"
      VIEW_SKILLS1  = "%d Skill"
      VIEW_SKILLS2  = "%d Skills"
     
      # This affects info displayed for the element affinity info page.
      # Elements will only show if they are listed in the hash below.
      SHOW_ELEMENTS  = true
      TITLE_ELEMENTS = "Element Affinity"
      ICON_E_RATE_U  = 9        # Icon used for unknown element rates.
      ICON_E_RATE_Z  = 96      # Icon used for element rate Z.
      ICON_E_RATE_A  = 99      # Icon used for element rate A.
      ICON_E_RATE_B  = 99      # Icon used for element rate B.
      ICON_E_RATE_C  = 102      # Icon used for element rate C.
      ICON_E_RATE_D  = 101      # Icon used for element rate D.
      ICON_E_RATE_E  = 100      # Icon used for element rate E.
      ICON_E_RATE_F  = 103      # Icon used for element rate F.
      ELEMENT_HASH ={
      # These hashes allow you to construct various rows in the element page.
      # There's a maximum fit of 10 elements per row.
      "Physical Elements" => [
      # These are the element ID's.
      [  2,  3,  4,  5,  6],
      # These are the element icons.
      [  10,  4,  14,  16,  12]
      ], # Next row
     
      "Magical Elements" => [
      # These are the element ID's.
      [  9,  10,  11,  12,  13,  14,  15,  16],
      # These are the element icons.
      [ 104, 105, 106, 107, 108, 109, 110, 111]
      ], # Next row
     
      } # Do not remove this.
     
      # This affects info displayed for the status effect probability page.
      # Status effect will only show if they're listed in the hash below.
      SHOW_STATES    = true
      TITLE_STATES  = "Status Chances"
      ICON_S_RATE_U  = 94      # Icon used for unknown status rates.
      ICON_S_RATE_Z  = 96      # Icon used for status rate Z.
      ICON_S_RATE_A  = 99      # Icon used for status rate A.
      ICON_S_RATE_B  = 99      # Icon used for status rate B.
      ICON_S_RATE_C  = 102      # Icon used for status rate C.
      ICON_S_RATE_D  = 101      # Icon used for status rate D.
      ICON_S_RATE_E  = 100      # Icon used for status rate E.
      ICON_S_RATE_F  = 103      # Icon used for status rate F.
      STATES_HASH ={
      # These hashes allow you to construct various rows in the states page.
      # There's a maximum fit of 10 states per row.
      "Conditions" => [ 2,  3,  4,  5,  6,  7,  8],
      "Buffs"      => [ 9, 10, 11, 12],
      "Debuffs"    => [13, 14, 15, 16],
      } # Do not remove this.
     
      # The following portion requires KGC's Steal script to show, but doesn't
      # affect the rest of this script. This page shows a list of stealable
      # goodies you can nab using KGC's Steal script.
      SHOW_STEAL    = true
      TITLE_STEAL    = "Steal Info"
      DATA_S_ITEM    = "Item Name"
      DATA_S_CHANCE  = "Rate"
     
      # This affects info displayed for the spoils page. Note that you can
      # choose to activate this page if an enemy of a type dies.
      SHOW_SPOILS    = true
      TITLE_SPOILS  = "Victory Spoils"
      DEATH_SPOILS  = true      # Set to true if you wish to reveal spoils info
                                # when an enemy dies.
      DATA_GOLD      = "Gold"    # Message used to indicate gold drop.
      VIEW_GOLD      = "%d Gold" # How the gold gain will appear.
      ICON_GOLD      = 205      # Icon used for gold drop.
      DATA_EXP      = "EXP"    # Message used to indicate experience gain.
      VIEW_EXP      = "%d EXP"  # How the exp gain will appear.
      ICON_EXP      = 62        # Icon used for exp gain.
      DATA_ENCOUNTER = "Encounters" # Message used to indicate encounters.
      VIEW_ENC1      = "%d Time"    # How the encounters will appear. Singular.
      VIEW_ENC2      = "%d Times"  # How the encounters will appear. Plural.
      ICON_ENCOUNTER = 63          # Icon used for encounters.
      DATA_KILLED    = "Defeated"  # Message used to indicate defeats.
      VIEW_KILLED1  = "%d Kill"    # How the defeats will appear. Singular.
      VIEW_KILLED2  = "%d Kills"  # How the defeats will appear. Plural.
      ICON_KILLED    = 157          # Icon used for defeats.
      DATA_ESCAPED  = "Escaped"    # Message used to indicate escapes.
      VIEW_ESCAPED1  = "%d Fled"    # How the defeats will appear. Singular.
      VIEW_ESCAPED2  = "%d Fled"    # How the defeats will appear. Plural.
      ICON_ESCAPED  = 155          # Icon used for escapes.
      SPOIL_DROPS    = false    # Draw drops for the Spoils page?
      DATA_DROPS    = "Drops"  # Message used to indicate drops.
     
      # For those that would like a separate page for drops, use this page.
      # This affects all of the information relative to drops anyway.
      SHOW_DROPS    = true
      TITLE_DROPS    = "Drops Info"
      DEATH_DROPS    = true      # Set to true if you wish to reveal spoils info
                                # when an enemy dies.
      DATA_D_ITEM    = "Drop Name"
      DATA_D_CHANCE  = "Chance"
     
     
      # This affects the enemy notes section which requires Lunatic modifying.
      # This page can be about anything you want to write about.
      SHOW_NOTES            = true
      TITLE_NOTES          = "Notes"
      NOTE_PAGE_WIDTH      = 240
      NOTE_PAGE_TEXT_SIZE  = 16
      NOTE_PAGE_TEXT_COLOUR = 0
     
    end # MONSTER
  end # MENU
end # YE


#===============================================================================
# How to Use: Lunatic Mode
#===============================================================================
#
# This part allows you to input your own custom notes and whatnot. Custom notes
# page will only appear for enemies that are listed in the note hash beneath the
# Lunatic Mode section.
#
# The process is pretty simple. Just follow the template below.
#
#    ENEMY_NOTES ={
#      enemy_id => "This would be the first line| and this would be the next!",
#    } # Do not remove this.
#
# Enter the enemy's ID number where "enemy_id" is. Following the "=>" input
# the custom notes you'd like for that enemy to display. If you wish to add
# line breaks to notes, add a | where you would like the break to appear. Now
# while they do appear in the notebox, they are confined by the note page's
# width and will shrink if the lines end up being too long. You can adjust the
# note page's width in the part before the Lunatic Mode instructions.
#
#===============================================================================

module YE
  module HASH
   
    ENEMY_NOTES ={
        26 => "Vampires are mythological or|folkloric revenants who sub-|sist by feeding on the blood|of the living. In folkloric|tales, the undead vampires|often visited loved ones and|caused mischief or deaths in|the neighbourhoods they in-|habited when they were alive.",
      1200 => "Hello, world.|It's nice to meet you.",
      1201 => "Good bye, world.|It was nice meeting you.",
    } # Do not remove this.
       
  end #module HASH
end #module YE

#===============================================================================
# Editting anything past this point may potentially result in causing computer
# damage, incontinence, explosion of user's head, coma, death, and/or halitosis.
# Therefore, edit at your own risk.
#===============================================================================

module YE
  module REGEXP
    module BASEITEM
     
      SCAN_WHOLE = /<(?:SCAN_WHOLE|scan whole)>/i
      SCAN_HP_MP = /<(?:SCAN_HP_MP|scan hp mp)>/i
      SCAN_STATS = /<(?:SCAN_STATS|scan stats)>/i
      SCAN_SKILL = /<(?:SCAN_SKILLS|scan skills)>/i
      SCAN_ELEM  = /<(?:SCAN_ELEMENTS|scan elements)>/i
      SCAN_STATE = /<(?:SCAN_STATUS_EFFECTS|scan status effects|scan states)>/i
      SCAN_SPOIL = /<(?:SCAN_SPOILS|scan spoils)>/i
      SCAN_DROPS = /<(?:SCAN_DROPS|scan drops)>/i
      SCAN_STEAL = /<(?:SCAN_STEAL|scan steal)>/i
      SCAN_DESC  = /<(?:SCAN_DESCRIPTION|scan description)>/i
     
    end # BASEITEM
    module ENEMY
     
      BOSS_TYPE  = /<(?:BOSS_TYPE|boss type)[ ]*(\d+(?:\s*,\s*\d+)*)>/i
     
      HIDE_WHOLE = /<(?:HIDE_WHOLE|hide whole)>/i
      HIDE_HP_MP = /<(?:HIDE_HP_MP|hide hp mp)>/i
      HIDE_STATS = /<(?:HIDE_STATS|hide stats)>/i
      HIDE_SKILL = /<(?:HIDE_SKILLS|hide skills)>/i
      HIDE_ELEM  = /<(?:HIDE_ELEMENTS|hide elements)>/i
      HIDE_STATE = /<(?:HIDE_STATUS_EFFECTS|hide status effects|hide states)>/i
      HIDE_SPOIL = /<(?:HIDE_SPOILS|hide spoils)>/i
      HIDE_DROPS = /<(?:HIDE_DROPS|hide drops)>/i
      HIDE_STEAL = /<(?:HIDE_STEAL|hide steal)>/i
     
    end # ENEMY
  end # REGEXP
 
  module_function
  #--------------------------------------------------------------------------
  # Convert Array to Integer
  #--------------------------------------------------------------------------
  def convert_integer_array(array)
    result = []
    for i in array
      case i
      when Range; result += i.to_a
      when Integer; result.push(i)
      end
    end
    return result
  end
 
  #--------------------------------------------------------------------------
  # Converted Constants
  #--------------------------------------------------------------------------
  ENEMY_LIST = convert_integer_array(MENU::MONSTER::BESTIARY_ORDER)
  HIDDEN_ENEMY = convert_integer_array(MENU::MONSTER::HIDDEN_MONSTERS)
 
end # YE
Revenir en haut Aller en bas
Gunslinger
Poulet trizo Lv.3
Poulet trizo Lv.3
Gunslinger


Masculin Age : 29
Inscrit le : 31/10/2011
Messages : 31

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeLun 16 Juil 2012 - 21:08

2ème partit du script

Code:
#===============================================================================
# RPG::Enemy
#===============================================================================

class RPG::Enemy
 
  #--------------------------------------------------------------------------
  # Yanfly_Cache_DSE
  #--------------------------------------------------------------------------
  def yanfly_cache_enemy_dse
    @hide_whole = false; @hide_hp_mp = false; @hide_stats = false
    @hide_elem = false; @hide_state = false; @hide_desc = false
    @hide_skill = false; @hide_spoil = false; @hide_drops = false
    @hide_steal = false
    @boss_type = []
   
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when YE::REGEXP::ENEMY::BOSS_TYPE
        $1.scan(/\d+/).each { |num|
        if num.to_i >= 0
          @boss_type.push(num.to_i)
        end }
       
      when YE::REGEXP::ENEMY::HIDE_WHOLE
        @hide_whole = true
      when YE::REGEXP::ENEMY::HIDE_HP_MP
        @hide_hp_mp = true
      when YE::REGEXP::ENEMY::HIDE_STATS
        @hide_stats = true
      when YE::REGEXP::ENEMY::HIDE_SKILL
        @hide_skill = true
      when YE::REGEXP::ENEMY::HIDE_ELEM
        @hide_elem = true
      when YE::REGEXP::ENEMY::HIDE_STATE
        @hide_state = true
      when YE::REGEXP::ENEMY::HIDE_SPOIL
        @hide_spoil = true
      when YE::REGEXP::ENEMY::HIDE_DROPS
        @hide_drops = true
      when YE::REGEXP::ENEMY::HIDE_STEAL
        @hide_steal = true
     
      end
    }
    @boss_type = [0] if @boss_type == []
  end # end yanfly_cache_cse
 
  #--------------------------------------------------------------------------
  # Boss Type
  #--------------------------------------------------------------------------
  def boss_type
    yanfly_cache_enemy_dse if @boss_type == nil
    return @boss_type
  end
 
  #--------------------------------------------------------------------------
  # Hide Scan
  #--------------------------------------------------------------------------
  def hide_whole
    yanfly_cache_enemy_dse if @hide_whole == nil
    return @hide_whole
  end
  def hide_hp_mp
    yanfly_cache_enemy_dse if @hide_hp_mp == nil
    return @hide_hp_mp
  end
  def hide_stats
    yanfly_cache_enemy_dse if @hide_stats == nil
    return @hide_stats
  end
  def hide_skill
    yanfly_cache_enemy_dse if @hide_skill == nil
    return @hide_skill
  end
  def hide_elem
    yanfly_cache_enemy_dse if @hide_elem == nil
    return @hide_elem
  end
  def hide_state
    yanfly_cache_enemy_dse if @hide_state == nil
    return @hide_state
  end
  def hide_spoil
    yanfly_cache_enemy_dse if @hide_spoil == nil
    return @hide_spoil
  end
  def hide_drops
    yanfly_cache_enemy_dse if @hide_drops == nil
    return @hide_drops
  end
  def hide_steal
    yanfly_cache_enemy_dse if @hide_steal == nil
    return @hide_steal
  end
 
end # RPG::Enemy

#===============================================================================
# RPG::BaseItem
#===============================================================================
class RPG::BaseItem
 
  #--------------------------------------------------------------------------
  # Yanfly_Cache_DSE
  #--------------------------------------------------------------------------
  def yanfly_cache_baseitem_dse
    @scan_whole = false; @scan_hp_mp = false; @scan_stats = false
    @scan_elem = false; @scan_state = false; @scan_desc = false
    @scan_skill = false; @scan_spoil = false; @scan_drops = false
    @scan_steal = false
   
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when YE::REGEXP::BASEITEM::SCAN_WHOLE
        @scan_whole = true
      when YE::REGEXP::BASEITEM::SCAN_HP_MP
        @scan_hp_mp = true
      when YE::REGEXP::BASEITEM::SCAN_STATS
        @scan_stats = true
      when YE::REGEXP::BASEITEM::SCAN_SKILL
        @scan_skill = true
      when YE::REGEXP::BASEITEM::SCAN_ELEM
        @scan_elem = true
      when YE::REGEXP::BASEITEM::SCAN_STATE
        @scan_state = true
      when YE::REGEXP::BASEITEM::SCAN_SPOIL
        @scan_spoil = true
      when YE::REGEXP::BASEITEM::SCAN_DROPS
        @scan_drops = true
      when YE::REGEXP::BASEITEM::SCAN_STEAL
        @scan_steal = true
      when YE::REGEXP::BASEITEM::SCAN_DESC
        @scan_desc = true
     
      end
    }
  end # end yanfly_cache_cse
 
  #--------------------------------------------------------------------------
  # Skill Scan
  #--------------------------------------------------------------------------
  def scan_whole
    yanfly_cache_baseitem_dse if @scan_whole == nil
    return @scan_whole
  end
  def scan_hp_mp
    yanfly_cache_baseitem_dse if @scan_hp_mp == nil
    return @scan_hp_mp
  end
  def scan_stats
    yanfly_cache_baseitem_dse if @scan_stats == nil
    return @scan_stats
  end
  def scan_skill
    yanfly_cache_enemy_dse if @scan_skill == nil
    return @scan_skill
  end
  def scan_elem
    yanfly_cache_baseitem_dse if @scan_elem == nil
    return @scan_elem
  end
  def scan_state
    yanfly_cache_baseitem_dse if @scan_state == nil
    return @scan_state
  end
  def scan_spoil
    yanfly_cache_baseitem_dse if @scan_spoil == nil
    return @scan_spoil
  end
  def scan_drops
    yanfly_cache_baseitem_dse if @scan_drops == nil
    return @scan_drops
  end
  def scan_steal
    yanfly_cache_baseitem_dse if @scan_steal == nil
    return @scan_steal
  end
  def scan_desc
    yanfly_cache_baseitem_dse if @scan_desc == nil
    return @scan_desc
  end
 
end # RPG::BaseItem

#===============================================================================
# Game Battler
#===============================================================================

class Game_Battler

  #--------------------------------------------------------------------------
  # alias skill_effect
  #--------------------------------------------------------------------------
  alias skill_effect_dse skill_effect unless $@
  def skill_effect(user, skill)
    skill_effect_dse(user, skill)
    if user.actor? and !self.actor?
      if skill.scan_hp_mp or skill.scan_whole
        $game_party.scan_hp_mp.push(enemy.id) unless $game_party.scan_hp_mp.include?(enemy.id)
      end
      if skill.scan_stats or skill.scan_whole
        $game_party.scan_stats.push(enemy.id) unless $game_party.scan_stats.include?(enemy.id)
      end
      if skill.scan_skill or skill.scan_whole
        $game_party.scan_skill.push(enemy.id) unless $game_party.scan_skill.include?(enemy.id)
      end
      if skill.scan_state or skill.scan_whole
        $game_party.scan_state.push(enemy.id) unless $game_party.scan_state.include?(enemy.id)
      end
      if skill.scan_elem or skill.scan_whole
        $game_party.scan_elem.push(enemy.id) unless $game_party.scan_elem.include?(enemy.id)
      end
      if skill.scan_spoil or skill.scan_whole
        $game_party.scan_spoil.push(enemy.id) unless $game_party.scan_spoil.include?(enemy.id)
      end
      if skill.scan_drops or skill.scan_whole
        $game_party.scan_drops.push(enemy.id) unless $game_party.scan_drops.include?(enemy.id)
      end
      if skill.scan_steal or skill.scan_whole
        $game_party.scan_steal.push(enemy.id) unless $game_party.scan_steal.include?(enemy.id)
      end
      if skill.scan_desc or skill.scan_whole
        $game_party.scan_desc.push(enemy.id) unless $game_party.scan_desc.include?(enemy.id)
      end
    end
  end
 
end # Game_Battler

#===============================================================================
# Game Party
#===============================================================================

class Game_Party < Game_Unit
 
  #--------------------------------------------------------------------------
  # Public Instance Variables
  #--------------------------------------------------------------------------
  attr_writer :monsters_encounter
  attr_writer :monsters_defeated
  attr_writer :monsters_escaped
 
  attr_writer :scan_hp_mp
  attr_writer :scan_stats
  attr_writer :scan_skill
  attr_writer :scan_state
  attr_writer :scan_elem
  attr_writer :scan_spoil
  attr_writer :scan_drops
  attr_writer :scan_steal
  attr_writer :scan_desc
 
  #--------------------------------------------------------------------------
  # Definitions
  #--------------------------------------------------------------------------
  def monsters_encounter
    @monsters_encounter = {} if @monsters_encounter == nil
    return @monsters_encounter
  end
  def monsters_defeated
    @monsters_defeated = {} if @monsters_defeated == nil
    return @monsters_defeated
  end
  def monsters_escaped
    @monsters_escaped = {} if @monsters_escaped == nil
    return @monsters_escaped
  end
 
  #--------------------------------------------------------------------------
  # Definitions
  #--------------------------------------------------------------------------
  def scan_hp_mp
    @scan_hp_mp = [] if @scan_hp_mp == nil
    return @scan_hp_mp
  end
  def scan_stats
    @scan_stats = [] if @scan_stats == nil
    return @scan_stats
  end
  def scan_skill
    @scan_skill = [] if @scan_skill == nil
    return @scan_skill
  end
  def scan_state
    @scan_state = [] if @scan_state == nil
    return @scan_state
  end
  def scan_elem
    @scan_elem = [] if @scan_elem == nil
    return @scan_elem
  end
  def scan_spoil
    @scan_spoil = [] if @scan_spoil == nil
    return @scan_spoil
  end
  def scan_drops
    @scan_drops = [] if @scan_drops == nil
    return @scan_drops
  end
  def scan_steal
    @scan_steal = [] if @scan_steal == nil
    return @scan_steal
  end
  def scan_desc
    @scan_desc = [] if @scan_desc == nil
    return @scan_desc
  end
 
end

#===============================================================================
# Game Enemy
#===============================================================================

class Game_Enemy < Game_Battler
 
  #--------------------------------------------------------------------------
  # alias initialize
  #--------------------------------------------------------------------------
  alias initialize_dse initialize unless $@
  def initialize(index, enemy_id)
    initialize_dse(index, enemy_id)
    $game_party.monsters_encounter = {} if $game_party.monsters_encounter == nil
    if $game_party.monsters_encounter[enemy_id] == nil
      $game_party.monsters_encounter[enemy_id] = 0
    end
    $game_party.monsters_encounter[enemy_id] += 1 unless $scene.is_a?(Scene_Bestiary)
  end
 
  #--------------------------------------------------------------------------
  # alias Transform
  #--------------------------------------------------------------------------
  alias transform_dse transform unless $@
  def transform(enemy_id)
    transform_dse(enemy_id)
    $game_party.monsters_encounter = {} if $game_party.monsters_encounter == nil
    if $game_party.monsters_encounter[enemy_id] == nil
      $game_party.monsters_encounter[enemy_id] = 0
    end
    $game_party.monsters_encounter[enemy_id] += 1
  end
 
  #--------------------------------------------------------------------------
  # alias Collapse
  #--------------------------------------------------------------------------
  alias perform_collapse_dse perform_collapse unless $@
  def perform_collapse
    perform_collapse_dse
    if $game_temp.in_battle and dead?
      if YE::MENU::MONSTER::DEATH_SPOILS
        $game_party.scan_spoil.push(enemy.id) unless $game_party.scan_spoil.include?(enemy.id)
      end
      if YE::MENU::MONSTER::DEATH_DROPS
        $game_party.scan_drops.push(enemy.id) unless $game_party.scan_drops.include?(enemy.id)
      end
      $game_party.monsters_defeated  = {} if $game_party.monsters_defeated == nil
      if $game_party.monsters_defeated[enemy_id] == nil
        $game_party.monsters_defeated[enemy_id] = 0
      end
      $game_party.monsters_defeated[enemy.id] += 1
    end
   
  end
 
  #--------------------------------------------------------------------------
  # alias Escape
  #--------------------------------------------------------------------------
  alias escape_dse escape unless $@
  def escape
    $game_party.monsters_escaped  = {} if $game_party.monsters_escaped == nil
    if $game_party.monsters_escaped[enemy_id] == nil
      $game_party.monsters_escaped[enemy_id] = 0
    end
    $game_party.monsters_escaped[enemy.id] += 1
    escape_dse
  end
 
  #--------------------------------------------------------------------------
  # Encounter Details
  #--------------------------------------------------------------------------
  def encounters_dse
    if $game_party.monsters_encounter[enemy.id] == nil
      $game_party.monsters_encounter[enemy.id] = 0
    end
    return $game_party.monsters_encounter[enemy.id]
  end
  def defeated_dse
    if $game_party.monsters_defeated[enemy.id] == nil
      $game_party.monsters_defeated[enemy.id] = 0
    end
    return $game_party.monsters_defeated[enemy.id]
  end
  def escaped_dse
    if $game_party.monsters_escaped[enemy.id] == nil
      $game_party.monsters_escaped[enemy.id] = 0
    end
    return $game_party.monsters_escaped[enemy.id]
  end
 
end # Game_Enemy

#==============================================================================
# Window_Command (imported from KGC)
#==============================================================================

class Window_Command < Window_Selectable
unless method_defined?(:add_command)
  #--------------------------------------------------------------------------
  # add command
  #--------------------------------------------------------------------------
  def add_command(command)
    @commands << command
    @item_max = @commands.size
    item_index = @item_max - 1
    refresh_command
    draw_item(item_index)
    return item_index
  end
  #--------------------------------------------------------------------------
  # refresh command
  #--------------------------------------------------------------------------
  def refresh_command
    buf = self.contents.clone
    self.height = [self.height, row_max * WLH + 32].max
    create_contents
    self.contents.blt(0, 0, buf, buf.rect)
    buf.dispose
  end
  #--------------------------------------------------------------------------
  # insert command
  #--------------------------------------------------------------------------
  def insert_command(index, command)
    @commands.insert(index, command)
    @item_max = @commands.size
    refresh_command
    refresh
  end
  #--------------------------------------------------------------------------
  # remove command
  #--------------------------------------------------------------------------
  def remove_command(command)
    @commands.delete(command)
    @item_max = @commands.size
    refresh
  end
end
end

#===============================================================================
# Scene Menu
#===============================================================================

class Scene_Menu < Scene_Base
 
  #--------------------------------------------------------------------------
  # alias create command window
  #--------------------------------------------------------------------------
  alias create_command_window_dse create_command_window unless $@
  def create_command_window
    create_command_window_dse
    return if $imported["CustomMenuCommand"]
    if $game_switches[YE::MENU::MONSTER::BESTIARY_SWITCH]
      scc_text = YE::MENU::MONSTER::BESTIARY_TITLE
      @command_bestiary = @command_window.add_command(scc_text)
      if @command_window.oy > 0
        @command_window.oy -= Window_Base::WLH
      end
    end
    @command_window.index = @menu_index
  end
 
  #--------------------------------------------------------------------------
  # alias update command selection
  #--------------------------------------------------------------------------
  alias update_command_selection_dse update_command_selection unless $@
  def update_command_selection
    call_yerd_command = 0
    if Input.trigger?(Input::C)
      case @command_window.index
      when @command_bestiary
        Sound.play_decision
        $scene = Scene_Bestiary.new(@command_window.index)
      end
    end
    update_command_selection_dse
  end
 
end # Scene Menu

#===============================================================================
# Scene Title
#===============================================================================

class Scene_Title < Scene_Base
 
  #--------------------------------------------------------------------------
  # alias create game objects
  #--------------------------------------------------------------------------
  alias create_game_objects_dse create_game_objects unless $@
  def create_game_objects
    create_game_objects_dse
    $game_switches[YE::MENU::MONSTER::BESTIARY_SWITCH] = true
  end
 
end # Scene_Title

#===============================================================================
# Scene Battle
#===============================================================================

class Scene_Battle
 
  #--------------------------------------------------------------------------
  # alias create_info_viewport
  #--------------------------------------------------------------------------
  alias create_info_viewport_dse create_info_viewport unless $@
  def create_info_viewport
    create_info_viewport_dse
    #---
    @enemy_name_window = Window_Enemy_Name.new(0, 0, 272, 56)
    @enemy_name_window.visible = false
    @enemy_name_window.active = false
    #---
    @enemy_image_window = Window_Enemy_Image.new(0, 56, 272, 232)
    @enemy_image_window.visible = false
    @enemy_image_window.active = false
    #---
    @enemy_scan_window = Window_Enemy_Scan.new(272, 0, 272, 288, true)
    @enemy_scan_window.visible = false
    @enemy_scan_window.active = false
    #---
    hix = YE::MENU::MONSTER::HELP_WINDOW_X
    hiy = YE::MENU::MONSTER::HELP_WINDOW_Y
    hiw = YE::MENU::MONSTER::HELP_WINDOW_W
    text = YE::MENU::MONSTER::HELP_WINDOW_TX
    @scan_info_window = Window_Base.new(hix, hiy, hiw, 56)
    @scan_info_window.back_opacity = YE::MENU::MONSTER::HELP_WINDOW_O
    @scan_info_window.contents.draw_text(2, 0, hiw - 32, 24, text, 1)
    @scan_info_window.visible = false
    @scan_info_window.z = 200
  end
 
  #--------------------------------------------------------------------------
  # alias terminate
  #--------------------------------------------------------------------------
  alias terminate_dse terminate unless $@
  def terminate
    @enemy_scan_window.dispose if @enemy_scan_window != nil
    @enemy_image_window.dispose if @enemy_image_window != nil
    @enemy_name_window.dispose if @enemy_name_window != nil
    @scan_info_window.dispose if @scan_info_window != nil
    terminate_dse
  end
 
  #--------------------------------------------------------------------------
  # alias update_target_enemy_selection
  #--------------------------------------------------------------------------
  alias update_target_enemy_selection_dse update_target_enemy_selection unless $@
  def update_target_enemy_selection
    if YE::MENU::MONSTER::HELP_WINDOW_ON
      if @enemy_scan_window.active
        @scan_info_window.visible = false
      elsif @target_enemy_window.active
        @scan_info_window.visible = true
      else
        @scan_info_window.visible = false
      end
    else
      @scan_info_window.visible = false
    end
    #------------------------------------------
    # If the Enemy Scan Window is active
    #------------------------------------------
    if @enemy_scan_window != nil and @enemy_scan_window.active
      @enemy_scan_window.update
      @enemy_image_window.update
      @enemy_name_window.update
      if Input.trigger?(Input::B) #end1
        Sound.play_cancel
        @enemy_scan_window.disappear
        @enemy_image_window.disappear
        @enemy_name_window.visible = false
        @target_enemy_window.active = true
      elsif Input.trigger?(Input::LEFT) or Input.trigger?(Input::UP)
        @enemy_scan_window.previous_page
      elsif Input.trigger?(Input::RIGHT) or Input.trigger?(Input::DOWN)
        @enemy_scan_window.next_page
      elsif Input.trigger?(Input::L)
        @enemy_scan_window.top_page
      elsif Input.trigger?(Input::R)
        @enemy_scan_window.bottom_page
      end
    #------------------------------------------
    # If the Target Window is Active
    #------------------------------------------
    else
      if Input.trigger?(Input::B)
        @scan_info_window.visible = false
      elsif Input.trigger?(Input::C)
        @scan_info_window.visible = false
      elsif Input.trigger?(YE::MENU::MONSTER::ENEMY_SCAN_BUTTON)
        Sound.play_decision
        enemy = @target_enemy_window.enemy
        @enemy_scan_window.appear(enemy, @target_enemy_window)
        @enemy_image_window.appear(enemy, @target_enemy_window)
        @enemy_name_window.appear(enemy, @target_enemy_window)
        @target_enemy_window.active = false
      end
      update_target_enemy_selection_dse
      #---------
    end
  end
 
  #--------------------------------------------------------------------------
  # update enemy name window
  #--------------------------------------------------------------------------
  def update_enemy_name_window(enemy, window)
    @enemy_name_window.visible = true
    @enemy_name_window.contents.clear
    name = window.enemy.name
    @enemy_name_window.contents.draw_text(0, 0, 240, 32, name, 1)
    @enemy_name_window.update
  end
 
end # Scene_Battle

#===============================================================================
# Scene Bestiary
#===============================================================================

class Scene_Bestiary < Scene_Base
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(menu_index = nil)
    @menu_index = menu_index
  end
 
  #--------------------------------------------------------------------------
  # start
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @boss_type = 0
    @enemy_list_window = Window_Enemy_List.new(@boss_type)
    @enemy_data_window = Window_Type_Data.new(@boss_type)
    @enemy_type_window = Window_Base.new(0, 0, 272, 56)
    refresh_type_window
    @enemy_help_category = Window_Base.new(272, 0, 272, 56)
    text = YE::MENU::MONSTER::CATEGORIZE_TEXT
    @enemy_help_category.contents.draw_text(0, 0, 240, 24, text, 1)
    @boss_help_window = Window_Base.new(136, 56, 272, 304)
    text = YE::MENU::MONSTER::CATEGORIZE_HELP
    @boss_help_window.back_opacity = 255
    @boss_help_window.contents.draw_text(0, 0, 240, 24, text, 1)
    @boss_help_window.visible = false
    @boss_type_window = Window_Boss_Types.new
    #---
    @enemy_name_window = Window_Enemy_Name.new(0, 0, 272, 56)
    @enemy_name_window.visible = false
    @enemy_name_window.active = false
    #---
    @enemy_image_window = Window_Enemy_Image.new(0, 56, 272, 360)
    @enemy_image_window.visible = false
    @enemy_image_window.active = false
    #---
    @enemy_scan_window = Window_Enemy_Scan.new(272, 0, 272, 416, true)
    @enemy_scan_window.visible = false
    @enemy_scan_window.active = false
    #---
  end
 
  #--------------------------------------------------------------------------
  # terminate
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @boss_type_window.dispose if @boss_type_window != nil
    @boss_help_window.dispose if @boss_help_window != nil
    @enemy_name_window.dispose if @enemy_name_window != nil
    @enemy_data_window.dispose if @enemy_data_window != nil
    @enemy_image_window.dispose if @enemy_image_window != nil
    @enemy_scan_window.dispose if @enemy_scan_window != nil
    @enemy_list_window.dispose if @enemy_list_window != nil
    @enemy_type_window.dispose if @enemy_type_window != nil
    @enemy_help_category.dispose if @enemy_help_category != nil
  end
 
  #--------------------------------------------------------------------------
  # return scene
  #--------------------------------------------------------------------------
  def return_scene
    if @menu_index == nil
      $scene = Scene_Map.new
    else
      $scene = Scene_Menu.new(@menu_index)
    end
  end
 
  #--------------------------------------------------------------------------
  # update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    if @boss_type_window.active
      update_type_window
    elsif @enemy_scan_window.active
      update_scan_window
    elsif @enemy_list_window.active
      update_enemy_list
    end
  end
 
  #--------------------------------------------------------------------------
  # update_type_window
  #--------------------------------------------------------------------------
  def update_type_window
    @boss_type_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @boss_type_window.visible = false
      @boss_help_window.visible = false
      @boss_type_window.active = false
      @enemy_list_window.active = true
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      last_boss_type = @boss_type
      @boss_type = @boss_type_window.type
      @enemy_list_window.refresh(@boss_type)
      @enemy_list_window.index = 0 unless last_boss_type == @boss_type
      @enemy_data_window.refresh(@boss_type)
      refresh_type_window
      @boss_type_window.visible = false
      @boss_help_window.visible = false
      @boss_type_window.active = false
      @enemy_list_window.active = true
    end
  end
 
  #--------------------------------------------------------------------------
  # update_scan_window
  #--------------------------------------------------------------------------
  def update_scan_window
    @enemy_scan_window.update
    @enemy_image_window.update
    @enemy_name_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @enemy_scan_window.disappear
      @enemy_image_window.disappear
      @enemy_name_window.visible = false
      @enemy_list_window.active = true
      @enemy = nil
    elsif Input.trigger?(Input::LEFT) or Input.trigger?(Input::UP)
      @enemy_scan_window.previous_page
    elsif Input.trigger?(Input::RIGHT) or Input.trigger?(Input::DOWN)
      @enemy_scan_window.next_page
    elsif Input.trigger?(Input::L)
      @enemy_scan_window.top_page
    elsif Input.trigger?(Input::R)
      @enemy_scan_window.bottom_page
    end
  end
 
  #--------------------------------------------------------------------------
  # update_enemy_list
  #--------------------------------------------------------------------------
  def update_enemy_list
    @enemy_list_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::C)
      if @enemy_list_window.enemy == nil
        Sound.play_buzzer
      elsif !viewable?(@enemy_list_window.enemy)
        Sound.play_buzzer
      else
        Sound.play_decision
        @enemy = Game_Enemy.new(0, @enemy_list_window.enemy.id)
        @enemy_scan_window.appear(@enemy)
        @enemy_image_window.appear(@enemy)
        @enemy_name_window.appear(@enemy)
        @enemy_list_window.active = false
      end
    elsif Input.trigger?(YE::MENU::MONSTER::CATEGORIZE_BUTTON)
      Sound.play_decision
      @boss_type_window.visible = true
      @boss_help_window.visible = true
      @boss_type_window.active = true
      @enemy_list_window.active = false
    end
  end
 
  #--------------------------------------------------------------------------
  # viewable?
  #--------------------------------------------------------------------------
  def viewable?(enemy)
    $game_party.monsters_encounter[enemy.id] = 0 if
      $game_party.monsters_encounter[enemy.id] == nil
    return false if $game_party.monsters_encounter[enemy.id] <= 0
    return true
  end
 
  #--------------------------------------------------------------------------
  # refresh type window
  #--------------------------------------------------------------------------
  def refresh_type_window
    @enemy_type_window.contents.clear
    array = YE::MENU::MONSTER::BOSS_TYPES[@boss_type]
    icon = array[0]
    text = sprintf(YE::MENU::MONSTER::BESTIARY_LIST, array[7])
    @enemy_type_window.draw_icon(icon, 0, 0)
    @enemy_type_window.contents.draw_text(24, 0, 216, 24, text, 0)
  end
 
end # Scene_Bestiary
Revenir en haut Aller en bas
Gunslinger
Poulet trizo Lv.3
Poulet trizo Lv.3
Gunslinger


Masculin Age : 29
Inscrit le : 31/10/2011
Messages : 31

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeLun 16 Juil 2012 - 21:09

3ème partit du script

Code:

#==============================================================================
# Window_Enemy_List
#==============================================================================

class Window_Enemy_List < Window_Selectable
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(boss_type)
    super(0, 56, 272, 360)
    self.index = 0
    refresh(boss_type)
  end
 
  #--------------------------------------------------------------------------
  # refresh
  #--------------------------------------------------------------------------
  def refresh(boss_type)
    @boss_type = boss_type
    @data = []
    for enemy in monster_list
      @data.push(enemy)
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  #--------------------------------------------------------------------------
  # draw item
  #--------------------------------------------------------------------------
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    enemy = @data[index]
    $game_party.monsters_encounter[enemy.id] = 0 if
      $game_party.monsters_encounter[enemy.id] == nil
    if $game_party.monsters_encounter[enemy.id] > 0
      text = enemy.name.gsub(/\[.*\]/) { "" }
      self.contents.font.color.alpha = 255
    else
      mask = YE::MENU::MONSTER::BESTIARY_MASK
      if mask.scan(/./).size == 1
        mask = mask * enemy.name.scan(/./).size
      end
      text = mask
      self.contents.font.color.alpha = 128
    end
    self.contents.draw_text(rect.x+4, rect.y, rect.width-4, WLH, text)
  end
 
  #--------------------------------------------------------------------------
  # include?
  #--------------------------------------------------------------------------
  def include?(enemy)
    return false if enemy == nil
    return false unless enemy.boss_type.include?(@boss_type)
    return false if YE::HIDDEN_ENEMY.include?(enemy.id)
    return false if $imported["SwapDummyMonster"] and
      YE::SWAP::DUMMY_MONSTER.include?(enemy.id)
    return true
  end
 
  #--------------------------------------------------------------------------
  # monster_list
  #--------------------------------------------------------------------------
  def monster_list
    result = []
    for enemy_id in YE::ENEMY_LIST
      result.push($data_enemies[enemy_id]) if include?($data_enemies[enemy_id])
    end
    return result
  end
 
  #--------------------------------------------------------------------------
  # return enemy
  #--------------------------------------------------------------------------
  def enemy
    return @data[self.index]
  end
 
end # Window_Enemy_list

#==============================================================================
# Window_Type_Data
#==============================================================================

class Window_Type_Data < Window_Base
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(boss_type)
    super(272, 56, 272, 360)
    refresh(boss_type)

  end
 
  #--------------------------------------------------------------------------
  # refresh
  #--------------------------------------------------------------------------
  def refresh(boss_type = 0)
    self.contents.clear
    self.contents.font.size = Font.default_size
    @boss_type = boss_type
    sw = self.width - 32
    @category_colour = YE::MENU::MONSTER::DATA_CATEGORY_COLOUR
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::BESTIARY_INFO
    self.contents.draw_text(0, 0, sw, WLH, text, 1)
   
    unique_discovered = 0
    unique_type_enc = 0
    unique_encounters = 0
    unique_defeated = 0
    unique_escaped = 0
    total_encountered = 0
    total_defeated = 0
    total_escaped = 0
    type_encountered = 0
    type_defeated = 0
    type_escaped = 0
   
    for key in $game_party.monsters_encounter
      next if key[1] == nil or key[1] <= 0
      unique_encounters += 1
      total_encountered += key[1]
      if $data_enemies[key[0]].boss_type.include?(@boss_type)
        unique_discovered += 1
        unique_type_enc += key[1]
      end
    end
    for key in $game_party.monsters_defeated
      next if key[1] == nil or key[1] <= 0
      total_defeated += key[1]
      if $data_enemies[key[0]].boss_type.include?(@boss_type)
        unique_defeated += key[1]
      end
    end
    for key in $game_party.monsters_escaped
      next if key[1] == nil or key[1] <= 0
      total_escaped += key[1]
      if $data_enemies[key[0]].boss_type.include?(@boss_type)
        unique_escaped += key[1]
      end
    end
    total_size = YE::ENEMY_LIST.size - YE::HIDDEN_ENEMY.size
   
    self.contents.font.size = YE::MENU::MONSTER::MENU_FONT_SIZE
    #---
    dy = WLH + WLH / 2
    boss_type_name = YE::MENU::MONSTER::BOSS_TYPES[@boss_type][8]
    icon = YE::MENU::MONSTER::BOSS_TYPES[@boss_type][0]
    #---
    self.contents.font.color = text_color(@category_colour)
    draw_icon(YE::MENU::MONSTER::ICON_COMPLETION, 0, dy)
    text = YE::MENU::MONSTER::TEXT_COMPLETION
    self.contents.draw_text(24, dy, sw-24, WLH, text, 0)
    self.contents.font.color = normal_color
    text = sprintf(YE::MENU::MONSTER::RATE_COMPLETION, bestiary_completion)
    self.contents.draw_text(24, dy, sw-24, WLH, text, 2)
    #---
    dy += WLH + WLH / 2
    self.contents.font.color = text_color(@category_colour)
    draw_icon(YE::MENU::MONSTER::ICON_DISCOVERED, 0, dy)
    text = YE::MENU::MONSTER::TEXT_DISCOVERED
    self.contents.draw_text(24, dy, sw-24, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(24, dy, sw-24, WLH, unique_encounters, 2)
    #---
    dy += WLH
    self.contents.font.color = text_color(@category_colour)
    draw_icon(icon, 12, dy)
    text = sprintf(YE::MENU::MONSTER::TEXT_TYPE_DIS, boss_type_name)
    self.contents.draw_text(36, dy, sw-36, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(36, dy, sw-36, WLH, unique_discovered, 2)
    #---
    dy += WLH
    self.contents.font.color = text_color(@category_colour)
    draw_icon(YE::MENU::MONSTER::ICON_ENCOUNTER, 0, dy)
    text = YE::MENU::MONSTER::TEXT_ENCOUNTERS
    self.contents.draw_text(24, dy, sw-24, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(24, dy, sw-24, WLH, total_encountered, 2)
    #---
    dy += WLH
    self.contents.font.color = text_color(@category_colour)
    draw_icon(icon, 12, dy)
    text = sprintf(YE::MENU::MONSTER::TEXT_TYPE_ENC, boss_type_name)
    self.contents.draw_text(36, dy, sw-36, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(36, dy, sw-36, WLH, unique_type_enc, 2)
    #---
    dy += WLH
    self.contents.font.color = text_color(@category_colour)
    draw_icon(YE::MENU::MONSTER::ICON_KILLED, 0, dy)
    text = YE::MENU::MONSTER::TEXT_DEFEATED
    self.contents.draw_text(24, dy, sw-24, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(24, dy, sw-24, WLH, total_defeated, 2)
    #---
    dy += WLH
    self.contents.font.color = text_color(@category_colour)
    draw_icon(icon, 12, dy)
    text = sprintf(YE::MENU::MONSTER::TEXT_TYPE_DEF, boss_type_name)
    self.contents.draw_text(36, dy, sw-36, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(36, dy, sw-36, WLH, unique_defeated, 2)
    #---
    dy += WLH
    self.contents.font.color = text_color(@category_colour)
    draw_icon(YE::MENU::MONSTER::ICON_ESCAPED, 0, dy)
    text = YE::MENU::MONSTER::TEXT_ESCAPED
    self.contents.draw_text(24, dy, sw-24, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(24, dy, sw-24, WLH, total_escaped, 2)
    #---
    dy += WLH
    self.contents.font.color = text_color(@category_colour)
    draw_icon(icon, 12, dy)
    text = sprintf(YE::MENU::MONSTER::TEXT_TYPE_ESC, boss_type_name)
    self.contents.draw_text(36, dy, sw-36, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(36, dy, sw-36, WLH, unique_escaped, 2)
  end
 
  #--------------------------------------------------------------------------
  # bestiary_completion
  #--------------------------------------------------------------------------
  def bestiary_completion
    total = 0; result = 0
    for enemy in $data_enemies
      next if $imported["SwapDummyMonster"] and
        YE::SWAP::DUMMY_MONSTER.include?(enemy.id)
      next if YE::HIDDEN_ENEMY.include?(enemy.id)
      next if enemy == nil
      total += 1
      if $game_party.monsters_encounter.include?(enemy.id) and
        $game_party.monsters_encounter[enemy.id] > 0
        result += 1
      end
      next unless YE::MENU::MONSTER::REQUIRE_SCAN
      next if enemy.hide_whole
      total += 1 if YE::MENU::MONSTER::SHOW_GENERAL and !enemy.hide_hp_mp
      total += 1 if YE::MENU::MONSTER::SHOW_GENERAL and !enemy.hide_stats
      total += 1 if YE::MENU::MONSTER::SHOW_SKILLS and !enemy.hide_skill
      total += 1 if YE::MENU::MONSTER::SHOW_ELEMENTS and !enemy.hide_elem
      total += 1 if YE::MENU::MONSTER::SHOW_STATES and !enemy.hide_state
      total += 1 if YE::MENU::MONSTER::SHOW_SPOILS and !enemy.hide_spoil
      if YE::MENU::MONSTER::SPOIL_DROPS or (YE::MENU::MONSTER::SHOW_DROPS and
        $imported["ExtraDropItem"]) and !enemy.hide_drops
        total += 1
      end
      if $imported["Steal"] and YE::MENU::MONSTER::SHOW_STEAL and
        !enemy.hide_steal
        total += 1
      end
      if YE::MENU::MONSTER::SHOW_NOTES and YE::HASH::ENEMY_NOTES.include?(enemy.id)
        total += 1
      end
    end
    if YE::MENU::MONSTER::REQUIRE_SCAN
      result += $game_party.scan_hp_mp.size
      result += $game_party.scan_stats.size
      result += $game_party.scan_skill.size
      result += $game_party.scan_state.size
      result += $game_party.scan_spoil.size
      result += $game_party.scan_drops.size
      result += $game_party.scan_steal.size
      result += $game_party.scan_desc.size
    end
    result *= 100.0
    result /= total
    return result
  end
 
end # Window_Type_Data

#==============================================================================
# Window_Boss_Types
#==============================================================================

class Window_Boss_Types < Window_Selectable
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize
    super(136, 80, 272, 280)
    self.index = 0
    self.opacity = 0
    self.visible = false
    self.active = false
    refresh
  end
 
  #--------------------------------------------------------------------------
  # refresh
  #--------------------------------------------------------------------------
  def refresh
    @data = YE::MENU::MONSTER::TYPE_ORDERING
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  #--------------------------------------------------------------------------
  # type
  #--------------------------------------------------------------------------
  def type
    return @data[self.index]
  end
 
  #--------------------------------------------------------------------------
  # draw_item
  #--------------------------------------------------------------------------
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    type = @data[index]
    icon = YE::MENU::MONSTER::BOSS_TYPES[type][0]
    name = YE::MENU::MONSTER::BOSS_TYPES[type][8]
    text = sprintf(YE::MENU::MONSTER::CATEGORIZE_VIEW, name)
    draw_icon(icon, rect.x+4, rect.y)
    self.contents.draw_text(rect.x+28, rect.y, rect.width-28, WLH, text)
  end
 
end # Window_Boss_Types

#===============================================================================
# Window Enemy Name
#===============================================================================

class Window_Enemy_Name < Window_Base
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super(x, y, width, height)
    self.back_opacity = 255
    @target_enemy_window = nil
    self.z = 200
    self.visible = false
  end
 
  #--------------------------------------------------------------------------
  # appear and disappear
  #--------------------------------------------------------------------------
  def appear(enemy, window = nil)
    @enemy = enemy
    @target_enemy_window = window
    self.openness = 128
    @opening = true
    self.visible = true
    draw_content
  end
 
  def disappear
    self.visible = false
  end
 
  #--------------------------------------------------------------------------
  # draw content
  #--------------------------------------------------------------------------
  def draw_content
    self.contents.clear
    text = sprintf(YE::MENU::MONSTER::ENEMY_NAME, @enemy.name)
    if $imported["EnemyLevelControl"]
      level = @enemy.level
      text = sprintf(YE::BATTLE::ENEMY::SCANNED_ENEMY_LEVEL, level, text)
    end
    self.contents.draw_text(0, 0, 240, 24, text, 1)
  end
 
end # Window_Enemy_Name

#===============================================================================
# Window Enemy Image
#===============================================================================

class Window_Enemy_Image < Window_Base
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super(x, y, width, height)
    self.back_opacity = 255
    @target_enemy_window = nil
    self.z = 200
    self.visible = false
  end
 
  #--------------------------------------------------------------------------
  # appear and disappear
  #--------------------------------------------------------------------------
  def appear (enemy, window = nil)
    @enemy = enemy
    @target_enemy_window = window
    self.openness = 128
    @opening = true
    self.visible = true
    draw_content
  end
 
  def disappear
    self.visible = false
  end
 
  #--------------------------------------------------------------------------
  # draw content
  #--------------------------------------------------------------------------
  def draw_content
    self.contents.clear
    enemybit = Cache.battler(@enemy.battler_name, @enemy.battler_hue)
    bw = enemybit.width
    bh = enemybit.height
    if bw > (self.width - 32)
      bw = (self.width - 32)
      bh *= (self.width - 32)
      bh /= enemybit.width
    end
    if bh > (self.height - 32)
      bh = (self.height - 32)
      bw *= (self.height - 32)
      bw /= enemybit.height
    end
    rect = Rect.new(0, 0, bw, bh)
    #---------
    rect.x = (self.width - 32 - rect.width) / 2
    rect.y = (self.height - 32 - rect.height) / 2
    #---------
    self.contents.stretch_blt(rect, enemybit, enemybit.rect)
  end
 
end # Window_Enemy_Image

#===============================================================================
# Window Enemy Scan
#===============================================================================

class Window_Enemy_Scan < Window_Base
 
  #--------------------------------------------------------------------------
  # initialize
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height, inbattle)
    super(x, y, width, height)
    self.back_opacity = 255
    @target_enemy_window = nil
    @inbattle = inbattle
    @require = YE::MENU::MONSTER::REQUIRE_SCAN
    self.z = 200
    self.visible = false
  end
 
  #--------------------------------------------------------------------------
  # appear and disappear
  #--------------------------------------------------------------------------
  def appear (enemy, window = nil)
    @enemy = enemy
    @target_enemy_window = window
    @page = 1
    @total_pages = create_total_pages
    draw_enemy_data
    self.openness = 128
    @opening = true
    self.active = true
    self.visible = true
  end
 
  def disappear
    self.active = false
    self.visible = false
  end
 
  #--------------------------------------------------------------------------
  # page switching
  #--------------------------------------------------------------------------
  def next_page
    if @page != @total_pages
      @page += 1
    else
      @page = 1
    end
    turn_sound
    draw_enemy_data
  end
 
  def previous_page
    if @page != 1
      @page -= 1
    else
      @page = @total_pages
    end
    turn_sound
    draw_enemy_data
  end
 
  def top_page
    @page = 1
    turn_sound
    draw_enemy_data
  end
 
  def bottom_page
    @page = @total_pages
    turn_sound
    draw_enemy_data
  end
 
  #--------------------------------------------------------------------------
  # turn sound
  #--------------------------------------------------------------------------
  def turn_sound
    unless YE::MENU::MONSTER::PAGE_SOUND == nil
      sound = YE::MENU::MONSTER::PAGE_SOUND
      sound.play
    end
  end
 
  #--------------------------------------------------------------------------
  # draw enemy data
  #--------------------------------------------------------------------------
  def draw_enemy_data
    self.contents.clear
    self.contents.font.color.alpha = 255
    self.contents.font.size = Font.default_size
    self.contents.font.color = normal_color
    @category_colour = YE::MENU::MONSTER::DATA_CATEGORY_COLOUR
    #--------------------
    pagecase = @contents[@page - 1]
    if @page == 1 and !YE::MENU::MONSTER::REPLACE_PAGE_MSG
      text1 = ""
    else
      text1 = YE::MENU::MONSTER::DATA_LEFT
    end
    if YE::MENU::MONSTER::REPLACE_PAGE_MSG #--------------------------------------
     
      text2 = case_page_name(pagecase)
     
    else #----------------------------------------------------------------------
      text2 = sprintf(YE::MENU::MONSTER::DATA_PAGES, @page, @total_pages)
    end
    if @page == @total_pages and !YE::MENU::MONSTER::REPLACE_PAGE_MSG
      text3 = ""
    else
      text3 = YE::MENU::MONSTER::DATA_RIGHT
    end
    #--------------------
    self.contents.draw_text(2, 0, 232, WLH, text1, 0)
    self.contents.draw_text(2, 0, 232, WLH, text2, 1)
    self.contents.draw_text(2, 0, 232, WLH, text3, 2)
    #--------------------
    if @enemy != nil
      case_page_run(pagecase)
    end
  end
 
  #--------------------------------------------------------------------------
  # make general page
  #--------------------------------------------------------------------------
  def make_general_page
    y = WLH
    x = 0
    sw = self.width - 32
    gc0 = gauge_back_color
    gce = text_color(YE::MENU::MONSTER::EXHAUST_COLOUR)
    gh = YE::MENU::MONSTER::GAUGE_HEIGHT
    dx = (sw - (24 * @enemy.enemy.boss_type.size)) / 2
    for boss_type in @enemy.enemy.boss_type
      array = YE::MENU::MONSTER::BOSS_TYPES[boss_type]
      icon = array[0]
      draw_icon(icon, dx, y, true)
      dx += 24
    end
    dsearray = YE::MENU::MONSTER::BOSS_TYPES[@enemy.enemy.boss_type[0]]
    #--------Draw HP--------
    y += WLH
    if @enemy.maxhp > @enemy.base_maxhp
      icon = YE::MENU::MONSTER::ICON_HIGH
    elsif @enemy.maxhp < @enemy.base_maxhp
      icon = YE::MENU::MONSTER::ICON_LOW
    else
      icon = dsearray[1]
    end
    @enemy.hp = @enemy.maxhp if @enemy.hp > @enemy.maxhp
    gc1 = text_color(dsearray[2])
    gc2 = text_color(dsearray[3])
    gy = y + WLH - 8 - (gh - 6)
    if @enemy.maxhp < @enemy.base_maxhp and @enemy.base_maxhp > 0
      gb = sw * @enemy.maxhp / @enemy.base_maxhp
      self.contents.fill_rect(x, gy, sw, gh, gce)
    else
      gb = sw
    end
    self.contents.fill_rect(x, gy, gb, gh, gc0)
    if @enemy.maxhp <= 0
      if @enemy.base_maxhp <= 0
        gw = sw
      else
        gw = 0
      end
    else
      gw = gb * @enemy.hp / @enemy.maxhp
      self.contents.gradient_fill_rect(x, gy, gw, gh, gc1, gc2)
    end
    draw_icon(icon, x, y, true)
    text = Vocab::hp
    self.contents.font.color = text_color(@category_colour)
    self.contents.draw_text(24, y, sw-24, WLH, text, 0)
    self.contents.font.color = normal_color
    hidehp = false
    if @require
      hidehp = true unless $game_party.scan_hp_mp.include?(@enemy.enemy_id)
    end
    if hidehp or @enemy.enemy.hide_hp_mp
      text = YE::MENU::MONSTER::HIDDEN_HP
    elsif YE::MENU::MONSTER::HP_DISPLAY_TYPE == 1
      text = @enemy.hp
    elsif YE::MENU::MONSTER::HP_DISPLAY_TYPE == 2
      text = sprintf("%d/%d",@enemy.hp,@enemy.maxhp)
    else
      text = sprintf("%#.05g%%",@enemy.hp * 100.000 / @enemy.maxhp)
    end
    self.contents.draw_text(0, y, sw, WLH, text, 2)
    #--------Draw MP--------
    y += WLH
    if @enemy.maxmp > @enemy.base_maxmp
      icon = YE::MENU::MONSTER::ICON_HIGH
    elsif @enemy.maxmp < @enemy.base_maxmp
      icon = YE::MENU::MONSTER::ICON_LOW
    else
      icon = dsearray[4]
    end
    @enemy.mp = @enemy.maxmp if @enemy.mp > @enemy.maxmp
    gc1 = text_color(dsearray[5])
    gc2 = text_color(dsearray[6])
    gy = y + WLH - 8 - (gh - 6)
    if @enemy.maxmp < @enemy.base_maxmp and @enemy.base_maxmp > 0
      gb = sw * @enemy.maxmp / @enemy.base_maxmp
      self.contents.fill_rect(x, gy, sw, gh, gce)
    else
      gb = sw
    end
    self.contents.fill_rect(x, gy, gb, gh, gc0)
    if @enemy.maxmp <= 0
      if @enemy.base_maxmp <= 0
        gw = sw
      else
        gw = 0
      end
    else
      gw = gb * @enemy.mp / @enemy.maxmp
    end
    self.contents.gradient_fill_rect(x, gy, gw, gh, gc1, gc2)
    draw_icon(icon, x, y, true)
    text = Vocab::mp
    self.contents.font.color = text_color(@category_colour)
    self.contents.draw_text(24, y, sw-24, WLH, text, 0)
    self.contents.font.color = normal_color
    hidemp = false
    if @require
      hidemp = true unless $game_party.scan_hp_mp.include?(@enemy.enemy_id)
    end
    if hidemp or @enemy.enemy.hide_hp_mp
      text = YE::MENU::MONSTER::HIDDEN_MP
    elsif YE::MENU::MONSTER::MP_DISPLAY_TYPE == 1
      text = @enemy.mp
    elsif YE::MENU::MONSTER::MP_DISPLAY_TYPE == 2
      text = sprintf("%d/%d",@enemy.mp,@enemy.maxmp)
    else
      if @enemy.maxmp
        text = sprintf("%#.05g%%", 100.000)
      else
        text = sprintf("%#.05g%%",@enemy.mp * 100.000 / @enemy.maxmp)
      end
    end
    self.contents.draw_text(0, y, sw, WLH, text, 2)
    #--------Draw ADSA and HECO Stats--------
    self.contents.font.size = YE::MENU::MONSTER::FONT_SIZE
    hide = YE::MENU::MONSTER::HIDDEN_STAT
    hidestats = false
    if @require
      hidestats = true unless $game_party.scan_stats.include?(@enemy.enemy_id)
    end
    if hidestats or @enemy.enemy.hide_stats
      textatk = hide; textdef = hide; textspi = hide; textagi = hide
      texthit = hide; texteva = hide; textcri = hide; textodds = hide
    else
      textatk = @enemy.atk; textdef = @enemy.def
      textspi = @enemy.spi; textagi = @enemy.agi
      texthit = sprintf("%d%%",@enemy.hit)
      texteva = sprintf("%d%%",@enemy.eva)
      textcri = sprintf("%d%%",@enemy.cri)
      textodds = sprintf("%d", @enemy.odds)
    end
    #---ATK---
    y += WLH + WLH / 4
    if @enemy.atk > @enemy.base_atk
      icon = YE::MENU::MONSTER::ICON_HIGH
    elsif @enemy.atk < @enemy.base_atk
      icon = YE::MENU::MONSTER::ICON_LOW
    else
      icon = YE::MENU::MONSTER::ICON_ATK
    end
    draw_icon(icon, 0, y, true)
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_ATK
    self.contents.draw_text(24, y, sw/4-24, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(sw/4, y, sw/4-12, WLH, textatk, 2)
    #---HIT---
    unless YE::MENU::MONSTER::HIDE_HIT
      icon = YE::MENU::MONSTER::ICON_HIT
      draw_icon(icon, sw/2, y, true)
      self.contents.font.color = text_color(@category_colour)
      text = YE::MENU::MONSTER::DATA_HIT
      self.contents.draw_text(sw/2+24, y, sw/4-24, WLH, text, 0)
      self.contents.font.color = normal_color
      self.contents.draw_text(sw*3/4, y, sw/4-12, WLH, texthit, 2)
    end
    #---DEF---
    y += WLH
    if @enemy.def > @enemy.base_def
      icon = YE::MENU::MONSTER::ICON_HIGH
    elsif @enemy.def < @enemy.base_def
      icon = YE::MENU::MONSTER::ICON_LOW
    else
      icon = YE::MENU::MONSTER::ICON_DEF
    end
    draw_icon(icon, 0, y, true)
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_DEF
    self.contents.draw_text(24, y, sw/4-24, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(sw/4, y, sw/4-12, WLH, textdef, 2)
    #---EVA---
    unless YE::MENU::MONSTER::HIDE_EVA
      icon = YE::MENU::MONSTER::ICON_EVA
      draw_icon(icon, sw/2, y, true)
      self.contents.font.color = text_color(@category_colour)
      text = YE::MENU::MONSTER::DATA_EVA
      self.contents.draw_text(sw/2+24, y, sw/4-24, WLH, text, 0)
      self.contents.font.color = normal_color
      self.contents.draw_text(sw*3/4, y, sw/4-12, WLH, texteva, 2)
    end
    #---SPI---
    y += WLH
    if @enemy.spi > @enemy.base_spi
      icon = YE::MENU::MONSTER::ICON_HIGH
    elsif @enemy.spi < @enemy.base_spi
      icon = YE::MENU::MONSTER::ICON_LOW
    else
      icon = YE::MENU::MONSTER::ICON_SPI
    end
    draw_icon(icon, 0, y, true)
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_SPI
    self.contents.draw_text(24, y, sw/4-24, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(sw/4, y, sw/4-12, WLH, textspi, 2)
    #---CRI---
    unless YE::MENU::MONSTER::HIDE_CRI
      icon = YE::MENU::MONSTER::ICON_CRI
      draw_icon(icon, sw/2, y, true)
      self.contents.font.color = text_color(@category_colour)
      text = YE::MENU::MONSTER::DATA_CRI
      self.contents.draw_text(sw/2+24, y, sw/4-24, WLH, text, 0)
      self.contents.font.color = normal_color
      self.contents.draw_text(sw*3/4, y, sw/4-12, WLH, textcri, 2)
    end
    #---AGI---
    y += WLH
    if @enemy.agi > @enemy.base_agi
      icon = YE::MENU::MONSTER::ICON_HIGH
    elsif @enemy.agi < @enemy.base_agi
      icon = YE::MENU::MONSTER::ICON_LOW
    else
      icon = YE::MENU::MONSTER::ICON_AGI
    end
    draw_icon(icon, 0, y, true)
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_AGI
    self.contents.draw_text(24, y, sw/4-24, WLH, text, 0)
    self.contents.font.color = normal_color
    self.contents.draw_text(sw/4, y, sw/4-12, WLH, textagi, 2)
    #---ODDS---
    unless YE::MENU::MONSTER::HIDE_ODDS
      icon = YE::MENU::MONSTER::ICON_ODDS
      draw_icon(icon, sw/2, y, true)
      self.contents.font.color = text_color(@category_colour)
      text = YE::MENU::MONSTER::DATA_ODDS
      self.contents.draw_text(sw/2+24, y, sw/4-24, WLH, text, 0)
      self.contents.font.color = normal_color
      self.contents.draw_text(sw*3/4, y, sw/4-12, WLH, textodds, 2)
    end
    #--------STATUS EFFECTS--------
    y += WLH + WLH / 4
    state_draw = @enemy.states
    for state in state_draw
      state_draw.delete(state) if state.icon_index == 0
    end
    unless state_draw == []
      self.contents.font.size = Font.default_size
      self.contents.font.color = text_color(@category_colour)
      text = YE::MENU::MONSTER::DATA_STATES
      self.contents.draw_text(0, y, sw, WLH, text, 1)
      y += WLH
      draw_actor_state(@enemy, 0, y, sw + 12)
    end
  end # make general page
 
  #--------------------------------------------------------------------------
  # make skills page
  #--------------------------------------------------------------------------
  def make_skills_page
    x = 0
    y = WLH
    sw = self.width - 32
    action_list = []
    skilltotal = 0
    for action in @enemy.enemy.actions
      if action.kind == 1
        obj = $data_skills[action.skill_id]
        unless action_list.include?(obj)
          action_list.push(obj)
          skilltotal += 1
        end
      end
    end
    y += WLH
    self.contents.font.color = normal_color
    for obj in action_list
      break if (y + 24) > (self.height - 32)
      draw_item_name(obj, x, y, true)
      y += WLH
    end
    y = WLH
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_SKILLS
    self.contents.draw_text(0, y, sw, WLH, text, 0)
    if skilltotal == 1
      text = sprintf(YE::MENU::MONSTER::VIEW_SKILLS1, skilltotal)
    else
      text = sprintf(YE::MENU::MONSTER::VIEW_SKILLS2, skilltotal)
    end
    self.contents.draw_text(0, y, sw, WLH, text, 2)
  end # end make skills page
 
  #--------------------------------------------------------------------------
  # make elements page
  #--------------------------------------------------------------------------
  def make_elements_page
    x = 0
    y = WLH
    sw = self.width - 32
    for key in YE::MENU::MONSTER::ELEMENT_HASH
      doublearr = key[1]
      ele_array = doublearr[0]
      ele_icon  = doublearr[1]
      self.contents.font.color = text_color(@category_colour)
      text = key[0]
      self.contents.draw_text(0, y, sw, WLH, text, 1)
      y += WLH
      x = (sw - ele_array.size * 24) / 2
      for icon in ele_icon
        draw_icon(icon, x, y, true)
        x += 24
      end
      y += WLH
      x = (sw - ele_array.size * 24) / 2
      for element in ele_array
        rank = @enemy.enemy.element_ranks[element]
        result = [0,1,2,3,4,5,6][rank]
        if result == 0
          draw_icon(YE::MENU::MONSTER::ICON_E_RATE_Z, x, y, true)
        elsif result == 1
          draw_icon(YE::MENU::MONSTER::ICON_E_RATE_A, x, y, true)
        elsif result == 2
          draw_icon(YE::MENU::MONSTER::ICON_E_RATE_B, x, y, true)
        elsif result == 3
          draw_icon(YE::MENU::MONSTER::ICON_E_RATE_C, x, y, true)
        elsif result == 4
          draw_icon(YE::MENU::MONSTER::ICON_E_RATE_D, x, y, true)
        elsif result == 5
          draw_icon(YE::MENU::MONSTER::ICON_E_RATE_E, x, y, true)
        elsif result == 6
          draw_icon(YE::MENU::MONSTER::ICON_E_RATE_F, x, y, true)
        else
          draw_icon(YE::MENU::MONSTER::ICON_E_RATE_U, x, y, true)
        end
        x += 24
      end
      y += WLH * 2
    end
  end # make elements page
 
  #--------------------------------------------------------------------------
  # make states page
  #--------------------------------------------------------------------------
  def make_states_page
    x = 0
    y = WLH
    sw = self.width - 32
    for key in YE::MENU::MONSTER::STATES_HASH
      states_array = key[1]
      self.contents.font.color = text_color(@category_colour)
      text = key[0]
      self.contents.draw_text(0, y, sw, WLH, text, 1)
      y += WLH
      x = (sw - states_array.size * 24) / 2
      for state_id in states_array
        icon = $data_states[state_id].icon_index
        draw_icon(icon, x, y, true)
        x += 24
      end
      y += WLH
      x = (sw - states_array.size * 24) / 2
      for state_id in states_array
        icon = $data_states[state_id].icon_index
        rank = @enemy.enemy.state_ranks[state_id]
        result = [0,1,2,3,4,5,6][rank]
        if result == 0
          draw_icon(YE::MENU::MONSTER::ICON_S_RATE_Z, x, y, true)
        elsif result == 1
          draw_icon(YE::MENU::MONSTER::ICON_S_RATE_A, x, y, true)
        elsif result == 2
          draw_icon(YE::MENU::MONSTER::ICON_S_RATE_B, x, y, true)
        elsif result == 3
          draw_icon(YE::MENU::MONSTER::ICON_S_RATE_C, x, y, true)
        elsif result == 4
          draw_icon(YE::MENU::MONSTER::ICON_S_RATE_D, x, y, true)
        elsif result == 5
          draw_icon(YE::MENU::MONSTER::ICON_S_RATE_E, x, y, true)
        elsif result == 6
          draw_icon(YE::MENU::MONSTER::ICON_S_RATE_F, x, y, true)
        else
          draw_icon(YE::MENU::MONSTER::ICON_S_RATE_U, x, y, true)
        end
        x += 24
      end
      y += WLH
    end
  end # make states page
 
  #--------------------------------------------------------------------------
  # make steal page
  #--------------------------------------------------------------------------
  def make_steal_page
    return unless $imported["Steal"]
    x = 0
    y = 0
    sw = self.width - 32
    y += WLH
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_S_ITEM
    self.contents.draw_text(0, y, sw, WLH, text, 0)
    text = YE::MENU::MONSTER::DATA_S_CHANCE
    self.contents.draw_text(0, y, sw, WLH, text, 2)
    y += WLH
    steal_objects = @enemy.steal_objects.clone
    steal_objects.each_with_index { |item, i|
      break if (y + 24) > (self.height - 32)
      next if item == nil
      case item.kind
      when 0
        next
      when 1
        steal_item = $data_items[item.item_id]
      when 2
        steal_item = $data_weapons[item.weapon_id]
      when 3
        steal_item = $data_armors[item.armor_id]
      end
      draw_item_name(steal_item, 0, y)
      text = sprintf("%d%%", item.success_prob)
      self.contents.draw_text(0, y, sw, WLH, text, 2)
      y += WLH
    }
  end # make steal page
 
  #--------------------------------------------------------------------------
  # make spoils page
  #--------------------------------------------------------------------------
  def make_spoils_page
    x = 0
    y = 0
    sw = self.width - 32
    #---Encounters---
    y += WLH
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_ENCOUNTER
    self.contents.draw_text(24, y, sw-24, WLH, text, 0)
    draw_icon(YE::MENU::MONSTER::ICON_ENCOUNTER, 0, y, true)
    self.contents.font.color = normal_color
    if @enemy.encounters_dse == 1
      text = sprintf(YE::MENU::MONSTER::VIEW_ENC1, @enemy.encounters_dse)
    else
      text = sprintf(YE::MENU::MONSTER::VIEW_ENC2, @enemy.encounters_dse)
    end
    self.contents.draw_text(24, y, sw-24, WLH, text, 2)
    #---Defeated---
    y += WLH
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_KILLED
    self.contents.draw_text(24, y, sw-24, WLH, text, 0)
    draw_icon(YE::MENU::MONSTER::ICON_KILLED, 0, y, true)
    self.contents.font.color = normal_color
    if @enemy.defeated_dse == 1
      text = sprintf(YE::MENU::MONSTER::VIEW_KILLED1, @enemy.defeated_dse)
    else
      text = sprintf(YE::MENU::MONSTER::VIEW_KILLED2, @enemy.defeated_dse)
    end
    self.contents.draw_text(24, y, sw-24, WLH, text, 2)
    #---Escaped---
    y += WLH
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_ESCAPED
    self.contents.draw_text(24, y, sw-24, WLH, text, 0)
    draw_icon(YE::MENU::MONSTER::ICON_ESCAPED, 0, y, true)
    self.contents.font.color = normal_color
    if @enemy.escaped_dse == 1
      text = sprintf(YE::MENU::MONSTER::VIEW_ESCAPED1, @enemy.escaped_dse)
    else
      text = sprintf(YE::MENU::MONSTER::VIEW_ESCAPED2, @enemy.escaped_dse)
    end
    self.contents.draw_text(24, y, sw-24, WLH, text, 2)
    #---Gold---
    y += WLH
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_GOLD
    self.contents.draw_text(24, y, sw-24, WLH, text, 0)
    draw_icon(YE::MENU::MONSTER::ICON_GOLD, 0, y, true)
    self.contents.font.color = normal_color
    text = sprintf(YE::MENU::MONSTER::VIEW_GOLD, @enemy.gold)
    self.contents.draw_text(24, y, sw-24, WLH, text, 2)
    #---Exp---
    y += WLH
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_EXP
    self.contents.draw_text(24, y, sw-24, WLH, text, 0)
    draw_icon(YE::MENU::MONSTER::ICON_EXP, 0, y, true)
    self.contents.font.color = normal_color
    text = sprintf(YE::MENU::MONSTER::VIEW_EXP, @enemy.exp)
    self.contents.draw_text(24, y, sw-24, WLH, text, 2)
    #---Drops---
    if YE::MENU::MONSTER::SPOIL_DROPS and !@enemy.enemy.hide_drops
      y += WLH
      drop_items = [@enemy.drop_item1, @enemy.drop_item2]
      if $imported["ExtraDropItem"]
        drop_items += @enemy.extra_drop_items
      end
      self.contents.font.color = text_color(@category_colour)
      text = YE::MENU::MONSTER::DATA_DROPS
      self.contents.draw_text(0, y, sw, WLH, text, 1)
      y += WLH
      drop_items.each_with_index { |item, i|
        break if (y + 24) > (self.height - 32)
        case item.kind
        when 0
          next
        when 1
          drop_item = $data_items[item.item_id]
        when 2
          drop_item = $data_weapons[item.weapon_id]
        when 3
          drop_item = $data_armors[item.armor_id]
        end
        draw_item_name(drop_item, 0, y)
        if $imported["ExtraDropItem"] && item.drop_prob > 0
          text = sprintf("%d%%", item.drop_prob)
        else
          text = sprintf("%d%%", 1 * 100 /item.denominator)
        end
        self.contents.draw_text(0, y, sw, WLH, text, 2)
        y += WLH
      }
    end
  end # make spoils page
 
  #--------------------------------------------------------------------------
  # make drops page
  #--------------------------------------------------------------------------
  def make_drops_page
    x = 0
    y = 0
    sw = self.width - 32
    y += WLH
    self.contents.font.color = text_color(@category_colour)
    text = YE::MENU::MONSTER::DATA_D_ITEM
    self.contents.draw_text(0, y, sw, WLH, text, 0)
    text = YE::MENU::MONSTER::DATA_D_CHANCE
    self.contents.draw_text(0, y, sw, WLH, text, 2)
    y += WLH
    drop_items = [@enemy.drop_item1, @enemy.drop_item2]
    if $imported["ExtraDropItem"]
      drop_items += @enemy.extra_drop_items
    end
    drop_items.each_with_index { |item, i|
      break if (y + 24) > (self.height - 32)
      case item.kind
      when 0
        next
      when 1
        drop_item = $data_items[item.item_id]
      when 2
        drop_item = $data_weapons[item.weapon_id]
      when 3
        drop_item = $data_armors[item.armor_id]
      end
      draw_item_name(drop_item, 0, y)
      if $imported["ExtraDropItem"] && item.drop_prob > 0
        text = sprintf("%d%%", item.drop_prob)
      else
        text = sprintf("%d%%", 1 * 100 /item.denominator)
      end
      self.contents.draw_text(0, y, sw, WLH, text, 2)
      y += WLH
    }
  end # make drops page
 
  #--------------------------------------------------------------------------
  # make notes page
  #--------------------------------------------------------------------------
  def make_notes_page
    self.contents.font.color.alpha = 255
    self.contents.font.size = YE::MENU::MONSTER::NOTE_PAGE_TEXT_SIZE
    self.contents.font.color = text_color(YE::MENU::MONSTER::NOTE_PAGE_TEXT_COLOUR)
    y = 24
    txsize = YE::MENU::MONSTER::NOTE_PAGE_TEXT_SIZE + 4
    text = YE::HASH::ENEMY_NOTES[@enemy.enemy_id]
    nwidth = YE::MENU::MONSTER::NOTE_PAGE_WIDTH
    buf = text.gsub(/\\N(\[\d+\])/i) { "\\__#{$1}" }
    lines = buf.split(/(?:[|]|\\n)/i)
    lines.each_with_index { |l, i|
      l.gsub!(/\\__(\[\d+\])/i) { "\\N#{$1}" }
      self.contents.draw_text(0, i * txsize + y, nwidth, WLH, l, 0)
    }
  end #end def
 
  #--------------------------------------------------------------------------
  # create_total_pages
  #--------------------------------------------------------------------------
  def create_total_pages
    @contents = []
    @contents.push(0) if YE::MENU::MONSTER::SHOW_GENERAL
    #----------------
    action_list = []
    for action in @enemy.enemy.actions
      if action.kind == 1
        obj = $data_skills[action.skill_id]
        action_list.push(obj) unless action_list.include?(obj)
      end
    end
    if YE::MENU::MONSTER::SHOW_SKILLS and action_list != []
      if @require
        if $game_party.scan_skill.include?(@enemy.enemy_id)
          @contents.push(1) unless @enemy.enemy.hide_skill
        end
      else
        @contents.push(1) unless @enemy.enemy.hide_skill
      end
    end
    #----------------
    if YE::MENU::MONSTER::SHOW_ELEMENTS
      if @require
        if $game_party.scan_elem.include?(@enemy.enemy_id)
          @contents.push(2) unless @enemy.enemy.hide_elem
        end
      else
        @contents.push(2) unless @enemy.enemy.hide_elem
      end
    end
    #----------------
    if YE::MENU::MONSTER::SHOW_STATES
      if @require
        if $game_party.scan_state.include?(@enemy.enemy_id)
          @contents.push(3) unless @enemy.enemy.hide_state
        end
      else
        @contents.push(3) unless @enemy.enemy.hide_state
      end
    end
    #----------------
    if YE::MENU::MONSTER::SHOW_STEAL and $imported["Steal"]
      if @require
        if $game_party.scan_steal.include?(@enemy.enemy_id)
          @contents.push(80) unless @enemy.enemy.hide_steal
        end
      else
        @contents.push(80) unless @enemy.enemy.hide_steal
      end
    end
    #----------------
    if YE::MENU::MONSTER::SHOW_SPOILS
      if @require
        if $game_party.scan_spoil.include?(@enemy.enemy_id)
          @contents.push(90) unless @enemy.enemy.hide_spoil
        end
      else
        @contents.push(90) unless @enemy.enemy.hide_spoil
      end
    end
    #----------------
    if YE::MENU::MONSTER::SHOW_DROPS
      if @require
        if $game_party.scan_drops.include?(@enemy.enemy_id)
          @contents.push(91) unless @enemy.enemy.hide_drops
        end
      else
        @contents.push(91) unless @enemy.enemy.hide_drops
      end
    end
    #----------------
    if YE::MENU::MONSTER::SHOW_NOTES
      if @require
        if YE::HASH::ENEMY_NOTES.include?(@enemy.enemy_id)
          @contents.push(100) if $game_party.scan_desc.include?(@enemy.enemy_id)
        end
      else
        if YE::HASH::ENEMY_NOTES.include?(@enemy.enemy_id)
          @contents.push(100)
        end
      end
    end
    #----------------
    n = @contents.size
    return n
  end
 
  #--------------------------------------------------------------------------
  # case_page_name
  #--------------------------------------------------------------------------
  def case_page_name(pagecase)
    if pagecase == 0
      text = YE::MENU::MONSTER::TITLE_GENERAL
    elsif pagecase == 1
      text = YE::MENU::MONSTER::TITLE_SKILLS
    elsif pagecase == 2
      text = YE::MENU::MONSTER::TITLE_ELEMENTS
    elsif pagecase == 3
      text = YE::MENU::MONSTER::TITLE_STATES
    elsif pagecase == 80
      text = YE::MENU::MONSTER::TITLE_STEAL
    elsif pagecase == 90
      text = YE::MENU::MONSTER::TITLE_SPOILS
    elsif pagecase == 91
      text = YE::MENU::MONSTER::TITLE_DROPS
    elsif pagecase == 100
      text = YE::MENU::MONSTER::TITLE_NOTES
    else
      text = YE::MENU::MONSTER::TITLE_UNKNOWN
    end
    return text
  end
 
  #--------------------------------------------------------------------------
  # case_page_run
  #--------------------------------------------------------------------------
  def case_page_run(pagecase)
    if pagecase == 0
      make_general_page
    elsif pagecase == 1
      make_skills_page
    elsif pagecase == 2
      make_elements_page
    elsif pagecase == 3
      make_states_page
    elsif pagecase == 80
      make_steal_page
    elsif pagecase == 90
      make_spoils_page
    elsif pagecase == 91
      make_drops_page
    elsif pagecase == 100
      make_notes_page
    end
  end
 
end # Window_Enemy_Scan

#===============================================================================
#
# END OF FILE
#
#===============================================================================

Garruk, j'utillise le SBS 3.4 sans ATB

Merci de votre aide, à tous les deux
Amicalement
Gunslinger
Revenir en haut Aller en bas
Malum
Révolutionnaire mais ça rentrait pas alors autre chose
Révolutionnaire mais ça rentrait pas alors autre chose
Malum


Masculin Age : 30
Inscrit le : 28/05/2010
Messages : 1537

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeLun 16 Juil 2012 - 21:44

J'ai jeté un coup d'oeil au script et en effet, avec le SBS, ça ne veut pas fonctionner.
La fenêtre "clickez sur MaJ pour scanner" n'apparait même pas !
ça doit venir d'une incompatibilité entre les 2 scripts !
J'essais de corriger ça ce soir/demain =)
Revenir en haut Aller en bas
http://malum-productions.forumsactifs.net
Gunslinger
Poulet trizo Lv.3
Poulet trizo Lv.3
Gunslinger


Masculin Age : 29
Inscrit le : 31/10/2011
Messages : 31

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeVen 20 Juil 2012 - 19:39

Merci de m'aider pour mon problême Malum !!

J'espère que cela ne va pa trop te résister

Amicalement
Gunslinger
Revenir en haut Aller en bas
Angellan
Admindictatrice
Admindictatrice
Angellan


Féminin Age : 34
Inscrit le : 27/02/2009
Messages : 2855

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeLun 6 Aoû 2012 - 14:01

Ou ça en est ?
Revenir en haut Aller en bas
http://bonheur-du-yaoi.forumsactifs.com
Gunslinger
Poulet trizo Lv.3
Poulet trizo Lv.3
Gunslinger


Masculin Age : 29
Inscrit le : 31/10/2011
Messages : 31

Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitimeSam 18 Aoû 2012 - 9:46

Bonjour Angellan,

Je n'ai plus de réponse de Malum
Revenir en haut Aller en bas
Contenu sponsorisé




Problême SBS Takentaï et script Yanfly bestiaire + scan Empty
MessageSujet: Re: Problême SBS Takentaï et script Yanfly bestiaire + scan   Problême SBS Takentaï et script Yanfly bestiaire + scan Icon_minitime

Revenir en haut Aller en bas
 

Problême SBS Takentaï et script Yanfly bestiaire + scan

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» [Abandonné] Problème avec ADD-ONS Munition (SBS Takentai)
» Problème de script de bestiaire [Non résolu]
» Triple problème:Yanfly+menu+rapport de combat
» Problème avec le "Custom Battle Actions" de Yanfly.
» probléme avec les combat SBS takentai!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Abandonné-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit