AlarmTrade. нагоняем ужаса.

Тема в разделе "Общего назначения", создана пользователем CompJ, 16 фев 2013.

Метки:
  1. drummer36

    drummer36 Солдат

    Да по... на время!Профи быстренько забежали,закупились и побежали.Только медленные люди умирают у магазина.
    Ну а вообще то,ето дело надо исправить,дабы все было как надо!
     
  2. w.a.l

    w.a.l Капо

    :eek:hmy: я честно говоря не понял ответа....

    я про серену которая ДОЛЖНА звучать перед первой волной !!! и надписи не всей кучей в каждом магазине,а так как прописано в конфиге, своя надпись на своей волне. :wub:

    а ты о чём ?
     
  3. CompJ

    CompJ Солдат

    Дык, я надписи по волнам не разносил, они все одним махом, по времени. Вот наверное в чём и проблема. Хм, насчёт волн.. надо подумать.
     
  4. w.a.l

    w.a.l Капо

    как это не выносил ?!?! :ninja:

    TimeToNextWaveSec=40
    SoundName=AlarmTrader.AlarmT
    TimeToNextWaveSecT[0]=0 1 волна
    SMessageT[0]="" 1 надпись
    TimeToNextWaveSecT[1]=0 2 волна
    SMessageT[1]="" 2 надпись
    TimeToNextWaveSecT[2]=0 3 волна
    SMessageT[2]="" 3 надпись
    TimeToNextWaveSecT[3]=0 и т.д.
    SMessageT[3]=""
    TimeToNextWaveSecT[4]=0
    SMessageT[4]=""
    TimeToNextWaveSecT[5]=0
    SMessageT[5]=""
    TimeToNextWaveSecT[6]=0
    SMessageT[6]=""
    TimeToNextWaveSecT[7]=0
    SMessageT[7]=""
    TimeToNextWaveSecT[8]=0
    SMessageT[8]=""
    TimeToNextWaveSecT[9]=0
    SMessageT[9]=""

    у тя в конфиге идёт волна-надпись-волна -надпись!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
  5. CompJ

    CompJ Солдат

    Это не волны :smile: Это просто массив, чтобы 10 записей запомнить :smile:
    С волнами надо думать будет. Вообще, погибче систему делать.
     
  6. drummer36

    drummer36 Солдат

    Меняю значение 40 на 30.
    Играет с 30-й секунды но всеравно 40 сек.тоисть 10сек. играет уже на волне.
    Как ето исправить?
     
  7. CompJ

    CompJ Солдат

    Другой звук поставить, покороче. Я и так пытался уменьшить, дальше мне не понравилось как звучит.
     
  8. xorex

    xorex Соучастник

    20 секундный звуковой файл во вложении, в настройках выставляем 15 секунд.

    Насчет сообщений не очень понятно, вся пачка этих мессаг выпадает разом в чате на каждой волне, мне кажется интереснее было выводить сообщение по типу стандартной фразы "NEXT WAVE INBOUND", тем же шрифтом и размером, но в виде отсчета 5,4,3,2,1 ...
     

    Вложения:

    • AlarmT.zip
      Размер файла:
      2,1 МБ
      Просмотров:
      20
    ЛОХМАТЫЙ нравится это.
  9. kill3r

    kill3r Соучастник

    Автору огромное спасибо за этот мут +
     
  10. Authentik

    Authentik Соучастник

    Всем привет!!! вопрос такой , как сделать чтоб на каждой волне рандомно проигрывало звуки? первая волна свой звук, вторая волна другой и т.д.
    сп за понимание ))
     
  11. Arckon.

    Arckon. Новенький

    Приветствую, товарищи. Сам мутатор довольно интересный.
    Есть ли возможность, чтобы воспроизводился определенный РАЗЛИЧНЫЙ звук на постоянно фиксированном времени при окончании времени на закупке? Т.е.:
    Волна 1: 10 сек. до закрытия магазина >Sound_1
    Волна 2: 10 сек. до закрытия магазина >Sound_2
    и т.д.
    Было бы очень хорошо, если бы данный мутатор довели до ума, так сказать.
     
  12. STaJIKeR

    STaJIKeR Солдат

    А что мешает так сделать? Смотри пример кода, что куда и зачем посылаеться да и делай...
     
  13. Flame

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

    Накидал мутатор

    Настройки:
    Каждой волне соответствует элемент массива
    То есть если надо сирену 8 волн подряд, то должно быть 8 элементов массива
    При этом самый первый элемент - сирена перед 1 волной
    Если для 8 волновой игры задать 4 элемента, то последний раз сирена прозвучит между 3 и 4 волной
    Если задать для какой то волны TimeToNextWave<0, то для этой волны сирены не будет

    Массив
    Код:
    Alarms=(TimeToNextWave=30,SoundName="AlarmTrader_SN.Alarm01",Message="Alarm!")
    ...
    Alarms=(TimeToNextWave=30,SoundName="AlarmTrader_SN.Alarm01",Message="Alarm!")
    
    TimeToNextWave - за сколько секунд до конца трейдера врубается сирена
    SoundName - полный путь к звуку, звуки складируем в AlarmTrader_SN.uax
    Message - сообщение игроку

    Код:
    Код:
    Class AlarmTrader extends Mutator Config(AlarmTrader);
    
    struct AlarmStruct
    {
        var config int TimeToNextWave;
        var config string SoundName;
        var config string Message;
    };
    var config array<AlarmStruct> Alarms;
    var bool bAlarmedOnThisWave;
    
    function PostBeginPlay()
    {
        AddToPackageMap("AlarmTrader_SN");
        SetTimer(1.0, true);
    }
    
    function Timer()
    {
        local Sound AlarmSound;
        local string AlarmText;
        local int AlarmTimePeriod;
        local KFGameType KFGT;
        local bool bSkipAlarm;
        local Controller C;
    
        KFGT=KFGameType(Level.Game);
        if(KFGT==none || !KFGT.IsInState('MatchInProgress'))
            return;
    
        if(KFGT.bWaveInProgress && bAlarmedOnThisWave)
            bAlarmedOnThisWave=false;
    
        bSkipAlarm=PrepareAlarm(AlarmTimePeriod,AlarmSound,AlarmText);
        if(bSkipAlarm)
            return;
    
        if    (
                !bAlarmedOnThisWave
                &&    !KFGT.bWaveInProgress
                &&    KFGT.WaveCountDown <= AlarmTimePeriod
            )
        {
            bAlarmedOnThisWave=true;
            for (C = Level.ControllerList; C != None; C = C.NextController)
            {
                if(C.PlayerReplicationInfo!=none && C.PlayerReplicationInfo.PlayerID>0)
                {
                    if(AlarmSound!=none)
                        PlayerController(C).ClientPlaySound(AlarmSound,True, 2.f);
                    if(Len(AlarmText)>0)
                        PlayerController(C).ClientMessage(AlarmText);
                }
            }
        }
    }
    
    function bool PrepareAlarm(out int AlarmTimePeriod, out Sound AlarmSound, out string AlarmText)
    {
        local int N;
        N=KFGameType(Level.Game).WaveNum;
        if(Alarms.Length<N+1)
            return true;
        if(Alarms[N].TimeToNextWave<0)
            return true;
        AlarmTimePeriod=Alarms[N].TimeToNextWave;
        AlarmSound=Sound(DynamicLoadObject(Alarms[N].SoundName, class'Sound', true));
        AlarmText=Alarms[N].Message;
        return false;
    }
    
    defaultproperties
    {
        Alarms(0)=(TimeToNextWave=30,SoundName="AlarmTrader_SN.Alarm01",Message="Alarm!")
        bAddToServerPackages=True
        GroupName="KF-AlarmTrader"
        FriendlyName="Alarm Trader"
        Description="Add sound in last NN seconds trader time. Just for Atmosphere :)"
    }
    

    Ищите косяки, потом может в шапку добавлю ссылку

    Ссылка
    AlarmTrader.AlarmTrader
     
    Последнее редактирование: 28 ноя 2016
    Essence нравится это.
  14. Arckon.

    Arckon. Новенький

    Таймер работает. Сообщения работают.
    Не совсем понял про SoundName. Предположим, есть звуковые файлы со следующими названиями:
    Sound_001, Sound_002. Куда их следует закинуть; как прописать в ini-файле и с каким расширением они должны быть?
     
  15. w.a.l

    w.a.l Капо

    Читай. Всё 100 раз написано. Обязательно напиши мне в ответ: "А где читать ? Я всё облазил ни где об этом информации нет."
     
  16. Flame

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

    Придётся использовать KFEd из SDK
    Заходишь в редактор, открываешь вкладку Sounds, File->Import - выбираешь wav файл и правишь название пакета (см. картинки ниже), потом сохраняешь.
    Получается пакет AlarmTrader_SN.uax. Его и используешь
    [​IMG]
    [​IMG]
    Попробуй. Не получится - подробнее распишу

    Upd. Разобрались в личке)
     
    Последнее редактирование: 30 ноя 2016
  17. Flame

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

    А где читать? ))
    Не ну гдет оно есть, конечно, но я вот сходу не могу сказать, где об этом можно прочесть новичку. Возможно я просто форум фигово знаю
    Только это нашёл гугл-поиском по форуму
    С каждым днём число статей, которые надо будет написать всё больше и больше)
     
    Последнее редактирование: 30 ноя 2016
  18. w.a.l

    w.a.l Капо

    Я про это ему писал, что об этом написано
     
  19. Flame

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

    Где написано то?
     
  20. drummer36

    drummer36 Солдат

    Большая просьба к знатокам,если можно,то объединить эту версию и новую что ФЛЕЙМ сделал.
    Дело в том что в этой версии есть возможность вывода сообщения каждую секунду до закрытия магазина,но лишь одна сирена,а в другой версии есть возможность поставить различные сирены на каждую волну,но нет вывода сообщения к примеру последних 10 секунд до начала волны(на каждую секунду по сообщению).
    Смотрел в код,пробовал что то копипастить с одного в другой в классах - успехом и не пахло.