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 6208
501 전투 간단 액알 스크립티!(2번째) 2 백호 2009.02.21 2696
500 전투 간단 액알 사용법(3번째) 12 file 백호 2009.02.21 3337
499 메뉴 각 메뉴를 호화롭게 하는 스크립트 3 file 백호 2009.02.21 2621
498 키입력 新전체키 스크립트(그에 따른 그림도 실려있음) 6 file 백호 2009.02.21 2255
497 키입력 新전체키 스크립트 예제 - 양키 7 file 백호 2009.02.21 2081
496 이동 및 탈것 新(?)대쉬기능 스크립트.. 3 백호 2009.02.22 1626
495 기타 新 무기 개조 스크립트 3 file 백호 2009.02.21 1488
494 타이틀/게임오버 パラ犬씨의 타이틀 화면 커스터마이즈를 SDK2용으로 편집 by Trickster Alkaid 2010.09.29 1589
493 메시지 ◆메세지 윈도우 개조 -KGC_MessageAlter◆ 3 백호 2009.02.22 3422
492 상점 ▼▲▼ XRXS36. 숍·변동시장 ▼▲▼ (시세) 8 D.S.Y 2008.12.09 2025
491 기타 ↓ 날씨 자동설정 스크립트 3 백호 2009.02.22 1530
490 기타 [회복] 대기 회복 스크립트4.0 여러 오류 문제 해결 및 길이 줄임 11 file 코아 코스튬 2010.11.06 2190
489 [헬악이님 제보] 제작자 표시 8 아방스 2007.11.09 2542
488 미니맵 [헬악이님 제보] 단축키 미니맵 만들기!!| 13 file 아방스 2007.11.09 4198
487 [헬악이] 스크립트 사용법 !!!(꼭 읽으세요!!) 3 아방스 2007.11.09 2269
486 타이틀/게임오버 [펌]색다른 게임오버 스크립트 14 file 또라에몽 2010.05.09 4270
485 이동 및 탈것 [통합] 텔레포트 통합 수정편 1 백호 2009.02.22 1143
484 파티 [최강전사님 제공] 파티가 따라오게 하는 스크립트 24 file 아방스 2007.11.09 3371
483 기타 [자작]칼라 테이블입니다. 3 나뚜루 2009.01.24 1621
482 [자작]일괄조작 관련 스크립트 5 나뚜루 2009.01.10 1913
Board Pagination Prev 1 ... 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ... 52 Next
/ 52