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:
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