Script de nome em eventos - Erro. Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

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

Script de nome em eventos - Erro.

3 participantes

Ir para baixo

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
afonsobr
afonsobr
Novato
Novato

Mensagens : 13
Créditos : 3

Ir para o topo Ir para baixo

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
gladistony
gladistony
Membro Ativo
Membro Ativo

Mensagens : 336
Créditos : 217

http://gladistony.blogspot.com

Ir para o topo Ir para baixo

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
Equinho
Equinho
Iniciante
Iniciante

Mensagens : 38
Créditos : 5

Ir para o topo Ir para baixo

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

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos