개인 자료란 (JE)

  서버 커뮤니티

Profile 야옹아멍멍해봐 대표칭호 없음

Inermis_ f74bd10639544527845f60e073427a16

Profile

질문하기 스크립트

스크립트 랜덤상자 목록 저장이 안됩니다 ㅠㅠㅠ

2021.03.15 조회 수 111 추천 수 0
이해도 1.16 
게임버전 (JE) 페이퍼 
게임버전 (BE) skript-mirror, marsk, skellett, invsk, gomsk, skquery, skrayfall, wildskript 사용중입니다 
스크립트 버전 입문자(아무것도 몰라요) 
스크립트 애드온 2.5.3 

variables:
    {stock.hour} = 0
    {stock.min} = 30
    {stock.sec} = 0
    {stock.hour2} = 0
    {stock.min2} = 30
    {stock.sec2} = 0
    {stock.item} = 0


options:
    s: &a[ &f주식 &a]
    
every 1 second:
    if {stock.hour} > 0:
        if {stock.min} > 0:
            if {stock.sec} > 0:
                remove 1 from {stock.sec}
                
            if {stock.sec} = 0:
                set {stock.sec} to 59
                remove 1 from {stock.min}
                
        if {stock.min} = 0:
            if {stock.sec} > 0:
                remove 1 from {stock.sec}
        
            if {stock.sec} = 0:
                remove 1 from {stock.hour}
                set {stock.min} to 59
            
            
    if {stock.hour} = 0:
        if {stock.min} > 0:
            if {stock.sec} > 0:
                remove 1 from {stock.sec}
                
            if {stock.sec} = 0:
                set {stock.sec} to 59
                remove 1 from {stock.min}
        
        if {stock.min} = 0:
            if {stock.sec} > 0:
                remove 1 from {stock.sec}
                
            if {stock.sec} = 0:
                set {stock.hour} to {stock.hour2}
                set {stock.min} to {stock.min2}
                set {stock.sec} to {stock.sec2}
                broadcast ""
                broadcast "{@s} &f주식의 &e가격&f이 &c변동&f되었습니다."
                broadcast ""
                loop {stock.item} times:
                    add 1 to {_주식변동}
                    set {_주식가격.%{_주식변동}%} to {stockmoney::%{_주식변동}%}/10
                    set {_퍼센트} to random number between 0 and {_주식가격.%{_주식변동}%}
                    set {_퍼센트} to round {_퍼센트}
                    set {_확률} to random number between 0 and 1
                    if {_확률} < 0.5:
                        remove {_퍼센트} from {stockmoney::%{_주식변동}%}
                        set {stockcnmoney::%{_주식변동}%} to "&c▽ &f%{_퍼센트}% &c원"
                    if {_확률} >= 0.5:
                        add {_퍼센트} to {stockmoney::%{_주식변동}%}
                        set {stockcnmoney::%{_주식변동}%} to "&a△ &f%{_퍼센트}% &c원"
                        
                


        
command /주식:
    trigger:
        open chest with 6 row named "{@s}" to player
        set slot 36 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 37 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 38 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 39 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 40 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 41 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 42 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 43 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 44 of current inventory of player to glass pane named "&8[ &f구분선 &8]"
        set slot 45 of current inventory of player to clock named "&a[ &f남은 변동 시간 &a]" with lore "&cㄴ &f%{stock.hour}%&e시 &f%{stock.min}%&e분 &f%{stock.sec}%&e초"
        set slot 49 of current inventory of player to sign named "&c[ &f도움말 &c]" with lore "&eㄴ &f좌클릭 시 &e주식&f을 &c구매&f합니다.||&eㄴ &f우클릭 시 &e주식&f을 &c판매&f합니다."
        set slot 53 of current inventory of player to emerald named "&e[ &f돈 &e]" with lore "&cㄴ &f%{money::%player%}% &c원"
        loop {stock.item} times:
            add 1 to {_슬롯}
            add 1 to {_주식개수}
            set slot {_슬롯}-1 of current inventory of player to {stockitem::%{_주식개수}%} named "%{stock::%{_주식개수}%}%" with lore "||&e[ &f가격 &e] &f%{stockmoney::%{_주식개수}%}% &c원||||&e[ &f가격 변동 &e] &f%{stockcnmoney::%{_주식개수}%}%"
        
command /주식설정 [<text>] [<integer>] [<integer>] [<integer>]:
    permission: stock.op
    trigger:
        if arg 1 is not set:
            message ""
            message "{@s} &f/주식설정 &e추가 &c[&f가격&c] &f- 손에 든 아이템을 &c[&f가격&c] &f의 돈으로 주식에 &e추가&f합니다."
            message "{@s} &f/주식설정 &e시간 &c[&f시&c] [&f분&c] [&f초&c] &f - 주식 변동 시간을 &c[&f시&c] [&f분&c] [&f초&c] &f로 &e설정&f합니다."
            message "{@s} &f/주식설정 &e초기화 &f- 주식 아이템 목록을 &e초기화 &f합니다."
            message ""
            stop
            
        if arg 1 is "추가":
            if arg 2 is set:
                add player's tool's name to {stock::*}
                add player's tool to {stockitem::*}
                add arg-2 to {stockmoney::*}
                add "&8- &f0 &c원" to {stockcnmoney::*}
                add 1 to {stock.item}
                message ""
                message "{@s} &f당신은 %player's tool's name% (이)라는 이름과 &c[ &f%arg-2% &c] &f이라는 가격에 주식을 &e추가&f하였습니다."
                message ""
                stop
            
            else:
                message ""
                message "{@s} &f/주식설정 &e추가 &c[&f가격&c] &f- 손에 든 아이템을 &c[&f가격&c] &f의 돈으로 주식에 &e추가&f합니다."
                message ""
                stop
        
        if arg 1 is "시간":
            if arg 2 is set:
                if arg 3 is set:
                    if arg 4 is set:
                        set {stock.hour} to arg-2
                        set {stock.min} to arg-3
                        set {stock.sec} to arg-4
                        set {stock.hour2} to arg-2
                        set {stock.min2} to arg-3
                        set {stock.sec2} to arg-4
                        message ""
                        message "{@s} &f주식 &c변동 시간&f이 &f%{stock.hour}%&e시 &f%{stock.min}%&e분 &f%{stock.sec}%&e초 &f로 변동되었습니다."
                        message ""
                        stop
                        
                    else:
                        message ""
                        message "{@s} &f/주식설정 &e시간 &c[&f시&c] [&f분&c] [&f초&c] &f - 주식 변동 시간을 &c[&f시&c] [&f분&c] [&f초&c] &f로 &e설정&f합니다."
                        message ""
                        stop
                        
                else:
                    message ""
                    message "{@s} &f/주식설정 &e시간 &c[&f시&c] [&f분&c] [&f초&c] &f - 주식 변동 시간을 &c[&f시&c] [&f분&c] [&f초&c] &f로 &e설정&f합니다."
                    message ""
                    stop
                    
            else:
                message ""
                message "{@s} &f/주식설정 &e시간 &c[&f시&c] [&f분&c] [&f초&c] &f - 주식 변동 시간을 &c[&f시&c] [&f분&c] [&f초&c] &f로 &e설정&f합니다."
                message ""
                stop
            
        if arg 1 is "초기화":
            set {stock.item} to 0
            delete {stock::*}
            delete {stockitem::*}
            delete {stockmoney::*}
            delete {stockcnmoney::*}
            message ""
            message "{@s} &f당신은 &c주식&f을 &e초기화&f를 하셨습니다."
            message ""
            stop


on inventory click:
    if inventory name of player's current inventory contains "{@s}":
        cancel event
        if clicked raw slot is 0 or 1 or 2 or 3 or 4 or 5 :
            if click type is left mouse button:
                if number of air in the player's inventory >= 1:
                    set {_lore::*} to lore of click item
                    set {_money} to uncolored {_lore::2}
                    replace all "[" and "가격" and "]" and " " and "원" with "" in {_money}
                    set {_money} to uncolored {_money} parsed as integer
                    if {money::%player%} >= {_money}:
                        remove {_money} from {money::%player%}
                        set slot 53 of current inventory of player to emerald named "&e[ &f돈 &e]" with lore "&cㄴ &f%{money::%player%}% &c원"
                        give 1 of {stockitem::%clicked slot+1%} named "%{stock::%clicked slot+1%}%" to player
                        message ""
                        message "{@s} &f당신은 &e%{_money}% &f원을 사용하여 %{stock::%clicked slot+1%}% &f을 &c구매&f하였습니다."
                        message ""
                        stop
                            
                    else:
                        message ""
                        message "{@s} &f당신의 &e인벤토리&f가 비어있는지 &c확인&f해주시기 바랍니다."
                        message ""
                        stop
                        
                    if click type is right mouse button:
                        if player has 1 of {stockitem::%clicked slot+1%} named "%{stock::%clicked slot+1%}%":
                            set {_lore::*} to lore of click item 
                            set {_money} to uncolored {_lore::2}
                            replace all "[" and "가격" and "]" and " " and "원" with "" in {_money}
                            set {_money} to uncolored {_money} parsed as integer
                            remove 1 of {stockitem::%clicked slot+1%} named "%{stock::%clicked slot+1%}%" from player's inventory
                            add {_money} to {money::%player%}
                            set slot 53 of current inventory of player to emerald named "&e[ &f돈 &e]" with lore "&cㄴ &f%{money::%player%}% &c원"
                            message ""
                            message "{@s} &f당신은 %{stock::%clicked slot+1%}% &f을 &c판매&f하여 &e%{_money}% &f를 얻었습니다."
                            message ""
                            stop

주식 등록은 되는데 구매하려고 할때 인벤토리 공간이 없다고 나옵니다 ㅠㅠㅠ

1개의 댓글

스크립터브혼
2021.03.15

해당 스크립트를 어디서 얻으신건가요? 링크나 제작자를 알려주세요.

 

코드 전체를 올리실때는 코드가 어떤 식으로 구성되어 있는지, 어디서 오류가 발생하는지,

각각의 변수가 어떤 값을 가지고 있어야하는지 설명을 같이 첨부하시길 바랍니다.

제가 모든 코드를 리딩하고 알고리즘을 분석해드릴 수 없어요.

전체 코드를 올려놓고 안되느걸 되게 해달라고 질문하시면 답변해드리기 곤란합니다.