By Rmxp

Serial Key System – Makes the player have a ‘Serial Key’ before they can play the game!
Insert this as a new class called “Scene_Serial”

class Scene_Serial
def initialize
@productnum = “Serial No.”
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”)
# Show error if script not found
print (‘Serial Key Not Valid’)
# Quit game
exit
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”)
self.contents.font.color = system_color
self.contents.font.size = 12
self.contents.draw_text(x, y + 4, 600, 32, ” Serial Key Valid Loading. . .”)
end
end

Insert this as a new class called “Window_Base”

class Window_Base 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

And in main change the line that says “$scene = Scene_Title.new” to “$scene = Scene_Serial.new”

Please note that this from Creation Asylum, not my own.


5 Responses to “Serial Key System”


  1. 1 Alex
    August 25, 2008 at 3:10 pm

    It send there an error: Script ‘scene Serial’ line 95: SyntaxError occured

    Can you help me please?

  2. 2 Confused Person
    November 16, 2008 at 10:52 pm

    Do explain what making a new class consists of and where to place it.

  3. 3 Even more confused person
    May 31, 2009 at 10:13 pm

    Ummmmmmmmmmmmmmmm Ok………….

  4. 4 Mystery Guy
    July 19, 2010 at 8:19 am

    $scene = Scene_Serial.new :)

  5. January 19, 2011 at 2:29 pm

    tnx but im not really sure what it did to my software it ask me for my license key….


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




Follow

Get every new post delivered to your Inbox.

%d bloggers like this: