Jump to content
Rpg²S Forum

*Una pausa che ferma il tempo di gioco: fatto!


leo
 Share

Recommended Posts

Allora non so se farla tanto lunga, visto che lunga non è, ma sono riuscito a fare una pausa che funziona davvero, ovvero non consiste solo nell'aprire una finestra o qualcosa che magari blocchi gli eventi sulla mappa, consiste nel bloccare proprio il tempo...o meglio, resettarlo a com'era prima che la pausa iniziasse.

 

Spiegazione: c'è una variabile interna agli script che calcola i secondi in base a due valori precisi e delicati. Manipolando questi si può riuscire a far sì che il tempo si fermi. Come fare?

 

Istruzioni:

 

CASO 1:

 

Il caso più semplice che ho usato per sperimentare questa funzione, è la voce "Esci" nel menu. Questa, lo saprete, apre una piccola finestra con tre voci, titoli, chiudere o tornare al menu. SE VOLETE CHE QUESTA SIA LA SCHERMATA DI PAUSA dovete fare delle semplici modifiche agli script ma niente di complicato.

Vi servono una switch e una variabile. Per sicurezza date loro un nome, in modo da ricordarvi che quelle vi servono per la pausa. Prendete nota del numero della switch e del numero della variabile.

Aprite gli script e andate allo script chiamato Scene_End. Qui alle prime righe c'è il paragrafo Main che inizia appunto definendo le tre voci che compaiono nel menu di uscita. Sotto alla riga "s3 = ecc....." fate una riga nuova e scrivete:

 

$game_variables[VARIABILE] = Graphics.frame_count

al posto di VARIABILE scrivete il numero della variabile che avevate deciso di usare per la pausa.

 

Poi andate più sotto fino a trovare

 

def update

# コマンドウィンドウを更新

@command_window.update

# B ボタンが押された場合

if Input.trigger?(Input::B)

# キャンセル SE を演奏

$game_system.se_play($data_system.cancel_se)

# メニュー画面に切り替え

$scene = Scene_Menu.new(5)

return

end

# C ボタンが押された場合

if Input.trigger?(Input::C)

ecc. ecc. ecc. ecc.

 

Ebbene, sotto alla riga "$scene = Scene_Menu.new(5)" fate una riga nuova e scrivete:

 

$game_switches[sWITCH] = true

al posto di SWITCH scrivete il numero della switch che avevate deciso di usare per la pausa.

 

Siete a buon punto. Andate ora allo script chiamato Window_PlayTime e andate al paragrafo "refresh". Cercate la riga "@total_sec = Graphics.frame_count / Graphics.frame_rate". Una volta trovata, SOPRA A QUESTA RIGA aggiungete il seguente paragrafino:

 

if $game_switches[sWITCH] == true

Graphics.frame_count -= (Graphics.frame_count - $game_variables[VARIABILE])

$game_switches[sWITCH] = false

end

 

non credo serva ripeterlo, ma lo faccio ugualmente: SWITCH e VARIABILE sono il numero della switch e quello della variabile che avevate scelto di usare per la pausa. Ovviamente queste due non le dovete mai modificare con eventi che create o altro...vanno lasciate stare per evitare casini. Fate sapere se trovate problemi.

 

CASO 2:

 

Io ho scelto di fare nella mappa la pausa e non nel menu, facendo comparire la finestra della chiusura sulla mappa. Ci sto lavorando proprio ora, presto farò un aggiornamento!

Edited by leo
Link to comment
Share on other sites

Non vorrei rovinare il tutto,ma esiste già uno script per avere la pausa premendo invio(Con la possibilità di scurire lo schermo aggiungendo anche la scritta come in FFVIII)..Poi io feci uno script per far caricare il gioco quindi ^^

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

Ok scusate allora xD se è qui lo cercherò! ma anche questo torna sempre utile, no? come risorsa secondaria certo! ascolta, invece tu non è che hai uno script per fare il sistema junction? devo farlo e se lo trovo fatto mi risparmio un casino di tempo, se no lo farò..ma è sempre meglio il piano A xD
Link to comment
Share on other sites

ho capito dov'era ma ho risposto anche là, si tratta di una demo non scaricabile.

 

AH COMUNQUE credo che ora il mio piccolo script qui pubblicato sia molto più utile di quanto credessi. Io, tecnicamente, qui non ho trovato alcuno script che faccia una pausa. L'unico era in una demo che ora non si può scaricare. Per cui se io ho quest'idea e la pubblico direttamente, che male c'è? Se non altro è più accessibile, o almeno io la vedo così..Invece a sentire chi mi ha risposto pare che io abbia fatto una mega castronata postando questa roba..

Edited by leo
Link to comment
Share on other sites

#==============================================================================
# ** Pause with image
#------------------------------------------------------------------------------
# Zeriab
# Version 1.0
# 2009-05-23 (Year-Month-Day)
#------------------------------------------------------------------------------
# * Description :
#
#   This script changes the functionality of pressing F12 during the game
#   from resetting the game to (un)pausing the game. A picture is displayed 
#   while the game is paused. (Having a picture is optional)
#------------------------------------------------------------------------------
# * License :
#
#   Copyright (C) 2009  Zeriab
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU Lesser Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU Lesser Public License for more details.
#
#   For the full license see <http://www.gnu.org/licenses/> 
#   The GNU General Public License: http://www.gnu.org/licenses/gpl.txt
#   The GNU Lesser General Public License: http://www.gnu.org/licenses/lgpl.txt
#------------------------------------------------------------------------------
# * Compatibility :
#
#   Is most likely not compatible with other pause scripts.
#------------------------------------------------------------------------------
# * Instructions :
#
#   Place this script anywhere above main.
#   The image file 'pause' present in Graphics/Pictures is used.
#   Note: No picture is shown if there is no 'pause' in Graphics/Pictures.
#==============================================================================

#=============================================================================
# ** Module Input
#=============================================================================
module Input
 class << self
PAUSE_BUTTON = F6
#-------------------------------------------------------------------------
# * Aliases Graphics.update and Graphics.transition
#-------------------------------------------------------------------------
unless self.method_defined?(:zeriab_pause_update)
  alias_method(:zeriab_pause_update, :update)
end
def update(*args)
  zeriab_pause_update(*args)
  return unless trigger?(PAUSE_BUTTON)
  # Store frame count
  frame_count = Graphics.frame_count
  # Show pause image
  @sprite = Sprite.new
  @sprite.z = 9999
  begin
	@sprite.bitmap = RPG::Cache.picture('PAUSA')
  rescue
	@sprite.bitmap = Bitmap.new(32,32)
  end
  # Update once so the trigger doesn't count.
  zeriab_pause_update(*args)
  # Update until trigger
  while !trigger?(PAUSE_BUTTON)
	zeriab_pause_update(*args)
	Graphics.update
  end
  # Dispose pause image
  @sprite.dispose
  # Set proper frame count
  Graphics.frame_count = frame_count
end
 end
end

 

 

Questo è quello che utilizzavo io. Comunque ripeto,fai bene ad esercitarti.

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

  • 1 month later...
Scusate, ho provato a mettere uno script simile a questo, l'unica differenza evidente sta nel fatto che il tasto da premere è f12, non f6, io volevo mettere il tasto "Invio" per mettere in pausa, volevo sapere cosa devo scrivere, visto che ho scritto "Enter" ma non ho ottenuto risultati.
Link to comment
Share on other sites

Ci dovrebbe essere un problema di fondo per usare il tasto invio, perchè è lo stesso usato per la conferma è come il tasto C, quindi si creerebbe confusione con tutte le altre funzioni attribuite, sicuro che non ti conviene scegliere un altro tasto?

^ ^

(\_/)
(^ ^) <----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

No,quello che dici tu serve per usare tutti i tasti della tastiera,non è che ti reimposta i comandi di base.

Per fare una pausa con invio dovresti prima modificare tutte le classi standard e poi questa.

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

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