И так, файл со скриптом во вложении.
Создаете новый лимит в Insane Limits, выполнение ставите либо на RoundOver либо на RoundStart. Из опций выбираете Code и вставляете туда текст из файла.
Код:
Thread gmrnd = new Thread(
new ThreadStart(
delegate
{
int iDelay = 0;
if (iDelay > 0)
{
Thread.Sleep(iDelay * 1000);
}
int nextMapIndex = server.NextMapIndex;
switch (nextMapIndex)
{
case 0:
{
plugin.ServerCommand("vars.teamFactionOverride", "1", "0");
plugin.ServerCommand("vars.teamFactionOverride", "2", "2");
break;
}
case 1:
{
plugin.ServerCommand("vars.teamFactionOverride", "1", "0");
plugin.ServerCommand("vars.teamFactionOverride", "2", "1");
break;
}
case 2:
{
plugin.ServerCommand("vars.teamFactionOverride", "1", "0");
plugin.ServerCommand("vars.teamFactionOverride", "2", "0");
break;
}
}
}
)
);
gmrnd.Name = "FactionChanger";
gmrnd.Start();
return false;
Поясню работу.
С помощью параметра int iDelay = 0 вы можете установить время задержки срабатывания скрипта в секундах. Например, вы хотите, чтобы скрипт сработал через 10 секунд после начала раунда, тогда ставите int iDelay = 10;
Каждый "case" обозначает порядковый номер карты в списке карт, начиная с нуля (0, 1, 2 и т. д.). Если вы хотите добавить еще одну карту к имеющимся у вас трем, то нужно вставить кусок кода аналогичный следующему:
case 3:
{
plugin.ServerCommand("vars.teamFactionOverride", "1", "0");
plugin.ServerCommand("vars.teamFactionOverride", "2", "0");
break;
}
Что касается команд установки фракций. Предположим, вы хотите сделать US-RU. Тогда между фигурными скобками вставляете следующие строки:
plugin.ServerCommand("vars.teamFactionOverride", "1", "0");
plugin.ServerCommand("vars.teamFactionOverride", "2", "1");