Skip to content

远程配置

概述

远程配置系统允许从服务器获取配置参数,并自动绑定到本地变量。支持实时推送更新,当服务器修改配置时,绑定的变量会自动更新。

配置类型

常量C++ 类型说明
TXNET_CONFIG_INT0int整数
TXNET_CONFIG_FLOAT1float浮点数
TXNET_CONFIG_BOOL2bool布尔值
TXNET_CONFIG_STRING3char[]字符串
TXNET_CONFIG_BUTTON7-按钮:无绑定值,用户点击后通过 txnet_button_callback 回调通知客户端

使用流程

  1. 定义本地变量
  2. 调用 txnet_bind_config_xxx 绑定变量到配置键
  3. 调用 txnet_get_config 从服务器获取配置
  4. 绑定的变量自动被赋值
  5. 服务器推送更新时,变量自动更新

函数

txnet_bind_config_int

cpp
void txnet_bind_config_int(const char* key, int* ptr, int default_value);

绑定一个整数配置项到本地变量。

参数类型说明
keyconst char*配置键名
ptrint*指向本地 int 变量的指针
default_valueint默认值

txnet_bind_config_float

cpp
void txnet_bind_config_float(const char* key, float* ptr, float default_value);

绑定一个浮点数配置项到本地变量。

txnet_bind_config_bool

cpp
void txnet_bind_config_bool(const char* key, bool* ptr, bool default_value);

绑定一个布尔配置项到本地变量。

txnet_bind_config_string

cpp
void txnet_bind_config_string(const char* key, char* ptr, int max_len, const char* default_value);

绑定一个字符串配置项到本地字符数组。

参数类型说明
keyconst char*配置键名
ptrchar*指向本地字符数组的指针
max_lenint字符数组的最大长度
default_valueconst char*默认值

注意

必须使用 char[] 数组,不支持 std::string*

txnet_set_config_callback

cpp
void txnet_set_config_callback(txnet_config_callback cb);

设置配置变更回调函数。

txnet_get_config

cpp
void txnet_get_config();

从服务器获取所有远程配置。此函数会阻塞直到获取完成。

txnet_set_button_callback

cpp
typedef void (*txnet_button_callback)(const char* key, const char* name);
void txnet_set_button_callback(txnet_button_callback cb);

设置按钮点击回调。当用户在后台配置界面点击按钮类型配置时,会触发此回调。

参数类型说明
keyconst char*配置键名
nameconst char*配置显示名称

txnet_config_set

cpp
void txnet_config_set(const char* key, const char* value);

提交单条配置到云端。非阻塞,结果通过 txnet_config_set_result_callback 回调返回。

参数类型说明
keyconst char*配置键名
valueconst char*配置值

txnet_config_set_batch

cpp
void txnet_config_set_batch(const char** keys, const char** values, int count);

批量提交配置到云端。非阻塞,每项结果通过 txnet_config_set_result_callback 依次回调。

参数类型说明
keysconst char**键名数组
valuesconst char**值数组
countint项数量

txnet_set_config_set_result_callback

cpp
typedef void (*txnet_config_set_result_callback)(const char* key, const char* name, const char* status, const char* reason);
void txnet_set_config_set_result_callback(txnet_config_set_result_callback cb);

设置配置提交结果回调。单条或批量提交后,每项会触发一次回调。

参数类型说明
keyconst char*配置键名
nameconst char*配置显示名称
statusconst char*结果状态:"success" 成功,"fail" 失败
reasonconst char*成功或失败原因描述

手动获取函数

cpp
int txnet_config_get_int(const char* key, int default_value);
float txnet_config_get_float(const char* key, float default_value);
bool txnet_config_get_bool(const char* key, bool default_value);
const char* txnet_config_get_string(const char* key, const char* default_value);

手动获取配置值(不使用绑定方式)。

回调函数

txnet_config_callback

cpp
typedef void (*txnet_config_callback)(
    const char* key,
    int type,
    const char* name,
    const char* value
);
参数类型说明
keyconst char*配置键名
typeint配置类型(TXNET_CONFIG_*)
nameconst char*配置显示名称
valueconst char*配置值(字符串形式)

示例

cpp
#include "txnet.h"

static bool g_espEnabled = false;
static bool g_aimbotEnabled = false;
static float g_espDistance = 500.0f;
static int g_aimbotKey = 0;
static char g_notice[512] = "";

void onConfigChange(const char* key, int type, const char* name, const char* value) {
    printf("[配置] %s (%s) = %s\n", name, key, value);
}

int main() {
    txnet_init(&config);
    txnet_connect();
    txnet_login();
    
    // 绑定配置
    txnet_bind_config_bool("espEnabled", &g_espEnabled, false);
    txnet_bind_config_bool("aimbotEnabled", &g_aimbotEnabled, false);
    txnet_bind_config_float("espDistance", &g_espDistance, 500.0f);
    txnet_bind_config_int("aimbotKey", &g_aimbotKey, 0);
    txnet_bind_config_string("notice", g_notice, sizeof(g_notice), "");
    
    txnet_set_config_callback(onConfigChange);
    txnet_get_config();
    
    printf("ESP: %s, 距离: %.0f\n", g_espEnabled ? "开" : "关", g_espDistance);
    
    // 按钮回调:用户点击后台配置界面中的按钮时触发
    txnet_set_button_callback([](const char* key, const char* name) {
        printf("[按钮] %s (%s)\n", name, key);
    });
    
    // 保存配置结果回调
    txnet_set_config_set_result_callback([](const char* key, const char* name, const char* status, const char* reason) {
        printf("[提交配置] %s (%s) %s: %s\n", name, key, status, reason);
    });
    
    // 单条提交
    txnet_config_set("espEnabled", "1");
    
    // 批量提交
    const char* keys[] = {"espEnabled", "aimbotEnabled", "espDistance"};
    const char* vals[] = {"1", "1", "500"};
    txnet_config_set_batch(keys, vals, 3);
    
    while (txnet_is_logged_in()) {
        // 变量会随服务器推送自动更新
    }
    
    return 0;
}

TxNet 网络通信库文档