The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
Я прекрасно понимаю, что часто названия плагинов можно очень просто забыть. Однако это становится причиной постоянного создания тем рода "помогите найти плагин X".

Так вот, чтобы содержать форум в порядке и чистоте, поступим следующим образом:
  1. В дальнейшем создаваемые темы с "помогите найти плагин" будут удаляться, а авторам — выдаваться предупреждения
  2. Если Вы захотите найти плагин, то сначала воспользуйтесь поиском

Если всё же не удалось найти плагин, заполните следующую форму и ответьте в этой теме:

  • Функции плагина
  • Мод/Игра, которая использует этот плагин

Прежде чем отвечать в теме, воспользуйтесь поиском гугла, который почти всегда находит нужное.

Старые темы будут перемещены в корзину.
 
Последнее редактирование модератором:

Mr_Incognito

Участник
Сообщения
194
Реакции
14
Подскажите пожалуйста есть ли плагин который в меню WCS когда добавляешь расу в избранное то можно искать ее по категориям?
 

xek

Рыба клоун
Сообщения
1,652
Реакции
636
Ищу плагин для cs go, который бы пропускал 1-й раунд, мгновенно, как будто его нет, желательно ничью делал бы...
 

Fanyatsu

Шизофреник со стажем
Сообщения
1,030
Реакции
341
Ищу плагин для cs go, который бы пропускал 1-й раунд, мгновенно, как будто его нет, желательно ничью делал бы...
Проверяй этот говнокод, мож кто-то и получше бы сделал
C-подобный:
#include <sourcemod>

int RoundCount = 0;

public void OnPluginStart() {
    HookEvent("round_start", Event_RoundStart);
}

public void OnMapStart() {
    RoundCount = 0;
}

public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast) {
    RoundCount++;
    if(RoundCount == 1) {
        CS_TerminateRound(0.1, CSRoundEnd_Draw);
        return Plugin_Stop;
    }
    return Plugin_Continue;
}
 
  • Мне нравится
Реакции: xek

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Проверяй этот говнокод, мож кто-то и получше бы сделал
C-подобный:
#include <sourcemod>

int RoundCount = 0;

public void OnPluginStart() {
    HookEvent("round_start", Event_RoundStart);
}

public void OnMapStart() {
    RoundCount = 0;
}

public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast) {
    RoundCount++;
    if(RoundCount == 1) {
        CS_TerminateRound(0.1, CSRoundEnd_Draw);
        return Plugin_Stop;
    }
    return Plugin_Continue;
}
C-подобный:
#include <cstrike>

public void OnPluginStart()
{
    HookEvent("round_start", EventRoundStart, EventHookMode_Post);
}

public void EventRoundStart(Event hEvent, const char[] sEvent, bool bdb)
{
    if(CS_GetTeamScore(2)+CS_GetTeamScore(3) == 0) CS_TerminateRound(0.1, CSRoundEnd_Draw);
}
или
C-подобный:
#include <cstrike>
#include <sdktools_gamerules>

public void OnPluginStart()
{
    HookEvent("round_start", EventRS, EventHookMode_Post);
}

public void EventRS(Event hEvent, const char[] sEvent, bool bdb)
{
    if(GameRules_GetProp("m_totalRoundsPlayed") == 0) CS_TerminateRound(0.1, CSRoundEnd_Draw);
}
 
Последнее редактирование:
  • Мне нравится
Реакции: xek

gopnik9999g

Участник
Сообщения
136
Реакции
14
Попытка №2
В прошлый раз не получилось
Нужен плагин, который несколько раз показывает следующую карту в конце карты/после последнего раунда/перед сменой карты
Типа автоматический спам !nextmap 3-5 раз в чат
До этого тут скидывали, но у меня это не работает
У меня SM 1.11
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Попытка №2
В прошлый раз не получилось
Нужен плагин, который несколько раз показывает следующую карту в конце карты/после последнего раунда/перед сменой карты
Типа автоматический спам !nextmap 3-5 раз в чат
До этого тут скидывали, но у меня это не работает
У меня SM 1.11
Тебе тоже самое и счас скинут, если ты не скажешь, почему старые не работали и конкретнее что не получается
 

xek

Рыба клоун
Сообщения
1,652
Реакции
636
C-подобный:
#include <cstrike>

public void OnPluginStart()
{
    HookEvent("round_start", EventRoundStart, EventHookMode_Post);
}

public void EventRoundStart(Event hEvent, const char[] sEvent, bool bdb)
{
    if(CS_GetTeamScore(2)+CS_GetTeamScore(3) == 0) CS_TerminateRound(0.1, CSRoundEnd_Draw);
}
или
C-подобный:
#include <cstrike>
#include <sdktools_gamerules>

public void OnPluginStart()
{
    HookEvent("round_start", EventRS, EventHookMode_Post);
}

public void EventRS(Event hEvent, const char[] sEvent, bool bdb)
{
    if(GameRules_GetProp("m_totalRoundsPlayed") == 0) CS_TerminateRound(0.1, CSRoundEnd_Draw);
}
Не сработало, уходит в бесконечный рестарт раунда, даже на разминке
 

Fanyatsu

Шизофреник со стажем
Сообщения
1,030
Реакции
341
skip_first_round.sp:
#include <cstrike>
#include <sdktools_gamerules>

int RoundCount;

public void OnPluginStart()
{
    HookEvent("round_start", EventRoundStart, EventHookMode_Post);
}

public void OnMapStart()
{
    RoundCount = 0;
}

public void EventRoundStart(Event hEvent, const char[] sEvent, bool bdb)
{
    if(GameRules_GetProp("m_bWarmupPeriod") == 0) {
        RoundCount++;
    }
    if(RoundCount == 1) {
        CS_TerminateRound(0.1, CSRoundEnd_Draw);
    }
}
Попробуй тогда вот этот вариант. Инкрементит только если нет разминки.
Проверил у себя - разминку не трогает, срабатывает только при самом первом раунде, пропуская его через ничью.
Также плагин [VIP] Money, который НЕ выдаёт деньги на самом первом раунде, сразу их и выдал, что говорит о пропуске.

Ещё о пропуске свидетельствует лог из консоли, в игре счёт по нулям
1664182639214.png

World triggered "SFUI_Notice_Round_Draw" (CT "0") (T "0")
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
@Fanyatsu, можно чуток улучшить:
C-подобный:
#pragma semicolon 1

#include <cstrike>
#include <sdktools_gamerules>

public void OnPluginStart()
{
    if(GetEngineVersion() != Engine_CSGO) SetFailState("Plugin for CS:GO only!");
}

public void OnMapStart()
{
    if(!GameRules_GetProp("m_totalRoundsPlayed")) HookEvent("round_start", EventRoundStart, EventHookMode_PostNoCopy);
}

public void EventRoundStart(Event event, const char[] name, bool dontBroadcast)
{
    if(GameRules_GetProp("m_bWarmupPeriod"))
        return;

    UnhookEvent("round_start", EventRoundStart, EventHookMode_PostNoCopy);
    CS_TerminateRound(0.1, CSRoundEnd_Draw);
}
 

Fanyatsu

Шизофреник со стажем
Сообщения
1,030
Реакции
341
Попытка №2
В прошлый раз не получилось
Нужен плагин, который несколько раз показывает следующую карту в конце карты/после последнего раунда/перед сменой карты
Типа автоматический спам !nextmap 3-5 раз в чат
До этого тут скидывали, но у меня это не работает
У меня SM 1.11
Я как-то у Faya заказывал точно описанный плагин, разрешил мне поделиться, поэтому держи
(на SM 1.11 работает замечательно, использую этот плагин с ним)
PrintNextMap.sp:
#include <csgo_colors>
#include <nextmap>

public Plugin myinfo =
{
    name        = "Print next map",
    author        = "Faya™ (DS: Faya™#8514)",
    version        = "1.0 [Private]",
    url            = "http://hlmod.ru"
};

public void OnPluginStart()
{
    HookEvent("cs_win_panel_match", Event_cwpm);
}

public void Event_cwpm(Event event, const char[] name, bool dontBroadcast)
{
    char szBuffer[512], szMap[256];

    if(GetNextMap(szMap, sizeof szMap))
    {
        GetMapDisplayName(szMap, szBuffer, sizeof szBuffer);
        Format(szBuffer, sizeof szBuffer, "{DEFAULT}Следующая карта: {LIGHTGREEN}%s", szBuffer);

        PrintToChatAll(" \n ");

        for(int i = 0; i < 5; i++)
        {
            CGOPrintToChatAll(szBuffer);
        }

        PrintToChatAll(" \n ");
    }
}
Поддерживает цветовые коды из инклуда csgo_colors (он же и требуется для компиляции) - [INC] CS:GO Colors
Если не нравятся пустые строки перед и после выводов следующей карты - стереть из исходника PrintToChatAll(" \n ");
Настроить количество выводов можно в строчке for(int i = 0; i < 5; i++) где число 5 заменить на желаемое количество
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
Так плагин можно запускать в любой момент и он теоретически должен перезапускать только первый раунд (OnMapStart() всегда вызывается при запуске плагина, как и OnPluginStart()).
 

Fanyatsu

Шизофреник со стажем
Сообщения
1,030
Реакции
341
Есть плагин для убирания премута у игрока?
1. Создаём в папке cfg/sourcemod/ конфиг по типу cvars_autoload.cfg
2. Пишем в него строку sm_cvar sv_mute_players_with_social_penalties "0" (sm_cvar нужен обязательно т.к. квар просто так не поменять, он скрыт разработчиками игры, но sourcemod плевать на это)
3. Открываем /cfg/autoexec.cfg и пишем в него строчку exec sourcemod/cvars_autoload.cfg
Готово!
 

КАЙМАН

Клоун
Сообщения
517
Реакции
88
1. Создаём в папке cfg/sourcemod/ конфиг по типу cvars_autoload.cfg
2. Пишем в него строку sm_cvar sv_mute_players_with_social_penalties "0" (sm_cvar нужен обязательно т.к. квар просто так не поменять, он скрыт разработчиками игры, но sourcemod плевать на это)
3. Открываем /cfg/autoexec.cfg и пишем в него строчку exec sourcemod/cvars_autoload.cfg
Готово!
в server.cfg тоже работает
 

Fanyatsu

Шизофреник со стажем
Сообщения
1,030
Реакции
341
в server.cfg тоже работает
За свою жизнь я повидал много людей, которые в этот server.cfg загружают столько всего, что застрелиться хочется.
Да и для sm_cvar будет правильней выделить отдельный конфиг в sourcemod'е, команда сама за себя говорит.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
Да и для sm_cvar будет правильней выделить отдельный конфиг в sourcemod'е, команда сама за себя говорит.
Тащемта у тебя конфиг с кваром лежит в папочке soucemod, но всё равно его выполнение запускает двигло игры, т.к. ты его выполнение вызываешь из autoexec.cfg
Проще было просто в autoexec.cfg это прописать, а не плодить конфиги (их в ксго и без этого дофига).
 

Fanyatsu

Шизофреник со стажем
Сообщения
1,030
Реакции
341
Тащемта у тебя конфиг с кваром лежит в папочке soucemod, но всё равно его выполнение запускает двигло игры, т.к. ты его выполнение вызываешь из autoexec.cfg
Проще было просто в autoexec.cfg это прописать, а не плодить конфиги (их в ксго и без этого дофига).
В моём случае у меня в автокваре лежит много других кваров, которые, например, нужны плагинам, которые не генерируют свой конфиг, поэтому считаю отличным фундаментом для подобного сделать такой конфиг. В любом случае, каждый решает сам как ему поступать
 
Сверху Снизу