Esse script cria uma especie de mochila que comporta uma determinada quantidade de itens. Quando o limite e atingido vc não pode mais compra itens na loja nem ganhar nos eventos.Para entender melhor as funções leiam as instruções.
Imagem:
Se forem usar deem os créditos e a postagem desse scrip em outros foruns esta proibida excerto se for autorizado.
Imagem:
- Código:
#================================================================
#================================================================
#============Limite de itens p/netplay master ===================
#================================================================
#=======BY:Gladistony Silva======================================
#=======Criada para o forum: Aldeiarpgbr ========================
#=======NÃO POSTA EM OUTRO FORUM SEM AUTORIZAÇÃO=================
#================================================================
#================================================================
#Para instala apenas cole ele logo acima do "[Main] Netplay Main"
#Aviso esse script deve esta logo acima do main para roda
#corretamente.
module Edit_Itens
#Esse tutorial vai ajuda-lo a configura o sistema corretamente
#primeiro iremos configura a HUD, ela será exibida ou não na tela:
MOSTRA_HUD = true #para mostra coloque true, para n false
#agora iremos configura a hud, se vc n vai usar ignore essa parte
X = 0 #posição vertical da janela
Y = 150 #posição horizontal da janela
OPACIDADE_HUD = 200 #transparência da janela
WINDOWSKIN = "Help" #aqui vai o nome da windowslin
TXT_HUD = "Limite do Inventario" #Texto na janela da hud
#com isso as configurações da hud estão completas, agora iremos
#definir as msg.
#primeiro vc quer ou não mostra uma msg quando o limite atingir?
ATIVAR_MSG = true #true mostra false não mostra
MSG_TIPO = 0 #Esse sistema define o estilo da msg, 0 pelo chat 1 janela
MSG = "limite de itens atingido" #a mensagem q ira mostra
#agora iremos definir como será o limite de itens
#vc deve especificar como vai querer o limite máximo
CALCULOAUMOTACITO = true #se estiver true o sistema usara a
#formula que vc defini abaixo para calcula o tamanho máximo da
#lista de item. Se ele estive false o sistema usara o valor da
#constante MAX_ICINIAL.
MAX_ICINIAL = 30 #se quiser mudar o valor dela no jogo use:
#$game_party.actors[0].maximoitens = valor desejado
#exemplo:
#$game_party.actors[0].maximoitens = 50
#agora o limite máximo será 50 itens.
#caso o CALCULOAUMOTACITO for true ele usara essa formula.
#vc pode usar o que quiser nela. Caso não sabia como configura
#eu farei para vc
FORMULA = "$game_party.actors[0].str * 10"
#Depois disso vamos definir se o ouro conta ou não como item
INCLUIR_OURO = false
#por fim a ultima variável define se o sistema afeta todo o jogo
#ou apenas a loja. Se ela estiver false vc poderá adquirir itens
#pelos evento mesmo que isso passe do limite, porem uma vez que
#vc atinja o limite não poderá compra na loja.
#Se ela estiver true, ao atingir o limite você fica impossibilitado
#de ganha itens.
LIMITETOTAL = true
#caso vc precise verificar a se ha espaço na mochila use esse
#codigo Enviar_Item.verificar(valor)
#ele ira retorna true se houver espaço e false se não
#vc pode usar ele com uma ir
# if Enviar_Item.verificar(2) == true
#ou como script da aba condição
end
#============================================================
#================FIM DAS CONFIGURAÇÕES ======================
#============================================================
#================NÃO EDITE SE NÃO SOUBER RGSS================
#============================================================
class Scene_Map
alias main_gladis main
alias update_gladis update
def main
@hud_item = Hud_Itensmax.new
main_gladis
end
def update
@hud_item.update
update_gladis
end
end
class Hud_Itensmax < Window_Base
def initialize
super(Edit_Itens::X, Edit_Itens::Y, 160, 80)
self.visible = Edit_Itens::MOSTRA_HUD
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = Edit_Itens::OPACIDADE_HUD
refresh
end
def refresh
if Edit_Itens::CALCULOAUMOTACITO == false
maximo = $game_party.actors[0].maximoitens
else
maximo = eval Edit_Itens::FORMULA
end
textp = "#{$game_party.totaldeitens} / #{maximo}"
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 128, 32, Edit_Itens::TXT_HUD)
self.contents.draw_text(4, 0, 128, 62, textp)
self.windowskin = RPG::Cache.windowskin(Edit_Itens::WINDOWSKIN)
end
def update
self.visible = Edit_Itens::MOSTRA_HUD
refresh
end
end
class Window_ShopBuy2
alias vender22 loja_vender
def loja_vender
if $pegando_item_loja == true
if !Input.pressed?(Input::Mouse_Left) and $item_w.in_area?
$mouse_iconfor = "arrow"
$game_temp.atualizar_mouse = true
@item = $loja_w.item
preparar = $amount
if Enviar_item.verificar(preparar) == false
if Edit_Itens::ATIVAR_MSG == true
if Edit_Itens::MSG_TIPO == 0
$game_temp.chat_log.push(Edit_Itens::MSG)
return
else
p Edit_Itens::MSG
return
end
end
end
#end
end
end
vender22
end
end
class Game_Actor
attr_reader :maximoitens
alias setuppp setup
def setup(actor_id)
setuppp(actor_id)
@maximoitens = Edit_Itens::MAX_ICINIAL
end
def maximoitens=(maximoitens)
@maximoitens = maximoitens
end
end
module Enviar_item
def self.verificar(valor)
if Edit_Itens::CALCULOAUMOTACITO == false
@maximoitens = $game_party.actors[0].maximoitens
else
coisa = "@adicionar = " + Edit_Itens::FORMULA
eval coisa
@maximoitens = @adicionar + 1
end
if $game_party.totaldeitens + valor >= @maximoitens
return false
else
return true
end
end
end
class Game_Party
alias receberitem gain_item
alias receberweapon gain_weapon
alias receberarmor gain_armor
def totaldeitens
contagem = @items.values
contagem += @weapons.values
contagem += @armors.values
if contagem.empty?
return 0
end
contagem.compact
quantidade = contagem.length
inicial = 0
total = 0
loop do
if inicial == quantidade
if Edit_Itens::INCLUIR_OURO == false
total -= item_number(Item_Ouro::Item_Id.to_i)
end
return total
break
p "erro"
end
total += contagem[inicial]
inicial += 1
end
return total
end
def gain_item(item_id, n)
if Edit_Itens::INCLUIR_OURO == false
if item_id == Item_Ouro::Item_Id.to_i
receberitem(item_id, n)
return
end
end
if Edit_Itens::LIMITETOTAL == true
if Enviar_item.verificar(n) == false
if Edit_Itens::ATIVAR_MSG == true
if Edit_Itens::MSG_TIPO == 0
$game_temp.chat_log.push(Edit_Itens::MSG)
return
else
p Edit_Itens::MSG
return
end
end
end
end
receberitem(item_id, n)
end
def gain_weapon(weapon_id, n)
if Edit_Itens::LIMITETOTAL == true
if Enviar_item.verificar(n) == false
if Edit_Itens::ATIVAR_MSG == true
if Edit_Itens::MSG_TIPO == 0
$game_temp.chat_log.push(Edit_Itens::MSG)
return
else
p Edit_Itens::MSG
return
end
end
end
end
receberweapon(weapon_id, n)
end
def gain_armor(weapon_id, n)
if Edit_Itens::LIMITETOTAL == true
if Enviar_item.verificar(n) == false
if Edit_Itens::ATIVAR_MSG == true
if Edit_Itens::MSG_TIPO == 0
$game_temp.chat_log.push(Edit_Itens::MSG)
return
else
p Edit_Itens::MSG
return
end
end
end
end
receberarmor(weapon_id, n)
end
end
- Instruções:
- Para instala apenas cole ele logo acima do "[Main] Netplay Main"
Aviso esse script deve esta logo acima do main para roda
corretamente.
Esse tutorial vai ajuda-lo a configura o sistema corretamente
primeiro iremos configura a HUD, ela será exibida ou não na tela:
MOSTRA_HUD = true #para mostra coloque true, para n false
agora iremos configura a hud, se vc n vai usar ignore essa parte
X = 0 #posição vertical da janela
Y = 150 #posição horizontal da janela
OPACIDADE_HUD = 200 #transparência da janela
WINDOWSKIN = "Help" #aqui vai o nome da windowslin
TXT_HUD = "Limite do Inventario" #Texto na janela da hud
com isso as configurações da hud estão completas, agora iremos
definir as msg.
primeiro vc quer ou não mostra uma msg quando o limite atingir?
ATIVAR_MSG = true #true mostra false não mostra
MSG_TIPO = 0 #Esse sistema define o estilo da msg, 0 pelo chat 1 janela
MSG = "limite de itens atingido" #a mensagem q ira mostra
agora iremos definir como será o limite de itens
vc deve especificar como vai querer o limite máximo
CALCULOAUMOTACITO = true #se estiver true o sistema usara a
formula que vc defini abaixo para calcula o tamanho máximo da
lista de item. Se ele estive false o sistema usara o valor da
constante MAX_ICINIAL.
MAX_ICINIAL = 30 #se quiser mudar o valor dela no jogo use:
$game_party.actors[0].maximoitens = valor desejado
exemplo:
$game_party.actors[0].maximoitens = 50
agora o limite máximo será 50 itens.
caso o CALCULOAUMOTACITO for true ele usara essa formula.
vc pode usar o que quiser nela. Caso não sabia como configura
eu farei para vc
FORMULA = "$game_party.actors[0].str * 10"
Depois disso vamos definir se o ouro conta ou não como item
INCLUIR_OURO = false
por fim a ultima variável define se o sistema afeta todo o jogo
ou apenas a loja. Se ela estiver false vc poderá adquirir itens
pelos evento mesmo que isso passe do limite, porem uma vez que
vc atinja o limite não poderá compra na loja.
Se ela estiver true, ao atingir o limite você fica impossibilitado
de ganha itens.
LIMITETOTAL = true
caso vc precise verificar a se ha espaço na mochila use esse
codigo Enviar_Item.verificar(valor)
ele ira retorna true se houver espaço e false se não
vc pode usar ele com uma ir
if Enviar_Item.verificar(2) == true
ou como script da aba condição
- LOG:
- Código:
20/06/2012 ===>Scrip criado e inscrito no concurso
21/06/2012 ===>Bug ao no sistema total removido[Agradecimentos ao @Darkmel por mostra o bug]
Se forem usar deem os créditos e a postagem desse scrip em outros foruns esta proibida excerto se for autorizado.
Última edição por gladistony em Qui Jun 21, 2012 10:55 pm, editado 3 vez(es)