하일람
대표칭호 없음
6년 만에 마크 하는 거의 생초보나 다름 없는 유저입니다만 올만에 마크나 할까해서 다시 시작하네요.
제가 현재 커맨더를 이용한 엘레베이터를 만들고있는데 도착지점에서 블럭을 인식하고 제거해야되는 부분에서 막히고있습니다 ㅠ 현재
1. summon minecraft:falling_block -341 67 -199 {NoGaravity:1b,Time:10,Tags:["elev"]}
1번 블럭소환은 잘되고
2. execute as @e[tag=elev] at @s run tp @s ~ ~0.3 ~
2번 블럭이동또한 잘되고
3. execute as @e[tag=elev] at @s run tp ~ ~0.3 ~ 0 0
3 번 블럭으로 tp해서 엘리베이터로 올라가는거처럼 보이게끔 만드는거 까진했습니다.
y좌표 10정도 올라가서 -341 77 -199의 위치에서 엘리베이터를 멈추고 싶은데 어떻게 해야할까요?
포럼 돌아다니면서 소스를 구할려 해봐도 커맨드에 대한 자료는 거의없네요 ㅠ 있어도 너무옛날거고
도착지점 블럭인식후 제거 해야하는 4번째 구문은
execute if entity @a[x=-341,y=77,z=-199,distance=5] run kill @e[tag=elev] 해도 무반응이네요 어찌 해결봐야할까요?
SpringOnionEgg
2019.11.23초보자가 맞습니까 휴먼?
하일람
2019.11.23일주일전부터 약 6년만에 다시 시작하면서 여러가지 다시 알아보고있는데
커맨드 블럭 구문이 너무 바뀌어서 바뀐 명령어를 어디서 찾아봐야 할지 예시를 어디서 찾아봐야할지를 모르겠어서
그냥 닥치는대로 여러포럼 보면서 소스구해서 해보고 있는데 execute if ~ 구문으로 폴링블럭 인식이 안되는거 같아서 질문글 올린겁니다 ㅠㅠ
SpringOnionEgg
2019.11.23저는 커맨드블럭을 1.5.2이후로 해보질 않아서 매우 어려워 보이는군뇨 lol
책박사
2019.11.23커맨드 자료가 좀 적죠 ㅠㅠㅠㅠ
허두
2019.11.25@a[x=-341,y=77,z=-199,dx=0,dy=0,dz=0,distance=5] 하셔야합니다.
명령문에서 x,y,z만 써주시면 작동이 안됩니다. 꼭 dx,dy,dz를 붙여주셔야합니다.
(+TMI)
dx, dy, dz는 입력한 x,y,z 값으로부터 어느정도 떨어진 범위까지를 감지할지 정하는 구문입니다.
계산 방법은 x+dx, y+dy, z+dz 입니다.
x가 0일때, dx를 0으로 해두면 0일때만 감지하고, 1이면 0~1일때(소수 포함)를 감지합니다. (음수는 해본적 없습니다 ㅠㅠ)
그리고 dx,dy,dz 없이 x,y,z만 붙이면 오류가 납니다.
(+쓸데없는 오지랖)
플레이어를 인식하는 대신 elev 태그가 붙어있는 falling_block을 감지하는것은 어떨까요?
커맨드를 짤때 그런식으로 하는것이 알고리즘 학습에 더 도움이 됩니다. (뭐 물론 안그러셔도 됩니다)
허두
2019.11.25근데 위엣분 말대로
초보자가 맞습니까 휴먼?
progprag
2019.11.25초보자는 아닌 것 같아요 ㅎㅎ
하일람
2019.11.26답변 감사합니다
근데 말씀하신대로 dxyz 포함시키고 플레이어가아닌 엔티티를 감지하도록 했는데도 무반응이네요 ;;
해당 구문은 이렇습니다 반복적/무조건적/레드스톤필요
execute if entity @e[x=341,y=77,z=-199,dx=0,dy=0,dz=0,distance=5] run kill @e[tag=elev]
를 사용했는데도 무반응인건 마찬가지네요
허두
2019.11.27혹시 반복형 명령 블록 옆에 레드스톤 신호 안주신건 아니시겠죠..?
호오옥시나 레드스톤 신호가 없으시는걸 원하시면 레드스톤 필요를 항상 활성화로 바꿔주세요,,(이경우는 아니라 믿습니다)
전 실험결과 잘 되었습니다.
execute if entity @e[x=-134,y=93,z=190,dx=0,dy=0,dz=0] run say hi
여기서 위에 작성자님이 써주신 떨어지는 블록 소환 명령어로 소환해두고 실행해보니 메세지 잘 출력되더라고요.
(그리고 블록소환 명령어에 오타 있더라고요 NoGaravity->NoGravity)
하일람
2019.12.01레드스톤 블럭은 깔아뒀고,
run kill @e[tag=elev] 이게 문제가 있는건지 명령 실행을 안하네요
허두
2019.12.05distance에 문제가 있었던것 같습니다...
distance=5를 distance=..5로 바꿔주세요
솔양
2019.12.06이정도면 마크 고인물인데;;
Metathronius
2020.02.12execute if entity @a[x=-341,y=77,z=-199,distance=5] run kill @e[nbt:{NoGaravity:1b,Time:10,Tags:["elev"]}]
될지 안될지는 저도 모르겠지만, 이걸로 해보세여. 만약 저게 안된다면
execute if entity @a[x=-341,y=77,z=-199,dx:0.dy:0,dz:0,distance=..5] run kill @e[nbt:{NoGaravity:1b,Time:10,Tags:["elev"]}] 으로도 해보세여
PirmeOptimizerLav.
2020.04.09tp로하면 출력도배때문에 렉걸리던데....