개인 자료란 (JE)

  서버 커뮤니티

Profile 제라든 대표칭호 없음

Jeraden_n 4c8ff9825f8342f2bb0fd7c96f78d7e6

Profile

강좌 자바 에디션(JE) 플러그인 개발

[제라든의 매직스펠 강좌] [기초] 6강. 쿨타임

2019.12.25 조회 수 7314 추천 수 2
분야 매직스펠 
장르 재미, RPG 
게임버전 모든버전 
API 페이퍼 
자료글 https://github.com/TheComputerGeek2/MagicSpells 

 

 

   강의 소개


안녕하세요, 제라든입니다.

 

크리스마스 이브 약속으로 일요일은 쉬고 크리스마스 당일날 뵙네요.

 

모두들 즐거운 성탄절 되시길 바랍니다.

 

오늘 강의에서는 스펠에 쿨타임을 주고, 여러 쿨타임 관련 설정하는 방법을 배우도록 하겠습니다.

 

매직스펠을 개발하고 싶으신 분 뿐만 아니라 사용하시는 분들도 필요한 내용입니다.

다운받은 매직스펠의 쿨타임을 변경하여 사용하고 싶으신 분들도 읽어주시길 바랍니다.

 

 

 

 

 

   1. 쿨타임 구문


대부분의 스펠들은 쿨타임을 걸어 재발동할 때까지 시간 제한을 둘 수 있습니다.
 스펠을 한번 발동시키면, 설정한 시간 동안 해당 스펠을 다시 발동하지 못합니다.

 

쿨타임을 넣으시려면, 스펠 구문에 cooldown 구문을 추가하시면 됩니다.

 

pain:
    spell-class: ".targeted.PainSpell"
    damage: 5
    cooldown: 10

 

구문 값에는 쿨타임 시간을 넣으시면 됩니다.
시간 단위는 초단위이며, 소수점까지 인식합니다.
(1.5초나 3.2초도 오류없이 작동합니다)

 

 

 

 

 

   2. 쿨타임 메세지 설정


1-1.png

 

아직 쿨타임 중인 스펠을 발동시키려고 하면, 채팅으로 실패 메세지가 올라갑니다.

이 쿨타임 메세지를 원하는 대로 설정하실 수 있습니다.

 

첫번째 방법은 general.yml 파일에서 설정하는 방법입니다.
 general.yml 파일에서 str-on-cooldown 구문을 수정하시면

모든 스펠의 기본 쿨타임 메세지를 설정하실 수 있습니다.


<general.yml 파일 강의 바로가기>

 

1-1.png

(한글로 쓰실 경우, 큰따옴표"" 넣으셔야 합니다!)

 

두번째 방법은 특정 스펠에 str-on-cooldown 구문을 넣어 설정하는 방법입니다.
이 방법은 해당 구문을 넣는 스펠에만 적용되며, general.yml 설정보다 우선합니다.

 

pain:
    spell-class: ".targeted.PainSpell"
    damage: 5
    cooldown: 10
    str-on-cooldown: "%c초 뒤에 다시 사용할 수 있습니다."

 

 

 

 

 

   3. 기타 쿨타임 관련 기능들


쿨타임 기능에 부수적인 설정을 하는 구문들이 존재합니다.


해당 구문들은 cooldown 구문이 있어야 작동합니다.

 

sound-on-cooldown
쿨타임이 중인 스펠을 발동시키려 할 때, 특정 소리를 발생시킵니다.

 

shared-cooldowns
스펠을 발동했을 때, 설정값 만큼 리스트의 스펠들이 쿨타임 상태가 됩니다.

 

shared-cooldowns:

    - pain 10

 

이 구문을 넣은 스펠을 발동하면,

pain이라는 이름의 스펠은 10초의 쿨타임이 작동하게 됩니다.

 

always-activate
하지만 해당 구문이 true일 경우, 스펠을 발동하려 시도했다면 무조건 쿨타임이 작동합니다.
 

Targeted Spells 종류의 스펠들은 대상을 타겟해야 스펠이 발동합니다.
 타겟을 놓치면 스펠 발동이 실패하는데, 보통 때에는 쿨타임도 같이 작동하지 않습니다.

 

위의 구문들을 활용한 예제 파일을 첨부하겠습니다.
 공부하시는 데 참고하시길 바랍니다.

 

Cooldown 구문 예제 파일 다운로드

 

spells-cooldown example.zip

 

 

general.yml 파일에 str-on-cooldown 이외에도, 쿨타임 관련 구문이 더 있습니다.

 

ops-ignore-cooldowns
true로 설정하면, op가 있는 플레이어는 쿨타임을 무시합니다.

 

cooldowns-persist-through-reload
true로 설정하면, 스펠 리로드를 할 때에도 이미 작동하고 있는 쿨타임이 초기화되지 않습니다.

 

ModifyCooldown spell 같은 쿨타임을 조정하는 효과의 스펠도 있습니다.
 나중에 기본 강의에서 보여드리겠습니다.

 

 

 

 

 

   강의 후기


오늘도 강의가 이렇게 끝났습니다.

 

다음 강의에서는
[기초] 7강. 매직 아이템을 진행하겠습니다.

 

강의는 일요일날 게시됩니다.

 

끝까지 읽어주신 분들께 감사의 말씀을 전합니다.
 




12개의 댓글

윈초
2019.12.25

전 매직스펠을 않씁니다..

 

혹여나 1.15가된다면 답글좀,,

제라든
2019.12.26
@윈초

1.14 버전까지는 beta 버전으로 출시되었고,

1.15는 아마 개발 중일 것입니다.

윈초
2019.12.26
@제라든

아! 알겠습니당~!

아이스틴
2019.12.25

와 소수점까지 된다니. 대단하군요

제라든
2019.12.26
@아이스틴

소수점 둘째자리까지 가능합니다만,

생각보다 쓸 일이 없더군요 ㅋㅋㅋ

GEEKSCI
2019.12.26

쿨타임 표시를 소수로 나타낼수 있나요?

제라든
2019.12.26
@GEEKSCI

소수점 표시는 힘듭니다.

매직스펠 플러그인 내부를 직접 수정하는 방법밖에 없습니다.

GEEKSCI
2019.12.26
@제라든

DDang_
2020.01.12

앞으로도 멋진 강좌 기대하겠습니다

re_space
2020.01.30

잘 보고 있어요^^ 매직스팰 초보자라 강의가 너무나도 도움이 되네요

asd46578
2020.06.22

shared-cooldowns에서 쿨타임 수치를 0으로 써놓으면 그 스펠은 쿨타임이 초기화되나요??

살쾡이
2020.11.14

저는 한글을 적으면 이상한 문구가 나오는데 어떻게 하나요?

뉴스 및 창작물
/files/thumbnails/520/751/003/262x150.crop.jpg?20240328020349

레드스톤

마인크래프트 노트블록으로 만든 『 Bling‐Bang‐Bang‐Born 』 1

Sonttukk

2024-03-23

1

/files/thumbnails/467/742/003/262x150.crop.jpg?20240311163123

레드스톤

[노트블럭커버] MILGRAM -ミルグラム(밀그램)- / 아마네 「숙청 행진」 제 2심 2

리비온

2024-03-11

0

/files/thumbnails/846/741/003/262x150.crop.jpg?20240310221214

레드스톤

워든 vs 라마 200마리 1

GlassesFilm

2024-03-10

0

/files/thumbnails/542/739/003/262x150.crop.jpg?20240309070457

레드스톤

[고인의 명복을 빕니다][노트블럭]드래곤볼 GT 오프닝 - 점점 마음이 끌려

리비온

2024-03-09

0

/files/thumbnails/326/738/003/262x150.crop.jpg?20240328020414

레드스톤

마인크래프트 노트블록으로 만든 『 Build Our Machine 』

Sonttukk

2024-03-07

0

/files/thumbnails/952/735/003/262x150.crop.jpg?20240303230423

소식

복잡한 설치 없이 마크 애드온을 즐겨보세요! 새로운 블록, 몹, 조합법 등!

도라

2024-03-03

0

/files/thumbnails/212/735/003/262x150.crop.jpg?20240303113438

레드스톤

성장속도 실험

GlassesFilm

2024-03-03

3