질문과 답변

Extra Form

이벤트 스크립트 창에

 

hud(true)

 

이걸 적으니까 스크립트를 불러오는 중에 Syntax오류가 발생했다고 오류 메시지만 뜹니다.

 

 

 

 

사용한 스크립트는 다음과 같습니다.

 

--------------------------------------------------------------------
# A list of colors that you may use to configure the font and gauge
################################################################################
#                                                                              #
#                      ~~~~~ Copyright 2009 SojaBird ~~~~~                     #
#                                                                              #
################################################################################

# To toggle the hud's display, just do a callscript "hud"
# To set the hud's display, just do a callscript "hud(true)" or "hud(false)"

module HUD_HP_MP_EXP_NAME_FACE_LEVEL
  HUD_WIDTH = 126 # The width of the HUD (when 126, face will be drawn)
  FACE_OPACITY = 100 # The opacity of the background face (when HUD_WIDTH = 126)

  BG_DISPLAY = true # Show or hide the backgroundwindow [true/false]

  EXP_NAME = "Exp" # What should be displayed for the EXP
 
  ACTOR_ID = 0 # Id of actor to show data of (actor1=0, actor2=1...actorN=N-1)
 
  HIDE = true # Hide if player is beneath the HUD [true/false]
  OPACITY = 100 # Opacity when hidden [0-255]
 
  HUD_START_DISPLAY = true # Wheter to display the HUD at start [true/false]
 
  CYCLE = true # Wheter to enable to cyle through actors with L&R buttons
end

################################################################################
def hud(arg = nil)
  $game_system.hud_display = !$game_system.hud_display if arg == nil
  $game_system.hud_display = arg if arg != nil
end
################################################################################
class Window_HUD_HP_MP_EXP_NAME_FACE_LEVEL < Window_Base
  include HUD_HP_MP_EXP_NAME_FACE_LEVEL
 
  attr_reader :index
 
  def initialize(index)
    @index = index
    super(0, 0, HUD_WIDTH, WLH * 4 + 32)
    self.visible = $game_system.hud_display
    self.opacity = OPACITY
    self.opacity = 0 if !BG_DISPLAY
    @actor = $game_party.members[@index]
    @width = HUD_WIDTH - 32
    hide_status
    refresh
  end
 
  def refresh
    contents.clear
    @hp = @actor.hp
    @mp = @actor.mp
    @exp = @actor.exp
    @name = @actor.name
    @level = @actor.level
    @face = [@actor.face_name, @actor.face_index]
    draw_actor_face_picture(@actor, 0, 0, FACE_OPACITY) if HUD_WIDTH == 126
    draw_actor_name_and_level(@actor, 0, WLH * 0)
    draw_actor_hp(@actor, 0, WLH * 1, @width)
    draw_actor_mp(@actor, 0, WLH * 2, @width)
    draw_actor_exp(@actor, 0, WLH * 3, @width)
  end
 
  def hide_status
    if HIDE == true
      if $game_player.screen_x + 16 > self.x and
      $game_player.screen_y + 4 > self.y and
      $game_player.screen_x - 16 < self.x + self.width and
      $game_player.screen_y - 28 < self.y + self.height
        self.opacity = OPACITY if BG_DISPLAY
        self.contents_opacity = OPACITY
      else
        self.opacity = 255 if BG_DISPLAY
        self.contents_opacity = 255
      end
    end
  end
 
  def draw_actor_face_picture(actor, x, y, opacity, size = 94)
    bitmap = Cache.face(actor.face_name)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = actor.face_index % 4 * 96 + (96 - size) / 2
    rect.y = actor.face_index / 4 * 96 + (96 - size) / 2
    rect.width = size
    rect.height = size
    self.contents.blt(x, y, bitmap, rect, opacity)
    bitmap.dispose
  end
 
  def draw_actor_name_and_level(actor, x, y)
    self.contents.font.color = hp_color(actor)
    self.contents.draw_text(x, y, @width - 32 - 24, WLH, actor.name)
    self.contents.font.color = system_color
    x = @width / 2
    width = (@width.to_f / 2) / (32 + 24)
    self.contents.draw_text(x, y, width * 32, WLH, Vocab::level_a)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + width * 32, y, width * 24, WLH, actor.level, 2)
  end
 
  def draw_actor_exp(actor, x, y, width)
    s1 = actor.exp_s
    s2 = actor.next_rest_exp_s + s1
    if s1.is_a? String or s2.is_a? String
      s1 = actor.exp
      s2 = actor.exp
    end
    draw_actor_exp_gauge(actor, x, y, s1, s2, width)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 30, WLH, EXP_NAME)
    self.contents.font.color = normal_color
    last_font_size = self.contents.font.size
    xr = x + width
    if width < 120
      self.contents.draw_text(xr - 44, y, 44, WLH, s1, 2)
    else
      self.contents.draw_text(xr - 99, y, 44, WLH, s1, 2)
      self.contents.font.color = normal_color
      self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)
      self.contents.draw_text(xr - 44, y, 44, WLH, s2, 2)
    end
  end
 
  def draw_actor_exp_gauge(actor, x, y, s1, s2, width)
    gw = width * s1 / s2
    gc1 = text_color(31)
    gc2 = text_color(27)
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
 
  def update
    self.visible = $game_system.hud_display
    return if !self.visible
    if @hp != @actor.hp or
      @mp != @actor.mp or
      @exp != @actor.exp or
      @name != @actor.name or
      @level != @actor.level or
      @face != [@actor.face_name, @actor.face_index]
      refresh
    end
    hide_status
  end
end

#------------------------------------------------------------
# * Scene_Map: Attach HUD to map
#------------------------------------------------------------
class Scene_Map < Scene_Base
  alias start_hmexp_name_face_lvl start
  alias terminate_hmexp_name_face_lvl terminate
  alias update_hmexp_name_face_lvl update
  def start
    start_hmexp_name_face_lvl
    @index = HUD_HP_MP_EXP_NAME_FACE_LEVEL::ACTOR_ID
    new_hud
   
  end
  def terminate
    @hp_mp_exp_name_face_hud.dispose
    terminate_hmexp_name_face_lvl
  end
  def update
    update_hmexp_name_face_lvl
    @hp_mp_exp_name_face_hud.update
    return if !HUD_HP_MP_EXP_NAME_FACE_LEVEL::CYCLE
    return if !@hp_mp_exp_name_face_hud.visible
    if Input.trigger?(Input::R)
      if @index == $game_party.members.size - 1
        @index = 0
      else
        @index += 1
      end
    elsif Input.trigger?(Input::L)
      if @index == 0
        @index = $game_party.members.size - 1
      else
        @index -= 1
      end
    end
    new_hud if @index != @hp_mp_exp_name_face_hud.index
  end
 
  def new_hud
    @hp_mp_exp_name_face_hud.dispose if !@hp_mp_exp_name_face_hud.nil?
    @hp_mp_exp_name_face_hud = Window_HUD_HP_MP_EXP_NAME_FACE_LEVEL.new(@index)
  end
end

#------------------------------------------------------------
# * Game_System: Check for display
#------------------------------------------------------------
class Game_System
  alias hud_initialize initialize
  attr_accessor :hud_display
  def initialize
    hud_initialize
    @hud_display = HUD_HP_MP_EXP_NAME_FACE_LEVEL::HUD_START_DISPLAY
  end
end

 

 

 

 

 

제가 제대로 적용한 것이 맞나요?

Comment '1'
  • profile
    습작 2012.04.01 00:26

    VX에서 나타나는 매우 전형적인 Syntax오류입니다.

    절대로 특별한 경우가 아니며, 무심코 그냥 새 프로젝트를 시작했을 시 생기는 일입니다.

    해당 스크립트를 직접 확인 후 답변을 드리는 것임을 알려드립니다.


    VX 강좌에서 Syntax오류 관련 허걱님 게시물을 검색해서 첨부파일을 받은 뒤, 새 프로젝트에 적용한뒤 시작하세요.

    게시물 내용에서 지적한 곳들을 바꿔주는 것 또한 해결방법입니다만, 게시물에는 오타가 있어 수정전과 수정후가 같게 적혀 있으므로, 적확히 알지 못 하신다면 그냥 파일을 받는 것을 추천합니다.


    유사 사례가 잦은 질문입니다.

    질문하기 전에 보다 검색을 생활화 하시고, 강좌를 살펴보시길 바랍니다.


List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12448
이벤트 작성 RMVXA npc 이벤트 한번만 작동+파티 합류 후 맵에 npc 사라지게 하고 싶어요 2 file 펄해햄 2019.10.27 228
게임 배포 RMMV 게임 배포할때 파일을 이렇게 배포 하는 방법은 뭔가요? 1 file 호구랑 2019.10.28 481
기본툴 사용법 RMMV 지역 id가 구체적으로 뭔가요? 퐁핑퐁 2019.10.28 79
기타 기타 울프툴 게임실행오류 해결방법 질문 file 누이미코(Nuimiko) 2019.10.29 1791
기본툴 사용법 RMVX 문 고정 1 denken 2019.11.01 53
기타 RMMV 캐릭터 도트 크기 조절 2 각갸 2019.11.02 819
이벤트 작성 RMVX 저장/로드시 특정스위치를 OFF시킬방법 or 로드시 페이드아웃 실행 ji01345 2019.11.03 80
기타 기타 Android studio에서 sdk tools Zzgame1771 2019.11.04 45
기본툴 사용법 기타 srpg스튜디오로 멀티 플레이가 가능할까요? 자유와바람 2019.11.05 98
이벤트 작성 RMVX 이벤트작성-스크립트(or 조건분기-스크립트)로 현재 어느맵에있는지 체크하는방법 3 ji01345 2019.11.05 84
플러그인 추천 RMMV 스킬에 디아블로3의 룬시스템을 넣고 싶습니다!! 육식산양 2019.11.06 61
한글 패치 RMVXA VX Ace툴 스팀 버전 한글패치는 없는 건가요? 자유와바람 2019.11.07 319
제작툴 구매 기타 vxa가 좋아요 mv가 좋아요? 1 망둥어맛치킨 2019.11.07 292
기타 RMMV 영상넣기 2 ktg0310 2019.11.10 90
스크립트 추천 RMXP 화면 크기가 아닌 게임의 해상도를 조절하고싶습니다. file 데아곤 2019.11.10 412
스크립트 작성 RMVXA vx ace 스크립트 공부를 하고싶은데 혹시 참고나 시작에 도움이 될만한 자료가 있을까요? 2 무명유실 2019.11.11 208
스크립트 사용 RMVXA vx ace의 한 칸의 크기가 32x32인데 이걸 더 늘릴수 있나요? 2 무명유실 2019.11.11 118
기타 RMMV 네코플레이어로 하려는데 화면이 짤려요 file dwmjinmiw 2019.11.11 1234
스크립트 작성 RMVXA 메뉴창에서 메뉴를 선택했을 때 원래 메뉴 목록이 사라지지 않게하려면 어떻게해야할까요 무명유실 2019.11.12 58
스크립트 작성 RMMV 플러그인 내에 있는 스크립트를 수정하고 싶은데 어디를 어떻게 바꿔야 할 지 모르겠습니다 1 file PPPL 2019.11.12 92
Board Pagination Prev 1 ... 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 ... 516 Next
/ 516