모드 스크립트(API): 기본 예시

시작하는 데 도움이 될 수 있는 간단한 스크립트 예시 몇 가지를 소개합니다. 자유롭게 가져가서 여러분의 캠페인에 맞게 수정하여 사용하세요. 또한 Mod (API) 스크립트 포럼 도 있습니다. 여기서 모드(API) 스크립팅에 대해 논의하고 여러분의 스크립트를 커뮤니티와 공유할 수 있습니다.


피 묻은 상태 표시기 및 사망 상태 표시기

(켄 바우어 제공)

이 스크립트는 체력이 절반 이하로 떨어진 모든 토큰에 "피 묻은" 상태를 나타내는 빨간색 마커를 자동으로 추가하고, 체력이 0 이하로 떨어진 모든 토큰에는 "사망" 마커를 자동으로 추가합니다. 건강은 바 1에 저장된다고 가정합니다.

on("change:graphic", function(obj) {
    if(obj.get("bar1_max") === "") return;
   
    if(obj.get("bar1_value") <= obj.get("bar1_max") / 2) {
        obj.set({
              status_redmarker: true
        });
    }
    else{
        obj.set({
            status_redmarker: false
        })
    }

    if(obj.get("bar1_value") <= 0){
      obj.set({
         status_dead: true
      });
    }
    else{
      obj.set({
        status_dead: false
      });
    }
});

 


어둠이 다가오고 있다...

이 스크립트는 토큰이 이동할 때마다 해당 토큰의 빛 반경을 10%씩 감소시킵니다. "등잔에 기름이 다 떨어지는" 상황이나 이와 유사한 극한 스트레스 상황을 시뮬레이션하기에 아주 좋습니다.

on("change:token", function(obj, prev) {
    // 실제로 이동한 경우에만 이 작업을 수행합니다.
    if(obj.get("left") == prev["left"] && obj.get("top") == prev["top"]) return;
    obj.set({
        light_radius: Math.floor(obj.get("light_radius") * 0.90)
    });
});

플레이어 또는 캐릭터로서 sendChat

(브라이언 실즈 제공)

다음은 채팅:메시지 이벤트 스크립트에서 사용할 수 있는 몇 줄의 코드로, 이벤트를 트리거한 주체가 플레이어인지 캐릭터인지에 따라 sendChat을 정확히 사용하여 메시지를 전송하도록 보장합니다.

on("채팅:message", function(msg) {
    var message = '';
    // `message'의 내용을 결정합니다
 
    var characters = findObjs({_type: 'character'});
    var speaking;
    characters.forEach(function(chr) {     if(chr.get('name') == msg.who)     speaking = chr;     });
 
    if(speaking) sendChat('캐릭터|'+speaking.id, message);
    else sendChat('플레이어|'+msg.playerid, message);
});
 
도움이 되었습니까?
85명 중 71명이 도움이 되었다고 했습니다.