Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

Cerca nel Forum

Showing results for tags 'Interfacce'.



More search options

  • Search By Tags

    Tag separati da virgole.
  • Search By Author

Tipo di contenuto


Forums

  • Comunità
    • Cancello di Ingresso
    • Bacheca
    • Colisseum
  • DevTeam
    • CyberTeam
  • Giochi e Progetti RPG Maker
    • Resa Grafica
    • Concept e Bozze
    • Progetti
    • Giochi RPG Maker Completi e Demo
    • Il Making Oltreoceano
  • Assistenza e Supporto RPG Maker
    • Biblioteca
    • BrainStorming
    • Chiedi Aiuto alla Comunity
    • RPG Maker Scripting
    • PlugIn e AddOn RPG Maker
    • Musica e Suoni
    • Risorse Grafiche RPG Maker
    • Mak - Resources
  • Beyond Making - Oltre RPG Maker
    • Altri Tool

Find results in...

Find results that contain...


Data di creazione

  • Start

    End


Ultimo Aggiornamento

  • Start

    End


Filter by number of...

Iscritto

  • Start

    End


Gruppo


AIM


Indirizzo Web


ICQ


Yahoo


Skype


Location


Interests

Trovato 52 risultati

  1. Nome Script: Nome Area nel Menù Versione: 1.0 Autore/i: Ally Informazioni: Questo script permette di visualizzare nel menù di gioco,il nome dell'Area che creerete in una vostra mappa. Istruzioni: Inserite lo script sotto Material. Script: #================================================= # Name_Area #================================================= # Data di creazione: 26/10/2010 # Versione: 1.0 #================================================= #------------------------------------------------- # Autore: Ally # http://www.rpgmkr.net/forum # E' vietato distribuire lo script su altri forum # senza il consenso dell'autore. #------------------------------------------------- module Name_Area #Testo che appare quando sei nell'Area Area = "Area" #Testo che appare quando sei fuori dall'Area Locazione = "Locazione" end class Window_Area < Window_Base def initialize(x, y) super(x, y, 160, WLH * 2 + 40) refresh end def refresh @area = $game_player.area_corrente self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, -4, 120, 32, Name_Area::Area) if [email protected]? self.contents.draw_text(0, -4, 120, 32, Name_Area::Locazione) if @area.nil? self.contents.font.color = normal_color text = @area.name if [email protected]? text = $game_map.map_name if @area.nil? self.contents.draw_text(-4, 34, 120, WLH, text, 2) end end #-------------------------------------------- class Game_Map def map_name if @map_name.nil? map_info = load_data("Data/MapInfos.rvdata") @map_name = map_info[@map_id].name end return @map_name end end #-------------------------------------------- class Game_Player def area_corrente aarea = nil for area in $data_areas.values if in_area?(area) aarea = area end end return aarea end end #-------------------------------------------- class Scene_Menu < Scene_Base alias area_name_init start unless $@ def start area_name_init @areaname_window = Window_Area.new(0, Graphics.height) @areaname_window.y -= @areaname_window.height+@gold_window.height end alias area_name_term terminate unless $@ def terminate @areaname_window.dispose area_name_term end alias area_name_updt update unless $@ def update area_name_updt @areaname_window.update end end Incompatibilità: Per adesso testato solo sul menù di default.
  2. Nome Script: Scroll Descrizione Testo Versione: N/D Autore/i: BigEd781 Informazioni: Ora è possibile usare tutto lo spazio che l'editor ti dà per la di abilità e oggetti. In pratica nella finestra di Aiuto se il testo è troppo lungo questo incomincerà a scorrere. E' possibile disattivare questa opzione. Istruzioni: Inserite lo script sopra Main. Per cambiare le impostazioni, fate riferimento a questi codici: @@SCROLL_DELAY = 3 # seconds @@SCROLL_SPEED = 1 # pixels / frame (60 frames / sec) @@SHOW_ICONS = true # display icons for items and skills? Script: class Sprite def draw_icon(icon_index, x, y, enabled = true) bitmap = Cache.system("Iconset") rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24) self.bitmap.blt(x, y, bitmap, rect, enabled ? 255 : 128) end end class Window_Help < Window_Base @@SCROLL_DELAY = 2 # seconds @@SCROLL_SPEED = 1 # pixels / frame (60 frames / sec) @@SHOW_ICONS = true # display icons for items and skills? alias :scroll_init :initialize def initialize(*args) scroll_init(*args) @internal_frame_count = 0 @text_is_long = false @icon_sprite = Sprite.new @icon_sprite.x = self.x + 16 @icon_sprite.y = self.y + 16 @icon_sprite.z = self.z + 1 @icon_sprite.bitmap = Bitmap.new(32, 32) self.windowskin = get_altered_skin end def get_altered_skin default = Cache.system('Window') window = Bitmap.new(default.width, default.height) window.blt(0, 0, default, default.rect) window.fill_rect(80, 16, 32, 32, Color.new(0,0,0,0)) return window end def set_text(text, align = 0) unless (text == @text) && (align == @align) @internal_frame_count = 0 txt_width = self.contents.text_size(text).width @text_is_long = txt_width > (self.width - 32) self.contents.dispose w = @text_is_long ? (txt_width + self.width - 32) : self.width - 32 self.contents = Bitmap.new(w, self.height - 32) self.contents.clear self.ox = 0 self.contents.font.color = normal_color i = get_icon_index(text) unless i.nil? draw_sprite(i, 0, 0) self.contents.draw_text(32, 0, self.contents.width, WLH, text, align) else @icon_sprite.bitmap.clear self.contents.draw_text(4, 0, self.contents.width, WLH, text, align) end @text = text @align = align end end def draw_sprite(icon_index, x, y) @icon_sprite.bitmap.clear # get the background image at 'rect' # so that text does not appear under the icon bitmap = Graphics.snap_to_bitmap rect = Rect.new(@icon_sprite.x, @icon_sprite.x, @icon_sprite.bitmap.width, @icon_sprite.bitmap.height) @icon_sprite.bitmap.blt(x, y, bitmap, rect) @icon_sprite.draw_icon(icon_index, x, y) end def get_icon_index(desc) return nil unless @@SHOW_ICONS $data_items.each do |item| return item.icon_index if !item.nil? && item.description == desc end $data_weapons.each do |weapon| return weapon.icon_index if !weapon.nil? && weapon.description == desc end $data_armors.each do |armor| return armor.icon_index if !armor.nil? && armor.description == desc end $data_skills.each do |skill| return skill.icon_index if !skill.nil? && skill.description == desc end return nil end def update super @internal_frame_count += 1 if ((@internal_frame_count > @@SCROLL_DELAY * 60) && @text_is_long) if self.ox >= (self.contents.width - self.width + 48) self.ox = 0 @internal_frame_count = 0 else self.ox += @@SCROLL_SPEED end end end def dispose super @icon_sprite.dispose end end
  3. Nome Script: Cambio face in base agli HP Versione: N/D Autore/i: Jet10985 Informazioni: Lo script fa si che i face dei personaggi cambino a seconda di quanti HP hanno. Istruzioni: Inserite lo script sotto Material. Istruzioni all'interno dello script. Script: #=============================================================================== # Dynamic Face Changing # By Jet10985 (Jet) # Request By: Kyriaki #=============================================================================== # This script will allow you to set up conditions for an actors face to be # changed automatically. # This script has: 1 customization option. #=============================================================================== # Overwritten Methods: # None #------------------------------------------------------------------------------- # Aliased methods: # Game_System: initialize #=============================================================================== =begin To lock an actor's face: To lock an actor's face, which means none of the below conditionals will be checked, so the face will appear as whatever was last set by an event, use this in an Event Script... command lock_actor_face(actor_id) actor_id should be the database id of the actor whose face should be locked. -------------------------------------------------------------------------------- To unlock an actor's face: Follow the same instructions as above, but with this command instead: unlock_actor_face(actor_id) =end module JetDynamicFaces #============================================================================= # How to configure: #============================================================================= # Follow this format: actor_id => ["Face Name", index, :type, condition] #----------------------------------------------------------------------------- # actor_id is the database id of the actor in the database. # More than 1 condition can be used per actor, you should NOT use the same # id in the config more than once. #----------------------------------------------------------------------------- # "Face name" is the name of the face file in the Graphic/Faces folder # You may also use :face instead, which will use their currently set face, # as set by the database or event. #----------------------------------------------------------------------------- # index is the index of the face in the picture above #----------------------------------------------------------------------------- # :type is the type of conditional that it will check for. It can be: # :hp which will check if their hp is below a percentage. # :mp which will check if their mp is below a percentage. # :state which will check if a state is applied to the actor. #----------------------------------------------------------------------------- # condition is what should be checked from the :type # If type is :hp or :mp, this should be the percentage to check. # If type is :state, this should be the id of the state to check for. #----------------------------------------------------------------------------- # Please note, the order of the conditionals will determine priority. # The face will be from whichever conditional is matched last, so low # priority conditions should be first. #----------------------------------------------------------------------------- ACTOR_DYNAMIC_FACES_CONDITIONS = { 1 => [["People1", 2, :hp, 75], ["People1", 1, :hp, 50], ["People1", 0, :hp, 25]], 2 => [[:face, 0, :mp, 25], [:face, 1, :state, 1]] } end #=============================================================================== # DON'T EDIT FURTHER UNLESS YOU KNOW WHAT TO DO. #=============================================================================== class Game_System attr_accessor :locked_actor_faces alias jet1280_initialize initialize unless $@ def initialize(*args, &block) @locked_actor_faces = [] jet1280_initialize(*args, &block) end end class Game_Actor def face_name return @face_name if $game_system.locked_actor_faces.include?(self.id) if JetDynamicFaces::ACTOR_DYNAMIC_FACES_CONDITIONS.keys.include?(self.id) jet_face_name = @face_name for cond in JetDynamicFaces::ACTOR_DYNAMIC_FACES_CONDITIONS[self.id] case cond[2] when :hp if self.hp.to_f / self.maxhp <= cond[3] / 100.0 jet_face_name = cond[0] == :face ? @face_name : cond[0] end when :mp if self.mp.to_f / self.maxmp <= cond[3] / 100.0 jet_face_name = cond[0] == :face ? @face_name : cond[0] end when :state if self.state?(cond[3]) jet_face_name = cond[0] == :face ? @face_name : cond[0] end end end return jet_face_name else return @face_name end end def face_index return @face_index if $game_system.locked_actor_faces.include?(self.id) if JetDynamicFaces::ACTOR_DYNAMIC_FACES_CONDITIONS.keys.include?(self.id) jet_face_index = @face_index for cond in JetDynamicFaces::ACTOR_DYNAMIC_FACES_CONDITIONS[self.id] case cond[2] when :hp if self.hp.to_f / self.maxhp <= cond[3] / 100.0 jet_face_index = cond[1] end when :mp if self.mp.to_f / self.maxmp <= cond[3] / 100.0 jet_face_index = cond[1] end when :state if self.state?(cond[3]) jet_face_index = cond[1] end end end return jet_face_index else return @face_index end end end class Game_Interpreter def lock_actor_face(id) unless $game_system.locked_actor_faces.include?(id) $game_system.locked_actor_faces.push(id) end end def unlock_actor_face(id) if $game_system.locked_actor_faces.include?(id) $game_system.locked_actor_faces.delete(id) end end end
  4. Nome Script: Finestra Salva - Carica Versione: 1.1 Autore/i: Melosx Informazioni: Aggiunge la possibilità di scegliere se Salvare o caricare la partita sostituendo il comando salva del menu. Istruzioni: Mettetelo sopra main e sotto Materials. Script: #============================================================================== # ** Salva/Carica #============================================================================= # Autore: Melosx # Versione: 1.1 # Data di creazione: 23-5-2011 => v1.0 # 23-5-2011 => v1.1 # # # Quando si va sul comando Salva/Carica del menù questo script fa apparire una # finestra di selezione dove si sceglie se salvare o caricare una partita. # E' possibile cambiare il nome al comando modificando il valore a NOMECOMANDO. # Se l'opzione di salvataggio viene disabilitata sarà possibile solo caricare. # # v1.1 - Feature: # - Possibilità di cambiare con facilità il nome al comando. # - Se salvataggio disabilitato si può solo caricare. # - Corretti un paio di bug. #============================================================================= module SC NOMECOMANDO = "Salva/Carica" end class Scene_Salva_Carica < Scene_Base def start super create_menu_background create_command_window end def post_start super open_command_window end def pre_terminate super close_command_window end def terminate super dispose_menu_background dispose_command_window end def update super update_menu_background @command_window.update if Input.trigger?(Input::C) if $game_system.save_disabled and @command_window.index == 0 Sound.play_buzzer return end case @command_window.index when 0 #Salva comando_salva when 1 # Carica comando_carica end elsif Input.trigger?(Input:: Sound.play_cancel $scene = Scene_Menu.new end end def create_command_window s1 = "Salva" s2 = "Carica" @command_window = Window_Command.new(172, [s1, s2]) @command_window.x = (544 - @command_window.width) / 2 @command_window.y = 208 @command_window.openness = 0 @command_window.open if $game_system.save_disabled @command_window.draw_item(0, false) end end def dispose_command_window @command_window.dispose end def open_command_window @command_window.open begin @command_window.update Graphics.update end until @command_window.openness == 255 end def close_command_window @command_window.close begin @command_window.update Graphics.update end until @command_window.openness == 0 end #-------------------------------------------------------------------------- # * Salva #-------------------------------------------------------------------------- def comando_salva Sound.play_decision $scene = Scene_File.new(true, false, false) end #-------------------------------------------------------------------------- # * Carica #-------------------------------------------------------------------------- def comando_carica Sound.play_decision $scene = Scene_File.new(false, false, false) end end #============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # * alias #============================================================================== class Scene_Menu < Scene_Base include SC alias melosx_update_command_selection update_command_selection alias melosx_create_command_window create_command_window def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = SC::NOMECOMANDO s6 = Vocab::game_end @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index if $game_party.members.size == 0 # se non ci sono giocatori in party @command_window.draw_item(0, false) # Disabilita oggetti @command_window.draw_item(1, false) # Disabilita poteri @command_window.draw_item(2, false) # Disabilita equipaggiamenti @command_window.draw_item(3, false) # Disabilita stato end end def update_command_selection if Input.trigger?(Input:: 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 end Sound.play_decision case @command_window.index when 0 $scene = Scene_Item.new when 1,2,3 start_actor_selection when 4 $scene = Scene_Salva_Carica.new when 5 $scene = Scene_End.new end end end end
  5. Nome Script: Scene_Shop MOD Versione: 1.0 Autore/i: Melosx Informazioni: Cambia la disposizione e la visualizzazione della Scene_Shop e dele Window annesse Istruzioni: Copiate o script sopra Main e sotto Maerials come al solito. Script: #============================================================================= # Scene_Shop MOD #============================================================================= # Autore: Melosx # Versione: 1.0 # Data di creazione: 4-6-2011 => v1.0 # #============================================================================= #============================================================================== # ** Scene_Shop #============================================================================== class Scene_Shop < Scene_Base def start super create_menu_background create_command_window @help_window = Window_HelpMOD.new @gold_window = Window_GoldMOD.new(384, 0) @dummy_window = Window_Base.new(0, 56, 222, 360) @buy_window = Window_ShopBuy.new(0, 56) @buy_window.active = false @buy_window.visible = false @buy_window.help_window = @help_window @sell_window = Window_ShopSell.new(0, 56, 222, 360) @sell_window.active = false @sell_window.visible = false @sell_window.help_window = @help_window @number_window = Window_ShopNumber.new(0, 56, 999) @number_window.active = false @number_window.visible = false @status_window = Window_ShopStatus.new(322, 56, 0) @status_window.visible = true @status_window.active = true end def terminate super dispose_menu_background dispose_command_window @help_window.dispose @gold_window.dispose @dummy_window.dispose @buy_window.dispose @sell_window.dispose @number_window.dispose @status_window.dispose end def update super update_menu_background @help_window.update @command_window.update @gold_window.update @dummy_window.update @buy_window.update @sell_window.update @number_window.update @status_window.update if @command_window.active update_command_selection elsif @buy_window.active update_buy_selection elsif @sell_window.active update_sell_selection elsif @number_window.active update_number_input end end def create_command_window s1 = Vocab::ShopBuy s2 = Vocab::ShopSell s3 = Vocab::ShopCancel @command_window = Window_Command.new(100, [s1, s2, s3], 1) @command_window.x = 222 @command_window.y = 56 if $game_temp.shop_purchase_only @command_window.draw_item(1, false) end end def dispose_command_window @command_window.dispose end def update_command_selection if Input.trigger?(Input:: Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::C) case @command_window.index when 0 Sound.play_decision @command_window.active = false @command_window.visible = false @dummy_window.visible = false @buy_window.width = 322 @buy_window.active = true @buy_window.visible = true @buy_window.refresh @status_window.visible = true when 1 if $game_temp.shop_purchase_only Sound.play_buzzer else Sound.play_decision @command_window.active = false @command_window.visible = false @dummy_window.visible = false @status_window.visible = true @status_window.active = true @status_window.refresh @sell_window.width = 322 @sell_window.active = true @sell_window.visible = true @sell_window.refresh end when 2 Sound.play_decision $scene = Scene_Map.new end end end def update_buy_selection @status_window.item = @buy_window.item if Input.trigger?(Input:: Sound.play_cancel @command_window.active = true @command_window.visible = true @dummy_window.visible = true @buy_window.active = false @buy_window.visible = false @status_window.visible = true @status_window.item = nil @help_window.set_text("") return end if Input.trigger?(Input::C) @item = @buy_window.item number = $game_party.item_number(@item) if @item == nil or @item.price > $game_party.gold or number == 99 Sound.play_buzzer else Sound.play_decision max = @item.price == 0 ? 99 : $game_party.gold / @item.price max = [max, 99 - number].min @buy_window.active = false @buy_window.visible = true @number_window.set(@item, max, @item.price) @number_window.active = true @number_window.visible = true @status_window.z = 0 end end end def update_sell_selection if Input.trigger?(Input:: Sound.play_cancel @command_window.active = true @command_window.visible = true @dummy_window.visible = true @sell_window.active = false @sell_window.visible = false @status_window.item = nil @help_window.set_text("") elsif Input.trigger?(Input::C) @item = @sell_window.item @status_window.item = @item if @item == nil or @item.price == 0 Sound.play_buzzer else Sound.play_decision max = $game_party.item_number(@item) @sell_window.active = false @sell_window.visible = true @number_window.set(@item, max, @item.price / 2) @number_window.active = true @number_window.visible = true end end end def update_number_input if Input.trigger?(Input:: cancel_number_input elsif Input.trigger?(Input::C) decide_number_input end end def cancel_number_input Sound.play_cancel @number_window.active = false @number_window.visible = false case @command_window.index when 0 @buy_window.active = true @buy_window.visible = true when 1 @sell_window.active = true @sell_window.visible = true @status_window.visible = true @status_window.active = true end end def decide_number_input Sound.play_shop @number_window.active = false @number_window.visible = false case @command_window.index when 0 $game_party.lose_gold(@number_window.number * @item.price) $game_party.gain_item(@item, @number_window.number) @gold_window.refresh @buy_window.refresh @status_window.refresh @buy_window.active = true @buy_window.visible = true when 1 $game_party.gain_gold(@number_window.number * (@item.price / 2)) $game_party.lose_item(@item, @number_window.number) @gold_window.refresh @sell_window.refresh @status_window.refresh @sell_window.active = true @sell_window.visible = true @status_window.visible = true @status_window.active = true end end end #============================================================================== # ** Window_HelpMOD #============================================================================== class Window_HelpMOD < Window_Base def initialize super(0, 0, 384, WLH + 32) end def set_text(text, align = 0) if text != @text or align != @align self.contents.clear self.contents.font.color = normal_color self.contents.draw_text(4, 0, self.width - 10, WLH, text, align) @text = text @align = align end end end #============================================================================== # ** Window_GoldMOD #============================================================================== class Window_GoldMOD < Window_Base def initialize(x, y) super(x, y, 160, WLH + 32) refresh end def refresh self.contents.clear draw_currency_value($game_party.gold, 4, 0, 120) draw_icon(147, 0, 0) end end #============================================================================== # ** Window_ShopBuy #============================================================================== class Window_ShopBuy < Window_Selectable def initialize(x, y) super(x, y, 222, 360) @shop_goods = $game_temp.shop_goods refresh self.index = 0 end def item return @data[self.index] end def refresh @data = [] for goods_item in @shop_goods case goods_item[0] when 0 item = $data_items[goods_item[1]] when 1 item = $data_weapons[goods_item[1]] when 2 item = $data_armors[goods_item[1]] end if item != nil @data.push(item) end end @item_max = @data.size create_contents for i in 0...@item_max draw_item(i) end end def draw_item(index) item = @data[index] number = $game_party.item_number(item) enabled = (item.price <= $game_party.gold and number < 99) rect = item_rect(index) self.contents.clear_rect(rect) draw_item_name(item, rect.x, rect.y, enabled) rect.width -= 4 self.contents.draw_text(rect, item.price, 2) draw_icon(4721, rect.x + 220, rect.y) end def update_help @help_window.set_text(item == nil ? "" : item.description) end end #============================================================================== # ** Window_ShopSell #============================================================================== class Window_ShopSell < Window_Item def initialize(x, y, width, height) super(x, y, 222, 360) @column_max = 1 end def include?(item) return item != nil end def enable?(item) return (item.price > 0) end def draw_item(index) rect = item_rect(index) self.contents.clear_rect(rect) item = @data[index] if item != nil number = $game_party.item_number(item) enabled = enable?(item) rect.width -= 4 draw_item_name(item, rect.x, rect.y, enabled) self.contents.draw_text(rect, sprintf("Q.tà:%2d", number), 2) end end =begin def update_cursor if @index < 0 # カーソルなし self.cursor_rect.empty elsif @index < @item_max # 通常 self.cursor_rect.set( 0, @index * 32, 190, 32) elsif @index >= 100 # 自分 self.cursor_rect.set(0, @index * 32, 190, 32) else # 全体 self.cursor_rect.set(0, 0, 190, @item_max * 32) end end =end end #============================================================================== # ** Window_ShopStatus #============================================================================== class Window_ShopStatus < Window_Base def initialize(x, y, z) super(x, y, 222, 360) @item = nil self.contents.font.size = 16 refresh end def refresh self.contents.clear if @item != nil number = $game_party.item_number(@item) self.contents.font.color = system_color self.contents.draw_text(4, 0, 200, WLH, Vocab::Possession) self.contents.font.color = normal_color self.contents.draw_text(4, 0, 180, WLH, number, 2) for actor in $game_party.members x = 3 y = WLH * (2 + actor.index * 3) + 12 draw_actor_parameter_change(actor, x, y) end end end def draw_actor_parameter_change(actor, x, y) return if @item.is_a?(RPG::Item) enabled = actor.equippable?(@item) self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(x + 35, y - 15, 180, WLH, actor.name) draw_actor_graphic(actor, x + 15, y + 10) if @item.is_a?(RPG::Weapon) item1 = weaker_weapon(actor) elsif actor.two_swords_style and @item.kind == 0 item1 = nil else item1 = actor.equips[1 + @item.kind] end if enabled if @item.is_a?(RPG::Weapon) atk1 = item1 == nil ? 0 : item1.atk atk2 = @item == nil ? 0 : @item.atk change = atk2 - atk1 self.contents.draw_text(x, y, 150, WLH, "Attacco", 2) else def1 = item1 == nil ? 0 : item1.def def2 = @item == nil ? 0 : @item.def change = def2 - def1 self.contents.draw_text(x, y, 150, WLH, "Difesa", 2) end end self.contents.font.color = text_color(0) if change.to_i < -1 self.contents.font.color = text_color(10) self.contents.draw_text(x, y, 180, WLH, sprintf("%+d", change), 2) else change.to_i > 1 self.contents.font.color = text_color(11) self.contents.draw_text(x, y, 180, WLH, sprintf("%+d", change), 2) end if enabled == false self.contents.font.color = text_color(10) self.contents.draw_text(x, y, 150, WLH, "Non Equip.", 2) end draw_item_name(item1, x, y + WLH - 6, enabled) end def weaker_weapon(actor) if actor.two_swords_style weapon1 = actor.weapons[0] weapon2 = actor.weapons[1] if weapon1 == nil or weapon2 == nil return nil elsif weapon1.atk < weapon2.atk return weapon1 else return weapon2 end else return actor.weapons[0] end end def item=(item) if @item != item @item = item refresh end end end #============================================================================== # ** Window_ShopNumber #============================================================================== class Window_ShopNumber < Window_Base def initialize(x, y, z) super(152, 118, 240, 180) @item = nil @max = 1 @price = 0 @number = 1 end def set(item, max, price) @item = item @max = max @price = price @number = 1 refresh end def number return @number end def refresh y = 40 self.contents.clear draw_item_name(@item, 0, 10) self.contents.font.color = normal_color self.contents.draw_text(150, y, 20, WLH, "x") self.contents.draw_text(160, y, 20, WLH, @number, 2) self.cursor_rect.set(0, y, 208, WLH) draw_currency_value(@price * @number, 4, y + WLH * 2, 190)#210 self.contents.draw_text(0, y + WLH * 2, 70, WLH, "Prezzo:", 0) draw_icon(147, 80, y + WLH * 2) end def update super if self.active last_number = @number if Input.repeat?(Input::RIGHT) and @number < @max @number = [@number + 10, @max].min end if Input.repeat?(Input::LEFT) and @number > 1 @number = [@number - 10, 1].max end if Input.repeat?(Input::UP) and @number < @max @number += 1 end if Input.repeat?(Input::DOWN) and @number > 1 @number -= 1 end if @number != last_number Sound.play_cursor refresh end end end end Demo: N/D
  6. Nome Script: Icone nel Titolo Versione: N/D Autore/i: Gab! Informazioni: Un semplice script che inserisce le icone affianco ai comandi del titolo. Istruzioni: Inserite lo script sopra main. Script: #==============================================================================# # Title Icons # #------------------------------------------------------------------------------# # Autor: Gab! # # Data: 16/06/2011 # #------------------------------------------------------------------------------# # Feito para: glorenconi # # Fábrica: PRO Coders # # # # DEMONSTRAÇÃO JÁ CONFIGURADA # #------------------------------------------------------------------------------# # VOCÊ TEM TOTAL LIBERDADE PARA MODIFICAR, DISTRIBUIR E USAR O SCRIPT, DESDE # # QUE ESSE CABEÇALHO, SEJA MANTIDO INTÁCTO. SEM NENHUMA ALTERAÇÃO. # #==============================================================================# #==============================================================================# # * CONFIGURAÇÃO # #==============================================================================# module Gab module TitleIcons ICONS = [ # ID dos ícones para a mudança # Separados por virgula [1,20,34], # Novo Jogo [2,33,31], # Continuar [3,16,25] # Sair ] CTIME = 3 # Tempo, em segundos, da troca dos ícones end end #==============================================================================# # * FIM DA CONFIGURAÇÃO # #==============================================================================# class Scene_Title alias old_st_ccw create_command_window unless $@ alias old_st_upd update unless $@ def create_command_window(*args) old_st_ccw(*args) @window_icon_index = [0]*3 tmp = -1 @window_icon_index.map!{|i| (i + 1) % Gab::TitleIcons::ICONS[tmp += 1].size} tmp = -1 @command_window.icon = @window_icon_index.map{|i| Gab::TitleIcons::ICONS[tmp += 1][i]} @command_window.refresh end def update(*args) old_st_upd(*args) if (Graphics.frame_count % (Graphics.frame_rate * Gab::TitleIcons::CTIME)) == 0 tmp = -1 @window_icon_index.map!{|i| (i + 1) % Gab::TitleIcons::ICONS[tmp += 1].size} tmp = -1 @command_window.icon = @window_icon_index.map{|i| Gab::TitleIcons::ICONS[tmp += 1][i]} @command_window.refresh end end end class Window_Command attr_accessor :icon def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32, icon = []) row_max = (commands.size + column_max - 1) / column_max if row_max == 0 super(0, 0, width, row_max * WLH + 32, spacing) @commands, @item_max, @column_max, @icon = commands, commands.size, column_max, icon refresh self.index = 0 end def draw_item(index, enabled = true) rect = item_rect(index) rect.x += 4 rect.width -= 8 if [email protected]? && defined?(@icon[index]) draw_icon(@icon[index], rect.x, rect.y, enabled) rect.x += 24 end self.contents.clear_rect(rect) self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(rect, @commands[index]) end end Incompatibilita': N/D
  7. Nome Script: Final Fantasy IX Save Menù Versione: N/D Autore/i: BigEd781 Informazioni: Questo Script farà apparire il vostro Save Menù identico a quello di Final Fantasy IX. Screenshots: Istruzioni: Per il corretto funzionamento copiate le seguenti immagini in Graphics/Pictures: Rinominate quest'immagine in SaveFilewindow.png: Necessiterà anche di un puntatore. Insieme allo script viene fornita la classica "manina" di FF9 ma lo stesso autore ne ha rilasciate altre assieme ad un altro Script. Ve le linko di seguito così avete anche un pò di scelta e potete abbinarlo meglio assieme al FF IX Menù Script. Pointer: Script: =begin BigEd781's Final Fantasy IX Save Screen Rewritten Methods ----------------- Scene_File write_save_data create_savefile_windows start ----------------- =end module FFIXSave # use an image instead of the hazy map background USE_CUSTOM_BACK = true # the name of the background image file (if above is set to 'true') BACK_NAME = 'StoneBackground' # the name of the 'time' image file TIMER_NAME = 'SaveTimer' # the name of the 'gold' image file GOLDCOIN_NAME = 'GoldCoin' # the font to use. Example: 'Times New Roman' FONT_NAME = Font.default_name FONT_SIZE = 20 # the color of the font. (red, green, blue) FONT_COLOR = Color.new(238, 238, 238) # changing this will move the timer and gold # icons left or right (for - or + values). # this is useful if you have long names, or use a smaller font. ICON_OFFSET_X = 0 end class Rect def shift_y(value) new_y = self.y + value return Rect.new(self.x, new_y, self.width, self.height) end end #============================================================================== # ** Sprite_HeaderBar #------------------------------------------------------------------------------ # This is the top right window in the save/load menu #============================================================================== class Sprite_LoadSave < Sprite_Base def initialize(x, y, text, viewport=nil) super(viewport) @bg_image = Cache.picture('LoadSaveDisplay') @text = text self.bitmap = Bitmap.new(@bg_image.width, @bg_image.height) self.x = x self.y = y update end def update self.bitmap.blt(0, 0, @bg_image, @bg_image.rect) self.bitmap.draw_text(self.bitmap.rect.shift_y(3), @text, 1) end end #============================================================================== # ** Sprite_HeaderBar #------------------------------------------------------------------------------ # This is the top left window in the save/load menu #============================================================================== class Sprite_HeaderBar < Sprite_Base #-------------------------------------------------------------------------- # * initialize #-------------------------------------------------------------------------- def initialize(viewport=nil) @image = Cache.picture('FF9_HeaderBar') @slot = 1 super(viewport) self.bitmap = Bitmap.new(@image.width, @image.height) self.x = 16 self.y = 18 update end #-------------------------------------------------------------------------- # * slot= #-------------------------------------------------------------------------- def slot=(value) @slot = value end #-------------------------------------------------------------------------- # * update #-------------------------------------------------------------------------- def update self.bitmap.blt(0, 0, @image, @image.rect) text_y = 10 text_h = 24 self.bitmap.draw_text(16, text_y, 220, text_h, "Select a block.") self.bitmap.draw_text(self.width - 72, text_y, 64, text_h, "Slot #{@slot}") end end #============================================================================== # ** Scene_File #------------------------------------------------------------------------------ # #============================================================================== class Scene_File < Scene_Base #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- alias :eds_pre_ff9_save_start :start def start super create_menu_background @help_window = Sprite_HeaderBar.new create_loadsave_sprite create_savefile_windows @index = @saving ? $game_temp.last_file_index : self.latest_file_index @savefile_windows[@index].selected = true end #-------------------------------------------------------------------------- # * create_menu_background (only if USE_CUSTOM_BACK == true) #-------------------------------------------------------------------------- if FFIXSave::USE_CUSTOM_BACK def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.picture(FFIXSave::BACK_NAME) @menuback_sprite.color.set(16, 16, 16, 128) update_menu_background end end #-------------------------------------------------------------------------- # * create_loadsave_sprite #-------------------------------------------------------------------------- def create_loadsave_sprite sx = @help_window.x + @help_window.width + 6 sy = @help_window.y text = @saving ? "Save" : "Load" @loadsave_sprite = Sprite_LoadSave.new(sx, sy, text) end #-------------------------------------------------------------------------- # * Update Save File Selection #-------------------------------------------------------------------------- alias :eds_pre_ff9_save_update_savefile_selection :update_savefile_selection def update_savefile_selection eds_pre_ff9_save_update_savefile_selection @help_window.slot = @index + 1 end #-------------------------------------------------------------------------- # * write_save_data #-------------------------------------------------------------------------- def write_save_data(file) characters = [] map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name for actor in $game_party.members characters.push([ actor.character_name, actor.character_index, actor.face_name, # line added actor.face_index, # line added actor.name, # line added actor.level, # line added $game_party.gold, # line added map_name ]) # line added end $game_system.save_count += 1 $game_system.version_id = $data_system.version_id @last_bgm = RPG::BGM::last @last_bgs = RPG::BGS::last Marshal.dump(characters, file) Marshal.dump(Graphics.frame_count, file) Marshal.dump(@last_bgm, file) Marshal.dump(@last_bgs, file) Marshal.dump($game_system, file) Marshal.dump($game_message, file) Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, file) Marshal.dump($game_actors, file) Marshal.dump($game_party, file) Marshal.dump($game_troop, file) Marshal.dump($game_map, file) Marshal.dump($game_player, file) end #-------------------------------------------------------------------------- # * Create Save File Window #-------------------------------------------------------------------------- def create_savefile_windows @savefile_windows = [] for i in 0..3 @savefile_windows.push(Window_FFIXSaveFile.new(i, make_filename(i))) end @item_max = 4 end alias :eds_pre_ff9_terminate :terminate def terminate eds_pre_ff9_terminate @loadsave_sprite.dispose end end #============================================================================== # ** Window_FFIXSaveFile #------------------------------------------------------------------------------ # This is the window displayed for each save slot #============================================================================== class Window_FFIXSaveFile < Window_SaveFile # the x , y position of the first column and line of text TEXT_COL1_X = 298 TEXT_LINE1_Y = 0 # the y position of the second line of text, Level and Gold display TEXT_LINE2_Y = 20 #-------------------------------------------------------------------------- # * initialize #-------------------------------------------------------------------------- def initialize(file_index, filename) unless FileTest.exist?(filename) image_name = 'FF9_SaveFileWindow_no_overlay' else image_name = 'FF9_SaveFileWindow' end @bg_image = Cache.picture(image_name) @timer_image = Cache.picture(FFIXSave::TIMER_NAME) @gold_image = Cache.picture(FFIXSave::GOLDCOIN_NAME) super(file_index, filename) self.x = 0 self.height = @bg_image.height + 32 # do this so that they images can be close together, # ignoring the 16 pixel window border self.y -= self.y * 0.1 self.contents.dispose self.contents = Bitmap.new(512, @bg_image.height) self.contents.font.name = FFIXSave::FONT_NAME self.contents.font.size = FFIXSave::FONT_SIZE self.opacity = 0 @arrow_sprite = Sprite.new @arrow_sprite.bitmap = Cache.picture('pointer') @arrow_sprite.x = 0 @arrow_sprite.y = self.y + (0.4 * self.height) @arrow_sprite.visible = false @arrow_sprite.z = self.z + 1 refresh end def selected=(value) @arrow_sprite.visible = value end #-------------------------------------------------------------------------- # * refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = FFIXSave::FONT_COLOR draw_background_panel begin if @file_exist draw_party_characters draw_playtime draw_leader_name draw_leader_level draw_gold draw_location draw_icons end rescue # do nothing or the game will crash # before the first save file is created. end end #-------------------------------------------------------------------------- # * draw_background_panel #-------------------------------------------------------------------------- def draw_background_panel self.contents.blt(0, 0, @bg_image, @bg_image.rect) end #-------------------------------------------------------------------------- # * draw_party_characters #-------------------------------------------------------------------------- def draw_party_characters x, y, size = 5, 5, (self.contents.height - 10) for i in [email protected] name = @characters[i][2] index = @characters[i][3] draw_face(name, index, x, y, size) x += size + 2 end end #-------------------------------------------------------------------------- # * draw_playtime #-------------------------------------------------------------------------- def draw_playtime hour = @total_sec / 60 / 60 min = @total_sec / 60 % 60 sec = @total_sec % 60 time_string = sprintf("%02d:%02d:%02d", hour, min, sec) len = contents.text_size(time_string).width + 6 contents.font.color = FFIXSave::FONT_COLOR contents.draw_text(contents.width - len, TEXT_LINE1_Y, contents.width - 4, WLH, time_string) end #-------------------------------------------------------------------------- # * draw_leader_name #-------------------------------------------------------------------------- def draw_leader_name name = @characters[0][4] self.contents.draw_text(TEXT_COL1_X, TEXT_LINE1_Y, 128, WLH, name) end #-------------------------------------------------------------------------- # * draw_leader_level #-------------------------------------------------------------------------- def draw_leader_level level = "Level #{@characters[0][5]}" self.contents.draw_text(TEXT_COL1_X, TEXT_LINE2_Y, 128, WLH, level) end #-------------------------------------------------------------------------- # * draw_gold #-------------------------------------------------------------------------- def draw_gold gold = "#{@characters[0][6]} #{Vocab.gold[0,1]}" text_x = contents.width - (contents.text_size(gold).width + 6) self.contents.draw_text(text_x, TEXT_LINE2_Y, 96, WLH, gold) end #-------------------------------------------------------------------------- # * draw_location #-------------------------------------------------------------------------- def draw_location loc = @characters[0][7] text_y = TEXT_LINE2_Y + 28 self.contents.draw_text(308, text_y, contents.width - 312, WLH, loc) end #-------------------------------------------------------------------------- # * draw_icons #-------------------------------------------------------------------------- def draw_icons self.contents.blt(TEXT_COL1_X + 93 + FFIXSave::ICON_OFFSET_X, TEXT_LINE1_Y + 7, @timer_image, @timer_image.rect) self.contents.blt(TEXT_COL1_X + 93 + FFIXSave::ICON_OFFSET_X, TEXT_LINE2_Y + 7, @gold_image, @gold_image.rect) end #-------------------------------------------------------------------------- # * update_cursor #-------------------------------------------------------------------------- def update_cursor # not needed end #-------------------------------------------------------------------------- # * dispose #-------------------------------------------------------------------------- def dispose super @bg_image.dispose @timer_image.dispose @arrow_sprite.dispose end end Demo: N/D Incompatibilita': Lo Script Sovrascrive i metodi Scene_File write_save_data create_savefile_windows start Controllate che gli altri script in uso non li utilizzino.
  8. Nome Script: YEZ to YEM Status Biography Versione: 1.00 Autore/i: heisenman, Yanfly (scripts originali) Informazioni: Questo script ricrea nella scena Status dello YEM il comando "Biography" originario dello YEZ, che mostra le biografie degli attori o le descrizioni delle classi nel caso le biografie siano assenti. Istruzioni: Inserire sotto ▼ Materials e YEM Status Menu Melody ma sopra ▼ Main nello Script Editor. L'array COMMANDS e l'hash COMMAND_VOCAB sono riscritti, aggiornarli se necessario. Richiede YEM Status Menu Melody per funzionare. Script: #=============================================================================== # ** YEZ to YEM Status Biography #------------------------------------------------------------------------------ # This script brings back the YEZ Biography command in the Scene_Status # command window that displays actors biographies or classes descriptions. #=============================================================================== # Instructions #------------------------------------------------------------------------------ # Place this script below ▼ Materials and YEM Status Menu Melody but above # ▼ Main in the Script Editor. # Note that the COMMANDS array and the COMMAND_VOCAB hash are rewritten, so # update them if needed. # It requires YEM Status Menu Melody to work. #=============================================================================== # Disclaimers #------------------------------------------------------------------------------ # This script is entirely based on the YEZ Biography command, present in the # original YEZ Status Command Menu, and YEM Status Menu Melody. Both scripts are # property of Yanfly (pockethouse.com). #=============================================================================== module YEM module STATUS #=============================================================================== # Configuration starts here. #=============================================================================== # This array determines what items will appear in the status scene and # what order they appear in. Remove them if you wish for them to not appear. COMMANDS =[ :general, # Displays general actor information. :boosters, # Displays the actor's parameters and item boosts. :elements, # Displays the actor's elemental affinities. :states, # Displays the actor's status effect resistances. :biography, # A biography of the actor. ] # Do not remove this. # This hash determines how the vocabulary appears in your game. Modify them # as you see fit if you wish to rename certain aspects. COMMAND_VOCAB ={ :general => "General", :boosters => "Boosters", :elements => "Elements", :states => "Ailments", :biography => "Biography", } # Do not remove this. # Biography Mini Window. The following will allow you to adjust biographies # for actors and classes. If an actor does not have a personal biography, # then the description of the character's class will be displayed instead. BIOGRAPHY ={ :actor_bio => "%s's Biography", :class_des => "%s Description", } # Do not remove this. # When typing out biographies and descriptions, use N[x] to write out # the actor's name if the game allows renaming. For line splits, use | # at the each position you would want the description to start a new line. ACTOR_BIOS ={ # If an actor ID is not listed here, then refer to class bio. # ID => Bio 1 => 'N[1] is a very hot blooded young male whom|' + 'embarked on a journey to save Don Miguel.|' + 'But given his reckless behaviour and actions,|' + 'N[1] is known to give his team lots of trouble.', 2 => 'N[2] trained as a warrior since she was|' + 'quite young. Due to her militant past, she has|' + 'developed a rather tomboy-ish personality.|' + 'N[2] loves training and is also a health nut.', 3 => 'N[3] is the overzealous priest of N[1]'s|' + 'party. His actions speak louder than his words|' + 'and his words are already loud enough. N[3]|' + 'is definitely one who choose the wrong class.', 4 => 'N[4] is the team's walking encyclopedia.|' + 'She just about knows everything for each and|' + 'every situation. But aside from that, N[4]|' + 'just doesn't have the actual life experience.', } # Do not remove this. # Just like the actor biographies, use N[x] to write out a changeable # actor's name and V[x] to write out variables. Use | to enforce a # line break. CLASS_BIOS ={ # ID => Bio 1 => 'Knights are quick and powerful characters|' + 'that excel in both melee and magic.', 2 => 'Warriors are very dedicated to close ranged|' + 'physical combat.', 3 => 'Priests focus on healing and aiding their|' + "party members. Don't let N[3] fool you.", 4 => 'Magicians excel in the magical arts and also|' + 'excel at blasting their enemies to bits.', } # Do not remove this. #=============================================================================== # Configuration ends here. #=============================================================================== end # STATUS end # YEM #=============================================================================== # Window_Status_Biography #=============================================================================== class Window_Status_Biography < Window_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(actor) super(0, 128, Graphics.width, Graphics.height - 128) @actor = actor refresh end #-------------------------------------------------------------------------- # actor= #-------------------------------------------------------------------------- def actor=(new_actor) @actor = new_actor refresh end #-------------------------------------------------------------------------- # refresh #-------------------------------------------------------------------------- def refresh self.contents.clear if YEM::STATUS::ACTOR_BIOS.include?(@actor.id) draw_actor_bio elsif YEM::STATUS::CLASS_BIOS.include?(@actor.class_id) draw_class_bio end end #-------------------------------------------------------------------------- # draw_actor_bio #-------------------------------------------------------------------------- def draw_actor_bio self.contents.font.color = normal_color; dy = 0 text = sprintf(YEM::STATUS::BIOGRAPHY[:actor_bio], @actor.name) self.contents.draw_text(0, dy, self.width-32, WLH*2, text, 1) text = YEM::STATUS::ACTOR_BIOS[@actor.id] nwidth = 544 dx = 18; dy = WLH*2 text.gsub!(/V[([0-9]+)]/i) { $game_variables[$1.to_i] } text.gsub!(/V[([0-9]+)]/i) { $game_variables[$1.to_i] } text.gsub!(/N[([0-9]+)]/i) { $game_actors[$1.to_i].name } lines = text.split(/(?:[|]|n)/i) lines.each_with_index { |l, i| l.gsub!(/__([d+])/i) { "N#{$1}" } self.contents.draw_text(dx, i * 24 + dy, nwidth, WLH, l, 0)} end #-------------------------------------------------------------------------- # draw_class_bio #-------------------------------------------------------------------------- def draw_class_bio self.contents.font.color = normal_color; dy = 0 text = sprintf(YEM::STATUS::BIOGRAPHY[:class_des], @actor.class.name) self.contents.draw_text(0, dy, self.width-32, WLH*2, text, 1) text = YEM::STATUS::CLASS_BIOS[@actor.class.id] nwidth = 544 dx = 18; dy = WLH*2 text.gsub!(/V[([0-9]+)]/i) { $game_variables[$1.to_i] } text.gsub!(/V[([0-9]+)]/i) { $game_variables[$1.to_i] } text.gsub!(/N[([0-9]+)]/i) { $game_actors[$1.to_i].name } lines = text.split(/(?:[|]|n)/i) lines.each_with_index { |l, i| l.gsub!(/__([d+])/i) { "N#{$1}" } self.contents.draw_text(dx, i * 24 + dy, nwidth, WLH, l, 0)} end end # Window_Status_Biography #=============================================================================== # Scene_Status #=============================================================================== class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # new method: create_command_window #-------------------------------------------------------------------------- def create_command_window @data = [] commands = [] @windows = [] for command in YEM::STATUS::COMMANDS case command when :general @general_window = Window_Status_General.new(@actor) @windows.push(@general_window) when :boosters @boosters_window = Window_Status_Booster.new(@actor, @help_window) @boosters_stats = Window_Booster_Stats.new(@actor, @boosters_window) @windows.push(@boosters_window) @windows.push(@boosters_stats) when :elements next unless $imported["BattleEngineMelody"] @elements_window = Window_Status_Elements.new(@actor, @help_window) @elements_stats = Window_Elements_Stats.new(@actor, @elements_window) @windows.push(@elements_window) @windows.push(@elements_stats) when :states next unless $imported["BattleEngineMelody"] @states_window = Window_Status_States.new(@actor, @help_window) @states_stats = Window_States_Stats.new(@actor, @states_window) @windows.push(@states_window) @windows.push(@states_stats) when :biography @biography_window = Window_Status_Biography.new(@actor) @windows.push(@biography_window) else; next end @data.push(command) commands.push(YEM::STATUS::COMMAND_VOCAB[command]) end @command_window = Window_Command_Centered.new(160, commands) @command_window.height = 128 @command_window.active = true #--- if $game_temp.last_status_index != nil @command_window.oy = $game_temp.status_oy @command_window.index = $game_temp.last_status_index end #--- update_visible_windows end #-------------------------------------------------------------------------- # new method: update_visible_windows #-------------------------------------------------------------------------- def update_visible_windows @help_window.y = Graphics.height * 8 for window in @windows; window.y = Graphics.height * 8; end case @data[@command_window.index] when :general @general_window.y = @command_window.height when :boosters @help_window.y = @command_window.height @boosters_window.y = @help_window.y + @help_window.height @boosters_stats.y = @help_window.y + @help_window.height @boosters_window.update_help when :elements @help_window.y = @command_window.height @elements_window.y = @help_window.y + @help_window.height @elements_stats.y = @help_window.y + @help_window.height @elements_window.update_help when :states @help_window.y = @command_window.height @states_window.y = @help_window.y + @help_window.height @states_stats.y = @help_window.y + @help_window.height @states_window.update_help when :biography @biography_window.y = @command_window.height end end end # Scene_Status Demo: N/D Note dell'Autore: Questo script è interamente basato sul comando Biography presente in YEZ Status Command Menu, e YEM Status Menu Melody. Entrambi gli scripts sono stati creati da Yanfly (pockethouse.com).
  9. Nome Script: Background Changer Versione: 1.00 Autore/i: heisenman Informazioni: Potete usarlo, modificarlo e ridistribuirlo. I credits non sono necessari, non spacciatelo per vostro. Semplice script per inserire immagini come background per le schermate menu, item, skill, equip, status, file e shop. Istruzioni: Inserire lo script sotto ▼ Materials ma sopra ▼ Main. Mettere le immagini dentro la cartella "GraphicsSystem". Inserire il nome del file tra le virgolette. Lasciare "" per non visualizzare nessuna immagine. Omettere l'estensione del file (.png/.jpg). Attenzione ai caratteri maiuscoli. Per l'opacità delle immagini, inserire un numero tra 0 e 255. 0 = invisibile, 255 = piena opacità. 255 è l'opacità default. Script: #============================================================================== # ** Background Changer #------------------------------------------------------------------------------ # This script adds pictures as background for the menu, item, skill, equip, # status, file (save and load screens) and shop scenes. #============================================================================== # Instructions #------------------------------------------------------------------------------ # Place this script below ▼ Materials but above ▼ Main in the Script Editor. # Put background pictures inside "GraphicsSystem" folder. # Insert the filename between quotation marks. Leave "" for no picture. # Omit file extension (.png/.jpg). Case sensitive. # For the opacity of the pictures, insert a value between 0 and 255. # 0 = invisible, 255 = full opacity. 255 is default value. #============================================================================== module ImageBack #============================================================================== # Configuration starts here. #============================================================================== # Menu Scene Background MenuBack = "" MenuBackOpacity = 255 # Item Scene Background ItemBack = "" ItemBackOpacity = 255 # Skill Scene Background SkillBack = "" SkillBackOpacity = 255 # Equip Scene Background EquipBack = "" EquipBackOpacity = 255 # Status Scene Background StatusBack = "" StatusBackOpacity = 255 # File Scene Background FileBack = "" FileBackOpacity = 255 # Shop Scene Background ShopBack = "" ShopBackOpacity = 255 #============================================================================== # Configuration ends here. #============================================================================== end #============================================================================== # ** Scene_Menu #============================================================================== class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # * Create Background for Menu Scene #-------------------------------------------------------------------------- def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.system(ImageBack::MenuBack) @menuback_sprite.opacity = ImageBack::MenuBackOpacity end end #============================================================================== # ** Scene_Item #============================================================================== class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * Create Background for Item Scene #-------------------------------------------------------------------------- def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.system(ImageBack::ItemBack) @menuback_sprite.opacity = ImageBack::ItemBackOpacity end end #============================================================================== # ** Scene_Skill #============================================================================== class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # * Create Background for Skill Scene #-------------------------------------------------------------------------- def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.system(ImageBack::SkillBack) @menuback_sprite.opacity = ImageBack::SkillBackOpacity end end #============================================================================== # ** Scene_Equip #============================================================================== class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # * Create Background for Equip Scene #-------------------------------------------------------------------------- def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.system(ImageBack::EquipBack) @menuback_sprite.opacity = ImageBack::EquipBackOpacity end end #============================================================================== # ** Scene_Status #============================================================================== class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # * Create Background for Status Scene #-------------------------------------------------------------------------- def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.system(ImageBack::StatusBack) @menuback_sprite.opacity = ImageBack::StatusBackOpacity end end #============================================================================== # ** Scene_File #============================================================================== class Scene_File < Scene_Base #-------------------------------------------------------------------------- # * Create Background for File Scene #-------------------------------------------------------------------------- def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.system(ImageBack::FileBack) @menuback_sprite.opacity = ImageBack::FileBackOpacity end end #============================================================================== # ** Scene_Shop #============================================================================== class Scene_Shop < Scene_Base #-------------------------------------------------------------------------- # * Create Background for Shop Scene #-------------------------------------------------------------------------- def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.system(ImageBack::ShopBack) @menuback_sprite.opacity = ImageBack::ShopBackOpacity end end Incompatibilità: N/D
  10. Nome Script: Omegas7's Quest System Versione: 3.0 Autore/i: Omegas7 Informazioni: Semplice script che da la possibilità di creare quest per il proprio gioco. Screenshots: Istruzioni: Istruzioni e script all'interno della Demo. Demo: http://www.mediafire.com/download.php?z5n5mlzzmzd
  11. Nome Script: Ring Menù Versione: 1.1 Autore/i: Syvkal Informazioni: Un Menù ad Anello =) Screenshots: Istruzioni: IMPORTANTE Bisogna includere anche questo script: http://rpgmkr.net/forum/topic/1073-syvkals-menu-bars/ Poi,nella cartella Picture,inserite le seguenti icone: Script: #============================================================================== # ** Ring Menu #------------------------------------------------------------------------------- # by Syvkal # Version 1.1 # 06-23-08 #============================================================================== #===================================================# # ** C O N F I G U R A T I O N S Y S T E M ** # #===================================================# # Amount of frames for Startup Animation STARTUP_FRAMES = 20 # Amount of frames for Movement Animation MOVING_FRAMES = 15 # Radius of the Menu Ring RING_R = 75 # Disabled icon to display when disabled ICON_DISABLE= Cache::picture('Icon_Disable') #-------------D-O---N-O-T---T-O-U-C-H---------------# class Scene_Title < Scene_Base alias game_objects_original create_game_objects def create_game_objects game_objects_original #-------------D-O---N-O-T---T-O-U-C-H---------------# # As this script allows you to make a custom Menu I thought to make it easier # I would make it possible to add extra Menu Options from here # All you need to do is specify the Text to display, the icon and the command # The command must be in a STRING # Simply add to the array below : $game_ring_menu = [ # Menu Option 0 eg. Item [Vocab], # Menu Option 1 eg. Skill [Vocab], # Menu Option 2 eg. Equip [Vocab], # Menu Option 3 eg. Status [Vocab], #---------------------------------------------------# # ** I N S E R T M O R E H E R E ** # #---------------------------------------------------# # Preferably Insert your custom Menu Options Here # Otherwise the existing Menu Options will return to wrong point on the Menu # Menu Option 4 eg. Save ["Save Game", Cache::picture('Icon_Save'), "$scene = Scene_File.new(true, false, false)"], # Menu Option 5 eg. Load ["Load Game", Cache::picture('Icon_Load'), "$scene = Scene_File.new(false, false, false)"], # Menu Option 6 eg. End Game [Vocab] ] # <--- Do no Delete This #===================================================# # ** E N D C O N F I G U R A T I O N ** # #===================================================# end end #============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # Edited to add Ring Menu #============================================================================== class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # * Alias Listings #-------------------------------------------------------------------------- alias initialize_original initialize alias start_selection_original start_actor_selection alias end_selection_original end_actor_selection #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(menu_index = 0, move = true) @move = move initialize_original(menu_index) end #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background create_command_window @gold_window = Window_Gold.new(0, 360) @location_window = Window_location.new(0, 0) end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose @gold_window.dispose @status_window.dispose if @status_window @location_window.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update @gold_window.update @status_window.update if @status_window @location_window.update if @command_window.active update_command_selection elsif @status_window.active update_actor_selection end end #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window commands = [] for i in 0...$game_ring_menu.size commands.push($game_ring_menu[i][0]) end icons = [] for i in 0...$game_ring_menu.size icons.push($game_ring_menu[i][1]) end @command_window = Window_RingMenu.new(232, 164, commands, icons, @move, @menu_index) if $game_party.members.size == 0 @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end if $game_system.save_disabled @command_window.disable_item(4) end end #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_status_window names = [] chars = [] for i in 0...$game_party.members.size names[i] = $game_party.members[i].name chars[i] = $game_party.members[i] end @status_window = Window_RingMenu.new(255, 200, names, chars, true, $game_party.last_actor_index, true) end #-------------------------------------------------------------------------- # * Update Command Selection #-------------------------------------------------------------------------- def update_command_selection if Input.trigger?(Input:: 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 eval($game_ring_menu[@command_window.index][2]) end end #-------------------------------------------------------------------------- # * Start Actor Selection #-------------------------------------------------------------------------- def start_actor_selection @command_window.active = false @command_window.visible = false create_status_window if $game_party.last_actor_index < @status_window.item_max @status_window.index = $game_party.last_actor_index else @status_window.index = 0 end end #-------------------------------------------------------------------------- # * End Actor Selection #-------------------------------------------------------------------------- def end_actor_selection @command_window.active = true @command_window.visible = true @status_window.dispose if @status_window @status_window = nil end #-------------------------------------------------------------------------- # * Update Actor Selection #-------------------------------------------------------------------------- def update_actor_selection if Input.trigger?(Input:: Sound.play_cancel end_actor_selection elsif Input.trigger?(Input::C) $game_party.last_actor_index = @status_window.index Sound.play_decision eval($game_ring_menu[@command_window.index][3]) end end end #============================================================================== # ** Scene_File #------------------------------------------------------------------------------ # Edited to return to the menu properly when loading #============================================================================== class Scene_File alias return_scene_original return_scene def return_scene if @from_title $scene = Scene_Title.new elsif @from_event $scene = Scene_Map.new else if @saving $scene = Scene_Menu.new($game_ring_menu.size - 3) else $scene = Scene_Menu.new($game_ring_menu.size - 2) end end end end #============================================================================== # ** Scene_End #------------------------------------------------------------------------------ # Edited to return to the menu properly due to loading being added #============================================================================== class Scene_End alias return_scene_original return_scene def return_scene $scene = Scene_Menu.new($game_ring_menu.size - 1) end end #============================================================================== # ** Window_Location #------------------------------------------------------------------------------ # This class shows the current map name. #============================================================================== class Window_location < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 160, (WLH*2) + 32) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear $maps = load_data("Data/MapInfos.rvdata") @map_id = $game_map.map_id @currmap = $maps[@map_id].name self.contents.font.color = system_color self.contents.draw_text(0, -4, 128, 32, "Location :") self.contents.font.color = normal_color self.contents.draw_text(0, -4+WLH, 128, 32, @currmap, 1) end end #============================================================================== # ** Window_RingMenu #------------------------------------------------------------------------------ # This Window creates a Ring Menu system #============================================================================== class Window_RingMenu < Window_Base #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_accessor :index attr_reader :item_max #-------------------------------------------------------------------------- # * Refresh Setup #-------------------------------------------------------------------------- START = 1 WAIT = 2 MOVER = 3 MOVEL = 4 #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(center_x, center_y, commands, items, move = true, index = 0, character = false) super(0, 0, 544, 416) self.contents = Bitmap.new(width-32, height-32) self.opacity = 0 @move = move @char = character @startup = STARTUP_FRAMES @commands = commands @item_max = commands.size @index = index @items = items @disabled = [] for i in 0...commands.size-1 @disabled[i] = false end @cx = center_x @cy = center_y start_setup refresh end #-------------------------------------------------------------------------- # * Start Setup #-------------------------------------------------------------------------- def start_setup @mode = START @steps = @startup end #-------------------------------------------------------------------------- # * Disable index # index : item number #-------------------------------------------------------------------------- def disable_item(index) @disabled[index] = true end #-------------------------------------------------------------------------- # * Determines if is moving #-------------------------------------------------------------------------- def animation? return @mode != WAIT end #-------------------------------------------------------------------------- # * Determine if cursor is moveable #-------------------------------------------------------------------------- def cursor_movable? return false if (not visible or not active) return false if (@opening or @closing) return false if animation? return true end #-------------------------------------------------------------------------- # * Move cursor right #-------------------------------------------------------------------------- def cursor_right @index -= 1 @index = @items.size - 1 if @index < 0 @mode = MOVER @steps = MOVING_FRAMES end #-------------------------------------------------------------------------- # * Move cursor left #-------------------------------------------------------------------------- def cursor_left @index += 1 @index = 0 if @index >= @items.size @mode = MOVEL @steps = MOVING_FRAMES end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super if self.active if cursor_movable? last_index = @index if Input.repeat?(Input::DOWN) or Input.repeat?(Input::RIGHT) cursor_right end if Input.repeat?(Input::UP) or Input.repeat?(Input::LEFT) cursor_left end if @index != last_index Sound.play_cursor end end refresh end end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear case @mode when START refresh_start when WAIT refresh_wait when MOVER refresh_move(1) when MOVEL refresh_move(0) end rect = Rect.new(18, 196, self.contents.width-32, 32) self.contents.draw_text(rect, @commands[@index], 1) end #-------------------------------------------------------------------------- # * Refresh Start Period #-------------------------------------------------------------------------- def refresh_start d1 = 2.0 * Math::PI / @item_max d2 = 1.0 * Math::PI / @startup for i in 0...@item_max j = i - @index if @move r = RING_R - 1.0 * RING_R * @steps / @startup d = d1 * j + d2 * @steps else r = RING_R d = d1 * j end x = @cx + ( r * Math.sin( d ) ).to_i y = @cy - ( r * Math.cos( d ) ).to_i draw_item(x, y, i) end @steps -= 1 if @steps < 1 @mode = WAIT end end #-------------------------------------------------------------------------- # * Refresh Wait Period #-------------------------------------------------------------------------- def refresh_wait d = 2.0 * Math::PI / @item_max for i in 0...@item_max j = i - @index x = @cx + ( RING_R * Math.sin( d * j ) ).to_i y = @cy - ( RING_R * Math.cos( d * j ) ).to_i draw_item(x, y, i) end end #-------------------------------------------------------------------------- # * Refresh Movement Period #-------------------------------------------------------------------------- def refresh_move( mode ) d1 = 2.0 * Math::PI / @item_max d2 = d1 / MOVING_FRAMES d2 *= -1 if mode != 0 for i in 0...@item_max j = i - @index d = d1 * j + d2 * @steps x = @cx + ( RING_R * Math.sin( d ) ).to_i y = @cy - ( RING_R * Math.cos( d ) ).to_i draw_item(x, y, i) end @steps -= 1 if @steps < 1 @mode = WAIT end end #-------------------------------------------------------------------------- # * Draw Item # x : draw spot x-coordinate # y : draw spot y-coordinate # index : item number #-------------------------------------------------------------------------- def draw_item(x, y, index) if @char if @index == index draw_character(@items[index].character_name, @items[index].character_index , x, y) if @mode == WAIT draw_actor_hp_ring(@items[index], @cx, @cy-16, 50, 6, 84, 270, true) draw_actor_mp_ring(@items[index], @cx, @cy-16, 50, 6, 84, 180, false) draw_actor_exp_ring(@items[index], @cx, @cy-16, 50, 6, 155, 12, false) end else draw_character(@items[index].character_name, @items[index].character_index , x, y, false) end else rect = Rect.new(0, 0, @items[index].width, @items[index].height) if @index == index self.contents.blt( x, y, @items[index], rect ) if @disabled[@index] self.contents.blt( x, y, ICON_DISABLE, rect ) end else self.contents.blt( x, y, @items[index], rect, 128 ) end end end end #============================================================================== # ** Window_Base #------------------------------------------------------------------------------ # Edited to allow disabled character icons #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # * Draw Character Graphic #-------------------------------------------------------------------------- def draw_character(character_name, character_index, x, y, enabled = true) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[!$]./] if sign != nil and sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect, enabled ? 255 : 128) end end
  12. Nome Script: Syvkal's Menu Bars Versione: 4.1 Autore/i: Syvkal Informazioni: Con questo script,potete avere le barre HP, MP etc,in stile diverso,come potete vedere dalle immagini ^^ Screenshots: Istruzioni: Inserite lo script sotto Material. Le istruzioni sono all'interno dello Script Script: #============================================================================== # ** Syvkal's Menu Bars #------------------------------------------------------------------------------ # by Syvkal # Version 4.1 # 05-20-08 #============================================================================== # # - INTRODUCTION - # # This system implements a series of Plug 'N' Play Menu Bars # The Bars were inspired CogWheel, but all coding was done by me # ( Except Wortana's 'gradient_fill_rect' Bug Fix ) # #------------------------------------------------------------------------------ # # - USAGE - # # This system will work as soon as you put it in the Script Editor # You can edit the script from the Configuration System # However, it has also been made so you can easily make your own bars # # --------------------------------------------------- # # To draw a bar use: # draw_custom_gauge # # Followed by: # (value, max, x, y, color1, color2, width, height, slanted, up) # # value : bar calculation value # max : bar max value # x : draw spot x-coordinate # y : draw spot y-coordinate # color1 : bar gradient color 1 EITHER Color.new(r,g,b,a) # color2 : bar gradient color 2 OR Numeric Text color # width : Width # height : Height # slanted : draw slanted bar # vertical : draw bar vertically # # --------------------------------------------------- # # To draw a ring use: # draw_custom_ring # # Followed by: # (value, max, x, y, color1, color2, radius, height, amount, start, reverse) # value : bar calculation value # max : bar max value # x : draw spot x-coordinate # y : draw spot y-coordinate # color1 : bar gradient color 1 # color2 : bar gradient color 2 # radius : distance from center point # height : Height # amount : size of ring - default 360� # start : start position - max 360� # reverse : draw ring in reverse # #------------------------------------------------------------------------------ # # - SCRIPTERS USAGE - # # I have added a few extra features to allow scripters to easily use the bars # Seeing as the bars can be drawn Normal, Vertical or in a Ring I've added a # feature to allow you to turn off the bars when drawing an actors HP, MP etc. # When drawing an actors HP etc. simply add 'true' on the end. Like this: # draw_actor_hp(actor, x, y, width, true) # # I've also separated the different bars so they're easier to draw # # draw_actor_hp_gauge(actor, x, y, width) Will draw a normal bar # draw_actor_hp_gauge(actor, x, y, width, true) Will draw a vertical bar # draw_actor_hp_ring(actor, x, y, radius, height, amount, start) # Will draw a ring # #------------------------------------------------------------------------------ # # - SCRIPT CALLS - # # There are no script calls necessary to enable this script # However, you can change any of the constants in game if you wish # This can be done by the Script Call Funtion in an event # # For example: # COG::HPMPSLANT = true # # Will make the HP and MP bars Slant # And setting it to false will turn them back to normal # #============================================================================== module BAR #===================================================# # ** C O N F I G U R A T I O N S Y S T E M ** # #===================================================# # Parameter Max Value P_MAX = 500 # The system uses a 'rate' feature. It is set when drawing a bar # The 'rate' is how much the bar is filled as a decimal (max : 1) # This is used to enable color change as the bar decreased in amount $rate = 0 # Don't touch this # The system uses a series of CONSTANTS that can be edited here # They control the basic gauge colors and the manner the gauge is filled: # Gauge Border Colors COLOR1 = Color.new(0, 0, 0, 192) # Outer Border COLOR2 = Color.new(255, 255, 192, 192) # Inner Border # Gauge Empty filler COLOR3 = Color.new(0, 0, 0, 12) # Half of Inner Shading COLOR4 = Color.new(64, 0, 0, 92) # Half of Inner Shading # Gauge Settings EMPTY = false # EMPTY gauge (false - Side : true - Vertical) FILLER = false # FILLER gauge (false - Side : true - Vertical) # Border Settings - Applies only to standard bars CORNER = false # Remove corners? # The Parameter colors can be text colors taken from the windowskin or # colors like above. You don't need set your own 'rate' functions # it does it for you # Parameter Gauge Color1 ATKCOLOR1 = 2 DEFCOLOR1 = 17 SPICOLOR1 = 30 AGICOLOR1 = 12 # Parameter Gauge Color2 ATKCOLOR2 = 20 DEFCOLOR2 = 21 SPICOLOR2 = 31 AGICOLOR2 = 4 # The system has been made to use a series of SWITCHES that can be edited here # They control whether certain Bars are Normal or Slanted: HPMPSLANT = false # Slanted HP and MP Bars? EXPSLANT = false # Slanted Exp Bars? PARSLANT = false # Slanted Parameter Bars? DVVLBSLANT = true # Slanted Limit Break Bars? #===================================================# # ** C O M P L E X C O N F I G U R A T I O N ** # #===================================================# # The system allows you to edit the main gauge colous from here # Functions had to be used instead of Constants so the $rate feature still works # Edit only if you know what you're doing: def self::hpcolor1 # HP Guage Color1 return Color.new(80 - 24 * $rate, 80 * $rate, 14 * $rate, 192) end def self::hpcolor2 # HP Guage Color2 return Color.new(240 - 72 * $rate, 240 * $rate, 62 * $rate, 192) end def self::mpcolor1 # MP Guage Color1 return Color.new(14 * $rate, 80 - 24 * $rate, 80 * $rate, 192) end def self::mpcolor2 # MP Guage Color2 return Color.new(62 * $rate, 240 - 72 * $rate, 240 * $rate, 192) end def self::expcolor1 # EXP Guage Color1 Color.new(80 * $rate, 80 - 80 * $rate ** 2, 80 - 80 * $rate, 192) end def self::expcolor2 # EXP Guage Color2 Color.new(240 * $rate, 240 - 240 * $rate ** 2, 240 - 240 * $rate, 192) end #===================================================# # ** E N D C O N F I G U R A T I O N ** # #===================================================# end #============================================================================== # ** Game_Actor #------------------------------------------------------------------------------ # Added EXP and Next Level EXP for numeric for calculations #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # * Get EXP - numeric for calculations #-------------------------------------------------------------------------- def now_exp return @exp - @exp_list[@level] end #-------------------------------------------------------------------------- # * Get Next Level EXP - numeric for calculations #-------------------------------------------------------------------------- def next_exp return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0 end end #============================================================================== # ** Window_Base #------------------------------------------------------------------------------ # Added the 'Draw' functions for each gauge #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # * Includes The BAR Module #-------------------------------------------------------------------------- include BAR #-------------------------------------------------------------------------- # * Alias Listings #-------------------------------------------------------------------------- alias draw_actor_parameter_original draw_actor_parameter #-------------------------------------------------------------------------- # * Draw HP gauge # vertical : draw bar vertically #-------------------------------------------------------------------------- def draw_actor_hp_gauge(actor, x, y, width = 120, vertical = false) $rate = actor.hp.to_f / actor.maxhp gw = width * actor.hp / actor.maxhp w = vertical ? 6 : width; h = vertical ? width : 6 HPMPSLANT ? self.contents.cogwheel_fill_slant(x, y + WLH - 8, gw, w, h, BAR::hpcolor1, BAR::hpcolor2, vertical) : self.contents.cogwheel_fill_rect(x, y + WLH - 8, gw, w, h, BAR::hpcolor1, BAR::hpcolor2, vertical) end #-------------------------------------------------------------------------- # * Draw MP gauge # vertical : draw bar vertically #-------------------------------------------------------------------------- def draw_actor_mp_gauge(actor, x, y, width = 120, vertical = false) $rate = actor.mp.to_f / [actor.maxmp, 1].max gw = width * actor.mp / [actor.maxmp, 1].max w = vertical ? 6 : width; h = vertical ? width : 6 HPMPSLANT ? self.contents.cogwheel_fill_slant(x, y + WLH - 8, gw, w, h, BAR::mpcolor1, BAR::mpcolor2, vertical) : self.contents.cogwheel_fill_rect(x, y + WLH - 8, gw, w, h, BAR::mpcolor1, BAR::mpcolor2, vertical) end #-------------------------------------------------------------------------- # * Draw Exp gauge # actor : actor # x : draw spot x-coordinate # y : draw spot y-coordinate # width : Width # vertical : draw bar vertically #-------------------------------------------------------------------------- def draw_actor_exp_gauge(actor, x, y, width = 170, vertical = false) $rate = actor.now_exp.to_f / [actor.next_exp, 1].max gw = width * actor.now_exp / [actor.next_exp, 1].max w = vertical ? 6 : width; h = vertical ? width : 6 EXPSLANT ? self.contents.cogwheel_fill_slant(x, y + WLH - 8, gw, w, h, BAR::expcolor1, BAR::expcolor2, vertical) : self.contents.cogwheel_fill_rect(x, y + WLH - 8, gw, w, h, BAR::expcolor1, BAR::expcolor2, vertical) end #-------------------------------------------------------------------------- # * Draw Parameters # hide_bar : draw Parameters without gauge #-------------------------------------------------------------------------- def draw_actor_parameter(actor, x, y, type, hide_bar = false) hide_bar ? nil : draw_actor_parameter_gauge(actor, x, y, type) draw_actor_parameter_original(actor, x, y, type) end #-------------------------------------------------------------------------- # * Draw Parameters gauge # actor : actor # x : draw spot x-coordinate # y : draw spot y-coordinate # type : Type of parameters (0-3) # width : Width # vertical : draw bar vertically #-------------------------------------------------------------------------- def draw_actor_parameter_gauge(actor, x, y, type, width = 160, vertical = false) case type when 0 e1 = actor.atk gc1 = ATKCOLOR1.is_a?(Integer) ? text_color(ATKCOLOR1) : ATKCOLOR1 gc2 = ATKCOLOR2.is_a?(Integer) ? text_color(ATKCOLOR2) : ATKCOLOR2 when 1 e1 = actor.def gc1 = DEFCOLOR1.is_a?(Integer) ? text_color(DEFCOLOR1) : DEFCOLOR1 gc2 = DEFCOLOR2.is_a?(Integer) ? text_color(DEFCOLOR2) : DEFCOLOR2 when 2 e1 = actor.spi gc1 = SPICOLOR1.is_a?(Integer) ? text_color(SPICOLOR1) : SPICOLOR1 gc2 = SPICOLOR2.is_a?(Integer) ? text_color(SPICOLOR2) : SPICOLOR2 when 3 e1 = actor.agi gc1 = AGICOLOR1.is_a?(Integer) ? text_color(AGICOLOR1) : AGICOLOR1 gc2 = AGICOLOR2.is_a?(Integer) ? text_color(AGICOLOR2) : AGICOLOR2 end e2 = P_MAX rate = [e1.to_f / e2.to_f, 1].min gw = width * [e1.to_f / e2.to_f, 1].min r = gc2.red * rate g = (gc2.green - 72) * rate b = gc2.blue * rate a = gc2.alpha w = vertical ? 6 : width; h = vertical ? width : 6 PARSLANT ? self.contents.cogwheel_fill_slant(x, y + WLH - 8, gw, w, h, gc1, Color.new(r, g, b, a), vertical) : self.contents.cogwheel_fill_rect(x, y + WLH - 8, gw, w, h, gc1, Color.new(r, g, b, a), vertical) end #-------------------------------------------------------------------------- # * Draw Custom gauge # value : bar calculation value # max : bar max value # x : draw spot x-coordinate # y : draw spot y-coordinate # color1 : bar gradient color 1 # color2 : bar gradient color 2 # width : Width # height : Height # slanted : draw slanted bar # vertical : draw bar vertically #-------------------------------------------------------------------------- def draw_custom_gauge(value, max, x, y, color1, color2, width=120, height=6, slanted = false, vertical = false) rate = [value.to_f / max.to_f, 1].min gw = width * [value.to_f / max.to_f, 1].min gc1 = color1.is_a?(Integer) ? text_color(color1) : color1 gc2 = color2.is_a?(Integer) ? text_color(color2) : color2 r = gc2.red * rate g = (gc2.green - 72) * rate b = gc2.blue * rate a = gc2.alpha w = vertical ? 6 : width; h = vertical ? width : 6 slanted ? self.contents.cogwheel_fill_slant(x, y + WLH - 8, gw, w, h, gc1, Color.new(r, g, b, a), vertical) : self.contents.cogwheel_fill_rect(x, y + WLH - 8, gw, w, h, gc1, Color.new(r, g, b, a), vertical) end #-------------------------------------------------------------------------- # * Draw Limit Break gauge # vertical : draw bar vertically #-------------------------------------------------------------------------- def draw_actor_lb(actor, x, y, width = 120, vertical = false) return unless actor.lb_gauge_visible? st1 = lb_gauge_normal_start_color; st2 = lb_gauge_max_start_color ed1 = lb_gauge_normal_end_color; ed2 = lb_gauge_max_end_color rate = actor.limitbreak.to_f / [LB_MAX, 1].max gw = width * actor.limitbreak / LB_MAX gc1 = (gw == width ? st2 : Color.new(st1.red,st1.green-(10*rate),st1.blue-(10*rate), 192)) gc2 = (gw == width ? ed2 : Color.new(ed1.red,ed1.green-(10*rate),ed1.blue-(10*rate), 192)) w = vertical ? 6 : width; h = vertical ? width : 6 DVVLBSLANT ? self.contents.cogwheel_fill_slant(x, y + WLH - 8, gw, w, h, gc1, gc2, vertical) : self.contents.cogwheel_fill_rect(x, y + WLH - 8, gw, w, h, gc1, gc2, vertical) end #-------------------------------------------------------------------------- # * Draw HP gauge ring # actor : actor # x : draw spot x-coordinate # y : draw spot y-coordinate # radius : distance from center point # height : Height # amount : size of ring - default 360� # start : start position - max 360� # reverse : draw ring in reverse #-------------------------------------------------------------------------- def draw_actor_hp_ring(actor, x, y, radius, height, amount = 360, start = 0, reverse = false) $rate = actor.hp.to_f / actor.maxhp gw = amount * actor.hp / actor.maxhp self.contents.cogwheel_fill_ring(x, y, gw, radius, height, BAR::hpcolor1, BAR::hpcolor2, amount, start, reverse) end #-------------------------------------------------------------------------- # * Draw MP gauge ring # actor : actor # x : draw spot x-coordinate # y : draw spot y-coordinate # radius : distance from center point # height : Height # amount : size of ring - default 360� # start : start position - max 360� # reverse : draw ring in reverse #-------------------------------------------------------------------------- def draw_actor_mp_ring(actor, x, y, radius, height, amount = 360, start = 0, reverse = false) $rate = actor.mp.to_f / [actor.maxmp, 1].max gw = amount * actor.mp / [actor.maxmp, 1].max self.contents.cogwheel_fill_ring(x, y, gw, radius, height, BAR::mpcolor1, BAR::mpcolor2, amount, start, reverse) end #-------------------------------------------------------------------------- # * Draw Exp gauge ring # actor : actor # x : draw spot x-coordinate # y : draw spot y-coordinate # radius : distance from center point # height : Height # amount : size of ring - default 360� # start : start position - max 360� # reverse : draw ring in reverse #-------------------------------------------------------------------------- def draw_actor_exp_ring(actor, x, y, radius, height, amount = 360, start = 0, reverse = false) $rate = actor.now_exp.to_f / [actor.next_exp, 1].max gw = amount * actor.now_exp / [actor.next_exp, 1].max self.contents.cogwheel_fill_ring(x, y, gw, radius, height, BAR::expcolor1, BAR::expcolor2, amount, start, reverse) end #-------------------------------------------------------------------------- # * Draw Custom gauge ring # value : bar calculation value # max : bar max value # x : draw spot x-coordinate # y : draw spot y-coordinate # color1 : bar gradient color 1 # color2 : bar gradient color 2 # radius : distance from center point # height : Height # amount : size of ring - default 360� # start : start position - max 360� # reverse : draw ring in reverse #-------------------------------------------------------------------------- def draw_custom_ring(value, max, x, y, color1, color2, radius, height, amount = 360, start = 0, reverse = false) rate = [value.to_f / max.to_f, 1].min gw = amount * [value.to_f / max.to_f, 1].min gc1 = color1.is_a?(Integer) ? text_color(color1) : color1 gc2 = color2.is_a?(Integer) ? text_color(color2) : color2 r = gc2.red * rate g = (gc2.green - 72) * rate b = gc2.blue * rate a = gc2.alpha self.contents.cogwheel_fill_ring(x, y, gw, radius, height, gc1, Color.new(r, g, b, a), amount, start, reverse) end #-------------------------------------------------------------------------- # * Draw HP # hide_bar : draw Parameters without gauge #-------------------------------------------------------------------------- def draw_actor_hp(actor, x, y, width = 120, hide_bar = false) hide_bar ? nil : draw_actor_hp_gauge(actor, x, y, width) self.contents.font.color = system_color self.contents.draw_text(x, y, 30, WLH, Vocab::hp_a) self.contents.font.color = hp_color(actor) last_font_size = self.contents.font.size xr = x + width if width < 120 self.contents.draw_text(xr - 44, y, 44, WLH, actor.hp, 2) else self.contents.draw_text(xr - 99, y, 44, WLH, actor.hp, 2) self.contents.font.color = normal_color self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2) self.contents.draw_text(xr - 44, y, 44, WLH, actor.maxhp, 2) end end #-------------------------------------------------------------------------- # * Draw MP # hide_bar : draw Parameters without gauge #-------------------------------------------------------------------------- def draw_actor_mp(actor, x, y, width = 120, hide_bar = false) hide_bar ? nil : draw_actor_mp_gauge(actor, x, y, width) self.contents.font.color = system_color self.contents.draw_text(x, y, 30, WLH, Vocab::mp_a) self.contents.font.color = mp_color(actor) last_font_size = self.contents.font.size xr = x + width if width < 120 self.contents.draw_text(xr - 44, y, 44, WLH, actor.mp, 2) else self.contents.draw_text(xr - 99, y, 44, WLH, actor.mp, 2) self.contents.font.color = normal_color self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2) self.contents.draw_text(xr - 44, y, 44, WLH, actor.maxmp, 2) end end #-------------------------------------------------------------------------- # * Draw Exp # actor : actor # x : draw spot x-coordinate # y : draw spot y-coordinate # width : Width # hide_bar : draw Parameters without gauge #-------------------------------------------------------------------------- def draw_actor_exp(actor, x, y, width = 170, hide_bar = false) hide_bar ? nil : draw_actor_exp_gauge(actor, x, y, width) self.contents.font.color = system_color self.contents.draw_text(x, y, 45, WLH, "Exp") self.contents.font.color = normal_color xr = x + width if width < 170 self.contents.draw_text(xr - 60, y, 60, WLH, actor.next_rest_exp_s, 2) else self.contents.draw_text(xr - 131, y, 60, WLH, actor.exp_s, 2) self.contents.draw_text(xr - 71, y, 11, WLH, "/", 2) self.contents.draw_text(xr - 60, y, 60, WLH, actor.next_exp_s, 2) end end end #============================================================================== # ** Window_SkillStatus #------------------------------------------------------------------------------ # Edited so te Bars don't cut off #============================================================================== class Window_SkillStatus < Window_Base #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear draw_actor_name(@actor, 4, 0) draw_actor_level(@actor, 140, 0) draw_actor_hp(@actor, 238, 0) draw_actor_mp(@actor, 390, 0) end end #============================================================================== # ** Bitmap #------------------------------------------------------------------------------ # Added gauge Calculations #============================================================================== class Bitmap #-------------------------------------------------------------------------- # * Includes The BAR Module #-------------------------------------------------------------------------- include BAR #-------------------------------------------------------------------------- # * Wortana's 'gradient_fill_rect' Bug Fix #-------------------------------------------------------------------------- alias gradient_original gradient_fill_rect unless method_defined?('gradient_original') def gradient_fill_rect(*args) args.pop if !args.last if args.size == 4 || 7 and !args.last gradient_original(*args) end #-------------------------------------------------------------------------- # * CogWheel Style Fill of Rect #-------------------------------------------------------------------------- def cogwheel_fill_rect(x, y, gw, width, height, gc1, gc2, up = false) rect_border(x-2, y-2, width+4, height+4, COLOR1, CORNER) rect_border(x-1, y-1, width+2, height+2, COLOR2, CORNER) gradient_fill_rect(x, y, width, height, COLOR3, COLOR4, EMPTY) gradient_fill_rect(x, y, up ? width : gw, up ? gw : height, gc1, gc2, FILLER) end #-------------------------------------------------------------------------- # * CogWheel Style Fill of Slanted Rect #-------------------------------------------------------------------------- def cogwheel_fill_slant(x, y, gw, width, height, gc1, gc2, up = false) bgx = up ? 2 : 4; bdx = up ? 1 : 2 bgy = up ? 4 : 2; bdy = up ? 2 : 1 bgw = up ? 4 : 8; bdw = up ? 2 : 4 bgh = up ? 8 : 4; bdh = up ? 4 : 2 slant_border(x-bgx, y-bgy, width+bgw, height+bgh, COLOR1, up) slant_border(x-bdx, y-bdy, width+bdw, height+bdh, COLOR2, up) gradient_fill_slant(x, y, width, height, COLOR3, COLOR4, EMPTY, up) gradient_fill_slant(x, y,up ? width : gw,up ? gw : height, gc1, gc2, FILLER, up) end #-------------------------------------------------------------------------- # * CogWheel Style Fill of Ring #-------------------------------------------------------------------------- def cogwheel_fill_ring(x, y, gw, radius, height, gc1, gc2, amount = 360, start = 0, reverse = false) fill_ring(x-2, y-2, radius, height+4, COLOR1, amount, start, reverse) fill_ring(x-1, y-1, radius, height+2, COLOR2, amount, start, reverse) if amount >= 220 gradient_fill_ring(x, y, radius, height, COLOR3, COLOR4, [amount/2, 180].min, start, reverse) gradient_fill_ring(x, y, radius, height, COLOR4, COLOR3, [amount/2, 180].min, start+(amount/2), reverse) else gradient_fill_ring(x, y, radius, height, COLOR3, COLOR4, [amount, 360].min, start, reverse) end if gw >= 220 gw1 = amount/2; gw2 = gw / 2 gradient_fill_ring(x, y, radius, height, gc1, gc2, gw1, start, reverse) gradient_fill_ring(x, y, radius, height, gc2, gc1, gw2, start +(amount/2), reverse) else gradient_fill_ring(x, y, radius, height, gc1, gc2, gw, start, reverse) end end #-------------------------------------------------------------------------- # * Fill of Border #-------------------------------------------------------------------------- def rect_border(x, y, width, height, gc1, edge = false) fill_rect(x + (edge ? 1 : 0), y, width - (edge ? 2 : 0), 2, gc1) fill_rect(x + (edge ? 1 : 0), y+(height-2), width - (edge ? 2 : 0), 2, gc1) fill_rect(x, y+1, 2, height-2, gc1) fill_rect(x +(width-2), y+1, 2, height-2, gc1) end #-------------------------------------------------------------------------- # * Gradient Fill of Slanted Rect #-------------------------------------------------------------------------- def gradient_fill_slant(x, y, width, height, gc1, gc2, vertical = false, up = false) if up for i in 1..width if vertical gradient_fill_rect(x + width - i, y+i+1, 1, (height-2)-width, gc1, gc2, vertical) else color = get_gradient_pixel(gc1, gc2, width, i) fill_rect(x + width - i, y+i+1, 1, (height-2)-width, color) end end else for i in 1..height if vertical color = get_gradient_pixel(gc1, gc2, height, i) fill_rect(x+i+1, y + height - i, (width-2)-height, 1, color) else gradient_fill_rect(x+i+1, y + height - i, (width-2)-height, 1, gc1, gc2) end end end end #-------------------------------------------------------------------------- # * Fill of Slanted Rect #-------------------------------------------------------------------------- def fill_slant(x, y, width, height, gc1, up = false) oh = up ? width : height for i in 1..oh if up fill_rect(x + width -i, y+i, 1, height-width, gc1) else fill_rect(x+i, y + height -i, width-height, 1, gc1) end end end #-------------------------------------------------------------------------- # * Fill of Slanted Border #-------------------------------------------------------------------------- def slant_border(x, y, width, height, gc1, up = false) oh = up ? width : height for i in 1..oh-2 if up fill_rect(x + width-1 -i, y+((height-1)-width)+i, 1, 2, gc1) fill_rect(x + width-1 -i, y+1+i, 1, 2, gc1) fill_rect(x + width-1, y+1, 1, height-width, gc1) fill_rect(x, y+width, 1, height-width, gc1) else fill_rect(x+((width-1)-height)+i, y + height-1 -i, 2, 1, gc1) fill_rect(x+1+i, y + height-1 -i, 2, 1, gc1) fill_rect(x+1, y + height -1, width-height, 1, gc1) fill_rect(x+height, y, width-height, 1, gc1) end end end #-------------------------------------------------------------------------- # * Fill of Ring #-------------------------------------------------------------------------- def fill_ring(ox, oy, radius, height, gc1, amount = 360, start = 0, reverse = false) d = 2.0 * Math::PI / 360 for i in 1..[amount, 360].min s = i + start if reverse x = ox + ( radius * Math.sin( d * s ) ).to_i y = oy - ( radius * Math.cos( d * s ) ).to_i else x = ox - ( radius * Math.cos( d * s ) ).to_i y = oy + ( radius * Math.sin( d * s ) ).to_i end fill_rect(x, y, height, height, gc1) end end #-------------------------------------------------------------------------- # * Gradient Fill of Ring #-------------------------------------------------------------------------- def gradient_fill_ring(ox, oy, radius, height, gc1, gc2, amount = 360, start = 0, reverse = false) d = 2.0 * Math::PI / 360 for i in 1..amount s = i + start if reverse x = ox + ( radius * Math.sin( d * s ) ).to_i y = oy - ( radius * Math.cos( d * s ) ).to_i else x = ox - ( radius * Math.cos( d * s ) ).to_i y = oy + ( radius * Math.sin( d * s ) ).to_i end color = get_gradient_pixel(gc1, gc2, amount, i) fill_rect(x, y, height, height, color) end end #-------------------------------------------------------------------------- # * Get Pixel Color for Gradient Fill #-------------------------------------------------------------------------- def get_gradient_pixel(gc1, gc2, amount, i) red = gc1.red * (amount - i) / amount + gc2.red * i / amount green = gc1.green * (amount - i) / amount + gc2.green * i / amount blue = gc1.blue * (amount - i) / amount + gc2.blue * i / amount alpha = gc1.alpha * (amount - i) / amount + gc2.alpha * i / amount return Color.new(red, green, blue, alpha) end end
  13. Nome Script: Profilo Status Versione: N/D Autore/i: DarkChocobo Informazioni: Lo script permettere,attraverso una finestra aggiuntiva,di poter visualizzare il profilo dell'eroe... Screenshots: Istruzioni: All'interno dello Script Script: =begin [ =================================================================== ] [ =================================================================== ] [ ============= ] SCRIPT CRIADO POR: [ ============= ] [ ============= ] [ ============= ] [ ============= ] >>> Dark Chocobo [ ============= ] [ ============= ] [ ============= ] [ ============= ] [ ============= ] [ ============= ] > Status: Profile < [ ============= ] [ ============= ] [ ============= ] [ =================================================================== ] [ ============ ] Mais scripts de Dark Chocobo em: [ ============ ] [ ============ ] DarkChocoboScripts.4shared.com [ ============ ] [ =================================================================== ] [ =============== ] : Comunidade RPG Maker VX : [ =============== ] [ ===== ] http://www.orkut.com/Community.aspx?cmm=40232098 [ ==== ] [ =================================================================== ] [ =================================================================== ] Resumo - Cria uma área da tela de status para mostrar informações detalhadas do heroi. - Para acessá-la basta clicar para baixo, quando estiver na tela de status. Instruções - Você pode alterar o nome das informações nas linhas 31 à 35. - Você pode alterar as informações de cada herói nas linhas 38 à 91 - Você pode alterar as informações de cada herói no meio do jogo chamando script com a linha exata igual a referente do heró neste script. ex Na linha 59 está assim $DarkChocoboScripts["Status Profile"]["Idades"][5] = 19 significa que a idade do herói 5 é '19'. para alterar a idade do herói 5, ao decorrer do jogo chame o comando chamar script dos eventos digite a linha que deseja alterar, neste caso $DarkChocoboScripts["Status Profile"]["Idades"][5] = 20 =end # Cria as configurações iniciais $DarkChocoboScripts = {} if $DarkChocoboScripts.nil? $DarkChocoboScripts["Status Profile"] = {} # Traduções $DarkChocoboScripts["Status Profile"]["Nome Completo"] = "Nome Completo: " $DarkChocoboScripts["Status Profile"]["Idade"] = "Idade: " $DarkChocoboScripts["Status Profile"]["Cidade Natal"] = "Cidade Natal: " $DarkChocoboScripts["Status Profile"]["Oculpação"] = "Oculpação: " $DarkChocoboScripts["Status Profile"]["Descrição"] = "Sobre: " # Nomes $DarkChocoboScripts["Status Profile"]["Nomes Completos"] = [] $DarkChocoboScripts["Status Profile"]["Nomes Completos"][1] = "Ralphael Monroe" $DarkChocoboScripts["Status Profile"]["Nomes Completos"][2] = "Ulrika Jones" $DarkChocoboScripts["Status Profile"]["Nomes Completos"][3] = "Bennett Thompson" $DarkChocoboScripts["Status Profile"]["Nomes Completos"][4] = "Iruva Walsh" $DarkChocoboScripts["Status Profile"]["Nomes Completos"][5] = "Lawrence Dent" $DarkChocoboScripts["Status Profile"]["Nomes Completos"][6] = "Oscar Mazzini" $DarkChocoboScripts["Status Profile"]["Nomes Completos"][7] = "Vera Edwards" $DarkChocoboScripts["Status Profile"]["Nomes Completos"][8] = "Elmer Meisner" # Idades $DarkChocoboScripts["Status Profile"]["Idades"] = [] $DarkChocoboScripts["Status Profile"]["Idades"][1] = "Desconhecido" $DarkChocoboScripts["Status Profile"]["Idades"][2] = "Criança" $DarkChocoboScripts["Status Profile"]["Idades"][3] = "Adolescênte" $DarkChocoboScripts["Status Profile"]["Idades"][4] = "Adulto" $DarkChocoboScripts["Status Profile"]["Idades"][5] = "19" # pode ser colocado $DarkChocoboScripts["Status Profile"]["Idades"][6] = "16" # tanto em números $DarkChocoboScripts["Status Profile"]["Idades"][7] = "17" # quanto em parênteses $DarkChocoboScripts["Status Profile"]["Idades"][8] = 22 # sem nenhum problema # Cidades Natal $DarkChocoboScripts["Status Profile"]["Cidades Natal"] = [] $DarkChocoboScripts["Status Profile"]["Cidades Natal"][1] = "Desconhecido" $DarkChocoboScripts["Status Profile"]["Cidades Natal"][2] = "Desconhecido" $DarkChocoboScripts["Status Profile"]["Cidades Natal"][3] = "Desconhecido" $DarkChocoboScripts["Status Profile"]["Cidades Natal"][4] = "Desconhecido" $DarkChocoboScripts["Status Profile"]["Cidades Natal"][5] = "Desconhecido" $DarkChocoboScripts["Status Profile"]["Cidades Natal"][6] = "Desconhecido" $DarkChocoboScripts["Status Profile"]["Cidades Natal"][7] = "Desconhecido" $DarkChocoboScripts["Status Profile"]["Cidades Natal"][8] = "Desconhecido" # Oculpações $DarkChocoboScripts["Status Profile"]["Oculpações"] = [] $DarkChocoboScripts["Status Profile"]["Oculpações"][1] = "Personagem Principal" $DarkChocoboScripts["Status Profile"]["Oculpações"][2] = "Herói." $DarkChocoboScripts["Status Profile"]["Oculpações"][3] = "Herói." $DarkChocoboScripts["Status Profile"]["Oculpações"][4] = "Herói." $DarkChocoboScripts["Status Profile"]["Oculpações"][5] = "Herói." $DarkChocoboScripts["Status Profile"]["Oculpações"][6] = "Herói." $DarkChocoboScripts["Status Profile"]["Oculpações"][7] = "Herói." $DarkChocoboScripts["Status Profile"]["Oculpações"][8] = "Herói." # Descrições $DarkChocoboScripts["Status Profile"]["Descrições"] = [] $DarkChocoboScripts["Status Profile"]["Descrições"][1] = "Personagem principal do jogo, ele vai salvar o mundo do malvado "Vingador", que quer do-minar o mundo com seu diabólico plano criado pelo Cebolinha." $DarkChocoboScripts["Status Profile"]["Descrições"][2] = "Descrição." $DarkChocoboScripts["Status Profile"]["Descrições"][3] = "Descrição." $DarkChocoboScripts["Status Profile"]["Descrições"][4] = "Descrição." $DarkChocoboScripts["Status Profile"]["Descrições"][5] = "Descrição." $DarkChocoboScripts["Status Profile"]["Descrições"][6] = "Descrição." $DarkChocoboScripts["Status Profile"]["Descrições"][7] = "Descrição." $DarkChocoboScripts["Status Profile"]["Descrições"][8] = "Descrição." # Script (não mecher) class Window_Status < Window_Base alias dc_status_profile_refresh refresh def refresh1 dc_status_profile_refresh self.oy = -1 self.ox = 0 @refresh = 1 end def refresh2 self.contents.clear draw_actor_face(@actor, 8, 0) draw_actor_name(@actor, 4, 72) self.contents.font.color = system_color self.contents.draw_text(4, 100 + 32 * 0, 360, 32, $DarkChocoboScripts["Status Profile"]["Nome Completo"]) self.contents.font.color = normal_color self.contents.draw_text(4 + contents.text_size($DarkChocoboScripts["Status Profile"]["Nome Completo"]).width, 100 + 32 * 0, 360, 32, $DarkChocoboScripts["Status Profile"]["Nomes Completos"][@actor.id]) self.contents.font.color = system_color self.contents.draw_text(4, 100 + 32 * 1, 360, 32, $DarkChocoboScripts["Status Profile"]["Idade"]) self.contents.font.color = normal_color self.contents.draw_text(4 + contents.text_size($DarkChocoboScripts["Status Profile"]["Idade"]).width, 100 + 32 * 1, 360, 32, $DarkChocoboScripts["Status Profile"]["Idades"][@actor.id].to_s) self.contents.font.color = system_color self.contents.draw_text(4, 100 + 32 * 2, 360, 32, $DarkChocoboScripts["Status Profile"]["Cidade Natal"]) self.contents.font.color = normal_color self.contents.draw_text(4 + contents.text_size($DarkChocoboScripts["Status Profile"]["Cidade Natal"]).width, 100 + 32 * 2, 360, 32, $DarkChocoboScripts["Status Profile"]["Cidades Natal"][@actor.id]) self.contents.font.color = system_color self.contents.draw_text(4, 100 + 32 * 3, 360, 32, $DarkChocoboScripts["Status Profile"]["Oculpação"]) self.contents.font.color = normal_color self.contents.draw_text(4 + contents.text_size($DarkChocoboScripts["Status Profile"]["Oculpação"]).width, 100 + 32 * 3, 360, 32, $DarkChocoboScripts["Status Profile"]["Oculpações"][@actor.id]) self.contents.font.color = system_color self.contents.draw_text(4, 100 + 32 * 4, 360, 32, $DarkChocoboScripts["Status Profile"]["Descrição"]) self.contents.font.color = normal_color description = $DarkChocoboScripts["Status Profile"]["Descrições"][@actor.id].clone contents_x = 4 + self.contents.text_size($DarkChocoboScripts["Status Profile"]["Descrição"]).width contents_y = 100 + 32 * 4 + 4 while description != "" letter = description.slice!(/./m) unless letter == " " ;self.contents.draw_text(contents_x, contents_y, 40, 24, letter) letter_width = self.contents.text_size(letter).width contents_x += letter_width contents_y += 24 if contents_x >= 320; contents_x = 4 if contents_x >= 320 end end self.oy = 1 self.ox = 0 @refresh = 2 end def refresh if @refresh.nil? refresh1 else return @refresh end end end class Scene_Status < Scene_Base def update update_menu_background @status_window.update if Input.trigger?(Input:: Sound.play_cancel return_scene elsif Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT) Sound.play_cursor next_actor while @status_window.contents_opacity > 0 Graphics.update @status_window.ox += 1 @status_window.contents_opacity -= 25 end @status_window.refresh == 1 ? @status_window.refresh1 : @status_window.refresh2 elsif Input.trigger?(Input::L) or Input.trigger?(Input::LEFT) Sound.play_cursor prev_actor while @status_window.contents_opacity > 0 Graphics.update @status_window.ox -= 1 @status_window.contents_opacity -= 25 end @status_window.refresh == 1 ? @status_window.refresh1 : @status_window.refresh2 elsif Input.trigger?(Input::UP) return if @status_window.refresh == 1 Sound.play_cursor while @status_window.contents_opacity > 0 Graphics.update @status_window.oy -= 1 @status_window.contents_opacity -= 25 end @status_window.refresh == 1 ? @status_window.refresh2 : @status_window.refresh1 @status_window.oy = 8 while @status_window.contents_opacity < 255 Graphics.update @status_window.oy -= 1 @status_window.contents_opacity += 25 end elsif Input.trigger?(Input::DOWN) return if @status_window.refresh == 2 Sound.play_cursor while @status_window.contents_opacity > 0 Graphics.update @status_window.oy += 1 @status_window.contents_opacity -= 25 end @status_window.refresh == 1 ? @status_window.refresh2 : @status_window.refresh1 @status_window.oy = -8 while @status_window.contents_opacity < 255 Graphics.update @status_window.oy += 1 @status_window.contents_opacity += 25 end end super end end Incompatibilità: Incompatibilità con altri Script che modificano la scena dello Status.
  14. Ally

    Interfacce Targhetta

    Nome Script: Targhetta Versione: N/D Autore/i: Herupty Informazioni: Questo script permette di visualizzare una finestra con alcune info sul PG Istruzioni: - inserire sotto Materials - creare uno strumento (item) chiamato Targhetta dell'eroe - associare allo strumento un evento comune (Common event) - nell'evento comune inserire un call script con scritto Targhetta.new - per visualizzare il lavoro completo aprire il menu, andare negli strumenti (Items) e selezionare "Targhetta dell'eroe" - p.s. mettetemi nei crediti...http://rpgmkr.net/forum/public/style_emoticons/default/xd.gif Script: class Targhetta < Window_Base def initialize #definisco la variabile $anni $anni = 9 # Dimensione della finestra. super(0, 0, 300, 400) # Creazione del Bitmap. self.contents = Bitmap.new(width - 32, height - 32) # Settaggio della dimensione e del tipo di testo da utilizzare. self.contents.font.name = "Segoe Print" self.contents.font.size = 26 # Richiamare il metodo refresh per scrivere il testo. refresh end #----------NOTA----------NOTA----------NOTA----------NOTA---------- #Ricordo che al metodo "refresh" si può assegnare anche un'altro nome, che si #modificherà anche qui sotto... #----------FINE----------FINE----------FINE----------FINE---------- def refresh # Pulire il contenuto della finestra self.contents.clear # Inserire il face del chara if $anni <= 14 # SE la var globale $anni è uguale o minore di 14 #visualizzo il face nella cartella picture, con il nome bimbo @immagine = Sprite.new @immagine.bitmap = Cache.picture("bimbo.png") @immagine.x = 180 @immagine.y = 10 elsif $anni <= 25 # SE la var globale $anni è uguale o minore di 25 #visualizzo il face nella cartella picture, con il nome raga @immagine = Sprite.new @immagine.bitmap = Chache.picture("raga.png") @immagine.x = 180 @immagine.y = 10 elsif $anni >= 25 #se la var globale $anni è uguale o maggiore di 25 #visualizzo il face nella cartella picture, con il nome adul @immagine = Sprite.new @immagine.bitmap = Chache.picture("adul.png") @immagine.x = 180 @immagine.y = 10 end # Scrivere il testo #il titolo self.contents.draw_text(0, 0, 120, 32, "Targhetta dell'eroe") #il nome dell'eroe self.contents.draw_text(5, 20, 120, 32, "Nome:") self.contents.draw_text(60, 20, 120, 32, $game_actors[1].name) #il livello dell'eroe self.contents.draw_text(5, 40, 120, 32, "Livello:") self.contents.draw_text(60, 40, 120, 32, $game_actors[1].level) #Fase, cioè classe, dell'eroe self.contents.draw_text(5, 60, 120, 32, "Fase:") self.contents.draw_text(60, 60, 120, 32, $data_classes[$data_actors[1].class_id].name) #Anni dell'eroe ($anni) self.contents.draw_text(5, 80, 120, 32, "Anni:") self.contents.draw_text(60, 80, 120, 32, $anni) #Soldi posseduti dall'eroe self.contents.draw_text(5, 100, 120, 32, "Soldi") self.contents.draw_text(60, 100, 120, 32, $game_party.gold) =begin io ho messo "fase" perchè ho impostato solo tre classi: Bambino, Ragazzo, Adulto quindi sono tra fasi, ma in realtà, nel comando, richiamo il nome della classe =end #se premi "X" torni alla mappa if Input.trigger?(Input:: self.dispose $scene = Scene_Map.new end end end Demo:http://www.mediafire.com/file/2imdny4myzj/Targhetta.exe Incompatibilità: N/D
  15. Nome Script: Simple Font Change Versione: N/D Autore/i: DeadlyDan Informazioni: Piccolo script,che permetterà di farvi cambare Font... Istruzioni: Andate nella classe Main,e prima di begin inserite questo codice: def FontExist? unless Font.exist? ( Font.default_name ) print "Unable to find #{Font.default_name} font." exit end end def FontLoad ( fontname, fontsize ) Font.default_name = fontname Font.default_size = fontsize FontExist? endPoi,prima della linea $scene = Scene_Title.new,inserite: FontLoad ( "Comic Sans MS", 15 )Se non vuoi installare il font che vuoi usare nel tuo game,basta creare una cartella nominata Fonts,dentro alla tua cartella di gioco
  16. Nome Script: Sistema i-phone Versione: N/D Autore/i: Necrozard Informazioni: Questo script simula un telefono in cui l'npc potrà ricevere ad esempio,sms,ascoltare la musica etc etc... Istruzioni: All'interno della demo Demo: http://www.mediafire.com/download.php?mn53zazjytm
  17. Nome Script: Picture Gallery Versione: 1.0 Autore/i: Moghunter Informazioni: Un sistema di galleria di immagini. Istruzioni: Basta copiare lo script all'interno della demo e copiare le immagini necessario contenute al suo interno nel vostro progetto. Demo: http://atelier-rgss.com/RGSS/Demos/XP_Gallery.zip Mirror: http://www.mediafire.com/?h1opryhyzm8n5h4
  18. Nome Script: Window_NomeMappa Versione: 1.0 Autore/i: Melosx Informazioni: Aggiunge una window per mostrare il nome della mappa in cui vi trovate. Istruzioni: Copiare sopra Main. Script: #============================================================================= # ** Window_NomeMappa #============================================================================= # Autore: Melosx # Versione: 1.0 # Data di creazione: 7-9-2011 => v1.0 # # Descrizione: # # Aggiunge una window per mostrare il nome della mappa in cui vi trovate. # # Istruzioni: # # Copiate lo Script sopra Main. # #============================================================================= class Window_NomeMappa < Window_Base def initialize super(0, 320, 182, 64) self.contents = Bitmap.new(width - 32, height - 32) refresh end def update refresh if @map != $game_map.map_name end def refresh self.contents.clear self.contents.font.size = 18 @map = $game_map.map_name text = @map self.contents.draw_text(30, 0, 122, 32, text, 0) end end #============================================================================= # ** Game_Map #============================================================================= class Game_Map def map_name infos = load_data('Data/MapInfos.rxdata') return infos[@map_id].name end end #============================================================================= # ** Scene_Menu #============================================================================= class Scene_Menu alias area_name_main main unless $@ alias area_name_updt update unless $@ def main @areaname_window = Window_NomeMappa.new @areaname_window.visible = true area_name_main @areaname_window.dispose end def update area_name_updt @areaname_window.update end end
  19. Nome Script: Script Cursore Versione: N/D Autore/i: Selwyn Informazioni: Script che aggiunge un cursore come succede nei giochi di Final Fantasy. Istruzioni: Inserite lo script sopra Main. Aggiungete poi questa immagine nella cartella Pictures del vostro progetto: Script: #============================================================================== # â– Cursor Script #------------------------------------------------------------------------------ #  Script to display a cursor instead of a highlight box # by Selwyn # [email protected] #============================================================================== #============================================================================== # â– Cursor_Sprite #============================================================================== class Sprite_Cursor < Sprite #-------------------------------------------------------------------------- # â— instances #-------------------------------------------------------------------------- attr_accessor :true_x attr_accessor :true_y #-------------------------------------------------------------------------- # â— initialize #-------------------------------------------------------------------------- def initialize(x = 0, y = 0) super() self.x = @true_x = x self.y = @true_y = y self.z = 10000 self.bitmap = RPG::Cache.picture("cursor") rescue Bitmap.new(32, 32) end #-------------------------------------------------------------------------- # â— update #-------------------------------------------------------------------------- def update super if self.y < @true_y n = (@true_y - self.y) / 3 n = 1 if n == 0 self.y += n elsif self.y > @true_y n = (self.y - @true_y) / 3 n = 1 if n == 0 self.y -= n end if self.x < @true_x n = (@true_x - self.<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt=':doute2' /> / 3 n = 1 if n == 0 self.x += n elsif self.x > @true_x n = (self.x - @true_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> / 3 n = 1 if n == 0 self.x -= n end end end #============================================================================== # â– Window_Selectable #============================================================================== class Window_Selectable < Window_Base #-------------------------------------------------------------------------- # â— instances #-------------------------------------------------------------------------- attr_accessor :cursor alias initialize_cursor initialize alias update_cursor_moves update alias dispose_cursor dispose #-------------------------------------------------------------------------- # â— initialize #-------------------------------------------------------------------------- def initialize(x, y, width, height) initialize_cursor(x, y, width, height) @cursor = Sprite_Cursor.new(x, y) update_cursor end #-------------------------------------------------------------------------- # â— x= #-------------------------------------------------------------------------- def x=(<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> super @cursor.x = x if [email protected]? end #-------------------------------------------------------------------------- # â— y= #-------------------------------------------------------------------------- def y= super @cursor.y = y if [email protected]? end #-------------------------------------------------------------------------- # â— visible= #-------------------------------------------------------------------------- def visible=(visible) super if [email protected]? and visible == false @cursor.visible = false end end #-------------------------------------------------------------------------- # â— dispose #-------------------------------------------------------------------------- def dispose dispose_cursor @cursor.dispose end #-------------------------------------------------------------------------- # â— update_cursor_rect #-------------------------------------------------------------------------- def update_cursor_rect if @index < 0 self.cursor_rect.empty return end row = @index / @column_max if row < self.top_row self.top_row = row end if row > self.top_row + (self.page_row_max - 1) self.top_row = row - (self.page_row_max - 1) end cursor_width = self.width / @column_max - 32 x = @index % @column_max * (cursor_width + 32) y = @index / @column_max * 32 - self.oy self.cursor_rect.set(x, y, cursor_width, 32) end #-------------------------------------------------------------------------- # â— update_cursor #-------------------------------------------------------------------------- def update_cursor @cursor.true_x = self.cursor_rect.x + self.x - 8 @cursor.true_y = self.cursor_rect.y + self.y + 16 @cursor.update @cursor.visible = (self.visible and self.index >= 0) end #-------------------------------------------------------------------------- # â— update #-------------------------------------------------------------------------- def update update_cursor_moves update_cursor end end
  20. Nome Script: Finestra Salva - Carica Versione: 1.0 Autore/i: Melosx Informazioni: Aggiunge la possibilità di scegliere se Salvare o caricare la partita sostituendo il comando salva del menu. Istruzioni: Mettetelo sopra main. Script: #============================================================================== # ** Salva/Carica - Versione XP #============================================================================= # Autore: Melosx # Versione: 1.0 # Data di creazione: 4-6-2011 => v1.0 # # # Quando si va sul comando Salva/Carica del menù questo script fa apparire una # finestra di selezione dove si sceglie se salvare o caricare una partita. # E' possibile cambiare il nome al comando modificando il valore a NOMECOMANDO. # Se l'opzione di salvataggio viene disabilitata sarà possibile solo caricare. # #============================================================================= module SC NOMECOMANDO = "Salva/Carica" end class Scene_Salva_Carica def main s1 = "Salva" s2 = "Carica" @command_window = Window_Command.new(192, [s1, s2]) @command_window.x = 320 - @command_window.width / 2 @command_window.y = 240 - @command_window.height / 2 Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @command_window.dispose end def update @command_window.update if Input.trigger?(Input:: $game_system.se_play($data_system.cancel_se) $scene = Scene_Menu.new(5) return end if $game_system.save_disabled @command_window.disable_item(0) end if Input.trigger?(Input::C) case @command_window.index when 0 if $game_system.save_disabled $game_system.se_play($data_system.buzzer_se) else comando_salva end when 1 comando_carica end return end end def comando_salva $game_system.se_play($data_system.decision_se) $scene = Scene_Save.new end def comando_carica $game_system.se_play($data_system.decision_se) $scene = Scene_Carica.new end end #============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # * alias #============================================================================== class Scene_Menu include SC alias melosx_main main alias melosx_update_command update_command #-------------------------------------------------------------------------- # * Main Processing #-------------------------------------------------------------------------- def main s1 = $data_system.words.item s2 = $data_system.words.skill s3 = $data_system.words.equip s4 = "Status" s5 = SC::NOMECOMANDO s6 = "End Game" @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index if $game_party.actors.size == 0 @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end @playtime_window = Window_PlayTime.new @playtime_window.x = 0 @playtime_window.y = 224 @steps_window = Window_Steps.new @steps_window.x = 0 @steps_window.y = 320 @gold_window = Window_Gold.new @gold_window.x = 0 @gold_window.y = 416 @status_window = Window_MenuStatus.new @status_window.x = 160 @status_window.y = 0 Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @command_window.dispose @playtime_window.dispose @steps_window.dispose @gold_window.dispose @status_window.dispose end def update_command if Input.trigger?(Input:: $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new return end if Input.trigger?(Input::C) if $game_party.actors.size == 0 and @command_window.index < 4 $game_system.se_play($data_system.buzzer_se) return end case @command_window.index when 0 $game_system.se_play($data_system.decision_se) $scene = Scene_Item.new when 1 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.index = 0 when 2 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.index = 0 when 3 $game_system.se_play($data_system.decision_se) @command_window.active = false @status_window.active = true @status_window.index = 0 when 4 $game_system.se_play($data_system.decision_se) $scene = Scene_Salva_Carica.new when 5 $game_system.se_play($data_system.decision_se) $scene = Scene_End.new end return end end end class Scene_Carica < Scene_Load def on_cancel # Play cancel SE $game_system.se_play($data_system.cancel_se) # If called from event if $game_temp.save_calling # Clear save call flag $game_temp.save_calling = false # Switch to map screen $scene = Scene_Map.new return end # Switch to menu screen $scene = Scene_Menu.new(4) end end
  21. Titolo: Limitare Oggetti Versione: N/D Autore/i: Moghunter Informazioni: Script che permette di limitare la quantità di oeggetti posseduti... Istruzioni: All'interno della Demo Demo: http://www.atelier-rgss.com/RGSS/Demos/ ... _Limit.exe
  22. Titolo: Configurazioni Avanzate Versione: N/D Autore/i: Sleeping Leonhart Informazioni: Ottimo sistema di configurazione del gioco,che permette di cambiare il sistema audio,video etc... Screenshots: Istruzioni: All'interno della Demo Demo: http://www.mediafire.com/?d0ywjwmj1yh
  23. Ally

    Interfacce Bestiario

    Titolo: Bestiario Versione: ? Autore/i: DaD and RagnarokM Informazioni: script di un bestiario Istruzioni: - inserire sopra main Script:: #by DaD and RagnarokM module Enemy_Book_Config DROP_ITEM_NEED_ANALYZE = false EVA_NAME = "Evasione" SHOW_COMPLETE_TYPE = 3 end class Game_Temp attr_accessor :enemy_book_data alias temp_enemy_book_data_initialize initialize def initialize temp_enemy_book_data_initialize @enemy_book_data = Data_MonsterBook.new end end class Game_Party attr_accessor :enemy_info #-------------------------------------------------------------------------- alias book_info_initialize initialize def initialize book_info_initialize @enemy_info = {} end #-------------------------------------------------------------------------- def add_enemy_info(enemy_id, type = 0) case type when 0 if @enemy_info[enemy_id] == 2 return false end @enemy_info[enemy_id] = 1 when 1 @enemy_info[enemy_id] = 2 when -1 @enemy_info[enemy_id] = 0 end end #-------------------------------------------------------------------------- def enemy_book_max return $game_temp.enemy_book_data.id_data.size - 1 end #-------------------------------------------------------------------------- def enemy_book_now now_enemy_info = @enemy_info.keys no_add = $game_temp.enemy_book_data.no_add_element new_enemy_info = [] for i in now_enemy_info enemy = $data_enemies[i] next if enemy.name == "" if enemy.element_ranks[no_add] == 1 next end new_enemy_info.push(enemy.id) end return new_enemy_info.size end #-------------------------------------------------------------------------- def enemy_book_complete_percentage e_max = enemy_book_max.to_f e_now = enemy_book_now.to_f comp = e_now / e_max * 100 return comp.truncate end end class Interpreter def enemy_book_max return $game_party.enemy_book_max end def enemy_book_now return $game_party.enemy_book_now end def enemy_book_comp return $game_party.enemy_book_complete_percentage end end class Scene_Battle alias add_enemy_info_start_phase5 start_phase5 def start_phase5 for enemy in $game_troop.enemies unless enemy.hidden $game_party.add_enemy_info(enemy.id, 0) end end add_enemy_info_start_phase5 end end class Window_Base < Window def initialize(x, y, width, height) super() self.contents = Bitmap.new (width - 32, height - 32) self.contents.font.name = "Arial" @windowskin_name = $game_system.windowskin_name self.windowskin = RPG::Cache.windowskin(@windowskin_name) self.x = x self.y = y self.width = width self.height = height self.z = 100 end #-------------------------------------------------------------------------- def draw_enemy_drop_item(enemy, x, y) self.contents.font.color = normal_color self.contents.font.name = "Arial" treasures = [] if enemy.item_id > 0 treasures.push($data_items[enemy.item_id]) end if enemy.weapon_id > 0 treasures.push($data_weapons[enemy.weapon_id]) end if enemy.armor_id > 0 treasures.push($data_armors[enemy.armor_id]) end if treasures.size > 0 item = treasures[0] bitmap = RPG::Cache.icon(item.icon_name) opacity = 255 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) name = treasures[0].name else self.contents.font.color = disabled_color self.contents.font.name = "Arial" name = "No Item" end self.contents.draw_text(x+28, y, 212, 32, name) end #-------------------------------------------------------------------------- def draw_enemy_book_id(enemy, x, y) self.contents.font.color = normal_color self.contents.font.name = "Arial" id = $game_temp.enemy_book_data.id_data.index(enemy.id) self.contents.draw_text(x, y, 32, 32, id.to_s) end #-------------------------------------------------------------------------- def draw_enemy_name(enemy, x, y) self.contents.font.color = normal_color self.contents.font.name = "Arial" self.contents.draw_text(x, y, 152, 32, enemy.name) end #-------------------------------------------------------------------------- def draw_enemy_graphic(enemy, x, y, opacity = 255) bitmap = RPG::Cache.battler(enemy.battler_name, enemy.battler_hue) cw = bitmap.width ch = bitmap.height src_rect = Rect.new(0, 0, cw, ch) x = x + (cw / 2 - <img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> if cw / 2 > x self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect, opacity) end #-------------------------------------------------------------------------- def draw_enemy_exp(enemy, x, y) self.contents.font.color = system_color self.contents.font.name = "Arial" self.contents.draw_text(x, y, 120, 32, "EXP") self.contents.font.color = normal_color self.contents.font.name = "Arial" self.contents.draw_text(x + 120, y, 36, 32, enemy.exp.to_s, 2) end #-------------------------------------------------------------------------- def draw_enemy_gold(enemy, x, y) self.contents.font.color = system_color self.contents.font.name = "Arial" self.contents.draw_text(x, y, 120, 32, $data_system.words.gold) self.contents.font.color = normal_color self.contents.font.name = "Arial" self.contents.draw_text(x + 120, y, 36, 32, enemy.gold.to_s, 2) end end class Game_Enemy_Book < Game_Enemy #-------------------------------------------------------------------------- def initialize(enemy_id) super(2, 1) @enemy_id = enemy_id enemy = $data_enemies[@enemy_id] @battler_name = enemy.battler_name @battler_hue = enemy.battler_hue @hp = maxhp @sp = maxsp end end class Data_MonsterBook attr_reader :id_data #-------------------------------------------------------------------------- def initialize @id_data = enemy_book_id_set end #-------------------------------------------------------------------------- def no_add_element no_add = 0 for i in 1...$data_system.elements.size if $data_system.elements[i] =~ /Monster Book/ no_add = i break end end return no_add end #-------------------------------------------------------------------------- def enemy_book_id_set data = [0] no_add = no_add_element for i in 1...$data_enemies.size enemy = $data_enemies[i] next if enemy.name == "" if enemy.element_ranks[no_add] == 1 next end data.push(enemy.id) end return data end end class Window_MonsterBook < Window_Selectable attr_reader :data #-------------------------------------------------------------------------- def initialize(index=0) super(0, 64, 640, 416) @column_max = 2 @book_data = $game_temp.enemy_book_data @data = @book_data.id_data.dup @data.shift @item_max = @data.size self.index = 0 refresh if @item_max > 0 end #-------------------------------------------------------------------------- def data_set data = $game_party.enemy_info.keys data.sort! newdata = [] for i in data next if $game_party.enemy_info[i] == 0 if book_id(i) != nil newdata.push(i) end end return newdata end #-------------------------------------------------------------------------- def show?(id) if $game_party.enemy_info[id] == 0 or $game_party.enemy_info[id] == nil return false else return true end end #-------------------------------------------------------------------------- def book_id(id) return @book_data.index(id) end #-------------------------------------------------------------------------- def item return @data[self.index] end #-------------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end self.contents = Bitmap.new(width - 32, row_max * 32) if @item_max > 0 for i in 0...@item_max draw_item(i) end end end #-------------------------------------------------------------------------- def draw_item(index) enemy = $data_enemies[@data[index]] return if enemy == nil x = 4 + index % 2 * (288 + 32) y = index / 2 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.font.color = normal_color self.contents.font.name = "Arial" draw_enemy_book_id(enemy, x, y) if show?(enemy.id) self.contents.draw_text(x + 28+16, y, 212, 32, enemy.name, 0) else self.contents.draw_text(x + 28+16, y, 212, 32, "-----", 0) return end if analyze?(@data[index]) self.contents.font.color = text_color(3) self.contents.font.name = "Arial" self.contents.draw_text(x + 256, y, 24, 32, "Cancel", 2) end end #-------------------------------------------------------------------------- def analyze?(enemy_id) if $game_party.enemy_info[enemy_id] == 2 return true else return false end end end class Window_MonsterBook_Info < Window_Base include Enemy_Book_Config #-------------------------------------------------------------------------- def initialize super(0, 0+64, 640, 480-64) self.contents = Bitmap.new(width - 32, height - 32) end #-------------------------------------------------------------------------- def refresh(enemy_id) self.contents.clear self.contents.font.name = "Arial" self.contents.font.size = 22 enemy = Game_Enemy_Book.new(enemy_id) draw_enemy_graphic(enemy, 96, 240+48+64, 200) draw_enemy_book_id(enemy, 4, 0) draw_enemy_name(enemy, 48, 0) draw_actor_hp(enemy, 288, 0) draw_actor_sp(enemy, 288+160, 0) draw_actor_parameter(enemy, 288 , 32, 0) self.contents.font.color = system_color self.contents.draw_text(288+160, 32, 120, 32, EVA_NAME) self.contents.font.color = normal_color self.contents.draw_text(288+160 + 120, 32, 36, 32, enemy.eva.to_s, 2) draw_actor_parameter(enemy, 288 , 64, 3) draw_actor_parameter(enemy, 288+160, 64, 4) draw_actor_parameter(enemy, 288 , 96, 5) draw_actor_parameter(enemy, 288+160, 96, 6) draw_actor_parameter(enemy, 288 , 128, 1) draw_actor_parameter(enemy, 288+160, 128, 2) draw_enemy_exp(enemy, 288, 160) draw_enemy_gold(enemy, 288+160, 160) if analyze?(enemy.id) or !DROP_ITEM_NEED_ANALYZE self.contents.draw_text(288, 192, 96, 32, "Oggetto lasciato") draw_enemy_drop_item(enemy, 288+96+4, 192) self.contents.font.color = normal_color end end #-------------------------------------------------------------------------- def analyze?(enemy_id) if $game_party.enemy_info[enemy_id] == 2 return true else return false end end end class Scene_MonsterBook include Enemy_Book_Config #-------------------------------------------------------------------------- def main $game_temp.enemy_book_data = Data_MonsterBook.new @title_window = Window_Base.new(0, 0, 640, 64) @title_window.contents = Bitmap.new(640 - 32, 64 - 32) @title_window.contents.draw_text(4, 0, 320, 32, "Monster Book", 0) if SHOW_COMPLETE_TYPE != 0 case SHOW_COMPLETE_TYPE when 1 e_now = $game_party.enemy_book_now e_max = $game_party.enemy_book_max text = e_now.to_s + "/" + e_max.to_s when 2 comp = $game_party.enemy_book_complete_percentage text = comp.to_s + "%" when 3 e_now = $game_party.enemy_book_now e_max = $game_party.enemy_book_max comp = $game_party.enemy_book_complete_percentage text = e_now.to_s + "/" + e_max.to_s + " " + comp.to_s + "%" end if text != nil @title_window.contents.draw_text(320, 0, 288, 32, text, 2) end end @main_window = Window_MonsterBook.new @main_window.active = true @info_window = Window_MonsterBook_Info.new @info_window.z = 110 @info_window.visible = false @info_window.active = false @visible_index = 0 Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @main_window.dispose @info_window.dispose @title_window.dispose end #-------------------------------------------------------------------------- def update @main_window.update @info_window.update if @info_window.active update_info return end if @main_window.active update_main return end end #-------------------------------------------------------------------------- def update_main if Input.trigger?(Input:: $game_system.se_play($data_system.cancel_se) $scene = Scene_Zaino.new(2) return end if Input.trigger?(Input::C) if @main_window.item == nil or @main_window.show?(@main_window.item) == false $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) @main_window.active = false @info_window.active = true @info_window.visible = true @visible_index = @main_window.index @info_window.refresh(@main_window.item) return end end #-------------------------------------------------------------------------- def update_info if Input.trigger?(Input:: $game_system.se_play($data_system.cancel_se) @main_window.active = true @info_window.active = false @info_window.visible = false return end if Input.trigger?(Input::C) return end if Input.trigger?(Input::L) $game_system.se_play($data_system.decision_se) loop_end = false while loop_end == false if @visible_index != 0 @visible_index -= 1 else @visible_index = @main_window.data.size - 1 end loop_end = true if @main_window.show?(@main_window.data[@visible_index]) end id = @main_window.data[@visible_index] @info_window.refresh(id) return end if Input.trigger?(Input::R) $game_system.se_play($data_system.decision_se) loop_end = false while loop_end == false if @visible_index != @main_window.data.size - 1 @visible_index += 1 else @visible_index = 0 end loop_end = true if @main_window.show?(@main_window.data[@visible_index]) end id = @main_window.data[@visible_index] @info_window.refresh(id) return end end end Demo:Nessuna Demo Incompatibilita: script Equipment Creator
  24. Titolo: Finestra Fissa Versione: 1.0 Autore/i: Ally Informazioni: script che fissa la finestra Istruzioni: Inserire lo script sopra main.. Per disattivare il menù sotto la variabile @win = 0 inserisci questa stringa di codice: $game_system.menu_disabled = true Script: #============================================== # # Finestra Fissa # By Ally # # http://www.rpgmkr.net # http://www.makerando.com #=============================================== class Finestra < Window_Base def initialize super (0, 0, 340, 340) self.contents = Bitmap.new(width - 32, height - 32) @win = 0 refresh end def refresh self.contents.clear actor = $game_party.actors[0] if $scene.is_a?(Scene_Menu) self.contents.clear end if $scene.is_a?(Scene_Battle) self.contents.clear self.visible = false end end end class Scene_Map alias mexod_main main def main @finestra = Finestra.new mexod_main @finestra.dispose end alias mexod_update update def update mexod_update @finestra.update @finestra.refresh end end
  25. Nome Script: Inserire Cursore Versione: 1.0.2 Autore/i: PARA Informazioni: Cursore animato. Crea un cursore sulla base di immagini. E' possibile definire i numeri di frames dell'immagine. E' possibile impostare la velocità del cursore. Screenshots: Istruzioni: Crea una cartella chiamata Cursors. I frame delle immagini,dovranno essere chiamati: Cursor1,Cursor2,Cursor3...e così via... Inserire lo script sotto Material. Script: #=============================================================================== # PARA Cursor v1.0.2 (Autor: PARA/Modificado por: NicholasRg) #------------------------------------------------------------------------------- # Este script cria um cursor baseado em imagens, que substitui # o cursor padrão da windowskin. #------------------------------------------------------------------------------- # OBS: Crie uma pasta chamada "Cursors", e salvem as imagens nela. #=============================================================================== # Configure Abaixo # module PARA_LEFT_CURSOR # Nome da imagen do cursor FILE_NAME = "Cursor" # Tipo do Cursor #(0 = Exibe apenas a imagen do cursor) #(1 = Exibe a imagen do cursor eo da windowskin Simultâneamente) TYPE = 0 # Maximo de frames MAX_FRAMES = 10 # OBS : o Script vai procurar as imagens Cursor1, Cursor2 e Cursor3 # e não Cursor. # Velocidade ANM_SPEED = 3 end # Fim da Configuração, Não modifique Abaixo # module RPG::Cache def self.cursors(filename, hue = 0) self.load_bitmap('Graphics/Cursors/', filename, hue) end end class Window_Base alias cursor_rect_para_lcr cursor_rect def cursor_rect=(rect) if PARA_LEFT_CURSOR::TYPE == 1 super(rect) end empty = Rect.new(0,0,0,0) if rect != empty and self.visible != false and @index != -1 if @cursor == nil or @cursor.disposed? @cursor = Sprite.new @cursor.bitmap = RPG::Cache.cursors(PARA_LEFT_CURSOR::FILE_NAME) end @cursor.x = self.x + rect.x cy = (rect.height-32) / 2 @cursor.y = self.y + cy + rect.y + 16 @cursor.z = self.z + 2 elsif @cursor != nil @cursor.dispose end end alias dispose_para_cur dispose def dispose super if @cursor != nil @cursor.dispose end end def visible=(bool) super if @cursor != nil and bool == false @cursor.dispose end end def x=(<img src='http://rpgmkr.net/forum/public/style_emoticons/default/sourirex.gif' class='bbc_emoticon' alt='XD' /> super if @index != nil update_cursor_rect end end def y= super if @index != nil update_cursor_rect end end end #module PARA_LEFT_CURSOR # MAX_FRAMES = 8 # ANM_SPEED = 5 #end class Window_Base alias cursor_rect_para_lcr cursor_rect def cursor_rect=(rect) if PARA_LEFT_CURSOR::TYPE == 1 super(rect) end empty = Rect.new(0,0,0,0) if rect != empty and self.visible != false and @index != -1 if @cursor == nil or @cursor.disposed? @cursor = Sprite.new @cursor_anm_frame = 1 @cursor.bitmap = RPG::Cache.cursors(PARA_LEFT_CURSOR::FILE_NAME+@cursor_anm_frame.to_s) @cursor_wait = PARA_LEFT_CURSOR::ANM_SPEED end @cursor.x = self.x + rect.x cy = (rect.height-32) / 2 @cursor.y = self.y + cy + rect.y + 16 @cursor.z = self.z + 2 elsif @cursor != nil @cursor.dispose end end def update super if @cursor != nil and @cursor.disposed? == false if @cursor_wait == nil or @cursor_wait <= 0 @cursor_wait = PARA_LEFT_CURSOR::ANM_SPEED @cursor_anm_frame += 1 if @cursor_anm_frame > PARA_LEFT_CURSOR::MAX_FRAMES @cursor_anm_frame = 1 end @cursor.bitmap = RPG::Cache.cursors(PARA_LEFT_CURSOR::FILE_NAME+@cursor_anm_frame.to_s) else @cursor_wait -= 1 end end end end
×