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

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@skolobes, попробуй это:
PHP:
#include <sdktools_hooks>

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon, int &subtype, int &cmdnum, int &tickcount, int &seed, int mouse[2])
{
    if((buttons & IN_LEFT) || (buttons & IN_RIGHT)) return Plugin_Handled;

    return Plugin_Continue;
}
или это:
PHP:
#include <sdktools_hooks>

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon, int &subtype, int &cmdnum, int &tickcount, int &seed, int mouse[2])
{
    if(buttons & IN_LEFT)
    {
        buttons &= ~IN_LEFT;
        return Plugin_Changed;
    }

    if(buttons & IN_RIGHT)
    {
        buttons &= ~IN_RIGHT;
        return Plugin_Changed;
    }

    return Plugin_Continue;
}
 
Последнее редактирование:

skywalker

Участник
Сообщения
1,153
Реакции
263
@Kruzya, @Grey83, Все 3 попробовал, не работает :ac: Правда просто карту менял, без рестарта
Ребят, ну что есть какие идеи как их заблокировать?
 
Последнее редактирование:

Reg1oxeN

Участник
Сообщения
399
Реакции
314
@skolobes, так?
C-подобный:
#include <sdktools_hooks>

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon, int &subtype, int &cmdnum, int &tickcount, int &seed, int mouse[2])
{
    if (vel[1] != 0.0)
    {
        vel[1] = 0.0;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}
если я правильно понял, что движение.


или так, если вращение углов, но только визуально.
C-подобный:
#include <sdktools_hooks>

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon, int &subtype, int &cmdnum, int &tickcount, int &seed, int mouse[2])
{
    static float PrevYaw[MAXPLAYERS + 1];
    if(buttons & IN_LEFT || buttons & IN_RIGHT)
    {
        angles[1] = PrevYaw[client];
        TeleportEntity(client, NULL_VECTOR, angles, NULL_VECTOR);
        return Plugin_Continue;
    }
    PrevYaw[client] = angles[1];
    return Plugin_Continue;
}
 
Последнее редактирование:

DarklSide

Участник
Сообщения
931
Реакции
468
@skolobes, для большенства +left +right - они просто не нужны и обычно не используется на серверах, визуально это поворачивание вокруг своей оси, примерно как робот.

PHP:
public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon)
{
    if ((buttons & IN_LEFT) || (buttons & IN_RIGHT))
    {
        if (!IsClientInKickQueue(client))
        {
            KickClient(client, "Запрещено использовать стрелки: <- или ->.");
        }
    }
    return Plugin_Continue;
}
 
Последнее редактирование:

DarklSide

Участник
Сообщения
931
Реакции
468
@Reg1oxeN, с помощью забиндиных клавиш, можно всего за несколько секунд замутить нехилый распрыг, опережая или иметь определенные преимущества над соперниками, например в такую цель сложнее попасть - которая прыгает по кругу, раньше детектил такую возможность в течении 2-3 сек., но даже такая возможность, до детекта, придавала игроку преимущества, после начали использовать бинд клавиш+скрипты, которые отсчитывают разрешенное время до детекта и отпускают их зажатие.
Что последовало простой кик за использование стрелок и тем более полная в них ненадобность.
Возможно похожие проблемы появились и у ТС @skolobes.
 
F

FBI

Всем привет, помогите с плагином!
Я скачал плагин арена1v1, в нем есть исходник stats.sp как понимаю статистика, но мне интересно если я буду использовать её отдельно для серверов будет ли работать?
Просто собрали веб часть и хотелось бы сделать стату и для остальных серверов!
 

Вложения

  • multi1v1_1.1.5.zip
    175.5 КБ · Просмотры: 13
  • stats.sp
    12 КБ · Просмотры: 9

Someone

Участник
Сообщения
1,933
Реакции
1,653
Всем привет, помогите с плагином!
Я скачал плагин арена1v1, в нем есть исходник stats.sp как понимаю статистика, но мне интересно если я буду использовать её отдельно для серверов будет ли работать?
Просто собрали веб часть и хотелось бы сделать стату и для остальных серверов!
Не будет.
 

Reg1oxeN

Участник
Сообщения
399
Реакции
314
@Grey83, не только по X, но и по Z :acute:
и не карты, а относительно углов игрока.
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
Здравствуйте, друзья, у меня просьба не столько по написанию плагина, сколько по исправлению существующего.
Проблема описана тут: [VIP] WeaponPack
Сам плагин и его функцию можете почитать в первом сообщении, как ни странно, прошу заранее прощения у админов за дублирование проблемы, просто хочется решить проблему с плагином, а автор - забанен, и кто решит её кроме него я не знаю, решил спросить ещё и тут.
 
F

FBI

Всем привет, помогите с плагином!
Я скачал плагин арена1v1, в нем есть исходник stats.sp как понимаю статистика, но мне интересно если я буду использовать её отдельно для серверов будет ли работать?
Просто собрали веб часть и хотелось бы сделать стату и для остальных серверов!
Народ помогите сделать такую статистику для обычного сервера!!!
В посте выше я прикрепил файлы.
 

Faya™

Жуестер
Сообщения
867
Реакции
457
Как можно запретить команды на сервере +left +right или плагином, это реально сделать кто знает?
есть тебе для таймера то можно написать плагин который будет хукать их и останавливать таймер, если в твоем таймере это не предусмотрено
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Reg1oxeN, только по X (по остальным осям проверка не производится)
и направление осей совпадает с направлением осей карты, емнип
 

andreik

Участник
Сообщения
285
Реакции
53
кто сможет чучуть отредактировать плагин , выдача декой не каждое возрождение а каждые 10 минут (или прикрутить кфг с настройками ) [VIP] Decoy Teleport
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Reg1oxeN, ну ок
Можно легко проверить: написать простой плагин, который где-то в HUDе будет отображать текущие значения скоростей при нажатиях клавиш
Сам напишешь или мне подсказать как?
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Reg1oxeN, и при чём твоя ссыль? там только показано, что при нажатии клавиш влево и вправо меняется значение sidemove
PHP:
    // If strafing, check left and right keys and act like moveleft and moveright keys

    if ( in_strafe.state & 1 )
    {
        cmd->sidemove += cl_sidespeed.GetFloat() * KeyState (&in_right);
        cmd->sidemove -= cl_sidespeed.GetFloat() * KeyState (&in_left);
    }

    // Otherwise, check strafe keys
    cmd->sidemove += cl_sidespeed.GetFloat() * KeyState (&in_moveright);
    cmd->sidemove -= cl_sidespeed.GetFloat() * KeyState (&in_moveleft);
 
Сверху Снизу