#1 Inviato 23 March 2012 - 17:16 PM
Cmq c'è un tipo Intro Scene Reloaded come su vx ( se non sbaglio) ?
#2 Inviato 23 March 2012 - 21:52 PM
Invece per la intro, non ho capito, intendi una intro composta da un video, o una intro ad immagini?
#3 Inviato 24 March 2012 - 12:54 PM
#4 Inviato 24 March 2012 - 13:01 PM
NON partecipante al Rpg2s.net Game Contest #3
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
#5 Inviato 24 March 2012 - 13:07 PM
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...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...
#6 Inviato 24 March 2012 - 13:16 PM
@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 ^ ^
disponibile su Google Play, qui i dettagli! ^ ^
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) ^ ^
#7 Inviato 24 March 2012 - 13:50 PM
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".
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... )
Lo script è mio, se si dovesse dimostrare utile e funzionante (su VX funziona perfettamente), lo posterò nella sezione Scripts
Modificato da Dilos, 24 March 2012 - 14:08 PM.
#9 Inviato 24 March 2012 - 17:04 PM
ma c'el'ho
EDIT: scusate il doppio post mi sono dimenticato :S
Modificato da Maker Bros, 24 March 2012 - 17:05 PM.
#10 Inviato 24 March 2012 - 17:15 PM
allora, puoi postarmi per favore la Scene_Title dell' Ace, così correggo (probabilmente il caricamento del database è diverso nell' Ace...) ?
(oppure, più semplicemente, cerca nello Scene Title dove c'è il commento "load database" e postami tutto quello che c'è scritto da lì in poi )
#11 Inviato 24 March 2012 - 18:07 PM
#============================================================================== # ** 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
#12 Inviato 24 March 2012 - 19:43 PM
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:
Scene Manager:
Data Manager:
Scene Title:
#13 Inviato 24 March 2012 - 20:41 PM
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 (se no cerco io su internet non è un problema )
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...
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!
Modificato da Dilos, 24 March 2012 - 21:01 PM.
#14 Inviato 24 March 2012 - 21:09 PM
module DataManager ... def self.setup_new_game ... <---QUI end ... end
EDIT: clyde attende il tuo responso! ^_^
Modificato da clyde, 24 March 2012 - 21:10 PM.
#15 Inviato 25 March 2012 - 01:46 AM
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...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! ^_^
Sono riuscito a trovare ste benedette funzioni, già, interessante questà novità del modulo DataManager
Sono lieto di presentarvi: L'INTRO PRIMA DEL TITOLO PER ACE DI DILOS!!!
class Scene_Title < Scene_Base
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
Fatemi sapere, ma l' ho testato diverse volte ed ha funzionato perfettamente, nessun problema
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
Modificato da Dilos, 25 March 2012 - 12:30 PM.
#16 Inviato 25 March 2012 - 09:56 AM
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
Modificato da Maker Bros, 25 March 2012 - 10:06 AM.
#17 Inviato 25 March 2012 - 12:02 PM
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
Modificato da Dilos, 25 March 2012 - 12:03 PM.
#18 Inviato 25 March 2012 - 12:05 PM
in:
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.
#19 Inviato 25 March 2012 - 12:33 PM
#20 Inviato 25 March 2012 - 13:27 PM