X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Frace.qc;fp=qcsrc%2Fserver%2Frace.qc;h=40b2ca148483f50707a5c9c155a62005404881be;hb=093002e05eba9244783d60b958dbbaf98965c876;hp=70a98083efb22a03171f78a0adae0fe623c189ac;hpb=9d155353dac55df7d08ae4dc4dd7d552a3600479;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/race.qc b/qcsrc/server/race.qc index 70a98083e..40b2ca148 100644 --- a/qcsrc/server/race.qc +++ b/qcsrc/server/race.qc @@ -30,6 +30,8 @@ #include #include +.string stored_netname; // TODO: store this information independently of race-based gamemodes + string uid2name(string myuid) { string s = db_get(ServerProgsDB, strcat("/uid2name/", myuid)); @@ -150,6 +152,20 @@ string race_readName(string map, float pos) return uid2name(db_get(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(pos)))); } +void race_checkAndWriteName(entity player) +{ + if(CS_CVAR(player).cvar_cl_allow_uidtracking == 1 && CS_CVAR(player).cvar_cl_allow_uid2name == 1) + { + if (!player.stored_netname) + player.stored_netname = strzone(uid2name(player.crypto_idfp)); + if(player.stored_netname != player.netname) + { + db_put(ServerProgsDB, strcat("/uid2name/", player.crypto_idfp), player.netname); + strcpy(player.stored_netname, player.netname); + } + } +} + const float MAX_CHECKPOINTS = 255;