개인 자료란 (JE)

  서버 커뮤니티

Profile 와아랄라 대표칭호 없음
Profile

질문하기 스크립트

테러방지 구문이 뭘까요?

2023.07.22 조회 수 92 추천 수 0
이해도 입문자 
게임버전 (JE) 1.20.1 
게임버전 (BE) 관련없음 
스크립트 버전 Skript-2.6.4 

테러방지를 하려하는 데 몇가지 막힌 게 있어서 물어봅니다


1. tnt 폭발을 막는 구문을 쓰려 했는데

on explode 를 사용하면 캔슬 이벤트는 되지만, 점화를 시킨 플레이어에게 경고 메세지를 부여할 수가 없어서 어떻게 구문을 짜면 좋을 지모르겠습니다

추가로 범위를 잡아서 메세지를 보내는 구문도 봤지만, 저는 점화를 시킨 플레이어한테만 메세지가 뜨게 하고 싶습니다



2. tnt를 점화시킨 순간부터 캔슬 이벤트를 시키고 싶은데, on explode는 터지기 직전에 캔슬이 돼서 조금 아쉽습니다

그래서 on rightclick을 이용하려는데, 단순히 맨손이나 관련 없는 아이템으로 우클릭을 한 게 아닌, 점화 관련 아이템(라이터, 화염구 등) 을 손에 들고 우클릭 했을 때 구문이 실행되게 하고 싶습니다

ㄴ 이 구문은 예전에 본 기억이 있는데, 지금 검색하니까 잘 안뜨네요..



3, 월드에딧 명령어로 소환하는 tnt 설치 명령어를 막고 싶은데 이건 감도 안잡히네요..



제가 질문한 구문 외에도 테러방지에 괜찮은 스크립트 구문이나 플러그인 알려주시면 감사하겠습니다




5개의 댓글

환타비
2023.07.22

1.점화 시킨 플레이어를 확인 하는 방법은 우클릭 했을때 그 블럭인 tnt인지를 확인 하는 구문을 적으시면 됩니다 2번째 줄 봐주세욧

 

2.먼저 라이터로 tnt를 우클릭 했을때 막는 명령어를 알려드리겠습니다

 

on rightclick with flint and steel: #라이터를 우클릭 했을때

@if event-block is tnt: 그 이벤트 블럭이 tnt 라면

@@cancel event 이벤트를 캔슬하고

@@set block to air 그자리에 있는 tnt 삭제

@@message "메세지" to player 플레이어한테 메세지 송출

 

이런 형식의 구문을 제작 할수 있습니다! 만약 오피만 가능 하게 하고 싶다면 라이터 우클릭 밑에다가 if player is not op 를 적어주시면 오피인 사람들은 tnt에 불을 붙일수 있게 됩니다 화염구 구문은 위에서 라이터 우클릭 구문을 변경해주시면 됩니다

 

3.월드에딧 으로 tnt 소환 금지 하는것은 on command 로 가능 합니다

 

on command "//set tnt": #채팅창에 //set tnt 를 쳤을떄

@if sender is not console: 콘솔에서 실행한게 아니라면

@@cancel event 이벤트를 캔슬 하고

@@message "tnt 소환 금지!" to player 플레이어 한테 메시지 송출

 

이런식으로 제작이 가능 합니다 //set tnt //set 45? 이런것도 밑에다가 만들어두시면 막기 가능 합니다!

@는 탭입니다!

와아랄라
2023.07.23
@환타비

명령어 같은 경우는 변수가 굉장히 많을텐데 그것도 다 감지를 할 수 있을까요?

예를 들어 //rep stone tnt 이런식이면 //rep 자체를 막지 않는 이상 tnt설치가 막히지는 않을 것 같아서

 

간접적으로 명령어를 막은 이유가 명령어를 사용한 블럭 설치는 아예 감지를 하지 못하나요?

환타비
2023.07.23
@와아랄라

그럴때는 앞에 명령어만 적어주시면 모든 명령어가 막힘니다!

 

위에 구문을 조금 수정해서

on command "//set": 이렇게 변경을 하시면 //set 관련 명령어를 사용할수 없습니다 위에 말씀 하신것처럼 //rep stone tnt 이것을 막을려면 전부 써야 하는것처럼 보이지만 on command "//rep" 이렇게 적어주시면 뒤에 문장을 써도 작동이 되지 않습니다

 

명령어를 사용해서 tnt를 설치 감지는 아쉽지만 제가알기론 힘들거나 없는걸로 알고 있습니다ㅠㅠ

xAQu
2023.07.23
@와아랄라

on command 이벤트에서 사용한 명령어에 tnt 가 포함 되어있으면 캔슬 시켜주세요

와아랄라
2023.07.24
@xAQu

포함시키는 구문이 어떤건가요????