ComediaMaker
Faça Login e conecte-se!!!

Ainda nao é membro?
Registre-se logo e faça parte
dessa Bagaça!!



Bússula modificada Banercm


Participe do fórum, é rápido e fácil

ComediaMaker
Faça Login e conecte-se!!!

Ainda nao é membro?
Registre-se logo e faça parte
dessa Bagaça!!



Bússula modificada Banercm
ComediaMaker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Bússula modificada

2 participantes

Ir para baixo

Dispondo Bússula modificada

Mensagem por Diogo Pegasus Seg maio 09, 2011 12:29 pm

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:

Bússula modificada 2reprup

Script:

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
Diogo Pegasus
Diogo Pegasus
Marechal do CM
Marechal do CM

Bússula modificada Admy
Mensagens : 1141
Comédia Grana : 7200
Créditos : 20
Humor : O Google é meu pastor e nada me faltará

https://comediamaker.forumeiro.com

Ir para o topo Ir para baixo

Dispondo Re: Bússula modificada

Mensagem por Cocatrique Ter Dez 06, 2011 7:15 pm

Inativo Por Meses = Bloqueado

Bye
Cocatrique
Cocatrique
General do CM
General do CM

Bússula modificada 1SignNoob Noob do momento

Bússula modificada Modmt
Mensagens : 676
Comédia Grana : 5532
Créditos : 60
Maker : RPG Maker VXA
Humor : Oi

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