개인 자료란 (JE)

  서버 커뮤니티

Profile SeoRong 대표칭호 없음

Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea

Profile

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

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

2024.12.08 조회 수 896 추천 수 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/163/234/004/262x150.crop.jpg?20260923044846

맵

오직 커맨드로 마인크래프트 안에 마인크래프트를 만들었습니다

Ice28_

2026-09-23

0

/files/thumbnails/345/223/004/262x150.crop.jpg?20260921131805

레드스톤

[영상] 마인크래프트 맵에서 야라라라 노트블럭 커버해보기

노트블럭전문가

2026-09-21

1

사진이 없습니다.

업데이트

마인크래프트 Wilderness Bound 9월 15일 출시 예정, 새 바이옴·버려진 캠프 정리 1

핫브리프

2026-09-15

0

사진이 없습니다.

건축

[영상] 노갑옷으로 깊은 동굴에서 100일 생존하기에 도전해 봤습니다!

FinnMC

2026-09-07

0

/files/thumbnails/217/223/004/262x150.crop.jpg?20260820140938

상품

《마인크래프트 놀라운 건축설계도》 출간!

다코미

2026-08-20

0

/files/thumbnails/429/222/004/262x150.crop.jpg?20260818120811

레드스톤

쿠션 LED 끝판왕 (고퀄리티인가)

지구12345

2026-08-18

0

/files/thumbnails/643/220/004/262x150.crop.jpg?20260812203705

모드

차량들 완료😄 [Minecity]

SHALDOPlus

2026-08-12

0