개인 자료란 (JE)

  서버 커뮤니티

Profile ENCE 대표칭호 없음

I3396 83afcc84f84f44ed811e268863d53eb3

Profile

트리거리엑터 강좌

마인크래프트 트리거리엑터 실행자(Excutor)

2020.09.15 조회 수 467 추천 수 0
해당 강의는 HK 강좌팀 도토리님이 작성해주셨습니다.

이번에는 TR의 가장 기본적인 기능 중 하나인 Executor(실행자) 에 대하여 알아보겠습니다.
실행자란, TR에서 기본으로 제공하는 명령입니다. 
실행자를 사용해서 유저는 서버에 명령을 내릴 수 있습니다. 
VT에서는 @CMDOP, @PLAYER 등 @(at) 문자를 이용했습니다. 
TR에서는 이와 비슷하게 #(sharp) 문자를 사용합니다. 
TR의 실행자는 # 문자 뒤에 실행자의 이름을 붙여 구성됩니다. 
예시: #CMDOP, #MESSAGE 실행자의 사용법은 각각 다릅니다. 

실행자만을 입력하여 사용해야 하는 것도 있고, 뒤에 인수를 붙여 값을 넘겨줘야 하는 경우도 있습니다. 
인수를 넘겨받지 않는 실행자는 예를 들어 #CANCELEVENT가 있습니다. 
이와 같은 실행자는 뒤에 아무것도 붙이지 않고 실행자만을 단독으로 사용합니다. 
인수를 넘겨받는, 대부분의 실행자는 보통 뒤에 값을 입력하여 사용합니다. 
예시 : #MESSAGE "Hello TR" #CLEARCHAT player("D0TORI") 

모든 기본 실행자와 사용법은 위키에 친절하게 안내되어 있습니다. https://github.com/TriggerReactor/TriggerReactor/wiki/Executors_kr 위키 참조
이 강의에서는 중요한 실행자, 그리고 그 실행자들의 사용 방법과 자세한 응용 방법을 다룰 것입니다.

GitHub
Contribute to TriggerReactor/TriggerReactor development by creating an account on GitHub.



#MESSAGE
#MESSAGE 실행자는 트리거를 발동시킨 유저의 채팅창에 String(문자열)을 띄웁니다. 기본적인 활용법은 다음과 같습니다. #MESSAGE "<문자열>" 실행자를 입력하고 그 뒤에 유저에게 보낼 메세지를 입력하면 됩니다. 여기서 주의 사항은, 문자열의 끝과 끝에는 큰따옴표(")를 쳐야 한다는 점입니다. 이 큰따옴표를 치지 않을 시에는 오류가 나며, #MESSAGE 실행자에서 오류가 났다면 큰따옴표가 제대로 쳐져 있지 않을 가능성이 높습니다. #MESSAGE "Trigger reacted!" 다음과 같이 설정한 트리거를 실행한다면 유저에게 Trigger reacted!라는 문장이 채팅창에 올라올 것입니다. 일반적인 트리거는 ASYNC(비동기) 모드로 설정되어 있는데요, 아직은 이게 무슨 뜻인지 알 필요는 없습니다. 그러나 중요한 것은 이렇게 설정되어 있으면 모든 명령은 차례대로 실행된다는 것입니다. 그러니까
#MESSAGE "Hello"
#MESSAGE "There?"
#MESSAGE "how are you?"
이런 식으로 코드를 짜게 되면 세 개의 문장이 주루룩 출력되게 됩니다. 동시에 한 번에 모든 메세지를 띄우려면 #MESSAGE 실행자는 한 번만 쓰고 문장을 공백으로 구분하여 쓰시면 됩니다. 마치 이렇게요. #MESSAGE "<첫 번째 줄>" "<두 번째 줄>" "<세 번째 줄>" 이런 방식으로 원하는 대로 계속 늘려나갈 수 있습니다. 그러나 코드 가독성이 좋지 못하므로 추후에 서술할 SYNC 강의를 참고하시기 바랍니다.

#CMD, #CMDOP, #CMDCON #CMD 계열의 모든 실행자는 지정된 명령어를 실행되게 합니다. 위키에는 매우 간단하게 나왔지만 사실 활용도는 꽤 높습니다. #CMD와 #CMDOP는 똑같이 대상이 트리거를 발동시킨 플레이어가 됩니다. 그러나 #CMDCON은 누가 발동시키든 똑같이 콘솔이 지정한 명령어를 입력하게 합니다. 이 점은 일부 상황에서 중요한 요소로 작용할 수 있습니다. 다음 예제를 보겠습니다. #CMDOP "spawn" #CMDCON "spawn" 이 두 구문은 실행자만 다른 구문입니다. 그런데 하나의 구문은 제대로 작동되지 않습니다. 어떤 구문이 제대로 작동되지 않는 구문일까요? 바로 #CMDCON을 사용한 구문입니다. #CMDCON은 누가 트리거를 발동시키든 똑같이 콘솔에 명령어를 입력한 것과 같은 효과를 냅니다. 콘솔에 spawn을 입력하면 콘솔은 spawn으로 이동될 수 없기에 작동하지 않습니다. 밑의 코드는 스폰으로 이동시킬 플레이어의 닉네임을 입력해 주어야 합니다. #CMDCON "spawn " + $playername이렇게 입력하면 정상 작동되게 됩니다. #CMD 계열의 트리거는 커맨드 트리거로 작성한 트리거도 발동시킬 수 있습니다. /a 라는 커맨드와 /b, /c 라는 커맨드가 있다고 합시다. 여기서 /all 커맨드를 입력하면 a, b, c 커맨드를 모두 불러오게 하고 싶습니다. 그러면 어떻게 하면 될까요? 바로 all 트리거에 이러한 구문을 넣으면 됩니다.
#CMDOP "a" 
#CMDOP "b"
#CMDOP "c"
VT는 작성한 커맨드 트리거를 다른 커맨드 트리거에서 불러올 수 없었으나 TR은 가능합니다. 그러나 트리거 안에서 또 다른 트리거를 불러와야 할 경우는 대부분 Named 트리거를 사용하므로 이런 경우는 특수한 상황 말고는 거의 없습니다.

#PERMISSION
보통 서버에서 유저에게 어떠한 권한을 주고 싶을 때는 어떻게 처리하시나요? 저의 경우는 PermissionEX 라는 플러그인을 사용하여 해결했습니다. 대부분 그러한 펄미션 관련 플러그인을 사용하실 겁니다. 그러나 권한을 잠시 동안 주었다가 빼는 그런 상황에서는 어떻게 해야 할까요? 플러그인에 그런 기능이 물론 내장되어 있겠지만 TR에서는 훨씬 간편하게 사용 가능합니다. #PERMISSION "essentials.spawn" 트리거를 발동시킨 플레이어에게 essentials.spawn 권한을 지급하는 트리거입니다. 반대로 그 권한을 강탈해 오고 싶다면 마이너스(-)만 붙이면 됩니다. #PERMISSION "-essentials.spawn" 이렇게 사용하면 훨씬 간편하게 권한 문제를 해결할 수 있습니다. *CAUTION!* 이 기능은 Vault 플러그인이 없으면 오류를 발생시킵니다. 또한, Sponge에서는 지원하지 않습니다.(수정됨)
[오후 10:31]

#STOP
이 실행자는 트리거를 제어하는 실행자입니다. 이 실행자가 처리되면, 트리거는 거기서 끝나 버립니다. 다음 예제에서 출력 값은 어떻게 될까요?
#MESSAGE "A"
#STOP
#MESSAGE "B"
정답은 A만 출력되게 됩니다. A를 출력시키고 #STOP 실행자를 만나 뒤에 있는 내용은 무시해 버린 겁니다.

#WAIT
이 실행자 역시 트리거를 제어하는 실행자입니다. 이 실행자를 만나면, 트리거는 구문을 잠시 중단합니다. #WAIT 10이러한 구문이 들어오면, 다음 구문까지 10초의 딜레이가 생성됩니다.

이번 강의를 마치며..
#EXECUTOR 편에서는 가장 많이 쓰이고 중요한 실행자를 몇 가지 알아보았습니다. 이외에도 중요한 실행자들은 많지만, 그것들은 반복문, 조건문 등에서 천천히 설명할 예정입니다. 다음 강의는 Placeholder(표시자) 에 대해 작성할 예정입니다. 그럼 다음 강의에서 뵙겠습니다.

Warning
댓글이 없습니다.

새로운 댓글을 등록해 주세요!

뉴스 및 창작물
/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ?

팀뉴일리시

2024-11-23

4

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 5

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1