The Night Fury

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

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

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

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

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

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

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Статистика убийств попаданий в конце раунда с оверлеем где можно преобрести для css
После того как я такое делал на заказ, мне попадались на глаза дважды паблик версии, хуже конечно, но работают. Может где то гугл и выдаст
 

sladerev

Участник
Сообщения
323
Реакции
29
Есть ли рабочие плагины под новый год, что то по типу выпадения подарков, кейсов, хочется сделать какую то новогодню атмосферу)
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Есть ли рабочие плагины под новый год, что то по типу выпадения подарков, кейсов, хочется сделать какую то новогодню атмосферу)
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
где тут оверлей?
декомпил MostPlayer.smx:
public PlVers:__version =
{
    version = 5,
    filevers = "1.10.0.6492",
    date = "10/28/2020",
    time = "18:14:11"
};

public Plugin:myinfo =
{
    name = "Лучшей игрок",
    description = "",
    author = "(vk.com/one7hop)",
    version = "1.1 new",
    url = ""
};
new GDamage[255];
new GPlayers[255];
new GHits[255];
new String:DmgParam[64] = "dmg_health";

public Damage(Handle:event, String:name[], bool:dontBroadcast)
{
    new t = GetClientOfUserId(GetEventInt(event, "attacker", 0));
    if (t)
    {
        new var1 = GDamage[t];
        var1 = var1[GetEventInt(event, DmgParam, 0)];
        GHits[t]++;
    }
}

public Death(Handle:event, String:name[], bool:dontBroadcast)
{
    new t = GetClientOfUserId(GetEventInt(event, "attacker", 0));
    if (t) GPlayers[t]++;
}

public void:OnPluginStart()
{
    LoadTranslations("plugin.mostplayer");
    HookEvent("round_start", 11, 2);
    HookEvent("round_end", 9, 2);
    HookEvent("player_hurt", 3, 1);
    HookEvent("player_death", 5, 1);
}

public Round_End(Handle:event, String:name[], bool:dontBroadcast)
{
    new maxGD;
    new maxGP;
    GHits[0] = 0;
    GPlayers[0] = 0;
    GDamage[0] = 0;
    new String:nameGD[128];
    new String:nameGP[128];
    new i = 1;
    while (i <= MaxClients)
    {
        if (IsClientInGame(i))
        {
            if (GDamage[maxGD] < GDamage[i])
            {
                maxGD = i;
            }
            else
            {
                if (GDamage[maxGD] == GDamage[i] && GPlayers[i] > GPlayers[maxGD])
                {
                    maxGD = i;
                }
            }
            if (GPlayers[maxGP] < GPlayers[i])
            {
                maxGP = i;
            }

            if (GDamage[i] > GDamage[maxGP] && GPlayers[maxGP] == GPlayers[i])
            {
                maxGP = i;
            }
        }
        i++;
    }
    GetClientName(maxGD, nameGD, 31);
    GetClientName(maxGP, nameGP, 31);
    new i = 1;
    while (i <= MaxClients)
    {
        if (IsClientInGame(i))
        {
            SetHudTextParams(-1.0, -0.7, 10.0, 255, 255, 255, 255, 0, 0.0, 0.0, 0.0);
            ShowHudText(i, 3, "%t", "Max kills", nameGP, GDamage[maxGP], GPlayers[maxGP], GHits[maxGP]);
        }
        i++;
    }
    return 0;
}

public Round_Start(Handle:event, String:name[], bool:dontBroadcast)
{
    new i = 1;
    while (i <= MaxClients)
    {
        GHits[i] = 0;
        GPlayers[i] = 0;
        GDamage[i] = 0;
        i++;
    }
}

public SayText2(to, from, String:format[], any:_arg3)
{
    decl String:message[1024];
    VFormat(message, 256, format[0], 4);
    new Handle:hBf = StartMessageOne("SayText2", to, 0);
    BfWriteByte(hBf, from);
    BfWriteByte(hBf, 1);
    BfWriteString(hBf, message);
    EndMessage();
}
Сообщения автоматически склеены:

Это ещё не учитывая того, что без файла перевода он работать не будет.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@XDSTYLE, а нафейхуа в sourcemod.cfg дублировать значения кваров плагина?

Вот здесь исходники плагина оверлея:

А оригинал исходника второго плагина, судя по коду, вот тут:
Разве что у имеющийся в архиве раскраска текста иначе сделана и чуть код сокращён (часть функционала вырезана). Ну и скомпилен плагин с помощью SM1.3.2.
 

Vanooo123

Участник
Сообщения
206
Реакции
64
[CSS:OB]
интересует есть ли плагин который при условии игры команд как пример 12 на 8 то будет добавлять нужное количество ботов а это 4 к команде с 8 для баланса и было 12 vs 12
да есть авто баланс чтобы перекидывало игроков но это не спасёт если условно 1 на 2, и хотелось чтобы к 1 автоматически добавляло 1 бота чтобы сбалансировать команды
чисто балансировка добавления ботов к команде где меньше игроков
 

Endless Moon.

Что-то да умею..
Сообщения
368
Реакции
69
Понравилось цветное оповещение при кидании гранат из CS2 и задался вопросом, есть ли такое для CSS v34 и тяжело ли написать такое?
Смотрел, но не наткнулся на подобное.

Заранее спасибо за помощь!
grnd.png
 

KiKiEEKi

🏆 🥇
Сообщения
653
Реакции
513
Понравилось цветное оповещение при кидании гранат из CS2 и задался вопросом, есть ли такое для CSS v34 и тяжело ли написать такое?
Смотрел, но не наткнулся на подобное.

Заранее спасибо за помощь!
Можно написать но не забывайте что в 34ориг мало цветов, это не КМ
 

Endless Moon.

Что-то да умею..
Сообщения
368
Реакции
69
Можно написать но не забывайте что в 34ориг мало цветов, это не КМ
это то понятно. Но некоторые делают поддержку и CM. То бишь, вывод сообщений для Original'а и для CM.
Я думаю, здесь можно сделать аналогично.
Например, @Paranoiiik
В основном, видел его работы всяких плагинов под CM. Их и юзаю. Может он и сделает такое. А может быть, кто-нибудь другой, кто об этом и не задумывался никогда, но понравилась идея 🙃
 

danil253467

💘Italo-Disco & Neon One Love💘
Сообщения
90
Реакции
52
PHP:
#pragma newdecls required
#pragma semicolon 1

#define LoopPlayers(%0) for(int %0 = 1; %0 <= MaxClients; %0++) if(IsClientInGame(%0) && IsPlayerAlive(%0))

#include <clientmod>

public void OnPluginStart()
{
    HookUserMessage(GetUserMessageId("RadioText"), OnRadio, true);
    HookEvent("weapon_fire", OnGrenade);
}

Action OnRadio(UserMsg msg_id, BfRead bf, const int[] players, int playersNum, bool reliable, bool init)
{
    // By R1KO
    char sBuffer[128];

    BfReadWord(bf);
    BfReadString(bf, sBuffer, sizeof(sBuffer));
    if(!strcmp(sBuffer, "#Game_radio_location", false))
        BfReadString(bf, sBuffer, sizeof(sBuffer));
        
    BfReadString(bf, sBuffer, sizeof(sBuffer));
    BfReadString(bf, sBuffer, sizeof(sBuffer));

    if(!strcmp(sBuffer, "#Cstrike_TitlesTXT_Fire_in_the_hole", false))
        return Plugin_Handled;

    return Plugin_Continue; 
}

void OnGrenade(Event event, const char[] name, bool silent)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    int iTeam = GetClientTeam(client);
    
    char sPlaceName[64], sWeapon[32];
    GetEntPropString(client, Prop_Send, "m_szLastPlaceName", sPlaceName, sizeof(sPlaceName));
    event.GetString("weapon", sWeapon, sizeof(sWeapon));

    if(!strcmp(sWeapon, "hegrenade"))
    {
        C_PrintToChatTeam(iTeam, "{green}• {default}%N {green}@%s{default}: {default}HE Grenade!", client, sPlaceName);
        MC_PrintToChatTeam(iTeam, "{green}• {moccasin}%N {lime}@ %s{moccasin}: {fullred}HE Grenade!", client, sPlaceName);
    }
    else if(!strcmp(sWeapon, "smokegrenade"))
    {
        C_PrintToChatTeam(iTeam, "{green}• {default}%N {green}@%s{default}: {lightgreen}Smoke!", client, sPlaceName);
        MC_PrintToChatTeam(iTeam, "{green}• {moccasin}%N {lime}@ %s{moccasin}: {lightgreen}Smoke!", client, sPlaceName);
    }
    else if(!strcmp(sWeapon, "flashbang"))
    {
        C_PrintToChatTeam(iTeam, "{green}• {default}%N {green}@%s{default}: {default}Flashbang!", client, sPlaceName);
        MC_PrintToChatTeam(iTeam, "{green}• {moccasin}%N {lime}@ %s{moccasin}: {steelblue}Flashbang!", client, sPlaceName);
    }
}

void C_PrintToChatTeam(int team, const char[] message, any...)
{
    char sBuffer[256];
    VFormat(sBuffer, sizeof(sBuffer), message, 3);
    
    LoopPlayers(i)
    {
        if(GetClientTeam(i) == team) C_PrintToChat(i, "%s", sBuffer);
    }
}

void MC_PrintToChatTeam(int team, const char[] message, any...)
{
    char sBuffer[256];
    VFormat(sBuffer, sizeof(sBuffer), message, 3);
    
    LoopPlayers(i)
    {
        if(GetClientTeam(i) == team) MC_PrintToChat(i, "%s", sBuffer);
    }
}
Попробуй, возможно, вот так получится

UPD: Обновил плагин
 
Последнее редактирование:

Arhangel

Участник
Сообщения
114
Реакции
3
Ищу плагин выдачи скинов игрокам убитых ножом на раунд.
 

danil253467

💘Italo-Disco & Neon One Love💘
Сообщения
90
Реакции
52
Ищу плагин выдачи скинов игрокам убитых ножом на раунд.
 

Endless Moon.

Что-то да умею..
Сообщения
368
Реакции
69
Я тоже изначально хотел его скинуть, но если судить исходя комментария человека, то ему нужно наоборот, чтобы скин был выдан игроку, которого зарезали, а в этом плагине скин выдаётся игроку, который зарезал другого игрока.
Ну либо автор не совсем правильно выразился.
Сообщения автоматически склеены:

PHP:
#pragma newdecls required
#pragma semicolon 1

#include <clientmod>

public void OnPluginStart()
{
    HookUserMessage(GetUserMessageId("RadioText"), OnRadio, true);
    HookEvent("weapon_fire", OnGrenade);
}

Action OnRadio(UserMsg msg_id, BfRead bf, const int[] players, int playersNum, bool reliable, bool init)
{
    // By R1KO
    char sBuffer[128];

    BfReadWord(bf);
    BfReadString(bf, sBuffer, sizeof(sBuffer));
    if(!strcmp(sBuffer, "#Game_radio_location", false))
        BfReadString(bf, sBuffer, sizeof(sBuffer));
       
    BfReadString(bf, sBuffer, sizeof(sBuffer));
    BfReadString(bf, sBuffer, sizeof(sBuffer));

    if(!strcmp(sBuffer, "#Cstrike_TitlesTXT_Fire_in_the_hole", false))
        return Plugin_Handled;

    return Plugin_Continue;
}

void OnGrenade(Event event, const char[] name, bool silent)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
   
    char sPlaceName[64], sWeapon[32];
    GetEntPropString(client, Prop_Send, "m_szLastPlaceName", sPlaceName, sizeof(sPlaceName));
    event.GetString("weapon", sWeapon, sizeof(sWeapon));
   
    switch(sWeapon[0])
    {
        case 'h':
        {
            C_PrintToChatAll("{green}• {default}%N {green}@%s{default}: {default}HE Grenade!", client, sPlaceName);
            MC_PrintToChatAll("{green}• {moccasin}%N {lime}@ %s{moccasin}: {fullred}HE Grenade!", client, sPlaceName);
        }
        case 's':
        {
            C_PrintToChatAll("{green}• {default}%N {green}@%s{default}: {lightgreen}Smoke!", client, sPlaceName);
            MC_PrintToChatAll("{green}• {moccasin}%N {lime}@ %s{moccasin}: {lightgreen}Smoke!", client, sPlaceName);
        }
        case 'f':
        {
            C_PrintToChatAll("{green}• {default}%N {green}@%s{default}: {default}Flashbang!", client, sPlaceName);
            MC_PrintToChatAll("{green}• {moccasin}%N {lime}@ %s{moccasin}: {steelblue}Flashbang!", client, sPlaceName);
        }
    }
}
Попробуй, возможно, вот так получится
SourcePawn Compiler 1.10
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2018 AlliedModders LLC

extra/clientmod.inc(5) : fatal error 183: cannot read from file: "clientmod\teams"

Compilation aborted.
1 Error.
 

danil253467

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


SourcePawn Compiler 1.10
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2018 AlliedModders LLC

extra/clientmod.inc(5) : fatal error 183: cannot read from file: "clientmod\teams"

Compilation aborted.
1 Error.
В папке include должна быть папка clientmod с этим инклудом
 

Arhangel

Участник
Сообщения
114
Реакции
3
Я тоже изначально хотел его скинуть, но если судить исходя комментария человека, то ему нужно наоборот, чтобы скин был выдан игроку, которого зарезали, а в этом плагине скин выдаётся игроку, который зарезал другого игрока.
Ну либо автор не совсем правильно выразился.
Сообщения автоматически склеены:


SourcePawn Compiler 1.10
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2018 AlliedModders LLC

extra/clientmod.inc(5) : fatal error 183: cannot read from file: "clientmod\teams"

Compilation aborted.
1 Error.
Все верно, скин получает зарезанный игрок. Скины должны отличатся что бы игроки не путали Т с КТ. У меня был такой плагин но по спешке удалил нечаянно.
 
Сверху Снизу