[nexuiz-commits] r8082 - in trunk/data: . qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Oct 9 14:47:33 EDT 2009
Author: samual
Date: 2009-10-09 14:47:32 -0400 (Fri, 09 Oct 2009)
New Revision: 8082
Modified:
trunk/data/defaultNexuiz.cfg
trunk/data/qcsrc/server/g_damage.qc
trunk/data/qcsrc/server/miscfunctions.qc
Log:
New frag message information system which allows extra details to be displayed such as the players handicap, their health, etc. This feature was inspired by Spidflisk by Dresk. Note: CVAR hashes need redone, now.
Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg 2009-10-09 13:41:19 UTC (rev 8081)
+++ trunk/data/defaultNexuiz.cfg 2009-10-09 18:47:32 UTC (rev 8082)
@@ -306,6 +306,11 @@
set sv_qcweaponanimation 0
set g_telefrags 1
+// fragmessage: This allows extra information to be displayed with the frag centerprints.
+set sv_fragmessage_information_ping 0 "Enable ping display information, 0 = Never display; 1 = Always display (If the player is a bot, it will say bot instead of the ping.)"
+set sv_fragmessage_information_handicap 1 "Enable handicap display information, 0 = Never display; 1 = Only when the player has handicap on; 2 = Always display (Displays Off if off)"
+set sv_fragmessage_information_stats 0 "Enable statistics (health/armor) display information, 0 = Never display; 1 = Always display (Only available for the person who was killed)"
+set sv_fragmessage_information_typefrag 0 "Enable typefrag display information, 0 = Never display; 1 = Always display (Only available for the person fragged)"
// use default physics
set sv_friction_on_land 0
Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc 2009-10-09 13:41:19 UTC (rev 8081)
+++ trunk/data/qcsrc/server/g_damage.qc 2009-10-09 18:47:32 UTC (rev 8082)
@@ -371,11 +371,11 @@
}
if(sv_gentle > 0) {
- centerprint(attacker, strcat(DAMAGE_CENTERPRINT_SPACER, "^4You scored against ^7", s));
- centerprint(targ, strcat(DAMAGE_CENTERPRINT_SPACER, a,"^1 scored against you ^7"));
+ centerprint(attacker, strcat(DAMAGE_CENTERPRINT_SPACER, blood_message, "^4You scored against ^7", s, GetAdvancedDeathReports(targ)));
+ centerprint(targ, strcat(DAMAGE_CENTERPRINT_SPACER, a,"^1 scored against you ^7", GetAdvancedDeathReports(attacker)));
} else {
- centerprint(attacker, strcat(DAMAGE_CENTERPRINT_SPACER, blood_message, "^4You fragged ^7", s));
- centerprint(targ, strcat(DAMAGE_CENTERPRINT_SPACER, victim_message, "^1You were fragged by ^7", a));
+ centerprint(attacker, strcat(DAMAGE_CENTERPRINT_SPACER, blood_message, "^4You fragged ^7", s, GetAdvancedDeathReports(targ)));
+ centerprint(targ, strcat(DAMAGE_CENTERPRINT_SPACER, victim_message, "^1You were fragged by ^7", a, GetAdvancedDeathReports(attacker)));
attacker.taunt_soundtime = time + 1;
}
Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc 2009-10-09 13:41:19 UTC (rev 8081)
+++ trunk/data/qcsrc/server/miscfunctions.qc 2009-10-09 18:47:32 UTC (rev 8082)
@@ -111,6 +111,50 @@
float logfile_open;
float logfile;
+string GetAdvancedDeathReports(entity enPlayer) // Extra fragmessage information
+{
+ local float nPlayerHealth = rint(enPlayer.health);
+ local float nPlayerArmor = rint(enPlayer.armorvalue);
+ local float nPlayerHandicap = enPlayer.cvar_cl_handicap;
+ local float nPlayerPing = rint(enPlayer.ping);
+ local string strPlayerPingColor;
+ local string strMessage;
+ if(nPlayerPing >= 150)
+ strPlayerPingColor = "^1";
+ else
+ strPlayerPingColor = "^2";
+
+ if((cvar("sv_fragmessage_information_typefrag")) && (enPlayer.classname == "player") && (enPlayer.BUTTON_CHAT))
+ strMessage = strcat(strMessage, " ^1(typefrag)");
+ if((cvar("sv_fragmessage_information_stats")) && (nPlayerHealth >= 1))
+ strMessage = strcat(strMessage, "\n^7(Health ^1", ftos(nPlayerHealth), "^7 / Armor ^2", ftos(nPlayerArmor), "^7)");
+
+ if(cvar("sv_fragmessage_information_ping")) {
+ if(clienttype(enPlayer) == CLIENTTYPE_BOT) // Bots have no ping
+ strMessage = strcat(strMessage, "\n^7(^2Bot");
+ else
+ strMessage = strcat(strMessage, "\n^7(Ping ", strPlayerPingColor, ftos(nPlayerPing), "ms");
+ if(cvar("sv_fragmessage_information_handicap"))
+ if(cvar("sv_fragmessage_information_handicap") == 2)
+ if(nPlayerHandicap <= 1)
+ strMessage = strcat(strMessage, "^7 / Handicap ^2Off^7)");
+ else
+ strMessage = strcat(strMessage, "^7 / Handicap ^2", ftos(nPlayerHandicap), "^7)");
+ else if not(nPlayerHandicap <= 1)
+ strMessage = strcat(strMessage, "^7 / Handicap ^2", ftos(nPlayerHandicap), "^7)");
+ else
+ strMessage = strcat(strMessage, "^7)");
+ } else if(cvar("sv_fragmessage_information_handicap")) {
+ if(cvar("sv_fragmessage_information_handicap") == 2)
+ if(nPlayerHandicap <= 1)
+ strMessage = strcat(strMessage, "\n^7(Handicap ^2Off^7)");
+ else
+ strMessage = strcat(strMessage, "\n^7(Handicap ^2", ftos(nPlayerHandicap), "^7)");
+ else if(nPlayerHandicap > 1)
+ strMessage = strcat(strMessage, "\n^7(Handicap ^2", ftos(nPlayerHandicap), "^7)");
+ }
+ return strMessage;
+}
void bcenterprint(string s)
{
// TODO replace by MSG_ALL (would show it to spectators too, though)?
More information about the nexuiz-commits
mailing list