Turbo Makers

O mais novo fórum relacionado a RPG Maker.
 
InícioInício  PortalPortal  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  MembrosMembros  GruposGrupos  Conectar-seConectar-se  

Compartilhe | 
 

 [Script]Limites de itens no iventorio

Ir em baixo 
AutorMensagem
tonhaopower
Ocasional
Ocasional
avatar

Mensagens : 20
Data de inscrição : 27/08/2007
Idade : 25

MensagemAssunto: [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)
Voltar ao Topo Ir em baixo
Ver perfil do usuário
tonhaopower
Ocasional
Ocasional
avatar

Mensagens : 20
Data de inscrição : 27/08/2007
Idade : 25

MensagemAssunto: 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
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Machine
Admistrador
Admistrador
avatar

Mensagens : 156
Data de inscrição : 19/08/2007
Idade : 25
Localização : Brasil

MensagemAssunto: 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 ^^

_________________
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://turbomakers.forumeiros.com
FantasyX2
Admistrador
Admistrador
avatar

Mensagens : 112
Data de inscrição : 19/08/2007
Idade : 27

MensagemAssunto: Re: [Script]Limites de itens no iventorio   Sex Ago 31, 2007 1:01 am

Keko para de floodar pliz!
Muito bom script

_________________


Voltar ao Topo Ir em baixo
Ver perfil do usuário
Keko
Moderadores
Moderadores
avatar

Mensagens : 154
Data de inscrição : 26/08/2007
Idade : 26
Localização : Aqui mesmo

MensagemAssunto: 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...

_________________
Participem da Comunidade Aula Maker no Orkut:
http://www.orkut.com/Community.aspx?cmm=37878317

Projeto mais recente:
http://www.jogosrpg.com.br/forum/index.php?topic=10905.msg86354#msg86354

Minha equipe de criação de jogos:
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://www.orkut.com
TheAngelDarkness
Novato
Novato
avatar

Mensagens : 9
Data de inscrição : 04/12/2007
Idade : 24
Localização : TurboMakers

MensagemAssunto: Re: [Script]Limites de itens no iventorio   Ter Dez 04, 2007 2:39 am

Multiplas utilidades

Valew
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Burn
Ocasional
Ocasional
avatar

Mensagens : 22
Data de inscrição : 18/01/2009
Idade : 24
Localização : Turbo Makers

MensagemAssunto: 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
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://turbomakers.forumeiros.com/
Conteúdo patrocinado




MensagemAssunto: Re: [Script]Limites de itens no iventorio   

Voltar ao Topo Ir em baixo
 
[Script]Limites de itens no iventorio
Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» script para arrastar itens
» [Script][GML]Array 3D
» Drops - Editor de script
» [Script]Carregar arquivos em 3D
» [Script]Visualizador de arquivos

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Turbo Makers :: RPG Maker XP :: Scripts RGSS-
Ir para: