Jump to content
Rpg²S Forum
  • 0

Mi servirebbe quest per ace...!


Maker Bros
 Share

Question

Recommended Posts

  • 0

Di nuovo eviteresti di chiedere le stesse cose due volte! ^ ^"

Capisco che era sullo sportello, ma... scegli bene e poi decidi! XD Almeno aspetta un poco!

Ho cercato, stranamente non si trova molto, eppure non sembra difficile da creare, magari qualcuno può convertire quelle per VX? ^ ^

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

  • 0

Potresti farti un menù cumstom con grafiche personalizzate per ora ^^

Fai un menù, e con diverse switch collegate ai chara che ti daranno le missioni le metterai con una loro grafica, con un'altra switch setterai quando la missione è conclusa (con altrettante grafiche).

 

Dimmi se non mi sono spiegato ^^

 

MA ci vuole molta pazienza e cura per fare un menù custom così. ;)

.


"Hurry up, we're dreaming."


Soundcloud Page

Link to comment
Share on other sites

  • 0

Perdonato ^ ^

 

EaglEye più o meno ho capito ma io lo velevo che si inserisse nel menù iniziale quello dove c'è equip oggetti etc...etc...

Se quello è il problema... tu intanto fa tutto il sistema ad eventi, poi ci penso io una volta finito ad aggiungere un'opzioncina in più che lo richiama da menù o comunque ci pensa qualcun altro che una cosa del genere la fa in 5 secondi! XD

^ ^

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

  • 0
Guest clyde

Clyde dice che quello che hai in mente tu deve necessariamente passare per script (a meno che anche il menu non fosse programmato ad eventi).

 

Ma, come ha suggerito Guardian, esiste sempre il sistema ibrido:

1-Ti programmi un Quest System ad eventi.

2-Qualcuno crea uno script per richiamarlo da menu (sicuramente più breve che scriptare tutto il quest system).

 

Oppure c'è la soluzione porting:

1-Trovi un Quest System per VX che si adatta ai tuoi gusti.

2-Trovi qualcuno che facci il porting per VX Ace.

 

Clyde dice che tentare non costa nulla. Cerca un Quest System per VX e postalo qui. Clyde ti ricorda di usare il tag

 

 

...

...

...

 

 

per evitare post ingombranti.

Edited by clyde
Link to comment
Share on other sites

  • 0

Alluors...

Ne ho uno bellissimo per vx che mi piacerebbe passare sull'ace ma non sapevo si potesse fare ò_ò

Comunque vorrei che anche questo script andasse nel menù vi spiego:

Lo script in questione è il quest book : (script nello spoiler)

 

#=========================================================================
#=========================================================================
#														 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		= "Libro Missioni"	# 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] = ["Completa Il Mini-Quest","Computer Di Ben","Dai Alla Signora Robot ciò che vuole","Nulla"]
 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

 

 

Ma come leggete dalle prime righe è richiamabile solo con il call script...

so che fa schifo (ho usato paint ) ma vedete un pò se ho realizzato l'idea :P

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

 

E dove appare quest quando clicchi Z o invio chiama il Call script del quest book

:P

Link to comment
Share on other sites

  • 0
Guest clyde

Alluors...

Ne ho uno bellissimo per vx che mi piacerebbe passare sull'ace ma non sapevo si potesse fare ò_ò

Comunque vorrei che anche questo script andasse nel menù vi spiego:

Lo script in questione è il quest book : (script nello spoiler)

 

#=========================================================================
#=========================================================================
#														 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		= "Libro Missioni"	# 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] = ["Completa Il Mini-Quest","Computer Di Ben","Dai Alla Signora Robot ciò che vuole","Nulla"]
 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

 

 

Ma come leggete dalle prime righe è richiamabile solo con il call script...

so che fa schifo (ho usato paint ) ma vedete un pò se ho realizzato l'idea :P

 

 

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

 

 

E dove appare quest quando clicchi Z o invio chiama il Call script del quest book

:P

Clyde consiglia il tag spoiler anche per le immagini!

Non preoccuparti se fa schifo, l'importante è rendere l'idea ^_^

Link to comment
Share on other sites

  • 0

Keroro se ci riesci sei un mito :I

Sto facendo gli screen :D

 

Si stanno cariicando

 

Ecco: (la cosa figa è che avevo fatto tutto bene poi invio il messaggio e :"non puoi usare quest'estensione nella community" D: )

 

http://imgur.com/8Gv8z,dGi5o,5Su2k,7ctjm,TAT6O,CRNdj,40u2w,JLDBN,NcI84,sgjeq,o6IxS,kwuco#0

 

ecco rapido e veloce :P

Edited by Maker Bros
Link to comment
Share on other sites

  • 0
Guest clyde
Clyde è riuscito ad arrivare al punto in cui si apre la schermata con l'elenco delle quest, ma nella finestra principale non compaiono i dati della quest. o.O
Link to comment
Share on other sites

  • 0

Bastavano solo la 10 e la 12-13 XD

Penso di finire per stasera, tra un po' ho il dentista :3

Anticipo/avverto che non sarà un porting fedele dello script del vx (molte cose non mi piacciono), ho chiesto di vedere le immagini per organizzare le cose a modo mio ^^

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
Guest clyde

Ok, clyde è riuscito a farlo funzionare. Andavano invertiti due comandi, colpa di chi l'ha fatto. Però ti consiglio ti attendere il lavoro di Keroro perché come ha detto lui lo script così com'è lascia un po' a desiderare.

ATTENZIONE: Non diffondere questo script in quanto porting improvvisato sul momento.

 

 

 

#=========================================================================
#=========================================================================
#   Tornado Quest Book porting per VX Ace del porting per VX NON UFFICIALE
#   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   SceneManager.call(Scene_QuestBook)   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	 = "Libro Missioni"			# 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] = ["Completa Il Mini-Quest","Computer Di Ben","Dai Alla Signora Robot ciò che vuole","Nulla"]
 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_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
class Window_QuestCommand < Window_Command

 def initialize(window_width, msg)
@window_width = window_width
@msg = msg
super(0, 0)
 end
 def window_width
@window_width
 end
 def make_command_list
for msg in @msg
  add_command(msg, :selected)
end
 end

 def draw_item(index, enabled = true, color = normal_color)
change_color(color, enabled)
draw_text(item_rect_for_text(index), command_name(index), alignment)
 end

end
#====================
# Scene_QuestBook
#====================
class Scene_QuestBook < Scene_Base

 def main
if TNDqb::Screen.is_a?(Integer)
	create_background if TNDqb::Screen == 1
elsif (TNDqb::Screen).is_a?(String)
  @menuback_sprite = Sprite.new
  @menuback_sprite.bitmap = Cache.picture(TNDqb::Screen)
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
  inputUpdate
  update
  #Break if scene is not Scene_QuestBook
  unless SceneManager.scene_is?(Scene_QuestBook)
	break
  end
end
Graphics.freeze
#Dispose windows
dispose_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_QuestCommand.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}
#~	 @command_window.set_handler(:selected, method(:update_index))
 end
 
 def inputUpdate
if Input.trigger?(Input::B)
  #Play Cancel SE
  Sound.play_cancel
  #Return to set scene
  if TNDqb::Return > -1
	SceneManager.call(Scene_Menu)
  else
	SceneManager.call(Scene_Map)
  end
elsif Input.trigger?(Input::C)
  #Play Decision SE
  Sound.play_ok
  #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

#~   def update_index
#~	 handy = Window_Help.new()
#~	 handy.set_text(@command_window.index)
#~   end

 def create_background
@background_sprite = Sprite.new
@background_sprite.bitmap = SceneManager.background_bitmap
@background_sprite.color.set(16, 16, 16, 128)
 end

 def dispose_background
if @background_sprite != nil
  @background_sprite.bitmap = nil
  @background_sprite = nil
elsif @menuback_sprite!= nil
  @menuback_sprite.bitmap = nil
  @menuback_sprite = nil
end
 end

end

 

 

Link to comment
Share on other sites

  • 0
Comunque, si poteva creare un oggetto (item) questbook con il call script nell'evento comune associato, per ovviare all' "impossibilità" di inserirlo in autometico nel menù . . .

 


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

  • 0
Guest clyde

Cylde, Keroro grazie :3 comunque non si è risolto il problema più grande: aggiungerlo al menù T_T

giver hai avuto una buona idea :3

 

Clyde non ha testato ma dovrebbe andare così.

 

 

#=========================================================================
#=========================================================================
#   Tornado Quest Book porting VX Ace del Porting VX (NON UFFICIALE)
#   Versione 1.0
#   Autore: Storm
#   Tradotto da: Superspammer
#   http://rpgxpultimate.darkbb.com
#
#   NON USARE LO SCRIPT! FUNZIONAMENTO NON GARANTITO!!!!!!!!
#
# Istruzioni per l'uso:
# Incollare lo script sopra Main e sotto Materials.
#
# Usare   SceneManager.call(Scene_QuestBook)   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	 = "Libro Missioni"			# 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] = ["Completa Il Mini-Quest","Computer Di Ben","Dai Alla Signora Robot ciò che vuole","Nulla"]
 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_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
#====================
# Window_QuestCommand
#====================
class Window_QuestCommand < Window_Command

 def initialize(window_width, msg)
@window_width = window_width
@msg = msg
super(0, 0)
 end
 def window_width
@window_width
 end
 def make_command_list
for msg in @msg
  add_command(msg, :selected)
end
 end

 def draw_item(index, enabled = true, color = normal_color)
change_color(color, enabled)
draw_text(item_rect_for_text(index), command_name(index), alignment)
 end

end
#====================
# Scene_QuestBook
#====================
class Scene_QuestBook < Scene_Base

 def main
if TNDqb::Screen.is_a?(Integer)
	create_background if TNDqb::Screen == 1
elsif (TNDqb::Screen).is_a?(String)
  @menuback_sprite = Sprite.new
  @menuback_sprite.bitmap = Cache.picture(TNDqb::Screen)
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
  inputUpdate
  update
  #Break if scene is not Scene_QuestBook
  unless SceneManager.scene_is?(Scene_QuestBook)
	break
  end
end
Graphics.freeze
#Dispose windows
dispose_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_QuestCommand.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
  if TNDqb::Return > -1
	SceneManager.call(Scene_Menu)
  else
	SceneManager.call(Scene_Map)
  end
elsif Input.trigger?(Input::C)
  #Play Decision SE
  Sound.play_ok
  #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

 def create_background
@background_sprite = Sprite.new
@background_sprite.bitmap = SceneManager.background_bitmap
@background_sprite.color.set(16, 16, 16, 128)
 end

 def dispose_background
if @background_sprite != nil
  @background_sprite.bitmap = nil
  @background_sprite = nil
elsif @menuback_sprite!= nil
  @menuback_sprite.bitmap = nil
  @menuback_sprite = nil
end
 end
end
#====================
# Scene_Menu
#====================
class Scene_Menu < Scene_MenuBase

 alias qs_create_command_window create_command_window
 def create_command_window
qs_create_command_window
@command_window.set_handler(:quest,	  method(:command_quest))
 end

 def command_quest
SceneManager.call(Scene_QuestBook)
 end

end
#====================
# Window_MenuCommand
#====================
class Window_MenuCommand < Window_Command

 def make_command_list
add_main_commands
add_formation_command
add_original_commands
add_quest_command
add_save_command
add_game_end_command
 end

 def add_quest_command
add_command("Quest", :quest)
 end

end

 

 

 

EDIT: Attenzione, potrebbe non funzionare se usi script per modificare il menu. (Yanfly Ace Menu Engine, ad esempio)

Edited by clyde
Link to comment
Share on other sites

  • 0
Guest clyde

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUNZIONAAAAA!

anche con il nuovo menù...

 

Cylde ti chiedo scusa ma lo sapresti fare anche per il vx? così posso postare il gioco *W*

 

Ops, letto solo ora! :P Intendi riprendere la versione vx e aggiungere il comando quest al menu?

Link to comment
Share on other sites

  • 0
Guest clyde

Questione di un nanosecondo:

 

 

# AddOn per aggiungere il Libro Missioni al Menu. [RPG Maker VX]
# Se non sai cos'è questo script allora non usarlo.
class Scene_Menu < Scene_Base

 def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = Vocab::save
s6 = "Libro Missioni"
s7 = Vocab::game_end
 
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
@command_window.index = @menu_index
if $game_party.members.size == 0		  # If number of party members is 0
  @command_window.draw_item(0, false)	 # Disable item
  @command_window.draw_item(1, false)	 # Disable skill
  @command_window.draw_item(2, false)	 # Disable equipment
  @command_window.draw_item(3, false)	 # Disable status
end
if $game_system.save_disabled			 # If save is forbidden
  @command_window.draw_item(4, false)	 # Disable save
end
 end

 def update_command_selection
if Input.trigger?(Input::B)
  Sound.play_cancel
  $scene = Scene_Map.new
elsif Input.trigger?(Input::C)
  if $game_party.members.size == 0 and @command_window.index < 4
	Sound.play_buzzer
	return
  elsif $game_system.save_disabled and @command_window.index == 4
	Sound.play_buzzer
	return
  end
  Sound.play_decision
  case @command_window.index
  when 0	  # Item
	$scene = Scene_Item.new
  when 1,2,3  # Skill, equipment, status
	start_actor_selection
  when 4	  # Save
	$scene = Scene_File.new(true, false, false)
  when 5	  # Quest Book
	$scene = Scene_QuestBook.new
  when 6	  # End Game
	$scene = Scene_End.new
  end
end
 end

end

 

 

Link to comment
Share on other sites

  • 0
Ciao ragazzi, ho un problemino con lo script... perchè qualsiasi sia la ricompensa che inserisco, nella quest in ricompensa mi scrive "???" ? Anche con i modelli già scritti nello script come prova...
Link to comment
Share on other sites

  • 0
E' il normale comportamento dello script, che non mostra la ricompensa finchè non completi la quest . . .

 


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