Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 мар 2024, 22:40

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Голосование Ботов за выбор карты
СообщениеДобавлено: 06 окт 2017, 05:20 
Не в сети
Аватара пользователя
Зарегистрирован:
28 июн 2013, 06:53
Последнее посещение:
25 янв 2024, 04:41
Сообщения: 224
Откуда: Белая Церковь
Привет.Тут на днях подумал.А мало-ли?Можна такое сотворить?Было-бы неплохое разнообразие,когда интернет отключили и с Ботами играешь не только в ту карту,которую сам выбрал, - а и в сотрудничестве.

Подскажите,хоть с чего начать в мапчузере ( в моём случаи пока плагин MultiMod) ,в чузер я потом сам перенесу
Поехали)

Начало Голосования : ( Заморозка,Чёрный екран и.. остановился я на процентах )
Изображение

Код:
public start_vote()
{

        new players[32], iCount, player;
        get_players(players, iCount, "ah");

        for (new i; i < iCount; i++)
        {
        player = players[i];

        set_pev(player, pev_flags, pev(player, pev_flags) | FL_FROZEN)
        fm_set_user_godmode(player, 1);
        }

        SetBlackScreenFade(2);
        set_task(1.0, "SetBlackScreenFade", 1);
        g_alreadyvoted = true
        remove_task(TASK_VOTEMOD)
        remove_task(TASK_CHVOMOD)

   new menu[512], mkeys, iPercent, i
   new pos = format(menu, 511, g_coloredmenus ? "\y%L:\w^n^n" : "%L:^n^n", LANG_PLAYER, "MM_CHOOSE")

   for(i=0; i<= g_modcount; i++)
        {

      pos += format(menu[pos], 511, "\r%d.\w %s\d \y•\w \r%d\w \y%%\w^n^n", i + 1, g_modnames[i], iPercent)
      g_votemodcount[i] = 0
      mkeys |= (1<<i)
   }

   new szMenuName[63]
   formatex(szMenuName, charsmax(szMenuName), "%L", LANG_PLAYER, "MM_VOTE")
   server_print("show menu %s %s %i", menu, g_menuname, mkeys)
   show_menu(0, mkeys, menu, 15, g_menuname)
   client_cmd(0, "spk Vote/golosovanie_start")

   set_task(15.0, "check_vote", TASK_CHVOMOD)
   return
}
Я так понимаю начинать надо после етого
Код:
new menu[512], mkeys, iPercent, i
   new pos = format(menu, 511, g_coloredmenus ? "\y%L:\w^n^n" : "%L:^n^n", LANG_PLAYER, "MM_CHOOSE")

   for(i=0; i<= g_modcount; i++)
        {

Спасибо хоть за малейшую помощь ! :good:

LEV а будет в будущем реализация в клиенте \r 1.\w.\y уж очень нехватает.Сделайте пожалуйста

_________________
Weapon Replacement HL
TimeLeft RUS
Sound Bomb
МультиМод CS 83.222.97.124:27015


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 06 окт 2017, 06:09 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
А что надо-то? Чтобы боты голосовали? Тогда в check_vote надо впилить рандомные голоса. Да, так в менюшке не увидишь, но интерактив наверное не несет особого смысла?
Либо можно в этой функции голоса ботов прописать, тогда уже сразу будет ясно чем голосование кончится, ещё до того как ты проголосуешь.
А что писать, тут не видно кода отвечающего за голоса. Ищи в check_vote.


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 06 окт 2017, 06:23 
Не в сети
Аватара пользователя
Зарегистрирован:
28 июн 2013, 06:53
Последнее посещение:
25 янв 2024, 04:41
Сообщения: 224
Откуда: Белая Церковь
Код:
public check_vote()
{
   new b = 0
   for(new a = 0; a <= g_modcount; a++)
      if(g_votemodcount[b] < g_votemodcount[a]) b = a

      #if AMXX_VERSION_NUM < 183
ColorChat(0, RED, "^4Голосование за Мод закончено.Следующий Мод ^3%s", g_modnames[b])
#else
client_print_color(0, print_team_red, "^4Голосование за Мод закончено.Следующий Мод ^3%s", g_modnames[b])
#endif
      //client_print(0, print_chat, "%L", LANG_PLAYER, "MM_VOTEMOD", g_modnames[b])
   server_print("%L", LANG_PLAYER, "MM_VOTEMOD", g_modnames[b])
   if(b != g_currentmodid)
      set_multimod(b)

   callfunc_begin("doVoteNextmap", "mapchooser_multimod.amxx");
   callfunc_end();
   g_nextmodid = b
}

Цитата:
но интерактив наверное не несет особого смысла?

Не,никак.Да и меню гаснет.,когда ты выбрал карту,только в чат инфо,что ты проголосовал.

Нужно наверное так сделать : Когда появляеться меню - % неотображаються.Как только ты голос подал, - отобр. и становиться меню неактивным ( прозрачным ) и пишеться вместо Выбор мода,например - результаты голосования ,ну или напротив каждого мода количество гососов...и.т.п. По совместительству можна добавить отсчёт до закрытия голосования..

_________________
Weapon Replacement HL
TimeLeft RUS
Sound Bomb
МультиМод CS 83.222.97.124:27015


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 06 окт 2017, 22:52 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Пихни в начало этой функции
Код:
   new players[32], num
   get_players(players, num, "d") // получить всех ботов
   for (new i = 0; i < num; i++) // сгенерить для каждого бота голос
      g_votemodcount[random_num(0, g_modcount + 1)] += 1; // случайно выбрать мод
Если баги будут - поправь.


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 07 окт 2017, 07:04 
Не в сети
Аватара пользователя
Зарегистрирован:
28 июн 2013, 06:53
Последнее посещение:
25 янв 2024, 04:41
Сообщения: 224
Откуда: Белая Церковь
Багов нет !
Lev
Получилось так
Код:
public player_vote(id, key)
{
   new players[32], num
   get_players(players, num, "d") // получить всех ботов
   for (new i = 0; i < num; i++) // сгенерить для каждого бота голос
   g_votemodcount[random_num(0, g_modcount + 1)] += 1; // случайно выбрать мод
   if(key <= g_modcount)
   {
      if(get_pcvar_num(gp_voteanswers))
      {
         new player[SSTRING]
         get_user_name(id, player, charsmax(player))
#if AMXX_VERSION_NUM < 183
ColorChat(0, RED, "^4%s ^1выбрал ^3%s", player, g_modnames[key])
#else
client_print_color(0, print_team_red, "^4%s ^1выбрал ^3%s", player, g_modnames[key])
#endif
         //client_print(0, print_chat, "%L", LANG_PLAYER, "X_CHOSE_X", player, g_modnames[key])
      }
      g_votemodcount[key]++
   }
}

Генерация происходит случайным образом - только ето совсем неинтересно,так как невидно ,кто что выбрал.А если сделать меню выбора мода в режиме "заморозки на екран" после того,как выбрал мод,то тогда будет,что-то показываться?Наверное врятли в чат будет инфа - а вот если в процентах, подсчёт отобр.будет?

_________________
Weapon Replacement HL
TimeLeft RUS
Sound Bomb
МультиМод CS 83.222.97.124:27015


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 07 окт 2017, 17:59 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Без понятия. Возьми какой-нибудь мапчузер с нужными тебе фичами.


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB