IceDragon200

[IEX2]DBRearranger

Mar 31st, 2012
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.25 KB | None | 0 0
  1. # // Written by IceDragon
  2. # // DC: 03/31/2012
  3. # // DM: 03/31/2012
  4. # //
  5. module DBRearranger
  6.   def self.rerang(data,new_order)
  7.     result = Array.new(data.size,nil)
  8.     n = nil
  9.     for i in 0...data.size
  10.       n = new_order[i]
  11.       result[i] = n ? data[n] : data[i]
  12.       result[i].id = i if(result[i])
  13.     end
  14.     result
  15.   end
  16.   def self.swap(data,id1,id2)
  17.     data[id1], data[id2] = data[id2], data[id1]
  18.     data[id1].id = id2 if(data[id1])
  19.     data[id2].id = id1 if(data[id2])
  20.     data
  21.   end
  22.   def self.load_gdata(name)
  23.     load_data("Data/#{name}")
  24.   end
  25.   def self.save_gdata(name,obj)
  26.     Dir.mkdir("DataRerang") unless(File.exist?("DataRerang"))
  27.     save_data(obj,"DataRerang/#{name}")
  28.   end
  29.   def self.full_process!(name,new_order)
  30.     save_gdata(name,rerang(load_gdata(name),new_order))
  31.   end
  32. end
  33. DBRr = DBRearranger
  34.  
  35. ext = ".rvdata"
  36. # // Assuming I only have 5 items, after this look in the DataRerang
  37. DBRr.full_process!("Items#{ext}",
  38.   # // ReRang Array
  39.   [0, # // First element is always 0
  40.    5, 3, 4, 2, 1
  41.   ]  # // Almost reversed order
  42. )
  43. # // Skills
  44. data = DBRr.load_gdata("Skills#{ext}") # // Load Skills
  45. # // Swap Skill 5 with Skill 20
  46. DBRr.swap(data, 5, 20)
  47. DBRr.save_gdata("Skills#{ext}",data) # // Save Skills
Advertisement
Add Comment
Please, Sign In to add comment