Jump to content
Rpg²S Forum

Yoshi91

Utenti
  • Posts

    473
  • Joined

  • Last visited

Posts posted by Yoshi91

  1. Bellissimi modellini di carta di alcuni personaggi dei videogiochi. C'è pure Knuckles :3

    http://multiplayer.i...li-origami.html

    Knuckles era fatto benissimo! Che artisti! :D

    Ahahaha! Che furbo! Il figlio non riusciva a scappare? Non aveva un arma potentissima? D:

    Io, se fossi stato al posto di quel povero figlio avrei segnalato al team i miei killer XDDDDDD

    Miyamoto ha dichiarato che Pikmin 3 sarà più simile al primo come difficoltà

    http://multiplayer.i...e-miyamoto.html

    Non ho mai giocato a Pikmin ma dev'essere interessante.

  2. Hm hm. Ovviamente i nabbi ci sono dovunque. Ma vedo certa gente americana tipo Yanfly che ha sfornato un sacco di script, per VX e VX-Ace. Poca gente sforna così tanti script. Anche progetti stranieri sono stati sospesi o cancellati, ma, soprattutto vedo noi italiani che abbandoniamo progetti. E noi siamo anche uno Stato un pò più piccolo in confronto ad altri, e allora meno makeratori.

     

  3. Giusto!

    Azz però Flame non sapevo che fossi un poeta XDD

    Test: Beh quasi ci sei.

    Far bruciare unva bel pollo da 35€ e renderlo inmangiabile è più triste di abbandonare un progetto! XD

    Beh dai lasciamo perdere le baggionate.

    Comunque, un ottimo suggerimento su come non abbandonare un progetto è il chiedere aiuto.

    Parole sante, parola di Yoshi! Umani, fate così e vedrete che una risposta da un maker più bravo i farà sentire più leggeri, e ci farà capire che tutto non è impossibile! Potete chiedere anche aiuti per il vostro progetto in vari fattori postando un topic in reclutamento progetti!

    Allora, le parole del folletto sono giuste. Dovrebbe scrivere un libro: "Le cause degli abbandoni dei progetti" XD

    Per il resto, mi congratulò con chi ci mette tanto impegno per il proprio videogioco. Così si fa!

  4. D'accordissimo con te. Anzi, cosa essenziale: mai dare una data per la fine dei lavori. Non serve a nulla se non a farvi innervosire di più in quei momenti in cui avete difficoltà nel continuare il progetto. Semplicemente, se non avete ancora tutto il materiale, tenetelo fermo e salvatevelo da qualche parte. Magari lo riprenderete dopo con più enfasi.

    Già. Meglio finire il progetto più tardi che sbattere la testa al muro per il materiale.

    Infatti non bisogna arrendersi solo per la mancanza di materiale!

    L'unione fa la forza!

     

    Eh sì Espert direi lo stesso. Ho cominciato questa discussione per evitare gli abbandoni dei progetti.

    MA non bisogna stare tutto il giorno al pc per crearlo! Crea dipendenza! (espert non parlo a te!)

  5. Purtroppo, parecchi makeratori abbandonano il proprio progetto. Ma perchè?

    - Perchè potrebbe sembrare brutto al makeratore.

    - Perchè potrebbe non piacere in un fattore al makeratore.

    - Perchè gli sembrerebbe impossibile fare una cosa e getta la spugna.

    E così via...

    Ragazzi, sentite. A quanto ne sappia io il making italiano fa pena.

    Il making americano, al contrario, è una meraviglia. Tutti noi prendiamo script, grafiche, musiche da lì.

    Infatti hanno anche progetti - videogiochi fatti da loro che sono la felicità di Zeus (XD).

    E purtroppo, parecchi makeratori (soprattutto italiani) spesso abbandonano i propri progetti per le cause prima dettate.

    All'inizio, i makeratori pensano al loro progetto, che farà un successone (oppure non proprio così giocato, ma un pochetto di meno),

    che riceveranno molte recensioni, che si sentiranno soddisfatti e felici del loro lavoraccio e varie.

    Ma questo purtroppo non avviene in tutti i casi. Ciò capita soprattutto con i newbie dell'RPG Making, che credono una cosa non sia possibile. Ma anche agli esperti a volte capita, che con i limiti dell'RGSS o del GM o compagnia bella non riescano a fare una cosa bella,

    tipo fare una grafica simile a quella di Final Fantasy X o successivi, cosa altamente complessa. E allora abbandonano tutto.

    Io cerco di non fare così. Dato che il mio progetto non sarà un RPG ma sarà fatto col VX Ace, a volte penso che non ce la potrei fare.

    MA, ma, io penso: L'importante è guardare ciò che si sforna.

    Una cosa non è possibile? Tentate in un altro modo oppure eliminatela se non è essenziale!

    Abbandonare la creazione di un progetto è da "fannulloni" (senza offesa, eh) perchè non si prova in un altro modo a continuare.

    Ripeto: L'importante è guardare ciò che si sforna.

    Provate a fare ciò che potete e fate provare il vostro gioco alla gente.

    Makeratori, scripters, storyboards, grafici, musicisti: ricordate, L'unione fa la forza.

    Se uno non riesce a fare una cosa in cui qualcun'altro si riesce, si chiede gentilmente aiuto, garbatamente.

    E così si può fare tanto, insieme.

    No agli abbandoni dei progetti!

    Siete con me?

  6. Bellissimo! Grandioso!! :D Molto più comodo del normale Menù :D

    Eh eh, già! :)

    In confronto al normale è molto meglio, soprattutto per la grafica: è molto più colorato e personalizzabile.

    Pure le features tipo l'aggiunta del comando "Carica" al menù attirano di più i maker!

    Beh, in fondo io l'ho solo tradotto, l'ha creato Syvkal.

  7. Carino il menù ad anello, anche se preferisco il menù normale xD

    Già, è carino questo menù, con tanto di rotazione, ma l'avrei messo nel mio progetto se non mi fossi innamorato follemente (no, sto scherzando, dico così per dire XD) di questo menù fatto da Yanfly, perchè è semplice da usare e permette di aggiungere comandi che eseguono eventi comuni!!!!

  8. R: Eeeh... Il caterpillar system (sistema per mostrare i compagni del leader presente nel VX Ace) funziona così! Se non ti piace, rimuovilo da Database -> Sistema -> Opzioni -> togli il segno di spunta a Mostra compagni del Gioc.

    Ma se provi, muovendoti il secondo personaggio non sarà più sotto al primo.

    Se vuoi invece cambiare il leader basta fare tramite eventi questa procedura:

    - Rimuovi il primo personaggio

    - Aggiungi il nuovo leader

    - Rimetti il precedente leader ed... ecco fatto!

  9. Non ho capto dove mettere lo script perchè ho provato a metterlo in script editor sotto materials però quando vado a sciegliere oggetti nel menu il gioco si blocca

    Mhhh.... Potresti spiegarmi l'errore?

    Edit: Io voglio che tipo una persona si avvicina all'eroe e gli dice: "Ecco le chiavi per aprire il cancello" e dopo questo messaggio nell'inventario dovresti avere una chiave utilizzabile dall'eroe in qualsiasi momento

    Comunque... Potresti fare che l'oggetto chiave venga inserito nella categoria "Oggetti chiave" mettendo nelle note dell'oggetto <key item> e rendendolo inutilizzabile.

    Poi, arrivati al cancello, tramite comando evento togli l'oggetto e fai proseguire la storia.

  10. Oppure, per evitare l'inventario pieno di cavolate, usa questo script, è ottimo, senza bug; serve per la gestione in categorie degli oggetti, per Oggetti Chiave e migliorie varie.

    Crea una nuova classe con tasto destro -> inserisci prima del Main e sotto Materials e incollaci il codice.

    Veditelo un pò, poi fammi sapere, per domande e risposte.

    Ho tradotto solo i comandi.

    Script:

     

     

    #===============================================================================

    #

    # Yanfly Engine Melody - Item Overhaul

    # Last Date Updated: 2010.06.20

    # Level: Normal, Hard

    #

    # The item scene can become seriously lacking as it often keeps players in the

    # dark as to what items actually do. This script rewrites the item scene and

    # provides the player adequate information about how an item functions, be it

    # a healing item, battle item, weapon, or a piece of armour. And if needed,

    # custom data can be inserted, too.

    #

    #===============================================================================

    # Updates

    # -----------------------------------------------------------------------------

    # o 2010.06.20 - Finished Script.

    # o 2010.06.18 - Started Script.

    #===============================================================================

    # Instructions

    # -----------------------------------------------------------------------------

    # To install this script, open up your script editor and copy/paste this script

    # to an open slot below ▼ Materials but above ▼ Main. Remember to save.

    #

    # -----------------------------------------------------------------------------

    # Item and Equip Tags - For Items, Weapons, and Armours.

    # -----------------------------------------------------------------------------

    # <key item>

    # This labels the item as a key item, making it appear in the key item category

    # inside of the item scene. Does nothing else.

    #

    # <custom data>

    # icon, string1, string2

    # </custom data>

    # This allows you to input in custom data to be displayed in the item list

    # data window. Replace "icon" with a number to depict which icon you want

    # shown in the data. Replace "string1" with the category you want shown in the

    # data. Replace "string2" with the text you want shown in the data.

    #===============================================================================

    $imported = {} if $imported == nil

    $imported["ItemOverhaul"] = true

    module YEM

    module ITEM

     

    #===========================================================================

    # Section I. Basic Settings

    # --------------------------------------------------------------------------

    # The following below will adjust the basic settings and vocabulary that

    # alter the basic item scene the players see before them.

    #===========================================================================

     

    # This adjusts the commands used within the item scene. The command window

    # is the window that lets you switch between various item scene options.

    #

    # :usable Opens up usable menu items.

    # :battle Views battle-only items.

    # :weapons Views weapons list.

    # :armours Views armours list.

    # :misc Views miscellaneous items.

    # :key_items Views key items.

    # :all_items Views all items.

    #

    COMMANDS =[

    :usable, # Opens up usable menu items.

    :battle, # Views battle-only items.

    :weapons, # Views weapons list.

    :armours, # Views armours list.

    :misc, # Views miscellaneous items.

    :key_items, # Views key items.

    # :all_items, # Views all items.

    ] # Do not remove this.

     

    # The following determines the vocabulary used for the remade item scene.

    # Adjust it accordingly to set the way text is displayed.

    VOCAB ={

    :usable => "Usabili",

    :battle => "Battaglia",

    :weapons => "Armi",

    :armours => "Armature",

    :misc => "Altro",

    :key_items => "Oggetti Chiave",

    :all_items => "Tutti",

    } # Do not remove this.

     

    #===========================================================================

    # Section II. Data Window Settings

    # --------------------------------------------------------------------------

    # These settings adjust what you see in the data window shown to the lower

    # right of the item scene. The window shows the selected item's properties.

    # The data represented differs depending on the item, its tags, and whether

    # or not it is an item, weapon, or armour.

    #===========================================================================

     

    # These constants determine how the gold value appears in the data windows.

    DRAW_GOLD_ICON = 205

    DRAW_GOLD_TEXT = "Valore"

     

    # This adjusts the settings shown for items. Adjust as you see fit. The

    # majority of these keys are vocab settings.

    ITEM_DATA ={

    :properties => "Proprietà",

    :gold_value => true,

    :fontsize => 16,

    :hp_heal_icon => 128,

    :hp_heal_text => "Recupero PV",

    :mp_heal_icon => 214,

    :mp_heal_text => "Recupero PM",

    :dmg_icon => 119,

    :base_dmg => "Danni base",

    :heal_icon => 128,

    :base_heal => "Cura base",

    :multiplier => "Moltiplicatore %s",

    :element => "Elemento",

    :add_state => "Causa",

    :rem_state => "Rimuove da",

    :growth => "Aumento di %s",

    :resist => "%s Resiste",

    :bonus => "%s Bonus",

    } # Do not remove this.

     

    # This adjusts the settings shown for equipment. Adjust as you see fit. For

    # :shown_stats, valid stats to be shown are as follows:

    # :hp, :mp, :atk, :def, :spi, :res, :dex, :agi

    EQUIP_DATA ={

    :properties => "Attributi",

    :gold_value => true,

    :fontsize => 16,

    :shown_stats => [:hp, :mp, :atk, :def, :spi, :res, :dex, :agi],

    :ele_weapon => "Aggiunge",

    :ele_armour => "Protegge da",

    :state_weapon => "Causa",

    :state_armour => "Resiste",

    } # Do not remove this.

     

    # This array contains all of the elements you want displayed and in which

    # order to display them in. You can display them as individual integers or

    # as number ranges.

    SHOWN_ELEMENTS = [3, 4, 5, 6..10]

     

    # Since elements do not have icons innately, use the following hash below

    # adjust and apply icons to them.

    ELEMENT_ICONS ={

    3 => 104, # Fire element.

    4 => 105, # Ice element.

    5 => 106, # Volt element.

    6 => 108, # Earth element.

    7 => 107, # Water element.

    8 => 109, # Air element.

    9 => 110, # Light element.

    10 => 111, # Dark element.

    } # Do not remove this.

     

    end # ITEM

    end # YEM

    #===============================================================================

    # 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 YEM

    module REGEXP

    module BASEITEM

     

    KEY_ITEM = /<(?:KEY_ITEM|key item|key)>/i

     

    CUSTOM_DATA1 = /<(?:CUSTOM_DATA|custom data)>/i

    CUSTOM_DATA2 = /<\/(?:CUSTOM_DATA|custom data)>/i

     

    end # BASEITEM

    end # REGEXP

    module ITEM

    module_function

    #--------------------------------------------------------------------------

    # convert_integer_array

    #--------------------------------------------------------------------------

    def convert_integer_array(array)

    result = []

    array.each { |i|

    case i

    when Range; result |= i.to_a

    when Integer; result |=

    end }

    return result

    end

     

    #--------------------------------------------------------------------------

    # converted_contants

    #--------------------------------------------------------------------------

    SHOWN_ELEMENTS = convert_integer_array(SHOWN_ELEMENTS)

    end # ITEM

    end # YEM

    #===============================================================================

    # module Icon

    #===============================================================================

    module Icon

     

    #--------------------------------------------------------------------------

    # self.gold_cost

    #--------------------------------------------------------------------------

    def self.gold_cost; return YEM::ITEM::DRAW_GOLD_ICON; end

     

    #--------------------------------------------------------------------------

    # self.element

    #--------------------------------------------------------------------------

    def self.element(element_id)

    icon = YEM::ITEM::ELEMENT_ICONS[element_id]

    return (icon == nil) ? 0 : icon

    end

     

    #--------------------------------------------------------------------------

    # self.hp_heal

    #--------------------------------------------------------------------------

    def self.hp_heal; return YEM::ITEM::ITEM_DATA[:hp_heal_icon]; end

     

    #--------------------------------------------------------------------------

    # self.mp_heal

    #--------------------------------------------------------------------------

    def self.mp_heal; return YEM::ITEM::ITEM_DATA[:mp_heal_icon]; end

     

    #--------------------------------------------------------------------------

    # self.base_damage

    #--------------------------------------------------------------------------

    def self.base_damage; return YEM::ITEM::ITEM_DATA[:dmg_icon]; end

     

    #--------------------------------------------------------------------------

    # self.base_healing

    #--------------------------------------------------------------------------

    def self.base_healing; return YEM::ITEM::ITEM_DATA[:heal_icon]; end

     

    #--------------------------------------------------------------------------

    # self.stat

    #--------------------------------------------------------------------------

    def self.stat(actor, item); return 0; end

     

    end # Icon

    #===============================================================================

    # RPG::BaseItem

    #===============================================================================

    class RPG::BaseItem

     

    #--------------------------------------------------------------------------

    # public instance variables

    #--------------------------------------------------------------------------

    attr_accessor :custom_data

    attr_accessor :key_item

     

    #--------------------------------------------------------------------------

    # common cache: yem_cache_baseitem_io

    #--------------------------------------------------------------------------

    def yem_cache_baseitem_io

    return if @cached_baseitem_io; @cached_baseitem_io = true

    @key_item = false

    enable_custom_data = false

    @custom_data = [] unless self.is_a?(RPG::Skill)

    self.note.split(/[\r\n]+/).each { |line|

    case line

    #---

    when YEM::REGEXP::BASEITEM::KEY_ITEM

    @key_item = true

    #---

    when YEM::REGEXP::BASEITEM::CUSTOM_DATA1

    next if self.is_a?(RPG::Skill)

    enable_custom_data = true

    when YEM::REGEXP::BASEITEM::CUSTOM_DATA2

    next if self.is_a?(RPG::Skill)

    enable_custom_data = false

    when /(\d+),[ ](.*),[ ](.*)/i

    next unless enable_custom_data

    next if self.is_a?(RPG::Skill)

    array = [$1.to_i, $2.to_s, $3.to_s]

    @custom_data.push(array)

    end

    } # end self.note.split

    end # yem_cache_baseitem_io

     

    end # RPG::BaseItem

    #===============================================================================

    # Scene_Title

    #===============================================================================

    class Scene_Title < Scene_Base

     

    #--------------------------------------------------------------------------

    # alias method: load_bt_database

    #--------------------------------------------------------------------------

    alias load_bt_database_io load_bt_database unless $@

    def load_bt_database

    load_bt_database_io

    load_io_cache

    end

     

    #--------------------------------------------------------------------------

    # alias method: load_database

    #--------------------------------------------------------------------------

    alias load_database_io load_database unless $@

    def load_database

    load_database_io

    load_io_cache

    end

     

    #--------------------------------------------------------------------------

    # new method: load_io_cache

    #--------------------------------------------------------------------------

    def load_io_cache

    groups = [$data_items, $data_weapons, $data_armors]

    for group in groups

    for obj in group

    next if obj == nil

    obj.yem_cache_baseitem_io if obj.is_a?(RPG::BaseItem)

    end

    end

    end

     

    end # Scene_Title

    #===============================================================================

    # Window_ItemStatus

    #===============================================================================

    class Window_ItemStatus < Window_Base

     

    #--------------------------------------------------------------------------

    # initialize

    #--------------------------------------------------------------------------

    def initialize

    super(160, 0, Graphics.width - 160, 128)

    refresh

    end

     

    #--------------------------------------------------------------------------

    # refresh

    #--------------------------------------------------------------------------

    def refresh

    self.contents.clear

    @item = @item_window == nil ? nil : @item_window.item

    draw_item

    draw_party_members

    end

     

    #--------------------------------------------------------------------------

    # set_item_window

    #--------------------------------------------------------------------------

    def set_item_window(new_item_window)

    @item_window = new_item_window

    update

    end

     

    #--------------------------------------------------------------------------

    # update

    #--------------------------------------------------------------------------

    def update

    super

    return if @item_window == nil

    refresh if @item != @item_window.item

    end

     

    #--------------------------------------------------------------------------

    # draw_item

    #--------------------------------------------------------------------------

    def draw_item

    return if @item == nil

    draw_icon(@item.icon_index, 0, 0)

    self.contents.draw_text(24, 0, contents.width-28, WLH, @item.name, 0)

    end

     

    #--------------------------------------------------------------------------

    # draw_party_members

    #--------------------------------------------------------------------------

    def draw_party_members

    $game_temp.in_battle = true

    size = $game_party.members.size

    dx = (contents.width - (size * 64))/2 + 32

    dy = contents.height * 3/4

    for member in $game_party.members

    next if member == nil

    draw_member(member, dx, dy)

    dx += 64

    end

    $game_temp.in_battle = false

    end

     

    #--------------------------------------------------------------------------

    # draw_member

    #--------------------------------------------------------------------------

    def draw_member(actor, dx, dy)

    bitmap = Cache.character(actor.character_name)

    sign = actor.character_name[/^[\!\$]./]

    if sign != nil and sign.include?('$')

    cw = bitmap.width / 3

    ch = bitmap.height / 4

    else

    cw = bitmap.width / 12

    ch = bitmap.height / 8

    end

    n = actor.character_index

    src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)

    if @item.is_a?(RPG::Weapon) or @item.is_a?(RPG::Armor)

    opacity = actor.equippable?(@item) ? 255 : 128

    elsif @item.is_a?(RPG::Item)

    opacity = @item.for_friend? ? 255 : 128

    else

    opacity = 255

    end

    self.contents.blt(dx - cw / 2, dy - ch, bitmap, src_rect, opacity)

    end

     

    end # Window_ItemStatus

    #===============================================================================

    # Window_ItemList

    #===============================================================================

    class Window_ItemList < Window_Selectable

     

    #--------------------------------------------------------------------------

    # initialize

    #--------------------------------------------------------------------------

    def initialize(help_window)

    @help_window = help_window

    dy = @help_window.y + @help_window.height

    super(0, dy, Graphics.width - 240, Graphics.height - dy)

    refresh

    self.active = false

    self.index = 0

    end

     

    #--------------------------------------------------------------------------

    # item

    #--------------------------------------------------------------------------

    def item; return @data[[self.index, 0].max]; end

     

    #--------------------------------------------------------------------------

    # used_item_refresh

    #--------------------------------------------------------------------------

    def used_item_refresh(array)

    for item in array

    next if item == nil

    next unless @data.include?(item)

    refresh

    break

    end

    end

     

    #--------------------------------------------------------------------------

    # refresh

    #--------------------------------------------------------------------------

    def refresh

    @data = []

    for item in $game_party.items

    next unless include?(item)

    @data.push(item)

    end

    @data.push(nil) if @data.size <= 0

    @item_max = @data.size

    self.index = [self.index, @item_max - 1].min

    create_contents

    for i in 0...@item_max; draw_item(i); end

    end

     

    #--------------------------------------------------------------------------

    # include?

    #--------------------------------------------------------------------------

    def include?(item)

    return false if item == nil

    return false if item.name == ""

    return false unless item.is_a?(RPG::Item)

    return item.menu_ok?

    end

     

    #--------------------------------------------------------------------------

    # draw_item

    #--------------------------------------------------------------------------

    def draw_item(index)

    rect = item_rect(index)

    self.contents.clear_rect(rect)

    item = @data[index]

    return if item == nil

    enabled = enable?(item)

    draw_obj_name(item, rect.clone, enabled)

    draw_obj_charges(item, rect.clone, enabled)

    draw_obj_total(item, rect.clone, enabled)

    end

     

    #--------------------------------------------------------------------------

    # enable?

    #--------------------------------------------------------------------------

    def enable?(item)

    return false if item == nil

    return $game_party.has_item?(item)

    end

     

    #--------------------------------------------------------------------------

    # new method: draw_obj_name

    #--------------------------------------------------------------------------

    def draw_obj_name(obj, rect, enabled)

    draw_icon(obj.icon_index, rect.x, rect.y, enabled)

    self.contents.font.size = Font.default_size

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = enabled ? 255 : 128

    rect.width -= 48

    self.contents.draw_text(rect.x+24, rect.y, rect.width-24, WLH, obj.name)

    end

     

    #--------------------------------------------------------------------------

    # new method: draw_obj_charges

    #--------------------------------------------------------------------------

    def draw_obj_charges(obj, rect, enabled)

    return unless $imported["BattleEngineMelody"]

    return unless obj.is_a?(RPG::Item)

    return unless obj.consumable

    return if obj.charges <= 1

    $game_party.item_charges = {} if $game_party.item_charges == nil

    $game_party.item_charges[obj.id] = obj.charges if

    $game_party.item_charges[obj.id] == nil

    charges = $game_party.item_charges[obj.id]

    dx = rect.x; dy = rect.y + WLH/3

    self.contents.font.size = YEM::BATTLE_ENGINE::ITEM_SETTINGS[:charge]

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = enabled ? 255 : 128

    self.contents.draw_text(dx, dy, 24, WLH * 2/3, charges, 2)

    self.contents.font.size = Font.default_size

    end

     

    #--------------------------------------------------------------------------

    # new method: draw_obj_total

    #--------------------------------------------------------------------------

    def draw_obj_total(obj, rect, enabled)

    if $imported["BattleEngineMelody"]

    hash = YEM::BATTLE_ENGINE::ITEM_SETTINGS

    else

    hash ={ :size => Font.default_size, :colour => 0, :text => "×%2d" }

    end

    number = $game_party.item_number(obj)

    dx = rect.x + rect.width - 36; dy = rect.y; dw = 32

    text = sprintf(hash[:text], number)

    self.contents.font.size = hash[:size]

    self.contents.font.color = text_color(hash[:colour])

    self.contents.font.color.alpha = enabled ? 255 : 128

    self.contents.draw_text(dx, dy, dw, WLH, text, 2)

    end

     

    #--------------------------------------------------------------------------

    # update_help

    #--------------------------------------------------------------------------

    def update_help

    @help_window.set_text(item == nil ? "" : item.description)

    end

     

    end # Window_ItemList

    #===============================================================================

    # Window_BattleItemList

    #===============================================================================

    class Window_BattleItemList < Window_ItemList

     

    #--------------------------------------------------------------------------

    # include?

    #--------------------------------------------------------------------------

    def include?(item)

    return false if item == nil

    return false if item.name == ""

    return false unless item.is_a?(RPG::Item)

    return false if item.menu_ok?

    return item.battle_ok?

    end

     

    end # Window_BattleItemList

    #===============================================================================

    # Window_WeaponItemList

    #===============================================================================

    class Window_WeaponItemList < Window_ItemList

     

    #--------------------------------------------------------------------------

    # include?

    #--------------------------------------------------------------------------

    def include?(item)

    return false if item == nil

    return false if item.name == ""

    return item.is_a?(RPG::Weapon)

    end

     

    end # Window_WeaponItemList

    #===============================================================================

    # Window_ArmourItemList

    #===============================================================================

    class Window_ArmourItemList < Window_ItemList

     

    #--------------------------------------------------------------------------

    # include?

    #--------------------------------------------------------------------------

    def include?(item)

    return false if item == nil

    return false if item.name == ""

    return item.is_a?(RPG::Armor)

    end

     

    end # Window_ArmourItemList

    #===============================================================================

    # Window_MiscItemList

    #===============================================================================

    class Window_MiscItemList < Window_ItemList

     

    #--------------------------------------------------------------------------

    # include?

    #--------------------------------------------------------------------------

    def include?(item)

    return false if item == nil

    return false if item.name == ""

    return false if item.is_a?(RPG::Weapon)

    return false if item.is_a?(RPG::Armor)

    return false if item.menu_ok?

    return false if item.battle_ok?

    return false if item.key_item

    return true

    end

     

    end # Window_MiscItemList

    #===============================================================================

    # Window_KeyItemList

    #===============================================================================

    class Window_KeyItemList < Window_ItemList

     

    #--------------------------------------------------------------------------

    # include?

    #--------------------------------------------------------------------------

    def include?(item)

    return false if item == nil

    return false if item.name == ""

    return item.key_item

    end

     

    end # Window_KeyItemList

    #===============================================================================

    # Window_AllItemList

    #===============================================================================

    class Window_AllItemList < Window_ItemList

     

    #--------------------------------------------------------------------------

    # include?

    #--------------------------------------------------------------------------

    def include?(item)

    return false if item == nil

    return false if item.name == ""

    return true

    end

     

    end # Window_AllItemList

    #===============================================================================

    # Window_ItemData

    #===============================================================================

    class Window_ItemData < Window_Base

     

    #--------------------------------------------------------------------------

    # initialize

    #--------------------------------------------------------------------------

    def initialize(help_window)

    dy = help_window.y + help_window.height

    super(Graphics.width - 240, dy, 240, Graphics.height - dy)

    create_clone

    end

     

    #--------------------------------------------------------------------------

    # create_clone

    #--------------------------------------------------------------------------

    def create_clone

    @clone = Game_Actor.new(1)

    @clone.maxhp = @clone.base_maxhp

    @clone.maxmp = @clone.base_maxmp

    @clone.atk = @clone.base_atk

    @clone.def = @clone.base_def

    @clone.spi = @clone.base_spi

    @clone.res = @clone.base_res if $imported["RES Stat"]

    @clone.dex = @clone.base_dex if $imported["DEX Stat"]

    @clone.agi = @clone.base_agi

    end

     

    #--------------------------------------------------------------------------

    # set_item_window

    #--------------------------------------------------------------------------

    def set_item_window(new_item_window)

    @item_window = new_item_window

    update

    end

     

    #--------------------------------------------------------------------------

    # update

    #--------------------------------------------------------------------------

    def update

    super

    return if @item_window == nil

    refresh if @item != @item_window.item

    end

     

    #--------------------------------------------------------------------------

    # refresh

    #--------------------------------------------------------------------------

    def refresh

    self.contents.clear

    @item = @item_window.item

    return if @item == nil

    dx = 0; dy = 0

    dy = draw_item_name(dy)

    if @item.is_a?(RPG::Item)

    @hash = YEM::ITEM::ITEM_DATA

    dy = draw_item_properties(dy)

    elsif @item.is_a?(RPG::Weapon) or @item.is_a?(RPG::Armor)

    @hash = YEM::ITEM::EQUIP_DATA

    dy = draw_equip_properties(dy)

    end

    end

     

    #--------------------------------------------------------------------------

    # draw_item_name

    #--------------------------------------------------------------------------

    def draw_item_name(dy)

    draw_icon(@item.icon_index, 0, dy)

    self.contents.font.size = Font.default_size

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, @item.name)

    dy += WLH

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_item_properties

    #--------------------------------------------------------------------------

    def draw_item_properties(dy)

    dy = draw_properties(dy)

    dy = draw_item_value(dy)

    dy = draw_healing_properties(dy)

    dy = draw_base_damage(dy)

    dy = draw_multipliers(dy)

    dy = draw_elements(dy)

    dy = draw_plus_states(dy)

    dy = draw_minus_states(dy)

    dy = draw_item_growth(dy)

    dy = draw_custom_data(dy)

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_equip_properties

    #--------------------------------------------------------------------------

    def draw_equip_properties(dy)

    dy = draw_properties(dy)

    dy = draw_item_value(dy)

    dy = draw_equip_stats(dy)

    dy = draw_elements(dy)

    dy = draw_states(dy)

    dy = draw_custom_data(dy)

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_properties

    #--------------------------------------------------------------------------

    def draw_properties(dy)

    text = @hash[:properties]

    self.contents.font.size = @hash[:fontsize]

    self.contents.font.color = system_color

    self.contents.draw_text(4, dy, contents.width-8, WLH, text, 1)

    dy += WLH

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_item_value

    #--------------------------------------------------------------------------

    def draw_item_value(dy)

    return dy unless @hash[:gold_value]

    return dy if @item.price == 0

    draw_icon(Icon.gold_cost, 0, dy)

    text = YEM::ITEM::DRAW_GOLD_TEXT

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%d%s", @item.price, Vocab.gold)

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_healing_properties

    #--------------------------------------------------------------------------

    def draw_healing_properties(dy)

    return dy if dy + WLH > contents.height

    #---

    if @item.hp_recovery_rate != 0 or @item.hp_recovery != 0

    draw_icon(Icon.hp_heal, 0, dy)

    self.contents.font.color = system_color

    text = @hash[:hp_heal_text]

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    self.contents.font.color = normal_color

    if @item.hp_recovery_rate != 0 and @item.hp_recovery != 0

    text = sprintf("%+d%%", @item.hp_recovery_rate)

    self.contents.draw_text(24, dy, (contents.width-28)*2/3, WLH, text, 2)

    text = sprintf("%+d", @item.hp_recovery)

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    elsif @item.hp_recovery_rate != 0

    text = sprintf("%+d%%", @item.hp_recovery_rate)

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    elsif @item.hp_recovery != 0

    text = sprintf("%+d", @item.hp_recovery)

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    end

    dy += WLH

    end

    #---

    return dy if dy + WLH > contents.height

    #---

    if @item.mp_recovery_rate != 0 or @item.mp_recovery != 0

    draw_icon(Icon.mp_heal, 0, dy)

    self.contents.font.color = system_color

    text = @hash[:mp_heal_text]

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    self.contents.font.color = normal_color

    if @item.mp_recovery_rate != 0 and @item.mp_recovery != 0

    text = sprintf("%+d%%", @item.mp_recovery_rate)

    self.contents.draw_text(24, dy, (contents.width-28)*2/3, WLH, text, 2)

    text = sprintf("%+d", @item.mp_recovery)

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    elsif @item.mp_recovery_rate != 0

    text = sprintf("%+d%%", @item.mp_recovery_rate)

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    elsif @item.mp_recovery != 0

    text = sprintf("%+d", @item.mp_recovery)

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    end

    dy += WLH

    end

    #---

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_base_damage

    #--------------------------------------------------------------------------

    def draw_base_damage(dy)

    return dy if dy + WLH > contents.height

    return dy if (-5..5) === @item.base_damage

    if @item.base_damage > 0

    draw_icon(Icon.base_damage, 0, dy)

    text = @hash[:base_dmg]

    else

    draw_icon(Icon.base_healing, 0, dy)

    text = @hash[:base_heal]

    end

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    self.contents.font.color = normal_color

    text = (@item.base_damage).abs

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2); dy += WLH

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_multipliers

    #--------------------------------------------------------------------------

    def draw_multipliers(dy)

    return dy if dy + WLH > contents.height

    return dy if @item.base_damage == 0

    icon = @item.base_damage > 0 ? Icon.base_damage : Icon.base_healing

    #---

    if @item.atk_f > 0

    draw_icon(icon, 0, dy)

    text = sprintf(@hash[:multiplier], Vocab.atk)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%s%%", @item.atk_f)

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    #---

    return dy if dy + WLH > contents.height

    #---

    if $imported["BattleEngineMelody"] and @item.def_f > 0

    draw_icon(icon, 0, dy)

    text = sprintf(@hash[:multiplier], Vocab.def)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%s%%", @item.def_f)

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    #---

    return dy if dy + WLH > contents.height

    #---

    if @item.spi_f > 0

    draw_icon(icon, 0, dy)

    text = sprintf(@hash[:multiplier], Vocab.spi)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%s%%", @item.spi_f)

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    #---

    return dy if dy + WLH > contents.height

    #---

    if $imported["BattleEngineMelody"] and $imported["RES Stat"] and

    @item.res_f > 0

    draw_icon(icon, 0, dy)

    text = sprintf(@hash[:multiplier], Vocab.res)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%s%%", @item.res_f)

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    #---

    return dy if dy + WLH > contents.height

    #---

    if $imported["BattleEngineMelody"] and $imported["DEX Stat"] and

    @item.dex_f > 0

    draw_icon(icon, 0, dy)

    text = sprintf(@hash[:multiplier], Vocab.dex)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%s%%", @item.dex_f)

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    #---

    return dy if dy + WLH > contents.height

    #---

    if $imported["BattleEngineMelody"] and @item.agi_f > 0

    draw_icon(icon, 0, dy)

    text = sprintf(@hash[:multiplier], Vocab.agi)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%s%%", @item.agi_f)

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    #---

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_elements

    #--------------------------------------------------------------------------

    def draw_elements(dy)

    return dy if @item.element_set == []

    for element_id in YEM::ITEM::SHOWN_ELEMENTS

    break if dy + WLH > contents.height

    next unless @item.element_set.include?(element_id)

    draw_icon(Icon.element(element_id), 0, dy)

    text = @hash[:element] if @item.is_a?(RPG::Item)

    text = @hash[:ele_weapon] if @item.is_a?(RPG::Weapon)

    text = @hash[:ele_armour] if @item.is_a?(RPG::Armor)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = $data_system.elements[element_id]

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    return dy

    end

     

    #--------------------------------------------------------------------------

    # total_drawn_states

    #--------------------------------------------------------------------------

    def total_drawn_states(array)

    result = 0

    for state_id in array

    next if $data_states[state_id] == nil

    next if $data_states[state_id].icon_index == 0

    result += 1

    end

    return [result, 8].min

    end

     

    #--------------------------------------------------------------------------

    # draw_states

    #--------------------------------------------------------------------------

    def draw_states(dy)

    return dy if @item.state_set == []

    total = total_drawn_states(@item.state_set)

    if total == 1

    return dy if dy + WLH > contents.height

    state = $data_states[@item.state_set[0]]

    draw_icon(state.icon_index, 0, dy)

    text = @hash[:state_weapon] if @item.is_a?(RPG::Weapon)

    text = @hash[:state_armour] if @item.is_a?(RPG::Armor)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = state.name

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    else

    return dy if dy + WLH*2 > contents.height

    text = @hash[:state_weapon] if @item.is_a?(RPG::Weapon)

    text = @hash[:state_armour] if @item.is_a?(RPG::Armor)

    self.contents.font.color = system_color

    self.contents.draw_text(4, dy, contents.width-8, WLH, text, 1)

    dy += WLH

    dx = (contents.width - total*24)/2

    for state_id in @item.state_set

    break if dx + 24 > contents.width

    state = $data_states[state_id]

    next if state.icon_index == 0

    draw_icon(state.icon_index, dx, dy)

    dx += 24

    end

    end

    dy += WLH

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_plus_states

    #--------------------------------------------------------------------------

    def draw_plus_states(dy)

    return dy if @item.plus_state_set == []

    total = total_drawn_states(@item.plus_state_set)

    if total == 1

    return dy if dy + WLH > contents.height

    state = $data_states[@item.plus_state_set[0]]

    draw_icon(state.icon_index, 0, dy)

    text = @hash[:add_state]

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = state.name

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    else

    return dy if dy + WLH*2 > contents.height

    text = @hash[:add_state]

    self.contents.font.color = system_color

    self.contents.draw_text(4, dy, contents.width-8, WLH, text, 1)

    dy += WLH

    dx = (contents.width - total*24)/2

    for state_id in @item.plus_state_set

    break if dx + 24 > contents.width

    state = $data_states[state_id]

    next if state.icon_index == 0

    draw_icon(state.icon_index, dx, dy)

    dx += 24

    end

    end

    dy += WLH

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_minus_states

    #--------------------------------------------------------------------------

    def draw_minus_states(dy)

    return dy if @item.minus_state_set == []

    total = total_drawn_states(@item.minus_state_set)

    if total == 1

    return dy if dy + WLH > contents.height

    state = $data_states[@item.minus_state_set[0]]

    draw_icon(state.icon_index, 0, dy)

    text = @hash[:rem_state]

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = state.name

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    else

    return dy if dy + WLH*2 > contents.height

    text = @hash[:rem_state]

    self.contents.font.color = system_color

    self.contents.draw_text(4, dy, contents.width-8, WLH, text, 1)

    dy += WLH

    dx = (contents.width - total*24)/2

    for state_id in @item.minus_state_set

    break if dx + 24 > contents.width

    state = $data_states[state_id]

    next if state.icon_index == 0

    draw_icon(state.icon_index, dx, dy)

    dx += 24

    end

    end

    dy += WLH

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_item_growth

    #--------------------------------------------------------------------------

    def draw_item_growth(dy)

    #---

    if @item.parameter_type != 0

    case @item.parameter_type

    when 1; text = sprintf(@hash[:growth], Vocab.hp)

    when 2; text = sprintf(@hash[:growth], Vocab.mp)

    when 3; text = sprintf(@hash[:growth], Vocab.atk)

    when 4; text = sprintf(@hash[:growth], Vocab.def)

    when 5; text = sprintf(@hash[:growth], Vocab.spi)

    when 6; text = sprintf(@hash[:growth], Vocab.agi)

    end

    draw_icon(@item.icon_index, 0, dy)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%+d", @item.parameter_points)

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    #---

    if $imported["StatusMenuMelody"]

    for stat in [:hp, :mp, :atk, :def, :spi, :res, :dex, :agi]

    return dy if dy + WLH > contents.height

    next if stat == :res and !$imported["RES Stat"]

    next if stat == :dex and !$imported["DEX Stat"]

    next if @item.stat_growth[stat] == 0 or @item.stat_growth[stat] == nil

    text = sprintf(@hash[:growth], eval("Vocab." + stat.to_s))

    draw_icon(@item.icon_index, 0, dy)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%+d", @item.stat_growth[stat])

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    end

    #---

    if $imported["BattleEngineMelody"]

    growth = []

    for key in @item.element_growth

    growth.push(key[0]) if YEM::ITEM::SHOWN_ELEMENTS.include?(key[0])

    end

    growth.sort!

    for element_id in growth

    return dy if dy + WLH > contents.height

    icon = Icon.element(element_id)

    next if icon == 0

    draw_icon(icon, 0, dy)

    text = sprintf(@hash[:resist], $data_system.elements[element_id])

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%+d%%", -@item.element_growth[element_id])

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    end

    #---

    if $imported["BattleEngineMelody"]

    growth = []

    for key in @item.state_growth

    growth.push(key[0])

    end

    growth.sort!

    for state_id in growth

    return dy if dy + WLH > contents.height

    state = $data_states[state_id]

    next if state == nil

    icon = state.icon_index

    next if icon == 0

    draw_icon(icon, 0, dy)

    text = sprintf(@hash[:resist], state.name)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%+d%%", -@item.state_growth[state_id])

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    end

    #---

    if $imported["EquipmentOverhaul"]

    for stat in [:hp, :mp, :atk, :def, :spi, :res, :dex, :agi]

    return dy if dy + WLH > contents.height

    next if stat == :res and !$imported["RES Stat"]

    next if stat == :dex and !$imported["DEX Stat"]

    next if @item.apt_growth[stat] == 0 or @item.apt_growth[stat] == nil

    text = sprintf(@hash[:bonus], eval("Vocab." + stat.to_s))

    draw_icon(@item.icon_index, 0, dy)

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = sprintf("%+d%%", @item.apt_growth[stat])

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    end

    #---

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_equip_stats

    #--------------------------------------------------------------------------

    def draw_equip_stats(dy)

    dx = 0

    array = [:hp, :mp, :atk, :def, :spi, :res, :dex, :agi]

    for stat in @hash[:shown_stats]

    return if dy + WLH > contents.height

    next if stat == :res and !$imported["RES Stat"]

    next if stat == :dex and !$imported["DEX Stat"]

    next if [:hp, :mp].include?(stat) and !$imported["EquipmentOverhaul"]

    next unless array.include?(stat)

    draw_icon(Icon.stat(@clone, stat), dx, dy)

    text = eval("Vocab." + stat.to_s)

    self.contents.font.color = system_color

    self.contents.draw_text(dx+24, dy, contents.width/2-28, WLH, text, 0)

    stat_text = stat.to_s

    stat_text = "max" + stat_text if ["hp", "mp"].include?(stat_text)

    item_value = eval("@item." + stat_text)

    text = sprintf("%+d", item_value)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = item_value == 0 ? 128 : 255

    self.contents.draw_text(dx+24, dy, contents.width/2-28, WLH, text, 2)

    if dx == 0

    dx = contents.width/2

    else

    dx = 0

    dy += WLH

    end

    end

    dy += WLH if dx != 0

    return dy

    end

     

    #--------------------------------------------------------------------------

    # draw_custom_data

    #--------------------------------------------------------------------------

    def draw_custom_data(dy)

    return dy if @item.custom_data == []

    for array in @item.custom_data

    break if dy + WLH > contents.height

    draw_icon(array[0], 0, dy)

    text = array[1]

    self.contents.font.color = system_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 0)

    text = array[2]

    self.contents.font.color = normal_color

    self.contents.draw_text(24, dy, contents.width-28, WLH, text, 2)

    dy += WLH

    end

    return dy

    end

     

    end # Window_ItemData

    #===============================================================================

    # Scene_Item

    #===============================================================================

    class Scene_Item < Scene_Base

    #--------------------------------------------------------------------------

    # overwrite method: start

    #--------------------------------------------------------------------------

    def start

    super

    create_menu_background

    @viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)

    @help_window = Window_Help.new

    @help_window.viewport = @viewport

    @help_window.y = 128

    @data_window = Window_ItemData.new(@help_window)

    @data_window.viewport = @viewport

    @windows = []

    @target_window = Window_MenuStatus.new(0, 0)

    @target_window.visible = false

    @target_window.active = false

    @status_window = Window_ItemStatus.new

    @status_window.viewport = @viewport

    create_command_window

    update_windows

    end

     

    #--------------------------------------------------------------------------

    # new method: create_command_window

    #--------------------------------------------------------------------------

    def create_command_window

    commands = []; @data = []

    for command in YEM::ITEM::COMMANDS

    case command

    when :usable

    @usable_window = Window_ItemList.new(@help_window)

    @windows.push(@usable_window)

    when :battle

    @battle_window = Window_BattleItemList.new(@help_window)

    @windows.push(@battle_window)

    when :weapons

    @weapon_window = Window_WeaponItemList.new(@help_window)

    @windows.push(@weapon_window)

    when :armours

    @armour_window = Window_ArmourItemList.new(@help_window)

    @windows.push(@armour_window)

    when :misc

    @misc_window = Window_MiscItemList.new(@help_window)

    @windows.push(@misc_window)

    when :key_items

    @key_item_window = Window_KeyItemList.new(@help_window)

    @windows.push(@key_item_window)

    when :all_items

    @all_item_window = Window_AllItemList.new(@help_window)

    @windows.push(@all_item_window)

    else; next

    end

    @data.push(command)

    if YEM::ITEM::VOCAB[command] != nil

    commands.push(YEM::ITEM::VOCAB[command])

    end

    end

    for window in @windows

    next if window == nil?

    window.active = false

    window.viewport = @viewport

    window.help_window = @help_window if window.is_a?(Window_Selectable)

    end

    @command_window = Window_Command_Centered.new(160, commands)

    @command_window.viewport = @viewport

    @command_window.height = 128

    @command_window.active = true

    end

     

    #--------------------------------------------------------------------------

    # new method: update_windows

    #--------------------------------------------------------------------------

    def update_windows

    @last_command_index = @command_window.index

    @help_window.y = Graphics.height*8

    @data_window.y = Graphics.height*8

    for window in @windows

    next if window == nil

    window.y = Graphics.height*8

    end

    #---

    case @data[@command_window.index]

    when :usable

    show_item_windows(@usable_window)

    when :battle

    show_item_windows(@battle_window)

    when :weapons

    show_item_windows(@weapon_window)

    when :armours

    show_item_windows(@armour_window)

    when :misc

    show_item_windows(@misc_window)

    when :key_items

    show_item_windows(@key_item_window)

    when :all_items

    show_item_windows(@all_item_window)

    end

    end

     

    #--------------------------------------------------------------------------

    # overwrite method: terminate

    #--------------------------------------------------------------------------

    def terminate

    super

    dispose_menu_background

    @help_window.dispose

    @command_window.dispose

    @status_window.dispose

    for window in @windows

    next if window == nil

    next if window.disposed?

    window.dispose

    end

    @viewport.dispose

    end

     

    #--------------------------------------------------------------------------

    # overwrite method: update

    #--------------------------------------------------------------------------

    def update

    super

    update_menu_background

    if @command_window.active

    update_command_selection

    elsif @target_window.active

    update_target_selection

    elsif @item_window != nil and @item_window.active

    update_item_selection

    end

    end

     

    #--------------------------------------------------------------------------

    # new method: update_command_selection

    #--------------------------------------------------------------------------

    def update_command_selection

    @command_window.update

    update_windows if @last_command_index != @command_window.index

    if Input.trigger?(Input::B)

    Sound.play_cancel

    return_scene

    elsif Input.trigger?(Input::C)

    Sound.play_decision

    @command_window.active = false

    case @data[@command_window.index]

    when :usable, :battle, :weapons, :armours, :misc, :key_items, :all_items

    @item_window.active = true

    end

    end

    end

     

    #--------------------------------------------------------------------------

    # new method: show_usable_windows

    #--------------------------------------------------------------------------

    def show_item_windows(window)

    @help_window.y = 128

    @data_window.set_item_window(window)

    @status_window.set_item_window(window)

    @data_window.y = @help_window.y + @help_window.height

    window.y = @data_window.y

    window.update_help

    @item_window = window

    end

     

    #--------------------------------------------------------------------------

    # overwrite method: update_item_selection

    #--------------------------------------------------------------------------

    def update_item_selection

    @status_window.update

    @item_window.update

    @data_window.update

    if Input.trigger?(Input::B)

    Sound.play_cancel

    @item_window.active = false

    @command_window.active = true

    return unless @item_used

    for window in @windows

    next unless window.is_a?(Window_ItemList)

    window.used_item_refresh(@item_used)

    end

    @item_used = []

    elsif Input.trigger?(Input::C)

    @item = @item_window.item

    if enable_item?

    Sound.play_decision

    determine_item

    end

    end

    end

     

    #--------------------------------------------------------------------------

    # new method: enable_item?

    #--------------------------------------------------------------------------

    def enable_item?

    return false unless @item.is_a?(RPG::Item)

    return false unless @item.menu_ok?

    return false unless @item_window.enable?(@item)

    return true

    end

     

    #--------------------------------------------------------------------------

    # alias method: update_target_selection

    #--------------------------------------------------------------------------

    alias update_target_selection_io update_target_selection unless $@

    def update_target_selection

    @target_window.update

    update_target_selection_io

    end

     

    #--------------------------------------------------------------------------

    # alias method: show_target_window

    #--------------------------------------------------------------------------

    alias show_target_window_io show_target_window unless $@

    def show_target_window(right)

    show_target_window_io(true)

    end

     

    #--------------------------------------------------------------------------

    # alias method: use_item_nontarget

    #--------------------------------------------------------------------------

    alias use_item_nontarget_io use_item_nontarget unless $@

    def use_item_nontarget

    @item_used = [] if @item_used == nil

    @item_used.push(@item) unless @item_used.include?(@item)

    use_item_nontarget_io

    @status_window.refresh

    end

     

    end # Scene_Base

    #===============================================================================

    #

    # END OF FILE

    #

    #===============================================================================

     

     

    *wahuu!*

  11. Peccato per i progetti morti... *si commuove* XD

    Comunque alcune chicche dell' Xp sono state rimesse nel VX Ace. Controlla pure quello; è il più nuovo!

    Comunque... Benvenuto! Ti prego, non farci piangere, già il making italiano non è il massimo...

    Impegnati a fondo e presentaci un buon progetto! Già, a volte penso anche io che non verrà bello, ma bisogna sempre osservare ciò che si sforna!

    E se cerchi aiuto o vuoi darlo nell'RPG Making... Sei nel posto giusto!

  12. come faccio a non far vedere l'eroe nell'intro ma poi per tutto il resto del gioco sì

    Semplice;

    inanzitutto si potrebbe già nascondere tramite un evento a inizio automatico, ma così si vedrebbe per un millisecondo l'eroe:

    Per non farlo vedere proprio basta andare in Database -> Sistema (il penultimo comando in alto) -> Party iniziale (o il quadratino in alto a sinistra), quindi seleziona un eroe e premi CANC; fai così con tutti gli altri.

    Così non ci sarà nessun eroe.

    Però, devi aggiungere gli eroi al momento giusto per l'avventura; vai all'evento iniziale dell'intro con tutte le parlate ecc.

    quindi prima del 'mostra schermo' che ti ho suggerito io devi mettere i comandi evento per aggiungere gli eroi che devono essere in squadra. Il comando evento è Cambia Membri Gruppo (se non hai la mia stessa traduzione è quello alla 5a posizione, a partire dall'alto a destra. Tramite quel comando puoi aggiungere o rimuovere eroi; in questo caso devi settare il comando evento in modo che vengano aggiunti gli eroi iniziali, uno per volta. E all'inizio non ti troverai personaggi; e a inizio partita sì.

    Spero di essere stato chiaro! *wahuu!*

  13. Semplice errore del maker.

    Ti sei dimenticato di mettere il comando evento "Mostra Schermo".

    Allora, dopo ogni comando "Trasporto", oppure dopo il fine SE, devi inserire questo comando, che si trova a Pag.2.

    Se non hai la mia traduzione si trova, a partire dall'alto a sinistra e scendendo verso il basso, al dodicesimo posto.

    Capita ;)

    Se il problema non si risolve, scrivilo e vedrò come aggiustare :)

  14. Ultima Domanda, mentre combatto si può nascondere "Attacca" e "Difendi" in modo che si visualizzano solo "Speciale" ed "Oggetti"?

    Purtroppo solo tramite modifiche agli script.

    Però non mi sembra difficile: poi vedo se riesco a fare qualche modifica agli script per quello che vuoi tu.

    Adesso non posso perché sto scrivendo al tablet e c'ho un sonno gigante XD

    Il problema è anche (forse) che ho smanettato in Glossario>Tipi di abilità

    PS.No, non c'entra niente che hai smanettato un po su Tipi di abilità!

    Per il resto, problema risolto?

  15. Credo di aver capito: Qual'è l'ID dell'abilità di cui hai fatto lo schreenshot?

    Perchè non deve essere 1 o 2!

    EDIT: Ecco perchè non ti funziona!

    Le abilità 1 e 2 sono utilizzate per l'attacco normale e per la difesa (rispettivamente).

    Ma per le tecniche o abilità speciali bisogna usare altri ID, se no è ovvio che le tue abilità non vengano mostrate!

    Infatti, nello schreenshot noto che una delle tue abilità ha ID 1!

    Usa tutti gli ID tranne 1 e 2, per le abilità personalizzate/speciali!

  16. Sei sicuro di aver settato tutto?

    Se devono essere di default devi settarle in classi -> abilità.

    In uno di quei spazi vuoti facci doppio click e seleziona l'abilità da far imparare a che livello e quale.

    Poi sei sicuro che il personaggio abbia la classe giusta?

    Poi credo che sia impossibile che non escano le abilità all'eroe tramite eventi.

    Per forza avrai sbagliato qualcosa.

    PS. Per richieste semplici come questa usa lo Sportello Aiuti Veloci VX-Ace, evitiamo di fare topic inutili.

×
×
  • Create New...