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


3 participantes

    Script de nome em eventos - Erro.

    afonsobr
    afonsobr
    Novato
    Novato


    Mensagens : 13
    Créditos : 3

    Script de nome em eventos - Erro. Empty Script de nome em eventos - Erro.

    Mensagem por afonsobr Ter Jan 22, 2013 9:44 pm

    Olá. Parece que nesse script aqui de baixo, aparece o seguinte erro:
    Script de nome em eventos - Erro. E72mg
    Para completar, não roda se tiver um evento usando o script se houver outro usando Processo Paralelo e quando eu apago o evento temporariamente dá o mesmo erro.
    E pra finalizar, não tá faltano update?
    Código:
    #===================================================================
    # Nome dos Eventos 1.1
    # Autor: Madajuv
    #-------------------------------------------------------------------
    # O script gera efeitos visuais, ele mostra o nome do personagem
    # e/ou dos eventos do mapa em cima, ou em baixo dos mesmos.
    # Pode-se ativar ou não que a distância entre o personagem e os
    # eventos alteram a opacidade do nome do evento.
    # Para fazer aparecer o nomes de um evento, crie um comentário
    # no seu evento e nesse comentário você deve escrever:
    #
    # nome
    #
    # Letras maiúsculas, ou minúsculas, ou misto, tanto faz.
    #
    #-------------------------------------------------------------------
    # Log
    #-------------------------------------------------------------------
    # Versão 1.0
    # - O script por si só
    # Versão 1.1
    # - Correção do bug de mostrar nome de eventos/personagem
    # "invisível" ou apagado (no caso dos eventos).
    #
    # Outras configurações, são editadas abaixo.
    #===================================================================
    # Edite Aqui:
    #-------------------------------------------------------------------
    module Mada
      # O nome aparece no topo do char ou abaixo dele?
      # true para topo, false para abaixo dele
      NDE_Topo = true
      # Distância entre o gráfico do char e o nome
      NDE_Dist = 12
      # Tamanho da fonte do nome
      NDE_Tam_Fonte = 14
      # Cor das letras do nome, em RGB
      NDE_Cor = [255, 255, 255]
      # Desenhar uma borda para o nome?
      # true para sim, false para não
      NDE_Borda = true
      # Cor da borda, em RGB
      NDE_Borda_Cor = [0, 0, 0]
      # O nome é escrito em negrito?
      # true para sim, false para não
      NDE_Negrito = true
      # O nome é escrito em itálico?
      # true para sim, false para não
      NDE_Italico = false
      # Aparece o nome do personagem?
      # true para sim, false para não
      NDE_Personagem = true
      # Ativar efeito de opacidade de acordo com a distância?
      # true para sim, false para não
      NDE_Opa_Dist = true
      # Valor que define o quão rápido o nome dos eventos some:
      # Interfere somente se você usar o efeito distância-opacidade
      NDE_Opa_fator = 2
    end
    #-------------------------------------------------------------------
    # Fim da Edição
    #===================================================================
    class Game_Event < Game_Character
    attr_reader :erased
    def name; return @event.name; end; end

    class Nome < Sprite
      def initialize(viewport, character = nil)
        super(viewport); @character = character;
        self.bitmap = Bitmap.new(120, 24)
        nome = @character.is_a?(Game_Player) ? $game_actors[1].name : @character.name
        self.bitmap.font.size = Mada::NDE_Tam_Fonte
        self.bitmap.font.bold = Mada::NDE_Negrito
        self.bitmap.font.italic = Mada::NDE_Italico
        if Mada::NDE_Borda
          self.bitmap.font.color = Color.new(Mada::NDE_Borda_Cor[0], Mada::NDE_Borda_Cor[1], Mada::NDE_Borda_Cor[2])     
          self.bitmap.draw_text(-1, -1, 120, 24, nome, 1)
          self.bitmap.draw_text(1, -1, 120, 24, nome, 1)
          self.bitmap.draw_text(-1, 1, 120, 24, nome, 1)
          self.bitmap.draw_text(1, 1, 120, 24, nome, 1)
        end
        self.bitmap.font.color = Color.new(Mada::NDE_Cor[0], Mada::NDE_Cor[1], Mada::NDE_Cor[2])
        self.bitmap.draw_text(0, 0, 120, 24, nome, 1)
        self.ox = 60; self.oy = 12
        @top = Mada::NDE_Topo
        @bit1 = "RPG::Cache.tile($game_map.tileset_name, @t_id, 0)"
        @bit2 = "RPG::Cache.character(@ch_n, 0)"
        self.opacity = 255
        update
      end
      def update
        super
        if @t_id != @character.tile_id || @ch_n != @character.character_name
          @t_id = @character.tile_id; @ch_n = @character.character_name
          bit = @t_id >= 384 ? eval(@bit1) : eval(@bit2)
          @desv_y = bit.height/4
        end
        self.x = @character.screen_x
        self.y = @top ? top_soma : bai_soma
        self.opacity = 255 - Mada::NDE_Opa_fator*dista if Mada::NDE_Opa_Dist
        apa
      end
      def top_soma; return @character.screen_y - (@desv_y + Mada::NDE_Dist); end;
      def bai_soma; return @character.screen_y + Mada::NDE_Dist; end;
      def dista; return (@character.x - $game_player.x)**2 + (@character.y - $game_player.y)**2; end;
      def apa
        if @character.character_name == '' || @character.opacity == 0
          dispose
          return
        end
      end
    end

    class Spriteset_Map
      alias mad_nde_sm_i initialize
      def initialize
        mad_nde_sm_i
        @cn = []
        for i in $game_map.events.keys
          for j in $game_map.events[i].list
            if j.code == 108 || j.code == 408
              if j.parameters[0].downcase.include?("nome")
                @cn.push(Nome.new(@viewport2, $game_map.events[i]))
                break
              end
            end
          end
        end
        @cn.push(Nome.new(@viewport2, $game_player)) if Mada::NDE_Personagem
      end
      alias mad_nde_sm_d dispose
      def dispose
        @cn.each { |nome| nome.dispose }
        mad_nde_sm_d
      end
      alias mad_nde_sm_u update
      def update
        unless @cn.nil?
          for i in 0...@cn.size
            @cn[i].update
            if @cn[i].disposed?
              @cn[i] = nil
            end
          end
          @cn.compact!
        end
        mad_nde_sm_u
      end
    end


    _________________
    Script de nome em eventos - Erro. F4Llc
    gladistony
    gladistony
    Membro Ativo
    Membro Ativo


    Mensagens : 336
    Créditos : 217

    Script de nome em eventos - Erro. Empty Re: Script de nome em eventos - Erro.

    Mensagem por gladistony Sex Jan 25, 2013 12:00 pm

    kra, testei aqui em casa usando 1 projeto vazio e não deu erro nenhum, coloquei 1 evento em paralelo e 1 que usa o apagar evento temporário, em ambos os casos funcionou tudo certo e nenhum erro. Testei também usando o NPM4 e nenhum erro foi encontrado. Provavelmente vc deve ter algum script que esta causando a incompatibilidade, acho que vc pode tentar coloca depois de for i in $game_map.events.keys esse código:
    next if $game_map.events[i].list == nil rescue next


    _________________
    Script de nome em eventos - Erro. 252057
    Equinho
    Equinho
    Iniciante
    Iniciante


    Mensagens : 38
    Créditos : 5

    Script de nome em eventos - Erro. Empty Re: Script de nome em eventos - Erro.

    Mensagem por Equinho Seg Dez 01, 2014 5:42 pm

    Vlw Pelo Script xD Fico Assim Script de nome em eventos - Erro. 1onhpc


    _________________
    Script de nome em eventos - Erro. Iyl8h4 Script de nome em eventos - Erro. 2cfv0xv


    Script de nome em eventos - Erro. 4zuqzk Script de nome em eventos - Erro. 2vw8u3d

    Conteúdo patrocinado


    Script de nome em eventos - Erro. Empty Re: Script de nome em eventos - Erro.

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Abr 26, 2024 9:45 am