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

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

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

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

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

Раздел для общения на любые темы, для которых не нашлось места в остальных разделах. Если Вашу тему можно отнести по смыслу к другому разделу, лучше создайте её там, иначе Вас накажут.

В данном форуме немного понижены требования к Общим правилам форума, а именно:
1. Информативность темы
2. Отходить от первоначального смысла темы

!
В разделе запрещено создавать темы связанные с раскруткой игровых серверов

нативы, оптимизация плагинов ...

Статус пользователя ssx
сообщение 28.4.2014, 8:49
Сообщение #1


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Почти в каждом плагине есть проверка на стим или на права доступа.

Будет ли разумней написать плагин который при путинсервер определит статус игрока (нон-стим, стим, вип, админ, вип+админ) и запишет в массив а затем другими плагинами брать инфу через нативы?

На сколько нативы/форварды грузят сервер?

Отредактировал: ssx, - 28.4.2014, 8:51


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Safety1st
сообщение 29.4.2014, 4:34
Сообщение #2
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(ssx @ 28.4.2014, 10:49) *
Почти в каждом плагине есть проверка на стим или на права доступа.

Будет ли разумней написать плагин который при путинсервер определит статус игрока (нон-стим, стим, вип, админ, вип+админ)

Тип авторизации игрока - константа, его и правда стоит получать только в client_putinserver(). Пример см. в Say Prefix.
Набор флагов в общем случае может измениться в любое время. Поэтому актуальный набор обычно получают каждый раз, когда нужно. 'Лишняя нагрузка' будет, если это выполнять очень часто - например, каждую секунду, или того хуже - в client_prethink)

Цитата(ssx @ 28.4.2014, 10:49) *
запишет в массив а затем другими плагинами брать инфу через нативы

Это будет шило на мыло. get_user_flags - натива не хуже и 'настоящая' - модульная. А если взять 1 раз и хранить массив в каждом плагине - выгода не окупит затрат на создание и переписывание плагинов.

Цитата(ssx @ 28.4.2014, 10:49) *
На сколько нативы/форварды грузят сервер?

Разные нативы/форварды 'грузят' по-разному. В общем случае можно считать, что заметную нагрузку создаёт только то, что выполняется многократно за секунду. Овчинка выделки не стоит, если убить время на оптимизацию и/или усложнение кода, а получить снижение потребления CPU на 0.001%.

Если у вас большое желание понизить нагрузку на вашем сервере, определите нагрузочные плагины и найдите толкового скриптера, чтобы их улучшил. Это далеко не так просто, умение приходит с опытом ;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 29.4.2014, 8:00
Сообщение #3


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

С нативами понял, нету смысла - проще в каждый плагин впихнуть
вот такое
Код:
public client_putinserver(alive)
{
if (get_user_flags(alive) & ADMIN_RESERVATION && get_user_flags(alive) & ADMIN_BAN)
{
who[alive] = 1
}
else if (get_user_flags(alive) & ADMIN_BAN)
{
who[alive] = 2
}
else if (get_user_flags(alive) & ADMIN_RESERVATION)
{
who[alive] = 3
}
else if (is_user_steam(alive))
{
who[alive] = 4
}
else if (is_user_bot(alive))
{
who[alive] = 5
}
else
{
who[alive] = 0
}

}



Пример такой:
В зависимосты от статуса игрока (нон-стим, стим, вип, админ, вип+админ, бот) выдает разное кол-во жизни при убийстве
Это куча проверок каждый килл..

(а да, читал что в swich нельзя массивы сунуть, поэтому через if/else if ) Проще будет проверять who[id]
if(who[id] == 1)


Желание понизить нагрузку ибо вызывание проверок на флаги (статус) и т д - очень множественное.
Те же вип выдачи каждый раунд и т д...


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 29.4.2014, 15:39
Сообщение #4
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Проверки на флаги - это мелочь в масштабах сервера.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 29.4.2014, 19:04
Сообщение #5
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Большую ли несёт нагрузку регистрация 1050 команд?
Код:
register_clcmd
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 29.4.2014, 19:14
Сообщение #6
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

в кс столько нет,
не думаю что там есть нагрузка.

Отредактировал: csnet, - 29.4.2014, 19:22


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: