Modスクリプト(API):基本例

以下に、簡単なスクリプトの例をいくつか示します。これらは、始めるのに役立つでしょう。 ご自由にこれらを取り入れ、ご自身のキャンペーンで使用するために修正してください。 また、 Mod (API) スクリプトフォーラム では、Mod(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("chat: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('player|'+msg.playerid, message);
});
 
この記事は役に立ちましたか?
85人中71人がこの記事が役に立ったと言っています