xstage
🏹
- Сообщения
- 726
- Реакции
- 754
Здравствуйте. Решил написать что-то на подобии этого плагина [CS: Source] knife Ownd
Только столкнулся с проблемой: если css нож один, то в cs go их множество. И если пытаться отловить knife, то плагин будет работать только, если его убьет тешник с дефолтным ножом.
Только столкнулся с проблемой: если css нож один, то в cs go их множество. И если пытаться отловить knife, то плагин будет работать только, если его убьет тешник с дефолтным ножом.
Код:
#include <sourcemod>
#include <sdktools>
new Handle:g_hSound = INVALID_HANDLE;
new String:path[256];
public Plugin myinfo =
{
name = "KnifeKill",
author = "xstage",
description = "",
version = "1.0.0",
url = ""
};
public OnPluginStart()
{
HookEvent("player_death", player_death);
g_hSound = CreateConVar("jsa_sound", "muz_sound/test.mp3", "Укажите путь до звукового файла");
}
public OnMapStart()
{
GetConVarString(g_hSound, path, sizeof(path));
decl String:buffer[256];
Format(buffer, sizeof(buffer), "sound/%s", path);
AddFileToDownloadsTable(buffer);
PrecacheSound(path);
}
public Action player_death(Event hEvent, const char[] shEvent, bool dontBroadcast)
{
char gWeapon[64];
hEvent.GetString("weapon", gWeapon, sizeof(gWeapon));
int iClient = GetClientOfUserId(GetEventInt(hEvent, "attacker"));
int xClient = GetClientOfUserId(GetEventInt(hEvent, "userid"));
if (StrEqual(gWeapon, "knife"))
{
if(iClient)
{
decl String:name[MAX_NAME_LENGTH];
decl String:attaker[MAX_NAME_LENGTH];
GetClientName(xClient, name, MAX_NAME_LENGTH);
GetClientName(iClient, attaker, MAX_NAME_LENGTH);
ClientCommand(iClient, "playgamesound %s", path);
PrintToChatAll("\x01\x01Игрок - \x07%s \x01убил ножом игрока - \x07%s", attaker, name);
}
}
return Plugin_Changed;
}
Последнее редактирование: