Últimos temas
» [MV] ¿Cómo mover un sprite?
por Frägarach Hoy a las 2:19 am

» Como cambio esto?...
por Shy_Cream Hoy a las 2:09 am

» El Dia Z - Demo
por EdwarPlay Ayer a las 8:08 pm

» Pokemon Destiny
por Greninja555 Ayer a las 5:46 pm

» Animación Habilidad de Enemigos RPGMAKER VX ACE
por Metatron Ayer a las 3:16 am

» [VX] Cambio de Resolución
por luistop12 Vie Sep 13, 2019 6:51 am

» ¿Como Mover al jugador mientras hay una conversación?
por Zachy Vie Sep 13, 2019 2:05 am

» ¿Como hacer un menú/Galería de imágenes? (RPG VxAce)
por ZororoWhite Jue Sep 12, 2019 7:57 pm

» Inherited Sins [Juego Completo] [Definitive Edition]
por Nina Jue Sep 12, 2019 7:47 pm

» Zaza no konpasu (La Brújula de Zaza) [VXACE]
por Pocari Sáb Sep 07, 2019 12:28 pm

» Ayuda con el ABS
por DarkarPro0102 Sáb Sep 07, 2019 8:32 am

» Pop! Horror City Complementos
por EdwarPlay Jue Sep 05, 2019 10:59 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 : 1287
Monedas : 4378
Reputación : 195
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.