개인 자료란 (JE)

  서버 커뮤니티

Profile 해피 대표칭호 없음
Profile

강좌 자바 에디션(JE) 플러그인 개발

해피의 스크립트 강좌 #6 ( 마인리스트 )

2019.12.03 조회 수 4036 추천 수 0
분야 스크립트 
게임버전 모든버전 

스크립트 난이도 : ★★☆☆☆

스크립트 응용 범위 : ★★★☆☆

 

안녕하세요! 해피입니다.

 

이번 스크립트로는 마인리스트 스크립트를 가져와봤습니다.

 

서버를 홍보하기에 가장 좋은 곳은 마인리스트인데요. 이 마인리스트를 추천하게 되면 지급해주는 보상제도가 있습니다.

 

하지만 보상제도는 플러그인으로 되어 있고 플러그인에서는 보상 아이템을 주는것이 한계가 있습니다.

 

그래서 저는 다른 방법을 채택하여 마인리스트를 스크립트로 연동시켜 제작해봤습니다.

 

그럼 한번 바로 알아보도록 하겠습니다 !

구분선.png

 

[ 스크립트 구문 ]

 

 

options:
    a: &b&l[ &fMinelist &b&l] &f&l
command /명령어 [<player>]:
    trigger:
        if arg 1 is set:
            add 1 to {마인카운트}
            add 1 to {마인리스트퀘스트.%arg 1%}
            broadcast "&f&l님이 %{마인카운트}%번째로 추천을 하였습니다 !"
            broadcast "&f%player%"
            broadcast "{@a} :: &a&l[ &f&l/마인리스트 &a&l] &f&l추천하고 보상 받아가세요 !"
            broadcast "{@a} :: &a&l[ &f&l/마인리스트 &a&l] &f&l큐브랜덤박스 , 미스터리랜덤박스 , 마인리스트코인 , 출석코인 , 인첸트병64개"
            broadcast ""
            loop {마인리스트.item::*}:
                give loop-value to arg 1
        
command 마인리스트설정:
    permission: op.op
    permission message: &c&l당신은 권한이 없습니다.
    trigger:
        open chest with 1 row named "&e&l마인리스트 보상" to player
        loop {마인리스트.item::*}:
            add 1 to {_player}
            set slot {_player}-1 of current inventory of player to loop-value
                    
on inventory close:
    if inventory name of current inventory of player is "&e&l마인리스트 보상":
        delete {마인리스트.item::*}
        loop 9 times:
             add slot (loop-number)-1 of current inventory of player to {마인리스트.item::*}


every 1 minutes:
    if "%now%" contains "오후 11:59":
        broadcast "&b&l[ &f&l자정 &b&l] &f&l자정이 되어 마인리스트 , 신입수 가 초기화 되었습니다."
        broadcast "&b&l[ &f&l자정 &b&l] &f&l마인리스트 추천 한번씩 부탁 드립니다. /마인리스트"
        delete {마인카운트}
         stop

 

구분선.png

 

[ 스크립트 설명 ]
 

사용전 주의사항!

해당 스크립트는  vofifier 플러그인과 GAListener 플러그인이 필요합니다. 해당 플러그인은 마인리스트 사이트에서 다운받을 수 있습니다.

그리고 마인리스트 명령어는 절대적으로 공개해서는 안됩니다. 공개가 되면 일단 유저들도 명령어를 사용해서 악의적으로 마인리스트 보상을 받을 수 있습니다.

 

options: 
    a: &b&l[ &fMinelist &b&l] &f&l 
command /명령어 [<player>]: #/명령어 로 되어 있는건 저도 이 스크립트를 사용중이기 때문에 저희서버 명령어를 알려드릴 수 없음으로 /명령어 로 대체하였습니다. 사용하실땐 /명령어 대신 진짜 명령어를 적으시면 되는데 명령어는 영어+숫자+특수문자까지 넣어 보안을 철저하게 하시는걸 추천 드립니다.
    trigger:
        if arg 1 is set: #[<player>] 칸에 플레이어 닉네임을 입력했을 경우
            add 1 to {마인카운트} #마인리스트 추천자 수를 1 추가합니다.
            add 1 to {마인리스트퀘스트.%arg 1%} #이 수치는 무시하셔도 또는 지우셔도 됩니다.
            broadcast "&f&l님이 %{마인카운트}%번째로 추천을 하였습니다 !" #앞에 닉네임이 없는 이유는 GAListener 에서 닉네임이 나오도록 설정해두었습니다. 그 이유로는 명령어로 추천하는 사람과 마인리스트 사이트에서 추천하는 사람을 가리기 위함입니다. 그래서 %{마인카운트}% 는 지금까지 추천한 수가 나오게 됩니다.
            broadcast "&f%player%" #여기서 %player% 넣은 이유는 명령어로 추천시 플레이어 닉네임이 나오고 마인리스트를 통해 추천한사람은 [<noen>] 라고 나옵니다. 즉 버그 유저를 분별하기 위함이죠 이걸 넣은 이유는 제가 예전에 무분별한 명령어 사용한 유저때문에 큰 피해를 본적이 있기 때문에 방어시스템 입니다.
            broadcast "{@a} :: &a&l[ &f&l/마인리스트 &a&l] &f&l추천하고 보상 받아가세요 !"
            broadcast "{@a} :: &a&l[ &f&l/마인리스트 &a&l] &f&l큐브랜덤박스 , 미스터리랜덤박스 , 마인리스트코인 , 출석코인 , 인첸트병64개"
            broadcast ""
            loop {마인리스트.item::*}: 
                give loop-value to arg 1 #마인리스트 보상을 플레이어에게 지급합니다.
          
        
command 마인리스트설정: #마인리스트 보상 설정
    permission: op.op #op.op 펼미션 설정
    permission message: &c&l당신은 권한이 없습니다. #펼미션이 없을 경우 나오는 메세지
    trigger:
        open chest with 1 row named "&e&l마인리스트 보상" to player #마인리스트 보상 이라는 1줄 상자를 오픈합니다.
        loop {마인리스트.item::*}: 
            add 1 to {_player}
            set slot {_player}-1 of current inventory of player to loop-value #마인리스트 보상 이러는 상자를 오픈한 곳에서 아이템을 저장시킵니다.
                    
on inventory close: #인벤토리를 닫을 경우
    if inventory name of current inventory of player is "&e&l마인리스트 보상": #그 인벤토리 이름이 마인리스트 보상일 시
        delete {마인리스트.item::*}
        loop 9 times:
            add slot (loop-number)-1 of current inventory of player to {마인리스트.item::*} #넣은 아이템을 보관하는 구문입니다.


every 1 minutes: #1분마다
    if "%now%" contains "오후 11:59": #오후 11시 59분일 경우 여기서 1분 빠르게 한 이유는 이게 1분 좀 늦어서 11시 59으로 해두면 12시에 명령어가 실행됩니다.
        broadcast "&b&l[ &f&l자정 &b&l] &f&l자정이 되어 마인리스트 , 신입수 가 초기화 되었습니다."
        broadcast "&b&l[ &f&l자정 &b&l] &f&l마인리스트 추천 한번씩 부탁 드립니다. /마인리스트" #초기화 됐다고 공지
        delete {마인카운트} #하루 누적 추천자수 초기화
         stop
구분선.png

 

다음에는 더욱 유용하고 실용적인 스크립트들을 가져오겠습니다!

 

혹시나 필요한 스크립트나 강좌가 필요한 플로그인 있다면 알려주세요 !

 

감사합니다!




8개의 댓글

아이스틴
2019.12.03

어려워서 포기했었는데 다시한번 해봐야겠군요

해피
2019.12.03
@아이스틴

한번 도전해보세요! 매우 간단합니다 !

DDang_
2020.01.14

votifier에서 명령어를 입력하게 하는건가요?

DDang_
2020.01.14

혹시 on vote: 를 사용한 구문은 없나요?

마크러버
2020.04.26

그 마인리스트 명령어는 서버목록에 자신의 서버를 추가하면 그냥 주나요?

어떻게 알죠?

시_나_몬
2020.05.16

마인리스트 사이트 어디에서 플러그인을 다운받을 수 있나요?

탱쥐
2022.11.05

GAListener 플러그인 에서 ㄴ추천했을떄 닉네임 나오게 어떻게 한다는거죠??

뉴스 및 창작물
/files/thumbnails/520/751/003/262x150.crop.jpg?20240328020349

레드스톤

마인크래프트 노트블록으로 만든 『 Bling‐Bang‐Bang‐Born 』 1

Sonttukk

2024-03-23

1

/files/thumbnails/467/742/003/262x150.crop.jpg?20240311163123

레드스톤

[노트블럭커버] MILGRAM -ミルグラム(밀그램)- / 아마네 「숙청 행진」 제 2심 2

리비온

2024-03-11

0

/files/thumbnails/846/741/003/262x150.crop.jpg?20240310221214

레드스톤

워든 vs 라마 200마리 1

GlassesFilm

2024-03-10

0

/files/thumbnails/542/739/003/262x150.crop.jpg?20240309070457

레드스톤

[고인의 명복을 빕니다][노트블럭]드래곤볼 GT 오프닝 - 점점 마음이 끌려

리비온

2024-03-09

0

/files/thumbnails/326/738/003/262x150.crop.jpg?20240328020414

레드스톤

마인크래프트 노트블록으로 만든 『 Build Our Machine 』

Sonttukk

2024-03-07

0

/files/thumbnails/952/735/003/262x150.crop.jpg?20240303230423

소식

복잡한 설치 없이 마크 애드온을 즐겨보세요! 새로운 블록, 몹, 조합법 등!

도라

2024-03-03

0

/files/thumbnails/212/735/003/262x150.crop.jpg?20240303113438

레드스톤

성장속도 실험

GlassesFilm

2024-03-03

3