Не работает мутатор на сервере у всех, кроме хоста

Тема в разделе "Мутаторы", создана пользователем AlexABS, 6 фев 2017.

  1. AlexABS

    AlexABS Новенький

    Здравствуйте, друзья. Я использую мутатор, некогда гулявший по этому форуму в теме об изменении цены на оружие.

    Проблема в том, что при создании ждущего сервера этот мутатор работает только у меня, а у всех остальных, несмотря на его наличие в папке system, мутатор не отображает верным образом цены (хотя в одиночной игре все отображается у всех в соответствии с указанными ценами в мутаторе). На ждущем сервере также работает СерверПеркс.

    Вот код модификатора, который упаковывается в два файлика в папке system:


    Код:
    class ModifyWeaponCost extends Mutator;
    
    simulated function PostBeginPlay()
    {
        class'KFMod.MAC10Pickup'.default.cost = 1200;
        class'VSSDT_v2Mut.VSSDTPickup'.default.cost = 5000;
        class'GALILMUT.GALILPickup'.default.cost = 1300;
        class'KRISSSV.KRISSSVPickup'.default.cost = 2900;
        class'P416.P416Pickup'.default.cost = 3200;
        class'RPK47Mut.RPK47Pickup'.default.cost = 1900;
        class'L96AWPLLImut.L96AWPLLIPickup'.default.cost = 2000;
        class'SA80.SA80Pickup'.default.cost = 1300;
        class'KFMod.ShotgunPickup'.default.cost = 1000;
        class'KFMod.WinchesterPickup'.default.cost = 800;
        class'KFMod.ThompsonPickup'.default.cost = 1700;
        class'KFMod.SPThompsonPickup'.default.cost = 1750;
        class'KFMod.ThompsonDrumPickup'.default.cost = 1800;
        class'AKC74Mut.AKC74Pickup'.default.cost = 1200;
        class'AK74uMut.AK74uPickup'.default.cost = 1200;
        class'KFMod.FlameThrowerPickup'.default.cost = 1500;
        class'KFMod.CrossbowPickup'.default.cost = 1900;
        class'SVDLLImut.SVDLLIPickup'.default.cost = 4800;
        class'PP19VityazSAMut.PP19VityazSAPickup'.default.cost = 2800;
        class'GalilComicSAMut.GalilComicSAPickup'.default.cost = 1700;
        class'EVOproSAMut.EvoProSAPickup'.default.cost = 2300;
        class'KFMod.GoldenFTPickup'.default.cost = 2000;
        class'Type19Wep.Type19Pickup'.default.cost = 2200;
        class'Molotov.MolotovPickup'.default.cost = 2250;
        class'RU556SAMut.RU556SAPickup'.default.cost = 2900;
        class'CZ805SA.cz805bPickup'.default.cost = 1850;
        class'AK12LLIMut.AK12LLIPickup'.default.cost = 1600;
        class'SVT40SAMut.SVT40SAPickup'.default.cost = 2500;
        class'KVoltWep.KvoltPickup'.default.cost = 3400;
        class'L85A2SAMut.L85A2SAPickup'.default.cost = 2200;
        class'KFMod.CamoShotgunPickup'.default.cost = 1200;
        class'AAR525.AAR525Pickup'.default.cost = 2400;
        class'NagantWep.MosinNagantNPickup'.default.cost = 2900;
        class'NagantWep.SniperNagantNPickup'.default.cost = 3100;
        class'HK417mut.HK417Pickup'.default.cost = 2400;
        class'M82A1LLImut.M82A1LLIPickup'.default.cost = 2400;
        class'Doom3Turret.SentryGunPickup'.default.cost = 2500;
        class'RocketRPGTurret.RocketRPGTurret_Pickup'.default.cost = 4500;
        class'KFMod.LAWPickup'.default.cost = 4500;
        class'XMk5Wep.XMk5Pickup'.default.cost = 2200;
        class'LilithKissWep.LilithKissPickup'.default.cost = 3700;
    }
    
    defaultproperties
    {
         GroupName="KF-ModifyWeaponCost"
         FriendlyName="ModifyWeaponCost"
         Description="ModifyWeaponCost"
         RemoteRole=ROLE_SimulatedProxy
    }
    Модификатор ServerPerks работает по добавлению через вкладку "Модификации" в создании сетевой игры. Так же работают и некоторые другие мутаторы. Мутатор, что выше, работает почему-то только у меня (у сервера), хотя у остальных тоже добавлен.
     
  2. w.a.l

    w.a.l Консильери

    Поэтому ты создал не нужную тему с повторяющемся названием ?
     
  3. AlexABS

    AlexABS Новенький

    я создал тему, потому что ищу помощи от разбирающихся людей. Здесь я ищу совета по поводу мутатора для сервера, а не встречные вопросы. Если считаешь, что я что-то сделал не так, то подскажи, куда лучше. обратиться. Если видишь, у меня в статусе написано "новенький".
     
    Последнее редактирование: 7 фев 2017
  4. Essence

    Essence Moderator Команда форума

    Да, только мутатор в той теме выглядит несколько иначе.
    Ну раз у всех остальных он в папке system есть, то в defaultproperties это не понадобится
    Код:
     bAddToServerPackages=True
    А вот это надо добавить
    Код:
     bAlwaysRelevant=True
     
    Flame и AlexABS нравится это.
  5. w.a.l

    w.a.l Консильери

    поэтому вместо того что бы задать вопрос сообщением в готовой для тебя теме у разбирающихся людей, ты как шишка создаёшь новую тему, а отмазки типа я новенький поэтому дурачок оставь для учителей. Все форумы на свете одинаковые
     
  6. AlexABS

    AlexABS Новенький

    В следующий раз буду внимательней. Если админы решат,что нужно удалить мою тему, то они удалят. Если бы темы нельзя было бы по таким вопросам создавать, то кнопки бы такой не было.
     
    Последнее редактирование: 8 фев 2017
  7. AlexABS

    AlexABS Новенький

    Благодарю за ответ! Буду тестить!
     
  8. AlexABS

    AlexABS Новенький

    При добавлении
    Код:
    bAlwaysRelevant=True
    продолжает игнорировать цены у других игроков (все по дефолту)
    При удалении мода у других игроков и простановки
    Код:
     bAddToServerPackages=True
    мод отказывается скачиваться, хотя другие файлы докачиваются исправно (
     
  9. Essence

    Essence Moderator Команда форума

    Хм. Единственное, что исходник мог побиться в связи с первым пунктом.
    Удали свой исходник, создай новый ModifyWeaponCost.uc файл, наполни нужным содержимым и скомпилируй.
     
  10. Flame

    Flame -Заслуженый кодер форума-

    Да, для установки цены такой наборчик используй
    Код:
        bAddToServerPackages=true
        bAlwaysRelevant=true
        RemoteRole=ROLE_SimulatedProxy
    
    В принципе то у тебя изначально мутатор работал, просто отображалось неверно)
    Если бы ты захотел купить или продать пушку, то заметил бы что вычитается/добавляется именно изменённая сумма
    Так как на сервере ты поменял информацию

    То что отображается в самом магазине это информация берётся из локальных экземпляров классов
    Поэтому для их изменения надо во-первых сделать так, чтобы мутатор выполнялся на клиенте
    Код:
        bAlwaysRelevant=true
        RemoteRole=ROLE_SimulatedProxy
    
    Во-вторых чтобы собственно закачивался в кэш игроков
    Код:
        bAddToServerPackages=true
    
    Так же стоит убедиться, что функция в которой идут исправления выполняется на клиенте и в данном случае нам надо убедиться, что есть ключевое слово simulated перед функцией PostBeginPlay

    У тебя теперь всё так и есть и оно должно работать)
     
    Последнее редактирование: 10 фев 2017