r5003 - in trunk/data: . qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Nov 7 11:07:01 EST 2008


Author: div0
Date: 2008-11-07 11:06:58 -0500 (Fri, 07 Nov 2008)
New Revision: 5003

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/server/defs.qh
   trunk/data/qcsrc/server/vote.qc
   trunk/data/qcsrc/server/vote.qh
Log:
allow separate cvars for voter and master commands; make voting defaults more conservative


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2008-11-07 06:41:41 UTC (rev 5002)
+++ trunk/data/defaultNexuiz.cfg	2008-11-07 16:06:58 UTC (rev 5003)
@@ -719,7 +719,10 @@
 bind kp_minus "+userbind 17"
 
 // these commands can be voted
-set sv_vote_commands "restart timelimit fraglimit chmap gotomap g_grappling_hook sv_defaultplayer_fbskin_green sv_defaultplayer_fbskin_red sv_defaultplayer_fbskin_orange sv_defaultplayer_fbskin_off endmatch reducematchtime extendmatchtime allready"
+set sv_vote_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick"
+set sv_vote_only_commands ""
+set sv_vote_master_commands "kickban"
+set rcon_restricted_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban\" status \"sv_cmd teamstatus\""
 // users can call a vote for the above commands
 set sv_vote_call 1
 // users can call a vote to become master

Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh	2008-11-07 06:41:41 UTC (rev 5002)
+++ trunk/data/qcsrc/server/defs.qh	2008-11-07 16:06:58 UTC (rev 5003)
@@ -237,25 +237,6 @@
 .float welcomemessage_time;
 .float version;
 
-// esteel's voting
-float votecalled;
-string votecalledvote;
-string votecalledvote_display;
-float votecalledmaster;
-entity votecaller;
-float votefinished;
-.float vote_master;
-.float vote_next;
-.float vote_vote;
-void VoteThink();
-float VoteAllowed(string vote);
-void VoteReset();
-void VoteAccept();
-void VoteReject();
-void VoteTimeout();
-void VoteStop(entity stopper);
-void VoteCount();
-
 // Laser target for laser-guided weapons
 .entity lasertarget;
 .float laser_on;

Modified: trunk/data/qcsrc/server/vote.qc
===================================================================
--- trunk/data/qcsrc/server/vote.qc	2008-11-07 06:41:41 UTC (rev 5002)
+++ trunk/data/qcsrc/server/vote.qc	2008-11-07 16:06:58 UTC (rev 5003)
@@ -66,7 +66,7 @@
 	entity victim;
 	vote_argc = tokenize_sane(vote);
 
-	if(!VoteAllowed(argv(0)))
+	if(!VoteAllowed(argv(0), cmd))
 	{
 		return FALSE;
 	}
@@ -383,9 +383,10 @@
 	return substring(all, argv_start_index(2), argv_end_index(-1) - argv_start_index(2));
 }
 
-float VoteAllowed(string votecommand) {
+float VoteAllowed(string votecommand, string cmd) {
+	local float index;
+
 	tokenize_sane(cvar_string("sv_vote_commands"));
-	local float index;
 	index = 0;
 	while(argv(index) != "") {
 		if(votecommand == argv(index)) {
@@ -393,6 +394,19 @@
 		}
 		++index;
 	}
+
+	if(cmd == "vdo")
+		tokenize_sane(cvar_string("sv_vote_master_commands"));
+	else
+		tokenize_sane(cvar_string("sv_vote_only_commands"));
+	index = 0;
+	while(argv(index) != "") {
+		if(votecommand == argv(index)) {
+			return TRUE;
+		}
+		++index;
+	}
+
 	return FALSE;
 }
 

Modified: trunk/data/qcsrc/server/vote.qh
===================================================================
--- trunk/data/qcsrc/server/vote.qh	2008-11-07 06:41:41 UTC (rev 5002)
+++ trunk/data/qcsrc/server/vote.qh	2008-11-07 16:06:58 UTC (rev 5003)
@@ -1,3 +1,13 @@
+float votecalled;
+string votecalledvote;
+string votecalledvote_display;
+float votecalledmaster;
+entity votecaller;
+float votefinished;
+.float vote_master;
+.float vote_next;
+.float vote_vote;
+
 string GetKickVoteVictim_newcommand;
 string GetKickVoteVictim_reason;
 
@@ -9,7 +19,7 @@
 string ValidateMap(string m, entity e);
 void VoteThink();
 string VoteParse(string s, float tokens);
-float VoteAllowed(string votecommand);
+float VoteAllowed(string vote, string cmd);
 void VoteReset();
 void VoteAccept();
 void VoteReject();




More information about the nexuiz-commits mailing list