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

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
C-подобный:
StrCopy(szGroup, sizeof(szGroup), sValue[0])
Пробовал уже, все так же ничего не выводит
Сообщения автоматически склеены:

Пробовал уже, все так же ничего не выводит
Сейчас еще раз попробовал, пусто, ничего не выводит
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Пробовал уже, все так же ничего не выводит
Сообщения автоматически склеены:


Сейчас еще раз попробовал, пусто, ничего не выводит
Так ты дебаг сделай на каждой шаге и поймешь в чем трабл, может у тебя не идет explode или в него не передается ничего
 

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
Так ты дебаг сделай на каждой шаге и поймешь в чем трабл, может у тебя не идет explode или в него не передается ничего
Сейчас попробую
Сообщения автоматически склеены:

C-подобный:
StrCopy(szGroup, sizeof(szGroup), sValue[0])
Решил проблему объявив массив sValues[2][128] глобальным
 
Последнее редактирование:

Mr_panica

XenForo one 💖
Сообщения
921
Реакции
435
Пусть эти днища учатся UserID игроков использовать (против читеров это важно уметь, если нет блокировки смены ника игроком).

Эти "днища" мои админы, так что попрошу не оскорблять их. Блокировка смены ника присутствует (спасибо тому одному разработчику игры))
Как я писал выше, из-за особенностей режима игры (Jail) нужно произносить ники, что бывает сложно сделать. К тому же, ввести ник нарушителя в консоль или в чат (если как раз ник нормальный) обычно быстрее и привычнее, чем идти выяснять его UserID.

Был где-то плагин, который вырезал из ника символы уникода типа иероглифов и смайлов.
Вроде вот этот:
Спасибо, попробую.

Но я не уверен, что правильно написал, ни разу не работал с регами

Я вот тоже, в регулярное выражения входят символы по типу "$%@^, которые не являются буквами, но присутствуют на клавиатуре, нужно чтоб плагин пропускал и не удалял их из ника.
Попробую чуть позже код.
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Эти "днища" мои админы, так что попрошу не оскорблять их. Блокировка смены ника присутствует (спасибо тому одному разработчику игры))
Как я писал выше, из-за особенностей режима игры (Jail) нужно произносить ники, что бывает сложно сделать. К тому же, ввести ник нарушителя в консоль или в чат (если как раз ник нормальный) обычно быстрее и привычнее, чем идти выяснять его UserID.


Спасибо, попробую.



Я вот тоже, в регулярное выражения входят символы по типу "$%@^, которые не являются буквами, но присутствуют на клавиатуре, нужно чтоб плагин пропускал и не удалял их из ника.
Попробую чуть позже код.
За эти символы отвечает \W
 

gambit535

Участник
Сообщения
47
Реакции
2
всем привет, возможно ли как-то сделать так,чтобы от смерти от кровотечения -фраг за этого игрока засчитывался тому, кто последний нанес ему урон?
(в данный момент игрок умирает от кровотечения и фраг не достается никому)
игра: cs source v92
SourceMod (1.10.0.6502)
 

Вложения

  • bleeding.sp
    4.3 КБ · Просмотры: 4

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@gambit535, пробуй такой вариант (заодно переписал на новый синтаксис и почистил чуток).

UPD При увеличении хп у игрока выше границы BLEED_BORDER кровотечение будет прекращаться (для серверов где есть лечение). Кроме того при кровотечении будет наноситься урон от имени последнего игрока нанёсшего урон после активации кровотечения (если никто больше не дамажил, то будет наносить от имени инициировавшего кровотечение). Если последний дамаживший вышел перед смартью истекающего кровью, то будет считаться, что игрок умер от мира. Ну и ещё некоторые небольшие исправления.

UPD2 Небольшой фикс.

UPD3 Небольшой фикс (в событии получения урона теперь правильно определяется атакующий).
 

Вложения

  • bleeding_victim 1.0.3.sp
    4 КБ · Просмотры: 6
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@gambit535, перезалил выше с исправлениями. Проверяй.
 

gambit535

Участник
Сообщения
47
Реакции
2
@gambit535, перезалил выше с исправлениями. Проверяй.
1682268761653.png

умер от мира почему-то)
(тестирую с ботами, может из-за этого?)
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
тестирую с ботами, может из-за этого?
нет, если бы боты задамажили, то показало бы что бот убил
Сообщения автоматически склеены:

@gambit535, перезалил выше. Должно пофикситься (видимо запустивший кровотечение или последний задомаживший умер чуть раньше).
 

gambit535

Участник
Сообщения
47
Реакции
2
нет, если бы боты задамажили, то показало бы что бот убил
Сообщения автоматически склеены:

@gambit535, перезалил выше. Должно пофикситься (видимо запустивший кровотечение или последний задомаживший умер чуть раньше).
не помогло.. снова умираю "от мира"
1682273021047.png
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@gambit535, перезалил. Теперь вроде должно быть правильно.
 

Mr_panica

XenForo one 💖
Сообщения
921
Реакции
435
C-подобный:
#include <regex>

stock void fn(int client)
{
    if(client && IsClientInGame(client))
    {
        char name[MAX_NAME_LENGTH], err[256], sub[32];
        RegexError Regerr;
        GetClientName(client, name, sizeof(name));
 
        Regex expr = CompileRegex("[а-яА-ЯЁёа-zA-Z0-9\\W]", PCRE_NOTEMPTY, err, sizeof(err), Regerr);
        if(expr != INVALID_HANDLE)
        {
            int match = expr.Match(name, Regerr, 0);
            if(match != -1)
            {
                for(int i = 0; i < match; i++)
                {
                    expr.GetSubString(i, sub, sizeof(sub), i);
                    ReplaceString(name, sizeof(name), sub, "", true);
                }
                SetClientName(client, name);
            }
        }
        else LogMessage("%s", err);
    }
}
Но я не уверен, что правильно написал, ни разу не работал с регами
C-подобный:
L 04/23/2023 - 23:11:33: [basecommands.smx] "”Ї<43><[U:1:149724700]><>" console command (cmdline "sm plugins load namerules")
L 04/23/2023 - 23:11:33: [namerules.smx] unknown option bit(s) set
L 04/23/2023 - 23:11:33: [namerules.smx] unknown option bit(s) set
L 04/23/2023 - 23:11:33: [namerules.smx] unknown option bit(s) set
L 04/23/2023 - 23:11:33: [namerules.smx] unknown option bit(s) set

Код ошибки выражения вроде как REGEX_ERROR_DFA_UITEM (16)

Ник поставил себе: ǤⒽǿⓈ†

Мой код:
C-подобный:
#include <regex>
#include <sdktools_functions>

public void OnPluginStart()
{
    for(int i = 1; i <= MaxClients; ++i)
    {
        if(IsClientInGame(i)) fn(i);
    }
}

stock void fn(int client)
{
    if(client && IsClientInGame(client))
    {
        char name[MAX_NAME_LENGTH], err[256], sub[32];
        RegexError Regerr;
        GetClientName(client, name, sizeof(name));
 
        Regex expr = CompileRegex("[а-яА-ЯЁёа-zA-Z0-9\\W]", PCRE_NOTEMPTY, err, sizeof(err), Regerr);
        if(expr != INVALID_HANDLE)
        {
            int match = expr.Match(name, Regerr, 0);
            if(match != -1)
            {
                for(int i = 0; i < match; i++)
                {
                    expr.GetSubString(i, sub, sizeof(sub), i);
                    ReplaceString(name, sizeof(name), sub, "", true);
                }
                SetClientName(client, name);
            }
        }
        else LogMessage("%s", err);
    }
}
 
Последнее редактирование:

gambit535

Участник
Сообщения
47
Реакции
2
@gambit535, перезалил. Теперь вроде должно быть правильно.
проверял сегодня снова, странно работает..например: стрелял в союзного бота, оставил ему 3хп, в чате начинает бесконечно писать,что я атакую этого бота,а самого бота вроде "дамажит" ,но хп не уменьшается..
 

pavluh

Участник
Сообщения
4
Реакции
0
Привет, ищу человека, который напишет плагин для фейк вистрелов для кт а точнее для видавание придуприждений (когда кт зажимает правую кнопк и стреляет дает предуприждение Терористу в которого попали,вискакивает предупреждение што он чтото зделал не так) надо зделать для Jailbreak сервак а
Кому интеремно напишите мне в дс BoduFraps#6539 о цене договоримся
 

Ackerman

Участник
Сообщения
191
Реакции
15
Возможно ли переделать плагин weapons (стандартный с alliedmods) так, чтобы была возможность сначала выбрать сторону T или КТ для которой будет применятся выбор ножа-скина (запоминание т_ножа-скина и кт_ножа-скина) как в плагине gloves (В базе данных таблицы: t_group / ct_group).
gl.png
 
Сверху Снизу