Jump to content
Rpg²S Forum
  • 0

C'è uno script per inserire un'intro?


Maker Bros
 Share

Question

19 answers to this question

Recommended Posts

  • 0

Ciao, mi pare che la funzione per inserire video sia già integrata in RPG Maker VX-Ace (se non sbaglio, però leggendo le features c'è scritto: "possibilità di inserire video")

Invece per la intro, non ho capito, intendi una intro composta da un video, o una intro ad immagini?

Link to comment
Share on other sites

  • 0
Ma perchè, da quando per fare un' intro si utilizzano script? Si gioca con picture o si manda un filmato. Il limite degli script è quello di far riposare sugli allori coloro che non hanno voglia di fare, e perdonate la sincerità! Prima di passare agli script imparate a non usarli, lo script dovrebbe essere la soluzione estrema, poichè QUASI TUTTO si può fare ad eventi...

NON partecipante al Rpg2s.net Game Contest #3

http://www.rpg2s.net/images/gc3/gc3_firma.png

 

Gioco in Sviluppo: Wrath Sword: Parallel dreams

 

Una morte sconvolgente, una spada maledetta, un antico rivale, un anno per riscattarsi...

 

"Dalla tua parte Luce e Ombra, ma dal cantone sbircia il male!"

 

"Tu, che del passato non hai storia... Tu, che ovunque vai ti senti sempre uno straniero... Tu, che hai scelto di non amare più... Parti da traditore, ma torna da eroe!"

 

------------------------------

 

Just-ice L - Making Emotions

 

http://img87.imageshack.us/img87/7245/secondoposto.png http://img87.imageshack.us/img87/7245/secondoposto.png

 

 

 

Link to comment
Share on other sites

  • 0

Ma perchè, da quando per fare un' intro si utilizzano script? Si gioca con picture o si manda un filmato. Il limite degli script è quello di far riposare sugli allori coloro che non hanno voglia di fare, e perdonate la sincerità! Prima di passare agli script imparate a non usarli, lo script dovrebbe essere la soluzione estrema, poichè QUASI TUTTO si può fare ad eventi...

appunto, se Maker Bros ci fa capire cosa intende di preciso, glielo spiego io come farlo ad eventi, e per inserire la intro ad eventi prima del title non è un problema, basta che ci fa capire cosa vuole e come lo vuole...

Link to comment
Share on other sites

  • 0

Quello che chiede l'utente è di poter visualizzare qualcosa prima del title del progetto sia a video che ad immagini, lo script di riferimento è questo. Cosa impossibile se non agendo sugli script. ^ ^

 

@Maker Bros: magari la prossima volta linka lo script al quale ti riferisci! ^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

  • 0

Allora, facciamo così:

non c'è bisogno di utilizzare quello script per fare una intro prima del title, ecco una soluzione più semplice:

@Maker Bros prima del main inserisci questo script:

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

# Vai al titolo

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

 

class Game_Interpreter

 

def titolo

$scene = Scene_Title.new

end

 

end

 

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

# Mappa Intro

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

 

class Scene_Title

alias mappa_intro main

def main

# Se è un test battaglia

if $BTEST

battle_test

return

end

 

if Input.trigger?(Input::C)

@continue_enabled = true

end

 

if @continue_enabled

mappa_intro

elsif $mappa_intro_switch

mappa_intro

else

# Carica database

$data_actors = load_data("Data/Actors.rvdata")

$data_classes = load_data("Data/Classes.rvdata")

$data_skills = load_data("Data/Skills.rvdata")

$data_items = load_data("Data/Items.rvdata")

$data_weapons = load_data("Data/Weapons.rvdata")

$data_armors = load_data("Data/Armors.rvdata")

$data_enemies = load_data("Data/Enemies.rvdata")

$data_troops = load_data("Data/Troops.rvdata")

$data_states = load_data("Data/States.rvdata")

$data_animations = load_data("Data/Animations.rvdata")

$data_common_events = load_data("Data/CommonEvents.rvdata")

$data_system = load_data("Data/System.rvdata")

$data_areas = load_data("Data/Areas.rvdata")

# Crea gli oggetti del gioco

$game_system = Game_System.new

$game_temp = Game_Temp.new

$game_message = Game_Message.new

$game_system = Game_System.new

$game_switches = Game_Switches.new

$game_variables = Game_Variables.new

$game_self_switches = Game_SelfSwitches.new

$game_actors = Game_Actors.new

$game_party = Game_Party.new

$game_troop = Game_Troop.new

$game_map = Game_Map.new

$game_player = Game_Player.new

# Imposta il party iniziale

$game_party.setup_starting_members

# Imposta la mappa da caricare

$game_map.setup(1)

# Imposta l'eroe nella posizione iniziale

$game_player.moveto(9, 7)

# Aggiorna l'eroe

$game_player.refresh

# Esegue il cambio automatico delle BGM/BGS impostate con la mappa

$game_map.autoplay

# Aggiorna la mappa (per i processi paralleli)

$game_map.update

# Attiva lo switch

$mappa_intro_switch = true

# Vai alla mappa

$scene = Scene_Map.new

end

end

end

ora nella prima mappa crea la intro ad eventi in inizio automatico, alla fine della intro non mettere "Elimina Evento" ma metti un call script con il seguente codice: "titolo"

attenzione, la posizione iniziale dell' eroe non la devi mettere in questa mappa, ma nella seconda mappa, cioè quella in cui andrai quando farai "Nuovo Gioco". :wink:

Fatemi sapere se funziona sull' Ace..dovrebbe funzionare, se vi dà errore postatemi l'errore e la Scene_Title predefinita dell' Ace, io vi correggerò l' errore (dovete indicarmelo voi perchè io non possiedo l' Ace... :sisi: )

Lo script è mio, se si dovesse dimostrare utile e funzionante (su VX funziona perfettamente), lo posterò nella sezione Scripts :wink:

Edited by Dilos
Link to comment
Share on other sites

  • 0

vabbe se ti sei dimenticato passi, ma attenzione... :biggrin:

allora, puoi postarmi per favore la Scene_Title dell' Ace, così correggo (probabilmente il caricamento del database è diverso nell' Ace...) :smile: ?

(oppure, più semplicemente, cerca nello Scene Title dove c'è il commento "load database" e postami tutto quello che c'è scritto da lì in poi :wink: )

Link to comment
Share on other sites

  • 0
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  This class performs the title screen processing.
#==============================================================================
class Scene_Title < Scene_Base
 #--------------------------------------------------------------------------
 # * Start Processing
 #--------------------------------------------------------------------------
 def start
super
SceneManager.clear
Graphics.freeze
create_background
create_foreground
create_command_window
play_title_music
 end
 #--------------------------------------------------------------------------
 # * Get Transition Speed
 #--------------------------------------------------------------------------
 def transition_speed
return 20
 end
 #--------------------------------------------------------------------------
 # * Termination Processing
 #--------------------------------------------------------------------------
 def terminate
super
SceneManager.snapshot_for_background
dispose_background
dispose_foreground
 end
 #--------------------------------------------------------------------------
 # * Create Background
 #--------------------------------------------------------------------------
 def create_background
@sprite1 = Sprite.new
@sprite1.bitmap = Cache.title1($data_system.title1_name)
@sprite2 = Sprite.new
@sprite2.bitmap = Cache.title2($data_system.title2_name)
center_sprite(@sprite1)
center_sprite(@sprite2)
 end
 #--------------------------------------------------------------------------
 # * Create Foreground
 #--------------------------------------------------------------------------
 def create_foreground
@foreground_sprite = Sprite.new
@foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
@foreground_sprite.z = 100
draw_game_title if $data_system.opt_draw_title
 end
 #--------------------------------------------------------------------------
 # * Draw Game Title
 #--------------------------------------------------------------------------
 def draw_game_title
@foreground_sprite.bitmap.font.size = 48
rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)
@foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)
 end
 #--------------------------------------------------------------------------
 # * Free Background
 #--------------------------------------------------------------------------
 def dispose_background
@sprite1.bitmap.dispose
@sprite1.dispose
@sprite2.bitmap.dispose
@sprite2.dispose
 end
 #--------------------------------------------------------------------------
 # * Free Foreground
 #--------------------------------------------------------------------------
 def dispose_foreground
@foreground_sprite.bitmap.dispose
@foreground_sprite.dispose
 end
 #--------------------------------------------------------------------------
 # * Move Sprite to Screen Center
 #--------------------------------------------------------------------------
 def center_sprite(sprite)
sprite.ox = sprite.bitmap.width / 2
sprite.oy = sprite.bitmap.height / 2
sprite.x = Graphics.width / 2
sprite.y = Graphics.height / 2
 end
 #--------------------------------------------------------------------------
 # * Create Command Window
 #--------------------------------------------------------------------------
 def create_command_window
@command_window = Window_TitleCommand.new
@command_window.set_handler(:new_game, method(:command_new_game))
@command_window.set_handler(:continue, method(:command_continue))
@command_window.set_handler(:shutdown, method(:command_shutdown))
 end
 #--------------------------------------------------------------------------
 # * Close Command Window
 #--------------------------------------------------------------------------
 def close_command_window
@command_window.close
update until @command_window.close?
 end
 #--------------------------------------------------------------------------
 # * [New Game] Command
 #--------------------------------------------------------------------------
 def command_new_game
DataManager.setup_new_game
close_command_window
fadeout_all
$game_map.autoplay
SceneManager.goto(Scene_Map)
 end
 #--------------------------------------------------------------------------
 # * [Continue] Command
 #--------------------------------------------------------------------------
 def command_continue
close_command_window
SceneManager.call(Scene_Load)
 end
 #--------------------------------------------------------------------------
 # * [shut Down] Command
 #--------------------------------------------------------------------------
 def command_shutdown
close_command_window
fadeout_all
SceneManager.exit
 end
 #--------------------------------------------------------------------------
 # * Play Title Screen Music
 #--------------------------------------------------------------------------
 def play_title_music
$data_system.title_bgm.play
RPG::BGS.stop
RPG::ME.stop
 end
end

Link to comment
Share on other sites

  • 0
Guest clyde

Per il codice clyde ricorda di usare i tag

 

così da ridurre la dimensione del post ^_^

Riguardo all'intro clyde ritiene che sia l'ultimo problema, visto che la priorità ce l'ha tutto il resto del lavoro. E' un dettaglio che andrebbe curato alla fine.

 

@Dilos: Ace ha una struttura diversa.

Parte dal Main che è semplicemente:

 

 

rgss_main { SceneManager.run }

 

 

 

Scene Manager:

 

 

#==============================================================================
# ■ SceneManager
#------------------------------------------------------------------------------
#  シーン遷移を管理するモジュールです。たとえばメインメニューからアイテム画面
# を呼び出し、また戻るというような階層構造を扱うことができます。
#==============================================================================
module SceneManager
 #--------------------------------------------------------------------------
 # ● モジュールのインスタンス変数
 #--------------------------------------------------------------------------
 @scene = nil							# 現在のシーンオブジェクト
 @stack = []							 # 階層遷移用のスタック
 @background_bitmap = nil				# 背景用ビットマップ
 #--------------------------------------------------------------------------
 # ● 実行
 #--------------------------------------------------------------------------
 def self.run
DataManager.init
Audio.setup_midi if use_midi?
@scene = first_scene_class.new
@scene.main while @scene
 end
 #--------------------------------------------------------------------------
 # ● 最初のシーンクラスを取得
 #--------------------------------------------------------------------------
 def self.first_scene_class
$BTEST ? Scene_Battle : Scene_Title
 end
 #--------------------------------------------------------------------------
 # ● MIDI を使用するか
 #--------------------------------------------------------------------------
 def self.use_midi?
$data_system.opt_use_midi
 end
 #--------------------------------------------------------------------------
 # ● 現在のシーンを取得
 #--------------------------------------------------------------------------
 def self.scene
@scene
 end
 #--------------------------------------------------------------------------
 # ● 現在のシーンクラス判定
 #--------------------------------------------------------------------------
 def self.scene_is?(scene_class)
@scene.instance_of?(scene_class)
 end
 #--------------------------------------------------------------------------
 # ● 直接遷移
 #--------------------------------------------------------------------------
 def self.goto(scene_class)
@scene = scene_class.new
 end
 #--------------------------------------------------------------------------
 # ● 呼び出し
 #--------------------------------------------------------------------------
 def self.call(scene_class)
@stack.push(@scene)
@scene = scene_class.new
 end
 #--------------------------------------------------------------------------
 # ● 呼び出し元へ戻る
 #--------------------------------------------------------------------------
 def self.return
@scene = @stack.pop
 end
 #--------------------------------------------------------------------------
 # ● 呼び出しスタックのクリア
 #--------------------------------------------------------------------------
 def self.clear
@stack.clear
 end
 #--------------------------------------------------------------------------
 # ● ゲーム終了
 #--------------------------------------------------------------------------
 def self.exit
@scene = nil
 end
 #--------------------------------------------------------------------------
 # ● 背景として使うためのスナップショット作成
 #--------------------------------------------------------------------------
 def self.snapshot_for_background
@background_bitmap.dispose if @background_bitmap
@background_bitmap = Graphics.snap_to_bitmap
@background_bitmap.blur
 end
 #--------------------------------------------------------------------------
 # ● 背景用ビットマップを取得
 #--------------------------------------------------------------------------
 def self.background_bitmap
@background_bitmap
 end
end

 

 

 

Data Manager:

 

 

#==============================================================================
# ■ DataManager
#------------------------------------------------------------------------------
#  データベースとゲームオブジェクトを管理するモジュールです。ゲームで使用する
# ほぼ全てのグローバル変数はこのモジュールで初期化されます。
#==============================================================================
module DataManager
 #--------------------------------------------------------------------------
 # ● モジュールのインスタンス変数
 #--------------------------------------------------------------------------
 @last_savefile_index = 0				# 最後にアクセスしたファイル
 #--------------------------------------------------------------------------
 # ● モジュール初期化
 #--------------------------------------------------------------------------
 def self.init
@last_savefile_index = 0
load_database
create_game_objects
setup_battle_test if $BTEST
 end
 #--------------------------------------------------------------------------
 # ● データベースのロード
 #--------------------------------------------------------------------------
 def self.load_database
if $BTEST
  load_battle_test_database
else
  load_normal_database
  check_player_location
end
 end
 #--------------------------------------------------------------------------
 # ● 通常のデータベースをロード
 #--------------------------------------------------------------------------
 def self.load_normal_database
$data_actors		= load_data("Data/Actors.rvdata2")
$data_classes	   = load_data("Data/Classes.rvdata2")
$data_skills		= load_data("Data/Skills.rvdata2")
$data_items		 = load_data("Data/Items.rvdata2")
$data_weapons	   = load_data("Data/Weapons.rvdata2")
$data_armors		= load_data("Data/Armors.rvdata2")
$data_enemies	   = load_data("Data/Enemies.rvdata2")
$data_troops		= load_data("Data/Troops.rvdata2")
$data_states		= load_data("Data/States.rvdata2")
$data_animations	= load_data("Data/Animations.rvdata2")
$data_tilesets	  = load_data("Data/Tilesets.rvdata2")
$data_common_events = load_data("Data/CommonEvents.rvdata2")
$data_system		= load_data("Data/System.rvdata2")
$data_mapinfos	  = load_data("Data/MapInfos.rvdata2")
 end
 #--------------------------------------------------------------------------
 # ● 戦闘テスト用のデータベースをロード
 #--------------------------------------------------------------------------
 def self.load_battle_test_database
$data_actors		= load_data("Data/BT_Actors.rvdata2")
$data_classes	   = load_data("Data/BT_Classes.rvdata2")
$data_skills		= load_data("Data/BT_Skills.rvdata2")
$data_items		 = load_data("Data/BT_Items.rvdata2")
$data_weapons	   = load_data("Data/BT_Weapons.rvdata2")
$data_armors		= load_data("Data/BT_Armors.rvdata2")
$data_enemies	   = load_data("Data/BT_Enemies.rvdata2")
$data_troops		= load_data("Data/BT_Troops.rvdata2")
$data_states		= load_data("Data/BT_States.rvdata2")
$data_animations	= load_data("Data/BT_Animations.rvdata2")
$data_tilesets	  = load_data("Data/BT_Tilesets.rvdata2")
$data_common_events = load_data("Data/BT_CommonEvents.rvdata2")
$data_system		= load_data("Data/BT_System.rvdata2")
 end
 #--------------------------------------------------------------------------
 # ● プレイヤーの初期位置存在チェック
 #--------------------------------------------------------------------------
 def self.check_player_location
if $data_system.start_map_id == 0
  msgbox(Vocab::PlayerPosError)
  exit
end
 end
 #--------------------------------------------------------------------------
 # ● 各種ゲームオブジェクトの作成
 #--------------------------------------------------------------------------
 def self.create_game_objects
$game_temp		  = Game_Temp.new
$game_system		= Game_System.new
$game_timer		 = Game_Timer.new
$game_message	   = Game_Message.new
$game_switches	  = Game_Switches.new
$game_variables	 = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_actors		= Game_Actors.new
$game_party		 = Game_Party.new
$game_troop		 = Game_Troop.new
$game_map		   = Game_Map.new
$game_player		= Game_Player.new
 end
 #--------------------------------------------------------------------------
 # ● ニューゲームのセットアップ
 #--------------------------------------------------------------------------
 def self.setup_new_game
create_game_objects
$game_party.setup_starting_members
$game_map.setup($data_system.start_map_id)
$game_player.moveto($data_system.start_x, $data_system.start_y)
$game_player.refresh
Graphics.frame_count = 0
 end
 #--------------------------------------------------------------------------
 # ● 戦闘テストのセットアップ
 #--------------------------------------------------------------------------
 def self.setup_battle_test
$game_party.setup_battle_test
BattleManager.setup($data_system.test_troop_id)
BattleManager.play_battle_bgm
 end
 #--------------------------------------------------------------------------
 # ● セーブファイルの存在判定
 #--------------------------------------------------------------------------
 def self.save_file_exists?
!Dir.glob('Save*.rvdata2').empty?
 end
 #--------------------------------------------------------------------------
 # ● セーブファイルの最大数
 #--------------------------------------------------------------------------
 def self.savefile_max
return 16
 end
 #--------------------------------------------------------------------------
 # ● ファイル名の作成
 #	 index : ファイルインデックス
 #--------------------------------------------------------------------------
 def self.make_filename(index)
sprintf("Save%02d.rvdata2", index + 1)
 end
 #--------------------------------------------------------------------------
 # ● セーブの実行
 #--------------------------------------------------------------------------
 def self.save_game(index)
begin
  save_game_without_rescue(index)
rescue
  delete_save_file(index)
  false
end
 end
 #--------------------------------------------------------------------------
 # ● ロードの実行
 #--------------------------------------------------------------------------
 def self.load_game(index)
load_game_without_rescue(index) rescue false
 end
 #--------------------------------------------------------------------------
 # ● セーブヘッダのロード
 #--------------------------------------------------------------------------
 def self.load_header(index)
load_header_without_rescue(index) rescue nil
 end
 #--------------------------------------------------------------------------
 # ● セーブの実行(例外処理なし)
 #--------------------------------------------------------------------------
 def self.save_game_without_rescue(index)
File.open(make_filename(index), "wb") do |file|
  $game_system.on_before_save
  Marshal.dump(make_save_header, file)
  Marshal.dump(make_save_contents, file)
  @last_savefile_index = index
end
return true
 end
 #--------------------------------------------------------------------------
 # ● ロードの実行(例外処理なし)
 #--------------------------------------------------------------------------
 def self.load_game_without_rescue(index)
File.open(make_filename(index), "rb") do |file|
  Marshal.load(file)
  extract_save_contents(Marshal.load(file))
  reload_map_if_updated
  @last_savefile_index = index
end
return true
 end
 #--------------------------------------------------------------------------
 # ● セーブヘッダのロード(例外処理なし)
 #--------------------------------------------------------------------------
 def self.load_header_without_rescue(index)
File.open(make_filename(index), "rb") do |file|
  return Marshal.load(file)
end
return nil
 end
 #--------------------------------------------------------------------------
 # ● セーブファイルの削除
 #--------------------------------------------------------------------------
 def self.delete_save_file(index)
File.delete(make_filename(index)) rescue nil
 end
 #--------------------------------------------------------------------------
 # ● セーブヘッダの作成
 #--------------------------------------------------------------------------
 def self.make_save_header
header = {}
header[:characters] = $game_party.characters_for_savefile
header[:playtime_s] = $game_system.playtime_s
header
 end
 #--------------------------------------------------------------------------
 # ● セーブ内容の作成
 #--------------------------------------------------------------------------
 def self.make_save_contents
contents = {}
contents[:system]		= $game_system
contents[:timer]		 = $game_timer
contents[:message]	   = $game_message
contents[:switches]	  = $game_switches
contents[:variables]	 = $game_variables
contents[:self_switches] = $game_self_switches
contents[:actors]		= $game_actors
contents[:party]		 = $game_party
contents[:troop]		 = $game_troop
contents[:map]		   = $game_map
contents[:player]		= $game_player
contents
 end
 #--------------------------------------------------------------------------
 # ● セーブ内容の展開
 #--------------------------------------------------------------------------
 def self.extract_save_contents(contents)
$game_system		= contents[:system]
$game_timer		 = contents[:timer]
$game_message	   = contents[:message]
$game_switches	  = contents[:switches]
$game_variables	 = contents[:variables]
$game_self_switches = contents[:self_switches]
$game_actors		= contents[:actors]
$game_party		 = contents[:party]
$game_troop		 = contents[:troop]
$game_map		   = contents[:map]
$game_player		= contents[:player]
 end
 #--------------------------------------------------------------------------
 # ● データが更新されている場合はマップを再読み込み
 #--------------------------------------------------------------------------
 def self.reload_map_if_updated
if $game_system.version_id != $data_system.version_id
  $game_map.setup($game_map.map_id)
  $game_player.center($game_player.x, $game_player.y)
  $game_player.make_encounter_count
end
 end
 #--------------------------------------------------------------------------
 # ● セーブファイルの更新日時を取得
 #--------------------------------------------------------------------------
 def self.savefile_time_stamp(index)
File.mtime(make_filename(index)) rescue Time.at(0)
 end
 #--------------------------------------------------------------------------
 # ● 更新日時が最新のファイルインデックスを取得
 #--------------------------------------------------------------------------
 def self.latest_savefile_index
savefile_max.times.max_by {|i| savefile_time_stamp(i) }
 end
 #--------------------------------------------------------------------------
 # ● 最後にアクセスしたファイルのインデックスを取得
 #--------------------------------------------------------------------------
 def self.last_savefile_index
@last_savefile_index
 end
end

 

 

 

Scene Title:

 

 

#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  タイトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Title < Scene_Base
 #--------------------------------------------------------------------------
 # ● 開始処理
 #--------------------------------------------------------------------------
 def start
super
SceneManager.clear
Graphics.freeze
create_background
create_foreground
create_command_window
play_title_music
 end
 #--------------------------------------------------------------------------
 # ● トランジション速度の取得
 #--------------------------------------------------------------------------
 def transition_speed
return 20
 end
 #--------------------------------------------------------------------------
 # ● 終了処理
 #--------------------------------------------------------------------------
 def terminate
super
SceneManager.snapshot_for_background
dispose_background
dispose_foreground
 end
 #--------------------------------------------------------------------------
 # ● 背景の作成
 #--------------------------------------------------------------------------
 def create_background
@sprite1 = Sprite.new
@sprite1.bitmap = Cache.title1($data_system.title1_name)
@sprite2 = Sprite.new
@sprite2.bitmap = Cache.title2($data_system.title2_name)
center_sprite(@sprite1)
center_sprite(@sprite2)
 end
 #--------------------------------------------------------------------------
 # ● 前景の作成
 #--------------------------------------------------------------------------
 def create_foreground
@foreground_sprite = Sprite.new
@foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
@foreground_sprite.z = 100
draw_game_title if $data_system.opt_draw_title
 end
 #--------------------------------------------------------------------------
 # ● ゲームタイトルの描画
 #--------------------------------------------------------------------------
 def draw_game_title
@foreground_sprite.bitmap.font.size = 48
rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)
@foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)
 end
 #--------------------------------------------------------------------------
 # ● 背景の解放
 #--------------------------------------------------------------------------
 def dispose_background
@sprite1.bitmap.dispose
@sprite1.dispose
@sprite2.bitmap.dispose
@sprite2.dispose
 end
 #--------------------------------------------------------------------------
 # ● 前景の解放
 #--------------------------------------------------------------------------
 def dispose_foreground
@foreground_sprite.bitmap.dispose
@foreground_sprite.dispose
 end
 #--------------------------------------------------------------------------
 # ● スプライトを画面中央に移動
 #--------------------------------------------------------------------------
 def center_sprite(sprite)
sprite.ox = sprite.bitmap.width / 2
sprite.oy = sprite.bitmap.height / 2
sprite.x = Graphics.width / 2
sprite.y = Graphics.height / 2
 end
 #--------------------------------------------------------------------------
 # ● コマンドウィンドウの作成
 #--------------------------------------------------------------------------
 def create_command_window
@command_window = Window_TitleCommand.new
@command_window.set_handler(:new_game, method(:command_new_game))
@command_window.set_handler(:continue, method(:command_continue))
@command_window.set_handler(:shutdown, method(:command_shutdown))
 end
 #--------------------------------------------------------------------------
 # ● コマンドウィンドウを閉じる
 #--------------------------------------------------------------------------
 def close_command_window
@command_window.close
update until @command_window.close?
 end
 #--------------------------------------------------------------------------
 # ● コマンド[ニューゲーム]
 #--------------------------------------------------------------------------
 def command_new_game
DataManager.setup_new_game
close_command_window
fadeout_all
$game_map.autoplay
SceneManager.goto(Scene_Map)
 end
 #--------------------------------------------------------------------------
 # ● コマンド[コンティニュー]
 #--------------------------------------------------------------------------
 def command_continue
close_command_window
SceneManager.call(Scene_Load)
 end
 #--------------------------------------------------------------------------
 # ● コマンド[シャットダウン]
 #--------------------------------------------------------------------------
 def command_shutdown
close_command_window
fadeout_all
SceneManager.exit
 end
 #--------------------------------------------------------------------------
 # ● タイトル画面の音楽演奏
 #--------------------------------------------------------------------------
 def play_title_music
$data_system.title_bgm.play
RPG::BGS.stop
RPG::ME.stop
 end
end

 

 

Link to comment
Share on other sites

  • 0

Grazie Clyde...ma scusate..ma che porcata anche hanno fatto in VX ACE?!? :blink: Ma è completamente diverso dal VX...non ci capisco più un cavolo...

Ci sto lavorando...intanto se avete altre soluzioni postate pure...io sto convertendo il mio script in modo che funzioni su Ace...se potete dirmi anche le funzioni che Ace utilizza per caricare le mappe mi fareste un grande favore :sisi: (se no cerco io su internet non è un problema :smile: )

le funzioni che mi servono sono quelle corrispondenti in Ace di queste:

$game_party.setup_starting_members (per caricare il party)

$game_map.setup(1) (per caricare l' ID della mappa)

$game_player.moveto(9, 7) (per impostare la posizione dell' eroe nella mappa precedentemente caricata)

$game_player.refresh (per refreshare il player..)

$game_map.autoplay (per caricare le bgm/bgs della mappa caricata)

$game_map.update (per aggiornare la mappa)

 

grazie in anticipo... :wink:

 

EDIT: ho scaricato la trial di Ace...ehm, dimenticatevi la mia richiesta di sopra, deve essere proprio strutturato in maniera differente da quello del VX...comunque ora ho tutti gli script sotto gli occhi, ci sono quasi! Con il metodo che ho utilizzato adesso funziona! Aspettate solo un' attimo che metto in ordine lo script per bene e lo posto! :smile:

Edited by Dilos
Link to comment
Share on other sites

  • 0
Guest clyde

A clyde non risultano porcate. Le funzioni che hai citato sono rimaste le stesse, come puoi vedere in:

module DataManager
...
def self.setup_new_game
... <---QUI
end
...
end

 

EDIT: clyde attende il tuo responso! ^_^

Edited by clyde
Link to comment
Share on other sites

  • 0

A clyde non risultano porcate. Le funzioni che hai citato sono rimaste le stesse, come puoi vedere in:

module DataManager
...
def self.setup_new_game
... <---QUI
end
...
end

 

EDIT: clyde attende il tuo responso! ^_^

Grazie di nuovo clyde...ho detto porcate perchè ero rimasto senza parole (e mi erano rimaste solo le parolacce), essendo abituato al "vecchio" RGSS, mi ha confuso un po le idee...

Sono riuscito a trovare ste benedette funzioni, già, interessante questà novità del modulo DataManager :sisi:

Sono lieto di presentarvi: L'INTRO PRIMA DEL TITOLO PER ACE DI DILOS!!! :biggrin:

class Scene_Title

def start

case $intro

when true

DataManager.setup_new_game

$data_actors = load_data("Data/Actors.rvdata2")

$data_classes = load_data("Data/Classes.rvdata2")

$data_skills = load_data("Data/Skills.rvdata2")

$data_items = load_data("Data/Items.rvdata2")

$data_weapons = load_data("Data/Weapons.rvdata2")

$data_armors = load_data("Data/Armors.rvdata2")

$data_enemies = load_data("Data/Enemies.rvdata2")

$data_troops = load_data("Data/Troops.rvdata2")

$data_states = load_data("Data/States.rvdata2")

$data_animations = load_data("Data/Animations.rvdata2")

$data_tilesets = load_data("Data/Tilesets.rvdata2")

$data_common_events = load_data("Data/CommonEvents.rvdata2")

$data_system = load_data("Data/System.rvdata2")

$data_mapinfos = load_data("Data/MapInfos.rvdata2")

$game_temp = Game_Temp.new

$game_system = Game_System.new

$game_timer = Game_Timer.new

$game_message = Game_Message.new

$game_switches = Game_Switches.new

$game_variables = Game_Variables.new

$game_self_switches = Game_SelfSwitches.new

$game_actors = Game_Actors.new

$game_party = Game_Party.new

$game_troop = Game_Troop.new

$game_map = Game_Map.new

$game_player = Game_Player.new

SceneManager.clear

$game_party.setup_starting_members

$game_map.setup(1)

$game_player.moveto(5, 5)

$game_player.refresh

Graphics.freeze

$game_map.autoplay

$game_map.update

SceneManager.goto(Scene_Map)

when false

SceneManager.goto(Scene_Title_Screen)

end

end

 

def terminate

SceneManager.snapshot_for_background

Graphics.fadeout(Graphics.frame_rate)

end

end

 

 

Poi, dovete modificare il nome della scena del title da "Scene_Title" a "Scene_Title_Screen" (potete farlo nella prima linea dello Scene_Title)

Poi, dovete aggiungere alla prima linea del Main questo: $intro = true

Ora, le regole di quello che ho postato in precedenza valgono anche qui: la prima mappa la utilizzi per fare la intro in inizio automatico, mentre metti la posizione iniziale nella seconda mappa.

Non c'è bisogno del comando finish per terminare la intro, ora dovete mettere un altro codice: $intro = false, e poi subito dopo basta mettere un ritorna al titolo :wink:

Fatemi sapere, ma l' ho testato diverse volte ed ha funzionato perfettamente, nessun problema :sisi:

Per me è una vera vittoria, mi sono sbattuto tutto il giorno perchè, già messo in difficoltà dall' Ace che non conosco..., ero sempre vicino al risultato ma non abbastanza, per un errore o per l'altro non riuscivo a concludere, ma ora è tutto a posto.

Se è tutto ok anche per voi posto nella sezione scripts :cool:

Edited by Dilos
Link to comment
Share on other sites

  • 0

Grazie... comunque non mi sta funzionando mò vedo il perchè...

Ma quando dici alla prima linea del main al posto di rgss_main?

Cmq mi dà solo un problema quando finisce l'evento me lo rifà tutto da capo e ho messo torna ai titoli

e l'evento è un inizio automatico

Edited by Maker Bros
Link to comment
Share on other sites

  • 0

No no! non al posto di rgss_main, ma sopra! :sisi:

Se te lo rifà tutto da capo hai dimenticato di impostare qualcosa...

Alla fine della intro hai messo il call script: $intro = false, prima del torna ai titoli ?

Hai cambiato il nome della classe del title?

Se non ti funziona ti posto una demo :smile:

Edited by Dilos
Link to comment
Share on other sites

  • 0
Guest clyde

Clyde pensa che sarebbe stato più semplice modificare:

 

module Scene_Manager
...
def self.first_scene_class
$BTEST ? Scene_Battle : Scene_Title
end
...
end

 

in:

 

 

module Scene_Manager
...
def self.first_scene_class
$BTEST ? Scene_Battle : Scene_Intro
end
...
end

 

 

E implementare una classe Scene_Intro personalizzabile dall'utente.

 

Comunque sì, potresti anche aprire un topic in scripts ma in versione beta come topic di sviluppo.

Link to comment
Share on other sites

  • 0
Si Clyde, però ripeto, non sono ancora pratico con gli script dell' Ace...comunque non dovrebbe esserci nessun problema, appena Maker Bros ci conferma che è riuscito a farlo funzionare, lo vado a postare, poi nulla e nessuno mi vieta di aggiornarlo in un secondo momento per semplificare il codice e migliorarlo :wink: .
Link to comment
Share on other sites

Create an account or sign in to comment

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

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...