Midi Posted February 23, 2014 Share Posted February 23, 2014 (edited) VisualMidi Standard BS Descrizione Questo script modifica leggermente il BS frontale standard. In particolare: - la finestra del Party mostra i face degli Actor e ha un layout migliorato; - invece della consueta finestra di selezione dei nemici, viene usato un cursore dinamico direttamente nella schermata principale, che mostra anche il nome del nemico selezionato. http://imageshack.com/a/img194/1680/64tv.png Si tratta dello stesso BS utilizzato dalla versione 1.1 di The Dreamer. Autore Midi Allegati Nessuno Istruzioni per l'uso Incollare lo script nella sezione "Materials", sopra il "Main". Script #============================================================================= # VisualMidi Standard BS #----------------------------------------------------------------------------- # vers. 1.1.0 (23-02-2014) # by Midi #----------------------------------------------------------------------------- # Change log # ## vers. 1.1.0: # - aggiunto cursore dinamico per la selezione dei nemici. #============================================================================= # ** DESCRIZIONE ** # Questo script modifica leggermente il BS frontale standard. In particolare: # - la finestra del Party mostra i face degli Actor e ha un layout migliorato; # - invece della consueta finestra di selezione dei nemici viene usato un # cursore dinamico direttamente nella schermata principale, che mostra anche # il nome dei singoli nemici. #============================================================================= #============================================================================= # ** CONDIZIONI DI UTILIZZO ** # Questo script è sotto licenza Creative Commons BY-NC-SA # (Attribuzione-NonCommerciale-CondividiAlloStessoModo 3.0 Unported). # - Attribuzione : è obbligatorio creditare l'autore. # - NonCommerciale: non si può utilizzare questo script per scopi # commerciali. # - CondividiAlloStessoModo: se si modifica, trasforma o utilizza questo # script in un'opera, l'opera risultante può essere # distribuita solo sotto la stessa o compatibile licenza. # Per più informazioni, http://creativecommons.org/licenses/by-nc-sa/3.0/ #============================================================================= class Window_PartyCommand < Window_Command def window_width return 112 end end class Window_ActorCommand < Window_Command def window_width return 112 end end class Window_BattleStatus < Window_Selectable def initialize super(0, 0, window_width, window_height) contents.font.size = 16 refresh self.openness = 0 end def spacing return 0 end def window_width Graphics.width - 112 end def draw_item(index) offset_x = 3 actor = $game_party.battle_members[index] draw_basic_area(item_rect(index), actor, offset_x) draw_gauge_area(item_rect(index), actor, offset_x) end def draw_basic_area(rect, actor, offset_x) draw_actor_face(actor, rect.x + offset_x, rect.y, true) draw_actor_name(actor, rect.x + offset_x, rect.y, 100) draw_actor_icons(actor, rect.x + offset_x, rect.y + 16) end def draw_gauge_area(rect, actor, offset_x) if $data_system.opt_display_tp draw_gauge_area_with_tp(rect, actor, offset_x) else draw_gauge_area_without_tp(rect, actor, offset_x) end end def draw_gauge_area_with_tp(rect, actor, offset_x) draw_actor_hp(actor, rect.x + offset_x, rect.y + 66, 96) draw_actor_mp(actor, rect.x + offset_x, rect.y + 78, 46) draw_actor_tp(actor, rect.x + 50 + offset_x, rect.y + 78, 46) end def draw_gauge_area_without_tp(rect, actor, offset_x) draw_actor_hp(actor, rect.x + offset_x, rect.y + 66, 96) draw_actor_mp(actor, rect.x + offset_x, rect.y + 78, 96) end def col_max return 4 end def item_width return 102 end def item_height return 96 end def draw_actor_hp(actor, x, y, width = 124) draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2) change_color(system_color) contents.font.size = 16 draw_text(x, y, 30, line_height, Vocab::hp_a) draw_current_value(x, y, width, actor.hp, hp_color(actor), normal_color) end def draw_actor_mp(actor, x, y, width = 124) draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2) change_color(system_color) draw_text(x, y, 30, line_height, Vocab::mp_a) draw_current_value(x, y, width, actor.mp, mp_color(actor), normal_color) end def draw_actor_tp(actor, x, y, width = 124) draw_gauge(x, y, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2) change_color(system_color) draw_text(x, y, 30, line_height, Vocab::tp_a) change_color(tp_color(actor)) draw_text(x + width - 42, y, 42, line_height, actor.tp.to_i, 2) end def draw_gauge(x, y, width, rate, color1, color2) fill_w = (width* rate).to_i gauge_y = y + 10 contents.fill_rect(x, gauge_y, width, 8, gauge_back_color) contents.gradient_fill_rect(x, gauge_y, fill_w, 8, color1, color2) end def draw_current_value(x, y, width, current, color1, color2) change_color(color1) xr = x + width if width < 96 draw_text(xr - 40, y, 42, line_height, current, 2) else draw_text(x + 30, y, width - 30, line_height, current, 2) end end end class Window_BattleEnemy < Window_Selectable alias midi_initialize initialize def initialize(info_viewport, spriteset) midi_initialize(info_viewport) @spriteset = spriteset end def col_max return 1 end alias midi_show show def show select(0) create_cursor @cursor.show self end alias midi_hide hide def hide @cursor.hide @cursor.dispose super end def update super @cursor.update(enemy) if self.active && @cursor end def cursor_right(wrap = false) cursor_down(wrap) end def cursor_left(wrap = false) cursor_up(wrap) end def dispose super @cursor.dispose if @cursor end def create_cursor @cursor = Battle_Cursor.new(@spriteset.viewport1, @spriteset) end end class Spriteset_Battle attr_reader :viewport1 def get_enemy_sprite(battler) ary = @enemy_sprites.select {|sprite| battler.equal?(sprite.battler)} if ary sprite = ary[0] end return sprite end end class Battle_Cursor def initialize(viewport, spriteset) init_cursor @viewport = viewport create_text(nil) @spriteset = spriteset hide end def init_cursor @alpha_value = 64 @alpha_base = 64 @color_ascending = true @prev_enemy = nil @color_base = Color.new(255,255,255) end def update(enemy) if enemy enemy_sprite = @spriteset.get_enemy_sprite(enemy) if !enemy.equal?(@prev_enemy) if @prev_enemy restore_color(@prev_enemy) end @alpha_value = @alpha_base dispose @prev_enemy = enemy create_text(enemy) end if @sprite.visible if @color_ascending @alpha_value += 3 else @alpha_value -= 3 end if @alpha_value >= 160 @alpha_value = 160 @color_ascending = false elsif @alpha_value <= 64 @alpha_value = 64 @color_ascending = true end enemy_sprite.color = @color_base enemy_sprite.color.alpha = @alpha_value sub_y = 0 if enemy_sprite sub_y = enemy_sprite.bitmap.height end @sprite.x = enemy.screen_x final_y = enemy.screen_y - sub_y final_y = 26 if final_y < 26 @sprite.y = final_y end end end def restore_color(enemy) enemy_sprite = @spriteset.get_enemy_sprite(enemy) if enemy if enemy_sprite enemy_sprite.color.alpha = 0 end end def create_text(enemy) @sprite = ::Sprite.new(@viewport) bitmap = Bitmap.new(220, 26) @sprite.bitmap = bitmap @sprite.ox = bitmap.width / 2 @sprite.oy = bitmap.height @sprite.x = 0 @sprite.y = 0 @sprite.z += 99999 if enemy text = enemy.original_name bitmap.font.color.set(Color.new(0,0,0)) bitmap.draw_text(2, 2, 220, 26, text, 1) bitmap.font.color.set(Color.new(255,255,255)) bitmap.draw_text(0, 0, 220, 26, text, 1) end end def show @sprite.visible = true end def hide @sprite.visible = false restore_color(@prev_enemy) end def dispose @sprite.dispose unless @sprite.disposed? end end class Scene_Battle < Scene_Base def update_info_viewport move_info_viewport(0) if @party_command_window.active move_info_viewport(112) if @actor_command_window.active move_info_viewport(64) if BattleManager.in_turn? end def create_status_window @status_window = Window_BattleStatus.new @status_window.x = 112 end def create_enemy_window @enemy_window = Window_BattleEnemy.new(@info_viewport, @spriteset) @enemy_window.set_handler(:ok, method(:on_enemy_ok)) @enemy_window.set_handler(:cancel, method(:on_enemy_cancel)) end alias midi_select_enemy_selection select_enemy_selection def select_enemy_selection midi_select_enemy_selection @skill_window.hide @item_window.hide end def on_enemy_cancel @enemy_window.hide case @actor_command_window.current_symbol when :attack @actor_command_window.activate when :skill @skill_window.show @skill_window.activate when :item @item_window.show @item_window.activate end end end Bugs e Conflitti Noti N/A Altri dettagli Lo script è sotto licenza Creative Commons BY-NC-SA 3.0. Quindi è possibile usarlo e distribuirlo liberamente purché: - venga creditato l'autore; - non venga utilizzato con finalità commerciali; - tutti le opere derivate e/o basate su esso siano distribuite con la stessa licenza o con licenza compatibile. Edited March 14, 2014 by Midi Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
Guardian of Irael Posted February 23, 2014 Share Posted February 23, 2014 Altro ottimo scriptino con le preziose aggiunte di nome mostro selezionato e face! ^ ^ Continua a riempirci così! E:3 (\_/)(^ ^) <----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...
EmanueleSpeed Posted March 14, 2014 Share Posted March 14, 2014 Ciao Midi, è possibile aggiungere il portrait invece del face nel Window_BattleStatus nella parte della sezionedef draw_basic_area(rect, actor, offset_x)draw_actor_face(actor, rect.x + offset_x, rect.y, true) (Qui)draw_actor_name(actor, rect.x + offset_x, rect.y, 100)draw_actor_icons(actor, rect.x + offset_x, rect.y + 16)endEssa dovrebbe comprendere la selezione target (party) quando usi una cura sul personaggio.Ho provato ad aggiungere draw_actor_portrait(actor, rect.x + offset_x, rect.y, true)sono andato in window_base aggiungendo def draw_portrait(portrait_name, portrait_index, x, y, enabled = true) bitmap = Cache.portrait(portrait_name) rect = Rect.new(portrait_index % 4 * 96, portrait_index / 4 * 96, 96, 96) contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha) bitmap.dispose end def draw_actor_portrait(actor, x, y, enabled = true) draw_portrait(actor.portrait_name, actor.portrait_index, x, y, enabled) end poi in game_actor attr_reader :potrait_name attr_reader :potrait_index ma continua a dare errore ma in % >_< . Dove sbaglio xd? 1° Progetto http://www.rpg2s.net/forum/index.php/topic/17667-cheran-e-il-libro-magico/Genere : JrpgTitolo: Cheran e il libro magicoProgramma: Rpg Maker Vx AcePercentuale completamento: 5%Orario di gioco attuale 1h 20m__________________________ 2° Progetto a presto il link al progetto...Genere : JrpgTitolo: Kyros e la linfa magicaProgramma: Rpg Maker XpPrime Immagini (Consigli & Modifiche): http://www.rpg2s.net/forum/index.php/topic/17980-immagini-battaglia-e-altro-consiglimodifiche-ecc/ Link to comment Share on other sites More sharing options...
Midi Posted March 14, 2014 Author Share Posted March 14, 2014 Che errore ti dà di preciso? Non riesco a capire... (magari sono io che sono gnucco...). Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
nomorehero Posted March 14, 2014 Share Posted March 14, 2014 (edited) Lo script è sotto licenza Creative Commons BY-NC-SA 3.0. Quindi è possibile usarlo e distribuirlo liberamente purché:- venga creditato l'autore;- non venga utilizzato con finalità commerciali;- tutti le opere derivate e/o basate su esso siano distribuite con la stessa licenza o con licenza compatibile. Però permettimi un appunto: Molti utenti non hanno idea di cosa sia effettivmente una licenza CC, ne sanno come distribuire opere con tale licenza ed in buona fede potrebbero pubblicare il gioco senza alcuna licenza.Quindi, permettimi di consigliarti di spiegare meglio come e cosa significa ottenere una licenza compatibile perchè per quanto il tuo modo di esporlo sia corretto, sarebbe un peccato se qualche utente si ritrovasse impelagato in beghe legali per aver pasticciato con un maker... Detto questo:Ottimo script, complimenti. Edited March 14, 2014 by nomorehero http://i.imgur.com/NwhgV4X.png Link to comment Share on other sites More sharing options...
EmanueleSpeed Posted March 14, 2014 Share Posted March 14, 2014 Che errore ti dà di preciso? Non riesco a capire... (magari sono io che sono gnucco...).Dava errore nella % mi riportava a questo codice(portrait_index % 4 * 96, portrait_index / 4 * 96, 96, 96)togliendo la % poi dava errore in / togliendolo tutto n'altro errore che non ricordo >_< (sicuramente al 100% che i codici che ho utilizzato sono sbagliati).Comunque utilizzando questo script, almeno nel mio gioco inizia a laggare di brutto.In un progetto originale invece è tutto regolare :) . Il tuo script è perfetto, il mio problema sta nel far apparire il portrait (sò inesperto e gnucco io xd). 1° Progetto http://www.rpg2s.net/forum/index.php/topic/17667-cheran-e-il-libro-magico/Genere : JrpgTitolo: Cheran e il libro magicoProgramma: Rpg Maker Vx AcePercentuale completamento: 5%Orario di gioco attuale 1h 20m__________________________ 2° Progetto a presto il link al progetto...Genere : JrpgTitolo: Kyros e la linfa magicaProgramma: Rpg Maker XpPrime Immagini (Consigli & Modifiche): http://www.rpg2s.net/forum/index.php/topic/17980-immagini-battaglia-e-altro-consiglimodifiche-ecc/ Link to comment Share on other sites More sharing options...
Midi Posted March 14, 2014 Author Share Posted March 14, 2014 @EmanueleSpeed:Hmm... così a una rapida occhiata quella riga mi sembra a posto.Postami l'errore completo, così come esce nella finestrella di popup. Forse riesco a risalire al problema. @nomorehero: Molti utenti non hanno idea di cosa sia effettivmente una licenza CC, ne sanno come distribuire opere con tale licenza ed in buona fede potrebbero pubblicare il gioco senza alcuna licenza.Quindi, permettimi di consigliarti di spiegare meglio come e cosa significa ottenere una licenza compatibile perchè per quanto il tuo modo di esporlo sia corretto, sarebbe un peccato se qualche utente si ritrovasse impelagato in beghe legali per aver pasticciato con un maker... Hai perfettamente ragione, e forse dovrei spiegare meglio cos'è una licenza CC... ma forse no. :)Conta che comunque nello script c'è il link alla pagina della licenza. Metto subito in chiaro una cosa: se un utente usasse il mio script fuori dai limiti della licenza ma in assoluta buona fede (vuoi per ignoranza, vuoi per scarsa esperienza) non mi metterei certo in testa di trascinarlo davanti a un giudice.Per cosa poi? Per uno script che mi è costato sì e no 2 ore di lavoro e che avrei realizzato comunque perché utile per il mio progetto? :) Un breve chiarimento e gli concederei una deroga alla licenza. Amici come prima. Mi rendo conto che molti maker realizzano giochi più per passatempo che altro. Non è certo per loro che ho messo i miei lavori sotto CC. Ma per chi invece ha intenzione di realizzare un gioco "seriamente", non c'è santo che tenga: se vuoi distribuire un gioco (e magari venderlo) DEVI sapere come funzionano le licenze, e devi conoscere cosa puoi e non puoi fare con una "CC BY-NC-SA". E non sono io a dover fornire informazioni, bensì chi utilizza lo script a doversi informare. :) Infine una nota.Se si copia-incolla lo script per intero nel progetto (come fanno il 99,9% dei makeratori), si copia anche il riferimento alla licenza.Dal punto di vista legale, se non ricordo male, basta quel riferimento per far diventare l'intero progetto CC BY-NC-SA.Se poi si copia lo script cancellando appositamente il riferimento alla licenza, be'... quello è un caso di "mala fede". E lì si che mi potrebbe venir voglia di trascinare qualcuno in tribunale... ^.^ Comunque forse in parte hai ragione.Credo che inserirò un link alla pagina della Creative Commons direttamente nel primo post. Così chi avrà voglia potrà andarsi a leggere la licenza direttamente, per capire come funziona. :) Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
nomorehero Posted March 14, 2014 Share Posted March 14, 2014 Si, infatti come dicevo tu lo hai esposto correttamente, ma sai com'è...Meglio prevenire che curare! :D http://i.imgur.com/NwhgV4X.png Link to comment Share on other sites More sharing options...
Midi Posted March 14, 2014 Author Share Posted March 14, 2014 Si, infatti come dicevo tu lo hai esposto correttamente, ma sai com'è...Meglio prevenire che curare! :D Lo so è capisco il tuo punto di vista, ma se per ogni script che pubblico dovessi spiegare anche cos'è e come funziona la CC... mi passa la voglia di pubblicare. xD Io conto sul fatto che l'utente trovi lo script, legga la scritta "licenza" e si vada a informare...Sono troppo ottimista? xD Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
EmanueleSpeed Posted March 14, 2014 Share Posted March 14, 2014 Allora l'ho riprovato su un progetto con script originali.Questo è quello che ho fatto: Window_BattleStatushttp://imageshack.com/a/img849/7122/2j0t.jpg Window_Basehttp://imageshack.com/a/img23/1835/rdvm.jpghttp://imageshack.com/a/img849/3962/qt4i.jpg Game_Actorhttp://imageshack.com/a/img21/5518/mjfe.jpghttp://imageshack.com/a/img32/6892/b6hn.jpghttp://imageshack.com/a/img43/1806/pvxu.jpg Errorehttp://imageshack.com/a/img819/6695/b7ex.jpg 1° Progetto http://www.rpg2s.net/forum/index.php/topic/17667-cheran-e-il-libro-magico/Genere : JrpgTitolo: Cheran e il libro magicoProgramma: Rpg Maker Vx AcePercentuale completamento: 5%Orario di gioco attuale 1h 20m__________________________ 2° Progetto a presto il link al progetto...Genere : JrpgTitolo: Kyros e la linfa magicaProgramma: Rpg Maker XpPrime Immagini (Consigli & Modifiche): http://www.rpg2s.net/forum/index.php/topic/17980-immagini-battaglia-e-altro-consiglimodifiche-ecc/ Link to comment Share on other sites More sharing options...
Midi Posted March 14, 2014 Author Share Posted March 14, 2014 (edited) Dunque, vado a occhio...Le righe 62 e 63 di Game_Actor non dovrebbero essere valide.Quando scrivi actor.portrait_name actor.portrait_index stai chiamando il metodo "actor" di Game_Actor, il quale restituisce un oggetto di questo tipo: $data_actors[@actor_id] Tutti gli oggetti contenuti in $data_actors sono degli RPG::Actor... ovvero gli oggetti "standard" che l'RGSS3 usa per definire gli actor di gioco.Puoi provare a cercare RPG::Actor nella guida premendo F1.Ti troverai una classe così definita class RPG::Actor < RPG::BaseItem def initialize super @nickname = '' @class_id = 1 @initial_level = 1 @max_level = 99 @character_name = '' @character_index = 0 @face_name = '' @face_index = 0 @equips = [0,0,0,0,0] end attr_accessor :nickname attr_accessor :class_id attr_accessor :initial_level attr_accessor :max_level attr_accessor :character_name attr_accessor :character_index attr_accessor :face_name attr_accessor :face_index attr_accessor :equips end Come puoi notare, non esiste nessun "portrait_name" o "portrait_index" in questa classe.Quindi quando chiami "actor.portrait_name" o "actor.portrait_index" ti va in errore. Dovresti estendere la classe RPG::Actor aggiungendo i campi portrait_name e portrait_index... ma non è facile, perché mentre gli altri campi della classe vengono "riempiti automaticamente" dal tool tramite quello che scrivi nelle pagine dell'editor, questi campi nuovi non sono previsti, quindi dovresti andare a inizializzarli tu per ogni oggetto RPG::Actor ogniqualvolta questi oggetti vengono caricati (vedi "DataManager", metodo "self.load_normal_database"). È un po' complicato, ma spero di essermi spiegato chiaramente... :| Edited March 14, 2014 by Midi Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
nomorehero Posted March 25, 2014 Share Posted March 25, 2014 (edited) Domandina: Sarebbe possibile inserire, anzichè il nome sopra al nemico selezionato, un'icona X, magari con un effetto di movimento?Esempio: La classica manina che indica dei vari FF. Edited March 25, 2014 by nomorehero http://i.imgur.com/NwhgV4X.png Link to comment Share on other sites More sharing options...
Midi Posted March 25, 2014 Author Share Posted March 25, 2014 (edited) Per la manina senza effetto di movimento è una modifica molto rapida. Metti la tua icona/manina nella cartella Graphics/System del gioco, chiamandola "cursor.png". Dopodiché sostituisci questa porzione dello script def create_text(enemy) @sprite = ::Sprite.new(@viewport) bitmap = Bitmap.new(220, 26) @sprite.bitmap = bitmap @sprite.ox = bitmap.width / 2 @sprite.oy = bitmap.height @sprite.x = 0 @sprite.y = 0 @sprite.z += 99999 if enemy text = enemy.original_name bitmap.font.color.set(Color.new(0,0,0)) bitmap.draw_text(2, 2, 220, 26, text, 1) bitmap.font.color.set(Color.new(255,255,255)) bitmap.draw_text(0, 0, 220, 26, text, 1) end end con questa: def create_text(enemy) @sprite = ::Sprite.new(@viewport) bitmap = Cache.system("cursor") @sprite.bitmap = bitmap @sprite.ox = bitmap.width / 2 @sprite.oy = bitmap.height @sprite.x = 0 @sprite.y = 0 @sprite.z += 99999 end Non ho provato, ma dovrebbe funzionare. La manina animata però richiede una modifica più sostanziale della classe Battle_Cursor, che andrebbe poi ritestata.Attualmente mi spiace ma non penso di avere il tempo fisico di farlo... :| Edited March 25, 2014 by Midi Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
Alkaest Posted March 25, 2014 Share Posted March 25, 2014 Nel mio progetto alcuni personaggi hanno solo la barra di HP ed Mp, altri solo quella di HP e TP ed altri ancora addirittura solo gli HP. Finora usavo questo script: #=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です== # # Change Gauge Display (2.0) # 29/1/2012 # By Pacman # This script allows you to change if TP is displayed throughout the game. You # can also set actors to not have their TP, HP or MP gauges drawn in battle. # To change the displaying of TP, use the following script call: # change_tp_display(true / false) # Putting the argument as true will make the TP display, false will make it not # display. Having no argument will simply toggle it. # To have an actor's TP not drawn in battle, place the following tag in their # notebox: # \no_tp_display # Similarly, to have an actor's HP or MP not drawn in battle, place the # following tags in their notebox, respectively: # \no_hp_display # \no_mp_display # #=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です== #============================================================================== # ** RPG::Actor #------------------------------------------------------------------------------ # Data class for actors. Subclass of RPG::BaseItem. Some Japanese twaddle. #============================================================================== class RPG::Actor < RPG::BaseItem #-------------------------------------------------------------------------- # * Don't display actor's TP? #-------------------------------------------------------------------------- def no_tp_display? return !self.note[/\\no[_ ]?tp[_ ]?display/i].nil? end #-------------------------------------------------------------------------- # * Don't display actor's MP? #-------------------------------------------------------------------------- def no_mp_display? return !self.note[/\\no[_ ]?mp[_ ]?display/i].nil? end #-------------------------------------------------------------------------- # * Don't display actor's HP? #-------------------------------------------------------------------------- def no_hp_display? return !self.note[/\\no[_ ]?hp[_ ]?display/i].nil? end end #============================================================================== # ** Game_System #------------------------------------------------------------------------------ # Something in Japanese, desu desu desu. #============================================================================== class Game_System #-------------------------------------------------------------------------- # Puclic Instance Variables no desu #-------------------------------------------------------------------------- attr_accessor :opt_display_tp #-------------------------------------------------------------------------- # Alias listing desu #-------------------------------------------------------------------------- alias tp_change_init initialize #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(*args) # Desu @opt_display_tp = $data_system.opt_display_tp tp_change_init(*args) end end #============================================================================== # ** Game_Interpreter #------------------------------------------------------------------------------ # どのように私はこの日本殴り書きを読むのですか desu? #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # * Alter displaying of TP # boo : Argument to decide the state of TP. If left out, desu. #-------------------------------------------------------------------------- def change_tp_display(boo = nil) $game_system.opt_display_tp = boo == nil ? !$game_system.opt_display_tp : boo end end #=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ # ** Window_BattleStatus #!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~ # です です です です です です です です です です です です です です です です です です です #=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ class Window_BattleStatus < Window_Selectable #-------------------------------------------------------------------------- # * Draw Actor Gauges です #-------------------------------------------------------------------------- def draw_gauge_area(rect, actor, *a) if $game_system.opt_display_tp && !actor.actor.no_tp_display? if actor.actor.no_mp_display? && !actor.actor.no_hp_display? draw_gauge_area_without_mp(rect, actor, *a) elsif actor.actor.no_hp_display? && !actor.actor.no_mp_display? draw_gauge_area_without_hp(rect, actor, *a) elsif actor.actor.no_hp_display? && actor.actor.no_mp_display? draw_gauge_area_without_mp_hp(rect, actor, *a) else draw_gauge_area_with_tp(rect, actor, *a) end else if actor.actor.no_mp_display? && !actor.actor.no_hp_display? draw_gauge_area_without_tp_mp(rect, actor, *a) elsif actor.actor.no_hp_display? && !actor.actor.no_mp_display? draw_gauge_area_without_tp_hp(rect, actor, *a) elsif actor.actor.no_hp_display? && actor.actor.no_mp_display? draw_gauge_area_blank(rect, actor, *a) else draw_gauge_area_without_tp(rect, actor, *a) end end end #-------------------------------------------------------------------------- # * Draw without MP #-------------------------------------------------------------------------- def draw_gauge_area_without_mp(rect, actor) draw_actor_hp(actor, rect.x + 0, rect.y, 134) draw_actor_tp(actor, rect.x + 144, rect.y, 76) end #-------------------------------------------------------------------------- # * Draw without HP #-------------------------------------------------------------------------- def draw_gauge_area_without_hp(rect, actor) draw_actor_mp(actor, rect.x + 0, rect.y, 134) draw_actor_tp(actor, rect.x + 144, rect.y, 76) end #-------------------------------------------------------------------------- # * Draw without TP and HP #-------------------------------------------------------------------------- def draw_gauge_area_without_tp_hp(rect, actor) draw_actor_mp(actor, rect.x + 0, rect.y, rect.width) end #-------------------------------------------------------------------------- # * Draw without MP and HP #-------------------------------------------------------------------------- def draw_gauge_area_without_mp_hp(rect, actor) draw_actor_tp(actor, rect.x + 0, rect.y, rect.width) end #-------------------------------------------------------------------------- # * Draw without TP and MP #-------------------------------------------------------------------------- def draw_gauge_area_without_tp_mp(rect, actor) draw_actor_hp(actor, rect.x + 0, rect.y, rect.width) end #-------------------------------------------------------------------------- # * Draw blank (useless method ;]) #-------------------------------------------------------------------------- def draw_gauge_area_blank(*a) end end $imported ||= {} $imported[:pac_gauge_change] = [2.0] #=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です== # # END OF SCRIPT. です. # #=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です=です== Però pare che il tuo se ne infischi e mi inserisca comunque entrambe le barre,E' possibile renderli compatibili (o includere un opzione simile nel tuo script)? Grazie per l'attenzione Link to comment Share on other sites More sharing options...
Midi Posted March 26, 2014 Author Share Posted March 26, 2014 Il mio script era pensato per interagire solo con il BS standard, non con eventuali add-on. :)E siccome il BS standard non prevede l'assenza della barra MP, se è presente la barra TP disegna sia la prima che la seconda. I due script dovrebbero essere compatibili, però forse le barre non vengono disegnate correttamente.Devi mettere il mio script SOPRA il tuo. Dopodiché nel tuo caso devi provare a modificare questa porzione nel tuo script: #-------------------------------------------------------------------------- # * Draw without MP #-------------------------------------------------------------------------- def draw_gauge_area_without_mp(rect, actor) draw_actor_hp(actor, rect.x + 0, rect.y, 134) draw_actor_tp(actor, rect.x + 144, rect.y, 76) end #-------------------------------------------------------------------------- # * Draw without HP #-------------------------------------------------------------------------- def draw_gauge_area_without_hp(rect, actor) draw_actor_mp(actor, rect.x + 0, rect.y, 134) draw_actor_tp(actor, rect.x + 144, rect.y, 76) end #-------------------------------------------------------------------------- # * Draw without TP and HP #-------------------------------------------------------------------------- def draw_gauge_area_without_tp_hp(rect, actor) draw_actor_mp(actor, rect.x + 0, rect.y, rect.width) end #-------------------------------------------------------------------------- # * Draw without MP and HP #-------------------------------------------------------------------------- def draw_gauge_area_without_mp_hp(rect, actor) draw_actor_tp(actor, rect.x + 0, rect.y, rect.width) end #-------------------------------------------------------------------------- # * Draw without TP and MP #-------------------------------------------------------------------------- def draw_gauge_area_without_tp_mp(rect, actor) draw_actor_hp(actor, rect.x + 0, rect.y, rect.width) end modificando i numeri che trovi, rendendoli simili a quelli nel mio script: def draw_gauge_area_with_tp(rect, actor, offset_x) draw_actor_hp(actor, rect.x + offset_x, rect.y + 66, 96) draw_actor_mp(actor, rect.x + offset_x, rect.y + 78, 46) draw_actor_tp(actor, rect.x + 50 + offset_x, rect.y + 78, 46) end def draw_gauge_area_without_tp(rect, actor, offset_x) draw_actor_hp(actor, rect.x + offset_x, rect.y + 66, 96) draw_actor_mp(actor, rect.x + offset_x, rect.y + 78, 96) end I numeri indicano le posizione delle barre nella finestra.Dovrai farti un po' di tentativi, io attualmente non riesco a lavorarci su... :| Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
Alkaest Posted March 26, 2014 Share Posted March 26, 2014 Niente, continua a darmi questo errore: http://i.imgur.com/HnGFkJC.jpg Onestamente, non so neanche che vuol dire... Link to comment Share on other sites More sharing options...
Midi Posted March 26, 2014 Author Share Posted March 26, 2014 Che sono incompatibili, perché il mio script prevede anche una variabile "offset_x" che il tuo script non prevede. Niente, andrebbe modificato il mio script ma onestamente non penso di aver tempo di farlo. Mi spiace. Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
Guardian of Irael Posted March 26, 2014 Share Posted March 26, 2014 Togliendo brutalmente la variabile offset in tutte le occorrenze succedono tanti casini, Midi? D: (\_/)(^ ^) <----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...
Midi Posted March 26, 2014 Author Share Posted March 26, 2014 Il fatto è che non basta. Andrebbero modificati i punti in cui vengono chiamati i metodi "draw_gauge_<xyz>".Non è una roba complessa, ma richiede tempo. E altro tempo per essere testata. Aurora Dreaming The Dreamer (v. 1.1) - standalone 72 MB - Il prequel ad Aurora Dreaming segui il dev-diary ufficiale di Aurora Dreaming! Bacheca Premi http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png Link to comment Share on other sites More sharing options...
Guardian of Irael Posted March 26, 2014 Share Posted March 26, 2014 Ah capisco, volevo tentare una modifica bruta dopo aver letto il numero errato di argomenti, ma allora mi sto fermo che sembra essere più complessa la cosa! 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...
Alkaest Posted March 26, 2014 Share Posted March 26, 2014 Ehehe... Anche io di solito modifico a furi di canc... Grazie lo stesso comunque, vedrò di arrangiarmi in modo diverso! Link to comment Share on other sites More sharing options...
Haerille Posted September 5, 2014 Share Posted September 5, 2014 (edited) Questo script mi piace tantissimo, semplice ma fa perfettamente il suo dovere :) Edited September 5, 2014 by Haerille http://s28.postimg.org/lxt2xw69p/FT_Logo.pngClicca sul banner per vedere il topic del progetto! 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