마인크래프트 스크립트 - 인챈트 강화 스크립트(플러그인)을 만들어보자 3
전에 인챈트를 강화하게 되면 아이템의 모든 인챈트가 강화되는 문제가 있었는데
이번에 해결해보도록 합시다. 이것만 해결되면 인챈트 강화 챕터는 끝이네요.
:: 목표 ::
인챈트 강화 스크립트를 만들어보자
set {_enc} to transEnchant({_enclore::1}) parsed as enchantment
set {_pitemenlv} to enchant level of {_enc} of {_pitem}
delete slot 20 of current inventory of player
delete slot 24 of current inventory of player
enchant {_pitem} with "%{_enc}% %{_pitemenlv} + 1%" parsed as enchantment type
set slot 20 of current inventory of player to {_pitem}
subtract 50000 from player's money
message "[무기대장장이]: 아이템의 인챈트가 강화되었다. 잘쓰라고!" to player
exit
인터넷좀 찾다가 기존 스크립트 구문을 다시 보게되었습니다.
enchant player's tool with sharpness 5
이런식으로 구문을 적으면 날카로움 5로 인챈트가 되는데
각각 변수로 넣게되니 오류가 났었는데
사실 sharpness 5라는게 인챈트 타입이었습니다.
각각 변수로 만드니 타입이 달라 오류가 났던건데
" "로 묶고 parsed as enchantment type으로 만들어버리니 오류가 나지 않더라구요.
이대로 끝나기엔 그러니까 예전에 못해본 아이템 수를 구하는 방법을 여기에 조금 적어볼게요.
따로 글을 쓰긴 할건데 맛보기로 어차피 여기에 쓰이는거니까
지금까지는 재료 아이템은 delet로 한번에 없애도록 했었죠
수량을 구하는 방법을 몰라서 그랬는데 remove로 해보니 오류가 나더라구요.
그래서 수량을 구해서 -1만큼 set하면 되지 않을까 했었는데
수량을 구하는 방법을 찾았습니다.
계속 amount of 를 사용하니까 오류가 났는데
set {_am} to amount of {_encitem} in current inventory of player
이렇게 구문을 쓰면
위 사진의 6개 가 {_am}으로 들어가는걸 확인했습니다.
set {_enc} to transEnchant({_enclore::1}) parsed as enchantment
set {_pitemenlv} to enchant level of {_enc} of {_pitem}
delete slot 20 of current inventory of player
delete slot 24 of current inventory of player
wait 12 tick
set {_amount} to {_am} - 1
set slot 24 of current inventory of player to {_amount} of {_encitem}
enchant {_pitem} with "%{_enc}% %{_pitemenlv} + 1%" parsed as enchantment type
set slot 20 of current inventory of player to {_pitem}
subtract 50000 from player's money
message "[무기대장장이]: 아이템의 인챈트가 강화되었다. 잘쓰라고!" to player
play sound "BLOCK_ANVIL_USE" with volume 1 and pitch 1 at player
launch flickering ball colored red and yellow and green at player's location timed 0.8
exit
그럼 그 양에대가 - 1 한만큼 set 해주면 되겠죠
0이 되면 아이템이 없어지는걸 확인했습니다.
인챈트 강화는 여기까지 하면 될듯합니다.
다음은 amount of 로 잠깐 보고 아직 완성못한 아이템 강화 스크립트로 보겠습니다!
※ 스크립트 다운로드 ※
아이템 강화 챕터가 끝이나면 올리겠습니다.
:: 해당 서버에서 사용된 애드온 ::
Skript
GomSK
InvSk
GameAPI
HolographicDisplaysAddon
MarSK
QuarSk
SharpSK
SkChoke
Skellett
SkExtras
SkQuery
skRayFall
skript-yaml
SkRPG
SkStuff
skUtilities
TuSKe
Umbaska
Vault
만약 코드를 적용했는데 서버에서 에러가 뜨면 애드온 미적용 때문일 확률이 높습니다.
애드온은 아래 사이트에서 대부분 받을 수 있으며 없는 애드온은
아마 한국인 개발자가 만든 애드온일 확률이 높습니다.
구글이나 네이버에 애드온 모음을 검색하면 나와있으니 찾아서 다운로드 하시거나
제 블로그 마인크래프트 항목 처음 글에 다운로드 링크가 걸려있으니 확인하시길 바랍니다.
◆
:: 이 글은 원 출처만 남기면 언제든 퍼가고 수정하셔도 좋습니다 ::
'마인크래프트 > 스크립트' 카테고리의 다른 글
마인크래프트 스크립트 - 인챈트 강화 4 (0) | 2020.04.02 |
---|---|
마인크래프트 스크립트 - 1개 없애기 amount of, 아이템 갯수 얻기 (1) | 2020.03.25 |
마인크래프트 스크립트 - 인챈트 강화 스크립트를 만들어보자 2 (0) | 2020.03.24 |
마인크래프트 스크립트 - 인챈트 강화 스크립트(플러그인)를 만들어보자 1 (0) | 2020.03.23 |
마인크래프트 스크립트 - 폭죽 로켓 스크립트(플러그인) 만들기 (0) | 2020.03.16 |