개인 자료란 (JE)

  서버 커뮤니티

Profile 김두한4012 대표칭호 없음
Profile

질문하기 스크립트

서버 상점 스크립트 관련 질문입니다

2022.02.09 조회 수 149 추천 수 0
이해도 중급자(필요한 애드온을 찾아서 만들 수 있어요) 
게임버전 (JE) 1.18.1 
게임버전 (BE) 관련없음 
스크립트 버전 2.6.1 
스크립트 애드온 InvSK, SKRayFall, SKUtilities, SKQuery 

서버에 상점 스크립트를 만들고 있습니다.

그런데 아이템이 너무 많아지면 구문이 너무 길어질거 같아서 특정 아이템을 눌렀을때

변수로 저장후 그 변수대로 상점이 열리게 만들고 싶었습니다.

하지만 변수를 저장했음에도 불구하고 다음과 같이 떴습니다.

beafd221a29ecfa1b9bb12888c426c96.png


코드는 아래에 있습니다.

(보기 불편하실거 같아서 파일 첨부했습니다)index.sk 

command /shop [<string>]:

    trigger:

        if arg 1 is "open":

            open chest with 3 rows named "%{_SHOP-NAME.%player%}%" to player

            set {GUI.%player%} to true

            set slot 10 of current inventory of player to lime wool named "&a&l판매 x64" with lore "&7+%{_SHOP-SELL.%player%}*64%¤"

            set slot 11 of current inventory of player to lime wool named "&a&l판매 x10" with lore "&7+%{_SHOP-SELL.%player%}*10%¤"

            set slot 12 of current inventory of player to lime wool named "&a&l판매 x1" with lore "&7+%{_SHOP-SELL.%player%}%¤"

            set slot 13 of current inventory of player to {_SHOP-ITEM.%player%} named "{_SHOP-NAME.%player%}"

            set slot 14 of current inventory of player to red wool named "&a&l구매 x1" with lore "&7-%{_SHOP-COST.%player%}%"

            set slot 15 of current inventory of player to red wool named "&a&l구매 x10" with lore "&7-%{_SHOP-COST.%player%}*10%¤"

            set slot 16 of current inventory of player to red wool named "&a&l구매 x64" with lore "&7-%{_SHOP-COST.%player%}*64%¤"

        else if arg 1 is "cave":

            open chest with 6 rows named "&5&l상점 [동굴 관련]" to player

            set {GUI.%player%} to true

            set slot 10 of current inventory of player to cobblestone named "&l&e조약돌" with lore "&a판메가 : 10¤%nl%&c구매가 : 12¤"

            set slot 11 of current inventory of player to stone named "&l&e돌" with lore "&a판메가 : 11¤%nl%&c구매가 : 14¤"

            set slot 12 of current inventory of player to cobbled deepslate named "&l&e심층암 조약돌" with lore "&a판메가 : 11¤%nl%&c구매가 : 14¤"

            set slot 13 of current inventory of player to deepslate named "&l&e심층암" with lore "&a판메가 : 13¤%nl%&c구매가 : 18¤"

        else:

            set {GUI.%player%} to true

            open chest with 3 rows named "&5&l상점 메뉴" to player

            set slot 10 of current inventory of player to stone named "&a&l동굴 관련 상점"

on inventory click:

    if inventory name of current inventory of player contains "&5&l상점 [동굴 관련]":

        if clicked slot is 10:

            cancel event

            set {GUI.%player%} to true

            set {_SHOP-NAME.%player%} to "&e&l조약돌"

            set {_SHOP-ITEM.%player%} to "cobblestone"

            set {_SHOP-SELL.%player%} to 10

            set {_SHOP-COST.%player%} to 12

            set {_SHOP-COST10.%player%} to {_SHOP.COST.%player%}*10

            set {_SHOP-COST64.%player%} to {_SHOP.COST.%player%}*64

            execute player command "/shop open"

on inventory click:

    if inventory name of current inventory of player contains "%{_SHOP-NAME.%player%}%":

        if clicked slot is 10:

            if amount of {_SHOP-ITEM.%player%} in inventory of player < 64:

                message "&7[&c!&7] %{_SHOP-NAME.%player%}%&f(이)가 충분하지 않습니다"

            else:

                execute console command "clear %player% %{_SHOP-ITEM.%player%}% 64"

                add {_SHOP-SELL.%player%}*64 to {monny.%player%}

                message "&7[&a+&7] &f%{_SHOP-SELL.%player%}*64%¤"

        else if clicked slot is 11:

            if amount of {_SHOP-ITEM.%player%} in inventory of player < 10:

                message "&7[&c!&7] %{_SHOP-NAME.%player%}%&f(이)가 충분하지 않습니다"

            else:

                execute console command "clear %player%  %{_SHOP-ITEM.%player%}% 10"

                add {_SHOP-SELL.%player%}*10 to {monny.%player%}

                message "&7[&a+&7] &f%{_SHOP-SELL.%player%}*10%¤"

        else if clicked slot is 12:

            if amount of {_SHOP-ITEM.%player%} in inventory of player < 1:

                message "&7[&c!&7] %{_SHOP-NAME.%player%}%&f(이)가 충분하지 않습니다"

            else:

                execute console command "clear %player% %{_SHOP-ITEM.%player%}% 1"

                add 10 to {monny.%player%}

                message "&7[&a+&7] &f%{_SHOP-SELL.%player%}%¤"

        else if clicked slot is 14:

            if {monny.%player%} < {_SHOP-COST.%player%}:

                message "&7[&c!&7] &f돈이 충분하지 않습니다"

            else:

                execute console command "give %player% %{_SHOP-ITEM.%player%}% 1"

                add -1*{_SHOP-COST.%player%} to {monny.%player%}

                message "&7[&c-&7] &f%{_SHOP-COST.%player%}%¤"

        else if clicked slot is 14:

            if {monny.%player%} < {_SHOP-COST.%player%}*10:

                message "&7[&c!&7] &f돈이 충분하지 않습니다"

            else:

                execute console command "give %player% %{_SHOP-ITEM.%player%}% 1"

                add -1*{_SHOP-COST.%player%} to {monny.%player%}

                message "&7[&c-&7] &f%{_SHOP-COST10.%player%}%¤"

        else if clicked slot is 14:

            if {monny.%player%} < {_SHOP-COST64.%player%}*64:

                message "&7[&c!&7] &f돈이 충분하지 않습니다"

            else:

                execute console command "give %player% %{_SHOP-ITEM.%player%}% 1"

                add -1*{_SHOP-COST.%player%} to {monny.%player%}

                message "&7[&c-&7] &f%{_SHOP-COST64.%player%}%¤"

on inventory click:

    if inventory name of current inventory of player contains "&5&l상점 메뉴":

        if clicked slot is 10:

            cancel event

            execute player command "/shop cave"

Warning
댓글이 없습니다.

새로운 댓글을 등록해 주세요!