Battle Maker

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte para criação de Jogos


2 participantes

    Event Icon/Text Display por Rd12

    jiraya
    jiraya
    Administrador
    Administrador


    Mensagens : 1299
    Credibilidade : 54

    Event Icon/Text Display   por Rd12 Empty Event Icon/Text Display por Rd12

    Mensagem por jiraya Qui Jun 07, 2012 4:58 pm

    [Autor: "RD12"]

    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
    [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

    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

    obs: o evento ID 4 não aparece nome nem ícone, é um bug, só pula-lo.

    Criado por RD12
    Alucard
    Alucard
    Semi-programador
    Semi-programador


    Mensagens : 191
    Credibilidade : 9

    Event Icon/Text Display   por Rd12 Empty Re: Event Icon/Text Display por Rd12

    Mensagem por Alucard Sáb Out 06, 2012 5:58 pm

    Muito show vou usar no meu projeto

      Data/hora atual: Sex Abr 26, 2024 5:08 am