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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Доступ к меню с определённого раунда

XyLiGaN
сообщение 6.2.2014, 15:06
Сообщение #1
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

Всем привет) Ребят, подскажите код, который позволяет сделать доступным "меню" с определённого раунда. т.е. когда заходит админ, чтобы ему меню было доступно с 3-4 раунда например.
Не важно, с начала карты он зашёл или в середины игры. Но такой can_take_round т.е. с начала карты мне не нужен) Суть думаю поняли...
Просто такого кода ещё не встречал)
Спасибо :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя iLLuSioN
сообщение 6.2.2014, 15:13
Сообщение #2
Иконка группы

Стаж: 19 лет

Сообщений: 6911
Благодарностей: 7990
Полезность: 1639

Код:
new g_PlayRound[33]

public client_connect(id)
g_PlayRound[id] = 0

public event_round_start()
{
for(new id = 0; id < get_maxplayers(); id++)
g_PlayRound[id]++
}

if(g_PlayRound[id] >= 3)
{
//выполняем
}


это только куски кода


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 6.2.2014, 15:24
Сообщение #3


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

тут же очень просто все
примерно так

создаем массив, в котом будут храниться id игрока и номер раунда
ловим событие присоединение игрока к команда и пишем 0 раунд (либо событие подключения игрока к серверу, зависимости от задач)
ловим событие или нового раунда или старта раунда (это чуть различные вещи)
пишем +1 раунд в массив для всех игроков
ну а дальше делаем проверка на значение раунда для игрока

Код:
register_logevent("team_join",3,"1=joined team")

register_event("HLTV", "NewRound", "a", "1=0", "2=0")
либо
register_logevent("StartRound", 2, "1=Round_Start")

new g_playerRound[33]

public team_join(id){
g_playerRound[id] = 0
}

public StartRound(либо NewRound)() {

new s_Players[32], i_Num
get_players(s_Players, i_Num)
for (new i; i < i_Num; i++)
{
g_playerRound[i]++
}
}

public MyFunk(id){
if (g_playerRound[id] >= 3)
{
...............................
...............................
}

}


такой алгоритм дофига где применяется

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