一旦安装此MOD后启动服务端,会对存档造成不可逆的毁灭性修改
随便给你一套装备。可能需要重启游戏或者进行结算等操作进行刷新。
MOD会重置所有的物品。不重置?也能做,等有时间再说吧。
MOD完全没有经过测试,出现任何问题概不负责
源码如下
import { BotInventoryGenerator } from “@spt-aki/generators/BotInventoryGenerator”;
import { BotHelper } from “@spt-aki/helpers/BotHelper”;
import { IPreAkiLoadMod } from “@spt-aki/models/external/IPreAkiLoadMod”;
import { SaveServer } from “@spt-aki/servers/SaveServer”;
import { JsonUtil } from “@spt-aki/utils/JsonUtil”;
import { DependencyContainer } from “tsyringe”;
class Mod implements IPreAkiLoadMod
{
private static container: DependencyContainer;
public preAkiLoad(container: DependencyContainer): void
{
Mod.container = container;
container.afterResolution(“SaveServer”,(_t,result: SaveServer) =>
{
result.saveProfile = (sessionID: string) =>
{
return this.saverandomkit(sessionID);
}
}, {frequency: “Always”});
}
public saverandomkit(sessionID: string): void
{
const saveServer = Mod.container.resolve<SaveServer>(“SaveServer”);
const botInventoryGenerator = Mod.container.resolve<BotInventoryGenerator>(“BotInventoryGenerator”);
const botHelper = Mod.container.resolve<BotHelper>(“BotHelper”);
const jsonUtil = Mod.container.resolve<JsonUtil>(“JsonUtil”);
const filePath = `${saveServer.profileFilepath}${sessionID}.json`;
const side = saveServer.profiles[sessionID].characters.pmc.Info.Side
const botJsonTemplate = jsonUtil.clone(botHelper.getBotTemplate(side))
const playerLevel = saveServer.profiles[sessionID].characters.pmc.Info.Level
saveServer.profiles[sessionID].characters.pmc.Inventory = botInventoryGenerator.generateInventory(sessionID,botJsonTemplate, “pmcbot”, true, playerLevel);
for (const callback in saveServer.onBeforeSaveCallbacks)
{
const previous = saveServer.profiles[sessionID];
try
{
saveServer.profiles[sessionID] = saveServer.onBeforeSaveCallbacks[callback](saveServer.profiles[sessionID]);
}
catch (error)
{
saveServer.logger.error(saveServer.localisationService.getText(“profile_save_callback_error”, { callback, error }));
saveServer.profiles[sessionID] = previous;
}
}
const jsonProfile = saveServer.jsonUtil.serialize(saveServer.profiles[sessionID], true);
const fmd5 = saveServer.hashUtil.generateMd5ForData(jsonProfile);
if (typeof(saveServer.saveMd5[sessionID]) !== “string” || saveServer.saveMd5[sessionID] !== fmd5)
{
saveServer.saveMd5[sessionID] = String(fmd5);
saveServer.vfs.writeFile(filePath, jsonProfile);
saveServer.logger.info(saveServer.localisationService.getText(“profile_saved”));
}
}
}
module.exports = { mod: new Mod() }
如果是原创内容请在帖子标题上加入 原创 两字,便于社区巡查处理违规;非原创内容请在贴中标注原创作者昵称和出处。
咱不懂怎么用