The Night Fury

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

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

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

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

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

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

XDSTYLE

Участник
Сообщения
400
Реакции
279
@arhangel19822891, вот раньше себе заказывал, скин получает игрок которого зарезали, и есть уведомление в чате
svindownloads.ini в addons/sourcemod/configs
svinorez2.cfg в cfg/sourcemod
Сообщения автоматически склеены:


думаю скины уже сам себе найдёшь и поставишь которые хочешь)
 

Вложения

  • svinorez.rar
    18.6 КБ · Просмотры: 27

Arhangel

Участник
Сообщения
114
Реакции
3
@arhangel19822891, вот раньше себе заказывал, скин получает игрок которого зарезали, и есть уведомление в чате
svindownloads.ini в addons/sourcemod/configs
svinorez2.cfg в cfg/sourcemod
Сообщения автоматически склеены:


думаю скины уже сам себе найдёшь и поставишь которые хочешь)
L 12/09/2023 - 16:44:49: SourceMod error session started
L 12/09/2023 - 16:44:49: Info (map "de_dust2") (file "/host/21818/32454/cstrike/addons/sourcemod/logs/errors_20231209.log")
L 12/09/2023 - 16:44:49: [SM] Unable to load plugin "svinorez_2.smx": Could not find required plugin "clientmod"
 

XDSTYLE

Участник
Сообщения
400
Реакции
279
L 12/09/2023 - 16:44:49: SourceMod error session started
L 12/09/2023 - 16:44:49: Info (map "de_dust2") (file "/host/21818/32454/cstrike/addons/sourcemod/logs/errors_20231209.log")
L 12/09/2023 - 16:44:49: [SM] Unable to load plugin "svinorez_2.smx": Could not find required plugin "clientmod"
пробуй это, мб я скинул для 34-й версии, там просто clientmod подключен
 

Вложения

  • svinorez_2.smx
    14.1 КБ · Просмотры: 9

FokS

Участник
Сообщения
422
Реакции
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: Обновил плагин
Сделайте под css v92 если не сложно.
 

danil253467

💘Italo-Disco & Neon One Love💘
Сообщения
90
Реакции
52
Сделайте под css v92 если не сложно.
PHP:
#pragma newdecls required
#pragma semicolon 1

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


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"))
    {
        PrintToChatTeam(iTeam, "\x0700FF00• \x07FFE4B5%N \x0700FF00@ %s\x07FFE4B5: \x07FF0000HE Grenade!", client, sPlaceName);
    }
    else if(!strcmp(sWeapon, "smokegrenade"))
    {
        PrintToChatTeam(iTeam, "\x0700FF00• \x07FFE4B5%N \x0700FF00@ %s\x07FFE4B5: \x03Smoke!", client, sPlaceName);
    }
    else if(!strcmp(sWeapon, "flashbang"))
    {
        PrintToChatTeam(iTeam, "\x0700FF00• \x07FFE4B5%N \x0700FF00@ %s\x07FFE4B5: \x074682B4Flashbang!", client, sPlaceName);
    }
}

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

void SayText2(int client, const char[] message, any...)
{
    char sBuffer[256];
    VFormat(sBuffer, sizeof(sBuffer), message, 3);

    BfWrite hSayText2 = UserMessageToBfWrite((StartMessageOne("SayText2", client)));
    if(!hSayText2) return;
   
    hSayText2.WriteByte(client);
    hSayText2.WriteByte(true);
    hSayText2.WriteString(sBuffer);
    EndMessage();
}
 
Последнее редактирование:
  • Мне нравится
Реакции: FokS

FokS

Участник
Сообщения
422
Реакции
52
PHP:
#pragma newdecls required
#pragma semicolon 1

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


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"))
    {
        PrintToChatTeam(iTeam, "\x0700FF00• \x07FFE4B5%N \x0700FF00@ %s\x07FFE4B5: \x07FF0000HE Grenade!", client, sPlaceName);
    }
    else if(!strcmp(sWeapon, "smokegrenade"))
    {
        PrintToChatTeam(iTeam, "\x0700FF00• \x07FFE4B5%N \x0700FF00@ %s\x07FFE4B5: \x03Smoke!", client, sPlaceName);
    }
    else if(!strcmp(sWeapon, "flashbang"))
    {
        PrintToChatTeam(iTeam, "\x0700FF00• \x07FFE4B5%N \x0700FF00@ %s\x07FFE4B5: \x074682B4Flashbang!", client, sPlaceName);
    }
}

void PrintToChatTeam(int team, const char[] message, any...)
{
    char sBuffer[256];
    VFormat(sBuffer, sizeof(sBuffer), message, 3);
   
    LoopPlayers(i)
    {
        if(GetClientTeam(i) == team) PrintToChat(i, "%s", sBuffer);
    }
}
Подскажите ещё как сделать командный цвет никнейма ?
 

danil253467

💘Italo-Disco & Neon One Love💘
Сообщения
90
Реакции
52
Не помогло, цвет становится как у текста в чате Smoke!
Выше обновил плагин
 
  • Мне нравится
Реакции: FokS

-=|УЧЕНИК|=-

вся жизнь,сплошной цирк.
Сообщения
876
Реакции
212
Привет всем!
Может у кого-то есть плагин,чтоб не льзя было убить в спину с первого раза?
Один находил плагин,у ws на сайте.
Ну он не работает,можно было резать.
Заранее благодарю!
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@-=|УЧЕНИК|=-, типа этого?
 

Arhangel

Участник
Сообщения
114
Реакции
3
Всем привет!
Подскажите плиз, есть ли плагин замены звуков для оружия на сервере как в кс гоу для css сервера. Например оружие стандартное а звуки с cs go.
 

rgba

Участник
Сообщения
132
Реакции
14
Есть у кого плагин, чтобы в начале раунда если заспавнилась бомба у бота -то он её сбрасывал или передавал игроку, а если игроков нет - оставлял у себя?
Чат гпт написал такую версию, чтобы можно было забирать у бота бомбу при нажатии на E. Мб, кто сможет оживить её?
#include <sourcemod>
#include <sdktools>

new const TEAM_TERRORIST = 2
new const CLASS_HUMAN = 1
new Handle:g_botListener

public Plugin:myinfo =
{
name = "Bomb Grab Plugin",
author = "Your Name",
description = "Allows players to grab the bomb from bots by pressing the E key.",
version = "1.0"
}

public Action:OnPluginStart()
{
LoadTranslations("bombgrab-english")
g_botListener = SDKHooks_CreateEntityListener()
SDKHooks_SetEntityOutput(g_botListener, "onplayeruse", "OnPlayerUse")
SDKHooks_EnableEntityOutput(g_botListener, "onplayeruse")
return Plugin_Handled
}

public void OnPlayerUse(Handle:event, const String:name[], bool:dontBroadcast)
{
static client = 0
static entity = 0
GetEventInt(event, "userid", client)
GetEventInt(event, "entindex", entity)

if(!IsClientInGame(client) || !IsValidEntity(entity) || !IsPlayerBot(client))
return

if(GetClientTeam(client) != TEAM_TERRORIST || GetClientClass(client) != CLASS_HUMAN)
return

char playername[32]
GetClientName(client, playername, sizeof(playername))

if(PlayingWinningTeam())
{
PrintToChat(client, "\x04[Bomb Grab Plugin] \x01You cannot grab the bomb while your team is winning!")
return
}

if(!CheckDistance(client, entity))
{
PrintToChat(client, "\x04[Bomb Grab Plugin] \x01You are too far away from the bot to grab the bomb!")
return
}

static botuserid = 0
GetEdictByIndex(entity, client, client) // Get actual player index instead of bot index
GetClientAuthId(client, botuserid, sizeof(botuserid))
char botname[32]
GetClientName(botuserid, botname, sizeof(botname))
AcceptEntityInput(entity, "addoutput", "targetname bot_target") // Add output to the entity

forward BombGrab(client, entity, botname)
if(IsCommandFake(client)) return
EmitSoundToClient(client, "buttons/lever7.wav")
}

public void CheckDistance(client, entity)
{
static Float:origin[3]
static Float:botorigin[3]
GetClientAbsOrigin(client, origin)
GetEntPropVector(entity, Prop_Send, "m_vecOrigin", botorigin)
float distance = GetDistance2D(origin, botorigin)
return distance <= 70.0
}

public void PrintToChat(client, const String:message[])
{
ClientPrint(client, print_chat, "[Bomb Grab Plugin] %s", message)
}

public void LoadTranslations(file[])
{
if(!g_i18n.LoadTranslations(file))
LogError("[Bomb Grab Plugin] Couldn't load translation file '%s'!", file)
}
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@rgba, проще самому с нуля написать (я когда-то написал типа такого, но там ещё другие функции были), т.к. gpt придумал несуществующие функции соурсмода.

А вообще вроде есть такой плагин. Как приду с работы гляну, если не забуду к тому времени.
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Есть у кого плагин, чтобы в начале раунда если заспавнилась бомба у бота -то он её сбрасывал или передавал игроку, а если игроков нет - оставлял у себя?
Чат гпт написал такую версию, чтобы можно было забирать у бота бомбу при нажатии на E. Мб, кто сможет оживить её?
#include <sourcemod>
#include <sdktools>

new const TEAM_TERRORIST = 2
new const CLASS_HUMAN = 1
new Handle:g_botListener

public Plugin:myinfo =
{
name = "Bomb Grab Plugin",
author = "Your Name",
description = "Allows players to grab the bomb from bots by pressing the E key.",
version = "1.0"
}

public Action:OnPluginStart()
{
LoadTranslations("bombgrab-english")
g_botListener = SDKHooks_CreateEntityListener()
SDKHooks_SetEntityOutput(g_botListener, "onplayeruse", "OnPlayerUse")
SDKHooks_EnableEntityOutput(g_botListener, "onplayeruse")
return Plugin_Handled
}

public void OnPlayerUse(Handle:event, const String:name[], bool:dontBroadcast)
{
static client = 0
static entity = 0
GetEventInt(event, "userid", client)
GetEventInt(event, "entindex", entity)

if(!IsClientInGame(client) || !IsValidEntity(entity) || !IsPlayerBot(client))
return

if(GetClientTeam(client) != TEAM_TERRORIST || GetClientClass(client) != CLASS_HUMAN)
return

char playername[32]
GetClientName(client, playername, sizeof(playername))

if(PlayingWinningTeam())
{
PrintToChat(client, "\x04[Bomb Grab Plugin] \x01You cannot grab the bomb while your team is winning!")
return
}

if(!CheckDistance(client, entity))
{
PrintToChat(client, "\x04[Bomb Grab Plugin] \x01You are too far away from the bot to grab the bomb!")
return
}

static botuserid = 0
GetEdictByIndex(entity, client, client) // Get actual player index instead of bot index
GetClientAuthId(client, botuserid, sizeof(botuserid))
char botname[32]
GetClientName(botuserid, botname, sizeof(botname))
AcceptEntityInput(entity, "addoutput", "targetname bot_target") // Add output to the entity

forward BombGrab(client, entity, botname)
if(IsCommandFake(client)) return
EmitSoundToClient(client, "buttons/lever7.wav")
}

public void CheckDistance(client, entity)
{
static Float:origin[3]
static Float:botorigin[3]
GetClientAbsOrigin(client, origin)
GetEntPropVector(entity, Prop_Send, "m_vecOrigin", botorigin)
float distance = GetDistance2D(origin, botorigin)
return distance <= 70.0
}

public void PrintToChat(client, const String:message[])
{
ClientPrint(client, print_chat, "[Bomb Grab Plugin] %s", message)
}

public void LoadTranslations(file[])
{
if(!g_i18n.LoadTranslations(file))
LogError("[Bomb Grab Plugin] Couldn't load translation file '%s'!", file)
}
Чат gpt пишет интересный, но абсолютно не рабочий код.
 
Сверху Снизу