[Script] [RPGXP] [Misc. Systems] Auto Backup - XP/VX

WinKeyWinKey Posts: 188Registered
[chapter]Giới Thiệu[/chapter]
Có khi nào bạn đang ngồi mân mê cái dự án của bạn làm bằng RPGXP/VX Engine mà tự nhiên đèn tắt cái bụp, PC down cái rụp chưa ? (tắt điện đấy) lúc đó nếu như dữ liệu bạn đang làm chưa được save lưu lại thì coi như đi hoàn toàn và muốn khôi phục lại củng rất khó và tốn time :-t

Script này sẽ giúp bạn tránh được điều đó, nó sẽ tự động backup lại hết dữ liệu data của bạn mỗi khi chạy game vào một thư mục khác đặt tên là "Backup_Data", vậy bạn chỉ cần chép data từ thư mục đó vào lại thư mục Data chính của dự án là có thể kíu lại hết những dữ liệu bạn chưa kịp lưu hoặc bị hư hỏng !

[chapter]Chú Ý[/chapter]
Khuyến khính nên sài cho tất cả các dự án và đặt biệt là dự án lớn, một vài dòng script đơn giản nhưng nó củng giúp cho bạn nhiều điều đó ! tin tui đi ko thừa đâu, bây giờ chắc chưa cần nhưng đến lúc cần thì đừng có hối

[chapter]Script[/chapter]
#===============================================================
# ● [XP/VX] ◦ Auto Backup ◦ □
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 07/12/2008
# ◦ Version: 1.0
#--------------------------------------------------------------
# ◦ Features:
# - Automatically backup your rx/rvdata files when you run the game.
#--------------------------------------------------------------
# ◦ How to use:
# - Setup the script below,
# - You may want to run your game now to backup data files the first time.
#--------------------------------------------------------------

module WData_Backup
  
  BACKUP_WHEN_TEST = true # (true/false) Do you want to backup data files only
  # when running game through editor (When you press F12 in editor) ?
  BACKUP_REPORT = false # (true/false) Show textbox when backup process finish?
  DIRNAME = 'Backup_Data' # Name of the backup folder
  # (Script will automatically create folder if it doesn't exist)

SCRIPT = <<_SCRIPT_
    if (BACKUP_WHEN_TEST && #{defined?(Graphics.wait) ? '$TEST' : '$DEBUG'}) ||
    !BACKUP_WHEN_TEST
      time = Time.now
      Dir.mkdir(DIRNAME) unless File.directory?(DIRNAME)
      ftype = "#{defined?(Graphics.wait) ? 'rvdata' : 'rxdata'}"
      flist = Dir.glob('./Data/*.{' + ftype + '}')
      flist.each_index do |i|
        flist[i] = flist[i].split('/').last
        save_data(load_data('Data/' + flist[i]), DIRNAME + '/' + flist[i])
      end
      p('Backup Finished!: ' + (Time.now - time).to_s + ' sec') if BACKUP_REPORT
    end
_SCRIPT_

  eval(SCRIPT) unless $@
end

[chapter]Điều Khoản[/chapter]
Dùng cho tất cả dự án

[chapter]Credit[/chapter]
Woratana

Comments

Sign In or Register to comment.