질문과 답변

Extra Form
종류 스크립트 사용

 

 출처 : http://falcaorgss.wordpress.com/    



이대로 실행하면 hp, mp, exp가 현재 몇인지 숫자가 보이는데,

숫자 없이 바만 보이도록 만들고 싶습니다.. 스크립트 제작자 님께서는 모니터링하지 않은지 몇 년이 지나셨더라고요

혹시 도움 주실 분 있으신가요?



 

 class Sprite_LifeBars < Sprite

  include PearlBars

  def initialize(viewport, character)

    super(viewport)

    @character = character

    self.bitmap = Bitmap.new(boss? ? 640 : 300, 120)

    @old_hp = battler.hp

    @old_mp = battler.mp

    @erasetimer = 180

    @state_checker = []

    @buff_checker = []

    refresh_contents

    @view = viewport

    update

  end

  

  def boss?

    return true if battler.is_a?(Game_Enemy) && battler.boss_hud

    return false

  end

  

  def battler

    return @character.battler

  end

  

  def refresh_contents

    self.bitmap.clear

    self.bitmap.font.size = 19

    @erasetimer = 180

    self.opacity = 255

    if battler.is_a?(Game_Actor)

      @old_exp = battler.exp

      @old_tp = battler.tp

      self.x = ScreenPos_X

      self.y = ScreenPos_Y

      h  = HP_BarDimentions ; m = MP_BarDimentions ; e = EX_BarDimentions

      if PearlBars::ActorsHp != ""

        @pimg = Cache.picture(PearlBars::ActorsHp)  if @pimg.nil?

        @bimg = Cache.picture(PearlBars::ActorsBack) if @bimg.nil?

        @pimp = Cache.picture(PearlBars::ActorsMp)  if @pimp.nil?

        PearlKernel.image_hp(self.bitmap, h[0] + 4, h[1],@bimg,

        @pimg, battler,true)

        PearlKernel.image_mp(self.bitmap, m[0] + 4, m[1], @bimg, @pimp, battler)

        if PearlBars::ActorsExp != ""

          @piexp = Cache.picture(PearlBars::ActorsExp)  if @piexp.nil?

          PearlKernel.image_exp(self.bitmap,e[0] + 4,e[1],@bimg,@piexp, battler)

        end

      else

        hc = HP_Color ; mc = MP_Color ; ec = EX_Color

        PearlKernel.draw_hp(self.bitmap,battler, h[0], h[1], h[2], h[3],  hc)

        PearlKernel.draw_mp(self.bitmap,battler, m[0], m[1], m[2], m[3], mc)

        PearlKernel.draw_exp(self.bitmap,battler, e[0], e[1], e[2], e[3], ec)

      end

    else battler.is_a?(Game_Enemy)

      if boss?

        self.x = BeScreenPos_X

        self.y = BeScreenPos_Y

        h  = BHP_BarDimentions ; hc = BHP_Color

        if PearlBars::BossEne != ""

          @n_img = Cache.picture(PearlBars::BossEne) if @n_img.nil?

          @n_back = Cache.picture(PearlBars::BossBack) if @n_back.nil?

          PearlKernel.image_hp(self.bitmap, h[0] + 4, h[1],@n_back,

          @n_img, battler,true)

        else

          PearlKernel.draw_hp(self.bitmap,battler, h[0],h[1],h[2], h[3],hc,true)

        end

      else

        self.x = NeScreenPos_X

        self.y = NeScreenPos_Y

        h  = EHP_BarDimentions ; hc = EHP_Color

        if PearlBars::NormalEne != ""

          @n_img = Cache.picture(PearlBars::NormalEne) if @n_img.nil?

          @n_back = Cache.picture(PearlBars::NormalBack) if @n_back.nil?

          PearlKernel.image_hp(self.bitmap, h[0] + 4, h[1],@n_back,

          @n_img, battler,true)

        else

          PearlKernel.draw_hp(self.bitmap,battler,h[0],h[1],h[2], h[3], hc,true)

        end

      end

    end

  end

  

  def update

    super

    

    

    if battler.nil?

      dispose

      return

    end

    

    if @old_hp != battler.hp

      refresh_contents

      @old_hp = battler.hp

    end

    if @old_mp != battler.mp

      refresh_contents

      @character.actor.apply_usability if @character.is_a?(Game_Player)

      @old_mp = battler.mp

    end

    

    if battler.is_a?(Game_Actor)

      if @old_exp != battler.exp

        @old_exp = battler.exp

        refresh_contents

      end

      if @old_tp != battler.tp

        @old_tp = battler.tp

        @character.actor.apply_usability if @character.is_a?(Game_Player)

        refresh_contents

      end

      

    elsif battler.is_a?(Game_Enemy)

      if boss?

        dispose if battler.dead?

      else

        if @erasetimer > 0

          @erasetimer -= 1 

          self.opacity -= 10 if @erasetimer <= 25

          @states.opacity = self.opacity if !@states.nil?

          dispose if @erasetimer == 0

        end

      end

      update_enemy_status_icons

    end

  end

  

  # 적 상태 아이콘 엔진

  def update_enemy_status_icons

    display_status? ? create_states_icons : dispose_state_icons

    4.times.each {|i| refresh_states_icons if 

    @state_checker[i] != battler.state_icons[i]}

    2.times.each {|i| refresh_states_icons if 

    @buff_checker[i] != battler.buff_icons[i]}

  end

  

  def display_status?

    return true if !battler.state_icons.empty?

    return true if !battler.buff_icons.empty?

    return false

  end

  

  def create_states_icons

    return if disposed?

    return if !@states.nil?

    @states = ::Sprite.new(@view)

    @states.bitmap = Bitmap.new(144, 24)

    @n_back.nil? ? y_plus = BHP_BarDimentions[3] : y_plus = @n_back.height

    pos = [BeScreenPos_X, BeScreenPos_Y, y_plus] if  boss?

    pos = [NeScreenPos_X, NeScreenPos_Y, y_plus] if !boss?

    @states.x = pos[0] + 10

    @states.y = pos[1] + pos[2] + 24

    @states.zoom_x = 0.8

    @states.zoom_y = 0.8

    refresh_states_icons

  end

  

  def dispose_state_icons

    return if @states.nil?

    @states.bitmap.dispose

    @states.dispose

    @states = nil

  end

  

  def refresh_states_icons

    4.times.each {|i| @state_checker[i] = battler.state_icons[i]}

    2.times.each {|i| @buff_checker[i] = battler.buff_icons[i]}

    return if @states.nil?

    @states.bitmap.clear

    x = 0

    battler.state_icons.each {|icon| draw_icon(icon, x, 0) ; x += 24

    break if x == 96}

    count = 0

    battler.buff_icons.each {|icon| draw_icon(icon, x, 0) ; x += 24 ; count += 1

    break if count == 2}

  end

  

  def draw_icon(icon_index, x, y, enabled = true)

    bit = Cache.system("Iconset")

    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)

    @states.bitmap.blt(x, y, bit, rect, enabled ? 255 : 150)

  end

  

  def dispose

    self.bitmap.dispose

    dispose_state_icons

    super

  end

end


 

 

 

 

 

■ 질문전 필독!
  • 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
  • 하나의 게시물에는 하나의 질문만 합니다.
  • 제목은 질문의 핵심 내용으로 작성합니다.
  • 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
  • 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
  • 답변받은 게시물은 삭제하지 않습니다.
  • 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
    • 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!

※ 미준수시 사전경고 없이 게시물을 삭제합니다.


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12392
스크립트 사용 RMVXA yanfly 배틀엔진 스크립트 질문 file Goker 2020.03.30 76
스크립트 사용 RMVXA 턴제전투 끝나고 나오는 이벤트에서 SE 오류 유리컵 2020.03.30 40
스크립트 사용 RMMV 턴별로 데미지가 늘어나는 스킬을 만들고 싶습니다. 2 PPPL 2020.04.19 69
스크립트 사용 RMMV 데이터베이스에서 '적들' 에 해당하는 스크립트는 무엇인가요? PPPL 2020.04.23 37
스크립트 사용 RMMV 스크립트로 랜덤하게 아이템을 습득하게 만들 수 있을까요? 1 PPPL 2020.04.27 107
스크립트 사용 RMXP 전투에 들어가도 맵브금이 그대로 흘러가는 스크립트 없을까요? 꼬맹E 2020.05.03 81
스크립트 사용 RMVXA 혹시 이런 오류는 어떻게 수정하는지 알 수 있을까요? file hoshigami 2020.05.07 651
스크립트 사용 RMVXA vx ace QTE 1 mkccip 2020.05.19 131
스크립트 사용 RMXP 메세지 스크립트 관련하여 질문 드립니다. 2 file 빈군 2020.05.18 155
스크립트 사용 RMVXA 움직이는 배경 1 Wolfclaw 2020.05.20 103
스크립트 사용 RMVXA 랜덤으로 타이틀 화면이 바뀌는 vxace 스크립트 있나요? 싸코 2020.06.28 137
스크립트 사용 RMVXA 전투중 적이 누구를 노리는지 미리 알수 있는 스크립트가 있을까요 겜만들고싶다앙 2021.04.10 27
스크립트 사용 RMMV 이벤트 이동 스크립트 퐁지 2020.07.11 59
스크립트 사용 RMVXA 4개 이상 선택지 스크립트 오류 3 file 무해 2021.12.28 88
스크립트 사용 RMVXA HUD 체력, 마나 바의 숫자가 보이지 않도록 스크립트 수정을 하고 싶습니다. DIEM 2020.10.03 99
스크립트 사용 RMVXA 외국 게임에 적용된 스크립트를 복사하는데 오류가 생깁니다. 3 file 592 2020.10.08 138
스크립트 사용 RMVXA 이벤트 작성 중 스크립트 사용에 칸이 모자랍니다. 2 file 592 2020.10.21 152
스크립트 사용 RMXP 알만툴 xp 후레쉬 스크립트 소커 2020.10.28 123
스크립트 사용 RMMV RM 폰트변경 플러그인사용법을 잘 모르겠습니다. 회늑 2020.12.12 90
스크립트 사용 RMVX 전투에서 몹을 죽였는데 사라지지 않네요 file 즈네 2021.08.02 55
Board Pagination Prev 1 ... 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 ... 82 Next
/ 82