Русское сообщество по скриптингу

Рандомный выбор игры jb_engine  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Рандомный выбор игры jb_engine  [Решено]

Сообщение butkov34 » 09 май 2020, 04:08

При старте игрового дня, открывается меню
Код: Выделить всё
public jbe_vote_day_mode_timer()
{
    if(!--
g_iDayModeVoteTimejbe_vote_day_mode_ended();
    for(new 
iPlayer 1iPlayer <= g_iMaxPlayersiPlayer++)
    {
        if(
IsNotSetBit(g_iBitUserVoteDayModeiPlayer)) continue;
        
Show_DayModeMenu(iPlayerg_iMenuPosition[iPlayer]); //Открывается это меню для выбора игры
    
}

Я его закомментировал.
Соответственно у игроков нет выбора меню. После окончания типо голосования без меню запускается одна и таже игра. Запускается она здесь:
Код: Выделить всё
public jbe_vote_day_mode_ended()
{
    for(new 
iPlayer 1iPlayer <= g_iMaxPlayersiPlayer++)
    {
        if(
IsNotSetBit(g_iBitUserVoteDayModeiPlayer)) continue;
        
ClearBit(g_iBitUserVoteDayModeiPlayer);
        
ClearBit(g_iBitUserDayModeVotediPlayer);
        
show_menu(iPlayer0"^n");
        
jbe_informer_offset_down(iPlayer);
        
jbe_menu_unblock(iPlayer);
        
set_pev(iPlayerpev_flagspev(iPlayerpev_flags) & ~FL_FROZEN);
        
set_pdata_float(iPlayerm_flNextAttack0.0linux_diff_player);
        
UTIL_ScreenFade(iPlayer51251200002551);
    }
    new 
RandomGame random_num(18);
    new 
aDataDayMode[DATA_DAY_MODE], iVotesNum;
    for(new 
iPlayeriPlayer g_iDayModeListSizeiPlayer++)
    {
        
ArrayGetArray(g_aDataDayModeiPlayeraDataDayMode);
        if(
aDataDayMode[VOTES_NUM] >= iVotesNum)
        {
            
iVotesNum aDataDayMode[VOTES_NUM];
            
g_iVoteDayMode iPlayer;
        }
    }
    
ArrayGetArray(g_aDataDayModeg_iVoteDayModeaDataDayMode);
    
aDataDayMode[MODE_BLOCKED] = aDataDayMode[MODE_BLOCK_DAYS];
    
ArraySetArray(g_aDataDayModeg_iVoteDayModeaDataDayMode);
    
ExecuteForward(g_iHookDayModeStartg_iReturnDayModeg_iVoteDayMode0);

Подскажите пожалуйста, что нужно поменять и для чего установить random_num(a, b) ?
Аватара пользователя
butkov34
 
Сообщения: 57
Зарегистрирован: 17 апр 2020, 12:14
Благодарил (а): 9 раз.
Поблагодарили: 1 раз.
Языки программирования: Я ничего не знаю

Re: Рандомный выбор игры jb_engine

Сообщение RevCrew » 10 май 2020, 12:01

Код: Выделить всё

new RandomGame 
= random_num(1, 8); // хз сколько у тебя модов
ArrayGetArray(g_aDataDayMode, RandomGame , aDataDayMode);
iVotesNum = aDataDayMode[VOTES_NUM];
g_iVoteDayMode = RandomGame ;

ArrayGetArray(g_aDataDayMode, g_iVoteDayMode, aDataDayMode);
    aDataDayMode[MODE_BLOCKED] = aDataDayMode[MODE_BLOCK_DAYS];
    ArraySetArray(g_aDataDayMode, g_iVoteDayMode, aDataDayMode);
    ExecuteForward(g_iHookDayModeStart, g_iReturnDayMode, g_iVoteDayMode, 0);

Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: savotiya и гости: 4