yusin_YT 1e0511f92377434a9f27b5724c29fbe3
게임버전 | 1.13.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x |
---|
네.. 접니당.. 저번에 사건을 기억하신다면 제 신뢰가 바닥을 칠 거 같지만 뭐, 전 결백하니 상관없습니당.
구현 방법
1. 스코어보드 A, B 두 개 생성
2. 스코어보드 B를 계속 1점수 추가
3. 스코어보드 B가 일정량이 되면 A에 1점 추가하고 B는 초기화
4. 스코어보드 A를 액션바에 띄움
쉽죠!
1. 스코어보드 A, B 두 개 생성
/scoreboard objectives add A dummy /scoreboard objectives add B dummy
이름이 'A'이고 명령어로만 조작 가능한 스코어보드를 추가
이름이 'B'이고 명령어로만 조작 가능한 스코어보드를 추가
2. 스코어보드 B를 계속 1점수 추가
execute as @a at @s run scoreboard players add @s B 1
만약 @a라는 선택인자가 있다면.. 그 엔티티 기준으로.. 자기자신에게 스코어보드B값에 1을 더한다.
as | 만약 <선택인자>가 있다면.. |
at | <선택인자>기준으로.. |
잠깐! execute as @a at @s run을 쓰는 이유!!!
바빰!!
1. scoreboard players add @s B 1
라고 쓴다면... @s의 선택인자가 정해지지 않았으므로 커맨드에 쓰일 시, 개체를 찾을 수 없습니다. 라는 문구 나와요!
2. 어떤 사람은 물을 마시고, 어떤 사람은 물을 마시지 않았는데, 물 마신 사람의 스코어보드 값이랑 마시지 않은 사람의 스코어보드 값과 같으면 안되기 때문!!
3. 스코어보드 B가 일정량이 되면 A에 1점 추가하고 B는 초기화
음... 대충 10초에 한 번씩 초기화 해볼까요??
20tick=1sec
200tick=10sec
scoreboard players add @a[scores={B=200..}] A 1
스코어보드 B의 점수가 200이상인 모든 플레이어에게 A점수를 1점 추가한다.
scores{Name=n} | Name이라는 스코어보드가 n점수.. |
scoreboard players set @a[scores={B=200..}] B 0
스코어보드 B의 점수가 200이상인 모든 플레이어에게 B점수는 0으로 설정한다.
빠밤!
set을 써도 되고!
reset을 써도 되요!!
set과 reset의 차이점은 예전 강의 해드렸을 때 알려줬으니 찾아보셔요!
4. 스코어보드 A를 액션바에 띄움
execute as @a at @s run title @a actionbar [{"text":"갈증 : ","color":"green"},{"score":{"objective":"A","name":"@s"}},{"text":"%"}]
만약 모든 플레이어가 있다면.. 그 플레이어 기준으로.. 갈증 : <자기자신의 스코어보드 A점수>% 를 녹색으로 액션바에 띄운다.
title강좌도 예전에 했었고!
tellraw강좌도 예전에 했었으니 보고 오면 이해가 되실꺼에요!!
마무리이~~
다음 커맨드 물을 마셧을 때 갈증 줄이기
질문은 댓글도 좋고!
디스코드도 좋아요!
상민#3372
unoob
2023.04.28( 대충 프리루트가 바빰 하는짤 )
yusin12
2023.04.28헉 프리루트님 너모 머쪄요><