개인 자료란 (JE)

  서버 커뮤니티


Profile SeoRong 대표칭호 없음

Seo_Rong 4361ed1b04af4b1c81f46c5e8d1bd3ea

Profile

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

간단히 만들어본 장신구 장착/해제 스크립트

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

설정해놓은 아이템을 들고 우클릭해주면 장착!해제! 가능한 스크립트입니다.


전제조건은 미리 아이템 이름에 종속된 변수들을 만들어둬야합니다.

단! 여기서 활용하는 아이템들은 이름만 같으면 동일하게 작동합니다. 다른 아이템이어도 이름만 같으면 동일하게 작동하니 유의해주세요

예시 명령어

command /장신구 [<text>] [<text>] [<text>] [<integer>]:
@trigger:
@@player is op
@@if arg-1 is not "등록" or "삭제":
@@@message "/장신구 [등록/삭제] [장신구이름] [장신구종류] [공격력] "
@@@message "입력 예 : /장신구 등록 test1 반지 1"
@@@message "입력 예 : /장신구 삭제 test1 (이름만 입력하면 알아서처리됩니다.)"
@@@stop
@@if arg-1 is "삭제":
@@@delete {%arg-2%.accesery}
@@@delete {%arg-2%.atk}
@@if arg-1 is "등록":
@@@set {%arg-2%.accesery} to arg-3
@@@set  {%arg-2%.atk} to arg-4



착용할때
 add {%player's tool's name%.공격력} to {%player%.%{%player%.slot}%.stat.공격력}

이렇게되면 플레이어가 아이템을 장착하면 스텟이 오르겠죠?

해제할때
subtract {%player's tool's name%.공격력} from {%player%.stat.공격력} 이런식으로 응용가능!



아래는 작동하는 예시틀입니다. 여기에 스텟과 각종 커맨드 활용가능한 펄미션 제공등등 여러 활용이 가능하죠

목걸이, 허리띠,귀걸이는 하나씩만 착용가능하다는 전제로 놔뒀고

반지같은경우에는 3개까지 착용가능하도록 제한을 걸어놨습니다

on rightclick:
@if player's tool's name contains "[착용중]":
@@if {%{%player%.%player's tool's name%}%.accesery} is "반지" or "허리띠" or "목걸이" or "귀걸이":
@@@set player's tool's name to {%player%.%player's tool's name%}
@@@subtract 1 from {%player%.%{%player's tool's name%.accesery}%}
@@@send action bar "[%{%{%player%.%player's tool's name% &2[착용중]}%.accesery}%] %player's tool's name% 을/를 [착용 해제] 합니다." to player
@@@stop

@if {%player's tool's name%.accesery} is "허리띠" or "목걸이" or "귀걸이":
@@if {%player%.%{%player's tool's name%.accesery}%} is 1:
@@@send action bar "이미 [%{%{%player%.%player's tool's name% &2[착용중]}%.accesery}%]를 착용 중입니다!" to player
@@@stop

@@add 1 to {%player%.%{%player's tool's name%.accesery}%}
@@set {%player%.%player's tool's name% &2[착용중]} to player's tool's name
@@set player's tool's name to "%player's tool's name% &2[착용중]"
@@send action bar " [%{%{%player%.%player's tool's name%}%.accesery}%] %{%player%.%player's tool's name%}% 을/를 [착용] 합니다." to player
@@stop

@if {%player's tool's name%.accesery} is "반지":
@@if {%player%.%{%player's tool's name%.accesery}%} is 3:
@@@send action bar "이미 [%{%player's tool's name%.accesery}%] 를 3개 착용 중입니다!" to player
@@@stop

@@add 1 to {%player%.%{%player's tool's name%.accesery}%}
@@set {%player%.%player's tool's name% &2[착용중]} to player's tool's name
@@set player's tool's name to "%player's tool's name% &2[착용중]"
@@send action bar "[%{%{%player%.%player's tool's name%}%.accesery}%] %{%player%.%player's tool's name%}% 을/를 [착용] 합니다." to player


1개의 댓글

SeoRong
2021.03.23

여기에 추가로 처리해주셔야되는건 아이템 클릭하거나 버릴때 아이템 이름에 [착용중]이 있으면 cancel event해주는것이 필요합니다! 적용하고 버려버리면 아이템창에 존재는안하는데 스텟만 올라가니까요!