Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

    You don't have permission to chat.
    Load More

Recommended Posts

Nome Script: Video Player
Versione: N/D
Autore/i: SuperOverlord

Informazioni:
Pare che questo sia l'unico script in grado di far funzionare i video su VX.

Features:
Le features sono scritte all'interno dello script, ma riportiamole in italiano:
- Utilizzare il video su mappa o in battaglia richiamando un comando
- Pausa o uscita dal video mentre si gioca
- Video in risoluzione 544x416 o in full screen
- Video nelle Skill

Istruzioni:
All'interno dello script.

Script:

#==============================================================================
#
# SOV ~ Videos
#
#==============================================================================
# Author: SuperOverlord
#==============================================================================
# Features:
#------------------------------------------------------------------------------
# o Play video's on the map or in battle using a simple script event command.
#
# o Optionally pause or exit video's while they play.
#
# o View the video in the game window or in fullscreen.
#
# o Setup video skills, which show the video before damage effects.
#==============================================================================
# Instructions:
#------------------------------------------------------------------------------
# o Place all videos in a folder with the same name as in configuration.
#   This folder is created automatically the first time the game is played if
#   it doesn't already exist.
#
# o Playing Videos when on the map.
#
#   - See script calls below.
#
# o Playing videos in battle.
#
#   - As when on the map the script event command can be used in battle also.
#
#   - As well as this you can setup skills as video skills which display
#     a video before damaging the enemy.
#
#     To do this the following tags can be used in the skills notebox:
#     1) <video_name = "filename">
#        ~ name is the name of the video file. If the filename extension is
#          missing the first file matching that name is used.
#          (Quotes are necessary around the filename)
#
#      As well as the first tag 2 others are available. These tags will only
#      take effect if placed on a line below the first tag.
#      If these don't exist they are assumed true.
#
#      2) <video_exitable = n>   ~ Can the video be exited by the exit input?
#      3) <video_pausable = n>   ~ Can the video be paused?
#         ~ n is replaced with either t or f (t : true, f : false)
#
#      For other Video properties (x,y,width,height,fullscreen) the default
#      settings are used. (See script calls below)
#==============================================================================
# Script Calls:
#------------------------------------------------------------------------------
# Commands (From the script call command on page three of event commands)
#------------------------------------------------------------------------------
# o To change default values for video properties.
#
#  1) Video.default_x = n
#  2) Video.default_y = n
#  3) Video.default_width  = n
#  4) Video.default_height = n
#  5) Video.fullscreen = bool
#  
#  In all 5 commands above:
#  ~ n is an integer value
#  ~ bool is either true or false
#
# o To play videos
#
#   play_video(filename,exitable,pausable)
#   ~ filename : name of video file             (Must be in quotes)
#   ~ exitable : Can the video be exited?       (When left out = true)
#   ~ pausable : Can the video be paused?       (When left out = true)
#  
#   For all other values the default's are used.
#==============================================================================
# Compatibility:
#------------------------------------------------------------------------------
# o Skill videos will depend on the battle system but sould work.
#==============================================================================
# Credit:
#------------------------------------------------------------------------------
# o Credit goes to Trebor and Berka whose scripts helped be figure out the
#   mci_send_stringA function.
#==============================================================================

module SOV
  module Video
  #--------------------------------------------------------------------------
  # Configuration
  #--------------------------------------------------------------------------
    # Name of folder for videos to be held in.
    DIR_NAME = "Videos"
    # Exit video input
    EXIT_INPUT  = Input::B
    # Pause video input
    PAUSE_INPUT = Input::R
  #--------------------------------------------------------------------------
  # End Configuration
  #--------------------------------------------------------------------------
  end
end

#==============================================================================
# Import
#------------------------------------------------------------------------------
$imported = {} if $imported == nil
$imported['Videos'] = true
#==============================================================================

#==============================================================================
# ** SOV::Video::Commands
#==============================================================================

module SOV::Video::Commands
  #--------------------------------------------------------------------------
  # * Play a video
  #  filename : video's filename (with or without extension)
  #  exitable : Can the video be exited
  #  pausable : Can the video be paused
  #--------------------------------------------------------------------------
  def play_video(filename,exitable=true,pausable=true)
    video = Cache.video(filename)
    video.exitable = exitable
    video.pausable = pausable
    if $game_temp.in_battle    # In battle
      $scene.play_video(video)
    else                       # On map
      $game_map.video = video
    end
  end
  #---------------------------------------------------------------------------
  # Define as module function
  #---------------------------------------------------------------------------
  module_function :play_video
end

#==============================================================================
# ** SOV::Video::Regexp
#==============================================================================

module SOV::Video::Regexp
  #--------------------------------------------------------------------------
  # * Skill
  #--------------------------------------------------------------------------
  module Skill
    FILENAME   = /<video[_ ]?(?:file)?name = "(.+)">/i
    PAUSABLE   = /<video[_ ]?paus(?:e|able) = (t|f)>/i
    EXITABLE   = /<video[_ ]?exit(?:able)? = (t|f)>/i
  end
end

#==============================================================================
# ** SOV::Game
#==============================================================================

module SOV::Game
  #--------------------------------------------------------------------------
  # Constants
  #--------------------------------------------------------------------------
  INI = 'Game'
  #--------------------------------------------------------------------------
  # * Get the game windows handle
  #--------------------------------------------------------------------------
  def self.hwnd
    unless defined?(@@hwnd)
      find_window = Win32API.new('user32','FindWindow','pp','i')
      @@hwnd = find_window.call('RGSS Player',title)  
    end
    return @@hwnd
  end
  #--------------------------------------------------------------------------
  # * Get game title
  #--------------------------------------------------------------------------
  def self.title
    unless defined?(@@title)
      @@title = read_ini('title')
    end
    return @@title
  end
  #--------------------------------------------------------------------------
  # * Read ini (Returns nil or match)
  #--------------------------------------------------------------------------
  def self.read_ini(variable,filename=INI)
    reg = /^#{variable}=(.*)$/
    File.foreach(filename+'.ini') { |line| break($1) if line =~ reg }
  end
end

#==============================================================================
# ** Cache
#==============================================================================

module Cache
  #--------------------------------------------------------------------------
  # Class Variables
  #--------------------------------------------------------------------------
  @@vcache = {}
  #--------------------------------------------------------------------------
  # Define as class methods
  #--------------------------------------------------------------------------
  class << self
    #------------------------------------------------------------------------
    # Alias List
    #------------------------------------------------------------------------
    alias sov_video_clear clear unless $@
    #------------------------------------------------------------------------
    # * Get a video object
    #  filename : basename of file
    #------------------------------------------------------------------------
    def video(filename)
      # Get full filename if extension is missing
      if File.extname(filename) == ''
        files = Dir["#{SOV::Video::DIR_NAME}/#{filename}.*"]
        filename = File.basename(files[0]) # Set as first matching file
      end
      # Create or get the video object.
      if @@vcache.has_key?(filename)
        @@vcache[filename]
      else
        @@vcache[filename] = Video.new(filename)
      end
    end
    #------------------------------------------------------------------------
    # * Clear
    #------------------------------------------------------------------------
    def clear
      @@vcache.clear
      sov_video_clear
    end
  end
end

#==============================================================================
# ** RPG::Skill
#==============================================================================

class RPG::Skill < RPG::UsableItem
  #--------------------------------------------------------------------------
  # * Determine if skill has a video skill
  #--------------------------------------------------------------------------
  def video
    if @video == nil
      @note.each_line { |line|
        if @video == nil
          @video = Cache.video($1) if line =~ SOV::Video::Regexp::Skill::FILENAME
        else
          @video.pausable = ($1 == 't') if line =~ SOV::Video::Regexp::Skill::PAUSABLE
          @video.exitable = ($1 == 't') if line =~ SOV::Video::Regexp::Skill::EXITABLE
        end
      }
      @video = :invalid if @video == nil
    end
    return @video
  end
end

#==============================================================================
# ** Video
#------------------------------------------------------------------------------
#  Class handling playing videos.
#==============================================================================

class Video
  #--------------------------------------------------------------------------
  # Constants
  #--------------------------------------------------------------------------
  TYPE_AVI  = 'avivideo'
  TYPE_MPEG = 'mpegvideo'
  #--------------------------------------------------------------------------
  # Class Variables
  #--------------------------------------------------------------------------
  @@default_x = 0
  @@default_y = 0
  @@default_width  = Graphics.width
  @@default_height = Graphics.height
  @@fullscreen = false
  #--------------------------------------------------------------------------
  # * Get and Set default_x/y/width/height
  #--------------------------------------------------------------------------
  for d in %w(x y width height)
    # Define setter method
    module_eval(%Q(def self.default_#{d}=(i); @@default_#{d} = i; end))
    # Define getter method
    module_eval(%Q(def self.default_#{d}; @@default_#{d}; end))
  end
  #--------------------------------------------------------------------------
  # * Get fullscreen
  #--------------------------------------------------------------------------
  def self.fullscreen
    @@fullscreen
  end  
  #--------------------------------------------------------------------------
  # * Set fullscreen
  #--------------------------------------------------------------------------
  def self.fullscreen=(val)
    @@fullscreen = val
  end
  #--------------------------------------------------------------------------
  # * Win32API
  #--------------------------------------------------------------------------
  @@mciSendStringA = Win32API.new('winmm','mciSendStringA','pplp','i')
  #--------------------------------------------------------------------------
  # * Video Command
  #  command_string : string following mci_command_string format
  #  buffer : string to retrieve return data
  #  buffer_size : number of characters in buffer
  #  callback_handle : handle of window to callback to. Used if notify is used
  #                    in the command string. (Not supported by game window)
  #--------------------------------------------------------------------------
  def self.send_command(cmnd_string,buffer='',buffer_size=0,callback_handle=0)
    # Returns error code. No error if NULL
    err = @@mciSendStringA.call(cmnd_string,buffer,buffer_size,callback_handle)
    if err != 0
      buffer = ' ' * 255
      Win32API.new('winmm','mciGetErrorString','LPL','V').call(err,buffer,255)
      raise(buffer.squeeze(' ').chomp('000'))
    end
  end
  #--------------------------------------------------------------------------
  # * Play a video
  #--------------------------------------------------------------------------
  def self.play(video)
    # Make path and buffer
    path = "#{SOV::Video::DIR_NAME}/#{video.filename}"
    buffer = ' ' * 255
    # Initialize device and dock window with game window as parent.
    type = " type #{video.type}" if video.type != ''
    send_command("open #{path}#{type} alias VIDEO style child parent #{SOV::Game.hwnd}")
    # Display video in client rect at x,y with width and height.
    x = video.x
    y = video.y
    width  = video.width
    height = video.height
    send_command("put VIDEO window at #{x} #{y} #{width} #{height}")
    # Begin playing video
    screen = @@fullscreen ? 'fullscreen' : 'window'
    send_command("play VIDEO #{screen}")
    # Start Input and status processing loop
    while buffer !~ /^stopped/
      # Idle processing for a frame
      sleep(1.0/Graphics.frame_rate)
      # Get mode string
      send_command('status VIDEO mode',buffer,255)
      Input.update
      if Input.trigger?(SOV::Video::PAUSE_INPUT) and video.pausable?
        Sound.play_cursor
        if buffer =~ /^paused/                 # If already paused
          send_command("resume VIDEO")         # Resume video
        else                                   # Otherwise
          send_command("pause VIDEO")          # Pause video
        end
      elsif Input.trigger?(SOV::Video::EXIT_INPUT) and video.exitable?
        Sound.play_cancel
        # Terminate loop on exit input
        break
      end
    end
    # Terminate the device
    send_command('close VIDEO')
  end
  #--------------------------------------------------------------------------
  # Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :x
  attr_accessor :y
  attr_accessor :width
  attr_accessor :height
  attr_writer :exitable
  attr_writer :pausable
  attr_reader :filename
  #--------------------------------------------------------------------------
  # * Initialize
  #--------------------------------------------------------------------------
  def initialize(filename)
    unless FileTest.file?("#{SOV::Video::DIR_NAME}/#{filename}")
      raise(Errno::ENOENT,filename)
    end
    @filename = filename
    @x = @@default_x
    @y = @@default_y
    @width  = @@default_width
    @height = @@default_height
    @exitable = true
    @pausable = true
  end
  #--------------------------------------------------------------------------
  # * Get Type
  #--------------------------------------------------------------------------
  def type
    if @type == nil
      case File.extname(@filename)
      when '.avi'; @type = TYPE_AVI
      when '.mpeg'||'.mpg'; @type = TYPE_MPEG
      else
        @type = ''
      end
    end
    @type
  end
  #--------------------------------------------------------------------------
  # * Is the video exitable?
  #--------------------------------------------------------------------------
  def exitable?
    @exitable
  end
  #--------------------------------------------------------------------------
  # * Is the video pausable?
  #--------------------------------------------------------------------------
  def pausable?
    @pausable
  end
  #--------------------------------------------------------------------------
  # Access
  #--------------------------------------------------------------------------
  private_class_method :send_command  
end

#==============================================================================
# ** Game_Interpreter
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # Import
  #--------------------------------------------------------------------------
  include(SOV::Video::Commands)
end

#==============================================================================
# ** Game_Map
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :video  
end

#==============================================================================
# ** Scene_Map
#==============================================================================

class Scene_Map
  #--------------------------------------------------------------------------
  # Alias List
  #--------------------------------------------------------------------------
  alias sov_video_update update unless $@
  #--------------------------------------------------------------------------
  # * Play Video
  #--------------------------------------------------------------------------
  def play_video(video)
    # Memorize and stop current bgm and bgs
    bgm = RPG::BGM.last
    bgs = RPG::BGS.last
    RPG::BGM.stop
    RPG::BGS.stop
    # Play video
    Video.play(video)
    # Restart bgm and bgs
    bgm.play
    bgs.play
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  def update
    if $game_map.video != nil
      play_video($game_map.video)
      $game_map.video = nil
      Input.update
    else
      sov_video_update
    end
  end
end

#==============================================================================
# ** Scene_Battle
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # * Alias list
  #--------------------------------------------------------------------------
  alias sov_video_execute_action_skill execute_action_skill unless $@
  #--------------------------------------------------------------------------
  # * Play Video
  #--------------------------------------------------------------------------
  def play_video(video)
    # Memorize and stop current bgm
    bgm = RPG::BGM.last
    RPG::BGM.stop
    # Play video
    Video.play(video)
    # Restart bgm
    bgm.play
  end
  #--------------------------------------------------------------------------
  # * Execute Action Skill
  #--------------------------------------------------------------------------
  def execute_action_skill
    skill = @active_battler.action.skill    
    if skill.video.is_a?(Video)
      execute_action_video(skill)
    else
      sov_video_execute_action_skill
    end
  end
  #--------------------------------------------------------------------------
  # * Execute Action Video
  #--------------------------------------------------------------------------
  def execute_action_video(skill)
    text = @active_battler.name + skill.message1
    @message_window.add_instant_text(text)
    unless skill.message2.empty?
      wait(10)
      @message_window.add_instant_text(skill.message2)
    end
    wait(20)
    @message_window.clear
    # Fadout to black screen
    br = Graphics.brightness
    120.times { |i| Graphics.brightness = 255 - 255/60 * i; Graphics.update }
    # Play video
    play_video(skill.video)
    # Reset brightness
    Graphics.brightness = br
    targets = @active_battler.action.make_targets
    display_animation(targets, skill.animation_id)
    @active_battler.mp -= @active_battler.calc_mp_cost(skill)
    $game_temp.common_event_id = skill.common_event_id
    for target in targets
      target.skill_effect(@active_battler, skill)
      display_action_effects(target, skill)
    end
  end
end

#==============================================================================
# Pre-Main Processing
#==============================================================================

unless FileTest.directory?(SOV::Video::DIR_NAME) # If directory doesn't exist.
  Dir.mkdir(SOV::Video::DIR_NAME)                # Make the directory
end
Incompatibilità:
All'interno dello script.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

  • Contenuti simili

    • Da Ally
      Nome Script: MSX - Animation Player
      Versione: 1.0
      Autore/i: Melosx
       
      Informazioni:
      Lo script permette di inserire un animazione tipo GIF partendo dai singoli fotogrammi.
       
      Features:
      E' possibile impostare:
      coordinate; numero di fotogrammi; tempo di attesa tra un fotogramma e l'altro. Istruzioni:Inserire lo script sotto Materials e sopra Main. Ulteriori istruzioni sono contenute nello script.
       
      Script
       
       
      Note dell'autore:
      N/A
    • Da Ally
      Nome Script: RM2k/2k3 Graphics
      Versione: 1.4
      Autore/i: mikb89

      Informazioni:


      Mi è capitato di pensare che mi piacerebbe avere la grafica degli rpg maker più vecchi ma, essendo scripter, avere la possibilità di usare il codice.
      Con questo script, potete usare la grafica disponibile per gli rpg maker 2k/2k3 che verrà via codice raddoppiata in dimensioni.
      Anche il testo stesso può, opzionalmente, riprendere l'effetto che aveva nei vecchi maker. I caratteri vengono presi da una tabella bitmap o da file separati e l'effetto colore usato è il classico, cioè, il colore non è quello che sta al centro del quadratino nella windowskin ma l'intero quadratino viene applicato al carattere.

      Screenshots:


      Istruzioni:


      A parte il copiare lo script, c'è da dire che ci vogliono due cartelle di grafica. Una chiamata MidGraphics, usata durante il debug e contenente le immagini originali, e la Graphics che contiene le immagini così come verranno viste all'interno del programma, quindi raddoppiate. In fase di distribuzione, bisogna togliere la Graphics e rinominare MidGraphics con questo nome, in modo da renderla la cartella effettiva.
      Riassunto:
      Mentre sviluppi il gioco:
      MidGraphics: contiene grafica vera e propria.
      Graphics: contiene la grafica a dimensioni doppie solo per il programma.
      Rilascio:
      Graphics -> Rimossa
      MidGraphics -> Graphics

      Per la gestione della grafica raddoppiata , 255 ha creato Rumurumu , uno straordinario tool che in maniera automatica e trasparente si occupa di gestire la cartella Graphics e di correggere la trasparenza di immagini in blocco! Grazie 255!!!

      Per importare direttamente i charset del 2k/2k3 potete inserire il simbolo # davanti al nome del file. Esempio: '#Chara1'. Così facendo lo script mostrerà correttamente le direzioni dei charset (i charset del 2k/2k3 hanno infatti posizioni diverse).
      Questa funzione è però DEPRECATA e infatti verrà rimossa al prossimo aggiornamento. Rumurumu invece si occuperà anche di questa conversione e, in futuro, della conversione dei chipset.

      Per il font , dentro System, c'è un file chiamato Font.png contenente i caratteri del testo. FontB.png sono i caratteri in grassetto, FontI.png quelli in corsivo e FontBI.png lo lascio alla vostra immaginazione.
      In alternativa , va creata una cartella Font dentro System, contenente le cartelle B, I e BI, e i file nel formato f + numero carattere. Ad esempio "f49.png" è lo zero. Le cartelle B, I e BI conterranno i file allo stesso modo.
      Allegato c'è un pacchetto con font fatti da me.

      Script:
      Visibile su Pastebin .

      Demo:

      Cartella Mediafire con l'ultima versione (sia demo ita e ing di 3 MB che RTP di 13 MB):
      http://www.mediafire.../?0s7e0cgtdu3sm

      Pacchetto Bitmap font v1.0:
      http://www.mediafire...ilzfyysj21m1syv

      Note dell'Autore:

      Consiglio di scaricare la demo o l'RTP anziché copiaincollare il codice in quanto vi evitate di dover sistemare le cartelle.
      Ringrazio 255 per tutto il lavoro che ha fatto!
    • Da Ally
      Nome Script: RM2k/2k3 Graphics (320x240)
      Versione: 1.4
      Autore/i: mikb89 & 255

      Informazioni:



      Versione per il VX Ace di questo script . Rende possibile l'utilizzo di grafica old style (RPG Maker 2000/2003), tileset 16x16 anziché 32x32. Lancia il gioco in risoluzione 320x240 ma con la finestra allargata a 640x480.
      È possibile sia mantenere i font del VX Ace sia avere quelli "old style".

      Screenshots:


      Istruzioni:



      Il contenuto del file zip è un template, ovvero un progetto da cui è possibile partire per creare il proprio gioco.

      Il modo di organizzare il vostro progetto è quello che segue.
      Su Graphics ci vanno le immagini ingrandite (dimensione normale di VX Ace), mentre su MidGraphics ci vanno le immagini in risoluzione RM2k/2k3 (dimezzate).
      Le immagini su Graphics servono solo all'editor per visualizzare correttamente i tileset, mentre testando il gioco l'EXE userà le immagini a dimensione ridotta che si trovano su MidGraphics.

      Lanciando il gioco fuori dal programma, al contrario, l'EXE andrà a leggere la cartella Graphic. Quindi quando volete fare la release del vostro gioco eliminate la cartella Graphics (magari backuppandola prima), e rinominate la cartella MidGraphics in Graphics.

      Per ridimensionare automaticamente le risorse (e altre comodità) potete utilizzare il fantastico Rumurumu .

      Per importare direttamente i charset del 2k/2k3 potete inserire il simbolo # davanti al nome del file. Esempio: '#Chara1'. Così facendo lo script mostrerà correttamente le direzioni dei charset (i charset del 2k/2k3 hanno infatti posizioni diverse).
      Questa funzione è però DEPRECATA e infatti verrà rimossa al prossimo aggiornamento. Rumurumu invece si occuperà anche di questa conversione e, in futuro, della conversione dei chipset.

      Per il font , dentro System, c'è un file chiamato Font.png contenente i caratteri del testo. FontB.png sono i caratteri in grassetto, FontI.png quelli in corsivo e FontBI.png lo lascio alla vostra immaginazione.
      In alternativa , va creata una cartella Font dentro System, contenente le cartelle B, I e BI, e i file nel formato f + numero carattere. Ad esempio "f49.png" è lo zero. Le cartelle B, I e BI conterranno i file allo stesso modo.
      Allegato c'è un pacchetto con font fatti da me.

      Script:


      Visibile su Pastebin .

      Demo:


      Template:
      http://www.mediafire.com/?xdba49176p12w

      Pacchetto Bitmap font v1.0:
      http://www.mediafire...ilzfyysj21m1syv

      Note dell'Autore:


      Consiglio di scaricare il template anziché copiaincollare il codice in quanto vi evitate di dover sistemare le cartelle.
    • Da Ally
      Nome Script: Transizioni Battaglie
      Versione: 1.0
      Autore/i: FlipelyFlip
       
      Informazioni:
      Permette di inserire transizioni per battaglie specifiche oppure di lasciarle casuali ad ogni battaglia.
       
      Istruzioni:
      Inserite lo script sotto Material.
       
      Le istruzioni sono all'interno dello script.
       
      Script:
       

      #=============================================================================== # * Battle Transistion System V1.0 #------------------------------------------------------------------------------- # By FlipelyFlip #=============================================================================== =begin With this script you can change the battle transition to randomize the transition for random battles. Also you can set random transition for boss battles or set a specified transition for battles. Everything is possible (: =end module Flip TransitTypVarID = 1 # Variable ID for defining if it's a normal, special or # boss battle transition. BossDuratVarID = 2 # Variable ID for the duration of the transition # standard is 60. The higher the number, the longer the transition would take. BossDirect = "Graphics/System/" # sets the direction where the graphics are BossTransit = [ # <-- do not remove this!! "BossStart", # set up the graphics name for boss transition "BossBattle2", "BossBattle3", ] # <-- do not remove this!! SpecialDuratVarID = 3 # Variable ID for the duration of the transition # no standard. The higher the number, the longer the transition would take. SpecialDirect = "Graphics/System/" # sets the direction where the graphics are SpecialTransit = [ # <-- do not remove this!! "BattleStart5", # set up the graphics name for special "BattleStart6", # transition "BattleStart7", ] # <-- do not remove this!! CustomDuratVarID = 4 # Variable ID for the duration of the transition # standard is 60. The higher the number, the longer the transition would take. CustomDirect = "Graphics/System/" # sets the direction where the graphics are. CustomTransitVarID = 5 # Variable ID to save the name of the transition. # to set the name of transition in a variable, you have to use the call script # command. Write then in: # $game_variables[Flip] = "TransitionName" RandomDuratVarID = 6 # Variable ID for the Duration of the transition # standard is 60. The higher the number, the longer the transition would take. RandomDirect = "Graphics/System/" # sets the direction where the graphics are RandomTransit = [ # <-- do not remove this!! "BattleStart1", # set up the graphics name for random "BattleStart2", # transitions. "BattleStart3", "BattleStart4", "BattleStart", ] # <-- do not remove this!! end #============================================================================== # ** Scene_Map #------------------------------------------------------------------------------ # This class performs the map screen processing. #============================================================================== class Scene_Map #-------------------------------------------------------------------------- # ● Execute Pre-battle Transition #-------------------------------------------------------------------------- def perform_battle_transition if $game_variables[Flip] == 1 # check if variable == 1 for # Bossbattletransition (: Graphics.transition($game_variables[BossDuratVarID], Flip::BossDirect+Flip::BossTransit[rand(Flip::BossTransit.size)], 100) elsif $game_variables[Flip] == 2 # check if variable == 2 for # Specialtransition. Used for Transitions which are not for random battles, # also not for boss battles. Graphics.transition($game_variables[Flip], Flip::SpecialDirect+Flip::SpecialTransit[rand(Flip::SpecialTransit.size)], 100) elsif $game_variables[Flip] == 3 # check if variable == 3 for # Customtransition. Used to specify one transition for a battle. Graphics.transition($game_variables[Flip], Flip::CustomDirect+$game_variables[Flip], 100) else # Used for random battles Graphics.transition($game_variables[Flip], Flip::RandomDirect+Flip::RandomTransit[rand(Flip::RandomTransit.size)], 100) end Graphics.freeze end end class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # ● Command New Game #-------------------------------------------------------------------------- alias flip_transition_default_command_new_game command_new_game def command_new_game flip_transition_default_command_new_game $game_variables[Flip] = 60 # sets the BossDurationVarID to 60 $game_variables[Flip] = 60 # sets the CustomDurationVarID to # 60 $game_variables[Flip] = 60 # sets the RandomDuratVarID to 60 end end Note dell'Autore:Lo script è di libero utilizzo.
      Se dovesse venire utilizzato per scopi commerciali, contattate l'Autore.
    • Da Ally
      Nome Script: Set Transizioni
      Versione: 1.0
      Autore/i: Rafael Sol Maker
       
      Informazioni:
      Può sembrare uguale all'altro script per impostare le transition, ma non è così http://rpgmkr.net/forum/public/style_emoticons/default/xd.gif
      Infatti in questo è possibile modificare quello per il trasporto su una mappa, quello per iniziare la battaglia, e così via...
       
      Istruzioni:
      Inserite lo script sotto Material.
      Le immagini delle Transition, dovranno essere inserite nella rispettiva cartella.
       
      Script:
       

      #=============================================================================== # RAFAEL_SOL_MAKER's ACE TRANSITION SET v1.0 #------------------------------------------------------------------------------- # Description | With this script you can use a set of multiple customized # | transitions in the teleport, or at the beginning or end of # | battles. You can configure in and out transitions, so a total # | of six different transitions can be used within your game. #------------------------------------------------------------------------------- # Script Usage | To change the transitions in-game use the following command: # | # -> | set_transition (transition, filename) # | # | Where 'transition' accepts the following values: MAP_IN, # | MAP_OUT, BATTLE_IN, BATTLE_OUT, BATTLE_END_IN, BATTLE_END_OUT; # | And 'filename' is the name of the bitmap used for transition, # | which should be in the folder 'Graphics/Transitions/'. # | If you prefer to use the fade effect instead, just use a blank # | filename, a empty quote: "" ; # | # -> | set_transition_wait (duration) # | # | To set the transition's delay time, in frames. # | # -> | OBS.: Also uses a teleport sound effect that can be configured # | by Sound module. The settings and default values can be found # | in the configurable module. #------------------------------------------------------------------------------- # Special Thanks: Angel Ivy-chan #------------------------------------------------------------------------------- #=============================================================================== #=============================================================================== # VERSION HISTORY #------------------------------------------------------------------------------- # ACE TRANSITION SET v1.0 - 04/12/2011(dd/mm/yyyy) # * Initial release (and my very first script in RGSS3!) #------------------------------------------------------------------------------- #=============================================================================== module PPVXAce_General_Configs # TRANSITION BETWEEN THE SCENES Transition_In = 'Blind01' # Map Transition (in) Transition_Out = 'Blind02' # Map Transition (out) Battle_In = 'Blind03' # Battle Transition (in) Battle_Out = 'Blind04' # Battle Transition (out) Battle_End_In = 'Brick01' # Battle End Transition (in) Battle_End_Out = 'Brick02' # Battle End Transition (out) Transition_Wait = 60 # Transition Delay, in Frames end module Cache # Preparation of Transitions in Cache def self.transition(filename) load_bitmap('Graphics/Transitions/', filename) end end module Sound # Teleport's Sound Effect def self.play_teleport Audio.se_play('Audio/SE/Run', 25, 50) end end class Game_Interpreter include PPVXAce_General_Configs MAP_IN = 1 #Transition: Map In MAP_OUT = 2 #Transition: Map Out BATTLE_IN = 3 #Transition: Battle In BATTLE_OUT = 4 #Transition: Battle Out BATTLE_END_IN = 5 #Transition: End of Battle In BATTLE_END_OUT = 6 #Transition: End of Battle Out #-------------------------------------------------------------------------- # Change Transitions Between Scenes #-------------------------------------------------------------------------- def set_transition (transition = MAP_IN, filename = '') # Selects which transition will be changed case transition when MAP_IN $game_system.map_in = filename when MAP_OUT $game_system.map_out = filename when BATTLE_IN $game_system.battle_in = filename when BATTLE_OUT $game_system.battle_out = filename when BATTLE_END_IN $game_system.battle_end_in = filename when BATTLE_END_OUT $game_system.battle_end_out = filename end end #-------------------------------------------------------------------------- # Change the Transition Delay #-------------------------------------------------------------------------- def set_transition_wait (duration = 45) $game_system.transition_wait = duration end end class Game_System include PPVXAce_General_Configs attr_accessor :map_in attr_accessor :map_out attr_accessor :battle_in attr_accessor :battle_out attr_accessor :battle_end_in attr_accessor :battle_end_out attr_accessor :transition_wait attr_accessor :was_in_battle alias solmaker_transition_initialize initialize def initialize solmaker_transition_initialize load_transitions end def load_transitions @map_in = Transition_In @map_out = Transition_Out @battle_in = Battle_In @battle_out = Battle_Out @battle_end_in = Battle_End_In @battle_end_out = Battle_End_Out @transition_wait = Transition_Wait @was_in_battle = false end end class Scene_Map < Scene_Base def pre_transfer @map_name_window.close case $game_temp.fade_type when 0 perform_map_transition_out when 1 white_fadeout(fadeout_speed) end end def post_transfer case $game_temp.fade_type when 0 perform_map_transition_in when 1 white_fadein(fadein_speed) end @map_name_window.open end def perform_transition if Graphics.brightness == 0 Graphics.transition(0) fadein(fadein_speed) else $game_system.was_in_battle ? perform_battle_end_transition : super end end def perform_battle_transition filename = "" if $game_system.battle_out != "" filename = 'Graphics/Transitions/'+ $game_system.battle_out end Graphics.transition($game_system.transition_wait, filename) Graphics.freeze end def perform_battle_end_transition $game_system.was_in_battle = false filename = "" if $game_system.battle_end_in != "" filename = 'Graphics/Transitions/' + $game_system.battle_end_in end Graphics.transition($game_system.transition_wait, filename) end def perform_map_transition_out Graphics.freeze @spriteset.dispose filename = "" if $game_system.map_out != "" filename = 'Graphics/Transitions/' + $game_system.map_out end Graphics.transition($game_system.transition_wait, filename) end def perform_map_transition_in Graphics.wait($game_system.transition_wait / 2) Graphics.freeze @spriteset = Spriteset_Map.new filename = "" if $game_system.map_in != "" filename = 'Graphics/Transitions/' + $game_system.map_in end Graphics.transition($game_system.transition_wait, filename) end end class Scene_Battle < Scene_Base def perform_transition filename = "" if $game_system.battle_in != "" filename = 'Graphics/Transitions/'+ $game_system.battle_in end Graphics.transition($game_system.transition_wait, filename) end def pre_terminate super $game_system.was_in_battle = true perform_map_transition if SceneManager.scene_is?(Scene_Map) Graphics.fadeout(60) if SceneManager.scene_is?(Scene_Title) end def perform_map_transition Graphics.freeze @spriteset.dispose filename = "" if $game_system.battle_end_out != "" filename = 'Graphics/Transitions/' + $game_system.battle_end_out end Graphics.transition($game_system.transition_wait, filename) end end Note dell'Autore:Per un uso commerciale, contattate l'Autore.
×