Maker Bros Posted April 11, 2012 Share Posted April 11, 2012 (edited) Mi servirebbe un quest system per ACE io non ho trovato nulla tranne questo;http://www4.plala.or...uest/index.htmlma è giappocinese D:ps: in fondo c'è la demo...sempre giappocinese e non ci ho capito nulla casomai dopo posto in script rgss3 Edited April 11, 2012 by Maker Bros Link to comment Share on other sites More sharing options...
0 Guardian of Irael Posted April 11, 2012 Share Posted April 11, 2012 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) ^ ^ 🖤http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3http://i.imgur.com/MpaUphY.jpg by Idriu E:3Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44) http://i.imgur.com/PgUqHPm.pngUfficiale"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:3Ricorda...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.pngGrazie Testament XD Fan n°1 ufficiale di PQ! :DVivail Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che nonavevo programmi di grafica per fare un banner su questo pc XD (ora ho dinuovo il mio PC veramente :D) Rosso Guardiano dellahttp://i.imgur.com/Os5rvhx.pngRpg2s RPG BY FORUM:Nome: Darth Reveal PV totali 2PA totali 16Descrizione: 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 interneLevaitanSpada a due mani elsa lungaGuanti 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)CordaBottiglia di idromeleForma di formaggioTorcia (serve ad illuminare, dura tre settori)Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)Ampolla BiancaSemi di Balissa CAVALLO NORMALE + SELLA (30 +2 armi) contentente:66$Benda di pronto soccorso x3Spada a due maniFagotto per Adara (fazzoletto ricamato) Link to comment Share on other sites More sharing options...
0 EaglEye Posted April 12, 2012 Share Posted April 12, 2012 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 More sharing options...
0 Maker Bros Posted April 13, 2012 Author Share Posted April 13, 2012 Guardian perdono xD :blush: EaglEye più o meno ho capito ma io lo velevo che si inserisse nel menù iniziale quello dove c'è equip oggetti etc...etc... Link to comment Share on other sites More sharing options...
0 Guardian of Irael Posted April 13, 2012 Share Posted April 13, 2012 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) ^ ^ 🖤http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3http://i.imgur.com/MpaUphY.jpg by Idriu E:3Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44) http://i.imgur.com/PgUqHPm.pngUfficiale"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:3Ricorda...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.pngGrazie Testament XD Fan n°1 ufficiale di PQ! :DVivail Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che nonavevo programmi di grafica per fare un banner su questo pc XD (ora ho dinuovo il mio PC veramente :D) Rosso Guardiano dellahttp://i.imgur.com/Os5rvhx.pngRpg2s RPG BY FORUM:Nome: Darth Reveal PV totali 2PA totali 16Descrizione: 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 interneLevaitanSpada a due mani elsa lungaGuanti 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)CordaBottiglia di idromeleForma di formaggioTorcia (serve ad illuminare, dura tre settori)Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)Ampolla BiancaSemi di Balissa CAVALLO NORMALE + SELLA (30 +2 armi) contentente:66$Benda di pronto soccorso x3Spada a due maniFagotto per Adara (fazzoletto ricamato) Link to comment Share on other sites More sharing options...
0 Guest clyde Posted April 13, 2012 Share Posted April 13, 2012 (edited) 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 April 13, 2012 by clyde Link to comment Share on other sites More sharing options...
0 Maker Bros Posted April 13, 2012 Author Share Posted April 13, 2012 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 :Phttp://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 More sharing options...
0 Guest clyde Posted April 13, 2012 Share Posted April 13, 2012 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:PClyde 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 More sharing options...
0 Maker Bros Posted April 13, 2012 Author Share Posted April 13, 2012 Ma non c'è un modo per inserirlo? D: Link to comment Share on other sites More sharing options...
0 Keroro Posted April 13, 2012 Share Posted April 13, 2012 Non ho il VX per provarlo, quindi puoi fare screenshot che mostrano i dettagli del sistema quest?Ad aggiungerlo al menù non ci vuole davvero nulla :) 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 More sharing options...
0 Maker Bros Posted April 13, 2012 Author Share Posted April 13, 2012 (edited) Keroro se ci riesci sei un mito :ISto 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 April 13, 2012 by Maker Bros Link to comment Share on other sites More sharing options...
0 Guest clyde Posted April 13, 2012 Share Posted April 13, 2012 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 More sharing options...
0 Maker Bros Posted April 13, 2012 Author Share Posted April 13, 2012 (edited) Ahhh si scusa ho controllato ho scordato di mettere un'mmagine ora la posto subito D:Ecco la 13 :Dhttp://i.imgur.com/T4XoC.png Edited April 13, 2012 by Maker Bros Link to comment Share on other sites More sharing options...
0 Keroro Posted April 13, 2012 Share Posted April 13, 2012 Bastavano solo la 10 e la 12-13 XDPenso di finire per stasera, tra un po' ho il dentista :3Anticipo/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 More sharing options...
0 Guest clyde Posted April 13, 2012 Share Posted April 13, 2012 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 More sharing options...
0 giver Posted April 13, 2012 Share Posted April 13, 2012 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+]http://www.rpg2s.net/forum/index.php/topic/21892-vintagevisualsrewrite-enhanced-revised-victory-screen-v-35-da-autori-vari-a-giver/ http://www.rpg2s.net/forum/index.php/topic/21868-eventing-utility-simple-last-battle-events-fix-v-30-by-giver/ http://www.rpg2s.net/forum/index.php/topic/21853-vintagerewrite-constance-menu-per-4-personaggi-da-team-constance-a-giver/ http://www.rpg2s.net/forum/index.php/topic/22126-vintagedoveroso-necroedit-dummy-title-22u-update-per-crearlo-ad-eventi-su-mappa-by-giver/ http://www.rpg2s.net/forum/index.php/topic/22127-vintagevisuals-tale-chapters-save-system-20-by-giver/ 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.gifNon riesco a smettere di essere affascinato da immagini come questa . . .http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpgAlcuni wallpapers che faccio ruotare sul mio vecchio PC . . .http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpghttp://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpghttp://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpghttp://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 TestingTypeface & Size Link to comment Share on other sites More sharing options...
0 Maker Bros Posted April 13, 2012 Author Share Posted April 13, 2012 Cylde, Keroro grazie :3 comunque non si è risolto il problema più grande: aggiungerlo al menù T_Tgiver hai avuto una buona idea :3 Link to comment Share on other sites More sharing options...
0 Guest clyde Posted April 13, 2012 Share Posted April 13, 2012 (edited) Cylde, Keroro grazie :3 comunque non si è risolto il problema più grande: aggiungerlo al menù T_Tgiver 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 April 13, 2012 by clyde Link to comment Share on other sites More sharing options...
0 Maker Bros Posted April 13, 2012 Author Share Posted April 13, 2012 (edited) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUNZIONAAAAA!anche con il nuovo menù... Cylde ti chiedo scusa ma lo sapresti fare anche per il vx? così posso postare il gioco *W* Edited April 13, 2012 by Maker Bros Link to comment Share on other sites More sharing options...
0 Kristal Posted April 16, 2012 Share Posted April 16, 2012 *_* mi serviva, grazie per lo script improvvisato xD Link to comment Share on other sites More sharing options...
0 Guest clyde Posted April 17, 2012 Share Posted April 17, 2012 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 More sharing options...
0 Maker Bros Posted April 17, 2012 Author Share Posted April 17, 2012 Non ti preoccupare, comunque in realtà sto mandando avanti 2 progetti su vx e su ace quindi mi servirebbe :P Link to comment Share on other sites More sharing options...
0 Guest clyde Posted April 17, 2012 Share Posted April 17, 2012 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 More sharing options...
0 Searinox Posted June 10, 2012 Share Posted June 10, 2012 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 More sharing options...
0 giver Posted June 10, 2012 Share Posted June 10, 2012 E' il normale comportamento dello script, che non mostra la ricompensa finchè non completi la quest . . . SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]http://www.rpg2s.net/forum/index.php/topic/21892-vintagevisualsrewrite-enhanced-revised-victory-screen-v-35-da-autori-vari-a-giver/ http://www.rpg2s.net/forum/index.php/topic/21868-eventing-utility-simple-last-battle-events-fix-v-30-by-giver/ http://www.rpg2s.net/forum/index.php/topic/21853-vintagerewrite-constance-menu-per-4-personaggi-da-team-constance-a-giver/ http://www.rpg2s.net/forum/index.php/topic/22126-vintagedoveroso-necroedit-dummy-title-22u-update-per-crearlo-ad-eventi-su-mappa-by-giver/ http://www.rpg2s.net/forum/index.php/topic/22127-vintagevisuals-tale-chapters-save-system-20-by-giver/ 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.gifNon riesco a smettere di essere affascinato da immagini come questa . . .http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpgAlcuni wallpapers che faccio ruotare sul mio vecchio PC . . .http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpghttp://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpghttp://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpghttp://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 TestingTypeface & Size Link to comment Share on other sites More sharing options...
0 Searinox Posted June 11, 2012 Share Posted June 11, 2012 Ah! Allora non sono io che sbaglio qualcosa... perfetto :) Grazie mille. Link to comment Share on other sites More sharing options...
Question
Maker Bros
Mi servirebbe un quest system per ACE io non ho trovato nulla tranne questo;
http://www4.plala.or...uest/index.html
ma è giappocinese D:
ps: in fondo c'è la demo...
sempre giappocinese e non ci ho capito nulla casomai dopo posto in script rgss3
Edited by Maker BrosLink to comment
Share on other sites
37 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now