Jump to content
Rpg²S Forum

LastChaos

Utenti
  • Posts

    149
  • Joined

  • Last visited

Posts posted by LastChaos

  1. Sono molto interessanti sia lo script "Follower Options" che "Follower control". Comunque non diventano per forza bare! hahahaha

    Li userei subito se non fosse per il fatto che vanno in conflitto con altri script, quindi siccome non mi va di ri-editare 30000 eventi per due script nuovi... utilizzerò l'altro mio metodo ad eventi! XD Grazie comunque!! Li terrò a mente per un prossimo (ipotetico) progetto! P

     

     

    altrimenti me la cavo semplicemente facendo tornare il PG morto da 0 a 1 PV e così continua a camminarmi dietro XD
  2. è stato difficile trovare un titolo adatto!

    Praticamente sto facendo in modo che quando un eroe del gruppo muore (non l'eroe principale, ma i suoi compagni), esso sparisce da dietro l'eroe mentre si cammina in mappa (i morti non camminano) ù.ù. Finchè ci sono due eroi nel gruppo, la questione è facile, perchè rimane solo l'eroe principale.

    Ma se avessi 3+ eroi nel gruppo, ciò diventerebbe impossibile. (Scontato dire che neanche tramite evento e aggiungendo o rimuovendo membri del gruppo la cosa si risolva; cioè, il compagno sparirà dalla coda, ma ovviamente sparisce anche dal gruppo e non combatterà più! ù.ù).

    Esiste uno script che possa servire al mio scopo? Non so proprio come cercarlo... sempre se esiste xD

    (altrimenti me la cavo semplicemente facendo tornare il PG morto da 0 a 1 PV e così continua a camminarmi dietro XD)

    Grazie in anticipo! :D

  3. Le carte da giocare le hai, tutte noi le abbiamo!
    Io ad esempio prendo molto sul serio il mio progetto e sto scrivendo persino la sceneggiatura! Poi la notte (non so perchè) ma è il momento migliore per sognare come far avanzare la storia, e ti escono decine di idee, che, o ti segni subito, o cerchi di ricordartele al mattino successivo e te le scrivi! XD
    Non buttare nulla di quello che ti viene in mente, fai una specie di Brainstorming da solo e quello che pensi, te lo segni! ;)

    Poi cerchi di vedere se si integra con il gioco o meno.

    Vedrai che poi le idee che ti usciranno, ti faranno scegliere fra mille vie in cui continuare il gioco! XD

    Non demordere! ( io sul mio progetto ci lavoro da piu di un anno... :O )

  4. Aaaaallora, ho scaricato la demo e l'ho provata!
    Di certo non scriverò tutti i bug che ho trovato perchè non me li sono segnati e probabilmente me ne scorderò qualcuno! XD

    1)Parecchi errori nei messaggi (E maiuscole accentate con l'apostrofo, frasi che finiscono senza il punto, parole che non dovrebbe avere l'accento finale, scritte a volte tagliate [ti consiglio di usare questo script]

     

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

    # ** Word Wrapping Message Boxes, by: KilloZapit
    #------------------------------------------------------------------------
    # Changes message boxes so it will automatically wrap long lines.
    #
    # Note: I consider this script to be public domain, and put no
    # restrictions on it's use whatsoever. My only request is that
    # a link back to the script is provided so more people can
    # access it if they want to.
    #
    # Version the Second:
    # Now strips color codes and icon codes so they don't break words.
    # Also calculates icon width along with text width for words.
    # Version the Third:
    # Now also strips delays and other timing related codes.
    # Splits for non-icon control codes before counting icons.
    # Control codes can now break lines in case of font changes.
    # Added some comments to clarify some code.
    # Version the Forth:
    # Fixed a small bug that might cause a error when counting icons.
    # Added a small notice for copyright questions.
    # Version the Fifth:
    # Added "collapse" mode, which elimanates extra spaces.
    # Can now use "whitespace" mode outside of wordwrap mode if needed.
    # Version the Sixth:
    # Fixed problems with collapsed whitespace not wraping words right.
    # Version the Seventh:
    # Added option to add a margin to the right hand side of the window.
    #------------------------------------------------------------------------
    # Also adds the following new escape sequences:
    #
    # \ww - Word Wrap: turns word wrap on if it's off
    # \nw - No Wrap: Turns word wrap off
    # \ws - WhiteSpace mode: Converts newlines to spaces (like HTML)
    # \nl - New Line: Preserves hard returns
    # \cs - Collapse whiteSpace: Eliminates extra spaces (also like HTML)
    # \pre - PRE-formatted: Preserves spaces
    # \br - line BRake: manual newline for whitespace mode
    # \rm - Right Margin: extra space on the right side of the window
    #========================================================================

    # Standard config module.
    module KZIsAwesome
    module WordWrap

    # change this if you don't want wordwrap on by default.
    DEFAULT_WORDWRAP = true

    # change this if you want white space mode on by default.
    DEFAULT_WHITESPACE = false

    # change this if you want white space mode on by default.
    DEFAULT_COLLAPSE = true

    # change this to add a right margin to the window.
    DEFAULT_RIGHT_MARGIN = 0

    end
    end

    class Window_Base < Window
    include KZIsAwesome::WordWrap

    alias_method :initialize_kz_window_base, :initialize
    def initialize(x, y, width, height)
    initialize_kz_window_base(x, y, width, height)
    @wordwrap = DEFAULT_WORDWRAP
    @convert_newlines = DEFAULT_WHITESPACE
    @collapse_whitespace = DEFAULT_COLLAPSE
    @right_margin = DEFAULT_RIGHT_MARGIN
    @lastc = "\n"
    end

    alias_method :process_character_kz_window_base, :process_character
    def process_character(c, text, pos)
    c = ' ' if @convert_newlines && c == "\n"
    if @wordwrap && c =~ /[ \t]/
    c = '' if @collapse_whitespace && @lastc =~ /[\s\n\f]/
    if pos[:x] + get_next_word_size(c, text) > contents.width - @right_margin
    process_new_line(text, pos)
    else
    process_normal_character(c, pos)
    end
    @lastc = c
    else
    @lastc = c
    process_character_kz_window_base(c, text, pos)
    end
    end

    def get_next_word_size(c, text)
    # Split text by the next space/line/page and grab the first split
    nextword = text.split(/[\s\n\f]/, 2)[0]
    if nextword
    icons = 0
    if nextword =~ /\e/i
    # Get rid of color codes and YEA Message system outline colors
    nextword = nextword.split(/\e[oOcC]+\[\d*\]/).join
    # Get rid of message timing control codes
    nextword = nextword.split(/\e[\.\|\^<>!]/).join
    # Split text by the first non-icon escape code
    # (the hH is for compatibility with the Icon Hues script)
    nextword = nextword.split(/\e[^iIhH]+/, 2)[0]
    # Erase and count icons in remaining text
    nextword.gsub!(/\e[iIhH]+\[[\d,]*\]/) do
    icons += 1
    ''
    end if nextword
    end
    wordsize = (nextword ? text_size(c + nextword).width : text_size( c ).width)
    wordsize += icons * 24
    else
    wordsize = text_size( c ).width
    end
    return wordsize
    end

    alias_method :process_escape_character_kz_window_base, :process_escape_character
    def process_escape_character(code, text, pos)
    case code.upcase
    when 'WW'
    @wordwrap = true
    when 'NW'
    @wordwrap = false
    when 'WS'
    @convert_newlines = true
    when 'NL'
    @convert_newlines = false
    when 'CS'
    @collapse_whitespace = true
    when 'PRE'
    @collapse_whitespace = false
    when 'BR'
    process_new_line(text, pos)
    @lastc = "\n"
    when 'RM'
    @right_margin = obtain_escape_param(text)
    else
    process_escape_character_kz_window_base(code, text, pos)
    end
    # Recalculate the next word size and insert line breaks
    # (Needed primarily for font changes)
    if pos[:x] + get_next_word_size('', text) > contents.width
    process_new_line(text, pos)
    end
    end

    end

     

    2) Sempre riguardo i messaggi, ad un certo punto del gioco, quando parto per l'avventura, il font cambia! Non so se è una scelta tua o meno.

    3) L'arma Ascia da Battaglia, si chiama "Acia da Battaglia"

    4) Mi sembra inutile chiedere ogni volta che devo aprire una porta se voglio uscire o meno.

    5)Il tempo per premere i pulsanti dei grimaldelli mi sembra troppo rapido! E se dovessi finire i grimaldelli? Game Over? Sarei bloccato permanentemente nella stanza XD.

    6)Non si vedono le porte quando entri nei 3 negozi in città.

    7)Mappe grandi e vuote purtroppo. Nel corridoio buttaci qualche pianta o qualcos'altro. Utilizza un tileset specifico per ogni mappa, e rinomini il tileset come il nome della mappa, così non ti impicci e ti organizzi per bene tutto quanto! La città è troppo vuota e la simmetria delle case non mi sembra tanto normale (ma forse solo io la penso cosi')
    8)Al posto di "MigliorEquip" metterei un bell'"Ottimizza"
    9) al di fuori della città l'ambiente è vuotissimo.

    10) Fai fare il passaggio giorno-->notte mentre lo schermo è oscurato, almeno non si vede di scatto come c'è nella demo.

    11)Anchio utilizzo il battle system di MOG (+ decine di script suoi). In battaglia stai attento a come si muovono i personaggi quando fanno un determinato attacco o stano fermi, e controlla le pictures (e lo script MOG_Battler_Motion)

    12)Io metterei una musichetta anche nel corridoio e nella città.

    La trama inizialmente mi sembra (e sicuramente da cui avrai preso spunto) simile a quella di Hunger Games! hahahah
    Comunque lavoraci sulla trama e cerca di tirare fuori belle cose con queste 5 divinità!

    Lavora MOLTO sulle mappe! ;)

    Ottimo l'easter egg del libro "The Lord Of The Rings" ! XD

    See you in the next Demo! :D

  5. Quando utilizzi uno Script creato da un autore, all'interno ci potrebbero essere delle funzioni che possono essere attivate in gioco tramite Call Script!

    Nel caso di uno script per il teletrasporto, l'autore può scrivere ad esempio:

    -> Per aprire il menù del teletrasporto, puoi utilizzare questo Call script: $Scene_call_teleport

     

    a questo punto quando inserisci un nuovo evento, vai nella terza pagina e in basso a destra c'è un pulsante (Script...)

    Clicca, ed inserisci $Scene_call_teleport come scritto dall'autore.

    a questo punto, mentre provi il gioco, attivando l'evento si aprirà il menù per il teletrasporto.

  6.  

     

     

    Ho utilizzato prima google e poi il Search avanzato nel forum ma non trovato nulla, quindi...

    Sei il più bello per questo ;____ ;

    Non sono il più bello, volevo solo evitare di fare un doppio post nel caso in cui un altro avesse postato tempo fa il mio stesso dubbio! XD

    Comunque anche portando video in nuovi progetti, mi da lo stesso errore.

    Strana e fastidiosa sta situazione ._. ... dovrò farmela piacere a forza. :(

  7. Ho utilizzato prima google e poi il Search avanzato nel forum ma non trovato nulla, quindi...

    avete presente quel fastidioso bug che quando mandate in play un video nel gioco, non appena questo finisce, si sente un mezzo secondo di audio preso a caso da una parte del video?

    Succede solo a me o anche a qualcun altro?

    Siete riusciti a risolvere in qualche maniera?

  8. Dovrei puntare quindi sulla donazione.
    Faccio un'ipotesi:
    Io vorrei in ogni caso mettere aree segrete e/o oggetti extra, accessibili solo tramite un input numerico in un evento.
    Ci sará in gioco (o fuori) il modo di farmi delle donazioni libere tramite paypal; a questo punto, a chi mi fa delle donazioni invio via mail un codice per sbloccare casualmente una delle aree segrete del gioco o un arma, armatura extra.
    In un altro caso, il giocatore che mi ha fatto la donazione potrebbe chiedermi via e mail di sbloccare un determinata area segreta e/o oggetto.

    Mi sembra che questa ipotesi non violi la commerciabilitá del gioco.
    Sono solo io che regalo cose extra in caso di donazioni LIBERE da parte delle utenze.

  9.  

     

    potresti farlo uscire come kickstarter e a chi dona un tot gli mandi i codici aggiuntivi xD

     

    Con un progetto Crowdfounding, darei i codici aggiuntivi a chi dona (e copie del gioco!) e con i soldi che chiedo per mettere in atto il progetto ci pago gli Scripter! XD

  10.  

    Mi sa l'unica cosa che salva è un sito generale con un pulsante donazione e che non tratta del gioco in particolare, ma contiene il download del gioco e di altri giochi? Tipo come donazione per il mio lavoro in generale...

    Penso sia la soluzione più corretta...Spammare nei miei siti o affini il pulsante donazione! hahaha

  11.  

     

    ma se infondo infondo sbloccare queste aree non è strettamente necessario all'andamento della storia, chi ti costringe ad acquistarle se non la tua curiosità

    Esattamente, non farebbero parte della storia. Solo la curiosità potrebbe spingere il giocatore ad acquistarla.

     

    EDIT: mentre scrivevo il post, avete risposto in due (guardian e midi) ai dubbi che mi stavo ponendo! hahahaha grazie delle risposte!

     

    Per quanto riguarda il Freemium, ho letto i vari modelli:

    Il gioco non rientra in quei 4 modelli in quanto la storia procede regolarmente senza limitazioni e le cose acquistabili sono extra.

    In ogni caso, il mio gioco verrebbe considerato Freemium se implementassi questo metodo?

    Gli autori di alcuni Commercial Scripts potrebbero "denunciarmi" questa cosa e richiedere il pagamento per il loro script?

    La prima cosa che mi è venuta in mente quando ho pensato a quest'idea è che ovviamente, nel caso dovessi far sbloccare aree segrete, magari in quelle aree (sicuramente) verranno visualizzati anche degli Script Commerciali, e quindi dovrei pagare l'autore dello script poichè lo sto utilizzando in un'area che il giocatore ha pagato? Non so se ho reso l'idea XD

  12. Ciao a tutti,

    il mio dubbio è semplicissimo:

    Il gioco che sto creando è ovviamente Free to Play poichè utilizzo Commercial & Non-commercial Scripts;

    Volevo mettere delle aree segrete (o qualsivoglia cosa) nel gioco e farle sbloccare tramite un sistema ad eventi,variabili e password (già ho in testa come voglio farlo funzionare); però per ricevere la password di accesso della variabile, il giocatore deve prima inviarmi un pagamento Paypal sul mio conto, come fosse un acquisto in-game (nella stessa maniera delle App del telefono).

    Se dovessi utilizzare questo metodo, il gioco è considerato Commerciale o non commerciale? Potrei farlo?

    Il gioco è Free to Play, e sta al giocatore la decisione di accedere o meno alle aree segrete. u.u

    Voi cosa ne pensate?

  13. Purtroppo dallo script che c'è nella demo (più di 10000 righe di codice), non puoi personalizzare nulla. Si vede che l'intero script è collegato a tutti i moduli di configurazione... come scritto da mog:

    NOTA - Como este é um script para apresentar técnicas de RGSS, não foram adicionados comentários explicativos no modulo de configuração
    Quindi l'unico problema è trovare sto benedetto file Scripts_SDK.
    Vorrei veramente tanto poter utilizzare questo menù magnifico! *^*
  14. Se clicchi sul link che ho messo, mog descrive (in portoghese) la maniera in cui è possibile personalizzare l'intero script. Il fatto è che il file Scripts_SDK non è presente nel download e quindi anche modificando il file "Scripts.rvdata2" nella cartella Data, non succede nulla all'interno dell'editor script.

    Dovrebbe venir fuori questo, come descritto da mog, In questo modo è possibile personalizzare lo script! Invece non succede nulla...

    http://www.atelier-rgss.com/RGSS/Menu/IMG/ACE_15b.gif

  15. Quindi il tuo gioco non contiene messaggi scritti, ma tutti file audio in cui vengono trattati tutti i discorsi, giusto? (anchio avevo in mente di fare una cosa del genere... poi ho lasciato perdere!)

    Per ora non penso di aver mai visto uno script riguardo questo problema... e per quanto riguarda farlo ad immagini come ti ho spiegato... beh... ti capisco! Sarebbe luuuungo e palloso! XD

  16. Non finirò mai di dire che MogHunter sia lo scripter più figo di rgss3!
    Il monogatari system menù è uno STUPENDO script per il menù system, vi rimando alla pagina di Mog:

    http://www.atelier-rgss.com/RGSS/Menu/ACE_Menu15.html

    Scaricatevi la demo in fondo alla pagina per provare di persona quanto sia potente questo script!

    Il problema è che Mog spiega in che modo si può personalizzare questo script (ci sono le immagini nel link citato sopra), ma anche seguendo la procedura, non riesco a far apparire tutte le parti dello script mentre sto nell'editor script!

    In partenza le immagini dicono che dovrei avere Scripts_SDK nella cartella del gioco, è che dovrei spostarla nella cartella Data e rinominare il fil in Scripts.rvdata2 (l'estensione ce l ha già di suo il file).

    Nel download non c'è nessun file Scripts_SDK e anche provando vari procedimenti, non riesco a far apparire tutte le parti dello script!
    Qualcuno di voi può provare a seguire il procedimento spiegato da Mog (Banalissimo) e vedere se gli funziona?

     

    p.s. Questa demo ha anche uno script meraviglioso per i crediti finali ;)

  17. Puoi farlo semplicemente utilizzando delle immagini!

    Su photoshop crei un foglio 544x416 pixel e in basso metti le scritte che devi fare (se sono sottotitoli come vuoi te) (ricorda di sbloccare il livello sfondo di photoshop e renderlo trasparente), dopo questo passaggio, salvi l'immagine in PNG e la metti nella cartella Graphics/Pictures del tuo gioco.

    Ci sono diversi metodi poi per far apparire le scritte e farle rimaneere su schermo mentre si continua a giocare.

    Nell'editor fai apparire le scritte tramite processo parallelo (o su mappa o tramite evento comune), in questo modo il gioco non si ferma, e poi ogniqualvolta ti serve cambiare sottotitolo, elimini l'immagine precedente e fai apparire quella successiva! ;)

  18. Utilizza questo script, è di Yanfly :D

    #==============================================================================
    #
    # ▼ Yanfly Engine Ace - Enemy Levels v1.02
    # -- Last Updated: 2012.01.26
    # -- Level: Normal, Hard
    # -- Requires: n/a
    #
    #==============================================================================

    $imported = {} if $imported.nil?
    $imported["YEA-EnemyLevels"] = true

    #==============================================================================
    # ▼ Updates
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # 2012.01.26 - Bug Fixed: Duplication of stat growth rates per enemy.
    # 2012.01.24 - Added notetag for enemies.
    # - Option to change Party Level function in Action Conditions to
    # enemy level requirements.
    # 2011.12.30 - Started Script and Finished.
    #
    #==============================================================================
    # ▼ Introduction
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # RPG's with enemies that level up with the party enforces the player to stay
    # on their toes the whole time. This is both a good and bad thing as it can
    # cause the player to stay alert, but can also cause the player to meet some
    # roadblocks. This script will not only provide enemies the ability to level up
    # but also allow the script's user to go around these roadblocks using various
    # tags to limit or slow down the rate of growth across all enemies.
    #
    #==============================================================================
    # ▼ 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.
    #
    # -----------------------------------------------------------------------------
    # Skill Notetags - These notetags go in the skill notebox in the database.
    # -----------------------------------------------------------------------------
    #
    #
    # This causes the enemy to raise or drop x levels depending on the tag used.
    # The new level will readjust the enemy's stats (including HP and MP).
    #
    #
    # This resets the enemy's level back to the typical range it should be plus or
    # minus any level fluctuations it was given. This occurs before enemy level +
    # and enemy level - tags.
    #
    # -----------------------------------------------------------------------------
    # Enemy Notetags - These notetags go in the enemies notebox in the database.
    # -----------------------------------------------------------------------------
    #
    # This notetag will hide the level of the enemy. If YEA - Enemy Target Info is
    # installed, the level will be revealed upon a parameter scan.
    #
    #
    #
    # This will adjust the minimum and maximum levels for the enemy. By default,
    # the minimum level is 1 and the maximum level is whatever is set in the module
    # as MAX_LEVEL.
    #
    #
    # This will set the enemy's level to exactly x. It a sense, this is just the
    # usage of both the min and max level tags together as the same value.
    #
    #
    # Choosing a value from 0 to 4, you can adjust the different leveling rulesets
    # for the enemy. See the list below.
    # Type 0 - Lowest level of all actors that have joined.
    # Type 1 - Lowest level in the battle party.
    # Type 2 - Average level of the battle party.
    # Type 3 - Highest level of the battle party.
    # Type 4 - Highest level of all actors that have joined.
    #
    #
    # This will give the level a random flunctuation in either direction. Set this
    # value to 0 if you don't wish to use it. Adjust RANDOM_FLUCTUATION inside the
    # module to change the default fluctuation value.
    #
    #
    #
    #
    #
    # This will raise or lower the stat by x or x% per level (depending on the tag
    # used). This will override the default growth settings found inside the module
    # hash called DEFAULT_GROWTH. You may replace stat with:
    # MAXHP, MAXMP, ATK, DEF, MAT, MDF, AGI, LUK, GOLD, EXP
    #
    #==============================================================================
    # ▼ Compatibility
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
    # it will run with RPG Maker VX without adjusting.
    #
    #==============================================================================

    module YEA
    module ENEMY_LEVEL

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - General Level Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # These settings adjust the general level setup for your enemies from the
    # way levels appear in the game to the default maximum level for enemies,
    # to the way their levels are calculated by default, and the random level
    # fluctuation they have. If you want enemies to have different settings,
    # use notetags to change the respective setting.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # This is how the level text will appear whenever enemy levels are shown.
    LEVEL_TEXT = "LV%s %s"

    # This is the maximum level your enemies can achieve. They cannot go higher
    # no exceptions. Adjust this accordingly to fit your game.
    MAX_LEVEL = 99

    # Default level calculations for your enemies will be adjusted as such.
    # Type 0 - Lowest level of all actors that have joined.
    # Type 1 - Lowest level in the battle party.
    # Type 2 - Average level of the battle party.
    # Type 3 - Highest level of the battle party.
    # Type 4 - Highest level of all actors that have joined.
    DEFAULT_LEVEL_TYPE = 2

    # If you want your enemies to have random +/- levels of some degree, change
    # this number to something other than 0. This is the default value.
    RANDOM_FLUCTUATION = 2

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Parameter Growth Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Here, you adjust how much stats grow for enemies by default, including
    # the formula used to calculate those stats. If you wish for enemies to
    # have different growth settings, use notetags to change them.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # These settings adjust the default growth rates (not the base stat formula)
    # for each stat. These are the values that will exist for each enemy unless
    # defined otherwise by the tags inside their noteboxes.
    DEFAULT_GROWTH ={
    # ParamID => [:param, per%, +set],
    0 => [:maxhp, 0, 0],
    1 => [:maxmp, 0, 0],
    2 => [ :atk, 0, 0],
    3 => [ :def, 0, 0],
    4 => [ :mat, 0, 0],
    5 => [ :mdf, 0, 0],
    6 => [ :agi, 0, 0],
    7 => [ :luk, 0, 0],
    8 => [ :gold, 0, 0],
    9 => [ :exp, 0, 0],

    } # Do not remove this.


    # The following hash will adjust each of the formulas for each base stat.
    # Adjust them as you see fit but only if you know what you're doing.
    # base - The base stat from the enemy database.
    # per - Growth rate which has not been yet converted to a percent.
    # set - Set growth rate. Modified
    # Default: "base * (1.00 + (level-1) * per) + (set * (level-1))"
    STAT_FORMULA = "base * (1.00 + (level-1) * per) + (set * (level-1))
    "

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Party Level to Enemy Level Action Conditions -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Setting the below to true will cause the Party Level requirement under
    # Action Conditions in the Action Patterns list to become an Enemy Level
    # requirement. The enemy must be at least the level or else it cannot use
    # the listed action.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    PARTY_LEVEL_TO_ENEMY_LEVEL = true

    end # ENEMY_LEVEL
    end # YEA

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

    module YEA
    module REGEXP
    module USABLEITEM

    LEVEL_CHANGE = /<(?:ENEMY LEVEL|enemy level):[ ]([\+\-]\d+)>/i
    LEVEL_RESET = /<(?:ENEMY LEVEL RESET|enemy level reset)>/i

    end # USABLEITEM
    module ENEMY

    LEVEL_TYPE = /<(?:LEVEL_TYPE|level type):[ ](\d+)>/i
    LEVEL_MIN = /<(?:MIN_LEVEL|min level|minimum level):[ ](\d+)>/i
    LEVEL_MAX = /<(?:MAX_LEVEL|max level|maximum level):[ ](\d+)>/i
    LEVEL_SET = /<(?:SET_LEVEL|set level|permanent level):[ ](\d+)>/i

    LEVEL_RAND = /<(?:LEVEL_RANDOM|level random):[ ](\d+)>/i
    GROWTH_PER = /<(.*):[ ]([\+\-]\d+)([%%])[ ](?:PER_LEVEL|per level)>/i
    GROWTH_SET = /<(.*):[ ]([\+\-]\d+)[ ](?:PER_LEVEL|per level)>/i

    HIDE_LEVEL = /<(?:HIDE_LEVEL|hide level)>/i

    end # ENEMY
    end # REGEXP
    end # YEA

    #==============================================================================
    # ■ Numeric
    #==============================================================================

    class Numeric

    #--------------------------------------------------------------------------
    # new method: group_digits
    #--------------------------------------------------------------------------
    unless $imported["YEA-CoreEngine"]
    def group; return self.to_s; end
    end # $imported["YEA-CoreEngine"]

    end # Numeric

    #==============================================================================
    # ■ DataManager
    #==============================================================================

    module DataManager

    #--------------------------------------------------------------------------
    # alias method: load_database
    #--------------------------------------------------------------------------
    class < def self.load_database
    load_database_elv
    load_notetags_elv
    end

    #--------------------------------------------------------------------------
    # new method: load_notetags_elv
    #--------------------------------------------------------------------------
    def self.load_notetags_elv
    groups = [$data_enemies, $data_skills, $data_items]
    for group in groups
    for obj in group
    next if obj.nil?
    obj.load_notetags_elv
    end
    end
    end

    end # DataManager

    #==============================================================================
    # ■ RPG::UsableItem
    #==============================================================================

    class RPG::UsableItem < RPG::BaseItem

    #--------------------------------------------------------------------------
    # public instance variables
    #--------------------------------------------------------------------------
    attr_accessor :level_change
    attr_accessor :level_reset

    #--------------------------------------------------------------------------
    # common cache: load_notetags_elv
    #--------------------------------------------------------------------------
    def load_notetags_elv
    @level_change = 0
    @level_reset = false
    #---
    self.note.split(/[\r\n]+/).each { |line|
    case line
    #---
    when YEA::REGEXP::USABLEITEM::LEVEL_CHANGE
    @level_change = $1.to_i
    when YEA::REGEXP::USABLEITEM::LEVEL_RESET
    @level_reset = true
    end
    } # self.note.split
    #---
    end

    end # RPG::UsableItem

    #==============================================================================
    # ■ RPG::Enemy
    #==============================================================================

    class RPG::Enemy < RPG::BaseItem

    #--------------------------------------------------------------------------
    # public instance variables
    #--------------------------------------------------------------------------
    attr_accessor :hide_level
    attr_accessor :level_type
    attr_accessor :level_min
    attr_accessor :level_max
    attr_accessor :level_rand
    attr_accessor :level_growth

    #--------------------------------------------------------------------------
    # common cache: load_notetags_elv
    #--------------------------------------------------------------------------
    def load_notetags_elv
    @hide_level = false
    @level_type = YEA::ENEMY_LEVEL::DEFAULT_LEVEL_TYPE
    @level_min = 1
    @level_max = YEA::ENEMY_LEVEL::MAX_LEVEL
    @level_rand = YEA::ENEMY_LEVEL::RANDOM_FLUCTUATION
    @level_growth = Marshal.load(Marshal.dump(YEA::ENEMY_LEVEL::DEFAULT_GROWTH))
    #---
    self.note.split(/[\r\n]+/).each { |line|
    case line
    #---
    when YEA::REGEXP::ENEMY::HIDE_LEVEL
    @hide_level = true
    when YEA::REGEXP::ENEMY::LEVEL_TYPE
    @level_type = $1.to_i
    when YEA::REGEXP::ENEMY::LEVEL_MIN
    @level_min = [$1.to_i, 1].max
    when YEA::REGEXP::ENEMY::LEVEL_MAX
    @level_max = [$1.to_i, YEA::ENEMY_LEVEL::MAX_LEVEL].min
    when YEA::REGEXP::ENEMY::LEVEL_SET
    @level_min = [[$1.to_i, 1].max, YEA::ENEMY_LEVEL::MAX_LEVEL].min
    @level_max = [[$1.to_i, 1].max, YEA::ENEMY_LEVEL::MAX_LEVEL].min
    when YEA::REGEXP::ENEMY::LEVEL_RAND
    @level_rand = $1.to_i
    #---
    when YEA::REGEXP::ENEMY::GROWTH_PER
    case $1.upcase
    when "MAXHP", "MHP", "HP"
    type = 0
    when "MAXMP", "MMP", "MP", "MAXSP", "MSP", "SP"
    type = 1
    when "ATK", "ATTACK"
    type = 2
    when "DEF", "DEFENSE"
    type = 3
    when "MAT", "MAGIC ATTACK", "INT", "INTELLIGENCE", "SPI", "SPIRIT"
    type = 4
    when "MDF", "MAGIC DEFENSE", "RES", "RESISTANCE"
    type = 5
    when "AGI", "AGILITY"
    type = 6
    when "LUK", "LUCK"
    type = 7
    when "GOLD", "MONEY"
    type = 8
    when "EXP", "EXPERIENCE", "XP"
    type = 9
    else; next
    end
    @level_growth[type][1] = $2.to_i * 0.01
    when YEA::REGEXP::ENEMY::GROWTH_SET
    case $1.upcase
    when "MAXHP", "MHP", "HP"
    type = 0
    when "MAXMP", "MMP", "MP", "MAXSP", "MSP", "SP"
    type = 1
    when "ATK", "ATTACK"
    type = 2
    when "DEF", "DEFENSE"
    type = 3
    when "MAT", "MAGIC ATTACK", "INT", "INTELLIGENCE", "SPI", "SPIRIT"
    type = 4
    when "MDF", "MAGIC DEFENSE", "RES", "RESISTANCE"
    type = 5
    when "AGI", "AGILITY"
    type = 6
    when "LUK", "LUCK"
    type = 7
    when "GOLD", "MONEY"
    type = 8
    when "EXP", "EXPERIENCE", "XP"
    type = 9
    else; next
    end
    @level_growth[type][2] = $2.to_i
    end
    } # self.note.split
    #---
    end

    end # RPG::Enemy

    #==============================================================================
    # ■ Game_Battler
    #==============================================================================

    class Game_Battler < Game_BattlerBase

    #--------------------------------------------------------------------------
    # alias method: item_user_effect
    #--------------------------------------------------------------------------
    alias game_battler_item_user_effect_elv item_user_effect
    def item_user_effect(user, item)
    game_battler_item_user_effect_elv(user, item)
    apply_level_changes(item) if self.is_a?(Game_Enemy)
    end

    end # Game_Battler

    #==============================================================================
    # ■ Game_Enemy
    #==============================================================================

    class Game_Enemy < Game_Battler

    #--------------------------------------------------------------------------
    # alias method: initialize
    #--------------------------------------------------------------------------
    alias game_enemy_initialize_elv initialize
    def initialize(index, enemy_id)
    game_enemy_initialize_elv(index, enemy_id)
    create_init_level
    end

    #--------------------------------------------------------------------------
    # new method: level
    #--------------------------------------------------------------------------
    def level
    create_init_level if @level.nil?
    return @level
    end

    #--------------------------------------------------------------------------
    # new method: level=
    #--------------------------------------------------------------------------
    def level=(value)
    create_init_level if @level.nil?
    return if @level == value
    hp_rate = self.hp.to_f / self.mhp.to_f
    mp_rate = self.mp.to_f / [self.mmp, 1].max.to_f
    @level = [[value, 1].max, YEA::ENEMY_LEVEL::MAX_LEVEL].min
    self.hp = (self.mhp * hp_rate).to_i
    self.mp = (self.mmp * mp_rate).to_i
    end

    #--------------------------------------------------------------------------
    # new method: create_init_level
    #--------------------------------------------------------------------------
    def create_init_level
    set_level_type
    @hp = mhp
    @mp = mmp
    end

    #--------------------------------------------------------------------------
    # new method: set_level_type
    #--------------------------------------------------------------------------
    def set_level_type
    @level = $game_party.match_party_level(enemy.level_type)
    @level += rand(enemy.level_rand+1)
    @level -= rand(enemy.level_rand+1)
    @level = [[@level, enemy.level_max].min, enemy.level_min].max
    end

    #--------------------------------------------------------------------------
    # alias method: transform
    #--------------------------------------------------------------------------
    alias game_enemy_transform_elv transform
    def transform(enemy_id)
    game_enemy_transform_elv(enemy_id)
    create_init_level
    end

    #--------------------------------------------------------------------------
    # new method: apply_level_changes
    #--------------------------------------------------------------------------
    def apply_level_changes(item)
    create_init_level if item.level_reset
    self.level += item.level_change
    end

    #--------------------------------------------------------------------------
    # alias method: param_base
    #--------------------------------------------------------------------------
    alias game_enemy_param_base_elv param_base
    def param_base(param_id)
    base = game_enemy_param_base_elv(param_id)
    per = enemy.level_growth[param_id][1]
    set = enemy.level_growth[param_id][2]
    total = eval(YEA::ENEMY_LEVEL::STAT_FORMULA)
    return total.to_i
    end

    #--------------------------------------------------------------------------
    # alias method: exp
    #--------------------------------------------------------------------------
    alias game_enemy_exp_elv exp
    def exp
    base = game_enemy_exp_elv
    per = enemy.level_growth[8][1]
    set = enemy.level_growth[8][2]
    total = eval(YEA::ENEMY_LEVEL::STAT_FORMULA)
    return total.to_i
    end

    #--------------------------------------------------------------------------
    # alias method: gold
    #--------------------------------------------------------------------------
    alias game_enemy_gold_elv gold
    def gold
    base = game_enemy_gold_elv
    per = enemy.level_growth[9][1]
    set = enemy.level_growth[9][2]
    total = eval(YEA::ENEMY_LEVEL::STAT_FORMULA)
    return total.to_i
    end

    #--------------------------------------------------------------------------
    # alias method: name
    #--------------------------------------------------------------------------
    alias game_enemy_name_elv name
    def name
    text = game_enemy_name_elv
    if add_level_name?
    fmt = YEA::ENEMY_LEVEL::LEVEL_TEXT
    text = sprintf(fmt, @level.group, text)
    end
    return text
    end

    #--------------------------------------------------------------------------
    # new method: add_level_name?
    #--------------------------------------------------------------------------
    def add_level_name?
    if $imported["YEA-EnemyTargetInfo"] && show_info_param?
    return true
    end
    return false if enemy.hide_level
    return true
    end

    #--------------------------------------------------------------------------
    # overwrite method: conditions_met_party_level?
    #--------------------------------------------------------------------------
    if YEA::ENEMY_LEVEL::PARTY_LEVEL_TO_ENEMY_LEVEL
    def conditions_met_party_level?(param1, param2)
    return @level >= param1
    end
    end

    end # Game_Enemy

    #==============================================================================
    # ■ Game_Party
    #==============================================================================

    class Game_Party < Game_Unit

    #--------------------------------------------------------------------------
    # new method: match_party_level
    #--------------------------------------------------------------------------
    def match_party_level(level_type)
    case level_type
    when 0; return all_lowest_level
    when 1; return lowest_level
    when 2; return average_level
    when 3; return highest_level
    else; return all_highest_level
    end
    end

    #--------------------------------------------------------------------------
    # new method: all_lowest_level
    #--------------------------------------------------------------------------
    def all_lowest_level
    lv = all_members.collect {|actor| actor.level }.min
    return lv
    end

    #--------------------------------------------------------------------------
    # new method: lowest_level
    #--------------------------------------------------------------------------
    def lowest_level
    lv = members.collect {|actor| actor.level }.min
    return lv
    end

    #--------------------------------------------------------------------------
    # new method: average_level
    #--------------------------------------------------------------------------
    def average_level
    lv = 0
    for member in all_members; lv += member.level; end
    lv /= all_members.size
    return lv
    end

    #--------------------------------------------------------------------------
    # overwrite method: highest_level
    #--------------------------------------------------------------------------
    def highest_level
    lv = members.collect {|actor| actor.level }.max
    return lv
    end

    #--------------------------------------------------------------------------
    # all method: all_highest_level
    #--------------------------------------------------------------------------
    def all_highest_level
    lv = all_members.collect {|actor| actor.level }.max
    return lv
    end

    end # Game_Party

    #==============================================================================
    #
    # ▼ End of File
    #
    #==============================================================================

     

  19. Prima di tutto mi scuso per il doppio post.

    I problemi sopracitati sono stati risolti in modi totalmente diversi ma ugualmente efficaci.

    Ora mi si presenta invece un problema ben più grande.

    Lo script Advanced system Time

     

    #Advanced Game Time + Night/Day v1.5.1
    #----------#
    #Features: Provides a series of functions to set and recall current game time
    # as well customizable tints based on current game time to give the
    # appearance of night and day in an advanced and customizable way.
    #
    #Usage: Script calls:
    # GameTime.sec? #current second
    # GameTime.min? #current minute
    # GameTime.hour? #current hour
    # GameTime.hour_nom? #current hour (12-hour)
    # GameTime.day? #current day of month
    # GameTime.day_week? #current day of the week
    # GameTime.day_year? #current day of the year
    # GameTime.month? #current month
    # GameTime.year? #current year
    # GameTime.year_post("set") #changes the year post to set
    # GameTime.pause_tint(true/false) #pauses/unpauses tint
    # GameTime.notime(true/false) #stops time based on true/false
    # GameTime.change(s,m,h,d,dw,mn,y) #manually set the time
    # seconds,minutes,hours,days,weekday,months,years
    # any can be nil to not be changed
    # GameTime.set("handle",n) #increases a certain time portion
    # valid arguments are:
    # addsec,addmin,addhour,addday
    # addmonth,addyear
    # and:
    # remsec,remmin,remhour,remday
    # remmonth,remyear
    # GameTime.clock?(true/false) #hides/shows the clock
    # GameTime.save_time #saves the current time
    # GameTime.load_time #loads the saved time
    #
    # Message Codes:
    # GTSEC #Inputs the current second
    # GTMIN #Inputs the current minute
    # GTHOUR #Inputs the current hour
    # GTDAYN #Inputs the day of the month
    # GTDAYF #Inputs the day of the week (full)
    # GTDAYA #Inputs the day of the week (abbreviated)
    # GTMONN #Inputs the month of the year
    # GTMONF #Inputs the name of the month (full)
    # GTMONA #Inputs the name of the month (abbreviated)
    # GTYEAR #Inputs the current year
    #
    # Map Note Tags: (These go in the note box of Map Properties)
    # Notint #These maps will not tint!
    # Notime #Stops time from moving in that map
    #
    #Customization: Set below, in comments.
    #
    #Examples: GameTime.pause_tint = false
    # GameTime.change(nil,30,4,1,1,1,2012)
    # GameTime.set("addyear",5)
    # GameTime.clock?(true)
    #
    #----------#
    #-- Script by: V.M of D.T
    #
    #- Questions or comments can be:
    # posted on the thread for the script
    # given by email: sumptuaryspade@live.ca
    # provided on facebook: http://www.facebook.com/DaimoniousTailsGames
    # posed on site: daimonioustails.wordpress.com
    #
    #--- Free to use in any project, commercial or non-commercial, with credit given
    # - - Though a donation's always a nice way to say thank you~ (I also accept actual thank you's)

    #_# BEGIN_CUSTOMIZATION #_#


    #What time a new game starts at: [sec, min, hour, day, month, year]
    START_TIME = [0,0,6,0,7,0]
    #Wether or not to set time to PC (Real) Time
    $USE_REAL_TIME = false
    #Time does not increase while the message window is visible:
    NOTIMEMESSAGE = true
    #Time does not increase unless you are on the map
    PAUSE_IN_MENUS = true
    #Time does not increase if you are in battle
    NOBATTLETIME = true
    #Clock is shown
    USECLOCK = true
    #Set to true to have the clock show up in the menu!
    USECLOCK_MENU = false
    #Set the format for the clock both in and out of menu
    #1. hh:mm am/pm
    #2. Sun dd hh:mm am/pm
    #3. hh:mm (24 hour clock)
    #4. Sun dd hh:mm (24 hour clock)
    #5. Custom clock, see below
    CLOCK_FORMAT = 5
    MENU_CLOCK_FORMAT = 5
    #Clock window background opacity
    CLOCK_BACK = 0
    #Whether to use a special image for the back of the clock or not (Picture folder)
    CUSTOM_CLOCK_BACKGROUND = false
    #The name of the special image to use
    CUSTOM_CLOCK_BACKGROUND_IMAGE = "clock"
    #The offset of the image on the x-axis
    CUSTOM_CLOCK_BACKGROUND_X = -370
    #The offset of the image on the y-axis
    CUSTOM_CLOCK_BACKGROUND_Y = -10
    #Button to be used to toggle the clock
    CLOCK_TOGGLE = :ALT
    #X and Y position of clock
    CLOCK_X = Graphics.width - 155
    CLOCK_Y = Graphics.height - 375 - 24 - 12 #48
    #Finetune the width of the clock window here:
    CLOCK_WIDTH = 175
    #Whether or not those little dots on the clock blink
    USE_BLINK = true
    #The speed at which they blink
    BLINK_SPEED = 60
    #Here is where you would insert the array of commands for the custom clock:
    CUSTOM_CLOCK = ["day","-","monthlong","-","weeklong",""]
    CUSTOM_CLOCK2 = ["hour","blinky","min"," ",""]
    #Available commands for CUSTOM_CLOCK:
    # "sec" - seconds "min" - minutes
    # "hour" - hour (24) "hour12" - hour (12)
    # "meri" - AM/PM "day" - day of the month
    # "weekshort" - day of the week abbr
    # "weeklong" - day of the week long
    # "month" - month "monthshort" - month name abbr
    # "monthlong" - month name
    # "year" - year "yearp" - year post
    # "blinky" - those blinky dots


    #Using KHAS lighting effects script? Turn this on to use that tint
    USE_KHAS = true
    #Using Victor Engine Light effects? Turn this on to use that tint
    USE_VICTOR = false
    #Variables that count down each gametime second/minute
    TIMER_VARIABLES = []

    #Use Tint in the Battles
    BATTLE_TINT = false

    #Time it takes for a second (or minute) to pass, in frames by default
    #(Frame rate is 60 frames per second)
    DEFAULT_TIMELAPSE = 60
    #Variable ID containing the current speed of time!
    TIMELAPSE_VARIABLE = 207
    #Whether to use seconds or not
    NOSECONDS = false
    #Number of seconds in a minute
    SECONDSINMIN = 3
    #Number of minutes in an hour
    MINUTESINHOUR = 60
    #Number of hours in a day
    HOURSINDAY = 24
    #Names of the days (As little or as many days in the week as you want)
    DAYNAMES = ["Domenica","Lunedi","Martedi","Mercoledi","Giovedi","Venerdi","Sabato"]
    #Day name abbreviations
    DAYNAMESABBR = ["Dom","Lun","Mar","Mer","Gio","Ven","Sab"]
    #Number of days in each month (Also represents number of months in a year)
    MONTHS = [31,28,31,30,31,30,31,31,30,31,30,31]
    #Names of the months
    MONTHNAMES = ["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno",
    "Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"]
    #Abrreviated names of the months
    MONTHNAMESABBR = ["Gen","Feb","Mar","Apr","Mag","Giu",
    "Lug","Ago","Set","Ott","Nov","Dec"]
    #The default letters to be posted before the year in dates
    DEFAULT_YEAR_POST = " AD"
    #NOT YET IMPLEMENTED *IGNORE*
    USE_PERIODS = true

    #Gradual tint effects! (The hardest part)
    #It may look daunting, and it is, but here is where you put the tint
    #to be shown at each hour (the actual tint is usually somewhere in between)
    #The number of Color.new objects here must equal the number of hours in a day
    #Starts from hour 0 (or 12am)
    #A color object is -> Color.new(r,g,b,a)
    # Where r is red,g is green,b is blue,and a is opacity and all are (0-255)
    TINTS = [Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),
    Color.new(0,0,0,0),]

    #NOT YET IMPLEMENTED *IGNORE*
    PERIODS = [["Night",0,5],
    ["Morning",6,11],
    ["Afternoon",12,17],
    ["Evening",18,23]]

    $gametimeclockvisible = false
    #_# END CUSTOMIZATION #_#

    module GameTime
    def self.run
    $game_time = Current_Time.new
    $game_time_tint = Sprite_TimeTint.new
    end
    def self.update
    return if $game_message.busy? and NOTIMEMESSAGE
    if !SceneManager.scene.is_a?(Scene_Map) and PAUSE_IN_MENUS
    return $game_time_tint.update if SceneManager.scene.is_a?(Scene_Title)
    return $game_time_tint.update if SceneManager.scene.is_a?(Scene_File)
    return unless SceneManager.scene.is_a?(Scene_Battle) and !NOBATTLETIME
    end
    $game_time.update
    $game_time_tint = Sprite_TimeTint.new if $game_time_tint.disposed?
    update_tint
    end
    def self.update_tint
    $game_time_tint.update unless @pause_tint
    end
    def self.sec?
    return $game_time.sec
    end
    def self.min?
    return $game_time.min
    end
    def self.mint?
    return $game_time.min if $game_time.min > 9
    return "0" + $game_time.min.to_s
    end
    def self.hour?
    return $game_time.hour
    end
    def self.hour_nom?
    hour = $game_time.hour
    hour -= 12 if hour > 11
    hour = 12 if hour == 0
    return hour
    end
    def self.day?
    return $game_time.day if $USE_REAL_TIME
    return $game_time.day + 1
    end
    def self.day_week?
    return $game_time.dayweek
    end
    def self.day_year?
    month = month? - 1
    day = day?
    while month > 0
    day += MONTHS[month]
    month -= 1
    end
    day
    end
    def self.day_name
    return DAYNAMES[$game_time.dayweek-1] if $USE_REAL_TIME
    return DAYNAMES[$game_time.dayweek]
    end
    def self.day_name_abbr
    return DAYNAMESABBR[$game_time.dayweek-1] if $USE_REAL_TIME
    return DAYNAMESABBR[$game_time.dayweek]
    end
    def self.month_name_abbr
    return MONTHNAMESABBR[$game_time.month-1] if $USE_REAL_TIME
    return MONTHNAMESABBR[$game_time.month]
    end
    def self.month?
    return $game_time.month if $USE_REAL_TIME
    return $game_time.month + 1
    end
    def self.month_name
    return MONTHNAMES[$game_time.month-1] if $USE_REAL_TIME
    return MONTHNAMES[$game_time.month]
    end
    def self.year?
    return $game_time.year
    end
    def self.pause_tint(set)
    @pause_tint = set
    end
    def self.change(s = nil,m = nil,h = nil,d = nil,dw = nil, mn = nil,y = nil)
    $game_time.manual(s,m,h,d,dw,mn,y)
    end
    def self.set(handle,n)
    $game_time.forward(handle,n)
    end
    def self.clock?(set)
    SceneManager.scene.clock_visible?(set)
    end
    def self.year_post(set)
    $game_time.year_post = set
    end
    def self.save_time
    $saved_game_time = $game_time.dup
    end
    def self.load_time
    $game_time = $saved_game_time.dup
    end
    def self.no_time_map
    note = $game_map.map_note
    /Notime/ =~ note
    return false unless $~
    return true
    end
    def self.notime(set)
    $game_time.notime = set
    end

    class Current_Time

    attr_reader :sec
    attr_reader :min
    attr_reader :hour
    attr_reader :day
    attr_reader :dayweek
    attr_reader :month
    attr_reader :year
    attr_accessor :year_post
    attr_accessor :notime

    def initialize
    reset_all_values
    end
    def reset_all_values
    @sec = START_TIME[0]
    @min = START_TIME[1]
    @hour = START_TIME[2]
    @day = START_TIME[3]
    @dayweek = 0
    @month = START_TIME[4]
    @year = START_TIME[5]
    @notime = false
    @year_post = DEFAULT_YEAR_POST
    end
    def update
    return realtime if $USE_REAL_TIME
    return if GameTime.no_time_map or @notime
    $game_variables[TIMELAPSE_VARIABLE] = DEFAULT_TIMELAPSE if $game_variables[TIMELAPSE_VARIABLE] <= 0
    return unless Graphics.frame_count % $game_variables[TIMELAPSE_VARIABLE] == 0
    NOSECONDS ? addmin(1) : addsec(1)
    update_timers
    end
    def update_timers
    return unless TIMER_VARIABLES.size > 0
    for i in TIMER_VARIABLES
    $game_variables -= 1 unless $game_variables == 0
    end
    end
    def realtime
    @sec = Time.now.sec
    @sec = 0 if @sec == 60
    @min = Time.now.min
    @hour = Time.now.hour
    @day = Time.now.day
    @dayweek = Time.now.wday
    @month = Time.now.month
    @year = Time.now.year
    0
    end
    def addsec(s)
    @sec += s
    return unless @sec == SECONDSINMIN
    @sec = 0
    addmin(1)
    end
    def addmin(m)
    @min += m
    return unless @min == MINUTESINHOUR
    @min = 0
    addhour(1)
    end
    def addhour(h)
    @hour += h
    return unless @hour == HOURSINDAY
    @hour = 0
    addday(1)
    end
    def addday(d)
    @day += d
    @dayweek += d
    @dayweek = 0 if @dayweek == DAYNAMES.size
    return unless @day == MONTHS[@month]
    @day = 0
    addmonth(1)
    end
    def addmonth(mn)
    @month += mn
    return unless @month == MONTHS.size
    @month = 0
    addyear(1)
    end
    def addyear(y)
    @year += y
    end
    def manual(s = nil,m = nil,h = nil,d = nil,dw = nil,mn = nil,y = nil)
    @sec = s if !s.nil?
    @sec = SECONDSINMIN - 1 if @sec >= SECONDSINMIN
    @min = m if !m.nil?
    @min = MINUTESINHOUR - 1 if @min >= MINUTESINHOUR
    @hour = h if !h.nil?
    @hour = HOURSINDAY - 1 if @hour >= HOURSINDAY
    @day = d if !d.nil?
    @day = MONTHS[@month] - 1 if @day >= MONTHS[@month]
    @dayweek = dw if !dw.nil?
    @dayweek = 0 if @dayweek >= DAYNAMES.size
    @month = mn if !mn.nil?
    @month = MONTHS.size - 1 if @month >= MONTHS.size
    @year = y if !y.nil?
    end
    def forward(handle,n)
    handle = handle.to_s + "(1)"
    n.times do |s| eval(handle) end
    end
    def remsec(s)
    @sec -= s
    return unless @sec == -1
    @sec = SECONDSINMIN
    remmin(1)
    end
    def remmin(m)
    @min -= m
    return unless @min == -1
    @min = MINUTESINHOUR
    remhour(1)
    end
    def remhour(h)
    @hour -= h
    return unless @hour == -1
    @hour = HOURSINDAY - 1
    remday(1)
    end
    def remday(d)
    @day -= d
    @dayweek -= d
    @dayweek = DAYNAMES.size - 1 if @dayweek == -1
    return unless @day == -1
    @day = MONTHS[@month] - 1
    remmonth(1)
    end
    def remmonth(mn)
    @month -= mn
    return unless @month == -1
    @month = MONTHS.size - 1
    remyear(1)
    end
    def remyear(y)
    @year -= y
    end
    end

    class Sprite_TimeTint < Sprite_Base
    def initialize(viewport = nil)
    super(viewport)
    self.z = 10
    create_contents
    update
    @old_tint = [0,0,0,0]
    @old_time = 0
    end
    def create_contents
    self.bitmap = Bitmap.new(Graphics.width,Graphics.height)
    self.visible = false
    end
    def update
    return use_default if SceneManager.scene.is_a?(Scene_Battle) and BATTLE_TINT
    return use_khas if USE_KHAS
    return use_victor if USE_VICTOR
    return use_default
    end
    def use_default
    return if self.disposed?
    create_contents if self.bitmap.height != Graphics.height
    create_contents if self.bitmap.width != Graphics.width
    self.visible = SceneManager.scene.is_a?(Scene_Map)
    self.visible = true if SceneManager.scene.is_a?(Scene_Battle) and BATTLE_TINT
    self.visible = false if SceneManager.scene.is_a?(Scene_Title)
    self.visible = false if no_tint
    return unless self.visible
    min = $game_time.min
    return if min == @old_time
    @old_time = min
    rgba = get_new_tint(min)
    return if rgba == @old_tint
    @old_tint = rgba
    self.bitmap.clear
    self.bitmap.fill_rect(0,0,Graphics.width,Graphics.height,Color.new(rgba[0],rgba[1],rgba[2],rgba[3]))
    end
    def use_khas
    begin
    temp = $game_map.light_surface.opacity
    rescue
    return
    end
    self.visible = false
    $game_map.effect_surface.change_color(1,0,0,0,0) if no_tint
    return if no_tint
    min = $game_time.min
    return if min == @old_time
    @old_time = min
    rgba = get_new_tint(min)
    return if rgba == @old_tint
    @old_tint = rgba
    $game_map.effect_surface.change_color(1,rgba[0],rgba[1],rgba[2],rgba[3])
    end
    def no_tint
    return if $game_map.nil?
    note = $game_map.map_note
    /Notint/ =~ note
    return false unless $~
    return true
    end
    def use_victor
    return if $game_map.nil?
    self.visible = false
    $game_map.screen.shade.change_color(0,0,0,0) if no_tint
    $game_map.screen.shade.change_opacity(0) if no_tint
    return if no_tint
    $game_map.screen.shade.show if !$game_map.screen.shade.visible
    min = $game_time.min
    return if min == @old_time
    @old_time = min
    rgba = get_new_tint(min)
    return if rgba == @old_tint
    @old_tint = rgba
    $game_map.screen.shade.change_color(rgba[0],rgba[1],rgba[2],0)
    $game_map.screen.shade.change_opacity(rgba[3],0)
    end
    def get_new_tint(min)
    ctint = TINTS[$game_time.hour]
    ntint = TINTS[$game_time.hour + 1] unless $game_time.hour + 1 == HOURSINDAY
    ntint = TINTS[0] if $game_time.hour + 1 == HOURSINDAY
    r = ctint.red.to_f - ((ctint.red.to_f - ntint.red) * (min.to_f / MINUTESINHOUR))
    g = ctint.green.to_f - ((ctint.green.to_f - ntint.green) * (min.to_f / MINUTESINHOUR))
    b = ctint.blue.to_f - ((ctint.blue.to_f - ntint.blue) * (min.to_f / MINUTESINHOUR))
    a = ctint.alpha.to_f - ((ctint.alpha.to_f - ntint.alpha) * (min.to_f / MINUTESINHOUR))
    return [r,g,b,a]
    end
    end

    class Window_GameClock < Window_Base
    def initialize
    super(CLOCK_X,CLOCK_Y,CLOCK_WIDTH,clock_height)
    self.opacity = CLOCK_BACK unless SceneManager.scene.is_a?(Scene_Menu)
    update
    self.visible = $gametimeclockvisible unless SceneManager.scene.is_a?(Scene_Menu)
    end
    def clock_height
    return 80 if !CUSTOM_CLOCK2.nil? and CLOCK_FORMAT == 5 and SceneManager.scene.is_a?(Scene_Map)
    return 80 if !CUSTOM_CLOCK2.nil? and MENU_CLOCK_FORMAT == 5 and SceneManager.scene.is_a?(Scene_Menu)
    return 56
    end
    def update
    if NOSECONDS && @set_minute == $game_time.min
    if Graphics.frame_count % BLINK_SPEED / 2 == 0 && USE_BLINK
    return
    end
    end
    contents.clear
    @set_minute = $game_time.min if NOSECONDS
    if SceneManager.scene.is_a?(Scene_Map)
    v = CLOCK_FORMAT
    else
    v = MENU_CLOCK_FORMAT
    end
    string = normal_clock if v == 1
    string = dated_clock if v == 2
    string = military_clock if v == 3
    string = dated_military_clock if v == 4
    string = custom(CUSTOM_CLOCK) if v == 5
    string2 = custom(CUSTOM_CLOCK2) if !CUSTOM_CLOCK2.nil? and v == 5
    contents.draw_text(0,0,contents.width,24,string,1)
    contents.draw_text(0,24,contents.width,24,string2,1) if !CUSTOM_CLOCK2.nil? and v == 5
    end
    def military_clock
    hour = $game_time.hour
    minute = $game_time.min
    if hour < 10 then hour = " " + hour.to_s else hour.to_s end
    if minute < 10 then minute = "0" + minute.to_s else minute.to_s end
    string = hour.to_s + blinky + minute.to_s
    return string
    end
    def dated_military_clock
    hour = $game_time.hour
    minute = $game_time.min
    dayweek = DAYNAMESABBR[$game_time.dayweek]
    day = $game_time.day
    day += 1 unless $USE_REAL_TIME
    if hour < 10 then hour = " " + hour.to_s else hour.to_s end
    if minute < 10 then minute = "0" + minute.to_s else minute.to_s end
    if day < 10 then day = " " + day.to_s end
    string = dayweek.to_s + " " + day.to_s + " "
    string += hour.to_s + blinky + minute.to_s
    return string
    end
    def normal_clock
    meri = "AM"
    hour = $game_time.hour
    minute = $game_time.min
    if hour > 11 then meri = "PM" end
    if hour == 0 then hour = 12; meri = "AM" end
    if hour > 12 then hour -= 12 end
    if hour < 10 then hour = " " + hour.to_s else hour.to_s end
    if minute < 10 then minute = "0" + minute.to_s else minute.to_s end
    string = hour.to_s + blinky + minute.to_s + " " + meri
    return string
    end
    def dated_clock
    meri = "AM"
    hour = $game_time.hour
    minute = $game_time.min
    dayweek = DAYNAMESABBR[$game_time.dayweek]
    day = $game_time.day
    day += 1 unless $USE_REAL_TIME
    if hour > 11 then meri = "PM" end
    if hour == 0 then hour = 12; meri = "AM" end
    if hour > 12 then hour -= 12 end
    if hour < 10 then hour = " " + hour.to_s else hour.to_s end
    if minute < 10 then minute = "0" + minute.to_s else minute.to_s end
    if day < 10 then day = " " + day.to_s end
    string = dayweek.to_s + " " + day.to_s + " "
    string += hour.to_s + blinky + minute.to_s + " " + meri
    return string
    end
    def blinky
    return ":" unless USE_BLINK
    return " " if Graphics.frame_count % BLINK_SPEED > (BLINK_SPEED / 2)
    return ":"
    end
    def custom(array)
    string = ""
    for command in array
    case command
    when "sec"
    sec = $game_time.sec
    sec = "0" + sec.to_s if sec < 10
    string += sec.to_s
    when "min"
    minute = $game_time.min
    minute = "0" + minute.to_s if minute < 10
    string += minute.to_s
    when "hour"
    hour = $game_time.hour
    hour >= 12 ? meri = "PM" : meri = "AM"
    hour = " " + hour.to_s if hour < 10
    string += hour.to_s
    when "hour12"
    hour12 = $game_time.hour
    hour12 -= 12 if hour12 > 12
    hour12 = 12 if hour12 == 0
    string += hour12.to_s
    when "meri"
    hour = $game_time.hour
    hour >= 12 ? meri = "PM" : meri = "AM"
    string += meri.to_s
    when "weekshort"
    dayweek = DAYNAMESABBR[$game_time.dayweek]
    string += dayweek.to_s
    when "weeklong"
    dayweekn = DAYNAMES[$game_time.dayweek]
    string += dayweekn.to_s
    when "day"
    day = $game_time.day
    day += 1 unless $USE_REAL_TIME
    string += day.to_s
    when "month"
    month = $game_time.month
    month += 1 unless $USE_REAL_TIME
    string += month.to_s
    when "monthshort"
    monthna = MONTHNAMESABBR[$game_time.month]
    string += monthna.to_s
    when "monthlong"
    monthn = MONTHNAMES[$game_time.month]
    string += monthn.to_s
    when "year"
    year = $game_time.year
    string += year.to_s
    when "yearp"
    string += $game_time.year_post
    when "blinky"
    string += blinky
    else
    string += command.to_s
    end
    end
    return string
    end
    end

    end

    GameTime.run

    class Window_Base < Window
    alias game_time_convert_escape_characters convert_escape_characters
    def convert_escape_characters(text)
    result = game_time_convert_escape_characters(text)
    result.gsub!(/GTSEC/) { GameTime.sec? }
    result.gsub!(/GTMIN/) { GameTime.mint? }
    result.gsub!(/GTHOUR/) { GameTime.hour? }
    result.gsub!(/GTDAYN/) { GameTime.day? }
    result.gsub!(/GTDAYF/) { GameTime.day_name }
    result.gsub!(/GTDAYA/) { GameTime.day_name_abbr }
    result.gsub!(/GTMONF/) { GameTime.month? }
    result.gsub!(/GTMONN/) { GameTime.month_name }
    result.gsub!(/GTMONA/) { GameTime.month_name_abbr }
    result.gsub!(/GTYEAR/) { GameTime.year? }
    result
    end
    end

    class Scene_Base
    alias game_time_update update
    def update
    game_time_update
    GameTime.update
    end
    end

    class Scene_Map
    alias game_time_post_transfer post_transfer
    alias game_time_init create_all_windows
    alias game_time_map_update update
    alias game_time_start start
    def start
    game_time_start
    GameTime.update_tint
    end
    def create_all_windows
    game_time_init
    @gametimeclock = GameTime::Window_GameClock.new if USECLOCK
    if CUSTOM_CLOCK_BACKGROUND
    @clockbackground = Sprite.new(@gametimeclock.viewport)
    @clockbackground.bitmap = Cache.picture(CUSTOM_CLOCK_BACKGROUND_IMAGE)
    @clockbackground.x = @gametimeclock.x
    @clockbackground.x += CUSTOM_CLOCK_BACKGROUND_X
    @clockbackground.y = @gametimeclock.y
    @clockbackground.y += CUSTOM_CLOCK_BACKGROUND_Y
    end
    end
    def post_transfer
    GameTime.update_tint
    game_time_post_transfer
    end
    def update
    game_time_map_update
    return unless USECLOCK
    @gametimeclock.update unless SceneManager.scene != self
    if Input.trigger?(CLOCK_TOGGLE) and @gametimeclock.nil? == false
    @gametimeclock.visible ? @gametimeclock.visible = false : @gametimeclock.visible = true
    $gametimeclockvisible = @gametimeclock.visible
    @clockbackground.visible = @gametimeclock.visible if @clockbackground
    end
    end
    def clock_visible?(set)
    @gametimeclock.visible = set
    end
    def update_encounter
    if $game_player.encounter
    $game_time_tint.use_default
    SceneManager.call(Scene_Battle)
    end
    end
    end

    class Game_Map
    def map_note
    return @map.note unless @map.nil?
    end
    end

    class Scene_Menu
    alias gt_start start
    alias gt_update update
    def start
    gt_start
    @clock = GameTime::Window_GameClock.new if USECLOCK_MENU
    return if @clock.nil?
    @clock.x = 0
    @clock.y = @gold_window.y - @clock.height
    @clock.width = @gold_window.width
    @clock.create_contents
    end
    def update
    gt_update
    @clock.update unless @clock.nil?
    @clock.contents.clear if SceneManager.scene != self and !@clock.nil?
    end
    end

    class Scene_Battle
    def pre_terminate
    super
    Graphics.fadeout(30) if SceneManager.scene_is?(Scene_Map)
    Graphics.fadeout(60) if SceneManager.scene_is?(Scene_Title)
    $game_time_tint.update
    end
    end

    module DataManager
    class << self
    alias gametime_msc make_save_contents
    alias gametime_esc extract_save_contents
    alias gametime_sng setup_new_game
    end
    def self.make_save_contents
    contents = gametime_msc
    contents[:gametime] = $game_time
    contents
    end
    def self.extract_save_contents(contents)
    gametime_esc(contents)
    $game_time = contents[:gametime]
    end
    def self.setup_new_game
    gametime_sng
    $game_time = GameTime::Current_Time.new
    end
    end

     

     

    entra in conflitto con uno script che non mi sarei mai aspettato, quello di MOG_HUNTER BATTLE RESULT (Script che fa vedere i risultati di battaglia. Oltretutto io utilizzo il Battle system alla MOG, quindi ho parecchi script suoi.)

     

     

    #==============================================================================
    # +++ MOG - Battle Result (1.4) +++
    #==============================================================================
    # By Moghunter
    # http://www.atelier-rgss.com
    #==============================================================================
    # Apresentação animada do resultado da batalha.
    #==============================================================================
    # Arquivos necessários. (Graphics/System)
    #
    # Result.png
    # Result_Layout.png
    # Result_Levelup.png
    # Result_Levelword.png
    # Result_Number_1.png
    # Result_Number_2.png
    #
    #==============================================================================
    # Histórico (Version History)
    #==============================================================================
    # 1.4 - Compatibilidade com o script de pause.
    # 1.3 - Melhoria do código e compatibilidade.
    # 1.2 - Melhoria do código e compatibilidade.
    # - Adição de sons.
    # 1.1 - Corrigido o erro de apresentar o Resultado ao fugir ou perder a batalha.
    #==============================================================================
    module MOG_BATLE_RESULT
    #Posição do EXP.
    RESULT_EXP_POSITION = [440,80]
    #Posição do GOLD.
    RESULT_GOLD_POSITION = [476,125]
    #Posição da palavra LeveL UP.
    RESULT_LEVELWORD_POSITION = [0,0]
    #Posição do Level.
    RESULT_LEVEL_POSITION = [230,-7]
    #Posição dos parâmetros
    RESULT_PARAMETER_POSITION = [70,70]
    #Posição da janela de skill.
    RESULT_NEW_SKILL_POSITION = [240,230]
    #Definição da animação de Level UP.
    RESULT_LEVELUP_ANIMATION_ID = 126
    end

    #==============================================================================
    # ■ Game Temp
    #==============================================================================
    class Game_Temp
    attr_accessor :level_parameter
    attr_accessor :level_parameter_old
    attr_accessor :result
    attr_accessor :battle_end

    #--------------------------------------------------------------------------
    # ● Initialize
    #--------------------------------------------------------------------------
    alias mog_result_initialize initialize
    def initialize
    @level_parameter = []
    @level_parameter_old = []
    @result = false
    @battle_end = false
    mog_result_initialize
    end

    end

    #==============================================================================
    # ■ Game Actor
    #==============================================================================
    class Game_Actor < Game_Battler

    #--------------------------------------------------------------------------
    # ● Display_level_up
    #--------------------------------------------------------------------------
    alias mog_result_display_level_up display_level_up
    def display_level_up(new_skills)
    if $game_temp.result
    $game_temp.level_parameter = [@level,new_skills]
    return
    end
    mog_result_display_level_up(new_skills)
    end

    end

    #==============================================================================
    # ■ BattleManager
    #==============================================================================
    module BattleManager

    #--------------------------------------------------------------------------
    # ● Process Victory
    #--------------------------------------------------------------------------
    def self.process_victory
    play_battle_end_me
    replay_bgm_and_bgs
    if $mog_rgss3_battle_cry != nil
    execute_battle_cry(1, nil, nil)
    end
    battle_end(0)
    SceneManager.return
    return true
    end

    end

    #==============================================================================
    # ■ Spriteset Battle
    #==============================================================================
    class Scene_Battle < Scene_Base

    #--------------------------------------------------------------------------
    # ● Dispose
    #--------------------------------------------------------------------------
    alias mog_battle_result_pre_terminate pre_terminate
    def pre_terminate
    execute_result if can_enable_battle_result?
    mog_battle_result_pre_terminate
    end

    #--------------------------------------------------------------------------
    # ● Can Enable Battle Result?
    #--------------------------------------------------------------------------
    def can_enable_battle_result?
    return false if !$game_troop.all_dead?
    return false if $game_party.members.empty?
    return false if $game_party.all_dead?
    return true
    end

    #--------------------------------------------------------------------------
    # ● Execute Result
    #--------------------------------------------------------------------------
    def execute_result
    @result = Battle_Result.new
    if $mog_rgss3_combo_count != nil
    $game_temp.combo_time = 0 rescue nil
    end
    loop do
    @result.update
    @spriteset.update
    Graphics.update
    Input.update
    break if @result.victory_phase == 10
    end
    @result.dispose
    end

    end

    #==============================================================================
    # ■ Battle Result
    #==============================================================================
    class Battle_Result
    include MOG_BATLE_RESULT

    attr_accessor :victory_phase

    #--------------------------------------------------------------------------
    # ● Initialize
    #--------------------------------------------------------------------------
    def initialize
    $game_temp.battle_end = true
    $game_temp.result = true
    @victory_phase = 0
    @victory_wait_duration = 0
    @fade_result_window = false
    create_victory_sprites
    end

    #--------------------------------------------------------------------------
    # ● Create Victory Sprites
    #--------------------------------------------------------------------------
    def create_victory_sprites
    @result_number = Cache.system("Result_Number_1")
    @result_number2 = Cache.system("Result_Number_2")
    @result_cw = @result_number.width / 10
    @result_ch = @result_number.height / 2
    @result2_cw = @result_number2.width / 10
    @result2_ch = @result_number2.height / 2
    create_victory_text
    create_victory_layout
    create_victory_exp
    create_victory_gold
    create_window_treasure
    end

    #--------------------------------------------------------------------------
    # ● Victory Wait ?
    #--------------------------------------------------------------------------
    def victory_wait?
    return false if @victory_wait_duration <= 0
    @victory_wait_duration -= 1
    return true
    end

    #--------------------------------------------------------------------------
    # ● End Victory
    #--------------------------------------------------------------------------
    def end_victory
    @victory_wait_duration = 10
    dispose
    end

    #--------------------------------------------------------------------------
    # ● Create Victory Layout
    #--------------------------------------------------------------------------
    def create_victory_layout
    return if @victory_layout_sprite != nil
    @victory_layout_sprite = Sprite.new
    @victory_layout_sprite.z = 1001
    @victory_layout_sprite.bitmap = Cache.system("Result_Layout")
    @victory_layout_sprite.zoom_x = 2.0
    @victory_layout_sprite.opacity = 0
    end

    #--------------------------------------------------------------------------
    # ● Create Victory Text
    #--------------------------------------------------------------------------
    def create_victory_text
    return if @victory_sprite != nil
    @victory_sprite = Sprite.new
    @victory_sprite.z = 1000
    @victory_sprite.bitmap = Cache.system("Result")
    @victory_sprite.ox = @victory_sprite.width / 2
    @victory_sprite.oy = @victory_sprite.height / 2
    @victory_sprite.x = @victory_sprite.ox
    @victory_sprite.y = @victory_sprite.oy
    @victory_sprite.zoom_x = 1.5
    @victory_sprite.zoom_y = 1.5
    @victory_sprite.opacity = 0
    end

    end

    #==============================================================================
    # ■ Battle Result
    #==============================================================================
    class Battle_Result

    #--------------------------------------------------------------------------
    # ● Dispose
    #--------------------------------------------------------------------------
    def dispose
    $game_temp.result = false
    $game_temp.battle_end = false
    @victory_sprite.bitmap.dispose
    @victory_sprite.dispose
    @victory_layout_sprite.bitmap.dispose
    @victory_layout_sprite.dispose
    @exp_number.bitmap.dispose
    @exp_number.dispose
    @gold_number.bitmap.dispose
    @gold_number.dispose
    @result_number.dispose
    @window_treasure.dispose
    dispose_level_up
    @result_number.dispose
    @result_number2.dispose
    @tr_viewport.dispose
    end

    #--------------------------------------------------------------------------
    # ● Dispose Result Actor Bitmap
    #--------------------------------------------------------------------------
    def dispose_result_actor_bitmap
    return if @result_actor_sprite == nil
    return if @result_actor_sprite.bitmap == nil
    @result_actor_sprite.bitmap.dispose
    end

    #--------------------------------------------------------------------------
    # ● Dispose Level UP
    #--------------------------------------------------------------------------
    def dispose_level_up
    return if @levelup_layout == nil
    @levelup_layout.bitmap.dispose
    @levelup_layout.dispose
    @levelup_word.bitmap.dispose
    @levelup_word.dispose
    @result_actor_sprite.bitmap.dispose
    @result_actor_sprite.dispose
    @parameter_sprite.bitmap.dispose
    @parameter_sprite.dispose
    @level_sprite.bitmap.dispose
    @level_sprite.dispose
    if @new_skill_window != nil
    @new_skill_window.dispose
    end
    end

    end

    #==============================================================================
    # ■ Battle Result
    #==============================================================================
    class Battle_Result

    #--------------------------------------------------------------------------
    # ● Update
    #--------------------------------------------------------------------------
    def update
    if $mog_rgss3_pause != nil
    update_pause if MOG_PAUSE::PAUSE_SCENE_BATTLE
    end
    return if @victory_phase == nil
    update_victory_fade if @fade_result_window
    return if victory_wait?
    case @victory_phase
    when 0; update_victory_initial
    when 1; update_victory_initial2
    when 2; update_victory_initial3
    when 3; update_victory_exp
    when 4; update_victory_gold
    when 5; update_victory_item
    when 6; update_victory_levelup
    when 9; update_skip_result
    end
    if Input.trigger?(:C)
    if @victory_phase == 10
    end_victory
    elsif @victory_phase.between?(1,5)
    Sound.play_cursor
    @victory_phase = 9
    end
    end
    end

    #--------------------------------------------------------------------------
    # ● Skip Result
    #--------------------------------------------------------------------------
    def update_skip_result
    @victory_sprite.opacity -= 10
    @victory_sprite.visible = false
    @victory_layout_sprite.opacity += 10
    @victory_layout_sprite.zoom_x = 1.00
    @gold_number.opacity += 10
    @gold_number.zoom_x = 1.00
    @gold_number.zoom_y = 1.00
    @exp_number.opacity += 10
    @exp_number.zoom_x = 1.00
    @exp_number.zoom_y = 1.00
    @window_treasure.contents_opacity += 10
    if @exp_old != @exp_total
    @exp_old = @exp_total
    refresh_exp_number
    end
    if @gold_old = @gold_total
    @gold_old = @gold_total
    refresh_gold_number
    end
    @window_treasure.x = 0
    update_victory_item if @window_treasure.contents_opacity == 255
    end

    #--------------------------------------------------------------------------
    # ● Update Victory Fade
    #--------------------------------------------------------------------------
    def update_victory_fade
    fade_speed = 10
    @victory_sprite.opacity -= fade_speed
    @victory_layout_sprite.opacity -= fade_speed
    @gold_number.opacity -= fade_speed
    @exp_number.opacity -= fade_speed
    @window_treasure.contents_opacity -= fade_speed
    end

    #--------------------------------------------------------------------------
    # ● Update Victory Initial
    #--------------------------------------------------------------------------
    def update_victory_initial
    @victory_sprite.zoom_x -= 0.01
    @victory_sprite.zoom_y -= 0.01
    @victory_sprite.opacity += 10
    if @victory_sprite.zoom_x <= 1.00
    @victory_sprite.zoom_x = 1
    @victory_sprite.zoom_y = 1
    @victory_sprite.opacity = 255
    @victory_phase = 1
    @victory_wait_duration = 20
    end
    end

    #--------------------------------------------------------------------------
    # ● Update Victory Initial 2
    #--------------------------------------------------------------------------
    def update_victory_initial2
    @victory_sprite.zoom_x += 0.01
    @victory_sprite.zoom_y += 0.01
    @victory_sprite.opacity -= 10
    if @victory_sprite.opacity <= 0
    @victory_sprite.zoom_x = 1
    @victory_sprite.zoom_y = 1
    @victory_sprite.opacity = 0
    @victory_phase = 2
    end
    end

    #--------------------------------------------------------------------------
    # ● Update Victory Initial 3
    #--------------------------------------------------------------------------
    def update_victory_initial3
    @victory_layout_sprite.zoom_x -= 0.02
    @victory_layout_sprite.opacity += 10
    if @victory_layout_sprite.zoom_x <= 1.00
    @victory_layout_sprite.zoom_x = 1
    @victory_layout_sprite.opacity = 255
    @victory_phase = 3
    end
    end

    end

    #==============================================================================
    # ■ Battle Result
    #==============================================================================
    class Battle_Result

    #--------------------------------------------------------------------------
    # ● Create Victory Exp
    #--------------------------------------------------------------------------
    def create_victory_exp
    @exp_number = Sprite.new
    @exp_number.bitmap = Bitmap.new(@result_number.width,@result_ch)
    @exp_number.z = 1002
    @exp_number.y = RESULT_EXP_POSITION[1]
    @exp_number.zoom_x = 2
    @exp_number.zoom_y = 2
    @exp_total = $game_troop.exp_total
    @exp_number.opacity = 0
    @exp_old = 0
    @exp_ref = ((1 * @exp_total) / 111).truncate rescue nil
    @exp_ref = 1 if @exp_ref < 1 or @exp_ref == nil
    @exp_ref = 0 if @exp_total == 0
    refresh_exp_number
    end

    #--------------------------------------------------------------------------
    # ● Update Victory Exp
    #--------------------------------------------------------------------------
    def update_victory_exp
    update_exp_sprite
    update_exp_number
    end

    #--------------------------------------------------------------------------
    # ● Update EXP Sprite
    #--------------------------------------------------------------------------
    def update_exp_sprite
    @exp_number.opacity += 15
    if @exp_number.zoom_x > 1.00
    @exp_number.zoom_x -= 0.03
    @exp_number.zoom_x = 1.00 if @exp_number.zoom_x <= 1.00
    end
    @exp_number.zoom_y = @exp_number.zoom_x
    if (@exp_old >= @exp_total) and @exp_number.zoom_x == 1.00
    @victory_phase = 4
    Sound.play_cursor
    end
    end

    #--------------------------------------------------------------------------
    # ● Refresh Exp Number
    #--------------------------------------------------------------------------
    def refresh_exp_number
    @exp_number.bitmap.clear
    draw_result_exp(@exp_old, 0,0)
    end

    #--------------------------------------------------------------------------
    # ● Update Exp_number
    #--------------------------------------------------------------------------
    def update_exp_number
    return if @exp_old == @exp_total
    @exp_old += @exp_ref
    @exp_old = @exp_total if @exp_old > @exp_total
    refresh_exp_number
    end

    #--------------------------------------------------------------------------
    # ● Draw Result EXP
    #--------------------------------------------------------------------------
    def draw_result_exp(value,x,y)
    ncw = @result_cw
    nch = @result_ch
    number = value.abs.to_s.split(//)
    x2 = x - (number.size * ncw)
    @exp_number.ox = (number.size * ncw) / 2
    @exp_number.oy = @result_ch / 2
    @exp_number.x = (RESULT_EXP_POSITION[0] + @result_cw + @exp_number.ox) - (number.size * ncw)
    for r in 0..number.size - 1
    number_abs = number[r].to_i
    nsrc_rect = Rect.new(ncw * number_abs, 0, ncw, nch)
    @exp_number.bitmap.blt(x + (ncw * r), y, @result_number, nsrc_rect)
    end
    end

    end

    #==============================================================================
    # ■ Battle Result
    #==============================================================================
    class Battle_Result

    #--------------------------------------------------------------------------
    # ● Create Victory Gold
    #--------------------------------------------------------------------------
    def create_victory_gold
    @gold_number = Sprite.new
    @gold_number.bitmap = Bitmap.new(@result_number.width,@result_ch)
    @gold_number.z = 1002
    @gold_number.y = RESULT_GOLD_POSITION[1]
    @gold_number.opacity = 0
    @gold_number.zoom_x = 2
    @gold_number.zoom_y = 2
    @gold_total = $game_troop.gold_total
    @gold_old = 0
    @gold_ref = ((1 * @gold_total) / 111).truncate rescue nil
    @gold_ref = 1 if @gold_ref < 1 or @gold_ref == nil
    @gold_ref = 0 if @gold_total == 0
    $game_party.gain_gold($game_troop.gold_total)
    refresh_gold_number
    end

    #--------------------------------------------------------------------------
    # ● Update Victory Gold
    #--------------------------------------------------------------------------
    def update_victory_gold
    update_gold_sprite
    update_gold_number
    end

    #--------------------------------------------------------------------------
    # ● Update GOLD Sprite
    #--------------------------------------------------------------------------
    def update_gold_sprite
    @gold_number.opacity += 15
    if @gold_number.zoom_x > 1.00
    @gold_number.zoom_x -= 0.03
    @gold_number.zoom_x = 1.00 if @gold_number.zoom_x <= 1.00
    end
    @gold_number.zoom_y = @gold_number.zoom_x
    if @gold_old >= @gold_total and @gold_number.zoom_x == 1.00
    @victory_phase = 5
    Sound.play_cursor
    end
    end

    #--------------------------------------------------------------------------
    # ● Refresh gold Number
    #--------------------------------------------------------------------------
    def refresh_gold_number
    @gold_number.bitmap.clear
    draw_result_gold(@gold_old, 0,0)
    end

    #--------------------------------------------------------------------------
    # ● Update Gold Number
    #--------------------------------------------------------------------------
    def update_gold_number
    return if @gold_old == @gold_total
    @gold_old += @gold_ref
    @gold_old = @gold_total if @gold_old > @gold_total
    refresh_gold_number
    end

    #--------------------------------------------------------------------------
    # ● Draw Result Gold
    #--------------------------------------------------------------------------
    def draw_result_gold(value,x,y)
    ncw = @result_cw
    nch = @result_ch
    number = value.abs.to_s.split(//)
    x2 = x - (number.size * ncw)
    @gold_number.ox = (number.size * ncw) / 2
    @gold_number.oy = @result_ch / 2
    @gold_number.x = (RESULT_GOLD_POSITION[0] + @result_cw + @gold_number.ox) - (number.size * ncw)
    for r in 0..number.size - 1
    number_abs = number[r].to_i
    nsrc_rect = Rect.new(ncw * number_abs, @result_ch, ncw, nch)
    @gold_number.bitmap.blt(x + (ncw * r), y, @result_number, nsrc_rect)
    end
    end

    end

    #==============================================================================
    # ■ Battle Result
    #==============================================================================
    class Battle_Result

    #--------------------------------------------------------------------------
    # ● Create Window Treasure
    #--------------------------------------------------------------------------
    def create_window_treasure
    @tr_viewport = Viewport.new(-8, 164, 576, 118)
    @tr_viewport.z = 1003
    @window_treasure = Window_Treasure.new
    @window_treasure.viewport = @tr_viewport
    end

    #--------------------------------------------------------------------------
    # ● Update Victory Item
    #--------------------------------------------------------------------------
    def update_victory_item
    @window_treasure.update
    @actor_level = []
    return if @window_treasure.x != 0 and @victory_phase >= 6
    @victory_phase = 6
    @result_member_max = $game_party.battle_members.size
    @result_member_id = 0
    end

    end

    #==============================================================================
    # ■ Window Treasure
    #==============================================================================
    class Window_Treasure < Window_Base

    #--------------------------------------------------------------------------
    # ● Initialize
    #--------------------------------------------------------------------------
    def initialize
    super(-544,-10, 576, 256)
    self.opacity = 0
    self.contents_opacity = 0
    self.contents.font.size = 24
    self.contents.font.bold = true
    self.z = 1003
    @range_max = 256
    @wait_time = 30
    @scroll = false
    draw_treasure
    end

    #--------------------------------------------------------------------------
    # ● Draw_Treasure
    #--------------------------------------------------------------------------
    def draw_treasure
    contents.clear
    t_index = 0
    space_x = 540 / 3
    $game_troop.make_drop_items.each do |item|
    xi = (t_index * space_x) - ((t_index / 3) * (space_x * 3))
    yi = (t_index / 3) * 32
    $game_party.gain_item(item, 1)
    draw_item_name(item,xi, yi, true, 140)
    t_index += 1
    end
    @range_max = (t_index / 3) * 32
    @scroll = true if t_index > 12
    end

    #--------------------------------------------------------------------------
    # ● Update
    #--------------------------------------------------------------------------
    def update
    super
    self.contents_opacity += 10
    if self.x < 0
    self.x += 15
    if self.x >= 0
    self.x = 0
    Sound.play_cursor
    end
    end
    if @scroll and self.contents_opacity == 255 and self.x == 0
    @wait_time -= 1 if @wait_time > 0
    return if @wait_time > 0
    self.y -= 1
    self.y = 128 if self.y < -@range_max
    @wait_time = 30 if self.y == -10
    end
    end

    end

    #==============================================================================
    # ■ Battle Result
    #==============================================================================
    class Battle_Result

    #--------------------------------------------------------------------------
    # ● Create Levelup
    #--------------------------------------------------------------------------
    def create_levelup
    if @levelup_layout == nil
    @levelup_layout = Sprite.new
    @levelup_layout.z = 1000
    @levelup_layout.bitmap = Cache.system("Result_Levelup")
    end
    if @levelup_word == nil
    @levelup_word = Sprite.new
    @levelup_word.z = 1001
    @levelup_word.bitmap = Cache.system("Result_Levelword")
    @levelup_word.ox = @levelup_word.bitmap.width / 2
    @levelup_word.oy = @levelup_word.bitmap.height / 2
    @levelup_word.x = @levelup_word.ox + RESULT_LEVELWORD_POSITION[0]
    @levelup_word.y = @levelup_word.oy + RESULT_LEVELWORD_POSITION[1]
    end
    @levelup_word.blend_type = 1
    @levelup_word.zoom_x = 2
    @levelup_word.zoom_y = 2
    end

    #--------------------------------------------------------------------------
    # ● Create Parameter Number
    #--------------------------------------------------------------------------
    def create_parameter_number
    if @parameter_sprite == nil
    @parameter_sprite = Sprite.new
    @parameter_sprite.bitmap = Bitmap.new(250,220)
    @parameter_sprite.z = 1001
    @parameter_sprite.x = RESULT_PARAMETER_POSITION[0]
    @parameter_sprite.y = RESULT_PARAMETER_POSITION[1]
    @parameter_sprite.bitmap.font.size = 16
    @parameter_sprite.bitmap.font.bold = true
    end
    refresh_parameter
    end

    #--------------------------------------------------------------------------
    # ● Refresh Parameter
    #--------------------------------------------------------------------------
    def refresh_parameter
    @parameter_animation = 0
    @parameter_sprite.bitmap.clear
    @parameter_sprite.opacity = 0
    @parameter_sprite.x = RESULT_PARAMETER_POSITION[0] - 200
    actor_old = $game_temp.level_parameter_old
    draw_result_parameter(@actor_result.mhp,actor_old[1],0,28 * 0)
    draw_result_parameter(@actor_result.mmp,actor_old[2],0,28 * 1)
    draw_result_parameter(@actor_result.atk,actor_old[3],0,28 * 2)
    draw_result_parameter(@actor_result.def,actor_old[4],0,28 * 3)
    draw_result_parameter(@actor_result.mat,actor_old[5],0,28 * 4)
    draw_result_parameter(@actor_result.mdf,actor_old[6],0,28 * 5)
    draw_result_parameter(@actor_result.agi,actor_old[7],0,28 * 6)
    draw_result_parameter(@actor_result.luk,actor_old[8],0,28 * 7)
    end

    #--------------------------------------------------------------------------
    # ● Draw Result EXP
    #--------------------------------------------------------------------------
    def draw_result_parameter(value,value2,x,y)
    ncw = @result2_cw
    nch = @result2_ch
    number = value.abs.to_s.split(//)
    x2 = x + (number.size * ncw) + 16
    for r in 0..number.size - 1
    number_abs = number[r].to_i
    nsrc_rect = Rect.new(ncw * number_abs, 0, ncw, nch)
    @parameter_sprite.bitmap.blt(x + (ncw * r), y, @result_number2, nsrc_rect)
    end
    value3 = value - value2
    par = ""
    if value > value2
    par = "+"
    @parameter_sprite.bitmap.font.color = Color.new(50,255,255)
    elsif value < value2
    par = ""
    @parameter_sprite.bitmap.font.color = Color.new(255,155,100)
    end
    return if value == value2
    @parameter_sprite.bitmap.draw_text(x2,y - 8,100,32,par.to_s + value3.to_s,0)
    end

    #--------------------------------------------------------------------------
    # ● Create Result Actor
    #--------------------------------------------------------------------------
    def create_result_actor
    if @result_actor_sprite == nil
    @result_actor_sprite = Sprite.new
    @result_actor_sprite.z = 999
    end
    dispose_result_actor_bitmap
    @result_actor_sprite.bitmap = Cache.picture("Actor" + @actor_result.id.to_s)
    @result_actor_org = [380 - (@result_actor_sprite.bitmap.width / 2), Graphics.height - @result_actor_sprite.bitmap.height]
    @result_actor_sprite.x = @result_actor_org[0] + 200
    @result_actor_sprite.y = @result_actor_org[1]
    @result_actor_sprite.opacity = 0
    end

    #--------------------------------------------------------------------------
    # ● Check New Skill
    #--------------------------------------------------------------------------
    def check_new_skill
    @new_skills = $game_temp.level_parameter[1]
    @new_skills_index = 0
    end

    #--------------------------------------------------------------------------
    # ● Show New Skill
    #--------------------------------------------------------------------------
    def show_new_skill(start = false)
    Sound.play_recovery unless start
    @new_skill_window.draw_new_skill(@new_skills[@new_skills_index])
    @new_skills_index += 1
    if @new_skills_index == @new_skills.size or
    @new_skills[@new_skills_index] == nil
    @new_skills = nil
    end
    end

    #--------------------------------------------------------------------------
    # ● Check Level UP
    #--------------------------------------------------------------------------
    def check_level_up
    if @new_skills != nil and !@new_skills.empty?
    show_new_skill
    return
    end
    for battler_id in @result_member_id..@result_member_max
    actor_result = $game_party.members[@result_member_id]
    $game_temp.level_parameter = [] if $game_temp.level_parameter == nil
    $game_temp.level_parameter_old = [] if $game_temp.level_parameter_old == nil
    $game_temp.level_parameter.clear
    $game_temp.level_parameter_old.clear
    $game_temp.level_parameter_old = [actor_result.level,actor_result.mhp,actor_result.mmp,
    actor_result.atk, actor_result.def, actor_result.mat, actor_result.mdf, actor_result.agi, actor_result.luk] rescue nil
    actor_result.gain_exp($game_troop.exp_total) rescue nil
    @result_member_id += 1
    @new_skills = nil
    @new_skills_index = 0
    if $game_temp.level_parameter != nil and !$game_temp.level_parameter.empty?
    show_level_result
    break
    end
    end
    return if !$game_temp.level_parameter.empty?
    @victory_phase = 10 if @result_member_id >= @result_member_max
    end

    #--------------------------------------------------------------------------
    # ● Create Level
    #--------------------------------------------------------------------------
    def create_level
    if @level_sprite == nil
    @level_sprite = Sprite.new
    @level_sprite.bitmap = Bitmap.new(200,64)
    @level_sprite.z = 1002
    end
    @level_sprite.bitmap.font.size = 48
    @level_sprite.bitmap.font.bold = true
    @level_sprite.x = RESULT_LEVEL_POSITION[0]
    @level_sprite.y = RESULT_LEVEL_POSITION[1]
    @level_sprite.bitmap.clear
    @level_sprite.bitmap.font.color = Color.new(255,255,255)
    @level_sprite.bitmap.draw_text(0,0,100,64,@actor_result.level,1)
    levelup = @actor_result.level - $game_temp.level_parameter_old[0]
    @level_sprite.bitmap.font.color = Color.new(50,255,255)
    @level_sprite.bitmap.font.size = 18
    @level_sprite.bitmap.draw_text(80,0,100,64,"+" + levelup.to_s ,0)
    end

    #--------------------------------------------------------------------------
    # ● Create New Skill Windos
    #--------------------------------------------------------------------------
    def create_new_skill_window
    if @new_skill_window == nil
    @new_skill_window = Window_Result_Skill.new
    end
    @new_skill_window.x = RESULT_NEW_SKILL_POSITION[0]
    @new_skill_window.y = RESULT_NEW_SKILL_POSITION[1]
    check_new_skill
    if @new_skills != nil and !@new_skills.empty?
    show_new_skill
    else
    @new_skill_window.x = -544
    end
    end

    #--------------------------------------------------------------------------
    # ● Show Level Result
    #--------------------------------------------------------------------------
    def show_level_result
    Sound.play_cursor
    @actor_result = $game_party.members[@result_member_id - 1] rescue nil
    return if @actor_result == nil
    @actor_result.animation_id = RESULT_LEVELUP_ANIMATION_ID
    @fade_result_window = true
    create_levelup
    create_level
    create_parameter_number
    create_result_actor
    create_new_skill_window
    end

    end

    #==============================================================================
    # ■ Battle Result
    #==============================================================================
    class Battle_Result

    #--------------------------------------------------------------------------
    # ● Update Victory Item
    #--------------------------------------------------------------------------
    def update_victory_levelup
    check_level_up if Input.trigger?(:C)
    update_show_levelup
    if @levelup_layout == nil
    @window_treasure.update
    else
    @window_treasure.contents_opacity -= 15
    end
    end

    #--------------------------------------------------------------------------
    # ● Update Show Level UP
    #--------------------------------------------------------------------------
    def update_show_levelup
    return if @levelup_layout == nil
    return if @result_actor_sprite == nil
    @new_skill_window.update
    if @result_actor_sprite.x > @result_actor_org[0]
    @result_actor_sprite.x -= 5
    @result_actor_sprite.opacity += 7
    if @result_actor_sprite.x <= @result_actor_org[0]
    @result_actor_sprite.x = @result_actor_org[0]
    @result_actor_sprite.opacity = 255
    end
    end
    if @levelup_word.zoom_x > 1.00
    @levelup_word.zoom_x -= 0.03
    if @levelup_word.zoom_x < 1.00
    @levelup_word.zoom_x = 1.00
    @levelup_word.blend_type = 0
    end
    end
    @levelup_word.zoom_y = @levelup_word.zoom_x
    if @parameter_sprite.x < RESULT_PARAMETER_POSITION[0]
    @parameter_sprite.opacity += 13
    @parameter_sprite.x += 5
    if @parameter_sprite.x >= RESULT_PARAMETER_POSITION[0]
    @parameter_sprite.opacity = 255
    @parameter_sprite.x = RESULT_PARAMETER_POSITION[0]
    end
    end
    end

    end

    #==============================================================================
    # ■ Window Result Skill
    #==============================================================================
    class Window_Result_Skill < Window_Base

    #--------------------------------------------------------------------------
    # ● Initialize
    #--------------------------------------------------------------------------
    def initialize
    super(0,0, 270, 58)
    self.opacity = 160
    self.contents_opacity = 255
    self.contents.font.name = "Arial"
    self.contents.font.bold = true
    self.z = 1003
    @animation_time = 999
    @org = [MOG_BATLE_RESULT::RESULT_NEW_SKILL_POSITION[0],MOG_BATLE_RESULT::RESULT_NEW_SKILL_POSITION[1]]
    end

    #--------------------------------------------------------------------------
    # ● DrawNew Skill
    #--------------------------------------------------------------------------
    def draw_new_skill(skill)
    contents.clear
    self.contents.font.size = 16
    self.contents.font.color = Color.new(100,200,100)
    contents.draw_text(0,0,100,32, "Nuova abilità",0)
    self.contents.font.color = Color.new(255,255,255)
    draw_item_name_skill(skill,70,0, true, 170)
    self.x = @org[0]
    self.y = @org[1]
    @animation_time = 0
    self.opacity = 0
    self.contents_opacity = 0
    end

    #--------------------------------------------------------------------------
    # ● Draw Item Name
    #--------------------------------------------------------------------------
    def draw_item_name_skill(item, x, y, enabled = true, width = 172)
    return unless item
    draw_icon(item.icon_index, x, y, enabled)
    change_color(normal_color, enabled)
    draw_text(x + 24, y + 4, width, line_height, item.name)
    end

    #--------------------------------------------------------------------------
    # ● Update
    #--------------------------------------------------------------------------
    def update
    super
    return if @animation_time == 999
    @animation_time += 1 if @animation_time != 999
    case @animation_time
    when 0..30
    self.y -= 1
    self.opacity += 5
    self.contents_opacity += 5
    when 31..60
    self.y += 1
    self.opacity += 5
    self.contents_opacity += 5
    else
    self.y = @org[1]
    self.opacity = 255
    self.contents_opacity = 255
    @animation_time = 999
    end
    end

    end

    $mog_battle_result = true

     

     

    Il problema è che se l'advanced system time è attivo e funzionante, i risultati di battaglia non vengono visualizzati e non viene assegnata in nessun caso nessuna ricompensa (soldi, exp, oggetti etc.)

    Qualche buon anima è disposta a dare un'occhiata agli script sopracitati per vedere se l'errore si può risolvere?
    Che Bhunivelze vi benedica <3

  20. Ciao a tutti!
    In un mio progetto di qualche tempo fa (utilizzavo Rpg VX), avevo inserito il Battle System di FF13, quello con gli optimum per chi non lo sapesse!
    A mio parere, era ed è ancora oggi uno script bellissimo che se usato e personalizzato bene, rende le battaglie avvincenti!

    Mi chiedevo se potrebbe esistere già una versione aggiornata per VxAce, oppure in caso, se era possibile effettuare un porting da Vx a VxAce di questo meraviglioso Battle system!
    Questa è l'ultima versione uscita(naturalmente per VX):

    http://www.mediafire.com/download/jmzz2gjtziz/FFXIII-BS-V2-rev2.zip

     

  21. problemi risolti! (il problema ora sta nel 2° post)

     

    Salve a tutti! Ho un problema con questo script:

    http://forums.rpgmakerweb.com/index.php?/topic/3851-advanced-game-time/

    Riguarda l'inserimento di un orologio in-game, altamente personalizzabile. Sfortunatamente ho trovato dei Bug e non riesco a risolverli:

    1)Mettendo l'immagine personalizzata di Background per l'orologio, quest'ultima non viene visualizzata poichè ho azzerato il valore di opacità del window background.

    http://i57.tinypic.com/zjihds.png

    (in questa immagine l'immagine custom si vede in trasparenza perchè l'acqua è leggermente opaca per consentire il riflesso. Sull'erba, l'immagine sparisce! E' come se mettesse l'immagine di background dell'orologio, in ultimo piano!)

    L'errore sta nel fatto che se io mettessi al max l'opacità del window background, e in contemporanea attivassi l'immagine personalizzata, apparirebbe invece la normale finestra di sfondo e non la mia immagine personalizzata. (o entrambi)

    http://i62.tinypic.com/2ywyhok.png

    Il bello sta nel fatto che se io entro nel menù, l'immagine di background custom dell'orologio APPARE! Controllando lo script non ho trovato nulla riguardo l'opacità del background personalizzato.

    http://i58.tinypic.com/2iuujab.png

     

    2)L'orologio sparisce ogni volta che si cambia mappa (per questo motivo, va messo uno script calls in ogni mappa che richiami l'orologio)

    3)Questo problema è molto strano: la PRIMA VOLTA che entri nel menù in una mappa ed hai l'orologio attivo con il background custom, quest'ultimo rimane in sovraimpressione invece di sparire con l'orario. Tornando nuovamente alla mappa, l'orologio non riparte più da solo ma bisogna premere il pulsante specifico (nel mio caso "ALT") per farlo riapparire. Questo vale per la PRIMA VOLTA, già dalla seconda volta che entri nel menù dalla stessa mappa, questo errore non si presenta più, e infatti rientrando nella mappa ritorna subito l'orario (senza background custom......per tornare al punto (1) ... )

    4)Non riesco a trovare la possibilità di usare gli script calls per creare degli eventi in determinati orari. Neanche con la condizione IF ci si riesce... :O

     

    Qualcuno che magari utilizza questo script può illuminarmi sulla questione? Grazie in anticipo!

×
×
  • Create New...