RMVXA

특정 아이템을 일정량 소지해야 사용할 수 있는 스킬을 구현하고 싶습니다.

by AAAA. posted Oct 07, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
종류 이벤트 작성

현재 가방에 있는 아이템을 일정량 소비하는 스킬을 만드는 건 쉬웠는데, 정작 해놓고 보니 스킬이 도중에 끊겨버리면 제대로 소비가 이루어지지도 않고, 소비량보다 더 적은 개수를 보유하고 있어도 사용이 가능한 문제가 있었습니다. 이 문제를 어떻게 해결해야 할지 고민입니다.

 

단순히 이벤트로 실행할 때는 이런 문제가 없는데, 스킬로서 사용하려고 하니 이런저런 문제가 많더군요...

턴 소비를 없애는 스크립트([hzm]ターン消費無しスキルさん+ for RGSS3)와 함께 스킬 사용시 가방에 있는 아이템의 개수를 체크하고, 아이템의 개수가 필요량과 같거나 더 많으면 강제 전투 행동을 통해 실제로 공격을 실행하는 이벤트를 실행하게 하는 방식을 사용하였더니, 턴 소비를 없애는 스크립트에서 오류가 나더군요(466번 줄)... 

그렇다고 턴 소비를 없애는 스크립트를 적용하지 않으면 강제 전투 행동 때문에 해당 턴의 다음 모든 행동이 취소되는 문제가 발생합니다...

 

아래는 턴 소비를 없애는 스크립트의 466번 줄을 포함하는 스크립트 부분입니다.

 

  #-----------------------------------------------------------------------------
  # ● ターン消費無し行動の実行(独自)
  #-----------------------------------------------------------------------------
  def hzm_vxa_quickSkill_run
    return unless @hzm_vxa_quickSkill_skill
    @hzm_vxa_quickSkill_skill = nil
    # 行動の開始
    HZM_VXA::QuickSkill::start
    @actor_command_window.close if @actor_command_window
    @hzm_vxa_quickSkill_active = true
    # 行動アクター,行動内容の設定
    @subject = BattleManager.actor
    @subject.hzm_vxa_quickSkill_swapAction # 選んだ行動を先頭に引きずり出す
    # 行動
    execute_action
    # イベント処理
    process_event
    # おわり
    @subject.hzm_vxa_quickSkill_swapAction # 元の位置に戻す
    HZM_VXA::QuickSkill::finish
    # ウィンドウを戻す
    refresh_status
    @hzm_vxa_quickSkill_active = false
    @actor_command_window.open if @actor_command_window
    @status_window.open if @status_window
    # 行動回数の再計算
    HZM_VXA::QuickSkill.re_action_times if HZM_VXA::QuickSkill::CHECK_ACTION_TIMES
  end

 

 

 

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

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