Life Rpg Maker
Registre-se em nossa comunidade e saiba Mais do mundo maker(:



 
InícioInício  chat  PortalPortal  CalendárioCalendário  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Conectar-seConectar-se  

Compartilhe | 
 

 Limite de itens[NPM]

Ir em baixo 
AutorMensagem
Samuka_Adm
Admin
Admin
avatar

Medalhas :
Mensagens : 150
Pontos : 319
Reputação : 44
Data de inscrição : 15/06/2012

MensagemAssunto: Limite de itens[NPM]   Qui Jun 28, 2012 12:53 pm

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:

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:
 



créditos e agradecimentos
por fazer o script e me deixar poostar
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://liferpgmaker.forumeiros.com
 
Limite de itens[NPM]
Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» script para arrastar itens
» Recolocação de alguns itens
» Limite de paginas/posts
» Limite de IP de registro
» Limite de posts para postar em um fórum

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