Yanfly_Engine_Plugin系プラグインのテクニック

Yanfly_Engine_Plugin系のプラグインはいろいろなことができますが、逆にどう使えばいいか迷いました。
そこで、皆様が発見した使用法をまとめるためにこのスレッドを作りました。
 
YEP_SkillCoreを使った盗むスキル。

まずは、YEP_SkillCoreを導入します。
そして敵キャラのメモ欄に、このように書き込んでください。
<stealItem:kind,k,id,i,permil,p>
k,i,pはそれぞれ
k:盗めるアイテムの種類。item,weapon,armor,moneyの4種類
i:盗むアイテムのID及び盗める金額
p:盗む確率の千分率(盗む確率を%で表し、10倍したもの。例えば、50%であれば500と表記する)

そしてスキルのメモ欄に、このコードを挿入してください。
コード:
<Before Eval>
var stealItemDataString = $dataEnemies[target.enemyId() ].meta.stealItem;
if(target.stealedFlag === true || stealItemDataString === undefined){
  BattleManager._logWindow.addText("何も持っていない!");
}else{
  var stealItemDataArray = stealItemDataString.split(",");
  var stealItemKind   = stealItemDataArray[1];
  var stealItemId     = Number(stealItemDataArray[3] );
  var stealItemPermil = Number(stealItemDataArray[5] );
  if(Math.randomInt(1000) < stealItemPermil){
    target.stealedFlag = true;
    if(stealItemKind === "weapon"){
      var stealResult = $dataWeapons[stealItemId];
    }else if(stealItemKind === "armor"){
      var stealResult = $dataArmors[stealItemId];
    }else if(stealItemKind === "item"){
      var stealResult = $dataItems[stealItemId];
    }else if(stealItemKind === "money"){
      var stealResult = stealItemId;
    }
    if(stealItemKind === "money"){
      $gameParty.gainGold(stealResult);
      var moneyUnit = TextManager.currencyUnit;
      BattleManager._logWindow.addText(stealResult + moneyUnit + "を手に入れた!");
    }else{
      $gameParty.gainItem(stealResult,1);
      BattleManager._logWindow.addText(stealResult.name + "を手に入れた!");
    }
  }else{
    BattleManager._logWindow.addText("盗めなかった!");
  }
}
</Before Eval>
これで、盗むスキルが実装できたはずです。
もう少しきれいな書き方があれば、教えてください。
 
トップ