Роман Иматов
Участник
- Сообщения
- 13
- Реакции
- 0
Подскажите, возможно поставить определенную одну песню при заходе на карту александра? Чтобы она только на александре проигрывалась и только при заходе на александру. CSS v86
определенную одну песню при заходе на карту александра
#include <sdktools>
#pragma newdecls required
#define FILE_DOWNLOAD "sound/welcome.mp3"
#define FILE_PLAY "welcome.mp3"
public void OnAutoConfigsBuffered()
{
char map[32];
GetCurrentMap(map, sizeof(map));
static bool activate;
if (strcmp(map, "de_alexandra"))
{
if (activate)
{
UnhookEvent("player_activate", Event_PlayerActivate);
activate = false;
}
}
else
{
if (!activate)
{
activate = true;
HookEvent("player_activate", Event_PlayerActivate);
}
PrecacheSound(FILE_PLAY, true);
AddFileToDownloadsTable(FILE_DOWNLOAD);
}
}
public void Event_PlayerActivate(Event event, const char[] name, bool dontBroadcast)
{
EmitSoundToClient(GetClientOfUserId(event.GetInt("userid")), FILE_PLAY);
}
--- Добавлено позже ---FILE_DOWNLOAD "sound/welcome.mp3" - путь к загружаемому звуку;PHP:#include <sdktools> #pragma newdecls required #define FILE_DOWNLOAD "sound/welcome.mp3" #define FILE_PLAY "welcome.mp3" public void OnAutoConfigsBuffered() { char map[32]; GetCurrentMap(map, sizeof(map)); static bool activate; if (strcmp(map, "de_alexandra")) { if (activate) { UnhookEvent("player_activate", Event_PlayerActivate); activate = false; } } else { if (!activate) { activate = true; HookEvent("player_activate", Event_PlayerActivate); } PrecacheSound(FILE_PLAY, true); AddFileToDownloadsTable(FILE_DOWNLOAD); } } public void Event_PlayerActivate(Event event, const char[] name, bool dontBroadcast) { EmitSoundToClient(GetClientOfUserId(event.GetInt("userid")), FILE_PLAY); }
FILE_PLAY "welcome.mp3" - путь к проигрываемому звуку.
Начал разбираться. Код указанный он уже готовый под карту александра? Нужно только настроить пути к музыке?Если "религия" не позволяет внимательно прочитать и вникнуть, то нечего и вовсе держать сервер. ОффтопДля "прожевать и в рот положить" есть раздел "Услуги".
FILE_DOWNLOAD "sound/welcome.mp3" - путь к загружаемому звуку;Если "религия" не позволяет внимательно прочитать и вникнуть, то нечего и вовсе держать сервер. ОффтопДля "прожевать и в рот положить" есть раздел "Услуги".
Можно просто назвать музыку, как в плагине и положить в папку sound.Нужно только настроить пути к музыке?
FILE_DOWNLOAD "sound/welcome.mp3" - путь к загружаемому звуку;Если "религия" не позволяет внимательно прочитать и вникнуть, то нечего и вовсе держать сервер. ОффтопДля "прожевать и в рот положить" есть раздел "Услуги".
Я со всем этим разобрался. Только ещё один вопрос. То что написано в коде красным цветов, то нужно поменять?Можно просто назвать музыку, как в плагине и положить в папку sound.
Это PHP-тег так выделяет автоматически. Изменяемое указано ниже, в спойлере. Максимум, можно ещё поменять название карты.в коде красным цветов
Для написанных тобой плагинов в разных темах пора бы раздел уже отдельный на форуме создавать:DFILE_DOWNLOAD "sound/welcome.mp3" - путь к загружаемому звуку;PHP:#include <sdktools> #pragma newdecls required #define FILE_DOWNLOAD "sound/welcome.mp3" #define FILE_PLAY "welcome.mp3" public void OnAutoConfigsBuffered() { char map[32]; GetCurrentMap(map, sizeof(map)); static bool activate; if (strcmp(map, "de_alexandra")) { if (activate) { UnhookEvent("player_activate", Event_PlayerActivate); activate = false; } } else { if (!activate) { activate = true; HookEvent("player_activate", Event_PlayerActivate); } PrecacheSound(FILE_PLAY, true); AddFileToDownloadsTable(FILE_DOWNLOAD); } } public void Event_PlayerActivate(Event event, const char[] name, bool dontBroadcast) { EmitSoundToClient(GetClientOfUserId(event.GetInt("userid")), FILE_PLAY); }
FILE_PLAY "welcome.mp3" - путь к проигрываемому звуку.
в общем только вот это менять и всё?Это PHP-тег так выделяет автоматически. Изменяемое указано ниже, в спойлере. Максимум, можно ещё поменять название карты.
Извиняюсь. ИсправлюсьДля написанных тобой плагинов в разных темах пора бы раздел уже отдельный на форуме создавать:D
Много годноты написано, а мало кто видит, ибо не в разделе с плагинами
в общем только вот это менять и всё?
FILE_DOWNLOAD "sound/welcome.mp3" - путь к загружаемому звуку;
FILE_PLAY "welcome.mp3" - путь к проигрываемому звуку.
--- Добавлено позже ---
Извиняюсь. Исправлюсь
И вот этот получившийся файл нужно загрузить на сервер в папку с плагинами и всё?Это PHP-тег так выделяет автоматически. Изменяемое указано ниже, в спойлере. Максимум, можно ещё поменять название карты.
в общем только вот это менять и всё?
FILE_DOWNLOAD "sound/welcome.mp3" - путь к загружаемому звуку;
FILE_PLAY "welcome.mp3" - путь к проигрываемому звуку.
--- Добавлено позже ---
Извиняюсь. Исправлюсь
И вот этот получившийся фаилЭто PHP-тег так выделяет автоматически. Изменяемое указано ниже, в спойлере. Максимум, можно ещё поменять название карты.
Всё заработало. Только появилась другая проблемка. Теперь на александре играет две песни (старая, которая стоит на все карты как приветствие и новая) . Как сделать так, чтобы играла только новая на александре, а на остальных картах осталась старая?Это PHP-тег так выделяет автоматически. Изменяемое указано ниже, в спойлере. Максимум, можно ещё поменять название карты.
Необходимо её "гасить", для чего нужно знать путь к звуку. Не припоминаю, чтобы на стандартной карте была музыка...Как сделать так, чтобы играла только новая на александре, а на остальных картах осталась старая?
в общем только вот это менять и всё?
FILE_DOWNLOAD "sound/welcome.mp3" - путь к загружаемому звуку;
FILE_PLAY "welcome.mp3" - путь к проигрываемому звуку.
--- Добавлено позже ---
Извиняюсь. Исправлюсь
И вот этот получившийся фаилЭто PHP-тег так выделяет автоматически. Изменяемое указано ниже, в спойлере. Максимум, можно ещё поменять название карты.
Путь я знаю. А как её гасить?Необходимо её "гасить", для чего нужно знать путь к звуку. Не припоминаю, чтобы на стандартной карте была музыка...
Путь укажите в сообщении.Путь я знаю
/sound/bratskiy/parlahost/new.mp3Путь укажите в сообщении.
bratskiy/parlahost/new.mp3
#include <sdktools>
#pragma newdecls required
#define FILE_DOWNLOAD "sound/welcome.mp3"
#define FILE_PLAY "welcome.mp3"
public void OnAutoConfigsBuffered()
{
char map[32];
GetCurrentMap(map, sizeof(map));
static bool activate;
if (strcmp(map, "de_alexandra"))
{
if (activate)
{
UnhookEvent("player_activate", Event_PlayerActivate);
activate = false;
}
}
else
{
if (!activate)
{
activate = true;
HookEvent("player_activate", Event_PlayerActivate);
}
PrecacheSound(FILE_PLAY, true);
AddFileToDownloadsTable(FILE_DOWNLOAD);
}
}
public void Event_PlayerActivate(Event event, const char[] name, bool dontBroadcast)
{
int client = GetClientOfUserId(event.GetInt("userid"));
StopSound(client, SNDCHAN_AUTO, "bratskiy/parlahost/new.mp3");
EmitSoundToClient(client, FILE_PLAY);
}
Все равно играет две музыкиОднако, не всё так просто и гладко...PHP:#include <sdktools> #pragma newdecls required #define FILE_DOWNLOAD "sound/welcome.mp3" #define FILE_PLAY "welcome.mp3" public void OnAutoConfigsBuffered() { char map[32]; GetCurrentMap(map, sizeof(map)); static bool activate; if (strcmp(map, "de_alexandra")) { if (activate) { UnhookEvent("player_activate", Event_PlayerActivate); activate = false; } } else { if (!activate) { activate = true; HookEvent("player_activate", Event_PlayerActivate); } PrecacheSound(FILE_PLAY, true); AddFileToDownloadsTable(FILE_DOWNLOAD); } } public void Event_PlayerActivate(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); StopSound(client, SNDCHAN_AUTO, "bratskiy/parlahost/new.mp3"); EmitSoundToClient(client, FILE_PLAY); }
А что если в первый плагин (который без остановки) прописать все карты на сервере, кроме александры, а на александру сделать отдельный, такой же. Будет работать?Однако, не всё так просто и гладко...PHP:#include <sdktools> #pragma newdecls required #define FILE_DOWNLOAD "sound/welcome.mp3" #define FILE_PLAY "welcome.mp3" public void OnAutoConfigsBuffered() { char map[32]; GetCurrentMap(map, sizeof(map)); static bool activate; if (strcmp(map, "de_alexandra")) { if (activate) { UnhookEvent("player_activate", Event_PlayerActivate); activate = false; } } else { if (!activate) { activate = true; HookEvent("player_activate", Event_PlayerActivate); } PrecacheSound(FILE_PLAY, true); AddFileToDownloadsTable(FILE_DOWNLOAD); } } public void Event_PlayerActivate(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); StopSound(client, SNDCHAN_AUTO, "bratskiy/parlahost/new.mp3"); EmitSoundToClient(client, FILE_PLAY); }
Так и делается вообще-то. А для "гашения" всё равно нужно знать код того плагина - может, там звук проигрывается ещё позже, а остановить "до" - таким образом так нельзя.в первый плагин (который без остановки) прописать все карты на сервере, кроме александры
А что если в первый плагин (который без остановки) прописать все карты на сервере, кроме александры, а на александру сделать отдельный. Будет работатьОднако, не всё так просто и гладко...PHP:#include <sdktools> #pragma newdecls required #define FILE_DOWNLOAD "sound/welcome.mp3" #define FILE_PLAY "welcome.mp3" public void OnAutoConfigsBuffered() { char map[32]; GetCurrentMap(map, sizeof(map)); static bool activate; if (strcmp(map, "de_alexandra")) { if (activate) { UnhookEvent("player_activate", Event_PlayerActivate); activate = false; } } else { if (!activate) { activate = true; HookEvent("player_activate", Event_PlayerActivate); } PrecacheSound(FILE_PLAY, true); AddFileToDownloadsTable(FILE_DOWNLOAD); } } public void Event_PlayerActivate(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); StopSound(client, SNDCHAN_AUTO, "bratskiy/parlahost/new.mp3"); EmitSoundToClient(client, FILE_PLAY); }
Так и делается вообще-то. А для "гашения" всё равно нужно знать код того плагина - может, там звук проигрывается ещё позже, а остановить "до" - таким образом так нельзя.
Знаете что ещё заметил. С новым плагином музыка играет всего 5 или 6 секунд, а потом перестает играть когда игроки заходят в игруТак и делается вообще-то. А для "гашения" всё равно нужно знать код того плагина - может, там звук проигрывается ещё позже, а остановить "до" - таким образом так нельзя.