Suporte ao desenvolvimento de jogos!


    RGSS3_Popup Icon Ver.1.2

    Compartilhe
    avatar
    Hatsurugi
    Diva
    Diva

    Mensagens : 236
    Créditos : 125

    RGSS3_Popup Icon Ver.1.2

    Mensagem por Hatsurugi em Qua Abr 25, 2012 1:27 pm

    Introdução


    Este Script faz com que ícones sejam exibidos ao receber itens, sobre eventos e sobre o jogador.

    Caracteristicas


    - Mostra ícone do item ao recebe-lo.

    - Exibe ícones sobre eventos selecionados por chamar Script

    - Exibe ícones sobre o player


    Screenshot


    Spoiler:




    Como Usar


    Para mostar o icone use o seguinte comando no "Chamar Script"
    pop_icon(event_id, icon_id, duration)

    event_id é o Id do evento que ira sofrer a ação
    icon_id é o index do icon a ser usado。
    se o "event_id" for "0" será tratado como o evento que o invocou
    -1 é o player
    duration é a duração do evento ( em frames)

    EX:)pop_icon(-1, 17, 300)
    Isso ira exibir um icone no player por 5 segundos.

    Um pop_icon Não será exibido seguido do outro
    Use delete_icon com espera de alguns frames
    para evibir pop_icon Seguidos。

    EX)delete_icon(-1)
    Para revover o icone do personagem

    Script


    Código:
    #==============================================================================
    # ★ RGSS3_Popup Icon Ver1.2
    #==============================================================================
    =begin

    Autor:tomoaky
    website: Hikimoki (http://hikimoki.sakura.ne.jp/)

    Mostra icone do item ao abrir baus ou coletar itens.
    Mostra um icone sobre um evento ou Player.

    Para mostar o icone use o seguinte comando no "Chamar Script"
      pop_icon(event_id, icon_id, duration)
     
      event_id é o Id do evento que ira sofrer a ação
      icon_id é o index do icon a ser usado。
      se o "event_id" for "0" será tratado como o evento que o invocou
      -1 é o player
      duration é a duração do evento ( em frames)
     
      EX:)pop_icon(-1, 17, 300)
      Isso ira exibir um icone no player por 5 segundos.
     
      Um pop_icon Não será exibido seguido do outro
      Use delete_icon com espera de alguns frames
      para evibir pop_icon Seguidos。
     
      EX)delete_icon(-1)
      Para revover o icone do personagem
     
    Variavéis usadas (padrão do Script) 
      0006
     
    2012.01.19  Ver1.2
     ・Adicionado o comando delete_icon.
     ・Erro de popup corrigido.
     
    2011.12.21  Ver1.11
     ・Corrigido o erro de exibição no evento demasiado "0"
     
    2011.12.17  Ver1.1
     ・Adicionado tempo de exibição

    2011.12.15  Ver1.0
      Publicação.
     
    =end

    #==============================================================================
    # □ Configuração.
    #==============================================================================
    module TMICPOP
      GRAVITY = 24              # Gravidade de acordo com o Icone
      SPEED  = -320            # Velocidade
     
      VN_TARGET = 6            # Variavel de atribuição do icone.
    end

    #==============================================================================
    # □ コマンド
    #==============================================================================
    module TMICPOP
    module Commands
      #--------------------------------------------------------------------------
      # ○ アイコンポップの開始
      #--------------------------------------------------------------------------
      def pop_icon(event_id, icon_id, duration = 120)
        target = get_character(event_id)
        return unless target
        target.icpop_id = icon_id
        target.icpop_duration = duration
      end
      #--------------------------------------------------------------------------
      # ○ アイコンポップの削除
      #--------------------------------------------------------------------------
      def delete_icon(event_id)
        target = get_character(event_id)
        return unless target
        target.icpop_delete_flag = true
      end
    end
    end # module TMICPOP

    #==============================================================================
    # ■ Game_CharacterBase
    #==============================================================================
    class Game_CharacterBase
      #--------------------------------------------------------------------------
      # ● 公開インスタンス変数
      #--------------------------------------------------------------------------
      attr_accessor :icpop_id                # アイコンポップ ID
      attr_accessor :icpop_duration          # アイコンポップ 表示時間
      attr_accessor :icpop_delete_flag        # アイコンポップ 削除フラグ
      #--------------------------------------------------------------------------
      # ● 公開メンバ変数の初期化
      #--------------------------------------------------------------------------
      alias tmicpop_game_characterbase_init_public_members init_public_members
      def init_public_members
        tmicpop_game_characterbase_init_public_members
        @icpop_id = 0
        @icpop_duration = 0
        @icpop_delete_flag = false
      end
    end

    #==============================================================================
    # ■ Sprite_Character
    #==============================================================================
    class Sprite_Character
      #--------------------------------------------------------------------------
      # ● オブジェクト初期化
      #    character : Game_Character
      #--------------------------------------------------------------------------
      alias tmicpop_sprite_character_initialize initialize
      def initialize(viewport, character = nil)
        @icpop_duration = 0
        tmicpop_sprite_character_initialize(viewport, character)
      end
      #--------------------------------------------------------------------------
      # ● 解放
      #--------------------------------------------------------------------------
      alias tmicpop_sprite_character_dispose dispose
      def dispose
        dispose_icpop
        tmicpop_sprite_character_dispose
      end
      #--------------------------------------------------------------------------
      # ● フレーム更新
      #--------------------------------------------------------------------------
      alias tmicpop_sprite_character_update update
      def update
        update_icpop
        tmicpop_sprite_character_update
      end
      #--------------------------------------------------------------------------
      # ● 新しいエフェクトの設定
      #--------------------------------------------------------------------------
      alias tmicpop_sprite_character_setup_new_effect setup_new_effect
      def setup_new_effect
        tmicpop_sprite_character_setup_new_effect
        if !@icpop_sprite && @character.icpop_id > 0
          @icpop_id = @character.icpop_id
          @character.icpop_id = 0
          start_icpop
        end
      end
      #--------------------------------------------------------------------------
      # ○ アイコンポップ表示の開始
      #--------------------------------------------------------------------------
      def start_icpop
        dispose_icpop
        @icpop_duration = @icpop_duration_max = @character.icpop_duration
        @icpop_sprite = ::Sprite.new(viewport)
        @icpop_sprite.bitmap = Cache.system("IconSet")
        @icpop_sprite.src_rect.set(@icpop_id % 16 * 24, @icpop_id / 16 * 24, 24, 24)
        @icpop_sprite.ox = 12
        @icpop_sprite.oy = 24
        @icpop_y_plus = 0
        @icpop_y_speed = TMICPOP::SPEED
        update_icpop
      end
      #--------------------------------------------------------------------------
      # ○ アイコンポップの解放
      #--------------------------------------------------------------------------
      def dispose_icpop
        @character.icpop_delete_flag = false
        if @icpop_sprite
          @icpop_sprite.dispose
          @icpop_sprite = nil
        end
      end
      #--------------------------------------------------------------------------
      # ○ アイコンポップの更新
      #--------------------------------------------------------------------------
      def update_icpop
        if @icpop_duration > 0
          @icpop_duration -= 1
          if @character.icpop_delete_flag
            @icpop_duration = 0
            dispose_icpop
          elsif @icpop_duration > 0
            @icpop_sprite.x = x
            @icpop_y_plus += @icpop_y_speed
            @icpop_y_speed += TMICPOP::GRAVITY
            if @icpop_y_plus > 0
              @icpop_y_plus = 0 - @icpop_y_plus
              @icpop_y_speed = 0 - @icpop_y_speed / 2
            end
            @icpop_sprite.y = y - height + (@icpop_y_plus / 256)
            @icpop_sprite.z = z + 200
            @icpop_sprite.opacity = (@icpop_duration < 16 ? @icpop_duration * 16 :
              (@icpop_duration_max - @icpop_duration) * 32)
          else
            dispose_icpop
            @character.icpop_id = 0
          end
        end
      end
    end

    #==============================================================================
    # ■ Game_Event
    #==============================================================================
    class Game_Event
      include TMICPOP::Commands
      #--------------------------------------------------------------------------
      # ○ キャラクターの取得
      #    param : -1 ならプレイヤー、0 ならこのイベント、それ以外はイベント ID
      #--------------------------------------------------------------------------
      def get_character(param)
        if param < 0
          $game_player
        else
          $game_map.events[param > 0 ? param : @id]
        end
      end
    end

    #==============================================================================
    # ■ Game_Interpreter
    #==============================================================================
    class Game_Interpreter
      include TMICPOP::Commands
      #--------------------------------------------------------------------------
      # ● アイテムの増減
      #--------------------------------------------------------------------------
      alias tmicpop_game_interpreter_command_126 command_126
      def command_126
        tmicpop_game_interpreter_command_126
        value = operate_value(@params[1], @params[2], @params[3])
        if value > 0
          if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
            item = $data_items[@params[0]]
            pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
          end
        end
      end
      #--------------------------------------------------------------------------
      # ● 武器の増減
      #--------------------------------------------------------------------------
      alias tmicpop_game_interpreter_command_127 command_127
      def command_127
        tmicpop_game_interpreter_command_127
        value = operate_value(@params[1], @params[2], @params[3])
        if value > 0
          if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
            item = $data_weapons[@params[0]]
            pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
          end
        end
      end
      #--------------------------------------------------------------------------
      # ● 防具の増減
      #--------------------------------------------------------------------------
      alias tmicpop_game_interpreter_command_128 command_128
      def command_128
        tmicpop_game_interpreter_command_128
        value = operate_value(@params[1], @params[2], @params[3])
        if value > 0
          if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
            item = $data_armors[@params[0]]
            pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
          end
        end
      end
    end


    Creditos
    [/color]

    - A Tomoaky por Criar o Script

    - A Hatsurugi por traduzir e postar na Aldeia

    Espero que seja do agrado dos senhores

    De sua atiradora

    Hatsurugi


    _________________
    Fanbars:

    Guild:

    Project:





    Minha deusa:



    avatar
    Volkroix
    Diva
    Diva

    Mensagens : 25
    Créditos : 15

    Re: RGSS3_Popup Icon Ver.1.2

    Mensagem por Volkroix em Qua Abr 25, 2012 1:35 pm

    Curti isso, lembro Zelda
    + 1 cred


    _________________


    Spoiler:
    Clã:


    [center]Projeto:

    [/center]


    fanbar:
    Sage's Diary






    Blood-C
    avatar
    Duel
    Aldeia Friend
    Aldeia Friend

    Mensagens : 1374
    Créditos : 107

    Re: RGSS3_Popup Icon Ver.1.2

    Mensagem por Duel em Dom Abr 29, 2012 8:27 pm

    Ficou muito bom
    Atiradora
    Toma: 1 Cred
    Agora vou fazer que nem você e o lief

    Sem Mais Guilherme Azevedo
    de seu Pirata
    avatar
    ZeroXP
    Membro Ativo
    Membro Ativo

    Mensagens : 347
    Créditos : 31

    Re: RGSS3_Popup Icon Ver.1.2

    Mensagem por ZeroXP em Ter Maio 15, 2012 6:22 am

    @Volkroix escreveu:Curti isso, lembro Zelda
    + 1 cred

    Exatamente o que eu iria dizer, +1 cred².


    _________________
    Clique e ajude a Lunact Cast !
    avatar
    Muta
    Ocasional
    Ocasional

    Mensagens : 192
    Créditos : 48

    Re: RGSS3_Popup Icon Ver.1.2

    Mensagem por Muta em Ter Maio 15, 2012 7:14 pm

    Exelent, como disseram acima lembrou muito zelda =D
    +1 Cred



    Sem mais
    FiliPein


    _________________
    "Cansei de esconder o que há em meu coração, agora vou mostrar todo o amor que sinto por você"
    By:Darus Sven


    Melhores Bandas da História:

    Spoiler:

    -AC/DC
    -Metallica
    -Iron Maiden
    -Slipknot
    -Sistem of a Down
    -Angra
    -Ramones
    -Slayer

    -Nirvana
    -Scorpions
    -Green Day

    Conteúdo patrocinado

    Re: RGSS3_Popup Icon Ver.1.2

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Fev 23, 2018 11:16 am