Show Damage

Тема в разделе "Общего назначения", создана пользователем denfil777, 2 ноя 2012.

  1. Evmiva

    Evmiva Соучастник

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

    STaJIKeR Капо

    Конечно и очевидно такое писать, но все же, обратитесь к кодеру, который за вознаграждение напишет нужный Вам мутатор, разложенный по полочкам (Дамаг по цветам, от кого и кому). А так можете взглянуть, как это реализованно в SCRN_Balance, там как раз таки есть цветовое отображение от вида урона... Потому что смотря данный мутатор, как и писал Flame, он только его поправил и сделал его работоспособным... Иные функции в нем отсутвтуют...

    Код:
    simulated function HandleSHit(Canvas C)
    {
    ...
    }
        if(C.ClipX <= 640)  //Здесь вы задаете какой шрифт будет на разрешении 640х480
            FontSize = 7;  //Здесь вы задаете шрифт
        else if(C.ClipX <= 800) //Тут разрешение 800
            FontSize = 6;  //Аналогично первой ситуации
        else if(C.ClipX <= 1024) //Тут разрешение 1024
            FontSize = 5; //Аналогично первой ситуации
        else if(C.ClipX <= 1280) //Тут разрешение 1280
            FontSize = 4; //Аналогично первой ситуации
        else //Если не совпадает не с одним ранее приведенным примерном
            FontSize = 3;  //При не совпадении делаем данный шрифт
    ...
    }
    
     
    Последнее редактирование: 16 мар 2018
  3. Flame

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

    Можно вот так поправить ShowDamageRules.NetDamage
    Код:
    function int NetDamage( int OriginalDamage, int Damage, Pawn Injured, Pawn InstigatedBy, vector HitLocation, out vector Momentum, class<DamageType> DamageType )
    {
        local ShowDamageItem sdi;
        if    (
                InstigatedBy != none
                &&    PlayerController(InstigatedBy.Controller) != none
                &&    KFMonster(Injured) != none
                &&    DamageType.Name!='УронОтТуррельки'
            )
        {
            sdi=GetShowDamageItem(InstigatedBy);
            if(sdi!=none)
                sdi.ShowDamage(Min(Damage,Injured.Health),mut.DamageColorR,mut.DamageColorG,mut.DamageColorB);
        }
        if(NextGameRules != None)
            return NextGameRules.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);
        return Damage;
    }
    
    Добавилась строчка
    Код:
    &&    DamageType.Name!='УронОтТуррельки'
    
    Соотвественно надо прописать вместо УронОтТуррельки название типа урона туррели
    Например, DamTypeTurret
     
  4. Evmiva

    Evmiva Соучастник

    Flame, Спасибо!
    Спасибо за подсказку, посмотрю как там в балансе.
    Подобное "послание")) стоило бы написать после моего вопроса, "есть ли вообще мутатор типа шоу дамаджа работающий с сп 7,5"И я бы не стала ждать(изза этого ожидания у меня возникли проблемы личного характера, которые вам вряд ли интересныo_O) и спрашивать как тут дела, нашлось бы другое решение. Но мне Флейм ответил что поправит мутатор (мог бы промолчать, или послать куданить :rolleyes:), и сделал как он там написал "промежуточною версию" которая как я вижу и ВАС там порадовала, и думаю все за это благодарны Флейму, и он спросил что нужно, после чего уже и начались размышления о цветных заморочках итд, я не прошу и не заставляю делать полностью все готовое для меня, я хотела разобраться как там урон отслеживается, и сделать по своему ,с цветом и размером я уж точно разберусь))Вот только самих функций я не знаю.Вот и спрашивала как там урон отслеживается и какие типы урона вообще могут быть для отображения. В муткиллмесендже например там разный цвет просто от разной величины урона. Но есть же хотя бы функция определения хедшотов в прокачке снайпера, ее же можно использовать, наверное... про остальные "виды" урона я так ничего и не знаю, кроме своих рассуждений. И да я не программист (и мне сейчас очень не хватает таких знаний), разбираюсь как могу, но я и не блондинка, мне по полочкам уж совсем разжевывать не нужно ( ну может только самое непонятное :oops: ). И ясно что никто тут никому ничего не обязан, но вроде как форум этот для того что бы разобраться с игрой и снаружи и изнутри...и поделиться опытом. И когда у меня будет получаться делать что-нить интересное, я тоже поделюсь с Вами, пока у меня есть только идеи, с реализацией не хватает практики
     
    Essence и Flame нравится это.
  5. STaJIKeR

    STaJIKeR Капо

    Лично я использую
    Код:
    MutKillMessage.MutKillMessage
    И более мне ничего не надо, он сообщает все что надо и нужно игрокам.
     
  6. Essence

    Essence Солдат

    Вот информация о типах урона: Ссылка
     
  7. Evmiva

    Evmiva Соучастник

    Урон перков я знаю, спасибо) я имею ввиду другое. Вот как в других играх бывает там крит урон, оверхит, комбо удар итд, тут ничего такого по умолчанию не прописано, что как бы есть, но его не видно?) В общем как я понимаю, можно придумать что угодно, если разобраться как что работает)
     
  8. Flame

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

    Тут есть только обычный урон и урон при попадании в голову)
    Остальное надо самостоятельно реализовывать при желании
     
    Essence нравится это.
  9. Evmiva

    Evmiva Соучастник

    Помогите разобраться изза чего там несколько значений, таки вылетает, от одного выстрела (в голову). С чем это связано, бонусы от сп мешают, или что-то другое, как сделать нормально чтобы точное значение было?
    http://dropmefiles.com/ZURe4
     
  10. Flame

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

    Спасибо за наблюдение
    Правда тут важно отметить, что зомбик должен не полностью быть пристреленным в голову, а должен ещё ходить без головы - тогда такая фигня.
    Причём этот "урон из двух частей" проходит через все GameRules игры, что является косяком.

    Причину пока лень искать (два раза зовётся NetDamage и это не проблема данного мутатора) - просто вылечил последствия для начала
    Поправил ссылку в этом сообщении

    Добавил переменную LastTime и проверяю не очень ли близко по времени два урона по зомбику
    Код:
    class ShowDamageRules extends GameRules;
    ...
    var float LastTime;
    ...
    function int NetDamage( int OriginalDamage, int Damage, Pawn Injured, Pawn InstigatedBy, vector HitLocation, out vector Momentum, class<DamageType> DamageType )
    {
        local ShowDamageItem sdi;
        if    (
                InstigatedBy != none
                &&    PlayerController(InstigatedBy.Controller) != none
                &&    KFMonster(Injured) != none
                &&    Level.TimeSeconds-LastTime>0.01
            )
        {
            ...
        }
        ...
    }
    ...