개인 자료란 (JE)

  서버 커뮤니티

Profile 레일리시유 대표칭호 없음
Profile

질문하기 스크립트

월드 내 기존 몬스터의 db수정(?) 방법

2021.01.05 조회 수 1468 추천 수 0
이해도 1.16 
게임버전 (JE) 페이퍼 
스크립트 버전 입문자(아무것도 몰라요) 
스크립트 애드온 # version: 2.5.3 


 과거 1.8.1 버전에 플러그인으로 열심히 놀다가 한참동안 마인크래프트를 잊고 살다 다시 접하게 된 복귀입니다

친구들과 마인크래프트를 다시 해보기 위해 버킷을 이용해 서버를 열어 같이 플레이 해보려고합니다.

다만 이제는 플러그인이 아닌 스크립트를 이용해서 막 수정하더라구요

그래서 다시 배워보기 위해 열심히 해보던 중


on damage:

  victim is a player

  attacker is a zombie

  set damage to damage * 2


 로 좀비가 플레이어를 때릴 때 2배의 데미지가 들어가게끔 하게 되었습니다. 다만 플레이어 한정이였습니다

하지만 커맨드블럭으로 했을시

/summon zombie ~ ~ ~ {Health:200f,Attributes:[{Name:generic.max_health,Base:200},{Name:generic.follow_range,Base:150},{Name:generic.movement_speed,Base:0.2},{Name:generic.attack_damage,Base:10}]}

좀비의 체력200 / 인식거리150 / 이동속도0.2 / 모든개체에 대한 데미지10


가 되지만 소환된 좀비만 해당이 되었습니다


위를 서버가 구동되었을시 월드 내에 있는 모든 좀비에게 설정하려면 on damage외에 다른 스크립트를 적용 시켜주면 될까요?

아니면 예시문을 공부할 수 있는 것이 있을까요?


2개의 댓글

스크립터브혼
2021.01.05

on damage 이벤트는 엔티티가 공격당하거나, 피해를 입을 때 발생합니다.

해당 이벤트에서 사용하는 damage 익스프레션은 피격자의 방어력, 포션이펙트 등이 적용되지않은 공격자의 순수 피해량입니다.

다시말해, 공격자의 공격력 수식은 적용되었으나 피격자의 방어력 수식은 적용되지 않은 값입니다.

damage의 값을 두배로 늘리는것은 이 값을 두배로 증가시키는 것입니다.


명령어로 NBT를 수정하여 개체의 데미지를 늘리는것은 공격력 수식에 사용되는 개체 공격력을 증가시킴으로써 damage가 증가하게 됩니다.

다시말해, NBT를 수정한 개체는 수정된 데미지와 on damage이벤트의 공격력 두배가 모두 적용된다는 것 입니다.


모든 소환된 개체의 NBT를 수정하려면 NBT 편집을 지원하는 애드온을 사용해야합니다.

on damage 이벤트가 아닌 [On Spawn]에서 좀비가 소환 될 때 NBT를 수정하면 됩니다.

NBT를 사용하는 애드온은 [애드온 문서]를 참고하세요.

레일리시유
2021.01.05
@스크립터브혼

아하!

다른 방법으로 접근을 해야하는군요 감사합니다 :)