본문 바로가기
마인크래프트/Skript 기초 활용편

스크립트 기초 활용 1편(칭호)

by 스터디립트 2022. 2. 20.

 

스터디립트의 마인크래프트 스크립트 기초 활용편의 1번째 시간입니다.

이번 시간에는, 옵션,변수,커스텀명령어,배열변수,함수 등등, 여러가지 스크립트 기초 이론 강좌에서 배웠던 것들을 이용 +(추가적인 구문) 들로 이루어진 칭호 스크립트에 대해서 알아보겠습니다.

 

 

 

우선 사용하는것 먼저 보여드리겠습니다.

 

/칭호 설정 [플레이어] [칭호] 로 원하는 플레이어의 칭호를 설정할 수 있고, /칭호 초기화 [플레이어] 로 원하는 플레이어의 칭호를 초기화시킬 수 있습니다.

 

 

이렇게, 칭호가 설정되어있지 않았을 때에는 [닉네임] : [채팅] 꼴로 채팅이 전송되는 것을 볼 수 있습니다.

 

 

/칭호 설정 (저의 닉네임) [저의 한글 닉네임] 를 통해 칭호를 제 닉네임으로 로 설정해 보았습니다. [칭호] [닉네임] : [채팅] 꼴로 채팅이 전송되는걸 볼 수 있습니다.

 

 

&[색깔코드] 를 사용해 칭호에 색을 입힐수도 있습니다.

 

 

자. 그러면 이제 모르는 구문들을 하나하나 다 짚고 넘어가봅시다.

이게 구문입니다.

 

#made by studyript
#2차 수정 가능합니다
#다만 2차 수정/배포시에는 출처를 반드시 남겨주세요

options:
    s : &9[&b칭호&9]

function SendTitleHelpMessage(p: player):
    send "{@s} /칭호 설정 [플레이어] [칭호]" to {_p}
    send "{@s} /칭호 초기화 [플레이어]" to {_p}

command /칭호 [<text>] [<offlineplayer>] [<text>]:
    trigger:
        if player is op:
            if arg 1 is "설정":
                if arg 2 is set:
                    if arg 3 is set:
                        set {_title} to arg 3
                        replace all "&" with "§" in {_title}
                        set {칭호::%uuid of arg 2%} to {_title}
                        send "{@s} %arg 2%&9님의 칭호가 %{칭호::%uuid of arg 2%}%&9로 설정되었습니다"
                    else:
                        SendTitleHelpMessage(player)
                else:
                    SendTitleHelpMessage(player)
            else if arg 1 is "초기화":
                if arg 2 is set:
                    clear {칭호::%uuid of arg 2%}
                    send "{@s} %arg 2%&9님의 칭호가 초기화되었습니다"
                else:
                    SendTitleHelpMessage(player)
            else:
                SendTitleHelpMessage(player)
        else if sender is console:
            if arg 1 is "설정":
                if arg 2 is set:
                    if arg 3 is set:
                        set {_title} to arg 3
                        replace all "&" with "§" in {_title}
                        set {칭호::%uuid of arg 2%} to {_title}
                        send "{@s} %arg 2%&9님의 칭호가 %{칭호::%uuid of arg 2%}%&9로 설정되었습니다"
                    else:
                        SendTitleHelpMessage(player)
                else:
                    SendTitleHelpMessage(player)
            else if arg 1 is "초기화":
                if arg 2 is set:
                    clear {칭호::%uuid of arg 2%}
                    send "{@s} %arg 2%&9님의 칭호가 초기화되었습니다"
                else:
                    SendTitleHelpMessage(player)
            else:
                SendTitleHelpMessage(player)
        else:
            send "{@s} 당신은 오피가 아니기에 이 명령어를 사용할 수 없습니다"

on chat:
    if {칭호::%uuid of player%} is set:
        set chat format to "%{칭호::%uuid of player%}% &r%player% &r: &r%message%"
    else:
        set chat format to "%player% : %message%"
 

기본적인 원리는, arg 3를 {칭호::%uuid of player%} 라는 플레이어마다 가지게 될 칭호 변수에 저장해서, 그 값을 닉네임 앞에 띄우는 원리입니다.

(+) 변수 이름 앞에 언더바(_)를 붙이면, 그 구문이 끝나면 삭제되는 변수가 됩니다.

 

1. replace all

첫번째로 여러분들이 모르실 것 같은 구문, replace all입니다.

 

replace all의 뜻은, 그냥 구문에 적은 변수에 있는 값을 다른 값으로 바꾼다는 뜻입니다.

구문의 구조는, replace all [바꿀내용] with [바뀔내용] in [변수]

의 형태입니다.

저는 이 구문을, &를 마인크래프트에서 색깔코드를 나타낼 때 쓰는 기호인 §로 바꾸어서, 칭호에 색을 넣을 수 있도록 만들었습니다.

 

2. set chat format

이것은, 채팅의 구조를 설정한다는 뜻입니다.

[칭호] [닉네임] : [채팅] 의 구조로 채팅을 만든것도 이 구문을 통해서 만든겁니다.

구문의 구조는,

set chat format to "~"

입니다.

 

 

주석이 포함되어있는 스크립트와 주석이 포함되지 않은 스크립트 둘 다 첨부해놨습니다. 필요하신분들은 쓰셔도 됩니다. 더 디자인을 하고싶거나 개편하고 싶은 부분이 있으신 경우, 2차수정은 허용합니다. 2차배포도 허용합니다. 다만, 출처는 남겨주시길 바라겠습니다.

 

↓ 칭호 스크립트 (주석포함)

↓ 칭호 스크립트 (주석 제외)

칭호.sk
0.00MB

쿨쿠리 마인크래프트 스크립트 기초 활용 강좌 1편은 여기서 끝입니다.

다음 시간에는, 상점 스크립트에 대해 알려드리겠습니다.

 

질문이 있으시다면, 이 글의 댓글 또는 질문카테고리 게시글의 댓글에 적어주시면 최대한 답변해드리겠습니다.

 

 

댓글