개인 자료란 (JE)

  서버 커뮤니티

Profile 꽃게 대표칭호 없음
Profile

질문하기 스크립트

출석체크 스크립트

2024.07.17 조회 수 69 추천 수 0
이해도 초보자 
게임버전 (JE) 1.20, 1.20.1 
게임버전 (BE) 1.20.x 
스크립트 버전 2.7.0 beta3 

아는 지인에게 받은 건데 스크립트가 작동하지 않아요

도와주실 수 있나요,,, 

options:

    j : &7[ &5출석체크 &7]

    e : &c[ &fERROR &c]


function check(p: player, page: int):

    set {_inv} to chest with 6 row named "{@j} 출석체크 %출석체크.%{_p}%}% 일차"

    set {_num} to ({_page}*45)-45

    set {_slot} to 1

    loop 45 times:

        if {출석체크.%{_p}%} is not {_slot}+{_num}:

            set slot {_slot}-1 of {_inv} to book named "&7{_slot}+{_num}% 일차 보상" with lore "&eㄴ 우클릭시 보상을 확인하실 수 있습니다." and "&eㄴ 좌클릭시 보상을 받을 수 있습니다."

        else:

            set slot {_slot}-1 of {_inv} to book of protection 10 with no nbt named "&7%{_slot}+{_num}% 일차 보상" with lore "&eㄴ 우클릭시 보상을 확인하실 수 있습니다." and "&eㄴ 좌클릭시 보상을 받을 수 있습니다."

        add 1 to {_slot}

    set slot 45 of {_inv} to arrow named "&f&l%{_page} - 1%"

    set slot 49 of {_inv} to arrow named "&f&l%{_page}%"

    set slot 53 of {_inv} to arrow named "&f&l%{_page} + 1%"

    open {_inv} to {_p}


function checks(p: player, name: int):

    set {_inv} to chest with 3 rows named "%{_name}% 일차 보상 편집"

    set {_slot} to 1

    loop 27 times:

        set slot {_slot}-1 of {_inv} to {item.%{_name}%::%{_slot}%}

        add 1 to {_slot}

    open {_inv} to {_p}


function checkss(p: player, name: int):

    set {_inv} to chest with 3 rows named "%{_name}% 일차 보상 확인"

    set {_slot} to 1

    loop 27 times:

        set slot {_slot}-1 of {_inv} to {item.%{_name}%::%{_slot}%}

        add 1 to {_slot}

    open {_inv} to {_p}


command /출석체크:

    trigger:

        check(player, 1)


on inventory click:

    if player's current inventory's name contains "&7[ &b출석체크 &7]":

        cancel event

        if player is op:

            if clicked slot < 45:

                if clicked type is left mouse button:

                    set {_name} to uncolored name of clicked item

                    replace all " " and "일차" and "보상" with "" in {_name}

                    set {_name} to {_name} parsed as integer

                    checks(player, {_name})

                if clicked type is right mouse button:

                    set {_name} to uncolored name of clicked item

                    replace all " " and "일차" and "보상" with "" in {_name}

                    set {_name} to {_name} parsed as integer

                    if {출석체크.%player%} is {_name}:

                        if {check.list %{_name}%::*} contains player:

                            send "{@e} 이미 %{출석체크.%player%}%일차 보상을 받으셨습니다."

                        else:

                            give {item.%{_name}%::*} to player

                            add player to {check.list.%{_name}%::*}

                    else:

                        send "{@e} 자신의 일차에 맞는 보상을 클릭해주세요."

        else:

            if clicked slot > 45:

                if clicked type is left mouse button:

                    set {_name} to uncolored name of clicked item

                    replace all " " and "일차" and "보상" with "" in {_name}

                    set {_name} to {_name} parsed as integer

                    checkss(player, {_name})

                if clicked type is right mouse button:

                    set {_name} to uncolored name of clicked item

                    replace all " " and "일차" and "보상" with "" in {_name}

                    set {_name} to {_name} parsed as integer

                    if {출석체크.%player%} is {_name}:

                        if {check.list.%{_name}%::*} contains player:

                            send "{@e} 이미 %{출석체크.%player%}%일차 보상을 받으셨습니다."

                        else:

                            give {item.%{_name}%::*} to player

                            add player to {check.list.%{_name}%::*}

                        else:

                            send "{@e} 자신의 일차에 맞는 보상을 클릭해주세요."

        if clicked raw slot is 45 or 53:

            set {_inv} to uncolored name of event-item

            set {_inv} to {_inv} parsed as number

            if {_inv} > 0:

                check(player, {_inv})

        if player's current inventory's name contains "확인":

            cancel event


on inventory close:

    if player's current inventory's name contains "편집":

        if player is op:

            set {_name} to uncolored name of player's current inventory

            replace all " " and "편집" and "일차" and "보상" with "" in {_name}

            set {_name} to {_name} parsed as integer

            set {_slot} to 0

            loop 27 times:

                add slot {_slot} of player's current inventory to {item.%{_name}%::*}

                add 1 to {_slot}

            send "{@j} 성공적으로 저장됐습니다."


every 1 minute:

    if "%now%" contains "오전 12:00" or "12:00 AM":

        loop all offlineplayers:

            add 1 to {출석체크.%lopp-offlineplayers%}

            broadcast "{@j} &f출석체크가 초기화되었습니다"


on first join:

    set {출석체크.%event-player%} to 1


on join:

    if {출석체크.%event-player%} is not set:

    set {출석체크.%event-player%} to 1





1개의 댓글

환타비
2024.07.17

?

이렇게 작성 하시면 도와드릴 수 있는 사람도 도와드릴 수 없어용

 

적어도 무엇이 어떻게 안되는지 인게임에서 어디부분이 에러가 나는지 알려주셔야 도움을 드릴수 있어용

뉴스 및 창작물
/files/thumbnails/500/937/003/262x150.crop.jpg?20241210152228

상품

《마인크래프트 1일 1페이지 아이디어 북》 출간!

다코미

2024-12-10

0

/files/thumbnails/557/934/003/262x150.crop.jpg?20241206162647

상품

《마인크래프트 건축가이드 미니 프로젝트 4》 출간!

다코미

2024-12-06

0

/files/thumbnails/246/933/003/262x150.crop.jpg?20241204080049

업데이트

[마인크래프트 1.21.4 업데이트]

제작대

2024-12-04

0

/files/thumbnails/477/930/003/262x150.crop.jpg?20241201030912

레드스톤

뉴진스 - Super Shy | 마크 노트블럭 커버

노트블럭전문가

2024-12-01

0

/files/thumbnails/483/916/003/262x150.crop.jpg?20241127115329

레드스톤

[노트블럭 커버] 뉴진스 - ETA 3

노트블럭전문가

2024-11-27

1