Holy87

Enemy kill counter - Ace

Jul 12th, 2013
276
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $imported = {} if $imported == nil
  2. $imported["H87_EKC"] = true
  3. #===============================================================================
  4. # ** INCREMENTA VARIABILE CON UCCISIONE DEL NEMICO **
  5. # Versione: 1.0 (15/04/2013)
  6. # Difficoltà utente: ★
  7. #===============================================================================
  8. # DESCRIZIONE:
  9. # Mettiamo che vuoi fare una quest come "Uccidi 10 Slime!" Come si fa a tenere
  10. # il conto degli Slime uccisi? Con questo script, che li memorizza in una
  11. # variabile!
  12. #===============================================================================
  13. # UTILIZZO:
  14. # Installare lo script sotto Materials e prima del Main.
  15. # Inserire, nel riquadro delle note del nemico, la seguente etichetta:
  16. # <kill var: x>, dove x è la variabile (ID) che verrà incrementata quando quel
  17. # mostro verrà ucciso. Semplice!
  18. #===============================================================================
  19. # COMPATIBILITA':
  20. # Compatibile con quasi tutti gli script.
  21. #===============================================================================
  22.  
  23.  
  24. #===============================================================================
  25. # Attenzione: Non modificare ciò che c'è oltre, a meno che tu non sappia ciò che
  26. # fai!
  27. #===============================================================================
  28. module H87_EKC
  29.   KillVariable = /<(?:KILL VAR|kill var):[ ]*(\d+)>/i
  30. end
  31.  
  32. #===============================================================================
  33. # ** Data Nemico
  34. #===============================================================================
  35. class RPG::Enemy
  36.   attr_reader :killvariable
  37.  
  38.   #-----------------------------------------------------------------------------
  39.   # *Carica le info sulla variabile
  40.   #-----------------------------------------------------------------------------
  41.   def carica_cache_personale_ekc
  42.     return if @cache_caricata_ekc
  43.     @cache_caricata_ekc = true
  44.     @killvariable = 0
  45.     self.note.split(/[\r\n]+/).each { |riga|
  46.       case riga
  47.       #---
  48.       when H87_EKC::KillVariable
  49.         @killvariable = $1.to_i
  50.       end
  51.     }
  52.   end
  53. end
  54.  
  55. #===============================================================================
  56. # ** Game_Enemy
  57. #===============================================================================
  58. class Game_Enemy < Game_Battler
  59.  
  60.   #-----------------------------------------------------------------------------
  61.   # *inizializzazione
  62.   #-----------------------------------------------------------------------------
  63.   alias h87_ekc_initialize initialize unless $@
  64.   def initialize(index, enemy_id)
  65.     h87_ekc_initialize(index, enemy_id)
  66.     @killed_variable = enemy.killvariable
  67.   end
  68.  
  69.   #-----------------------------------------------------------------------------
  70.   # *alias metodo di collasso (morte)
  71.   #-----------------------------------------------------------------------------
  72.   alias h87_ekc_collapse perform_collapse_effect unless $@
  73.   def perform_collapse_effect
  74.     increment_killed_var
  75.     h87_ekc_collapse
  76.     end
  77.  
  78.   #-----------------------------------------------------------------------------
  79.   # *incremento variabile se permesso
  80.   #-----------------------------------------------------------------------------
  81.   def increment_killed_var
  82.     $game_variables[@killed_variable] += 1 if @killed_variable != 0
  83.   end
  84. end #game_enemy
  85.  
  86. #===============================================================================
  87. # ** DataManager
  88. #===============================================================================
  89. module DataManager
  90.   class << self
  91.     alias forenemycountlb load_normal_database
  92.     alias forenemycountlbb load_battle_test_database
  93.   end
  94.  
  95.   #-----------------------------------------------------------------------------
  96.   # Inizializza nel caricamento
  97.   #-----------------------------------------------------------------------------
  98.   def self.load_normal_database
  99.     forenemycountlb
  100.     carica_enemy_ekc
  101.   end
  102.  
  103.   #-----------------------------------------------------------------------------
  104.   # Inizializza nel caricamento del battle test
  105.   #-----------------------------------------------------------------------------
  106.   def self.load_battle_test_database
  107.     forenemycountlbb
  108.     carica_enemy_ekc
  109.   end
  110.  
  111.   #-----------------------------------------------------------------------------
  112.   # Inizializza nel caricamento
  113.   #-----------------------------------------------------------------------------
  114.   def self.carica_enemy_ekc
  115.     for enemy in $data_enemies
  116.       next if enemy == nil
  117.       enemy.carica_cache_personale_ekc
  118.     end
  119.   end
  120. end
RAW Paste Data