WeldArmor

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

  1. hegyeri

    hegyeri Соучастник

    Unfortunately, this old. :(
     
  2. Flame

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

    Link
     
    key и ЛОХМАТЫЙ нравится это.
  3. RA1NNY

    RA1NNY Соучастник

    Flame, сварка будет засчитываться в статистику ?
     
  4. Flame

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

    а я то откуда знаю )
    мутатор серый
    для SP будет, небось, для обычного кача нет
     
  5. RA1NNY

    RA1NNY Соучастник

    Ну что ж, попробуем.. ибо я сам себе поправлял данный мутатор, работает нормально, но вот в статистику не идет..
     
  6. hegyeri

    hegyeri Соучастник

    RA1NNY:
    Can you share with us will be a workable version when it's done?! :blush:
     
  7. kok-s

    kok-s Капо

    Вот может это прокатит. Пробуйте.
     
  8. RA1NNY

    RA1NNY Соучастник

    http://yadi.sk/d/CFkXUTxo6wzNI
    I have edited and works for me...
     
  9. hegyeri

    hegyeri Соучастник

    thank you very much!
    source file to share, pls!
     
  10. kok-s

    kok-s Капо

    Ребят подскажите как добавить проверку на перк (мне нужно чтоб только один перк юзал заварку)?
     
  11. key

    key Солдат

    Ды выложил бы уже кто-нибудь рабочую версию?
     
  12. Flame

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

    key нравится это.
  13. kok-s

    kok-s Капо

    Ну ужели не кто ни знает?
     
  14. Flame

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

    Вот ты какой год с нами. И ты не только не знаешь, как это делать, но даже не знаешь, где это посмотреть.
    В каждом втором мутаторе есть проверка на перк.
    Смысл тебе помогать, если ты не хочешь изучить хотя бы минимум

    В мутаторе есть кусок нужного тебе года
     
  15. key

    key Солдат

    Попробую облегчить труды Flame...

    Думаю в файле WeldFireEx.uc будет достаточно изменить проверку:

    оригинал

    simulated function Timer()
    {
    local Actor HitActor;
    local vector StartTrace, EndTrace, HitLocation, HitNormal,AdjustedLocation;
    local rotator PointRot;
    local int MyDamage;
    if( !KFWeapon(Weapon).bNoHit )
    {
    MyDamage = MeleeDamage + Rand(MaxAdditionalDamage);
    if ( KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo) != none && KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo).ClientVeteranSkill != none )

    модификация

    Код:
    		if ( KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo) != none && KFPlayerReplicationInfo(KFHumanPawn(InstigatedBy).PlayerReplicationInfo).ClientVeteranSkill == 'SRVetSupportSpec')
    
     
    Vitality нравится это.
  16. kok-s

    kok-s Капо

    Flame
    Ты видимо думаешь, что я всегда спрашиваю прежде чем что то сделать. Я задаю вопрос только тогда, когда уже перебрал кучу вариантов сам. Если нет желания помочь мог бы просто пройти мимо этой темы.
     
  17. 3xzet

    3xzet Мододел "Ы"

    В первом посте есть версия с проверкой на перк. Если не нашёл, то вот кусок:
    Код:
    function bool CanFindHealee()
    {
    	local KFHumanPawn Healtarget;
    	local KFPlayerReplicationInfo KFPRI;
    	KFPRI = KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo);
    	Healtarget = GetHealee();
    	CachedHealee = Healtarget;
    
    	// Can't use syringe if we can't find a target
    	if ( Healtarget == none )
    	{
    		return false;
    	}
    
    	// Can't use syringe if our target is already being healed to full health.
    	if ( Healtarget.ShieldStrength == 100 )
    	{
    		return false;
    	}
    	if ( Healtarget.ShieldStrength < 1 )
    	{
    		return false;
    	}
    	if (KFPRI != none)
    	{
    		if (KFPlayerReplicationInfo(Weapon.Instigator.PlayerReplicationInfo).ClientVeteranSkill.default.PerkIndex==1)
            return true;
    	else
    		return false;
    	}
    }
    
    и виноват тут ты, а не флейм
     
  18. Flame

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

    Ну я ответил на твой вопрос:
    А форма моего ответа была продиктована формой твоего вопроса:
    Очень многие знают, но мало кто хочет тебе помочь. Я озвучил одну из причин.

    Я не знаю где ты там искал, но сходу навскидку в голову приходят паки с оружием WTF, hiyokomod и прочие Баллистики, где возможности оружия прикручены к конкретному перку.
    Кроме того куча мутаторов, где идёт та или иная проверка на перк.
    В этой теме нужный код мелькал кучу раз, я молчу уж про тему ServerPerks.

    Такое впечатление, что за эти годы ты освоил только топорный поиск точного ответа и копипаст...

    Предупреждая возможный вопрос
    1. Можно тупо сделать, чтобы у всех остальных перков эта сварка пропадала
    simulated function WeaponTick(float dt)
    {
    local KFPlayerReplicationInfo KFPRI;
    KFPRI = KFPlayerReplicationInfo(Instigator.PlayerReplicationInfo);
    if(InStr(Caps(string(KFPRI.ClientVeteranSkill.Name)),Caps("VetSupportSpec"))<0)
    {
    Destroyed();
    Destroy();
    }
    или
    if(KFPRI.ClientVeteranSkill.Name!='SRVetSupportSpec')
    {
    Destroyed();
    Destroy();
    }
    или
    if(KFPRI.ClientVeteranSkill!=class'SRVetSupportSpec')
    {
    Destroyed();
    Destroy();
    }
    или
    if(KFPlayerReplicationInfo(Weapon.Instigator.PlayerReplicationInfo).ClientVeteranSkill.default.PerkIndex!=1)
    {
    Destroyed();
    Destroy();
    }
    }
    2. Если хочешь, чтобы только сапп мог варить бронь, то можно в коде обозначенного выше мутатора добавить проверку, например, сюда
    else if(CachedHealee !=none && Instigator != none && Level.NetMode!=NM_Client)

    на

    else if(CachedHealee !=none && Instigator != none && Level.NetMode!=NM_Client && KFPlayerController(Instigator.Controller)!=none && KFPlayerController(Instigator.Controller).SelectedVeterancy.Name == 'SRVetSupportSpec')
    Или сделать как показал key
    Кстати, странный какой-то код у этой сварки


    if (
    CachedHealee.ShieldStrength < 10
    && KFPlayerController(CachedHealee.Controller).SelectedVeterancy.Name != 'SRVetSupportSpec'
    )

    Почему мы проверяем сапп ли тот кого сваривают или нет )
    Там же суть в том сапп ли тот кто сваривает ))
    Так что кто пользуется этой версией - поправьте проверку
    Код:
    KFPlayerController(Instigator.Controller).SelectedVeterancy.Name != 'SRVetSupportSpec'
    
     
    key нравится это.
  19. key

    key Солдат

    Ну ещё не лишним будет сменить название твоей изменённой версии мутатора, для чего нужно переименовать каталог ( CustomWeldArmor ) и в трёх местах ( по поиску ) в файлах мутатора перед компиляцией.
     
  20. zekis96

    zekis96 Соучастник