Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # [RGSS/2] Timer Effects
- # Version : 1.1
- # Author : LowlingLife
- #==============================================================================
- # Script ini akan memodifikasi Timer sehingga akan memberikan suatu warning
- # atau peringatan jika waktu ingin habis dan akan memberikan efek suara
- # jam berdetik.
- #==============================================================================
- module TimerEffects
- # Warna dari Timer jika waktumu masih normal. <- Putih
- NORMAL_COLOR = [255, 255, 255]
- # Warna dari Timer jika waktumu sudah mau habis <- Kuning
- ALMOST_END_COLOR = [255, 255, 0]
- # Warna dari Timer jika waktumu benar-benar hampir habis <- Merah
- ENDING_COLOR = [255, 255, 0]
- # Detik yang akan dijadikan sebagai penanda ALMOST_END.
- ALMOST_END_SECOND = 60
- # Detik yang akan dijadikan sebagai penanda ENDING.
- ENDING_SECOND = 30
- # Set ke true untuk memainkan suara jam.
- USE_SOUND = true
- # SE yang akan dimainkan saat jam berdetak.
- SOUND = ["NormalSE", 100, 100]
- # Apakah kamu ingin menggunakan Zoom pada Timer saat Ending Mode?
- # Set ke true untuk mengaktifkan fitur ini.
- ZOOM_END = true
- end
- class Sprite_Timer < Sprite
- include TimerEffects
- alias timer_effects_initialize initialize unless $@
- def initialize(*args, &block)
- timer_effects_initialize(*args, &block)
- if ZOOM_END
- self.x, self.y = 650 - self.bitmap.width/2, self.bitmap.height/2
- self.ox, self.oy, self.z = self.bitmap.width/2, self.bitmap.height/2, 500
- end
- end
- def update
- super
- self.visible = $game_system.timer_working
- # If timer is working
- if $game_system.timer_working
- if ZOOM_END
- self.zoom_x = self.zoom_y = 1.0
- if $game_system.timer / Graphics.frame_rate < 10
- zoom = $game_system.timer % 10
- self.zoom_x = self.zoom_y = 1.0 + (zoom < 5 ? zoom : 10-zoom) * 0.06
- elsif $game_system.timer / Graphics.frame_rate < 60
- zoom = $game_system.timer % 20
- self.zoom_x = self.zoom_y = 1.0 + (zoom < 10 ? zoom : 20-zoom) * 0.03
- else
- self.zoom_x = self.zoom_y = 1.0
- end
- end
- end
- # If timer needs to be redrawn
- if 2 * $game_system.timer / Graphics.frame_rate != @total_sec &&
- $game_system.timer >= 0
- self.bitmap.clear
- @total_sec = 2 * $game_system.timer / Graphics.frame_rate
- min = @total_sec / 120
- sec = (@total_sec/2) % 60
- if USE_SOUND
- text = sprintf("%02d:%02d", min, sec)
- Audio.se_play("Audio/SE/"+ SOUND[0], SOUND[1], SOUND[2])
- else
- text = sprintf("%02d:%02d", min, sec)
- end
- if @total_sec < ENDING_SECOND
- self.bitmap.font.color.set(ENDING_COLOR[0], ENDING_COLOR[1], ENDING_COLOR[2])
- elsif @total_sec < ALMOST_END_SECOND
- self.bitmap.font.color.set(ALMOST_END_COLOR[0], ALMOST_END_COLOR[1], ALMOST_END_COLOR[2])
- else
- self.bitmap.font.color.set(NORMAL_COLOR[0], NORMAL_COLOR[1], NORMAL_COLOR[2])
- end
- self.bitmap.draw_text(self.bitmap.rect, text, 0)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment