NEJITAGE'S PROFILE
Nejitage
0
#==============================================================================#
# Scene_Shop
# Feito Por Mepps | Luky Maker
# Inicio: 15-09 - 20:00 Termino : 21:00
# Visite www.arquivosnerd1.wordpress.oom
# Visite www.realmrgsstudios.weebly.com/index.html
#==============================================================================#
# Modulo de Imagens Animadas
# RegularExpression Regexp...
module RevenantShop
ANIMATED_EXP = []
ANIMATED_EXP[0] = ["RegularExpression0","RegularExpression1",
"RegularExpression2","RegularExpression3"]
end
# Não Mexa Aqui isso Sera Chamado
# por Fora Para Alterar o Grafico
# Vendedora a Cada Shop Novo
# Em conjunto com suas Janelas
# hamado por Evento
# Anglo 0 | Parado 1 | Animado
# Caso - 1 Rolação para a Direita
$anglo = 0
$imagem_de_fundo = "background"
$imagem_da_vendedora = "Vendedora"
$nome_do_npc = ""
$mensagem_do_shop = ""
# Scene Shop
class Scene_Shop < Scene_MenuBase
# Processo Principal
def start;super
cria_imagem
cria_janela_de_mensagem
cria_janela_de_gold
cria_janela_de_ajuda
cria_janela_de_comando
cria_janela_falsa
cria_janela_numerica
cria_janela_status
cria_janela_de_compra
cria_janela_de_categoria
cria_janela_de_venda
end
#===============================================================[ INICIO ]======
# Imagem
# todas as imagens abaixo sao alteraveis
# e so colocar em sua Resoulução ideal de
# Acordo com o Template que Acompanha o
# Script
def cria_imagem
# Background Fixo
$background = Plane::new
$background.bitmap = Cache.system($imagem_de_fundo)
$background.opacity = 255
# Borda de Cima
@border1 = Sprite::new
@border1.bitmap = Cache.system(%Q)
@border1.opacity = 255
# Borda de Baixo
@border2 = Sprite::new
@border2.bitmap = Cache.system(%Q)
@border2.opacity = 255
borda_de_baixo(@border2)
# Vendedora
@vendedora = Sprite::new
@vendedora.bitmap = Cache.system($imagem_da_vendedora)
@vendedora.mirror = -1
imagem_a_direita(@vendedora)
# Fundo negro de item
# Alteravel
@item_background = Sprite::new
@item_background.bitmap = Cache.system(%Q)
@item_background.opacity = 255
@item_background.z = 1
fundo_do_item(@item_background)
# Fundo negro Janela de Status
@item_background2 = Sprite::new
@item_background2.bitmap = Cache.system(%Q)
@item_background2.opacity = 255
@item_background2.z = 1
fundo_do_item2(@item_background2)
# Borda de Venda
@borda_de_venda = Sprite::new
@borda_de_venda.bitmap = Cache.system(%Q)
@borda_de_venda.opacity = 255
@borda_de_venda.z = 1
fundo_de_venda(@borda_de_venda)
# Borda de Mensagem
@message = Sprite::new
@message.bitmap = Cache.system(%Q)
fundo_de_mensagem(@message)
@message.opacity = 255
end
# Preparação
def prepare(goods, purchase_only)
@goods = goods; @purchase_only = purchase_only
end
# Centralizar Sprite
def centralizar_sprite(sprite)
sprite.ox = sprite.bitmap.width / 2
sprite.oy = sprite.bitmap.height / 2
sprite.x = Graphics.width / 2
sprite.y = Graphics.height / 2
end
# Posicionamento Bordar De Baixo
def borda_de_baixo(sprite)
sprite.oy = sprite.bitmap.height - 2
sprite.y = Graphics.height - 2
end
# Imagem da Vendedora a Direita
def imagem_a_direita(sprite)
#sprite.x = Graphics.width / 40
sprite.y = Graphics.height - 350
end
# Borda do Item
def fundo_do_item(sprite)
sprite.ox = sprite.bitmap.width / 2
sprite.x = Graphics.width - 127
#sprite.oy = sprite.bitmap.height + 100
sprite.y = Graphics.height - 385
end
# Borda de Status
def fundo_do_item2(sprite)
sprite.ox = sprite.bitmap.width / 2
sprite.x = Graphics.width - 127
#sprite.oy = sprite.bitmap.height + 100
sprite.y = Graphics.height - 295
end
# Borda de Venda
def fundo_de_venda(sprite)
sprite.ox = sprite.bitmap.width / 2
sprite.x = Graphics.width - 395
sprite.oy = sprite.bitmap.height / 2
sprite.y = Graphics.height - 44
end
# Borda de Mensagem
def fundo_de_mensagem(sprite)
sprite.ox = sprite.bitmap.width / 2
sprite.x = Graphics.width - 380
sprite.oy = sprite.bitmap.height / 2
sprite.y = Graphics.height - 140
end
# Animação do Background
def update
super
$background.ox += $anglo
end;
# Fechamenton
def dispose_background
$background.dispose
@border1.dispose
@border2.dispose
@vendedora.dispose
@item_background.dispose
@item_background2.dispose
@borda_de_venda.dispose
@message.dispose
end
# Cria Janela de Commando
# Necessario Commando de Buy => Compra
# Necessario Commando de Sell => Sell
# Necessario Commando de Cancelar => Cancel
def cria_janela_de_comando
@command_window = Janela_Comando::new(@gold_window.x, @purchase_only)
@command_window.viewport = @viewport
@command_window.x = @help_window.height
@command_window.set_handler(:buy, method(:command_buy))
@command_window.set_handler(:sell, method(:command_sell))
@command_window.set_handler(:cancel, method(:return_scene))
end
# Cria janela Falsa
# wh Configuação da Altura da janela
# Opacity => Opacidade da janela
def cria_janela_falsa
wy = @command_window.y + @command_window.height
wh = Graphics.height - wy
@dummy_window = Window_Base::new(0, wy, Graphics.width, wh)
@dummy_window.opacity = 0
@dummy_window.viewport = @viewport
end
#=======================================================[ OUTRAS JANELAS ]======
# Criação da janela de Numerica
# Hide = > Esconde a Janela
# Help = > Exibe dados na janela
# de Ajuda mostrando informações
# Opacity => Define a Opacidade
def cria_janela_numerica
wy = @dummy_window.y
wh = @dummy_window.height
@number_window = Window_Shop_Numero.new(0, wy, wh)
@number_window.viewport = @viewport
@number_window.hide
@number_window.set_handler(:ok, method(:on_number_ok))
@number_window.set_handler(:cancel, method(:on_number_cancel))
end
# Criação da janela de Status
# Hide = > Esconde a Janela
# Help = > Exibe dados na janela
# de Ajuda mostrando informações
# Opacity => Define a Opacidade
def cria_janela_status
wx = @number_window.width
wy = @dummy_window.y
ww = Graphics.width - wx
wh = @dummy_window.height
@status_window = Window_Shop_Status.new(wx,wy,ww,wh)
@status_window.viewport = @viewport
@status_window.hide
@status_window.z = 1
end
#=======================================================[ PROC E JANELAS ]======
# Criação da Janela de Compra
# Hide = > Esconde a Janela
# Help = > Exibe dados na janela
# de Ajuda mostrando informações
def cria_janela_de_compra
wy = @dummy_window.y
wh = @dummy_window.height
@buy_window = Window_Shop_De_Compra.new(0, wy, wh, @goods)
@buy_window.opacity = 0
@buy_window.viewport = @viewport
@buy_window.help_window = @help_window
@buy_window.status_window = @status_window
@buy_window.hide
@buy_window.set_handler(:ok, method(:on_buy_ok))
@buy_window.set_handler(:cancel, method(:on_buy_cancel))
@buy_window.z = 1
end
# Criação da Janela de Categoria
# Hide = > Esconde a Janela
# Help = > Exibe dados na janela
# de Ajuda mostrando informações
def cria_janela_de_categoria
@category_window = Window_Categoria.new
@category_window.viewport = @viewport
@category_window.help_window = @help_window
@help_window.opacity = 0
@category_window.y = 350
@category_window.x = + 0
@category_window.hide.deactivate
@category_window.set_handler(:ok, method(:on_category_ok))
@category_window.set_handler(:cancel, method(:on_category_cancel))
end
# Cria Janela de venda
# Criação da Janela de Compra
# Hide = > Esconde a Janela
# Help = > Exibe dados na janela
# de Ajuda mostrando informações
def cria_janela_de_venda
wy = @category_window.y + @category_window.height
wh = Graphics.height - wy
@sell_window = Window_Shop_Venda::new(0, wy, Graphics.width, wh)
@sell_window.viewport = @viewport
@sell_window.help_window = @help_window
@help_window.opacity = 0
@sell_window.hide
@sell_window.set_handler(:ok, method(:on_sell_ok))
@sell_window.set_handler(:cancel, method(:on_sell_cancel))
@category_window.item_window = @sell_window
end
#==================================================[ ATIVAÇÃO DE JANELAS ]======
# Criação da Ativação da
# Janela de Compra
# Requer a Janela de Status
def activate_buy_window
@buy_window.money = money
@buy_window.show.activate
@status_window.show
end
# Criação da Ativação da
# Janela de Venda
# Requer a Janela de Status
def activate_sell_window
@category_window.show
@sell_window.refresh
@sell_window.show.activate
@status_window.hide
end
#============================================================[ COMMANDOS ]======
# Comando => Cria Commando de compra
# Hide => Esconde a Janela
# Active => Ativa Janela de Compra
def command_buy
@dummy_window.hide
activate_buy_window
end
# Comando => Cria Commando de Venda
# Hide => Esconde a Janela
# Active => Ativa Janela de Venda
# Show => Mostra a Janela de Venda
def command_sell
@dummy_window.hide
@category_window.show.activate
@sell_window.show
@sell_window.unselect
@sell_window.refresh
end
# Comando => Cria Commando de ok
# Hide => Esconde a Janela
# Show => Mostra a Janela de Venda
def on_buy_ok
@item = @buy_window.item
@buy_window.hide
@number_window.set(@item, max_buy, buying_price, currency_unit)
@number_window.show.activate
end
# Comando => Cria Commando de Cancelamento
# Hide => Esconde a Janela
# Show => Mostra a Janela de Venda
def on_buy_cancel
@command_window.activate
@dummy_window.show
@buy_window.hide
@status_window.hide
@status_window.item = nil
@help_window.clear
end
# Categoria [Confirmação]
def on_category_ok
activate_sell_window
@sell_window.select(0)
end
# Categoria [Cancelamento]
# Show => Mostra Janela
# Hide => Esconde Janela
def on_category_cancel
@command_window.activate
@dummy_window.show
@category_window.hide
@sell_window.hide
end
# Venda [Confirmação]
# Show => Mostra Janela
# Hide => Esconde Janela
def on_sell_ok
@item = @sell_window.item
@status_window.item = @item
@category_window.hide
@sell_window.hide
@number_window.set(@item, max_sell, selling_price, currency_unit)
@number_window.show.activate
@status_window.show
end
# Venda [Cancelamento]
# Show => Mostra Janela
# Hide => Esconde Janela
def on_sell_cancel
@sell_window.unselect
@category_window.activate
@status_window.item = nil
@help_window.clear
end
# Entrada numérica [Confirmação]
# Refresh = > Renova?
# Case => Caso
# When => Quando
def on_number_ok
Sound.play_shop
case @command_window.current_symbol
when :buy
do_buy(@number_window.number)
when :sell
do_sell(@number_window.number)
end
end_number_input
@gold_window.refresh
@status_window.refresh
end
# Entrada numérica [Cancelamento]
# Cancel => Cancela Som
# Fim da Insersao de Numeros
def on_number_cancel
Sound.play_cancel
end_number_input
end
# Execução da compra
def do_buy(number)
$game_party.lose_gold(number * buying_price)
$game_party.gain_item(@item, number)
end
# Execução da venda
def do_sell(number)
$game_party.gain_gold(number * selling_price)
$game_party.lose_item(@item, number)
end
# Finalização da entrada numérica
# Case => Caso => When => Quando
def end_number_input
@number_window.hide
case @command_window.current_symbol
when :buy
activate_buy_window
when :sell
activate_sell_window
end
end
# Aquisição do número máximo disponível para compra
def max_buy
max = $game_party.max_item_number(@item) - $game_party.item_number(@item)
buying_price == 0 ? max : [max, money / buying_price].min
end
# Aquisição do número máximo disponível para venda
def max_sell
$game_party.item_number(@item)
end
# Aquisição do dinheiro
def money
@gold_window.value
end
# Aquisição da unidade monetária
def currency_unit
@gold_window.currency_unit
end
# Aquisição do preço de compra
def buying_price
@buy_window.price(@item)
end
# Aquisição do preço de venda
def selling_price
@item.price / 2
end
#===================================================[ CRIAÇÃO DE JANELAS ]======
# Cria a Janela de Ajuda
def cria_janela_de_ajuda
@help_window = Janela_De_Ajuda::new
@help_window.viewport = @viewport
end
# Criação da Janela de Dinheiro
def cria_janela_de_gold
@gold_window = Janela_De_Dinheiro::new
end;end
# Criação da Janela de Menssagem
def cria_janela_de_mensagem
@message_window = RNT::new
end
#===================================================[ JANELA DE DINHEIRO ]======
# Responsavel Pela Janela de Dinheiro
# Classe da Janela de Dinheiro
class Janela_De_Dinheiro < Window_Base
# Inicialização do objeto
def initialize
super(360,-10,200,200)
self.opacity = 0
refresh
end
# Refresh => Renova
# Clear => Limpa conteudo
# Desenha Icone
# Desenha os textos
def refresh
self.contents.clear
contents.clear
draw_icon(260, 140, -2)
draw_currency_value(value, currency_unit, -34, 0, contents.width - 8)
end
# Dinheiro da Party
# dinheiro atual do grupo
def value
$game_party.gold
end
# Aquisição da unidade monetária
# Vocab currency_unit \ Vocabulario
def currency_unit
Vocab::currency_unit
end
# Abertura da janela
# refresh => limpa
def open
refresh
super;end;end
#======================================================[ JANELA DE AJUDA ]======
# Window_Help
# Janela que mostra o Dinheiro
class Janela_De_Ajuda < Window_Base
# Inicialização do objeto
# def initialize => inicia o Metodo
# self.opacity => opacidade da janela
def initialize(line_number = 2)
super(0, -10, Graphics.width, fitting_height(line_number))
self.opacity = 255
end
# Configuração de texto
# Set_text \ seta o Texto
# se texto for diferente de @texto
# então texto é igual a text
def set_text(text)
if text != @text
@text = text
refresh
end;end
# Clear => Limpeza
# Set_tex => Define o texto
def clear
set_text("")
end
# Definição de item
# Set_text => Escreve o item e suas descrições
def set_item(item)
set_text(item ? item.description : "")
end
# Refresh => Renovação
# Contents.clear => Limpa seu Conteudo
# Draw_text_ex = > Desenha o Texto
def refresh
contents.clear
draw_icon(140,-2,0)
draw_text_ex(30, 0, @text)
end;end
#====================================================[ JANELA DE COMANDO ]======
# Window_ShopCommand
#(-10,378) Base
class Janela_Comando < Window_HorzCommand
# Inicialização do objeto
def initialize(window_width, purchase_only)
@window_width = window_width
@window_height = window_height
@purchase_only = purchase_only
super(-0,378)
self.opacity = 0
end
# Aquisição da largura da janela
def window_width
@window_width
end
# Aquisição do número de colunas
def col_max
return 3
end
# Criação da lista de comandos
def make_command_list
add_command(Vocab::ShopBuy, :buy)
add_command(Vocab::ShopSell, :sell, !@purchase_only)
add_command(Vocab::ShopCancel, :cancel)
end;end
#====================================================[ JANELA DE COMPRA ]=======
# Cria Janela de Compra
class Window_Shop_De_Compra < Window_Selectable
# Variáveis públicas
attr_reader :status_window
# Inicialização do objeto
def initialize(x, y, height, shop_goods)
super(x+275, y-400, window_width-20, height+120)
self.opacity = 0
@shop_goods = shop_goods
@money = 0
refresh
select(0)
end
# Aquisição da largura da janela
def window_width
return 304
end
# Aquisição do número máximo de itens
def item_max
@data ? @data.size : 1
end
# Aquisição das informações do item
def item
@data[index]
end
# Definição do dinheiro
# money : dinheiro
def money=(money)
@money = money
refresh
end
# Definição de habilitação de seleção
def current_item_enabled?
enable?(@data[index])
end
# Aquisição do preço do item
# item : item
def price(item)
@price[item]
end
# Definição de habilitação do item
# item : item
def enable?(item)
item && price(item) <= @money && !$game_party.item_max?(item)
end
# Renovação
def refresh
make_item_list
create_contents
draw_all_items
end
# Criação da lista de itens
def make_item_list
@data = []
@price = {}
@shop_goods.each do |goods|
case goods[0]
when 0; item = $data_items[goods[1]]
when 1; item = $data_weapons[goods[1]]
when 2; item = $data_armors[goods[1]]
end
if item
@data.push(item)
@price[item] = goods[2] == 0 ? item.price : goods[3]
end
end
end
# Desenho de um item
# index : índice do item
def draw_item(index)
item = @data[index]
rect = item_rect(index)
draw_item_name(item, rect.x, rect.y, enable?(item))
rect.width -= 4
draw_text(rect, price(item), 2)
end
# Definição da janela de atributos
# status_window : janela de atributos
def status_window=(status_window)
call_update_help
@status_window = status_window
end
# Atualização da janela de ajuda
def update_help
@help_window.set_item(item) if @help_window
@status_window.item = item if @status_window
end
end
#====================================================[ JANELA DE STATUS ]=======
# Classe de Status
class Window_Shop_Status < Window_Base
# Inicialização do objeto
def initialize(x, y, width, height)
super(x, y-320, width-20, height+300)
self.opacity = 0
@item = nil
@page_index = 0
refresh
end
# Renovação
def refresh
contents.clear
draw_possession(4, 0)
draw_equip_info(4, line_height * 2) if @item.is_a?(RPG::EquipItem)
end
# Definição de item
# item : item
def item=(item)
@item = item
refresh
end
# Desenho dos itens possuídos
def draw_possession(x, y)
rect = Rect.new(x, y, contents.width - 4 - x, line_height)
change_color(system_color)
draw_text(rect, Vocab::Possession)
change_color(normal_color)
draw_text(rect, $game_party.item_number(@item), 2)
end
# Desenho das informações dos equipamentos
def draw_equip_info(x, y)
status_members.each_with_index do |actor, i|
draw_actor_equip_info(x, y + line_height * (i * 2.4), actor)
end
end
# Desenho das informações do conjunto de heróis
def status_members
$game_party.members[@page_index * page_size, page_size]
end
# Número de heróis exibidos ao mesmo tempo
def page_size
return 4
end
# Aquisição do número máximo de páginas
def page_max
($game_party.members.size + page_size - 1) / page_size
end
# * Desenho das inforações de equipamento do herói
def draw_actor_equip_info(x, y, actor)
enabled = actor.equippable?(@item)
change_color(normal_color, enabled)
draw_text(x, y, 112, line_height, actor.name)
item1 = current_equipped_item(actor, @item.etype_id)
draw_actor_param_change(x, y, actor, item1) if enabled
draw_item_name(item1, x, y + line_height, enabled)
end
# Desenho das mudanças de parâmetros do herói
def draw_actor_param_change(x, y, actor, item1)
rect = Rect.new(x, y, contents.width - 4 - x, line_height)
change = @item.params[param_id] - (item1 ? item1.params[param_id] : 0)
change_color(param_change_color(change))
draw_text(rect, sprintf("%+d", change), 2)
end
# Aquisição da ID do parâmetro correspondente ao item selecionado
# Por padrão, é exibido o ataque para armas e a defesa para armaduras
def param_id
@item.is_a?(RPG::Weapon) ? 2 : 3
end
# Aquisição do equipamento atual
# Se há vários equipamentos de mesmo tipo, retona o mais fraco.
def current_equipped_item(actor, etype_id)
list = []
actor.equip_slots.each_with_index do |slot_etype_id, i|
list.push(actor.equips[i]) if slot_etype_id == etype_id
end
list.min_by {|item| item ? item.params[param_id] : 0 }
end
# Atualização da tela
def update
super
update_page
end
# Atualização da página
def update_page
if visible && Input.trigger?(:A) && page_max > 1
@page_index = (@page_index + 1) % page_max
refresh
end
end
end
#====================================================[ JANELA ITEM LIST ]======
class Window_Item_Lista < Window_Selectable
# Inicialização do objeto
def initialize(x, y, width, height)
super(x,y+70,width,height)
self.opacity = 255
@category = :none
@data = []
end
# Definição de categoria
def category=(category)
return if @category == category
@category = category
refresh
self.oy = 0
end
# Aquisição do número de colunas
def col_max
return 1
end
# Aquisição do número máximo de itens
def item_max
@data ? @data.size : 1
end
# Aquisição das informações do item
def item
@data && index >= 0 ? @data[index] : nil
end
# Definição de habilitação de seleção
def current_item_enabled?
enable?(@data[index])
end
# Inclusão do item na lista
def include?(item)
case @category
when :item
item.is_a?(RPG::Item) && !item.key_item?
when :weapon
item.is_a?(RPG::Weapon)
when :armor
item.is_a?(RPG::Armor)
when :key_item
item.is_a?(RPG::Item) && item.key_item?
else
false
end
end
# Definição de habilitação do item
def enable?(item)
$game_party.usable?(item)
end
# Criação da lista de itens
def make_item_list
@data = $game_party.all_items.select {|item| include?(item) }
@data.push(nil) if include?(nil)
end
# Retorno à seleção anterior
def select_last
select(@data.index($game_party.last_item.object) || 0)
end
# Desenho de um item
def draw_item(index)
item = @data[index]
if item
rect = item_rect(index)
rect.width -= 4
draw_item_name(item, rect.x, rect.y, enable?(item))
draw_item_number(rect, item)
end
end
# Desenho do número de itens possuido
def draw_item_number(rect, item)
draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2)
end
# Atualização da janela de ajuda
def update_help
@help_window.set_item(item)
end
# Renovação
def refresh
make_item_list
create_contents
draw_all_items
end;end
#====================================================[ JANELA DE VENSA ]=======
# Janela de Venda de Item
class Window_Shop_Venda < Window_Item_Lista
# Inicialização do objeto
def initialize(x, y, width, height)
super(x+300, y-350, width-300, height+200)
self.opacity = 0
end
# Definição de habilitação de seleção
def current_item_enabled?
enable?(@data[index])
end
# Definição de habilitação do item
def enable?(item)
item && item.price > 0
end
end
#====================================================[ JANELA NUMERICA ]=======
# Janela de Aquisição de Numeros
class Window_Shop_Numero < Window_Selectable
# Variáveis públicas
attr_reader :number # Número digitado
# Inicialização do objeto
def initialize(x, y, height)
super(x+275, y-400, window_width-20, height+120)
self.opacity = 0
@item = nil
@max = 1
@price = 0
@number = 1
@currency_unit = Vocab::currency_unit
end
# Aquisição da largura da janela
def window_width
return 304
end
# Definição de itens, quantia máxima, preço e unidade monetária
def set(item, max, price, currency_unit = nil)
@item = item
@max = max
@price = price
@currency_unit = currency_unit if currency_unit
@number = 1
refresh
end
# Definição de unidade monetária
def currency_unit=(currency_unit)
@currency_unit = currency_unit
refresh
end
# Renovação
def refresh
contents.clear
draw_item_name(@item, 0, item_y)
draw_number
draw_total_price
end
# Desenho do número de itens
def draw_number
change_color(normal_color)
draw_text(cursor_x - 28, item_y, 22, line_height, "×")
draw_text(cursor_x, item_y, cursor_width - 4, line_height, @number, 2)
end
# Desenho do preço total
def draw_total_price
width = contents_width - 8
draw_currency_value(@price * @number, @currency_unit, 4, price_y, width)
end
# Coordenada Y de exibição do nome do item
def item_y
contents_height / 2 - line_height * 3 / 2
end
# Coordenada Y de exibição do preço do item
def price_y
contents_height / 2 + line_height / 2
end
# Aquisição da largura do cursor
def cursor_width
figures * 10 + 12
end
# Coordenada X de exibição do cursor
def cursor_x
contents_width - cursor_width - 4
end
# Obter número máximo
def figures
return 2
end
# Atualização da tela
def update
super
if active
last_number = @number
update_number
if @number != last_number
Sound.play_cursor
refresh
end;end;end
# Atualização do número de itens
def update_number
change_number(1) if Input.repeat?(:RIGHT)
change_number(-1) if Input.repeat?(:LEFT)
change_number(10) if Input.repeat?(:UP)
change_number(-10) if Input.repeat?(:DOWN)
end
# Alteração do número de itens
def change_number(amount)
@number = [[@number + amount, @max].min, 1].max
end
# Atualização do cursor
def update_cursor
cursor_rect.set(cursor_x, item_y, cursor_width, line_height)
end;end
#================================================[ JANELA ITEM CATEGOTY ]======
class Window_Categoria < Window_HorzCommand
# Variáveis públicas
attr_reader :item_window
# Inicialização do objeto
def initialize
super(0, 0)
self.opacity = 0
end
# Aquisição da largura da janela
def window_width
Graphics.width - 240
end
# Aquisição do número de colunas
def col_max
return 3
end
# Atualização da tela
def update
super
@item_window.category = current_symbol if @item_window
end
# Criação da lista de comandos
def make_command_list
add_command(Vocab::item, :item)
add_command(Vocab::weapon, :weapon)
add_command(Vocab::armor, :armor)
add_command(Vocab::key_item, :key_item)
end
# Definição da janela de itens
def item_window=(item_window)
@item_window = item_window
update
end;end
#==================================================[ JANELA DE MENSAGEM ]======
# Class RNT
# Initialize => methodo Inicial
# Super => Super Methodo da Classe
# Opacity => Opacidade
class RNT < Window_Base
def initialize
super(60,210,Graphics.width-330,Graphics.height-270)
self.opacity = 0
refresh
end
# Modifique Aqui
# Você pode Definir uma Array
# Com texto dentro que coomporte
# Determinado Testo Que Você Quiser
def refresh
self.contents.clear
draw_text_ex(0,10,($mensagem_do_shop))
# Pode Remover Avontade..
self.contents.font.color = Color::new(245,134,10)
self.contents.font.bold = true
self.contents.draw_text(20,84,200,60,($nome_do_npc))
# End
end;end













