02-28-2006, 01:00 PM
This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.
No support is given. If you are the owner of the thread, please contact administration.
Alright... This is a nice little limit-breaker for you. It modifies Game_Party slightly and replaces Window_Gold. Note that this was all made possible by Dubealex.
It sets the cap at 999,999,999,999,999,999,999 gold and displays it with commas (hense the replacement of Window_Gold). Note that the new Window_Gold resizes the text so that it is always readable in the default menu.
When you get above 9,999,999,999,999 gold, the box simply reads "Plenty."
Code:
#===============================================================================
# Insane Gold Cap
# Minor script modification made by DrakoShade
# Window_Gold modification originally by Dubealex
#===============================================================================
#-------------------------------------------------------------------------------
# Modifies Game_Party by replacing the method "gain_gold"
#-------------------------------------------------------------------------------
class Game_Party
def gain_gold(n)
@gold = [[@gold + n, 0].max, 999999999999999999999].min
end
end
#-------------------------------------------------------------------------------
# End modification to Game_Party
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Modifies Window_Gold by replacing the method "refresh"
#-------------------------------------------------------------------------------
class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 160, 64)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
#Advanced Gold Display mini-script by Dubealex, extended by DrakoShade
self.contents.clear
case $game_party.gold
when 0..999
offset = 0
self.contents.font.size = 22
gold = $game_party.gold
when 1000..9999
offset = 0
self.contents.font.size = 22
gold = $game_party.gold.to_s
gold = array[0].to_s + "," + array[1].to_s + array[2].to_s + array[3].to_s
when 10000..99999
offset = 0
self.contents.font.size = 22
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "," + array[2].to_s + array[3].to_s +
array[4].to_s
when 100000..999999
offset = 0
self.contents.font.size = 22
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "," + array[3].to_s +
array[4].to_s + array[5].to_s
when 1000000..9999999
offset = 0
self.contents.font.size = 22
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "," + array[1].to_s + array[2].to_s + array[3].to_s +
"," + array[4].to_s + array[5].to_s + array[6].to_s
when 10000000..99999999
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "," + array[2].to_s + array[3].to_s +
array[4].to_s + "," + array[5].to_s + array[6].to_s + array[7].to_s
when 100000000..999999999
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "," + array[3].to_s +
array[4].to_s + array[5].to_s + "," + array[6].to_s + array[7].to_s +
array[8].to_s
when 1000000000..9999999999
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "," + array[1].to_s + array[2].to_s + array[3].to_s +
"," + array[4].to_s + array[5].to_s + array[6].to_s + "," +
array[7].to_s + array[8].to_s + array[9].to_s
when 10000000000..99999999999
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "," + array[2].to_s+array[3].to_s +
array[4].to_s + "," + array[5].to_s + array[6].to_s+array[7].to_s +
"," + array[8].to_s + array[9].to_s + array[10].to_s
when 100000000000..999999999999
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "," + array[3].to_s +
array[4].to_s + array[5].to_s + "," + array[6].to_s + array[7].to_s +
array[8].to_s + "," + array[9].to_s + array[10].to_s + array[11].to_s
when 1000000000000..9999999999999
offset = 10
self.contents.font.size = 16
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "," + array[1].to_s + array[2].to_s + array[3].to_s +
"," + array[4].to_s + array[5].to_s + array[6].to_s + "," +
array[7].to_s + array[8].to_s + array[9].to_s + "," + array[10].to_s +
array[11].to_s + array[12].to_s
else
offset = 0
self.contents.font.size = 22
gold = "Plenty"
end
self.contents.font.color = text_color(6)
gold_word = $data_system.words.gold.to_s + ":"
cx = contents.text_size(gold_word).width
cx2=contents.text_size(gold.to_s).width
self.contents.draw_text(4, -offset, 120-cx-2, 32, gold_word)
self.contents.font.color = text_color(0)
self.contents.draw_text(124-cx2+2, offset, cx2, 32, gold.to_s, 3)
end
end
#-------------------------------------------------------------------------------
# End modification of Window_Gold
#-------------------------------------------------------------------------------
[/codebox]
Alright... I've now created a version which sets the gold cap at a googleplex. For those who don't know, a google is 10^100. A googleplex is 10^(10^100). This is an INSANELY high cap, and it's only this because it's funnier than infinity. The gold window now reads in words instead of straight numbers. For instance, 12,430,000,000 will read as 12.43 Billion. Anywhere from 999,999,999 down will read as a straight number.
It'll read with words up until 999,999,999,999,999,999,999,999 (which will read 999.99 Sextillion). After that, it reads "Plenty" until you reach 1 over a Google. Between that and a Googleplex, it will read "Over a Google".
At a googleplex (max), it will read, simply, "A Googleplex." If you ever get that high in-game, I bow to you. It's a truly insane number, so I highly doubt anybody will ever see it in-game.
[codebox]
#===============================================================================
# Insane Gold Cap -- Googleplex Cap Version
# Minor script modification made by DrakoShade
# Window_Gold modification originally by Dubealex
#===============================================================================
#-------------------------------------------------------------------------------
# Modifies Game_Party by replacing the method "gain_gold"
#-------------------------------------------------------------------------------
class Game_Party
def gain_gold(n)
@gold = [[@gold + n, 0].max, ( 10 ** ( 10 ** 100 ) )].min
end
end
#-------------------------------------------------------------------------------
# End modification to Game_Party
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Modifies Window_Gold by replacing the method "refresh"
#-------------------------------------------------------------------------------
class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 160, 64)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
#Advanced Gold Display mini-script by Dubealex, extended by DrakoShade
self.contents.clear
case $game_party.gold
when 0..( ( 10 ** 3 ) - 1 )
offset = 0
self.contents.font.size = 22
gold = $game_party.gold
when ( 10 ** 3 )..( ( 10 ** 4 ) - 1 )
offset = 0
self.contents.font.size = 22
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "," + array[1].to_s + array[2].to_s + array[3].to_s
when ( 10 ** 4 )..( ( 10 ** 5 ) - 1 )
offset = 0
self.contents.font.size = 22
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "," + array[2].to_s + array[3].to_s +
array[4].to_s
when ( 10 ** 5 )..( ( 10 ** 6 ) - 1 )
offset = 0
self.contents.font.size = 22
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "," + array[3].to_s +
array[4].to_s + array[5].to_s
when ( 10 ** 6 )..( ( 10 ** 7 ) - 1 )
offset = 0
self.contents.font.size = 22
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "," + array[1].to_s + array[2].to_s + array[3].to_s +
"," + array[4].to_s + array[5].to_s + array[6].to_s
when ( 10 ** 7 )..( ( 10 ** 8 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "," + array[2].to_s + array[3].to_s +
array[4].to_s + "," + array[5].to_s + array[6].to_s + array[7].to_s
when ( 10 ** 8 )..( ( 10 ** 9 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "," + array[3].to_s +
array[4].to_s + array[5].to_s + "," + array[6].to_s + array[7].to_s +
array[8].to_s
when ( 10 ** 9 )..( ( 10 ** 10 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "." + array[1].to_s + array[2].to_s + " Billion"
when ( 10 ** 10 )..( ( 10 ** 11 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "." + array[2].to_s+array[3].to_s +
" Billion"
when ( 10 ** 11 )..( ( 10 ** 12 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "." + array[3].to_s +
array[4].to_s + " Billion"
when ( 10 ** 12 )..( ( 10 ** 13 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "." + array[1].to_s + array[2].to_s + " Trillion"
when ( 10 ** 13 )..( ( 10 ** 14 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "." + array[2].to_s+array[3].to_s +
" Trillion"
when ( 10 ** 14 )..( ( 10 ** 15 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "." + array[3].to_s +
array[4].to_s + " Trillion"
when ( 10 ** 15 )..( ( 10 ** 16 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "." + array[1].to_s + array[2].to_s + " Quadrillion"
when ( 10 ** 16 )..( ( 10 ** 17 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "." + array[2].to_s+array[3].to_s +
" Quadrillion"
when ( 10 ** 17 )..( ( 10 ** 18 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "." + array[3].to_s +
array[4].to_s + " Quadrillion"
when ( 10 ** 18 )..( ( 10 ** 19 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "." + array[1].to_s + array[2].to_s + " Quintillion"
when ( 10 ** 19 )..( ( 10 ** 20 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "." + array[2].to_s+array[3].to_s +
" Quintillion"
when ( 10 ** 20 )..( ( 10 ** 21 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "." + array[3].to_s +
array[4].to_s + " Quintillion"
when ( 10 ** 21 )..( ( 10 ** 22 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + "." + array[1].to_s + array[2].to_s + " Sextillion"
when ( 10 ** 22 )..( ( 10 ** 23 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + "." + array[2].to_s+array[3].to_s +
" Sextillion"
when ( 10 ** 23 )..( ( 10 ** 24 ) - 1 )
offset = 10
self.contents.font.size = 18
gold = $game_party.gold.to_s
array = gold.split(//)
gold = array[0].to_s + array[1].to_s + array[2].to_s + "." + array[3].to_s +
array[4].to_s + " Sextillion"
when ( ( 10 ** 100 ) + 1 )..( (10 ** ( 10 ** 100 ) ) - 1 )
offset = 10
self.contents.font.size = 18
gold = "Over a Google"
when ( 10 ** ( 10 ** 100 ) )
offset = 10
slef.contents.font.size = 18
gold = "A Googleplex."
else
offset = 0
self.contents.font.size = 22
gold = "Plenty"
end
self.contents.font.color = text_color(6)
gold_word = $data_system.words.gold.to_s + ":"
cx = contents.text_size(gold_word).width
cx2=contents.text_size(gold.to_s).width
self.contents.draw_text(4, -offset, 120-cx-2, 32, gold_word)
self.contents.font.color = text_color(0)
self.contents.draw_text(124-cx2+2, offset, cx2, 32, gold.to_s, 3)
end
end
#-------------------------------------------------------------------------------
# End modification of Window_Gold
#-------------------------------------------------------------------------------