okay so mapend also did not detect it just like mapstart. right after the vote is however a fitting point to set the bol

This commit is contained in:
jenz 2024-02-13 22:16:53 +01:00
parent af83da6f34
commit 56f6ac7e38

View File

@ -140,6 +140,7 @@ bool g_MapVoteCompleted;
bool g_ChangeMapAtRoundEnd;
bool g_ChangeMapInProgress;
bool g_HasIntermissionStarted = false;
bool g_SaveCDOnMapEnd = true;
int g_mapFileSerial = -1;
int g_iPlayerCount_excludeSpec;
int g_iPlayerAFKTime;
@ -524,6 +525,12 @@ public void OnMapStart()
return;
}
g_Config.Rewind();
//this does not detect obvioulsy when there is more or less than 15 players active because its the mapstart
// nobody has connected yet. OnMapEnd also does not work for checking this. so no point setting it to false here.
if(InternalAreRestrictionsActive(true))
g_SaveCDOnMapEnd = true;
else
g_SaveCDOnMapEnd = false;
}
public void OnConfigsExecuted()
@ -592,7 +599,7 @@ public void OnMapEnd()
static char map[PLATFORM_MAX_PATH];
int Cooldown;
if(InternalAreRestrictionsActive(false))
if(g_SaveCDOnMapEnd)
{
GetCurrentMap(map, PLATFORM_MAX_PATH);
Cooldown = InternalGetMapCooldown(map);
@ -671,28 +678,34 @@ public void OnClientDisconnect(int client)
public Action Command_SetNextmap(int client, int args)
{
if(args < 1)
{
CReplyToCommand(client, "[MCE] Usage: sm_setnextmap <map>");
return Plugin_Handled;
}
if(args < 1)
{
CReplyToCommand(client, "[MCE] Usage: sm_setnextmap <map>");
return Plugin_Handled;
}
static char map[PLATFORM_MAX_PATH];
GetCmdArg(1, map, PLATFORM_MAX_PATH);
static char map[PLATFORM_MAX_PATH];
GetCmdArg(1, map, PLATFORM_MAX_PATH);
if(!IsMapValid(map))
{
CReplyToCommand(client, "[MCE] %t", "Map was not found", map);
return Plugin_Handled;
}
if(!IsMapValid(map))
{
CReplyToCommand(client, "[MCE] %t", "Map was not found", map);
return Plugin_Handled;
}
ShowActivity(client, "%t", "Changed Next Map", map);
LogAction(client, -1, "\"%L\" changed nextmap to \"%s\"", client, map);
ShowActivity(client, "%t", "Changed Next Map", map);
LogAction(client, -1, "\"%L\" changed nextmap to \"%s\"", client, map);
SetNextMap(map);
g_MapVoteCompleted = true;
SetNextMap(map);
g_MapVoteCompleted = true;
//checking on MapStart and MapEnd is not good enough. Players are not considered alive and on teams at those points in time.
//therefore instead applying the bool here after the mapvote completed.
if(InternalAreRestrictionsActive(false))
g_SaveCDOnMapEnd = true;
else
g_SaveCDOnMapEnd = false;
return Plugin_Handled;
return Plugin_Handled;
}
public Action Command_ReloadMaps(int client, int args)