Blood-game > Плагины > [ZP-CSO]: Knifes Menu


[ZP-CSO]: Knifes Menu Скачать sma amxx


Что же из себя являет данный плагин ? Всё просто, теперь ножи добавляются с помощью отдельного плагина azp_knifemod.sma, инклуда knifes.inc и отдельным плагином любого из ножей, к примеру azp_knife_axe.sma. Удобность заключается в том, что чтоб добавить нужный нож не нужно копаться в главном плагине и искать куда же впилить те или иные строки, а в отдельном плагине просто прописать инклуд knifes.inc и немного поднастроить под этот инклуд сам плагин используя способ похожий на добавления екста-предметов, только вместо 
public zp_extra_item_selected(id, itemid)
будет использоваться 
public knife_item_selected(id, itemid)

В комплекте к главному плагину будут идти в подарок 3-4 ножа, где будут показаны для ознакомление прописка урона, скорости передвижения, и тому подобные функции...
Чем ещё полезен плагин, так это тем что эту же систему можно по желанию переписать не только под ножи, а и под оружия, тем самым создав удобное добавление чего-либо в любой из плагинов...

Пример прописки ножей в главном моде:

После всех инклудов, добавляем наш
#include knifes
Далее ищем строки отвечающие за выдачу вторичного оружия, то есть чтоб посли пистолетов открывалось наше новое меню и вписываем туда то что выделено красным
// Buy Menu 2
public menu_buy2(id, key)
{	
// Zombies or survivors get no guns
if (!g_isalive[id] || g_zombie[id] || g_survivor[id])
return PLUGIN_HANDLED;

// Special keys / weapon list exceeded
if (key >= ArraySize(g_secondary_items))
{
// Toggle autoselect
if (key == MENU_KEY_AUTOSELECT)
WPN_AUTO_ON = 1 - WPN_AUTO_ON

// Reshow menu unless user exited
if (key != MENU_KEY_EXIT)
show_menu_buy2(id)

return PLUGIN_HANDLED;
}

// Store selected weapon
WPN_AUTO_SEC = key

// Drop secondary gun again, in case we picked another (bugfix)
drop_weapons(id, 2)

// Get weapon's id
static weaponid, wname[32]
weaponid = ArrayGetCell(g_secondary_weaponids, key)
ArrayGetString(g_secondary_items, key, wname, charsmax(wname))

// Give the new weapon and full ammo
fm_give_item(id, wname)
ExecuteHamB(Ham_GiveAmmo, id, MAXBPAMMO[weaponid], AMMOTYPE[weaponid], MAXBPAMMO[weaponid])

show_knife_menu(id)

return PLUGIN_HANDLED;
}

Скачать






© SAnTA 2017

Яндекс.Метрика

Меню:
Новости: