Blood-game > Плагины > [ZP] Addons Knife выбор ножей


[ZP] Addons Knife выбор ножей Скачать sma amxx


После закупки/выбора оружия вам будет предложен выбор ножа. 
1. Нож (+Бег, +DMGx3)
2. Нож (+Отдача, +DMGx5)
3. Нож (+Прыжок, +DMGx2)
4. Нож (VIP) - имеет все способности.

Как настроить плагин.

Находим: 
new KNIFE1_V_MODEL[] = "models/a.mdl"
new KNIFE1_P_MODEL[] = "models/a.mdl"

new KNIFE2_V_MODEL[] = "models/b.mdl"
new KNIFE2_P_MODEL[] = "models/b.mdl"

new KNIFE3_V_MODEL[] = "models/c.mdl"
new KNIFE3_P_MODEL[] = "models/c.mdl"

new KNIFE4_V_MODEL[] = "models/d.mdl"
new KNIFE4_P_MODEL[] = "models/d.mdl"

Можно заметить что у каждой модели своё название - KNIFE1_V_MODEL ,KNIFE2_V_MODEL ,KNIFE3_P_MODEL ,KNIFE4_P_MODEL и т.д. 
Берём например модель Strong ножа


Изменяем:
new KNIFE1_V_MODEL[] = "models/a.mdl"
new KNIFE1_P_MODEL[] = "models/a.mdl"

на свою модель:
new KNIFE1_V_MODEL[] = "models/cso/v_strong_knife.mdl"
new KNIFE1_P_MODEL[] = "models/cso/p_strong_knife.mdl"

Идём к звукам. Находим такие строчки:

new const a_sounds[][] ={    "1/knife_deploy1.wav",    "1/knife_hit1.wav",    "1/knife_hit2.wav",    "1/knife_hit3.wav",    "1/knife_hit4.wav",    "1/knife_hitwall1.wav",    "1/knife_slash1.wav",    "1/knife_slash2.wav",    "1/knife_stab.wav"}new const b_sounds[][] ={    "2/knife_deploy1.wav",    "2/knife_hit1.wav",    "2/knife_hit2.wav",    "2/knife_hit3.wav",    "2/knife_hit4.wav",    "2/knife_hitwall1.wav",    "2/knife_slash1.wav",    "2/knife_slash2.wav",    "2/knife_stab.wav"}new const c_sounds[][] ={    "3/knife_deploy1.wav",    "3/knife_hit1.wav",    "3/knife_hit2.wav",    "3/knife_hit3.wav",    "3/knife_hit4.wav",    "3/knife_hitwall1.wav",    "3/knife_slash1.wav",    "3/knife_slash2.wav",    "3/knife_stab.wav"}new const d_sounds[][] ={    "4/knife_deploy1.wav",    "4/knife_hit1.wav",    "4/knife_hit2.wav",    "4/knife_hit3.wav",    "4/knife_hit4.wav",    "4/knife_hitwall1.wav",    "4/knife_slash1.wav",    "4/knife_slash2.wav",    "4/knife_stab.wav"}  


Тут вам нужно будет прописать путь до ваших звуков. В a_sounds[][] = находятся звуки для KNIFE1_ ,соответственно для b_ , c_ и d_ это звуки от 2, 3, и 4 ножей. Выставляем путь :

new const a_sounds[][] ={    "cso/strong/knife_deploy1.wav",    "cso/strong/knife_hit1.wav",    "cso/strong/knife_hit2.wav",    "cso/strong/knife_hit3.wav",    "cso/strong/knife_hit4.wav",    "cso/strong/knife_hitwall1.wav",    "cso/strong/knife_slash1.wav",    "cso/strong/knife_slash2.wav",    "cso/strong/knife_stab.wav"} 



Далее находим меню:

build_menu(){    menu_additem(g_knife_menu, "1 (+Бег, +DMGx3", "1")    menu_additem(g_knife_menu, "2 (+Отдача, +DMGx5)", "2")    menu_additem(g_knife_menu, "3 (+Прыжок, +DMGx2)", "3")    menu_additem(g_knife_menu, "4 (VIP)", "4")    menu_setprop(g_knife_menu, MPROP_PERPAGE, 0)}  


Изменяем:

menu_additem(g_knife_menu, "1 (+Бег, +DMGx3", "1")  


на:

menu_additem(g_knife_menu, "Strong (+Бег, +DMGx3", "1") 


Таким образом в игре выбрав этот нож, вам выдаться модель какую вы указали со своими звуками.


Дальше можно указать сообщение которое идёт в логи. Находим функцию public message_DeathMsg. В ней видим:
        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)        {            if(g_KNIFE1[iattacker])                set_msg_arg_string(4, "1 knife")        }            if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)        {            if(g_KNIFE2[iattacker])                set_msg_arg_string(4, "2 knife")        }            if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)        {            if(g_KNIFE3[iattacker])                set_msg_arg_string(4, "3 knife")        }            if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)        {            if(g_KNIFE4[iattacker])                set_msg_arg_string(4, "4 knife")        }            if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)        {            if(!g_KNIFE1[iattacker] && !g_KNIFE2[iattacker] && !g_KNIFE3[iattacker] && !g_KNIFE4[iattacker] && !zp_get_user_zombie(iattacker))                set_msg_arg_string(4, "knife")        }  


Меняем:
        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)        {            if(g_KNIFE1[iattacker])                set_msg_arg_string(4, "1 knife")        }  

на:
        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)        {            if(g_KNIFE1[iattacker])                set_msg_arg_string(4, "Strong")        }  



Далее выставляем свои значения:
    cvar_knock        = register_cvar("zp_knife_power"        , "10");    cvar_jump        = register_cvar("zp_knife_jump"            , "300.0");    cvar_knife_gore        = register_cvar("zp_knife_effect"        , "1");    cvar_dmgmult1        = register_cvar("zp_knife_dmg_muiti1"        , "3");    cvar_dmgmult2        = register_cvar("zp_knife_dmg_muiti2"        , "5");    cvar_dmgmult3        = register_cvar("zp_knife_dmg_muiti3"        , "2");    cvar_knife_spd        = register_cvar("zp_knife_spd"            , "300");    cvar_jump_vip        = register_cvar("zp_knife_jump_vip"        , "280.0");    cvar_dmgmult_vip    = register_cvar("zp_knife_dmg_vip"        , "4");    cvar_knife_spd_vip    = register_cvar("zp_knife_spd_vip"        , "280");    cvar_knock_vip        = register_cvar("zp_knife_power_vip"        , "15");  - вкл/выкл дополнительную кровь для ножей


zp_knife_effect 
- 1 нож
zp_knife_dmg_muiti1 - урон
zp_knife_spd - бег

- 2 нож
zp_knife_dmg_muiti2 - урон
zp_knife_power - сила отдачи

- 3 нож
zp_knife_dmg_muiti3 - урон
zp_knife_jump - прыжок

- 4 нож его можгут использовать только админы или випы с пределённым флагом
zp_knife_jump_vip - прыжок
zp_knife_dmg_vip - урон
zp_knife_spd_vip - бег
zp_knife_power_vip - сила отдачи


Флаг доступа можно изменить тут - #define VIP ADMIN_LEVEL_H

Теперь когда вы всё сделали, нужно включить показ этого меню в игре. Открываем исходник зомби мода. Ищем функцию - public menu_buy2 В самом конце кода вам нужно добавить строчку client_cmd(id, "/knife");

Должно получится так :
  // бла бла бла    // Give the new weapon and full ammo    fm_give_item(id, wname)    ExecuteHamB(Ham_GiveAmmo, id, MAXBPAMMO[weaponid], AMMOTYPE[weaponid], MAXBPAMMO[weaponid])        client_cmd(id, "/knife");    return PLUGIN_HANDLED;}  

От автора:
Плагин делал для себя так что особо не заморачивался , берите то что есть по возможности оптимизируйте.

Скачать






© SAnTA 2017

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

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