TheoAllen

Theo - Variable Store

Nov 28th, 2013
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.02 KB | None | 0 0
  1. # =============================================================================
  2. # TheoAllen - Variable Store
  3. # Version : 1.0
  4. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  5. # Requester : RavenBlueIndigo (www.rpgmakervxace.net)
  6. # (This script documentation is written in informal indonesian language)
  7. # =============================================================================
  8. ($imported ||= {})[:Theo_VariableStore]
  9. # =============================================================================
  10. # Change Logs:
  11. # -----------------------------------------------------------------------------
  12. # 2013.11.18 - Finished script
  13. # =============================================================================
  14. =begin
  15.  
  16.   Perkenalan :
  17.   Script ini membuat kamu bisa menyimpan nilai variable. Nilai variable yang
  18.   disimpan akan tetap sama walau player new game, atau load
  19.  
  20.   Cara penggunaan :
  21.   Pasang script ini dibawah material namun diatas main
  22.   Edit konfignya untuk nentuin variable mana aja yang bakal disimpen
  23.  
  24.   Terms of use :
  25.   Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
  26.   keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
  27.   dipake buat komersil, jangan lupa, gw dibagi gratisannya.      
  28.  
  29. =end
  30. # =============================================================================
  31. # Konfig :
  32. # =============================================================================
  33.  
  34.   Stored_Variables_ID = [1,2,3,4,5]
  35. # Catet variable ID yang mau kamu save disini
  36.  
  37. # =============================================================================
  38. # Akhir dari konfig
  39. # =============================================================================
  40. class << DataManager
  41.  
  42.   alias theo_savedvar_create_obj create_game_objects
  43.   def create_game_objects
  44.     theo_savedvar_create_obj
  45.     load_variables
  46.   end
  47.  
  48.   def load_variables
  49.     save_variables unless variable_file_exist?
  50.     load_saved_variables
  51.     puts $game_variables[1]
  52.   end
  53.  
  54.   def save_variables
  55.     hash = {}
  56.     Stored_Variables_ID.each do |id|
  57.       hash[id] = $game_variables[id]
  58.     end
  59.     File.open(variable_filename, "wb") do |file|
  60.       Marshal.dump(hash, file)
  61.     end
  62.   end
  63.  
  64.   def load_saved_variables
  65.     hash = load_data(variable_filename)
  66.     hash.each do |id,value|
  67.       $game_variables.theo_savedvar(id, value)
  68.     end
  69.   end
  70.  
  71.   def variable_file_exist?
  72.     FileTest.exist?(variable_filename)
  73.   end
  74.  
  75.   def variable_filename
  76.     return "Data/Variables.rvdata2"
  77.   end
  78.  
  79.   alias theo_savedvar_load_game load_game
  80.   def load_game(index)
  81.     begin
  82.       theo_savedvar_load_game(index)
  83.       load_saved_variables
  84.       return true
  85.     rescue
  86.       return false
  87.     end
  88.   end
  89.  
  90. end
  91.  
  92. class Game_Variables
  93.  
  94.   alias :theo_savedvar :[]=
  95.   def []=(variable_id, value)
  96.     theo_savedvar(variable_id, value)
  97.     if Stored_Variables_ID.include?(variable_id) &&
  98.       DataManager.variable_file_exist?
  99.       DataManager.save_variables
  100.     end
  101.   end
  102.  
  103. end
Advertisement
Add Comment
Please, Sign In to add comment