Написание плагинов

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Raptor01, при смене карт таблица очищается и в неё снова добавляется список файлов (и там могут быть даже другие файлы, если есть плагины формирующие этот список в зависимости от карты).
Кроме того эта система специально сделана таким образом, чтобы при смене карты игрок с сервера мог докачать недостающие файлы (если файлы уже скачаны, то они не будут снова клиентом скачиваться).

Что ты пытаешься этим выиграть? Я как-то совсем не могу понять этого.
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
@Raptor01, при смене карт таблица очищается и в неё снова добавляется список файлов (и там могут быть даже другие файлы, если есть плагины формирующие этот список в зависимости от карты).
Кроме того эта система специально сделана таким образом, чтобы при смене карты игрок с сервера мог докачать недостающие файлы (если файлы уже скачаны, то они не будут снова клиентом скачиваться).

Что ты пытаешься этим выиграть? Я как-то совсем не могу понять этого.
Возможно он хочет ограничить скачивание файлов на картах где это не нужно. Как предположение..
Тогда это делается манипуляцией листа загрузок в самом плагине
 

NeLifeASkazka

Участник
Сообщения
128
Реакции
70
Потому что хочу чтоб не всегда fastdl работал, а например на переходе между карт.
Если вам необходимо чтобы игроки качали файлы на определенных картах, можете попробовать прописывать AddFileToDownloadsTable в событии OnMapStart()
Добавив при этом необходимые проверки на карты
 

Raptor01

Участник
Сообщения
4
Реакции
0
Возможно он хочет ограничить скачивание файлов на картах где это не нужно. Как предположение..
Тогда это делается манипуляцией листа загрузок в самом плагине
Ну да верно.
Сообщения автоматически склеены:

Вообще-м нет решение сбросить таблицы на дефолт?
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Ну да верно.
Сообщения автоматически склеены:

Вообще-м нет решение сбросить таблицы на дефолт?
Просто говорить плагину при старте карты, что нужно загружать, а что нет
 

1400gsx

Участник
Сообщения
38
Реакции
1
Привет!
Кто может, кто поможет обновить?
Не работает с форматом SteamID3.
 

Вложения

  • whitelist.sp
    4 КБ · Просмотры: 7

babka68

Участник
Сообщения
2,124
Реакции
956

Вложения

  • whitelist.sp
    4.1 КБ · Просмотры: 4

1400gsx

Участник
Сообщения
38
Реакции
1
C-подобный:
GetClientAuthString(client, auth, sizeof(auth));
на:
GetClientAuthId(client, AuthId_Steam3, auth, sizeof(auth));
Спасибо за отклик!

На выходе:
sm_whitelist_add [U:1:2345678999]
[SM] [U successfully added to whitelist

В самом вайте только это - [U

Я тоже приходил к такому результату, здесь что-то еще, формат записи наверно, не знаю...
 

DarkerZ

Участник
Сообщения
395
Реакции
175
Спасибо за отклик!

На выходе:
sm_whitelist_add [U:1:2345678999]
[SM] [U successfully added to whitelist

В самом вайте только это - [U

Я тоже приходил к такому результату, здесь что-то еще, формат записи наверно, не знаю...
А с кавычками пробовал вводить?
sm_whitelist_add "[U:1:2345678999]"
 

1400gsx

Участник
Сообщения
38
Реакции
1
Disconnect: [U:1:2333456676] is not listed on the server whitelist.

С кавычками, да, работает.
Всем спасибо за помощь и советы.
Плагин заработал.
 
Последнее редактирование:

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
Всем добрый вечер, подскажите пожалуйста для чего тут ^= и зачем и где его лучше применять. Встречал несколько раз в фиксах плагинов от Grey83
Вот пример где встретил:
Код:
public void TeamCookieHandler(int iClient, CookieMenuAction action, any info, char[] buffer, int maxlen)
{
    switch(action)
    {
        case CookieMenuAction_DisplayOption:
            FormatEx(buffer, maxlen, "Показ живых игроков %s", (g_bHUD[iClient] ? "[+]":"[-]"));
        case CookieMenuAction_SelectOption:
        {
            if ((g_bHUD[iClient] ^= true))
                SetClientCookie(iClient, g_hCookie, "1");
            else SetClientCookie(iClient, g_hCookie, "0");

            ShowCookieMenu(iClient);
        }
    }
}
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Всем добрый вечер, подскажите пожалуйста для чего тут ^= и зачем и где его лучше применять. Встречал несколько раз в фиксах плагинов от Grey83
Вот пример где встретил:
Код:
public void TeamCookieHandler(int iClient, CookieMenuAction action, any info, char[] buffer, int maxlen)
{
    switch(action)
    {
        case CookieMenuAction_DisplayOption:
            FormatEx(buffer, maxlen, "Показ живых игроков %s", (g_bHUD[iClient] ? "[+]":"[-]"));
        case CookieMenuAction_SelectOption:
        {
            if ((g_bHUD[iClient] ^= true))
                SetClientCookie(iClient, g_hCookie, "1");
            else SetClientCookie(iClient, g_hCookie, "0");

            ShowCookieMenu(iClient);
        }
    }
}
В данном случае - переключатель. Если g_bHUD == true, тогда он его поставит в g_bHUD = false. Также и с false, только обратно
Равноценно:
C-подобный:
if(!g_bHUD) g_bHUD = true;
else g_bHUD = false;
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@7pElllHuK, символ ^ - это побитовая инверсия.
В том смысле, что инвертируются биты числа слева которые соответствуют битам равным единице в числе справа.
Ну а true - это единица в любой системе счисления.
 

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
@7pElllHuK, символ ^ - это побитовая инверсия.
В том смысле, что инвертируются биты числа слева которые соответствуют битам равным единице в числе справа.
Ну а true - это единица в любой системе счисления.
Спасибо
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
и вообще процитированное выражение (строки 9 - 11) я бы одной строкой написал вместо трёх. =)
 

Ice_Sochi

Участник
Сообщения
709
Реакции
413
Если можете, то скиньте пожалуйста пример. Я брал код из вашего фикса)
Не уверен, поддерживает ли SetClientCookie форматирование, но если да, то можно так
C-подобный:
SetClientCookie(iClient, g_hCookie, "%i", g_bHUD[iClient] ? 1 : 0); //или view_as<int>(g_bHUD[iClient])

Переключатель можно сделать просто
C-подобный:
g_bHUD[iClient] = !g_bHUD[iClient];

upd. куки не проверял,но чекнул в инклюде, скорей всего не поддерживается формат
тогда не знаю, как в одну строку без записи в другую
 
Последнее редактирование:
Сверху Снизу