Jump to content
Rpg²S Forum

Tornado Quest Book VX, convertito da giver


giver
 Share

Recommended Posts

Tornado Quest Book VX

 

 

Descrizione

 

Semplice Quest Book per mostrare le quest e i relativi dettagli al giocatore. Il grosso del lavoro va fatto comunque ad eventi . . .

 

Autore

Storm per la versione XP. giver per la conversione VX

 

Screen (gentilmente offerti da Ichika Strize)

 

 

 

http://img140.imageshack.us/img140/5484/screen1jz.png

http://img816.imageshack.us/img816/8895/screen1xu.png

http://img402.imageshack.us/img402/9931/screen2dt.png

http://img84.imageshack.us/img84/1697/screen3ixu.png

 

 

 

Istruzioni per l'uso

 

Nello script, tradotte in italiano da Superspammer, con aggiunte di giver.

 

SCRIPT

 

 

#=========================================================================
#=========================================================================
#							  Tornado Quest Book
#								 Versione 1.0
#							    Autore: Storm
#						  Tradotto da: Superspammer
#					    http://rpgxpultimate.darkbb.com
#
# Istruzioni per l'uso:
# Incollare lo script sopra Main e sotto Materials.
#
# Usare   $scene = Scene_QuestBook.new   per chiamare il libro.
#
# Usare   $game_party.add_quest(id)   per aggiungere una missione.
#
# Usare   $game_party.delete_quest(id)   per eliminare una missione.
#
# Usare   $game_party.finish_quest(id)   per finire una missione.
#
# Use   $game_party.unfinish_quest(id)   per impostare una missione come non-finita.
#
# Nel condition branch (ramo condizioni), inserire questo script: $game_party.quest_complete?(id)
# per controllare se la missione è stata completata.
#
# Opzioni:
# Possibilità di cambiare il nome del quest book.
# Opacità configurabile.
# Colori missioni complete personalizzabile.
# Colori missioni incomplete personalizzabile.
# Auto-rimpiazzamento testo.
# 10 Rimpiazzamenti configurabili.
#
# Compatibilità:
# La maggior parte degli script. Sovrascrivendo il metodo draw_item di
#   Window_Command è meglio metterlo sopra altri script che agiscono
#   sullo stesso metodo, sperando che non lo sovrascrivano anch'essi
#
# Crediti E Ringraziamenti:
#   Storm  - Per averlo creato.
#   Game_Guy  - Per avermi insegnato come usare le Array.
#   Superspammer - Per averlo tradotto.
#   giver - Per la conversione al VX. (Fatta su "richiesta" di Ichika Strize)
#   Ichika Strize - Per il Testing e gli Screen della versione VX.
#===========================================================================
#===========================================================================
module TNDqb
 #=========================================================================
 # START CONFIG
 #=========================================================================
 #============================== General Config ===========================
 # General Config.
 #=========================================================================
 QB_Name	 = "Quest Book"    # Nome del quest Book
 Author_Name = "Autore"    # Nome Autore
 Title_Name  = "Titolo"    # Nome del Titolo
 Reward_Name = "Ricompensa"    # Nome della ricompensa
 Status_Name = "Status"    # Status
 Complete    = "Completata"    # Nome delle missioni complete
 Incomplete  = "Non completata."    # Nome delle missioni incomplete.
 Unknown	 = "???"	 # Nome sconosciuto
 Opacity	 = 200    # Opacità della finestra (200 è quella base del VX)
 Screen	  = 1    # (0 = nero, 1 = screenshot mappa, "nome immagine tra virgolette" = picture)
 Cmp_Color   = Color.new(0, 255, 0, 255)    # Colore missioni Complete
 Incmp_Color = Color.new(255, 0, 0, 255)    # Colore missioni Incomplete
 Return	  = -1   # Imposta la Scena di Ritorno quando si esce dal QuestBook premendo ESC
				 #   se messa a -1 torna alla Mappa, altrimenti torna al Menù con l'indice
				 #   indicato selezionato nella lista dei comandi (il primo vale 0, il
				 #   secondo 1, il terzo 2, e così via . . . Di base dovrebbe essere la
      				  #   posizione del comando del menù per aprire il QuestBook (es. 3 se è il
				 #   quarto comando della lista)
 #================================ Ignore Part ============================
 # Ignorare la sezione qui sotto.
 #=========================================================================
 Quest = []
 #============================ Replacement Config =========================
 # Rimpiazzamenti, questi sono i testi che verranno auto ripiazzati.
 #
 # Replace = ["segnaposto testo","testo sostitutivo"]
 # NOTA BENE: Il massimo dei rimpiazzamenti è 10. I Rimpiazzamenti non possono essere aggiunti o eliminati.
 #		    Cannot include {nome0}, {nome1}, {nome2}, ..., {nomeN} (vedi sotto)
 #		    Si consiglia di includere i segnaposto tra parentesi graffe
 #
 #		    Completed Replacements: (Do not add)
 #		    {nomeNNN} = Nome dell'attore che si trova nella posizione NNN del party
 #			   es. per far apparire il nome del primo personaggio nel party bisogna
 #				   inserire il segnaposto   {nome0}
 #=========================================================================
 Replace1 = ["{s}","Ciao!"]
 Replace2 = ["",""]
 Replace3 = ["",""]
 Replace4 = ["",""]
 Replace5 = ["",""]
 Replace6 = ["",""]
 Replace7 = ["",""]
 Replace8 = ["",""]
 Replace9 = ["",""]
 Replace10 = ["",""]
 #=============================== Configurazione Missioni =================
 # Configura le missioni qui.
 #
 # Quest[id] = ["Titolo","Nome dell'autore","testo","ricompensa"]
 #=========================================================================
 #PART 1
 Quest[0] = ["Saluti e Baci","Tizio","Tizio vuole che il party vada al suo paese e dire alla mamma {s}", "Cesta di Mele"]
 Quest[1] = ["Pupazzo Scomparso","Mr.Bean","Mr.Bean vuole che tu ritrovi il suo pupazzo scomparso. LOL","10000 G"]
 Quest[2] = ["Esplora la montagna","Tom","Tom ha chiesto a {nome0} di esplorare la montagna.","Qualcosa"]
 Quest[3] = ["Ammazza Ratti","Contadino","George, il contadino, vuole che venga liberato il proprio granaio dai ratti che lo infestano","Un Vecchio Libro"]
 #=========================================================================
 # END CONFIG
 #=========================================================================
end
#====================
# Game_Party
#====================
class Game_Party < Game_Unit
 attr_accessor :quest
 attr_accessor :qComplete
 alias tnd_qb_init initialize unless $@
 def initialize
   set_questbook
   tnd_qb_init
 end
 def set_questbook
   @quest = []
   @qComplete = []
 end
 def add_quest(id)
   msg = TNDqb::Quest[id]
   return if msg == nil
   unless @quest.include?(id)
  @qComplete.delete(id)
  @quest.push(id)
   end
 end
 def delete_quest(id)
   msg = TNDqb::Quest[id]
   return if msg == nil
   if @quest.include?(id)
  @qComplete.delete(id)
  @quest.delete(id)
   end
 end
 def finish_quest(id)
   msg = TNDqb::Quest[id]
   return if msg == nil
   if @quest.include?(id)
  @qComplete.push(id) unless @qComplete.include?(id)
   end
 end
 def unfinish_quest(id)
   msg = TNDqb::Quest[id]
   return if msg == nil
   if @qComplete.include?(id)
  @quest.push(id) unless @quest.include?(id)
  @qComplete.delete(id)
   end
 end
 def quest_complete?(id)
   return false if id == nil
   msg = TNDqb::Quest[id]
   return false if msg == nil
   return @qComplete.include?(id)
 end
end
#====================
# Bitmap
#====================
class Bitmap
 def format_text(text, width)
   words = text.split(' ')
   return words if words.size == 1
   result, current_text = [], words.shift
   words.each_index {|i|
  if self.text_size("#{current_text} #{words[i]}").width > width
    result.push(current_text)
    current_text = words[i]
  else
    current_text = "#{current_text} #{words[i]}"
  end
  result.push(current_text) if i >= words.size - 1}
   return result
 end
end
#====================
# Window_Command
#====================
class Window_Command < Window_Selectable
 def draw_item(index, enabled = true, icolor = normal_color)
   rect = item_rect(index)
   rect.x += 4
   rect.width -= 8
   self.contents.clear_rect(rect)
   self.contents.font.color = icolor
   self.contents.font.color.alpha = enabled ? 255 : 128
   self.contents.draw_text(rect, @commands[index])
 end
end
#====================
# Window_QuestTitle
#====================
class Window_QuestTitle < Window_Base
 def initialize
   super(0, -8, 544, 56)
   self.back_opacity = TNDqb::Opacity
   refresh
 end
 def refresh
   self.contents.clear
   self.contents.font.color = normal_color
   self.contents.font.size = 22
   cx = contents.text_size(TNDqb::QB_Name).width
   self.contents.draw_text(0, 0, cx, 24, TNDqb::QB_Name)
 end
end
#====================
# Window_QuestMain
#====================
class Window_QuestMain < Window_Base
 def initialize
   super(24, 76, 336, 268)
   self.back_opacity = TNDqb::Opacity
   refresh
 end
 def refresh
   return if @quest_id == nil
   msg = TNDqb::Quest[@quest_id]
   return if msg == nil
   self.contents.clear
   self.contents.font.size = Font.default_size - 2
   t = self.contents.text_size(TNDqb::Title_Name+": ").width
   t2 = self.contents.text_size(TNDqb::Author_Name+": ").width
   t3 = self.contents.text_size(TNDqb::Reward_Name+": ").width
   t4 = self.contents.text_size(TNDqb::Status_Name+": ").width
   tw = self.width - 32
   self.contents.font.color = system_color
   self.contents.draw_text(0, 0, tw, 24, TNDqb::Title_Name+": ")
   self.contents.draw_text(0, 24, tw, 24, TNDqb::Author_Name+": ")
   self.contents.draw_text(0, 186, tw, 24, TNDqb::Reward_Name+": ")
   self.contents.draw_text(0, 210, tw, 24, TNDqb::Status_Name+": ")
   self.contents.font.color = normal_color
   self.contents.draw_text(t, 0, tw, 24, msg[0])
   self.contents.draw_text(t2, 24, tw, 24, msg[1])

   @text = msg[2]

   @text = @text.gsub(TNDqb::Replace1[0], TNDqb::Replace1[1])
   @text = @text.gsub(TNDqb::Replace2[0], TNDqb::Replace2[1])
   @text = @text.gsub(TNDqb::Replace3[0], TNDqb::Replace3[1])
   @text = @text.gsub(TNDqb::Replace4[0], TNDqb::Replace4[1])
   @text = @text.gsub(TNDqb::Replace5[0], TNDqb::Replace5[1])
   @text = @text.gsub(TNDqb::Replace6[0], TNDqb::Replace6[1])
   @text = @text.gsub(TNDqb::Replace7[0], TNDqb::Replace7[1])
   @text = @text.gsub(TNDqb::Replace8[0], TNDqb::Replace8[1])
   @text = @text.gsub(TNDqb::Replace9[0], TNDqb::Replace9[1])
   @text = @text.gsub(TNDqb::Replace10[0], TNDqb::Replace10[1])

   for i in 0...$game_party.members.size
  actor = $game_party.members[i]
  @text = @text.gsub("{nome"+i.to_s+"}", actor.name)
   end
		     
   draw_msg(@text, 0, 48)
		     
   if $game_party.quest_complete?(@quest_id)
  self.contents.draw_text(t3, 186, tw, 24, msg[3])
  self.contents.font.color = TNDqb::Cmp_Color
  self.contents.draw_text(t4, 210, tw, 24, TNDqb::Complete)
   else
  self.contents.draw_text(t3, 186, tw, 24, TNDqb::Unknown)
  self.contents.font.color = TNDqb::Incmp_Color
  self.contents.draw_text(t4, 210, tw, 24, TNDqb::Incomplete)
   end
 end
 def draw_msg(msg, x, y)
   text = self.contents.format_text(msg, 304)
   text.each_index {|i|self.contents.draw_text(x, y + i*24, 304, 24, text[i])}
 end
 def set_quest(id)
   return if @quest_id == id
   @quest_id = id
   refresh
 end
end
#====================
# Scene_QuestBook
#====================
class Scene_QuestBook < Scene_Base
 def main
   if TNDqb::Screen.is_a?(Integer)
  if TNDqb::Screen == 1
    create_menu_background
  end
   else
  @menuback_sprite = Sprite.new
  @menuback_sprite.bitmap = Cache.picture(TNDqb::Screen) if (TNDqb::Screen).is_a?(String)
   end
		     
   #Command window setup
   @quest = $game_party.quest
   create_command_window
   #Make main windows
   @title = Window_QuestTitle.new
   @main = Window_QuestMain.new
		     
   Graphics.transition
   loop do
  Graphics.update
  Input.update
  #Update windows and inputs
  update
  inputUpdate
  #Break if scene is not Scene_QuestBook
  if $scene != self
   break
  end
   end
   Graphics.freeze
		     
   #Dispose windows
   dispose_menu_background unless (TNDqb::Screen.is_a?(Integer) and TNDqb::Screen == 0)
   @command_window.dispose
   @title.dispose
   @main.dispose
 end
 def create_command_window
   @msg = []
   @quest.each {|i|
  @msg.push(TNDqb::Quest[i][0])
   }
   @msg = [""] if @msg.size < 1
		     
   #Create command window
   @command_window = Window_Command.new(160, @msg)
   @command_window.x = 384
   @command_window.back_opacity = TNDqb::Opacity
   @command_window.height = 360
   @command_window.y = 52
   j = 0
   @quest.each{|i|
   if $game_party.quest_complete?(i)
  @command_window.draw_item(j, true, TNDqb::Cmp_Color)
   end
   j += 1}
 end
 def inputUpdate
   if Input.trigger?(Input::B)
  #Play Cancel SE
  Sound.play_cancel
  #Return to set scene
  $scene = TNDqb::Return > -1 ? Scene_Menu.new(Return) : Scene_Map.new
   elsif Input.trigger?(Input::C)
  #Play Decision SE
  Sound.play_decision
  #Refresh quest data
  @main.set_quest(@quest[@command_window.index])
  #Goto command_refresh
   end
 end
 def update
   #Updates
   @command_window.update
   @title.update
   @main.update
 end
end

 

 

 

Demo

 

Nessuna, in quanto non ho il VX, ma ho realizzato uno snippet, da piazzare temporaneamente sotto lo script, che vi aggiunge in automatico delle quest, con completamento impostato per un paio di queste. Voi dovete comunque mettere nella prima mappa di gioco, in un evento a piacere, un (call) script per far aprire il Quest Book, che ricordo è $scene = Scene_QuestBook.new

 

class Scene_Title < Scene_Base
 #
 alias giver_qbookdemo_scttl_cmdnugheim command_new_game
 #
 def command_new_game
   giver_qbookdemo_scttl_cmdnugheim
   # Aggiunge la quest 1 tra quelle da completare
   $game_party.add_quest(1)
   # Aggiunge la quest 3 tra quelle da completare
   $game_party.add_quest(3)
   # Aggiunge la quest 0 tra quelle da completare
   $game_party.add_quest(0)
   # Segnala che la quest 1 è da considerarsi completata
   $game_party.finish_quest(1)
   # DEBUG CODE (Tutto ciò che c'è qua sotto è sbagliato e non funzionerà)
   # Toglierebbe la quest 3 dalla lista di quelle completate, ma non essendolo non
   #   accadrà nulla
   $game_party.unfinish_quest(3)
   # Aggiungerebbe la quest 6, se fosse impostata/configurata, ma non accadrà nulla
   $game_party.add_quest(6)
   # Segnala che la quest 2 sarebbe da considerarsi completata, ma non essendo
   #   stata aggiunta non accadrà nulla
   $game_party.finish_quest(2)
   # Eliminrebbe la quest 2 dalle quest da completare e/o completate, se fosse stata
   #   aggiunta, ma non accadrà nulla
   $game_party.delete_quest(2)
 end
end

 

Bugs e Conflitti Noti

 

Teoricamente, venendo da XP, potrebbe creare conflitti con tutto ciò che è personalizzato per VX. Di base solo ciò che è indicato nello script.

 

Altri Dettagli

Trovate qui http://www.rpg2s.net/forum/index.php?showtopic=14724 la versione XP, se volete fare confronti, tradotta ad opera di Superspammer. Crediti e Ringraziamenti sono nello script

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

Ultimamente fioccano script per le quest! XD

Provato su VX sembra che tutto funzioni a dovere! Bel lavoro giver! ^ ^

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

  • 2 weeks later...

A quanto pare, sono stato preceduto, senza saperlo, di alcuni giorni . . . Mi sarei risparmiato la fatica .. .

Vi metto il link così potete confrontarle, e vedere che sono differenti: l'altra ha davvero poco di modificato e nulla di migliorato . . .

 

Tornado Quest Book VX convertito da joaovitor2763 @ Aldeia RPG BR

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



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