hwanhee1 4081ce757dd84164b6a15ae30fb012cc
안녕하세요! 스크립트 강좌를 진행하는 hwanhee1입니다. 스크립트 강좌 3편 시작하도록 하겠습니다.
강좌를 시작하기 앞서 본 스크립트 강좌는 스크립트 2.4.1을 기준으로 진행합니다. 버전은 1.12.2이며 이 이하 버전은 일부 구문이 작동하지 않을수 있습니다! 서버 버전은 1.12.2를 권장합니다!
워프는 대부분의 서버에서 필요합니다. 그래서 준비했습니다. 워프를 만들어봅시다.
간단하게 구문 하나를 투척하겠습니다
제 강좌 1편부터 보신분들, 이제 어떤 기호를 탭으로 쓸지 아시겠죠?
> = 탭
command /워프생성 [<text>]:
>trigger:
>>if player is op:
>>>set {워프::%arg 1%} to player's location
>>>message "[ &aWarp&f ] %arg 1%워프가 %player's location%에 설정되었습니다."
>>else:
>>>message "[ &c&lError!&f ] 당신은 관리자가 아닙니다(권한이 부족합니다)!"
command /워프 [<text>]:
>trigger:
>>if {워프::%arg 1%} is set:
>>>teleport player to {워프::%arg 1%}
>>>message "[ &aWarp&f ] %arg 1% 워프로 성공적으로 이동하였습니다!"
>>else:
>>>message "[ &c&lError!&f ] 해당 워프는 존재하지 않습니다!"
command /워프제거 [<text>]:
>trigger:
>>if player is op:
>>>if {워프::%arg 1%} is set:
>>>>delete {워프::%arg 1%}
>>>>message "[ &aWarp&f ] %arg 1% 워프 제거에 성공하였습니다!"
>>>else:
>>>>message "[ &c&lError!&f ] 해당 워프는 존재하지 않습니다!"
>>else:
>>>message "[ &c&lError!&f ] 당신은 관리자가 아닙니다(권한이 부족합니다)!"
이렇게 만들었습니다. 일단 저 {워프::%arg 1%} 저 변수를 이용해 워프를 만들었어요!
구문을 해석해드릴게요
command /워프생성 [<text>]:
이 구문은 일단 예시로 /워프생성 한마포짱 명령어를 치면(command /워프생성 [<text>]) 명령어가 실행되며(trigger:) 해당 플레이어가 오피인지 확인합니다.(if player is op:) 왜냐하면 오피가 아닌데 워프를 생성하면 곤란하기 때문입니다!
만약 오피일경우 한마포짱 워프 변수를 플레이어의 위치(xyz)로 저장합니다(set {워프::%arg 1%} to player's location) 그다음에 한마포짱 워프가 생성되었다고 메시지로 알려줍니다.(message "[ &aWarp&f ] %arg 1%워프가 %player's location%에 설정되었습니다.")
그런데 만약 아까 오피 확인 과정에서 오피가 아니라고 판별이 나면(else:) 명령어 과정을 취소하고 플레이어에게 사용할수 없다는 메시지를 보내줍니다.(message "[ &c&lError!&f ] 당신은 관리자가 아닙니다(권한이 부족합니다)!")
그리고 /워프 한마포짱 명령어를 치면(command /워프 [<text>]:) 명령어가 실행되며(trigger:) 한마포짱 워프가 생성되어있는지 확인합니다.(if {워프::%arg 1%} is set:) 그리고 만약 한마포짱 워프가 있다면 플레이어를 한마포짱 워프로 플레이어를 순간이동시킵니다(teleport player to {워프::%arg 1%}) 그리고 한마포짱 워프로 순간이동시켰다고 메시지를 보내줍니다.
그런데 만약 한마포짱 워프가 없다면(else:) 명령어 과정을 취소하고 플레이어에게 워프는 존재하지 않는다고 메시지를 보내줍니다.(message "[ &c&lError!&f ] 해당 워프는 존재하지 않습니다!")
자 그런데 워프를 삭제하고 싶어졌네요
/워프제거 한마포짱 명령어를 치면(command /워프제거 [<text>]:) 명령어가 실행되며(trigger:) 해당 플레이어가 오피인지 확인합니다.(if player is op:) 그리고 오피라면 한마포짱 워프가 있는지 확인합니다.(if {워프::%arg 1%} is set:) 그리고 한마포짱 워프가 있다면 워프를 삭제합니다.(delete {워프::%arg 1%}) 그리고 워프가 삭제된걸 알려줍니다.(message "[ &aWarp&f ] %arg 1% 워프 제거에 성공하였습니다!")
그런데 짜잔! 한마포짱 워프가 만약 없다면(7번째 줄의 else:) 명령어 진행 과정을 취소하고 해당 워프가 존재하지 않는다고 메시지를 보냅니다.(message "[ &c&lError!&f ] 해당 워프는 존재하지 않습니다!")
그런데 만약 아예 플레이어가 오피 자체가 없다면(9번째 줄의 else:) 명령어 진행 과정을 취소하고 권한이 없다고 메시지를 보내줍니다.(message "[ &c&lError!&f ] 당신은 관리자가 아닙니다(권한이 부족합니다)!")
자 구문 해석이 되셨나요? 일부로 구문 부분만 볼드 처리 했어요!
오타는 언제든지 제보받습니다 긴 글 봐주셔서 감사합니다! 다음 강좌는 자동리붓으로 뵙겠습니다!
댓글이 없습니다.
새로운 댓글을 등록해 주세요!