분야 | 스크립트 |
---|---|
게임버전 | 모든버전 |
안녕하세요! 해피입니다.
이번 해피의 스크립트 강좌 8번째 시간으로는 수리권 스크립트에 대해서 알아보는 시간을 갖도록 하겠습니다.
수리권은 일반 수리 스크립트와 다름점은 수리권을 얻어서 그 수리권 갯수가 있어야만 수리를 할 수 있는 시스템입니다.
그럼 바로 알아볼까요?
[ 스크립트 구문 ]
command /수리권 [<text>] [<text>]:
trigger:
if arg 1 is not set:
send "&f&l========== &e&l수리권 &f&l=========="
send "{@b} &f&l/수리권 확인 - 자신의 수리권 가능 횟수를 확인 합니다."
send "{@b} &f&l/수리권 하기 - 자신이 들고 있는 아이템을 수리 합니다."
send "&f&l========== &e&l수리권 &f&l=========="
if player has permission "op.op":
send "{@b} &f&l/수리권 추가 [닉네임] - [닉네임] 에게 수리권을 1 추가 합니다."
send "{@b} &f&l/수리권 초기화 [닉네임] - [닉네임] 에 수리권을 초기화 합니다."
if arg 1 is "확인":
send "{@b} &f&l당신이 소유하고 있는 수리권 횟수는 &b&l[ &f&l%{수리권.횟수.%player%}% &b&l] &f&l입니다."
if arg 1 is "하기":
if {수리권.횟수.%player%} is not set:
send "{@b} &f&l당신은 수리권을 소유하고 있지 않습니다 !"
stop
if {수리권.횟수.%player%} is set:
if player's tool is not air:
run player cmd "repair hand" as op
send "{@b} &f&l수리를 성공적으로 완료 하였습니다 !"
remove 1 from {수리권.횟수.%player%}
else:
send "{@b} 아이템을 들고 있어 주세요 !"
if {수리권.횟수.%player%} is 0:
delete {수리권.횟수.%player%}
if arg 1 is "추가":
if arg 2 is set:
if player has permission "op.op":
add 1 to {수리권.횟수.%arg 2%}
if arg 1 is "초기화":
if arg 2 is set:
if player has permission "op.op":
delete {수리권.횟수.%arg 2%}
[ 스크립트 설명 ]
command /수리권 [<text>] [<text>]:
trigger:
if arg 1 is not set: # /수리권 아무것도 입력하지 않았을 경우 , /수리권 만 입력했을 경우
send "&f&l========== &e&l수리권 &f&l=========="
send "{@b} &f&l/수리권 확인 - 자신의 수리권 가능 횟수를 확인 합니다."
send "{@b} &f&l/수리권 하기 - 자신이 들고 있는 아이템을 수리 합니다."
send "&f&l========== &e&l수리권 &f&l==========" # 메세지가 나오게 됩니다.
if player has permission "op.op": # 명령어를 입력한 유저가 op.op 펼미션이 있을 경우
send "{@b} &f&l/수리권 추가 [닉네임] - [닉네임] 에게 수리권을 1 추가 합니다."
send "{@b} &f&l/수리권 초기화 [닉네임] - [닉네임] 에 수리권을 초기화 합니다." # 메세지가 나오게 됩니다.
if arg 1 is "확인": #/수리권 확인 명령어 입력시
send "{@b} &f&l당신이 소유하고 있는 수리권 횟수는 &b&l[ &f&l%{수리권.횟수.%player%}% &b&l] &f&l입니다." #메세지를 입력합니다.
여기서 %{수리권.횟수.%player%}% 는 아래에서 수리권을 우클릭시 추가되는 변수 갯수가 몆개인지 알려주는 구문입니다. 아마 플레이어가 {수리권.횟수} 라는 구문이 3 있으면 '당신이 소유하고 있는 수리권 횟수는 [ 3 ] 입니다.'
if arg 1 is "하기": #/수리권 하기 입력시
if {수리권.횟수.%player%} is not set: #변수가 하나도 없을 경우
send "{@b} &f&l당신은 수리권을 소유하고 있지 않습니다 !" # 메세지 전송
stop
if {수리권.횟수.%player%} is set: #1 이라도 가지고 있을 경우
if player's tool is not air: #손에 든 아이템이 공기가 아니라면
run player cmd "repair hand" as op #수리 명령어 입력
send "{@b} &f&l수리를 성공적으로 완료 하였습니다 !" #수리됐다고 메세지 전송
remove 1 from {수리권.횟수.%player%} #수리권 변수 1 제거
else: # 만약 손에 든 아이템이 공기가 있다면
send "{@b} 아이템을 들고 있어 주세요 !" # 아이템을 들어달라는 메세지 전송
if {수리권.횟수.%player%} is 0: # 수리권 횟수가 0 일경우
delete {수리권.횟수.%player%} # 수리권 변수 초가화
if arg 1 is "추가": #/수리권 추가 입력시
if arg 2 is set: #/수리권 추가 닉네임 을 입력시
if player has permission "op.op": #op,op 펼미션이 있을 경우
add 1 to {수리권.횟수.%arg 2%} #닉네임 입력한 유저에게 1 의 수리권 지급
if arg 1 is "초기화": #/수리권 초기화 입력시
if arg 2 is set: #/수리권 초기화 닉네임 입력시
if player has permission "op.op": #op.op 펼미션이 있을 경우
delete {수리권.횟수.%arg 2%} #닉넹미 입력한 유저 변수 삭제
[ 이미지 설명 및 다운로드 ]
아이스틴
2019.12.29수리수리 마아수리(??)!!
해피
2019.12.30문열려라 참깨!
흔호
2020.01.04오 찾던 기능인데 감사합니다!
DDang_
2020.01.12추천입니다
이칠봉
2020.02.25혹시 실례가 안된다면 쪽지로 스크립트 관련 질문 드려도 될까요?
우섭
2020.03.09혹시 다음 강좌 gui될까요
마크러버
2020.03.30option undefined 이라고 뜨면서 리로드가 안되는데
제 생각에는 {@b} 이거 같은데 이 오류 어떻게 해결 해요???
gjo173
2020.06.01안되네요