Registrarse

[Script] [Aporte] [Rpg Maker] Script Limit Breaker

Leviatan

Antisocial
bueno lo que hace este script es aumentar el numero de objetos, personajes, habilidades, enemigos, etc. en el rpg maker xp/vx.
Bueno aun que dudo mucho que lo neseciten si usan essentials.

Ahora el script

Código:
#===============================================================
# ● [XP/VX] ◦ Database Limit Breaker II ◦ □
# * Break limit of data number in database files *
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 22/02/2008
# ◦ Version: 2.0
# ◦ Instruction language(s): English, Thai (ภาษาไทย)
#--------------------------------------------------------------

#==========================================
# ** HOW TO USE - วิธีการใช้สคริปต์
#------------------------------------------
# [English]
# 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. Set DLB_USE_IT = false. Leave this script in your Script Editor.
#------------------------------------------
# [Thai ภาษาไทย]
# 0. เปิดโปรเจคเกมขึ้นมา (แนะนำให้แบ็กอัพไฟล์ฐานข้อมูลก่อนนะครับ~)
# 1. วางสคริปต์นี้ไว้ในช่องไหนก็ได้ แต่ให้อยู่เหนือ 'Main'
# 2. ตั้ง DLB_USE_IT = true
# 3. ตั้งค่าฐานข้อมูลในส่วน DLB_DATA
# 4. รันเกม...
# 5. เมื่อสคริปต์ทำงานเสร็จ เกมจะปิดตัวโดยอัตโนมัติ
# 6. ปิดโปรเจคเกม *โดยไม่ต้องกดเซฟใด ๆ ทั้งสิ้น*
# 7. เปิดโปรเจคเกมขึ้นมาใหม่ เช็คไฟล์ฐานข้อมูลจะเห็นว่ามันเปลี่ยนไปแล้ว!
# 8. ตั้ง DLB_USE_IT = false แล้วปล่อยสคริปต์นี้ทิ้งไว้ใน Script Editor ของคุณ
#==========================================

  #===========================================================================
  # [ENG] 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~
  #---------------------------------------------------------------------------
  # [THA] ต้องการรันสคริปต์ลิมิตเบรกเกอร์๋มั้ย? (ตั้งค่านี้เป็น false หลังจากที่รันสคริปต์นี้ไปแล้ว และยังไม่ได้
  # แก้ไขส่วน DLB_DATA หลังจากนั้น) หรือจะลบสคริปต์นี้ออกไปจากเกมหลังจากใช้เสร็จแล้วก็ได้~
  #+==========================================================================
  DLB_USE_IT = false # (true / false)

  if DLB_USE_IT # Do NOT edit this line
    DLB_DATA = {
    #======================================================
    # [ENG] 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!)

    #-----------------------------------------------------
    # [THA] ไฟล์ฐานข้อมูลที่คุณต้องการแก้ไขจำนวน~
    # * ลิมิตของไฟล์ฐานข้อมูลปกติ คือ 999
    # * ลิมิตของตัวแปร กับสวิตช์ คือ 5000
    # สคริปต์นี้จะทำให้คุณสามารถแก้ไขจำนวนของข้อมูลเหล่านี้ให้เกินลิมิตได้
    #===============================
    # ** วิธีการตั้งค่า **
    #-------------------------------
    # เลือกเพิ่มบรรทัดด้านล่าง สำหรับแก้ไขจำนวนข้อมูลในฐานข้อมูลที่ต้องการ
    # รูปแบบ: 'ชื่อฐานข้อมูล' => (จำนวน),
    # ตัวอย่างเช่น... 'switch' => 5500,
    # (* อย่าลืมใส่สัญลักษณ์๋ , ท้ายบรรทัดนั้น)

    #==============================================
    # ** [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 (RMXP only) สำหรับไทล์เซ็ต (สำหรับ RMXP เท่านั้น)
    # 'animation' for Animations สำหรับอนิเมชั่น
    # 'commonev' for Common Events สำหรับเหตุการณ์ทั่วไป
    #======================================================
    # * START to setup from here! เริ่มการตั้งค่าตรงนี้
    #======================================================

    'actor' => 1011,

    #========================================================
    # * [END] Database Limit Breaker Setup Part
    # * จบส่วนตั้งค่าสคริปต์~
    #========================================================
    'end' => nil # Close hash
    }

    dformat = defined?(Graphics.wait) ? '.rvdata' : '.rxdata'
    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 + dformat)
      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 + dformat)
      end
    end
    p 'Finished in ' + (Time.now - start_time).to_s + ' sec'
    exit
  end

class Game_Switches
  #--------------------------------------------------------------------------
  # * Set Switch
  #     Make the system be able to set switch ID more than 5000
  #--------------------------------------------------------------------------
  def []=(switch_id, value)
    @data[switch_id] = value
  end
end

class Game_Variables
  #--------------------------------------------------------------------------
  # * Set Variable
  #     Make the system be able to set switch ID more than 5000
  #--------------------------------------------------------------------------
  def []=(variable_id, value)
    @data[variable_id] = value
  end
end
Instrucciones de instalacion.

Lo de siempre, lo insertas arriba de main y listo no es necesario cerrar el rpg maker para que funcione

en caso de usarse deben dar creditos a: Woratana
que fue quien creo el script
 

Jessie

What goes around, comes around
Instrucciones de instalacion.

Lo de siempre, lo insertas arriba de main y listo no es necesario cerrar el rpg maker para que funcione

en caso de usarse deben dar creditos a: Woratana
que fue quien creo el script

Se ve interesante, pero según el script, se tiene que definir primero los class que vas a modificar y activar la variable local DLB_USE_IT, una vez que los tengas escritos, tienes que cargar el juego y el script realizará los cambios, luego cerrará la ventana del juego y entonces tienes que cerrar y abrir tu proyecto nuevamente, una vez hecho esto tienes que hacer ya sea eliminar el script o colocar la Variable Global DLB_USE_IT = false.

El hash debería quedar algo así suponiendo que incrementarás el número de todos los disponibles, aunque por supuesto puedes solo aumentar algunos.

Código:
DLB_USE_IT = true

  if DLB_USE_IT # Do NOT edit this line
    DLB_DATA = {
     'switch'    => 9999, #9999 es el nuevo número maximo
     'variable'  => 9999,
     'class'     => 9999,
     'skill'     => 9999,
     'item'      => 9999,
     'weapon'    => 9999,
     'armor'     => 9999,
     'enemy'     => 9999,
     'troop'     => 9999,
     'state'     => 9999,
     'tileset'   => 9999, #(RMXP only)
     'animation' => 9999,
     'commonev'  => 9999,
     'actor'     => 1011,
     'end' => nil # Close hash
    }
No estoy seguro si estoy en lo correcto, pero así es como lo entendí.
De cualquier manera es un gran aporte sobre todo ahora que ya hay más proyectos que usan el rpgmaker xp sin essentials y el rpgmmaker vx.

Saludos.
 

Leviatan

Antisocial
No, no hay que cerrar el proyecto, se cambia el limite a 999 y a 5000 en variables y interruptores, o bueno yo no modifique nada y sirvio sin ningun tipo de error
 

Jessie

What goes around, comes around
No, no hay que cerrar el proyecto, se cambia el limite a 999 y a 5000 en variables y interruptores, o bueno yo no modifique nada y sirvio sin ningun tipo de error
No, tengo entendido que 999 para los datos de sistema y 5000 para variables e interruptores son los límites que rpg maker trae predefinido, el objetivo del script es incrementar esos números, así que si no estas obteniendo más que esos, entonces el script no está modificando los datos de tu proyecto.
 

Leviatan

Antisocial
bueno yo lo probe en vx ace que tenia un limite de 99, despues inserte el script y pude poner 999 y 5000
 
Arriba