본문 바로가기

마인크래프트/스크립트

마인크래프트 스크립트 - 인챈트 강화 스크립트를 만들어보자 2

728x90
반응형

 

마인크래프트 스크립트 - 인챈트 강화 스크립트를 만들어보자 2

 


 

전에 인챈트 관련 구문들을 한번 봤었죠. 이제 그것들을 활용해서

인챈트 강화석이란 아이템을 만들어 아이템의 인챈트를 강화하는 스크립트를

만들어보도록 하겠습니다!

 

:: 목표 ::

 

인챈트 강화석을 이용한 인챈트 강화 스크립트를 만들어보자

 


 

 

전에 계속 만들던 아이템 강화스크립트로 이어서 하겠습니다.

인챈트 강화 창을 만들어봤는데 꽤 그럴사하죠 ㅋㅋㅋ

 

else if iname contains "&b&l인첸트 강화":
        if click type is left mouse button with shift or right mouse button with shift or right mouse button:
            cancel event
        else:
            if clicked raw slot is not 20 or 22 or 24:
                clicked raw slot <= 44:
                    cancel event
                    exit
            
            else if clicked raw slot is 22:
                cancel event
                set {_pitem} to slot 20 of current inventory of player
                set {_encitem} to slot 24 of current inventory of player

                if {_pitem} or {_encitem} is air:
                    message "[무기대장장이]: 어이! 무기와 인챈트 강화석 확실하게 올려두라고!" to player
                    exit

                else:
                    message "[무기대장장이]: 아이템의 인챈트가 강화되었다. 잘쓰라고!" to player
                    exit

 

일단 여기까지 기본으로 두고 제대로 해보겠습니다.

 

먼저 인챈트 강화석을 만들어야겠습니다.

 

 

 

아이템중에 겹칠 수 있고 흔해서 용도 이외로 사용할 수 없는 아이템으로 만들었습니다.

인챈트 강화는 한번에 2 이상으로 강화할 수 없도록할 예정입니다.

여기서 중요한게 어떻게 날카로움인걸 알려주고 강화를 할것인가인데

애초에 영문으로 lore을 달면 상관없지만 우리나라 사람은 한글을 이용하고 연령대가 초중대가

많으므로 대부분의 서버는 한글을 지향할것입니다.

그래서 어쩔 수 없이 일일이 번역을 해야겠죠...

 

# 인챈트 번역
function transEnchant(i: string) :: string:
    if {_i} is "보호":
        return "protection"
    else if {_i} is "화염 보호":
        return "fire protection"

 

일단 이런식으로 함수를 만들어서 실험을 해보겠습니다.

안되면 망했어요 니까요 ㅋㅋ

 

 

중간에 인챈트 강화석의 lore을 조금 바꿨습니다.

인챈트 강화석임을 알리는 lore추가한거죠

일단 이렇게 넣고 함수를 작동하니

 

 

영어로 나옵니다.

그럼 인챈트 번역 작업을 계속 해보죠 ㅠㅠ

 

else if clicked raw slot is 22:
                cancel event
                set {_pitem} to slot 20 of current inventory of player
                set {_encitem} to slot 24 of current inventory of player
                set {_enclore::*} to uncolored lore of {_encitem}
                replace all " " and "+" and "1" with "" in {_enclore::1}

                if {_pitem} or {_encitem} is air:
                    message "[무기대장장이]: 어이! 무기와 인챈트 강화석 확실하게 올려두라고!" to player
                    exit

                else if {_enclore::2} is not "인챈트":
                    message "[무기대장장이]: 음, 이건 인챈트 강화석이 아닌데? 다른걸 가져와" to player
                    exit

                else:
                    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
                    set enchantment level of {_enc} of {_pitem} to {_pitemenlv} + 1
                    set slot 20 of current inventory of player to {_pitem}

                    subtract 50000 from player's money
                    message "[무기대장장이]: 아이템의 인챈트가 강화되었다. 잘쓰라고!" to player
                    exit

 

일단 여기까진 했고 이론상 완벽하죠

 

 

근데 이거 왜 인챈트 레벨이 동시에 오르는거지

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

간단하게 작업하기 위해서 다시 표지판으로 돌아왔습니다.

 

on rightclick on sign:
    if line 1 is "enchant":
        set {_line2} to line 2
        set {_enc} to transEnchant({_line2}) parsed as enchantment
        set {_pitemenlv} to enchantment level of {_enc} of player's tool
        set enchantment level of {_enc} of player's tool to {_pitemenlv} + 1
        set slot 20 of current inventory of player to player's tool
        message "{@s2} 강화성공, %{_enc}%" to player

 

진짜 ㅋㅋㅋㅋㅋㅋ

왜 동시에 오르는거지

 

하 3편에서 고쳐보도록 하겠습니다 ㅋㅋ

 

 

 

 

 

 

※ 스크립트 다운로드 ※

 

 

 


 

:: 해당 서버에서 사용된 애드온 ::

 

Skript

GomSK

InvSk

GameAPI

HolographicDisplaysAddon

MarSK

QuarSk

SharpSK

SkChoke

Skellett

SkExtras

SkQuery

skRayFall

skript-yaml

SkRPG

SkStuff

skUtilities

TuSKe

Umbaska

Vault

 

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

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

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

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

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

 

 

 

 

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

 

 

 

728x90
반응형