TheoAllen

Theo - Item Max Specifier

May 5th, 2013
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.03 KB | None | 0 0
  1. # =============================================================================
  2. # TheoAllen - Item Max Specifier
  3. # Version : 1.0
  4. # Contact : www.rpgmakerid.com
  5. # (This script documentation is written in informal indonesian language)
  6. # =============================================================================
  7. $imported = {} if $imported.nil?
  8. $imported[:Theo_ItemMax] = true
  9. # =============================================================================
  10. # CHANGE LOGS:
  11. # -----------------------------------------------------------------------------
  12. # 2013.05.05 - Started and Finished script
  13. # =============================================================================
  14. =begin
  15.  
  16.   PENGENALAN :
  17.   Secara default, dalam RPG Maker VX Ace, maksimal tiap item adalah 99. Script
  18.   ini ngebikin tiap item bisa disetting maksimalnya ada berapa. Misalkan,
  19.   potion A maksimal dibawa oleh party adalah 10, item B maksimal boleh dibawa
  20.   20, dan seterusnya.
  21.  
  22.   CARA PAKAI:
  23.   Tulis dalam note di database item, armor, weapon
  24.   <item max: x>
  25.   dimana x adalah angka maksimal item itu
  26.  
  27.   TERMS OF USE :
  28.   Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
  29.   keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
  30.   dipake buat komersil, jangan lupa, gw dibagi gratisannya.
  31.  
  32. =end
  33. # =============================================================================
  34. # Konfigurasi :
  35. # =============================================================================
  36. module THEO
  37.   module ITEM
  38.    
  39.     DEFAULT_MAX = 99
  40.     # nilai default banyak maksimalnya tiap item
  41.     # default : 99
  42.    
  43.   end
  44. end
  45. # =============================================================================
  46. # Batas konfigurasi. Jangan diedit setelah ini
  47. # =============================================================================
  48. module THEO
  49.   module ITEM
  50.   module REGEXP
  51.     MAX = /<(?:ITEM_MAX|item max:[ ]*(\d+))>/i
  52.   end
  53.   end
  54. end
  55.  
  56. module DataManager
  57.  
  58.   class << self
  59.     alias load_database_maximum_item load_database
  60.   end
  61.  
  62.   def self.load_database
  63.     load_database_maximum_item
  64.     load_maximum
  65.   end
  66.  
  67.   def self.load_maximum
  68.     groups = [$data_items, $data_armors, $data_weapons]
  69.     for database in groups
  70.       for obj in database
  71.         next if obj.nil?
  72.         obj.load_maximum
  73.       end
  74.     end
  75.   end
  76.  
  77. end
  78.  
  79. class RPG::Item < RPG::UsableItem
  80.   attr_accessor :item_max
  81.  
  82.   def load_maximum
  83.     @item_max = THEO::ITEM::DEFAULT_MAX
  84.     self.note.split(/[\r\n]+/).each do |line|
  85.       case line
  86.       when THEO::ITEM::REGEXP::MAX
  87.         @item_max = $1.to_i
  88.       end
  89.     end
  90.   end
  91.  
  92. end
  93.  
  94. class RPG::EquipItem < RPG::BaseItem
  95.   attr_accessor :item_max
  96.  
  97.   def load_maximum
  98.     @item_max = THEO::ITEM::DEFAULT_MAX
  99.     self.note.split(/[\r\n]+/).each do |line|
  100.       case line
  101.       when THEO::ITEM::REGEXP::MAX
  102.         @item_max = $1.to_i
  103.       end
  104.     end
  105.   end
  106.  
  107. end
  108.  
  109. class Game_Party
  110.  
  111.   def max_item_number(item)
  112.     return item.item_max
  113.   end
  114.  
  115. end
Advertisement
Add Comment
Please, Sign In to add comment