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

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
Народ, как можно запретить ботам ножи в cssob? У ботов есть такая особенность, что первые секунды раунда они бегут с ножом, и при ранней конфронтации просто беззащитны, хотя их уровень сложности установлен на 3 (в общем, на awp картах ножей у ботов не должно быть.)
Сообщения автоматически склеены:

команда от ксго типа bot_allow_knife 0 не работоспособна
Такой вариант подойдет?
Откройте консоль на сервере CSS, нажав клавишу "~" на клавиатуре. Введите следующую команду: bot_knives_only 0. Это отключит возможность ботам использовать ножи. Затем введите следующую команду: bot_allow_grenades 1. Это позволит ботам использовать гранаты. Сохраните изменения, чтобы они применились при следующем запуске сервера. После выполнения этих действий боты на сервере будут использовать только гранаты, а ножи будут отключены. Однако имейте в виду, что это может существенно изменить геймплей на сервере, поэтому рекомендуется осторожно использовать эту настройку. (PS. На ответах мейл нашел)
 

LeXon

Участник
Сообщения
317
Реакции
29
@7pElllHuK, если уже и использовать такие квары, то более подходящий здесь bot_snipers_only 1
Однако это не мешает ботам первые несколько секунд бежать с ножом и получить хэд от игрока
То-есть у бота вообще в инвентаре должен отсутствовать нож.
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
@7pElllHuK, если уже и использовать такие квары, то более подходящий здесь bot_snipers_only 1
Однако это не мешает ботам первые несколько секунд бежать с ножом и получить хэд от игрока
То-есть у бота вообще в инвентаре должен отсутствовать нож.
Ну удалите тогда его
 

babka68

Участник
Сообщения
2,124
Реакции
956
Народ, как можно запретить ботам ножи в cssob? У ботов есть такая особенность, что первые секунды раунда они бегут с ножом, и при ранней конфронтации просто беззащитны, хотя их уровень сложности установлен на 3 (в общем, на awp картах ножей у ботов не должно быть.)
Сообщения автоматически склеены:

команда от ксго типа bot_allow_knife 0 не работоспособна
Проверь, на любых awp_ картах должен удалять у бота ножик.
C-подобный:
#include <cstrike>
#include <sdktools_functions>

#pragma semicolon 1
#pragma newdecls required

bool g_bIsNotRemoveKnife;

public Plugin myinfo =
{
    name = "[BOT] --- Removes knife on sniper maps",
    author = "babka68",
    description = "Плагин удаляет у ботов нож на авп картах",
    version = "1.0",
    url = "https://vk.com/zakazserver68"
};

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_Spawn);
}

public void OnMapStart()
{
    char buffer[32];
    GetCurrentMap(buffer, sizeof(buffer));
    g_bIsNotRemoveKnife = StrContains(buffer, "awp_", false) != -1;
}

public void Event_Spawn(Event event, const char[] name, bool dontBroadcast)
{
    static int iClient; iClient = GetClientOfUserId(event.GetInt("userid"));
    
    if (IsFakeClient(iClient))
    {
        static int iSlotKnife; iSlotKnife = GetPlayerWeaponSlot(iClient, CS_SLOT_KNIFE);
        if (iSlotKnife > 0 && g_bIsNotRemoveKnife)
        {
            RemoveEntity(iSlotKnife);
        }
    }
}
 
Последнее редактирование:

LeXon

Участник
Сообщения
317
Реакции
29
@babka68, спс бро, теперь боты перестали быть дебилами
Сообщения автоматически склеены:

хотя пробежка у них осталась, но уже теперь с awp 🤣
 

lesha

Участник
Сообщения
84
Реакции
7
L 02/24/2024 - 20:26:51: [SM] Exception reported: Entity 148 (148) is invalid
L 02/24/2024 - 20:26:51: [SM] Blaming: AKC 2.0.2_fix.smx
L 02/24/2024 - 20:26:51: [SM] Call stack trace:
L 02/24/2024 - 20:26:51: [SM] [0] GetEntProp
L 02/24/2024 - 20:26:51: [SM] [1] Line 199, D:\Sourcemod\addons\sourcemod\scripting\AKC 2.0.2_fix.sp::Event_PlayerTeam

[SM] Exception reported: Property "m_fEffects" not found (entity 135/fish)
[SM] Exception reported: Property "m_fEffects" not found (entity 232/keyframe_rope)

L 02/24/2024 - 20:58:02: [SM] Exception reported: Entity 300 (300) is invalid
L 02/24/2024 - 20:58:02: [SM] Blaming: AKC 2.0.2_fix.smx
L 02/24/2024 - 20:58:02: [SM] Call stack trace:
L 02/24/2024 - 20:58:02: [SM] [0] GetEntProp
L 02/24/2024 - 20:58:02: [SM] [1] Line 199, D:\Sourcemod\addons\sourcemod\scripting\AKC 2.0.2_fix.sp::Event_PlayerTeam
 
Последнее редактирование:

lesha

Участник
Сообщения
84
Реакции
7
попробуй этот вариант
Спасибо тебе огромное что помогаешь! Но вот опять ошибка)

L 02/25/2024 - 01:00:41: [SM] Exception reported: Property "m_fEffects" not found (entity 129/env_fog_controller)
L 02/25/2024 - 01:00:41: [SM] Blaming: AKC 2.0.2_fix.smx
L 02/25/2024 - 01:00:41: [SM] Call stack trace:
L 02/25/2024 - 01:00:41: [SM] [0] GetEntProp
L 02/25/2024 - 01:00:41: [SM] [1] Line 200, D:\ВСЕ_1\Sourcemod\addons\sourcemod\scripting\AKC 2.0.2_fix2.sp::Event_PlayerTeam
L 02/25/2024 - 01:21:28: Error log file session closed.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@lesha, проверяй.
 

Вложения

  • AKC 2.0.2_fix3.sp
    29.7 КБ · Просмотры: 6

lesha

Участник
Сообщения
84
Реакции
7
L 02/25/2024 - 14:10:55: [SM] Exception reported: Property "m_hOwnerEntity" not found (entity 328/cs_ragdoll)
L 02/25/2024 - 14:10:55: [SM] Blaming: AKC 2.0.2_fix3.smx
L 02/25/2024 - 14:10:55: [SM] Call stack trace:
L 02/25/2024 - 14:10:55: [SM] [0] GetEntPropEnt
L 02/25/2024 - 14:10:55: [SM] [1] Line 219, D:\ВСЕ_1\SM\addons\sourcemod\scripting\AKC 2.0.2_fix3.sp::SoundCallBackHook
L 02/25/2024 - 14:10:55: [SM] Exception reported: Property "m_hOwnerEntity" not found (entity 328/cs_ragdoll)
L 02/25/2024 - 14:10:55: [SM] Blaming: AKC 2.0.2_fix3.smx
L 02/25/2024 - 14:10:55: [SM] Call stack trace:
L 02/25/2024 - 14:10:55: [SM] [0] GetEntPropEnt
L 02/25/2024 - 14:10:55: [SM] [1] Line 219, D:\ВСЕ_1\SM\addons\sourcemod\scripting\AKC 2.0.2_fix3.sp::SoundCallBackHook

И иногда модель ножа для T появляется и для CT
 

cmb

Участник
Сообщения
15
Реакции
2
всем привет, как можно создать полную копию модели игрока в нем же, с анимациями всеми свойствами, а самому игроку эту модель удалить (если возможно), копия должна быть как пропс
 

Grey83

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

lesha

Участник
Сообщения
84
Реакции
7
Добрый вечер! Исправьте ошибку пожалуйста.
L 02/27/2024 - 17:46:53: [SM] Exception reported: Invalid entity index -2110813867
L 02/27/2024 - 17:46:53: [SM] Blaming: DynamicChannels.smx
L 02/27/2024 - 17:46:53: [SM] Call stack trace:
L 02/27/2024 - 17:46:53: [SM] [0] EntIndexToEntRef
L 02/27/2024 - 17:46:53: [SM] [1] Line 97, DynamicChannels.sp::OnEntityCreated
 

Вложения

  • DynamicChannels.inc
    1.1 КБ · Просмотры: 3
  • DynamicChannels.sp
    8.4 КБ · Просмотры: 14

DarkerZ

Участник
Сообщения
395
Реакции
175
Добрый вечер! Исправьте ошибку пожалуйста.
L 02/27/2024 - 17:46:53: [SM] Exception reported: Invalid entity index -2110813867
L 02/27/2024 - 17:46:53: [SM] Blaming: DynamicChannels.smx
L 02/27/2024 - 17:46:53: [SM] Call stack trace:
L 02/27/2024 - 17:46:53: [SM] [0] EntIndexToEntRef
L 02/27/2024 - 17:46:53: [SM] [1] Line 97, DynamicChannels.sp::OnEntityCreated
Плагинов, которые создают game_text нету?
Сообщения автоматически склеены:

Да и оно работать не будет, если плагин его не поддерживает
 

lesha

Участник
Сообщения
84
Реакции
7
Плагинов, которые создают game_text нету?
Сообщения автоматически склеены:

Да и оно работать не будет, если плагин его не поддерживает
EntWatch плагин на материи ( он просит для работы плагин DynamicChannels.smx ) - плагины работают - тупо ошибка спамит часто!
 

DarkerZ

Участник
Сообщения
395
Реакции
175
EntWatch плагин на материи ( он просит для работы плагин DynamicChannels.smx ) - плагины работают - тупо ошибка спамит часто!
Не обязательно нужен dynamicchannels. Удали из include инклуд динамика и заново скомпилируй плагин. Тогда и dynamicchannels не нужен будет
Сообщения автоматически склеены:

возможно есть какой-то плагин который создаёт этот game_text с отрицательным индексом...
ну как костыль в 90 строчку добавить это
C-подобный:
if (entity < 0 || entity >= GetMaxEntities()) return;
 
Последнее редактирование:

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
Всем доброго вечера. Подскажите пожалуйста, как правильно реализовать прокрутку предметов.
Написал тестовый плагин, который прокручивает случайные цифры, а с текстом не получается.
Прокрутка на цифрах:
int number;

public void OnPluginStart()
{
    RegAdminCmd("sm_test", Test, ADMFLAG_ROOT);
}

public Action Test(int iClient, int args)
{
    CreateTimer(1.0, Timer_Callback, _, TIMER_REPEAT);
    return Plugin_Handled;
}

public Action Timer_Callback(Handle timer)
{
    static int iThird[3], iSecond[3];
    int iFirst[3];
    number = GetRandomInt(1, 100);

    for (int i = 0; i < 3; i++)
    {
        iFirst[i] = iSecond[i];
        iSecond[i] = iThird[i];
        iThird[i] = number;
    }

    PrintHintTextToAll("Прошлое: %i, Текущее: %i, Следущее: %i", iFirst[2], iSecond[1], iThird[0]);
    return Plugin_Handled;
}


В плагине, для которого нужна прокрутка, значения выводятся через строку g_iItemsValues[iCaseID][iItemID].sName
Нужно как-то сделать так, чтоб значения из этой строки преобразовывались в таком формате (Предыдущий предмет, Текущий, Следующий)
P.S. Пробовал брать код с похожих плагинов (где есть прокрут), но там используется как раз таки пример, который я скинул выше ("Прокрутка на цифрах")
 

danil253467

💘Italo-Disco & Neon One Love💘
Сообщения
90
Реакции
52
Всем доброго вечера. Подскажите пожалуйста, как правильно реализовать прокрутку предметов.
Написал тестовый плагин, который прокручивает случайные цифры, а с текстом не получается.
Прокрутка на цифрах:
int number;

public void OnPluginStart()
{
    RegAdminCmd("sm_test", Test, ADMFLAG_ROOT);
}

public Action Test(int iClient, int args)
{
    CreateTimer(1.0, Timer_Callback, _, TIMER_REPEAT);
    return Plugin_Handled;
}

public Action Timer_Callback(Handle timer)
{
    static int iThird[3], iSecond[3];
    int iFirst[3];
    number = GetRandomInt(1, 100);

    for (int i = 0; i < 3; i++)
    {
        iFirst[i] = iSecond[i];
        iSecond[i] = iThird[i];
        iThird[i] = number;
    }

    PrintHintTextToAll("Прошлое: %i, Текущее: %i, Следущее: %i", iFirst[2], iSecond[1], iThird[0]);
    return Plugin_Handled;
}


В плагине, для которого нужна прокрутка, значения выводятся через строку g_iItemsValues[iCaseID][iItemID].sName
Нужно как-то сделать так, чтоб значения из этой строки преобразовывались в таком формате (Предыдущий предмет, Текущий, Следующий)
P.S. Пробовал брать код с похожих плагинов (где есть прокрут), но там используется как раз таки пример, который я скинул выше ("Прокрутка на цифрах")
Попробуй строки засунуть в ArrayList. И по индексу получай строку
 

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
Попробуй строки засунуть в ArrayList. И по индексу получай строку
Можете дать пример? Думал об ArrayList, но не использовал его никогда и нет понимания как он работает (Просьба урок не кидать, видел его 😀 )
 

danil253467

💘Italo-Disco & Neon One Love💘
Сообщения
90
Реакции
52
Можете дать пример? Думал об ArrayList, но не использовал его никогда и нет понимания как он работает (Просьба урок не кидать, видел его 😀 )
C-подобный:
ArrayList hList;

public void OnPluginStart()
{
    hList = new ArrayList();
}

public void OnMapStart()
{
    hList.Clear();
}

Action Что-то твое(int client, int args)
{
    char sText[32];

    int iNumber = 2;
    hList.GetString(iNumber, sText, sizeof(sText));
    
    // Далее что-то с текстом делаешь...
}
Написал общий пример обращения с Arraylist
 
Сверху Снизу