Suporte ao desenvolvimento de jogos!


    [Script] Item Map Drop

    Compartilhe
    avatar
    Komuro Takashi
    Moderador Local
    Moderador Local

    Mensagens : 1050
    Créditos : 131

    [Script] Item Map Drop

    Mensagem por Komuro Takashi em Qua Out 08, 2014 11:17 am

    Olá Aldeões estou de volta ao Maker e como vi que a área de script morreu denovo aqui, vou dar uma mão no que puder.

    Contribuindo com uma adaptação e remoção de Bug's no Script Item Map Drop

    Este script funciona através de comentário e é necessário criar uma variável ou condição para que ele suma após passar sobre o item:



    Código:
    #==============================================================================#
    # +++ Item Map Drop (v1.1)  +++                                                #
    #==============================================================================#
    # Orginal Script: Falcao for RMVX ACE                                          #
    # RMXP Conversion By LONE                                                      #
    # Edit Komuro Takashi                                                          #
    # http://ldreamspro.webs.com                                                   #
    #==============================================================================#
    #==============================================================================#
    # ? Version History                                                            #
    #------------------------------------------------------------------------------#
    # v 1.1 - Alteração de Função para ACE e add itens só com comentário #By Komuro#
    # v 1.0A - Conversion Release Date : April 15, 2013                            #
    # v 1.0 - Official Release Date: October 18, 2012                              #
    #                                                                              #
    #==============================================================================#
    #==============================================================================#
    # ? Information                                                                #
    #------------------------------------------------------------------------------# 
    #  This script allow you set events to drop: items                             #
    #  weapons, armor and gold. everything work with a                             #
    #  simple comment tag                                                          #
    # --------------------Portuguese-------------------------
    #  Este Script funciona adicionando comentários como weapons, armor e gold
    #  Adicionar a TAG instrução
    # <drop_item: id>,<drop_weapon: id>,<drop_armor: id>,<quantity: quantidade>
    # para add gold use a tag <drop_gold: quantidade>
    # Lembrando que deve-se add uma condição ou switch
    # para ele sumir apos pegar o drop
    # Add Funções do Modulo LONE para facilitar algumas configurações
    #==============================================================================#
    #==============================================================================#
    # ? Installation                                                               #
    #------------------------------------------------------------------------------#
    # Copy and paste this script above main, no methods were overwritten so,
    # compatibility is very high.
    #-------------------------------------------------------------------------------
    #==============================================================================#
    # ? Instruction                                                                #
    #------------------------------------------------------------------------------#
    # Tag events as follows
    #
    # <drop_item: id>    
    # <drop_weapon: id>    - Change id for the item id to drop. Ex: <drop_item: 2>
    # <drop_armor: id>
    # <quantity: x>        - Change x for the quantity of items/weapon/armor to gain
    #
    # <drop_gold: amount>  - Change amount for gold value Ex: <drop_gold: 25>
    #
    # Important!
    # Events drops only one item/weapon etc. at the time.
    # Event start when the player take the drop, so you have the chance to,
    # erase the event, activate a self switch or whatever you want.
    #-------------------------------------------------------------------------------
    # * License
    #
    # For non-comercial games only, for comercial use please contactme to
    # falmc99@gamail.com
    # Edit Komuro Takashi
    # klebersonromerotj@gmail.com
    #-------------------------------------------------------------------------------
    module LONE
     
      GOLD_ICON = "gold"
      ID_GOLD_SONG = 1 # Id do som do Gold
      ID_ITEM_SONG = 0 # Id do som do Item
    end
    # Spriteset map
    class Spriteset_Map
     
      alias lone_mapdrop_create_characters initialize
      alias lone_mapdrop_characters_update update
      alias lone_mapdrop_dispose_h dispose
     
      def initialize
        dispose_mapdrop_sprites if !@mapdrop_sprites.nil?
        @mapdrop_sprites = []
        @mapdrop_events = []
        lone_mapdrop_create_characters
      end
     
      def update
        update_mapdrop_sprites
        lone_mapdrop_characters_update
      end
     
      def dispose
        dispose_mapdrop_sprites
        lone_mapdrop_dispose_h
      end
     
      def update_mapdrop_sprites
        for event in $game_map.events.values
          kind = nil
          item   = event.check_drop("<drop_item: ")
          weapon = event.check_drop("<drop_weapon: ")
          armor  = event.check_drop("<drop_armor: ")
          gold   = event.check_drop("<drop_gold: ")
          kind = $data_items[item] if item != 0
          kind = $data_weapons[weapon] if weapon != 0
          kind = $data_armors[armor] if armor != 0
          kind = gold if gold != 0
          if kind != nil
            unless @mapdrop_events.include?(event)
              sprite = Sprite_MapDrop.new(@viewport1, event, kind)
              @mapdrop_sprites.push(sprite)
              @mapdrop_events.push(event)
            end
          end
        end
        for drop in @mapdrop_sprites
          drop.update
          @mapdrop_sprites.delete(drop) if drop.disposed?
        end
      end
     
      def dispose_mapdrop_sprites
        @mapdrop_sprites.each {|sprite| sprite.dispose }
        @mapdrop_sprites = nil
      end
     
    end
    # Basic drop sprites
    class Sprite_MapDrop < Sprite
      def initialize(viewport, event, item)
        super(viewport)
        @event = event
        @item = item
        n = @event.check_drop("<quantity: ")
        n > 0 ? @num = n : @num = 1
        self.z = @event.screen_z + 1
        @object_zooming = 0
        set_bitmap
        update
      end
     
      def update
        super
        @event.through = true if not @event.through
        self.bush_depth = @event.bush_depth
        @object_zooming += 1
        case @object_zooming
        when 1..8  ; self.zoom_x -= 0.01 ;  self.zoom_y -= 0.01
        when 9..16 ; self.zoom_x += 0.01 ;  self.zoom_y += 0.01
        when 17..24 ; self.zoom_x = 1.0   ;  self.zoom_y = 1.0; @object_zooming = 0
        end
        self.x = @event.screen_x - 12
        self.y = @event.screen_y - 24
        if @event.x == $game_player.x and @event.y == $game_player.y and
          !$game_player.moving?
          if @item.is_a?(Fixnum)
            $game_party.gain_gold(@item)
            $data_system.sounds[LONEID_GOLD_SONG].play
          else
            $game_party.gain_item(@item, @num)
       $data_system.sounds[LONEID_ITEM_SONG].play
          end
          @event.start
          dispose
        end
      end
     
      def dispose
        self.bitmap.dispose
        self.bitmap = nil
        super
      end
     
      def set_bitmap
        self.bitmap = Bitmap.new(26, 38)
        if @item.is_a?(Fixnum)
        bitmap = Cache.icon(LONE::GOLD_ICON)
        else
        bitmap = Cache.icon(@item.name)#name)
        end
        rect = Rect.new(0, 0, 32, 32)
        self.bitmap.blt(0, 0, bitmap, rect)
        @item.is_a?(Fixnum) ? n = @item : n = @num
        self.bitmap.font.size = 14
        self.bitmap.draw_text(0, 8, 26, 32, n.to_s, 1)
      end
    end
    # Event tag definition
    class Game_Event < Game_Character
      attr_accessor :through
      def check_drop(comment, sw=true)
        return 0 if @list.nil? or @list.size <= 0
        for item in @list
          if item.code == 108 or item.code == 408
            return sw ?$1.to_i : $1.to_s if item.parameters[0] =~ /#{comment}(.*)>/i
          end
        end
        return 0
      end
    end






    _________________
    avatar
    Jonny
    Aldeia Friend
    Aldeia Friend

    Medalhas :
    Mensagens : 2110
    Créditos : 327

    Re: [Script] Item Map Drop

    Mensagem por Jonny em Qua Out 08, 2014 11:39 am

    muito bom Very Happy + 1 cred Wink


    _________________
    Spoiler:

      


    avatar
    Felix Blayder
    Membro de Honra
    Membro de Honra

    Mensagens : 1502
    Créditos : 219

    Re: [Script] Item Map Drop

    Mensagem por Felix Blayder em Ter Out 14, 2014 11:46 pm

    Ótimo cara, vejo que melhorou nos scripts em!!!

    +1 cred


    _________________

    Se inscreva em meu Canal no YouTube:
    https://www.youtube.com/localnerd

    Faça uma doação para ajudar nos custos:

    https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3N8T2RJ977RCQ

    avatar
    Komuro Takashi
    Moderador Local
    Moderador Local

    Mensagens : 1050
    Créditos : 131

    Re: [Script] Item Map Drop

    Mensagem por Komuro Takashi em Qua Out 15, 2014 2:15 pm

    Vc não viu nada ainda mano estou montando um NP para ACE! Very Happy 

    Ta afins? a base é o Telan

    Spoiler:





    _________________

    Conteúdo patrocinado

    Re: [Script] Item Map Drop

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Maio 25, 2018 2:01 am