Últimos temas
» The Cursed Forest.
por JapoZero Hoy a las 4:40 am

» [MV] Story: Sombras en llamas 0.2.5
por Vesper Hoy a las 3:41 am

» El Castle Quest (VX/ACE) Beta 1 - Navidad
por Serp_13 Ayer a las 9:54 pm

» Tamaño de mapa de mundo
por JapoZero Ayer a las 2:57 pm

» [Análisis] Revisando con Serch: Around me, crimson stained leaves
por JapoZero Ayer a las 5:17 am

» [Análisis] Revisando con Serch: Kiero Miz Naxos Qon Keso
por DopellSerch Ayer a las 1:40 am

» El Dia Z - Demo
por JapoZero Ayer a las 12:17 am

» HERO’s SOUL: ODYSSEY
por JapoZero Ayer a las 12:03 am

» A.N.A. (Demo)
por JapoZero Jue Ene 23, 2020 4:43 am

» Pokemon Destiny
por JapoZero Jue Ene 23, 2020 12:39 am

» [Proyecto] Tempestad e ímpetu
por JapoZero Miér Ene 22, 2020 11:57 pm

» Sento no Uchu
por JapoZero Miér Ene 22, 2020 11:20 pm


[VX] Sistema monetario de Harry Potter

Ir abajo

[VX] Sistema monetario de Harry Potter Empty [VX] Sistema monetario de Harry Potter

Mensaje por Turbiosoft.acho el Sáb Jul 12, 2014 5:35 pm

¡Hola! Hoy vengo a traeros un nuevo script para VX, creado por Onidsouza.

¿De qué trata?

Este script está basado en el sistema monetario de Harry Potter, pero no lo reproduce del todo fielmente (detalles varios y más). Gracias a Aloj por notar esto último.

Con este script, las monedas estarán divididas (p. ej: euro/céntimo, peso/centavo, etc). ¡Así que a darle rienda suelta a la creatividad!

A la hora de añadir dinero a tu equipo o de poner algún precio, sea lo que sea que pongas siempre se referirá a la cantidad de Knuts (o monedas pequeñas) que pongas. Sin embargo, te aparecerá una cantidad distinta en el menú si la cantidad de Knuts supera el límite para convertirse en un Sickle/Galeón.

Ej: Esta poción me cuesta 230 céntimos, y tengo el dinero justo. En el menú aparecerá que tengo (y que me gastaré) 2 euros y 30 céntimos, aunque yo no lo haya puesto tal cual en la base de datos.

¡Espero que os sirva!


Código:
#=============================================
# ** Oni Monetary System
#---------------------------------------------
# Desarrollado por Onidsouza
# Recuerda: MAX_GOLD siempre es 999.999
# Visita http://rmakercom.foroactivo.com/
# Los items no pueden costar más de eso
#==============================================

module OnidsouzaGold
 
  # ▼ OPCIONAL ▼
 
  #Si no usas iconos
  GOLD = "Galeones"
  SILVER = "Sickles"
  BRONZE = "Knuts"
 
  USE_ICON = true
 
  #Si usas iconos, el número es la ID del icono
  GOLD_ICON = 19
  SILVER_ICON = 20
  BRONZE_ICON = 21
 
end

class Game_Party < Game_Unit
 
  alias onidsouzagoldinit initialize
 
  def initialize
    onidsouzagoldinit
    @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]*17) + (@gold[0]*493))
  end
 
  def gold_to_silver
    return (@gold[2]/17) + (@gold[1]) + (@gold[0]*17)
  end
 
  def gold_to_gold
    return @gold[0] + (@gold[1]/17) + (@gold[2]/493)
  end
 
  def update_gold
      times = @gold[2] / 29
      @gold[2] -= times * 29
      @gold[1] += times
      times = @gold[1] / 17
      @gold[1] -= times * 17
      @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 OnidsouzaGold::USE_ICON
      self.contents.font.color = normal_color
      self.contents.draw_text(x, y, width, WLH, to_monetary_system(value), 2)
    elsif OnidsouzaGold::USE_ICON and gold
      self.contents.font.color = normal_color
      xx = 20
      draw_icon(OnidsouzaGold::GOLD_ICON, x, y)
      self.contents.draw_text(x + 20, y, xx, WLH, $game_party.gold_array[0])
      x += 40
      draw_icon(OnidsouzaGold::SILVER_ICON, x, y)
      self.contents.draw_text(x + 20, y, xx, WLH, $game_party.gold_array[1])
      x += 40
      draw_icon(OnidsouzaGold::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(OnidsouzaGold::GOLD_ICON, x, y)
      self.contents.draw_text(x + 20, y, xx, WLH, arr[0])
      x += 40
      draw_icon(OnidsouzaGold::SILVER_ICON, x, y)
      self.contents.draw_text(x + 20, y, xx, WLH, arr[1])
      x += 40
      draw_icon(OnidsouzaGold::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] / 29
  data[2] -= times * 29
  data[1] += times
  times = data[1] / 17
  data[1] -= times * 17
  data[0] += times
  return "#{data[0]} #{OnidsouzaGold::GOLD} - #{data[1]} #{OnidsouzaGold::SILVER} - #{data[2]} #{OnidsouzaGold::BRONZE}"
end

def to_monetary_array(integ)
  data = [0, 0, 0]
  data[2] = integ
  times = data[2] / 29
  data[2] -= times * 29
  data[1] += times
  times = data[1] / 17
  data[1] -= times * 17
  data[0] += times
  return data
end


Última edición por Turbiosoft.acho el Lun Jul 14, 2014 9:14 pm, editado 2 veces

_________________

¡Apoya PCII colocando esta barrita en tu firma!
[VX] Sistema monetario de Harry Potter JZxmSi
Turbiosoft.acho apoya a...:
[VX] Sistema monetario de Harry Potter AvSsi3
[VX] Sistema monetario de Harry Potter TpIA16
[VX] Sistema monetario de Harry Potter VqJJJp
[VX] Sistema monetario de Harry Potter BU4sOt

Y a los juegos de Zoro y Japo (?)


Turbiosoft.acho
Turbiosoft.acho
Admin
Admin

Femenino
Rmakercom
RPG Maker : Ace
Mensajes : 1290
Monedas : 4389
Reputación : 204
Localización : En el glorioso y magistral Zulo.

Volver arriba Ir abajo

[VX] Sistema monetario de Harry Potter Empty Muy util!

Mensaje por Harry404 el Dom Jul 13, 2014 10:25 pm

Suena genial este sistema monetario!
¿Sabes si esta para vx ace?
¡Muchas gracias por el aporte!

PD:HARRY APRUEBA ESTO  rabbit
Harry404
Harry404
PJ de Quest
PJ de Quest

Masculino
Colombia
RPG Maker : Ace
Mensajes : 35
Monedas : 49
Reputación : 0
Edad : 18
Localización : Hogwarts School of Witchcraft and Pajas

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.