Advertisement
TheoAllen

Theo - Enemy Attack SE

May 17th, 2013
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.50 KB | None | 0 0
  1. # =============================================================================
  2. # TheoAllen - Enemy Attack SE (RGSS2)
  3. # Version : 1.0
  4. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  5. # (This script documentation is written in informal indonesian language)
  6. # =============================================================================
  7. ($imported ||= {})[:Theo_EnemySE] = true
  8. # =============================================================================
  9. # CHANGE LOGS:
  10. # -----------------------------------------------------------------------------
  11. # 2013.05.18 - Started and Finished script
  12. # =============================================================================
  13. =begin
  14.  
  15.   Perkenalan :
  16.   Script ini ngebikin kamu bisa ngespesifikasi suara attack SE untuk setiap
  17.   enemy.
  18.  
  19.   Cara penggunaan :
  20.   Pasang diatas main, tapi dibawah material. Untuk tujuan kompatibilitas,
  21.   pasang diatas semua custom script.
  22.  
  23.   Gunakan tag seperti berikut pada note enemy
  24.   <se name: n>   = untuk spesifikasi nama SE
  25.   <se vol: n>    = untuk spesifikasi volume SE
  26.   <se pitch: n>  = untuk spesifikasi pitch SE
  27.  
  28.   Secara default, name, vol, dan pitch settingannya sama seperti dalam database
  29.   system. kamu tidak harus menulis semua tag. Jika kamu hanya mau mengganti
  30.   SEnya saja, cukup gunain tag <se name: n>
  31.  
  32.   Terms of Use:
  33.   Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
  34.   keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
  35.   dipake buat komersil, jangan lupa, gw dibagi gratisannya.
  36.  
  37. =end
  38. # =============================================================================
  39. # Tidak ada konfigurasi khusus. Dan jangan diedit setelah line ini
  40. # =============================================================================
  41. module THEO
  42.   module ENEMY
  43.     module REGEXP
  44.      
  45.       SE_NAME = /<(?:SE_NAME|se name):[ ](.*)>/i
  46.       SE_VOL  = /<(?:SE_VOL|se vol):[ ](\d+)>/i
  47.       SE_PIT  = /<(?:SE_PITCH|se pitch):[ ](\d+)>/i
  48.      
  49.     end
  50.   end
  51. end
  52.  
  53. class RPG::Enemy
  54.   attr_accessor :se_name
  55.   attr_accessor :se_vol
  56.   attr_accessor :se_pit
  57.  
  58.   def load_se
  59.     @se_name = $data_system.sounds[9].name
  60.     @se_vol = $data_system.sounds[9].volume
  61.     @se_pit = $data_system.sounds[9].pitch
  62.     self.note.split(/[\r\n]+/).each do |line|
  63.       case line
  64.       when THEO::ENEMY::REGEXP::SE_NAME
  65.         @se_name = $1.to_s
  66.       when THEO::ENEMY::REGEXP::SE_VOL
  67.         @se_vol = $1.to_i
  68.       when THEO::ENEMY::REGEXP::SE_PIT
  69.         @se_pit = $1.to_i
  70.       end
  71.     end
  72.   end
  73. end
  74.  
  75. class Scene_Title < Scene_Base
  76.  
  77.   alias pre_enemy_se_db load_database
  78.   def load_database
  79.     pre_enemy_se_db
  80.     load_enemy_se
  81.   end
  82.  
  83.   alias pre_enemy_bt_se_db load_bt_database
  84.   def load_bt_database
  85.     pre_enemy_bt_se_db
  86.     load_enemy_se
  87.   end
  88.  
  89.   def load_enemy_se
  90.     $data_enemies.compact.each do |e|
  91.       e.load_se
  92.     end
  93.   end
  94.  
  95. end
  96.  
  97. class Scene_Battle < Scene_Base
  98.  
  99.   def display_attack_animation(targets)
  100.     if @active_battler.is_a?(Game_Enemy)
  101.       enemy = $data_enemies[@active_battler.enemy_id]
  102.       path = sprintf("Audio/SE/%s",enemy.se_name)
  103.       vol = enemy.se_vol
  104.       pit = enemy.se_pit
  105.       Audio.se_play(path,vol,pit)
  106.       wait(15, true)
  107.     else
  108.       aid1 = @active_battler.atk_animation_id
  109.       aid2 = @active_battler.atk_animation_id2
  110.       display_normal_animation(targets, aid1, false)
  111.       display_normal_animation(targets, aid2, true)
  112.     end
  113.     wait_for_animation
  114.   end
  115.  
  116. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement