#include < amxmodx >
#include < amxmisc >
#include < ColorChat >
#pragma semicolon 1
new const gz_VERSION [ ] = { "0.0.1" };
new const g_DSlow[][] =
{
"rate 2500",
"cl_updaterate 10",
"cl_cmdrate 10",
"ex_interp 0.100",
"cl_shadows 0",
"cl_himodels 0",
"cl_dynamiccrosshair 0",
"cl_crosshair_translucent 0",
"cl_weather 0",
"hud_fastswitch 1",
"mp_decals 50"
};
new const g_VerySlow[][] =
{
"rate 3500",
"cl_updaterate 13",
"cl_cmdrate 13",
"ex_interp 0.077",
"cl_shadows 0",
"cl_himodels 0",
"cl_dynamiccrosshair 0",
"cl_crosshair_translucent 0",
"cl_weather 0",
"hud_fastswitch 1",
"mp_decals 100"
};
new const g_Slow[][] =
{
"rate 5000",
"cl_updaterate 15",
"ex_interp 0.068",
"cl_cmdrate 15",
"cl_shadows 0",
"cl_himodels 0",
"cl_dynamiccrosshair 0",
"cl_crosshair_translucent 0",
"cl_weather 0",
"hud_fastswitch 1",
"mp_decals 150"
};
new const g_Normal[][] =
{
"rate 7500",
"cl_updaterate 20",
"ex_interp 0.050",
"cl_cmdrate 30",
"cl_shadows 1",
"cl_himodels 0",
"cl_dynamiccrosshair 1",
"cl_crosshair_translucent 0",
"cl_weather 0",
"hud_fastswitch 0",
"mp_decals 200"
};
new const g_Fast[][] =
{
"rate 9999",
"cl_updaterate 30",
"ex_interp 0.034",
"cl_cmdrate 40",
"cl_shadows 1",
"cl_himodels 1",
"cl_dynamiccrosshair 1",
"cl_crosshair_translucent 1",
"cl_weather 1",
"hud_fastswitch 0",
"mp_decals 250"
};
new const g_VeryFast[][] =
{
"rate 20000",
"cl_updaterate 60",
"ex_interp 0.017",
"cl_cmdrate 60",
"cl_shadows 1",
"cl_himodels 1",
"cl_dynamiccrosshair 1",
"cl_crosshair_translucent 1",
"cl_weather 1",
"hud_fastswitch 0",
"mp_decals 300"
};
new const g_Lan[][] =
{
"rate 20000",
"cl_updaterate 100",
"ex_interp 0.010",
"cl_cmdrate 100",
"cl_shadows 1",
"cl_himodels 1",
"cl_dynamiccrosshair 1",
"cl_crosshair_translucent 1",
"cl_weather 1",
"hud_fastswitch 0",
"mp_decals 300"
};
new i, toggle, mode;
public plugin_init ( )
{
register_plugin ( "Choose Connection", gz_VERSION, "CryWolf" );
register_clcmd ( "say /lan", "menushow" );
register_clcmd ( "say_team /lan", "menushow" );
mode = register_cvar ( "amx_msg_mode", "1" );
toggle = register_cvar ( "amx_msg_time", "30.0" );
set_task ( get_pcvar_float ( toggle ), "showmessage", 0, "", 0, "a", 10 );
}
public showmessage ( )
{
if ( get_pcvar_num ( mode ) == 1 )
{
ColorChat ( 0, GREEN, "[AMXX] Type /lan in chat to choose you're connection settings!" );
return PLUGIN_HANDLED;
}
if ( get_pcvar_num ( mode ) == 2 )
{
set_hudmessage ( 255, 255, 255, -1.0, 0.10, 1, 6.0, 10.0 );
show_hudmessage ( 0, "Type /lan in chat to choose best connection for you." );
return PLUGIN_HANDLED;
}
if ( get_pcvar_num ( mode ) == 0 )
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public menushow ( id )
{
new menu = menu_create ( "\y AMXX Choose Connection", "menu_handler" );
menu_additem ( menu, "DSlow", "1", 0 );
menu_additem ( menu, "Very Slow", "2", 0 );
menu_additem ( menu, "Slow", "3", 0 );
menu_additem ( menu, "Normal", "4", 0 );
menu_additem ( menu, "Fast", "5", 0 );
menu_additem ( menu, "Very Fast", "6", 0 );
menu_additem ( menu, "Lan", "7", 0 );
menu_setprop ( menu, MPROP_NUMBER_COLOR, "\r" );
menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
menu_display ( id, menu, 0 );
}
public menu_handler ( id, menu, item )
{
if ( item == MENU_EXIT )
{
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
new data [ 6 ], szName [ 64 ];
new access, callback;
menu_item_getinfo ( menu, item, access, data, charsmax ( data ), szName, charsmax ( szName ), callback );
new key = str_to_num ( data );
switch ( key )
{
case 1:
{
for ( i = 0; i < sizeof g_DSlow; i++ )
client_cmd ( id, g_DSlow [ i ] );
ColorChat ( id, GREEN, "[AMXX] Rates have been set to DSlow" );
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
case 2:
{
for ( i = 0; i < sizeof g_VerySlow; i++ )
client_cmd ( id, g_VerySlow [ i ] );
ColorChat ( id, GREEN, "[AMXX] Rates have been set to Very Slow" );
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
case 3:
{
for ( i = 0; i < sizeof g_Slow; i++ )
client_cmd ( id, g_Slow [ i ] );
ColorChat ( id, GREEN, "[AMXX] Rates have been set to Slow" );
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
case 4:
{
for ( i = 0; i < sizeof g_Normal; i++ )
client_cmd ( id, g_Normal [ i ] );
ColorChat ( id, GREEN, "[AMXX] Rates have been set to Normal" );
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
case 5:
{
for ( i = 0; i < sizeof g_Fast; i++ )
client_cmd ( id, g_Fast [ i ] );
ColorChat ( id, GREEN, "[AMXX] Rates have been set to Fast" );
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
case 6:
{
for ( i = 0; i < sizeof g_VeryFast; i++ )
client_cmd ( id, g_VeryFast [ i ] );
ColorChat ( id, GREEN, "[AMXX] Rates have been set to Very Fast" );
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
case 7:
{
for ( i = 0; i < sizeof g_Lan; i++ )
client_cmd ( id, g_Lan [ i ] );
ColorChat ( id, GREEN, "[AMXX] Rates have been set to Lan" );
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
}
menu_destroy ( menu );
return PLUGIN_HANDLED;
}