Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Ограничение нахождения в спектрах 5 минут.

, Ограничение нахождения в спектрах 5 минут.
Статус пользователя Kostia195
сообщение 4.3.2020, 8:42
Сообщение #1
Стаж: 6 лет 2 месяца

Сообщений: 17
Благодарностей: 1
Полезность: 0

Хотел бы узнать, как сделать ограничение нахождения в спектрах до 5 минут?
Вот часть кода:
CODE

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "Round", "a", "1=0", "2=0"); //При начале раунда
register_logevent("Round", 2, "1=Round_Start"); //При старте раунда
}

public client_connect(id)
{
set_task(0.1, "check_spectators", 113, _, _, "a", 25);
}

public client_putinserver(id)
{
set_task(30.0, "check_spectators", id + TASKID_CHECK_CLIENT_CVAR, _, _, "a", 20);
}

public check_spectators()
{
new CsTeams:my_team1
my_team1 = cs_get_user_team(id)
if (cs_get_user_team(id)==3)
for( id = 0; id <= maxplayerss; id++ )
switch (my_team1)
{
case (CS_TEAM_CT):
{
client_print(id,print_chat,"My team is CT")
}
case (CS_TEAM_T):
{
client_print(id,print_chat,"My team is T")
}
case (CS_TEAM_SPECTATOR):
{
client_print(id,print_chat,"My team is Spectator")
}
case (CS_TEAM_UNASSIGNED):
{
client_print(id,print_chat,"My team is Unssigned")
}
}
}


Я его не доработал потому, что мысли нет как сделать проверку одного id сейчас смотреть не вышел ли он из спектров в течении 5 минут, можно через таск чекать, но что если он выйдет из спектров и зайдёт туда обратно между проверками. Есть мысли как это можно сделать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя NichtWolf
сообщение 4.3.2020, 23:26
Сообщение #2
Стаж: 17 лет

Сообщений: 573
Благодарности: выкл.

Все слоты забиты что спектаторы мешают?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mOdest
сообщение 5.3.2020, 4:15
Сообщение #3


Стаж: 9 лет 9 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

в plugin_init() запускаешь ежесекундный таймер, создаёшь массив игроков, каждому спектру добавляешь +1. можешь в определенных ситуациях обнулять (перешёл за команду и т.д), можешь забить
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kostia195
сообщение 5.3.2020, 8:29
Сообщение #4
Стаж: 6 лет 2 месяца

Сообщений: 17
Благодарностей: 1
Полезность: 0

Цитата(NichtWolf @ 4.3.2020, 23:26) *
Все слоты забиты что спектаторы мешают?

Можно читерить, открыв с разных кс ( либо с крякнутого exe ) сервер в оконном режиме и с одного чекать, а с другого - играть. Это только один из способов, тем более спектры в моём сервере могут быть слишком ненужными.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kostia195
сообщение 5.3.2020, 10:40
Сообщение #5
Стаж: 6 лет 2 месяца

Сообщений: 17
Благодарностей: 1
Полезность: 0

Цитата(mOdest @ 5.3.2020, 4:15) *
в plugin_init() запускаешь ежесекундный таймер, создаёшь массив игроков, каждому спектру добавляешь +1. можешь в определенных ситуациях обнулять (перешёл за команду и т.д), можешь забить

Я хотел обойтись без ежесекундной проверки, нет события перехода их спектров в мёртвые, в терры в КТ, или обратно, это отловить я, думаю, сумею, главное событие перехода (или сток_функцию узнать). А то ежесекундная проверка будет сильно грузить сервер.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: