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.
Hey
I upgraded Susukae89's Loading/Serial script so after the game clock runs out, it deletes the 'Trial' serial number so you have to get the proper serial number.
Scene_Serial
Code:
class Scene_Serial
def initialize
@productnum = "0bp4560365"# the name of your 'Trial' Serial key
@productnumreal = "0gd58q1g32"# The name of your buyable Serial key
end
def main
if $BTEST
battle_test
return
end
#$game_system = Game_System.new
@bar = Window_Bar.new
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
@bar.dispose
end
def update
@bar.update
@bar.refresh
# Locate Database
if not FileTest.exist?(@productnum + ".txt")
if not FileTest.exist?(@productnumreal + ".txt")
# Show error if script not found
print ('Serial Key Not Valid, Please purchase one')
# Quit game
exit
else
@bar.load += 1
end
else
@bar.load += 1
end
if @bar.load == @bar.max
toscene
end
end
def toscene
$game_system = nil
$scene = Scene_Title.new
end
def exit
$scene = nil
end
end
class Window_Bar < Window_Base
attr_accessor :load
attr_accessor :max
def initialize
super(0,0,640,480)
@load = 0
@max = 300
self.contents = Bitmap.new(width - 32, height - 32)
end
def refresh
self.contents.clear
draw_load(0,235)
end
def draw_load(x, y, width = 600)
rate = @load / @max.to_f
plus_x = 0
rate_x = 0
plus_y = 25
plus_width = 0
rate_width = 100
height = 10
align1 = 1
align2 = 2
align3 = 0
grade1 = 1
grade2 = 0
color1 = Color.new(0, 0, 0, 192)
color2 = Color.new(255, 255, 192, 192)
color3 = Color.new(0, 0, 0, 192)
color4 = Color.new(64, 0, 0, 192)
color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
od = (width + plus_width) * @load * rate_width / 100 /
@max
gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
width, plus_width + width * rate_width / 100,
height, od, align1, align2, align3,
color1, color2, color3, color4, color5, color6, grade1, grade2)
self.contents.font.color = system_color
self.contents.font.size = 30
self.contents.draw_text(120, 40 + 4, 600, 32, "Twilight Shadows")#Enter your game name here
self.contents.font.color = system_color
self.contents.font.size = 12
self.contents.draw_text(x, y + 4, 600, 32, " Serial Key Valid Loading. . .")# Text to appear on the Loading bar
end
end
Window_Base
Code:
class Window_Base < Window
#--------------------------------------------------------------------------
# * Drawing of gauge
#--------------------------------------------------------------------------
def gauge_rect(x, y, rect_width, width, height, gauge, align1, align2, align3,
color1, color2, color3, color4, color5, color6, grade1, grade2)
case align1
when 1
x += (rect_width - width) / 2
when 2
x += rect_width - width
end
case align2
when 1
y -= height / 2
when 2
y -= height
end
# Framework Drawing
self.contents.fill_rect(x, y, width, height, color1)
self.contents.fill_rect(x + 1, y + 1, width - 2, height - 2, color2)
if align3 == 0
if grade1 == 2
grade1 = 3
end
if grade2 == 2
grade2 = 3
end
end
if (align3 == 1 and grade1 == 0) or grade1 > 0
color = color3
color3 = color4
color4 = color
end
if (align3 == 1 and grade2 == 0) or grade2 > 0
color = color5
color5 = color6
color6 = color
end
# Drawing of empty gauge
self.contents.gradation_rect(x + 2, y + 2, width - 4, height - 4,
color3, color4, grade1)
if align3 == 1
x += width - gauge
end
# Drawing of actual gauge
self.contents.gradation_rect(x + 2, y + 2, gauge - 4, height - 4,
color5, color6, grade2)
end
end
#------------------------------------------------------------------------------
# New routine added to the Bitmap class.
#==============================================================================
class Bitmap
#--------------------------------------------------------------------------
# * Rectangle Gradation Indicator
# color1: Start color
# color2: Ending color
# align: 0: On side gradation
# 1: Vertically gradation
# 2: The gradation (intense concerning slantedly heavily note)
#--------------------------------------------------------------------------
def gradation_rect(x, y, width, height, color1, color2, align = 0)
if align == 0
for i in x...x + width
red = color1.red + (color2.red - color1.red) * (i - x) / (width - 1)
green = color1.green +
(color2.green - color1.green) * (i - x) / (width - 1)
blue = color1.blue +
(color2.blue - color1.blue) * (i - x) / (width - 1)
alpha = color1.alpha +
(color2.alpha - color1.alpha) * (i - x) / (width - 1)
color = Color.new(red, green, blue, alpha)
fill_rect(i, y, 1, height, color)
end
elsif align == 1
for i in y...y + height
red = color1.red +
(color2.red - color1.red) * (i - y) / (height - 1)
green = color1.green +
(color2.green - color1.green) * (i - y) / (height - 1)
blue = color1.blue +
(color2.blue - color1.blue) * (i - y) / (height - 1)
alpha = color1.alpha +
(color2.alpha - color1.alpha) * (i - y) / (height - 1)
color = Color.new(red, green, blue, alpha)
fill_rect(x, i, width, 1, color)
end
elsif align == 2
for i in x...x + width
for j in y...y + height
red = color1.red + (color2.red - color1.red) *
((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
green = color1.green + (color2.green - color1.green) *
((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
blue = color1.blue + (color2.blue - color1.blue) *
((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
alpha = color1.alpha + (color2.alpha - color1.alpha) *
((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
color = Color.new(red, green, blue, alpha)
set_pixel(i, j, color)
end
end
elsif align == 3
for i in x...x + width
for j in y...y + height
red = color1.red + (color2.red - color1.red) *
((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
green = color1.green + (color2.green - color1.green) *
((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
blue = color1.blue + (color2.blue - color1.blue) *
((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
alpha = color1.alpha + (color2.alpha - color1.alpha) *
((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
color = Color.new(red, green, blue, alpha)
set_pixel(i, j, color)
end
end
end
end
end
Scene_SerialDeleter
Code:
class Scene_SerialDeleter
def initialize
@productnum = "0bp4560365" #Enter the name of your 'Trial' Serial Key
end
def main # }
if $BTEST # }
battle_test # } not sure what this does....
return # }
end
if not FileTest.exist?(@productnum + ".txt") #If the local variable 'productnum.txt (your Trial Serial Key) exists
# Delete the Serial Key
File.delete("0bp4560356.txt")
print ('Demo Expired, Serial Key Not Valid please purchase another, if you have play the game again')
# Quit game
exit
end
end
end
Replace "Main with this
Main
Code:
#==============================================================================
# ** Main
#------------------------------------------------------------------------------
# After defining each class, actual processing begins here.
#==============================================================================
begin
# Prepare for transition
Graphics.freeze
# Make scene object (title screen)
$scene = Scene_Serial.new
# Call main method as long as $scene is effective
while $scene != nil
$scene.main
end
# Fade out
Graphics.transition(20)
rescue Errno::ENOENT
# Supplement Errno::ENOENT exception
# If unable to open file, display message and end
filename = $!.message.sub("No such file or directory - ", "")
print("Unable to find file #{filename}.")
end
And make a new common event on parallel process
Conditional Branch: Timer 0min 0sec less
Script:if FileTest.exist?("yourtrilaserialnumberhere.txt")
$scene = Scene_SerialDeleter.new
end
else
end
No compatibility issues known. For more detailed instructions of making it work, go to the topic below this one.