Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #############################################################################################
  2. ################################## Buy & Sell Counter ###########################################
  3. #############################################################################################
  4. # Auteur : Biward
  5. # Date : 01/09/32 13h32
  6. #
  7. # Ce script permet d'avoir un compteur d'achat et de vente pour chaque objet
  8. #
  9. # Les commandes sont :
  10. # - counterb_item(id)     connaitre le nombre d'achat de l'objet ID
  11. # - counters_item(id)     connaitre le nombre de vente de l'objet ID
  12. # - counterb_weap(id)   connaitre le nombre d'achat de l'arme ID
  13. # - counters_weap(id)   connaitre le nombre de vente de l'arme ID
  14. # - counterb_armo(id)   connaitre le nombre d'achat de l'armure ID
  15. # - counters_armo(id)   connaitre le nombre de vente de l'armure ID
  16. #
  17. # Le tout est donc stockable dans une variable pour vous faciliter la vie !
  18. #
  19. #############################################################################################
  20. #################################### Début du script ############################################
  21. #############################################################################################
  22. ### Scene_Shop ###
  23. class Scene_Shop  
  24.   alias dnibico decide_number_input
  25.   def decide_number_input
  26.     case @command_window.index
  27.     when 0 # buy
  28.       $game_buycounter[@item] += @number_window.number      
  29.     when 1 # sell
  30.       $game_sellcounter[@item] += @number_window.number
  31.     end
  32.     dnibico
  33.   end
  34. end
  35.  
  36. ### Game_BuySellCounter ###
  37. class Game_BuySellCounter
  38.   def initialize
  39.     @data = Array.new
  40.     3.times { @data << [] }
  41.   end  
  42.   def [](variable_id)
  43.     @data[which_type(variable_id)][variable_id.id] || 0
  44.   end  
  45.   def []=(variable_id, value)
  46.     @data[which_type(variable_id)][variable_id.id] = value
  47.   end  
  48.   def which_type(v)
  49.     w = 0 if v.is_a?(RPG::Item)
  50.     w = 1 if v.is_a?(RPG::Weapon)
  51.     w = 2 if v.is_a?(RPG::Armor)
  52.     w
  53.   end
  54. end
  55.  
  56. ### Scene_Title ###
  57. class Scene_Title  
  58.   alias cgobico2 create_game_objects
  59.   def create_game_objects
  60.     $game_buycounter = Game_BuySellCounter.new
  61.     $game_sellcounter = Game_BuySellCounter.new
  62.     cgobico2
  63.   end
  64. end
  65.  
  66. ### Scene_File ###
  67. class Scene_File  
  68.   alias wsdbico2 write_save_data  
  69.   def write_save_data(file)
  70.     wsdbico2(file)
  71.     Marshal.dump($game_buycounter,         file)
  72.     Marshal.dump($game_sellcounter,         file)
  73.   end  
  74.   alias rsdbico2 read_save_data
  75.   def read_save_data(file)
  76.     rsdbico2(file)
  77.     $game_buycounter    = Marshal.load(file)
  78.     $game_sellcounter    = Marshal.load(file)
  79.   end
  80. end
  81.  
  82. ### Game_Interpreter ###
  83. class Game_Interpreter
  84.   def counterb_item(id)
  85.     $game_buycounter[$data_items[id]]
  86.   end  
  87.   def counters_item(id)
  88.     $game_sellcounter[$data_items[id]]
  89.   end
  90.   def counterb_weap(id)
  91.     $game_buycounter[$data_weapons[id]]
  92.   end  
  93.   def counters_weap(id)
  94.     $game_sellcounter[$data_weapons[id]]
  95.   end
  96.   def counterb_armo(id)
  97.     $game_buycounter[$data_armors[id]]
  98.   end  
  99.   def counters_armo(id)
  100.     $game_sellcounter[$data_armors[id]]
  101.   end
  102. end
  103. #############################################################################################
  104. #################################### Fin du Script ###############################################
  105. #############################################################################################