Jump to content
Rpg²S Forum

Belxebu

Utenti
  • Posts

    186
  • Joined

  • Last visited

Posts posted by Belxebu

  1. Draw Slant Bar Modificato da Rinnegatamante

    Descrizione


    Uno script che permette di inserire nel BS Standard le Barre di HP e MP all'eroe e ai mostri nemici il tutto in gran stile.(Qualcuno sa mettere sopra alla barra del nemico anche il nome del nemico???mi sarebbe molto utile)


    Autore


    Sephirot Spawn Modificato da me



    Script

     

     

     

    class Window_Base < Window  
     #--------------------------------------------------------------------------
     # * Draw Slant Bar(by SephirothSpawn modificato da Rinnegatamante)
     #--------------------------------------------------------------------------
     def draw_slant_bar(x, y, min, max, width = 152, height = 6,
    	 bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
       # Draw Border
       for i in 0..height
    	 self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
       end
       # Draw Background
       for i in 1..(height - 1)
    	 r = 100 * (height - i) / height + 0 * i / height
    	 g = 100 * (height - i) / height + 0 * i / height
    	 b = 100 * (height - i) / height + 0 * i / height
    	 a = 255 * (height - i) / height + 255 * i / height
    	 self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
       end
       # Draws Bar
       for i in 1..( (min / max.to_f) * width - 1)
    	 for j in 1..(height - 1)
    	   r = bar_color.red * (width - i) / width + end_color.red * i / width
    	   g = bar_color.green * (width - i) / width + end_color.green * i / width
    	   b = bar_color.blue * (width - i) / width + end_color.blue * i / width
    	   a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
    	   self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
    	 end
       end
     end
    end
    
    
    class Window_EnemyHP < Window_Base
     
     def initialize
       super(0, 0, 640, 480)
       self.contents = Bitmap.new(width - 32, height - 32)
       self.opacity = 0
       refresh
     end
     
     def refresh
       self.contents.clear
       $fontsize == 22
       $fontface == "Monotype Corsiva"
       for i in 0...$game_troop.enemies.size
    	 @enemy = $game_troop.enemies[i]
    	 @percent = (@enemy.hp * 100) / @enemy.maxhp
    	 unless @enemy.hp == 0
    	 draw_slant_bar(@enemy.screen_x - 55, @enemy.screen_y - 10, @enemy.hp, @enemy.maxhp, width = 75, height = 6, bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
    	 self.contents.draw_text(@enemy.screen_x - 39, @enemy.screen_y - 22, 100, 32, "#{@percent}" + "%")
       end
     end
    end
    end
    
    class Scene_Battle
     
     alias raz_update update
     alias raz_update_phase5 update_phase5
     alias raz_update_phase4_step1 update_phase4_step1
     alias raz_update_phase4_step5 update_phase4_step5
     alias raz_enemy_hp_main main
     
      def main
       @troop_id = $game_temp.battle_troop_id
       $game_troop.setup(@troop_id)
       @enemy_window = Window_EnemyHP.new
       @enemy_window.z = 95
       raz_enemy_hp_main
       @enemy_window.dispose
     end
    
     
     def update
       @enemy_window.update
       raz_update
     end
    
     def update_phase5
       # If wait count is larger than 0
       if @phase5_wait_count > 0
    	 # Decrease wait count
    	 @phase5_wait_count -= 1
    	 # If wait count reaches 0
    	 if @phase5_wait_count == 0
    	   @enemy_window.visible = false
    	   # Show result window
    	   @result_window.visible = true
    	   # Clear main phase flag
    	   $game_temp.battle_main_phase = false
    	   # Refresh status window
    	   @status_window.refresh
    	   @enemy_window.refresh
    	 end
    	 return
       end
      raz_update_phase5
    end
    
    def update_phase4_step1
     raz_update_phase4_step1
     @enemy_window.refresh
    end
    
     def update_phase4_step5
       # Hide help window
       @help_window.visible = false
       # Refresh status window
       @status_window.refresh
       @enemy_window.refresh
       raz_update_phase4_step5
     end
    end
    
    class Window_BattleStatus < Window_Base
     #--------------------------------------------------------------------------
     # * Object Initialization
     #--------------------------------------------------------------------------
     def initialize
       super(0, 320, 640, 160)
       self.contents = Bitmap.new(width - 32, height - 32)
       @level_up_flags = [false, false, false, false]
       refresh
     end
     #--------------------------------------------------------------------------
     # * Dispose
     #--------------------------------------------------------------------------
     def dispose
       super
     end
     #--------------------------------------------------------------------------
     # * Set Level Up Flag
     #	 actor_index : actor index
     #--------------------------------------------------------------------------
     def level_up(actor_index)
       @level_up_flags[actor_index] = true
     end
     #--------------------------------------------------------------------------
     # * Refresh
     #--------------------------------------------------------------------------
     def refresh
       self.contents.clear
       $fontsize == 22
       $fontface == "Monotype Corsiva"
       @item_max = $game_party.actors.size
       for i in 0...$game_party.actors.size
    	 actor = $game_party.actors[i]
    	 actor_x = i * 160 + 4
    	 draw_slant_bar(actor_x, 55, actor.hp, actor.maxhp, 120)
    	 draw_slant_bar(actor_x, 88, actor.sp, actor.maxsp, 120, 6, bar_color = Color.new(150, 0, 150, 255), end_color = Color.new(0, 0, 255, 255))
    	 draw_actor_name(actor, actor_x, 0)
    	 draw_actor_hp(actor, actor_x, 32, 120)
    	 draw_actor_sp(actor, actor_x, 64, 120)
    	 if @level_up_flags[i]
    	   self.contents.font.color = normal_color
    	   self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
    	 else
    	   draw_actor_state(actor, actor_x, 96)
    	 end
       end
     end
     #--------------------------------------------------------------------------
     # * Frame Update
     #--------------------------------------------------------------------------
     def update
       super
       # Slightly lower opacity level during main phase
       if $game_temp.battle_main_phase
    	 self.contents_opacity -= 4 if self.contents_opacity > 191
       else
    	 self.contents_opacity += 4 if self.contents_opacity < 255
       end
     end
    end 

     

     

     

     

    Istruzioni per l'uso


    Create una nuova classe sopra Main ed inseriteci lo script che sta qui sopra.


    ScreenShot


    http://img402.imageshack.us/img402/8853/drawslantbarya5.png

  2. KGC_Depository

    Descrizione

     

     

     

    Uno script di una banca per depositare e ritirare oggetti

     

    Autore

     

     

     

    Non lo conosco modificato da me
    KGC

     

     

    Script

    <div style="margin:20px;margin-top:5px" "="">

     

     

     

    #------------------------------------------------------------------------------<br># KGC_Depository<br>#------------------------------------------------------------------------------<br># Tradotto e modificato da Rinnegatamante<br>#------------------------------------------------------------------------------<br># Per richiamare lo script fare un evento<br># con Call Script e scriverci chiama_banca<br>#------------------------------------------------------------------------------<br>module KGC<br>$game_special_elements = {}<br>$imported = {}<br>$data_states = load_data("Data/States.rxdata")<br>$data_system = load_data("Data/System.rxdata")<br>end<br>#==============================================================================<br># Sistemazione Comandi Principali<br>#==============================================================================<br><br>module KGC<br># Comandi<br>DEPOSITORY_COMMAND = [<br>"Deposita Guil", # Comando di deposita soldi<br>"Ritira Guil", # Comando di ritira soldi<br>"Deposita Oggetti", # Comandi di deposita oggetti<br>"Ritira Oggetti" # Comando di ritira oggetti<br>]<br># Aggiornamento<br>DEPOSITORY_HELP = [<br>"Deposita Guil", # Comando di deposita soldi<br>"Ritira Guil", # Comando di ritira soldi<br>"Deposita Oggetti", # Comandi di deposita oggetti<br>"Ritira Oggetti" # Comando di ritira oggetti<br>]<br><br># Disposizione<br>DEPOSITORY_GOLD_DIGITS = 7<br><br># Comando di deposita soldi<br>DEPOSIT_GOLD = "Deposita Guil"<br># Comando di ritira soldi<br>WDEPOSIT_GOLD = "Ritira Guil"<br># Comando di deposita oggetti<br>DEPOSIT_ITEM = "Deposita Oggetti"<br># Comando di ritira oggetti<br>WDEPOSIT_ITEM = "Ritira Oggetti"<br>end<br><br># Importazione Comandi<br><br>$imported = {} if $imported == nil<br>$imported["Banca"] = true<br><br>#--------------------------------------------------------------------------<br># Comando Richiama Script<br>#--------------------------------------------------------------------------<br>def chiama_banca<br># Richiama Script<br>$game_player.straighten<br># Configurazione Script<br>$scene = Scene_Depository.new<br>end<br># Secondo Richiama Script<br><br>#==============================================================================<br># ¦ Game_Party<br>#==============================================================================<br><br>class Game_Party<br>#--------------------------------------------------------------------------<br># Inizializzazione Script<br>#--------------------------------------------------------------------------<br>alias initialize_KGC_Depository initialize<br>def initialize<br># Inizializzazione Sistema Deposito<br>initialize_KGC_Depository<br><br>@deposit_gold = 0<br>@deposit_item, @deposit_weapon, @deposit_armor = [], [], []<br>end<br>#--------------------------------------------------------------------------<br># Sistema Deposito<br>#--------------------------------------------------------------------------<br>def deposit_gold<br>@deposit_gold = 0 if @deposit_gold == nil<br>return @deposit_gold<br>end<br>#--------------------------------------------------------------------------<br># Sistema Deposito Particolare 1<br># Sistema Numeri<br>#--------------------------------------------------------------------------<br>def gain_deposit_gold(number)<br>@deposit_gold = 0 if @deposit_gold == nil<br>@deposit_gold += number<br>end<br>#--------------------------------------------------------------------------<br># Sistema Numeri Particolare 1<br># Aggiunta Sistema Allo Script<br>#--------------------------------------------------------------------------<br>def lose_deposit_gold(number)<br>self.gain_deposit_gold(-number)<br>end<br>#--------------------------------------------------------------------------<br># Sistema Deposito Particolare 2<br># Sistema Oggetti<br>#--------------------------------------------------------------------------<br>def deposit_item_number(id)<br>@deposit_item = [] if @deposit_item == nil<br>return @deposit_item[id] != nil ? @deposit_item[id] : 0<br>end<br>#--------------------------------------------------------------------------<br># Aggiornamento Sistema Deposito<br># Sistema Oggetti<br># Sistema Numeri<br>#--------------------------------------------------------------------------<br>def gain_deposit_item(id, number)<br>@deposit_item = [] if @deposit_item == nil<br>@deposit_item[id] = 0 if @deposit_item[id] == nil<br>@deposit_item[id] += number<br>end<br>#--------------------------------------------------------------------------<br># Aggiunta al Sistema Deposito<br># Sistema Oggetti<br># Sistema Numeri<br>#--------------------------------------------------------------------------<br>def lose_deposit_item(id, number)<br>self.gain_deposit_item(id, -number)<br>end<br>#--------------------------------------------------------------------------<br># Aggiornamento<br># Sistema Oggetti<br>#--------------------------------------------------------------------------<br>def deposit_weapon_number(id)<br>@deposit_weapon = [] if @deposit_weapon == nil<br>return @deposit_weapon[id] != nil ? @deposit_weapon[id] : 0<br>end<br>#--------------------------------------------------------------------------<br># Configurazione<br># Sistema Oggetti<br># Sistema Numeri<br>#--------------------------------------------------------------------------<br>def gain_deposit_weapon(id, number)<br>@deposit_weapon = [] if @deposit_weapon == nil<br>@deposit_weapon[id] = 0 if @deposit_weapon[id] == nil<br>@deposit_weapon[id] += number<br>end<br>#--------------------------------------------------------------------------<br># Inizializzazione<br># Sistema Oggetti<br># Sistema Numeri<br>#--------------------------------------------------------------------------<br>def lose_deposit_weapon(id, number)<br>self.gain_deposit_weapon(id, -number)<br>end<br>#--------------------------------------------------------------------------<br># Riconoscimento<br># Sistema Oggetti<br>#--------------------------------------------------------------------------<br>def deposit_armor_number(id)<br>@deposit_armor = [] if @deposit_armor == nil<br>return @deposit_armor[id] != nil ? @deposit_armor[id] : 0<br>end<br>#--------------------------------------------------------------------------<br># Configurazione Sistema Deposito<br># Sistema Oggetti<br># Sistema Numeri<br>#--------------------------------------------------------------------------<br>def gain_deposit_armor(id, number)<br>@deposit_armor = [] if @deposit_armor == nil<br>@deposit_armor[id] = 0 if @deposit_armor[id] == nil<br>@deposit_armor[id] += number<br>end<br>#--------------------------------------------------------------------------<br># Finalizzazione<br># Sistema Oggetti<br># Sistema Numeri<br>#--------------------------------------------------------------------------<br>def lose_deposit_armor(id, number)<br>self.gain_deposit_armor(id, -number)<br>end<br>end<br><br>#Fine Sistema Deposito<br><br>#==============================================================================<br># ¦ Window_DepositoryCommand<br>#------------------------------------------------------------------------------<br># Tradotto e modificato da Rinnegatamante<br>#==============================================================================<br><br>class Window_DepositoryCommand < Window_Selectable<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def initialize<br>super(0, 64, 640, 64)<br>self.y = 128 if $imported["HelpExtension"]<br>self.contents = Bitmap.new(width - 32, height - 32)<br># ?????????<br>@commands = KGC::DEPOSITORY_COMMAND<br>@item_max = @commands.size<br>@column_max = @commands.size<br>@item_width = (width - 32) / @commands.size<br>self.back_opacity = 160<br>self.index = 0<br>refresh<br>end<br>#--------------------------------------------------------------------------<br># ? ??????<br>#--------------------------------------------------------------------------<br>def refresh<br>for i in 0...@commands.size<br>rect = Rect.new(@item_width * i, 0, @item_width, 32)<br>self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))<br>self.contents.font.color = system_color<br>self.contents.draw_text(rect, @commands[i], 1)<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>end<br>end<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def update_cursor_rect<br>if index != -1<br>self.cursor_rect.set(@item_width * index, 0, @item_width, 32)<br>end<br>end<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def update_help<br>@help_window.set_text(KGC::DEPOSITORY_HELP[self.index])<br>end<br>end<br><br>#???????????????????????????????????????<br><br>#==============================================================================<br># ¦ Window_DepositoryGold<br>#------------------------------------------------------------------------------<br>#  ???????????????????????<br>#==============================================================================<br><br>class Window_DepositoryGold < Window_Base<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def initialize<br>super(0, 128, 640, 352)<br>if $imported["HelpExtension"]<br>self.y = 192<br>self.height = 288<br>end<br>@digits_max = KGC::DEPOSITORY_GOLD_DIGITS<br># ??????????????? (0~9 ??????)<br>dummy_bitmap = Bitmap.new(32, 32)<br>@cursor_width = dummy_bitmap.text_size("0").width + 8<br>dummy_bitmap.dispose<br>self.contents = Bitmap.new(width - 32, height - 32)<br>self.back_opacity = 160<br>self.active = false<br>self.visible = false<br>@cursor_position = 0<br>@max = 0<br>@price = 0<br>@index = 0<br>end<br>#--------------------------------------------------------------------------<br># ? ??????????<br>#--------------------------------------------------------------------------<br>def price<br>return @price<br>end<br>#--------------------------------------------------------------------------<br># ? ?????<br># np : ?????<br>#--------------------------------------------------------------------------<br>def price=(np)<br>@price = [[np, 0].max, @max].min<br>redraw_price<br>end<br>#--------------------------------------------------------------------------<br># ? ????<br># type : ??<br>#--------------------------------------------------------------------------<br>def reset(type)<br>@price = 0<br>@index = @digits_max - 1<br>refresh(type)<br>end<br>#--------------------------------------------------------------------------<br># ? ??????<br># type : ??<br>#--------------------------------------------------------------------------<br>def refresh(type)<br># ?????<br>self.contents.clear<br>$fontsize == 28<br>$fontface == "Monotype Corsiva"<br>domination = $data_system.words.gold<br>cx = contents.text_size(domination).width<br>@cursor_position = 332 - cx - @cursor_width * @digits_max<br>self.contents.font.color = system_color<br>self.contents.draw_text(0, 0, 608, 32, "Guil posseduti")<br>self.contents.draw_text(0, 64, 608, 32, "Guil in banca")<br>if type == 0<br>self.contents.draw_text(0, 128, 608, 32, "Guil da depositare")<br>@max = $game_party.gold<br>else<br>self.contents.draw_text(0, 128, 608, 32, "Guil da ritirare")<br>@max = [10 ** @digits_max - $game_party.gold - 1, $game_party.deposit_gold].min<br>end<br>self.contents.font.color = normal_color<br>self.contents.draw_text(4, 32, 326 - cx, 32, $game_party.gold.to_s, 2)<br>self.contents.font.color = system_color<br>self.contents.draw_text(332 - cx, 32, cx, 32, domination, 2)<br>self.contents.font.color = normal_color<br>self.contents.draw_text(4, 96, 326 - cx, 32, $game_party.deposit_gold.to_s, 2)<br>self.contents.font.color = system_color<br>self.contents.draw_text(332 - cx, 96, cx, 32, domination, 2)<br>redraw_price<br>end<br>#--------------------------------------------------------------------------<br># ? ?????<br>#--------------------------------------------------------------------------<br>def redraw_price<br>domination = $data_system.words.gold<br>cx = contents.text_size(domination).width<br>self.contents.fill_rect(0, 160, 608, 32, Color.new(0, 0, 0, 0))<br>self.contents.font.color = normal_color<br>text = sprintf("%0#{@digits_max}d", self.price)<br>for i in 0...text.length<br>x = @cursor_position + (i - 1) * @cursor_width<br>self.contents.draw_text(x, 160, 32, 32, text[i, 1], 2)<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>end<br>self.contents.font.color = system_color<br>self.contents.draw_text(332 - cx, 160, cx, 32, domination, 2)<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>end<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def update_cursor_rect<br>x = @cursor_position + @index * @cursor_width<br>self.cursor_rect.set(x, 160, @cursor_width, 32)<br>end<br>#--------------------------------------------------------------------------<br># ? ??????<br>#--------------------------------------------------------------------------<br>def update<br>super<br>return unless self.active<br># ????????????????<br>if Input.repeat?(Input::UP) || Input.repeat?(Input::DOWN)<br>$game_system.se_play($data_system.cursor_se)<br># ???????????????? 0 ???<br>place = 10 ** (@digits_max - 1 - @index)<br>n = self.price / place % 10<br>self.price -= n * place<br># ??? +1???? -1<br>n = (n + 1) % 10 if Input.repeat?(Input::UP)<br>n = (n + 9) % 10 if Input.repeat?(Input::DOWN)<br># ???????????<br>self.price += n * place<br>end<br># ?????<br>if Input.repeat?(Input::RIGHT)<br>if @digits_max >= 2<br>$game_system.se_play($data_system.cursor_se)<br>@index = (@index + 1) % @digits_max<br>end<br>end<br># ?????<br>if Input.repeat?(Input::LEFT)<br>if @digits_max >= 2<br>$game_system.se_play($data_system.cursor_se)<br>@index = (@index + @digits_max - 1) % @digits_max<br>end<br>end<br>update_cursor_rect<br>end<br>end<br><br>#???????????????????????????????????????<br><br>#==============================================================================<br># ¦ Window_DepositoryItem<br>#------------------------------------------------------------------------------<br>#  ???????????????????????????????<br>#==============================================================================<br><br>class Window_DepositoryItem < Window_Selectable<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def initialize<br>super(0, 128, 640, 352)<br>if $imported["HelpExtension"]<br>self.y = 192<br>self.height = 288<br>end<br>self.back_opacity = 160<br>self.active = false<br>self.visible = false<br>@column_max = 2<br>self.index = 0<br>end<br>#--------------------------------------------------------------------------<br># ? ???????<br>#--------------------------------------------------------------------------<br>def item<br>return @data[self.index]<br>end<br>#--------------------------------------------------------------------------<br># ? ??????<br># type : ??<br>#--------------------------------------------------------------------------<br>def refresh(type)<br>if self.contents != nil<br>self.contents.dispose<br>self.contents = nil<br>end<br>@data = []<br>self.index = 0<br># ????·??·?????<br>if type == 0<br>for i in 1...$data_items.size<br>if $game_party.item_number(i) > 0<br>@data.push($data_items[i])<br>end<br>end<br>for i in 1...$data_weapons.size<br>if $game_party.weapon_number(i) > 0<br>@data.push($data_weapons[i])<br>end<br>end<br>for i in 1...$data_armors.size<br>if $game_party.armor_number(i) > 0<br>@data.push($data_armors[i])<br>end<br>end<br>else<br>for i in 1...$data_items.size<br>if $game_party.deposit_item_number(i) > 0<br>@data.push($data_items[i])<br>end<br>end<br>for i in 1...$data_weapons.size<br>if $game_party.deposit_weapon_number(i) > 0<br>@data.push($data_weapons[i])<br>end<br>end<br>for i in 1...$data_armors.size<br>if $game_party.deposit_armor_number(i) > 0<br>@data.push($data_armors[i])<br>end<br>end<br><br>end<br># ???? 0 ??????????????????????<br>@item_max = @data.size<br>if @item_max > 0<br>self.contents = Bitmap.new(width - 32, row_max * 32)<br>for i in 0...@item_max<br>draw_item(i, type)<br>end<br>end<br>end<br>#--------------------------------------------------------------------------<br># ? ?????<br># index : ????<br># type : ??<br>#--------------------------------------------------------------------------<br>def draw_item(index, type)<br>item = @data[index]<br>case item<br>when RPG::Item<br>number = type == 0 ? $game_party.item_number(item.id) :<br>$game_party.deposit_item_number(item.id)<br>when RPG::Weapon<br>number = type == 0 ? $game_party.weapon_number(item.id) :<br>$game_party.deposit_weapon_number(item.id)<br>when RPG::Armor<br>number = type == 0 ? $game_party.armor_number(item.id) :<br>$game_party.deposit_armor_number(item.id)<br>end<br>x = 4 + index % 2 * (288 + 32)<br>y = index / 2 * 32<br>rect = Rect.new(x, y, self.width / @column_max - 32, 32)<br>self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))<br>bitmap = RPG::Cache.icon(item.icon_name)<br>self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))<br>self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>self.contents.draw_text(x + 240, y, 16, 32, ":", 1)<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>end<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def update_help<br>@help_window.set_text(self.item == nil ? "" : self.item.description)<br>end<br>end<br><br>#???????????????????????????????????????<br><br>#==============================================================================<br># ¦ Window_DepositoryNumber<br>#------------------------------------------------------------------------------<br>#  ????????????????????????<br>#==============================================================================<br><br>class Window_DepositoryNumber < Window_Base<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def initialize<br>@digits_max, @number = 2, 0<br># ??????????????? (0~9 ??????)<br>dummy_bitmap = Bitmap.new(32, 32)<br>@cursor_width = dummy_bitmap.text_size("0").width + 8<br>dummy_bitmap.dispose<br>@default_size = @cursor_width * @digits_max + 32<br>super(0, 0, @default_size, 128)<br>self.contents = Bitmap.new(width - 32, height - 32)<br>self.z = 1000<br>self.back_opacity = 160<br>self.active = false<br>self.visible = false<br>@index = 0<br>@item = nil<br>refresh<br>update_cursor_rect<br>end<br>#--------------------------------------------------------------------------<br># ? ???????<br># item : ????<br>#--------------------------------------------------------------------------<br>def item=(item)<br>@item = item<br>end<br>#--------------------------------------------------------------------------<br># ? ?????<br>#--------------------------------------------------------------------------<br>def number<br>return @number<br>end<br>#--------------------------------------------------------------------------<br># ? ?????<br># number : ?????<br>#--------------------------------------------------------------------------<br>def number=(number)<br>@number = [[number, 0].max, @max].min<br>refresh<br>end<br>#--------------------------------------------------------------------------<br># ? ?????????<br>#--------------------------------------------------------------------------<br>def update_cursor_rect<br>self.cursor_rect.set(@index * @cursor_width, 32, @cursor_width, 32)<br>end<br>#--------------------------------------------------------------------------<br># ? ????<br>#--------------------------------------------------------------------------<br>def reset(type)<br>@number = 0<br>@index = @digits_max - 1<br>if type == 0<br>case @item<br>when RPG::Item<br>@max = $game_party.item_number(@item.id)<br>dep = $game_party.deposit_item_number(@item.id)<br>when RPG::Weapon<br>@max = $game_party.weapon_number(@item.id)<br>dep = $game_party.deposit_weapon_number(@item.id)<br>when RPG::Armor<br>@max = $game_party.armor_number(@item.id)<br>dep = $game_party.deposit_armor_number(@item.id)<br>end<br># ??????????<br>self.contents.fill_rect(0, 64, width - 32, 32, Color.new(0, 0, 0, 0))<br>self.contents.font.color = system_color<br>self.contents.draw_text(0, 64, width - 32, 32, "#{dep}In banca")<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>else<br>case @item<br>when RPG::Item<br>@max = [$game_party.deposit_item_number(@item.id),<br>10 ** @digits_max - $game_party.item_number(@item.id) - 1].min<br>having = $game_party.item_number(@item.id)<br>when RPG::Weapon<br>@max = [$game_party.deposit_weapon_number(@item.id),<br>10 ** @digits_max - $game_party.weapon_number(@item.id) - 1].min<br>having = $game_party.weapon_number(@item.id)<br>when RPG::Armor<br>@max = [$game_party.deposit_armor_number(@item.id),<br>10 ** @digits_max - $game_party.armor_number(@item.id) - 1].min<br>having = $game_party.armor_number(@item.id)<br>end<br># ??????<br>self.contents.fill_rect(0, 64, width - 32, 32, Color.new(0, 0, 0, 0))<br>self.contents.font.color = system_color<br>self.contents.draw_text(0, 64, width - 32, 32, "#{having}Dalla Banca")<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>end<br>refresh<br>end<br>#--------------------------------------------------------------------------<br># ? ??????<br>#--------------------------------------------------------------------------<br>def refresh<br>self.contents.fill_rect(0, 32, width - 32, 32, Color.new(0, 0, 0, 0))<br>self.contents.font.color = normal_color<br>s = sprintf("%0*d", @digits_max, @number)<br>for i in 0...@digits_max<br>self.contents.draw_text(i * @cursor_width + 4, 32, 32, 32, s[i,1])<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>end<br>end<br>#--------------------------------------------------------------------------<br># ? ?????<br># string : ?????<br>#--------------------------------------------------------------------------<br>def set_text(string = " ")<br>self.resize(self.contents.text_size(string).width + 40)<br>self.contents.fill_rect(0, 0, width - 32, 32, Color.new(0, 0, 0, 0))<br>self.contents.font.color = normal_color<br>self.contents.draw_text(0, 0, width - 32, 32, string, 1)<br>self.contents.font.size = 28<br>self.contents.font.name = "Monotype Corsiva"<br>refresh<br>centering<br>end<br>#--------------------------------------------------------------------------<br># ? ?????<br># nw : ????<br>#--------------------------------------------------------------------------<br>def resize(nw)<br>self.width = nw<br>buf = self.contents.dup<br>self.contents.dispose<br>self.contents = Bitmap.new(nw - 32, 96)<br>self.contents.blt(0, 0, buf, buf.rect)<br>buf.dispose<br>end<br>#--------------------------------------------------------------------------<br># ? ????<br>#--------------------------------------------------------------------------<br>def centering<br>self.x = 320 - self.width / 2<br>self.y = 240 - self.height / 2<br>end<br>#--------------------------------------------------------------------------<br># ? ??????<br>#--------------------------------------------------------------------------<br>def update<br>super<br>return unless self.active<br># ????????????????<br>if Input.repeat?(Input::UP) || Input.repeat?(Input::DOWN)<br>$game_system.se_play($data_system.cursor_se)<br># ???????????????? 0 ???<br>place = 10 ** (@digits_max - 1 - @index)<br>n = self.number / place % 10<br>self.number -= n * place<br># ??? +1???? -1<br>n = (n + 1) % 10 if Input.repeat?(Input::UP)<br>n = (n + 9) % 10 if Input.repeat?(Input::DOWN)<br># ???????????<br>self.number += n * place<br>refresh<br>end<br># ?????<br>if Input.repeat?(Input::RIGHT)<br>if @digits_max >= 2<br>$game_system.se_play($data_system.cursor_se)<br>@index = (@index + 1) % @digits_max<br>end<br>end<br># ?????<br>if Input.repeat?(Input::LEFT)<br>if @digits_max >= 2<br>$game_system.se_play($data_system.cursor_se)<br>@index = (@index + @digits_max - 1) % @digits_max<br>end<br>end<br>update_cursor_rect<br>end<br>end<br><br>#???????????????????????????????????????<br><br>#==============================================================================<br># ¦ Scene_Depository<br>#------------------------------------------------------------------------------<br>#  ??????????????????<br>#==============================================================================<br><br>class Scene_Depository<br>#--------------------------------------------------------------------------<br># ? ?????<br>#--------------------------------------------------------------------------<br>def main<br># ??????????<br>@spriteset = Spriteset_Map.new<br># ??????????<br>if $imported["HelpExtension"]<br>@dummy_window = Window_Base.new(0, 192, 640, 288)<br>@help_window = Window_HelpExtension.new<br>else<br>@dummy_window = Window_Base.new(0, 128, 640, 352)<br>@help_window = Window_Help.new<br>end<br>@dummy_window.back_opacity = 160<br>@help_window.back_opacity = 160<br>@command_window = Window_DepositoryCommand.new<br>@gold_window = Window_DepositoryGold.new<br>@item_window = Window_DepositoryItem.new<br>@number_window = Window_DepositoryNumber.new<br># ?????????????<br>@command_window.help_window = @help_window<br>@item_window.help_window = @help_window<br># ?????????<br>Graphics.transition<br># ??????<br>loop do<br># ????????<br>Graphics.update<br># ???????<br>Input.update<br># ??????<br>update<br># ????????????????<br>if $scene != self<br>break<br>end<br>end<br># ?????????<br>Graphics.freeze<br># ??<br>@spriteset.dispose<br>@dummy_window.dispose<br>@help_window.dispose<br>@command_window.dispose<br>@gold_window.dispose<br>@item_window.dispose<br>@number_window.dispose<br>end<br>#--------------------------------------------------------------------------<br># ? ??????<br>#--------------------------------------------------------------------------<br>def update<br># ????????<br>@dummy_window.update<br>@help_window.update<br>@command_window.update<br>@gold_window.update<br>@item_window.update<br>@number_window.update<br># ??????????????????: update_command ???<br>if @command_window.active<br>update_command<br>return<br>end<br># ??????????????????: update_gold ???<br>if @gold_window.active<br>update_gold<br>return<br>end<br># ??????????????????: update_item ???<br>if @item_window.active<br>update_item<br>return<br>end<br># ????????????????: update_number ???<br>if @number_window.active<br>update_number<br>return<br>end<br>end<br>#--------------------------------------------------------------------------<br># ? ?????? (??????????????????)<br>#--------------------------------------------------------------------------<br>def update_command<br># B ??????????<br>if Input.trigger?(Input::B)<br># ????? SE ???<br>$game_system.se_play($data_system.cancel_se)<br># ??????????<br>$scene = Scene_Map.new<br>return<br>end<br># C ??????????<br>if Input.trigger?(Input::C)<br># ?? SE ???<br>$game_system.se_play($data_system.decision_se)<br># ?????????<br>case @command_window.index<br>when 0<br># ??????????????<br>@gold_window.active = true<br>@gold_window.visible = true<br>@gold_window.reset(0)<br>@help_window.set_text(KGC::DEPOSIT_GOLD)<br>when 1<br># ??????????????<br>@gold_window.active = true<br>@gold_window.visible = true<br>@gold_window.reset(1)<br>@help_window.set_text(KGC::WDEPOSIT_GOLD)<br>when 2<br># ??????????????<br>@item_window.active = true<br>@item_window.visible = true<br>@item_window.refresh(0)<br>when 3<br># ??????????????<br>@item_window.active = true<br>@item_window.visible = true<br>@item_window.refresh(1)<br>end<br>@command_window.active = false<br># ??????????<br>@dummy_window.visible = false<br>return<br>end<br>end<br>#--------------------------------------------------------------------------<br># ? ?????? (??????????????????)<br>#--------------------------------------------------------------------------<br>def update_gold<br># B ??????????<br>if Input.trigger?(Input::B)<br># ????? SE ???<br>$game_system.se_play($data_system.cancel_se)<br># ??????????????<br>@command_window.active = true<br>@gold_window.active = false<br>@gold_window.visible = false<br>@dummy_window.visible = true<br>return<br>end<br># C ??????????<br>if Input.trigger?(Input::C)<br># ?????????<br>price = @gold_window.price<br># ??? 0 ???<br>if price == 0<br># ?? SE ???<br>$game_system.se_play($data_system.decision_se)<br># ??????????????<br>@command_window.active = true<br>@gold_window.active = false<br>@gold_window.visible = false<br>@dummy_window.visible = true<br>return<br>end<br># ???? SE ???<br>$game_system.se_play($data_system.shop_se)<br># ?????????<br>case @command_window.index<br>when 0 # ???<br>$game_party.lose_gold(price)<br>$game_party.gain_deposit_gold(price)<br>when 1 # ????<br>$game_party.gain_gold(price)<br>$game_party.lose_deposit_gold(price)<br>end<br># ??????????????<br>@gold_window.reset(@command_window.index)<br>return<br>end<br>end<br>#--------------------------------------------------------------------------<br># ? ?????? (??????????????????)<br>#--------------------------------------------------------------------------<br>def update_item<br># B ??????????<br>if Input.trigger?(Input::B)<br># ????? SE ???<br>$game_system.se_play($data_system.cancel_se)<br># ??????????????<br>@command_window.active = true<br>@item_window.active = false<br>@item_window.visible = false<br>@dummy_window.visible = true<br>return<br>end<br># C ??????????<br>if Input.trigger?(Input::C)<br># ?????????<br>@item = @item_window.item<br># ?????<br>if @item == nil<br># ??? SE ???<br>$game_system.se_play($data_system.buzzer_se)<br>return<br>end<br># ???????????????<br>@number_window.item = @item<br># ?? SE ???<br>$game_system.se_play($data_system.decision_se)<br># ?????????<br>case @command_window.index<br>when 2 # ???<br>@number_window.set_text(KGC::DEPOSIT_ITEM)<br>when 3 # ????<br>@number_window.set_text(KGC::WDEPOSIT_ITEM)<br>end<br># ????????????<br>@number_window.reset(@command_window.index - 2)<br># ????????????<br>@item_window.active = false<br>@number_window.active = true<br>@number_window.visible = true<br>return<br>end<br>end<br>#--------------------------------------------------------------------------<br># ? ?????? (????????????????)<br>#--------------------------------------------------------------------------<br>def update_number<br># B ??????????<br>if Input.trigger?(Input::B)<br># ????? SE ???<br>$game_system.se_play($data_system.cancel_se)<br># ??????????????<br>@item_window.active = true<br>@number_window.active = false<br>@number_window.visible = false<br>return<br>end<br># C ??????????<br>if Input.trigger?(Input::C)<br># ?? SE ???<br>$game_system.se_play($data_system.decision_se)<br>number = @number_window.number<br># ?????????<br>case @command_window.index<br>when 2 # ???<br>case @item<br>when RPG::Item<br>$game_party.lose_item(@item.id, number)<br>$game_party.gain_deposit_item(@item.id, number)<br>when RPG::Weapon<br>$game_party.lose_weapon(@item.id, number)<br>$game_party.gain_deposit_weapon(@item.id, number)<br>when RPG::Armor<br>$game_party.lose_armor(@item.id, number)<br>$game_party.gain_deposit_armor(@item.id, number)<br>end<br>when 3 # ????<br>case @item<br>when RPG::Item<br>$game_party.gain_item(@item.id, number)<br>$game_party.lose_deposit_item(@item.id, number)<br>when RPG::Weapon<br>$game_party.gain_weapon(@item.id, number)<br>$game_party.lose_deposit_weapon(@item.id, number)<br>when RPG::Armor<br>$game_party.gain_armor(@item.id, number)<br>$game_party.lose_deposit_armor(@item.id, number)<br>end<br>end<br># ????????????????<br>@item_window.refresh(@command_window.index - 2)<br># ??????????????<br>@item_window.active = true<br>@number_window.active = false<br>@number_window.visible = false<br>return<br>end<br>end<br>end

     

     

    Istruzioni per l'uso

     

     

     

    All'interno dello script.Io ho tradotto tutti i termini in italiano e modificato i font che prima erano illeggibili se non si aveva RPG Maker V.1.01.Buon divertimento!!!

    </div>

  3. Ok,dopo tanto tempo di ristagno ecco nuovi screen del gioco:

     

    Messaggi:

    http://img102.imageshack.us/img102/1202/umpfup5.png

     

    Menu:

    http://img529.imageshack.us/img529/8366/menudraccy5.png

     

    Stato:

    http://img412.imageshack.us/img412/100/statusdracyy9.png

     

    Mapping:

    http://img132.imageshack.us/img132/5992/mappingesteriorza8.png

     

    Ditemi cosa ne pensate ;)

  4. i face a destra mmmh.Ho capito che script usi,attenzione perchè le scritte potrebbero andare SOPRA AL FACE.Usa l'Advance Message Script che li mette a sinistra(e in piu ha anche i messaggi lettera per lettera che sono piu belli da vedere)
  5. def initialize(actor)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    @actor = actor
    actor_num = @actor.id
    filename = "Graphics/Characters/Faces/" + actor.character_name + ".png"
    @viewport = Viewport.new(45, 88, 96, 96)
    @viewport.z = 975
    @battlers = Sprite.new(@viewport)
    @battlers.bitmap = Bitmap.new(filename)
    @battlers.opacity = 255
    @battlers.visible = true
    refresh
    end
    #------------------------------------------------------
    # Disposizione del Battlers
    #------------------------------------------------------
    def dispose
    super
    @face.dispose
    end

    Lo script continua per inserire delle scritte comunque il problema è che quando premo ESC per uscire dal Menu Status mi da errore sulla riga 33 su dispose.Che faccio?

  6. Si,volevo dire il contrario,il face viene coperto kmq per la comodità di mettere solo un pezzetto di script è vero ma c'è certa gente che dopo sbaglia a mettere e crea errori visto ke io ho anche dei piccoli commenti ad ogni parte e quindi ho piu righe negli script base.Poi quello di fare in base al pupazzo di gioco è un idea...
  7. Face_Menu V.1.0 By Rinnegatamante

    Descrizione


    Questo è il mio primo script,di sicuro esisterà gia qualcosa del genere ma io lo posto,in pratica permette di avere un menu con i Faces dei personaggi al posto dei Chara


    Autore


    Rinnegatamante (Ovvero io)



    Allegati


    Sostituite Window_Base con questo script:

     

    #==============================================================================
    # - Window_Base by Rinnegatamante
    #------------------------------------------------------------------------------
    #  FACE MENU V.1.0
    #==============================================================================
    
    class Window_Base < Window
      #--------------------------------------------------------------------------
      # - Inizializzazione dell'oggetto
      #	 x	  : Coordinate X della finestra
      #	 y	  : Coordinate Y della finestra
      #	 width  : Larhezza della finestra
      #	 height : Altezza della finestra
      #--------------------------------------------------------------------------
      def initialize(x, y, width, height)
    	super()
    	@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
      #--------------------------------------------------------------------------
      # - Rilascia
      #--------------------------------------------------------------------------
      def dispose
    	# Verrà rilasciato se il bitmap dei contenuti di una finestra
    	# viene sistemato
    	if self.contents != nil
    	  self.contents.dispose
    	end
    	super
      end
      #--------------------------------------------------------------------------
      # - Acquisizione del colore del carattere
      #	 n : Numero del colore del carattere (0~7)
      #--------------------------------------------------------------------------
      def text_color(n)
    	case n
    	when 0
    	  return Color.new(255, 255, 255, 255)
    	when 1
    	  return Color.new(128, 128, 255, 255)
    	when 2
    	  return Color.new(255, 128, 128, 255)
    	when 3
    	  return Color.new(128, 255, 128, 255)
    	when 4
    	  return Color.new(128, 255, 255, 255)
    	when 5
    	  return Color.new(255, 128, 255, 255)
    	when 6
    	  return Color.new(255, 255, 128, 255)
    	when 7
    	  return Color.new(192, 192, 192, 255)
    	else
    	  normal_color
    	end
      end
      #--------------------------------------------------------------------------
      # - Acquisizione del colore del carattere: Generale
      #--------------------------------------------------------------------------
      def normal_color
    	return Color.new(255, 255, 255, 255)
      end
      #--------------------------------------------------------------------------
      # - Acquisizione del colore del carattere: Invalidità
      #--------------------------------------------------------------------------
      def disabled_color
    	return Color.new(255, 255, 255, 128)
      end
      #--------------------------------------------------------------------------
      # - Acquisizione del colore del carattere: Sistema
      #--------------------------------------------------------------------------
      def system_color
    	return Color.new(192, 224, 255, 255)
      end
      #--------------------------------------------------------------------------
      # - Acquisizione del colore del carattere: Criticità
      #--------------------------------------------------------------------------
      def crisis_color
    	return Color.new(255, 255, 64, 255)
      end
      #--------------------------------------------------------------------------
      # - Acquisizione del colore del carattere: Impossibilità
      #--------------------------------------------------------------------------
      def knockout_color
    	return Color.new(255, 64, 0)
      end
      #--------------------------------------------------------------------------
      # - Aggiornamento frame
      #--------------------------------------------------------------------------
      def update
    	super
    	# Viene risistemato quando l'interfaccia grafica(skin) di una finestra
    	# viene cambiato
    	if $game_system.windowskin_name != @windowskin_name
    	  @windowskin_name = $game_system.windowskin_name
    	  self.contents.font.name = "Arial"
    	  self.contents.font.size = 24
    	  self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    	end
      end
      #--------------------------------------------------------------------------
      # - Disegna la grafica
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #--------------------------------------------------------------------------
    def draw_actor_graphic(actor, x, y)
    	bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
    	cw = bitmap.width / 4
    	ch = bitmap.height / 4
    	src_rect = Rect.new(0, 0, cw, ch)
    	self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
      end
      #--------------------------------------------------------------------------
      # - Disegna il face
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #--------------------------------------------------------------------------
    def draw_actor_face(actor, x, y)
    face = RPG::Cache.picture(actor.name + "_face")
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, face, src_rect)	
    end   
    
      #--------------------------------------------------------------------------
      # - Disegna il nome
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #--------------------------------------------------------------------------
      def draw_actor_name(actor, x, y)
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.font.color = normal_color
    	self.contents.draw_text(x, y, 120, 32, actor.name)
      end
      #--------------------------------------------------------------------------
      # - Disegna la classe
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #--------------------------------------------------------------------------
      def draw_actor_class(actor, x, y)
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.font.color = normal_color
    	self.contents.draw_text(x, y, 236, 32, actor.class_name)
      end
      #--------------------------------------------------------------------------
      # - Disegna il livello
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #--------------------------------------------------------------------------
      def draw_actor_level(actor, x, y)
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.font.color = system_color
    	self.contents.draw_text(x, y, 32, 32, "Lv")
    	self.contents.font.color = normal_color
    	self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
      end
      #--------------------------------------------------------------------------
      # - Creazione della sequenza dello stato del personaggio per il disegno
      #	 actor	   : Personaggio
      #	 width	   : Ampiezza del disegno
      #--------------------------------------------------------------------------
      def make_battler_state_text(battler, width, need_normal)
    	# Viene acquisita l'ampiezza di una parentesi
    	brackets_width = self.contents.text_size("[]").width
    	# Viene creata la sequanza del carattere del nome dello stato
    	text = ""
    	for i in battler.states
    	  if $data_states[i].rating >= 1
    		if text == ""
    		  text = $data_states[i].name
    		else
    		  new_text = text + "/" + $data_states[i].name
    		  text_width = self.contents.text_size(new_text).width
    		  if text_width > width - brackets_width
    			break
    		  end
    		  text = new_text
    		end
    	  end
    	end
    	# Quando la sequanza del carattere del nome dello stato è vuota,
    	# allora diviene "[Normale]"
    	if text == ""
    	  if need_normal
    		text = "Normale"
    	  end
    	else
    	  # Viene allegata una parentesi
    	  text = "[" + text + "]"
    	end
    	# Torna alla sequenza completata dei caratteri
    	return text
      end
      #--------------------------------------------------------------------------
      # - Disegna lo stato
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #	 width : Ampiezza del disegno
      #--------------------------------------------------------------------------
      def draw_actor_state(actor, x, y, width = 120)
    	text = make_battler_state_text(actor, width, true)
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
    	self.contents.draw_text(x, y, width, 32, text)
      end
      #--------------------------------------------------------------------------
      # - Disegna i punti EXP
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #--------------------------------------------------------------------------
      def draw_actor_exp(actor, x, y)
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.font.color = system_color
    	self.contents.draw_text(x, y, 40, 32, "EXP")
    	self.contents.font.color = normal_color
    	self.contents.draw_text(x + 40, y, 84, 32, actor.exp_s, 2)
    	self.contents.draw_text(x + 124, y, 12, 32, "/", 1)
    	self.contents.draw_text(x + 136, y, 84, 32, actor.next_exp_s)
      end
      #--------------------------------------------------------------------------
      # - Disegna i punti HP
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #	 width : Ampiezza del disegno
      #--------------------------------------------------------------------------
      def draw_actor_hp(actor, x, y, width = 144)
    	# Disegna la sequenza dei caratteri: "HP"
    	self.contents.font.color = system_color
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
    	# Calcola se c'è qualche spazio che disegna i punti MaxHp
    	if width - 32 >= 108
    	  hp_x = x + width - 108
    	  flag = true
    	elsif width - 32 >= 48
    	  hp_x = x + width - 48
    	  flag = false
    	end
    	# Disegna i punti HP
    	self.contents.font.color = actor.hp == 0 ? knockout_color :
    	  actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
    	  self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
    	# Disegna i punti MaxHP
    	if flag
    	  self.contents.font.color = normal_color
    	  self.contents.font.name = "Arial"
    	  self.contents.font.size = 24
    	  self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
    	  self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
    	end
      end
      #--------------------------------------------------------------------------
      # - Disegna i punti MP
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #	 width : Ampiezza del disegno
      #--------------------------------------------------------------------------
      def draw_actor_sp(actor, x, y, width = 144)
    	# Disegna la sequenza dei caratteri: "MP"
    	self.contents.font.color = system_color
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
    	# Calcola se c'è qualche spazio che disegna i punti MaxMp
    	if width - 32 >= 108
    	  sp_x = x + width - 108
    	  flag = true
    	elsif width - 32 >= 48
    	  sp_x = x + width - 48
    	  flag = false
    	end
    	# Disegna i punti MP
    	self.contents.font.color = actor.sp == 0 ? knockout_color :
    	  actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
    	  self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
    	# Disegna i punti MaxMP
    	if flag
    	  self.contents.font.color = normal_color
    	  self.contents.font.name = "Arial"
    	  self.contents.font.size = 24
    	  self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
    	  self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
    	end
      end
      #--------------------------------------------------------------------------
      # - Disegna un parametro
      #	 actor : Personaggio
      #	 x	 : Posizione del disegno: Coordinate X
      #	 y	 : Posizione del disegno: Coordinate Y
      #	 type  : Tipo di parametro (0~6)
      #--------------------------------------------------------------------------
      def draw_actor_parameter(actor, x, y, type)
    	case type
    	when 0
    	  parameter_name = $data_system.words.atk
    	  parameter_value = actor.atk
    	when 1
    	  parameter_name = $data_system.words.pdef
    	  parameter_value = actor.pdef
    	when 2
    	  parameter_name = $data_system.words.mdef
    	  parameter_value = actor.mdef
    	when 3
    	  parameter_name = $data_system.words.str
    	  parameter_value = actor.str
    	when 4
    	  parameter_name = $data_system.words.dex
    	  parameter_value = actor.dex
    	when 5
    	  parameter_name = $data_system.words.agi
    	  parameter_value = actor.agi
    	when 6
    	  parameter_name = $data_system.words.int
    	  parameter_value = actor.int
    	end
    	self.contents.font.color = system_color
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.draw_text(x, y, 120, 32, parameter_name)
    	self.contents.font.color = normal_color
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
      end
      #--------------------------------------------------------------------------
      # - Disegna il nome di un oggetto
      #	 item : Oggetto
      #	 x	: Posizione del disegno: Coordinate X
      #	 y	: Posizione del disegno: Coordinate Y
      #--------------------------------------------------------------------------
      def draw_item_name(item, x, y)
    	if item == nil
    	  return
    	end
    	bitmap = RPG::Cache.icon(item.icon_name)
    	self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    	self.contents.font.color = normal_color
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	self.contents.draw_text(x + 28, y, 212, 32, item.name)
      end
    end 

     

     

    Sostituite Window_MenuStatus con questo script:

     

    #==============================================================================
    # Window_MenuStatus by Rinnegatamante
    #------------------------------------------------------------------------------
    # FACE MENU V.1.0
    #==============================================================================
    
    class Window_MenuStatus < Window_Selectable
      #--------------------------------------------------------------------------
      # - Inizializzazione dell'oggetto
      #--------------------------------------------------------------------------
      def initialize
    	super(0, 0, 480, 480)
    	self.contents = Bitmap.new(width - 32, height - 32)
    	refresh
    	self.active = false
    	self.index = -1
      end
      #--------------------------------------------------------------------------
      # - Aggiornamento
      #--------------------------------------------------------------------------
      def refresh
    	self.contents.clear
    	self.contents.font.name = "Arial"
    	self.contents.font.size = 24
    	@item_max = $game_party.actors.size
    	for i in 0...$game_party.actors.size
    	  x = 64
    	  y = i * 116
    	  actor = $game_party.actors[i]
    	  draw_actor_face(actor, x - 60, y + 80)
    	  draw_actor_name(actor, x, y)
    	  draw_actor_class(actor, x + 144, y)
    	  draw_actor_level(actor, x, y + 32)
    	  draw_actor_state(actor, x + 90, y + 32)
    	  draw_actor_exp(actor, x, y + 64)
    	  draw_actor_hp(actor, x + 236, y + 32)
    	  draw_actor_sp(actor, x + 236, y + 64)
    	end
      end
      #--------------------------------------------------------------------------
      # - Aggiornamento del rettangolo del cursore
      #--------------------------------------------------------------------------
      def update_cursor_rect
    	if @index < 0
    	  self.cursor_rect.empty
    	else
    	  self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
    	end
      end
    end 

     

     


    Istruzioni per l'uso


    Copiate i due script qui sopra nei corrispettivi script gia esistenti poi per inserire un face al posto del chara basterà mettere delle immagini formato PNG(consigliatamente)nella cartella Pictures con il nome dell'eroe seguito da "_face" tipo se l'eroe si chiamerà Garland(non il chara o il battlers ma proprio il nome dell'eroe nel database)il file si dovrà chiamare Garland_face.Sono consigliate immagini di grandezza 55x55 perchè se piu grosse potrebbero andare sopra alla scritta delle statistiche dell'eroe(ma se er voi non fa niente va bene qualsiasi misura).Buon divertimento!!!



    Ecco uno screenshot:
    http://img242.imageshack.us/img242/45/facecharacy9.jpg

  8. Considerando che lo script te l'ho fatto io XD...comunque prova a sostituire anche il Window_Base che ti ho dato.Cosi in Stato la scritta Normale uscirà senza le parentesi(molto meglio da vedere).Lo sfondo si adatta benissimo.Complimenti!

    Per quanto riguarda il mapping...è sempre fatto male.ci sono veri e propri quadrati di erba diversa.Molto sgradevole da vedere

  9. Posseggo una Ati Radeon X1300/X1550 Series con l'Ati Catalyst Center e driver ati2dvag.dll alla versione 6.14.0010.6727 .Siccome non voglio combinare casini,da dove li scarico????

    Ho visto(tramite DxDiag)che il computer non mi rileva ne periferica ne driver audio...che faccio???

  10. Allora tutto inizio l'altro ieri quando chiudendo RPG Maker XP e spegnendo il computer mi ritrovai con un file di sistema di Windows danneggiato e l'impossibilità di accedere al computer.Dopo che ieri il tecnico ha fatto il suo lavoro mi accingo ad aprire RPGXP quando mida un errore: Inizializzazione Directx Audio Fallita...tento di reinstallare la direct x 9.0c(prima usavo alcuni file scaricati provenienti dalla DX10).Ma niente,sempre stesso problema...che faccio???
  11. Guardate l'immagine che è in allegato,dove ho cerchiato l'eroe puo inspiegabilmente passarci sopra.(Il cancello della prigione è livello 2 e il resto livello 3 il pavimento e muri ecc ecc livello 1)

    post-1185-1200515802_thumb.jpg

×
×
  • Create New...