- Статьи
- 2018-12-22
Начнём с того, что мы скачаем любой плагин оружия для Zombie Plague 4.3 (и выше).
У меня будет на примере оружие Petrol Boomer от Dias'a. Скачать плагин можно от сюда: https://cs-wz.com/counter-strike/zombie-plague/extra_items/971-zp-extra-item-petrol-boomer.html.
Для того, чтобы сделать натив, нам нужна функция выдачи оружия, а так как оружие для Zombie Plague 4.3, значит оно автоматически будет добавляться в Extra-Items. Это нам упростит задачу.
1. Ищем функцию zp_extra_item_selected
public zp_extra_item_selected(id, itemid)
{
if(itemid == g_pet) Get_PB(id)
}
2. Видим что после проверки на itemid идёт функция выдачи оружия: Get_PB(id)
3. Создаём натив
public plugin_natives()
{
register_native("zp_give_user_petrolboomer", "Get_PB", 1);
}
Где zp_give_user_petrolboomer - это наш натив будет в сторонних плагинах
Где Get_PB - это название функции выдачи оружия
Однако, бывает так, что оружия выдаются не через отдельную функцию, а сразу же в zp_extra_item_selected написан весь код выдачи оружия. Наглядный вариант мы видим здесь: https://cs-wz.com/counter-strike/zombie-plague/extra_items/538-zp-extra-item-m4a1-frost.html
1. Ищем также zp_extra_item_selected
public zp_extra_item_selected(player, itemid)
{
if (itemid == g_iItemID)
{
g_bHasFrostM4A1[player] = true
ham_strip_weapon(player, "weapon_m4a1")
give_item(player, "weapon_m4a1")
cs_set_user_bpammo(player, CSW_M4A1, 90)
new sName[32]
get_user_name(player, sName, 31)
set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
show_hudmessage(0, "%s Купил Frost M4A1!", sName)
ColorPrint(player, "^1[^4Zombie-Amxx.Ru^1] ^3Вы купили Frost M4A1^1!")
}
}
2. Всё что идёт после if (itemid == g_iItemID) можно копировать, а именно этот код
g_bHasFrostM4A1[player] = true
ham_strip_weapon(player, "weapon_m4a1")
give_item(player, "weapon_m4a1")
cs_set_user_bpammo(player, CSW_M4A1, 90)
new sName[32]
get_user_name(player, sName, 31)
set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
show_hudmessage(0, "%s Купил Frost M4A1!", sName)
ColorPrint(player, "^1[^4Zombie-Amxx.Ru^1] ^3Вы купили Frost M4A1^1!")
3. Создаём функцию для выдачи данного оружия. У меня же это будет
public give_frost_m4(player)
Прошу заметить, что я указал player для индекса игрока, так как в выдаче оружия было указано player, а не id / iPlayer и тому подобное.
4. Вписываем в функцию то, что мы скопировали
public give_frost_m4(player)
{
g_bHasFrostM4A1[player] = true
ham_strip_weapon(player, "weapon_m4a1")
give_item(player, "weapon_m4a1")
cs_set_user_bpammo(player, CSW_M4A1, 90)
new sName[32]
get_user_name(player, sName, 31)
set_hudmessage(random(255), random(255), random(255), -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
show_hudmessage(0, "%s Купил Frost M4A1!", sName)
ColorPrint(player, "^1[^4Zombie-Amxx.Ru^1] ^3Вы купили Frost M4A1^1!")
}
5. Ну и теперь создаём сам натив
public plugin_natives()
{
register_native("zp_give_user_frostm4", "give_frost_m4", 1);
}
Ну и теперь нам осталось добавить данные нативы например в VIP меню.
1.Открываем VIP меню и в начале плагина, вписываем данный код
native zp_give_user_petrolboomer(iPlayer);
native zp_give_user_frostm4(iPlayer);
2. Ну и идём туда, где вы будете выдавать само оружие и прописываете один из нужных вам нативов. Обязательно с указанием правильного индекса игрока.
Пожертвовать Вы можете сделать автору xUnicorn, подарок в виде пожертвования на его электронную копилку ;)
30%
Скидка на покупку всех
сборок до 30.06.2025
Специально для тебя - Гость
Выбрать сборку
Данные для Связи.https://vk.com/id344641190 https://t.me/SysTemmmmmm Discord: Wizard#2169Услуга Помощь в установке/настройке серверов/модов/плагинов/сайтов.
GameCMS (Game Content Management System) Данные для Связи. https://vk.com/id344641190 https://t.me/SysTemmmmmm Discord: Wizard#2169
Исправили Почту всех приходит, Очистили базу от кометов, Мусорных файлов, Дальше будем работать по файлам.
ReHLDS (Reverse-engineered) - это новый шаг вперед, который дает второе дыхание нашим серверам. ReHLDS работает в 2 раза быстрей, чем HLDS.
AMXModX - это Metamod дополнение, которое позволяет создавать новые модификации для Half-Life на языке Pawn
Reunion является продолжением Dproto для ReHLDS. Это metamod плагин, который позволяет заходить 47/48 Non-Steam на сервер.
Revoice - это Metamod plugin, который дает возможность общения голосовым чатом между non-steam и steam клиентами.
Новый Metamod-r содержит огромное количество оптимизаций производительности и намного более чистый код. Ядро было написано с использованием JIT-компилятора.
Ultimate Unprecacher являет плагином для MetaMod, работает он по принципу отключение не нужных ресурсов на вашем сервере, тем самым вы сможете освободить места для ресурсов под ваши плагины, с помощью данного модуля можно избавиться от ошибки 512!
ReAuthCheck - это Metamod плагин, который занимается проверкой ваших игроков на валидность, с помощью данного модуля для REHLDS вы сможете защитить свой сервер от ботов, которые постоянно спамят рекламу или просто забивают слот на сервере!
NetBufExtender или NBEX - это метамод-плагин, который расширяет "интернет-буфер": буферы сервера и клиента(гарантия не 100%). Расширяет до 64 кб. Это значит, что у игроков уменьшается вероятность быть кикнутыми с ошибкой "Reliable channel overflowed".
UINO — metamod-плагин, который позволяет удалять ненужные поля из userinfo(setinfo) когда движок передаёт его другим игрокам на сервере. Данная мера уменьшает объём передаваемых данных и немного сокращает шанс быть кикнутым с "Reliable channel overflowed".