| | [Script]Limites de itens no iventorio | |
| | Autor | Mensagem |
---|
tonhaopower Ocasional
Mensagens : 20 Data de inscrição : 27/08/2007 Idade : 31
| Assunto: [Script]Limites de itens no iventorio Qui Ago 30, 2007 6:41 pm | |
| - Citação :
- #_______________________________________________________________________________
# MOG Item Limit V1.7 #_______________________________________________________________________________ # By Moghunter # http://www.atelier-rgss.com #_______________________________________________________________________________ # Permite definir o limite maximo para cada item, armas # ou armaduras. #_______________________________________________________________________________ module MOG #------------------------------------------------------------------------------- # Definição do limite padrão. #------------------------------------------------------------------------------- DEFAULT_LIMIT = 50 #------------------------------------------------------------------------------- # A => B # # A = ID do item, armadura ou arma # B = Quantidade de itens maximo. # #------------------------------------------------------------------------------- #Definição do limite maximo de Itens. #------------------------------------------------------------------------------- ITEM_LIMIT = { 1=>15, #Potion 2=>10, #Hi Potion 3=>5, #Full Potion 4=>15, #Perfume 5=>10, #Hi Perfume 6=>5, #Full Perfume 7=>5, #Elixir 8=>3, #Full Elixir 9=>15, #Tonic 10=>5, #Full Tonic 11=>20 #Antidote } #------------------------------------------------------------------------------- #Definição do limite maximo de armas. #------------------------------------------------------------------------------- WEAPON_LIMIT = { 1=>9, #Bronze Sword 2=>6, #Iron Sword 3=>3, #Steel Sword 4=>1, #Mythril Sword 5=>9, #Bronze Spear 6=>6, #Iron Spear 7=>3, #Steel Spear 8=>1 #Mythril Spear } #------------------------------------------------------------------------------- #Definição do limite maximo de armaduras. #------------------------------------------------------------------------------- ARMOR_LIMIT = { 1=>20, #Bronze Shield 2=>15, #Iron Shield 5=>20, #Bronze Helm 13=>10 #Bronze Armor } #------------------------------------------------------------------------------- #Definição do limite maximo de dinheiro #------------------------------------------------------------------------------- GOLD_LIMIT = 1000000000 #------------------------------------------------------------------------------- end $mogscript = {} if $mogscript == nil $mogscript["Item_Limit"] = true ############## # Game_Party # ############## class Game_Party alias mog45_gain_item gain_item def gain_item(item_id, n) if item_id > 0 item_limit = MOG::ITEM_LIMIT[item_id] if item_limit != nil @items[item_id] = [[item_number(item_id) + n, 0].max, item_limit].min else @items[item_id] = [[item_number(item_id) + n, 0].max, MOG::DEFAULT_LIMIT].min end end return mog45_gain_item(item_id, n) end alias mog45_gain_weapon gain_weapon def gain_weapon(weapon_id, n) if weapon_id > 0 weapon_limit = MOG::WEAPON_LIMIT[weapon_id] if weapon_limit !=nil @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, weapon_limit].min else @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, MOG::DEFAULT_LIMIT].min end end return mog45_gain_weapon(weapon_id, n) end alias mog45_gain_armor gain_armor def gain_armor(armor_id, n) if armor_id > 0 armor_limit = MOG::ARMOR_LIMIT[armor_id] if armor_limit != nil @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, armor_limit].min else @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, MOG::DEFAULT_LIMIT].min end end return mog45_gain_armor end def gain_gold(n) @gold = [[@gold + n, 0].max, MOG::GOLD_LIMIT].min end end ############## # Scene_Shop # ############## class Scene_Shop alias mog45_update update def update if @sell_window.active == true $sell = true else $sell = false end mog45_update end alias mog45_update_buy update_buy def update_buy if Input.trigger?(Input::C) @item = @buy_window.item case @item when RPG::Item number = $game_party.item_number(@item.id) item_limit = MOG::ITEM_LIMIT[@item.id] if item_limit != nil if number >= item_limit $game_system.se_play($data_system.buzzer_se) return end else if number == MOG::DEFAULT_LIMIT $game_system.se_play($data_system.buzzer_se) return end end when RPG::Weapon number = $game_party.weapon_number(@item.id) weapon_limit = MOG::WEAPON_LIMIT[@item.id] if weapon_limit != nil if number >= weapon_limit $game_system.se_play($data_system.buzzer_se) return end else if number == MOG::DEFAULT_LIMIT $game_system.se_play($data_system.buzzer_se) return end end when RPG::Armor number = $game_party.armor_number(@item.id) armor_limit = MOG::ARMOR_LIMIT[@item.id] if armor_limit != nil if number >= armor_limit $game_system.se_play($data_system.buzzer_se) return end else if number == MOG::DEFAULT_LIMIT $game_system.se_play($data_system.buzzer_se) return end end end end mog45_update_buy end end ##################### # Window_ShopNumber # ##################### class Window_ShopNumber < Window_Base alias mog45_set set def set(item, max, price) @item = item case @item when RPG::Item number = $game_party.item_number(@item.id) item_limit = MOG::ITEM_LIMIT[@item.id] if item_limit!= nil if $sell == true valor = item_limit - number @max = item_limit - valor else @max = item_limit - number end else if $sell == true valor = MOG::DEFAULT_LIMIT - number @max = MOG::DEFAULT_LIMIT - valor else @max = MOG::DEFAULT_LIMIT - number end end when RPG::Weapon number = $game_party.weapon_number(@item.id) weapon_limit = MOG::WEAPON_LIMIT[@item.id] if weapon_limit!= nil if $sell == true valor = weapon_limit - number @max = weapon_limit - valor else @max = weapon_limit - number end else if $sell == true valor = MOG::DEFAULT_LIMIT - number @max = MOG::DEFAULT_LIMIT - valor else @max = MOG::DEFAULT_LIMIT - number end end when RPG::Armor number = $game_party.armor_number(@item.id) armor_limit = MOG::ARMOR_LIMIT[@item.id] if armor_limit!= nil if $sell == true valor = armor_limit - number @max = armor_limit - valor else @max = armor_limit - number end else if $sell == true valor = MOG::DEFAULT_LIMIT - number @max = MOG::DEFAULT_LIMIT - valor else @max = MOG::DEFAULT_LIMIT - number end end end @price = price @number = 1 refresh return mog45_set set(item, max, price) end end ############### # Window_Item # ############### class Window_Item < Window_Selectable def draw_item(index) item = @data[index] case item when RPG::Item number = $game_party.item_number(item.id) item_number = MOG::ITEM_LIMIT[item.id] when RPG::Weapon number = $game_party.weapon_number(item.id) item_number = MOG::WEAPON_LIMIT[item.id] when RPG::Armor number = $game_party.armor_number(item.id) item_number = MOG::ARMOR_LIMIT[item.id] end if item.is_a?(RPG::Item) and $game_party.item_can_use?(item.id) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end x = 4 + index % 2 * (288 + 32) y = index / 2 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 212, 32, item.name, 0) if item_number != nil self.contents.draw_text(x + 220, y, 60, 32, number.to_s + " / " + item_number.to_s, 2) else max_limit = MOG::DEFAULT_LIMIT self.contents.draw_text(x + 220, y, 60, 32, number.to_s + " / " + max_limit.to_s, 2) end end end
Última edição por em Qui Ago 30, 2007 6:46 pm, editado 1 vez(es) | |
| | | tonhaopower Ocasional
Mensagens : 20 Data de inscrição : 27/08/2007 Idade : 31
| Assunto: Re: [Script]Limites de itens no iventorio Qui Ago 30, 2007 6:43 pm | |
| continuaçao - Citação :
- ##################
# Window_Item_Ex # ################## class Window_Item_Ex < Window_Selectable def draw_item(index) item = @data[index] case item when RPG::Item number = $game_party.item_number(item.id) item_number = MOG::ITEM_LIMIT[item.id] end if item.is_a?(RPG::Item) and $game_party.item_can_use?(item.id) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end x = 4 + index % 1 * (288 + 32) y = index / 1 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.font.name = "Georgia" bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 190, 32, item.name, 0) if item_number != nil self.contents.draw_text(x + 195, y, 60, 32, number.to_s + " / " + item_number.to_s, 2) else max_limit = MOG::DEFAULT_LIMIT self.contents.draw_text(x + 195, y, 60, 32, number.to_s + " / " + max_limit.to_s, 2) end end end ################# # Window_Weapon # ################# class Window_Weapon < Window_Selectable def draw_item(index) item = @data[index] case item when RPG::Weapon number = $game_party.weapon_number(item.id) item_number = MOG::WEAPON_LIMIT[item.id] end if item.is_a?(RPG::Item) and $game_party.item_can_use?(item.id) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end x = 4 + index % 1 * (288 + 32) y = index / 1 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.font.name = "Georgia" bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 190, 32, item.name, 0) if item_number != nil self.contents.draw_text(x + 195, y, 60, 32, number.to_s + " / " + item_number.to_s, 2) else max_limit = MOG::DEFAULT_LIMIT self.contents.draw_text(x + 195, y, 60, 32, number.to_s + " / " + max_limit.to_s, 2) end end end ################ # Window_Armor # ################ class Window_Armor < Window_Selectable def draw_item(index) item = @data[index] case item when RPG::Armor number = $game_party.armor_number(item.id) item_number = MOG::ARMOR_LIMIT[item.id] end if item.is_a?(RPG::Item) and $game_party.item_can_use?(item.id) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end x = 4 + index % 1 * (288 + 32) y = index / 1 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.font.name = "Georgia" bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 190, 32, item.name, 0) if item_number != nil self.contents.draw_text(x + 195, y, 60, 32, number.to_s + " / " + item_number.to_s, 2) else max_limit = MOG::DEFAULT_LIMIT self.contents.draw_text(x + 195, y, 60, 32, number.to_s + " / " + max_limit.to_s, 2) end end end ##################### # Window_ShopStatus # ##################### class Window_ShopStatus < Window_Base alias mog45_refresh refresh def refresh if $mogscript["menu_shop"] == true mog45_refresh return false end self.contents.clear if @item == nil return end case @item when RPG::Item number = $game_party.item_number(@item.id) item_max = MOG::ITEM_LIMIT[@item.id] when RPG::Weapon number = $game_party.weapon_number(@item.id) item_max = MOG::WEAPON_LIMIT[@item.id] when RPG::Armor number = $game_party.armor_number(@item.id) item_max = MOG::ARMOR_LIMIT[@item.id] end self.contents.font.color = system_color self.contents.draw_text(4, 0, 200, 32, "Stock") self.contents.font.color = normal_color if item_max != nil self.contents.draw_text(155, 0, 80, 32, number.to_s + " / " + item_max.to_s, 2) else max_limit = MOG::DEFAULT_LIMIT self.contents.draw_text(155, 0, 80, 32, number.to_s + " / " + max_limit.to_s, 2) end if @item.is_a?(RPG::Item) return end for i in 0...$game_party.actors.size actor = $game_party.actors[i] if actor.equippable?(@item) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end self.contents.draw_text(4, 64 + 64 * i, 120, 32, actor.name) if @item.is_a?(RPG::Weapon) item1 = $data_weapons[actor.weapon_id] elsif @item.kind == 0 item1 = $data_armors[actor.armor1_id] elsif @item.kind == 1 item1 = $data_armors[actor.armor2_id] elsif @item.kind == 2 item1 = $data_armors[actor.armor3_id] else item1 = $data_armors[actor.armor4_id] end if actor.equippable?(@item) if @item.is_a?(RPG::Weapon) atk1 = item1 != nil ? item1.atk : 0 atk2 = @item != nil ? @item.atk : 0 change = atk2 - atk1 end if @item.is_a?(RPG::Armor) pdef1 = item1 != nil ? item1.pdef : 0 mdef1 = item1 != nil ? item1.mdef : 0 pdef2 = @item != nil ? @item.pdef : 0 mdef2 = @item != nil ? @item.mdef : 0 change = pdef2 - pdef1 + mdef2 - mdef1 end self.contents.draw_text(124, 64 + 64 * i, 112, 32, sprintf("%+d", change), 2) end if item1 != nil x = 4 y = 64 + 64 * i + 32 bitmap = RPG::Cache.icon(item1.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 212, 32, item1.name) end end return true mog45_refresh end end ################### # Window_ShopSell # ################### class Window_ShopSell < Window_Selectable def initialize if $mogscript["menu_shop"] == true super(-10, 180, 305, 225) self.opacity = 0 @column_max = 1 refresh self.index = 0 else super(0, 128, 640, 352) @column_max = 2 refresh self.index = 0 end end def draw_item(index) item = @data[index] case item when RPG::Item number = $game_party.item_number(item.id) item_number = MOG::ITEM_LIMIT[item.id] when RPG::Weapon number = $game_party.weapon_number(item.id) item_number = MOG::WEAPON_LIMIT[item.id] when RPG::Armor number = $game_party.armor_number(item.id) item_number = MOG::ARMOR_LIMIT[item.id] end if item.price > 0 self.contents.font.color = normal_color else self.contents.font.color = disabled_color end if $mogscript["menu_shop"] == nil x = 4 + index % 2 * (288 + 32) y = index / 2 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 212, 32, item.name, 0) if item_number != nil self.contents.draw_text(x + 220, y, 60, 32, number.to_s + " / " + item_number.to_s, 2) else max_limit = MOG::DEFAULT_LIMIT self.contents.draw_text(x + 220, y, 60, 32, number.to_s + " / " + max_limit.to_s, 2) end else self.contents.font.name = "Georgia" x = 4 + index % 1 * (288 + 32) y = index / 1 * 32 rect = Rect.new(x, y, self.width / @column_max - 32, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) bitmap = RPG::Cache.icon(item.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity) self.contents.draw_text(x + 28, y, 150, 32, item.name, 0) self.contents.font.color = Color.new(50,250,150,255) prc = item.price / 2 self.contents.draw_text(x + 180, y, 80, 32, "+G " + prc.to_s, 2) end end end | |
| | | Machine Admistrador
Mensagens : 156 Data de inscrição : 19/08/2007 Idade : 31 Localização : Brasil
| Assunto: Re: [Script]Limites de itens no iventorio Qui Ago 30, 2007 6:58 pm | |
| Òtimo isso ajuda bastante..pode até funfar como sistema e mochila..vlw por traze-lo aki Tonhao ^^ | |
| | | FantasyX2 Admistrador
Mensagens : 112 Data de inscrição : 19/08/2007 Idade : 32
| Assunto: Re: [Script]Limites de itens no iventorio Sex Ago 31, 2007 1:01 am | |
| Keko para de floodar pliz! Muito bom script | |
| | | Keko Moderadores
Mensagens : 154 Data de inscrição : 26/08/2007 Idade : 32 Localização : Aqui mesmo
| Assunto: Re: [Script]Limites de itens no iventorio Sex Ago 31, 2007 2:18 am | |
| epa malz, era pensei q tava em outro topico, eu deixo 2 sites abertos xD
malz, mas meu comment é q esta otimo....
esse é um bom script vo usa-l ono meu jogo... | |
| | | TheAngelDarkness Novato
Mensagens : 9 Data de inscrição : 04/12/2007 Idade : 30 Localização : TurboMakers
| Assunto: Re: [Script]Limites de itens no iventorio Ter Dez 04, 2007 2:39 am | |
| Multiplas utilidades
Valew | |
| | | Burn Ocasional
Mensagens : 22 Data de inscrição : 18/01/2009 Idade : 29 Localização : Turbo Makers
| Assunto: Re: [Script]Limites de itens no iventorio Dom Jan 18, 2009 6:53 am | |
| Dahoraa esse scripts ;D MogHunter é o caraaa tem muitos scripts legais dele | |
| | | Conteúdo patrocinado
| Assunto: Re: [Script]Limites de itens no iventorio | |
| |
| | | | [Script]Limites de itens no iventorio | |
|
Tópicos semelhantes | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |