楼主: 芯☆淡茹水

[原创发布] 【MZ】任务系统 (更新: 22-4-27)

 火 [复制链接]
梦石
0
星屑
503
在线时间
148 小时
注册时间
2020-7-18
回帖
57
发表于 2024-4-18 23:50:44 | 显示全部楼层
想问一下,有没有在任务中途更改任务条件的方法呀?想做出那种完成一个条件之后另一个条件才会出现的效果

点评

UTO
以及能不能把某一项不需要的格子(比如难度)去掉呢?  发表于 2024-4-18 23:51
回复

使用道具 举报

梦石
0
星屑
926
在线时间
140 小时
注册时间
2022-2-8
回帖
17
发表于 2024-4-19 12:50:51 | 显示全部楼层
UTO 发表于 2024-4-18 23:50
想问一下,有没有在任务中途更改任务条件的方法呀?想做出那种完成一个条件之后另一个条件才会出现的效果 ...

如果是想要追踪窗口那样显示的任务条件只有一个的那种,修改任务详情里的任务条件窗口应该可以。在任务进行方面得另加判断,不然玩家到处点点点,可能会优先完成后面没有显示的条件。
回复

使用道具 举报

梦石
0
星屑
98
在线时间
7 小时
注册时间
2020-10-3
回帖
9
发表于 2024-4-19 18:04:09 | 显示全部楼层
感谢楼主分享了
回复

使用道具 举报

梦石
0
星屑
503
在线时间
148 小时
注册时间
2020-7-18
回帖
57
发表于 2024-4-19 18:07:12 | 显示全部楼层
say8ai 发表于 2024-4-19 12:50
如果是想要追踪窗口那样显示的任务条件只有一个的那种,修改任务详情里的任务条件窗口应该可以。在任务进 ...

我的意思是
假设这个任务的条件是前往a地,然后到了a地之后再把条件改成前往b地这样,一步一步引导玩家的感觉,可以做到嘛
回复

使用道具 举报

梦石
0
星屑
926
在线时间
140 小时
注册时间
2022-2-8
回帖
17
发表于 2024-4-19 22:29:30 | 显示全部楼层
UTO 发表于 2024-4-19 18:07
我的意思是
假设这个任务的条件是前往a地,然后到了a地之后再把条件改成前往b地这样,一步一步引导玩家的 ...

可以,需要改插代码,和追踪窗口显示的任务条件原理一样,比如你的任务里面第一个条件是前往A,第二个条件是前往B,那么你前往A之前,一直都显示的前往A的条件,其它条件不会显示,等到前往A以后,才会显示前往B的条件二
但是上面有个问题,在不显示条件二的情况下,玩家依然可以前往B,先完成条件二,导致先完成条件二,再完成条件一,完成了条件一,整个任务就已经完成了。不会再有条件二的出现了。
只不过可以用开关和变量来控制,解决这个问题。

点评

UTO
提前完成的话我倒是没问题,但隐藏任务条件具体应该如何操作呢?我在脚本和插件里都没找到你说的修改任务详情了来着?  发表于 2024-4-19 22:40
回复 0 1

使用道具 举报

梦石
0
星屑
926
在线时间
140 小时
注册时间
2022-2-8
回帖
17
发表于 2024-4-19 23:39:35 | 显示全部楼层
say8ai 发表于 2024-4-19 22:29
可以,需要改插代码,和追踪窗口显示的任务条件原理一样,比如你的任务里面第一个条件是前往A,第二个条 ...

插件并没有提供这些设置,直接把插件代码这一大段替换成下面的,就可以了,只不过插件也不能在任务过程中更改任务介绍(任务描述)
Window_TaskInfo.prototype.drawTaskConditions = function(x) {
    const task = this._currentTask;
    const lh = this.contents.fontSize + 8;
    const size = this.limitIconSize();
        let data = task.currentConditionData();
        if (data) {
        let y = this._areaData[1] + lh + 2;
        let text = data.cod.listText();
        let text2 = data.cod.numText();
        let tw = this.textWidth(text2);
        let icon = parseInt(parameters[(data.cod.isSatisfy() ? 'cmp' : 'imp')+'Icon']) || 0;
        icon > 0 && this.drawIcon(icon, x, y);
        this.drawTextEx(text, x+size+8, y);
        this.changeTextColor(data.cod.numTextColor());
        this.drawText(data.cod.numText(), this.contents.width - tw - 8, y, tw);
    }
};

点评

UTO
如果有时间的话能不能再指教一下,如果想删掉难易度,发布者和奖品以扩大任务描述和条件的位置,应该如何修改呀?  发表于 2024-4-22 23:22
回复

使用道具 举报

梦石
0
星屑
503
在线时间
148 小时
注册时间
2020-7-18
回帖
57
发表于 2024-4-22 23:19:13 | 显示全部楼层
say8ai 发表于 2024-4-19 23:39
插件并没有提供这些设置,直接把插件代码这一大段替换成下面的,就可以了,只不过插件也不能在任务过程中 ...

十分感谢!
回复

使用道具 举报

梦石
0
星屑
14
在线时间
1 小时
注册时间
2024-4-24
回帖
1
发表于 2024-5-12 03:21:11 | 显示全部楼层
太帅了!
回复

使用道具 举报

梦石
0
星屑
1139
在线时间
110 小时
注册时间
2021-8-21
回帖
67
发表于 2024-5-25 23:40:32 | 显示全部楼层
还是会清空任务数据啊,换成了QuestSystem.js,但是这个无法自动识别任务需求自动扣除道具并领取奖励就很麻烦。
回复

使用道具 举报

梦石
0
星屑
1199
在线时间
79 小时
注册时间
2017-9-5
回帖
31
发表于 2024-6-26 15:56:36 | 显示全部楼层
前来瞻仰
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部