거너아나
전문해결사
Marlozing 75866ebd9ffa4b9ab322231112059268
이해도 | 1.16 |
---|---|
게임버전 (JE) | 버킷 |
게임버전 (BE) | 없음 |
스크립트 버전 | 입문자(아무것도 몰라요) |
스크립트 애드온 | 2.5.3 |
every 0.1 seconds:
loop all players:
if {시작} is 1:
loop blocks in radius 20 around loop-players:
if type of loop-block is magma block or lava:
add 1 to {온도.loop-players}
broadcast "1"
if {온도.loop-players} is 10:
set {온도.loop-players} to 0
add 1 to {체온.loop-players}
주변 20칸에 마그마블럭이나 용암이 있으면 온도를 1씩 올리고싶은데 왜 잘 안될까요
스크립터브혼
2021.01.14어떤게 안된다는건가요?
거너아나
2021.01.15이상하게 마그마 블럭이나 용암 바로 근처에 가면 명령어가 실행되지 않습니다
스크립터브혼
2021.01.15변수 안에 익스프레션을 쓸때는 %를 붙여야 합니다.
{온도.loop-players} => {온도.%loop-players%}
자세한 내용은 [예제분석3 - 변수의 종류와 쓰임]을 참고하세요.
거너아나
2021.01.16근데 저러면 저 메세지도 뜨지않나요?
스크립터브혼
2021.01.16가장 확실하게 확인할 수 있는 방법은 조건문 전에 조건문에서 비교할 값을 출력해서 확인해보는 것입니다.
> if {시작} is 1:
> if type of loop-block is magma block or lava:
> if {온도.loop-players} is 10:
조건문에 사용된 값들을 조건문 전에 메세지로 출력해보세요
> send "{시작}=%{시작}%" to console
> send "loop-block=%loop-block% / type of loop-block=%type of loop-block%" to console
> send "{온도.loop-players}=%{온도.loop-players}%" to console
거너아나
2021.01.16네 일단 해볼게요