대문
펑션이란?
펑션(Function) 은 커맨드헬퍼가 단순히 명령어를 단축시켜주는 역할이 아닌 다른 일을 할 수 있도록 만들어진 것입니다.
모든 펑션은 펑션_이름(인수1,인수2,인수3)
와 같은 형식으로 되어 있으며, 특정 인수의 경우 {}
으로 나눠서 표시할 수도 있습니다.
(펑션_이름(인수1,인수2) { 인수3 }
)
즉, 펑션은 커맨드헬퍼의 기능을 확장시켜주고, 커맨드헬퍼가 더욱 여러가지 일들을 할 수 있게 해주는 커맨드헬퍼의 핵심입니다. 아래부터는 지금까지 배운 지식을 바탕으로 펑션을 사용하는 방법을 배웁니다.
기본 펑션들
커맨드헬퍼에서 사용할 수 있는 펑션들의 종류는 약 600가지에 달합니다. 이러한 수많은 펑션들 중에, 여기서는 몇가지의 간단하고 필수적인 펑션들을 다루며 기본적인 펑션의 사용법을 배워 보겠습니다.
그리고 앞으로는 전체 펑션의 목록을 쉽게 확인하기 위해 이곳 을 즐겨찾기 해두는 것을 추천합니다.
msg()
msg()
펑션은 해당 명령어를 실행한 플레이어에게 메시지를 보내는 펑션입니다.
이 펑션을 통해 우리는 /hello
명령어를 실행한 플레이어에게 Hello World!
라는 메시지를 보내려고 합니다.
예제 1.
/hello = msg('Hello World!')
/hello
명령어를 실행하면Hello World!
라는 메시지가 출력됨.
기본적인 펑션의 사용 방법은 단축 명령어와 비슷합니다. 원래 단축 명령어의 오른쪽 부분에 실행할 명령어 대신 실행할 펑션을 입력하면 됩니다.
이외에도 글자를 보내려고 할 때에는 반드시 '(따옴표) 를 양 옆에 입력해야 오류가 생기지 않습니다.
예제 2.
/hello = >>>
msg('Hello')
msg('World!')
<<<
/hello = >>>
msg('Hello')msg('World!')
<<<
/hello = msg('Hello')msg('World!')
/hello
명령어를 실행하면Hello\\nWorld!
라는 메시지가 출력됨.
단축 명령어에서 여러 줄을 사용하려 할 때나 여러 펑션들을 한번에 사용할 때에는 기존의 명령어처럼 \
을 입력할 필요 없이,
단순히 사용할 수 있습니다. 펑션의 입력 값은 괄호 안으로 한정되어 있기 때문에, 괄호를 닫으면 그 안이 그 펑션이 받는 값으로만 인정됩니다.
예제 3.
/hello = msg('Hello'
컴파일 에러 괄호가 일치하지 않습니다.
괄호를 닫지 않으면 에러가 발생합니다.
/hello = msg('Hello
컴파일 에러 문자열이 닫히지 않았습니다.
동일하게 '
(따옴표) 로 문장을 닫지 않아도 에러가 발생합니다.
/hello = >>>
msg('Hello)
<<<
컴파일 에러 문자열이 닫히지 않았습니다.
'
(따옴표) 로 문장을 닫지 않으면 그 닫지 않은 문장 속에 있는 괄호와 <<<
(여러줄 단축 명령어를 닫는 기호) 는 인식되지 않습니다.
tmsg()
tmsg()
펑션은 기본적으로 msg()
펑션과 같지만, 해당 명령어를 실행한 사람이 아닌, 지정한 사람에게 메시지를 보낼 수 있습니다.
예제 1.
/messageto $player = tmsg($player, '안녕하세요!')
/messageto 플레이어이름 을 입력하면 입력한 플레이어이름에게 메시지를 보냅니다.(플레이어_이름 이 온라인일 때만)
두가지 이상의 값(tmsg()
의 경우 플레이어 이름과 메시지) 을 요구하는 펑션의 경우는 ,(쉼표) 를 이용하여 값의 종류를 구분합니다. 펑션이 어떠한 값을 요구하는지는 상단에 링크해둔 API 문서의 인수 항목에 있습니다. tmsg()
의 경우는 플레이어 이름과 메시지 두가지를 요구하는데, 이를 순서대로 적어주시면 됩니다.
예제 2.
/messagetosteak = tmsg('ITSTAKE,''안녕하세요')
컴파일 에러
tmsg()
는 두가지의 인수를 가지고 있어야 합니다.
'(따옴표) 내부에 있는 ,(쉼표) 는 인식하지 않습니다.
예제 3.
/messageto $player = >>>
tmsg($player,
'안녕하세요')
<<<
/messageto 플레이어이름 을 입력하면 입력한 플레이어이름에게 메시지를 보냅니다.(플레이어_이름 이 온라인일 때만)
펑션 내부에 새 줄이나 띄어쓰기는 전부 무시합니다.('(따옴표) 안에 있을 때는 무시하지 않음)
이러한 펑션의 규칙(따옴표 밖의 새 줄이나 띄어쓰기는 항상 무시, 쉼표로 인수끼리 구분) 은 어떠한 펑션에서도 적용됩니다.
다음 강좌에서는 변수의 형식을 알아볼 것입니다.