giver Posted February 22, 2012 Share Posted February 22, 2012 Tornado Quest Book VX Descrizione Semplice Quest Book per mostrare le quest e i relativi dettagli al giocatore. Il grosso del lavoro va fatto comunque ad eventi . . . AutoreStorm per la versione XP. giver per la conversione VX Screen (gentilmente offerti da Ichika Strize) http://img140.imageshack.us/img140/5484/screen1jz.pnghttp://img816.imageshack.us/img816/8895/screen1xu.pnghttp://img402.imageshack.us/img402/9931/screen2dt.pnghttp://img84.imageshack.us/img84/1697/screen3ixu.png Istruzioni per l'uso Nello script, tradotte in italiano da Superspammer, con aggiunte di giver. SCRIPT #========================================================================= #========================================================================= # Tornado Quest Book # Versione 1.0 # Autore: Storm # Tradotto da: Superspammer # http://rpgxpultimate.darkbb.com # # Istruzioni per l'uso: # Incollare lo script sopra Main e sotto Materials. # # Usare $scene = Scene_QuestBook.new per chiamare il libro. # # Usare $game_party.add_quest(id) per aggiungere una missione. # # Usare $game_party.delete_quest(id) per eliminare una missione. # # Usare $game_party.finish_quest(id) per finire una missione. # # Use $game_party.unfinish_quest(id) per impostare una missione come non-finita. # # Nel condition branch (ramo condizioni), inserire questo script: $game_party.quest_complete?(id) # per controllare se la missione è stata completata. # # Opzioni: # Possibilità di cambiare il nome del quest book. # Opacità configurabile. # Colori missioni complete personalizzabile. # Colori missioni incomplete personalizzabile. # Auto-rimpiazzamento testo. # 10 Rimpiazzamenti configurabili. # # Compatibilità: # La maggior parte degli script. Sovrascrivendo il metodo draw_item di # Window_Command è meglio metterlo sopra altri script che agiscono # sullo stesso metodo, sperando che non lo sovrascrivano anch'essi # # Crediti E Ringraziamenti: # Storm - Per averlo creato. # Game_Guy - Per avermi insegnato come usare le Array. # Superspammer - Per averlo tradotto. # giver - Per la conversione al VX. (Fatta su "richiesta" di Ichika Strize) # Ichika Strize - Per il Testing e gli Screen della versione VX. #=========================================================================== #=========================================================================== module TNDqb #========================================================================= # START CONFIG #========================================================================= #============================== General Config =========================== # General Config. #========================================================================= QB_Name = "Quest Book" # Nome del quest Book Author_Name = "Autore" # Nome Autore Title_Name = "Titolo" # Nome del Titolo Reward_Name = "Ricompensa" # Nome della ricompensa Status_Name = "Status" # Status Complete = "Completata" # Nome delle missioni complete Incomplete = "Non completata." # Nome delle missioni incomplete. Unknown = "???" # Nome sconosciuto Opacity = 200 # Opacità della finestra (200 è quella base del VX) Screen = 1 # (0 = nero, 1 = screenshot mappa, "nome immagine tra virgolette" = picture) Cmp_Color = Color.new(0, 255, 0, 255) # Colore missioni Complete Incmp_Color = Color.new(255, 0, 0, 255) # Colore missioni Incomplete Return = -1 # Imposta la Scena di Ritorno quando si esce dal QuestBook premendo ESC # se messa a -1 torna alla Mappa, altrimenti torna al Menù con l'indice # indicato selezionato nella lista dei comandi (il primo vale 0, il # secondo 1, il terzo 2, e così via . . . Di base dovrebbe essere la # posizione del comando del menù per aprire il QuestBook (es. 3 se è il # quarto comando della lista) #================================ Ignore Part ============================ # Ignorare la sezione qui sotto. #========================================================================= Quest = [] #============================ Replacement Config ========================= # Rimpiazzamenti, questi sono i testi che verranno auto ripiazzati. # # Replace = ["segnaposto testo","testo sostitutivo"] # NOTA BENE: Il massimo dei rimpiazzamenti è 10. I Rimpiazzamenti non possono essere aggiunti o eliminati. # Cannot include {nome0}, {nome1}, {nome2}, ..., {nomeN} (vedi sotto) # Si consiglia di includere i segnaposto tra parentesi graffe # # Completed Replacements: (Do not add) # {nomeNNN} = Nome dell'attore che si trova nella posizione NNN del party # es. per far apparire il nome del primo personaggio nel party bisogna # inserire il segnaposto {nome0} #========================================================================= Replace1 = ["{s}","Ciao!"] Replace2 = ["",""] Replace3 = ["",""] Replace4 = ["",""] Replace5 = ["",""] Replace6 = ["",""] Replace7 = ["",""] Replace8 = ["",""] Replace9 = ["",""] Replace10 = ["",""] #=============================== Configurazione Missioni ================= # Configura le missioni qui. # # Quest[id] = ["Titolo","Nome dell'autore","testo","ricompensa"] #========================================================================= #PART 1 Quest[0] = ["Saluti e Baci","Tizio","Tizio vuole che il party vada al suo paese e dire alla mamma {s}", "Cesta di Mele"] Quest[1] = ["Pupazzo Scomparso","Mr.Bean","Mr.Bean vuole che tu ritrovi il suo pupazzo scomparso. LOL","10000 G"] Quest[2] = ["Esplora la montagna","Tom","Tom ha chiesto a {nome0} di esplorare la montagna.","Qualcosa"] Quest[3] = ["Ammazza Ratti","Contadino","George, il contadino, vuole che venga liberato il proprio granaio dai ratti che lo infestano","Un Vecchio Libro"] #========================================================================= # END CONFIG #========================================================================= end #==================== # Game_Party #==================== class Game_Party < Game_Unit attr_accessor :quest attr_accessor :qComplete alias tnd_qb_init initialize unless $@ def initialize set_questbook tnd_qb_init end def set_questbook @quest = [] @qComplete = [] end def add_quest(id) msg = TNDqb::Quest[id] return if msg == nil unless @quest.include?(id) @qComplete.delete(id) @quest.push(id) end end def delete_quest(id) msg = TNDqb::Quest[id] return if msg == nil if @quest.include?(id) @qComplete.delete(id) @quest.delete(id) end end def finish_quest(id) msg = TNDqb::Quest[id] return if msg == nil if @quest.include?(id) @qComplete.push(id) unless @qComplete.include?(id) end end def unfinish_quest(id) msg = TNDqb::Quest[id] return if msg == nil if @qComplete.include?(id) @quest.push(id) unless @quest.include?(id) @qComplete.delete(id) end end def quest_complete?(id) return false if id == nil msg = TNDqb::Quest[id] return false if msg == nil return @qComplete.include?(id) end end #==================== # Bitmap #==================== class Bitmap def format_text(text, width) words = text.split(' ') return words if words.size == 1 result, current_text = [], words.shift words.each_index {|i| if self.text_size("#{current_text} #{words[i]}").width > width result.push(current_text) current_text = words[i] else current_text = "#{current_text} #{words[i]}" end result.push(current_text) if i >= words.size - 1} return result end end #==================== # Window_Command #==================== class Window_Command < Window_Selectable def draw_item(index, enabled = true, icolor = normal_color) rect = item_rect(index) rect.x += 4 rect.width -= 8 self.contents.clear_rect(rect) self.contents.font.color = icolor self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(rect, @commands[index]) end end #==================== # Window_QuestTitle #==================== class Window_QuestTitle < Window_Base def initialize super(0, -8, 544, 56) self.back_opacity = TNDqb::Opacity refresh end def refresh self.contents.clear self.contents.font.color = normal_color self.contents.font.size = 22 cx = contents.text_size(TNDqb::QB_Name).width self.contents.draw_text(0, 0, cx, 24, TNDqb::QB_Name) end end #==================== # Window_QuestMain #==================== class Window_QuestMain < Window_Base def initialize super(24, 76, 336, 268) self.back_opacity = TNDqb::Opacity refresh end def refresh return if @quest_id == nil msg = TNDqb::Quest[@quest_id] return if msg == nil self.contents.clear self.contents.font.size = Font.default_size - 2 t = self.contents.text_size(TNDqb::Title_Name+": ").width t2 = self.contents.text_size(TNDqb::Author_Name+": ").width t3 = self.contents.text_size(TNDqb::Reward_Name+": ").width t4 = self.contents.text_size(TNDqb::Status_Name+": ").width tw = self.width - 32 self.contents.font.color = system_color self.contents.draw_text(0, 0, tw, 24, TNDqb::Title_Name+": ") self.contents.draw_text(0, 24, tw, 24, TNDqb::Author_Name+": ") self.contents.draw_text(0, 186, tw, 24, TNDqb::Reward_Name+": ") self.contents.draw_text(0, 210, tw, 24, TNDqb::Status_Name+": ") self.contents.font.color = normal_color self.contents.draw_text(t, 0, tw, 24, msg[0]) self.contents.draw_text(t2, 24, tw, 24, msg[1]) @text = msg[2] @text = @text.gsub(TNDqb::Replace1[0], TNDqb::Replace1[1]) @text = @text.gsub(TNDqb::Replace2[0], TNDqb::Replace2[1]) @text = @text.gsub(TNDqb::Replace3[0], TNDqb::Replace3[1]) @text = @text.gsub(TNDqb::Replace4[0], TNDqb::Replace4[1]) @text = @text.gsub(TNDqb::Replace5[0], TNDqb::Replace5[1]) @text = @text.gsub(TNDqb::Replace6[0], TNDqb::Replace6[1]) @text = @text.gsub(TNDqb::Replace7[0], TNDqb::Replace7[1]) @text = @text.gsub(TNDqb::Replace8[0], TNDqb::Replace8[1]) @text = @text.gsub(TNDqb::Replace9[0], TNDqb::Replace9[1]) @text = @text.gsub(TNDqb::Replace10[0], TNDqb::Replace10[1]) for i in 0...$game_party.members.size actor = $game_party.members[i] @text = @text.gsub("{nome"+i.to_s+"}", actor.name) end draw_msg(@text, 0, 48) if $game_party.quest_complete?(@quest_id) self.contents.draw_text(t3, 186, tw, 24, msg[3]) self.contents.font.color = TNDqb::Cmp_Color self.contents.draw_text(t4, 210, tw, 24, TNDqb::Complete) else self.contents.draw_text(t3, 186, tw, 24, TNDqb::Unknown) self.contents.font.color = TNDqb::Incmp_Color self.contents.draw_text(t4, 210, tw, 24, TNDqb::Incomplete) end end def draw_msg(msg, x, y) text = self.contents.format_text(msg, 304) text.each_index {|i|self.contents.draw_text(x, y + i*24, 304, 24, text[i])} end def set_quest(id) return if @quest_id == id @quest_id = id refresh end end #==================== # Scene_QuestBook #==================== class Scene_QuestBook < Scene_Base def main if TNDqb::Screen.is_a?(Integer) if TNDqb::Screen == 1 create_menu_background end else @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.picture(TNDqb::Screen) if (TNDqb::Screen).is_a?(String) end #Command window setup @quest = $game_party.quest create_command_window #Make main windows @title = Window_QuestTitle.new @main = Window_QuestMain.new Graphics.transition loop do Graphics.update Input.update #Update windows and inputs update inputUpdate #Break if scene is not Scene_QuestBook if $scene != self break end end Graphics.freeze #Dispose windows dispose_menu_background unless (TNDqb::Screen.is_a?(Integer) and TNDqb::Screen == 0) @command_window.dispose @title.dispose @main.dispose end def create_command_window @msg = [] @quest.each {|i| @msg.push(TNDqb::Quest[i][0]) } @msg = [""] if @msg.size < 1 #Create command window @command_window = Window_Command.new(160, @msg) @command_window.x = 384 @command_window.back_opacity = TNDqb::Opacity @command_window.height = 360 @command_window.y = 52 j = 0 @quest.each{|i| if $game_party.quest_complete?(i) @command_window.draw_item(j, true, TNDqb::Cmp_Color) end j += 1} end def inputUpdate if Input.trigger?(Input::B) #Play Cancel SE Sound.play_cancel #Return to set scene $scene = TNDqb::Return > -1 ? Scene_Menu.new(Return) : Scene_Map.new elsif Input.trigger?(Input::C) #Play Decision SE Sound.play_decision #Refresh quest data @main.set_quest(@quest[@command_window.index]) #Goto command_refresh end end def update #Updates @command_window.update @title.update @main.update end end Demo Nessuna, in quanto non ho il VX, ma ho realizzato uno snippet, da piazzare temporaneamente sotto lo script, che vi aggiunge in automatico delle quest, con completamento impostato per un paio di queste. Voi dovete comunque mettere nella prima mappa di gioco, in un evento a piacere, un (call) script per far aprire il Quest Book, che ricordo è $scene = Scene_QuestBook.new class Scene_Title < Scene_Base # alias giver_qbookdemo_scttl_cmdnugheim command_new_game # def command_new_game giver_qbookdemo_scttl_cmdnugheim # Aggiunge la quest 1 tra quelle da completare $game_party.add_quest(1) # Aggiunge la quest 3 tra quelle da completare $game_party.add_quest(3) # Aggiunge la quest 0 tra quelle da completare $game_party.add_quest(0) # Segnala che la quest 1 è da considerarsi completata $game_party.finish_quest(1) # DEBUG CODE (Tutto ciò che c'è qua sotto è sbagliato e non funzionerà) # Toglierebbe la quest 3 dalla lista di quelle completate, ma non essendolo non # accadrà nulla $game_party.unfinish_quest(3) # Aggiungerebbe la quest 6, se fosse impostata/configurata, ma non accadrà nulla $game_party.add_quest(6) # Segnala che la quest 2 sarebbe da considerarsi completata, ma non essendo # stata aggiunta non accadrà nulla $game_party.finish_quest(2) # Eliminrebbe la quest 2 dalle quest da completare e/o completate, se fosse stata # aggiunta, ma non accadrà nulla $game_party.delete_quest(2) end end Bugs e Conflitti Noti Teoricamente, venendo da XP, potrebbe creare conflitti con tutto ciò che è personalizzato per VX. Di base solo ciò che è indicato nello script. Altri DettagliTrovate qui http://www.rpg2s.net/forum/index.php?showtopic=14724 la versione XP, se volete fare confronti, tradotta ad opera di Superspammer. Crediti e Ringraziamenti sono nello script SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]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...
Guardian of Irael Posted February 22, 2012 Share Posted February 22, 2012 Ultimamente fioccano script per le quest! XDProvato su VX sembra che tutto funzioni a dovere! Bel lavoro giver! ^ ^ (\_/)(^ ^) <----coniglietto rosso, me! (> <) Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^ http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^ http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^ REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^ 🖤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...
giver Posted March 5, 2012 Author Share Posted March 5, 2012 A quanto pare, sono stato preceduto, senza saperlo, di alcuni giorni . . . Mi sarei risparmiato la fatica .. .Vi metto il link così potete confrontarle, e vedere che sono differenti: l'altra ha davvero poco di modificato e nulla di migliorato . . . Tornado Quest Book VX convertito da joaovitor2763 @ Aldeia RPG BR SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]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...
Astro86 Posted March 6, 2012 Share Posted March 6, 2012 mmmmm.... La userò Grazie mille per la conversione :) Link to comment Share on other sites More sharing options...
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