设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1083|回复: 7
打印 上一主题 下一主题

[有事请教] mv数据库中,敌人属性如何默认最小值为0?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
76
在线时间
10 小时
注册时间
2023-5-24
帖子
5
跳转到指定楼层
1
发表于 2023-6-8 16:19:19 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RT,rmmv数据库中,敌人的属性最小值如防御、攻击、敏捷、幸运等默认为1,写成0会自动改成1,请问如何设置默认最小值为0?
rmmz的最小值就默认为0。

Lv1.梦旅人

梦石
0
星屑
76
在线时间
10 小时
注册时间
2023-5-24
帖子
5
8
 楼主| 发表于 2023-6-9 16:19:03 | 只看该作者
小秋橙 发表于 2023-6-9 12:46
rpg_managers.js第155行左右:
DataManager.extractMetadata = function(data) {
    var re = /]*)>/g;

感谢回复 我试试
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7370
在线时间
476 小时
注册时间
2021-12-4
帖子
517
7
发表于 2023-6-9 12:46:25 | 只看该作者
重新起航 发表于 2023-6-8 16:47
1、paramMax 和min这两个我改了 但是仍然不生效,使用0仍然会变成1;
2、去data文件夹下面打开Enemies.js ...

rpg_managers.js第155行左右:
DataManager.extractMetadata = function(data) {
    var re = /<([^<>:]+)(:?)([^>]*)>/g;
    data.meta = {};
    for (;;) {
        var match = re.exec(data.note);
        if (match) {
            if (match[2] === ':') {
                data.meta[match[1]] = match[3];
                // 新增内容开始
                if (Number.isFinite(+match[3]))
                    data[match[1]] = +match[3]; // 数字自动识别
                if (match[3].startsWith('[') && match[3].endsWith(']'))
                    data[match[1]] = JSON.parse(match[3]); // 数组自动识别
                // 新增内容结束
            } else {
                data.meta[match[1]] = true;
            }
        } else {
            break;
        }
    }
};
敌人数据库的备注里写<params:[999999,9999,0,0,0,0,0,0]>即可
回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7089
在线时间
722 小时
注册时间
2021-3-5
帖子
821
6
发表于 2023-6-8 23:27:26 | 只看该作者
重新起航 发表于 2023-6-8 16:47
1、paramMax 和min这两个我改了 但是仍然不生效,使用0仍然会变成1;
2、去data文件夹下面打开Enemies.js ...

我的敌人数据(实际上是角色、装备、武器等所有数据)的json文件都是由excel自动生成出来的
我几乎从来不会去数据库对应的标签里修改这些内容的数据

另:编辑器的数据库,你不点对应的标签,去修改其他标签的内容(例如公共事件),那么敌人的数据是不会被强行修改为1的
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9862
在线时间
1885 小时
注册时间
2020-1-2
帖子
1089
5
发表于 2023-6-8 20:03:58 | 只看该作者
重新起航 发表于 2023-6-8 16:47
1、paramMax 和min这两个我改了 但是仍然不生效,使用0仍然会变成1;
2、去data文件夹下面打开Enemies.js ...

Yep敌人基础参数  用自定义来弄
B站没人气的夏目漠漠,直播间:5378938实用插件教程点击红字传送
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
10 小时
注册时间
2023-5-24
帖子
5
4
 楼主| 发表于 2023-6-8 16:47:44 | 只看该作者
小秋橙 发表于 2023-6-8 16:31
Game_BattlerBase.prototype.paramMin = function(paramId) {
    if (paramId === 1) {
        return 0; ...

1、paramMax 和min这两个我改了 但是仍然不生效,使用0仍然会变成1;
2、去data文件夹下面打开Enemies.json手动修改敌人的params数组,除非不再修改数据库内容,不然一保存,又会还原成1
3、把params数组写成插件的形式,插件不会写,能帮忙吗
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7370
在线时间
476 小时
注册时间
2021-12-4
帖子
517
3
发表于 2023-6-8 16:31:34 | 只看该作者
Game_BattlerBase.prototype.paramMin = function(paramId) {
    if (paramId === 1) {
        return 0;   // MMP
    } else {
        return 1;
    }
};

Game_BattlerBase.prototype.paramMax = function(paramId) {
    if (paramId === 0) {
        return 999999;  // MHP
    } else if (paramId === 1) {
        return 9999;    // MMP
    } else {
        return 999;
    }
};

我觉得这个是mv编辑器的bug,因为运行时默认是:
生命上限最低为1,其他最低为0;
生命上限最高为999999,魔力上限最高为9999,其他最高为999。
所以要么去data文件夹下面打开Enemies.json手动修改敌人的params数组,要么把params数组的内容写在右下角的备注里并自己写一个插件让它生效……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
10 小时
注册时间
2023-5-24
帖子
5
2
 楼主| 发表于 2023-6-8 16:20:31 | 只看该作者
麻烦哪位大神帮忙告知一下,如何改核心文件,在objects.js里找了半天也不知道改哪里
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-1 19:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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