[CS 1.6] Как расширить массив в меню


В данной статье я расскажу вам как расширить массив в меню CS 1.6

Возьмем пример стандартного меню в ZP 4.3:
// Game Menu
show_menu_game(id)
{
    // Player disconnected?
    if (!g_isconnected[id])
        return;
    
    static menu[256], len, userflags
    len = 0
    userflags = get_user_flags(id)
    
    // Title
    len += formatex(menu[len], charsmax(menu) - len, "\y%s^n^n", g_modname)
    
    // 1. Buy weapons
    if (get_pcvar_num(cvar_buycustom))
        len += formatex(menu[len], charsmax(menu) - len, "\r1.\w %L^n", id, "MENU_BUY")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d1. %L^n", id, "MENU_BUY")
    
    // 2. Extra items
    if (get_pcvar_num(cvar_extraitems) && g_isalive[id])
        len += formatex(menu[len], charsmax(menu) - len, "\r2.\w %L^n", id, "MENU_EXTRABUY")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d2. %L^n", id, "MENU_EXTRABUY")
    
    // 3. Zombie class
    if (get_pcvar_num(cvar_zclasses))
        len += formatex(menu[len], charsmax(menu) - len, "\r3.\w %L^n", id,"MENU_ZCLASS")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d3. %L^n", id,"MENU_ZCLASS")
    
    // 4. Unstuck
    if (g_isalive[id])
        len += formatex(menu[len], charsmax(menu) - len, "\r4.\w %L^n", id, "MENU_UNSTUCK")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d4. %L^n", id, "MENU_UNSTUCK")
    
    // 5. Help
    len += formatex(menu[len], charsmax(menu) - len, "\r5.\w %L^n^n", id, "MENU_INFO")
    
    // 6. Join spec
    if (!g_isalive[id] || !get_pcvar_num(cvar_blocksuicide) || (userflags & g_access_flag[ACCESS_ADMIN_MENU]))
        len += formatex(menu[len], charsmax(menu) - len, "\r6.\w %L^n^n", id, "MENU_SPECTATOR")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d6. %L^n^n", id, "MENU_SPECTATOR")
    
    // 9. Admin menu
    if (userflags & g_access_flag[ACCESS_ADMIN_MENU])
        len += formatex(menu[len], charsmax(menu) - len, "\r9.\w %L", id, "MENU_ADMIN")
    else
        len += formatex(menu[len], charsmax(menu) - len, "\d9. %L", id, "MENU_ADMIN")
    
    // 0. Exit
    len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w %L", id, "MENU_EXIT")
    
    // Fix for AMXX custom menus
    if (pev_valid(id) == PDATA_SAFE)
        set_pdata_int(id, OFFSET_CSMENUCODE, 0, OFFSET_LINUX)
    
    show_menu(id, KEYSMENU, menu, -1, "Game Menu")
}

Случаются проблемы, когда слова/буквы не влезают в меню, давайте решим данную проблему, находим:
static menu[256]
И меняем на:
static menu[512]
Этим самым мы увеличили массив меню и туда влезет больше слов/букв

Русские буквы занимают 2 символа массива, так что старайтесь меньше писать либо некоторые слова заменять английскими



скачать dle 12.0




Комментариев 1
  1. Sanya
    • 0
    Полезная статья!


Внимание!

Здесь вы можете приобрести сборку сервера CS 1.6, по самым низким ценам!

Перейти в магазин
Основа для вашей сборки
ReHLDS 3.7.0.692

ReHLDS (Reverse-engineered) - это новый шаг вперед, который дает второе дыхание нашим серверам. ReHLDS работает в 2 раза быстрей, чем HLDS.

AmxModx 1.8.3

AMXModX - это Metamod дополнение, которое позволяет создавать новые модификации для Half-Life на языке Pawn

Reunion 0.1.92

Reunion является продолжением Dproto для ReHLDS. Это metamod плагин, который позволяет заходить 47/48 Non-Steam на сервер.

Revoice 0.1.0.32

Revoice - это Metamod plugin, который дает возможность общения голосовым чатом между non-steam и steam клиентами.

Metamod-r 1.3.0.127

Новый Metamod-r содержит огромное количество оптимизаций производительности и намного более чистый код. Ядро было написано с использованием JIT-компилятора.

ReAuthCheck 0.1.6

ReAuthCheck - это Metamod плагин, который занимается проверкой ваших игроков на валидность, с помощью данного модуля для REHLDS вы сможете защитить свой сервер от ботов, которые постоянно спамят рекламу или просто забивают слот на сервере!

Информация

Добро пожаловать на CS-DEV.RU!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт