MAKESERV | Дата: Вторник, 17.02.2015, 17:57 | Сообщение # 1 |
Сержант
Группа: Администратор
Сообщений: 29
Статус:
| Автор:droper
Версия:1.0
Описание: Плагин позволяет настроить игроку его худ. Можно скрыть или, наоборот, показать: деньги, жизни, броню, радар, таймер и т.п. Все это настраивается через удобное меню.
Команды: say /hud - показать меню. Цитата // ================================================================================================ // // Plugin: HUD Manager // Version: 1.0 // Author: droper // // Copyright © 2012, droper // // ================================================================================================ #include < amxmodx > #include < amxmisc > new const g_constMenuBody[][] = { "\y1. \wHide Crosshair, Ammo, Weapon list\r\R%s^n", "\y2. \wHide Flashlight, \r+\R%s^n", "\y3. \wHide All, \r+\R%s^n", "\y4. \wHide Radar, Health, Armor, \r+\R%s^n", "\y5. \wHide Timer, \r+\R%s^n", "\y6. \wHide Money, \r+\R%s^n", "\y7. \wHide All Crosshairs\r\R%s^n", "\y8. \wDraw Additional Crosshair\r\R%s^n", "\r+ \w- additional crosshair will be drawn" }; new const g_constHudMenu[] = "Hud Manager:"; // do not modify it new g_bitsPlayerHud[ 33 ] = { 0, ... }; new g_msgHideWeapon = 0;
public plugin_init () { register_plugin ( "HUD Manager", "1.0", "droper" ); register_menucmd ( register_menuid ( g_constHudMenu ), 1023, "actionHudMenu" ); register_clcmd ( "say /hud", "ClCmd_Hud" ); register_message ( g_msgHideWeapon = get_user_msgid ( "HideWeapon" ), "Message_HideWeapon" ); } public ClCmd_Hud ( id ) { ShowHudMenu ( id ); return PLUGIN_HANDLED; } public ShowHudMenu ( id ) { new szMenu[ 512 ];
new iLen = format ( szMenu, charsmax( szMenu ), "Hud Manager:^n^n" ); new i = 0; for ( ; i < sizeof g_constMenuBody; i++ ) { iLen += format ( szMenu[ iLen ], charsmax( szMenu ) - iLen, g_constMenuBody, ( g_bitsPlayerHud[ id ] & ( 1 << i ) ) ? "YES" : "NO" ); } format ( szMenu[ iLen ], charsmax( szMenu ) - iLen, "^n^n\y0. \wExit" ); show_menu ( id, MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_4 | MENU_KEY_5 | MENU_KEY_6 | MENU_KEY_7 | MENU_KEY_8 | MENU_KEY_0, szMenu, -1, g_constHudMenu ); } public actionHudMenu ( id, key ) { if ( key < 9 ) { static bitsPlayer; bitsPlayer = g_bitsPlayerHud[ id ]; if ( bitsPlayer & ( 1 << key ) ) { bitsPlayer &= ~( 1 << key ); } else { switch ( key ) { case 6: bitsPlayer &= 0x7F; // если выбрали 7-ой пункт, то выключаем 8-ой case 7: bitsPlayer &= 0xBF; // если выбрали 8-ой пункт, то выключаем 7-ой } bitsPlayer |= ( 1 << key ); } message_begin ( MSG_ONE_UNRELIABLE, g_msgHideWeapon, _, id ); { write_byte ( bitsPlayer ); } message_end (); g_bitsPlayerHud[ id ] = bitsPlayer; ShowHudMenu ( id ); } } public Message_HideWeapon ( msg_id, msg_dest, msg_entity ) { set_msg_arg_int ( 1, ARG_BYTE, get_msg_arg_int ( 1 ) | g_bitsPlayerHud[ msg_entity ] ); }
|
|
| |