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

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Доброго времени, знаю что для кс го есть плагин Headshot Only, а можно ли дописать его чтобы onlyHS были на определенных картах?
Создаешь конфиг для той карты, где не нужен HS и выгружаешь полностью плагин или как тебе удобно
 
  • Мне нравится
Реакции: EZZY

StrAnn1k

Участник
Сообщения
237
Реакции
23
L 10/28/2019 - 02:44:15: SourceMod error session started
L 10/28/2019 - 02:44:15: Info (map "aim_deagle_fb_v8") (file "/host/19855/13542/csgo/addons/sourcemod/logs/errors_20191028.log")
L 10/28/2019 - 02:44:15: [SM] Exception reported: Handle ddc20333 is invalid (error 3)
L 10/28/2019 - 02:44:15: [SM] Blaming: Time_Played.smx
L 10/28/2019 - 02:44:15: [SM] Call stack trace:
L 10/28/2019 - 02:44:15: [SM] [0] CloseHandle
L 10/28/2019 - 02:44:15: [SM] [1] Line 35, C:\Users\tolya\OneDrive\Рабочий стол\Csgo плагины\scripting\Time_Played.sp::OnClientDisconnect
L 10/28/2019 - 03:07:33: Error log file session closed.
 

Вложения

  • Time_Played.sp
    2 КБ · Просмотры: 7

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
StrAnn1k, OMG! 🤨
Что за говнокод? Делать таймер и по нему увеличивать счётчик проведённого на сервере времени.
Нет чтобы запомнить время входа, а потом при выходе посчитать разницу.
 

StrAnn1k

Участник
Сообщения
237
Реакции
23
StrAnn1k, OMG! 🤨
Что за говнокод? Делать таймер и по нему увеличивать счётчик проведённого на сервере времени.
Нет чтобы запомнить время входа, а потом при выходе посчитать разницу.
Уже не надо) я забил на него
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
Уже не надо) я забил на него
а я уже переписал
  • перевёл на новый синтаксис
  • убрал ненужный таймер
  • время учитывается между первым выбором команды и выходом
  • ботов в БД писать не будет
  • в чат пишется теперь не количество минут, а дней, часов и минут (если наиграны)
  • путь к файлу БД сменил на .../addons/sourcemod/data/wasted_time.txt
  • логи ошибок будет писаться если плагин не сможет прочесть файл БД или записать в него
Хотя использовать в качестве БД текстовый файл - это ещё тот изврат 👎
 

Вложения

  • wasted_time.sp
    2.6 КБ · Просмотры: 15
Последнее редактирование:

StrAnn1k

Участник
Сообщения
237
Реакции
23
Добрый день кто может сделать что бы не могли подбирать запрещенное оружие и сделать что бы этот плагин работал по тегу $2000$_
 

Вложения

  • Blocker_$2000$_AWP.sp
    915 байт · Просмотры: 7

Amirsz

Релаксируем... Ну хотя бы пытаемся
Сообщения
261
Реакции
81
Добрый день кто может сделать что бы не могли подбирать запрещенное оружие и сделать что бы этот плагин работал по тегу $2000$_
А разве всякие weapon blocker в связке map confing(если правильно помню) не решат эту проблему?
 

Madness aka null138

Участник
Сообщения
713
Реакции
734
Добрый день кто может сделать что бы не могли подбирать запрещенное оружие и сделать что бы этот плагин работал по тегу $2000$_
C++:
#include <sdktools>
#include <sdkhooks>

bool enabled = false;

public void OnMapStart() {
    char map[22]; GetCurrentMap(map, 22);
    if(StrContains(map, "$2000$", false) != -1) enabled = true;
    else enabled = false;
}

public void OnClientPostAdminCheck(int client) {
    if(!enabled) return;
    SDKHook(client, SDKHook_WeaponCanUse, WeaponCanUse);
}

public Action WeaponCanUse(int client, int weapon) {
    if(!enabled) return Plugin_Continue;
    if(IsValidEdict(weapon)) {
        char wpn[32]; GetEdictClassname(weapon, wpn, 32);
        if(!strcmp(wpn, "weapon_awp") || !strcmp(wpn, "weapon_g3sg1") || !strcmp(wpn, "weapon_sg550"))
            return Plugin_Handled;
    }
    return Plugin_Continue;
}
        
public Action CS_OnBuyCommand(int client, const char[] weapon) {
    if(!enabled) return Plugin_Continue;
    if(!strcmp(weapon, "awp")){
        PrintToChat(client, " \x0C● \x01На карте $2000$ \x02« AWP »\x01 запрещено");
        EmitSoundToClient(client, "buttons/weapon_cant_buy.wav");
        return Plugin_Handled;
    }
    else if(!strcmp(weapon, "g3sg1") || !strcmp(weapon, "sg550")) {
        PrintToChat(client, " \x0C● \x01На нашем сервере \x02« скорострелки »\x01 запрещены");
        EmitSoundToClient(client, "buttons/weapon_cant_buy.wav");
        return Plugin_Handled;
    }
    return Plugin_Continue;
}
 

will_rock

Участник
Сообщения
1,074
Реакции
363
Всем привет. В плагине [ANY] Round End / Map End Sounds v2.5.0 Beta 9 (FrozDark) [26-10-13] - AlliedModders вроде как есть функция воспроизведения музыки в конце карты. Так вот, перед сменой карты когда ТАВ открывается все равно играет рандомная обычная музыка с тегом =BOTH или =CT =T. А должна играть та где стоит =MAP на сколько я понимаю. Кто шарит, пожалуйста подскажите, может в ксго это события как-то по другому называется и в исходнике нужно подправить или я просто что-то не понимаю

с меня лукасы за любую помощь)
 

psychedelic

Участник
Сообщения
131
Реакции
35
Кто хочет написать плагин BANK с помощью которого на сервере будет полная экономика, с помощью этих денег можно будет купить онлайн VIP привилегии и так дальше
 

Amirsz

Релаксируем... Ну хотя бы пытаемся
Сообщения
261
Реакции
81
Кто хочет написать плагин BANK с помощью которого на сервере будет полная экономика, с помощью этих денег можно будет купить онлайн VIP привилегии и так дальше
А LK чем тебе не угодил?
 

psychedelic

Участник
Сообщения
131
Реакции
35
я хочу чтоб люди могли копить деньги внутри игры .. деньги эти что ходят в экономике игры.. внутри-игровые
 

will_rock

Участник
Сообщения
1,074
Реакции
363
Всем привет! Помогите пожалуйста исправить ошибки

L 11/02/2019 - 19:28:42: SourceMod error session started
L 11/02/2019 - 19:28:42: Info (map "aim_ak47_csgo") (file "/srv/csgo/addons/sourcemod/logs/errors_20191102.log")
L 11/02/2019 - 19:28:42: [SM] Exception reported: Client 4 is not in game
L 11/02/2019 - 19:28:42: [SM] Blaming: duel_system.smx
L 11/02/2019 - 19:28:42: [SM] Call stack trace:
L 11/02/2019 - 19:28:42: [SM] [0] GetClientTeam
L 11/02/2019 - 19:28:42: [SM] [1] Line 252, C:\Users\САША\YandexDisk\Плагины\duel system v2.0\Core\scripting\duel_system.sp::RoundEnd
L 11/02/2019 - 19:38:08: Error log file session closed.

с меня лайки
 

Вложения

  • ds.zip
    5.4 КБ · Просмотры: 7

Туник

Участник
Сообщения
1,281
Реакции
263
Ребята может кто поправить плагин, нашел его на форуме, тут есть пару минусов которые хотелось бы исправить
1) Убрать меню (чтобы был постоянный онли hs)
2) Возможность убивать с ножа, эта функция тут по всей видимости не написана
3) Ну и на свой взгяд скриптера посмотрите что в этом плагине лишнее =)
Сообщения автоматически склеены:

😎
 

Вложения

  • onlyhs.sp
    3.8 КБ · Просмотры: 3
Последнее редактирование:

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Добрый день. Как можно убрать эффект, звук и партиклы стандартные от взрыва гранаты/декоя
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
Возможность убивать с ножа, эта функция тут по всей видимости не написана
нельзя сделать хэдшот ножом, потому и не получается ножом убивать
Пробуй:
C-подобный:
#include <sdkhooks>

static const int DMG_HEADSHOT = 1 << 30;

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype)
{
    return damagetype & DMG_HEADSHOT || damagetype & DMG_SLASH ? Plugin_Continue : Plugin_Handled;
}
 
Последнее редактирование:

Туник

Участник
Сообщения
1,281
Реакции
263
нельзя сделать хэдшот ножом, потому и не получается ножом убивать
Пробуй:
C-подобный:
#include <sdkhooks>

static const int DMG_HEADSHOT = 1 << 30;

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype)
{
    return damagetype & DMG_HEADSHOT || damagetype & DMG_SLASH ? Plugin_Continue : Plugin_Handled;
}
PHP:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>
#include <sdktools>
#include <cstrike>

public Plugin myinfo =
{
    name = "Only HS",
    author = "Someone",
    version = "1.0",
    url = "http://hlmod.ru"
};

bool g_bEnable, g_bKnife, g_b1x1;

public void OnPluginStart()
{
    ConVar CVAR;

    (CVAR = CreateConVar("sm_only_hs_enable", "1", "Включить/Выключить HS.", _, true, 0.0, true, 1.0)).AddChangeHook(ChangeCvar_Enable);
    g_bEnable = CVAR.BoolValue;

    (CVAR = CreateConVar("sm_only_hs_knife_enable", "1", "Включить/Выключить ножи.", _, true, 0.0, true, 1.0)).AddChangeHook(ChangeCvar_Knife);
    g_bKnife = CVAR.BoolValue;
   
}

public void OnMapStart()
{
    CreateTimer(1.0, TIMER, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}

public Action TIMER(Handle hTimer)
{
    if(GameRules_GetProp("m_bWarmupPeriod") != 1)
    {
        int iT, iCT;
        for(int i = 1; i <= MaxClients;i++)    if(IsClientInGame(i) && IsPlayerAlive(i))
        {
            if(GetClientTeam(i) == 2)    iT++;
            else if(GetClientTeam(i) == 3)    iCT++;
        }
       
        if(iT == 1 && iCT == 1)
        {
            g_b1x1 = true;
        }
        else    g_b1x1 = false;
    }
}

public void ChangeCvar_Enable(ConVar convar, const char[] oldValue, const char[] newValue)
{
    g_bEnable = convar.BoolValue;
}

public void ChangeCvar_Knife(ConVar convar, const char[] oldValue, const char[] newValue)
{
    g_bKnife = convar.BoolValue;
}

public void OnClientPutInServer(int iClient)
{
    SDKHook(iClient, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int iVictim, int &iAttacker, int &iInflictor, float &fDamage, int &iDamageType, int &weapon, float damageForce[3], float damagePosition[3], int damagecustom)
{
    if(g_bEnable)
    {
        if(iDamageType & CS_DMG_HEADSHOT)
        {
            return Plugin_Continue;
        }
       
        if(iDamageType & DMG_BULLET || (weapon & 160 && !g_bKnife && !g_b1x1))
        {
            return Plugin_Handled;
        }
        return Plugin_Continue;
    }
    return Plugin_Continue;
}
У меня стоял этот плагин, но появился баг, при стрельбе в голову противника наводишься на голову и тупо не убивает, до обновы ксго все работало хорошо, посмотри если не сложно что не так с плагином?
И возможность убивать с ножа тут была, онли хед +нож работало
 
Сверху Снизу