Вопрос по модификации оружейных мутаторов.

Тема в разделе "Кодинг", создана пользователем Flack, 29 сен 2011.

  1. Flame

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

    "Чиним" скорость анимации во время Zed'а для катаны из WTF
    При нажатии правой кнопки мыши вызывается замедление и скорость использования катаны увеличивается
    Но при игре на выделенном сервере внешне это незаметно

    Для исправления надо сделать 2 вещи.

    1. На клиенте значение KFGameType(Level.Game).bZEDTimeActive всегда равно False, потому что в KFGameType нет никакой репликации для данной переменной и изменяется она только на сервере.
    Поэтому создаём какую-нибудь переменную inZed в классе WTFEquipKatana и добавляем репликацию с сервера на клиент
    Код:
    var bool inZed;
    
    replication
    {
            reliable if(Role < ROLE_Authority)
                    ZEDTime;
            reliable if( Role == ROLE_Authority )
                    inZed;
    }
    Кроме того нам надо поменять ей значения в зависимости от наличия Zed замедления
    Правим WeaponTick:

    Код:
            if (KFGameType(Level.Game).bZEDTimeActive)
            {
                    inZed=true;
     		KFHumanPawn(Instigator).InventorySpeedModifier=500; //it is an INT
    		Instigator.AccelRate=100000.0;
    		KFHumanPawn(Instigator).ModifyVelocity(dt, Instigator.Velocity);
            }
            else
            {
                    inZed=false;
                    ResetMovement();
            }
    2. Теперь правим WTFEquipKatanaFire и WTFEquipKatanaFireB:
    - добавляем simulated к фунции GetFireSpeed, чтобы функция вызывалась и на клиенте
    - заменяем проверку KFGameType(Level.Game).bZEDTimeActive на WTFEquipKatana (Weapon).inZed

    Код:
    simulated function float GetFireSpeed()
    {
    	local float FS;
    	FS = Super(KFMeleeFire).GetFireSpeed();  
    	if (KFGameType(Level.Game) == None)
    		return FS;
    	if (WTFEquipKatana(Weapon).inZed )
    	{
    		return FS * 2.0;
    	}
    	return FS;
    }
    В общем то всё
    Итоговые файлы
     
    xorex, Morkleb, Dr_Killjoy и ещё 1-му нравится это.
  2. Domian

    Domian Соучастник

    Подскажите плз, что и где поменять стандартному 9мм пистолету, что бы его можно было выкидывать\продавать? Может быть где-то уже есть такой мутатор?
     
  3. LLIePLLIeHb

    LLIePLLIeHb Guest

    Тут(ссылка)
     
  4. Domian

    Domian Соучастник

    Огромное спасибо, пойду ковырять)
     
  5. kok-s

    kok-s Консильери

    Как вытащить м79 из втф и сделать его только для огнемётчика?
     
  6. Flame

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

    ну ты вроде уже давно с нами
    и что-то уже неплохо даж правил )
    пора бы уже хотя бы попытаться самостоятельно что-то сделать )
    начинай, а мы поможем - там же всё просто...
    даже ресурсы не надо никакие тащить...
     
  7. kok-s

    kok-s Консильери

    Править и дописывать я более-мение научился, но вот остальное пока туго(( Я вить спрашиваю - вы отвечаете, а люди читают и задают меньше вопросов. Мануалов на форуме почти нет, а таких людей как я кто хочет что то сделать много и где им брать инфу? В любом сообществе которое занимается модернизации игр не особо относятся к новичкам. Я это испытал когда начинал кодить C&C Generals Zero Hour. Так что прошу не бить ногами - я же учусь)) Просто всегда легче делать что то по примеру (я со скидками разобрался только благодаря коментарием Rainishe в файле пулемётчика) вот так.
     
    xorex нравится это.
  8. Flame

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

    ну я вот как-то научился
    не читая практически никаких мануалов
    тем более я писал на этом форуме как переносить оружие из мутатора в мутатор
    а как прописывать чтобы оружие работало для конкретного перка - ну есть куча примеров
    afs12 из WTF, например
    да и по вышеуказанной ссылке есть про это...
     
    Dr_Killjoy и kok-s нравится это.
  9. kok-s

    kok-s Консильери

    Бро ты крут СПС))) Напиши полный мануал, я думаю тут уйма людей будет тебе благодарна.

    Вот как раз нужно именно это:
    Если я буду использовать целые пакеты то скоро клиентам надо будет качать около 700 метров (что не есть гуд :confused: ). В моей ситуации лучше полностью выдирать что то.
     
  10. 3xzet

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

    Памятка новичку...
    1. Если нет мануалов - включить мозг.
    2. Если нет мозга или он запылился и не в состоянии проанализировать исходный код(или применить полученные навыки обращения с различными редакторами) - спрашиваем решение у знающих людей.
    3. Если все равно не получается - ... (тут много разных вариантов от "бросить это занятие" до "убить себя"... )
    Памятка бывалому...
    1. Если за*бало отвечать на одни и те же вопросы - делаем мануал.

    Извините что-то я седня не в духе..
     
    LLIePLLIeHb нравится это.
  11. Dr_Killjoy

    Dr_Killjoy Заблокированные

    Будет очень полезно узнать. А то я недавно столкнулся с такой проблемой, и не знаю как текстуры/анимации/звуки отдельного моба вытащить.
     
  12. kok-s

    kok-s Консильери

    Ну вот что и требовалась доказать. Не только мне интересна эта информация.
     
  13. Morkleb

    Morkleb Соучастник

    подскажите плз как сделать так чтоб фонарик включался только кнопкой F при условии что у оружия уже есть 2 других типа атаки.
     
  14. Dr_Killjoy

    Dr_Killjoy Заблокированные

    Какая кодировка используется, чтобы отображался русский текст, в файлах оружия?

    Была проблема с добавление патронов к оружию, долго не понимал как исправить. Вдруг у кого возникнет, описываю:

    При добавлении альтернативной атаки на оружие, если вы выставляете альт атаке тот же вид патронов, что и основной, при его скидывании, в Pickup добавляется ammo к обоим типам атаки, соотвественно если патроны одинаковые, добавится одно и то же количество к основной и альтернативной атаке. При этом, подбирая оружия, вы получите патроны с обоих атак, т.е. они удваиваются. Как эта проблема решается - берём класс pickup оружия, и переопределяем одну функцию:

    class MyWeaponPickup extends KFWeaponPickup;

    function InitDroppedPickupFor(Inventory Inv)
    {
    local KFWeapon W;
    local Inventory InvIt;
    local byte bSaveAmmo[2];
    local int m;

    W = KFWeapon(Inv);

    if (W != None)
    {
    //Check if any other weapon is using the same ammo
    for(InvIt = W.Owner.Inventory; InvIt!=none; InvIt=InvIt.Inventory)
    {
    if(Weapon(InvIt)!=none && InvIt!=W)
    {
    for(m=0; m < 2; m++)
    {
    if(Weapon(InvIt).AmmoClass[m] == W.AmmoClass[m])
    bSaveAmmo[m] = 1;
    }
    }
    }
    if(bSaveAmmo[0]==0)
    {
    MagAmmoRemaining = W.MagAmmoRemaining;
    AmmoAmount[0] = W.AmmoAmount(0);
    }
    AmmoAmount[1] = 0;

    SellValue = W.SellValue;
    }
    SetPhysics(PHYS_Falling);
    GotoState('FallingPickup');
    Inventory = Inv;
    bAlwaysRelevant = false;
    bOnlyReplicateHidden = false;
    bUpdateSimulatedPosition = true;
    bDropped = true;
    bIgnoreEncroachers = false; // handles case of dropping stuff on lifts etc
    NetUpdateFrequency = 8;
    bNoRespawn = true;

    if ( KFWeapon(Inventory) != none )
    {
    if ( KFWeapon(Inventory).bIsTier2Weapon )
    {
    if ( !KFWeapon(Inventory).bPreviouslyDropped && PlayerController(Pawn(Inventory.Owner).Controller) != none )
    {
    KFWeapon(Inventory).bPreviouslyDropped = true;
    }
    }
    else
    {
    bPreviouslyDropped = KFWeapon(Inventory).bPreviouslyDropped;
    DroppedBy = PlayerController(Pawn(W.Owner).Controller);
    }
    }
    }

    В подчеркнутой строчке видно, что запас патронов к альт атаке обнуляется, и не возникает удвоения патронов при повторном подборе оружия.
     
    ЛОХМАТЫЙ и Flame нравится это.
  15. ALEX_GREEN

    ALEX_GREEN Соучастник

    А как изменить звук перезарядки дробовика, там выходит 2 звука, 1-й - зарядка патронов, 2-ой - конец перезарядки...
    Где найти эти параметры? (имеется ввиду не стандартный дроб, а другие мутаторы?)
     
  16. LLIePLLIeHb

    LLIePLLIeHb Guest

    Какой именно дробовик?
     
  17. ALEX_GREEN

    ALEX_GREEN Соучастник

    Да любой стандартный, пусть АА12, причем не только дробовик, можно на любом примере, просто надоели стандартные звуки
     
  18. LLIePLLIeHb

    LLIePLLIeHb Guest

    Звук перезарядки? Не думаю что нужно его трогать . Поменять звук выстрела можно и в коде . А звук ерезарядки на уровне кода не поменять.
     
  19. ALEX_GREEN

    ALEX_GREEN Соучастник

    StereoFireSound
    FireSound
    NoAmmoSound

    Это давно видел, меняется без проблемм, а вот на ReloadSound никак не реагирует((
    А где вообще ети звуки перезарядки прописываются, в анимации что-ли?

    Все, нашел)) Действительно в анимации))
     
  20. Flack

    Flack Солдат

    Еще вопрос в догонку: декомпильнул СВД-С ( та что от "Ы", отдельное спасибо ребятам за ствол), понизил немного цену (ну реалии моего серва позволяют ее прикупить только к 8-й волне, раньше денег не хватает), откомпилировал обратно - в результате перестала работать оптика, т.е. вообще к прицелу не приблежается, как висела "от бедра", так и висит. Есть мысли?