
控制台可编辑 RpgParams
将rpgparams暴露到控制台,你可以设置它们并实时看到效果
查看大图描述
开放了在控制台中修改 rpgparam 数值的能力,无需再编写 XML 模组。
这让你可以进行几个实时编辑。
- 基础库存容量
- 力量转背包容量
- SprintCost
- 体力恢复基础
- 体力回复冷却
- 最大装甲负载
- 装甲负重对冲刺的影响
- 奔跑所需护甲值
- 撬锁开锁器损坏几率
- 开锁技巧:合适容差
- SkillXPHit
- 技能经验击杀
- StatXPKill
- 技能上限
- StatCap
- 最大专长点数
- 无害跌落高度
- 致命坠落高度
- 修理包容量
- 隐身击杀概率系数 A
以及更多...
安装
解压到 mods 文件夹
使用方法
打开控制台,输入 kcse_rpgparam_ 后按 Tab 键,你就可以像编辑其他变量一样找到并编辑这些 RPG 参数了。
支持在 user.cfg 中设置它们!
要求
KCSE
来源
#include "KCSE/KCSEAPI.h"
#include "rpgmodule/S_RpgParams.h"
#include "crysystem/SSystemGlobalEnvironment.h"
#include <string>
#include <vector>
using namespace wh::rpgmodule;
static std::vector<std::string> g_cvarNames;
KCSE_PLUGIN_INFO("Console RPG 参数", "JerryYOJ", 1);
KCSE_PLUGIN_LOAD(kcse)
{
kcse->GetMessagingInterface()->RegisterListener([](KCSE::Message* msg) {
if (msg->type != KCSE::IMessagingInterface::kMessage_DataLoaded)
return;
auto* con = SSystemGlobalEnvironment::GetInstance()->pConsole;
auto* log = SSystemGlobalEnvironment::GetInstance()->pLog;
auto* defs = S_RpgParamDefs::Get();
g_cvarNames.reserve(S_RpgParamDefs::kParamCount);
int registered = 0;
for (auto& def : *defs) {
if (!def.name || !def.name[0])
continue;
g_cvarNames.emplace_back(std::string("kcse_rpgparam_") + def.name);
float* slot = &def.AsFloat();
const char* help = def.description ? def.description : "";
con->RegisterCVarFloat(g_cvarNames.back().c_str(), slot, *slot, VF_NULL, help);
++registered;
}
log->LogAlways("[ConsoleRpgParam] 已将 %d 个RPG参数注册为CVars", registered);
return true;
});
}
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。