Noblock по кнопке

Noblock по кнопке 1.7

*_*KaRaBaS*_*

Участник
Сообщения
46
Реакции
9
Немного переписал и работает в том порядке если нажал я и к примеру еще кто-то, а как сделать чтобы вот к примеру я нажал и мог проходит без того чтобы еще кто-то нажимал?
Сообщения автоматически склеены:

Проверьте эту версию
секунду
Сообщения автоматически склеены:

Проверьте эту версию
работает но только если еще кто-то зажимает
 

Вложения

  • noblock_key_fixed.smx
    3.8 КБ · Просмотры: 31

DENZEL519

Работаю через AI !
Сообщения
644
Реакции
494
  • Автор ресурса
  • #22
@*_*KaRaBaS*_*, Так, проверил версию от Grey83, там вообще не пашет кнопка, проверьте версию 1.1 альфу
 

Вложения

  • noblock_key.sp
    2.7 КБ · Просмотры: 31

*_*KaRaBaS*_*

Участник
Сообщения
46
Реакции
9
@*_*KaRaBaS*_*, Так, проверил версию от Grey83, там вообще не пашет кнопка, проверьте версию 1.1 альфу
вообще не работает только в чат пишет чтобы зажать E чтобы пройти и плюс вот такой подарок:
L 06/15/2025 - 11:28:25: [SM] Exception reported: Offset 0 is invalid
L 06/15/2025 - 11:28:25: [SM] Blaming: noblock_key_.smx
L 06/15/2025 - 11:28:25: [SM] Call stack trace:
L 06/15/2025 - 11:28:25: [SM] [0] SetEntData
L 06/15/2025 - 11:28:25: [SM] [1] Line 125, C:\Users\TUF Gaming\Downloads\noblock_key_.sp::SetCollisionGroup
L 06/15/2025 - 11:28:25: [SM] [2] Line 115, C:\Users\TUF Gaming\Downloads\noblock_key_.sp::OnPlayerRunCmdPost
 

*_*KaRaBaS*_*

Участник
Сообщения
46
Реакции
9

Вложения

  • noblock_key_k.sp
    3.4 КБ · Просмотры: 35

DENZEL519

Работаю через AI !
Сообщения
644
Реакции
494
  • Автор ресурса
  • #27
DENZEL519 обновил(а) ресурс Noblock по кнопке новой записью:

FIX

Убраны неиспользуемые параметры
Вынесена повторяющаяся логика установки состояния коллизии в отдельную функцию
Оптимизированы циклы проверки игроков с использованием continue для раннего выхода
Убрано избыточное создание массивов внутри циклов
Обновлена версия плагина до 1.3
Добавлены более информативные сообщения об ошибках
Исправлены ошибки при компиляции в Sourcemod 1.11

Узнать больше об этом обновлении...
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,805
Реакции
5,254
я немного поковырялся сделал кое-что но криво работает
класс менять смысла нету: CCSPlayer оффсет наследует от CBaseEntity
for(int i = 1; ++i <= MaxClients;)
и ты пропускаешь игрока с индексом 1 😁


Глянул свой исходник.
У меня на строке 62 закрывающая скобка не там поставлена:
"m_CollisionGroup") < 1))
а должно быть
"m_CollisionGroup")) < 1)

Вот исправленная версия
 

Вложения

  • noblock_key 1.2.1_15.06.2025.sp
    3.5 КБ · Просмотры: 33

DENZEL519

Работаю через AI !
Сообщения
644
Реакции
494
  • Автор ресурса
  • #29
DENZEL519 обновил(а) ресурс Noblock по кнопке новой записью:

Основные улучшения

1. Корректная обработка нескольких игроков с активным NoBlock
2. Правильное восстановление состояния при отпускании клавиши
3. Защита от ошибок при невалидных клиентах
4. Обновление состояния каждый тик для стабильной работы

Узнать больше об этом обновлении...
 

DENZEL519

Работаю через AI !
Сообщения
644
Реакции
494
  • Автор ресурса
  • #30
DENZEL519 обновил(а) ресурс Noblock по кнопке новой записью:

Что изменилось в V1.5

NoBlock on Key - Улучшенная версия v1.5

Автор: DENZEL519&AI​




Список улучшений

  1. Оптимизация производительности
    • Использование таймера вместо проверки каждый тик — обновление происходит каждые 0.15 секунды вместо каждого тика (66+ раз в секунду)
    • Использование квадрата расстояния...

Узнать больше об этом обновлении...
 
Последнее редактирование:

DENZEL519

Работаю через AI !
Сообщения
644
Реакции
494
  • Автор ресурса
  • #31

Grey83

не пишу плагины с весны 2022
Сообщения
8,805
Реакции
5,254
глянул последнее обновление

Ты же в курсе, что всякие SetFailState() должны в самом начале OnPluginStart() стоять, а лучше эти проверки делать ещё до него, в AskPluginLoad2().

В #include <sourcemod> нет необходимости как минимум со времён SM1.8.

При создании переменных задавать им значение равное false/0/0.0/null/etc. не нужно, т.к. это SM сам давно уже делает (в SM1.8+ точно, в 1.6 и ранее не уверен).

В функции ResetNoBlock() проверка if (client > 0 && client <= MaxClients && g_bNoBlockActive[client]) излишня, т.к. ты всё это зачем-то проверяешь ещё перед её вызовом.

В ParseButtonString() все else лишние, т.к. у тебя везде return.

В OnPluginEnd() убивать таймеры нет смысла, т.к. это всегда сам SM делал.

В GetButtonName() else я бы заменил на switch.

В OnPlayerRunCmd() я бы проверял состояние клавиши, а потом всё остальное. Создать локальный массив целых чисел, в котором хранил бы по индексу игрока предыдущее значение и если оно не изменилось, то возвращал Plugin_Continue.
Да и оставил бы там только if(checkAlive && !IsPlayerAlive(client)) вместо IsValidClient(), т.к. остальные проверки оттуда не имеют значения.


Это только то, что я мельком на смарте заметил.
 

Нямпа

Участник
Сообщения
37
Реакции
5
а почему нельзя сделать как в кс го на общественных серверах было (игрок может пройти но если над головой то может запрыгнуть а остальные могут проходить мимо того который на котором стоит игрок) так же было бы куда лучше
Сообщения автоматически склеены:

вот пробуйте там правдо иногда багает
Сообщения автоматически склеены:

но в целом збс
вот квары
g_hBrickMode = CreateConVar("brick_mode", "1", "1 - игрок сверху блочит игрока который снизу. 2 - игрок сверху не блочит игрока который снизу", _, true, 1.0, true, 2.0);
g_hTowerLimit = CreateConVar("brick_towerlimit", "1", "Сколько игроков подряд могут стоять друг на друге (ограничение высоты башни из игроков)", _, true, 1.0, true, 64.0);
Сообщения автоматически склеены:

вот идеальное решение без всяких клавишь
Сообщения автоматически склеены:

прошу поставить лайк тех кому подошел данный плагин)
 

Вложения

  • golova.smx
    6 КБ · Просмотры: 7
Последнее редактирование:

DENZEL519

Работаю через AI !
Сообщения
644
Реакции
494
  • Автор ресурса
  • #35
а почему нельзя сделать как в кс го на общественных серверах было (игрок может пройти но если над головой то может запрыгнуть а остальные могут проходить мимо того который на котором стоит игрок) так же было бы куда лучше
Сообщения автоматически склеены:

вот пробуйте там правдо иногда багает
Сообщения автоматически склеены:

но в целом збс
вот квары
g_hBrickMode = CreateConVar("brick_mode", "1", "1 - игрок сверху блочит игрока который снизу. 2 - игрок сверху не блочит игрока который снизу", _, true, 1.0, true, 2.0);
g_hTowerLimit = CreateConVar("brick_towerlimit", "1", "Сколько игроков подряд могут стоять друг на друге (ограничение высоты башни из игроков)", _, true, 1.0, true, 64.0);
Сообщения автоматически склеены:

вот идеальное решение без всяких клавишь
Сообщения автоматически склеены:

прошу поставить лайк тех кому подошел данный плагин)
Ув. пользователи, я бы вам советовал не качать то что выложил данный пользователь, файлы без исходников могут быть с бэкдорами, это значит что ваш сервер может быть через него взломан.
Качайте всегда файлы только если есть исходник, и компилируйте его сами, на всякий случай.
 
Сверху Снизу