Bússula modificada
2 participantes
ComediaMaker :: Scripts :: Rpg Maker XP
Página 1 de 1
Bússula modificada
Descrição:
Bem
esse é um Script que não tem muito o que explicar é só uma bússola que
aparece no canto da tela indicando qual é a posição de um determinado
evento.
Screen:
Script:
http://www.mediafire.com/?ojy1den0jdz
KJR por fazer o script e a demo
e P. R da Silva (eu) por modificar o script e a demo e disponibilizar
- Código:
# Por KJR.
# Alterações são aceitáveis, se dados os devidos créditos. ;D
class Window_Radar < Window_Base
ID = 1 #ID da variável que define o evento alvo do Radar
ID2 = 1 #ID do switch que faz aparecer a bussula
DEC = true #Define o uso ou não uso de uma casa decimal
def initialize
super(400,335,290,200)
self.contents = Bitmap.new(width-32,height-32)
self.opacity = 0
refresh
end
def refresh
if $game_switches[ID2]
alvo_id = $game_variables[ID]
if alvo_id <= 0
# Se o ID do alvo é menor que 0, significa que ele não existe
pic = RPG::Cache.picture("BSL-NIL")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
else
alvo = $game_map.events[alvo_id]
hero = $game_player
hx = hero.x
hy = hero.y
ax = alvo.x
ay = alvo.y
self.contents.clear
if ax < hx and ay < hy # Alvo está ESQUERDA-CIMA em relação ao herói
pic = RPG::Cache.picture("BSL-LU")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif ax == hx and ay < hy # Alvo está CIMA em relação ao herói
pic = RPG::Cache.picture("BSL-U")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif ax > hx and ay < hy # Alvo está DIREITA-CIMA em relação ao herói
pic = RPG::Cache.picture("BSL-RU")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif ax < hx and ay == hy # Alvo está ESQUERDA em relação ao herói
pic = RPG::Cache.picture("BSL-L")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif ax > hx and ay == hy # Alvo está DIREITA em relação ao herói
pic = RPG::Cache.picture("BSL-R")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif ax < hx and ay > hy # Alvo está ESQUERDA-BAIXO em relação ao herói
pic = RPG::Cache.picture("BSL-LD")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif ax == hx and ay > hy # Alvo está BAIXO em relação ao herói
pic = RPG::Cache.picture("BSL-D")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif ax > hx and ay > hy # Alvo está DIREITA-BAIXO em relação ao herói
pic = RPG::Cache.picture("BSL-RD")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif ax == hx and ay == hy
pic = RPG::Cache.picture("BSL-NIL")
rect = Rect.new(0,0,168,168)
self.contents.blt(122,32,pic,rect)
elsif alvo == nil
pic = RPG::Cache.picture("BSL-NIL")
rect = Rect.new(0,0,168,168)#Para tirar o contador deixe todos os
#valores dessa linha iqual a 0
self.contents.blt(122,32,pic,rect)
end
end
if ax == hx and ay == hy # Se alvo e herói ocupam a mesma posição
dist = 0
str = dist.to_s
str = dist.to_f.to_s if DEC == true
elsif ax != hx and ay == hy # Se alvo e herói ocupam o mesmo Y e outro X
dif = ax - hx
dist = dif.abs
str = dist.to_s
str = dist.to_f.to_s if DEC == true
elsif ax == hx and ay != hy # Se alvo e herói ocupam o mesmo X e outro Y
dif = ay - hy
dist = dif.abs
str = dist.to_s
str = dist.to_f.to_s if DEC == true
elsif ax != hx and ay != hy # Se alvo e herói ocupam X e Y distintos
difx = hx - ax # Cateto 1
dify = hy - ay # Cateto 2
dist = Math.hypot(difx, dify) # Hipotenusa = Distância(herói/evento)
if DEC == true
dec = dist.to_i
dec = dist - dec
dec *= 10
dec = dec.truncate
dist = dist.truncate
str = dist.to_s + "." + dec.to_s
else
str = dist.truncate
end
end
self.contents.font.size = 27
self.contents.draw_text(4,70,64,32,str)
self.contents.font.size = 21
end
end
end
Demo:
http://www.mediafire.com/?ojy1den0jdz
Créditos:
KJR por fazer o script e a demo
e P. R da Silva (eu) por modificar o script e a demo e disponibilizar
Re: Bússula modificada
Inativo Por Meses = Bloqueado
Bye
Bye
Cocatrique- General do CM
- Noob do momento
Mensagens : 676
Comédia Grana : 5532
Créditos : 60
Maker : RPG Maker VXA
Humor : Oi
ComediaMaker :: Scripts :: Rpg Maker XP
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos