Boss And Maps Mutator. Мутатор босс для каждой карты
Простейший мутатор, который позволяет выбирать босса для каждой конкретной карты.
Например, хочется поставить санта-патрика на зимние карты, а на страшные карты хэллоунского патрика. Или вообще спец патриков на разные карты с разными возможностями.
Настройки:
DefaultBoss=KFChar.ZombieBoss_STANDARD - указываем босса для всех не перечисленных в ini карт
BossAndMapsList=(Map=“KF-Bedlam”,Boss=“KFChar.ZombieBoss_HALLOWEEN”) - элемент массива: пара карта-босс
BossAndMapsMut.uc
class BossAndMapsMut extends Mutator config(BossAndMapsMut);
struct BossAndMapsStruct
{
var config string Map;
var config string Boss;
};
var config array<BossAndMapsStruct> BossAndMapsList;
var config string DefaultBoss;
var string URL;
function MatchStarting()
{
SetTimer(2.0, false);
}
function PostBeginPlay()
{
SaveConfig();
}
function Timer()
{
local string boss;
URL = GetShortUrl(Level.GetLocalURL());
boss = GetBossFromMap(URL);
KFGameType(Level.Game).EndGameBossClass = boss;
if (KFGameType(Level.Game).MonsterCollection != None)
KFGameType(Level.Game).MonsterCollection.Default.EndGameBossClass = boss;
}
function string GetBossFromMap(string map)
{
local int i;
for (i = 0; i < BossAndMapsList.Length; i++)
{
if (BossAndMapsList[i].Map ~= map)
return BossAndMapsList[i].Boss;
}
return DefaultBoss;
}
function string GetShortUrl(string s)
{
local int qPos, slashPos, startPos;
local string result;
qPos = InStr(s, "?");
slashPos = InStr(s, "/");
startPos = Max(slashPos, 0);
result = Mid(s, startPos + 1, qPos - startPos - 1);
return result;
}
defaultproperties
{
BossAndMapsList(0)=(Boss="KFChar.ZombieBoss_HALLOWEEN",Map="KF-Bedlam")
BossAndMapsList(1)=(Boss="KFChar.ZombieBoss_XMas",Map="KF-IceCave")
BossAndMapsList(2)=(Boss="KFChar.ZombieBoss_CIRCUS",Map="KF-AbusementPark")
DefaultBoss="KFChar.ZombieBoss_STANDARD"
bAddToServerPackages=True
GroupName="KF-BossAndMaps"
FriendlyName="BossAndMapsMut"
Description="BossAndMapsMut"
}
Прописывать как: BossAndMapsMut.BossAndMapsMut
Ссылка на скомпилированный вариант: YaDisk
Автор: Flame