SHARE
TWEET

Enemy kill counter - Ace

Holy87 Jul 12th, 2013 231 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
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top