Reklam gösterimini engelleyici yazılım kullandığınızı görüyoruz.
Sitemizin ayakta kalıp sizlere hizmet edebilmek için en büyük gelir kaynağı sayfamızda gösterilen reklamlardır.
Reklam gösterimde bizim sayfamıza ayrıcalık tanıyarak ayakta kalmamıza destek olmak ister misiniz ?

Silinmiş Konu   | default bicak ittirme

Konu

#1
merhaba
arkadaşlar zombie_plague.ini de silahların ittirme gücünü ayarlanabiliyor fakat bicak için eklememişler
rica etsem eklentiye bicak ittirme gücün kodlarını ekleyip zombie_plague.ini den örneğin
knife = 3.0 ayarlabilir bir şekilde eklentile aynı yapabilirmisiniz 
birde ayri bir bicak menu kullanıyorum onlardada aynı sonucu gösterir değilmi

[Resim: MV1br9.png]

eklenti

Kod:
/*================================================================================
    
    ----------------------
    -*- [ZP] Knockback -*-
    ----------------------
    
    This plugin is part of Zombie Plague Mod and is distributed under the
    terms of the GNU General Public License. Check ZP_ReadMe.txt for details.
    
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>
#include <amx_settings_api>
#include <cs_ham_bots_api>
#include <zp50_class_zombie>
#define LIBRARY_NEMESIS "zp50_class_nemesis"
#include <zp50_class_nemesis>

// Settings file
new const ZP_SETTINGS_FILE[] = "zombieplague.ini"

// Knockback Power values for weapons
// Note: negative values will disable knockback power for the weapon
new Float:kb_weapon_power[] =
{
    -1.0,    // ---
    2.4,    // P228
    -1.0,    // ---
    6.5,    // SCOUT
    -1.0,    // ---
    8.0,    // XM1014
    -1.0,    // ---
    2.3,    // MAC10
    5.0,    // AUG
    -1.0,    // ---
    2.4,    // ELITE
    2.0,    // FIVESEVEN
    2.4,    // UMP45
    5.3,    // SG550
    5.5,    // GALIL
    5.5,    // FAMAS
    2.2,    // USP
    2.0,    // GLOCK18
    10.0,    // AWP
    2.5,    // MP5NAVY
    5.2,    // M249
    8.0,    // M3
    5.0,    // M4A1
    2.4,    // TMP
    6.5,    // G3SG1
    -1.0,    // ---
    5.3,    // DEAGLE
    5.0,    // SG552
    6.0,    // AK47
    -1.0,    // ---
    2.0        // P90
}

// Weapon entity names (uppercase)
new const WEAPONENTNAMES_UP[][] = { "", "WEAPON_P228", "", "WEAPON_SCOUT", "WEAPON_HEGRENADE", "WEAPON_XM1014", "WEAPON_C4", "WEAPON_MAC10",
            "WEAPON_AUG", "WEAPON_SMOKEGRENADE", "WEAPON_ELITE", "WEAPON_FIVESEVEN", "WEAPON_UMP45", "WEAPON_SG550",
            "WEAPON_GALIL", "WEAPON_FAMAS", "WEAPON_USP", "WEAPON_GLOCK18", "WEAPON_AWP", "WEAPON_MP5NAVY", "WEAPON_M249",
            "WEAPON_M3", "WEAPON_M4A1", "WEAPON_TMP", "WEAPON_G3SG1", "WEAPON_FLASHBANG", "WEAPON_DEAGLE", "WEAPON_SG552",
            "WEAPON_AK47", "WEAPON_KNIFE", "WEAPON_P90" }

new cvar_knockback_damage, cvar_knockback_power, cvar_knockback_obey_class
new cvar_knockback_zvel, cvar_knockback_ducking, cvar_knockback_distance
new cvar_knockback_nemesis

public plugin_init()
{
    register_plugin("[ZP] Knockback", ZP_VERSION_STRING, "ZP Dev Team")
    
    RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack_Post", 1)
    RegisterHamBots(Ham_TraceAttack, "fw_TraceAttack_Post", 1)
    
    cvar_knockback_damage = register_cvar("zp_knockback_damage", "1")
    cvar_knockback_power = register_cvar("zp_knockback_power", "1")
    cvar_knockback_obey_class = register_cvar("zp_knockback_obey_class", "1")
    cvar_knockback_zvel = register_cvar("zp_knockback_zvel", "0")
    cvar_knockback_ducking = register_cvar("zp_knockback_ducking", "0.25")
    cvar_knockback_distance = register_cvar("zp_knockback_distance", "500")
    
    // Nemesis Class loaded?
    if (LibraryExists(LIBRARY_NEMESIS, LibType_Library))
        cvar_knockback_nemesis = register_cvar("zp_knockback_nemesis", "0.25")
}

public plugin_precache()
{
    new index
    for (index = 1; index < sizeof WEAPONENTNAMES_UP; index++)
    {
        if (kb_weapon_power[index] == -1.0)
            continue;
        
        if (!amx_load_setting_float(ZP_SETTINGS_FILE, "Knockback Power for Weapons", WEAPONENTNAMES_UP[index][7], kb_weapon_power[index]))
            amx_save_setting_float(ZP_SETTINGS_FILE, "Knockback Power for Weapons", WEAPONENTNAMES_UP[index][7], kb_weapon_power[index])
    }
}

public plugin_natives()
{
    set_module_filter("module_filter")
    set_native_filter("native_filter")
}
public module_filter(const module[])
{
    if (equal(module, LIBRARY_NEMESIS))
        return PLUGIN_HANDLED;
    
    return PLUGIN_CONTINUE;
}
public native_filter(const name[], index, trap)
{
    if (!trap)
        return PLUGIN_HANDLED;
    
    return PLUGIN_CONTINUE;
}

// Ham Trace Attack Post Forward
public fw_TraceAttack_Post(victim, attacker, Float:damage, Float:direction[3], tracehandle, damage_type)
{
    // Non-player damage or self damage
    if (victim == attacker || !is_user_alive(attacker))
        return;
    
    // Victim isn't zombie or attacker isn't human
    if (!zp_core_is_zombie(victim) || zp_core_is_zombie(attacker))
        return;
    
    // Not bullet damage
    if (!(damage_type & DMG_BULLET))
        return;
    
    // Knockback only if damage is done to victim
    if (damage <= 0.0 || GetHamReturnStatus() == HAM_SUPERCEDE || get_tr2(tracehandle, TR_pHit) != victim)
        return;
    
    // Nemesis knockback disabled, nothing else to do here
    if (LibraryExists(LIBRARY_NEMESIS, LibType_Library) && zp_class_nemesis_get(victim) && get_pcvar_float(cvar_knockback_nemesis) == 0.0)
        return;
    
    // Get whether the victim is in a crouch state
    new ducking = pev(victim, pev_flags) & (FL_DUCKING | FL_ONGROUND) == (FL_DUCKING | FL_ONGROUND)
    
    // Zombie knockback when ducking disabled
    if (ducking && get_pcvar_float(cvar_knockback_ducking) == 0.0)
        return;
    
    // Get distance between players
    static origin1[3], origin2[3]
    get_user_origin(victim, origin1)
    get_user_origin(attacker, origin2)
    
    // Max distance exceeded
    if (get_distance(origin1, origin2) > get_pcvar_num(cvar_knockback_distance))
        return ;
    
    // Get victim's velocity
    static Float:velocity[3]
    pev(victim, pev_velocity, velocity)
    
    // Use damage on knockback calculation
    if (get_pcvar_num(cvar_knockback_damage))
        xs_vec_mul_scalar(direction, damage, direction)
    
    // Get attacker's weapon id
    new attacker_weapon = get_user_weapon(attacker)
    
    // Use weapon power on knockback calculation
    if (get_pcvar_num(cvar_knockback_power) && kb_weapon_power[attacker_weapon] > 0.0)
        xs_vec_mul_scalar(direction, kb_weapon_power[attacker_weapon], direction)
    
    // Apply ducking knockback multiplier
    if (ducking)
        xs_vec_mul_scalar(direction, get_pcvar_float(cvar_knockback_ducking), direction)
    
    // Nemesis Class loaded?
    if (LibraryExists(LIBRARY_NEMESIS, LibType_Library) && zp_class_nemesis_get(victim))
    {
        // Apply nemesis knockback multiplier
        xs_vec_mul_scalar(direction, get_pcvar_float(cvar_knockback_nemesis), direction)
    }
    else if (get_pcvar_num(cvar_knockback_obey_class))
    {
        // Apply zombie class knockback multiplier
        xs_vec_mul_scalar(direction, zp_class_zombie_get_kb(zp_class_zombie_get_current(victim)), direction)
    }
    
    // Add up the new vector
    xs_vec_add(velocity, direction, direction)
    
    // Should knockback also affect vertical velocity?
    if (!get_pcvar_num(cvar_knockback_zvel))
        direction[2] = velocity[2]
    
    // Set the knockback'd victim's velocity
    set_pev(victim, pev_velocity, direction)
}




#2
@ ITenGriTR
berk bey müsaitseniz bakabilirmisiniz : ) ) )


#3
INIDE
AK47 altina
KNIFE = 10.0

PHP Kod:
/*================================================================================
    
    ----------------------
    -*- [ZP] Knockback -*-
    ----------------------
    
    This plugin is part of Zombie Plague Mod and is distributed under the
    terms of the GNU General Public License. Check ZP_ReadMe.txt for details.
    
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>
#include <amx_settings_api>
#include <cs_ham_bots_api>
#include <zp50_class_zombie>
#define LIBRARY_NEMESIS "zp50_class_nemesis"
#include <zp50_class_nemesis>

// Settings file
new const ZP_SETTINGS_FILE[] = "zombieplague.ini"

// Knockback Power values for weapons
// Note: negative values will disable knockback power for the weapon
new Float:kb_weapon_power[] = 
{
    -
1.0,    // ---
    
2.4,    // P228
    
-1.0,    // ---
    
6.5,    // SCOUT
    
-1.0,    // ---
    
8.0,    // XM1014
    
-1.0,    // ---
    
2.3,    // MAC10
    
5.0,    // AUG
    
-1.0,    // ---
    
2.4,    // ELITE
    
2.0,    // FIVESEVEN
    
2.4,    // UMP45
    
5.3,    // SG550
    
5.5,    // GALIL
    
5.5,    // FAMAS
    
2.2,    // USP
    
2.0,    // GLOCK18
    
10.0,    // AWP
    
2.5,    // MP5NAVY
    
5.2,    // M249
    
8.0,    // M3
    
5.0,    // M4A1
    
2.4,    // TMP
    
6.5,    // G3SG1
    
-1.0,    // ---
    
5.3,    // DEAGLE
    
5.0,    // SG552
    
6.0,    // AK47
    
10.0,        // BICAK 
    
2.0    // P90
}

// Weapon entity names (uppercase)
new const WEAPONENTNAMES_UP[][] = { """WEAPON_P228""""WEAPON_SCOUT""WEAPON_HEGRENADE""WEAPON_XM1014""WEAPON_C4""WEAPON_MAC10",
            
"WEAPON_AUG""WEAPON_SMOKEGRENADE""WEAPON_ELITE""WEAPON_FIVESEVEN""WEAPON_UMP45""WEAPON_SG550",
            
"WEAPON_GALIL""WEAPON_FAMAS""WEAPON_USP""WEAPON_GLOCK18""WEAPON_AWP""WEAPON_MP5NAVY""WEAPON_M249",
            
"WEAPON_M3""WEAPON_M4A1""WEAPON_TMP""WEAPON_G3SG1""WEAPON_FLASHBANG""WEAPON_DEAGLE""WEAPON_SG552",
            
"WEAPON_AK47""WEAPON_KNIFE""WEAPON_P90" }

new 
cvar_knockback_damagecvar_knockback_powercvar_knockback_obey_class
new cvar_knockback_zvelcvar_knockback_duckingcvar_knockback_distance
new cvar_knockback_nemesis

public plugin_init()
{
    
register_plugin("[ZP] Knockback"ZP_VERSION_STRING"ZP Dev Team")
    
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack_Post"1)
    
RegisterHamBots(Ham_TraceAttack"fw_TraceAttack_Post"1)
    
    
cvar_knockback_damage register_cvar("zp_knockback_damage""1")
    
cvar_knockback_power register_cvar("zp_knockback_power""1")
    
cvar_knockback_obey_class register_cvar("zp_knockback_obey_class""1")
    
cvar_knockback_zvel register_cvar("zp_knockback_zvel""0")
    
cvar_knockback_ducking register_cvar("zp_knockback_ducking""0.25")
    
cvar_knockback_distance register_cvar("zp_knockback_distance""500")
    
    
// Nemesis Class loaded?
    
if (LibraryExists(LIBRARY_NEMESISLibType_Library))
        
cvar_knockback_nemesis register_cvar("zp_knockback_nemesis""0.25")
}

public 
plugin_precache()
{
    new 
index
    
for (index 1index sizeof WEAPONENTNAMES_UPindex++)
    {
        if (
kb_weapon_power[index] == -1.0)
            continue;
        
        if (!
amx_load_setting_float(ZP_SETTINGS_FILE"Knockback Power for Weapons"WEAPONENTNAMES_UP[index][7], kb_weapon_power[index]))
            
amx_save_setting_float(ZP_SETTINGS_FILE"Knockback Power for Weapons"WEAPONENTNAMES_UP[index][7], kb_weapon_power[index])
    }
}

public 
plugin_natives()
{
    
set_module_filter("module_filter")
    
set_native_filter("native_filter")
}
public 
module_filter(const module[])
{
    if (
equal(moduleLIBRARY_NEMESIS))
        return 
PLUGIN_HANDLED;
    
    return 
PLUGIN_CONTINUE;
}
public 
native_filter(const name[], indextrap)
{
    if (!
trap)
        return 
PLUGIN_HANDLED;
    
    return 
PLUGIN_CONTINUE;
}

// Ham Trace Attack Post Forward
public fw_TraceAttack_Post(victimattackerFloat:damageFloat:direction[3], tracehandledamage_type)
{
    
// Non-player damage or self damage
    
if (victim == attacker || !is_user_alive(attacker))
        return;
    
    
// Victim isn't zombie or attacker isn't human
    
if (!zp_core_is_zombie(victim) || zp_core_is_zombie(attacker))
        return;
    
    
// Not bullet damage
    
if (!(damage_type DMG_BULLET))
        return;
    
    
// Knockback only if damage is done to victim
    
if (damage <= 0.0 || GetHamReturnStatus() == HAM_SUPERCEDE || get_tr2(tracehandleTR_pHit) != victim)
        return;
    
    
// Nemesis knockback disabled, nothing else to do here
    
if (LibraryExists(LIBRARY_NEMESISLibType_Library) && zp_class_nemesis_get(victim) && get_pcvar_float(cvar_knockback_nemesis) == 0.0)
        return;
    
    
// Get whether the victim is in a crouch state
    
new ducking pev(victimpev_flags) & (FL_DUCKING FL_ONGROUND) == (FL_DUCKING FL_ONGROUND)
    
    
// Zombie knockback when ducking disabled
    
if (ducking && get_pcvar_float(cvar_knockback_ducking) == 0.0)
        return;
    
    
// Get distance between players
    
static origin1[3], origin2[3]
    
get_user_origin(victimorigin1)
    
get_user_origin(attackerorigin2)
    
    
// Max distance exceeded
    
if (get_distance(origin1origin2) > get_pcvar_num(cvar_knockback_distance))
        return ;
    
    
// Get victim's velocity
    
static Float:velocity[3]
    
pev(victimpev_velocityvelocity)
    
    
// Use damage on knockback calculation
    
if (get_pcvar_num(cvar_knockback_damage))
        
xs_vec_mul_scalar(directiondamagedirection)
    
    
// Get attacker's weapon id
    
new attacker_weapon get_user_weapon(attacker)
    
    
// Use weapon power on knockback calculation
    
if (get_pcvar_num(cvar_knockback_power) && kb_weapon_power[attacker_weapon] > 0.0)
        
xs_vec_mul_scalar(directionkb_weapon_power[attacker_weapon], direction)
    
    
// Apply ducking knockback multiplier
    
if (ducking)
        
xs_vec_mul_scalar(directionget_pcvar_float(cvar_knockback_ducking), direction)
    
    
// Nemesis Class loaded?
    
if (LibraryExists(LIBRARY_NEMESISLibType_Library) && zp_class_nemesis_get(victim))
    {
        
// Apply nemesis knockback multiplier
        
xs_vec_mul_scalar(directionget_pcvar_float(cvar_knockback_nemesis), direction)
    }
    else if (
get_pcvar_num(cvar_knockback_obey_class))
    {
        
// Apply zombie class knockback multiplier
        
xs_vec_mul_scalar(directionzp_class_zombie_get_kb(zp_class_zombie_get_current(victim)), direction)
    }
    
    
// Add up the new vector
    
xs_vec_add(velocitydirectiondirection)
    
    
// Should knockback also affect vertical velocity?
    
if (!get_pcvar_num(cvar_knockback_zvel))
        
direction[2] = velocity[2]
    
    
// Set the knockback'd victim's velocity
    
set_pev(victimpev_velocitydirection)





#4
usta oldu ama mesela 30 da yapsan 100 - 200 yapiyorum aynı ittirme gücü sınırı varmı
bicakla bi vurayım baya ittirsin istiyorum Gülücük


#5
INIden o attığın bölümü tamamen sil eklenti oluşturucak orayı tekrardan ondan sonra tekrar bak.



#6
Son Düzenleme: 12-02-2019, Saat: 16:16, Düzenleyen: Draven.
@Yasuo
dostum bak bu konu senin işini görebilir painshock eklentisi kullandıgın için bicak menudeki bicakların ittirmiyordu değilmi
bu eklentiyi kullanarak eklentinin içerisinde 10.0, // BICAK bu kısmı 50. yaparak bicaklar azda olsa ittiriyor Gülücük
ben denedim aslında söyle birşeyde olabilir o göndermiş oldugun bıcak menudeki ittirme kodlarını silerek bu eklentideki kodları oraya ekleyip değiştirebilirsen belki olabilir
kodlayıcılar yapabilir aslında


#7
aa evet ittirme oldu az ittiriyor ama Üzüldüm
@ ITenGriTR berk müsaitsen dravenin söylediğini yapabilirmisin
bicak menudeki ittirme kodlarını değiştirme galiba burdaki gibi rica ediyorum Gülücük


#8
@ ITenGriTR
eklentiyi göndermeyi unutmuşum : / 


Kod:
#include <amxmodx>

#include <fakemeta>

#include <fun>

#include <engine>

#include <hamsandwich>

#include <zombieplague>

#include <fakemeta_util>

#include <fakemeta>



#define PLUGIN    "ZP knife menu"

#define VERSION    "1.0"

#define AUTHOR    "DOPER"


#define VIP ADMIN_LEVEL_H
#define ADMIN_FLAG ADMIN_BAN

#define SVIP ADMIN_LEVEL_G
#define BOSS ADMIN_PASSWORD
#define MAXPLAYERS 32

#define ID_FBURN1    (taskid - 100)

#define ID_FBURN2    (taskid - 100)

#define ID_FBURN3    (taskid - 100)

#define ID_FBURN4    (taskid - 100)

#define ID_FBURN5    (taskid - 100)

#define ID_FBURN6    (taskid - 100)

#define ID_FBURN7    (taskid - 100)

#define TASK_FROST_REMOVE 100
#define ID_FROST_REMOVE (bmID - TASK_FROST_REMOVE)




new            g_burning1[33],
            g_burning2[33],
                       g_burning3[33],
                       g_burning4[33],
                       g_burning5[33],
                       g_burning6[33],
                       g_burning7[33],
            g_sprite1,
            g_sprite2,
                       g_sprite3,
                       g_sprite4,
                       g_sprite5,
                       g_sprite6,
                       g_sprite7
 


new combat_v_model[] = "models/zp_knife_menu/v_combat_knife.mdl"

new combat_p_model[] = "models/zp_knife_menu/p_combat_knife.mdl"



new strong_v_model[] = "models/zp_knife_menu/v_strong_knife.mdl"

new strong_p_model[] = "models/zp_knife_menu/p_strong_knife.mdl"



new axe_v_model[] = "models/zp_knife_menu/v_axe_knife.mdl"    

new axe_p_model[] = "models/zp_knife_menu/p_axe_knife.mdl"    



new katana_v_model[] = "models/zp_knife_menu/v_warhammer.mdl"    

new katana_p_model[] = "models/zp_knife_menu/p_warhammer.mdl"



new hammer_v_model[] = "models/zp_knife_menu/v_warhammer_storm.mdl"    

new hammer_p_model[] = "models/zp_knife_menu/p_warhammer_storm.mdl"    



new thanatos_v_model[] = "models/zp_knife_menu/v_warhammer_ice.mdl"    

new thanatos_p_model[] = "models/zp_knife_menu/p_warhammer_ice.mdl"



new boss_v_model[] = "models/zp_knife_menu/v_boss_hammer.mdl"    

new boss_p_model[] = "models/zp_knife_menu/p_boss_hammer.mdl"



new sur_v_model[] = "models/zp_knife_menu/v_sur_hammer.mdl"    

new sur_p_model[] = "models/zp_knife_menu/p_sur_hammer.mdl"

new g_sprite_grenade_glass[64] = "models/glassgibs.mdl"

new  g_glassSpr




const m_pPlayer = 41

const m_flNextPrimaryAttack = 46

const m_flNextSecondaryAttack = 47

const m_flTimeWeaponIdle = 48



new SayText

new bool:g_WasShowed[MAXPLAYERS + 1]

new g_knife_combat[33], cvar_knife_combat_jump, cvar_knife_combat_spd, cvar_knife_combat_dmg, cvar_knife_combat_knock, cvar_knife_combat_spd_attack2

new g_knife_strong[33], cvar_knife_strong_jump, cvar_knife_strong_spd, cvar_knife_strong_dmg, cvar_knife_strong_knock, cvar_knife_strong_spd_attack2,
bmStrongSure;

new g_knife_axe[33], cvar_knife_axe_jump, cvar_knife_axe_spd, cvar_knife_axe_dmg, cvar_knife_axe_knock, cvar_knife_axe_spd_attack2

new g_knife_katana[33], cvar_knife_katana_jump, cvar_knife_katana_spd, cvar_knife_katana_dmg, cvar_knife_katana_knock, cvar_knife_katana_spd_attack2

new g_knife_hammer[33], cvar_knife_hammer_jump, cvar_knife_hammer_spd, cvar_knife_hammer_dmg, cvar_knife_hammer_knock, cvar_hammer_spd_attack2

new g_knife_thanatos[33], cvar_knife_thanatos_jump, cvar_knife_thanatos_spd, cvar_knife_thanatos_dmg, cvar_knife_thanatos_knock, cvar_thanatos_spd_attack2

new g_knife_boss[33], cvar_knife_boss_jump, cvar_knife_boss_spd, cvar_knife_boss_dmg, cvar_knife_boss_knock, cvar_boss_spd_attack2

new g_knife_sur[33], cvar_knife_sur_jump, cvar_knife_sur_spd, cvar_knife_sur_dmg, cvar_knife_sur_knock, cvar_sur_spd_attack2



new const g_sound_knife[] = { "items/gunpickup2.wav" }



new const combat_sounds[][] =

{

    "zp_knife_menu/cabret_deploy.wav",

    "zp_knife_menu/cabret_hit.wav"    ,

    "zp_knife_menu/cabret_hit.wav"    ,

    "zp_knife_menu/cabret_hitwall.wav",

    "zp_knife_menu/cabret_slash.wav",

    "zp_knife_menu/cabret_stab.wav"

}



new const strong_sounds[][] =

{

    "zp_knife_menu/katana_deploy.wav",

    "zp_knife_menu/katana_hit.wav",

    "zp_knife_menu/katana_hit.wav",

    "zp_knife_menu/katana_hitwall.wav",

    "zp_knife_menu/katana_slash.wav",

    "zp_knife_menu/katana_stab.wav"

}



new const axe_sounds[][] =

{

    "zp_knife_menu/thanatos_deploy.wav",

    "zp_knife_menu/thanatos_hit.wav",

    "zp_knife_menu/thanatos_hit.wav",

    "zp_knife_menu/thanatos_hitwall.wav",

    "zp_knife_menu/thanatos_slash.wav",

    "zp_knife_menu/thanatos_stab.wav"

}



new const katana_sounds[][] =

{

    "zp_knife_menu/hammer_deploy.wav",

    "zp_knife_menu/hammer_hit.wav",

    "zp_knife_menu/hammer_hit.wav",

    "zp_knife_menu/hammer_hitwall.wav",

    "zp_knife_menu/hammer_slash.wav",

    "zp_knife_menu/hammer_stab.wav"

}



new const hammer_sounds[][] =

{

    "zp_knife_menu/warhammer_deploy.wav",

    "zp_knife_menu/warhammer_hit.wav",

    "zp_knife_menu/warhammer_hit.wav",

    "zp_knife_menu/warhammer_hitwall.wav",

    "zp_knife_menu/warhammer_slash.wav",

    "zp_knife_menu/warhammer_stab.wav"

}



new const thanatos_sounds[][] =

{

    "zp_knife_menu/warhammer_deploy.wav",

    "zp_knife_menu/warhammer_hit.wav",

    "zp_knife_menu/warhammer_hit.wav",

    "zp_knife_menu/warhammer_hitwall.wav",

    "zp_knife_menu/warhammer_slash.wav",

    "zp_knife_menu/warhammer_stab.wav"

}


new const boss_sounds[][] =

{

    "zp_knife_menu/warhammer_deploy.wav",

    "zp_knife_menu/warhammer_hit.wav",

    "zp_knife_menu/warhammer_hit.wav",

    "zp_knife_menu/warhammer_hitwall.wav",

    "zp_knife_menu/warhammer_slash.wav",

    "zp_knife_menu/warhammer_stab.wav"

}

new const sur_sounds[][] =

{

    "zp_knife_menu/warhammer_deploy.wav",

    "zp_knife_menu/warhammer_hit.wav",

    "zp_knife_menu/warhammer_hit.wav",

    "zp_knife_menu/warhammer_hitwall.wav",

    "zp_knife_menu/warhammer_slash.wav",

    "zp_knife_menu/warhammer_stab.wav"

}


public plugin_init()

{

    register_plugin(PLUGIN , VERSION , AUTHOR);

    register_cvar("zp_addon_knife", VERSION, FCVAR_SERVER);

       SayText = get_user_msgid("SayText")  



    register_clcmd("say /knife","knife_menu",ADMIN_ALL,"knife_menu")

    register_clcmd("/knife","knife_menu",ADMIN_ALL,"knife_menu")

    register_clcmd("combat", "give_combat")

    register_clcmd("strong", "give_strong")

    register_clcmd("axe", "give_axe")

    register_clcmd("katana", "give_katana")

    register_clcmd("hammer", "give_hammer")

    register_clcmd("thanatos", "give_thanatos")

       register_clcmd("boss", "give_boss")

       register_clcmd("sur", "give_sur")


    register_event("CurWeapon","checkWeapon","be","1=1");

    register_event("Damage" , "event_Damage" , "b" , "2>0");



    register_forward(FM_PlayerPreThink, "fw_PlayerPreThink");

       register_forward(FM_EmitSound, "CEntity__EmitSound");



    register_message(get_user_msgid("DeathMsg"), "message_DeathMsg");



    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage");

       RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fw_Knife_SecondaryAttack_Post", 1)



    cvar_knife_combat_jump= register_cvar("zp_knife_combat_jump", "270.0");

    cvar_knife_combat_spd = register_cvar("zp_knife_combat_spd", "310.0");

    cvar_knife_combat_dmg = register_cvar("zp_knife_combat_dmg" , "4.0");

    cvar_knife_combat_knock = register_cvar("zp_knife_combat_knock" , "6.0");

    cvar_knife_combat_spd_attack2 = register_cvar("zp_knife_combat_spd_attack2" , "1.2");



    cvar_knife_strong_jump= register_cvar("zp_knife_strong_jump", "265.0");

    cvar_knife_strong_spd = register_cvar("zp_knife_strong_spd", "255.0");

    cvar_knife_strong_dmg = register_cvar("zp_knife_strong_dmg" , "12.0");

    cvar_knife_strong_knock = register_cvar("zp_knife_strong_knock" , "7.0");

    cvar_knife_strong_spd_attack2 = register_cvar("zp_knife_strong_spd_attack2" , "1.6");

    bmStrongSure = register_cvar("zp_storng_frost","1");


    cvar_knife_axe_jump= register_cvar("zp_knife_axe_jump", "335.0");

    cvar_knife_axe_spd = register_cvar("zp_knife_axe_spd", "250.0");

    cvar_knife_axe_dmg = register_cvar("zp_knife_axe_dmg" , "5.0");

    cvar_knife_axe_knock = register_cvar("zp_knife_axe_knock" , "6.0");

    cvar_knife_axe_spd_attack2 = register_cvar("zp_knife_axe_spd_attack2" , "1.4");



    cvar_knife_katana_jump= register_cvar("zp_knife_katana_jump", "275.0");

    cvar_knife_katana_spd = register_cvar("zp_knife_katana_spd", "265.0");

    cvar_knife_katana_dmg = register_cvar("zp_knife_katana_dmg" , "5.0");

    cvar_knife_katana_knock = register_cvar("zp_knife_katana_knock" , "15.0");

    cvar_knife_katana_spd_attack2 = register_cvar("zp_knife_katana_spd_attack2" , "1.2");



    cvar_knife_hammer_jump= register_cvar("zp_knife_hammer_jump", "335.0");

    cvar_knife_hammer_spd= register_cvar("zp_knife_hammer_spd", "315.0");

    cvar_knife_hammer_dmg = register_cvar("zp_knife_hammer_dmg" , "15.0");

    cvar_knife_hammer_knock = register_cvar("zp_knife_hammer_knock" , "15.0");

    cvar_hammer_spd_attack2 = register_cvar("zp_knife_hammer_spd_attack2" , "1.8");



    cvar_knife_thanatos_jump= register_cvar("zp_knife_thanatos_jump", "385.0");

    cvar_knife_thanatos_spd= register_cvar("zp_knife_thanatos_spd", "320.0");

    cvar_knife_thanatos_dmg = register_cvar("zp_knife_thanatos_dmg" , "17.0");

    cvar_knife_thanatos_knock = register_cvar("zp_knife_thanatos_knock" , "17.0");

    cvar_thanatos_spd_attack2 = register_cvar("zp_knife_thanatos_spd_attack2" , "1.8");


       cvar_knife_boss_jump= register_cvar("zp_knife_boss_jump", "400.0");

    cvar_knife_boss_spd= register_cvar("zp_knife_boss_spd", "350.0");

    cvar_knife_boss_dmg = register_cvar("zp_knife_boss_dmg" , "20.0");

    cvar_knife_boss_knock = register_cvar("zp_knife_boss_knock" , "120.0");

    cvar_boss_spd_attack2 = register_cvar("zp_knife_boss_spd_attack2" , "2.0");
    

       cvar_knife_sur_jump= register_cvar("zp_knife_sur_jump", "380.0");

    cvar_knife_sur_spd= register_cvar("zp_knife_sur_spd", "370.0");

    cvar_knife_sur_dmg = register_cvar("zp_knife_sur_dmg" , "22.0");

    cvar_knife_sur_knock = register_cvar("zp_knife_sur_knock" , "100.0");

    cvar_sur_spd_attack2 = register_cvar("zp_knife_sur_spd_attack2" , "2.2");


       register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

}


public zp_round_started()
{
   for(new id = 1; id <=get_maxplayers(); id++)
   {
       if(zp_get_user_survivor(id))
       set_task(1.0, "task_give", id+45634)
   }
}

public task_give(id)
{
   id -= 45634
   if(zp_get_user_survivor(id) && is_user_alive(id))
   {
        give_sur(id)
   }
}  


public zp_round_ended()
{
   for(new id = 1; id <=get_maxplayers(); id++)
   {
       if(zp_get_user_survivor(id))
       set_task(1.0, "task_remove", id-45634)
   }
}

public task_remove(id)
{
   id -= -45634
   if(zp_get_user_survivor(id))
   {
        remove_sur(id)
   }
}  

public client_connect(id)

{

    g_knife_combat[id] = false

    g_knife_strong[id] = false

    g_knife_axe[id] = false

    g_knife_katana[id] = false

    g_knife_hammer[id] = false

    g_knife_thanatos[id] = false

       g_knife_boss[id] = false

       g_knife_sur[id] = false

}



public client_disconnect(id)

{

    g_knife_combat[id] = false

    g_knife_strong[id] = false

    g_knife_axe[id] = false

    g_knife_katana[id] = false

    g_knife_hammer[id] = false

    g_knife_thanatos[id] = false

       g_knife_boss[id] = false

       g_knife_sur[id] = false

}



public plugin_precache()

{
    g_glassSpr = precache_model(g_sprite_grenade_glass)
    
    precache_model(combat_v_model)

    precache_model(combat_p_model)

    precache_model(strong_v_model)

    precache_model(strong_p_model)

    precache_model(axe_v_model)

    precache_model(axe_p_model)

    precache_model(katana_v_model)

    precache_model(katana_p_model)

    precache_model(hammer_v_model)

    precache_model(hammer_p_model)

    precache_model(thanatos_p_model)

    precache_model(thanatos_v_model)

       precache_model(boss_p_model)

    precache_model(boss_v_model)

       precache_model(sur_p_model)

    precache_model(sur_v_model)


    precache_sound(g_sound_knife)



    for(new i = 0; i < sizeof combat_sounds; i++)

        precache_sound(combat_sounds[i])



    for(new i = 0; i < sizeof strong_sounds; i++)

        precache_sound(strong_sounds[i])



    for(new i = 0; i < sizeof axe_sounds; i++)

        precache_sound(axe_sounds[i])  



    for(new i = 0; i < sizeof katana_sounds; i++)

        precache_sound(katana_sounds[i])



    for(new i = 0; i < sizeof hammer_sounds; i++)

        precache_sound(hammer_sounds[i])



    for(new i = 0; i < sizeof thanatos_sounds; i++)

        precache_sound(thanatos_sounds[i])


       for(new i = 0; i < sizeof boss_sounds; i++)

        precache_sound(boss_sounds[i])

       for(new i = 0; i < sizeof sur_sounds; i++)

        precache_sound(sur_sounds[i])


       g_sprite1 = precache_model("sprites/zp_knife_menu/1.spr")
    
    g_sprite2 = precache_model("sprites/zp_knife_menu/2.spr")

       g_sprite3 = precache_model("sprites/zp_knife_menu/3.spr")

       g_sprite4 = precache_model("sprites/zp_knife_menu/4.spr")

       g_sprite5 = precache_model("sprites/zp_knife_menu/5.spr")

       g_sprite6 = precache_model("sprites/zp_knife_menu/6.spr")

       g_sprite7 = precache_model("sprites/zp_knife_menu/7.spr")


}



public event_round_start(id)

{

       for (new i; i < MAXPLAYERS + 1; i++)

           g_WasShowed[i] = false

}



public knife_menu(id)

{


    if(is_user_alive(id) && !zp_get_user_zombie(id) && !zp_get_user_survivor(id))

    {

        my_menu(id)

    }



    return PLUGIN_HANDLED

}



public my_menu(id)

{

    new menu = menu_create("\w|\r**\w[ZP] \rNEW Knife \yMenu\r**\w|^n\w|\r**\wBy \yDoper \r**\w|^n", "menu_handler");

    menu_additem(menu, "\r|\wCombat \dKnife\r| \w[\wSpeed]", "1", 0);

    menu_additem(menu, "\r|\wStrong \dKnife\r| \w[\wDamage]", "2", 0);

    menu_additem(menu, "\r|\wAxe \dKnife\r| \w[\wJump]^n", "3", 0);


       if(get_user_flags(id) & VIP)
    menu_additem(menu, "\r|\wWar \dHammer\r| \r[\wVip \yx2\r]", "4", 0);

       else
       menu_additem(menu, "\r|\wWar \dHammer\r| \r[\wVIP \yCost - 2 boost\r]", "4", 0);

       if(get_user_flags(id) & SVIP)
    menu_additem(menu, "\r|\wStorm \dHammer\r| \r[\wSvip \yx4\r]", "5", 0);

       else
       menu_additem(menu, "\r|\wStorm \dHammer\r| \r[\wSVIP \yCost - 4 boost\r]", "5", 0);

       if(get_user_flags(id) & ADMIN_FLAG)
    menu_additem(menu, "\r|\wIce \dHammer\r| \r[\wADMIN \yx6\r]^n", "6", 0);

       else
       menu_additem(menu, "\r|\wIce \dHammer\r| \r[\wAdmin \yCost - 6 boost\r]", "6", 0);  

       if(get_user_flags(id) & BOSS)
    menu_additem(menu, "\r|\wBoss \dHammer\r| \r[\wOwner \yFull Skill xXx\r]", "7", 0);
       
       else
       menu_additem(menu, "\r|\wBoss \dHammer\r| \r[\wOWNER \yCost - 20 Euro\r]", "7", 0);  

    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

   

    menu_display(id, menu, 0);    

}



public menu_handler(id, menu, item)

{

    if( item == MENU_EXIT )

    {

              menu_destroy(menu);

           return PLUGIN_HANDLED;    

    }

   

    new data[7], iName[64];

    new access, callback;

   

    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);

   

    new key = str_to_num(data);

   

    switch(key)

    {

           case 1:

           {

            give_combat(id)

            menu_destroy(menu);

            return PLUGIN_HANDLED

        }

        case 2:

        {

            give_strong(id)

            menu_destroy(menu);

            return PLUGIN_HANDLED

        }

        case 3:

        {

            give_axe(id)

            menu_destroy(menu);

            return PLUGIN_HANDLED

        }

        case 4:

        {

            give_katana(id)

            menu_destroy(menu);

            return PLUGIN_HANDLED

        }

        case 5:

        {

            give_hammer(id)

            menu_destroy(menu);

            return PLUGIN_HANDLED

        }

        case 6:

        {

            give_thanatos(id)

            menu_destroy(menu);

            return PLUGIN_HANDLED

        }

               case 7:

        {

            give_boss(id)

            menu_destroy(menu);

            return PLUGIN_HANDLED

        }

    }

    menu_destroy(menu);

    return PLUGIN_HANDLED

}



public give_combat(id)

{

    g_knife_combat[id] = true    

    g_knife_strong[id] = false

    g_knife_axe[id] = false    

    g_knife_katana[id] = false    

    g_knife_hammer[id] = false

    g_knife_thanatos[id] = false

       g_knife_boss[id] = false

       g_knife_sur[id] = false

    g_WasShowed[id] = true



    engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

}



public give_strong(id)

{

    g_knife_combat[id] = false    

    g_knife_strong[id] = true    

    g_knife_axe[id] = false

    g_knife_katana[id] = false    

    g_knife_hammer[id] = false

    g_knife_thanatos[id] = false

       g_knife_boss[id] = false
   
       g_knife_sur[id] = false

    g_WasShowed[id] = true


    
    engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

}



public give_axe(id)

{

    g_knife_combat[id] = false    

    g_knife_strong[id] = false    

    g_knife_axe[id] = true

    g_knife_katana[id] = false    

    g_knife_hammer[id] = false

    g_knife_thanatos[id] = false
       
       g_knife_sur[id] = false

       g_knife_boss[id] = false

    g_WasShowed[id] = true



    engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

}



public give_katana(id)


    if (get_user_flags(id) & VIP)

{

    g_knife_combat[id] = false    

    g_knife_strong[id] = false    

    g_knife_axe[id] = false

    g_knife_katana[id] = true    

    g_knife_hammer[id] = false

    g_knife_thanatos[id] = false

       g_knife_boss[id] = false
     
       g_knife_sur[id] = false

    g_WasShowed[id] = true



    engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

}





public give_hammer(id)



    if (get_user_flags(id) & SVIP)

    {

        g_knife_combat[id] = false    

        g_knife_strong[id] = false    

        g_knife_axe[id] = false

        g_knife_katana[id] = false

        g_knife_hammer[id] = true

        g_knife_thanatos[id] = false

               g_knife_boss[id] = false
           
               g_knife_sur[id] = false

        g_WasShowed[id] = true



        engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

    }



public give_thanatos(id)


    if (get_user_flags(id) & ADMIN_FLAG)

    {

        g_knife_combat[id] = false    

        g_knife_strong[id] = false    

        g_knife_axe[id] = false

        g_knife_katana[id] = false

        g_knife_hammer[id] = false

        g_knife_thanatos[id] = true

               g_knife_boss[id] = false
             
               g_knife_sur[id] = false

        g_WasShowed[id] = true



        engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

    }


public give_boss(id)


      if (get_user_flags(id) & BOSS)

      {

        g_knife_combat[id] = false    

        g_knife_strong[id] = false    

        g_knife_axe[id] = false

        g_knife_katana[id] = false

        g_knife_hammer[id] = false

        g_knife_thanatos[id] = false

               g_knife_boss[id] = true

               g_knife_sur[id] = false

        g_WasShowed[id] = true



        engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)
      }
    

public give_sur(id)

{


        g_knife_combat[id] = false    

        g_knife_strong[id] = false    

        g_knife_axe[id] = false

        g_knife_katana[id] = false

        g_knife_hammer[id] = false

        g_knife_thanatos[id] = false

               g_knife_boss[id] = false

               g_knife_sur[id] = true

        g_WasShowed[id] = true



        engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

    

}


public remove_sur(id)

{


        g_knife_combat[id] = true    

        g_knife_strong[id] = false    

        g_knife_axe[id] = false

        g_knife_katana[id] = false

        g_knife_hammer[id] = false

        g_knife_thanatos[id] = false

               g_knife_boss[id] = false

               g_knife_sur[id] = false

        g_WasShowed[id] = false



        engfunc(EngFunc_EmitSound, id, CHAN_BODY, g_sound_knife, 1.0, ATTN_NORM, 0, PITCH_NORM)

    

}

public checkWeapon(id)

{

    new plrWeapId

   

    plrWeapId = get_user_weapon(id)

   

    if (plrWeapId == CSW_KNIFE && (g_knife_combat[id] || g_knife_strong[id] || g_knife_axe[id] || g_knife_katana[id] || g_knife_hammer[id]|| g_knife_thanatos[id] || g_knife_boss[id] || g_knife_sur[id]))

    {

        checkModel(id)

    }

}



public checkModel(id)

{

    if (zp_get_user_zombie(id))

        return PLUGIN_HANDLED

   

    if (g_knife_combat[id])

    {

        set_pev(id, pev_viewmodel2, combat_v_model)

        set_pev(id, pev_weaponmodel2, combat_p_model)

    }



    if (g_knife_strong[id])

    {

        set_pev(id, pev_viewmodel2, strong_v_model)

        set_pev(id, pev_weaponmodel2, strong_p_model)

    }



    if (g_knife_axe[id])

    {

        set_pev(id, pev_viewmodel2, axe_v_model)

        set_pev(id, pev_weaponmodel2, axe_p_model)

    }



    if (g_knife_katana[id])

    {

        set_pev(id, pev_viewmodel2, katana_v_model)

        set_pev(id, pev_weaponmodel2, katana_p_model)

    }



    if (g_knife_hammer[id])

    {

        set_pev(id, pev_viewmodel2, hammer_v_model)

        set_pev(id, pev_weaponmodel2, hammer_p_model)

    }

    if (g_knife_thanatos[id])

    {

        set_pev(id, pev_viewmodel2, thanatos_v_model)

        set_pev(id, pev_weaponmodel2, thanatos_p_model)

    }

       if (g_knife_boss[id])

    {

        set_pev(id, pev_viewmodel2, boss_v_model)

        set_pev(id, pev_weaponmodel2, boss_p_model)

    }

       if (g_knife_sur[id])

    {

        set_pev(id, pev_viewmodel2, sur_v_model)

        set_pev(id, pev_weaponmodel2, sur_p_model)

    }


    return PLUGIN_HANDLED

}


public CEntity__EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)

{

   if (!is_user_connected(id))

       return HAM_IGNORED

   

   if (zp_get_user_zombie(id))

       return HAM_IGNORED

   

   if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')

   {

       if (sample[14] == 'd')

       {

           if(g_knife_combat[id])

               emit_sound(id, channel, combat_sounds[0], volume, attn, flags, pitch)

           if(g_knife_strong[id])

               emit_sound(id, channel, strong_sounds[0], volume, attn, flags, pitch)

           if(g_knife_axe[id])

               emit_sound(id, channel, axe_sounds[0], volume, attn, flags, pitch)

           if(g_knife_katana[id])

               emit_sound(id, channel, katana_sounds[0], volume, attn, flags, pitch)

           if(g_knife_hammer[id])

               emit_sound(id, channel, hammer_sounds[0], volume, attn, flags, pitch)

           if(g_knife_thanatos[id])

               emit_sound(id, channel, thanatos_sounds[0], volume, attn, flags, pitch)

           if(g_knife_boss[id])

               emit_sound(id, channel, boss_sounds[0], volume, attn, flags, pitch)

           if(g_knife_sur[id])

               emit_sound(id, channel, sur_sounds[0], volume, attn, flags, pitch)

       }

       else if (sample[14] == 'h')

       {

           if (sample[17] == 'w')

           {

               if(g_knife_combat[id])

                   emit_sound(id, channel, combat_sounds[3], volume, attn, flags, pitch)

               if(g_knife_strong[id])

                   emit_sound(id, channel, strong_sounds[3], volume, attn, flags, pitch)

               if(g_knife_axe[id])

                   emit_sound(id, channel, axe_sounds[3], volume, attn, flags, pitch)

               if(g_knife_katana[id] )

                   emit_sound(id, channel, katana_sounds[3], volume, attn, flags, pitch)

               if(g_knife_hammer[id])

                   emit_sound(id, channel, hammer_sounds[3], volume, attn, flags, pitch)

               if(g_knife_thanatos[id])

                   emit_sound(id, channel, thanatos_sounds[3], volume, attn, flags, pitch)

               if(g_knife_boss[id])

                   emit_sound(id, channel, boss_sounds[3], volume, attn, flags, pitch)

               if(g_knife_sur[id])

                   emit_sound(id, channel, sur_sounds[3], volume, attn, flags, pitch)


           }

           else

           {

               if(g_knife_combat[id])

                   emit_sound(id, channel, combat_sounds[random_num(1,2)], volume, attn, flags, pitch)

               if(g_knife_strong[id])

                   emit_sound(id, channel, strong_sounds[random_num(1,2)], volume, attn, flags, pitch)

               if(g_knife_axe[id])

                   emit_sound(id, channel, axe_sounds[random_num(1,2)], volume, attn, flags, pitch)

               if(g_knife_katana[id])

                   emit_sound(id, channel, katana_sounds[random_num(1,2)], volume, attn, flags, pitch)

               if(g_knife_hammer[id])

                   emit_sound(id, channel, hammer_sounds[random_num(1,2)], volume, attn, flags, pitch)

               if(g_knife_thanatos[id])

                   emit_sound(id, channel, thanatos_sounds[random_num(1,2)], volume, attn, flags, pitch)

               if(g_knife_boss[id])

                   emit_sound(id, channel, boss_sounds[random_num(1,2)], volume, attn, flags, pitch)
             
               if(g_knife_sur[id])

                   emit_sound(id, channel, sur_sounds[random_num(1,2)], volume, attn, flags, pitch)


           }

       }

       else

       {

           if (sample[15] == 'l')

           {

               if(g_knife_combat[id])

                   emit_sound(id, channel, combat_sounds[4], volume, attn, flags, pitch)

               if(g_knife_strong[id])

                   emit_sound(id, channel, strong_sounds[4], volume, attn, flags, pitch)

               if(g_knife_axe[id])

                   emit_sound(id, channel, axe_sounds[4], volume, attn, flags, pitch)

               if(g_knife_katana[id])

                   emit_sound(id, channel, katana_sounds[4], volume, attn, flags, pitch)

               if(g_knife_hammer[id])

                   emit_sound(id, channel, hammer_sounds[4], volume, attn, flags, pitch)

               if(g_knife_thanatos[id])

                   emit_sound(id, channel, thanatos_sounds[4], volume, attn, flags, pitch)

               if(g_knife_boss[id])

                   emit_sound(id, channel, boss_sounds[4], volume, attn, flags, pitch)

         
               if(g_knife_sur[id])

                   emit_sound(id, channel, sur_sounds[4], volume, attn, flags, pitch)

           }

           else

           {

               if(g_knife_combat[id])

                   emit_sound(id, channel, combat_sounds[5], volume, attn, flags, pitch)

               if(g_knife_strong[id] )

                   emit_sound(id, channel, strong_sounds[5], volume, attn, flags, pitch)

               if(g_knife_axe[id] )

                   emit_sound(id, channel, axe_sounds[5], volume, attn, flags, pitch)

               if(g_knife_katana[id])

                   emit_sound(id, channel, katana_sounds[5], volume, attn, flags, pitch)

               if(g_knife_hammer[id])

                   emit_sound(id, channel, hammer_sounds[5], volume, attn, flags, pitch)

               if(g_knife_thanatos[id])

                   emit_sound(id, channel, thanatos_sounds[5], volume, attn, flags, pitch)

               if(g_knife_boss[id])

                   emit_sound(id, channel, boss_sounds[5], volume, attn, flags, pitch)

               if(g_knife_sur[id])

                   emit_sound(id, channel, sur_sounds[5], volume, attn, flags, pitch)


           }

       }

       return HAM_SUPERCEDE

   }

   return HAM_IGNORED

}



public message_DeathMsg(msg_id, msg_dest, id)

{

    static szTruncatedWeapon[33], iattacker, ivictim

    

    get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))

    

    iattacker = get_msg_arg_int(1)

    ivictim = get_msg_arg_int(2)

    

    if(!is_user_connected(iattacker) || iattacker == ivictim)

        return PLUGIN_CONTINUE



    if (!zp_get_user_zombie(iattacker))

    {

        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

        {

            if(g_knife_combat[iattacker])

                set_msg_arg_string(4, "Combat knife")

        }

    

        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

        {

            if(g_knife_strong[iattacker])
                set_msg_arg_string(4, "Strong knife")

        }



        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

        {

            if(g_knife_axe[iattacker])

                set_msg_arg_string(4, "Axe knife")

        }



        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

        {

            if(g_knife_katana[iattacker])

                set_msg_arg_string(4, "Katana knife")

        }



        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

        {

            if(g_knife_hammer[iattacker])

                set_msg_arg_string(4, "Ice knife")

        }

        if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

        {

            if(g_knife_thanatos[iattacker])

                set_msg_arg_string(4, "Scythe knife")

        }

               if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

        {

            if(g_knife_boss[iattacker])

                set_msg_arg_string(4, "Fire knife")

        }

               
               if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)

        {

            if(g_knife_sur[iattacker])

                set_msg_arg_string(4, "Sur knife")

        }

    }

    return PLUGIN_CONTINUE

}



stock print_col_chat(const id, const input[], any:...)  

{  

    new count = 1, players[32];  

       static msg[191];  

       vformat(msg, 190, input, 3);  

       replace_all(msg, 190, "!g", "^4"); // Green Color  

       replace_all(msg, 190, "!y", "^1"); // Default Color

       replace_all(msg, 190, "!t", "^3"); // Team Color  

       if (id) players[0] = id; else get_players(players, count, "ch");  

       {  

           for ( new i = 0; i < count; i++ )  

           {  

                   if ( is_user_connected(players[i]) )  

                   {  

                       message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]);  

                       write_byte(players[i]);  

                       write_string(msg);  

                       message_end();  

                   }  

           }  

       }  

}  



public fw_PlayerPreThink(id)

{

    if(!is_user_alive(id) || zp_get_user_zombie(id))

        return FMRES_IGNORED



    new temp[2], weapon = get_user_weapon(id, temp[0], temp[1])



    if (weapon == CSW_KNIFE && g_knife_combat[id])

    {

        set_pev(id, get_pcvar_float(cvar_knife_combat_spd))

    }



    if(weapon == CSW_KNIFE && g_knife_combat[id])        

        if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

        {

            new flags = pev(id, pev_flags)

            new waterlvl = pev(id, pev_waterlevel)

            

            if (!(flags & FL_ONGROUND))

                return FMRES_IGNORED



            if (flags & FL_WATERJUMP)

                return FMRES_IGNORED



            if (waterlvl > 1)

                return FMRES_IGNORED

            

            new Float:fVelocity[3]

            pev(id, pev_velocity, fVelocity)

            

            fVelocity[2] += get_pcvar_num(cvar_knife_combat_jump)

            

            set_pev(id, pev_velocity, fVelocity)

            set_pev(id, pev_gaitsequence, 7)

        }

    if (weapon == CSW_KNIFE && g_knife_strong[id])

    {

        set_pev(id, get_pcvar_float(cvar_knife_strong_spd))



        if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

        {

            new flags = pev(id, pev_flags)

            new waterlvl = pev(id, pev_waterlevel)

            

            if (!(flags & FL_ONGROUND))

                return FMRES_IGNORED



            if (flags & FL_WATERJUMP)

                return FMRES_IGNORED



            if (waterlvl > 1)

                return FMRES_IGNORED

            

            new Float:fVelocity[3]

            pev(id, pev_velocity, fVelocity)

            

            fVelocity[2] += get_pcvar_num(cvar_knife_strong_jump)

            

            set_pev(id, pev_velocity, fVelocity)

            set_pev(id, pev_gaitsequence, 7)

        }

    }

    if (weapon == CSW_KNIFE && g_knife_axe[id])

    {

        set_pev(id, get_pcvar_float(cvar_knife_axe_spd))



        if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

        {

            new flags = pev(id, pev_flags)

            new waterlvl = pev(id, pev_waterlevel)

            

            if (!(flags & FL_ONGROUND))

                return FMRES_IGNORED



            if (flags & FL_WATERJUMP)

                return FMRES_IGNORED



            if (waterlvl > 1)

                return FMRES_IGNORED

            

            new Float:fVelocity[3]

            pev(id, pev_velocity, fVelocity)

            

            fVelocity[2] += get_pcvar_num(cvar_knife_axe_jump)

            

            set_pev(id, pev_velocity, fVelocity)

            set_pev(id, pev_gaitsequence, 7)

        }

    }

    if (weapon == CSW_KNIFE && g_knife_katana[id])

    {

        set_pev(id, get_pcvar_float(cvar_knife_katana_spd))



        if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

        {

            new flags = pev(id, pev_flags)

            new waterlvl = pev(id, pev_waterlevel)

            

            if (!(flags & FL_ONGROUND))

                return FMRES_IGNORED



            if (flags & FL_WATERJUMP)

                return FMRES_IGNORED



            if (waterlvl > 1)

                return FMRES_IGNORED

            

            new Float:fVelocity[3]

            pev(id, pev_velocity, fVelocity)

            

            fVelocity[2] += get_pcvar_num(cvar_knife_katana_jump)

            

            set_pev(id, pev_velocity, fVelocity)

            set_pev(id, pev_gaitsequence, 7)

        }

    }

    if (weapon == CSW_KNIFE && g_knife_hammer[id])

    {

        set_pev(id, get_pcvar_float(cvar_knife_hammer_spd))



        if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

        {

            new flags = pev(id, pev_flags)

            new waterlvl = pev(id, pev_waterlevel)

            

            if (!(flags & FL_ONGROUND))

                return FMRES_IGNORED



            if (flags & FL_WATERJUMP)

                return FMRES_IGNORED



            if (waterlvl > 1)

                return FMRES_IGNORED

            

            new Float:fVelocity[3]

            pev(id, pev_velocity, fVelocity)

            

            fVelocity[2] += get_pcvar_num(cvar_knife_hammer_jump)

            

            set_pev(id, pev_velocity, fVelocity)

            set_pev(id, pev_gaitsequence, 7)

        }

    }

    if (weapon == CSW_KNIFE && g_knife_thanatos[id])

    {

        set_pev(id, get_pcvar_float(cvar_knife_thanatos_spd))



        if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

        {

            new flags = pev(id, pev_flags)

            new waterlvl = pev(id, pev_waterlevel)

            

            if (!(flags & FL_ONGROUND))

                return FMRES_IGNORED



            if (flags & FL_WATERJUMP)

                return FMRES_IGNORED



            if (waterlvl > 1)

                return FMRES_IGNORED

            

            new Float:fVelocity[3]

            pev(id, pev_velocity, fVelocity)

            

            fVelocity[2] += get_pcvar_num(cvar_knife_thanatos_jump)

            

            set_pev(id, pev_velocity, fVelocity)

            set_pev(id, pev_gaitsequence, 7)

        }

    }


       if (weapon == CSW_KNIFE && g_knife_boss[id])

    {

        set_pev(id, get_pcvar_float(cvar_knife_boss_spd))



        if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

        {

            new flags = pev(id, pev_flags)

            new waterlvl = pev(id, pev_waterlevel)

            

            if (!(flags & FL_ONGROUND))

                return FMRES_IGNORED



            if (flags & FL_WATERJUMP)

                return FMRES_IGNORED



            if (waterlvl > 1)

                return FMRES_IGNORED

            

            new Float:fVelocity[3]

            pev(id, pev_velocity, fVelocity)

            

            fVelocity[2] += get_pcvar_num(cvar_knife_boss_jump)

            

            set_pev(id, pev_velocity, fVelocity)

            set_pev(id, pev_gaitsequence, 7)

        }

    }


       if (weapon == CSW_KNIFE && g_knife_sur[id])

    {

        set_pev(id, get_pcvar_float(cvar_knife_sur_spd))



        if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))

        {

            new flags = pev(id, pev_flags)

            new waterlvl = pev(id, pev_waterlevel)

            

            if (!(flags & FL_ONGROUND))

                return FMRES_IGNORED



            if (flags & FL_WATERJUMP)

                return FMRES_IGNORED



            if (waterlvl > 1)

                return FMRES_IGNORED

            

            new Float:fVelocity[3]

            pev(id, pev_velocity, fVelocity)

            

            fVelocity[2] += get_pcvar_num(cvar_knife_sur_jump)

            

            set_pev(id, pev_velocity, fVelocity)

            set_pev(id, pev_gaitsequence, 7)

        }

    }


    return FMRES_IGNORED

}  



public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)

{

    if(!is_user_connected(attacker))

        return HAM_IGNORED

    

    if(zp_get_user_zombie(attacker))

        return HAM_IGNORED



    new weapon = get_user_weapon(attacker)



    if (weapon == CSW_KNIFE && g_knife_combat[attacker])

    {    

        SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_combat_dmg))

    }

    if (weapon == CSW_KNIFE && g_knife_strong[attacker])

    {    

        SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_strong_dmg))
        if(~pev(victim,pev_flags) & FL_FROZEN){
            set_pev(victim, pev_flags, pev(victim,pev_flags) | FL_FROZEN)
            set_task(get_pcvar_float(bmStrongSure),"beDonBoz",victim);
            fm_set_rendering(victim, kRenderFxGlowShell, 0, 100, 200, kRenderNormal, 16);
        }

    }

    if (weapon == CSW_KNIFE && g_knife_axe[attacker])

    {    

        SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_axe_dmg))

    }

    if (weapon == CSW_KNIFE && g_knife_katana[attacker])

    {    

        SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_katana_dmg))

    }

        

    if (weapon == CSW_KNIFE && g_knife_hammer[attacker])

    {    

        SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_hammer_dmg))

    }

    

    if (weapon == CSW_KNIFE && g_knife_thanatos[attacker])

    {    

        SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_thanatos_dmg))

    }


       if (weapon == CSW_KNIFE && g_knife_boss[attacker])

    {    

        SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_boss_dmg))

    }


       if (weapon == CSW_KNIFE && g_knife_sur[attacker])

    {    

        SetHamParamFloat(4, damage * get_pcvar_float(cvar_knife_sur_dmg))

    }


       if (weapon == CSW_KNIFE && g_knife_combat[attacker])
    {
        if(!task_exists(victim + 100))
        {
            g_burning1[victim] += 5
            
            set_task(0.1, "Burning1", victim + 100, _, _, "b")
        }
    }


    if (weapon == CSW_KNIFE && g_knife_strong[attacker])
    {
        if(!task_exists(victim + 100))
        {
            g_burning2[victim] += 6
            
            set_task(0.1, "Burning2", victim + 100, _, _, "b")
        }
    }

       
       if (weapon == CSW_KNIFE && g_knife_axe[attacker])
    {
        if(!task_exists(victim + 100))
        {
            g_burning3[victim] += 4
            
            set_task(0.1, "Burning3", victim + 100, _, _, "b")
        }
    }


    if (weapon == CSW_KNIFE && g_knife_katana[attacker])
    {
        if(!task_exists(victim + 100))
        {
            g_burning4[victim] += 7
            
            set_task(0.1, "Burning4", victim + 100, _, _, "b")
        }
    }


       if (weapon == CSW_KNIFE && g_knife_hammer[attacker])
    {
        if(!task_exists(victim + 100))
        {
            g_burning5[victim] += 8
            
            set_task(0.1, "Burning5", victim + 100, _, _, "b")
        }
    }


    if (weapon == CSW_KNIFE && g_knife_thanatos[attacker])
    {
        if(!task_exists(victim + 100))
        {
            g_burning6[victim] += 9
            
            set_task(0.1, "Burning6", victim + 100, _, _, "b")
        }
    }


       if (weapon == CSW_KNIFE && g_knife_boss[attacker])
    {
        if(!task_exists(victim + 100))
        {
            g_burning7[victim] += 11
            
            set_task(0.1, "Burning7", victim + 100, _, _, "b")
        }
    }


    return HAM_IGNORED

}

public beDonBoz(bmID){
    set_pev(bmID, pev_flags, pev(bmID,pev_flags) & ~FL_FROZEN)
    fm_set_rendering(bmID, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 16);
    
    static origin[3]
    get_user_origin(ID_FROST_REMOVE, origin)
        
    // Glass shatter
    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
    write_byte(TE_BREAKMODEL) // TE id
    write_coord(origin[0]) // x
    write_coord(origin[1]) // y
    write_coord(origin[2]+24) // z
    write_coord(16) // size x
    write_coord(16) // size y
    write_coord(16) // size z
    write_coord(random_num(-50, 50)) // velocity x
    write_coord(random_num(-50, 50)) // velocity y
    write_coord(25) // velocity z
    write_byte(10) // random velocity
    write_short(g_glassSpr) // model
    write_byte(10) // count
    write_byte(25) // life
    write_byte(0x01) // flags
    message_end()
}

public fw_Knife_SecondaryAttack_Post(knife)

{    

       static id

       id = get_pdata_cbase(knife, m_pPlayer, 4)



       if(zp_get_user_zombie(id))

        return HAM_IGNORED

   

       if(is_user_connected(id) && g_knife_combat[id])

       {

           static Float:flRate

           flRate = get_pcvar_float(cvar_knife_combat_spd_attack2)

       

           set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4)

           set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4)

           set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4)

       }



       if(is_user_connected(id) && g_knife_strong[id])

       {

           static Float:flRate

           flRate = get_pcvar_float(cvar_knife_strong_spd_attack2)

           

           set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4)

           set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4)

           set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4)

       }



       if(is_user_connected(id) && g_knife_axe[id])

       {

           static Float:flRate

           flRate = get_pcvar_float(cvar_knife_axe_spd_attack2)

               

           set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4)

           set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4)

           set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4)

       }



       if(is_user_connected(id) && g_knife_katana[id])

       {

           static Float:flRate

           flRate = get_pcvar_float(cvar_knife_katana_spd_attack2)

               

           set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4)

           set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4)

           set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4)

       }



       if(is_user_connected(id) && g_knife_hammer[id])

       {

           static Float:flRate

           flRate = get_pcvar_float(cvar_hammer_spd_attack2)

           

           set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4)

           set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4)

           set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4)

       }     

    

    if(is_user_connected(id) && g_knife_thanatos[id])

       {

           static Float:flRate

           flRate = get_pcvar_float(cvar_thanatos_spd_attack2)

           

           set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4)

           set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4)

           set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4)

       }     


       if(is_user_connected(id) && g_knife_boss[id])

       {

           static Float:flRate

           flRate = get_pcvar_float(cvar_boss_spd_attack2)

           

           set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4)

           set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4)

           set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4)

       }     
 

       if(is_user_connected(id) && g_knife_sur[id])

       {

           static Float:flRate

           flRate = get_pcvar_float(cvar_sur_spd_attack2)

           

           set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4)

           set_pdata_float(knife, m_flNextSecondaryAttack, flRate, 4)

           set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4)

       }     


       return HAM_IGNORED

}



public Burning1(taskid)

{

    static origin[3], flags

    get_user_origin(ID_FBURN1, origin)

    flags = pev(ID_FBURN1, pev_flags)

    if ((flags & FL_INWATER) || g_burning1[ID_FBURN1] < 1 || !is_user_alive(ID_FBURN1))

    {

        remove_task(taskid)

        return

    }

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_SPRITE)

    write_coord(origin[0]+random_num(-5, 5))

    write_coord(origin[1]+random_num(-5, 5))

    write_coord(origin[2]+random_num(-10, 10))

    write_short(g_sprite1)

    write_byte(2)

    write_byte(200)

    message_end()
    

    g_burning1[ID_FBURN1]--

}



public Burning2(taskid)

{

    static origin[3], flags

    get_user_origin(ID_FBURN2, origin)

    flags = pev(ID_FBURN2, pev_flags)

    if ((flags & FL_INWATER) || g_burning2[ID_FBURN2] < 1 || !is_user_alive(ID_FBURN2))

    {

        remove_task(taskid)

        return

    }

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_SPRITE)

    write_coord(origin[0]+random_num(-5, 5))

    write_coord(origin[1]+random_num(-5, 5))

    write_coord(origin[2]+random_num(-10, 10))

    write_short(g_sprite2)

    write_byte(2)

    write_byte(200)

    message_end()
    

    g_burning2[ID_FBURN2]--

}



public Burning3(taskid)

{

    static origin[3], flags

    get_user_origin(ID_FBURN3, origin)

    flags = pev(ID_FBURN3, pev_flags)

    if ((flags & FL_INWATER) || g_burning3[ID_FBURN3] < 1 || !is_user_alive(ID_FBURN3))

    {

        remove_task(taskid)

        return

    }

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_SPRITE)

    write_coord(origin[0]+random_num(-5, 5))

    write_coord(origin[1]+random_num(-5, 5))

    write_coord(origin[2]+random_num(-10, 10))

    write_short(g_sprite3)

    write_byte(2)

    write_byte(200)

    message_end()
    

    g_burning3[ID_FBURN3]--

}



public Burning4(taskid)

{

    static origin[3], flags

    get_user_origin(ID_FBURN4, origin)

    flags = pev(ID_FBURN1, pev_flags)

    if ((flags & FL_INWATER) || g_burning4[ID_FBURN4] < 1 || !is_user_alive(ID_FBURN4))

    {

        remove_task(taskid)

        return

    }

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_SPRITE)

    write_coord(origin[0]+random_num(-5, 5))

    write_coord(origin[1]+random_num(-5, 5))

    write_coord(origin[2]+random_num(-10, 10))

    write_short(g_sprite4)

    write_byte(2)

    write_byte(200)

    message_end()
    

    g_burning4[ID_FBURN1]--

}



public Burning5(taskid)

{

    static origin[3], flags

    get_user_origin(ID_FBURN5, origin)

    flags = pev(ID_FBURN5, pev_flags)

    if ((flags & FL_INWATER) || g_burning5[ID_FBURN5] < 1 || !is_user_alive(ID_FBURN5))

    {

        remove_task(taskid)

        return

    }

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_SPRITE)

    write_coord(origin[0]+random_num(-5, 5))

    write_coord(origin[1]+random_num(-5, 5))

    write_coord(origin[2]+random_num(-10, 10))

    write_short(g_sprite5)

    write_byte(2)

    write_byte(200)

    message_end()
    

    g_burning5[ID_FBURN5]--


}



public Burning6(taskid)

{

    static origin[3], flags

    get_user_origin(ID_FBURN6, origin)

    flags = pev(ID_FBURN6, pev_flags)

    if ((flags & FL_INWATER) || g_burning6[ID_FBURN6] < 1 || !is_user_alive(ID_FBURN6))

    {

        remove_task(taskid)

        return

    }

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_SPRITE)

    write_coord(origin[0]+random_num(-5, 5))

    write_coord(origin[1]+random_num(-5, 5))

    write_coord(origin[2]+random_num(-10, 10))

    write_short(g_sprite6)

    write_byte(2)

    write_byte(200)

    message_end()
    

    g_burning6[ID_FBURN6]--

}


public Burning7(taskid)

{

    static origin[3], flags

    get_user_origin(ID_FBURN7, origin)

    flags = pev(ID_FBURN7, pev_flags)

    if ((flags & FL_INWATER) || g_burning7[ID_FBURN7] < 1 || !is_user_alive(ID_FBURN7))

    {

        remove_task(taskid)

        return

    }

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin)

    write_byte(TE_SPRITE)

    write_coord(origin[0]+random_num(-5, 5))

    write_coord(origin[1]+random_num(-5, 5))

    write_coord(origin[2]+random_num(-10, 10))

    write_short(g_sprite7)

    write_byte(2)

    write_byte(200)

    message_end()
    
    g_burning7[ID_FBURN7]--
}


public event_Damage(id)

{

    new weapon , attacker = get_user_attacker(id , weapon);



    if(!is_user_alive(attacker))

        return PLUGIN_CONTINUE;



    if(weapon == CSW_KNIFE && g_knife_combat[attacker])

    {

        new Float:vec[3];

        new Float:oldvelo[3];

        get_user_velocity(id, oldvelo);

        create_velocity_vector(id , attacker , vec);

        vec[0] += oldvelo[0];

        vec[1] += oldvelo[1];

        set_user_velocity(id , vec);

    }



    if(weapon == CSW_KNIFE && g_knife_strong[attacker])

    {

        new Float:vec[3];

        new Float:oldvelo[3];

        get_user_velocity(id, oldvelo);

        create_velocity_vector(id , attacker , vec);

        vec[0] += oldvelo[0];

        vec[1] += oldvelo[1];

        set_user_velocity(id , vec);

    }



    if(weapon == CSW_KNIFE && g_knife_axe[attacker])

    {

        new Float:vec[3];

        new Float:oldvelo[3];

        get_user_velocity(id, oldvelo);

        create_velocity_vector(id , attacker , vec);

        vec[0] += oldvelo[0];

        vec[1] += oldvelo[1];

        set_user_velocity(id , vec);

    }



    if(weapon == CSW_KNIFE && g_knife_katana[attacker])

    {

        new Float:vec[3];

        new Float:oldvelo[3];

        get_user_velocity(id, oldvelo);

        create_velocity_vector(id , attacker , vec);

        vec[0] += oldvelo[0];

        vec[1] += oldvelo[1];

        set_user_velocity(id , vec);

    }



    if(weapon == CSW_KNIFE && g_knife_hammer[attacker])

    {

        new Float:vec[3];

        new Float:oldvelo[3];

        get_user_velocity(id, oldvelo);

        create_velocity_vector(id , attacker , vec);

        vec[0] += oldvelo[0];

        vec[1] += oldvelo[1];

        set_user_velocity(id , vec);

    }

    

    if(weapon == CSW_KNIFE && g_knife_thanatos[attacker])

    {

        new Float:vec[3];

        new Float:oldvelo[3];

        get_user_velocity(id, oldvelo);

        create_velocity_vector(id , attacker , vec);

        vec[0] += oldvelo[0];

        vec[1] += oldvelo[1];

        set_user_velocity(id , vec);

    }


       if(weapon == CSW_KNIFE && g_knife_boss[attacker])

    {

        new Float:vec[3];

        new Float:oldvelo[3];

        get_user_velocity(id, oldvelo);

        create_velocity_vector(id , attacker , vec);

        vec[0] += oldvelo[0];

        vec[1] += oldvelo[1];

        set_user_velocity(id , vec);

    }
     
       if(weapon == CSW_KNIFE && g_knife_sur[attacker])

    {

        new Float:vec[3];

        new Float:oldvelo[3];

        get_user_velocity(id, oldvelo);

        create_velocity_vector(id , attacker , vec);

        vec[0] += oldvelo[0];

        vec[1] += oldvelo[1];

        set_user_velocity(id , vec);

    }


    return PLUGIN_CONTINUE;

}


stock create_velocity_vector(victim,attacker,Float:velocity[3])

{

    if(!zp_get_user_zombie(victim) || !is_user_alive(attacker))

        return 0;



    new Float:vicorigin[3];

    new Float:attorigin[3];

    entity_get_vector(victim   , EV_VEC_origin , vicorigin);

    entity_get_vector(attacker , EV_VEC_origin , attorigin);



    new Float:origin2[3]

    origin2[0] = vicorigin[0] - attorigin[0];

    origin2[1] = vicorigin[1] - attorigin[1];



    new Float:largestnum = 0.0;



    if(floatabs(origin2[0])>largestnum) largestnum = floatabs(origin2[0]);

    if(floatabs(origin2[1])>largestnum) largestnum = floatabs(origin2[1]);



    origin2[0] /= largestnum;

    origin2[1] /= largestnum;



    if (g_knife_combat[attacker])

    {

        velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_combat_knock) * 3000) ) / get_entity_distance(victim , attacker);

        velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_combat_knock) * 3000) ) / get_entity_distance(victim , attacker);

    }



    if (g_knife_strong[attacker])

    {

        velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_strong_knock) * 3000) ) / get_entity_distance(victim , attacker);

        velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_strong_knock) * 3000) ) / get_entity_distance(victim , attacker);

    }



    if (g_knife_axe[attacker])

    {

        velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_axe_knock) * 3000) ) / get_entity_distance(victim , attacker);

        velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_axe_knock) * 3000) ) / get_entity_distance(victim , attacker);

    }



    if (g_knife_katana[attacker])

    {

        velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_katana_knock) * 3000) ) / get_entity_distance(victim , attacker);

        velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_katana_knock) * 3000) ) / get_entity_distance(victim , attacker);

    }



    if (g_knife_hammer[attacker])

    {

        velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_hammer_knock) * 3000) ) / get_entity_distance(victim , attacker);

        velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_hammer_knock) * 3000) ) / get_entity_distance(victim , attacker);

    }



    if (g_knife_thanatos[attacker])

    {

        velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_thanatos_knock) * 3000) ) / get_entity_distance(victim , attacker);

        velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_thanatos_knock) * 3000) ) / get_entity_distance(victim , attacker);

    }


       if (g_knife_boss[attacker])

    {

        velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_boss_knock) * 3000) ) / get_entity_distance(victim , attacker);

        velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_boss_knock) * 3000) ) / get_entity_distance(victim , attacker);

    }


       if (g_knife_sur[attacker])

    {

        velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_knife_sur_knock) * 3000) ) / get_entity_distance(victim , attacker);

        velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_knife_sur_knock) * 3000) ) / get_entity_distance(victim , attacker);

    }


    if(velocity[0] <= 20.0 || velocity[1] <= 20.0)

        velocity[2] = random_float(200.0 , 275.0);



    return 1;

}



public client_putinserver(id)

{

    switch(random_num(0, 0))

    {

        case 0:

        {

            g_knife_combat[id] = true

        }



    }

}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/




#9
Forum kurallarına aykırı olduğun için konunuz silinmiştir .


Bir Hata Söz Konusu Olursa Bizlere Ulaşarak Düzeltebilirsiniz.






Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Silinmiş Konu   | Bıçak 4 tl den inmiyor mehmed654 7 346 29-08-2019, Saat: 13:33
Son Yorum: ITenGriTR
Silinmiş Konu   | CS 1.6 Biçak Model Paylaşım Blogu ♛ MAPMASTER♛ 4 329 27-06-2019, Saat: 20:31
Son Yorum: Aconyonn
Silinmiş Konu   | ALEMDAR GAMING BICAK MODELLERI efebey52 8 593 19-05-2019, Saat: 09:17
Son Yorum: Aconyonn
Silinmiş Konu   | CS:GO | Bıçak Menüsü (Seçenekli) Kulak Çek 1 323 28-04-2019, Saat: 18:11
Son Yorum: MawiLarq
Silinmiş Konu   | CS:GO | Bıçak Menüsü (Seçenekli) Kulak Çek 1 308 28-04-2019, Saat: 17:53
Son Yorum: MawiLarq

Task