Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


+2
RD12
gladistony
6 participantes

    Limite de itens[NPM]

    gladistony
    gladistony
    Membro Ativo
    Membro Ativo


    Mensagens : 336
    Créditos : 217

    Limite de itens[NPM] Empty Limite de itens[NPM]

    Mensagem por gladistony Qua Jun 20, 2012 9:55 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:
    Limite de itens[NPM] Imagemtk
    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:

    LOG:

    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)


    _________________
    Limite de itens[NPM] 252057
    RD12
    RD12
    Lenda
    Lenda


    Medalhas : Limite de itens[NPM] 48080450Limite de itens[NPM] Trophy11Limite de itens[NPM] GIueZLimite de itens[NPM] ZgLkiRU
    Mensagens : 1946
    Créditos : 745

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por RD12 Qui Jun 21, 2012 9:00 am

    É um script útil, mas está um pouco poluído, dava pra fazer um código mais limpo intendeu? Mas vlw por postar, +1créd.
    DeaN
    DeaN
    Colaborador
    Colaborador


    Mensagens : 1243
    Créditos : 48

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por DeaN Qui Jun 21, 2012 9:06 am

    Concordo com o RD12, mais o script esta massa.1+


    _________________
    Dean, Programador Geral :)

    Contato: Skype:matucarvalho e Facebook
    The Enze - Vulzt

    Shield Block
    Anti-Cheat para jogos de FPS, agora vou adaptar para jogos de RPG principalmente para o RMXP.
    www.shieldblock.net
    fb.com/shieldblockoficial

    Limite de itens[NPM] MiB0H
    lovins
    lovins
    Membro Ativo
    Membro Ativo


    Mensagens : 340
    Créditos : 68

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por lovins Qui Jun 21, 2012 11:12 am

    O meu da erro na linha 231:

    Código:
    receberarmor(item_id, n)


    _________________
    Limite de itens[NPM] 616s9EW
    gladistony
    gladistony
    Membro Ativo
    Membro Ativo


    Mensagens : 336
    Créditos : 217

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por gladistony Qui Jun 21, 2012 7:48 pm

    @Darkmel bug corrigido, apaga o script que vc tem e coloque esse o que esta no topico.
    Também um bug que aparecia ao receber ouro.


    _________________
    Limite de itens[NPM] 252057
    lovins
    lovins
    Membro Ativo
    Membro Ativo


    Mensagens : 340
    Créditos : 68

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por lovins Qui Jun 21, 2012 8:43 pm

    Agora sim pegou Very Happy, muito bom o script funfa mesmo, ganhou meu +1.


    _________________
    Limite de itens[NPM] 616s9EW
    Samuka_Maker
    Samuka_Maker
    Aldeia Friend
    Aldeia Friend


    Medalhas : Limite de itens[NPM] WBLhI
    Mensagens : 1204
    Créditos : 127

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por Samuka_Maker Qui Jun 21, 2012 8:48 pm

    Posso colocar esse scrpt no meu forum cara? achei ele mtooo bom


    _________________

    Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
    http://liferpgmakerv2.forumais.com/

    Limite de itens[NPM] 6f4EA

    Limite de itens[NPM] Bxvno
    Tópico original/Tópico de Recrutamento
    gladistony
    gladistony
    Membro Ativo
    Membro Ativo


    Mensagens : 336
    Créditos : 217

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por gladistony Qui Jun 21, 2012 11:27 pm

    @Samuka_Maker pode postar, mais fique de olho no tópico pois irei lança algumas upgrade pro script. Quero deixa ele mais leve e limpo como o RD12 falou.


    _________________
    Limite de itens[NPM] 252057
    Samuka_Maker
    Samuka_Maker
    Aldeia Friend
    Aldeia Friend


    Medalhas : Limite de itens[NPM] WBLhI
    Mensagens : 1204
    Créditos : 127

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por Samuka_Maker Qui Jun 28, 2012 1:48 pm

    ok Very Happy postando, gostei muito desse script cara e to usando hehe


    _________________

    Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
    http://liferpgmakerv2.forumais.com/

    Limite de itens[NPM] 6f4EA

    Limite de itens[NPM] Bxvno
    Tópico original/Tópico de Recrutamento
    Maverick ~
    Maverick ~
    Membro Ativo
    Membro Ativo


    Mensagens : 372
    Créditos : 39

    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por Maverick ~ Qua Jul 11, 2012 10:43 pm

    @Gladi: Tipo você podia fazer para quando ir aumentando de nível ir aumentando
    a capacidade..
    Atenciosamente
    Mave~


    _________________
    Alguma Duvida!? Me mande uma MP

    Limite de itens[NPM] BgIconeLivro                 Regras do Fórum


    Limite de itens[NPM] L4thF

    Conteúdo patrocinado


    Limite de itens[NPM] Empty Re: Limite de itens[NPM]

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Nov 21, 2024 1:30 pm