Holy scusa sto cercando di usare quel semplice esempio che mi hai mandato ma non capisco dove devo inserirlo
Modificato da Grawel, 11 March 2015 - 04:08 AM.
#21 Inviato 11 March 2015 - 02:18 AM
Holy scusa sto cercando di usare quel semplice esempio che mi hai mandato ma non capisco dove devo inserirlo
Modificato da Grawel, 11 March 2015 - 04:08 AM.
#22 Inviato 11 March 2015 - 10:09 AM
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.]
Miei script per RPG Maker VX Ace:
#23 Inviato 11 March 2015 - 14:01 PM
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
#24 Inviato 11 March 2015 - 23:12 PM
scusami se ti rompo tanto le palle Holy ma anche dopo le ultime prove non sono riuscito.
#25 Inviato 11 March 2015 - 23:37 PM
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.]
Miei script per RPG Maker VX Ace:
#26 Inviato 11 March 2015 - 23:57 PM
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.
Modificato da Grawel, 11 March 2015 - 23:58 PM.
#27 Inviato 12 March 2015 - 00:01 AM
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.
Contando che quel metodo non funziona perché il file saluto non c'è, ciò che ho scritto è la dichiarazione dei due metodi. Basta chiamare il primo nel metodo on_save_success per fare in modo che venga attivato al salvataggio.
"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]
Miei script per RPG Maker VX Ace:
#28 Inviato 12 March 2015 - 00:24 AM
ff=Scene_Prova.new
ff.start
ok ci sono riuscito...ho solo un problema...ho fatto vari test e non sempre funziona...il salvataggio va a buon fine non crash ma non fa la richiesta pagina...come mai?
Fatti altri test...non so perche ma fa la richiesta(o per lo meno salva i dati su db) solo una volta.
devo chiudere il gioco riaprirlo e salvare per salvare ancora....cio non ha senso..........
Modificato da Grawel, 12 March 2015 - 02:47 AM.
#29 Inviato 12 March 2015 - 11:40 AM
ff=Scene_Prova.new
ff.start
ok ci sono riuscito...ho solo un problema...ho fatto vari test e non sempre funziona...il salvataggio va a buon fine non crash ma non fa la richiesta pagina...come mai?
Fatti altri test...non so perche ma fa la richiesta(o per lo meno salva i dati su db) solo una volta.
devo chiudere il gioco riaprirlo e salvare per salvare ancora....cio non ha senso..........
Forse perché la scena si chiude prima che la richiesta sia completata. Prova a fare await_response(paginaphp) invece del metodo di prima, in questo caso il salvataggio attenderà che i dati siano passati.
"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]
Miei script per RPG Maker VX Ace:
#30 Inviato 12 March 2015 - 14:08 PM
gia provato e da lo stesso problema....non riesco a capire....la pagina php è semplicissima l'ho usata come test..vede se c'è get nel caso scrive su db.
Che tipo di risposta si aspetta?
Come posso evitare che si aspetti una risposta...non è possibile che devo chiudere il gioco per mandare una seconda richiesta
Browser.open("http://www.miosito.c...et=#{request}")
questa funziona sempre però non voglio aprire ogni volta una pagina...spero tu posso aiutarmi
Modificato da Grawel, 13 March 2015 - 15:33 PM.
#31 Inviato 14 March 2015 - 00:39 AM
gia provato e da lo stesso problema....non riesco a capire....la pagina php è semplicissima l'ho usata come test..vede se c'è get nel caso scrive su db.
Che tipo di risposta si aspetta?
Come posso evitare che si aspetti una risposta...non è possibile che devo chiudere il gioco per mandare una seconda richiesta
Browser.open("http://www.miosito.c...et=#{request}")
questa funziona sempre però non voglio aprire ogni volta una pagina...spero tu posso aiutarmi
La risposta la riceve solo se il file php dà una risposta tramite il comando echo. Se non la dà è normale che non ti stampa nulla, e se non ti serve una risposta, puoi benissimo ignorare tutto!
"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]
Miei script per RPG Maker VX Ace:
#32 Inviato 14 March 2015 - 00:50 AM
Capisco la pagina php non ha comandi di echo quindi in teoria come posso fare? per risolvere il problema?
questa è la funzione on save dello script load bar che ti ho girato sopra. L'ho inserita al suo interno cosi.
#--------------------------------------------------------------------------
# ● 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)
#################
$fuco=Scene_Prova.new
$fuco.start
################
end
end
la mia paura è il costruttore che forse andrebbe dichiarato globale da qualche altra parte. ho notato che per esempio in visual studio da problemi chiamare un costruttore + volte sullo stesso oggetto senza prima chiuderlo...
P.S. ho provato sia fuco che $fuco
Ho fatto un esperimento tramite ricezione di risposte dalla pagina...Ho messo in echo l'ID della riga inserita nel DB settata come A.I.
A questo punto salvando mi da appunto il numero della riga come ritorno (Primo salvaggio che va a buon fine) che salvo in $game_variables[5]
Per farvi capire ti riporto un dato $game_variables[5]= 175
A questo punto per fare dei test e capire dove fosse il problema ho messo un evento che mettesse a "" la variabile
ed ho effetuato un nuovo salvataggio che come di consueto (purtroppo) non ha salvato su db...a sto punto mi aspettavo che $game_variables[5] fosse rimasta vuota...ma con mi grande sorpresa...e malessere $game_variables[5]= 175
A sto punto l'unica idea che mi sono fatto del possibile errore è che lo script non fa una nuova richiesta alla pagina...probabilmente perchè la prima è ancora aperta. Questa è una mia idea ti pregherei di controllare...questo problema mi sta facendo impazzire. Grazie mille spero possiate aiutarmi
Modificato da Grawel, 14 March 2015 - 02:41 AM.
#33 Inviato 14 March 2015 - 09:33 AM
"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]
Miei script per RPG Maker VX Ace:
#34 Inviato 14 March 2015 - 14:40 PM
questo l'ho capito...ma sia se la ignoro sia se la prendo la risposta ho il problema.
Mi manda i dati solo una volta
#35 Inviato 14 March 2015 - 14:43 PM
"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]
Miei script per RPG Maker VX Ace:
#36 Inviato 14 March 2015 - 15:05 PM
L'ho scritto sopra mi sembra comunque rispiego.
Allora ho inserito la chiamata alla funzione in uno script che viene chiamato durante il salvataggio...
#--------------------------------------------------------------------------
# ● 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)
#################
$fuco=Scene_Prova.new
$fuco.start
################
end
end
a questo punto dovrebbe ogni volta che salvo mandare una richiesta alla pagina php (se ti serve te la posso girare)
la pagina php che sto usando per fare delle prove legge semplicemente i dati che gli arrivano e li salva su un db.
successivamente per controllo ho messo una echo che mandava al mio gioco il numero A.I. della riga appena inseria.
fino a qui funziona.
Il problema è che se io salvo ancora dovrebbe fare una seconda richiesta e quindi inserire una nuova riga nel database restituire come riga la successiva
ma oltre a non salvare restituisce stranamente il numero della riga inserita precedentemente.
#37 Inviato 14 March 2015 - 15:08 PM
################# $fuco=Scene_Prova.new $fuco.start ################
Cos'è 'sta roba? Non ho mai visto una cosa del genere!
"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]
Miei script per RPG Maker VX Ace:
#38 Inviato 14 March 2015 - 15:13 PM
xk scusa come dovrei fare a chiamare la funzione?
ho provato anche
fuco=Scene_Prova.new
fuco.start
ed è uguale
dimmi te come dovrei chiamarla
#39 Inviato 14 March 2015 - 15:20 PM
xk scusa come dovrei fare a chiamare la funzione?
ho provato anchefuco=Scene_Prova.new
fuco.started è uguale
dimmi te come dovrei chiamarla
Perché creare una scena!? Non ha senso! Nessuno se lo sognerebbe mai!
Togli quell'obbrobbrio e metti questo
HTTP.await_get_server_response(url_richiesta)
"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]
Miei script per RPG Maker VX Ace:
#40 Inviato 14 March 2015 - 15:26 PM
direttamente nella save corretto?
Scusami ma allora ero io che non avevo capito bene che creavo una scena.
Ho provato e ancora salva solo una volta =(
Modificato da Grawel, 14 March 2015 - 15:30 PM.