개인 자료란 (JE)

  서버 커뮤니티

Profile SeoRong 대표칭호 없음

Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea

Profile

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

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

2024.12.08 조회 수 837 추천 수 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/632/197/004/262x150.crop.jpg?20260616133717

모드

Modrinth, Spark Universe와 합병하다.

BMlight

2026-06-16

0

/files/thumbnails/411/194/004/262x150.crop.jpg?20260606030535

이벤트

🎮 2026 군산 아마추어 e스포츠대회 참가자 모집! 🎮

MineStar

2026-06-04

0

사진이 없습니다.

소식

모장 인증서버 다운 6

명이

2026-06-03

0

/files/thumbnails/535/193/004/262x150.crop.jpg?20260601150848

건축

세탁소 컨텐츠 세트장 5

팀뉴일리시

2026-06-01

2

/files/thumbnails/340/187/004/262x150.crop.jpg?20260505002707

아티클

AI 검사기 디지털 시대에서 Minecraft 콘텐츠 진정성 향상

hicoyo

2026-05-05

0

사진이 없습니다.

아티클

초보자가 반드시 피해야 할 흔한 마인크래프트 실수들

hyunwooo

2026-05-04

3

/files/thumbnails/942/184/004/262x150.crop.jpg?20260426202012

건축

마인크래프트 리조트 건축 2

SHALDOPlus

2026-04-26

2