개인 자료란 (JE)

  서버 커뮤니티

Profile seachan07 대표칭호 없음

White_Frog7 b2b39a8dd10f4d278226938ab0b8528a

Profile

질문하기 스크립트

주식 스크립트 좀 도와주세용

2022.12.18 조회 수 286 추천 수 0
이해도 입문자 
게임버전 (JE) 관련없음 
게임버전 (BE) 관련없음 

주식 스크립트를 만들었었는데 클릭으로 구매가 있는데 클릭으로 구매가 안됩니다 오류가 

[13:49:25] [Server thread/ERROR]: [Skript] Can't compare a click type with 'left click' (주식.sk, line 182: if click type is left click:')

[13:49:25] [Server thread/ERROR]: [Skript] Can't compare a click type with 'right click' (주식.sk, line 203: if click type is right click:')

이라고 나오네요 수정 도와주실뿐 계신가요...?


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원"

                        

                

every 0.1 second:

    loop all players:

        if inventory name of current inventory of loop-player contains "{@s}":

            set slot 45 of current inventory of loop-player to clock named "&a[ &f남은 변동 시간 &a]" with lore "&cㄴ &f%{stock.hour}%&e시 &f%{stock.min}%&e분 &f%{stock.sec}%&e초"

            loop {stock.item} times:

                add 1 to {_슬롯}

                add 1 to {_주식개수}

                set slot {_슬롯}-1 of current inventory of loop-player to {stockitem::%{_주식개수}%} named "%{stock::%{_주식개수}%}%" with lore "||&e[ &f가격 &e] &f%{stockmoney::%{_주식개수}%}% &c원||||&e[ &f가격 변동 &e] &f%{stockcnmoney::%{_주식개수}%}%"

                stop

        

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 current inventory of player is "{@s}":

        cancel event

        if raw slot < 36:

            if click item is not air:

                if click type is left click:

                    if number of air in the player's inventory >= 1:

                        set {_lore::*} to lore of click item split by "||"

                        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 click:

                    if player has 1 of {stockitem::%clicked slot+1%} named "%{stock::%clicked slot+1%}%":

                        set {_lore::*} to lore of click item split by "||"

                        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


6개의 댓글

qsef1256
2022.12.18

https://skripthub.net/docs/?id=2137 참고, right click이 아니라 right mouse button 입니다

seachan07
2022.12.18
@qsef1256

혹시 해도 안되는데 어디 부분을 어떻게 수정해야 될까요? 스크립트 짠지 얼마 안되서..

qsef1256
2022.12.18
@seachan07

if click type is left mouse button:

seachan07
2022.12.18
@qsef1256

혹시 이렇게가 맞나요? 아직도 안되서요..

on inventory click:

if inventory name of current inventory of player is "{@s}":

cancel event

if raw slot < 36:

if click item is not air:

if click type is left mouse button:

if number of air in the player's inventory >= 1:

set {_lore::*} to lore of click item split by "||"

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 split by "||"

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

qsef1256
2022.12.18
@seachan07

에디터 -> 단락 -> 코드로 감싸서 올려주시기 바랍니다. 들여쓰기가 전부 깨져서 구동이 불가합니다.

seachan07
2022.12.18
@qsef1256

혹시 ㅅㅊ#0728 로 친추 해주실수 있나요 제가 초보라서요...