Иконка ресурса

WarnSystem 1.6.5 (фиксы модулей)

yallstpd

Участник
Сообщения
1,023
Реакции
316
В плагин лист зайдите и посмотрите версию...
Такой возможности нету сейчас, была бы, я бы сразу написал
Сообщения автоматически склеены:

В плагин лист зайдите и посмотрите версию...
PLUGIN_VERSION "1.6.5"
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
Такой возможности нету сейчас, была бы, я бы сразу написал
Сообщения автоматически склеены:


PLUGIN_VERSION "1.6.5"
Сейчас последняя версия:
009 "[WarnSystem] Core" (1.4.3.2) by vadrozh, Rabb1t

Данный плагин как вы могли увидеть не поддерживается, но указан источник/доп инфо GitHub, там новая версия.
Сообщения автоматически склеены:

@Rabb1t Измените тип ресурса на внешний URL для скачивания, что бы не было таких ситуаций. Спасибо.
 

yallstpd

Участник
Сообщения
1,023
Реакции
316
Ошибка как появилась сама из неоткуда, так и пропала.
 

yallstpd

Участник
Сообщения
1,023
Реакции
316
какая версия плагина?
Ошибка скорее всего возникает, когда производится попытка действия над игроком, который уже вышел. В данном случае показ сообщения вышедшему игроку. Исправляется проверкой if(IsClientInGame(client))
Походу да, это все связанно с той проблемой, что у меня игрок дисконнектится при подключении к серверу.
Dropped Mookki эс ден from server: Disconnect
L 07/28/2022 - 09:15:24: [SM] Exception reported: Client index 5 is invalid (arg 4)
L 07/28/2022 - 09:15:24: [SM] Blaming: WarnSystem.smx
L 07/28/2022 - 09:15:24: [SM] Call stack trace:
L 07/28/2022 - 09:15:24: [SM] [0] VFormat
L 07/28/2022 - 09:15:24: [SM] [1] Line 174, C:\Users\corva\Desktop\
 
Последнее редактирование:

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
@Rabb1t предлагаю добавить выдачу предупреждениям тем кто вышел.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
@Ganstee, есть два репозитория на Гите. В одном старее, в другом свежее.
Я абсолютно без понятия, о каком из этих двух репозиториев Вы говорите, потому и ответить не могу.
 

Ganstee

Участник
Сообщения
196
Реакции
24
@Ganstee, есть два репозитория на Гите. В одном старее, в другом свежее.
Я абсолютно без понятия, о каком из этих двух репозиториев Вы говорите, потому и ответить не могу.
Я про архив с hlmod'a и с самого гита. Ну судя по последнему изменению на гите (от 19 апр 2020) и обновлением на форуме (от 20 дек 2020), на форуме свежее
 

pur4s

Участник
Сообщения
367
Реакции
92
Господа пользователи. Возможно сделать причину для наказания за максимальное количество варнов "специальную" а не ту за которую выдаётся варн.
Простыми словами
1666899948604.png
Админ выдаёт варн за оскорбление, а игрок достиг количества варнов для наказания и наказывает его по причине "Оскорбление" возможно ли для всех наказаний за лимит варнов сделать отдельную причину?
 

yallstpd

Участник
Сообщения
1,023
Реакции
316
Добавьте при бане срок, а то игрока банит с причиной "Забанен за макс. количество предов" и игрок уходит с сервера, думая, что бан навсегда, хотя бан на часик.
 

Marty

Участник
Сообщения
268
Реакции
105
Добавьте при бане срок, а то игрока банит с причиной "Забанен за макс. количество предов" и игрок уходит с сервера, думая, что бан навсегда, хотя бан на часик.
В warnsystem.phrases.txt можешь редактировать подобные фразы.
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
А ой, что-то не подумал даже, спасибо.
WarnSystem.sp:
public void PunishPlayerOnMaxWarns(int iAdmin, int iClient, char sReason[129], bool bType)
{
    if (iClient && IsClientInGame(iClient) && !IsFakeClient(iClient)){
        //PrintToServer("score: %d | warns: %d", g_iScore[iClient], g_iWarnings[iClient]);
        switch (g_iMaxPunishment)
        {
            case 1:
                KickClient(iClient, "[warnsystem] %t", "WS_MaxKick", bType ? "баллов" : "предупреждений");
            case 2:
            {
                char sBanReason[129];
                FormatEx(sBanReason, sizeof(sBanReason), "[warnsystem] %t", "WS_MaxBan", sReason, bType ? "баллов" : "предупреждений", g_iBanLenght);
                BanClient(iClient, g_iBanLenght, BANFLAG_AUTO, sBanReason, sBanReason, "warnsystem");
            }
            case 3:
            {
                char dbQuery[256];
                g_iWarnings[iClient] = g_iScore[iClient] = 0;
                FormatEx(dbQuery, sizeof(dbQuery), g_sSQL_DeleteWarns, g_iAccountID[iClient], g_iServerID);
                g_hDatabase.Query(SQL_CheckError, dbQuery);
                char sBanReason[129];
                FormatEx(sBanReason, sizeof(sBanReason), "[warnsystem] %t", "WS_MaxBan", sReason, bType ? "баллов" : "предупреждений", g_iBanLenght);
                if (WarnSystem_WarnMaxPunishment(iAdmin, iClient, g_iBanLenght, sReason) == Plugin_Continue)
                {
                    LogWarnings("Selected max punishment with custom module but module doesn't exists.  Client kicked.");
                    KickClient(iClient, "[warnsystem] %t", "WS_MaxKick", bType ? "баллов" : "предупреждений");
                }
            }
        }
    }
}
translations:
    "WS_MaxBan"
    {
        "#format"     "{1:s}{2:i}"
        "en"        "You have been banned for reaching maximum {1} for {2} seconds"
        "ru"        "Вы забанены за макс. кол-во {1} на {2} секунд"
        "fr"        "Tu as ete banni apres avoir ete suffisamment {1} for {2} seconds"
        "de"        "Du wurdest gebannt wegen Ueberschreitung der Maximalgrenze von {1} for {2} seconds"
        "sv"        "Du har blivit bannlyst för ha nått max antal {1} for {2} seconds"
        "nl"        "Je bent verbannen voor teveel waarschuwingen {1} for {2} seconds"
    }
 

yallstpd

Участник
Сообщения
1,023
Реакции
316
WarnSystem.sp:
public void PunishPlayerOnMaxWarns(int iAdmin, int iClient, char sReason[129], bool bType)
{
    if (iClient && IsClientInGame(iClient) && !IsFakeClient(iClient)){
        //PrintToServer("score: %d | warns: %d", g_iScore[iClient], g_iWarnings[iClient]);
        switch (g_iMaxPunishment)
        {
            case 1:
                KickClient(iClient, "[warnsystem] %t", "WS_MaxKick", bType ? "баллов" : "предупреждений");
            case 2:
            {
                char sBanReason[129];
                FormatEx(sBanReason, sizeof(sBanReason), "[warnsystem] %t", "WS_MaxBan", sReason, bType ? "баллов" : "предупреждений", g_iBanLenght);
                BanClient(iClient, g_iBanLenght, BANFLAG_AUTO, sBanReason, sBanReason, "warnsystem");
            }
            case 3:
            {
                char dbQuery[256];
                g_iWarnings[iClient] = g_iScore[iClient] = 0;
                FormatEx(dbQuery, sizeof(dbQuery), g_sSQL_DeleteWarns, g_iAccountID[iClient], g_iServerID);
                g_hDatabase.Query(SQL_CheckError, dbQuery);
                char sBanReason[129];
                FormatEx(sBanReason, sizeof(sBanReason), "[warnsystem] %t", "WS_MaxBan", sReason, bType ? "баллов" : "предупреждений", g_iBanLenght);
                if (WarnSystem_WarnMaxPunishment(iAdmin, iClient, g_iBanLenght, sReason) == Plugin_Continue)
                {
                    LogWarnings("Selected max punishment with custom module but module doesn't exists.  Client kicked.");
                    KickClient(iClient, "[warnsystem] %t", "WS_MaxKick", bType ? "баллов" : "предупреждений");
                }
            }
        }
    }
}
translations:
    "WS_MaxBan"
    {
        "#format"     "{1:s}{2:i}"
        "en"        "You have been banned for reaching maximum {1} for {2} seconds"
        "ru"        "Вы забанены за макс. кол-во {1} на {2} секунд"
        "fr"        "Tu as ete banni apres avoir ete suffisamment {1} for {2} seconds"
        "de"        "Du wurdest gebannt wegen Ueberschreitung der Maximalgrenze von {1} for {2} seconds"
        "sv"        "Du har blivit bannlyst för ha nått max antal {1} for {2} seconds"
        "nl"        "Je bent verbannen voor teveel waarschuwingen {1} for {2} seconds"
    }
Золотой ты человек.
 
Сверху Снизу