ZeuS, в паблике его нет. Только на заказ. Плагин вполне простой, может позже напишу.
#include <sourcemod>
#include <sdktools>
new Handle:StartMusic_Timer = INVALID_HANDLE, x;
public OnPluginStart()
{
HookEvent("round_start", Round_Start);
HookEvent("round_end", Round_End);
}
public Round_Start(Handle:event, String:name[], bool:dontBroadcast)
{
StartMusic_Timer = CreateTimer(1.0, StartMusic, _, TIMER_REPEAT);
x = 31;
}
public Round_End(Handle:event, String:name[], bool:dontBroadcast) OnMapEnd()
public OnMapEnd()
{
if (StartMusic_Timer)
{
KillTimer(StartMusic_Timer, false);
StartMusic_Timer = INVALID_HANDLE;
}
}
public Action:StartMusic(Handle:timer)
{
decl String:times[20];
x -= 1;
if (0 < x)
{
if (x <= 10)
{
Format(times, 20, "Napastrak/zm/%d.mp3", x);
EmitSoundToAll(times);
}
}
}
Буду благодарен, если перепишите норм )SV_StartSound: Napastrak/zm/10.mp3 not precached (0)
SV_StartSound: Napastrak/zm/9.mp3 not precached (0)
SV_StartSound: Napastrak/zm/8.mp3 not precached (0)
SV_StartSound: Napastrak/zm/7.mp3 not precached (0)
SV_StartSound: Napastrak/zm/6.mp3 not precached (0)
SV_StartSound: Napastrak/zm/5.mp3 not precached (0)
SV_StartSound: Napastrak/zm/4.mp3 not precached (0)
SV_StartSound: Napastrak/zm/3.mp3 not precached (0)
SV_StartSound: Napastrak/zm/2.mp3 not precached (0)
SV_StartSound: Napastrak/zm/1.mp3 not precached (0)
#include <sourcemod>
#include <sdktools>
#pragma newdecls required
// Измени на свое время
int COUNTDOWN = 45;
char soundList[10][24] = {
"zramb/1.mp3",
"zramb/2.mp3", /* Аналогично со звуками, путь без папки music */
"zramb/3.mp3",
"zramb/4.mp3",
"zramb/5.mp3",
"zramb/6.mp3",
"zramb/7.mp3",
"zramb/8.mp3",
"zramb/9.mp3",
"zramb/10.mp3"
};
int counter;
public Plugin myinfo =
{
name = "[ZR] Sound Countdown",
description = "Sound countdown for zombiereloaded",
author = "White Wolf (HLModders LLC)",
version = "1.0",
url = "http://hlmod.ru"
};
public void OnPluginStart()
{
HookEvent("round_start", Event_OnRoundStart, EventHookMode_Post);
}
public Action Event_OnRoundStart(Event event, const char[] name, bool dontBroadcast)
{
counter = COUNTDOWN;
CreateTimer(1.0, StartSound, _, TIMER_REPEAT);
}
public void OnMapStart()
{
for (int i = 0; i <= sizeof(soundList); i++)
AddFileToDownloadsTable(soundList[i]);
}
public Action StartSound(Handle timer)
{
if (--counter > 0)
{
if (counter <= sizeof(soundList))
{
for (int i = 1; i <= MaxClients; ++i)
{
ClientCommand(i, "play *%s", soundList[counter]);
}
}
return Plugin_Continue;
}
else
{
return Plugin_Stop;
}
}
Моя версия плагина (не проверял). Все звуки должны лежать в папке sound/music/...
PHP:#include <sourcemod> #include <sdktools> #pragma newdecls required // Измени на свое время int COUNTDOWN = 45; char soundList[10][24] = { "zramb/1.mp3", "zramb/2.mp3", /* Аналогично со звуками, путь без папки music */ "zramb/3.mp3", "zramb/4.mp3", "zramb/5.mp3", "zramb/6.mp3", "zramb/7.mp3", "zramb/8.mp3", "zramb/9.mp3", "zramb/10.mp3" }; int counter; public Plugin myinfo = { name = "[ZR] Sound Countdown", description = "Sound countdown for zombiereloaded", author = "White Wolf (HLModders LLC)", version = "1.0", url = "http://hlmod.ru" }; public void OnPluginStart() { HookEvent("round_start", Event_OnRoundStart, EventHookMode_Post); } public Action Event_OnRoundStart(Event event, const char[] name, bool dontBroadcast) { counter = COUNTDOWN; CreateTimer(1.0, StartSound, _, TIMER_REPEAT); } public void OnMapStart() { for (int i = 0; i <= sizeof(soundList); i++) AddFileToDownloadsTable(soundList[i]); } public Action StartSound(Handle timer) { if (--counter > 0) { if (counter <= sizeof(soundList)) { for (int i = 1; i <= MaxClients; ++i) { ClientCommand(i, "play *%s", soundList[counter]); } } return Plugin_Continue; } else { return Plugin_Stop; } }
Добавлю что zr_infect_spawntime_min и zr_infect_spawntime_max должны иметь одинаковые значения и где int COUNTDOWN = 45; изменить на значение в тех переменных.
Моя версия плагина (не проверял). Все звуки должны лежать в папке sound/music/...
PHP:#include <sourcemod> #include <sdktools> #pragma newdecls required // Измени на свое время int COUNTDOWN = 45; char soundList[10][24] = { "zramb/1.mp3", "zramb/2.mp3", /* Аналогично со звуками, путь без папки music */ "zramb/3.mp3", "zramb/4.mp3", "zramb/5.mp3", "zramb/6.mp3", "zramb/7.mp3", "zramb/8.mp3", "zramb/9.mp3", "zramb/10.mp3" }; int counter; public Plugin myinfo = { name = "[ZR] Sound Countdown", description = "Sound countdown for zombiereloaded", author = "White Wolf (HLModders LLC)", version = "1.0", url = "http://hlmod.ru" }; public void OnPluginStart() { HookEvent("round_start", Event_OnRoundStart, EventHookMode_Post); } public Action Event_OnRoundStart(Event event, const char[] name, bool dontBroadcast) { counter = COUNTDOWN; CreateTimer(1.0, StartSound, _, TIMER_REPEAT); } public void OnMapStart() { for (int i = 0; i <= sizeof(soundList); i++) AddFileToDownloadsTable(soundList[i]); } public Action StartSound(Handle timer) { if (--counter > 0) { if (counter <= sizeof(soundList)) { for (int i = 1; i <= MaxClients; ++i) { ClientCommand(i, "play *%s", soundList[counter]); } } return Plugin_Continue; } else { return Plugin_Stop; } }
Добавлю что zr_infect_spawntime_min и zr_infect_spawntime_max должны иметь одинаковые значения и где int COUNTDOWN = 45; изменить на значение в тех переменных.
Я не пишу на старом синтаксисе. Для меня это уже не удобно.Компилировал на см 1.6.2
Я не пишу на старом синтаксисе. Для меня это уже не удобно.
#include <sourcemod>
#include <sdktools>
#pragma newdecls required
// Измени на свое время
int COUNTDOWN = 45;
char soundList[10][24] = {
"zramb/1.mp3",
"zramb/2.mp3", /* аналогично со звуками, путь без папки music */
"zramb/3.mp3",
"zramb/4.mp3",
"zramb/5.mp3",
"zramb/6.mp3",
"zramb/7.mp3",
"zramb/8.mp3",
"zramb/9.mp3",
"zramb/10.mp3"
};
int counter;
public Plugin myinfo =
{
name = "[ZR] Sound Countdown",
description = "Sound countdown for zombiereloaded",
author = "White Wolf (HLModders LLC)",
version = "1.1",
url = "http://hlmod.ru"
};
public void OnPluginStart()
{
HookEvent("round_start", Event_OnRoundStart);
}
public Action Event_OnRoundStart(Event event, const char[] name, bool dontBroadcast)
{
counter = COUNTDOWN;
CreateTimer(1.0, StartSound, _, TIMER_REPEAT);
}
public void OnMapStart()
{
for (int i = 0; i < sizeof(soundList); i++)
AddFileToDownloadsTable(soundList[i]);
}
public Action StartSound(Handle timer)
{
if (--counter > 0)
{
if (counter <= sizeof(soundList))
{
for (int i = 1; i <= MaxClients; ++i)
{
if (IsClientInGame(i))
ClientCommand(i, "play *%s", soundList[counter]);
}
}
return Plugin_Continue;
}
else
{
return Plugin_Stop;
}
}
Поправил плагин:
PHP:#include <sourcemod> #include <sdktools> #pragma newdecls required // »змени на свое врем¤ int COUNTDOWN = 45; char soundList[10][24] = { "zramb/1.mp3", "zramb/2.mp3", /* аналогично со звуками, путь без папки music */ "zramb/3.mp3", "zramb/4.mp3", "zramb/5.mp3", "zramb/6.mp3", "zramb/7.mp3", "zramb/8.mp3", "zramb/9.mp3", "zramb/10.mp3" }; int counter; public Plugin myinfo = { name = "[ZR] Sound Countdown", description = "Sound countdown for zombiereloaded", author = "White Wolf (HLModders LLC)", version = "1.1", url = "http://hlmod.ru" }; public void OnPluginStart() HookEvent("round_start", Event_OnRoundStart); public Action Event_OnRoundStart(Event event, const char[] name, bool dontBroadcast) { counter = COUNTDOWN; CreateTimer(1.0, StartSound, _, TIMER_REPEAT); } public void OnMapStart() { for (int i = 0; i < sizeof(soundList); i++) AddFileToDownloadsTable(soundList[i]); } public Action StartSound(Handle timer) { if (--counter > 0) { if (counter <= sizeof(soundList)) { for (int i = 1; i <= MaxClients; ++i) { if (IsClientInGame(i)) ClientCommand(i, "play *%s", soundList[counter]); } } return Plugin_Continue; } else { return Plugin_Stop; } }
Значит время поправить нужно. Это уже на ваш выбор. Суть в том что zr плагин берет любое число из диапазона значений двух переменных и ставит это число на время до спавна. Угадать можно и поправить тоже если потестить с разными значениями.Звук отсчета начинается с 15 секунды
Значит время поправить нужно. Это уже на ваш выбор. Суть в том что zr плагин берет любое число из диапазона значений двух переменных и ставит это число на время до спавна. Угадать можно и поправить тоже если потестить с разными значениями.
-------
Ошибку поправил в предыдущем посту.
Ничего не забыл?AddFileToDownloadsTable(soundList);
#include <sourcemod>
#include <sdktools>
#pragma newdecls required
// Измени на свое время
int COUNTDOWN = 45;
char soundList[10][24] = {
"music/zramb/1.mp3",
"music/zramb/2.mp3", /* оригинал лежит в sound/music/zramb/2.mp3 */
"music/zramb/3.mp3",
"music/zramb/4.mp3",
"music/zramb/5.mp3",
"music/zramb/6.mp3",
"music/zramb/7.mp3",
"music/zramb/8.mp3",
"music/zramb/9.mp3",
"music/zramb/10.mp3"
};
int counter;
public Plugin myinfo =
{
name = "[ZR] Sound Countdown",
description = "Sound countdown for zombiereloaded",
author = "White Wolf (HLModders LLC)",
version = "1.1",
url = "http://hlmod.ru"
};
public void OnPluginStart()
{
HookEvent("round_start", Event_OnRoundStart);
}
public Action Event_OnRoundStart(Event event, const char[] name, bool dontBroadcast)
{
counter = COUNTDOWN;
CreateTimer(1.0, StartSound, _, TIMER_REPEAT);
}
public void OnMapStart()
{
for (int i = 0; i < sizeof(soundList); i++)
{
/* Забыл кое-что */
char fullstr[PLATFORM_MAX_PATH];
FormatEx(fullstr, sizeof(fullstr), "sound/%s", soundList[i])
AddFileToDownloadsTable(soundList[i]);
}
}
public Action StartSound(Handle timer)
{
if (--counter > 0)
{
if (counter <= sizeof(soundList))
{
for (int i = 1; i <= MaxClients; ++i)
{
if (IsClientInGame(i))
ClientCommand(i, "play *%s", soundList[counter-1]);
}
}
return Plugin_Continue;
}
else return Plugin_Stop;
}
На CS:GO EmitSound не пашет. Только с расширением EmitSoundAny.Может лучше EmitSound использовать для проигрывания?