Как добавить бонусы для кастомного оружия,ServerPerksV4 и выше.
25-03-2014, 20:10 | Автор: Warpel
Категория: Статьи
Что нам пригодится в этой статье для выполнения нашей с вами задачи:
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 просмотров
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.