조회 수 785 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
출처 : http://www.hbgames.org/forums/viewtopic.php?f=11&t=75877

사용법은 다들 아시리라 생각됩니다.
아래 빨간색 부분을 스크립트에 붙여주시면 됩니다.


#==============================================================================
# ** Damage Popup
#------------------------------------------------------------------------------
# © Dargor, 2011
# 01/12/11
# Version 1.0
#------------------------------------------------------------------------------
# VERSION HISTORY:
# - 1.0 (01/12/11), Initial release
#------------------------------------------------------------------------------
# INSTRUCTIONS:
# - Paste this above main
# - Edit the constants in Damage_Popup module
#==============================================================================

#==============================================================================
# ** Damage Popup Customization Module
#==============================================================================

module Damage_Popup
HP_Damage_Color = Color.new(255,255,255)
MP_Damage_Color = Color.new(172,0,234)
TP_Damage_Color = Color.new(253,157,62)
HP_Recover_Color = Color.new(0,255,0)
MP_Recover_Color = Color.new(48,192,255)
TP_Recover_Color = Color.new(255,242,0)
end

#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
# This sprite is used to display battlers. It observes a instance of the
# Game_Battler class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias dargor_ace_dmgpopup_sprite_battler_initialize initialize
alias dargor_ace_dmgpopup_sprite_battler_setup_new_effect setup_new_effect
alias dargor_ace_dmgpopup_sprite_battler_start_effect start_effect
alias dargor_ace_dmgpopup_sprite_battler_update_effect update_effect
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(viewport, battler = nil)
# The Usual
dargor_ace_dmgpopup_sprite_battler_initialize(viewport, battler)
# Create damage sprite
@damage_sprite = Sprite_Base.new(viewport)
@damage_sprite.bitmap = Bitmap.new(160,48)
@damage_sprite.bitmap.font.bold = true
@damage_sprite.bitmap.font.outline = true
@damage_sprite.bitmap.font.size = 32
@damage_sprite.visible = false
@damage_duration = 0
@damage_effect = nil
end
#--------------------------------------------------------------------------
# * Setup New Effect
#--------------------------------------------------------------------------
def setup_new_effect
# The Usual
dargor_ace_dmgpopup_sprite_battler_setup_new_effect
# Check for HP Damage
if display_damage_sprite? && @battler.result.hp_damage > 0
start_damage(:hp_damage)
# Check for MP Damage
elsif display_damage_sprite? && @battler.result.mp_damage > 0
start_damage(:mp_damage)
# Check for TP Damage
elsif display_damage_sprite? && @battler.result.tp_damage > 0
start_damage(:tp_damage)
# Check for HP Recover
elsif display_damage_sprite? && @battler.result.hp_damage < 0
start_damage(:hp_recover)
# Check for MP Recover
elsif display_damage_sprite? && @battler.result.mp_damage < 0
start_damage(:mp_recover)
# Check for TP Recover
elsif display_damage_sprite? && @battler.result.tp_damage < 0
start_damage(:tp_recover)
end
end
#--------------------------------------------------------------------------
# * Damage Display Test
#--------------------------------------------------------------------------
def display_damage_sprite?
return (@battler.result.success && @damage_duration == 0)
end
#--------------------------------------------------------------------------
# * Start Damage Effect
#--------------------------------------------------------------------------
def start_damage(effect_type)
@damage_effect = effect_type
@damage_duration = 60
case @damage_effect
when :hp_damage
@damage_sprite.bitmap.font.color = Damage_Popup::HP_Damage_Color
when :mp_damage
@damage_sprite.bitmap.font.color = Damage_Popup::MP_Damage_Color
when :tp_damage
@damage_sprite.bitmap.font.color = Damage_Popup::TP_Damage_Color
when :hp_recover
@damage_sprite.bitmap.font.color = Damage_Popup::HP_Recover_Color
when :mp_recover
@damage_sprite.bitmap.font.color = Damage_Popup::MP_Recover_Color
when :tp_recover
@damage_sprite.bitmap.font.color = Damage_Popup::TP_Recover_Color
end
update_damage_popup_position
update_damage_popup_text
@damage_sprite.visible = true
@damage_sprite.opacity = 255
end
#--------------------------------------------------------------------------
# * Update Effects
#--------------------------------------------------------------------------
def update_effect
# Update effects
if @damage_duration > 0
@damage_duration -= 1
update_damage
if @damage_duration == 0
@damage_sprite.visible = false
@damage_type = nil
@battler.result.clear_hit_flags
end
end
# The Usual
dargor_ace_dmgpopup_sprite_battler_update_effect
end
#--------------------------------------------------------------------------
# * Update Damage Sprite Potision
#--------------------------------------------------------------------------
def update_damage_popup_position
if @battler && @battler.use_sprite?
@damage_sprite.x = @battler.screen_x
@damage_sprite.y = @battler.screen_y - 48
@damage_sprite.z = @battler.screen_z + 10
end
end
#--------------------------------------------------------------------------
# * Update Damage Sprite Text
#--------------------------------------------------------------------------
def update_damage_popup_text
case @damage_effect
when :hp_damage, :hp_recover
string = @battler.result.hp_damage.abs.to_s
when :mp_damage, :mp_recover
string = @battler.result.mp_damage.abs.to_s
when :tp_damage, :tp_recover
string = @battler.result.tp_damage.abs.to_s
end
rect = @damage_sprite.bitmap.text_size(string)
@damage_sprite.bitmap.clear
@damage_sprite.bitmap.draw_text(rect, string, 1)
end
#--------------------------------------------------------------------------
# * Update Damage
#--------------------------------------------------------------------------
def update_damage
case @damage_duration
when 58..59
@damage_sprite.y -= 4
when 56..57
@damage_sprite.y -= 2
when 54..55
@damage_sprite.y += 2
when 48..53
@damage_sprite.y += 4
end
if @damage_duration <= 20
@damage_sprite.opacity = @damage_duration * 11
end
end
end
?

  1. Mog_Battle_hud(MZ버전도 있습니다)

    Date2021.03.05 CategoryRPGMV 플러그인 By스트레이보우 Views1847 Votes0
    Read More
  2. 컷신 플러그인

    Date2020.10.30 CategoryRPGMV 플러그인 By스트레이보우 Views2453 Votes0
    Read More
  3. 업적플러그인

    Date2020.09.02 CategoryRPGMV 플러그인 By스트레이보우 Views2090 Votes0
    Read More
  4. 한글조합입력기(영어가능)

    Date2019.11.10 CategoryRPGXP 스크립트 By조규진1 Views946 Votes0
    Read More
  5. 게임에서 제공해주는 노래가 아닌 외부에서 다운받고 안에 넣어쓰려면 어떻게 해야하나요?

    Date2019.07.26 CategoryRPGMV 플러그인 ByBigOrca Views1463 Votes0
    Read More
  6. Ghost Effect

    Date2019.01.20 CategoryRPGMV 플러그인 By러닝은빛 Views1156 Votes0
    Read More
  7. RPG XP Xas액알

    Date2018.10.30 CategoryRPGXP 스크립트 By심심치 Views1161 Votes0
    Read More
  8. 커스텀 숫자 입력 패드

    Date2018.10.19 CategoryRPGMV 플러그인 By러닝은빛 Views1222 Votes0
    Read More
  9. 9마리 이상의 몬스터 설정 | More Enemies

    Date2018.08.31 CategoryRPGMV 플러그인 By러닝은빛 Views974 Votes0
    Read More
  10. 동적 맵 타일 수정 플러그인

    Date2018.07.17 CategoryRPGMV 플러그인 By베지테리안카카오 Views1035 Votes0
    Read More
  11. VXA에서 XBOX360 컨트롤러 사용 여부 체크

    Date2018.07.15 CategoryRPGVX Ace 스크립트 By러닝은빛 Views891 Votes0
    Read More
  12. RMMV 옵션 창에 메시지 속도 및 글자 크기 변경 기능 추가

    Date2018.07.15 CategoryRPGMV 플러그인 By러닝은빛 Views1636 Votes0
    Read More
  13. 한글 데미지 표시

    Date2018.07.09 CategoryRPGMV 플러그인 By러닝은빛 Views1420 Votes0
    Read More
  14. [ MV ] 심장[체력표시 하트] 플러그인

    Date2018.07.01 CategoryRPGMV 플러그인 By수성의물 Views2257 Votes0
    Read More
  15. [鳥小屋] 실적 플러그인(인게임 트로피 시스템)

    Date2017.10.31 CategoryRPGMV 플러그인 By이니군 Views1747 Votes0
    Read More
  16. LuD Script Package

    Date2017.08.16 CategoryRPGVX Ace 스크립트 ByLuD Views1674 Votes0
    Read More
  17. [VXAce] 레이어 맵 <layer> 시스템

    Date2017.08.07 CategoryRPGVX Ace 스크립트 ByLuD Views1272 Votes0
    Read More
  18. [RPG MV] 퀘스트 마커 지속 표시 플러그인

    Date2017.04.09 CategoryRPGMV 플러그인 Bylklslel Views1697 Votes0
    Read More
  19. Mirror Area - RPG Maker MV

    Date2017.01.03 CategoryRPGMV 플러그인 By러닝은빛 Views5033 Votes0
    Read More
  20. Keyboard Event - RPG Maker MV

    Date2017.01.03 CategoryRPGMV 플러그인 By러닝은빛 Views2311 Votes0
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)