본문 바로가기

마인크래프트/스크립트

마인크래프트 스크립트 - 인챈트 강화 스크립트(플러그인)을 만들어보자 3

728x90
반응형

 

마인크래프트 스크립트 - 인챈트 강화 스크립트(플러그인)을 만들어보자 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

 

만약 코드를 적용했는데 서버에서 에러가 뜨면 애드온 미적용 때문일 확률이 높습니다.

애드온은 아래 사이트에서 대부분 받을 수 있으며 없는 애드온은

아마 한국인 개발자가 만든 애드온일 확률이 높습니다.

구글이나 네이버에 애드온 모음을 검색하면 나와있으니 찾아서 다운로드 하시거나

제 블로그 마인크래프트 항목 처음 글에 다운로드 링크가 걸려있으니 확인하시길 바랍니다.

 

 

 

 

:: 이 글은 원 출처만 남기면 언제든 퍼가고 수정하셔도 좋습니다 ::

 

 

 

728x90
반응형