티스토리 뷰

RPG Maker MZ 플러그인: TimeSystemFull - 실시간 시간 시스템

안녕하세요, RPG Maker MZ 유저 여러분! 오늘 소개할 플러그인은 TimeSystemFull입니다. 이 플러그인은 게임 내에서 실시간으로 시, 분, 초를 표시하고 관리할 수 있는 강력한 시간 시스템을 제공합니다. 시간에 따라 특정 스위치를 활성화하는 기능까지 포함되어 있어, 시간 기반 이벤트를 쉽게 구현할 수 있습니다. 아래에서 플러그인의 기능, 설치 방법, 사용법을 자세히 설명드릴게요!

플러그인 주요 기능

  1. 실시간 시간 표시
    • 게임 내에서 시, 분, 초를 실시간으로 표시합니다.
    • 숫자 이미지(0~9.png)와 구분 이미지(time_space.png)를 사용하여 시각적으로 표현합니다.
    • 표시 위치를 X, Y 좌표로 자유롭게 설정 가능.
  2. 시간 제어 기능
    • 시간 정지와 시간 시작 명령어를 통해 시간 흐름을 제어할 수 있습니다.
    • 특정 이벤트 중에는 시간을 멈추고, 이벤트가 끝나면 다시 시간을 흐르게 할 수 있습니다.
  3. 특정 시간에 스위치 활성화
    • 원하는 시간에 도달했을 때 특정 스위치를 활성화할 수 있습니다.
    • 예: "10시 30분 0초"에 도달하면 스위치 5를 ON으로 설정.
    • 여러 시간 조건을 설정 가능하며, 스크립트 명령어로 동적으로 설정할 수 있습니다.
  4. 유연한 설정
    • 초기 시간(시, 분, 초), 업데이트 주기, 표시 좌표 등을 플러그인 매개변수로 설정 가능.
    • 스크립트 명령어를 통해 세밀한 제어가 가능합니다.

설치 방법

  1. 파일 다운로드 및 추가
    • 아래 링크에서 TimeSystemFull.js 파일을 다운로드하세요.
    • 다운로드한 파일을 프로젝트 폴더의 js/plugins/ 디렉토리에 추가합니다.
  2. 플러그인 활성화
    • RPG Maker MZ에서 "플러그인 관리자"를 열고, TimeSystemFull 플러그인을 추가합니다.
    • 플러그인을 활성화합니다.
  3. 이미지 준비
    • img/pictures/ 폴더에 숫자 이미지(0.png ~ 9.png)와 구분 이미지(time_space.png)를 준비하세요.

사용법

1. 기본 설정 (플러그인 매개변수)

  • 초 변수 ID, 분 변수 ID, 시 변수 ID: 시간을 저장할 변수 ID를 지정합니다. (기본값: 2, 3, 4)
  • 초기 시간: 게임 시작 시 초기 시, 분, 초를 설정합니다. (기본값: 0:0:0)
  • 기준 X 좌표, 기준 Y 좌표: 시간 표시 위치를 설정합니다. (기본값: 0, 0)
  • 업데이트 주기 (ms): 시간 업데이트 주기를 밀리초 단위로 설정합니다. (기본값: 1000ms)

2. 스크립트 명령어

  • 시간 시스템 초기화
  • PluginManager.callCommand($gameSystem, 'TimeSystemFull', 'initTimeSystem', { secondsVar: 2, minutesVar: 3, hoursVar: 4, updateInterval: 1000 });
  • 시간 표시 업데이트
  • PluginManager.callCommand($gameSystem, 'TimeSystemFull', 'updateTimeDisplay', {});
  • 시간 정지 / 시작
  • PluginManager.callCommand($gameSystem, 'TimeSystemFull', 'stopTime', {}); PluginManager.callCommand($gameSystem, 'TimeSystemFull', 'startTime', {});
  • 특정 시간 설정
  • PluginManager.callCommand($gameSystem, 'TimeSystemFull', 'setTargetTimes', { targetsJson: '[{"hours":10,"minutes":30,"seconds":0,"switchId":5},{"hours":15,"minutes":45,"seconds":0,"switchId":10}]' });

3. 이벤트 설정 예시

  • 게임 시작 시 특정 시간 설정
    • 시간이 01:00:00에 도달하면 스위치 1이 ON 됩니다.
  • PluginManager.callCommand($gameSystem, 'TimeSystemFull', 'setTargetTimes', { targetsJson: '[{"hours":1,"minutes":0,"seconds":0,"switchId":1}]' });
  • 특정 이벤트 중 시간 정지
    1. 이벤트에서 "플러그인 명령"을 선택.
    2. TimeSystemFull → 시간 정지를 선택.
    3. 이벤트가 끝난 후 "플러그인 명령"으로 시간 시작을 호출.

주의사항

  • 숫자 이미지와 구분 이미지가 img/pictures/ 폴더에 없으면 표시가 제대로 되지 않을 수 있습니다.
  • setTargetTimes 명령어의 JSON 형식은 정확히 입력해야 합니다. 잘못된 형식은 에러를 발생시킬 수 있습니다.
  • 스위치 ID는 1 이상이어야 하며, 0 이하인 경우 해당 설정은 무시됩니다.

 

추가 기능 업데이트
2025-03-21 이제 시간표시 이미지를 On/Off 선택할 수 있습니다.

 

좀 더 추가하고 싶은 기능이 20가지 이상 있었지만, 저의 능력부족으로 무한오류의 늪에 빠져 폐기했습니다.
이후 추가 기능 업데이트는 없습니다.

 

TimeSystemFull.zip
0.01MB

 

https://youtu.be/zOLdZM5e9v8?si=n04cMbGtTWOTNiVq

이 플러그인은 아케나님의 강의영상을 보고 영감을 받아 만들었습니다.

 

 

테스트 환경

 

RPG Maker MZ 버전: 1.9.0

OS: Windows 11 

 

 

 

 

플러그인 사용 조건 및 면책 조항
작성자: OtterScribe

https://otterscribe.tistory.com/notice/18

 

RPG MAKER MZ 플러그인 이용 안내

안녕하세요, 블로그를 찾아주신 여러분께 감사 인사드립니다!이곳에서는 제가 직접 제작한 RPG MAKER MZ용 플러그인들을 공유하고 있습니다. 게임 제작에 도움이 될 수 있는 다양한 기능을 담으려

otterscribe.tistory.com

 

  • 저작권
    이 플러그인은 [OtterScribe]가 직접 작성한 오리지널 코드입니다. RPG Maker MZ의 기본 코드를 확장한것으로, 상업적 및 비상업적 프로젝트에서 자유롭게 사용할 수 있습니다. 단, 재배포 시 원작자 [OtterScribe]를 명시해야 합니다.
  • 사용 조건
    이 플러그인은 개인 학습, 비상업적 프로젝트, 상업적 프로젝트에서 무료로 사용 가능합니다.
    수정은 허용되지만, 원본 또는 수정된 플러그인을 재배포하거나 판매하거나 단독으로 배포하는 것은 [OtterScribe]의 명시적 허가 없이는 금지됩니다.
    수정된 버전을 배포할 경우, 원작자 [OtterScribe]를 반드시 언급해야 합니다.
    이 플러그인이 필요한 다른 플러그인은 독립적으로 배포될 수 없으며, 게임 프로젝트에 포함되어야 합니다. 또한, 이 플러그인을 사용한 게임의 엔딩 크레딧에는 'OtterScribe'를 포함해 주세요.
  • 호환성
    이 플러그인은 작성자가 테스트한 환경에서만 정상 작동을 확인했습니다. 다른 플러그인과의 충돌이나 특정 버전에서의 문제는 보장되지 않습니다.
  • 면책 조항
    이 플러그인 사용으로 발생하는 문제(버그, 데이터 손실, 게임 오류 등)에 대해 작성자 [OtterScribe]는 책임을 지지 않습니다. 사용자는 사용 전 프로젝트를 백업하고, 모든 책임을 스스로 감수해야 합니다.
    공식 지원은 제공되지 않으며, 문제가 생기면 RPG Maker 커뮤니티나 개인 디버깅으로 해결하세요.
  • 팀 사용
    고용된 직원이나 팀원과 플러그인을 공유해 수정하는 것은 허용됩니다. 팀원에게는 별도의 라이선스가 필요 없습니다.
  • 문의
    버그, 개선 제안, 허가 요청은 OtterScribe의 블로그에 댓글로 남겨주세요.

 

 

최근에 올라온 글