Cerca nel Forum
Showing results for tags 'Graphic Mod'.
Trovato 15 risultati
-
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
-
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!
-
Graphic Mod RM2k/2k3 Graphics (320x240) 1.4
Ally ha aggiunto un topic in Scripts RPG Maker VX Ace (RGSS3)
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. -
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.
-
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.
-
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.
-
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!
-
Nome Script: Schermo intero automatico Versione: isaacsol Autore/i: N/D Informazioni: Come dice il titolo stesso, una semplice aggiunta per far partire automaticamente il gico a schermo intero. Istruzioni: Inserite il mini script al di sopra di TUTTI quelli dello script editor. Script: begin if not $full $showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), '' $showm.call(18,0,0,0) $showm.call(13,0,0,0) $showm.call(13,0,2,0) $showm.call(18,0,2,0) $full = 1 end end
-
Nome Script: Zoom Script Versione: N/D Autore/i: Jet, Zeriab, Piejamas Informazioni: Come da titolo,si potrà avere uno zoom sulla mappa e le immagini spiegheranno meglio =) Istruzioni: All'interno dello script. Script: #=============================================================================== # Zoom Script # By Jet10985 (Jet) # Original Code by: Zeriab # Small fixes by: Piejamas #=============================================================================== # This script will enable the user to zoom in and out of the map. It also allows # them to have a classic looking map transfer if they want it. # This script has: 15 customization options. #=============================================================================== # Overwritten Methods: # None #------------------------------------------------------------------------------- # Aliased methods: # Spriteset_Map: initialize, dispose # Game_Temp: initialize # Scene_Map: update_transfer_player, call_battle, perform_battle_transition #=============================================================================== =begin How to zoom anywhere: to zoom in a specific part, use the following script in an Event "Script..." zoom_screen(duration, end_value, player, fade, fade_duration) duration = time in frames for zoom to complete. 60 frames = 1 second end_value = how far in the zoom goes, as in 10x size or 5x size. Use just number, no x. player = does the zoom zoom-in on the player? true or false. false will make it so the zoom will zoom-in in the event that calls the zoom. fade = true or false. true make the screen fade to black while zooming. fade_duration = how long does it take to fade in frames? 60 frames = 1 second You must specify duration AND end_value, but not always the rest. If the others aren't specified, they will default like so: player will be true fade will be false fade_duration will be 1 Ex. zoom_screen(120, 10) This will zoom in on the player with a 10x zoom, and will last for 2 seconds with no fading. -------------------------------------------------------------------------------- How to end zoom: to end the zoom, use the following script in an Event "Script..." end_zoom_screen(zoom_out) zoom_out = true or false. if true, it will end by zooming out. if false, it will just revert back to regular map. You can just put end_zoom_screen and it will assume that zoom_out is true end_zoom_screen automatically detects if a fade occured during the zoom, and will fade back in automatically. -------------------------------------------------------------------------------- Notes: While zoomed in, the player will not be able to move. Pictures and message windows can still be displayed. Pictures must have a Z value of 200+ in order to show above the zoom. =end module JetZoomScript # When you transfer to a new map, do you want to have a cool zoom-in # transfer? If false, you can skip down to ZOOM_BATTLE_TRANSFER. ZOOM_TRANSFER = true # With the zoom transfer, do you also want the screen to fade to black, # then fade back normally when you're on the next map? ZOOM_AND_FADE = false # After the zoom transfer, you you want a zoom out effect instead of # just the map? ZOOM_OUT_AFTER_TRANSFER = false # While transfering, do you want the previous map to slowly become # intangible? USE_OPACITY_CHANGE_ON_ZOOMSHOT = true # What's the factor you want to zoom-in with on zoom transfers? TRANSFER_ZOOM_AMOUNT = 10 # How long in frames does the transfer zoom take to zoom in? # 60 frames = 1 second TRANSFER_ZOOM_IN_TIME = 120 # This is the acceleration factor of the transfer zoom. The lower the factor, # the higher it accelerates, so the higher the factor, the slower. TRANSFER_ZOOM_FACTOR = 2.3 # How long in frames does the transfer zoom take to zoom out? # Don't bother with this if ZOOM_OUT_AFTER_TRANSFER is false # 60 frames = 1 second TRANSFER_ZOOM_OUT_TIME = 120 # How long in frames does the transfer zoom take to fade to black? # Don't bother with this if ZOOM_AND_FADE is false # 60 frames = 1 second TRANSFER_ZOOM_FADE_IN = 120 # How long in frames does the transfer zoom take to fade back into light? # Don't bother with this if ZOOM_AND_FADE is false # Also don't bother with this if ZOOM_OUT_AFTER_TRANSFER is false # 60 frames = 1 second TRANSFER_ZOOM_FADE_OUT = 120 # If this switch is on, then transfer zoom will be temporarily disabled. NO_ZOOM_TRANSFER_SWITCH = 1 # Instead of the lame default battle enter sequence, do you want # to zoom in on your character when entering into battle? ZOOM_BATTLE_TRANSFER = true # What's the factor you want to zoom-in with on zoom battle transfers? BATTLE_TRANSFER_ZOOM_AMOUNT = 10 # How long in frames does the battle transfer zoom take to zoom in? # 60 frames = 1 second BATTLE_TRANSFER_ZOOM_IN_TIME = 100 # This is the acceleration factor of the battle transfer zoom. The lower the # factor, the higher it accelerates, so the higher the factor, the slower. BATTLE_TRANSFER_ZOOM_FACTOR = 2.3 end #=============================================================================== # DON'T EDIT FURTHER UNLESS YOU KNOW WHAT TO DO. #=============================================================================== class Spriteset_Map alias jet4762_initialize initialize unless $@ def initialize jet4762_initialize @disposed = false end alias jet7233_dispose dispose unless $@ def dispose jet7233_dispose @disposed = true end def disposed? return @disposed end end class Scene_Map def spriteset return @spriteset end end class Game_Temp attr_accessor :player_height, :display_x, :display_y alias jet4672_initialize initialize unless $@ def initialize jet4672_initialize @player_height = 0 @display_x = 0 @display_y = 0 end end class Scene_Map < Scene_Base include JetZoomScript alias jet7833_update_transfer_player update_transfer_player unless $@ def update_transfer_player if $game_switches[NO_ZOOM_TRANSFER_SWITCH] || !ZOOM_TRANSFER jet7833_update_transfer_player else return unless $game_player.transfer? zoom = (Graphics.brightness > 0 && $game_map.screen.brightness > 0) fadeout = ZOOM_AND_FADE ? TRANSFER_ZOOM_FADE_OUT : -1 fadein = ZOOM_AND_FADE ? TRANSFER_ZOOM_FADE_IN : -1 zoom_screen(TRANSFER_ZOOM_IN_TIME, 1, TRANSFER_ZOOM_AMOUNT, fadeout) if zoom if !USE_OPACITY_CHANGE_ON_ZOOMSHOT && ZOOM_OUT_AFTER_TRANSFER or !USE_OPACITY_CHANGE_ON_ZOOMSHOT && ZOOM_AND_FADE && !ZOOM_OUT_AFTER_TRANSFER @spriteset.dispose unless @spriteset.disposed? $game_player.perform_transfer $game_map.update @spriteset = Spriteset_Map.new if @spriteset.disposed? end $game_map.autoplay if ZOOM_OUT_AFTER_TRANSFER zoom_screen(TRANSFER_ZOOM_OUT_TIME, TRANSFER_ZOOM_AMOUNT, 1, fadein) if zoom end if ZOOM_AND_FADE && !ZOOM_OUT_AFTER_TRANSFER fadein(TRANSFER_ZOOM_FADE_IN) end end end def zoom_screen(duration, start_value, end_value, fade_duration) $game_temp.player_height = @spriteset.player_height $game_temp.display_x = $game_player.screen_x $game_temp.display_y = $game_player.screen_y Graphics.brightness = 255 @zoom_bitmap = Graphics.snap_to_bitmap @zoom_sprite = Sprite.new @zoom_sprite.z = 9999 @zoom_sprite.bitmap = @zoom_bitmap if USE_OPACITY_CHANGE_ON_ZOOMSHOT && !ZOOM_OUT_AFTER_TRANSFER @spriteset.dispose $game_player.perform_transfer $game_map.update @spriteset = Spriteset_Map.new end do_zoom(duration, start_value, end_value, fade_duration) @zoom_sprite.dispose @zoom_bitmap.dispose end def do_zoom(times, start_value, end_value, fade_duration) value = start_value if start_value > end_value && ZOOM_AND_FADE Graphics.brightness = 0 end for i in 0...times percent = (i.to_f / times) ** TRANSFER_ZOOM_FACTOR value = value + percent * (end_value - value) if USE_OPACITY_CHANGE_ON_ZOOMSHOT and !(start_value > end_value) @zoom_sprite.opacity -= 255 / TRANSFER_ZOOM_IN_TIME @zoom_sprite.update end if ZOOM_AND_FADE if start_value < end_value Graphics.brightness -= 255 / fade_duration elsif start_value > end_value Graphics.brightness += 255 / fade_duration end end zoom_sprite(@zoom_sprite, value) Graphics.update end end def zoom_sprite(sprite, amount) sx = $game_temp.display_x sy = $game_temp.display_y - $game_temp.player_height / 2 gw = Graphics.width gh = Graphics.height width = gw * amount height = gh * amount x = [sx * amount - (gw / 2), 0].max x = [x, width - gw].min y = [sy * amount - (gh / 2), 0].max y = [y, height - gh].min sprite.zoom_x = amount sprite.zoom_y = amount sprite.ox = x / amount sprite.oy = y / amount end alias jet6592_call_battle call_battle unless $@ def call_battle jet6592_call_battle if ZOOM_BATTLE_TRANSFER $game_temp.player_height = @spriteset.player_height $game_temp.display_x = $game_player.screen_x $game_temp.display_y = $game_player.screen_y Graphics.brightness = 255 @zoom_bitmap = Graphics.snap_to_bitmap @zoom_sprite = Sprite.new @zoom_sprite.z = 199 @zoom_sprite.bitmap = @zoom_bitmap value = 1 for i in 0...BATTLE_TRANSFER_ZOOM_IN_TIME percent = (i.to_f / BATTLE_TRANSFER_ZOOM_IN_TIME) ** BATTLE_TRANSFER_ZOOM_FACTOR value = value + percent * (BATTLE_TRANSFER_ZOOM_AMOUNT - value) zoom_sprite(@zoom_sprite, value) Graphics.update end end end alias jet4721_perform_battle_transition perform_battle_transition unless $@ def perform_battle_transition if !ZOOM_BATTLE_TRANSFER jet4721_perform_battle_transition else @zoom_sprite.dispose @zoom_bitmap.dispose end end end class Spriteset_Map def player_height @character_sprites[-1].height end end class Game_Interpreter def zoom_sprite(sprite, amount) sx = $game_temp.display_x sy = $game_temp.display_y - $game_temp.player_height / 2 gw = Graphics.width gh = Graphics.height width = gw * amount height = gh * amount x = [sx * amount - (gw / 2), 0].max x = [x, width - gw].min y = [sy * amount - (gh / 2), 0].max y = [y, height - gh].min sprite.zoom_x = amount sprite.zoom_y = amount sprite.ox = x / amount sprite.oy = y / amount end def zoom_screen(times, end_value, player = true, fade = false, fade_duration = 1) $game_temp.player_height = $scene.spriteset.player_height if player $game_temp.display_x = $game_player.screen_x $game_temp.display_y = $game_player.screen_y else $game_temp.display_x = $game_map.events[@original_event_id].screen_x $game_temp.display_y = $game_map.events[@original_event_id].screen_y end Graphics.brightness = 255 @zoom_bitmap = Graphics.snap_to_bitmap @zoom_sprite = Sprite.new @zoom_sprite.z = 199 @zoom_sprite.bitmap = @zoom_bitmap value = 1 @start_value = 1 @[member=endriu]_value = end_value @fade = fade @fade_duration = fade_duration @times = times if 1 > end_value && fade Graphics.brightness = 0 end for i in 0...times percent = (i.to_f / times) ** 2.3 value = value + percent * (end_value - value) if fade if 1 < end_value Graphics.brightness -= 255 / fade_duration elsif 1 > end_value Graphics.brightness += 255 / fade_duration end end zoom_sprite(@zoom_sprite, value) Graphics.update end end def end_zoom_screen(zoom_out = true) if zoom_out value = @[member=endriu]_value if @[member=endriu]_value > @start_value && @fade Graphics.brightness = 0 end for i in 0...@times percent = (i.to_f / @times) ** 2.3 value = value + percent * (@start_value - value) if @fade if @start_value < @[member=endriu]_value Graphics.brightness -= 255 / fade_duration elsif @start_value > @[member=endriu]_value Graphics.brightness += 255 / fade_duration end end zoom_sprite(@zoom_sprite, value) Graphics.update end end @zoom_sprite.dispose @zoom_bitmap.dispose end end unless $engine_scripts.nil? JetEngine.active("Zoom Script", 1) end F.A.Q: D: Dove devo inserire questo script? R: Lo script va inserito sopra Main. D: Come posso modificare_____? R: Ci sono le istruzioni all'interno dello script per modificare qualcosa,se no posta nel topic per aiuto. D: Posso zoomare con questo script? R: Si. D: Cosa faccio in caso di errore? R: In caso di errore posta una immagine dell'errore e di essere il più chiaro possibile così che possiamo aiutarti.
-
Nome Script: Video Picture Versione: 1.0 Autore/i: Rafidelis Informazioni: Questo script crea un video usando picture e animazioni separate... Con questo script si può: - Controllare la riproduzione del video (pausa,riavvia...) - Posizionare il video sullo schermo - Scegliere la velocità di esecuzione - Definire la velocità ...e altre cose che potete vedere nella demo =) Istruzioni: Le istruzioni sono all'inetrno della Demo. Script: #============================================================================== # [RGSS/RGSS2] Picture Video - Filme por Pictures #------------------------------------------------------------------------------ # $RafiScripts.by = Rafidelis(RafiScripts - RafideliSoft Brasil) # $RafiScripts.version = 1.0 # $RafiScripts.release_date = 18/06/10 (d/m/y) # $RafiScripts.email = [email protected] or [email protected] # $RafiScripts.website = www.ReinoRPG.com or www.ReinoRPG.com/forum # $RafiScripts.website² = www.RafideliScripts.4shared.com #============================================================================== # [** $RafiScripts.desc **] // Sobre o Script / About Script #------------------------------------------------------------------------------ # Este script cria um filme de Pictures,simulando um vídeo normal. # Idealização : Dark Goku (Ou viado sayajyn,dá tudo na mesma) # Características: # * - Controle de execução do vídeo -> ( Pausar,Retomar,Parar ) # * - Posicionamento do vídeo -> ( Centralizar Automaticamente,ou definir as # coordenadas (x e y) para exibição do vídeo ) # * - Definição da velocidade de execução -> ( Super Lento, Lento, Normal, # Rápido e Super Rápido ) # * - Executar com mapa no fundo,ou fundo preto. # # * - Redimensionamento do tamanho da tela do video # # OBS: Esse script provavelmente é incompativel com a maioria dos scripts de # pular a tela de título.Fique atento! # #============================================================================== # [** $RafiScripts.instr ] // Instruções / Instructions: #------------------------------------------------------------------------------ # * - Colar Acima do Main # * - Editar as Constantes no Modulo Rafidelis::Picture_Video_Conf # # ** Comandos para serem usados no comando 'chamar script'(3° Aba) # # $picture_video.path = String (Ex : 'Graphics/Pictures" ) # |_ Definição da Pasta onde se encontram as imagens usadas no vídeo atual # # $picture_video.pictures_prefix = String (Ex : 'Picture_' ) # |_ Definição do prefixo das imagens usadas no vídeo. # # $picture_video.max_frames = Inteiro (Ex : 45 ) # |_ Definição do número máximo de frames(pictures) do vídeo # # $picture_video.play_speed = String ou Inteiro # |_ Se for uma string(Texto),os possiveis valores são: # => "Super Slow","Super lento" : velocidade = 5 # => "Slow","Lento","Devagar" : velocidade = 10 # => "Normal" : velocidade = 20 # => "Fast","Rápido","Rapido" : velocidade = 40 # => "Super Fast","Super rápido" : velocidade = 60 # # $picture_video.from_map = Valor Booleano( true ou false) # |_ Definição se o fundo do vídeo será o mapa atual,ou fundo preto. # # $picture_video.x = Inteiro ( Ex : 50 ) # |_ Definição da posição horizontal do vídeo no mapa # # $picture_video.y = Inteiro ( Ex : 80 ) # |_ Definição da posição vertical do vídeo no mapa # # $picture_video.auto_center = Valor Booleano( true ou false ) # |_ Definição de auto centralização do vídeo no mapa. Se essa opção estiver # ativa,as opções $picture_video.x = valor e $picture_video.y = valor serão # ignoradas. Para poder definir as coordenas que quiser,através dos métodos # citados,essa opção deve estar desativada(false). # # $picture_video.music = String ( Ex : "Fundo_Filme01" ) # |_ Nome do arquivo de música do vídeo atual. Deve estar na pasta # 'Audio/BGM',e deve ser um arquivo de som valido(mp3,wav,etc) # # $picture_video.can_pause = Valor Booleano (true ou false) # |_ Permitir ou não que o vídeo seja pausado durante sua execução # # $picture_video.can_stop = Valor Booleano (true ou false) # |_ Permitir a possibilidade de sair da execução do vídeo. # # $picture_video.resize_screen(largura,altura) # |_ Define uma nova dimensão para a tela aonde o vídeo será exibido. # As imagens automaticamente se ajustam as dimensões passadas. # # $picture_video.reset_screen_dimensions! # |_ Restaura as dimensões da tela para o tamanho das imagens que serão # usadas no vídeo.Use esse método após utilizar o método # $picture.resize_screen(largura,altura) #----------------------------------------------------------------------------- # Exemplos de definições de vídeos: #============================================================================= # 1) # $picture_video.path = "Graphics/Pictures/Video1/" # $picture_video.pictures_prefix = "Picture_" # $picture_video.max_frame = 160 # $picture_video.play_speed = "Lento" # $picture_video.from_map = false # $picture_video.auto_center = false # $picture_video.x = 20 # $picture_video.y = 100 # $picture_video.play! # Executar Vídeo! # # - O exemplo acima irá definir as posições 20 e 100 para exibir o vídeo,pois # a opção 'auto_center' foi desativada. O prefixo das pictures é : 'Picture_', # ou seja, quando estiver no primeiro frame,a imagem procurada na pasta será: # 'Picture_0',e quando estiver no frame 15,por exemplo,a imagem procurada na # pasta 'Graphics/Pictures/Video01/' será 'Picture_15'.O numero máximo de # frames é de 160,ou seja a ultima picture será : 'Picture_160'. # Nesse exemplo,o fundo do vídeo ficara preto,pois não sera exibido o mapa # atual. O vídeo ficara lento durante sua execução, pois foi definida a # velocidade lenta para a execução. #------------------------------------------------------------------------------- # 2) # $picture_video.path = "Graphics/Pictures/Video2" # $picture_video.pictures_prefix = "Picture_" # $picture_video.max_frame = 80 # $picture_video.from_map = false # $picture_video.music = "Video02_Sound" # $picture_video.can_pause = false # $picture_video.can_stop = false # $picture_video.play! # # - O exemplo acima,executa um vídeo com o total de 80 frames,e as imagens # usadas devem estar na pasta "Graphics/Pictures/Video2" com o prefixo # 'Picture_'. # O vídeo ficara posicionado no centro da tela,com o fundo preto e velocidade # de execução normal(se a velocidade de execução não tiver sido modificada # anteriormente). # O som a ser tocado será o 'Video2_Sound',na pasta 'Sound/BGM',e por fim # não será possível pausar ,nem parar o vídeo durante sua execuçao. Ou seja, # só sera possível retornar ao mapa quando o vídeo terminar. # #------------------------------------------------------------------------------ # Baixe a demo(que se encontra no Tópico 'Picture Video',na sessão de Scripts # RGSS2 do forum da ReinoRPG.com(www.ReinoRPG.com/Forum) para demonstração de # como usar esse script com imagens. # Lembrando que esse script funciona tanto no RPGMaker VX e RPGMaker XP. #============================================================================= #============================================================== # ATENÇÃO! # Se você for usar esse script no RPGMaker XP, retire a linha # '=begin'(Linha 142) e a linha '=end'(Linha 148) logo abaixo: #============================================================== =begin module Cache def self.load_bitmap(path,file,hue=0) return RPG::Cache.load_bitmap(path,file,hue) end end =end module Rafidelis #========================================================================== # ** Modulo de Configurações do Script de Video por Imagens #-------------------------------------------------------------------------- module Picture_Video_Conf # Scene que retorna quando acabar o 'filme de pictures'( Padrão: Scene_Map ) Scene_When_Return = Scene_Map # Segundos a esperar,antes de fechar o filme ( Padrão : 0.5 ) Wait_Seconds_Before_Terminate = 0.5 # Tecla para pausar o vídeo ( Padrão : Input::C ) (Enter) Pause_Key = Input::C # Tecla para retornar o vídeo quando estiver pausado ( Padrão : Input::C ) Play_Key = Input::C # Tecla para sair da execução do vídeo ( Padrão : Input:: (Esc) Stop_Key = Input::B # Escrever ou não na tela do vídeo o texto de pause ( Padrão : true) Show_Pause_Text = true # Texto a ser exibido enquanto o vídeo estiver pausado Pause_Text = "-- Pausado -- Pressione Enter para Executar" # Propriedades da Fonte do Texto de Pause Pause_Text_Font = { "Cor" => Color.new(255,255,255) , # Branco "Negrito" => false , # C/ Negrito "Itálico" => true , # S/ itálico "Nome" => Font.default_name } # Fonte Padrão # Nome do som(SE) a ser tocado quando pressionar a tecla de pausar # o filme for pressionada Pause_Sound = 'Cursor' # No XP use : '001-System01' # Nome do som(SE) a ser tocado quando a tecla de executar o filme # for pressionada Play_Sound = 'Cursor' # No vx use : '001-System01' # Nome do som(SE) a ser tocado quando a pressionar a tecla de sair # da execução do filme Stop_Sound = 'Cancel' # No XP use : '003-System03' # Parar os sons do mapa(BGM,BGS,SE e ME) quando iniciar a execução do filme Stop_Map_Sounds = true #========================================================================== # ** Retornar as dimensões da janela de jogo,dependendo do RPGMaker usado #-------------------------------------------------------------------------- def self.screen_dimensions if defined?($TEST) # Se for o VX return [Graphics.width,Graphics.height] elsif defined?($DEBUG) # Se for o XP return [640,480] end end end #============================================================================ # ** Picture Video #---------------------------------------------------------------------------- # Esta classe é usada para armazenar os dados do vídeo de imagens. # Pode ser acessada usando $picture_video #============================================================================ class Picture_Video # Variáveis de instancias com acesso de leitura e escrita permitidos : attr_accessor ( :auto_center,:can_pause,:can_stop,:dimensions,:frame, :from_map,:path,:pictures_prefix,:playing,:max_frames,:x,:y ) # Variáveis de Instancia com acesso somente de leitura. attr_reader ( :play_speed , :music ) #========================================================================= # ** Inicialização do Objeto #------------------------------------------------------------------------- def initialize @auto_center = true # Auto centralizar a tela do vídeo na Janela @can_pause = true @can_stop = true @frame = 0 @from_map = true @path = "" @pictures_prefix = "" @playing = false @play_speed = 20 @max_frames = 0 @music = "" @x = 0 @y = 0 @repeat = false @wait_count = 0 @dimensions = [nil,nil] end #========================================================================= # ** Retorno do largura da tela de vídeo #------------------------------------------------------------------------- def screen_width return @dimensions[0].nil? ? 0 : @dimensions[0] end #========================================================================= # ** Retorno do altura da tela de vídeo #------------------------------------------------------------------------- def screen_height return @dimensions[1].nil? ? 0 : @dimensions[1] end #========================================================================= # ** Definir novas dimensões para a tela do vídeo #------------------------------------------------------------------------- def resize_screen(width,height) @dimensions[0] = width if ( @dimensions[0] != width ) @dimensions[1] = height if ( @dimensions[1] != height ) end #========================================================================= # ** Definição do novo arquivo de som #------------------------------------------------------------------------- def music=(sound) @music = sound end #========================================================================= # ** Definição do velocidade de execução do vídeo #------------------------------------------------------------------------- def play_speed=(speed) return if @play_speed == speed @play_speed = speed.is_a?(String) ? return_play_speed(speed) : speed end #========================================================================= # ** Executar vídeo #------------------------------------------------------------------------- def play! if Rafidelis::Picture_Video_Conf::Stop_Map_Sounds Audio.bgm_stop Audio.bgs_stop Audio.me_stop Audio.se_stop end @playing = true Audio.bgm_play("Audio/BGM/#{@music}") $scene = Rafidelis::Scene_Picture_Video.new end #========================================================================= # ** Pausar Vídeo #------------------------------------------------------------------------- def pause! @playing = false Audio.bgm_stop end #========================================================================= # ** Parar Vídeo #------------------------------------------------------------------------- def stop! Audio.bgm_stop @playing = false @frame = 0 Graphics.transition(10) $scene = Rafidelis::Picture_Video_Conf::Scene_When_Return.new end #========================================================================= # ** Verificação da flag de vídeo pausado #------------------------------------------------------------------------- def paused? return (not playing?) end #========================================================================= # ** Verificação da flag de vídeo sendo executado #------------------------------------------------------------------------- def playing? return @playing end #========================================================================= # ** Verificação da flag de vídeo finalizado #------------------------------------------------------------------------- def finished? return (@frame >= @max_frames) end #========================================================================= # ** Resetar as dimensoes da tela para o tamanho da imagem #------------------------------------------------------------------------- def reset_screen_dimensions! @dimensions = [nil,nil] end #========================================================================= # ** Atualização #------------------------------------------------------------------------- def update return if paused? # Se ainda não tiver chegado ao ultimo frame if ( @frame < @max_frames ) if ( @wait_count < 100 ) @wait_count += @play_speed else @wait_count = 0 # Se estiver no ultimo frame if ( @frame >= @max_frames ) @frame = 0 if @repeat else @frame += 1 end end end end private # Método Privado da classe #========================================================================= # ** Privado : Retornar velocidade de execução,através de uma string #------------------------------------------------------------------------- def return_play_speed(label) case label.downcase when "super slow","super lento","super devagar" ; 5 when "slow","devagar","lento" ; 10 when "normal" ; 20 when "fast","rapido","rápido" ; 40 when "super fast","super rapido","super rápido" ; 60 else ; 20 end end end #============================================================================ # ** Sprite Picture Video #---------------------------------------------------------------------------- # Esta classe é usada para criar os sprites durante a exibição dos vídeos # por pictures. #============================================================================ class Sprite_Picture_Video < Sprite #========================================================================= # ** Inicialização do Objeto #------------------------------------------------------------------------- def initialize super() self.z = 999 update @pause_sprite = Sprite.new @pause_sprite.bitmap = Bitmap.new(bitmap.width,bitmap.height) @pause_sprite.x = self.x @pause_sprite.y = self.y @pause_sprite.z = self.z + 10 end #========================================================================= # ** Atualização #------------------------------------------------------------------------- def update if $picture_video.dimensions != @dimensions @dimensions = $picture_video.dimensions end if ($picture_video.frame != @frame) @frame = $picture_video.frame update_bitmap end end #========================================================================= # ** Exibição do Texto de Pause #------------------------------------------------------------------------- def draw_pause_text text = Rafidelis::Picture_Video_Conf::Pause_Text @pause_sprite.bitmap.clear font_size = ( @dimensions[0] <= 150 ? 14 : 17 ) f = Rafidelis::Picture_Video_Conf::Pause_Text_Font self.bitmap.font.name = f["Nome"] @pause_sprite.bitmap.font.color = f["Cor"] @pause_sprite.bitmap.font.bold = f["Negrito"] @pause_sprite.bitmap.font.italic = f["Itálico"] @pause_sprite.bitmap.font.size = font_size @pause_sprite.bitmap.draw_text(0,0,bitmap.width,32,text,1) end #========================================================================= # ** Deletar texto de Pause #------------------------------------------------------------------------- def erase_pause_text @pause_sprite.bitmap.clear end #========================================================================= # ** Atualização do Bitmap do Sprite #------------------------------------------------------------------------- def update_bitmap unless self.bitmap.nil? self.bitmap.dispose unless self.bitmap.disposed? end picture = ($picture_video.pictures_prefix + @frame.to_s) bitmap = Cache.load_bitmap($picture_video.path,picture) if @dimensions[0].nil? $picture_video.dimensions[0] = @dimensions[0] = bitmap.width end if @dimensions[1].nil? $picture_video.dimensions[1] = @dimensions[1] = bitmap.height end w,h = $picture_video.screen_width,$picture_video.screen_height self.bitmap = Bitmap.new(w,h) dest_rect = Rect.new(0,0,w,h) self.bitmap.stretch_blt(dest_rect, bitmap, bitmap.rect) # Se a opção de auto centralizar estiver ativa if $picture_video.auto_center # A picture é centralizada na tela w = Picture_Video_Conf.screen_dimensions[0] h = Picture_Video_Conf.screen_dimensions[1] self.x = ( w - self.bitmap.width ) / 2 self.y = ( h - self.bitmap.height ) / 2 else self.x = $picture_video.x self.y = $picture_video.y end end end #============================================================================ # ** Scene Picture Video #---------------------------------------------------------------------------- # Esta classe processa a execução dos vídeos por pictures. #============================================================================ class Scene_Picture_Video include Rafidelis::Picture_Video_Conf #========================================================================= # ** Inicialização do Objeto #------------------------------------------------------------------------- def initialize @spriteset = Spriteset_Map.new if $picture_video.from_map @sprite_picture_video = Sprite_Picture_Video.new() end #========================================================================= # ** Processo Principal #------------------------------------------------------------------------- def main Graphics.transition(10) Input.update # Atualiza as informações inseridas loop do Graphics.update # Atualiza os gráficos Input.update # Atualiza as informações inseridas update # Atualização break if $scene != self # Descontinuação do loop end Graphics.update Graphics.freeze # Congelamento dos gráficos terminate # Fim end #========================================================================= # ** Atualização #------------------------------------------------------------------------- def update @sprite_picture_video.update $picture_video.update if $picture_video.playing? # Se estiver sendo executando if Input.trigger?(Pause_Key) and $picture_video.can_pause Audio.se_play("Audio/SE/#{Pause_Sound}") $picture_video.pause! end elsif $picture_video.paused? # Se estiver pausado @sprite_picture_video.draw_pause_text if Show_Pause_Text if Input.trigger?(Play_Key) @sprite_picture_video.erase_pause_text if Show_Pause_Text Audio.se_play("Audio/SE/#{Play_Sound}") Audio.bgm_play("Audio/BGM/#{$picture_video.music}") $picture_video.playing = true end end # Se for possivel parar o vídeo if Input.trigger?(Stop_Key) and $picture_video.can_stop @sprite_picture_video.erase_pause_text if Show_Pause_Text Audio.se_play("Audio/SE/#{Stop_Sound}") $picture_video.stop! end # Se o vídeo tiver terminado if $picture_video.finished? time = Wait_Seconds_Before_Terminate * 60 time.to_i.times {Graphics.update()} $picture_video.stop! end end #========================================================================= # ** Finalização #------------------------------------------------------------------------- def terminate @sprite_picture_video.dispose end end end #============================================================================== # Scene_Title #------------------------------------------------------------------------------ # Classe das operações na tela de título. #============================================================================== class Scene_Title alias rafidelis_picture_video_main main #========================================================================= # ** Inicialização do Processo #------------------------------------------------------------------------- def main $picture_video = Rafidelis::Picture_Video.new rafidelis_picture_video_main end end Demo: http://www.4shared.com/file/QPVerGV_/Picture_Video_-_Vdeo_por_Pictu.html
-
Nome Script: Slow Motion Effect Versione: 1.0 Autore/i: Rafidelis Informazioni: Questo script ricrea un effetto rallentatore molto bello...può essere utile se usato ad esempio quando il PG è sotto effetto del veleno,o modificarlo per implementarlo in un sistema di corsa ^^ Funziona sia su XP sia su VX. Istruzioni: All'interno dello Script Script: #==============================================================================# # [RGSS/RGSS2] Slow Motion Versão 1.0 # #------------------------------------------------------------------------------# # $RafiScripts.by = Rafidelis(Rafis) # # $RafiScripts.version = 1.0 # # $RafiScripts.release_date = 28/12/09 (d/m/y) # # $RafiScripts.email = [email protected] or [email protected] # # $RafiScripts.website = www.ReinoRPG.com or www.ReinoRPG.com/forum # #==============================================================================# # [** $RafiScripts.desc **] // Sobre o Script / About Script # #------------------------------------------------------------------------------# # Este script foi primeiramente criado por Fênix,então crêditos a ele tambem. # # Na versão criada pelo Fenix,o script somente deixava a tela lenta e não # # exibia os'rastros dos sprites' dos eventos e do jogador na telas. # # Funciona no RPGMaker VX e no RPGMaker XP # #==============================================================================# # [** $RafiScripts.instr ] // Instruções / Instructions: # #------------------------------------------------------------------------------# # ? 1° - Colar acima do Main # # ? 2° - Edite a opção Effect_Only_In_Visible_Events na Linha 38 se desejar. # # ? 3° - Para ativar o efeito de slow_motion use no comando chamar script: # # $game_temp.slow_motion = true # # E para desativar o Efeito de slow motion quando ele estiver habilitado,use: # # $game_temp.slow_motion = false # # ? 4° - Para definir se o sprite do personagem jogavel vai sofrer o efeito do # # 'slow' motion,use: # # $game_temp.slow_motion_effect_in_player = valor # # valor deve ser true ou false,true ativa o efeito,e false desliga # # 5° - Para mudar o tempo de atualização da tela,durante o slow motion use: # # # $game_temp.slow_motion_time = valor # # valor deve ser um numero inteiro maior que 0,padrão = 4 # #==============================================================================# #==============================================================================# # [ ** Modulo necessarios para usar os Scripts Criados por Rafidelis ** ] # #==============================================================================# module Rafidelis #==============================================================================# # Rafidelis.add_script - Name : Name of Script - Version : Version of Script # #------------------------------------------------------------------------------# def self.add_script(name,version) $RafiScripts = [] if $RafiScripts.nil? $RafiScripts.push("Name : #{name} - Version: #{version}") $RafiScripts.compact! end #==============================================================================# # Rafidelis.script_exist? - Name : Name of Script - Version : Version of Script# #------------------------------------------------------------------------------# def self.script_exist?(name,version) $RafiScripts = [] if $RafiScripts.nil? return $RafiScripts.include?("Name : #{name} - Version: #{version}") end #==============================================================================# # Rafidelis.scripts - Return all scripts create by Rafidelis(RafiScripts) # #------------------------------------------------------------------------------# def self.scripts print $RafiScripts end #==============================================================================# # Rafidelis.create_txt - Create a .txt with all Rafidelis(RafiScripts) scripts # #------------------------------------------------------------------------------# def self.create_txt(filename="RafideliScripts") file = File.open("#{filename}.txt","wb") for i in 0...$RafiScripts.size file.write("#{$RafiScripts[i]}rn") end end #==============================================================================# # Modulo com Opções do Script de Slow Motion # #------------------------------------------------------------------------------# module Slow_Motion # Adicionando o Script ao Sistema.Não Modificar name = "Fenix Slow Motion - Edit" version = "1.0" Rafidelis.add_script(name,version) # Script adicionado ao Sistema. #=========================================================================== # Defina abaixo se o efeito de slow motion,terá efeito somente nos eventos # visiveis no mapa,ou se todos os eventos sofrerão o efeito de slow motion # false = todos os eventos sofrerão o efeito # true = somente os eventos viseveis no mapa sofrerão efeito # Recomendado deixar em true #=========================================================================== Effect_Only_In_Visible_Events = true #=========================================================================== # Tempo de 'Recriação dos Sprites' #=========================================================================== Time = 4 end end #==============================================================================# # Verificando se o script esta incluso no sistema # #==============================================================================# name = "Fenix Slow Motion - Edit" version = "1.0" if Rafidelis.script_exist?(name,version) class Game_Temp attr_accessor :slow_motion attr_accessor :slow_motion_time attr_accessor :slow_motion_effect_in_player #-------------------------------------------------------------------------- # Processamento Principal #-------------------------------------------------------------------------- alias slow_motion_initialize initialize def initialize @slow_motion = false @slow_motion_time = Rafidelis::Slow_Motion::Time @slow_motion_effect_in_player = true slow_motion_initialize end #-------------------------------------------------------------------------- # Slow Motion [img]http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/xd.gif[/img] #-------------------------------------------------------------------------- def slow_motion=(valor) return if @slow_motion == valor @slow_motion = valor $scene = Scene_Map.new if valor.is_a?(FalseClass) end end #============================================================================== # Scene_Map #------------------------------------------------------------------------------ # Esta classe processa a tela de Mapa # Aliases: # * main # * update #============================================================================== class Scene_Map include Rafidelis::Slow_Motion #-------------------------------------------------------------------------- # Processamento Principal #-------------------------------------------------------------------------- alias slow_motion_main main def main @sprites_slow_motion = [] @slow_motion_time = 0 slow_motion_main for sprite in @sprites_slow_motion next if sprite.disposed? sprite.opacity = 0 sprite.dispose end end #-------------------------------------------------------------------------- # Atualização do Frame #-------------------------------------------------------------------------- alias slow_motion_update update def update # Se o efeito estiver ligado if $game_temp.slow_motion # Se já chegou ao tempo limite if @slow_motion_time >= $game_temp.slow_motion_time Graphics.transition Graphics.freeze events = $game_map.events for i in events.keys if Effect_Only_In_Visible_Events and event_in_screen?(events[i]) sprite = Sprite_Character.new(nil, events[i]) @sprites_slow_motion.push(sprite) else sprite = Sprite_Character.new(nil, events[i]) @sprites_slow_motion.push(sprite) end end # Criando Sprite do Jogador @sprites_slow_motion.push(Sprite_Character.new(nil, $game_player)) if $game_temp.slow_motion_effect_in_player # Resetando o tempo @slow_motion_time = 0 # Deletando todos os sprites for sprite in @sprites_slow_motion next if sprite.disposed? sprite.opacity -= 100 sprite.dispose if sprite.opacity <= 0 end # Se ainda não deu o tempo else sprite = @sprites_slow_motion for i in 0...sprite.size next if sprite[i].nil? if sprite[i].disposed? sprite.delete_at(i) end end # Adicionando mais um ao tempo @slow_motion_time += 1 end else # Recriando a variavel @sprites_slow_motion = [] if @sprites_slow_motion != [] end slow_motion_update end #-------------------------------------------------------------------------- # Verificação se o evento esta na tela #-------------------------------------------------------------------------- def event_in_screen?(event) if event.screen_x >= 0 and event.screen_x <= 640 and event.screen_y >= 0 and event.screen_y <= 480 return true end return false end end end
-
Nome Script: Risoluzione 640x480 Versione: 1.0 Autore/i: Drew Informazioni: Script che porta lo schermo alla risoluzione 640x480 come nell'XP... Istruzioni: Inserite lo script sotto Material Script: #============================================================================== # * Resolução 640X480 para VX[resolução XP] #------------------------------------------------------------------------------ # Résolution 640x480 (pour RPG Maker VX) par Krazplay # Version 1.0 (23/01/2008) # Dernière version, commentaires : http://rpgmaker/forum/index.php?topic=12460 #------------------------------------------------------------------------------ # Ce script ne fait pas que changer la résolution, il modifie pas mal de choses # pour que le jeu soit adapté à sa nouvelle résolution. # Sachant que ce script redéfinit pas mal de méthodes, il est vivement conseillé # de le placer au-dessus de vos autres scripts ajoutés (mais en-dessous de ceux # de base, à part Main évidemment) # # Résolution de base : 544x416 (17x13 cases de 32 pixels) # Nouvelle résolution : 640x480 (20x15 cases de 32 pixels) # On gagne donc 96x64 pixels #------------------------------------------------------------------------------ # Toutes les méthodes modifiées : # # ? Game_Map : calc_parallax_x, calc_parallax_y, setup_scroll, # scroll_down, scroll_right # ? Game_Player : center # ? Sprite_Base : start_animation # ? Sprite_Timer : initialize # ? Spriteset_Map : create_viewports # ? Spriteset_Battle : create_viewports, create_enemies, create_battleback, # create_battlefloor # ? Window_Help, Window_SkillStatus, Window_Equip : initialize # ? Window_Status, Window_SaveFile, Window_NumberInput : initialize # ? Window_ShopBuy, Window_ShopStatus : initialize # ? Window_MenuStatus : initialize, refresh, update_cursor # ? Window_Message : initialize, reset_window # ? Scene_Title : create_title_graphic, create_command_window # ? Scene_Menu : start # ? Scene_Item : start, show_target_window, hide_target_window # ? Scene_Skill : start, show_target_window, hide_target_window # ? Scene_Equip : create_item_windows # ? Scene_End : create_command_window # ? Scene_Shop : start # ? Scene_Battle : create_info_viewport, start_skill_selection, # start_item_selection #============================================================================== # Agrandir les images Title.png et BattleFloor.png si elles sont trop petites. AGRANDIR_IMAGES = true Graphics.resize_screen(640, 480) #============================================================================== # ¦ Game_Objects #============================================================================== # ? Game_Map # class Game_Map def calc_parallax_x(bitmap) if bitmap == nil return 0 elsif @parallax_loop_x return @parallax_x / 16 elsif loop_horizontal? return 0 else w1 = bitmap.width - 640 w2 = @map.width * 32 - 640 if w1 <= 0 or w2 <= 0 return 0 else return @parallax_x * w1 / w2 / 8 end end end def calc_parallax_y(bitmap) if bitmap == nil return 0 elsif @parallax_loop_y return @parallax_y / 16 elsif loop_vertical? return 0 else h1 = bitmap.height - 480 h2 = @map.height * 32 - 480 if h1 <= 0 or h2 <= 0 return 0 else return @parallax_y * h1 / h2 / 8 end end end def setup_scroll @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 @margin_x = (width - 20) * 256 / 2 # ? / 2 @margin_y = (height - 15) * 256 / 2 # ? / 2 end def scroll_down(distance) if loop_vertical? @display_y += distance @display_y %= @map.height * 256 @parallax_y += distance else last_y = @display_y @display_y = [@display_y + distance, (height - 15) * 256].min @parallax_y += @display_y - last_y end end def scroll_right(distance) if loop_horizontal? @display_x += distance @display_x %= @map.width * 256 @parallax_x += distance else last_x = @display_x @display_x = [@display_x + distance, (width - 20) * 256].min @parallax_x += @display_x - last_x end end end # ? Game_Player # class Game_Player < Game_Character CENTER_X = (640 / 2 - 16) * 8 # ? X ? * 8 CENTER_Y = (480 / 2 - 16) * 8 # ? Y ? * 8 def center(x, y) display_x = x * 256 - CENTER_X # ? unless $game_map.loop_horizontal? # ? max_x = ($game_map.width - 20) * 256 # ? display_x = [0, [display_x, max_x].min].max # ? end display_y = y * 256 - CENTER_Y # ? unless $game_map.loop_vertical? # ? max_y = ($game_map.height - 15) * 256 # ? display_y = [0, [display_y, max_y].min].max # ? end $game_map.set_display_pos(display_x, display_y) # ? end end #============================================================================== # ¦ Sprites #============================================================================== # ? Sprite_Base # class Sprite_Base < Sprite def start_animation(animation, mirror = false) dispose_animation @animation = animation return if @animation == nil @animation_mirror = mirror @animation_duration = @animation.frame_max * 4 + 1 load_animation_bitmap @animation_sprites = [] if @animation.position != 3 or not @@animations.include?(animation) if @use_sprite for i in 0..15 sprite = ::Sprite.new(viewport) sprite.visible = false @animation_sprites.push(sprite) end unless @@animations.include?(animation) @@animations.push(animation) end end end if @animation.position == 3 if viewport == nil @animation_ox = 640 / 2 @animation_oy = 480 / 2 else @animation_ox = viewport.rect.width / 2 @animation_oy = viewport.rect.height / 2 end else @animation_ox = x - ox + width / 2 @animation_oy = y - oy + height / 2 if @animation.position == 0 @animation_oy -= height / 2 elsif @animation.position == 2 @animation_oy += height / 2 end end end end # ? Sprite_Timer # class Sprite_Timer < Sprite def initialize(viewport) super(viewport) self.bitmap = Bitmap.new(88, 48) self.bitmap.font.name = "Arial" self.bitmap.font.size = 32 self.x = 640 - self.bitmap.width self.y = 0 self.z = 200 update end end # ? Spriteset_Map # class Spriteset_Map def create_viewports @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport2.z = 50 @viewport3.z = 100 end end # ? Spriteset_Battle # class Spriteset_Battle def create_viewports @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport2.z = 50 @viewport3.z = 100 end def create_enemies @enemy_sprites = [] for enemy in $game_troop.members.reverse enemy.screen_x += 48 # Recentrage des ennemis @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy)) end end def create_battleback source = $game_temp.background_bitmap bitmap = Bitmap.new(640+96, 480+64) bitmap.stretch_blt(bitmap.rect, source, source.rect) bitmap.radial_blur(90, 12) @battleback_sprite = Sprite.new(@viewport1) @battleback_sprite.bitmap = bitmap @battleback_sprite.ox = 320+48 @battleback_sprite.oy = 240+32 @battleback_sprite.x = 320 #272 @battleback_sprite.y = 208 #176 @battleback_sprite.wave_amp = 8 @battleback_sprite.wave_length = 240 @battleback_sprite.wave_speed = 120 end def create_battlefloor @battlefloor_sprite = Sprite.new(@viewport1) battle_floor = Cache.system("BattleFloor") if AGRANDIR_IMAGES and battle_floor.width < 640 rect_dest = Rect.new(0, 0, 640, battle_floor.height) new_bitmap = Bitmap.new(640, battle_floor.height) new_bitmap.stretch_blt(rect_dest, battle_floor, battle_floor.rect) @battlefloor_sprite.bitmap = new_bitmap else @battlefloor_sprite.bitmap = battle_floor end @battlefloor_sprite.x = 0 @battlefloor_sprite.y = 192 @battlefloor_sprite.z = 1 @battlefloor_sprite.opacity = 128 end end #============================================================================== # ¦ Windows #============================================================================== # ? Window_Help # class Window_Help < Window_Base def initialize super(0, 0, 640, WLH + 32) end end # ? Window_MenuStatus # class Window_MenuStatus < Window_Selectable def initialize(x, y) super(x, y, 480, 480) refresh self.active = false self.index = -1 end def refresh self.contents.clear @item_max = $game_party.members.size for actor in $game_party.members draw_actor_face(actor, 2, actor.index * (96+21) + 2, 92) x = 104 y = actor.index * (96+21) + WLH / 2 draw_actor_name(actor, x, y) draw_actor_class(actor, x + 120, y) draw_actor_level(actor, x, y + WLH * 1) draw_actor_state(actor, x, y + WLH * 2) draw_actor_hp(actor, x + 120, y + WLH * 1, 216) draw_actor_mp(actor, x + 120, y + WLH * 2, 216) end end def update_cursor if @index < 0 # ? self.cursor_rect.empty elsif @index < @item_max # ? self.cursor_rect.set(0, @index * (96+21), contents.width, 96) elsif @index >= 100 # ? self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96) else # ? self.cursor_rect.set(0, 0, contents.width, @item_max * 96) end end end # ? Window_SkillStatus # class Window_SkillStatus < Window_Base def initialize(x, y, actor) super(x, y, 640, WLH + 32) @actor = actor refresh end end # ? Window_Equip # class Window_Equip < Window_Selectable def initialize(x, y, actor) super(x, y, 336+96, WLH * 5 + 32) @actor = actor refresh self.index = 0 end end # ? Window_Status # class Window_Status < Window_Base def initialize(actor) super(0, 0, 640, 480) @actor = actor refresh end end # ? Window_SaveFile # class Window_SaveFile < Window_Base def initialize(file_index, filename) super(0, 56 + file_index % 4 * (90+21), 640, 90) @file_index = file_index @filename = filename load_gamedata refresh @selected = false end end # ? Window_NumberInput # class Window_NumberInput < Window_Base def initialize super(0, 0, 640, 64) @number = 0 @digits_max = 6 @index = 0 self.opacity = 0 self.active = false self.z += 9999 refresh update_cursor end end # ? Window_ShopBuy # class Window_ShopBuy < Window_Selectable def initialize(x, y) super(x, y, 304+96, 304+64) @shop_goods = $game_temp.shop_goods refresh self.index = 0 end end # ? Window_ShopStatus # class Window_ShopStatus < Window_Base def initialize(x, y) super(x, y, 240, 304+64) @item = nil refresh end end # ? Window_Message # class Window_Message < Window_Selectable def initialize super(0, 352, 640, 128) self.z = 200 self.active = false self.index = -1 self.openness = 0 @opening = false # ? @closing = false # ? @text = nil # ? @contents_x = 0 # ? X ? @contents_y = 0 # ? Y ? @line_count = 0 # ? @wait_count = 0 # ? @background = 0 # ? @position = 2 # ? @show_fast = false # ? @line_show_fast = false # ? @pause_skip = false # ? create_gold_window create_number_input_window create_back_sprite end def reset_window @background = $game_message.background @position = $game_message.position if @background == 0 # ? self.opacity = 255 else # ? self.opacity = 0 end case @position when 0 # ? self.y = 0 @gold_window.y = 360 when 1 # ? self.y = 208 @gold_window.y = 0 when 2 # ? self.y = 352 @gold_window.y = 0 end end end #============================================================================== # ¦ Scenes #============================================================================== # ? Scene_Title # class Scene_Title def create_title_graphic @sprite = Sprite.new cache_bitmap = Cache.system("Title") if AGRANDIR_IMAGES dest_rect = Rect.new(0, 0, Graphics.width, Graphics.height) bitmap = Bitmap.new(Graphics.width, Graphics.height) bitmap.stretch_blt(dest_rect, cache_bitmap, cache_bitmap.rect) @sprite.bitmap = bitmap else @sprite.bitmap = cache_bitmap end end def create_command_window s1 = Vocab::new_game s2 = Vocab::continue s3 = Vocab::shutdown @command_window = Window_Command.new(172, [s1, s2, s3]) @command_window.x = (640 - @command_window.width) / 2 @command_window.y = 288 if @continue_enabled # ? @command_window.index = 1 # ? else # ? @command_window.draw_item(1, false) # ? end @command_window.openness = 0 @command_window.open end end # ? Scene_Menu # class Scene_Menu < Scene_Base def start super create_menu_background create_command_window @gold_window = Window_Gold.new(0, 424) @status_window = Window_MenuStatus.new(160, 0) end end # ? Scene_Item # class Scene_Item < Scene_Base def start super create_menu_background @viewport = Viewport.new(0, 0, 640, 480) @help_window = Window_Help.new @help_window.viewport = @viewport @item_window = Window_Item.new(0, 56, 640, 424) @item_window.viewport = @viewport @item_window.help_window = @help_window @item_window.active = false @target_window = Window_MenuStatus.new(0, 0) hide_target_window end def show_target_window(right) @item_window.active = false width_remain = 640 - @target_window.width @target_window.x = right ? width_remain : 0 @target_window.visible = true @target_window.active = true if right @viewport.rect.set(0, 0, width_remain, 480) @viewport.ox = 0 else @viewport.rect.set(@target_window.width, 0, width_remain, 480) @viewport.ox = @target_window.width end end def hide_target_window @item_window.active = true @target_window.visible = false @target_window.active = false @viewport.rect.set(0, 0, 640, 480) @viewport.ox = 0 end end # ? Scene_Skill # class Scene_Skill < Scene_Base def start super create_menu_background @actor = $game_party.members[@actor_index] @viewport = Viewport.new(0, 0, 640, 480) @help_window = Window_Help.new @help_window.viewport = @viewport @status_window = Window_SkillStatus.new(0, 56, @actor) @status_window.viewport = @viewport @skill_window = Window_Skill.new(0, 112, 640, 368, @actor) @skill_window.viewport = @viewport @skill_window.help_window = @help_window @target_window = Window_MenuStatus.new(0, 0) hide_target_window end def show_target_window(right) @skill_window.active = false width_remain = 640 - @target_window.width @target_window.x = right ? width_remain : 0 @target_window.visible = true @target_window.active = true if right @viewport.rect.set(0, 0, width_remain, 480) @viewport.ox = 0 else @viewport.rect.set(@target_window.width, 0, width_remain, 480) @viewport.ox = @target_window.width end end def hide_target_window @skill_window.active = true @target_window.visible = false @target_window.active = false @viewport.rect.set(0, 0, 640, 480) @viewport.ox = 0 end end # ? Scene_Equip # class Scene_Equip < Scene_Base def create_item_windows @item_windows = [] for i in 0...EQUIP_TYPE_MAX @item_windows[i] = Window_EquipItem.new(0, 208, 640, 272, @actor, i) @item_windows[i].help_window = @help_window @item_windows[i].visible = (@equip_index == i) @item_windows[i].active = false @item_windows[i].index = -1 end end end # ? Scene_End # class Scene_End < Scene_Base def create_command_window s1 = Vocab::to_title s2 = Vocab::shutdown s3 = Vocab::cancel @command_window = Window_Command.new(172, [s1, s2, s3]) @command_window.x = (640 - @command_window.width) / 2 @command_window.y = (480 - @command_window.height) / 2 @command_window.openness = 0 end end # ? Scene_Shop # class Scene_Shop < Scene_Base def start super create_menu_background create_command_window @help_window = Window_Help.new @gold_window = Window_Gold.new(384+96, 56) @dummy_window = Window_Base.new(0, 112, 640, 368) @buy_window = Window_ShopBuy.new(0, 112) @buy_window.active = false @buy_window.visible = false @buy_window.help_window = @help_window @sell_window = Window_ShopSell.new(0, 112, 640, 368) @sell_window.active = false @sell_window.visible = false @sell_window.help_window = @help_window @number_window = Window_ShopNumber.new(0, 112) @number_window.active = false @number_window.visible = false @status_window = Window_ShopStatus.new(400, 112) @status_window.visible = false end end # ? Scene_Battle # class Scene_Battle < Scene_Base def create_info_viewport @info_viewport = Viewport.new(0, 288+64, 640, 128) @info_viewport.z = 100 @status_window = Window_BattleStatus.new @party_command_window = Window_PartyCommand.new @actor_command_window = Window_ActorCommand.new @status_window.viewport = @info_viewport @party_command_window.viewport = @info_viewport @actor_command_window.viewport = @info_viewport @status_window.x = 128 @actor_command_window.x = 544 @info_viewport.visible = false end def start_skill_selection @help_window = Window_Help.new @skill_window = Window_Skill.new(0, 56, 640, 296, @active_battler) @skill_window.help_window = @help_window @actor_command_window.active = false end def start_item_selection @help_window = Window_Help.new @item_window = Window_Item.new(0, 56, 640, 296) @item_window.help_window = @help_window @actor_command_window.active = false end end
-
Nome Script: Zoom+Opacità Schermo Versione: N/D Autore/i: Tomah Informazioni: Con questo script,potete usare due tipi di effetti: -Lo zoom -Opacizzare lo schermo Istruzioni: Inserite lo script sotto la classe Material. -Per zoomare,fate un call script con il seguente codice: $scene = Scene_Zoom.new(x,y)Dove in x e y si inseriranno numeri tra 100~800.Più sarà grande il numero,più si zoommerà la mappa ^^ -Per opacizzarla invece,fate un call script con il seguente codice: $scene = Scene_Zoom.new(100,100)Funziona come per lo zoom,ma qui si opacizzerà lo schermo Script: =begin [ =================================================================== ] [ =================================================================== ] [ ============= ] SCRIPT CRIADO POR: [ ============= ] [ ============= ] [ ============= ] [ ============= ] >>> Dark Chocobo [ ============= ] [ ============= ] [ ============= ] [ ============= ] [ ============= ] [ ============= ] > Zoom + Embaçar Tela < [ ============= ] [ ============= ] >>www.ReinoRpg.com<< [ ============= ] [ ============= ] [ ============= ] [ =================================================================== ] [ =============== ] : Comunidade RPG Maker VX : [ =============== ] [ ===== ] http://www.orkut.com/Community.aspx?cmm=40232098 [ ==== ] [ =================================================================== ] [ =================================================================== ] Resumo: - Com este script você pode fazer 2 tipos de efeitos bem legais que não podem ser feitos por evento: > Zoom > Embaçar Tela Instruções: - Zoom: Para dar Zoom utilise o comando "chamar script" da última aba da lista de comando dos eventos e escreva: $scene = Scene_Zoom.new(x,y) Substituindo as letras x e y por números entre 100~800, sendo quanto maior o número, maior o zoom. - Embaçar Tela: Para embaçar a tela utilise o comando: $scene = Scene_Zoom.new(100,100) Note que é o mesmo comando do zoom, porém, como os números escolhidos são 100, não haverá zoom, ao invéz disso, a tela ficará embaçada. Observação Final: - Não utilize números menores de 100, pôs o script consegue esticar a tela, mas não consegue comprimi-la. =end # Cria as configuraçíµes iniciais do script. $DarkChocoboScripts = {} if $DarkChocoboScripts.nil? $DarkChocoboScripts["Zoom + Embaçar Tela"] = true class Scene_Zoom < Scene_Base def initialize(zoom_x = 0, zoom_y = 0, color = nil) @zoom_x = zoom_x/100 @zoom_y = zoom_y/100 color = [0,0,0,0] if color.nil? @color = color end def start @viewport = Viewport.new((@zoom_x*544-544)/-2, (@zoom_y*416-416)/-2, @zoom_x*544, @zoom_y*416) @sprite = Sprite.new(@viewport) @sprite.bitmap = $game_temp.background_bitmap @sprite.color.set(@color[0], @color[1], @color[2], @color[3]) @sprite.zoom_x = @zoom_x @sprite.zoom_y = @zoom_y @sprite.update end def update if Input.trigger?(Input::C) $scene = Scene_Map.new end end def terminate @sprite.dispose end end
-
Nome Script: Ombre sotto il font Versione: 1.0 Autore/i: Saul Informazioni: Come dice il titolo, questo script permette di inserire un ombra sotto i caratteri. Come in RPG Maker VX. Istruzioni: Nessuna istruzione, basta inserire lo script sopra il Main. Script: #=============================================================================== # Ombra sotto il font v 1.0 # 23/06/11 #=============================================================================== module Ombra_testo Ombra_Font = true # Se è true, verrà attivata l'ombra, se false, ovviamente no. end #=============================================================================== # IF: L'ombra del font è attiva. #=============================================================================== if Ombra_testo::Ombra_Font #=============================================================================== class Bitmap if not method_defined?('original_draw_text') alias Ombra_testo_original_draw_text draw_text def draw_text(*arg) original_color = self.font.color.dup self.font.color = Color.new(0, 0, 0, 128) if arg[0].is_a?(Rect) arg[0].x += 2 arg[0].y += 2 self.Ombra_testo_original_draw_text(*arg) arg[0].x -= 2 arg[0].y -= 2 else arg[0] += 2 arg[1] += 2 self.Ombra_testo_original_draw_text(*arg) arg[0] -= 2 arg[1] -= 2 end self.font.color = original_color self.Ombra_testo_original_draw_text(*arg) end end end end
-
Titolo: Schermo intero automatico Versione: 1.0 Autore/i: Sconosciuto Informazioni: Questo script fà partire il gioco diretamente in full Screen. Istruzioni: Copiatelo nella classe Main, subito dopo Begin. Script: $win_event = Win32API.new 'user32', 'keybd_event', %w(l l l l), '' $win_event.call(18,1,0,0) $win_event.call(13,1,0,0) $win_event.call(18,1,2,0) $win_event.call(13,1,2,0) Incompatibilita:Per qualche strano motivo se utilizzato sulla versione 1.01 di Rpg Maker xp, sballa tutti i tasti della tastiera, rendendo impossibile giocare. Da utilizzare con le versioni 1.02 o successive del programma