Database Limit Breaker
#1
Database Limit Breaker
Version 1.0
by Woratana
Release Date: 22/05/2008


Introduction
It is the script for the big game that need more than 5000
variables/switches,
or more than 999 weapons, skills, and anything in Database window. :)

I finished this script for a while, but haven't post it till there is
request in here:
http://www.hbgames.org/forums/index.php?topic=47546.0

I have 2 versions of this script, XP and VX version.

Actually, I'm not sure how many people will use this script.
But I hope it will at least ensure people who want to make big game,
that they don't have to worry about the database limit.

However, this script cannot make more than 999 maps.

Enjoy~ :lol:


Script
Place it above main
[Image: 25thhqt.jpg]
XP Version:
Code:
#===============================================================
# ? [XP] ? Database Limit Breaker ? ?
# * Break limit of data number in database files *
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Released on: 22/05/2008
# ? Version: 1.0
#--------------------------------------------------------------

#==========================================
# ** HOW TO USE
#------------------------------------------
# 0. Open your project (Recommend to backup your database files first~)
# 1. Paste this script in above 'Main'.
# 2. Set DLB_USE_IT = true
# 3. Setup database files you want to change, in DLB_DATA
# 4. Run your game...
# 5. When it finished, game will close itself
# 6. Close your project *without save*
# 7. Open your project again. Done!
# 8. You can either remove this script, or set DLB_USE_IT = false
#==========================================

  
#===========================================================================
  # Use limit breaker? (set this to false after you run this script,
  # and haven't change anything in DLB_DATA after that)
  # or REMOVE this script when finished~
  
#===========================================================================
  DLB_USE_IT = true # (true / false)

  DLB_DATA = {
  #======================================================
  # Database file you want to change their number:
  # * Limit of normal database files are 999
  # * Limit of variables and switches are 5000
  # This script will allow you to change their number over their limit~
  #===============================
  # ** How to setup **
  #-------------------------------
  # Add 1 line below per 1 database file you want to change.
  # Structure: 'Database_File' => (number),
  # e.g. 'switch' => 5500,
  # (* Don't forget to put , behind the line!)

  #==============================================
  # **
[list] Database_File
  #----------------------------------------------
  # 'switch' for Game Switches
  # 'variable' for Game Variables
  # 'actor' for Actors
  # 'class' for Classes
  # 'skill' for Skills
  # 'item' for Items
  # 'weapon' for Weapons
  # 'armor' for Armors
  # 'enemy' for Enemies
  # 'troop' for Troops
  # 'state' for States
  # 'tileset' for Tilesets
  # 'animation' for Animations
  # 'commonev' for Common Events
  #======================================================
  # * START to setup from here!
  #======================================================
  'actor' => 1011,
  #========================================================
  # * [END] Database Limit Breaker Setup Part
  #========================================================
  'end' => nil # End
  }
  if DLB_USE_IT
    start_time = Time.now
    DLB_DATA.each do |k,v|
      dvar = nil
      case k
      when 'switch'; dname = 'System'; dvar = 'switches'; dnewdata = ''
      when 'variable'; dname = 'System'; dvar = 'variables'; dnewdata = ''
      when 'actor'; dname = 'Actors'; dnewdata = 'RPG::Actor.new'
      when 'class'; dname = 'Classes'; dnewdata = 'RPG::Class.new'
      when 'skill'; dname = 'Skills'; dnewdata = 'RPG::Skill.new'
      when 'item'; dname = 'Items'; dnewdata = 'RPG::Item.new'
      when 'weapon'; dname = 'Weapons'; dnewdata = 'RPG::Weapon.new'
      when 'armor'; dname = 'Armors'; dnewdata = 'RPG::Armor.new'
      when 'enemy'; dname = 'Enemies'; dnewdata = 'RPG::Enemy.new'
      when 'troop'; dname = 'Troops'; dnewdata = 'RPG::Troop.new'
      when 'state'; dname = 'States'; dnewdata = 'RPG::State.new'
      when 'animation'; dname = 'Animations'; dnewdata =
'RPG::Animation.new'
      when 'tileset'; dname = 'Tilesets'; dnewdata = 'RPG::Tileset.new'
      when 'commonev'; dname = 'CommonEvents'; dnewdata =
'RPG::CommonEvent.new'
      when 'end'; next
      else; p 'unknown DLB_DATA!', 'Check carefully what you typed in
DLB_DATA'
      end
      base_data = load_data('Data/' + dname + '.rxdata')
      data = dvar.nil? ? base_data : eval('base_data.' + dvar.to_s)
      unless data.size > v and v - (data.size - 1) <= 0
        add_data = Array.new(v - (data.size - 1)) { eval(dnewdata) }
        data.push *add_data
        save_data(base_data, 'Data/' + dname + '.rxdata')
      end
    end
    p 'Finished in ' + (Time.now - start_time).to_s + ' sec'
    exit
  end
VX Version:
Code:
#===============================================================
# ? [VX] ? Database Limit Breaker ? ?
# * Break limit of data number in database files *
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Released on: 22/05/2008
# ? Version: 1.0
#--------------------------------------------------------------

#==========================================
# ** HOW TO USE
#------------------------------------------
# 0. Open your project (Recommend to backup your database files first~)
# 1. Paste this script in above 'Main'.
# 2. Set DLB_USE_IT = true
# 3. Setup database files you want to change, in DLB_DATA
# 4. Run your game...
# 5. When it finished, game will close itself
# 6. Close your project *without save*
# 7. Open your project again. Done!
# 8. You can either remove this script, or set DLB_USE_IT = false
#==========================================

  
#===========================================================================
  # Use limit breaker? (set this to false after you run this script,
  # and haven't change anything in DLB_DATA after that)
  # or REMOVE this script when finished~
  
#===========================================================================
  DLB_USE_IT = true # (true / false)

  DLB_DATA = {
  #======================================================
  # Database file you want to change their number:
  # * Limit of normal database files are 999
  # * Limit of variables and switches are 5000
  # This script will allow you to change their number over their limit~
  #===============================
  # ** How to setup **
  #-------------------------------
  # Add 1 line below per 1 database file you want to change.
  # Structure: 'Database_File' => (number),
  # e.g. 'switch' => 5500,
  # (* Don't forget to put , behind the line!)

  #==============================================
  # **
[list] Database_File
  #----------------------------------------------
  # 'switch' for Game Switches
  # 'variable' for Game Variables
  # 'actor' for Actors
  # 'class' for Classes
  # 'skill' for Skills
  # 'item' for Items
  # 'weapon' for Weapons
  # 'armor' for Armors
  # 'enemy' for Enemies
  # 'troop' for Troops
  # 'state' for States
  # 'animation' for Animations
  # 'commonev' for Common Events
  #======================================================
  # * START to setup from here!
  #======================================================
  'actor' => 1011,
  'class' => 1011,
  'skill' => 1011,
  'item' => 1011,
  'weapon' => 1011,
  'troop' => 1011,
  'enemy' => 1011,
  'state' => 1011,
  'armor' => 1001,
  'animation' => 1011,
  'commonev' => 1011,
  'switch' => 6000,
  'variable' => 6000,
  #========================================================
  # * [END] Database Limit Breaker Setup Part
  #========================================================
  'end' => nil # End
  }
  if DLB_USE_IT
    start_time = Time.now
    DLB_DATA.each do |k,v|
      dvar = nil
      case k
      when 'switch'; dname = 'System'; dvar = 'switches'; dnewdata = ''
      when 'variable'; dname = 'System'; dvar = 'variables'; dnewdata = ''
      when 'actor'; dname = 'Actors'; dnewdata = 'RPG::Actor.new'
      when 'class'; dname = 'Classes'; dnewdata = 'RPG::Class.new'
      when 'skill'; dname = 'Skills'; dnewdata = 'RPG::Skill.new'
      when 'item'; dname = 'Items'; dnewdata = 'RPG::Item.new'
      when 'weapon'; dname = 'Weapons'; dnewdata = 'RPG::Weapon.new'
      when 'armor'; dname = 'Armors'; dnewdata = 'RPG::Armor.new'
      when 'enemy'; dname = 'Enemies'; dnewdata = 'RPG::Enemy.new'
      when 'troop'; dname = 'Troops'; dnewdata = 'RPG::Troop.new'
      when 'state'; dname = 'States'; dnewdata = 'RPG::State.new'
      when 'animation'; dname = 'Animations'; dnewdata =
'RPG::Animation.new'
      when 'commonev'; dname = 'CommonEvents'; dnewdata =
'RPG::CommonEvent.new'
      when 'end'; next
      else; p 'unknown DLB_DATA!', 'Check carefully what you typed in
DLB_DATA'
      end
      base_data = load_data('Data/' + dname + '.rvdata')
      data = dvar.nil? ? base_data : eval('base_data.' + dvar.to_s)
      unless data.size > v and v - (data.size - 1) <= 0
        add_data = Array.new(v - (data.size - 1)) { eval(dnewdata) }
        data.push *add_data
        save_data(base_data, 'Data/' + dname + '.rvdata')
      end
    end
    p 'Finished in ' + (Time.now - start_time).to_s + ' sec'
    exit
  end
Instruction
There is instruction step-by-step in the script.
Quote:#==========================================
# ** HOW TO USE
#------------------------------------------
# 0. Open your project (Recommend to backup your database files first~)
# 1. Paste this script in above 'Main'.
# 2. Set DLB_USE_IT = true
# 3. Setup database files you want to change, in DLB_DATA
# 4. Run your game...
# 5. When it finished, game will close itself
# 6. Close your project *without save*
# 7. Open your project again. Done!
# 8. You can either remove this script, or set DLB_USE_IT = false
#==========================================

* I'm not sure if there's limit in database size.
As far as I test, 20000 weapons works fine~*

* You may run to 'Script is hanging' error, if the script use too long
time to process.
(e.g. when you create 20000 actors, and you already have only 10 in
database)
My suggestion to fix this is to create new actors about 1000 - 5000 at a
time. :)
Do that again and again until you get the number you want.

Mostly, it takes overall about 1 - 3 seconds when I tested to create
1000 data for all database files,
and 6000 for switches and variables.


Author's Notes
Free for use in your work if credit is included.


Bug Report?
Please give me these informations:
Quote:- What is it says in error window?
- When is it get error? (Right after run game, when you choose
something, etc.)
- Do you have any other scripts running in your game that may crash with
this script?
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   Victor Engine - Damage Limit Victor Sant 0 5,479 01-04-2012, 09:14 AM
Last Post: Victor Sant
   Limit Break VX DerVVulfman 2 7,905 07-20-2009, 04:37 PM
Last Post: DerVVulfman



Users browsing this thread: 1 Guest(s)