Архив ServerPerks 5,ServerPerks 6

Тема в разделе "Мутаторы", создана пользователем alexgreen, 10 янв 2011.

Метки:
  1. Swer

    Swer После Юзера

    hardpat где то есть на форуме как пофиксить
     
  2. bigbrain911

    bigbrain911 Не новенький

    Дайте как пофиксить нард патрик
     
  3. 3xzet

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

  4. VETAL

    VETAL После Юзера

    Не поделишься кодом на исправление хаскгана?
     
  5. 3xzet

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

    взял функцию из HUDKillingFloor.uc, добавил её в SRHUDKillingFloor.uc
    Код:
    //=======================================================
    //добавлено из версии 1030 
    //=======================================================
    
    simulated function UpdateHud()
    {
    	local float MaxGren, CurGren;
    	local KFHumanPawn KFHPawn;
    	local Syringe S;
    
    	if( PawnOwner == none )
    	{
    		super.UpdateHud();
    		return;
    	}
    
    	KFHPawn = KFHumanPawn(PawnOwner);
    
    	CalculateAmmo();
    
    	if ( KFHPawn != none )
    	{
    		FlashlightDigits.Value = 100 * (float(KFHPawn.TorchBatteryLife) / float(KFHPawn.default.TorchBatteryLife));
    	}
    
    	if ( KFWeapon(PawnOwner.Weapon) != none )
    	{
    		BulletsInClipDigits.Value = KFWeapon(PawnOwner.Weapon).MagAmmoRemaining;
    
    		if ( BulletsInClipDigits.Value < 0 )
    		{
    			BulletsInClipDigits.Value = 0;
    		}
    	}
    
    	ClipsDigits.Value = CurClipsPrimary;
    	SecondaryClipsDigits.Value = CurClipsSecondary;
    
    	if ( LAW(PawnOwner.Weapon) != none || Crossbow(PawnOwner.Weapon) != none
            || M79GrenadeLauncher(PawnOwner.Weapon) != none || PipeBombExplosive(PawnOwner.Weapon) != none
            || HuskGun(PawnOwner.Weapon) != none /*|| RPG(PawnOwner.Weapon) != none */|| FireBombExplosive(PawnOwner.Weapon) != none  )
    	{
    		ClipsDigits.Value += KFWeapon(PawnOwner.Weapon).MagAmmoRemaining;
    	}
    
    	if ( PlayerGrenade == none )
    	{
    		FindPlayerGrenade();
    	}
    
    	if ( PlayerGrenade != none )
    	{
    		PlayerGrenade.GetAmmoCount(MaxGren, CurGren);
    		GrenadeDigits.Value = CurGren;
    	}
    	else
    	{
    		GrenadeDigits.Value = 0;
    	}
    
     	HealthDigits.Value = PawnOwner.Health;
    	ArmorDigits.Value = xPawn(PawnOwner).ShieldStrength;
    
    	// "Poison" the health meter
    	if ( VomitHudTimer > Level.TimeSeconds )
    	{
    		HealthDigits.Tints[0].R = 196;
    		HealthDigits.Tints[0].G = 206;
    		HealthDigits.Tints[0].B = 0;
    
    		HealthDigits.Tints[1].R = 196;
    		HealthDigits.Tints[1].G = 206;
    		HealthDigits.Tints[1].B = 0;
    	}
    	else if ( PawnOwner.Health < 50 )
    	{
    		if ( Level.TimeSeconds < SwitchDigitColorTime )
    		{
    			HealthDigits.Tints[0].R = 255;
    			HealthDigits.Tints[0].G = 200;
    			HealthDigits.Tints[0].B = 0;
    
    			HealthDigits.Tints[1].R = 255;
    			HealthDigits.Tints[1].G = 200;
    			HealthDigits.Tints[1].B = 0;
    		}
    		else
    		{
    			HealthDigits.Tints[0].R = 255;
    			HealthDigits.Tints[0].G = 0;
    			HealthDigits.Tints[0].B = 0;
    
    			HealthDigits.Tints[1].R = 255;
    			HealthDigits.Tints[1].G = 0;
    			HealthDigits.Tints[1].B = 0;
    
    			if ( Level.TimeSeconds > SwitchDigitColorTime + 0.2 )
    			{
    				SwitchDigitColorTime = Level.TimeSeconds + 0.2;
    			}
    		}
    	}
    	else
    	{
    		HealthDigits.Tints[0].R = 255;
    		HealthDigits.Tints[0].G = 50;
    		HealthDigits.Tints[0].B = 50;
    
    		HealthDigits.Tints[1].R = 255;
    		HealthDigits.Tints[1].G = 50;
    		HealthDigits.Tints[1].B = 50;
    	}
    
    
    
    	CashDigits.Value = PawnOwnerPRI.Score;
    
    	WelderDigits.Value = 100 * (CurAmmoPrimary / MaxAmmoPrimary);
    	SyringeDigits.Value = WelderDigits.Value;
    
    	if ( SyringeDigits.Value < 50 )
    	{
    		SyringeDigits.Tints[0].R = 128;
    		SyringeDigits.Tints[0].G = 128;
    		SyringeDigits.Tints[0].B = 128;
    
    		SyringeDigits.Tints[1] = SyringeDigits.Tints[0];
    	}
    	else if ( SyringeDigits.Value < 100 )
    	{
    		SyringeDigits.Tints[0].R = 192;
    		SyringeDigits.Tints[0].G = 96;
    		SyringeDigits.Tints[0].B = 96;
    
    		SyringeDigits.Tints[1] = SyringeDigits.Tints[0];
    	}
    	else
    	{
    		SyringeDigits.Tints[0].R = 255;
    		SyringeDigits.Tints[0].G = 64;
    		SyringeDigits.Tints[0].B = 64;
    
    		SyringeDigits.Tints[1] = SyringeDigits.Tints[0];
    	}
    
    	if ( bDisplayQuickSyringe  )
    	{
    		S = Syringe(PawnOwner.FindInventoryType(class'Syringe'));
    		if ( S != none )
    		{
    			QuickSyringeDigits.Value = S.ChargeBar() * 100;
    
    			if ( QuickSyringeDigits.Value < 50 )
    			{
    				QuickSyringeDigits.Tints[0].R = 128;
    				QuickSyringeDigits.Tints[0].G = 128;
    				QuickSyringeDigits.Tints[0].B = 128;
    
    				QuickSyringeDigits.Tints[1] = QuickSyringeDigits.Tints[0];
    			}
    			else if ( QuickSyringeDigits.Value < 100 )
    			{
    				QuickSyringeDigits.Tints[0].R = 192;
    				QuickSyringeDigits.Tints[0].G = 96;
    				QuickSyringeDigits.Tints[0].B = 96;
    
    				QuickSyringeDigits.Tints[1] = QuickSyringeDigits.Tints[0];
    			}
    			else
    			{
    				QuickSyringeDigits.Tints[0].R = 255;
    				QuickSyringeDigits.Tints[0].G = 64;
    				QuickSyringeDigits.Tints[0].B = 64;
    
    				QuickSyringeDigits.Tints[1] = QuickSyringeDigits.Tints[0];
    			}
    		}
    	}
    
    	// Hints
    	if ( PawnOwner.Health <= 50 )
    	{
    		KFPlayerController(PlayerOwner).CheckForHint(51);
    	}
    
    	Super.UpdateHud();
    }
    //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    //============================================================
    
    нашел следующий код в SRHUDKillingFloor.uc и добавил HuskGun
    Код:
    .............
    .....
    else if ( PawnOwner.Weapon.GetAmmoClass(0) != none )
    			{
    				if ( !bLightHud )
    				{
    					DrawSpriteWidget(C, ClipsBG);
    				}
    
    				if ( HuskGun(PawnOwner.Weapon) != none )       ////// H
    				{                                              ////// U
    					ClipsDigits.PosX = 0.873;              ////// S
                        DrawNumericWidget(C, ClipsDigits, DigitsSmall);            ////// K
                        ClipsDigits.PosX = default.ClipsDigits.PosX;               ////// -
    				}                                              ////// G
    				else                                           ////// U
    				{                                              ////// N
    				    DrawNumericWidget(C, ClipsDigits, DigitsSmall);
    				}
    				
    				if ( LAW(PawnOwner.Weapon) != none )
    				{
    					DrawSpriteWidget(C, LawRocketIcon);
    				}
    				else if ( Crossbow(PawnOwner.Weapon) != none )
    				{
    					DrawSpriteWidget(C, ArrowheadIcon);
    				}
    				else if ( PipeBombExplosive(PawnOwner.Weapon) != none )
    				{
                        DrawSpriteWidget(C, PipeBombIcon);
    				}
    				else if ( M79GrenadeLauncher(PawnOwner.Weapon) != none )
    				{
    					DrawSpriteWidget(C, M79Icon);
    				}
    				else if ( HuskGun(PawnOwner.Weapon) != none )   //////H G
    				{                                               //////U U
    					DrawSpriteWidget(C, HuskAmmoIcon);      //////S N
    				}                                               //////K
    				else
    .........
    ............
    
     
    Dave_Scream и VETAL нравится это.
  6. prototype22

    prototype22 После Юзера

    "и у хаскгана не отображается иконка"
    Непонял, о какой иконке идет реч? рас 10 пересмотрел и не увидел чтоб что-то там не отображалось, все на месте и без редактирования... использую СП 5.10
     
  7. shibata

    shibata Новенький

    Вот что не работающее нашли игроки у нас на сервере.

    Кто поможет разобраться с фиксами??
     
  8. VETAL

    VETAL После Юзера

    1. надо переписывать код серверперкса, пока что никто не сообразил как, ну либо не делится
    2. это сделано специально в новой версии серверперков
    3. так же надо править серверпекс, хз как
    4. Это новая фича, официально от разработчиков
     
  9. Фрэгл

    Фрэгл Administrator

    Я не знаю,в какой версии мутатора это реализовано( а скорее это просто переделка такая),но на мой взгляд,такое упорядочивание меню в магазине более удобно.

    [​IMG]

    Ссылка на тему,если что...
     
    Kiyo и kok-s нравится это.
  10. Дизел721

    Дизел721 Не новенький

    спасибо большое! умные люди сидят здесь)

    сервер перкс с пулеметчиком не работает на версии 1030! что делать? помогите плз!
     
  11. Rainishe

    Rainishe После Юзера

    Поправлю чуть позже
     
  12. Дизел721

    Дизел721 Не новенький

    спасибо огромное! буду ждать :rolleyes:
     
  13. 3xzet

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

    а ещё здесь сидят "умники" :teehee:

    Сообразил. Делюсь.
    Восстанавливаем худ:
    Находим в SRHUDKillingFloor.uc код (ориентируемся по хаскгану и гранатомёту) и добавляем следующее (внизу выделено двойным слэшем):
    Код:
    
    				else if ( M79GrenadeLauncher(PawnOwner.Weapon) != none )
    				{
    					DrawSpriteWidget(C, M79Icon);
    				}
    				else if ( HuskGun(PawnOwner.Weapon) != none )
    				{
    					DrawSpriteWidget(C, HuskAmmoIcon);
    				}
    				else
    				{
    					if ( !bLightHud )
    					{
    						DrawSpriteWidget(C, BulletsInClipBG);
    					}
    
    					DrawNumericWidget(C, BulletsInClipDigits, DigitsSmall);
    
    					if ( Flamethrower(PawnOwner.Weapon) != none )
    					{
    						DrawSpriteWidget(C, FlameIcon);
    						DrawSpriteWidget(C, FlameTankIcon);
    					}
    				    else if ( Shotgun(PawnOwner.Weapon) != none || BoomStick(PawnOwner.Weapon) != none || Winchester(PawnOwner.Weapon) != none 
    					|| BenelliShotgun(PawnOwner.Weapon) != none )
    				    {
    					    DrawSpriteWidget(C, SingleBulletIcon);
    						DrawSpriteWidget(C, BulletsInClipIcon);
    				    }
    					else
    					{
    						DrawSpriteWidget(C, ClipsIcon);
    						DrawSpriteWidget(C, BulletsInClipIcon);
    					}
    				}
    
    				if ( KFWeapon(PawnOwner.Weapon) != none && KFWeapon(PawnOwner.Weapon).bTorchEnabled )
    				{
    					if ( !bLightHud )
    					{
    						DrawSpriteWidget(C, FlashlightBG);
    					}
    
    					DrawNumericWidget(C, FlashlightDigits, DigitsSmall);
    
    					if ( KFWeapon(PawnOwner.Weapon).FlashLight != none && KFWeapon(PawnOwner.Weapon).FlashLight.bHasLight )
    					{
    						DrawSpriteWidget(C, FlashlightIcon);
    					}
    					else
    					{
    						DrawSpriteWidget(C, FlashlightOffIcon);
    					}
    				}
    			}
    			
                // Secondary ammo  ЭТО НУЖНО ДОБАВИТЬ (выделил двойным слэшом)
                if ( KFWeapon(PawnOwner.Weapon) != none && KFWeapon(PawnOwner.Weapon).bHasSecondaryAmmo )        //
    			{                                                                                    //
    				if ( !bLightHud )                                                            // 
    				{                                                                            //
    					DrawSpriteWidget(C, SecondaryClipsBG);                               //
    				}                                                                            // 
                                                                                                                 //
    				DrawNumericWidget(C, SecondaryClipsDigits, DigitsSmall);                     // 
    				DrawSpriteWidget(C, SecondaryClipsIcon);                                     // 
    			}                                                                                    //
    		}
    	}
    
    

    Восстанавливаем гранаты подствола в магазине, а так же цену на "патроны" хаскгана и прочую мелочь (если покапаться тут можно и для мк23 койчаво подставить :teehee: )
    Заменяем функцию UpdateMyBuyables в SRKFBuyMenuInvList.uc на эту
    Код:
    
    function UpdateMyBuyables()
    {
    	local class<KFVeterancyTypes> PlayerVeterancy;
    	local KFPlayerReplicationInfo KFPRI;
    	local GUIBuyable MyBuyable, KnifeBuyable, FragBuyable, SecondaryAmmoBuyable;
    	local Inventory CurInv;
    	local KFLevelRules KFLR;
    	local bool bHasDual, bHasDualCannon, bHasDual44;
    	local float CurAmmo, MaxAmmo;
    	local class<KFWeaponPickup> MyPickup, MyPrimaryPickup;
    	local int DualDivider, NumInvItems;
    
    	//Let's start with our current inventory
    	if ( PlayerOwner().Pawn.Inventory == none )
        {
            log("Inventory is none!");
            return;
        }
    
    	DualDivider = 1;
    	AutoFillCost = 0.00000;
    
    	//Clear the MyBuyables array
    	MyBuyables.Remove(0, MyBuyables.Length);
    
    	// Grab Players Veterancy for quick reference
    	if ( KFPlayerController(PlayerOwner()) != none && KFPlayerReplicationInfo(PlayerOwner().PlayerReplicationInfo).ClientVeteranSkill != none )
    	{
    		PlayerVeterancy = KFPlayerReplicationInfo(PlayerOwner().PlayerReplicationInfo).ClientVeteranSkill;
    	}
    	else
    	{
    		PlayerVeterancy = class'KFVeterancyTypes';
    	}
    
    	KFPRI = KFPlayerReplicationInfo(PlayerOwner().PlayerReplicationInfo);
    
    	//Check if we have dualies or dual hand cannons
    	for ( CurInv = PlayerOwner().Pawn.Inventory; CurInv != none; CurInv = CurInv.Inventory )
        {
    		if ( KFWeapon(CurInv) != none )
            {
    			if ( KFWeapon(CurInv).default.PickupClass == class'DualDeaglePickup' )
    	    	{
    				bHasDualCannon = true;
    			}
    
    			if ( KFWeapon(CurInv).default.PickupClass == class'DualiesPickup' )
    	    	{
    				bHasDual = true;
    			}
    
    			if ( KFWeapon(CurInv).default.PickupClass == class'Dual44MagnumPickup' )
    	    	{
    				bHasDual44 = true;
    			}
    		}
    	}
    
    	// Grab the items for sale, we need the categories
        foreach PlayerOwner().DynamicActors(class'KFLevelRules', KFLR)
            break;
    
    	// Fill the Buyables
    	NumInvItems = 0;
    	for ( CurInv = PlayerOwner().Pawn.Inventory; CurInv != none; CurInv = CurInv.Inventory )
        {
    		if ( CurInv.IsA('Ammunition') )
            {
                continue;
            }
    
            // No need for Syringe and Welder
            if ( CurInv.IsA('Welder') || CurInv.IsA('Syringe') )
            {
    			continue;
    		}
    
    		if ( CurInv.IsA('DualDeagle') || CurInv.IsA('Dual44Magnum') )
    		{
    			DualDivider = 2;
    		}
    		else
    		{
    			DualDivider = 1;
    		}
    
    		MyPickup = class<KFWeaponPickup>(KFWeapon(CurInv).default.PickupClass);
    
            // if we already own dualies, we do not need the single 9mm in the list
            if ( (bHasDual && MyPickup == class'SinglePickup') ||
    			 (bHasDualCannon && MyPickup == class'DeaglePickup') ||
    			 (bHasDual44 && MyPickup == class'Magnum44Pickup') )
            {
                continue;
            }
    
            if ( CurInv.IsA('KFWeapon') )
            {
    			KFWeapon(CurInv).GetAmmoCount(MaxAmmo, CurAmmo);
    
    			MyBuyable = new class'GUIBuyable';
    
    			// This is a rather ugly way to support Secondary Ammo because all of the needed Data is jumbled between the Weapon and it's 2 Pickup Classes
    			if ( KFWeapon(CurInv).bHasSecondaryAmmo )
    			{
    				MyPrimaryPickup = MyPickup.default.PrimaryWeaponPickup;
    
    				MyBuyable.ItemName 			= MyPickup.default.ItemShortName;
    				MyBuyable.ItemDescription 	= KFWeapon(CurInv).default.Description;
    				MyBuyable.ItemCategorie		= KFLR.EquipmentCategories[MyPickup.default.EquipmentCategoryID].EquipmentCategoryName;
    				MyBuyable.ItemImage			= KFWeapon(CurInv).default.TraderInfoTexture;
    				MyBuyable.ItemWeaponClass	= KFWeapon(CurInv).class;
    				MyBuyable.ItemAmmoClass		= KFWeapon(CurInv).default.FireModeClass[0].default.AmmoClass;
    				MyBuyable.ItemPickupClass	= MyPrimaryPickup;
    				MyBuyable.ItemCost			= (float(MyPickup.default.Cost) * PlayerVeterancy.static.GetCostScaling(KFPRI, MyPickup)) / DualDivider;
    				MyBuyable.ItemAmmoCost		= MyPrimaryPickup.default.AmmoCost * PlayerVeterancy.static.GetAmmoCostScaling(KFPRI, MyPrimaryPickup) * PlayerVeterancy.static.GetMagCapacityMod(KFPRI, KFWeapon(CurInv));
        			MyBuyable.ItemFillAmmoCost	= (int(((MaxAmmo - CurAmmo) * float(MyPrimaryPickup.default.AmmoCost)) / float(KFWeapon(CurInv).default.MagCapacity))) * PlayerVeterancy.static.GetAmmoCostScaling(KFPRI, MyPrimaryPickup);
    				MyBuyable.ItemWeight		= KFWeapon(CurInv).Weight;
    				MyBuyable.ItemPower			= MyPickup.default.PowerValue;
    				MyBuyable.ItemRange			= MyPickup.default.RangeValue;
    				MyBuyable.ItemSpeed			= MyPickup.default.SpeedValue;
    				MyBuyable.ItemAmmoCurrent	= CurAmmo;
    				MyBuyable.ItemAmmoMax		= MaxAmmo;
    				MyBuyable.bMelee			= (KFMeleeGun(CurInv) != none);
    				MyBuyable.bSaleList			= false;
    				MyBuyable.ItemPerkIndex		= MyPickup.default.CorrespondingPerkIndex;
    
    				if ( KFWeapon(CurInv) != none && KFWeapon(CurInv).SellValue != -1 )
    				{
    					MyBuyable.ItemSellValue = KFWeapon(CurInv).SellValue;
    				}
    				else
    				{
    					MyBuyable.ItemSellValue = MyBuyable.ItemCost * 0.75;
    				}
    
    				if ( !MyBuyable.bMelee && int(MaxAmmo) > int(CurAmmo))
    				{
    					AutoFillCost += MyBuyable.ItemFillAmmoCost;
    				}
    
    				MyBuyable.bSellable	= !KFWeapon(CurInv).default.bKFNeverThrow;
    
    				MyBuyables.Insert(0, 1);
    				MyBuyables[0] = MyBuyable;
    
    				NumInvItems++;
    
    				KFWeapon(CurInv).GetSecondaryAmmoCount(MaxAmmo, CurAmmo);
    
    				MyBuyable = new class'GUIBuyable';
    
    				MyBuyable.ItemName 			= MyPickup.default.SecondaryAmmoShortName;
    				MyBuyable.ItemDescription 	= KFWeapon(CurInv).default.Description;
    				MyBuyable.ItemCategorie		= KFLR.EquipmentCategories[MyPickup.default.EquipmentCategoryID].EquipmentCategoryName;
    				MyBuyable.ItemImage			= KFWeapon(CurInv).default.TraderInfoTexture;
    				MyBuyable.ItemWeaponClass	= KFWeapon(CurInv).class;
    				MyBuyable.ItemAmmoClass		= KFWeapon(CurInv).default.FireModeClass[1].default.AmmoClass;
    				MyBuyable.ItemPickupClass	= MyPickup;
    				MyBuyable.ItemCost			= (float(MyPickup.default.Cost) * PlayerVeterancy.static.GetCostScaling(KFPRI, MyPickup)) / DualDivider;
    				MyBuyable.ItemAmmoCost		= MyPickup.default.AmmoCost * PlayerVeterancy.static.GetAmmoCostScaling(KFPRI, MyPickup) * PlayerVeterancy.static.GetMagCapacityMod(KFPRI, KFWeapon(CurInv));
    				MyBuyable.ItemFillAmmoCost	= (int(((MaxAmmo - CurAmmo) * float(MyPickup.default.AmmoCost)) /* Secondary Mags always have a Mag Capacity of 1? / float(KFWeapon(CurInv).default.MagCapacity)*/)) * PlayerVeterancy.static.GetAmmoCostScaling(KFPRI, MyPickup);
    				MyBuyable.ItemWeight		= KFWeapon(CurInv).Weight;
    				MyBuyable.ItemPower			= MyPickup.default.PowerValue;
    				MyBuyable.ItemRange			= MyPickup.default.RangeValue;
    				MyBuyable.ItemSpeed			= MyPickup.default.SpeedValue;
    				MyBuyable.ItemAmmoCurrent	= CurAmmo;
    				MyBuyable.ItemAmmoMax		= MaxAmmo;
    				MyBuyable.bMelee			= (KFMeleeGun(CurInv) != none);
    				MyBuyable.bSaleList			= false;
    				MyBuyable.ItemPerkIndex		= MyPickup.default.CorrespondingPerkIndex;
    
    				if ( KFWeapon(CurInv) != none && KFWeapon(CurInv).SellValue != -1 )
    				{
    					MyBuyable.ItemSellValue = KFWeapon(CurInv).SellValue;
    				}
    				else
    				{
    					MyBuyable.ItemSellValue = MyBuyable.ItemCost * 0.75;
    				}
    
    				if ( !MyBuyable.bMelee && int(MaxAmmo) > int(CurAmmo))
    				{
    					AutoFillCost += MyBuyable.ItemFillAmmoCost;
    				}
    			}
    			else
    			{
    				MyBuyable.ItemName 			= MyPickup.default.ItemShortName;
    				MyBuyable.ItemDescription 	= KFWeapon(CurInv).default.Description;
    				MyBuyable.ItemCategorie		= KFLR.EquipmentCategories[MyPickup.default.EquipmentCategoryID].EquipmentCategoryName;
    				MyBuyable.ItemImage			= KFWeapon(CurInv).default.TraderInfoTexture;
    				MyBuyable.ItemWeaponClass	= KFWeapon(CurInv).class;
    				MyBuyable.ItemAmmoClass		= KFWeapon(CurInv).default.FireModeClass[0].default.AmmoClass;
    				MyBuyable.ItemPickupClass	= MyPickup;
    				MyBuyable.ItemCost			= (float(MyPickup.default.Cost) * PlayerVeterancy.static.GetCostScaling(KFPRI, MyPickup)) / DualDivider;
    				MyBuyable.ItemAmmoCost		= MyPickup.default.AmmoCost * PlayerVeterancy.static.GetAmmoCostScaling(KFPRI, MyPickup) * PlayerVeterancy.static.GetMagCapacityMod(KFPRI, KFWeapon(CurInv));
                    if( MyPickup == class'HuskGunPickup' )
    				{
        				MyBuyable.ItemFillAmmoCost	= (int(((MaxAmmo - CurAmmo) * float(MyPickup.default.AmmoCost)) / float(MyPickup.default.BuyClipSize))) * PlayerVeterancy.static.GetAmmoCostScaling(KFPRI, MyPickup);
    			    }
    			    else
    			    {
        				MyBuyable.ItemFillAmmoCost	= (int(((MaxAmmo - CurAmmo) * float(MyPickup.default.AmmoCost)) / float(KFWeapon(CurInv).default.MagCapacity))) * PlayerVeterancy.static.GetAmmoCostScaling(KFPRI, MyPickup);
    			    }
    				MyBuyable.ItemWeight		= KFWeapon(CurInv).Weight;
    				MyBuyable.ItemPower			= MyPickup.default.PowerValue;
    				MyBuyable.ItemRange			= MyPickup.default.RangeValue;
    				MyBuyable.ItemSpeed			= MyPickup.default.SpeedValue;
    				MyBuyable.ItemAmmoCurrent	= CurAmmo;
    				MyBuyable.ItemAmmoMax		= MaxAmmo;
    				MyBuyable.bMelee			= (KFMeleeGun(CurInv) != none);
    				MyBuyable.bSaleList			= false;
    				MyBuyable.ItemPerkIndex		= MyPickup.default.CorrespondingPerkIndex;
    
    				if ( KFWeapon(CurInv) != none && KFWeapon(CurInv).SellValue != -1 )
    				{
    					MyBuyable.ItemSellValue = KFWeapon(CurInv).SellValue;
    				}
    				else
    				{
    					MyBuyable.ItemSellValue = MyBuyable.ItemCost * 0.75;
    				}
    
    				if ( !MyBuyable.bMelee && int(MaxAmmo) > int(CurAmmo))
    				{
    					AutoFillCost += MyBuyable.ItemFillAmmoCost;
    				}
    			}
    
    			if ( KFWeapon(CurInv).bHasSecondaryAmmo )
    			{
    				MyBuyable.bSellable	= false;
    				SecondaryAmmoBuyable = MyBuyable;
    			}
    			else if ( CurInv.IsA('Knife') )
    			{
    				MyBuyable.bSellable	= false;
    				KnifeBuyable = MyBuyable;
    			}
    			else if ( CurInv.IsA('Frag') )
    			{
    				MyBuyable.bSellable	= false;
    				FragBuyable = MyBuyable;
    			}
    			else if ( NumInvItems < 7 )
    			{
    				MyBuyable.bSellable	= !KFWeapon(CurInv).default.bKFNeverThrow;
    
    				MyBuyables.Insert(0, 1);
    				MyBuyables[0] = MyBuyable;
    
    				NumInvItems++;
    			}
    		}
    	}
    
    	MyBuyable = new class'GUIBuyable';
    
    	MyBuyable.ItemName 			= class'BuyableVest'.default.ItemName;
    	MyBuyable.ItemDescription 	= class'BuyableVest'.default.ItemDescription;
    	MyBuyable.ItemCategorie		= "";
    	MyBuyable.ItemImage			= class'BuyableVest'.default.ItemImage;
    	MyBuyable.ItemAmmoCurrent	= PlayerOwner().Pawn.ShieldStrength;
    	MyBuyable.ItemAmmoMax		= 100;
    	MyBuyable.ItemCost			= int(class'BuyableVest'.default.ItemCost * PlayerVeterancy.static.GetCostScaling(KFPlayerReplicationInfo(PlayerOwner().PlayerReplicationInfo), class'Vest'));
    	MyBuyable.ItemAmmoCost		= MyBuyable.ItemCost / 100;
    	MyBuyable.ItemFillAmmoCost	= int((100.0 - MyBuyable.ItemAmmoCurrent) * MyBuyable.ItemAmmoCost);
    	MyBuyable.bIsVest			= true;
    	MyBuyable.bMelee			= false;
    	MyBuyable.bSaleList			= false;
    	MyBuyable.bSellable			= false;
    	MyBuyable.ItemPerkIndex		= class'BuyableVest'.default.CorrespondingPerkIndex;
    
    	MyBuyables[7] = none;
    
    	if ( SecondaryAmmoBuyable != none )
    	{
    		MyBuyables[8] = SecondaryAmmoBuyable;
    	}
    	else
    	{
    		MyBuyables[8] = KnifeBuyable;
    	}
    
    	MyBuyables[9] = FragBuyable;
    	MyBuyables[10] = MyBuyable;
    
    	//Now Update the list
    	UpdateList();
    }
    
    
     
    VENOM:), Винни, key и 5 другим нравится это.
  14. Swer

    Swer После Юзера

    respect ;)
     
  15. Rainishe

    Rainishe После Юзера

    опять чего то накосячили в новом патче.щас буду разбираться

    вышла версия 1031. но вот на ней ни один мут не запускается. при запуске сервака с мутом сервак крашится. При запуске игры с мутом(Даже тем что они сами делали) игра вылетает. Короче приплыли.Щас перепроверю ещё раз. может у меня игра просто сдохла.Но думаю что всё же нет. Не только у меня такое.
     
  16. LLIePLLIeHb

    LLIePLLIeHb Guest

    Да не только у тебя :pinch: Та же история при чем даже если мобы прописаны в песочнице другие то краш :(
     
  17. Flame

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

    да
    ASteamStatsAndAchievementsBase::CheckSecurity
    при этом компилируется всё нормально
     
  18. Rainishe

    Rainishe После Юзера

    ага,а я блин только доработал пулемётчика и прописал для него новую стату.Так же придумал как сделать ачивки для ностим серваков,что бы у каждого сервака могли быть свои собственные ачивки и тут на те блиать. Аж настроение пропало что либо делать.
     
    ЛОХМАТЫЙ и LLIePLLIeHb нравится это.
  19. Flame

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

    сам делаю ачивки :)
    ничего
    всё будет хорошо, я думаю ))
     
  20. Дизел721

    Дизел721 Не новенький

    А где находится SRHUDKillingFloor.uc :unsure: