개인 자료란 (JE)

  서버 커뮤니티

Profile seah 대표칭호 없음
Profile

질문하기 스크립트

도박 스크립트 도와주세요 ㅠㅠ

2023.11.05 조회 수 153 추천 수 0
이해도 초보자 
게임버전 (JE) 1.16.5 
게임버전 (BE) 1.16.x 

options:

    c: &a[ &f돈 &a]

    

variables:

    {money::%player%} = 0

    

on load:

    broadcast ""

    broadcast "{@c} &f유월&e(&fYouwol&e) &f님의 &c스크립트&f를 사용중입니다."

    broadcast ""

    

command /돈 [<text>] [<player>] [<integer>]:

    trigger:

        if arg 1 is not set:

            message ""

            message "{@c} &f/돈 &e확인 &f- 자신이 가지고 있는 &c돈&f을 &e확인&f합니다."

            message "{@c} &f/돈 &e보내기 &c[&f닉네임&c] [&f금액&c] &f- 자신의 &e돈&f을 &c상대방&f에게 보냅니다."

            message ""

            if player is op:

                message "{@c} &f/돈 &e주기 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c추가&f합니다."

                message "{@c} &f/돈 &e빼기 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c차감&f합니다."

                message "{@c} &f/돈 &e설정 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c설정&f합니다."

                message ""

                message "{@c} &f위 명령어 &e3&f개는 &c오피&f전용 명령어입니다."

                message ""

                stop

            stop

            

        if arg 1 is "확인":

            message ""

            message "{@c} &f당신이 가지고 있는 &e소지금&f은 &c%{money::%player%}%&f원 입니다."

            message ""

            stop

            

        if arg 1 is "계좌이체":

            if arg 2 is set:

                if arg 3 is set:

                    if arg 3 < {money::%player%}:

                        if arg 3 > 0:

                            add arg 3 to {money::%arg-2%}

                            remove arg 3 from {money::%player%}

                            message ""

                            message "{@c} &f당신은 &e%arg-2%&f에게 &c%arg-3%&f원을 보내셨습니다."

                            message ""

                            message "" to arg-2

                            message "{@c} &f당신은 &e%player%&f에게 &c%arg-3%&f원을 받으셨습니다." to arg-2

                            message "" to arg-2

                            play sound "block.note.pling" with volume 0.3 at arg 2

                            stop

                            

                        else:

                            message ""

                            message "{@c} &e돈&f은 &c0&f원 이하로 보내실 수 없습니다."

                            message ""

                            stop

                            

                    else:

                        message ""

                        message "{@c} &f당신의 &e소지금&f보다 &많은 양&f은 보내실 수 없습니다."

                        message ""

                        stop

                        

                else:

                    message ""

                    message "{@c} &f/돈 &e계좌이체 &c[&f닉네임&c] [&f금액&c] &f- 자신의 &e돈&f을 &c상대방&f에게 보냅니다."

                    message ""

                    stop

                    

            else:

                message ""

                message "{@c} &f/돈 &e계좌이체 &c[&f닉네임&c] [&f금액&c] &f- 자신의 &e돈&f을 &c상대방&f에게 보냅니다."

                message ""

                stop

                

        if arg 1 is "주기":

            if player is op:

                if arg 2 is set:

                    if arg 3 is set:

                        add arg 3 to {money::%arg-2%}

                        message ""

                        message "{@c} &f당신은 &e%arg-2%&f에게 &c%arg-3%&f원을 주셨습니다."

                        message ""

                        send arg-2 title "{@c}" with subtitle "&c오피&f님에게 &e돈&f을 받으셨습니다." for 2 seconds

                        play sound "block.note.pling" with volume 0.3 at arg 2

                        stop

                        

                    else:

                        message ""

                        message "{@c} &f/돈 &e주기 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c추가&f합니다."

                        message ""

                        stop

                        

                else:

                    message ""

                    message "{@c} &f/돈 &e주기 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c추가&f합니다."

                    message ""

                    stop

                        

        if arg 1 is "빼기":

            if player is op:

                if arg 2 is set:

                    if arg 3 is set:

                        remove arg 3 from {money::%arg-2%}

                        message ""

                        message "{@c} &f당신은 &e%arg-2%&f에게 &c%arg-3%&f원을 빼셨습니다."

                        message ""

                        send arg-2 title "{@c}" with subtitle "&c오피&f님께서 &e돈&f을 빼셨습니다." for 2 seconds

                        play sound "block.note.pling" with volume 0.3 at arg 2

                        stop

                        

                    else:

                        message ""

                        message "{@c} &f/돈 &e빼기 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c차감&f합니다."

                        message ""

                        stop

                        

                else:

                    message ""

                    message "{@c} &f/돈 &e빼기 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c차감&f합니다."

                    message ""

                    stop

                    

        if arg 1 is "설정":

            if player is op:

                if arg 2 is set:

                    if arg 3 is set:

                        set {money::%arg-2%} to arg 3

                        message ""

                        message "{@c} &f당신은 &e%arg-2%&f의 돈을 &c%arg-3%&f원으로 설정하셨습니다."

                        message ""

                        send arg-2 title "{@c}" with subtitle "&c오피&f님께서 &e돈&f을 설정하셨습니다." for 2 seconds

                        play sound "block.note.pling" with volume 0.3 at arg 2

                        stop

                        

                    else:

                        message ""

                        message "{@c} &f/돈 &e설정 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c설정&f합니다."

                        message ""

                        stop

                        

                else:

                    message ""

                    message "{@c} &f/돈 &e설정 &c[&f닉네임&c] [&f금액&c] &f- &c[&f닉네임&c]&f의 &e돈&f을 &c설정&f합니다."

                    message ""

                    stop







options: 

    d : &b[ &f도박 &b] &f

command /도박5 [<integer>]:

    trigger: 

        if player's money > arg 1: 

            set {money::%player%} to arg 1 

            open chest with 3 rows named " 도박 " to player

            set slot 13 of current inventory of player to gold ingot named "&c클릭시 &e도박&f이 시작됩니다!" with lore "||&7도박 성공 확률은 &e50%%&7입니다!||&b(동전의 앞면이 나올시 성공입니다)||&e당신이 건 돈 :%arg 1%원" 

            stop

        else: 

            message "{@d} 돈이 모자랍니다"

            stop

            

on inventory click: 

    if inventory name of current inventory of player is " 도박 ":  

        if name of click item is "&c클릭시 &e도박&f이 시작됩니다!": 

            cancel event

            subtract {money::%player%} from player's money

            message "{@d} 동전이 튕겨집니다"

            wait 10 tick

            message "{@d} 팅! 뱅그르르~~~!"

            chance of 50%: 

                add {money::%player%}*2 to player's money

                message "{@d} 동전의 앞면이 나왔으므로 건 돈에 2배를 드립니다!"  

            else: 

                message "{@d} 돈을 잃었습니다 ㅠㅠ"

            close player's inventory  


했는데 도박이 안되요 창뜨고 돌아가는데 돈이 빠지거나 더해지지않고 제가 도박에 건 돈으로 돈이 다시 설정되요




4개의 댓글

코코냐
2023.11.05

돈 스크립트가 실제 돈과 따로놀고있습니다. 지금 돈 스크립트에서는 플레이어의 실제 돈이 아니라, 변수로 따로 만지고있습니다.

seah
2023.11.06
@코코냐

그럼 어떻게 해야하나요? 돈 스크립트를 다시 짜야하나요..?아니면 고치면 되는건가요?

 

코코냐
2023.11.06
@seah

다시 짜야합니다. player's money가 참조되는걸 보면 외부 돈 api가 있는것 같은데, 굳이 변수로 다시 구현할 필요가 없습니다.

seah
2023.11.06
@코코냐

네..감사합니다