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



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

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

Как добавить способности ножам в 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

[attachment=386]



Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
CHEATS-CS.RU - Топовый контент по CS 1.6