[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