mapvote 1.1.4

Added logic to hide the map when there is only one map players can vote, just like how modes work (forgot to implement maps as well)
This commit is contained in:
Resxt 2023-08-21 16:46:03 +02:00
parent e80fed04a9
commit 87486829b9

View File

@ -180,6 +180,10 @@ ListenForVoteInputs()
{ {
continue; // stop/skip execution continue; // stop/skip execution
} }
else if (section == "mode" && level.mapvote["maps"]["by_index"].size <= 1 && input == "mapvote_unselect")
{
continue; // stop/skip execution
}
if (input == "mapvote_down") if (input == "mapvote_down")
{ {
@ -258,16 +262,16 @@ CreateVoteMenu()
spacing = 20; spacing = 20;
hudLastPosY = 0; hudLastPosY = 0;
sectionsSeparation = 0; sectionsSeparation = 0;
modesCount = 0;
if (level.mapvote["modes"]["by_index"].size > 1) if (level.mapvote["modes"]["by_index"].size > 1 && level.mapvote["maps"]["by_index"].size > 1)
{ {
sectionsSeparation = 1; sectionsSeparation = 1;
modesCount = level.mapvote["modes"]["by_index"].size;
} }
hudLastPosY = 0 - ((((level.mapvote["maps"]["by_index"].size + modesCount + sectionsSeparation) * spacing) / 2) - (spacing / 2)); hudLastPosY = 0 - ((((level.mapvote["maps"]["by_index"].size + level.mapvote["modes"]["by_index"].size + sectionsSeparation) * spacing) / 2) - (spacing / 2));
if (level.mapvote["maps"]["by_index"].size > 1)
{
for (mapIndex = 0; mapIndex < level.mapvote["maps"]["by_index"].size; mapIndex++) for (mapIndex = 0; mapIndex < level.mapvote["maps"]["by_index"].size; mapIndex++)
{ {
mapVotesHud = CreateHudText(&"", "default", 1.5, "LEFT", "CENTER", GetDvarInt("mapvote_horizontal_spacing"), hudLastPosY, true, 0); mapVotesHud = CreateHudText(&"", "default", 1.5, "LEFT", "CENTER", GetDvarInt("mapvote_horizontal_spacing"), hudLastPosY, true, 0);
@ -293,6 +297,7 @@ CreateVoteMenu()
hudLastPosY += spacing; hudLastPosY += spacing;
} }
}
if (level.mapvote["modes"]["by_index"].size > 1) if (level.mapvote["modes"]["by_index"].size > 1)
{ {
@ -314,6 +319,11 @@ CreateVoteMenu()
hudLastPosY += spacing; hudLastPosY += spacing;
} }
if (level.mapvote["maps"]["by_index"].size <= 1)
{
player UpdateSelection("mode", 0);
}
} }
foreach(player in GetHumanPlayers()) foreach(player in GetHumanPlayers())