[TUT][ZP] Добавляем новое оружие в меню покупки zp/zpa


[TUT][ZP] Добавляем новое оружие в меню покупки zp/zpa

Статья Про то Как Добавить новое оружие в меню покупки zp/zpa

[TUT][ZP] Добавляем новое оружие в меню покупки zp/zpa

Статья Про то Как Добавить новое оружие в меню покупки zp/zpa

Эта Статья научит вас добавлять новое оружие в меню zp/zpa

И Так Приступим:

Для этого нам понадобится само оружие и нативы, которые мы в нем сделаем. Возьмем Golden AK-47 для примера.
Собственно, вот наш Golden AK-47

 Показать / Скрыть текст


Далее мы делаем натив give_golden_ak(id)
Для этого мы создаем новую функцию и регистрируем в ней натив

public plugin_natives()

register_native(\”give_golden_ak\”, \”native_give_golden_ak\”, 1)


Далее мы создаем функцию, в которой описываем, что происходит при использовании натива give_golden_ak(id)
В ней мы должны подтвердить, что у игрока есть Golden AK-47

g_HasAk[player] = true;


Вставляем это в функцию native_give_golden_ak (она была зарегистрирована в нативе)

public native_give_golden_ak(player)

g_HasAk[player] = true;


Натив создан. Вот, что у нас вышло:

 Показать / Скрыть текст


Дальше надо создать новый .inc файл: ( предположим: weapon.inc )
Пишем в нем:

/*
* Gives Golden AK-47
*
* @param id Player index.
*/
native give_golden_ak(id)


А теперь этот .inc нужно вызвать в Zombie Plague
Пишем в главном плагине Zombie Plague:

#include


Далее
Находим функцию, в которой и прописана выдача оружия.
Вот и она

// Buy Primary Weapon
buy_primary_weapon(id, selection)

// Drop previous weapons
drop_weapons(id, 1)
drop_weapons(id, 2)

// Strip off from weapons
fm_strip_user_weapons(id)
fm_give_item(id, \”weapon_knife\”)

// Get weapon\’s id and name
static weaponid, wname[32]
weaponid = ArrayGetCell(g_primary_weaponids, selection)
ArrayGetString(g_primary_items, selection, wname, charsmax(wname))

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

// Weapons bought
g_canbuy[id] = false

// Give additional items
static i
for (i = 0; i < ArraySize(g_additional_items); i++) ArrayGetString(g_additional_items, i, wname, charsmax(wname))
fm_give_item(id, wname)


Итак, я изменил имя обычного АК на Golden AK-47, его мы и будем на него менять.
Вставляем этот код в функцию выдачи оружия, в здесь нам и потребуется натив.
Важно: Вставить его ( код оружия ) надо до того места, где выдается обычное оружие

if(weaponid == CSW_AK47)

give_golden_ak(id)


Вот, что у нас выходит.

// Buy Primary Weapon
buy_primary_weapon(id, selection)

// Drop previous weapons
drop_weapons(id, 1)
drop_weapons(id, 2)

// Strip off from weapons
fm_strip_user_weapons(id)
fm_give_item(id, \”weapon_knife\”)

// Get weapon\’s id and name
static weaponid, wname[32]
weaponid = ArrayGetCell(g_primary_weaponids, selection)
ArrayGetString(g_primary_items, selection, wname, charsmax(wname))

// Give our Golden AK-47
if(weaponid == CSW_AK47)

give_golden_ak(id)

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

// Weapons bought
g_canbuy[id] = false

// Give additional items
static i
for (i = 0; i < ArraySize(g_additional_items); i++) ArrayGetString(g_additional_items, i, wname, charsmax(wname))
fm_give_item(id, wname)


Готово, компилируем оба плагина и наслаждаемся своим креативом
Источник:


Комментарии:


Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Zombie-Mod.com — крупнейший игровой портал по Counter Strike