// *** GameType *** int G_Gametype_v(gentity_t *ent, unsigned int dwVoteIndex, char *arg, char *arg2, qboolean fRefereeCmd) { // Vote request (vote is being initiated) if (arg) { int i = atoi(arg2); if (!vote_allow_gametype.integer && ent && !ent->client->sess.referee) { G_voteDisableMessage(ent, arg); G_GametypeList(ent); G_voteCurrentSetting(ent, arg, va("%d (%s)", g_gametype.integer, gameNames[g_gametype.integer])); return G_INVALID; } else if (G_voteDescription(ent, fRefereeCmd, dwVoteIndex)) { G_GametypeList(ent); G_voteCurrentSetting(ent, arg, va("%d (%s)", g_gametype.integer, gameNames[g_gametype.integer])); return G_INVALID; } if (i < GT_WOLF || i >= GT_MAX_GAME_TYPE || i == GT_WOLF_CAMPAIGN) { G_refPrintf(ent, "\n^3Invalid gametype: ^7%d", i); G_GametypeList(ent); return G_INVALID; } if (i == g_gametype.integer) { G_refPrintf(ent, "\n^3Gametype^5 is already set to %s!", gameNames[i]); return G_INVALID; } Com_sprintf(level.voteInfo.vote_value, VOTE_MAXSTRING, "%s", arg2); Com_sprintf(arg2, VOTE_MAXSTRING, "%s", gameNames[i]); // Vote action (vote has passed) } else { char s[MAX_STRING_CHARS]; // Set gametype G_voteSetValue("Gametype", "g_gametype"); trap_Cvar_VariableStringBuffer("mapname", s, sizeof(s)); trap_SendConsoleCommand(EXEC_APPEND, va("map %s\n", s)); } return G_OK; }
// *** GameType *** int G_Gametype_v(gentity_t *ent, unsigned int dwVoteIndex, char *arg, char *arg2, qboolean fRefereeCmd) { // Vote request (vote is being initiated) if (arg) { int i = atoi(arg2); if (!vote_allow_gametype.integer && ent && !ent->client->sess.referee) { G_voteDisableMessage(ent, arg); G_GametypeList(ent); G_voteCurrentSetting(ent, arg, va("%d (%s)", g_gametype.integer, gameNames[g_gametype.integer])); return(G_INVALID); } else if (G_voteDescription(ent, fRefereeCmd, dwVoteIndex)) { G_GametypeList(ent); G_voteCurrentSetting(ent, arg, va("%d (%s)", g_gametype.integer, gameNames[g_gametype.integer])); return(G_INVALID); } if (i < GT_WOLF || i >= GT_MAX_GAME_TYPE || i == GT_WOLF_CAMPAIGN) { G_refPrintf(ent, "\n^3Invalid gametype: ^7%d", i); G_GametypeList(ent); return(G_INVALID); } if (i == g_gametype.integer) { G_refPrintf(ent, "\n^3Gametype^5 is already set to %s!", gameNames[i]); return(G_INVALID); } Com_sprintf(level.voteInfo.vote_value, VOTE_MAXSTRING, "%s", arg2); Com_sprintf(arg2, VOTE_MAXSTRING, "%s", gameNames[i]); // Vote action (vote has passed) } else { // Set gametype G_voteSetValue("Gametype", "g_gametype"); Svcmd_ResetMatch_f(qtrue, qtrue); } return(G_OK); }