XP 스크립트

#=================================================
# Damage_Display Script
#-------------------------------------------------
# http://rmxp.org
#=================================================

class Damage < Sprite
  def initialize(x, y, dealt_damage = 0, viewport = Viewport.new(0,0,640,480))
    super(viewport)
    @_damage_duration = 0
    self.x = x
    self.y = y
    @damage = dealt_damage
    damage(@damage)
  end
   
  def dispose
    dispose_damage
    super
  end

  def damage(value)
    dispose_damage
    if value.is_a?(Numeric)
      damage_string = value.abs.to_s
    else
      damage_string = value.to_s
    end
    bitmap = Bitmap.new(160, 48)
    bitmap.font.name = "굴림"
    bitmap.font.size = 20
    bitmap.font.color.set(0, 0, 0)
    bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
    bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
    bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
    bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
    if value.is_a?(Numeric) and value < 0
      bitmap.font.color.set(176, 255, 144)
    else
      bitmap.font.color.set(255, 255, 255)
    end
    bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
    @_damage_sprite = ::Sprite.new(self.viewport)
    @_damage_sprite.bitmap = bitmap
    @_damage_sprite.ox = 80
    @_damage_sprite.oy = 20
    @_damage_sprite.x = self.x
    @_damage_sprite.y = self.y - self.oy / 2
    @_damage_sprite.z = 9000
    @_damage_duration = 40
  end

  def dispose_damage
    if @_damage_sprite != nil
      @_damage_sprite.bitmap.dispose
      @_damage_sprite.dispose
      @_damage_sprite = nil
      @_damage_duration = 0
    end
  end

  def update
    super
    if @_damage_duration > 0
      @_damage_duration -= 1
      case @_damage_duration
      when 38..39
        @_damage_sprite.y -= 4
      when 36..37
        @_damage_sprite.y -= 2
      when 34..35
        @_damage_sprite.y += 2
      when 28..33
        @_damage_sprite.y += 4
      end
      @_damage_sprite.opacity = 256 - (12 - @_damage_duration) * 32
      if @_damage_duration == 0
        dispose
      end
    end
  end
end
###################################################
class Scene_Map
  alias trickster_update update
  def update
    if $damage != nil
      if $damage.disposed?
        $damage = nil
      else
        $damage.update
      end
    end
    trickster_update
  end
end
###################################################
class Interpreter
  def command_338
    # Get operate value
    value = operate_value(0, @parameters[2], @parameters[3])
    # Process with iterator
    iterate_battler(@parameters[0], @parameters[1]) do |battler|
      # If battler exists
      if battler.exist?
        # Change HP
        battler.hp -= value
        # If in battle
        if $game_temp.in_battle
          # Set damage
          battler.damage = value
          battler.damage_pop = true
        else
          if battler.is_a?(Game_Actor)
            x = $game_player.screen_x
            y = $game_player.screen_y
          else
            x = battler.screen_x
            y = battler.screen_y
          end
          viewport = Viewport.new(0,0,640,480)
          damage = value
          $damage = Damage.new(x,y,viewport,damage)
        end
      end
    end
    # Continue
    return true
  end
end

사용법
 $damage = Damage.new(x,y,내용)
수정, 추가 심플액션에서 데미지 출력을 이걸로 사용했음
잘쓰셈

Who's 백호

?

이상혁입니다.

http://elab.kr

Comment '6'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6202
561 기타 디버그 윈도우 강화! 3 file 백호 2009.02.21 1550
560 기타 동료들이 기차처럼 줄줄 따라온다!? 7 file 백호 2009.02.21 1990
559 이동 및 탈것 동료들끼리 따라오는 스크립트 41 file ◐아이흥행 2010.01.23 3714
558 이동 및 탈것 도트이동 5 file 허걱 2009.08.19 2891
557 기타 데이터베이스 자체 제한 해체 XP Ver. 13 THE풀잎 2010.07.04 2171
556 이동 및 탈것 데쉬 기능 스크립트 8 file 백호 2009.02.21 1508
555 전투 데미지마루 백호 2009.02.21 1163
554 전투 데미지 표시 개조 8 file 백호 2009.02.21 2532
553 전투 데미지 폰트변경 7 카르닉스 2010.02.26 2600
552 기타 데미지 출력 스크립트 예제 9 file 백호 2009.02.22 1560
» 전투 데미지 출력 스크립트 6 백호 2009.02.22 1810
550 미니맵 던전용 미니맵 스크립트[사용법 추가] 16 file 배포 2008.03.02 3443
549 기타 더블애니메이션 스크립트 1 백호 2009.02.22 1598
548 기타 대화창에 얼굴그래픽 스크립트 25 file 백호 2009.02.21 4137
547 이름입력 대화창에 얼굴, 이름 띄우기 37 킬라롯 2008.11.09 7497
546 메시지 대화창에 얼굴 그래픽 띠우기 73 아방스 2007.11.09 7119
545 기타 대화창 글자 한글자씩뜨는 스크립트 7 백호 2009.02.22 2185
544 기타 대화 글씨가 한글자씩 나오는 스크립트 2 백호 2009.02.22 2464
543 전투 대전게임 Fighter 1 file 백호 2009.02.21 1436
542 이동 및 탈것 대쉬 밑에 꺼 MP가 깍기는거 1 백호 2009.02.22 1467
Board Pagination Prev 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 52 Next
/ 52