Kenshin Posted October 20, 2013 Share Posted October 20, 2013 Large choice Descrizione Permette di mettere più di 4 scelte in un evento a scelta. Autore Tsukihime Istruzioni per l'uso Incollare lo script sotto materials e prima del main. Per farlo funzionare basta mettere più eventi scelta nell'evento per formare una finestra di scelta con più di 4 opzioni. Script =begin #============================================================================== ** Large Choices Author: Tsukihime Date: Apr 10, 2013 ------------------------------------------------------------------------------ ** Change log Apr 10, 2013 - added option to disable automatic show combining Mar 26, 2013 - fixed bug where cancel choice was not properly updated Jan 12, 2013 - fixed bug where the first set of nested options were numbered incorrectly Dec 7, 2012 - implemented proper branch canceling Dec 6, 2012 - Initial release ------------------------------------------------------------------------------ ** Terms of Use * Free to use in non-commercial projects * Contact me for commercial use * No real support. The script is provided as-is * Will do bug fixes, but no compatibility patches * Features may be requested but no guarantees, especially if it is non-trivial * Preserve this header ------------------------------------------------------------------------------ ** Description This script combines groups of "show choice" options together as one large command. This allows you to create more than 4 choices by simply creating several "show choice" commands. ------------------------------------------------------------------------------ ** Installation Place this script below Materials and above Main ------------------------------------------------------------------------------ ** Usage Add a show choice command. If you want more choices, add another one, and fill it out as usual. Note that you should only specify one cancel choice (if you specify more than one, then the last one is taken). For "branch" canceling, note that *all* cancel branches are executed. You should only have a cancel branch on the last set of choices You can disable automatic choice combining by enabling the "Manual Combine" option, which will require you to make this script call before the first show choice command combine_choices In order to combine choices together #============================================================================== =end $imported = {} if $imported.nil? $imported["TH_LargeChoices"] = true #============================================================================== # ** Configuration #============================================================================== module TH module Large_Choices # Turning this option on will require you to manually specify that # a sequence of Show Choice options should be combined Manual_Combine = false #============================================================================== # ** Rest of the script #============================================================================== Code_Filter = [402, 403, 404] Regex = /<large choices>/i end end class Game_Temp # temp solution to get this working attr_accessor :branch_choice def branch_choice @branch_choice || 5 end end class Game_Interpreter #----------------------------------------------------------------------------- # Clean up #----------------------------------------------------------------------------- alias :th_large_choices_clear :clear def clear th_large_choices_clear @first_choice_cmd = nil @choice_search = 0 @combine_choices = false end #----------------------------------------------------------------------------- # Prepare for more choices #----------------------------------------------------------------------------- alias :th_large_choices_setup_choices :setup_choices def setup_choices(params) # start with our original choices th_large_choices_setup_choices(params) return if TH::Large_Choices::Manual_Combine && !@combine_choices # store our "first" choice in the sequence @first_choice_cmd = @list[@index] # reset branch choice $game_temp.branch_choice = @first_choice_cmd.parameters[1] # Start searching for more choices @num_choices = $game_message.choices.size @choice_search = @index + 1 search_more_choices end def combine_choices @combine_choices = true end #----------------------------------------------------------------------------- # New. Check whether the next command (after all branches) is another choice # command. If so, merge it with the first choice command. #----------------------------------------------------------------------------- def search_more_choices skip_choice_branches next_cmd = @list[@choice_search] # Next command isn't a "show choice" so we're done return if next_cmd.code != 102 @choice_search += 1 # Otherwise, push the choices into the first choice command to merge # the commands. @first_choice_cmd.parameters[0].concat(next_cmd.parameters[0]) # Update all cases to reflect merged choices update_show_choices(next_cmd.parameters) update_cancel_choice(next_cmd.parameters) update_choice_numbers # delete the command to effectively merge the branches @list.delete(next_cmd) # Now search for more search_more_choices end #----------------------------------------------------------------------------- # New. Update the options for the first "show choice" command #----------------------------------------------------------------------------- def update_show_choices(params) params[0].each {|s| $game_message.choices.push(s) } end #----------------------------------------------------------------------------- # New. If cancel specified, update it to reflect merged choice numbers # The last one is taken if multiple cancel choices are specified #----------------------------------------------------------------------------- def update_cancel_choice(params) # disallow, just ignore return if params[1] == 0 # branch on cancel return update_branch_choice if params[1] == 5 # num_choices is not one-based cancel_choice = params[1] + (@num_choices) # update cancel choice, as well as the first choice command $game_message.choice_cancel_type = cancel_choice @first_choice_cmd.parameters[1] = cancel_choice end #----------------------------------------------------------------------------- # New. Set the initial choice command to "branch cancel" #----------------------------------------------------------------------------- def update_branch_choice branch_choice = $game_message.choices.size + 1 $game_message.choice_cancel_type = branch_choice $game_temp.branch_choice = branch_choice @first_choice_cmd.parameters[1] = branch_choice end def command_403 command_skip if @branch[@indent] != $game_temp.branch_choice - 1 end #----------------------------------------------------------------------------- # New. For each branch, update it to reflect the merged choice numbers. #----------------------------------------------------------------------------- def update_choice_numbers # Begin searching immediately after cmd 102 (show choice) i = @choice_search # Rough search for "When" commands. The search must skip nested commands while TH::Large_Choices::Code_Filter.include?(@list.code) || @list.indent != @indent if @list.code == 402 && @list.indent == @indent @list.parameters[0] = @num_choices @num_choices += 1 end i += 1 end end #----------------------------------------------------------------------------- # New. Returns the next command after our choice branches #----------------------------------------------------------------------------- def skip_choice_branches # start search at the next command # skip all choice branch-related commands and any branches while TH::Large_Choices::Code_Filter.include?(@list[@choice_search].code) || @list[@choice_search].indent != @indent @choice_search += 1 end return @choice_search end end Bugs e Conflitti Noti N/A Questo script mi serviva, e dato che su questo forum non lo avevo trovato, oltre che prendermelo e basta ho pensato di girarvelo ^^ "Giochiamo a: schiettezza o grande impresa eroica!" Personaggio PBF: LyrielPN: 12/20PV: 2/2PA: 4 (5 col mantello d'acero)Equipaggiamento:Spada comunePugnale comuneArco elfico (magico, ignifugo. Permette di colpire da lunghe distanze. Se distrutto si auto-restaura a fine battaglia. Le frecce scoccate con questo arco ottengono l'effetto dell'incantesimo Folata di vento permettendo di spazzare via piccoli oggetti e creature.)Faretra con 20 frecceCappuccioArmatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)2 anelli di valoreBorsa comune (10 slot)CordaPenna e calamaioLibro vuotoForma di formaggioMappaCannocchialeTagliola di ferroCampanellino di MaiaMantello d'Acero (+1PA): un mantello pesante di colore rossiccio che presenta dei motivi fiochi, dello stesso colore, a forma di foglie d'acero. E' dotato di un ampio cappuccio e può coprire completamente chi lo indossa. Se si resta fermi in un'area boschiva o tra un gruppo di alberi il mantello è in grado di celare completamente la presenza del possessore dando un grado di furtività pari a gr.5. Nel caso di bestie ed animali dalla visuale meno acuta, se il giocatore è già stato notato od ha notificato in qualche modo la sua presenza può gettarsi a terra tra un gruppo di foglie o tra i cespugli per scomparire completamente dalla visuale di tali nemici.181 monete d'oroCintura porta coltelli (6 slot)Coltello da lancio intarsiatoColtello da lancio in metalloColtello da lancio in metallo Campanellino di MaiaSe Lyriel, e solo lui, suona tre volte il campanellino può richiamare una creatura magica che combatterà al suo fianco al prezzo di 3 PN.L'animale ha l'aspetto di un leopardo delle nevi, i suoi occhi sono viola e così gli artigli, i denti e la punta della coda. Questa è lunga e larga, molto folta e corposa. Il manto a differenza dei leopardi è tutto bianco, inoltre ha una folta criniera circolare intorno al collo a mo' di sciarpa e che si unisce con la sommità della fronte creando un cresta non molto alta pettinata all'indietro.La creatura combatte indipendentemente dal possessore (il giocatore potrà descriverne il comportamento in battaglia e fuori, ma il master potrà riservarsi il diritto di far compiere alla creatura delle azioni per conto proprio).La creatura non deve per forza stare vicino all'utilizzatore, ma può essere mandata lontano e tornare da lui su comando.Lyriel e l'animale hanno un contatto mentale e possono comunicare anche a distanza.Non vi è limite alla permanenza della creatura una volta evocata, però se i suoi PV raggiungono lo zero dovrà essere risvegliata magicamente da un mago od un curatore esperto. Lyriel può richiamare all'interno del campanellino la creatura quando essa non è impegnata in combattimento od in altre prove senza sforzi, ma dovrà spendere di nuovo 3 PN per richiamarla. Può continuare a combattere se Lyriel viene sconfitto.L'animale vede bene anche di notte e se c'è nebbia.Caratteristiche della creatura:PV 2PA 2Atletica Gr.4Furtività Gr.1Attacco (tipo descritto dal giocatore nei limiti fisici di artigli e morso) di massimo Gr.5 può dichiarare DIRETTO su armature di cuoio o cuoio borchiato e MAGICO con tutti gli attacchi. Può dichiarare SONNO se artigli e denti viola entrano in contatto diretto con il sangue l'avversario. DIRETTO e SONNO sono due effetti, quindi come da regolamento solo uno può essere scelto. MAGICO può esser combinato con entrambi.Malus: il campanellino deve tintinnare, quindi Lyriel suonandolo tradirà la sua presenza.Il campanellino tutte le volte che viene suonato fa venire in mente Maia a Lyriel, quindi il giocatore dovrà scrivere una frase di almeno 3 parole per ricordare la bambina, ogni volta diversa, altrimenti l'evocazione non avrà esito. Personaggio PBF: WrenPN: 20/20PV:2/2PA:0Borsa Comune3 filoni di pane4 meleprosciuttoformaggiocoltello da cucina Link to comment Share on other sites More sharing options...
Guardian of Irael Posted October 20, 2013 Share Posted October 20, 2013 Ottimo, c'è stata forte richiesta per numerose scelte o features simili nei messaggi ^ ^ (\_/)(^ ^) <----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...
Kenshin Posted October 20, 2013 Author Share Posted October 20, 2013 Posso testimoniare che funziona, ho creato una scelta con 10 opzioni ^^ "Giochiamo a: schiettezza o grande impresa eroica!" Personaggio PBF: LyrielPN: 12/20PV: 2/2PA: 4 (5 col mantello d'acero)Equipaggiamento:Spada comunePugnale comuneArco elfico (magico, ignifugo. Permette di colpire da lunghe distanze. Se distrutto si auto-restaura a fine battaglia. Le frecce scoccate con questo arco ottengono l'effetto dell'incantesimo Folata di vento permettendo di spazzare via piccoli oggetti e creature.)Faretra con 20 frecceCappuccioArmatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)2 anelli di valoreBorsa comune (10 slot)CordaPenna e calamaioLibro vuotoForma di formaggioMappaCannocchialeTagliola di ferroCampanellino di MaiaMantello d'Acero (+1PA): un mantello pesante di colore rossiccio che presenta dei motivi fiochi, dello stesso colore, a forma di foglie d'acero. E' dotato di un ampio cappuccio e può coprire completamente chi lo indossa. Se si resta fermi in un'area boschiva o tra un gruppo di alberi il mantello è in grado di celare completamente la presenza del possessore dando un grado di furtività pari a gr.5. Nel caso di bestie ed animali dalla visuale meno acuta, se il giocatore è già stato notato od ha notificato in qualche modo la sua presenza può gettarsi a terra tra un gruppo di foglie o tra i cespugli per scomparire completamente dalla visuale di tali nemici.181 monete d'oroCintura porta coltelli (6 slot)Coltello da lancio intarsiatoColtello da lancio in metalloColtello da lancio in metallo Campanellino di MaiaSe Lyriel, e solo lui, suona tre volte il campanellino può richiamare una creatura magica che combatterà al suo fianco al prezzo di 3 PN.L'animale ha l'aspetto di un leopardo delle nevi, i suoi occhi sono viola e così gli artigli, i denti e la punta della coda. Questa è lunga e larga, molto folta e corposa. Il manto a differenza dei leopardi è tutto bianco, inoltre ha una folta criniera circolare intorno al collo a mo' di sciarpa e che si unisce con la sommità della fronte creando un cresta non molto alta pettinata all'indietro.La creatura combatte indipendentemente dal possessore (il giocatore potrà descriverne il comportamento in battaglia e fuori, ma il master potrà riservarsi il diritto di far compiere alla creatura delle azioni per conto proprio).La creatura non deve per forza stare vicino all'utilizzatore, ma può essere mandata lontano e tornare da lui su comando.Lyriel e l'animale hanno un contatto mentale e possono comunicare anche a distanza.Non vi è limite alla permanenza della creatura una volta evocata, però se i suoi PV raggiungono lo zero dovrà essere risvegliata magicamente da un mago od un curatore esperto. Lyriel può richiamare all'interno del campanellino la creatura quando essa non è impegnata in combattimento od in altre prove senza sforzi, ma dovrà spendere di nuovo 3 PN per richiamarla. Può continuare a combattere se Lyriel viene sconfitto.L'animale vede bene anche di notte e se c'è nebbia.Caratteristiche della creatura:PV 2PA 2Atletica Gr.4Furtività Gr.1Attacco (tipo descritto dal giocatore nei limiti fisici di artigli e morso) di massimo Gr.5 può dichiarare DIRETTO su armature di cuoio o cuoio borchiato e MAGICO con tutti gli attacchi. Può dichiarare SONNO se artigli e denti viola entrano in contatto diretto con il sangue l'avversario. DIRETTO e SONNO sono due effetti, quindi come da regolamento solo uno può essere scelto. MAGICO può esser combinato con entrambi.Malus: il campanellino deve tintinnare, quindi Lyriel suonandolo tradirà la sua presenza.Il campanellino tutte le volte che viene suonato fa venire in mente Maia a Lyriel, quindi il giocatore dovrà scrivere una frase di almeno 3 parole per ricordare la bambina, ogni volta diversa, altrimenti l'evocazione non avrà esito. Personaggio PBF: WrenPN: 20/20PV:2/2PA:0Borsa Comune3 filoni di pane4 meleprosciuttoformaggiocoltello da cucina 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