• Гость, перед открытием темы прочитай описание раздела, чтобы не ошибиться. Любые вопросы по настройке сервера создаются в разделе Технической Поддержки.

Помощь Проблема с меню последнего зека

dfsasdf

Участник
Сообщения
1
Симпатии
0
Баллы
1
#1
Всем привет. Столкнулся с проблемой на моём jail сервере. Если предпоследний зек умирает с помощью кнопок, то у последнего зека не работает меню последнего зека. Если-же предпоследний зек умирает по любым другим причинам, то всё нормально. Что делать?

Код меню последнего зека из jbe_core.sma:

Код:
Show_LastPrisonerMenu(id)
{
    if(g_iDuelStatus || IsNotSetBit(g_iBitUserAlive, id) || id != g_iLastPnId) return PLUGIN_HANDLED;
    new szMenu[512], iLen = formatex(szMenu, charsmax(szMenu), "\wПоследнее желание^n^n");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[1] \wОткрыть клетки^n");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[2] \wДеньги: \y$%d^n", g_iAllCvars[LAST_PRISONER_MODEY]);
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[3] \wГолос на раунд^n");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[4] \wУбить охрану^n");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[5] \wВыбрать Дуэль^n");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[6] \wОсвобождение^n^n");
    formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[0] \wВыход");
    return show_menu(id, (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<9), szMenu, -1, "Show_LastPrisonerMenu");
}

public Handle_LastPrisonerMenu(id, iKey)
{
    if(g_iDuelStatus || IsNotSetBit(g_iBitUserAlive, id) || id != g_iLastPnId) return PLUGIN_HANDLED;
    switch(iKey)
    {
        case 0:
        {
            jbe_open_doors();
        }
        case 1:
        {
            ExecuteHamB(Ham_Killed, id, id, 0);
            jbe_set_user_money(id, g_iUserMoney[id] + g_iAllCvars[LAST_PRISONER_MODEY], 1);
            remove_task(TASK_LAST_DIE);
            new szName[32];
            get_user_name(id, szName, charsmax(szName));
            UTIL_SayText(0, "%L %L", LANG_PLAYER, "JBE_PREFIX", LANG_PLAYER, "JBE_CHAT_ALL_MONEY", szName);
        }
        case 2:
        {
            ExecuteHamB(Ham_Killed, id, id, 0);
            SetBit(g_iBitUserVoiceNextRound, id);
            remove_task(TASK_LAST_DIE);
            new szName[32];
            get_user_name(id, szName, charsmax(szName));
            UTIL_SayText(0, "%L %L", LANG_PLAYER, "JBE_PREFIX", LANG_PLAYER, "JBE_CHAT_ALL_GOLOS", szName);
        }
        case 3:
        {
            if(g_iPlayersNum[2] > 0)
            {
                for(new i = 1; i <= g_iMaxPlayers; i++)
                {
                    if(IsNotSetBit(g_iBitUserAlive, i) || g_iUserTeam[i] != 2) continue;
                    fm_strip_user_weapons(i, 1);
                    set_user_godmode(i, 0);
                }
                fm_give_item(id, "weapon_ak47");
                fm_set_user_bpammo(id, CSW_AK47, 200);
                g_iLastPnId = 0;
                remove_task(TASK_LAST_DIE);
                new szName[32];
                get_user_name(id, szName, charsmax(szName));
                UTIL_SayText(0, "%L %L", LANG_PLAYER, "JBE_PREFIX", LANG_PLAYER, "JBE_CHAT_ALL_WEAPONS_YES", szName);
                set_task(1.0, "jbe_lastdie_count_down", TASK_LAST_DIE, _, _, "a", g_iLastDieCountDown = 50 + 1);
            }
            else if(g_iPlayersNum[2] < 1) UTIL_SayText(id, "%L %L", LANG_PLAYER, "JBE_PREFIX", LANG_PLAYER, "JBE_CHAT_ALL_WEAPONS_NO");
        }
        case 4: return Show_ChoicePrizeMenu(id);
        case 5:
        {
            if(g_iPlayersNum[2] > 0)
            {
                ExecuteHamB(Ham_Killed, id, id, 0);
                jbe_add_user_free_next_round(id);
                remove_task(TASK_LAST_DIE);
                new szName[32];
                get_user_name(id, szName, charsmax(szName));
                UTIL_SayText(0, "%L %L", LANG_PLAYER, "JBE_PREFIX", LANG_PLAYER, "JBE_CHAT_ALL_FD_YES", szName);
            }
            else if(g_iPlayersNum[2] < 1) UTIL_SayText(id, "%L %L", LANG_PLAYER, "JBE_PREFIX", LANG_PLAYER, "JBE_CHAT_ALL_FD_NO_KT");
        }
    }
    return PLUGIN_HANDLED;
}
 
Сверху