Boss And Maps Mutator. Мутатор босс для каждой карты Boss And Maps Mutator. Мутатор босс для каждой карты Простейший мутатор, который позволяет выбирать босса для каждой конкретной карты. Например, хочется поставить санта-патрика на зимние карты, а на страшные карты хэл...
#1
Отправлено:
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