X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fvote.qc;h=adc037c833b60bf757dc76cbf179447e0aee3252;hp=e67b5378073820b7815b4c428d000aec986b0237;hb=162a91bc68d7b8e58c92cb0af873871129e386a9;hpb=a3c1b020aadcb8cdd4a282b2604a45ad18ea1b4a diff --git a/qcsrc/server/vote.qc b/qcsrc/server/vote.qc index e67b537807..adc037c833 100644 --- a/qcsrc/server/vote.qc +++ b/qcsrc/server/vote.qc @@ -55,7 +55,7 @@ entity GetKickVoteVictim(string vote, string cmd, entity caller) GetKickVoteVictim_newcommand = strcat(argv(0), " # ", ftos(num_for_edict(e))); if(argv(0) == "kickban") { - GetKickVoteVictim_newcommand = strcat(GetKickVoteVictim_newcommand, " ", cvar_string("g_ban_default_bantime"), " ", cvar_string("g_ban_default_masksize"), " ", reason); + GetKickVoteVictim_newcommand = strcat(GetKickVoteVictim_newcommand, " ", ftos(cvar("g_ban_default_bantime")), " ", ftos(cvar("g_ban_default_masksize")), " ", reason); } else if(argv(0) == "kick") { @@ -129,6 +129,7 @@ void VoteDialog_Reset() { } float GameCommand_Vote(string s, entity e) { + local float playercount; float argc; argc = tokenize_console(s); if(argv(0) == "help") { @@ -161,8 +162,8 @@ float GameCommand_Vote(string s, entity e) { if(vote == "") { print_to(e, "^1Your vote is empty. See 'vhelp' for more info."); } else if(e - && time < e.vote_next) { - print_to(e, strcat("^1You have to wait ^2", ftos(ceil(e.vote_next - time)), "^1 seconds before you can again call a vote.")); + && time < e.vote_next) { + print_to(e, strcat("^1You have to wait ^2", ftos(ceil(e.vote_next - time)), "^1 seconds before you can again call a vote.")); } else if(VoteCheckNasty(vote)) { print_to(e, "Syntax error in command. See 'vhelp' for more info."); } else if(RemapVote(vote, "vcall", e)) { @@ -183,6 +184,14 @@ float GameCommand_Vote(string s, entity e) { Nagger_VoteChanged(); msg_entity = e; VoteDialog_UpdateHighlight(1); + + local entity player; + FOR_EACH_REALCLIENT(player) + { + ++playercount; + } + if(playercount > 1) // don't announce a "vote now" sound if player is alone + Announce("votecall"); } else { print_to(e, "^1This vote is not ok. See 'vhelp' for more info."); } @@ -358,7 +367,7 @@ void VoteHelp(entity e) { print_to(e, "^7\"^2yes^7\", \"^2no^7\", \"^2abstain^7\" and \"^2dontcare^7\" to make your vote."); print_to(e, "^7If enough of the players vote yes the vote is accepted."); print_to(e, "^7If enough of the players vote no the vote is rejected."); - print_to(e, strcat("^7If neither the vote will timeout after ", cvar_string("sv_vote_timeout"), "^7 seconds.")); + print_to(e, strcat("^7If neither the vote will timeout after ", ftos(cvar("sv_vote_timeout")), "^7 seconds.")); print_to(e, "^7You can call a vote for or execute these commands:"); print_to(e, strcat("^3", cvar_string("sv_vote_commands"), "^7 and maybe further ^3arguments^7")); } @@ -486,16 +495,19 @@ void VoteAccept() { // no wait for next vote } VoteReset(); + Announce("voteaccept"); } void VoteReject() { bprint("\{1}^2* ^3", VoteNetname(votecaller), "^2's vote for ", votecalledvote_display, "^2 was rejected\n"); VoteReset(); + Announce("votefail"); } void VoteTimeout() { bprint("\{1}^2* ^3", VoteNetname(votecaller), "^2's vote for ", votecalledvote_display, "^2 timed out\n"); VoteReset(); + Announce("votefail"); } void VoteStop(entity stopper) {