No Block

random.81

Участник
Сообщения
496
Реакции
819
No block

changelog1.png
Описание:
Плагин позволяет игрокам проходить друг друга на сквозь, рекомендуем для серверов с динамичными режимами игры (Surf, GunGame, DeathMatch).


settings3.png
Настройки:
sm_noblock
- Включить\Выключить плагин.

Оригинал
 

Вложения

  • No block v1.0.zip
    3 КБ · Просмотры: 904
Последнее редактирование:

paleh

Участник
Сообщения
11
Реакции
0
спасибо огромное всё работает,забыл сразу написать как поставил:blush2:
 

KeKc40

Участник
Сообщения
11
Реакции
1
А где можно найти No block только для игроков своей команды?
 

Джеки Чан

Участник
Сообщения
148
Реакции
55
Такой вопрос: как мне убрать команду "!block", чтобы игроки не могли прописывать.
 

babka68

Участник
Сообщения
2,124
Реакции
956
  • Автор ресурса
  • #10
Всем привет не знаю актуален ли еще этот плагин,но убрал предупреждения от компилятора и добавил авто создание конфига.
Описание: Плагин позволяет игрокам проходить друг друга на сквозь, рекомендуем для серверов с динамичными режимами игры (Surf, GunGame, DeathMatch).
Оффтоп
Плагин был скомпилирован на sourcemod-1.10.0-git6490
1.png

Установка:
1) Поместить noblock.smx по пути /addons/sourcemod/plugins
2) (Не обязательно) Поместить noblock.sp по пути /addons/sourcemod/scripting
3) Перезапустить сервер
4) Бинго)
От плагина создастся конфиг по пути cfg/sourcemod/noblock.cfg
C-подобный:
// 1 включает,0 отключает столкновение с игроками
// -
// Default: "1"
sm_noblock "1"
 

Вложения

  • noblock.sp
    1.6 КБ · Просмотры: 15
  • noblock.smx
    3.6 КБ · Просмотры: 11

NaN

FPE_INTDIV_TRAP
Сообщения
1,513
Реакции
1,487
Всем привет не знаю актуален ли еще этот плагин,но убрал предупреждения от компилятора и добавил авто создание конфига.
Описание: Плагин позволяет игрокам проходить друг друга на сквозь, рекомендуем для серверов с динамичными режимами игры (Surf, GunGame, DeathMatch).
Оффтоп
Плагин был скомпилирован на sourcemod-1.10.0-git6490

Установка:
1) Поместить noblock.smx по пути /addons/sourcemod/plugins
2) (Не обязательно) Поместить noblock.sp по пути /addons/sourcemod/scripting
3) Перезапустить сервер
4) Бинго)
От плагина создастся конфиг по пути cfg/sourcemod/noblock.cfg
C-подобный:
// 1 включает,0 отключает столкновение с игроками
// -
// Default: "1"
sm_noblock "1"
ресурсом оформи
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
babka68, создавать конфиг ради одного квара - это такое.
Лучше просто прописать значение квара в server.cfg.
Флаг FCVAR_REPLICATED для квара - это совершенно лишнее.

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

Вот этого я не понял:
C-подобный:
    new value = !!StringToInt(newValue);
    if(value == 0)
Получаешь целочисленное значение, превращаешь его в булево и сохраняешь снова в целочисленное. А потом используешь как булево. Феноменально.

И всё это на старом синтаксисе.
 

babka68

Участник
Сообщения
2,124
Реакции
956
  • Автор ресурса
  • #13
babka68, создавать конфиг ради одного квара - это такое.
Лучше просто прописать значение квара в server.cfg.
Флаг FCVAR_REPLICATED для квара - это совершенно лишнее.

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

Вот этого я не понял:
C-подобный:
    new value = !!StringToInt(newValue);
    if(value == 0)
Получаешь целочисленное значение, превращаешь его в булево и сохраняешь снова в целочисленное. А потом используешь как булево. Феноменально.

И всё это на старом синтаксисе.
Автор random.81
Выдернул из своего текста
убрал предупреждения от компилятора
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
Вообще код здорового человека должен выглядеть примерно вот так:
C-подобный:
#pragma semicolon 1
#pragma newdecls required

int m_CollisionGroup;

public void OnPluginStart()
{
    m_CollisionGroup = FindSendPropInfo("CBaseEntity", "m_CollisionGroup");
    if(m_CollisionGroup == -1) SetFailState("Failed to get offset for CBaseEntity::m_CollisionGroup");

    ConVar cvar = CreateConVar("sm_noblock", "1", "1 - включает, 0 - отключает столкновения между игроками", FCVAR_NOTIFY, true, _, true, 1.0);
    HookConVarChange(cvar, CVarChange);
    CVarChange(cvar, NULL_STRING, NULL_STRING);
}

public void CVarChange(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    static bool hooked;
    if(hooked == cvar.BoolValue) return;

    hooked = !hooked;
    if(hooked)
    {
        HookEvent("player_spawn", Event_Spawn);
        for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i)) SetCollision(i);
    }
    else
    {
        UnhookEvent("player_spawn", Event_Spawn);
        for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i)) SetCollision(i, 5);
    }
}

public void Event_Spawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(GetEventInt(event, "userid"));
    if(client) SetCollision(client);
}

stock void SetCollision(const int client, const int collision = 2)
{
    if(IsPlayerAlive(client)) SetEntData(client, m_CollisionGroup, collision, _, true);
}
 

babka68

Участник
Сообщения
2,124
Реакции
956
  • Автор ресурса
  • #15
Если бы были такие знания в этом,как у тебя,то он бы так и выглядел,как только ты написал о старом синтаксисе,то я пошел гуглить)),ну немного повозился вышло вот что.
Оффтоп
 

Вложения

  • noblock.sp
    1.6 КБ · Просмотры: 20

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
babka68, там больше проблема не в версии синтаксиса, а в самом алгоритме работы плагина.
Сообщения автоматически склеены:

У меня тоже код не идеальный (не предусмотрена выгрузка плагина, например).
 

babka68

Участник
Сообщения
2,124
Реакции
956
  • Автор ресурса
  • #17
babka68, там больше проблема не в версии синтаксиса, а в самом алгоритме работы плагина.
Сообщения автоматически склеены:

У меня тоже код не идеальный (не предусмотрена выгрузка плагина, например).
Не спорю),но на момент тестов ошибок выявлено не было,плагин свою задачу выполняет,он позволяет игрокам проходить сквозь друг друга.
Поэтому,как по мне 50-70% администраторов серверов,даже не вникают,как и что работает и точно не смотрят,что там внутри.
Работает,да и ладно 😅
 

babka68

Участник
Сообщения
2,124
Реакции
956
  • Автор ресурса
  • #18
babka68 добавил(а) новый ресурс:

No Block - Плагин позволяет игрокам проходить друг друга на сквозь

Плагин позволяет игрокам проходить друг друга на сквозь, рекомендуем для серверов с динамичными режимами игры (Surf, GunGame, DeathMatch).
Примечание:
Плагин был скомпилирован на sourcemod-1.10.0-git6490
Мной были внесены изменения в исходный код плагина,а именно:
[ATTACH...

Узнать больше об этом ресурсе...
 

babka68

Участник
Сообщения
2,124
Реакции
956
  • Автор ресурса
  • #19

iGreen

Участник
Сообщения
351
Реакции
26
а можно сделать так чтобы не могли проходить через противников?
 
Сверху Снизу