개인 자료란 (JE)

  서버 커뮤니티

Profile 서버초보장 대표칭호 없음

Dobby_jjang f1397f1ab6204df0a3d3cf7d31ce4931

Profile

질문하기 스크립트

npc 스크립트 구문질문

2024.05.21 조회 수 109 추천 수 0
이해도 초보자 
게임버전 (JE) 1.20.1 
게임버전 (BE) 관련없음 
스크립트 버전 2.6.4 

   엔피씨 우클릭시 에메랄드 10 개를 지불하고
스크립트로 제작한 추가권을 받게 하고 싶은데
어떻게구문을 써야하나요 현재 이렇게 써봤는데
오류나네요 ㅠ



 if entity's name is "[ &6스텟 교환소 &f]":

        if name of player's tool is "emerald"

            message "스텟교환권을 성공적으로 교환하였습니다." to player

            give 1 nether star named "&7스텟 추가권 " with lore "" to player

            remove 10 of player's tool from player's tool

        else:

            message "더이상 교환 가능한 에메랄드가 부족합니다." to player


시티즌오류.PNG




15개의 댓글

이사님
2024.05.21

오류가 어떻게 나나요?

이사님
2024.05.21
@이사님

어떤 식으로 오류가 나는지는 모르겠지만 일단 말씀을 드리자면 if name of player's tool is "emerald" 이 부분에 일단 콜론이 없습니다. 그리고 에메랄드 아이템으로 하실거면 if player's tool is emerald: 가 더 나을 수도 있습니다

이사님
2024.05.21
@이사님

그리고 player's tool 로 하면 무조건 손에 쥐고 있어야 하기 때문에 인벤토리에만 있다면 실행하게 하려면 player's inventory has emerald 로 작성하시면 됩니다

서버초보장
2024.05.21
@이사님

감사합니다 한번 해보겠ㅆ브니다.

 

서버초보장
2024.05.21
@이사님

    if entity's name is "[ &6스텟 교환소 &f]":

        if player's tool is emerald:

            message "스텟교환권을 성공적으로 교환하였습니다." to player

            give 1 nether star named "&7스텟 추가권 " with lore "" to player

            remove 10 of player's tool from player's tool

    else:

        send "더이상 교환 가능한 에메랄드가 부족합니다." to player

 

이렇게 변경하여서 적용 완료하였습니다.

근데 에메랄드 10개를 들어야만 교환이 가능하고 인벤에 있을때에는 작동하지 않습니다.

이부분까진 괜찮은데

10개 미만 소지 하고있을때 교환이 불가능해야 하는데 교환이 가능해서 4개 남아있어도 아이템이 들어옵니다 혹시 문구를 어떻게 만들어야 할까요

으아!! 모든 엔피시한테 작동합니다 !!!!!!!!!!!!

@서버초보장

스코어보드 테그 이용해보시죠
https://docs.skriptlang.org/conditions.html
interact.sk

windy_wind
2024.05.21
@windy_wind

엔티티에다가 tag 붙이는 법은 아시겠지만 다음과 같습니다

tag 대상 add salesperson

서버초보장
2024.05.21
@windy_wind

이 스크립트는처음첩해보는데여 ,,? 이것도 배워야겠네여

이사님
2024.05.21
@서버초보장

if player's tool is emerald 부분을 if player's inventory has emerald로 수정하시면 인벤에 있을 때 작동합니다. 그리고 10개 미만 소지 하고 있을 때 교환을 불가능하게 하시려면 if player has 10 emerald로 수정하시면 됩니다

서버초보장
2024.05.21
@이사님

자꾸 많은 질문해서 죄송합니다 ㅠㅠ

    if entity's name is "[ &6스텟 교환소 &f]":

        if player's inventory has emerald:

            message "스텟교환권을 성공적으로 교환하였습니다." to player

            remove 10 of emerald from inventory of player

            give 1 nether star named "&7스텟 추가권 " with lore "" to player
이렇게 구문 다시 만들어서 우클릭시 에메랄드가 10개 줄긴 줄어드나
4개있을때 구매가 되는건 없어지지 않습니다 혹시 구문 만들어주실수있나요 ..

서버초보장
2024.05.21
@서버초보장

알려주신 구문을 어디에 넣어야 하는지 잘 이해가 가질 않습니다 ㅠ

이사님
2024.05.21
@서버초보장

이렇게 하시면 될겁니다

이사님
2024.05.21
@서버초보장

if entity's name is "[ &6스텟 교환소 &f]":

if player has 10 emerald:

message "스텟교환권을 성공적으로 교환하였습니다." to player

remove 10 of emerald from inventory of player

give 1 nether star named "&7스텟 추가권 " with lore "" to player

서버초보장
2024.05.22
@이사님

와 정말 감사합니다 진짜 ㅠㅠ 저도 정말 머리 깨지는줄알았지만 계속 귀찮으실텐데도 알려주셔서 감사합니다

이사님
2024.05.22
@서버초보장