じ☆ve冰风 发表于 2024-2-16 07:28:12

想修改命中公式(实际使用中插件无效),求指教原因

虽然我自己本身没有什么语法知识,不过我也不想永远靠人,想以具体事例去学一些基本的知识。


在RMVA里,我是这样修改的
RUBY 代码
def item_hit(user, item)
    rate = 1#item.success_rate * 0.01         # 取得成功率
    rate *= (user.hit+ item.success_rate * 0.01 - 0.6 -eva)if item.physical?      # 物理攻击:计算命中率的乘积
    rate *= (user.hit+ item.success_rate * 0.01 - 0.6 -mev)if item.magical?#魔法攻击:计算命中率的乘积
    return rate                           # 返回计算后的命中率
end


这个公式的命中是“角色命中+技能命中-60%-回避

如果我没猜错,在MV里应该是这几句了


JAVASCRIPT 代码
//1622
    Game_Action.prototype.itemHit = function(target){
      if(this.isPhysical()){
            returnthis.item().successRate * 0.01 + this.subject().hit - 0.6 - target.eva;
      }elseif(this.isMagical()){
            returnthis.item().successRate * 0.01 + this.subject().hit - 0.6 - target.mev;
      }else{
            returnthis.item().successRate * 0.01;
      }
    };

    Game_Action.prototype.itemEva = function(target){
      if(this.isPhysical()){
            return target.pha;
      }elseif(this.isMagical()){
            return target.fdr;
      }else{
            return0;
      }

Game_Action.prototype.itemCri = function(target){

    returnthis.item().damage.critical ? this.subject().cri- target.cev : 0;

};


//1825
Game_Action.prototype.itemEffectRecoverHp = function(target, effect){

   var value = (target.mhp * effect.value1 + effect.value2) * target.rec;

    if(this.isItem()){

      value *= 1;

    }
    value = Math.floor(value);

    if(value !== 0){

      target.gainHp(value);

      this.makeSuccess(target);

    }

};



Game_Action.prototype.itemEffectRecoverMp = function(target, effect){

    var value = (target.mmp * effect.value1 + effect.value2) * target.rec;

    if(this.isItem()){

      value *= 1;

    }

    value = Math.floor(value);

    if(value !== 0){

      target.gainMp(value);

      this.makeSuccess(target);

    }

};


在这里,我修改为
物理命中率为“技能成功率% + 角色命中-0.6 - 目标回避” 0.6的含义是60%的技能成功率相当于100的基础命中。
魔法命中率为”技能成功率% + 角色命中-0.6 - 目标魔法回避”
必中的就直接为技能成功率

必杀的几率改为“角色必杀-目标必杀回避”

同时我将物理挡格更改为药物知识,将魔法挡格改为地面伤害,因为这两个不太常用。将药物知识相关的系数改为*1,地面伤害的暂时没改。

另外,我好像没有发现必杀伤害倍率的位置?
=============================
论坛的代码的话,JS代码写的名字叫什么?还是随便写一个就好?
             本帖来自P1论坛作者lirn,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=385444若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 想修改命中公式(实际使用中插件无效),求指教原因