개인 자료란 (JE)

  서버 커뮤니티

Profile SeoRong 대표칭호 없음

Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea

Profile

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

1. 야생 이용권을 만들어 보자! 타이머 설정, 이용권 스크립트

2020.06.09 조회 수 2862 추천 수 1
분야 스크립트 
게임버전 모든버전 

본 소스는 GNU GPL v3 라이선스하에 배포됩니다

제가 올려드리는 강좌들은 기본적인 이해를 돕기위한 최소한의 부분설명만을 적습니다.

응용을 위해 작성된 구문들이므로 상세구문만 가져다 쓰시면 됩니다. 입맛에 맞게 아무렇게나 쓰시면 됩니다.

내용은 크게 두가지로 구성되는 로직 설명 - 구현(어찌 굴러가는지 주석처리 덧붙임) 순서로 이루어집니다.


이용권을 구매할 수 있어야 할 것.

멀티 월드가 있어야할 것.

아이템을 우클릭하여 사용할것.

플레이어가 야생월드로 이동 할 것.

플레이어에게 변수(제한시간)를 주고 그게 매 초 줄어들도록 할 것.

플레이어가 남은 시간을 알 수 있도록 할 것.

추가 사용 시 추가비용이 들도록 할 것.

추가 사용 시 제자리에 있도록 할 것.

시간이 끝나면 인벤토리를 비우고  스폰으로 돌아오도록 할  것.



command /야생이용권구매:

@trigger:

@@if player's money < 3000: #플레이어의 돈이 부족한경우

@@@send "&6[&c알림&6] &c이용권 구입에 필요한 돈이 모자랍니다." to player #응 안되

@@@exit

@@subtract 3000 from player's money #돈 가져가기

@@give 1 paper named "&a&l야생월드 이용권" with lore "&f&l클릭 시 야생월드를 30분간 이용할 수 있습니다." and "&f&l야생내에서 추가로 사용할 수 있으며" and "&f&l이용시간은 30분으로 초기화됩니다." and "&f&l※이용시간을 다 쓸경우 인벤토리가 초기화됩니다.※" and "&f&l※이용시간이 남아있어도※" and "&f&l※야생월드를 벗어날 경우 인벤토리가 초기화됩니다.※" and "&f&l※야생에서 사용 시※" and "&f&l※12000원이 추가로 지출됩니다.※" to player #이용권 지급

@@send "&f&l야생월드 이용권을 성공적으로 구매했습니다!" to player


command /야생시간:

@trigger:

@@send "&f&l야생월드 이용시간이 %{wildtime.%player%}+1%초 남았습니다."

@@send "&f&l※이용시간을 다 쓸경우 인벤토리가 초기화됩니다.※"


on rightclick with paper:#이용권 사용 시

@if player's tool's name is "&a&l야생월드 이용권":#아이템 이름 검증


#플레이어가 시간 중 다시 사용할 경우

@@if player's world is "wild":

@@@if player's money < 12000:

@@@@send "&6[&c알림&6] &c이용권 사용에 필요한 돈이 모자랍니다." to player

@@@@exit

@@@subtract 12000 from player's money #추가비용 지출

@@@remove 1 of player's tool from player's inventory #이용권 회수

@@@set {wildtime.%player%} to 1800 #이용시간 설정

@@@send "&f&l남은시간이 30분으로 갱신되었습니다. 이전에 남아있던 시간은 사라집니다." 

@@@send "&c&l12000원이 추가로 지출되었습니다!"

@@@add 3 bread to player #빵 3개 지급

@@@exit


#플레이어가 그 외 월드에서 사용 할 경우

@@remove 1 of player's tool from player's inventory #이용권 회수

@@execute console command "mv tp %player% wild" #월드 이동

@@set {wildtime.%player%} to 1800 #이용시간 설정

@@send "&f&l야생월드 이용시간이 %{wildtime.%player%}%초 남았습니다."

@@add 3 bread to player #빵 3개 지급


every  second:  #매 초마다

@loop all players:

@@if {wildtime.%loop-player%} is -1:

@@@exit

@@subtract 1 from {wildtime.%loop-player%} # 이용시간 1초 빼기

@@if {wildtime.%loop-player%} = 0: # 이용시간을 다 쓰면

@@@send "&f&l시간이 다되어 10초 뒤 스폰으로 돌아갑니다." to loop-player 

@@@set {wildtime.%loop-player%} to -1 # 변수 비활성화

@@@wait 10 second # 10초 대기

@@@execute console command "clear %loop-player%" # 인벤토리 초기화

@@@execute console command "spawn %loop-player%" # 스폰이동


#월드 이동 시 체크하는 구문을 까먹었습니다. 아시는분은 댓글로 알려주시면 추가해놓겠습니다.




3개의 댓글

마크러버
2020.06.09

와우 하신다고 했더니 강좌가 나왔네요!!!

이걸 응용하면 좋겠네요

감사해용

껌주세요
2020.11.05

안녕하세요! 질문이 있어서 댓글 남깁니다!

실제로 적용해 보았는데 (1.16.2)

1. 시간이 다되었을때 콘솔에 You are not a player! 라는 문구가 뜨고 스폰으로 돌아가지지가 않음(디오피를 해도 그렇더라구요ㅠㅠ)

2. 툴슬롯에 티켓이 2장 이상일시 모두 사라짐

혹시 이 두가지 어떻게 해결해야 할지 알려주실수 있을까요?ㅠㅠ

SeoRong
2020.11.29
@껌주세요

구문적어주시면 알려드리겠습니다.

뉴스 및 창작물
/files/thumbnails/762/770/003/262x150.crop.jpg?20240418073724

레드스톤

T.B.H (고민중독) | 노트블럭 버전 | NoteBlock Cover [한국어 영어 중국어 가사 추가]

노트블럭전문가

2024-04-18

0

/files/thumbnails/218/767/003/262x150.crop.jpg?20240412130213

레드스톤

우리의 꿈 - 원피스 오프닝

노트블럭전문가

2024-04-12

0

/files/thumbnails/505/766/003/262x150.crop.jpg?20240411122306

레드스톤

기동전사 건담 수성의 마녀 | 노트블럭 커버 1

노트블럭전문가

2024-04-11

1

/files/thumbnails/932/765/003/262x150.crop.jpg?20240410124459

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

노트블럭전문가

2024-04-10

0

/files/thumbnails/403/765/003/262x150.crop.jpg?20240409190538

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

Sonttukk

2024-04-09

4

/files/thumbnails/161/758/003/262x150.crop.jpg?20240331105743

레드스톤

라마 침 분수대 1

GlassesFilm

2024-03-31

0

/files/thumbnails/520/751/003/262x150.crop.jpg?20240328020349

레드스톤

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

Sonttukk

2024-03-23

3