扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 111|回复: 0

[转载发布] 想修改命中公式(实际使用中插件无效),求指教原因

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    2025-2-4 02:05
  • 签到天数: 110 天

    连续签到: 2 天

    [LV.6]常住居民II

    2327

    主题

    395

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10465
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13215

    灌水之王

    发表于 2024-2-16 07:28:12 | 显示全部楼层 |阅读模式
    虽然我自己本身没有什么语法知识,不过我也不想永远靠人,想以具体事例去学一些基本的知识。


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


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

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


    JAVASCRIPT 代码
    1. //1622
    2.     Game_Action.prototype.itemHit = function(target){
    3.         if(this.isPhysical()){
    4.             returnthis.item().successRate * 0.01 + this.subject().hit - 0.6 - target.eva;
    5.         }elseif(this.isMagical()){
    6.             returnthis.item().successRate * 0.01 + this.subject().hit - 0.6 - target.mev;
    7.         }else{
    8.             returnthis.item().successRate * 0.01;
    9.         }
    10.     };
    11.     Game_Action.prototype.itemEva = function(target){
    12.         if(this.isPhysical()){
    13.             return target.pha;
    14.         }elseif(this.isMagical()){
    15.             return target.fdr;
    16.         }else{
    17.             return0;
    18.         }
    19. Game_Action.prototype.itemCri = function(target){
    20.     returnthis.item().damage.critical ? this.subject().cri  - target.cev : 0;
    21. };
    22. //1825
    23. Game_Action.prototype.itemEffectRecoverHp = function(target, effect){
    24.    var value = (target.mhp * effect.value1 + effect.value2) * target.rec;
    25.     if(this.isItem()){
    26.         value *= 1;
    27.     }
    28.     value = Math.floor(value);
    29.     if(value !== 0){
    30.         target.gainHp(value);
    31.         this.makeSuccess(target);
    32.     }
    33. };
    34. Game_Action.prototype.itemEffectRecoverMp = function(target, effect){
    35.     var value = (target.mmp * effect.value1 + effect.value2) * target.rec;
    36.     if(this.isItem()){
    37.         value *= 1;
    38.     }
    39.     value = Math.floor(value);
    40.     if(value !== 0){
    41.         target.gainMp(value);
    42.         this.makeSuccess(target);
    43.     }
    44. };
    复制代码


    在这里,我修改为
    物理命中率为“技能成功率% + 角色命中-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在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-3-10 15:54 , Processed in 0.131922 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表