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

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@gazik003, игра хоть какая?
И версию SM указать не помешает.
Что-то мне подсказывает, что у тебя v34
 

gazik003

Участник
Сообщения
34
Реакции
1
@gazik003, игра хоть какая?
И версию SM указать не помешает.
Что-то мне подсказывает, что у тебя v34
csgo

странно. а если урон на самом деле 100, то это делает какой то плагин, ибо урон в спину 165-167.
сервер хнс, там Т бегают без брони , а кт убивают их с одной тычки в спину пкм

@gazik003, игра хоть какая?
И версию SM указать не помешает.
Что-то мне подсказывает, что у тебя v34
Sourcemod 1.1
Metamod 1.10
 
Последнее редактирование модератором:

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@gazik003, странно, должны все работать.
Может билд SM обновить нужно?
 

Туник

Участник
Сообщения
1,281
Реакции
263
C-подобный:
bool
    bAdmin[MAXPLAYERS+1];
int
    iAdmins;

public void OnClientPostAdminCheck(int client)
{
    if(!client || IsFakeClient(client)
    // нас интересуют только те, кто имеет право кикнуть или создать голосование об этом
    || !(bAdmin[client] = !!(GetUserFlagBits(client) & ADMFLAG_KICK|ADMFLAG_VOTE|ADMFLAG_RCON|ADMFLAG_ROOT)))
        return;

    if(!iAdmins) ServerCommand("sv_vote_issue_kick_allowed 0");
    iAdmins++;
}

public void OnClientDisconnect(int client)
{
    if(!bAdmin[client]) return;

    bAdmin[client] = false;
    if(iAdmins == 1) ServerCommand("sv_vote_issue_kick_allowed 1");
    iAdmins--;
}

Игра КСГО
Нашёл такой плагин в поиске, подскажите как добавить правильно ещё пару команд :
sv_vote_issue_nextlevel_allowed 1
sv_vote_issue_changelevel_allowed 1

Чтобы при входе админа люди не могли вдобавок голосовать и за смену карт, также заметил в плагине пару моментов, если админку снять то доступа к командам все равно нет, можно ли как нибудь добавить reload admin, также если админ выходит доступа нет пока карта не смениться.
 
Последнее редактирование:

garry

blink-182
Сообщения
122
Реакции
111
Исправить кто сможет?
Плагин засоряет логи каждую секунду генерируя по 4 раза ошибку:
L 10/31/2020 - 23:20:13: [SM] Call stack trace:
L 10/31/2020 - 23:20:13: [SM] [0] GetConVarFloat
L 10/31/2020 - 23:20:13: [SM] [1] Line 164, C:\Users\Admin\Desktop\сервер\addons\sourcemod\scripting\kaban.sp::KabanTimer
L 10/31/2020 - 23:20:13: [SM] Exception reported: Invalid convar handle 0 (error 4)
 

Вложения

  • kaban.sp
    6.6 КБ · Просмотры: 6

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Исправить кто сможет?
Плагин засоряет логи каждую секунду генерируя по 4 раза ошибку:
L 10/31/2020 - 23:20:13: [SM] Call stack trace:
L 10/31/2020 - 23:20:13: [SM] [0] GetConVarFloat
L 10/31/2020 - 23:20:13: [SM] [1] Line 164, C:\Users\Admin\Desktop\сервер\addons\sourcemod\scripting\kaban.sp::KabanTimer
L 10/31/2020 - 23:20:13: [SM] Exception reported: Invalid convar handle 0 (error 4)
 

Вложения

  • kaban.sp
    6.8 КБ · Просмотры: 11
  • kaban.smx
    13.3 КБ · Просмотры: 5

gazik003

Участник
Сообщения
34
Реакции
1
странно. а если урон на самом деле 100, то это делает какой то плагин, ибо урон в спину 165-167.
скорее всего 165-167

кто может поменять в этом плагине гранату, в общем это хнс мод , тут стоит замораживающая граната как (decoy) а мне нужно поменять на (smoke) гранату , заранее буду очень благодарен
 

Вложения

  • hidenseek.sp
    96.9 КБ · Просмотры: 3

garry

blink-182
Сообщения
122
Реакции
111
@iLoco Не знаю, что ты сделал, но теперь творится какой-то бред. Люди, которых зарезали, теперь могут использовать оружие в следующем раунде (раньше они весь раунд бегали только с ножами). Так же он настолько стал баганый, что те, кого зарезали, убивают других якобы с ножа, хотя стояли на респе или даже если были трупами.
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
@iLoco Не знаю, что ты сделал, но теперь творится какой-то бред. Люди, которых зарезали, теперь могут использовать оружие в следующем раунде (раньше они весь раунд бегали только с ножами). Так же он настолько стал баганый, что те, кого зарезали, убивают других якобы с ножа, хотя стояли на респе или даже если были трупами.
Это называется корректной работой)

вот версия с вырезанными ошибками
 

Вложения

  • kaban.sp
    6.9 КБ · Просмотры: 7
  • kaban.smx
    13 КБ · Просмотры: 4

babka68

Участник
Сообщения
2,124
Реакции
956
Всем привет,народ подскажите пожалуйста нет ли утечки памяти в этих плагинах?
Суть проблемы такая,это последние плагины в которых были изменения,начались краши 1 раз в день,ТП Арены сказал,что утечка памяти,грешу на Multi Jump

Все изменения можно посмотреть в "Обновлении" того или иного ресурса,буду рад,если поможете
 

Вложения

  • Extra Cash.sp
    3.2 КБ · Просмотры: 4
  • Quick Defuse.sp
    8.3 КБ · Просмотры: 5
  • VIP_Multi_Jump.sp
    5.4 КБ · Просмотры: 6

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Всем привет,народ подскажите пожалуйста нет ли утечки памяти в этих плагинах?
Суть проблемы такая,это последние плагины в которых были изменения,начались краши 1 раз в день,ТП Арены сказал,что утечка памяти,грешу на Multi Jump

Все изменения можно посмотреть в "Обновлении" того или иного ресурса,буду рад,если поможете
ИМХО:
Extra Cash:
Нужно закрывать Handle, ибо непонятно что-то, а лучше получать его значение вначале старта плагина и по хуку на изменение конвара, подсветил ниже

C-подобный:
public void Event_End(Event event, const char[] name, bool silent)
{
    iRound++;
    if(lock) return;

    static ConVar cvar;
    if((cvar || (cvar = FindConVar("sm_autoswapteam_type"))) && cvar.IntValue == 1)
    {
        int timelimit = GetMapTimeLimit(timelimit), timeleft = GetMapTimeLeft(timeleft);
        if(0 < timelimit && 0 < timeleft && timeleft/60 <= timelimit/2)
        {
            lock = true;
            iRound = 1;
        }
    }
}

Quick defuse: нету
VIP_Multi_jumps: нету
 

Вложения

  • Extra Cash.sp
    3.1 КБ · Просмотры: 5

babka68

Участник
Сообщения
2,124
Реакции
956
ИМХО:
Extra Cash:
Нужно закрывать Handle, ибо непонятно что-то, а лучше получать его значение вначале старта плагина и по хуку на изменение конвара, подсветил ниже

C-подобный:
public void Event_End(Event event, const char[] name, bool silent)
{
    iRound++;
    if(lock) return;

    static ConVar cvar;
    if((cvar || (cvar = FindConVar("sm_autoswapteam_type"))) && cvar.IntValue == 1)
    {
        int timelimit = GetMapTimeLimit(timelimit), timeleft = GetMapTimeLeft(timeleft);
        if(0 < timelimit && 0 < timeleft && timeleft/60 <= timelimit/2)
        {
            lock = true;
            iRound = 1;
        }
    }
}

Quick defuse: нету
VIP_Multi_jumps: нету
Спасибо большое,оперативно)
 

RudikS

Участник
Сообщения
130
Реакции
61
ИМХО:
Extra Cash:
Нужно закрывать Handle, ибо непонятно что-то, а лучше получать его значение вначале старта плагина и по хуку на изменение конвара, подсветил ниже

C-подобный:
public void Event_End(Event event, const char[] name, bool silent)
{
    iRound++;
    if(lock) return;

    static ConVar cvar;
    if((cvar || (cvar = FindConVar("sm_autoswapteam_type"))) && cvar.IntValue == 1)
    {
        int timelimit = GetMapTimeLimit(timelimit), timeleft = GetMapTimeLeft(timeleft);
        if(0 < timelimit && 0 < timeleft && timeleft/60 <= timelimit/2)
        {
            lock = true;
            iRound = 1;
        }
    }
}

Quick defuse: нету
VIP_Multi_jumps: нету
если не найдет sm_autoswapteam_type, то выбьет ошибку у тебя.
 

babka68

Участник
Сообщения
2,124
Реакции
956
если не найдет sm_autoswapteam_type, то выбьет ошибку у тебя.
Протестируем заодно
@iLoco
C-подобный:
L 11/07/2020 - 18:19:30: [SM] Exception reported: Invalid convar handle 0 (error 4)
L 11/07/2020 - 18:19:30: [SM] Blaming: Extra Cash.smx
L 11/07/2020 - 18:19:30: [SM] Call stack trace:
L 11/07/2020 - 18:19:30: [SM]   [0] ConVar.IntValue.get
L 11/07/2020 - 18:19:30: [SM]   [1] Line 114, C:\Users\Создание Серверов\Desktop\compiler  6492\Extra Cash.sp::Event_End
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Протестируем заодно
@iLoco
C-подобный:
L 11/07/2020 - 18:19:30: [SM] Exception reported: Invalid convar handle 0 (error 4)
L 11/07/2020 - 18:19:30: [SM] Blaming: Extra Cash.smx
L 11/07/2020 - 18:19:30: [SM] Call stack trace:
L 11/07/2020 - 18:19:30: [SM]   [0] ConVar.IntValue.get
L 11/07/2020 - 18:19:30: [SM]   [1] Line 114, C:\Users\Создание Серверов\Desktop\compiler  6492\Extra Cash.sp::Event_End
Вот так лучше будет, сделал получение значение конвара при старте плигина и при смене значения в конвате, так-же переименновал плагин с Extra Cash на Extra_Cash, потому что компилятор не видит пробелы...
1604762626318.png
 

Вложения

  • Extra_Cash.sp
    3.4 КБ · Просмотры: 5
  • Extra_Cash.smx
    10.6 КБ · Просмотры: 2

babka68

Участник
Сообщения
2,124
Реакции
956
Вот так лучше будет, сделал получение значение конвара при старте плигина и при смене значения в конвате, так-же переименновал плагин с Extra Cash на Extra_Cash, потому что компилятор не видит пробелы...
Посмотреть вложение 66767
C-подобный:
L 11/07/2020 - 18:30:50: SourceMod error session started
L 11/07/2020 - 18:30:50: Info (map "de_dust2") (file "/game/cstrike/addons/sourcemod/logs/errors_20201107.log")
L 11/07/2020 - 18:30:50: [SM] Exception reported: Invalid convar handle 0 (error 4)
L 11/07/2020 - 18:30:50: [SM] Blaming: Extra_Cash.smx
L 11/07/2020 - 18:30:50: [SM] Call stack trace:
L 11/07/2020 - 18:30:50: [SM]   [0] ConVar.IntValue.get
L 11/07/2020 - 18:30:50: [SM]   [1] Line 49, C:\Users\Создание Серверов\Desktop\compiler  6492\Extra_Cash.sp::OnPluginStart
L 11/07/2020 - 18:30:50: [SM] Unable to load plugin "Extra_Cash.smx": Error detected in plugin startup (see error logs)
L 11/07/2020 - 18:31:09: Error log file session closed.
 

RudikS

Участник
Сообщения
130
Реакции
61
C-подобный:
L 11/07/2020 - 18:30:50: SourceMod error session started
L 11/07/2020 - 18:30:50: Info (map "de_dust2") (file "/game/cstrike/addons/sourcemod/logs/errors_20201107.log")
L 11/07/2020 - 18:30:50: [SM] Exception reported: Invalid convar handle 0 (error 4)
L 11/07/2020 - 18:30:50: [SM] Blaming: Extra_Cash.smx
L 11/07/2020 - 18:30:50: [SM] Call stack trace:
L 11/07/2020 - 18:30:50: [SM]   [0] ConVar.IntValue.get
L 11/07/2020 - 18:30:50: [SM]   [1] Line 49, C:\Users\Создание Серверов\Desktop\compiler  6492\Extra_Cash.sp::OnPluginStart
L 11/07/2020 - 18:30:50: [SM] Unable to load plugin "Extra_Cash.smx": Error detected in plugin startup (see error logs)
L 11/07/2020 - 18:31:09: Error log file session closed.
C-подобный:
#pragma semicolon 1
#include <sourcemod>
#include <morecolors>

#pragma newdecls required

int
    g_iAccount = -1,
    iMoney,
    iRound;
bool
    bEnable,
    bMsg,
    bLock[MAXPLAYERS+1] = {true, ...},
    lock;

int cwAutoSwapTeamType;

public Plugin myinfo =
{
    name = "Extra Cash",
    version = "1.1",
    description = "Деньги при спавне игрока.",
    author = "Peoples Army, babka68",
    url = "tmb-css.ru"
}

public void OnPluginStart()
{
    if((g_iAccount = FindSendPropInfo("CCSPlayer", "m_iAccount")) < 1)
        SetFailState("Can't find 'm_iAccount' offset!");

    LoadTranslations("extra_cash.phrases");

    ConVar cvar;
    cvar = CreateConVar("extra_cash_on", "1", "1 - Плагин включен, 0 - Плагин выключен.", _, true, _, true, 1.0);
    bEnable = cvar.BoolValue;
    cvar.AddChangeHook(CVarChanged_Enable);

    cvar = CreateConVar("extra_cash_amount", "16000", "Устанавливает количество денег, выданных при спавне.", _, true, 800.0, true, 16000.0);
    iMoney = cvar.IntValue;
    cvar.AddChangeHook(CVarChanged_Money);

    cvar = CreateConVar("extra_cash_chat_info", "1", "1 - отображать информацию о выданных средствах, 0 - не отображать.", _, true, 0.0, true, 1.0);
    bMsg = cvar.BoolValue;
    cvar.AddChangeHook(CVarChanged_Msg);

    cvar = FindConVar("sm_autoswapteam_type");

    if(cvar)
    {
        cwAutoSwapTeamType = cvar.IntValue;
        cvar.AddChangeHook(CVarChanged_AutoSwapTeamType);
    }


    HookEvent("player_team", Event_Team);
    HookEvent("player_spawn", Event_Spawn);
    HookEvent("round_end", Event_End, EventHookMode_PostNoCopy);

    AutoExecConfig(true, "extra_cash");
}

public void CVarChanged_AutoSwapTeamType(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    cwAutoSwapTeamType = cvar.IntValue;
}

public void CVarChanged_Enable(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    bEnable = cvar.BoolValue;
}

public void CVarChanged_Money(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    iMoney = cvar.IntValue;
}

public void CVarChanged_Msg(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    bMsg = cvar.BoolValue;
}

public void OnMapStart()
{
    iRound = 0;
    lock = false;
    for(int i = 1; i <= MaxClients; i++) bLock[i] = true;
}

public void OnClientConnected(int client)
{
    bLock[client] = true;
}

public void Event_Spawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    if(!client || GetClientTeam(client) < 2)
        return;

    if(bLock[client])
    {
        bLock[client] = false;
        return;
    }

    if(!bEnable || iRound < 1)
        return;

    SetEntData(client, g_iAccount, iMoney);
    if(bMsg) CPrintToChatAll("{lime}[Extra Cash] {fullred}%N {white} получил {yellow}%d$", client, iMoney);
}

public void Event_Team(Event event, const char[] name, bool dontBroadcast)
{
    if(event.GetBool("disconnect"))
        return;

    static int client;
    if((client = GetClientOfUserId(event.GetInt("userid"))) && event.GetInt("team") != event.GetInt("oldteam"))
        bLock[client] = true;
}

public void Event_End(Event event, const char[] name, bool silent)
{
    iRound++;
    if(lock) return;

    if(cwAutoSwapTeamType == 1)
    {
        int timelimit = GetMapTimeLimit(timelimit), timeleft = GetMapTimeLeft(timeleft);
        if(0 < timelimit && 0 < timeleft && timeleft/60 <= timelimit/2)
        {
            lock = true;
            iRound = 1;
        }
    }
}
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
C-подобный:
L 11/07/2020 - 18:30:50: SourceMod error session started
L 11/07/2020 - 18:30:50: Info (map "de_dust2") (file "/game/cstrike/addons/sourcemod/logs/errors_20201107.log")
L 11/07/2020 - 18:30:50: [SM] Exception reported: Invalid convar handle 0 (error 4)
L 11/07/2020 - 18:30:50: [SM] Blaming: Extra_Cash.smx
L 11/07/2020 - 18:30:50: [SM] Call stack trace:
L 11/07/2020 - 18:30:50: [SM]   [0] ConVar.IntValue.get
L 11/07/2020 - 18:30:50: [SM]   [1] Line 49, C:\Users\Создание Серверов\Desktop\compiler  6492\Extra_Cash.sp::OnPluginStart
L 11/07/2020 - 18:30:50: [SM] Unable to load plugin "Extra_Cash.smx": Error detected in plugin startup (see error logs)
L 11/07/2020 - 18:31:09: Error log file session closed.
 

Вложения

  • Extra_Cash.sp
    3.4 КБ · Просмотры: 5

babka68

Участник
Сообщения
2,124
Реакции
956
@iLoco
От души,error нет,будем тестировать на наличие крашей)
 
Сверху Снизу