Jump to content
Rpg²S Forum

*Inn System


Recommended Posts

Inn System

 

Descrizione

Inizialmente era uno script che stavo creando per Crystal Sanctuary ma poi ho deciso di renderlo personalizzabile e di postarlo.

Questo script permette di creare una locanda in modo semplice e rapido tramite un semplice chiama script.

 

Screenshot

 

http://img411.imageshack.us/img411/3389/immaginexi6.png

 

 

 

Script

#==============================================================================
# ** Inn System
#------------------------------------------------------------------------------
#  Autore: The Sleeping Leonhart
#  Versione: 1.0
#  Data di rilascio: 7/7/2008
#------------------------------------------------------------------------------
#  Descrizione:
#	Questo script permette di creare una locanda in modo semplice e rapido
#	tramite un semplice chiama script.
#------------------------------------------------------------------------------
#  Istruzioni:
#	Per richiamare la locanda usare il seguente codice attraverso
#	il comando Script degli eventi:
#	  $scene = Scene_Inn.new(costo, frase, grafica)
#		costo è il costo della locanda.
#		frase è il numero di frase presente nella configurazione, con -1 verrà
#		usata una frase a random, di default è 0.
#		(le frasi devono essere dello stesso numero della frase Benvenuto,
#		 se per esempio si hanno 3 frasi di benvenuto si devono avere 3 frasi di
#		 Esci,Soldi_Insufficenti,Riposo, il numero frasi parte da 0)
#		grafica è la grafica che verra mostrata, di default mostra la grafica
#		dell'evento con cui si sta parlando, la grafica deve essere un character.
#	Per personalizzare lo script andate nella sezione Configurazione.
#==============================================================================

#==============================================================================
#  Configurazione
#==============================================================================
module Inn
 #=========================================================================
 #  Benvnuto: Imposta le frasi di benvenuto
 #-------------------------------------------------------------------------
 #  Sintassi:
 #	Benvenuto =  [frase,...]
 #  Parametri:
 #	frase: frase mostrata all'apertura della locanda
 #=========================================================================
 Benvenuto =  ["Benvenuto nella locanda cosa vuoi fare?","Salve come va? Vuole riposare?"]
 #=========================================================================
 #  Esci: Imposta le frasi di saluto
 #-------------------------------------------------------------------------
 #  Sintassi:
 #	Benvenuto =  [frase,...]
 #  Parametri:
 #	frase: frase mostrata all'uscita della locanda
 #=========================================================================
 Esci = ["Arrivederci!","Ciao, alla prossima!"]
 #=========================================================================
 #  Esci: Imposta le frasi di quando non si hanno soldi a sufficenza
 #-------------------------------------------------------------------------
 #  Sintassi:
 #	Benvenuto =  [frase,...]
 #  Parametri:
 #	frase: frase mostrata quando non si hanno soldi a sufficenza
 #=========================================================================
 Soldi_Insufficenti = ["Mi spiace ma i tuoi soldi non sono sufficenti!","Che peccato i suoi soldi non bastano"]
 #=========================================================================
 #  Esci: Imposta le frasi di quando ci si riposa
 #-------------------------------------------------------------------------
 #  Sintassi:
 #	Benvenuto =  [frase,...]
 #  Parametri:
 #	frase: frase mostrata quando ci si riposa
 #=========================================================================
 Riposo = ["Mi auguro tu faccia un buon riposo!","Buona notte!"]
 #=========================================================================
 #  Colore_Schermo: Tonalità dello schermo durante il riposo
 #-------------------------------------------------------------------------
 #  Sintassi:
 #	Colore_Schermo = Tone.new(r,g,b)
 #  Parametri:
 #	r: quantità di rosso da -255 a 255
 #	g: quantità di verde da -255 a 255
 #	b: quantità di blu da -255 a 255
 #=========================================================================
 Colore_Schermo = Tone.new(-255,-255,-255,0)
 #=========================================================================
 #  Torna_Colore: Torna alla precedente tonalità dello schermo
 #-------------------------------------------------------------------------
 #  Sintassi:
 #	Torna_Colore = boolean
 #  Parametri:
 #	boolean: se true a fine riposo si torna alla precedente tonalità dello schermo
 #			 se false si rimane con quella definita in Colore_Schermo
 #=========================================================================
 Torna_Colore = true
 #=========================================================================
 #  Tempo_Fade: Tempo necessario per il cambio tonalità
 #-------------------------------------------------------------------------
 #  Sintassi:
 #   Tempo_Fade = n
 #  Parametri:
 #	n: numero di frame, 1 secondo = 20 frame
 #=========================================================================
 Tempo_Fade = 80
 #=========================================================================
 #  Suona_ME: Me eseguito durante il riposo
 #-------------------------------------------------------------------------
 #  Sintassi:
 #   Suona_ME = Me
 #  Parametri:
 #	Me: file audio contenuto nella cartella Audio/ME
 #=========================================================================
 Suona_ME = "014-Inn01"
end

class Interpreter
 def current_event_id
return @event_id
 end
end

class Game_Event
 def event_graphic
return @character_name
 end
end

class Window_Inn < Window_Selectable
 def initialize(costo, grafica)
super(320 - 128, 240 - 80, 256, 160)
self.contents = Bitmap.new(width - 32, height - 32)
@column_max = 1
@item_max = 2
self.index = 0
refresh(costo, grafica)
 end
 def refresh(costo, grafica)
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 64, 64, 32, "Costo:")
self.contents.draw_text(0, 96, 64, 32, $data_system.words.gold+":")
self.contents.font.color = normal_color
self.contents.draw_text(64, 64, 128, 32, costo.to_s)
self.contents.draw_text(64, 96, 128, 32, $game_party.gold.to_s)
self.contents.draw_text(160, 24, 64, 32, "Riposa")
self.contents.draw_text(160, 56, 64, 32, "Esci")
if grafica != nil
  bitmap = RPG::Cache.character(grafica,0)
  cw = bitmap.width / 4
  ch = bitmap.height / 4
  src_rect = Rect.new(0, 0, cw, ch)
  self.contents.blt(24 - cw / 2, 48 - ch, bitmap, src_rect)
end
 end
 def update_cursor_rect
self.cursor_rect.set(156, 24 + @index * 32, 68, 32)
 end
end

class Scene_Inn
 def initialize(costo, frase = 0, grafica = "event")
@grafica = grafica
@grafica = $game_map.events[$game_system.map_interpreter.current_event_id].event_graphic if grafica == "event"
@costo = costo
frase = rand(Inn::Benvenuto.size) if frase == -1
@frase = frase
 end
 def main
@bg = Spriteset_Map.new
@help_window = Window_Help.new
@help_window.set_text(Inn::Benvenuto[@frase])
@inn_window = Window_Inn.new(@costo, @grafica)
Graphics.transition
loop do
  Graphics.update
  Input.update
  update
  if $scene != self
	break
  end
end
Graphics.freeze
@bg.dispose
@help_window.dispose
@inn_window.dispose
 end
 def update
@help_window.update
@inn_window.update
if Input.trigger?(Input::B)
  $game_system.se_play($data_system.cancel_se)
  @help_window.set_text(Inn::Esci[@frase])
  aspetta(20)
  $scene = Scene_Map.new
  return
end
if Input.trigger?(Input::C)
  case @inn_window.index
  when 0
	if @costo > $game_party.gold
	  $game_system.se_play($data_system.buzzer_se)
	  @help_window.set_text(Inn::Soldi_Insufficenti[@frase])
	  return
	else
	  $game_system.se_play($data_system.decision_se)
	  old_tone = $game_screen.tone.dup
	  $game_party.lose_gold(@costo)
	  @inn_window.refresh(@costo, @grafica)
	  @help_window.set_text(Inn::Riposo[@frase])
	  Audio.me_play("Audio/ME/"+Inn::Suona_ME)
	  $game_screen.start_tone_change(Inn::Colore_Schermo, Inn::Tempo_Fade)
	  aspetta(Inn::Tempo_Fade)
	  if Inn::Torna_Colore
		$game_screen.start_tone_change(old_tone, Inn::Tempo_Fade)
		aspetta(Inn::Tempo_Fade)  
	  end
	  Audio.me_fade(Inn::Tempo_Fade*50)
	  @help_window.set_text(Inn::Esci[@frase])
	  aspetta(20)
	  $scene = Scene_Map.new
	  return
	end
  when 1
	$game_system.se_play($data_system.decision_se)
	@help_window.set_text(Inn::Esci[@frase])
	aspetta(20)
	$scene = Scene_Map.new
  end
  return
end
 end
 def aspetta(n)
for i in 0...n  
  @bg.update
  $game_screen.update
  Graphics.update
  sleep 0.01	  
end
 end
end

 

 

Istruzioni per l'uso

Per richiamare la locanda usare il seguente codice attraverso il comando Script degli eventi:

$scene = Scene_Inn.new(costo, frase, grafica)

  • costo: è il costo della locanda.
  • frase: è il numero di frase presente nella configurazione, con -1 verrà usata una frase a random, di default è 0. (le frasi devono essere dello stesso numero della frase Benvenuto, se per esempio si hanno 3 frasi di benvenuto si devono avere 3 frasi di Esci,Soldi_Insufficenti,Riposo, il numero frasi parte da 0)
  • grafica: è la grafica che verra mostrata, di default mostra la grafica dell'evento con cui si sta parlando, la grafica deve essere un character.

Per personalizzare lo script andate nella sezione Configurazione.

 

Bugs e Conflitti Noti

N/A

Link to comment
Share on other sites

  • 6 months later...
Ciao senti, ho messo lo script e poi ho messo l'evento che richiama lo Script però quando lo chiamo non mi si leggono le cose della finestra che si apre. Perchè? :smile:

 

perchè sleeping ha usato una font diversa da quelle che hai nel pc(sleeping la posteresti la font?)

comunque sleeping sei sempre il migliore con gli script :rovatfl: :wink: :tongue: :blink: :wink:

Link to comment
Share on other sites

perchè sleeping ha usato una font diversa da quelle che hai nel pc(sleeping la posteresti la font?)

comunque sleeping sei sempre il migliore con gli script :tongue: :sisi: :blink: :wink: :wink:

Infatti funziona a meraviglia, apparte le scritte non leggibili. :rovatfl:

 

Comunque dallo screen mi sembra che il font sia Arial se non sbaglio quindi non credo sia un problema di font perchè l'Arial c'è l'ho per forza! :smile:

Link to comment
Share on other sites

Non penso che sia una questione di font da nessuna parte scrive "font." oltre 2 righe dove indica il colore

http://img256.imageshack.us/img256/7639/ihateyou.gif

Un uomo senza religione è come un pesce senza bicicletta.

http://img18.imageshack.us/img18/3668/decasoft1.png

http://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

guarda ieri notte per sicurezza ho provato lo script...

Nessun errore funziona benissimo

http://img256.imageshack.us/img256/7639/ihateyou.gif

Un uomo senza religione è come un pesce senza bicicletta.

http://img18.imageshack.us/img18/3668/decasoft1.png

http://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

Il problema dei font si verifica con alcune versioni di RPG Maker XP, spesso si risolve piazzando queste due righe all'interno del Main, sotto begin:

$defaultfonttype = $fontface = $fontname = Font.default_name = "Arial"
$defaultfontsize = $fontsize = Font.default_size = 22

Link to comment
Share on other sites

Link to comment
Share on other sites

Ti ha cominciato a dare errore all'improvviso? :Ok:

Comunque devi dirmi per bene che errore ti da, e dopo che ti ha dato l'errore aprire lo script editor e vedere che linea ti seleziona.

Inoltre devi dirmi se hai altri script.

Link to comment
Share on other sites

allora io uso solo il tuo script poi l'errore me lo ha dato all'improvviso e poi dopo l'errore aprendo lo script editor mi apre lo script game_temp alla seconda riga(sembrerà strano ma è vero)se vuoi ti do lo scrren dell'errore
Link to comment
Share on other sites

  • 1 year later...

Il topic è stato aperto nel 2008, probabilmente lo screen non è più disponibile, se proprio non è strettamente necessario non riesumare topic vecchi, capisco che un'anteprima è sempre utile, ma lo script è abbastanza semplice da inserire e visualizzare.

^ ^"

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

  • 1 month later...
Ho un problemino... Metto lo script nella locanda e fin qui è tutto apposto. La locandiera mi fa pagare e mi fa riposare. Ma appena finisco di riposare apro il menù e vedo che gli Hp del player non si sono recuperati. Come posso risolvere?( Ho provato mettendo un recover all party dopo il Comando dello script ma anche mettendo l'opzione esci mi cura il party).
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...