회원가입

로그인

이메일 주소
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기

NamedTrigger 백분 활용하기

Profile
wysohn

오늘 트리거를 만들면서 NamedTrigger를 사용하게 되어서 한번 강좌를 작성해봅니다.


NamedTrigger

지명 트리거라고도 합니다. 일반적인 트리거와 다르게 직접 파일을 생성해서만 만들 수 있으며 혼자서는 작동하지 않고 다른 트리거를 거쳐야 사용 가능합니다.

예를들어

NamedTrigger/message.trg

// msg
#MESSAGE msg

라는 지명 트리거를 만들었다면 다른 트리거 (지명트리거 내에서도 지명트리거를 사용 할 수 있습니다!) 에서 이런식으로 사용합니다.

CommandTrigger/mycmd.trg

msg = "hello TRG!"
#CALL "message"

쉽죠?

응용

NamedTrigger를 활용하면 중복되는 코드를 많이 줄일 수 있습니다.

예를들어 에센셜에서 쿨다운을 가져오는 코드를 만들어봅시다.

NamedTrigger/essentials/cooldown.trg

// player
// kitName

// kit_cooldown

ess_plugin = plugin("Essentials")
IF ess_plugin
    IMPORT com.earth2me.essentials.Kit
    IMPORT java.lang.System

    user = ess_plugin.getUser(player)
    kit = Kit(kitName, ess_plugin);

    kit_cooldown = kit.getNextUse(user) - System.currentTimeMillis()
    kit_cooldown = kit_cooldown / 1000

ENDIF

아마 눈치 채셨을지 모르겠지만 위의 playerkitName 은 이 지명트리거가 작동하려면 있어야 하는 변수를 표시 해 둔 것 입니다. 이렇게 미리 해두시면 나중에 헷갈리지 않겠죠?
아래의 kit_cooldown 은 말그대로 쿨다운이구요

그리고 또 눈치채실것은 이번에는 NamedTrigger 폴더가 아닌 NamedTrigger 아래의 essentials 폴더에 코드를 만들었습니다.

이제 이것을 CommandTrigger에서 사용 해 봅시다.

CommandTrigger/mykitcd.trg

// player 는 이미 커맨드 트리거에 존재하므로 딱히 넣을 필요 없겠죠?
kitName = "tools"

#CALL "essentials:cooldown"
#MESSAGE "쿨다운이: "+kit_cooldown+" 남았습니다."

보시다시피 저 구문을 매번 사용하지 않아도 이제 어느 트리거 어디서나 간편하게 구문 사용이 가능합니다!

Profile
wysohn
레벨 8
510/512
99%
서명이 없습니다.
작성자의 다른 글
댓글
1
댓글 쓰기
권한이 없습니다.

개인이 자유롭게 강좌를 업로드하는 게시판입니다.

로그인

이메일 주소
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기