目的:
每秒一次,向玩家身上(例如弹挂、背包等)添加一颗子弹(暂时不考虑背包满了的情况),该子弹与玩家手持武器的弹匣的栈顶子弹相同。添加子弹时,允许与已有的子弹堆叠,类似于从其它容器转移物品到身上或从地上拾取物品的效果,而不是每发子弹各占一格。
遇到的问题:
我使用 Singleton<ItemFactory>.Instance.CreateItem 来创建Item对象,并使用 QuickFindAppropriatePlace 方法来添加到玩家身上,但抛出异常,提示Item对象没有Parent。也就是说,我正要将该Item添加到一个容器中,让它拥有Parent,但执行 QuickFindAppropriatePlace 的前提是该Item必须已经拥有Parent。
FindGridToPickUp 方法也试过了,也要求Item有Parent。修改该方法后,不报错了,但不能自动叠加,每发子弹各占一格。
另外,无限子弹Mod是向弹匣添加子弹,StackSlot.Add 方法不要求Item有Parent,因此对解决本问题似乎没有帮助。
请问各位大佬,应该如何正确地将Item对象添加到玩家身上,并且在允许叠加的情况下与已有物品叠加?或者有没有相关Mod能用来参考?
3.7.6
已配图
是
其他问题
在新的一年到来之前,自己解决掉这个问题吧 :
在图一的57行上方加上这一行即可:
你好,这个维护了吗,这个mod有398版的吗
既然有人需要,那就发下这个mod的3.9.8版。不过mod的效果有变动。
效果:
每当玩家发射一颗子弹,立即以指定概率将该子弹返还至玩家的弹挂或背包。
概率可以在ReturnBullet.json文件中修改,范围为0至1的小数,改成1时,必定返还子弹。概率默认是1。
使用方法:
解压后,有一个plugins文件夹和源码文件夹。plugins文件夹内有一个ReturnBullet文件夹。
将整个ReturnBullet文件夹复制到游戏的 BepInEx\plugins 内即可。
例如,假设游戏目录是G:\Games\EFT3.9.8,那么ReturnBullet文件夹应当复制到 G:\Games\EFT3.9.8\BepInEx\plugins
几个注意事项:
1、手雷不会返还。
2、因为我很少用信号弹,所以不确定发射信号弹后会不会返还。
3、使用地图上的固定武器(例如街区地图天桥上的那玩意)发射时,弹药也会返还。
4、如果地图内除玩家外没有任何PMC、SCAV、BOSS、BTR,那么本mod不会生效。因此,本mod不会在藏身处的靶场生效。有时候,进入战局数十秒后才生成敌人,这段时间内开枪也不会返还子弹,因为此时地图上只有你一个“人”。
5、本mod对玩家扮演的PMC和SCAV均有效,且只对玩家有效,对AI无效。
6、战局内修复枪械故障时,可能会损失一颗子弹,该子弹无法返还。
7、战局内莫辛纳甘换弹时,可能会损失一颗子弹,该子弹无法返还。
更新v1.1:
1、烟雾弹、闪光弹、信号弹(无论是手动发射还是使用信号枪发射)均不返还。
2、ReturnBullet.json中添加了一个选项 AllowReturnHandGrenade,true表示允许返还手雷,false表示不允许返还手雷,默认为true。
3、ReturnBullet.json中添加了一个选项 AllowReturnRifleGrenade,true表示允许返还榴弹,false表示不允许返还榴弹,默认为true。
4、如果在0.2秒内投出多颗手雷,有可能只会返还其中一颗。榴弹不会受到该限制。
5、对于榴弹的返还,我只测试了M32A1 MSGL 40毫米榴弹发射器,其它榴弹发射器仍有可能存在问题,尤其是突击步枪的下挂榴弹。
看到你提到发射器,我笑出声了,我用的是自己手动改造的20发拉栓版.....
配上快速扔雷插件,太帅了
哈喽在么,
我搞出scav模式活下来可以继承角色到下一局了(点击)
scav战局结束转移物资的时候,是单向的,只能从身上到玩家仓库,反向不可用,
想问下可以有时间可以看看这个反向的限制在哪里移除吗
大佬能做个SPT3.10.0版本的吗