rpgmaker吧 关注:14,159贴子:24,810
  • 6回复贴,共1

求助,事件如何实现每用一次技能就消耗一件物品

只看楼主收藏回复

大佬们,如题


IP属地:甘肃来自Android客户端1楼2021-07-05 20:43回复
    //如果是rmmz
    var hsy11jnid=20 //使用的技能id
    var hsy11wpid=11 //消耗的物品id
    /**用项目(非菜单即战斗中,技能,物品)* @param {object} item 物品/技能 数据对象*/
    var hsy11useItem=Game_Battler.prototype.useItem
    Game_Battler.prototype.useItem = function(item) {
    if ( this.isActor() &&DataManager.isSkill(item) &&hsy11jnid==item.id
    &&$gameParty.hasItem($dataItems[hsy11wpid]) ){
    hsy11useItem.call(this,item);
    $gameParty.consumeItem($dataItems[hsy11wpid]);
    }else{
    hsy11useItem.call(this,item);
    } // if ( this.isActor() &&
    };
    /**是否能够支付技能消耗 * @param {{}} skill* @Return {boolean}* */
    var hsy11canPaySkillCost=Game_BattlerBase.prototype.canPaySkillCost
    Game_BattlerBase.prototype.canPaySkillCost = function(skill) {
    if ( this.isActor() &&hsy11jnid==skill.id ){
    return (
    this._tp >= this.skillTpCost(skill) &&
    this._mp >= this.skillMpCost(skill)
    &&$gameParty.hasItem($dataItems[hsy11wpid])
    );
    }else{
    return hsy11canPaySkillCost.call(this,skill); //注意必须前缀return 连续传递 否则不能重命名
    } // if ( this.isActor() &&
    };



    IP属地:江西来自Android客户端2楼2021-07-07 20:19
    回复
      2026-02-06 12:16:00
      广告
      不感兴趣
      开通SVIP免广告
      如果是rm va
      按f1打开新手帮助文档(可以找个汉化版),里面有有5个新手脚本包括这个


      IP属地:江西来自Android客户端3楼2021-07-07 20:20
      收起回复


        IP属地:甘肃通过百度相册上传5楼2022-07-06 21:35
        回复
          1


          IP属地:甘肃来自Android客户端8楼2025-07-17 22:45
          回复
            1


            IP属地:甘肃来自Android客户端9楼2025-07-17 22:46
            回复