API: 기본 예제

여기에는 시작하기 위한 몇 가지 간단한 스크립트 예제가 있습니다. 자유롭게 가져가서 자신의 캠페인에 사용하기 위해 수정할 수 있습니다. 또한 API 스크립팅에 대해 토론하고 커뮤니티와 스크립트를 공유할 수 있는API 스크립트 포럼()도 있습니다.


피가 흐르고 죽은 상태 표시기

(Ken Bauer가 기여함)

이 스크립트는 체력이 절반 이하로 떨어지면 "피가 흐르는" 상태를 나타내는 빨간색 표시기를 자동으로 추가하고, 0 이하로 떨어지면 "죽은" 표시기를 추가합니다. 체력이 Bar 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) {
    //Only do this if we actually moved.
    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 as a Player or Character

(Contributed by Brian Shields)

This is a few lines you can use in a chat:message event script to ensure you're sending a message with sendChat accurately as either a Player or a Character, depending on who triggered the event.

on("chat:message", function(msg) {
    var message = '';
    // Determine the contents of `message'
 
    var characters = findObjs({_type: 'character'});
    var speaking;
    characters.forEach(function(chr) { if(chr.get('name') == msg.who) speaking = chr; });
 
    if(speaking) sendChat('character|'+speaking.id, message);
    else sendChat('player|'+msg.playerid, message);
});
 
도움이 되었습니까?
69명 중 56명이 도움이 되었다고 했습니다.