Suporte ao desenvolvimento de jogos!


    Name O' Matic

    Compartilhe
    avatar
    MakotoSG
    Novato
    Novato

    Mensagens : 29
    Créditos : 2

    Name O' Matic

    Mensagem por MakotoSG em Qui Out 31, 2013 10:14 pm

    Um aprimoramento meu do script que o Khas ensinou em sua vídeo-aula. Pode ser muito útil para diversas situações.

    Código:
    #==========================================================================
    # Name O' Matic
    #==========================================================================
    # Autor: MakotoSG(conhecido também por ryuuzaki554)
    # Compatível com: RMVX Ace
    # Contato: samamakoto@gmail.com
    #==========================================================================
    #============================O SISTEMA=====================================
    # O script Name O' Matic faz aparecer qualquer nome em cima de algum evento
    # com um simples comentário (Nome:NOME_DO_NPC)
    #==========================================================================
    #==========NÃO DIGA QUE É DE SUA AUTORIA E DÊ OS DEVIDOS CRÉDITOS==========
    #==========================================================================
    #!!!!!!!!!!!!!!!!NÃO MODIFIQUE O SCRIPT SEM MINHA AUTORIZAÇÃO!!!!!!!!!!!!!!
    #==========================================================================
    # Use sem moderação ^-^
    #==========================================================================

    #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    #==========================================================================
    # Área configurável
    #==========================================================================

    module Name_Config
      
      Font_Name = "Arial Black" # Define a fonte do nome.
      
      Font_Size = 16 # Define o tamanho do nome.
      
      Font_Color = Color.new(255,0,0) # Define a cor do nome em RGB.

    end

    #=========================================================================
    # Fim da área configurável
    #=========================================================================

    #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    class Spriteset_Map
      
      alias nom_initialize initialize
      alias nom_dispose dispose
      alias nom_update update  
      
      def initialize
        create_names    
        nom_initialize
      end  
      
      def update
        nom_update
        update_names
      end  
      
      def dispose
        nom_dispose
        dispose_names
      end  
      
      def create_names
        @names = []
        for event in $game_map.events.values      
          next if event.list == nil      
          for command in event.list        
            next if command.code != 108  
            if command.parameters[0].include?("Nome:")
              name = command.parameters[0].sub("Nome:","")
              @names.push(Sprite_Name.new(event,name))
            end
          end
        end
      end  
      
      def update_names
        for sprite in @names
          sprite.update
        end    
      end  
      
      def dispose_names
        for sprite in @names
          sprite.dispose
        end
        @names.clear
      end
    end

    class Sprite_Name < Sprite

      def initialize(event,name)
        super(nil)
        self.bitmap = Bitmap.new(120,20)
        @event = event
        self.ox = 60
        self.z = 999
        self.bitmap.font.name = Name_Config::Font_Name
        self.bitmap.font.size = Name_Config::Font_Size
        self.bitmap.font.color = Name_Config::Font_Color
        self.bitmap.draw_text(0,0,120,20,name,1)
      end  
      def update
        super
        self.x = @event.screen_x
        self.y = @event.screen_y - 45    
      end  
      def dispose
        self.bitmap.dispose
        self.bitmap = nil
        super
      end
    end
    Vou tentar colocar a opção de mais cores para mais eventos.

      Data/hora atual: Ter Maio 22, 2018 2:57 pm