-=Batista=-
Просвященный
- Сообщения
- 304
- Реакции
- 88
Всем привет. В плагине basevotes есть голосование за карту. Нужно сделать так, чтобы пропускались номера 1, 2 и 3. Иначе во врем голосования за карту выбирается не сама карта, а оружие
выбирается не сама карта, а оружие
Жесть... А плагин по типу mapcooser_extended или Ultimate MapChooser не подойдёт в таком случае?
исходники
исходники
for (new i = 0; i < map_count; i++)
{
GetArrayString(g_map_array, i, map_name, sizeof(map_name));
menu.AddItem(map_name, map_name);
}
menu.AddItem("none", "ITEMDRAW_SPACER", ITEMDRAW_SPACER);
Перед 290 строкой в файле votemap.sp
можешь добавить строкиPHP:for (new i = 0; i < map_count; i++) { GetArrayString(g_map_array, i, map_name, sizeof(map_name)); menu.AddItem(map_name, map_name); }
, но не уверен, что это ни на что больше не повлияет.PHP:menu.AddItem("none", "ITEMDRAW_SPACER", ITEMDRAW_SPACER);
-=Batista=-, поставь и настрой UMC и забудь об этой головной боли.
Да, протрахаешься несколько дней, пока вкуришь все конфиги (хотя можно вполне пользоваться и дефолтной сборкой, отредактировав под себя лишь главный конфиг)
Но поверь - это самый лучший и полный плагин для руления картами.
И да - он берёт на себя также и голосовалку из админ-меню.
-=Batista=-, тогда жди с моря погоды, что могу ещё сказать.....
Handle:BuildVoteMenu(Handle:vote_items, const String:title[], VoteHandler:callback)
{
new bool:verboseLogs = GetConVarBool(cvar_logging);
if (verboseLogs)
LogUMCMessage("VOTE MENU:");
//Begin creating menu
new Handle:menu = (GetConVarBool(cvar_valvemenu))
? CreateMenuEx(GetMenuStyleHandle(MenuStyle_Valve), Handle_VoteMenu,
MenuAction_DisplayItem|MenuAction_Display)
: CreateMenu(Handle_VoteMenu, MenuAction_DisplayItem|MenuAction_Display);
SetVoteResultCallback(menu, callback); //Set callback
SetMenuExitButton(menu, false); //Don't want an exit button.
//Set the title
SetMenuTitle(menu, title);
//Keep track of slots taken up in the vote.
new blockSlots = GetConVarInt(cvar_block_slots);
new voteSlots = blockSlots;
if (GetConVarBool(cvar_novote))
{
SetMenuOptionFlags(menu, MENUFLAG_BUTTON_NOVOTE);
voteSlots++;
if (verboseLogs)
LogUMCMessage("1: No Vote");
}
DEBUG_MESSAGE("Setup slot blocking.")
//Add blocked slots if...
// ...the cvar for blocked slots is enabled.
AddSlotBlockingToMenu(menu, blockSlots);
new size = GetArraySize(vote_items);
//Throw an error and return nothing if...
// ...the number of items in the vote is less than 2 (hence no point in voting).
if (size <= 1)
{
DEBUG_MESSAGE("Not enough items in the vote. Aborting.")
LogError("VOTING: Not enough maps to run a map vote. %i maps available.", size);
CloseHandle(menu);
return INVALID_HANDLE;
}
new Handle:voteItem;
decl String:info[MAP_LENGTH], String:display[MAP_LENGTH];
for (new i = 0; i < size; i++)
{
voteSlots++;
voteItem = GetArrayCell(vote_items, i);
GetTrieString(voteItem, "info", info, sizeof(info));
GetTrieString(voteItem, "display", display, sizeof(display));
AddMenuItem(menu, info, display);
if (verboseLogs)
LogUMCMessage("%i: %s (%s)", voteSlots, display, info);
}
DEBUG_MESSAGE("Setting proper pagination.")
SetCorrectMenuPagination(menu, voteSlots);
DEBUG_MESSAGE("Vote menu built successfully.")
return menu; //Return the finished menu.
}
//Adds slot blocking to a menu
AddSlotBlockingToMenu(Handle:menu, blockSlots)
{
//Add blocked slots if...
// ...the cvar for blocked slots is enabled.
if (blockSlots > 3)
AddMenuItem(menu, NOTHING_OPTION, "", ITEMDRAW_SPACER);
if (blockSlots > 0)
AddMenuItem(menu, NOTHING_OPTION, "Slot Block Message 1", ITEMDRAW_DISABLED);
if (blockSlots > 1)
AddMenuItem(menu, NOTHING_OPTION, "Slot Block Message 2", ITEMDRAW_DISABLED);
if (blockSlots > 2)
AddMenuItem(menu, NOTHING_OPTION, "", ITEMDRAW_SPACER);
if (blockSlots > 4)
AddMenuItem(menu, NOTHING_OPTION, "", ITEMDRAW_SPACER);
}