Главная » Статьи » Zombie Plague

Добавляем оружие из эктра в основное меню покупки
Для начала нам нужен исходник плагина оружия и ZP, его можно взять тут:


и исходник zp



Теперь откроем плагин оружия и добавим натив (нативом обычно переносят из одного плагина в другой использующуюся задачу), в данном примере у нас будет оружие).

Итак открыли и найдем public выдачи оружия, а то-есть:

Quote
public give_tomi(id)
{
drop_weapons(id, 1);
new iWep2 = give_item(id,"weapon_p90")
if( iWep2 > 0 )
{
cs_set_weapon_ammo(iWep2, get_pcvar_num(cvar_clip_tomi))
cs_set_user_bpammo (id, CSW_P90, get_pcvar_num(cvar_tomi_ammo))
}
if(get_user_weapon(id) == CSW_P90)
{
replace_weapon_models(id,CSW_P90)
UTIL_PlayWeaponAnimation(id, 2)
set_pdata_float(id, m_flNextAttack, tomi_DRAW_TIME, PLAYER_LINUX_XTRA_OFF)
}
print_col_chat(id, "^4[CSO ZM]^1 Вы приобрели 2-ух режимный Thompson Chicago.Смена режима ^4T^1.")
g_has_tomi[id] = true;
}


С помощью этой задачи выдается оружие, теперь нам надо заставить выдать оружие при старте, для этого мы будем использовать выше указанный натив:

Итак допишем в плагин с оружием натив:

//Задаем Натив
Code
public plugin_natives () register_native("give_weapon_tomi", "native_give_weapon_add", 1)


//Исполняем задачу натива
Code
public native_give_weapon_add(id)  
{
give_tomi(id)
}


Теперь создадим инклюд с помощью которого будем выдавать оружие в ZP.

1. Создаем Текстовый документ и впишем туда наш созданный натив:

Code
native give_weapon_tomi(id)


2. Теперь сохраним его с названием myweapon в формате .inc , Должно получиться:

Quote
myweapon.inc

3. Все инклюд создан, осталось теперь закинуть его в папку с остальными инклюдами, чтобы он скомпилировал нам плагин =)

У меня так:
Code
C:\Games\addons\amxmodx\scripting\include


И допишем в zombie_plague.sma Выдачу оружия при старте раунда:

Найдем:
Code
// Buy Primary Weapon
buy_primary_weapon(id, selection)


и ниже после

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


Допишем выдачу оружия:

Code
if(weaponid == CSW_P90)  
  {
  give_weapon_tomi(id)
  }


Примечание:
Quote
У каждого оружия имеется свое написание в Pawn'е, по-этому смотрите исходник к вместо какого оружия оно используется в моем случае Томпсон дается при
if(weaponid == CSW_P90)


P.S
Надеюсь объяснил доходчиво и у вас не возникнут проблем при выполнении и компиляции
Категория: Zombie Plague | Добавил: Lacosta (09.03.2012) | Автор: Lacosta W
Просмотров: 2602 | Комментарии: 2 | Рейтинг: 0.0/0
Всего комментариев: 2
№2 Написал: Deathsystem 01.11.2013 19:51
а как с пистолетами быть?
№1 Написал: Lacosta 09.03.2012 14:07
Ах да чуть не забыл, не забудьте дописать в plugins-zplague

Все используемые плагины, а т-е
Оружие которое добавили и сам zp
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вверх