지정한 범위 안에 감지된 플레이어만 티피를 되게할려면 @s를 쓰는게 맞나요? @s 쓰니까 커맨드가 작동을 안해서 반복 무조건적 execute as @s[x=225,y=43,z=174,dx=15,dy=-20,dz=13] run say @s 감지되었습니다 연쇄 무조건적 tp @s 200 45 170 이렇게 하는게 맞나요?
여기서 알아두셔야하는건 as의 역할입니다. as는 커맨드 실행 대상을 as 뒤에 있는 대상으로 바꿉니다 as @s는 아무 의미가 없습니다 as @s를 쓰든 안 쓰든 커맨드 실행 대상은 자기 자신이기 때문이죠 as @a[~~~] 이렇게 쓰면 @a 때문에 모든 플레이어가 커맨드 실행 대상이 된다고 생각하실 수 있는데, 대괄호 안에 있는 조건이 맞는 사람만 대상이 됩니다 즉, 범위 안에 감지된 사람만 tp시키려면 execute as @a[~~~] run tp @s 좌표 이런 식으로 쓰시면 되겠습니다 그리고 연쇄형으로 설치한 커맨드도 똑같습니다 tp @s로 하면 실행 대상이 커맨드블록이라서 작동이 안 됩니다 앞부분에 다른 효과를 넣고 뒷부분 연쇄형 커맨드 블록으로 tp를 하시려면 execute as @a[~~~] run tp @s 좌표 이런 식으로 쓰셔야합니다
스코어보드를 만들고, 스코어보드 점수를 초기화하는 커맨드를 가장 먼저 반복형 커맨드 블록에 실행시키고, 연쇄형 커맨드 블록으로 플레이어가 그 스코어보드에 1점씩 더하게 만듭니다 그러면 플레이어가 1명이면 점수가 1점이 되고, 2명이면 2점이 되겠죠 특정 점수가 되었을 때를 감지해서 커맨드를 작동시키시면 됩니다
tag가 setting인 엔티티에게 그 자리에서 tag가 timing인 인트렉션을 소환하고 tag가 setting인 엔티티에게 스코어보드(number_inte)에 1을 더합니다. 그러고 나서 tag가 setting인 엔티티에서 0.5칸 이내의 엔티티, 즉 자신이 소환한 인트렉션이 1을 말하게 하는 커맨드입니다. 두 번째 줄까지는 작동하나, 마지막 부분이 작동하지 않습니다. 왜 실행하지 않는지 알려주실 수 있나요? execute as @e[tag=setting] at @s run summon minecraft:interaction ~ ~ ~ {width:1.0f,height:0.1f,Tags:["timing"]} execute as @e[tag=setting] at @s run scoreboard players add @s number_inte 1 execute as @e[tag=setting] as @e[distance=..0.5] at @s run say 1
제가 대신 답변해주겠습니다. execute unless entity @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run kill @e[type=(몹)]의 형식입니다 execute unless entity가 말을 듣지 않는 것은 명령어 형식또는 구성이 잘못되거나 마크의 버그일수도 있습니다
포마인님 제가 만들게있는데 잘 작동이 안되서 물어봅니다 버전:[1.21] 플레이어 주변에 몹이 여러마리 있는데 최대 2칸 범위(플레이어 기준) 이내에 있으면 감지하고 싶어요 근대 개체는 하나만요 근대 이렇게 작성했는데 감지가 않되요. 도와주세요 (참고 Minghi라는 엔티티는 플레이어 닉네임이다) execute as @e[type=minecraft:player] at @s if entity @e[type=!minecraft:text_display,type=!minecraft:armor_stand,type=!minecraft:marker,type=!minecraft:item_display,type=!item,type=!minecraft:arrow,type=!minecraft:breeze_wind_charge,type=!minecraft:snowball,type=!minecraft:egg,type=!minecraft:eye_of_ender,type=!minecraft:fireball,limit=1,distance=0..2] run execute at @e[type=!minecraft:player,type=!minecraft:block_display,type=!minecraft:text_display,type=!minecraft:armor_stand,type=!minecraft:player,type=!minecraft:marker,type=!minecraft:item_display,type=!item,type=!minecraft:arrow,type=!minecraft:breeze_wind_charge,type=!minecraft:snowball,type=!minecraft:egg,type=!minecraft:eye_of_ender,type=!minecraft:fireball] at @s run tp @s[type=!minecraft:player] ~ ~ ~ facing entity Minghi
대충 엔티티가 플레이어 기준 2칸 안에 들어오면 플레이어를 바라보게 하는 명령어 같은데... 어떤 명령어인지 구체적으로 설명해 주실 수 있나요? 그리고 '개체는 하나만요'라는 뜻은 2칸 안에 들어온 엔티티 중 딱 1개의 개체에게만 적용시키는 건가요? 만약 그렇다면 그 기준은 플레이어에게서 더 가까운 엔티티가 적용되는 건가요?
execute as @a at @s as @e[type=!긴~~거,limit=1,distance=..2] at @s run tp @s[type=!minecraft:player] ~ ~ ~ facing entity Minghi 이렇게 하시면 될 거 같네요. execute run execute run execute run tp...... 이런 식으로 익스큐트 안에 익스큐트를 여러 번 반복하실 필요는 없습니다 만약에 플레이어와 가장 가까운 개체 하나만 대상으로 하려면 limit=1뒤에 sort=nearest를 추가하시면 되겠습니다
execute at @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run summon minecraft:arrow ~ ~2 ~ 의 형식입니다 감지되면 대상의 머리 위로 화살이 게속됩니다 한번만하실거면 반응형에 execute at @a run summon minecraft:arrow ~ ~2 ~를 입력하고 setblock으로 레드스톤 블럭을 소환하면되고 이때 반복형의 형식은 execute if entity @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run seblock (반응형뒤의 좌표) redstone_block 그리고 연쇄형은 execute unless entity @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run seblock (반응형뒤의 좌표) air 입니다.
execute as @e[nbt={CustomName:'{"text":"이름"}'}] run 원하는 커맨드 이런 식으로 특정 이름이 있는 몹을 감지해서 커맨드를 작동시키면 될 것 같습니다 특정 몹으로 제한을 두려면 대상 선택 인자에 type을 넣으면 되고요 예) execute as @e[type=엔티티 종류,nbt={CustomName:'{"text":"이름"}'}] run 원하는 커맨드 그게 아니라 이름표를 사용했을 때를 감지하려면 아래의 커맨드를 입력해 스코어보드를 만들면 /scoreboard objectives add 스코어보드 이름 minecraft.used:minecraft.name_tag 이름표를 사용할 때마다 1점씩 올라가니 그 점수를 감지하면 되겠습니다
제가 대신 답변해주겠습니다 블럭의 범위감지대신 아머스탠드(갑옷거치대)를 사용하면 됩니다 우선 아머스탠드인데 NBT를 넣어줄것입니다 /summon minecraft:armor_stand (신호기위 좌표) {Tags:["(태그)"],NoGravity:1b,Invisible:1b} 그리고 그 아머스탠드를 기준으로 범위를 설정하면됩니다 execute as @e[tag=(아머스탠드의 태그)] at @s if entity @e[type=minecraft:player,distance=범위] run (명령어) 의 형식입니다 알람이니 playsound를 사용하길 권장드립니다.
만약에 범위를 아래의 방식으로 만드셨다면 ...... as @a[distance=..4] ...... 아래의 방식으로 바꾸면 됩니다 ...... as @a unless entity @s[distance=..4] ...... 모든 플레이어를 대상으로 4칸 안에 없을 때를 감지합니다
구역에 들어갔을 때 플레이어에게 태그 부여하기 > 조건적 연쇄형 커맨드 블록으로 태그가 부여될 때 타이틀 띄우기 태그 명령어는 태그가 이미 있는 사람에겐 작동하기 않기 때문에 이렇게 사용하면 타이틀이 한 번만 나올 겁니다 구역에 들어갈 때마다 타이틀을 띄우고 싶으시면 구역 밖으로 나갔을 때 태그를 없애면 되겠죠
스코어보드 중에 deathCount라는 것이 있는데 deathCount는 플레이어가 죽으면 플레이어 점수가 1씩 올라감니다. 이 스코어보드가 특정한 플레이어 점수가 1이 되면 초기화시키고 초기화하기 직전에 감지할수있고 보상은 /give로 하거나 /summon item ~ ~ ~ {(NBT)}로 할수있지만 이것은 맵을 만들떄에는 적절하지 않고 다른 방법도 설명 드리겠습니다. 시작하기에 앞서 스코어보드 3개를 만듬니다. /scoreboard objectives add a1 dummy /scoreboard objectives add a2 dummy /scoreboard objectives add death deathCount 다 만드셨다면 총 반복형 커맨드 3개를 옆으로 나란히 설치합니다 저는 이 반복형 커맨드에 번호를 부여할것입니다 총 [1] [2] [3] 요렇게 번호를 부여할거고요. 이제 [1]번 반복형 커맨드에 이 명령어를 입력하세요 [1]반복형:scoreboard players set @r[score_a1=0] a1 1 그리고 [1]반복형 뒤에 연쇄형을 설치하는데 조건적으로 설정하시고 이 명령어를 입력하세요. [1]연쇄형(조건적):scoreboard players add @a a2 1 그리고 이제 [2]로 갑시다. 반복형에 입력하세요 [2]반복형:/scoreboard players set @a[score_death_min=1] a1 0 그리고 [2]뒤에 조건형 연쇄형 커맨드를 설치하고 입력하세요. [2]연쇄형(조건적):/scoreboard players set @a[score_death_min=1] death 0 그리고 [2]연쇄형뒤에 또 연쇄형커맨드를 설치 조건적으로 설치하고 입력하세요 [2]연쇄형(조건적):/scoreboard players remove @a a2 1 그리고 게임 시작할 부분에 발판을 설치하고 그것을 밟으면 진행장소에 /tp @a (진행 장소 위치)를 발판아래에 반응형커맨드를 설치 이 명령어를 입력하시고 연쇄형 커맨드에 /setblock [1커맨드의 뒷 좌표) redstoun_block을 입력하세요 밟는순간 시작되는 명령어입니다. 그리고 [1]커맨드에 연쇄형 무조건적으로 설정된 커맨드를 설치하고 입력하세요 [1]연쇄형(무조건적):/execute if entity @a[score={a2_min=2}] [1]연쇄형(조건적):/setblock ([3]좌표 )minecraft:redstone_block [1]연쇄형(조건적): /setblock ([1]좌표) minecraft:air 그리고 [3]으로 넘어가서 [3]반복형:/execute if entity @a[score={a2_min=1},score={a2=1}] [3]연쇄형(조건적):/title @a title {"selector":"@a[score={a1_min=1}]"} [3]연쇄형(조건적):/scoreboard players set @a a1 0 [3]연쇄형(조건적): /scoreboard players set @a a2 0 [3]연쇄형(조건적): /setblock ([3]좌표) minecraft:air 이 구조 입니다 이해가 않되신다면 답변해주세요 정서스럽게 대답해주겠습니다
알고싶은 정보, 깔끔하게 전달해주셔서 좋습니다
구독하고 갑니다
구독 감사합니다!
궁금했었는데 깔끔해서 배우기 쉽네요 감사합니당
안녕하세요 늦었지만 혹여나 댓글 남겨봅니다.
혹시 @a가 아닌 한 대상에게만 run을 적용하는 방법이 없을까요?
예를 들어 A는 들어가도 되지만 B는 들어가면 run을 적용시킬 수 있게요
현재 @a가 아닌 한 사람만 지정하면 커맨드가 작동하지 않습니다.
특정 플레이어에게만 명령어를 작동시키려면 그 플레이어에게 태그를 부여하고, @a[tag=태그] 이렇게 대상을 지정하면 됩니다
@@포마인 헐 깔끔하고 쉽게 설명해주셔서 감사합니다 구독 박았습니다!
@@포마인 지인짜 죄송한데 엔티티가 아닌 플레이어에게는 태그를 어떻게 붙이나요? 😅
@@빵로버_929 tag 명령어를 사용하시면 됩니다
혹시 엔티티가 범위 안에 있다가 범위안에서 몬스터가 죽었는때 작동되는 커맨드가 있나요?
지정한 범위 안에 감지된 플레이어만 티피를 되게할려면 @s를 쓰는게 맞나요? @s 쓰니까 커맨드가 작동을 안해서
반복 무조건적 execute as @s[x=225,y=43,z=174,dx=15,dy=-20,dz=13] run say @s 감지되었습니다
연쇄 무조건적 tp @s 200 45 170
이렇게 하는게 맞나요?
여기서 알아두셔야하는건 as의 역할입니다.
as는 커맨드 실행 대상을 as 뒤에 있는 대상으로 바꿉니다
as @s는 아무 의미가 없습니다
as @s를 쓰든 안 쓰든 커맨드 실행 대상은 자기 자신이기 때문이죠
as @a[~~~] 이렇게 쓰면 @a 때문에 모든 플레이어가 커맨드 실행 대상이 된다고 생각하실 수 있는데, 대괄호 안에 있는 조건이 맞는 사람만 대상이 됩니다
즉, 범위 안에 감지된 사람만 tp시키려면
execute as @a[~~~] run tp @s 좌표
이런 식으로 쓰시면 되겠습니다
그리고 연쇄형으로 설치한 커맨드도 똑같습니다
tp @s로 하면 실행 대상이 커맨드블록이라서 작동이 안 됩니다
앞부분에 다른 효과를 넣고 뒷부분 연쇄형 커맨드 블록으로 tp를 하시려면
execute as @a[~~~] run tp @s 좌표
이런 식으로 쓰셔야합니다
지정한 범위안에서 플레이어가 몇명이
있는지 감지할수 있는 방법이 있나요?
만약에 있다면 해당 수만큼 플레이어가 있으면 커맨드가 감지할수 있는 방법이 있나요?
스코어보드를 만들고, 스코어보드 점수를 초기화하는 커맨드를 가장 먼저 반복형 커맨드 블록에 실행시키고, 연쇄형 커맨드 블록으로 플레이어가 그 스코어보드에 1점씩 더하게 만듭니다
그러면 플레이어가 1명이면 점수가 1점이 되고, 2명이면 2점이 되겠죠
특정 점수가 되었을 때를 감지해서 커맨드를 작동시키시면 됩니다
반복되지않고 한번만 실행되고 그 자리에 또 갈때마다 발동되게 할수 있나요..?
레드스톤 필요로 하고 레드스톤 블럭을 설치해 둔 다음 명령어가 실행되면 조건 연쇄 커맨드로 레드스톤 블럭을 삭제하고 또 다른 반복 커맨드로 그 범위 안에 없는걸 감지한다음 조건 연쇄 커맨드로 레드스톤 블럭을 설치하게 하면 될거에요
옛날 게시물이지만
혹시 자신 주변에 있는 플레이어를 감지할수 있을까요?
tag가 setting인 엔티티에게 그 자리에서 tag가 timing인 인트렉션을 소환하고
tag가 setting인 엔티티에게 스코어보드(number_inte)에 1을 더합니다.
그러고 나서 tag가 setting인 엔티티에서 0.5칸 이내의 엔티티, 즉 자신이 소환한 인트렉션이 1을 말하게 하는 커맨드입니다.
두 번째 줄까지는 작동하나, 마지막 부분이 작동하지 않습니다. 왜 실행하지 않는지 알려주실 수 있나요?
execute as @e[tag=setting] at @s run summon minecraft:interaction ~ ~ ~ {width:1.0f,height:0.1f,Tags:["timing"]}
execute as @e[tag=setting] at @s run scoreboard players add @s number_inte 1
execute as @e[tag=setting] as @e[distance=..0.5] at @s run say 1
as @e[tag=setting] 뒤에 at @s을 안 붙여서 그런 것 같습니다.
execute as @e[tag=setting] at @s as @e[tag=timing,distance=..0.5] at @s run say 1
이렇게 해보세요
그 인식하고 명령어 적으면 예를 들어서스폰evovation_fang하면 인식한곳에 송곳니가 만들어 지나요?
아니요, 인식한 곳에서 소환되는 것이 아니라 명령어가 실행된 곳(커맨드 블록) 위치에서 소환됩니다
인식한 곳에서 명령어를 작동시키려면 as @a[......] 뒤에 at @s을 적으시면 될 겁니다
@@포마인 네 감사합니다.
제가 랠름서버를 열면서 약탈금지라고했는데도 어떤사람들이 상자를 털어서 누구인지 몰라서 속터지더라구여 너무스트레스 받았는데 이커맨드를 사용하면 좋겠다싶은데요 커맨드블런에 접근한사람이름이 내역에 남나요? 안남는다면 남게할수있는방법이있나요?
특정 범위에 들어간 사람에게 스코어보드 점수를 부여하면 될 것 같습니다
나중에 스코어보드 점수를 확인했을 때, 점수가 있는 사람이 범인이겠죠?
커맨드를 한번만 작동시킬순 없나요..?
주변에 다가가면 say 명령어로 대사를 띄울건데..반복 명령어 밖에 안되서 대사가 반복해서 나오네요..ㅎ
주변에 다가가면 tag명령어를 이용해 태그를 붙이고, 그 뒤에 조건적 커맨드를 실행해 say를 띄우면 될 것 같습니다.
@@포마인 설명 깔끔하시네 ㄷㄷ
@@포마인 제가 태그 명령어 관련을 몰라서 그런데 커맨드 예시등이 있을까요..ㅠㅠ
혹시 범위 안에 플레이어가 들어오면 채팅에 그 플레이어 닉네임이 나오게 하는법 있나요?
시뮬레이션 거리에 닿지 않으면 명령어가 작동하지 않나요?
대상이 플레이어 근처 범위 내로 왔을 때 발동하려면 어떻게 해야 하나요?
execute at 닉네임 as @e[distance=..1] run damage @n[tag=!태그] 1
이런 식으로 하긴 했는데 범위 상관 없이 가까운 대상이 그냥 데미지 입더라구요
execute at 닉네임 run damage @n[tag=!태그,distance=..1] 1
이렇게 입력해보세요
@@포마인 보니까 영상중에 따로 있었는데 못봤었네요
아무튼 감사합니다
안녕하세여..지정된 곳에 플레이어가 없을 시 몹이 죽게 만들 순 없을까여?? excute unless entity는 말을 듣지 않습니다..제발 도와주실 수 있습니까???
제가 대신 답변해주겠습니다.
execute unless entity @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run kill @e[type=(몹)]의 형식입니다
execute unless entity가 말을 듣지 않는 것은 명령어 형식또는 구성이 잘못되거나 마크의 버그일수도 있습니다
@a[x=,y=,z=] 에서 지정한 범위에 없을때는 어떻게 커맨드를 만드나요?
제가 대신 답변해주겠습니다
execute unless entity @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run (명령어)
입니다
자신이 지정한 방향을 보면 활성화 되는 커맨드는 없나요?
방향이 특정 좌표를 말하시는 건가요 머리 각도를 말하시는 건가요?
@@포마인포마인님 특정 좌표는 어떤 명령어쓰는 지좀 알려주세요
플레이어를 기준으로 가까이에있는 몬스터를 감지하는법이 있나요?
ua-cam.com/video/9NUm8rDQflc/v-deo.htmlsi=y2ysuXgeOVGohPO1
이 영상을 참고해 보세요
감사합니다 뭐 만드려했는데 덕분에 해결됐어요!
범위 내의 엔티티에게만 커맨드를 작동시키는 것을 어떻게하죠?
커맨드 작동 대상을 @s로 하면 됩니다
기준점을 엔티티로 둘수는 없나요?
기준점을 엔티티로하시려면 execute 뒤에 at 엔티티 라고 적으시면 됩니다
이거 베드락은 안되나요?
(나를 기준으로 뱅글 뱅글 도는 갑옷거치대)에게 가까이 오면 대미지를 주고싶은데요... 어떻게 해야해요? ( )안에 있는건 했다는 뜻이에요
제가 그거 찾느라 고생했거든요
@@강레밀 execute at 갑옷거치대
이걸로 커맨드 실행 위치를 갑옷 거치대로 바꾸고,
damage @e[distance=범위]를 사용하시면 될 것 같습니다
커맨드를 두개 이상 사용할 순 없나요? 두개 사용할려 하는데 작동이 안되네요
똑같은 커맨드에 맨 뒷부분만 다르게 하면 될텐데...
혹시 사용하셨던 커맨드를 복사해서 올려주실 수 있으신가요?
@@포마인 아 고쳤습니다 늦게라도 답글 달아주셔서 감사합니다!!
포마인님 제가 만들게있는데 잘 작동이 안되서 물어봅니다
버전:[1.21]
플레이어 주변에 몹이 여러마리 있는데 최대 2칸 범위(플레이어 기준) 이내에 있으면 감지하고 싶어요 근대 개체는 하나만요
근대 이렇게 작성했는데 감지가 않되요. 도와주세요
(참고 Minghi라는 엔티티는 플레이어 닉네임이다)
execute as @e[type=minecraft:player] at @s if entity @e[type=!minecraft:text_display,type=!minecraft:armor_stand,type=!minecraft:marker,type=!minecraft:item_display,type=!item,type=!minecraft:arrow,type=!minecraft:breeze_wind_charge,type=!minecraft:snowball,type=!minecraft:egg,type=!minecraft:eye_of_ender,type=!minecraft:fireball,limit=1,distance=0..2] run execute at @e[type=!minecraft:player,type=!minecraft:block_display,type=!minecraft:text_display,type=!minecraft:armor_stand,type=!minecraft:player,type=!minecraft:marker,type=!minecraft:item_display,type=!item,type=!minecraft:arrow,type=!minecraft:breeze_wind_charge,type=!minecraft:snowball,type=!minecraft:egg,type=!minecraft:eye_of_ender,type=!minecraft:fireball] at @s run tp @s[type=!minecraft:player] ~ ~ ~ facing entity Minghi
대충 엔티티가 플레이어 기준 2칸 안에 들어오면 플레이어를 바라보게 하는 명령어 같은데...
어떤 명령어인지 구체적으로 설명해 주실 수 있나요?
그리고 '개체는 하나만요'라는 뜻은 2칸 안에 들어온 엔티티 중 딱 1개의 개체에게만 적용시키는 건가요?
만약 그렇다면 그 기준은 플레이어에게서 더 가까운 엔티티가 적용되는 건가요?
@@포마인 네 맞습니다 가장 가까운 엔티티를 감지하고 투사체와 아머스텐드등 감지용 앤티티는 제외하고요.
execute as @a at @s as @e[type=!긴~~거,limit=1,distance=..2] at @s run tp @s[type=!minecraft:player] ~ ~ ~ facing entity Minghi
이렇게 하시면 될 거 같네요.
execute run execute run execute run tp......
이런 식으로 익스큐트 안에 익스큐트를 여러 번 반복하실 필요는 없습니다
만약에 플레이어와 가장 가까운 개체 하나만 대상으로 하려면 limit=1뒤에 sort=nearest를 추가하시면 되겠습니다
@@포마인 굳이 여러번 쓸필요가 없군요!
감사합니다
혹시 엔티티 범위 안에 지정된 블럭을 감지하는 명령어가 있을끼요??
게임을 만들고 있는데
벽을 감지하는 명령어를 모르겠어요 ㅠ
ua-cam.com/video/-nUiMWwo9Q4/v-deo.html
이 영상을 참고하시는 건 어떨까요?
자신보다 앞에있는 엔티티만 감지하려면 어떻게 해야하나요?
ua-cam.com/video/9NUm8rDQflc/v-deo.html
이 영상을 참고해보시면 좋을 것 같습니다
x좌표가 1이 아닐때 위더효과를 주는 커맨드는 어떻게 만드나요?
제가 보기엔 X가 1를 감지하는 커맨드 좀 어려우실수 있는데 스코어보드를 store로 좌표 연동으로 하고 그 점수를 감지하면됩니다
범위 안에서 엔티티가 인식되고 나서 그 범위에서 나가면 전에 작동된 커맨드가 멈추게 하는건 어떻게 하나요
범위 안에 있을 때만 커맨드가 작동하기 때문에 범위 밖으로 나가면 자동으로 커맨드가 멈추게 됩니다
2명을 감지할수 있나요?
2명이 있을 때를 감지하려면 1명이 들어갔을 때 점수를 1점 더해서 점수가 2점일 때를 감지하면 되겠습니다
단, 점수를 더하는 커맨드가 계속 작동하면 1명이 있을 때도 2점 이상이 될 수 있으니, 점수를 더하기 전에 점수를 0점으로 초기화하는 커맨드를 넣어야겠죠
혹시 특정 플레이어의 스코어 점수 말고 스코어보드 자체의 점수를 감지할수 있나요?
플레이어가 특정 구간에 들어가면 1점, 나오면 2점, 이런식으로 해서 2명이 들어가면 2점이 되니까 2점을 감지하는걸 만들려구요@@포마인
@@bedducks네 그냥 scoreboard players add .아무이름 스코어보드 1
이렇게 하셔도 점수가 올라갑니다
점수를 감지하실 때는
execute if score .아무이름 스코어보드 matches 2 run 커맨드
이런 식으로 하시면 될 겁니다
z좌표만 설정할순 없는건가요?
z좌표만 감지하려면 execute store를 사용해 엔티티의 z좌표를 스코어보드에 저장하고, 그 값을 비교하는 식으로 감지 가능합니다
좁은 공간이라면 dx, dy를 써서 범위를 늘리면 될 것 같습니다
@@포마인 execute store를 사용해 엔티티의 z좌표를 스코어보드에 어떻게 저장하는지 알 수 있을까요?
플래이어 위치를 감지해서 그 위치로 화살을 날리는 방법을 알려주세요
execute at @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run summon minecraft:arrow ~ ~2 ~
의 형식입니다 감지되면 대상의 머리 위로 화살이 게속됩니다 한번만하실거면
반응형에 execute at @a run summon minecraft:arrow ~ ~2 ~를 입력하고 setblock으로 레드스톤 블럭을 소환하면되고
이때 반복형의 형식은 execute if entity @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run seblock (반응형뒤의 좌표) redstone_block
그리고 연쇄형은 execute unless entity @a[x=(좌표),y=(좌표),z=(좌표),dx=0,dy=0,dz=0] run seblock (반응형뒤의 좌표) air
입니다.
혹시 특정 몹에게 이름표를 사용했을때 감지하는 그런 명령어있을까요?
execute as @e[nbt={CustomName:'{"text":"이름"}'}] run 원하는 커맨드
이런 식으로 특정 이름이 있는 몹을 감지해서 커맨드를 작동시키면 될 것 같습니다
특정 몹으로 제한을 두려면 대상 선택 인자에 type을 넣으면 되고요
예)
execute as @e[type=엔티티 종류,nbt={CustomName:'{"text":"이름"}'}] run 원하는 커맨드
그게 아니라 이름표를 사용했을 때를 감지하려면 아래의 커맨드를 입력해 스코어보드를 만들면
/scoreboard objectives add 스코어보드 이름 minecraft.used:minecraft.name_tag
이름표를 사용할 때마다 1점씩 올라가니 그 점수를 감지하면 되겠습니다
@@포마인 감사합니다!!!
자연스럽게 tp는 못하나요?
자연스럽게 tp라는 말이 무엇인지 더 구체적으로 말해주실 수 있나요?
신호기 주변으로가면 알람이 가게 못하나요?
제가 대신 답변해주겠습니다
블럭의 범위감지대신 아머스탠드(갑옷거치대)를 사용하면 됩니다
우선 아머스탠드인데 NBT를 넣어줄것입니다
/summon minecraft:armor_stand (신호기위 좌표) {Tags:["(태그)"],NoGravity:1b,Invisible:1b}
그리고 그 아머스탠드를 기준으로 범위를 설정하면됩니다
execute as @e[tag=(아머스탠드의 태그)] at @s if entity @e[type=minecraft:player,distance=범위] run (명령어)
의 형식입니다 알람이니 playsound를 사용하길 권장드립니다.
화살을 감지 할 수는 없나요?
@e[type=arrow]를 사용하면 됩니다!
범위밖을 벗어나면 실행되는 커맨드는 어떻게 해야하나요?
만약에 범위를 아래의 방식으로 만드셨다면
...... as @a[distance=..4] ......
아래의 방식으로 바꾸면 됩니다
...... as @a unless entity @s[distance=..4] ......
모든 플레이어를 대상으로 4칸 안에 없을 때를 감지합니다
@@포마인 감사합니당
태그를 붙히고 다시 없앨려면 어떻게 해야되나요?
tag 대상 remove 태그
이 명령어를 사용하시면 됩니다
@@포마인 아 설명을 잘못했네요 죄송합니다 명령어 자체는 알겠는데 범위에서 없어지면 자동으로 태그를 없앨려면 어떻게 해야하나요?
만약에 범위를 ..3으로 설정해서 3칸 안에 들어갔을 때 태그를 부여한다면
커맨드의 범위를 3..으로 해서 3칸 밖으로 갔을 때를 감지해 태그를 없애면 되겠습니다
들어갈때만 뜨게 할려고 하는데 나갈때도 떠서 그런데 한번만 뜨게할순 없나요?
감지될때 작동할 명령어를 반응형으로 입력하고 if와 unless를 사용하여 레드스톤 블럭을 생겼다 없앴다하거나 스코어 보드를 활용할수있습니다.
혹시 execute 명령어에 타이틀 명령어를 대입해서 쓸려하는데 한번만 나오게 안될까요 찾아봐도 없네요ㅠㅠ
execute로 태그를 붙이신 후, 조건적 연쇄형 커맨드 블록으로 타이틀을 쓰면 되겠습니다
이미 태그가 있는 대상에게는 태그가 부여되지 않으니 커맨드가 작동되지 않으므로, 조건적 연쇄형 커맨드는 1번만 작동할 것입니다
@@포마인 감삼다!
구역안으로 들어가면 타이틀 명령어를 띄울려 하는데 반복되서 글씨가 이상하게 나오네요
구역에 들어갔을 때 플레이어에게 태그 부여하기
> 조건적 연쇄형 커맨드 블록으로 태그가 부여될 때 타이틀 띄우기
태그 명령어는 태그가 이미 있는 사람에겐 작동하기 않기 때문에 이렇게 사용하면 타이틀이 한 번만 나올 겁니다
구역에 들어갈 때마다 타이틀을 띄우고 싶으시면 구역 밖으로 나갔을 때 태그를 없애면 되겠죠
그 혹시 한 번만 작동하게 어떻게 하나요?
감지하고 setblock을 통해 반응형뒤 좌표로 감지되면 redstone_block을 생성 감지가 안되면 redstone_block을 air로 봐꾸면됩니다
PvP이기면 보상을 주는것부탁 할게요
스코어보드 중에 deathCount라는 것이 있는데
deathCount는 플레이어가 죽으면 플레이어 점수가 1씩 올라감니다. 이 스코어보드가 특정한 플레이어 점수가 1이 되면 초기화시키고 초기화하기 직전에 감지할수있고 보상은 /give로 하거나
/summon item ~ ~ ~ {(NBT)}로 할수있지만 이것은 맵을 만들떄에는 적절하지 않고
다른 방법도 설명 드리겠습니다.
시작하기에 앞서 스코어보드 3개를 만듬니다.
/scoreboard objectives add a1 dummy
/scoreboard objectives add a2 dummy
/scoreboard objectives add death deathCount
다 만드셨다면 총 반복형 커맨드 3개를 옆으로 나란히 설치합니다 저는 이 반복형 커맨드에 번호를 부여할것입니다 총 [1] [2] [3] 요렇게 번호를 부여할거고요.
이제 [1]번 반복형 커맨드에 이 명령어를 입력하세요
[1]반복형:scoreboard players set @r[score_a1=0] a1 1
그리고 [1]반복형 뒤에 연쇄형을 설치하는데 조건적으로 설정하시고 이 명령어를 입력하세요.
[1]연쇄형(조건적):scoreboard players add @a a2 1
그리고 이제 [2]로 갑시다.
반복형에 입력하세요
[2]반복형:/scoreboard players set @a[score_death_min=1] a1 0
그리고 [2]뒤에 조건형 연쇄형 커맨드를 설치하고 입력하세요.
[2]연쇄형(조건적):/scoreboard players set @a[score_death_min=1] death 0
그리고 [2]연쇄형뒤에 또 연쇄형커맨드를 설치 조건적으로 설치하고 입력하세요
[2]연쇄형(조건적):/scoreboard players remove @a a2 1
그리고 게임 시작할 부분에 발판을 설치하고 그것을 밟으면 진행장소에 /tp @a (진행 장소 위치)를 발판아래에 반응형커맨드를 설치 이 명령어를 입력하시고 연쇄형 커맨드에 /setblock [1커맨드의 뒷 좌표) redstoun_block을 입력하세요 밟는순간 시작되는 명령어입니다.
그리고 [1]커맨드에 연쇄형 무조건적으로 설정된 커맨드를 설치하고 입력하세요
[1]연쇄형(무조건적):/execute if entity @a[score={a2_min=2}]
[1]연쇄형(조건적):/setblock ([3]좌표 )minecraft:redstone_block
[1]연쇄형(조건적): /setblock ([1]좌표) minecraft:air
그리고 [3]으로 넘어가서
[3]반복형:/execute if entity @a[score={a2_min=1},score={a2=1}]
[3]연쇄형(조건적):/title @a title {"selector":"@a[score={a1_min=1}]"}
[3]연쇄형(조건적):/scoreboard players set @a a1 0
[3]연쇄형(조건적): /scoreboard players set @a a2 0
[3]연쇄형(조건적): /setblock ([3]좌표) minecraft:air
이 구조 입니다 이해가 않되신다면 답변해주세요 정서스럽게 대답해주겠습니다
동물은 어덯게 감지해요?
대상을 정할 때 @e 를 쓰면 됩니다.
만약 특정 동물만 감지하게 하려면 @e[type=원하는 엔티티] 라고 적으면 됩니다.
그 다음 @e[type=원하는 엔티티,distance=..3] 이런 식으로 하면 플레이어 말고 다른 엔티티도 감지할 수 있습니다.
베드락 에디션 안됨?
베드락 에디션에서는 dx, dy, dz만 됩니다.
distance는 안돼지만 비슷한 r과 rm이 있습니다.
ㄳ
한번만 발동되게는 못하나요
@a[tag=!태그] 를 사용하여 태그가 없는 대상이 범위 내에 있으면 커맨드를 작동하고, 그 이후 대상에게 태그를 부여하면 1번만 작동할 겁니다
tysm
execute as x y z dx dy dz 쓰는법 까먹었었는데 감사합니다!!!!!!
모바일돼요?
안돼요
자바 에디션에서만 됩니다~