Как добавить бонусы для кастомного оружия,ServerPerksV4 и выше. » Killing-Floor.ru - Сайт на тему игры Killing Floor

Перейти к содержимому

Как добавить бонусы для кастомного оружия,ServerPerksV4 и выше.

25-03-2014, 20:10 | Автор: Warpel
Категория: Статьи





Как добавить бонусы для кастомного оружия,ServerPerksV4 и выше.

Что нам пригодится в этой статье для выполнения нашей с вами задачи:

1.ServerPerksV4 и выше(Source Code)
2.Сервер последней версии, скаченный через SteamCmd
3.Скаченное оружие
4.Понимание языка Си
5.Блокнот(в идеале NotePad++)
6.Вникание в статью

Все требуемые файлы, вы сможете скачать с этого сайта.

И так начнем, все указанное выше у вас должно уже быть скачено, если не скачено, то скачайте.
Открываем архив ServerPerksSrc.rar , извлекаем его в нашу папку с севрером.
В нашей статье нам понадобится папка ServerPerksP. В ней вы увидите файлы разрешения .uc

SRVetBerserker.uc
SRVetCommando.uc
SRVetDemolitions.uc
SRVetFieldMedic.uc
SRVetFirebug.uc
SRVetSharpshooter.uc
SRVetSupportSpec.uc

Разберем задачу нашей статьи на примере Demolition.Открываем блокнотом SRVetDemolion.uc

Там можно увидеть различные функции бонусов.Я выпишу конкретные, которые нам понадобятся.
1. AddExtraAmmoFor(Дополнительные патроны)
2. AddDamage(Добавление дамага)
3. GetCostScaling(Скидка на оружие)
4. GetAmmoCostScaling(Скидка на патроны к оружию)

Я буду разбирать бонусы на примере PP19_Bizon. Нам так же понадобится исходный код .
Будем делать все по порядку наших бонусов:

1.AddExtraAmmoFor
Ищем
else if ( AmmoType == class'LAWAmmo' )

И добавляем после
AmmoType == class'LAWAmmo'  || AmmoType == class' PP19Ammo '

Где AmmoType - это наш Ammo класс.
Должно получиться так:
else if (AmmoType == class'LAWAmmo'  || AmmoType == class' PP19Ammo ')

Там уже в зависимости от кол-ва прописанных вами значений, будет выдаваться определенное кол-во дополнительных патрон.

2. AddDamage
Ищем
if ( class<DamTypeFrag>(DmgType) != none || class<DamTypePipeBomb>(DmgType) != none ||class<DamTypeM79Grenade>(DmgType) != none || class<DamTypeM32Grenade>(DmgType) != none || class<DamTypeM203Grenade>(DmgType) != none || class<DamTypeRocketImpact>(DmgType) != none || class<DamTypeSPGrenade>(DmgType) != none  class<DamTypeSealSquealExplosion>(DmgType) != none  || class<DamTypeSeekerSixRocket>(DmgType) != none)

Так же добавляем в самый конец
||  class<Дамтайп>(DmgType) != none

Должно получится так:
||  class<DamTypePP19 >(DmgType) != none)

Где DamType – это наш DamType класс DamTypePP19.

3. GetCostScaling
Ищем
if ( Item == class'M79Pickup' || Item == class 'M32Pickup'  || Item == class 'LawPickup' || Item == class 'M4203Pickup'|| Item == class'GoldenM79Pickup' || Item == class'SPGrenadePickup'|| Item == class'CamoM32Pickup' || Item == class'SealSquealPickup' || Item == class'SeekerSixPickup' )

В самый конец добавляем:
|| Item == class' PP19Pickup '

Где Item- это наш Pickup класс.

4. GetAmmoCostScaling
Я думаю этот пункт не стоит разбирать так же как и все , так как по сути добавление бонуса , похоже на предыдущие.
Если вы все прописали правильно и соблюдали пунктуацию, то у вас должно все скомпилиться без ошибок.

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

Автор:
Warpel


5802 просмотров


Прежде, чем задавать вопрос загляните сюда . Возможно там есть ответ на ваш вопрос.




Пользователь
Maks-UnDead

30 марта 2014 22:04
Я знаю , что это не по теме , но прошу пожалуйста добавьте статью , как менять цвет перка с повышением уровня.

Пользователь
Maks-UnDead

4 апреля 2014 08:42
Блин не получается сделать , я добавил оружие новые , чтобы на них скидка была и патры увеличивались , а как только выбираю карту ошибка вылетает.

Киньте архив с таким serverperks'ом , как показано.

Проверенный
Warpel

4 апреля 2014 14:59
Логи не открываются , ошибка сайта видимо.Как только смогу открыть -посмотрю


Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.