Brave

[Кодинг] Прописываем Бонусы Для Оружия В Serverperks

Recommended Posts

Brave

Бонусы на оружие

 

Каждый перк имеет свой .uc файл. Например у коммандоса - это SRVetCommando.uc. Что бы правильно прописать бонусы нужно знать семантику классов. Я взял в пример АК47

 

Как привязать бонус к оружию (увеличение патронов в рожке)

 

    Находим функцию GetMagCapacityMod - там видим пример кода.
AK47AssaultRifle(Other) != none - на какое оружие действует
if ( KFPRI.ClientVeteranSkillLevel == 1 ) - на каком уровне действует
return 1.10; - на сколько идёт увеличение патронов в рожке

 

 

Как привязать бонус к оружию (увеличение переносимых патронов)

 

    Находим функцию AddExtraAmmoFor - там видим пример кода.
AmmoType == class'AK47Ammo' - на какое оружие действует
if ( KFPRI.ClientVeteranSkillLevel == 1 ) - на каком уровне действует
return 1.10; - на сколько идёт увеличение переносимых патронов

 

 

Как привязать бонус к оружию (увеличение подбираемых патронов из ящиков)

 

    Находим функцию GetAmmoPickupMod - там видим пример кода.
AK47Ammo(Other) != none - на какое оружие действует
if ( KFPRI.ClientVeteranSkillLevel == 1 ) - на каком уровне действует
return 1.10; - на сколько идёт увеличение подбираемых патронов из ящиков

 

 

Как привязать бонус к оружию (увеличение урона от оружия)

 

    Находим функцию AddDamage - там видим пример кода.
DmgType == class'DamTypeAK47AssaultRifle' - на какое оружие действует
if ( KFPRI.ClientVeteranSkillLevel == 0 ) - на каком уровне действует
return float(InDamage) * 1.05; - на сколько идёт увеличение урона
return float(InDamage) * (1.00 + (0.10 * float(Min(KFPRI.ClientVeteranSkillLevel, 5)))); - формула увеличения урона

 

 

Как привязать бонус к оружию (скидка на оружие)

 

    Находим функцию GetCostScaling - там видим пример кода.
Item == class'AK47Pickup' - на какое оружие действует

 

 

Как привязать бонус к оружию (скидка на патроны)

 

    Находим функцию GetAmmoCostScaling - там видим пример кода.
Item == class'AK47Pickup' - на какое оружие действует
return FMax(0.25 - (0.03 * float(KFPRI.ClientVeteranSkillLevel)),0.01f); - формула скидки на патроны

 

 

Как привязать бонус к оружию (Снижение отдачи)

 

    находим строку ModifyRecoilSpread
AK47AssaultRifle(Other.Weapon) != none - на какое оружие действует
if ( KFPRI.ClientVeteranSkillLevel == 1 ) - на каком уровне действует
Recoil = 0.90 - такая отдача будет на текущем уровне(чем меньше показатель,тем меньше отдача и будет)

 

 

Как привязать бонус к оружию (Увеличении скорости перезарядки)

 

    находим строку GetReloadSpeedModifier
AK47AssaultRifle(Other) != none - на какое оружие действует
if ( KFPRI.ClientVeteranSkillLevel == 1 ) - на каком уровне действует
return = 1.90 - на столько увеличивается перезарядка

 

 

Как привязать бонус к оружию (Увеличении скорострельности)

 

 

   находим строку GetFireSpeedMod
AK47AssaultRifle(Other) != none - на какое оружие действует
if ( KFPRI.ClientVeteranSkillLevel == 1 ) - на каком уровне действует
return = 1.90 - на столько увеличивается скорострельность

 

 

 

 

 

 

Также не забываем после поправки компилировать серверперкс.

 

  • Upvote 1

Share this post


Link to post
Share on other sites
Бурундук

Ещё бы тему "как изменить количество опыта для каждого лвл":(

Share this post


Link to post
Share on other sites
Essence

Бурундук сказал(а) 27 Янв 2015 - 00:23:

Ещё бы тему "как изменить количество опыта для каждого лвл":(

Ну в том же SRVetCommando.uc ищи функцию static function int GetPerkProgressInt.

Вот на примере этого куска:

case 2:

if( ReqNum==0 )

FinalInt = 70;

else FinalInt = 21600;

break;

Case 2 - уровень.

FinalInt = 70 - необходимое число сталкеров для взятия уровня

else FinalInt = 21600 - необходимое число дамага для взятия уровня.

Иными словами, чтобы достичь 2 уровня коммандоса, нам нужно убить 70 сталкеров и набить 21600 дамага.

Edited by Essence
  • Upvote 1

Share this post


Link to post
Share on other sites
deathsystem

Извеняюсь, я новичок только начал, у меня нету этого файла нигде SRVetCommando .Так где его взять

Share this post


Link to post
Share on other sites
Renz

В исходниках

Share this post


Link to post
Share on other sites
Бурундук

В исходниках

Почему у меня нет этих файлов в исходниках?

Или в 7 сервер перке по другому?

Надо же декомпилировать "ServerPerks.u"?

Edited by Бурундук

Share this post


Link to post
Share on other sites
Brave

Почему у меня нет этих файлов в исходниках?

Или в 7 сервер перке по другому?

Надо же декомпилировать "ServerPerks.u"?

Да, нужно декомпилировать серверперкс, когда пропишешь что-то новое, тогда удаляешь файлы u и компилируешь.

Share this post


Link to post
Share on other sites
Бурундук

Да, нужно декомпилировать серверперкс, когда пропишешь что-то новое, тогда удаляешь файлы u и компилируешь.

Хм, но в том который я указал нет файлов отвечающих за перки, там много других, я их нашел в файле ServerPerksP.u, а в этом расписание кача только на 6 лвл, тоесть это 6+ я сам должен все прописывать?

Share this post


Link to post
Share on other sites
Renz

В дефолтном все автоматом подставляется.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Preview Post