Suporte ao desenvolvimento de jogos!


    Event Icon/Text Display

    Compartilhe
    avatar
    RD12
    Lenda
    Lenda

    Medalhas :
    Mensagens : 1965
    Créditos : 743

    Event Icon/Text Display

    Mensagem por RD12 em Qua Jun 06, 2012 11:35 pm

    Event Icon/Text Display
    Meu primeiro script para Ace, espero que gostem, não quis fazer algo muito complexo. fiz pra aquecer no ace.

    Características:
    *Exibe um texto em cima do evento.
    *Pode escolher a cor desse Texto.
    *Exibe um ícone em cima do evento.
    *Para exibir é só por um comentário.
    *Exibe nome em cima do Personagem + level.


    Screenshot


    Script
    Instruções no script
    Código:
    #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
    #|Autor: RD12    |      Event Icon/Text Display
    #------------------------------------------------------------------------
    # Exibir nome: comentário> [name] NOME
    # Exibir icon: comentário> [icon] ICON  #Na pasta graphics/system
    # Mudar a Cor: comentário> [cor] n (número da cor)
    # Cores: 0 = vermelho | 1 = verde | 2 = azul | 3 = amarelo | 4 = rosa
    #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

    module Player_Name #Configurações do nome do personagem
      Font_Name = "Segoe UI"
      Font_Size = 14
      Font_Color = Color.new(255,255,255)
      Show_Level = true #exibir level
    end

    class Game_Event < Game_Character
      attr_reader :npc_icon
      attr_reader :npc_name
      attr_reader :font_color

      alias qicon_alias_refresh refresh
      def refresh
      if @loaded == nil
      @Cor = []
      #------------------------------------------------------------------------
      #Número das Cores. Você pode copiar e adicionar mais
      #------------------------------------------------------------------------
      @Cor[0] = Color.new(255,0,0)#vermelho
      @Cor[1] = Color.new(0,255,0)#verde
      @Cor[2] = Color.new(0,0,255)#azul
      @Cor[3] = Color.new(255,255,0)#amarelo
      @Cor[4] = Color.new(255,0,255)#rosa
      @Cor[5] = Color.new(0,0,0)#preto
      #-----
      end
      @loaded = true
        qicon_alias_refresh
        return if  @list == nil
        for cmd in @list
          if cmd.code == 108 or cmd.code == 408
            comentario = cmd.parameters[0]
            arg = comentario.split
          if arg[0] == "[icon]"
            if arg[3] != nil
              @npc_icon = arg[1]+" "+arg[2]+" "+arg[3]
             elsif arg[2] != nil
              @npc_icon = arg[1]+" "+arg[2]
             else
              @npc_icon = arg[1]
            end
          end
          if arg[0] == "[name]"
            if arg[3] != nil
              @npc_name = arg[1]+" "+arg[2]+" "+arg[3]
             elsif arg[2] != nil
              @npc_name = arg[1]+" "+arg[2]
             else
              @npc_name = arg[1]
            end
          end
          if arg[0] == "[cor]"
              cor = arg[1]
              @font_color = @Cor[cor.to_i]
          end
          if @npc_icon == nil
            @npc_icon = ""
          end
           if @font_color.nil?
            @font_color = Color.new(255,255,255)#Cor Padrão:Branco
           end
          end
        end
      end
    end

    class Player_Name_Text < Sprite_Base
      def initialize
        super()
        self.bitmap = Bitmap.new(100, 24)
        refresh
      end

      def refresh
        self.bitmap.clear
        self.x = $game_player.screen_x - 50
        self.y = $game_player.screen_y - 55
        self.bitmap.font.size = Player_Name::Font_Size
        self.bitmap.font.name = Player_Name::Font_Name
        self.bitmap.font.color = Player_Name::Font_Color
        actor = $game_party.members[0]
        if Player_Name::Show_Level == true
          self.bitmap.draw_text(self.bitmap.rect, "#{actor.name} [#{actor.level}]", 1)
         else
          self.bitmap.draw_text(self.bitmap.rect, actor.name, 1)
        end
      end
    end

    class Sprite_Character < Sprite_Base
      alias qicon_alias_initialize initialize
      def initialize(*args)
        @q_icon = nil
        @npc_icon = nil
        @npc_name = nil
        @font_color = nil
        qicon_alias_initialize(*args)
      end
      alias init initialize
      def initialize(view, char)
        init(view, char)
        if @character.is_a?(Game_Player)
           @player_name = Player_Name_Text.new
        end
      end
      alias qicon_alias_update update
      def update
        qicon_alias_update
        if @character.is_a?(Game_Player) and @player_name != nil
         @player_name.refresh
        end
        if @character and @character.is_a?(Game_Event) and @q_icon != @character.npc_icon
           [@q_icon, @character.npc_icon, @character.object_id, self.object_id]
          @q_icon          = @character.npc_icon
          @npc_icon        = Sprite.new(Viewport.new(0, 0, 640, 320)) unless @npc_icon
          @npc_icon.bitmap = Bitmap.new(100,40)
          icon = Cache.system(@q_icon)
          @npc_icon.bitmap.blt(37, 3, icon, Rect.new(0, 0, icon.width, icon.height))
          @npc_icon.bitmap.font.size = 14
          @npc_icon.bitmap.font.name = "Segoe UI"#Nome da Fonte
          @npc_icon.bitmap.font.color = @character.font_color
          @npc_icon.bitmap.draw_text(0, 18, 100, 32, @character.npc_name, 1)
        end
        if @npc_icon and @npc_icon.bitmap
          @npc_icon.x = self.x - (@npc_icon.bitmap.width / 2)
          @npc_icon.y = self.y - (self.src_rect.height + @npc_icon.bitmap.height)
          @npc_icon.z = self.z + 5
        end
      end
      
      alias qicon_alias_dispose dispose
      def dispose
        @npc_icon.dispose if @npc_icon
        @player_name.dispose if @player_name
        qicon_alias_dispose
      end

    end


    Criado por RD12


    Última edição por RD12 em Dom Fev 18, 2018 11:59 am, editado 1 vez(es)
    avatar
    JuanCollin
    Aldeia Friend
    Aldeia Friend

    Mensagens : 997
    Créditos : 91

    Re: Event Icon/Text Display

    Mensagem por JuanCollin em Qua Jun 06, 2012 11:40 pm

    Muito bom RD, +1 cred Successful
    avatar
    Komuro Takashi
    Moderador Local
    Moderador Local

    Mensagens : 1051
    Créditos : 131

    Re: Event Icon/Text Display

    Mensagem por Komuro Takashi em Qui Jun 07, 2012 8:49 am

    puts...quando vc me falou que tinha melhorado no RGSSS não imaginava que fosse tanto...parabéns maninho....

    OffTópic = "coloca eu na ss tbm..." :S


    _________________
    avatar
    Hatsurugi
    Diva
    Diva

    Mensagens : 236
    Créditos : 125

    Re: Event Icon/Text Display

    Mensagem por Hatsurugi em Qui Jun 07, 2012 11:02 am

    Muito interessante, realmente é bastante útil para todo o tipo de projeto.

    +1 cred. pelo feito.

    De sua atiradora

    Hatsurugi


    _________________
    Fanbars:

    Guild:

    Project:





    Minha deusa:



    avatar
    Volkroix
    Diva
    Diva

    Mensagens : 25
    Créditos : 15

    Re: Event Icon/Text Display

    Mensagem por Volkroix em Qui Jun 07, 2012 12:03 pm

    curti
    bastante útil
    +1 cred ^u^


    _________________


    Spoiler:
    Clã:


    [center]Projeto:

    [/center]


    fanbar:
    Sage's Diary






    Blood-C

    Conteúdo patrocinado

    Re: Event Icon/Text Display

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Out 19, 2018 2:26 am