Сойдет)Можно сделать в рандомном порядке используя GetRandomInt...
можешь сделать?Можно сделать в рандомном порядке используя GetRandomInt...
можешь сделать?
#include <emitsoundany>
// Путь к звукам
#define welcome1 "welcome/welcome1.mp3"
#define welcome2 "welcome/welcome2.mp3"
#define welcome3 "welcome/welcome3.mp3"
#define welcome4 "welcome/welcome4.mp3"
public OnMapStart()
{
// Загрузка файлов
AddFileToDownloadsTable("sound/welcome/welcome1.mp3");
AddFileToDownloadsTable("sound/welcome/welcome2.mp3");
AddFileToDownloadsTable("sound/welcome/welcome3.mp3");
AddFileToDownloadsTable("sound/welcome/welcome4.mp3");
//Кеширование звуков
PrecacheSoundAny(welcome1);
PrecacheSoundAny(welcome2);
PrecacheSoundAny(welcome3);
PrecacheSoundAny(welcome4);
}
public OnClientPostAdminCheck(client)
{
CreateTimer(10.0, Timer_Welcome, client);
}
public Action: Timer_Welcome(Handle:timer, any:client)
{
if(IsClientInGame(client))
{
Welcome(client)
}
}
public Welcome(client)
{
new i = GetRandomInt(0, 3); // Рандом
switch(i)
{
case 0:
{
EmitSoundToClientAny(client, "welcome1");
}
case 1:
{
EmitSoundToClientAny(client, "welcome2");
}
case 2:
{
EmitSoundToClientAny(client, "welcome3");
}
case 3:
{
EmitSoundToClientAny(client, "welcome4");
}
}
}
// Вообще все нужно сделать через KeyValues... Через файл.
PHP:#include <emitsoundany> // Путь к звукам #define welcome1 "welcome/welcome1.mp3" #define welcome2 "welcome/welcome2.mp3" #define welcome3 "welcome/welcome3.mp3" #define welcome4 "welcome/welcome4.mp3" public OnMapStart() { // Загрузка файлов AddFileToDownloadsTable("sound/welcome/welcome1.mp3"); AddFileToDownloadsTable("sound/welcome/welcome2.mp3"); AddFileToDownloadsTable("sound/welcome/welcome3.mp3"); AddFileToDownloadsTable("sound/welcome/welcome4.mp3"); //Кеширование звуков PrecacheSoundAny(welcome1); PrecacheSoundAny(welcome2); PrecacheSoundAny(welcome3); PrecacheSoundAny(welcome4); } public OnClientPostAdminCheck(client) { CreateTimer(10.0, Timer_Welcome, client); } public Action: Timer_Welcome(Handle:timer, any:client) { if(IsClientInGame(client)) { Welcome(client) } } public Welcome(client) { new i = GetRandomInt(0, 3); // Рандом switch(i) { case 0: { EmitSoundToClientAny(client, "welcome1"); } case 1: { EmitSoundToClientAny(client, "welcome2"); } case 2: { EmitSoundToClientAny(client, "welcome3"); } case 3: { EmitSoundToClientAny(client, "welcome4"); } } } // Вообще все нужно сделать через KeyValues... Через файл.
Не будет такое "преобразование" работать.EmitSoundToClientAny(client, "welcome1");
#include <emitsoundany>
// Путь к звукам
new const String:g_sWelcomeMusic[][] =
{
"welcome/welcome1.mp3",
"welcome/welcome2.mp3",
"welcome/welcome3.mp3",
"welcome/welcome4.mp3"
};
new bool:g_sPlay[MAXPLAYERS + 1];
public OnPluginStart() HookEvent("player_disconnect", Event_PlayerDisconnect);
public Event_PlayerDisconnect(Handle:event, String:name[], bool:dontBroadcast) g_sPlay[GetClientOfUserId(GetEventInt(event, "userid"))] = false;
public OnAutoConfigsBuffered()
{
decl String:buffer[PLATFORM_MAX_PATH];
for (new i; i < sizeof(g_sWelcomeMusic); ++i)
{
// Загрузка файлов
FormatEx(buffer, sizeof(buffer), "sound/%s", g_sWelcomeMusic[i]);
AddFileToDownloadsTable(buffer);
//Кеширование звуков
PrecacheSoundAny(g_sWelcomeMusic[i], true);
}
}
public OnClientPostAdminCheck(client)
{
if (!g_sPlay[client]) CreateTimer(1.0, Timer_Welcome, client, TIMER_FLAG_NO_MAPCHANGE);
}
public Action:Timer_Welcome(Handle:timer, any:client)
{
if (IsClientInGame(client))
{
g_sPlay[client] = true;
EmitSoundToClientAny(client, g_sWelcomeMusic[GetRandomInt(0, sizeof(g_sWelcomeMusic) - 1)]);
}
return Plugin_Stop;
}
Тоже выше (если не успело проиграть при смене карты, то проиграет на новой).не проигрывать звук welcome игрокам текущая сессия которых более 1 карты
Не будет такое "преобразование" работать.Тоже выше (если не успело проиграть при смене карты, то проиграет на новой).PHP:#include <emitsoundany> // Путь к звукам new const String:g_sWelcomeMusic[][] = { "welcome/welcome1.mp3", "welcome/welcome2.mp3", "welcome/welcome3.mp3", "welcome/welcome4.mp3" }; new bool:g_sPlay[MAXPLAYERS + 1]; public OnPluginStart() HookEvent("player_disconnect", Event_PlayerDisconnect); public Event_PlayerDisconnect(Handle:event, String:name[], bool:dontBroadcast) g_sPlay[GetClientOfUserId(GetEventInt(event, "userid"))] = false; public OnAutoConfigsBuffered() { decl String:buffer[PLATFORM_MAX_PATH]; for (new i; i < sizeof(g_sWelcomeMusic); ++i) { // Загрузка файлов FormatEx(buffer, sizeof(buffer), "sound/%s", g_sWelcomeMusic[i]); AddFileToDownloadsTable(buffer); //Кеширование звуков PrecacheSoundAny(g_sWelcomeMusic[i], true); } } public OnClientPostAdminCheck(client) { if (!g_sPlay[client]) CreateTimer(1.0, Timer_Welcome, client, TIMER_FLAG_NO_MAPCHANGE); } public Action:Timer_Welcome(Handle:timer, any:client) { if (IsClientInGame(client)) { g_sPlay[client] = true; EmitSoundToClientAny(client, g_sWelcomeMusic[GetRandomInt(0, sizeof(g_sWelcomeMusic) - 1)]); } return Plugin_Stop; }
Поставил, логов нет, песни две скачались, а играет только одна, перезахожу на сервер.
вторая почему то нет.