Games/Minecraft

[Skript/Function] 판매대/상점(SellTable) 기능 공유

Kua 2021. 2. 21. 18:57

스크립트 이름 : SellTable

스크립트 버전 : Skript 2.1.2

필요 에드온 : SkQuery

 

소개

해당 아이템에 해당 Lore가 있을경우 아래 판매대 명령어를 이용하여 아이템을 판매할 수 있습니다.

판매가격: <숫자>

를 어떠한 아이템에나 붙여주시면 <숫자> 만큼 판매대에서 판매가 가능해집니다.

 

 

※ 판매대에서는 "판매가격:" 이 없을경우 어떠한 아이템도 판매할 수 없습니다.

※ 판매대에서는 무조건 1개의 아이템씩만 판매가 가능합니다.

 

명령어/설정/노드

/판매대 - 판매대를 엽니다.

 

스크립트내에

options:

f: &2[&bSellTable&2]&f

부분을 수정하시면 prefix 수정이 가능합니다.

 

소스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
options:
    f: &2[&bSellTable&2]&f
    
on inventory click:
    if inventory name of current inventory of player is "판매대":
        if name of click item is "&f":
            cancel event
        if name of click item is "&9판매하기":
            cancel event
            if "%slot 3 of current inventory of player%" is not "<none>":
                set {_amount} to "%slot 3 of current inventory of player%"
                set {_amount::*} to {_amount} split by " "
                if {_amount::1} parsed as integer is not set:
                    set {_lore} to lore of slot 3 of current inventory of player
                    set {_lore::*} to {_lore} split by "||"
                    loop {_lore::*}:
                        if "%loop-value%" contains "판매가격:":
                            set {_value} to uncolored loop-value
                            replace all "판매가격: " with "" in {_value}
                            set {_value} to {_value} parsed as integer
                            add {_value} to player's money
                            if "%name of slot 3 of current inventory of player%" is "<none>":
                                message "{@f} %type of slot 3 of current inventory of player%&f을 팔아 &a%{_value}%&f원을 얻었습니다!"
                            else:
                                message "{@f} %name of slot 3 of current inventory of player%&f을 팔아 &a%{_value}%&f원을 얻었습니다!"
                            set slot 3 of current inventory of player to air
                            stop
                    message "{@f} &c이것은 판매할 수 없습니다!"
                else:
                    message "{@f} &c1개씩만 올려주세요!"
            else:
                message "{@f} &c칸 안에 올려주세요!"
        if name of click item is "&f판매대 나가기":
            cancel event
            close player's inventory
 
command /판매대:
    trigger:
        open chest with 1 row named "판매대" to player
        loop 9 times:
            set slot (loop-number)-1 of current inventory of player to glass pane named "&f"
        set slot 3 of current inventory of player to air
        set slot 5 of current inventory of player to flower pot item named "&9판매하기"
        set slot 8 of current inventory of player to wooden door item named "&f판매대 나가기"
cs
반응형