Sistema Monetário
3 participantes
Página 1 de 1
Sistema Monetário
Esse script é simples. Ele cria um sistema monetário semelhante ao do repulsivo jogo TIBIA.
Ele altera a janela do dinheiro, convertendo os valores de para ouro, prata e bronze. Sendo que cada 100 moedas de Bronze corresponde a uma de prata e 1000 de prata a uma de ouro.
Se você é um NooB e não sabe copiar um script, copie tudo o que estiver a partir da linha seguinte e cole na seção scripts acima do MAIN.
Ele altera a janela do dinheiro, convertendo os valores de para ouro, prata e bronze. Sendo que cada 100 moedas de Bronze corresponde a uma de prata e 1000 de prata a uma de ouro.
Se você é um NooB e não sabe copiar um script, copie tudo o que estiver a partir da linha seguinte e cole na seção scripts acima do MAIN.
- Código:
#=============================================
# ** Venger Monetary System
#---------------------------------------------
# Criado pelo Vingador
# Relembrando: O ouro máximo sempre tem de ser 999.999
# Nunca crie um item que custe mais que isso.
#==============================================
module VengerGold
# ? OPTIONAL ?
#If not using icons
GOLD = "G"
SILVER = "S"
BRONZE = "B"
USE_ICON = true
#If using icons, icon ID
GOLD_ICON = 102
SILVER_ICON = 100
BRONZE_ICON = 99
end
class Game_Party < Game_Unit
alias vengergoldinit initialize
def initialize
Vengergoldinit
@gold = [0, 0, 0]
end
def gold_array
return @gold
end
def gold
return total_gold
end
def gain_gold(n)
@gold[2] += n
update_gold
end
def lose_gold(n)
gain_gold(-n)
end
def total_gold
return (@gold[2] + (@gold[1]*100) + (@gold[0]*1000000))
end
def gold_to_silver
return (@gold[2]/100) + (@gold[1]) + (@gold[0]*100)
end
def gold_to_gold
return @gold[0] + (@gold[1]/100) + (@gold[2]/100000)
end
def update_gold
times = @gold[2] / 100
@gold[2] -= times * 100
@gold[1] += times
times = @gold[1] / 100
@gold[1] -= times * 100
@gold[0] += times
if @gold[0] > 99
@gold[0] = @gold[1] = @gold[2] = 99
end
end
def make_gold_text
return to_monetary_system(total_gold)
end
end
class Window_Base < Window
def draw_currency_value(value, x, y, width, gold = true)
if not VengerGold::USE_ICON
self.contents.font.color = normal_color
self.contents.draw_text(x, y, width, WLH, to_monetary_system(value), 2)
elsif VengerGold::USE_ICON and gold
self.contents.font.color = normal_color
xx = 20
draw_icon(VengerGold::GOLD_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, $game_party.gold_array[0])
x += 40
draw_icon(VengerGold::SILVER_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, $game_party.gold_array[1])
x += 40
draw_icon(VengerGold::BRONZE_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, $game_party.gold_array[2])
else
arr = to_monetary_array(value)
self.contents.font.color = normal_color
xx = 20
draw_icon(VengerGold::GOLD_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, arr[0])
x += 40
draw_icon(VengerGold::SILVER_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, arr[1])
x += 40
draw_icon(VengerGold::BRONZE_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, arr[2])
end
end
end
class Window_ShopBuy < Window_Selectable
def draw_item(index)
item = @data[index]
number = $game_party.item_number(item)
enabled = (item.price <= $game_party.total_gold and number < 99)
rect = item_rect(index)
self.contents.clear_rect(rect)
if item != nil
draw_icon(item.icon_index, rect.x, rect.y, enabled)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
wid = contents.text_size(item.name).width
self.contents.draw_text(rect.x + 24, rect.y, wid, WLH, item.name)
end
#rect.width -= 4
price = to_monetary_system(item.price)
self.contents.draw_text(rect.x + 24 + wid, rect.y, rect.width - 24 - wid, WLH, price, 2)
# ? NEW
#self.contents.draw_text(rect.x + 30, rect.y, rect.width - rect.x - 30, WLH, to_monetary_system(item.price), 2)
#draw_currency_value(item.price, rect.x + rect.width + 8, rect.y, rect.width, false, )
end
end
def to_monetary_system(integ)
data = [0, 0, 0]
data[2] = integ
times = data[2] / 100
data[2] -= times * 100
data[1] += times
times = data[1] / 100
data[1] -= times * 100
data[0] += times
return "#{data[0]} #{VengerGold::GOLD} - #{data[1]} #{VengerGold::SILVER} - #{data[2]} #{VengerGold::BRONZE}"
end
def to_monetary_array(integ)
data = [0, 0, 0]
data[2] = integ
times = data[2] / 100
data[2] -= times * 100
data[1] += times
times = data[1] / 100
data[1] -= times * 100
data[0] += times
return data
end
Última edição por Vingador em Dom maio 23, 2010 12:02 am, editado 1 vez(es)
Vingador- Iniciante
- Número de Mensagens : 16
Idade : 35
Localização : Araguari
Premios : <br>: 0 : 0 : 0
Reputação : 13
Pontos : 90
Data de inscrição : 04/01/2010
Ficha do personagem
Raça: Lich
Nível Maker: Mestre
Mensagem Pessoal: Me dê as suas armas mágicas!!!
Re: Sistema Monetário
Olá Vingador! Seja bem vindo ao fórum e antes de qualquer coisa queremos agradecer-lhe pela grande colaboração sua, mas infelizmente seus scripts estão fora do padrão de postagem, então tente seguí-lo arrumando seus posts para que fiquem mais atrativos e sigam o padrão da comunidade.
Até mais!
FUI!!!
Até mais!
FUI!!!
Rodrigo Vernaschi- Administrador
- Número de Mensagens : 113
Idade : 31
Localização : Mauá-SP
Respeito às regras :
Premios : : 0 : 0 : 0
Reputação : 3
Pontos : 251
Data de inscrição : 27/02/2009
Ficha do personagem
Raça: Humano
Nível Maker: Experiente
Mensagem Pessoal: Leiam as regras!
Re: Sistema Monetário
Obrigado por disponibilizar, Rep+ (Again)
TAXD- Iniciante
- Número de Mensagens : 43
Idade : 41
Localização : Bragança Paulista
Premios : <br>: 0 : 0 : 0
Reputação : 4
Pontos : 68
Data de inscrição : 01/03/2009
Ficha do personagem
Raça: Meio Elfo
Nível Maker: Experiente
Mensagem Pessoal: Roteirista quase Eventer
Tópicos semelhantes
» Script do Sistema Bancário
» Sistema de Distribuição de Pontos
» [Sistema] Carteppilar
» Sistema para uso e seleção de Habilidades
» [Sistema] Magic 3D spin
» Sistema de Distribuição de Pontos
» [Sistema] Carteppilar
» Sistema para uso e seleção de Habilidades
» [Sistema] Magic 3D spin
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
Dom Jul 31, 2011 5:39 pm por Rodrigo Vernaschi
» Chamar Bote
Dom Jul 31, 2011 5:16 pm por Rodrigo Vernaschi
» Caixa de Texto Acima do Personagem
Dom Jul 31, 2011 4:56 pm por Rodrigo Vernaschi
» Auto-Tile Speed
Dom Jul 31, 2011 4:49 pm por Rodrigo Vernaschi
» Apresentação Antes do Title
Dom Jul 31, 2011 4:35 pm por Rodrigo Vernaschi
» Anti-Hack System (Silver Link/Gold Link)
Dom Jul 31, 2011 4:26 pm por Rodrigo Vernaschi
» Anti Hack (AMIGO X)
Dom Jul 31, 2011 4:19 pm por Rodrigo Vernaschi
» Ajustar Volume Durante o Jogo
Dom Jul 31, 2011 3:58 pm por Rodrigo Vernaschi
» Músicas e poemas
Qua Out 20, 2010 8:19 pm por Memories