개인 자료란 (JE)

  서버 커뮤니티

Profile Ceroi 대표칭호 없음

Ceroi 6d10bf9e7682449694fded3e69fdb3f3

Profile

질문하기 스크립트

팀 스크립트 오류

2021.01.27 조회 수 712 추천 수 0
이해도 구버전 
게임버전 (JE) 스피곳 
게임버전 (BE) 모르겠습니다 
스크립트 버전 기본문법은 알아요) 
스크립트 애드온 2.2-dev28 

팀 끼리 안때려지게하려고하는데 안되네요.. 필요한 애드온이나 잘못된 구문이 있을까요?

[14:58:04 ERROR]: 'set {team.chatingmode.%arg 2%} to' is not a boolean (yes/no) (팀.sk, line 196: set {team.chatingmode.%arg 2%} to')

[14:58:04 ERROR]: Use 'attacker' and/or 'victim' in damage events (팀.sk, line 240: if {team.team.%player%} is set:')

[14:58:04 INFO]: [Skript] Encountered 2 errors while reloading 팀.sk!

options:

    p: &3&o[ &f&oTeam &3&o]&f


on Join:

    set {online.%player%} to true

    if {team.team.%player%} is set:

        loop {team.userlist_%{team.team.%player%}%::*}:

            send "&f" to loop-value

            send "&a[ 팀 접속 알림 ] &f%player% 님께서 서버에 접속하셨습니다." to loop-value

            send "&f" to loop-value


on Quit:

    set {online.%player%} to false

    if {team.team.%player%} is set:

        loop {team.userlist_%{team.team.%player%}%::*}:

            send "&f" to loop-value

            send "&a[ 팀 퇴장 알림 ] &f%player% 님께서 서버에서 퇴장하셨습니다." to loop-value

            send "&f" to loop-value

            

command /팀 [<string>] [<text>]:

    trigger:

        if arg 1 is not set:

            send "{@p} /팀 생성 <팀명> &7| &f팀을 생성합니다."

            send "{@p} /팀 수락/거절 &7| &f팀초대를 수락/거절 합니다."

            send "{@p} /팀 탈퇴 &7| &f자신의 팀에서 탈퇴합니다."

            send "{@p} /팀 정보 &7| &f내팀의 정보를 확인합니다."

            send "{@p} /팀 목록 &7| &f팀 목록을 확인합니다."

            send "{@p} /팀 초대 <플레이어> &7| &f자신의 팀에 초대합니다."

            send "{@p} /팀 채팅 &7| &f팀 채팅를 활성화/비활성화 합니다."

            send "{@p} /팀 추방 <플레이어> &7| &f자신의 팀에서 추방합니다."

            if player is op:    

                send "{@p} /팀 아이템설정 &7| &f손에 있는 아이템이름을 팀 생성권으로 만듭니다."

            exit

        if arg 1 is not "생성" or "수락" or "거절" or "탈퇴" or "정보" or "목록" or "초대" or "채팅" or "추방" or "아이템설정":

            send "{@p} 알 수 없는 명령어입니다."

            send "{@p} /팀 으로 도움말을 참조하세요."

            exit

        if arg 1 is "생성":

            if tool's name is "%{team.itemformake}%":

                if arg 2 is set:

                    if {team.team.%player%} is not set:

                        set {_f} to arg 2

                        replace all "&" with "§" in {_f}

                        replace all "_" with " " in {_f}

                        if "%{team.list::*}%" doesn't contain "%{_f}%":

                            add {_f} to {team.list::*}

                            set {team.team.%player%} to {_f}

                            set {team.master.%{team.team.%player%}%} to player

                            add player to {team.userlist_%{team.team.%player%}%::*}

                            add 1 to {team.playeramount.%{team.team.%player%}%}

                            remove 1 of player's tool from player

                            broadcast "&f"

                            broadcast "&f"

                            broadcast "{@p} &e%player% &f님께서 %{_f}% &f팀을 만드셨습니다."

                            broadcast "&f"

                            broadcast "&f"

                        else:

                            send "{@p} 이미 있는 팀 이름입니다. 다른 팀 이름을 설정해주세요."

                    else:

                        send "{@p} 당신의 팀이 이미 존재합니다."

                else:

                    send "{@p} 생성할 팀 이름을 적어주세요."

            else:

                send "{@p} 팀 생성권을 손에 들어주세요 !"

        if arg 1 is "탈퇴":

            if {team.team.%player%} is set:

                if {team.master.%{team.team.%player%}%} is not player:

                    loop {team.userlist_%{team.team.%player%}%::*}:

                        send "&f" to loop-value

                        send "&f" to loop-value

                        send "{@p} &e%player% &f님께서 팀에서 탈퇴하셨습니다." to loop-value

                        send "&f" to loop-value

                        send "&f" to loop-value

                    send "{@p} 성공적으로 팀에서 탈퇴하셨습니다."

                    delete {team.team.%player%}

                    delete {team.userlist_%{team.team.%player%}%::%player%}

                else:

                    if {team.playeramount.%{team.team.%player%}%} > 1:

                        send "{@p} 팀 마스터는 팀원을 모두 추방한후 나갈수 있습니다."

                    else if {team.playeramount.%{team.team.%player%}%} = 1:

                        send "{@p} 성공적으로 팀에서 탈퇴하셨습니다."

                        delete {team.master.%{team.team.%player%}%}

                        delete {team.list::%{team.team.%player%}%}

                        delete {team.playeramount.%{team.team.%player%}%}

                        delete {team.userlist_%{team.team.%player%}%::*}

                        delete {team.team.%player%}

            else:

                send "{@p} 당신의 팀이 존재하지 않습니다."

        if arg 1 is "정보":

            if {team.team.%player%} is set:

                send "&f &f &f &f &f &3&o[ &f&o팀 정보 &3&o]&f &f &f &f &f"

                send "&f팀 마스터 : %{team.master.%{team.team.%player%}%}% 님"

                send "&f팀원 수 : %size of {team.userlist_%{team.team.%player%}%::*}%"

                send "&f팀원 목록 :"

                loop {team.userlist_%{team.team.%player%}%::*}:

                    send "&9[ &f%loop-index% &9][ &f이름 : %loop-value% &9]"

                    exit loop

            else:

                send "{@p} 당신의 팀이 존재하지 않습니다."

        if arg 1 is "목록":

            if {team.list::*} is set:

                loop {team.list::*}:

                    send "&9[ &f%loop-index% &9][ &f%loop-value% &9]"

            else:

                send "{@p} 만들어진 팀이 없습니다.."

                exit

        if arg 1 is "초대":

            if {team.accepting.%arg 2%} is not set:

                if {team.team.%player%} is set:

                    if {team.team.%arg 2%} is not set:

                        if {team.master.%{team.team.%player%}%} is player:

                            if {online.%arg 2%} is true:

                                if player is not arg 2:

                                    set {team.accept.%player%} to 1

                                    set {team.accepting.%arg 2%} to 1

                                    set {_qInt} to player

                                    send "{@p} %arg 2% 님께 팀 초대를 보냈습니다."

                                    send "{@p} %player% 님이 당신에게 팀초대를 보냈습니다." to "%arg 2%" parsed as player

                                    send "{@p} 팀명 : %{team.team.%player%}%" to "%arg 2%" parsed as player

                                    send "{@p} 수락 하시려면 /팀 수락 , 거절 하시려면 /팀 거절" to "%arg 2%" parsed as player

                                    send "{@p} 이 초대는 30초 후 자동 거절 됩니다." to "%arg 2%" parsed as player

                                    loop 30 times:

                                        wait 1 second

                                        if {team.answer.%arg 2%} is "수락":

                                            delete {team.accepting.%arg 2%}

                                            set {team.team.%arg 2%} to {team.team.%player%}

                                            add arg 2 to {team.userlist_%{team.team.%player%}%::*}

                                            exit

                                        if {team.answer.%arg 2%} is "거절":

                                            send "{@p} 팀 초대 가 거절되었습니다."

                                else:

                                    send "{@p} 자신에게 팀 초대를 보낼수 없습니다."

                            else:

                                send "{@p} 해당 플레이어를 찾을수 없습니다."

                        else:

                            send "{@p} 팀 초대는 팀 마스터만 사용할수 있습니다."

                    else:

                        send "{@p} 해당 플레이어의 팀이 이미 존재합니다."

                else:

                    send "{@p} 당신의 팀이 존재하지 않습니다."

            else:

                send "{@p} 해당 플레이어는 다른 팀 초대를 보유중입니다."

        if arg 1 is "수락":

            if {team.accepting.%player%} is set:

                set {team.answer.%player%} to "수락"

                send "{@p} 팀 초대를 수락했습니다 !"

                wait 1 second

                loop {team.userlist_%{team.team.%{_qInt}%}%::*}:

                    send "&f" to loop-value

                    send "&f" to loop-value

                    send "&a[ 팀 가입 알림 ] &f%player% 님이 팀에 가입하셨습니다 !" to loop-value

                    send "&f" to loop-value

                    send "&f" to loop-value

                    exit loop

            else:

                send "{@p} 당신에게 온 팀 초대가 없습니다."

        if arg 1 is "거절":

            if {team.accepting.%player%} is set:

                set {team.answer.%player%} to "거절"

                send "{@p} 팀 초대를 거절했습니다 !"

                exit

            else:

                send "{@p} 당신에게 온 팀 초대가 없습니다."

        if arg 1 is "채팅":

            if {team.team.%player%} is set:

                if {team.chatingmode.%player%} is true:

                    delete {team.chatingmode.%player%}

                    send "{@p} 팀 채팅를 비활성화 했습니다 !"

                    exit

            else:

                send "{@p} 당신의 팀이 존재하지 않습니다."

                exit

            if {team.team.%player%} is set:

                if {team.chatingmode.%player%} is not set:

                    set {team.chatingmode.%player%} to true

                    send "{@p} 팀 채팅를 활성화 했습니다 !"

                    exit

            else:

                send "{@p} 당신의 팀이 존재하지 않습니다."

                exit

        if arg 1 is "추방":

            if arg 2 is set:

                if {online.%arg 2%} is true:

                    if {team.master.%{team.team.%player%}%} is player:

                        if arg 2 is not player:

                            loop {team.userlist_%{team.team.%player%}%::*}:

                                if "%loop-value%" is "%arg 2%":

                                    set {_xInt} to 1

                                    stop

                                if {_xInt} is 1:

                                    delete {team.team.%arg 2%}

                                    delete {team.userlist_%{team.team.%player%}%::%player%}

                                    set {team.chatingmode.%arg 2%} to

                                    loop {team.userlist_%{team.team.%player%}%::*}:

                                        send "&f" to loop-value-2

                                        send "&f" to loop-value-2

                                        send "{@p} %arg 2% 님께서 %player% 님에 의해 추방당하셨습니다." to loop-value-2

                                        send "&f" to loop-value-2

                                        send "&f" to loop-value-2

                                    delete {_xInt}

                                    stop

                                else:

                                    send "{@p} 해당 플레이어는 당신의 팀에 없습니다 !"

                                    exit    

                        else:

                            send "{@p} 자신을 추방할수 없습니다 !"

                    else:

                        send "{@p} 팀 추방은 팀 마스터만 사용할수 있습니다."

                else:

                    send "{@p} 해당 플레이어를 찾을수 없습니다."

            else:

                send "{@p} 추방할 플레이어를 적어주세요."

        if arg 1 is "아이템설정":

            if player is op:

                if player's tool is not air:

                    if tool's name is set:

                        set {team.itemformake} to tool's name

                        send "{@p} 팀 생성권이 %tool's name% &f으로 설정되었습니다."

                    else:

                        send "{@p} 손에 있는 아이템의 이름을 설정해주세요."

                else:

                    send "{@p} 아이템을 손에 들어주세요."

            else:

                send "{@p} 권한이 없습니다."

                

on chat:

    if {team.chatingmode.%player%} is true:

        cancel event

        loop {team.userlist_%{team.team.%player%}%::*}:

            send "&a[ 팀 채팅 ] &7%player% : %message%"

    else if {team.team.%player%} is set:

        set message format to "&3&o[ &f&o%{team.team.%player%}% &3&o] %message format%"

        

# 팀끼리 공격을 못하게 하고 싶으시면 이 문구 밑의 #를 다 뺴주세요

        

on damage of player:

    if {team.team.%player%} is set:

        loop {team.userlist_%{team.team.%player%}%::*}:

            if "%loop-value%" is "%victim%":

                cancel event

                send "{@p} 같은 팀끼리는 공격할수 없습니다 !"





1개의 댓글

스크립터브혼
2021.01.27

에러 메세지를 해석해보세요. 영어를 잘 모르시면 번역기를 쓰시면 됩니다.

[14:58:04 ERROR]: 'set {team.chatingmode.%arg 2%} to' is not a boolean (yes/no) (팀.sk, line 196: set {team.chatingmode.%arg 2%} to')

번역) 'set {team.chatingmode.%arg 2%} to' 는 boolean이 아닙니다.

 > 코드가 잘못돼서 그렇습니다 [Change:Set]이펙트는 set A to B 형태로 써야합니다.


[14:58:04 ERROR]: Use 'attacker' and/or 'victim' in damage events (팀.sk, line 240: if {team.team.%player%} is set:')

번역) damage 이벤트에서는 attacker나 victim을 사용해야합니다.

> [On Damage] 이벤트에서는 player가 아닌 [Attacker]나 [Victim]을 사용합니다.


[14:58:04 INFO]: [Skript] Encountered 2 errors while reloading 팀.sk!

번역) 팀 스크립트에서 두 에러가 발생했습니다.