Jump to content
Rpg²S Forum
  • 0

Evento ad orario stabilito


Melosx
 Share

Question

Buonasera gente...

Mi son faciuto sto scriptino per il tempo di gioco del menù prendendo spunto da uno per RGSS2+...

Mi chiedo... E' possibile fare in modo che un evento parta passata una certa ora???

Ad esempio dopo 5 ore di gioco apre un negozio speciale nella città xyz...

Magari con na variabile per nn complicare le cose.

 

SCRIPT

class Window_Tempo < Window_Base def initialize(x, y)	super(x, y, 224, WLH + 32)	refresh  end   def update	super	sec = (Graphics.frame_count / Graphics.frame_rate) % 60	if sec > @total_sec % 60 or sec == 0	  refresh	end	  end   def refresh	self.contents.clear		@total_sec = Graphics.frame_count / Graphics.frame_rate 	ora = @total_sec / 60 / 60	min = @total_sec / 60 % 60	sec = @total_sec % 60 	tempo = sprintf("%02d:%02d:%02d", ora, min, sec)	self.contents.font.color = normal_color	self.contents.font.size = 20	self.contents.draw_text(0, 0, 180, WLH, tempo, 2)	tempo2 = sprintf("Tempo di gioco:")	self.contents.draw_text(0, 0, 100, WLH, tempo2)	draw_icon(1, 100, 0)   endend

http://i.imgur.com/ROhv4te.png



287x66-white.png

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
Ma quello script che hai postato, a che serve? A far comparire una finestra che tiene conto dell'ora?

"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

Risposta banale

#Immaginando di aver assegnato alla switch 555 l'abilitazione dello shopif !$game_switches[555] && ((Graphics.frame_count / Graphics.frame_rate)> 18000)  $game_switches[555] = trueend

 

Perché questa soluzione non mi piace?

Innanzitutto affinché la switch si accenda le ore di gioco devono essere strettamente continue, se salvo, chiudo, riapro e ricarico il timer è resettato (perché frame_count riparte da 0 sempre).

Quindi bisogna trovare una soluzione più elaborata, ad esempio sommare i secondi ottenuti dall'ultimo salvataggio.

Inoltre trovo frame_count su frame_rate un metodo poco affidabile di calcolare il tempo trascorso in quanto non ne conosco l'implementazione ed i frame tendono a fluttuare un casino per loro natura.

 

Trovare però una soluzione più complessa mi ha spinto a creare qualcosa di carino che appena rifinito pubblico :)

I Miei Script:
Salva Schermata (3 Aprile 2012)
Attacco Personalizzabile (2 Aprile 2012)
Keyboard Input (Porting) (17 Marzo 2012)
Continua...

Link to comment
Share on other sites

  • 0
tiene conto del tempo di gioco trascorso...

Tener conto del tempo di gioco trascorso non è così semplice come sembra. Bisogna anche inserire i valori nel file di salvataggio, a meno che tu non abbia già uno script che mostri il tempo di gioco... In quel caso potresti prendere direttamente quel valore.

"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

Non capisco cosa vuoi dire... questo script mostra il tempo trascorso in una finestra del menu

http://i55.tinypic.com/e9snjs.png

Funziona correttamente e anche se chiudo e riapro da continua riparte da dove l'ho lasciato e dallo stesso tempo del save.

Ora... Io chiedo se è possibile far partitre un evento ad un ora stabilita magari con una variabile.

es:

se ore 5

var evento = 1

end

http://i.imgur.com/ROhv4te.png



287x66-white.png

Link to comment
Share on other sites

  • 0

Melosx ti ho già risposto su.

EDIT: Spiegazione:

Un'ora sono 3600 secondi, 5 ore 18000 secondi

(Graphics.frame_count / Graphics.frame_rate)> 18000 restituisce true se sono passate 5 ore di gioco in una sola sessione

Edited by Keroro

I Miei Script:
Salva Schermata (3 Aprile 2012)
Attacco Personalizzabile (2 Aprile 2012)
Keyboard Input (Porting) (17 Marzo 2012)
Continua...

Link to comment
Share on other sites

  • 0

mi sono accorto che Graphic.frame_count viene caricato da Scene_file quindi non è necessaria alcuna compensazione :D

 

#se sono passate almeno 7 oreif (Graphics.frame_count / Graphics.frame_rate)> 25200  var = 2#altrimenti se sono passate almeno 5 oreelsif (Graphics.frame_count / Graphics.frame_rate)> 18000  var = 1end

I Miei Script:
Salva Schermata (3 Aprile 2012)
Attacco Personalizzabile (2 Aprile 2012)
Keyboard Input (Porting) (17 Marzo 2012)
Continua...

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...