Начнём с того, что мы скачаем любой плагин оружия для Zombie Plague 4.3 (и выше).
У меня будет на примере оружие Petrol Boomer от Dias\’a. Скачать плагин можно от сюда: https://cheats-cs.ru/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://cheats-cs.ru/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. Ну и идём туда, где вы будете выдавать само оружие и прописываете один из нужных вам нативов. Обязательно с указанием правильного индекса игрока.
