Ambient Death Sound (aaa, Ya Maslinu poimal)

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Суть плагина в том что он воспроизводит звуки при смерти игрока всем окружающим, при этом звук слышен с того места, где убили игрока.

PHP:
#include <sdktools_sound>
#include <sdktools_stringtables>

public Plugin:myinfo = 
{
	name	= "Ambient Death Sound's",
	author	= "Danyas",
	version	= "1.1"
};

new String:aa[][PLATFORM_MAX_PATH]=
{
	"stalker/death/b0.mp3",
	"stalker/death/b1.mp3",
	"stalker/death/b2.mp3",
	"stalker/death/b3.mp3",
	"stalker/death/b4.mp3",
	"stalker/death/b5.mp3",
	"stalker/death/b6.mp3",
	"stalker/death/b7.mp3",
	"stalker/death/b8.mp3",
	"stalker/death/b9.mp3",
	"stalker/death/b10.mp3",
	"stalker/death/b11.mp3",
	"stalker/death/b12.mp3",
	"stalker/death/b13.mp3",
	"stalker/death/b14.mp3",
	"stalker/death/b15.mp3",
	"stalker/death/b16.mp3",
	"stalker/death/b17.mp3",
	"stalker/death/b18.mp3",
	"stalker/death/b19.mp3",
	"stalker/death/b20.mp3",
	"stalker/death/b21.mp3",
	"stalker/death/b22.mp3",
	"stalker/death/b23.mp3",
	"stalker/death/b24.mp3",
	"stalker/death/b25.mp3",
	"stalker/death/b26.mp3",
	"stalker/death/b27.mp3",
	"stalker/death/b28.mp3",
	"stalker/death/b29.mp3",
	"stalker/death/b30.mp3",
	"stalker/death/b31.mp3",
	"stalker/death/b32.mp3",
	"stalker/death/b33.mp3",
	"stalker/death/b34.mp3",
	"stalker/death/b35.mp3",
	"stalker/death/b36.mp3",
	"stalker/death/b37.mp3",
	"stalker/death/b38.mp3",
	"stalker/death/b39.mp3",
	"stalker/death/b40.mp3",
	"stalker/death/b41.mp3",
	"stalker/death/b42.mp3"
};

public OnPluginStart()
{
	HookEvent("player_death", maslina);
}

public OnMapStart()
{
	for (new i; i <= 43; i++)
	{
	PrecacheSound(aa[i]); 
	FormatEx(aa[i], PLATFORM_MAX_PATH, "sound/%s", aa[i]); 
	AddFileToDownloadsTable(aa[i]); 
	}
}

public maslina(Handle:event, const String:name[], bool:silent) 
{
//	if (GetClientTeam(client) != 2)  return;
//	if (GetRandomInt(0,1) != 0) return;

	new client =  GetClientOfUserId(GetEventInt(event, "userid"));
	decl Float:pos[3];
	GetClientAbsOrigin(client, pos);
	EmitAmbientSound(aa[GetRandomInt(0, 43)], pos, client, SNDLEVEL_RAIDSIREN);
}

PHP:
#include <sdktools_sound>
#include <sdktools_stringtables>

new Handle:	g_Cvar_Path,
	Handle:	g_Cvar_Count,
	String:	g_Str_Path[PLATFORM_MAX_PATH],
			g_Int_Count;

public Plugin:myinfo = 
{
	name	= "Ambient Death Sound's",
	author	= "Danyas",
	version	= "1.2"
};

public OnPluginStart()
{
	HookEvent("player_death", maslina);
	g_Cvar_Path  = CreateConVar("sm_ambds_path", "stalker/death/", "Папка где находяться звуки для плагина");
	g_Cvar_Count = CreateConVar("sm_ambds_count", "43", "Количество звуков в папке. Названия должны быть 0.mp3, 1.mp3 и т.д. Последнее число указать в этот квар.");
	HookConVarChange(g_Cvar_Path, CvarChangeP);
	HookConVarChange(g_Cvar_Count, CvarChangeC);
}

public CvarChangeC(Handle:convar, const String:oldValue[], const String:newValue[])	{g_Int_Count = StringToInt(newValue);}
public CvarChangeP(Handle:convar, const String:oldValue[], const String:newValue[])	{strcopy(g_Str_Path, PLATFORM_MAX_PATH, newValue);}

public OnMapStart()
{
	for (new i; i <= g_Int_Count; i++)
	{
		decl String:buffer[PLATFORM_MAX_PATH];
		FormatEx(buffer, PLATFORM_MAX_PATH, "%s%d.mp3", g_Str_Path, i);
		PrecacheSound(buffer); 
		FormatEx(buffer, PLATFORM_MAX_PATH, "sound/%s", buffer); 
		AddFileToDownloadsTable(buffer); 
	}
}

public maslina(Handle:event, const String:name[], bool:silent) 
{
//	if (GetClientTeam(client) != 2)  return;
//	if (GetRandomInt(0,1) != 0) return;

	new client =  GetClientOfUserId(GetEventInt(event, "userid"));
	decl Float:pos[3], String:buffer[PLATFORM_MAX_PATH];
	GetClientAbsOrigin(client, pos);
	FormatEx(buffer, PLATFORM_MAX_PATH, "sound/%s%d.mp3", g_Str_Path, GetRandomInt(0, g_Int_Count));
	EmitAmbientSound(buffer, pos, client, SNDLEVEL_RAIDSIREN);
}
 

Вложения

  • maslina42.sp
    2 КБ · Просмотры: 23
  • maslina42.smx
    4.4 КБ · Просмотры: 7
  • sound.7z
    1.3 МБ · Просмотры: 61
Последнее редактирование:

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

PHP:
Format(szBuffer, sizeof(szBuffer), "stalker/death/b%d.mp3", GetRandomInt(0, 42));
EmitAmbientSound(szBuffer, ...);
точно ли i < 42?
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

Проект будет в паблике?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

Если путь к звукам предполагается сделать фиксированным (таким, как в примере), то можно уложить все звуки в 1 квар.
ReplaceString(aa, 32, "sound/", "");
        AddFileToDownloadsTable(aa);
Что за муть?) Не будет же грузить.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

Что за муть?) Не будет же грузить.
Делал без API и интернетов, по этому не смог придумать замену такому большому списку файлов

Я проверил, всё работает :)
Если путь к звукам предполагается сделать фиксированным (таким, как в примере), то можно уложить все звуки в 1 квар.
Да, именно так и планируется
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

И как так работает? Ты должен подставлять sound/ перед загрузкой, а при прекеше - убирать. А ты просто удаляешь, если вдруг вписали с этой папкой.
И да, это не для CS:GO (можно подставлять * в путях, но при загрузке это нужно учитывать и убирать).
PHP:
#define MAX_SOUND sizeof(aa)-1
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

И как так работает? Ты должен подставлять sound/ перед загрузкой, а при прекеше - убирать. А ты просто удаляешь, если вдруг вписали с этой папкой.
И да, это не для CS:GO.

Да, это только для css. Тестил на старой версии.
Я тебе честно говорю, оно скачало и проиграло звуки

Таак, скорее всего это не тот исходник, но суть близка.
Возможно я нажал crtl(shift) + Y и строчки поменялись местами.
Я на ноутбуке сечас проверю
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

Если только ты использовал папку stalker вместо папки sound. Но, тогда всё равно неувязка с прекешем получается.
Напиши, как устанавливать.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

Если только ты использовал папку stalker вместо папки sound.
Напиши, как устанавливать.

Сейчас посмотрю, возможно оно просто загрузило в папку cstrike/stalker

Открой репозиторий на гитхабе и выложи весь код туды.

Отписал в скайпе
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

Danyas,
PHP:
#include <sdktools> 

public Plugin:myinfo =  
{ 
    name    = "YA V MASLINU POIMAL, AAAAA", 
    author    = "Danyas", 
    version    = "1.0" 
}; 

new const String:aa[][]= 
{ 
    "stalker/death/b0.mp3", 
    "stalker/death/b1.mp3", 
    "stalker/death/b2.mp3", 
    "stalker/death/b3.mp3", 
    "stalker/death/b4.mp3", 
    "stalker/death/b5.mp3", 
    "stalker/death/b6.mp3", 
    "stalker/death/b7.mp3", 
    "stalker/death/b8.mp3", 
    "stalker/death/b9.mp3", 
    "stalker/death/b10.mp3", 
    "stalker/death/b11.mp3", 
    "stalker/death/b12.mp3", 
    "stalker/death/b13.mp3", 
    "stalker/death/b14.mp3", 
    "stalker/death/b15.mp3", 
    "stalker/death/b16.mp3", 
    "stalker/death/b17.mp3", 
    "stalker/death/b18.mp3", 
    "stalker/death/b19.mp3", 
    "stalker/death/b20.mp3", 
    "stalker/death/b21.mp3", 
    "stalker/death/b22.mp3", 
    "stalker/death/b23.mp3", 
    "stalker/death/b24.mp3", 
    "stalker/death/b25.mp3", 
    "stalker/death/b26.mp3", 
    "stalker/death/b27.mp3", 
    "stalker/death/b28.mp3", 
    "stalker/death/b29.mp3", 
    "stalker/death/b30.mp3", 
    "stalker/death/b31.mp3", 
    "stalker/death/b32.mp3", 
    "stalker/death/b33.mp3", 
    "stalker/death/b34.mp3", 
    "stalker/death/b35.mp3", 
    "stalker/death/b36.mp3", 
    "stalker/death/b37.mp3", 
    "stalker/death/b38.mp3", 
    "stalker/death/b39.mp3", 
    "stalker/death/b40.mp3", 
    "stalker/death/b41.mp3", 
    "stalker/death/b42.mp3" 
};

#define MAX_SOUNDS sizeof(aa)-1

public OnPluginStart() 
{ 
    HookEvent("player_death", maslina); 
} 

public OnMapStart() 
{
	decl String:buffer[PLATFORM_MAX_PATH];
    for (new i; i <= MAX_SOUNDS; i++) 
    { 
        FormatEx(buffer, PLATFORM_MAX_PATH, "sound/%s", aa[i]); 
        AddFileToDownloadsTable(buffer); 
        PrecacheSound(aa[i]); 
    }
} 

public maslina(Handle:event, const String:name[], bool:silent)  
{ 
    new client = GetClientOfUserId(GetEventInt(event, "userid"));
//	if (GetClientTeam(client) != 2)  return; 
    decl Float:pos[3]; 
    GetClientAbsOrigin(client, pos);
	EmitAmbientSound(aa[GetRandomInt(0, MAX_SOUNDS)], pos, client, SNDLEVEL_RAIDSIREN); 
}
Есть варианты получше, но так - ещё вполне грамотно.
Оффтоп
 
Последнее редактирование:

AZA

/reset
Сообщения
883
Реакции
162
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

AlmazON, Маслину поймал :-D
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

vaxa, Оффтоп
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

SenatoR

Участник
Сообщения
773
Реакции
344
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

На кой вам понадобился сталкер в кс?
Фигня же будет, не?
 

SenatoR

Участник
Сообщения
773
Реакции
344
Re: Ambient Death Sound (aaa, Ya v Maslinu poimal)

Почему?
Реализация неудавшегося мультиплеера сталкера на движке Source.

Тем более, тема изжила себя много лет назад, разве нет?
Ведь ни один из новых онлайн сталкер не был удачным.
 
Сверху Снизу