-
Posts
186 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Belxebu
-
-
beh,non tanto realistico,le armi sul tavolo nonv anno bene e poi armature e lance sono sempre uguali.E questo rientra in 1 dei 10 errori piu comuni del mapping!
-
KGC_Depository
Descrizione
Uno script di una banca per depositare e ritirare oggettiAutore
Non lo conosco modificato da meKGCScript
<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>endIstruzioni 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>
-
Come si fa ad usare lo script ovvero richiamarlo?
-
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 ;)
-
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)
-
Come faccio a muovere le fogs(tipo se si vedono delle nuvole come le faccio a far muovere cosi che dia un effetto piu reale?)
-
Ok,(perchè per il lavoro che sto facendo a PinnaWarner abbiamo deciso il compenso,gli ho passato il lavoro,deve solo dire se va bene ma non sapeva come si pagavano rens)
-
Chiedo una info agli admin.Come si fa a pagare un Bottegaio per il lavoro svolto?
-
A me anche se scrivo nel Diary.rxdata non si legge niente...
-
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?
-
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...
-
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 endSostituite 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 -
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
-
Ora svolgo un nuovo lavoro,quello di creare nuovi Menu Status.(Per PinnaWarner,il prezzo di quello che ti sto facendo va bene 4 rens???)Ecco intanto una demo per PinnaWarner,ho fatto praticamente tutto quello che mi hai chiesto.Dimmi se ti piace cosi ti passo gli script da mettere:
http://www.4shared.com/file/35786731/dc36f...innaWarner.html
-
Con il CD ho reinstallato i driver della scheda video ma il computer non mi legge lo stesso la periferica e i driver audio...
-
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???
-
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???
-
A me servirebbe un sistema di menu(quindi sia status ecc[e premetto che la skin mi servirebbe anche nel bestiario]che si adatti a qualcosa su vampiri o simili.I vocaboli che andrebbero nel menu sono:
Equipaggiamento
Magie
Stato
Bestiario
Salva Partita
Carica Partita
Esci dal gioco
-
Allora,ho spostato il menu a destra e messo quello per far vedere un face al posto di un chara.Ora sto cercando di lavorare allo sfondo.Stasera ti faccio vedere il risultato che ho ottenuto finora(e magari mi dici anche dove mettere esattamente i vari vocaboli,ok?)
-
Allora come ho detto con l'RGSS non sono ancora capace di molte cose.Per l'aggiunte di voci nel menu e tolte di altre ne sono capace...
-
Come posso fare che una IF veda se ho una certa quantità di oggetti e non solo 1 di quelli???(Tipo ho 25 pietre me ne servono 50 per attivare una if,come faccio?)
-
Io voglio fare una magia che appunto renda indifferente chi la usa...
-
-
In alcune mappe il mapping in pratica permette di salire su Muri anche se sono settati non trapassabili.Come risolvo l'errore?

*Draw Slant Bar Modificato
in Scripts RGSS (XP)
Posted
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 endIstruzioni 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