Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Script de nome em eventos - Erro.
3 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Dúvidas e pedidos
Página 1 de 1
Script de nome em eventos - Erro.
Olá. Parece que nesse script aqui de baixo, aparece o seguinte erro:
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?
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
_________________
afonsobr- Novato
- Mensagens : 13
Créditos : 3
Re: Script de nome em eventos - Erro.
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
next if $game_map.events[i].list == nil rescue next
_________________
Equinho- Iniciante
- Mensagens : 38
Créditos : 5
Tópicos semelhantes
» Ajuda com o Script de Mostrar Nome encima de NPC e Pers (Dando ERRO)
» [Resolvido]Script de Nome Secundário
» Script nome dos mapas
» Script Erro
» Script para nome do mapa
» [Resolvido]Script de Nome Secundário
» Script nome dos mapas
» Script Erro
» Script para nome do mapa
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Dúvidas e pedidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos