amx_task 00:00 "exec server-night.cfg" t
amx_task 00:01 "exec server-night.cfg" t
amx_task 09:00 "exec server.cfg" t
amx_task 09:01 "exec server.cfg" t
mapcycle.txt дневные карты отсюда беруться
mapcycle-night.txt ночные карты
проблема в том плагин amx_menu_for_nomination не видит карты,можете помочь сделать чтоб меню наминаций после 00:00 mapcycle-night.txt,а после 09:00 вот отсюда брал для номинации карты mapcycle.txt через set_task
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN "Menu for Nomination"
#define VERSION "1.0"
#define AUTHOR "AndrewZ"
#define PDATA_SAFE 2
#define OFFSET_LINUX 5
#define OFFSET_CSMENUCODE 205
new g_cvar_Mode, g_cvar_File
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )
register_clcmd( "say maps", "clcmd_MapsMenu", ADMIN_ALL, "- open menu for map nomination" )
register_clcmd( "say /maps", "clcmd_MapsMenu", ADMIN_ALL, "- open menu for map nomination" )
register_clcmd( "say_team /maps", "clcmd_MapsMenu", ADMIN_ALL, "- open menu for map nomination" )
register_clcmd( "maps_menu", "clcmd_MapsMenu", ADMIN_ALL, "- open menu for map nomination" )
register_clcmd( "amx_nomination_menu", "clcmd_MapsMenu", ADMIN_ALL, "- open menu for map nomination" )
g_cvar_Mode = register_cvar( "amx_mfn_mode", "1" ) // 0 = OFF; 1 = File; 2 = Folder.
g_cvar_File = register_cvar( "amx_mfn_file", "mapcycle.txt" ) // File with maps list in "configs" dir.
register_dictionary( "amx_menu_for_nomination.txt" )
}
public clcmd_MapsMenu( id )
{
new iCvarMode = get_pcvar_num( g_cvar_Mode )
if( !is_user_connected( id ) || !iCvarMode )
return PLUGIN_HANDLED
new szTemp[ 64 ], iMenu
formatex( szTemp, charsmax( szTemp ), "\y%L\R", id, "MFN_MENU_TITLE" )
iMenu = menu_create( szTemp, "handler_MapsMenu" )
if( iCvarMode == 1 )
{
new szCvarFile[ 32 ], iMapsFile
get_pcvar_string( g_cvar_File, szCvarFile, charsmax( szCvarFile ) )
get_configsdir( szTemp, charsmax( szTemp ) )
format( szTemp, charsmax( szTemp ), "%s/%s", szTemp, szCvarFile )
iMapsFile = fopen( szTemp, "rt" )
if( iMapsFile )
{
while( !feof( iMapsFile ) )
{
fgets( iMapsFile, szTemp, charsmax( szTemp ) )
trim( szTemp )
if( is_map_valid( szTemp ) )
menu_additem( iMenu, szTemp, "", ADMIN_ALL )
}
fclose( iMapsFile )
}
}
else
{
new iMapsDir
iMapsDir = open_dir( "maps", szTemp, charsmax( szTemp ) )
if( iMapsDir )
{
new iLen
while( next_file( iMapsDir, szTemp, charsmax( szTemp ) ) )
{
iLen = strlen( szTemp )
if( iLen > 4 && equali( szTemp[ iLen - 4 ], ".bsp", 4 ) )
{
szTemp[ iLen - 4 ] = '^0'
if( is_map_valid( szTemp ) )
menu_additem( iMenu, szTemp, "", ADMIN_ALL )
}
}
close_dir( iMapsDir )
}
}
formatex( szTemp, charsmax( szTemp ), "%L", id, "MFN_MENU_BACK" )
menu_setprop( iMenu, MPROP_BACKNAME, szTemp )
formatex( szTemp, charsmax( szTemp ), "%L", id, "MFN_MENU_NEXT" )
menu_setprop( iMenu, MPROP_NEXTNAME, szTemp )
formatex( szTemp, charsmax( szTemp ), "%L", id, "MFN_MENU_EXIT" )
menu_setprop( iMenu, MPROP_EXITNAME, szTemp )
menu_setprop( iMenu, MPROP_NUMBER_COLOR, "\w" )
if( pev_valid( id ) == PDATA_SAFE )
set_pdata_int( id, OFFSET_CSMENUCODE, 0, OFFSET_LINUX )
menu_display( id, iMenu, 0 )
return PLUGIN_HANDLED
}
public handler_MapsMenu( id, iMenu, iItem )
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu )
return PLUGIN_HANDLED
}
new szData[ 1 ], szName[ 32 ], iAccess, iCallback
menu_item_getinfo( iMenu, iItem, iAccess, szData, charsmax( szData ), szName, charsmax( szName ), iCallback )
client_cmd( id, "say %s", szName )
menu_destroy( iMenu )
return PLUGIN_HANDLED
}