Jump to content
Rpg²S Forum
  • 0

Query e db


Grawel
 Share

Question

Non mi serve proprio uno script ma dei metodi per agganciare un db tramite script e ed eseguire delle query...
Metterei poi la chiamata all'interno della funzione di save.

Link to comment
Share on other sites

Recommended Posts

  • 0

Non mi serve proprio uno script ma dei metodi per agganciare un db tramite script e ed eseguire delle query...

Metterei poi la chiamata all'interno della funzione di save.

Servono più informazioni. Il DB è in formato MySQL? SQLite? È hostato su un server o in locale?

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

Scarica le librerie Ruby e importale nella cartella del tuo progetto, quindi segui questa guida.

http://www.html.it/pag/17441/ruby-e-mysql/

Sarebbe molto più facile però se usassi un file php da tramite per il web.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

Scusa Holy, non sono l'opener ma mi hai incuriosito... per quale motivo è più semplice utilizzare un PHP come tramite?

Questione di migliore integrazione PHP<->MySQL? O c'è altro?

Aurora Dreaming


The Dreamer (v. 1.1) - standalone


72 MB - Il prequel ad Aurora Dreaming



segui il dev-diary ufficiale di Aurora Dreaming!



Bacheca Premi


http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png

Link to comment
Share on other sites

  • 0

Credo anche per semplicita Midi....comunque Holy guardando la guida non si distacca molto da Sqlsrv...e poi il resto è semplice. quindi come al solito sei stato utile. unica cosa dove trovo codeste librerie?
Sono cmq curioso di sapere cosa intendi per usare un php come tramite =)

Edited by Grawel
Link to comment
Share on other sites

  • 0

Penso che intenda chiamare uno script PHP hostato, il quale a sua volta effettua le query e restituisce i risultati.

Almeno, io ho capito una cosa di questo tipo:

 

script Ruby --- richiesta HTTP ---> pagina PHP --- query ---> DB

script Ruby <--- risposta HTTP --- pagina PHP <--- resultSet --- DB

 

Per questo non riesco a capire per quale motivo è meglio quell'architettura rispetto a:

script Ruby <--- connessione ---> DB

Aurora Dreaming


The Dreamer (v. 1.1) - standalone


72 MB - Il prequel ad Aurora Dreaming



segui il dev-diary ufficiale di Aurora Dreaming!



Bacheca Premi


http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png

Link to comment
Share on other sites

  • 0

Ah ho capito...beh il problema sarebbe che aprirebbe una pagina web in teoria no?
Se hostassi la pagina web holy come dovrei fare a passargli le info?

Link to comment
Share on other sites

  • 0

Credo anche per semplicita Midi....comunque Holy guardando la guida non si distacca molto da Sqlsrv...e poi il resto è semplice. quindi come al solito sei stato utile. unica cosa dove trovo codeste librerie?

Sono cmq curioso di sapere cosa intendi per usare un php come tramite =)

https://www.ruby-lang.org/it/downloads/

Ovviamente non devi per forza mettere tutto il Ruby nel progetto, bastano solo i file rb che ti interessano.

 

Penso che intenda chiamare uno script PHP hostato, il quale a sua volta effettua le query e restituisce i risultati.

Almeno, io ho capito una cosa di questo tipo:

 

script Ruby --- richiesta HTTP ---> pagina PHP --- query ---> DB

script Ruby

 

Per questo non riesco a capire per quale motivo è meglio quell'architettura rispetto a:

script Ruby DB

Esattamente. Con il mio modulo universale si manda facilmente una richiesta HTTP alla pagina PHP hostata, che poi provvede a fare le query e restituire il risultato al gioco, tutto in modo veloce e asincrono.

Perché è meglio del secondo motivo? Perché RPG Maker è facilmente leggibile, se ci tieni all'interno le credenziali memorizzate possono prenderle. Inoltre un servizio web da tramite è sempre la soluzione migliore quando si tratta di pubblicare un gioco o un'applicazione al pubblico: se si deve aggiornare qualcosa basta farlo al lato server senza toccare il client, ed è anche più sicuro.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

Mh, hai ragione. Non avevo pensato al fatto che le credenziali potessero essere lette, dato che vengono distribuite.

E anche l'idea dell'interfaccia immutabile con aggiornamenti "trasparenti" all'utente è decisamente un punto a favore.

 

Mettere in piedi un web service in PHP non dovrebbe essere complesso, tutto sommato.

Aurora Dreaming


The Dreamer (v. 1.1) - standalone


72 MB - Il prequel ad Aurora Dreaming



segui il dev-diary ufficiale di Aurora Dreaming!



Bacheca Premi


http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png

Link to comment
Share on other sites

  • 0

Assoulutamente non è difficile...anzi è gia pronto...quindi holy ti chiedo il tuo modulo universale permette di mandare in post o in get i paramentri alla pagina php come quello di berka per vx??? a me serve per vx ace

Link to comment
Share on other sites

  • 0

Assoulutamente non è difficile...anzi è gia pronto...quindi holy ti chiedo il tuo modulo universale permette di mandare in post o in get i paramentri alla pagina php come quello di berka per vx??? a me serve per vx ace

Certamente! Trovi tutto nella documentazione all'interno dello script.

http://www.rpg2s.net/forum/index.php/topic/17338-modulo-di-supporto-di-holy87/

 

Un semplice esempio è questo:

 

class Scene_Prova < Scene_Base
  def start
    request = Base64.encode("Come stai?")
    get_response_async("http:///www.miosito.it/saluto.php?get=#{request}", :stampa_risposta)
  end
 
  def stampa_risposta(risposta)
     print risposta
  end
end

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

Sto giocando per curiosita mia a Overdrive è devo dire che mi sta piacendo parecchio....
Praticamente il mio gioco salvera su server come fa il tuo a ogni salvataggio....volevo chiederti una coss come hai fatto a a fare l'aggiornamento quello nella schermata del titolo...perche io l'ho gestito non un aplicazione d'interfaccia che io ho creato...

E un altra cosa...che mi interessa ancora di più che volevo aggiungere anche al mio gioco... i commenti come hai fatto?

Edited by Grawel
Link to comment
Share on other sites

  • 0

Sto giocando per curiosita mia a Overdrive è devo dire che mi sta piacendo parecchio....

Praticamente il mio gioco salvera su server come fa il tuo a ogni salvataggio....volevo chiederti una coss come hai fatto a a fare l'aggiornamento quello nella schermata del titolo...perche io l'ho gestito non un aplicazione d'interfaccia che io ho creato...

 

E un altra cosa...che mi interessa ancora di più che volevo aggiungere anche al mio gioco... i commenti come hai fatto?

Beh, il gioco ha una sua versione. Controlla un file header di testo contenente l'ultima versione dell'aggiornamento. Se è maggiore di quella installata avvia il download della patch da link, nulla di complesso.

Per quanto riguarda i messaggi, è ancora più facile. Il gioco manda una richiesta alla pagina php con l'utente e il messaggio, il server aggiunge l'ora e aggiunge una nuova riga al log della sfera.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

per caso hai quello script per vx ace? quello dei messaggi?
Per l'aggiornamento ho fatto cosi anche io...solo che lo fa un programma di interfaccia.

Link to comment
Share on other sites

  • 0
No non ce l'ho perché l'ho fatto apposta per Overdrive, è strettamente legato ad altri aspetti del gioco.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

capito provero a crearlo utilizzando appunto il tuo modulo di supporto se ho bisogno di qualcosa ti chiedo...più che altro non sono ancora molto bravo col ruby. fortunatamente ha qualcosa di c XD

Link to comment
Share on other sites

  • 0
C'è la mia guida all'RGSS se vuoi.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

Holy scusa sto cercando di usare quel semplice esempio che mi hai mandato ma non capisco dove devo inserirlo

Nella scena o window dove vuoi che venga chiamato.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

intendevo come dovrei chiamarlo...perche io vorrei chiamarlo mentre salvo....oppure forse ancora meglio durante la load bar di questo script

#===============================================================================
# +++ MOG - Advanced Load Bar (v1.1) +++ 
#===============================================================================
# By Moghunter
# http://www.atelier-rgss.com  
#===============================================================================
# Apresenta uma barra de carregar entre as cenas de Save e Load.
#
# O propósito deste Script é apresentar alguns artworks de seu jogo 
# enquanto o jogador espera a barra de leitura.
#
#===============================================================================
# Você pode adpatar esse script em alguma outra Scene ou ativar pelo evento.
# Basta usar este código.
#
# SceneManager.call(Scene_Load_Bar)
#
#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v 1.1 - Melhoria no sistema de dispose de imagens.
#==============================================================================

module MOG_LOAD_BAR
   # Tempo para fazer load.(Segundos)
   LOAD_DURATION = 1 
   # Ativar o sistema ao carregar o jogo.
   ENABLE_LOAD_BAR_FOR_SCENE_LOAD = true
   # Ativar o sistema ao salvar o jogo.
   ENABLE_LOAD_BAR_FOR_SCENE_SAVE = true   
   # Definição das imagens que ficarão no plano de fundo.
   LOAD_BACKGROUND_PICTURES = [
   "Background_1",
   "Background_2",
   "Background_3",
   "Background_4",
   "Background_5",
   #"Background_6"
   #"Background_7",
   "Background_8",
   #"Background_9",
   #"Background_10",
   # ...
   ]
   # Ativar ordem aleatória ou sequencial.
   PICTURE_RANDOM_SELECTION = true   
   # Posição do geral da Hud.
   LOAD_BAR_POSITION = [30,350]
   # Posição do medidor.
   LOAD_BAR_METER_POSITION = [11,27]
   # Posição do Texto.
   LOAD_BAR_TEXT_POSITION = [ 10, -3]
   # Som ao carregar o arquivo.
   LOAD_SE = "Decision2"
   # Velocidade da animação do medidor.
   LOAD_BAR_FLOW_SPEED = 25
   # Definição da Cena que será ativada após salvar via menu.
   # Caso o save seja feito pelo evento, a cena será o Mapa.
   RETURN_TO_SCENE = Scene_Menu.new(4)
   # Ativar a animação de levitação do texto.
   ENABLE_FLOAT_TEXT_ANIMATION = true
   # Apresentar o sprite do personagem. 
   ENABLE_CHARACTER_SPRITE = true
   # Ativar barras laterais.
   ENABLE_STRIPE_SPRITE = true
   # Velocidade das barras laterais.
   STRIPE_SPEED = 1
end

#=============================================================================
# ■ Game_Temp
#=============================================================================
class Game_Temp
  attr_accessor :load_bar_pre_index
  attr_accessor :loadbar_type
  attr_accessor :load_pre_bgm
  attr_accessor :load_pre_bgs
 
 #--------------------------------------------------------------------------
 # ● Initialize
 #--------------------------------------------------------------------------              
 alias load_bar_initialize initialize
 def initialize
     @load_bar_pre_index = -1
     @loadbar_type = 0   
     load_bar_initialize
 end
   
end

#=============================================================================
# ■ Game_System
#=============================================================================
class Game_System
  attr_accessor :load_bar_pre_index
  
 #--------------------------------------------------------------------------
 # ● Initialize
 #--------------------------------------------------------------------------              
 alias load_bar_initialize initialize
 def initialize
     load_bar_initialize
     @load_bar_pre_index = 0
 end
 
 #--------------------------------------------------------------------------
 # ● BGS Stop
 #--------------------------------------------------------------------------             
 def bgs_stop
     Audio.bgs_stop
 end
end

#=============================================================================
# ■ Scene Load Bar
#=============================================================================
class Scene_Load_Bar
 include MOG_LOAD_BAR
  
 #--------------------------------------------------------------------------
 # ● Initialize
 #--------------------------------------------------------------------------            
 def initialize
     execute_dispose
     @bar_type = $game_temp.loadbar_type
     @load_duration_max = 60 * LOAD_DURATION
     @load_duration_max = 60 if @load_duration_max < 60  
     @load_duration = 0
     @pictures = LOAD_BACKGROUND_PICTURES
     create_background
     create_layout  
     create_load_bar
     create_text
     create_side_strip
 end
   
 #--------------------------------------------------------------------------
 # ● Create Background 
 #--------------------------------------------------------------------------           
 def create_background  
     @background = Sprite.new
     if PICTURE_RANDOM_SELECTION
        $game_system.load_bar_pre_index = rand(@pictures.size) 
        no_repeat_picture
     end
     image_name = @pictures[$game_system.load_bar_pre_index]    
     image_name = "" if image_name == nil     
     @background.bitmap = Cache.picture(image_name)
     $game_temp.load_bar_pre_index = $game_system.load_bar_pre_index
     unless PICTURE_RANDOM_SELECTION
        $game_system.load_bar_pre_index += 1
        $game_system.load_bar_pre_index = 0 if $game_system.load_bar_pre_index > @pictures.size - 1
     end   
 end
   
 #--------------------------------------------------------------------------
 # ● No Repeat Picture 
 #--------------------------------------------------------------------------            
 def no_repeat_picture
     if $game_system.load_bar_pre_index == $game_temp.load_bar_pre_index
        $game_system.load_bar_pre_index += 1
        $game_system.load_bar_pre_index = 0 if $game_system.load_bar_pre_index > @pictures.size - 1
     end  
 end
 
 #--------------------------------------------------------------------------
 # ● Create Layout
 #--------------------------------------------------------------------------           
 def create_layout  
     @hud = Sprite.new
     @hud.bitmap = Cache.system("Load_Bar_Layout")
     @hud.x = LOAD_BAR_POSITION[0]
     @hud.y = LOAD_BAR_POSITION[1]
     @hud.z = 10
 end
 
 #--------------------------------------------------------------------------
 # ● Create Side Strip
 #--------------------------------------------------------------------------           
 def create_side_strip
     @stripe1 = Plane.new
     @stripe2 = Plane.new     
     if @bar_type == 0
        @stripe1.bitmap = Cache.system("Load_Bar_Stripe1_L")
        @stripe2.bitmap = Cache.system("Load_Bar_Stripe2_L")
     else  
        @stripe1.bitmap = Cache.system("Load_Bar_Stripe1_S")
        @stripe2.bitmap = Cache.system("Load_Bar_Stripe2_S")
     end  
     @stripe1.z = 1
     @stripe2.z = 1          
     @stripe1.visible = ENABLE_STRIPE_SPRITE
     @stripe2.visible = ENABLE_STRIPE_SPRITE
 end 
 
 #--------------------------------------------------------------------------
 # ● Create Load Bar
 #--------------------------------------------------------------------------            
 def create_load_bar
     @bar_flow = 0
     @bar_image = Cache.system("Load_Bar_Meter")
     @bar_bitmap = Bitmap.new(@bar_image.width,@bar_image.height)
     @bar_range = @bar_image.width / 3
     @bar_width = @bar_range  * @load_duration / @load_duration_max
     @bar_height = @bar_image.height
     @bar_width_old = @bar_width
     @bar_src_rect = Rect.new(@bar_flow, 0, @bar_width, @bar_height)
     @bar_bitmap.blt(0,0, @bar_image, @bar_src_rect)
     @bar_sprite = Sprite.new
     @bar_sprite.bitmap = @bar_bitmap
     @bar_sprite.z = 11
     @bar_sprite.x = LOAD_BAR_POSITION[0] + LOAD_BAR_METER_POSITION[0]
     @bar_sprite.y = LOAD_BAR_POSITION[1] + LOAD_BAR_METER_POSITION[1]
     update_bar_flow
 end
 
 #--------------------------------------------------------------------------
 # ● Create Text
 #--------------------------------------------------------------------------            
 def create_text
     @text_float_time = 0
     @text_float_y = 0
     @text_image = Cache.system("Load_Bar_Text")
     @text_bitmap = Bitmap.new(@text_image.width,@text_image.height)
     @text_width = @text_image.width
     @text_height = @text_image.height / 2
     @text_src_rect = Rect.new(0, @text_height * @bar_type, @text_width, @text_height)
     @text_bitmap.blt(0,0, @text_image, @text_src_rect)   
     @text_sprite = Sprite.new
     @text_sprite.bitmap = @text_bitmap    
     @text_fy = LOAD_BAR_POSITION[1] + LOAD_BAR_TEXT_POSITION[1] 
     @text_sprite.x = LOAD_BAR_POSITION[0] + LOAD_BAR_TEXT_POSITION[0]
     @text_sprite.y = @text_fy 
     @text_sprite.z = 12
 end 
 
 #--------------------------------------------------------------------------
 # ● Main
 #--------------------------------------------------------------------------          
 def main
     Graphics.transition
     execute_loop
     execute_dispose
 end   
 
 #--------------------------------------------------------------------------
 # ● Execute Loop
 #--------------------------------------------------------------------------           
 def execute_loop
     loop do
          update
          Graphics.update          
          if SceneManager.scene != self
              break
          end
     end
 end
 
 #--------------------------------------------------------------------------
 # ● Execute Dispose
 #--------------------------------------------------------------------------            
 def execute_dispose
     return if @hud == nil
     @hud.bitmap.dispose
     @hud.dispose
     @stripe1.bitmap.dispose
     @stripe1.dispose     
     @stripe2.bitmap.dispose
     @stripe2.dispose        
     @bar_image.dispose
     @bar_bitmap.dispose
     @bar_sprite.bitmap.dispose
     @bar_sprite.dispose     
     @background.bitmap.dispose
     @background.dispose
     @text_image.dispose
     @text_bitmap.dispose
     @text_sprite.bitmap.dispose
     @text_sprite.dispose
     Graphics.transition
     Graphics.freeze
 end  
 
 #--------------------------------------------------------------------------
 # ● Update
 #--------------------------------------------------------------------------             
 def update
     update_bar_flow
     update_bar_duration
     update_float_text
     update_slide_stripe
 end
 
 #--------------------------------------------------------------------------
 # ● Update Slide Stripe
 #--------------------------------------------------------------------------              
 def update_slide_stripe
     @stripe1.oy += STRIPE_SPEED
     @stripe2.ox += STRIPE_SPEED
 end   
   
 #--------------------------------------------------------------------------
 # ● update_float_text
 #--------------------------------------------------------------------------             
 def update_float_text
     return unless ENABLE_FLOAT_TEXT_ANIMATION 
     @text_float_time += 1
     case @text_float_time
        when 1..10
           @text_float_y += 1
        when 11..20
           @text_float_y -= 1
        else
          @text_float_y = 0
          @text_float_time = 0
     end 
     @text_sprite.y = @text_fy + @text_float_y
 end
 
 #--------------------------------------------------------------------------
 # ● Update Bar Flow
 #--------------------------------------------------------------------------            
 def update_bar_flow
     @bar_sprite.bitmap.clear
     @bar_width = @bar_range  * @load_duration / @load_duration_max
     @bar_width = @bar_range if @load_duration > @load_duration_max
     @bar_src_rect = Rect.new(@bar_flow, 0,@bar_width, @bar_height)
     @bar_bitmap.blt(0,0, @bar_image, @bar_src_rect)
     @bar_flow += LOAD_BAR_FLOW_SPEED
     if @bar_flow >= @bar_image.width - @bar_range
        @bar_flow = 0     
     end
 end   
   
 #--------------------------------------------------------------------------
 # ● Update Bar Duration
 #--------------------------------------------------------------------------              
 def update_bar_duration
     @load_duration += 1
     if @load_duration == @load_duration_max
        Audio.se_play("Audio/SE/" + LOAD_SE,100,100) rescue nil 
     elsif @load_duration == @load_duration_max + 10 
        if @bar_type == 0
            SceneManager.return
            $game_system.replay_bgm
         else   
            SceneManager.return   
        end  
        $game_temp.loadbar_type = false 
     end
 end  
 
end

#=============================================================================
# ■ Scene Save
#=============================================================================
class Scene_Save < Scene_File
  
 #--------------------------------------------------------------------------
 # ● On Save Sucess
 #--------------------------------------------------------------------------                
  alias mog_advloadbar_on_save_success on_save_success
  def on_save_success
      mog_advloadbar_on_save_success
      $game_temp.loadbar_type = 1
      SceneManager.call(Scene_Load_Bar)    
  end
  
end

#=============================================================================
# ■ Scene Load
#=============================================================================
class Scene_Load < Scene_File
  
  #--------------------------------------------------------------------------
  # ● On Load Success
  #--------------------------------------------------------------------------
  alias mog_advloadbar_on_load_success on_load_success
  def on_load_success
      mog_advloadbar_on_load_success
      $game_system.save_bgm      
      RPG::BGM.stop
      $game_temp.loadbar_type = 0
      SceneManager.call(Scene_Load_Bar)              
  end
end

$mog_rgss3_advanced_load_bar = true

ovviamente nella parte di salvataggio

Link to comment
Share on other sites

  • 0

scusami se ti rompo tanto le palle Holy ma anche dopo le ultime prove non sono riuscito.

Devi fare la chiamata alla richiesta nel metodo on_save_success. Penso che se tratti di DB e servizi web una certa idea dei linguaggi di programmazione te la sarai pur fatta...

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 0

di programmazione si è il ruby che non mi entra XD
Nel senso io volevo mettere quello spezzone di codice all'interno del save o della load bar (parte di salvataggio)

Pensavo per l'appunto di metterlo li ma non ho capito come fare inserire lo spezzone che mi hai dato.

Edited by Grawel
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...