이해도 | 입문자 |
---|---|
게임버전 (JE) | 관련없음 |
게임버전 (BE) | 관련없음 |
커맨드 가지고 노는게 재밌어서 rpg게임 형식으로 만들어보려고 하는데
막히는 부분이 있어서 질문 드립니다!
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
tag @a[x=<>,y=<>,z=<>,distance=..<>,tag=!<태그>] add<태그> [반복/무조건/항상/] #일정 지역 들어가면 태그 설정
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
tag @a[x=<>,y=<>,z=<>,distance=<>..,tag=<태그>] remove <태그> [반복/무조건/항상/] #일정 지역 벗어나면 태그 삭제
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
execute as @a[x=<>,y=<>,z=<>,distance=..<>,tag=<태그>] run scoreboard players add @a <스코어 1> 1 [반복/무조건/레드스톤/] #일정 지역 들어오면 1틱
execute as @a[scores={<스코어 1>=20}] at @s run scoreboard players add @a <스코어 2> 1 [연쇄/조건/항상/] #1초
scoreboard players set @a <스코어 1> 0 [연쇄/조건/항상/] #스코어 1 초기화
execute as @a[scores={<스코어 2>=<시간>}] at @a run execute as @a store result score @s <스코어 3> run random value<랜덤 범위>..<랜덤 범위> [연쇄/조건/항상/] #일정 시간마다 랜덤 값 스코어 3에 저장
scoreboard players set @a <스코어 2> 0 [연쇄/조건/항상/] #스코어 2 초기화
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
execute as @a[scores={<스코어 3>=1..<범위>}] at @a run summon <몹> <좌표> {ArmorItems:[{id:"<아이템>",Count:1}],ArmorDropChances:[1.1f],DeathLootTable:"",CustomName:'{"text":"<몹 이름>","color":"red"},{Health:5}'} [반복/무조건/항상/] #원하는 몹 소환
scoreboard players set @a <스코어 3> 0 [연쇄/조건/항상/] #랜덤 값 초기화
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
execute as @a[scores={<스코어 3>=<범위>..<범위>}] at @a run summon <몹> <좌표> {ArmorItems:[{id:"<아이템>",Count:1}],ArmorDropChances:[1.1f],DeathLootTable:"",CustomName:'{"text":"<몹 이름>","color":"red"},{Health:5}'} [반복/무조건/항상/] #원하는 몹 소환
scoreboard players set @a <스코어 3> 0 [연쇄/조건/항상/] #랜덤 값 초기화
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
이런 식으로 짜봤는데 몹 체력양이 변하지 않는 것 같아서요 ㅠㅠ
몹이 플레이어 감지하는 범위도 조절 가능한지 여쭤보고 싶습니다!
혹시 간소화할 부분 있다면 알려주시면 정말 정말 감사하겠습니다!
부탁드립니다 ㅠㅠ
lanthanide
2024.08.24Health:5 가 CustomName 안에 들어가 있습니다. {ArmorItems:[], ... CustomName:'', Health:5} 형식이어야 하겠지요.
몹 인식 범위는 AttributeModifiers 에서 generic.follow_range 를 조정해야 하겠습니다. attribute 명령어를 따로 실행해줘도 되고요.
추가로, 1.21.2부터는 follow_range로 명칭이 바뀐다 합니다.