Sujet: Re: Marché de Biward [Fermé aux demandes] Mer 16 Juin 2010 - 11:53
"Testez, avant de faire la morale aux autres !!1"
Ouah, l'ironie ! Et si tu testais, avant de dire que ça ne marche pas ? Les images se déplacent en même temps que le héros sur la map, donc NON, il ne va pas passer en dessous. J'ai déjà entendu parler d'une histoire de taille de l'image, mais si tu les fais juste un peu plus grandes que ton écran et que tu les places au bon endroit, il n'y aura aucun problème.
----Roxxor----
Voyageur Lv.10
Age : 27 Inscrit le : 08/05/2010 Messages : 383
Sujet: Re: Marché de Biward [Fermé aux demandes] Mer 16 Juin 2010 - 11:55
Ah ok, désolé pour la demande de script inutile, j'avais complétement oublier qu'on pouvais faire afficher image + faire défiler la map, vraiment la j'ai l'air d'un noob ^^ Edit : Matsuo => Avec tes 2 petites lignes d'explication, j'avais compris carrément rien à ce que tu voulais dire donc c'est normal que je dise que ça marche pas. Dommage qu'il y a pas une commande pour ignorer certains membres... C'est clair qu'il faut un post de 40 lignes pour apprendre à quelqu'un à se servir de la commande "afficher une image", sérieux, excuse quoi. En attendant je suis toujours modo ici, alors pour m'ignorer ça va être un peu dur. Tu n'as pas cherché à m'expliquer la commande "afficher une image" et je n'ai pas demandé un tuto pour ça, j'ai pas envie de faire une page de flood alors j'arrête là.
Dernière édition par ----Roxxor---- le Mer 16 Juin 2010 - 12:32, édité 1 fois
zuuuz
Poulet carnivore Lv.2
Inscrit le : 12/06/2010 Messages : 10
Sujet: Re: Marché de Biward [Fermé aux demandes] Mer 16 Juin 2010 - 12:15
Pseudo : zuuuz Projet : Luna Wars (pas encore présenter avenir...)
Salut Biward, vraiment bravo pour ces scripts je serai intérréser par le script "Auto save" "Quête" "Affiche Quete" si tu les toujour merçi à toi.
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: Marché de Biward [Fermé aux demandes] Mer 16 Juin 2010 - 12:25
Roxxor = > Utiliser une grand map permet de faire en sorte que le personnage soit toujours centré. Si tu utilise une map avec la taille minimum c'est normal qu'il s'approche des bords et qu'il passe en dessous des images que tu placeS. Après il faut aussi un peu expérimenter. Tiens ça marche pas ? Pourquoi ? Qu'est ce que je peux faire pour que ça marche ? Tiens si j'essayais ça ! Ah non ça ne marche toujours pas ! Et ça ? Non plus ! Ah mais si c'était ça ? Yeah c'est ça !
Bien que le forum et sa communauté soient là pour aider, on est pas là pour faire ton jeu à ta place non plus. De plus il semble que Matsuo et TaZ sont restés corrects à ton égard et toi tu leur répond assez méchamment, donc je pense que c'est normal qu'ils te répondent avec un soupçon d'animosité, puisque tu l'as cherché.
Donc le conseil que je peux te donner est d'expérimenter. Si tu n'arrive pas, essaye et essaye encore. Quand t'arrive vraiment pas, tu peux venir demander de l'aide mais évite les demande aussi inutiles.
zuuz => Regarde sur la première page, Biward a ressemblé toutes ses créations.
----Roxxor----
Voyageur Lv.10
Age : 27 Inscrit le : 08/05/2010 Messages : 383
Sujet: Re: Marché de Biward [Fermé aux demandes] Mer 16 Juin 2010 - 12:46
Matsuo Kaito a écrit:
"Testez, avant de faire la morale aux autres !!1"
Ouah, l'ironie ! Et si tu testais, avant de dire que ça ne marche pas ? Les images se déplacent en même temps que le héros sur la map, donc NON, il ne va pas passer en dessous. J'ai déjà entendu parler d'une histoire de taille de l'image, mais si tu les fais juste un peu plus grandes que ton écran et que tu les places au bon endroit, il n'y aura aucun problème.
C'est ce post que je trouvais insolent et effectivement j'ai testé sur ma map de test (une 17X13 donc) et je marchais sur les bord comme tu dis, je viens de tester sur une grande map et je me suis apperçu que je ne marchais plus dessus. C'est vrai j'aurais dû tester les 2 avant mais je n'y avais pas pensé. Et si j'aurais voulu que vous fassiez mon jeu à ma place on pourrais pas dire que c'est MON jeu.
Zangther a écrit:
Donc le conseil que je peux te donner est d'expérimenter
En réalité je suis assez expérimenter mais j'avais oublié le "afficher image" c'est ce que Matsuo voulais me faire comprendre mais malheureusement j'ai testé sur une map 17X13. Voila c'est tout ce que j'ai à dire y'a pas besoin d'en rajouter une couche (je dis ça au cas où un quatrième modo arrive et me ré-explique encore une fois.)
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: Marché de Biward [Fermé aux demandes] Mer 16 Juin 2010 - 13:00
Je ne parle pas d'expérience, mais de tests. Tu peux avoir toute l'expérience dans tout les domaines possibles, tu oublieras toujours des éléments, mais si tu cherches et que tu teste tu trouveras toujours.
PS : je ne suis pas modo huh ç_ç
Garruk
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
Sujet: Re: Marché de Biward [Fermé aux demandes] Mer 16 Juin 2010 - 19:05
C'est encore moi. =) Voila en plus de rajouter les ap dans le bestiaire je voulais faire une autre demande que j'avais complétement oublier de poster la voici.
Pseudo : CloudStrife Projet : The Kingdom of fancy Secteurs : Autre, car ça infecte le bouclier uniquement [script : Je voudrais que le bouclier puisse prendre de l' expérience, je vais faire une exemple pour que tu comprennes mieux ma requête.
Dans mon projet le bouclier est remplacer par Djinn donc je ferais appelle a Djinn et non à bouclier dans les explications qui vont suivre.
Quand un héros est équiper d'un Djinn (bouclier) il apprend une compétence automatiquement, par contre il perd cette compétence si le héros n'est plus équiper du Djinn.
Le Djinn possède une barre d'expérience pour la faire monter il faut utiliser un certain nombre de fois une compétence que ce Djinn nous apprends, sinon ça ne marche pas.
Joueur1 est équiper de Djinn, donc Joueur1 apprend la compétence "Skill1". Joueur1 pendant le combat utilise 5 fois la compétence de son Djinn "Skill1" donc le Djinn à gagner 5 point d'XP.
Le Djinn peut gagner un niveau quand ça barre d'Xp est pleine il deviens plus fort exemple. Djinn niveau 1: Force 1, défense1, agilité 2 et esprit 1 : Fait apprendre Skill1 (la compétence) Djinn niveau 2: Force 2, défense2, agilité 4 et esprit 2. Djinn niveau 4: Force 4, défense4, agilité 8 et esprit 3. fait apprendre Skill2 Etc...
Voilà si il faut même rajouter un onglet dans le menu ça ne me dérange pas si on peut l'activer avec un interrupteur.
J'utilise toujours le système ATB + SBS 3.3 pour l'information.
Après dit moi si c'est possible ou pas, merci d'avance. Si tu as des questions surtout n'existe pas.
Tabbou
Habitant Lv.6
Age : 28 Inscrit le : 15/02/2010 Messages : 117
Sujet: Re: Marché de Biward [Fermé aux demandes] Jeu 17 Juin 2010 - 16:56
Nom de l'objet à obtenir : Epée de Gélitra Sur qui l'obtenir : Gélitra(logique non?) Pourcentage de chance de l'obtenir 1/100 MAIS... Si le personnage à 1 chance (1 étant le minimum et 100 le maximum):0/100 de chance d'obtenir l'objet. Si le personnage à 100 chance : 99/100 de chance d'obtenir l'objet MAIS(encore un!!) Seul la chance du personnage tuant le monstre compte.
Merci d'avance et si tu as des questions surtout n'hésite pas!
Dernière édition par Tabbou le Lun 21 Juin 2010 - 6:03, édité 1 fois
Biward
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
Sujet: Re: Marché de Biward [Fermé aux demandes] Jeu 17 Juin 2010 - 18:11
@> Cloud Strife → Je verrai
@> Tabbou → Aussi
Sinon, message à tous : Précisez pour quand vous voulez vos scripts
Biward
Biward
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 13:14
Voici pour toi ballbreaker :
Memorisation d'un objet
Permet d'enregistrer un objet et de l'utiliser directement sur la map !
# Auteur : Biward # Date : 19/06/2010 # Pour le forum RPG Maker Vx et VX-fan
# Utilité : # Permet d'enregistrer un objet et de l'utiliser sur la map grâce à une touche !
##################### CONFIGURATION ################# module BI module MEMO Touche = {Input::Z => 0} # Touche qui sert à enregistrer l'objet. Laissez 0 à la fin ! end end #################### FIN DE LA CONFIGURATION ###################
class Scene_Map < Scene_Base
alias memo_update update
include BI::MEMO
def player_item_animation_id(itm) return ($game_actors[1].nil? ? 0 : $data_items[itm.to_i].animation_id) end
def update memo_update for button in Touche.keys if Input.trigger?(button) if $game_party.has_item?($data_items[Touche[button]], true) and $game_party.item_can_use?($data_items[Touche[button]]) $game_player.animation_id = player_item_animation_id(Touche[button]) $game_actors[1].item_effect($game_actors[1], $data_items[Touche[button]]) $game_party.consume_item($data_items[Touche[button]]) end end end end end
class Scene_Item alias crissaegrim_abs_sitem_start start alias crissaegrim_abs_sitem_update update alias crissaegrim_abs_sitem_update_item_selection update_item_selection
include BI::MEMO def start @memory = Window_Command.new(150, ["Mémoriser !"]) @memory.active = false @memory.visible = false @memory.x = (544 - @memory.width) / 2 @memory.y = (416 - @memory.height) / 2 @memory.z = 1500 crissaegrim_abs_sitem_start end def update @memory.update if @memory.active crissaegrim_abs_sitem_update return update_memory if @memory.active end def update_item_selection crissaegrim_abs_sitem_update_item_selection
for button in Touche.keys if Input.trigger?(button) Sound.play_decision Touche[button] = @item_window.item.id @memory.active = @memory.visible = true @item_window.active = false end end end def update_memory if Input.trigger?(Input::C) Sound.play_decision @memory.active = @memory.visible = false @item_window.active = true end if Input.trigger?(Input::B) and @memory.active = true and @memory.visible = true Sound.play_cancel @memory.active = @memory.visible = false @item_window.active = true end
end end
→→→ A venir ←←←
- scriptS pour CloudStrife - Cinématique pour ----Roxxor---- (j'le fait quand même )
Biward
Dernière édition par Biward le Sam 19 Juin 2010 - 13:27, édité 1 fois
Biward
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 13:25
Voilà pour toi Cloud Strife : Le Bestiaire Il est à coller après le script de Matéria !!
script Part1 :
Spoiler:
Code:
#=============================================================================== # # Yanfly Engine RD - Display Scanned Enemy # Last Date Updated: 2009.04.21 # 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. # #=============================================================================== # Updates: # ---------------------------------------------------------------------------- # o 2009.04.21 - Finished and publicized. # o 2009.04.20 - Started script. #=============================================================================== # How to Use: Normal Mode #=============================================================================== # # 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 #=============================================================================== # # 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 # #===============================================================================
$imported = {} if $imported == nil $imported["DisplayScannedEnemy"] = true
module YE module MENU module MONSTER
# 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, 0 => [ 0, 99, 20, 21, 100, 22, 23], 1 => [ 112, 208, 18, 20, 209, 11, 22], 2 => [ 157, 99, 20, 21, 100, 22, 23], } # Do not remove this.
# 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. #===============================================================================
self.note.split(/[\r\n]+/).each { |line| case line when YE::REGEXP::ENEMY::BOSS_TYPE @boss_type = $1.to_i
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 } 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
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 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 $scan_hp_mp.push(enemy.id) unless $scan_hp_mp.include?(enemy.id) end if skill.scan_stats or skill.scan_whole $scan_stats.push(enemy.id) unless $scan_stats.include?(enemy.id) end if skill.scan_skill or skill.scan_whole $scan_skill.push(enemy.id) unless $scan_skill.include?(enemy.id) end if skill.scan_state or skill.scan_whole $scan_state.push(enemy.id) unless $scan_state.include?(enemy.id) end if skill.scan_elem or skill.scan_whole $scan_elem.push(enemy.id) unless $scan_elem.include?(enemy.id) end if skill.scan_spoil or skill.scan_whole $scan_spoil.push(enemy.id) unless $scan_spoil.include?(enemy.id) end if skill.scan_drops or skill.scan_whole $scan_drops.push(enemy.id) unless $scan_drops.include?(enemy.id) end if skill.scan_steal or skill.scan_whole $scan_steal.push(enemy.id) unless $scan_steal.include?(enemy.id) end if skill.scan_desc or skill.scan_whole $scan_desc.push(enemy.id) unless $scan_desc.include?(enemy.id) end end end
end # Game_Battler
#=============================================================================== # Game Enemy #===============================================================================
class Game_Enemy < Game_Battler
#-------------------------------------------------------------------------- # alias initialize #-------------------------------------------------------------------------- alias initialize_dse initialize def initialize(index, enemy_id) initialize_dse(index, enemy_id) $monsters_encounter = {} if $monsters_encounter == nil if $monsters_encounter[enemy_id] == nil $monsters_encounter[enemy_id] = 0 end $monsters_encounter[enemy_id] += 1 end
#-------------------------------------------------------------------------- # alias Transform #-------------------------------------------------------------------------- alias transform_dse transform def transform(enemy_id) transform_dse(enemy_id) $monsters_encounter = {} if $monsters_encounter == nil if $monsters_encounter[enemy_id] == nil $monsters_encounter[enemy_id] = 0 end $monsters_encounter[enemy_id] += 1 end
#-------------------------------------------------------------------------- # alias Collapse #-------------------------------------------------------------------------- alias perform_collapse_dse perform_collapse def perform_collapse perform_collapse_dse if $game_temp.in_battle and dead? if YE::MENU::MONSTER::DEATH_SPOILS $scan_spoil.push(enemy.id) unless $scan_spoil.include?(enemy.id) end if YE::MENU::MONSTER::DEATH_DROPS $scan_drops.push(enemy.id) unless $scan_drops.include?(enemy.id) end $monsters_defeated = {} if $monsters_defeated == nil if $monsters_defeated[enemy_id] == nil $monsters_defeated[enemy_id] = 0 end $monsters_defeated[enemy.id] += 1 end
end
#-------------------------------------------------------------------------- # alias Escape #-------------------------------------------------------------------------- alias escape_dse escape def escape $monsters_escaped = {} if $monsters_escaped == nil if $monsters_escaped[enemy_id] == nil $monsters_escaped[enemy_id] = 0 end $monsters_escaped[enemy.id] += 1 escape_dse end
#-------------------------------------------------------------------------- # Encounter Details #-------------------------------------------------------------------------- def encounters_dse if $monsters_encounter[enemy.id] == nil $monsters_encounter[enemy.id] = 0 end return $monsters_encounter[enemy.id] end def defeated_dse if $monsters_defeated[enemy.id] == nil $monsters_defeated[enemy.id] = 0 end return $monsters_defeated[enemy.id] end def escaped_dse if $monsters_escaped[enemy.id] == nil $monsters_escaped[enemy.id] = 0 end return $monsters_escaped[enemy.id] end
end # Game_Enemy
#=============================================================================== # Scene Battle #===============================================================================
class Scene_Battle
#-------------------------------------------------------------------------- # create scan variables #-------------------------------------------------------------------------- def create_scan_variables $scan_hp_mp = [] if $scan_hp_mp == nil $scan_stats = [] if $scan_stats == nil $scan_skill = [] if $scan_skill == nil $scan_elem = [] if $scan_elem == nil $scan_state = [] if $scan_state == nil $scan_spoil = [] if $scan_spoil == nil $scan_drops = [] if $scan_drops == nil $scan_steal = [] if $scan_steal == nil $scan_desc = [] if $scan_desc == nil end
def create_encounters $monsters_encounter = {} if $monsters_encounter == nil $monsters_defeated = {} if $monsters_defeated == nil $monsters_escaped = {} if $monsters_escaped == nil end
#-------------------------------------------------------------------------- # alias terminate #-------------------------------------------------------------------------- alias terminate_dse terminate 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 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
#=============================================================================== # 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
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 dsearray = YE::MENU::MONSTER::BOSS_TYPES[@enemy.enemy.boss_type] icon = dsearray[0] draw_icon(icon, sw/2-12, y, true) #--------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 $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 $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 $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
text_ap = "AP : " + Materia_Config::ENEMY_AP[@enemy.enemy_id].to_s self.contents.font.color = text_color(@category_colour) self.contents.font.size = 17.5 self.contents.draw_text(0, y, sw, WLH, text_ap, 1) 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) 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--- unless YE::MENU::MONSTER::SPOIL_DROPS or @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
#-------------------------------------------------------------------------- # 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 $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 $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 $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 $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 $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 $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 $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
#=============================================================================== # # END OF FILE # #===============================================================================
Je vais essayer ensuite de faire le bouclier Biward
Garruk
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 14:46
Merci beaucoup pour ton travail Biward, mais j'ai une question...
Peux-tu me donner les lignes à rajouter sur le script de base ?
Car j'ai déjà fait pas mal de mof sur ce script, si c'est possible bien sûr. =)
Biward
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 14:54
#-------------------------------------------------------------------------- # make general page #-------------------------------------------------------------------------- def make_general_page new_scan text_ap = "AP : " + Materia_Config::ENEMY_AP[@enemy.enemy_id].to_s self.contents.font.color = text_color(@category_colour) self.contents.font.size = 17.5 self.contents.draw_text(0, 204, 240, WLH, text_ap, 1) end # make general page end # Window_Enemy_Scan
#=============================================================================== # # END OF FILE # #===============================================================================
Ajoute ce script au dessus de main
Biward
Garruk
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 14:57
Très bien merci à toi, je test et j'édit mon post pour voir ce que ça donne. Bon courage pour le bouclier si tu as des questions comme sur la barre xp ou autre hésite pas à me le demander. =)
EDIT: Petite suggestion: -Les AP apparaissent dans la page des statistiques de l'ennemi et c'est pas top, la page suivante avec les gils et l'xp aurait été mieux.
-Si on pouvait rajouter une icône comme pour le reste des info exemple "icône" AP 1, car j'utilise une icône pour toute les infos donc ça serait mieux quand même.
-Si les deux suggestions au-dessus sont faisable, serait-il possible de modifier l'emplacement des AP en-dessous de gils par exemple.
Sinon c'est nikel, mais ce sont deux, trois petites choses qui me choc un peu. =)
Biward
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 15:27
Ok, je te fait ça
Biward
razore
Maire Lv.9
Age : 28 Avertissements : 1Inscrit le : 18/04/2010 Messages : 332
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 16:08
#-------------------------------------------------------------------------- # make general page #-------------------------------------------------------------------------- def make_spoils_page x = 0 y = 0 yy = 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) #--- AP--- y += WLH self.contents.font.color = text_color(@category_colour) text = "AP" self.contents.draw_text(24, y, sw-24, WLH, text, 0) draw_icon(ICON, 0, y, true) text = Materia_Config::ENEMY_AP[@enemy.enemy_id].to_s + " APs" self.contents.font.color = normal_color 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) end # make spoils page end # Window_Enemy_Scan
#=============================================================================== # # END OF FILE # #===============================================================================
L'ID de l'icone est modifiable en haut du script
@> razore → Euh...Le mode 7 avec dirigeable en 3D....Et tu veux qu'il soit pour tout ? Oulala.... J'arriverai jamais un truc pareille moi... désolé... Sinon, elle est bizarre ta carte xD
Biward
razore
Maire Lv.9
Age : 28 Avertissements : 1Inscrit le : 18/04/2010 Messages : 332
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 16:14
Pas grave sinon ils sont super tes nouveau script et j'ai enlevé ma carte car elle avait un bug je le corige pour ce soir.
Garruk
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 16:42
D'accord merci Bibi xD je test de suite et j'édite si j'ai encore un ou deux trucs à te redemander. =)
EDIT: Rien à ajouter c'est nikel, merci encore pour ton aide. =)
Biward
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
Sujet: Re: Marché de Biward [Fermé aux demandes] Sam 19 Juin 2010 - 17:45
@> CloudStrife → Ok
Rectangle
Ce script permet de faire facilement des ronds et des rectangle, qu'ils soient unis ou en dégradés
Screens :
Spoiler:
Script : Démo
Biward
Sylfurion
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
Sujet: Re: Marché de Biward [Fermé aux demandes] Dim 20 Juin 2010 - 6:25
O_o ça a l'air tout simplement énorme !!
Biward
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
Sujet: Re: Marché de Biward [Fermé aux demandes] Dim 20 Juin 2010 - 9:08
Tu trouve ? Après, ça peut servir pour faire une visière pour les jeux de guerre
Biward
Sylfurion
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
Sujet: Re: Marché de Biward [Fermé aux demandes] Dim 20 Juin 2010 - 17:16
Pas forcément, ça peut aider a plein de truc, j'adore ce genre de script, de loin ils peuvent paraitre de servir a rien, mais en se penchant dessus on voit que ça sert vraiment ! merci ^^
EDIT : euh problème, comment on enlève une forme XD ? Car c'est bien beau de l'afficher, mais comment la faire disparaitre ?
Biward
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
Sujet: Re: Marché de Biward [Fermé aux demandes] Dim 20 Juin 2010 - 19:23
Essaie ça :
Code:
$win.dispose
ou alors ça :
Code:
$Win.dispose
Je crois que c'est le deuxième
En faite, l'idée du script Rectangle m'est venue de la demande de ----Roxxor---- Moi je trouve que ça fait un côté plus artistique
Biward
PS = Plus qu'un post avec la 26° page et les 500 messages !! Enjoy <3