개인 자료란 (JE)

  서버 커뮤니티

Profile SeoRong 대표칭호 없음

Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea

Profile

강좌 자바 에디션(JE) 플러그인 개발

skript로 고퀄리티 귓속말을 구현해보자

2024.12.08 조회 수 336 추천 수 0
분야 스크립트 
장르 채팅 

# 사전 닉네임 설정 명령어

command /닉네임 [<player>] [<string>] :

 trigger:

  # 두 번째 인자가 제공된 경우

  arg-2 is set:

   # 첫 번째 인자와 두 번째 인자를 저장

   set {%arg-1%} to arg-2

   set {%arg-2%} to arg-1

   # 플레이어 닉네임을 설정하는 명령어 실행

   execute player command "nte player %arg-1% prefix §l&f[%arg-2%]" 

  else:

   # 잘못된 사용법 안내

   send message "/닉네임 [플레이어 이름] [수정할 닉네임]" to player


# 플레이어가 서버에 접속했을 때

on join:

 {%player%} is set:

  # 플레이어의 탭 목록과 표시 이름을 기존 설정에 맞춰 설정

  set tablist name of player to "[%{%player%}%]"

  set the player's display name to "&f%{%player%}%"

  # 플레이어 이름 매핑

  set {%{%player%}%} to player

 else:

  # 새로운 플레이어의 기본 설정 저장

  set {%player%} to player


# 채팅 이벤트 처리

on chat:

 {whisper.select.%player%} is not set:

  # 채팅 메시지 포맷 지정

  set message format to "<%{%player%}%> %message%"

  exit

 {whisper.send.%player%} is set:

  # 귓속말 전송 상태 설정

  set {whisper.select.%player%} to {%{whisper.select.%player%}%}

  delete {whisper.send.%player%}

 {whisper.select.%player%} is true:

  # 이벤트 취소 및 귓속말 처리

  cancel event

  set {whisper.select.%player%} to message

  {%{whisper.select.%player%}%} is not set:

   # 대상 플레이어가 없을 경우 작업 취소

   send action bar "&c해당 플레이어가 없어 귓속말 작업을 취소합니다." to player

   delete {whisper.select.%player%}

   exit

  # 귓속말 전송 상태 업데이트

  set {whisper.select.%player%} to message

  send action bar "&a현재 %{whisper.select.%player%}%님에게 귓속말 중 입니다. 메뉴를 열어 취소할 수 있습니다."

 else:

  # 귓속말 작업 중 오류 발생 시

  cancel event

  {%{whisper.select.%player%}%} is not set:

   send action bar "&c해당 플레이어가 없어 귓속말 작업을 취소합니다." to player

   delete {whisper.select.%player%}

   exit

  message is "취소":

   # 귓속말 작업 취소 처리

   send action bar "&c귓속말 작업을 취소합니다." to player

   delete {whisper.select.%player%}

   delete {whisper.send.%player%}

   exit

   

  # 귓속말 전송 메시지 출력

  send action bar "&a현재 %{whisper.select.%player%}%님에게 귓속말 중 입니다. 메뉴를 열어 취소할 수 있습니다."

  send message "&a%{whisper.select.%player%}% << %message%" to player

  

  op player

  # 귓속말 메시지에 명령 실행 옵션 추가

  set {_command} to "/tellraw %{%{whisper.select.%player%}%}% {""text"":""&a%{%player%}% >> %message%"",""color"":""green"",""clickEvent"":{""action"":""run_command"",""value"":""/답장 %player% pass""},""hoverEvent"":{""action"":""show_text"",""contents"":[{""text"":""누르면 해당 인원에게 귓속말을 보낼 수 있습니다."",""color"":""blue""}]}}"

  execute player command {_command}

  deop player


# 귓속말 명령어

command /귓속말 [<player>] :

 trigger:

   # 귓속말 대상 설정

   set {whisper.select.%player%} to arg-1

   send action bar "&a현재 %{%{whisper.select.%player%}%}%님에게 귓속말 중 입니다. &c취소 &a를 입력하여 중지할 수 있습니다."


# 답장 명령어

command /답장 [<player>] :

 trigger:

   # 답장 대상 설정

   set {whisper.select.%player%} to arg-1

   set {whisper.send.%player%} to arg-1

   send action bar "&a현재 %{%{whisper.select.%player%}%}%님에게 귓속말 중 입니다. &c취소 &a를 입력하여 중지할 수 있습니다."





Warning
댓글이 없습니다.

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

뉴스 및 창작물
/files/thumbnails/729/017/004/262x150.crop.jpg?20250326233109

업데이트

마인크래프트 자바 1.21.5 출시 (Minecraft Java 1.21.5 Released): 한국어 번역본

updater

2025-03-26

0

/files/thumbnails/202/016/004/262x150.crop.jpg?20250323230938

소식

Minecraft LIVE - 2025 March 내용 요약

노을넴

2025-03-23

1

/files/thumbnails/103/015/004/262x150.crop.jpg?20250321164817

업데이트

마인크래프트 1.21.5 릴리스 후보 (Minecraft 1.21.5 Release Candidate 1): 한국어 번역본

updater

2025-03-21

0

/files/thumbnails/612/009/004/262x150.crop.jpg?20250319182233

업데이트

마인크래프트 1.21.5 프리릴리스 (Minecraft 1.21.5 Pre-Releases): 한국어 번역본

updater

2025-03-12

0

/files/thumbnails/166/005/004/262x150.crop.jpg?20250306005107

업데이트

마인크래프트 스냅숏 25w10a (Minecraft Snapshot 25w10a): 한국어 번역본

updater

2025-03-06

0

/files/thumbnails/777/001/004/262x150.crop.jpg?20250301203925

모드

Create 6.0 업데이트 3

BMlight

2025-03-01

3

/files/thumbnails/378/000/004/262x150.crop.jpg?20250227221249

업데이트

마인크래프트 스냅숏 25w09b (Minecraft Snapshot 25w09b): 한국어 번역본

updater

2025-02-27

0