Christmas Patriarch

Give Weapon By ID Mutator. Мутатор выдача оружия по ID

Опять же - тот мутатор по поводу которого часто пинают
Не люблю я все эти VIP бонусы, ну будем считать, что мутатор используется для благих целей, например, порадовать именниника прикольной пушкой

Опишу достаточно простой, но вполне себе функциональный вариантик

Настройки:

В инишник забивается массив структур в стиле

VipList=(PlayerID="76561198051378",PlayerName="Flame",SpecialWeapon="KFMod.Katana")

Здесь PlayerID - ID игрока, SpecialWeapon - оружие, которое ему выдаётся при появлении в игре и после оживления, а PlayerName используется чисто для удобства. Чтобы не забывали кто же это под таким ID и с такой пушкой.
Можно добавлять сколько угодно (в пределах памяти) элементов массива с разными ID и пушками. Хоть всем игрокам по персональной пушке пропишите)

Можно прописать одному игроку несколько пушек - просто напишите

VipList=(PlayerID="76561198051378",PlayerName="Flame",SpecialWeapon="KFMod.Katana")
VipList=(PlayerID="76561198051378",PlayerName="Flame",SpecialWeapon="KFMod.Axe")

Код мутатора:

class GiveWeaponByIDMut extends Mutator config(GiveWeaponByIDMut);

struct VipStruct
{
    var config string PlayerID;
    var config string PlayerName;
    var config string SpecialWeapon;
};

var config array<VipStruct> VipList;

function PostBeginPlay()
{
    SaveConfig();
}

function ModifyPlayer(Pawn P)
{
    Super.ModifyPlayer(P);
    TryGiveSpecialWeapon(P);
}

function TryGiveSpecialWeapon(Pawn P)
{
    local PlayerController PC;
    local string Hash;
    local int i;

    if (P == None)
        return;
    PC = PlayerController(P.Controller);
    if (PC == None)
        return;
    Hash = PC.GetPlayerIDHash();
    for (i = 0; i < VipList.Length; i++)
    {
        if (VipList[i].PlayerID ~= Hash)
            P.GiveWeapon(VipList[i].SpecialWeapon);
    }
}

defaultproperties
{
    VipList(0)=(PlayerID="76561198051378",PlayerName="Flame",SpecialWeapon="KFMod.Katana")
    bAddToServerPackages=True
    GroupName="KF-GiveWeaponByIDMut"
    FriendlyName="GiveWeaponByIDMut"
    Description="Give Weapon By ID"
}

Используем как:

GiveWeaponByIDMut.GiveWeaponByIDMut

Скомпилированная версия: https://yadi.sk/d/WmlI6VnMhi8c5

Автор: Flame