Как добавить способности ножам в ZP 4.3?

В сегодняшней статье я расскажу вам, как можно добавить способности для ножей ZP 4.3!


1) После инклюдов пишем следующие:

#define TASK_FBURN     100
#define ID_FBURN      ( taskid - TASK_FBURN )

#define MAX_CLIENTS               32

new bool:g_fRoundEnd

#define FIRE_DURATION     6
#define FIRE_DAMAGE       25

2) Ниже добавляем это:

new g_flameSpr, g_smokeSpr, g_burning_duration[ MAX_CLIENTS + 1 ]


3) В public plugin_precache добавляем: 

g_flameSpr = precache_model( "sprites/flame.spr" );
g_smokeSpr = precache_model( "sprites/black_smoke3.spr" );

4) Находим public fw_TakeDamage(victim, inflictor, attacker, Float:damage)

Находим что-то типо этого 


if (weapon == CSW_KNIFE && g_KNIFE4[attacker])
{
SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmgmult_vip))

new Float:vec[3];
new Float:oldvelo[3];
pev(victim, pev_velocity, oldvelo);
create_velocity_vector(victim , attacker , vec);
vec[0] += oldvelo[0];
vec[1] += oldvelo[1];
set_pev(victim, pev_velocity, vec);

ПОСЛЕ ЭТИХ СТРОЧЕК ПИШЕМ ЭТО
if( !task_exists( victim + TASK_FBURN ) )
{
g_burning_duration[ victim ] += FIRE_DURATION * 5
set_task( 0.1, "CTask__BurningFlame", victim + TASK_FBURN, _, _, "b" )
}

Получится так

if (weapon == CSW_KNIFE && g_KNIFE4[attacker])
{
SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmgmult_vip))

new Float:vec[3];
new Float:oldvelo[3];
pev(victim, pev_velocity, oldvelo);
create_velocity_vector(victim , attacker , vec);
vec[0] += oldvelo[0];
vec[1] += oldvelo[1];
set_pev(victim, pev_velocity, vec);

if( !task_exists( victim + TASK_FBURN ) )
{
g_burning_duration[ victim ] += FIRE_DURATION * 5
set_task( 0.1, "CTask__BurningFlame", victim + TASK_FBURN, _, _, "b" )
}


5) Ну и где-то в конце вставляем это:

public CTask__BurningFlame( taskid )
{
// Get player origin and flags
static origin[3], flags
get_user_origin(ID_FBURN, origin)
flags = pev(ID_FBURN, pev_flags)

// Madness mode - in water - burning stopped
if ((flags & FL_INWATER) || g_burning_duration[ID_FBURN] < 1 || g_fRoundEnd || !is_user_alive(ID_FBURN))
{
// Smoke sprite
message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
write_byte(TE_SMOKE) // TE id
write_coord(origin[0]) // x
write_coord(origin[1]) // y
write_coord(origin[2]-50) // z
write_short(g_smokeSpr) // sprite
write_byte(random_num(15, 20)) // scale
write_byte(random_num(10, 20)) // framerate
message_end()

// Task not needed anymore
remove_task(taskid)
return
}

// Get player's health
static health
health = pev(ID_FBURN, pev_health)

// Take damage from the fire
if (health - FIRE_DAMAGE > 0)
fm_set_user_health(ID_FBURN, health - FIRE_DAMAGE)

// Flame sprite
message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
write_byte(TE_SPRITE) // TE id
write_coord(origin[0]+random_num(-5, 5)) // x
write_coord(origin[1]+random_num(-5, 5)) // y
write_coord(origin[2]+random_num(-10, 10)) // z
write_short(g_flameSpr) // sprite
write_byte(random_num(5, 10)) // scale
write_byte(200) // brightness
message_end()

g_burning_duration[ID_FBURN]--
}


P.S Вот исходник ножей со способностями поджёг, заморозка, антидот, пользуйтесь XD

You do not have access to download files from our Website.

Hello, Our administration publishes only cannon content, put like under the post below and write the top comment, we are preparing the material just for you, Darling Гость.

Comments 10
  1. Alexandr_Generalov
    способность невидимости не работает
    • 19 June 2018 21:26
  2. loix21
    loix21
    • 0
    сделайте пожалуйста обзор в ютубе как делать способности для ножей
    • 28 July 2018 01:34
  3. Nolkeee
    Для новичков норм статья
    • 5 September 2018 16:26
  4. aye1234
    Спасибо помог отдуши
    • 12 September 2018 19:37
Users belonging to group Guests cannot add comments to this article.
Base for Your Build
Information

Welcome to TB-TEAM.COM!

To become a full-fledged user of our portal, you need to register.
Register
Create your own account!

Register Now
Log In
Already registered? Go ahead and log in!

Log In