개인 자료란 (JE)

  서버 커뮤니티

Profile 거너아나 전문해결사

Marlozing 75866ebd9ffa4b9ab322231112059268

Profile

질문하기 스크립트

스크 방패 범위

2022.04.25 조회 수 708 추천 수 0
이해도 중급자(필요한 애드온을 찾아서 만들 수 있어요) 
게임버전 (JE) 1.18.2 
게임버전 (BE) 관련없음 
스크립트 버전 2.6 
스크립트 애드온 SkBee, skDragon, Skellett, SkEtcR*, SkQuery, skRayFall, Skript, skUtilities* 

플레이어가 방패로 공격을 막는 이벤트는 존재하지 않기에 

on damage 구문에서 범위 안에 플레이어가 있으면 막은 판정을 내려 하는데

감이 잡히지가 않습니다 

어떻게 해야 할까요

방패는 플레이어가 향한 방향으로부터 최대 90도까지의 모든 방향(90도는 제외)에서 들어오는 공격을 막아준다. 즉, 플레이어 전방 방향 반구면을 거의 완전하게 막아준다.  - minecraft wiki




6개의 댓글

qsef1256
2022.04.26

https://skripthub.net/docs/?id=1143 의 예시 참고해보세요.

거너아나
2022.04.26
@qsef1256

만약 데미지를 받았을때 attacker가 어느 범위 안에 있어야 막은 걸 해야하는지 아니면 victim이 attacker가 보이면 막은걸로 해야 하는지 모르겠어서요

qsef1256
2022.04.26
@거너아나

굳이 직접 만드실꺼면 attacker가 victim 을 보면 공격한 걸로 처리하는 게 맞을 것 같긴 한데요, (victim은 attacker가 공격했다는 걸 찾아오는데 부적절합니다)

 

저기 링크 예시에 적혀있다시피


on damage of player:
  victim is blocking

이걸로 그냥 되는 걸로 보이거든요, 혹시 안되면 다시 적어주시고요.

거너아나
2022.04.27
@qsef1256

저 구문으로 하면 방패를 들고 있을때 뒤에서 때려도 저걸로 감지가 되서요

저게 공격이 막힌 판정이 아니라 방패를 들고 있는지 판정이라

qsef1256
2022.04.27
@거너아나

조금 대충(?) 돌아가자면 https://forums.skunity.com/threads/right-click-shield.7224/ 를 참고해서 방패를 들고 있는지 확인하는 변수를 만들어두는 방법이 있겠죠. (남아있을 이유가 없는 변수이므로 쌓이는 거 막으려면 반드시 clear)

 

근데 솔직히 이 방법은 그렇게 추천하고 싶지가 않네요, 이거 우회 할 수 있는 방법이 좀 있을꺼라

 

그래서, 플레이어가 공격을 막으면 방패가 데미지를 입게 되므로 그걸 감지해보시는 건 어떤지요?

qsef1256
2022.04.27
@거너아나

reflect 를 사용할 생각이 있으시다면 https://www.spigotmc.org/threads/playershieldevent.213997/ 를 한번 참고 해보시는 게 도움이 되실 것 같네요

뉴스 및 창작물
/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ?

팀뉴일리시

2024-11-23

3

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 5

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1