개인 자료란 (JE)

  서버 커뮤니티

Profile 랄라라룽 대표칭호 없음
Profile

질문하기 커맨드

스코어보드 값만큼 데미지 주기..

2023.08.20 조회 수 288 추천 수 0
이해도 중급자 
게임버전 (JE) 1.19.4, 1.20, 1.20.1 
게임버전 (BE) 관련없음 

안녕하세요 취미로 커맨드 하고 있는 그냥 사람입니다.

단도직입적으로 말씀드리면 damage 명령어 이용하는 것 말고 스코어보드 자체 값을 피해화 해서 데미지를 줄 수 있다고 들었던 것 같은데 이게 커맨드작인지 데이터 팩인지 기억이 안나네요.. 

가능하시다면 예시문 하나만 들어주면 감사하겠습니다

감사합니다.


5개의 댓글

김형원
2023.08.20

데이터팩이라면 재귀함수를 이용하시면 됩니다

만약 스냅샷이라면 매크로를 쓰시면 되고요

IRONBLOCK
2023.08.20
@김형원

재귀함수로 어떤식으로 하는지 자세하게 설명해주실 수 있나요?

김형원
2023.08.21
@IRONBLOCK

프로그래밍에서 기본적인 반복문의 구조는 다음과 같습니다

 

-----------------------------

 

for(int i = 0; i < 10; i++){

 

개쩌는 코드

 

}

 

-----------------------------

 

이를 풀어쓰면 다음과 같습니다

 

-----------------------------

 

int i = 0;

 

while(i < 10){

 

개쩌는 코드

 

i++;

 

}

 

-----------------------------

 

마인크래프트에서 조건문은 execute if로 쓸 수 있고 다시 실행하는건 재귀함수로 할 수 있습니다.

 

 

여기서 재귀함수가 뭔지 잘 모르는 사람을 위해 설명하자면 재귀함수는 "자기 자신을 실행하는 함수"입니다

 

아래와 같은 내용의 asdf.mcfunction이라는 함수가 있다고 생각해봅시다

 

-----------------------------

 

#asdf.mcfunction

 

function pack:asdf

 

-----------------------------

 

이때 asdf를 실행시키면 어떻게 될까요?

 

첫번째 실행된 asdf는 다시 asdf를 실행시킬 것입니다. 이때 실행된 asdf 역시 마찬가지로 asdf를 실행시킬 것입니다.

 

이런 식으로 무한하게 asdf가 호출되면서 결국 끝나지 않는 함수가 될 것입니다

 

다행히도 마크엔 1틱 안의 실행 횟수 제한이 있기에 영원히 안 끝나진 않습니다

 

 

다시 주제로 돌아와 반복문 이야기를 해봅시다

 

위에서 언급한 while문을 데이터팩으로 구현하면 아래와 같습니다

 

-----------------------------

 

#run.mcfunction

 

scoreboard players set i num 0

 

function pack:while

 

 

#while.mcfunction

 

개쩌는 코드

 

scoreboard players add i num 1

 

execute if score i num matches ..9 run function pack:while

 

-----------------------------

 

이제 한줄씩 설명해보자 run을 실행시키면 i를 0으로 만듭니다. while문 이전에 있는 int i = 0;과 같은 역할입니다.

 

이후 while함수를 살펴보면 개쩌는 코드 뒤에 i에 1을 더하고 i가 9 이하라면 다시 while을 호출합니다.

 

while(i < 10)에서 i < 10이 execute if인거죠. 스코어보드는 정수만 넣을 수 있기 때문에 i <= 9와 i < 10은 같은 조건이라고 봐도 무방합니다.

IRONBLOCK
2023.08.22
@김형원

아니아니 재귀함수는 대충 이해했는데 스코어보드 값으로 피해를 어케주는지 궁금해서요

김형원
2023.08.22
@IRONBLOCK

damage 명령어를 사용하시면 됩니다

"개쩌는 코드" 부분에 실행자에게 데미지를 주는 명령어를 넣으면 될거에요

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

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

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3