Project1

标题: 萌新在关于“技能类型”在战斗如何隐藏的些许疑惑?! [打印本页]

作者: SingleOne    时间: 2021-10-6 13:44
标题: 萌新在关于“技能类型”在战斗如何隐藏的些许疑惑?!
我创建了【功法】【天赋】【体质】三个技能类型。
我需要在人物菜单下显示“三个技能类型”,能够让我查看“三个技能类型”内的技能。
但战斗时我不想要显示“三个技能类型”,需要隐藏“三个技能类型”。
那么我该怎么做?
作者: 任小雪    时间: 2021-10-6 16:44
js文件改window里关于battle的部分(下汪汪的那个小白机翻了解一下)。


或者脚本改也行,然后开局和读取时把脚本部分运行一次(这句可忽略,大概)。
作者: SingleOne    时间: 2021-10-8 12:52
任小雪 发表于 2021-10-6 16:44
js文件改window里关于battle的部分(下汪汪的那个小白机翻了解一下)。

小白那个链接挂了
作者: 多卡多卡    时间: 2021-10-10 19:25
  1.     Window_ActorCommand.prototype.addSkillCommands = function () {
  2.         var skillTypes = this._actor.addedSkillTypes();
  3.         skillTypes.sort(function (a, b) {
  4.             return a - b;
  5.         });
  6.         skillTypes.forEach(function (stypeId) {
  7.             if (stypeId != /*技能种类的编号*/) {
  8.                 var name = $dataSystem.skillTypes[stypeId];
  9.                 this.addCommand(name, 'skill', true, stypeId);
  10.             }
  11.         }, this);
  12.     };
复制代码

作者: SingleOne    时间: 2021-10-11 13:38
多卡多卡 发表于 2021-10-10 19:25

多谢,管用!
但如果我想战斗时隐藏复数“技能类型”该怎么做?
作者: 多卡多卡    时间: 2021-10-11 20:46
SingleOne 发表于 2021-10-11 13:38
多谢,管用!
但如果我想战斗时隐藏复数“技能类型”该怎么做?

参数多加几个
1||2||3 这样加
作者: SingleOne    时间: 2021-10-12 10:28
多卡多卡 发表于 2021-10-11 20:46
参数多加几个
1||2||3 这样加

好像没效果,也许是我打错了,你可以写一遍,让我抄一下吗?
谢谢!
作者: 多卡多卡    时间: 2021-10-12 18:12
本帖最后由 多卡多卡 于 2021-10-12 18:14 编辑
SingleOne 发表于 2021-10-12 10:28
好像没效果,也许是我打错了,你可以写一遍,让我抄一下吗?
谢谢!


if (stypeId != (1||2||3))
数字为技能的种类,然后随便找个插件把代码放进去
作者: SingleOne    时间: 2021-10-13 12:08
多卡多卡 发表于 2021-10-12 18:12
if (stypeId != (1||2||3))
数字为技能的种类,然后随便找个插件把代码放进去

(1||2||3)的意思好像是满足其中一个即可计算。
我试过之后,我的1确实是隐藏了,但2,3还是在那。
能不能让1,2,3在战斗是同时隐藏呢?
作者: 多卡多卡    时间: 2021-10-14 14:35
SingleOne 发表于 2021-10-13 12:08
(1||2||3)的意思好像是满足其中一个即可计算。
我试过之后,我的1确实是隐藏了,但2,3还是在那。
能不能 ...

当初没注意到这点
用数组的方法可以解决
var SkillList=[1,2,3];
if (!SkillList.includes(stypeId))

作者: SingleOne    时间: 2021-10-15 14:08
多卡多卡 发表于 2021-10-14 14:35
当初没注意到这点
用数组的方法可以解决
var SkillList=[1,2,3];

多谢问题已经解决!
作者: SingleOne    时间: 2021-10-15 14:14
  1.     Window_ActorCommand.prototype.addSkillCommands = function () {
  2.         var skillTypes = this._actor.addedSkillTypes();
  3.         skillTypes.sort(function (a, b) {
  4.             return a - b;
  5.         });
  6.         skillTypes.forEach(function (stypeId) {
  7.             var SkillList=[X,X,X];
  8.             if (!SkillList.includes(stypeId)){
  9.                 var name = $dataSystem.skillTypes[stypeId];
  10.                 this.addCommand(name, 'skill', true, stypeId);
  11.             }
  12.         }, this);
  13.     };
复制代码

问题已经解决,那我总结一下给以后需要的人吧!
首先多谢楼上的大佬!
var SkillList=[X,X,X]中"X"代表“技能类型”的编号。
[x,x,x]中多添加几个,变成[x,x,x,x,x]估计也行,但我没试过。
多谢楼上的大佬了!
作者: 青衣blackcloth    时间: 2021-10-15 14:56
为啥我用起来没有任何改变呢   太难了
作者: 青衣blackcloth    时间: 2021-10-15 14:58
  1就是天赋  战斗里还是存在




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1