Page 1 of 1

Cerere modificare plugin

Posted: 11 Feb 2020, 17:47
by RyZeNNN
Salut imi puteti scoate viteza de la toate cutitele?Am addons Zombie Xp si viteza creste pe lvl..

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <fakemeta> 
#include <fun>
#include <zombieplague> 
#include <hamsandwich>
#include <engine> 
                                                                                          
#define PLUGIN  "bine_zp_knife"                                                                                                     
#define VERSION "2.5"                                     
#define AUTHOR  "NEO"         
                                                                            
#define TASK_FBURN     100
#define TASK_INFO      333
#define ID_FBURN      ( taskid - TASK_FBURN )            
#define MAX_CLIENTS               32
new bool:g_fRoundEnd                                       
new g_flameSpr, g_smokeSpr, g_burning_duration[ MAX_CLIENTS + 1 ]         
                                                                                     
#define PREFIKS "!t[!gZmX.NewMoon.Ro!t]"   
#define ADMIN_FLAG   ADMIN_BAN                                     
#define OWNER_FLAG        ADMIN_LEVEL_G
#define VIP_FLAG      ADMIN_LEVEL_H                              
                                                                  
new key0 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
                                                                                                                  
new g_knife1[33],g_knife2[33],g_knife3[33],g_knife4[33],g_knife5[33],g_knife6[33]
new s_knife0[33],s_knife1[33],s_knife2[33],s_knife3[33],s_knife4[33],s_knife5[33],s_knife6[33] 
new g_block[33]                                   

new Knife_v_0[]    = "models/v_knife.mdl"                                               
new Knife_v_1[]    = "models/7erva4ok/zmmod/knife/Knife_v_1.mdl"                                                                                                                                                
new Knife_v_2[]    = "models/7erva4ok/zmmod/knife/Knife_v_2.mdl"                                                                                      
new Knife_v_3[]    = "models/7erva4ok/zmmod/knife/Knife_v_3.mdl"                                                                                                                                                                             
new Knife_v_4[]    = "models/7erva4ok/zmmod/knife/Knife_v_4.mdl"                                                                                
new Knife_v_5[]    = "models/7erva4ok/zmmod/knife/Knife_v_5.mdl"                                                                                                                                                                             
new Knife_v_6[]    = "models/7erva4ok/zmmod/knife/Knife_v_6.mdl"          
                                                                                     
new Knife_p_0[]    = "models/p_knife.mdl"                                                                                   
new Knife_p_1[]    = "models/7erva4ok/zmmod/knife/Knife_p_1.mdl"                                                                                                                                                
new Knife_p_2[]    = "models/7erva4ok/zmmod/knife/Knife_p_2.mdl"                                                                                      
new Knife_p_3[]    = "models/7erva4ok/zmmod/knife/Knife_p_3.mdl"                                                                                                                                                                             
new Knife_p_4[]    = "models/7erva4ok/zmmod/knife/Knife_p_4.mdl"                                                                                
new Knife_p_5[]    = "models/7erva4ok/zmmod/knife/Knife_p_5.mdl"                                                                                                                                                                             
new Knife_p_6[]    = "models/7erva4ok/zmmod/knife/Knife_p_6.mdl"

new Buy_Sound[]    = "items/gunpickup2.wav" 
                                                                                                    
new const Knife1_sound[][] =                                                        
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_1_draw.wav",
    "7erva4ok/zmmod/knife/Knife_1_hit.wav",
    "7erva4ok/zmmod/knife/Knife_1_hitwall.wav",                          
    "7erva4ok/zmmod/knife/Knife_1_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_1_stab.wav"
}
                                                                                  
new const Knife2_sound[][] =                                                                                              
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_2_draw.wav",
    "7erva4ok/zmmod/knife/Knife_2_hit.wav",
    "7erva4ok/zmmod/knife/Knife_2_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_2_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_2_stab.wav"
}

new const Knife3_sound[][] =
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_3_draw.wav",
    "7erva4ok/zmmod/knife/Knife_3_hit.wav",
    "7erva4ok/zmmod/knife/Knife_3_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_3_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_3_stab.wav"
}

new const Knife4_sound[][] =
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_4_draw.wav",
    "7erva4ok/zmmod/knife/Knife_4_hit.wav",
    "7erva4ok/zmmod/knife/Knife_4_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_4_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_4_stab.wav"
}
                                                               
new const Knife5_sound[][] =
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_5_draw.wav",
    "7erva4ok/zmmod/knife/Knife_5_hit.wav",
    "7erva4ok/zmmod/knife/Knife_5_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_5_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_5_stab.wav"
} 

new const Knife6_sound[][] =
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_6_draw.wav",
    "7erva4ok/zmmod/knife/Knife_6_hit.wav",
    "7erva4ok/zmmod/knife/Knife_6_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_6_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_6_stab.wav"
}
                                                                                                     
new speed_knife1,speed_knife2,speed_knife3,speed_knife4,speed_knife5,speed_knife6 
new grav_knife1,grav_knife2,grav_knife3,grav_knife4,grav_knife5,grav_knife6
new g_line_sozdatel_R,g_line_sozdatel_G,g_line_sozdatel_B,g_line_admin_R,g_line_admin_G,g_line_admin_B,g_line_vip_R,g_line_vip_G,g_line_vip_B
new gump_vip,gump_admin,gump_sozdatel
new dmg_knife1,dmg_knife2,dmg_knife3,dmg_knife4,dmg_knife5,dmg_knife6
new g_off_line_sozdatel,g_off_line_admin,g_off_line_vip
new g_fire_time,g_fire_damage
new g_freeze_wait[33],g_frozen[33]
new g_time_freeze,g_time_freeze_wait
                                                    
new jumpnum[33] = 0                                                       
new bool:dojump[33] = false                                                     
new g_jump[33]                                                                    
new BeaconSprite
new g_SpriteGlass
new g_sp[33]
                                                                                                 
public plugin_init()                                                                         
{                                                                                                                           
    register_plugin(PLUGIN,VERSION,AUTHOR)                                                  
    register_menu("Menu_0", key0, "Key_0")                                                           
                                                                                      
    register_event("CurWeapon", "weapon_charge", "be","1=1")
    register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")                             
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") 
    register_forward(FM_EmitSound, "CEntity__EmitSound")
                                                                                            
    register_clcmd("drop","next_sp")                                                                  
    register_clcmd("say /knife","start_menu")
    register_clcmd("knife","start_menu")
    
    set_cvar_string("bine_knife",VERSION)
    // Speed Knife                                                                           
    speed_knife1 = register_cvar("zp_knife1_speed", "300,0")                                                         
    speed_knife2 = register_cvar("zp_knife2_speed", "250,0")                                                                    
    speed_knife3 = register_cvar("zp_knife3_speed", "250,0")                                                       
    speed_knife4 = register_cvar("zp_knife4_speed", "310,0")                                                         
    speed_knife5 = register_cvar("zp_knife5_speed", "325,0")                                                         
    speed_knife6 = register_cvar("zp_knife6_speed", "350,0")                                                             
    // Gravity Knife                                                                                                        
    grav_knife1 = register_cvar("zp_knife1_grav", "300")                                                         
    grav_knife2 = register_cvar("zp_knife2_grav", "350")                                                                  
    grav_knife3 = register_cvar("zp_knife3_grav", "300")                                                      
    grav_knife4 = register_cvar("zp_knife4_grav", "355")
    grav_knife5 = register_cvar("zp_knife5_grav", "360")                                               
    grav_knife6 = register_cvar("zp_knife6_grav", "370")                            
    // Damage Knife                                                                                   
    dmg_knife1 = register_cvar("zp_knife1_dmg", "2.0")                  
    dmg_knife2 = register_cvar("zp_knife2_dmg", "3.0")                                              
    dmg_knife3 = register_cvar("zp_knife3_dmg", "5.0")                                  
    dmg_knife4 = register_cvar("zp_knife4_dmg", "6.0") 
    dmg_knife5 = register_cvar("zp_knife5_dmg", "7.0")              
    dmg_knife6 = register_cvar("zp_knife6_dmg", "8.0") 
    // Color of the circle when pressing                                                                                              
    g_line_sozdatel_R = register_cvar("zp_color_sozdatel_R","255")                                    
    g_line_sozdatel_G = register_cvar("zp_color_sozdatel_G","0")                                                                    
    g_line_sozdatel_B = register_cvar("zp_color_sozdatel_B","0")                                         
    // Color of the circle when pressing (Admin)                                                                                                
    g_line_admin_R = register_cvar("zp_color_admin_R","255")                                        
    g_line_admin_G = register_cvar("zp_color_admin_G","255")                                   
    g_line_admin_B = register_cvar("zp_color_admin_B","0")                                                 
    // Cirlce of colour when pressing (Vip)                                                                                                       
    g_line_vip_R = register_cvar("zp_color_vip_R","0")                                                        
    g_line_vip_G = register_cvar("zp_color_vip_G","255")                                                                       
    g_line_vip_B = register_cvar("zp_color_vip_B","0")                                     
    // Disable circle                                                                               
    g_off_line_sozdatel = register_cvar("zp_color_on_sozdatel","1")                                          
    g_off_line_admin = register_cvar("zp_color_on_admin","1")                                             
    g_off_line_vip = register_cvar("zp_color_on_vip","1")                                                                  
    // Jumping                                                                                 
    gump_sozdatel = register_cvar("zp_maxjumps_sozdatel","5")                                                                                                      
    gump_admin = register_cvar("zp_maxjumps_admin","3")                                            
    gump_vip = register_cvar("zp_maxjumps_vip","2")                                                            
    // KNIFE Abilities                                                              
    g_fire_time = register_cvar("zp_burn_time","5")                                                     
    g_fire_damage = register_cvar("zp_burn_damage","15")
    
    g_time_freeze = register_cvar("zp_freeze_time","3.0") 
    g_time_freeze_wait = register_cvar("zp_freeze_wait","10.0")
}

public plugin_cfg()                                                                             
{                                                                               
    new szCfgDir[64], szFile[192];                                                             
    get_configsdir(szCfgDir, charsmax(szCfgDir));
    formatex(szFile,charsmax(szFile),"%s/bine_plague/bine_knife.cfg",szCfgDir); 
    if(file_exists(szFile))                 
    server_cmd("exec %s", szFile);                                                              
}
                                                                                                                
public plugin_precache()                                                                            
{   
    precache_model(Knife_v_0)                                   
    precache_model(Knife_v_1)                                                                                                              
    precache_model(Knife_v_2)                                                                                                                     
    precache_model(Knife_v_3)                                                                                       
    precache_model(Knife_v_4)                                                                                                   
    precache_model(Knife_v_5)                                                                                       
    precache_model(Knife_v_6)                                                         

    precache_model(Knife_p_0)                                                           
    precache_model(Knife_p_1)                                                                                                              
    precache_model(Knife_p_2)                                                                                                                     
    precache_model(Knife_p_3)                                                                                       
    precache_model(Knife_p_4)                                                                                                   
    precache_model(Knife_p_5)                                                                                       
    precache_model(Knife_p_6)
    
    for(new i = 0; i < sizeof Knife1_sound; i++)
        precache_sound(Knife1_sound[i])
                                                           
    for(new i = 0; i < sizeof Knife2_sound; i++)
        precache_sound(Knife2_sound[i])                                                               

    for(new i = 0; i < sizeof Knife3_sound; i++)                                          
        precache_sound(Knife3_sound[i])

    for(new i = 0; i < sizeof Knife4_sound; i++)
        precache_sound(Knife4_sound[i])              
                
    for(new i = 0; i < sizeof Knife5_sound; i++)
        precache_sound(Knife5_sound[i])
        
    for(new i = 0; i < sizeof Knife6_sound; i++)
        precache_sound(Knife6_sound[i])
    
    BeaconSprite = precache_model("sprites/shockwave.spr")
    g_flameSpr = precache_model( "sprites/flame.spr" )
    g_smokeSpr = precache_model( "sprites/black_smoke3.spr" )                             
    g_SpriteGlass = precache_model("models/glassgibs.mdl")
}                                           

public client_putinserver(id)            
{
    jumpnum[id] = 0                           
    dojump[id] = false
    g_sp[id] = false
    
    g_knife1[id] = false                                                 
    g_knife2[id] = false                            
    g_knife3[id] = false                        
    g_knife4[id] = false                          
    g_knife5[id] = false
    g_knife6[id] = false
                                                        
    s_knife0[id] = true
    s_knife1[id] = false     
    s_knife2[id] = false             
    s_knife3[id] = false                                               
    s_knife4[id] = false                 
    s_knife5[id] = false                              
    s_knife6[id] = false
}
                                   
public client_disconnect(id)
{
    jumpnum[id] = 0
    dojump[id] = false 
}

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_knife6[attacker])                                                                 
{                                                                 
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife6))                                  
if(g_sp[attacker])
{
if( !task_exists( victim + TASK_FBURN ) )                                                            
{                                                                                                             
g_burning_duration[victim] += get_pcvar_num(g_fire_time) * 5                                          
set_task(0.1, "CTask__BurningFlame", victim + TASK_FBURN, _, _, "b" )
}                                                                                                         
}                                                                                                        
else
{                                                                                                               
if(!g_freeze_wait[attacker] && !zp_get_user_nemesis(victim))                                                 
{                                                           
set_pev(victim, pev_flags, pev(victim, pev_flags) | FL_FROZEN)                               
set_user_rendering(victim, kRenderFxGlowShell, 0, 206, 209, kRenderNormal, 25)                   
g_frozen[victim] = true 
set_task(get_pcvar_float(g_time_freeze), "end", victim)                                                 
g_freeze_wait[attacker] = true                                                                                    
set_task(get_pcvar_float(g_time_freeze_wait), "Freeze_Wait", attacker + 1233123)
}
}                                                                      
}                                                                                                    
if(weapon == CSW_KNIFE && g_knife5[attacker])                                              
{                                                                                               
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife5))
}                                                                                                          
if(weapon == CSW_KNIFE && g_knife4[attacker])
{    
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife4))
}
if(weapon == CSW_KNIFE && g_knife3[attacker])
{                                                                                       
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife3))
}                                                
if(weapon == CSW_KNIFE && g_knife2[attacker])
{     
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife2))                              
}                                                                                                       
if(weapon == CSW_KNIFE && g_knife1[attacker])                                    
{     
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife1))
}                                                          
return HAM_IGNORED                                                                 
}

public fw_PlayerPreThink(id)                                                                           
{                                                                                                  
new weapon = get_user_weapon(id)        
if(weapon == CSW_KNIFE)                                                    
{ 
if(g_knife1[id])                                                   
{ 
g_jump[id] = 0 
set_user_maxspeed(id, get_pcvar_float(speed_knife1)) 
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_float(grav_knife1)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6) 
}
}                                                                                                
if(g_knife2[id])                                                     
{
g_jump[id] = 0 
set_user_maxspeed(id, get_pcvar_float(speed_knife2))
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_float(grav_knife2)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6) 
}
}
if(g_knife3[id])
{
g_jump[id] = 0 
set_user_maxspeed(id, get_pcvar_float(speed_knife3))
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_float(grav_knife3)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6) 
}
}
if(g_knife4[id])
{                                               
g_jump[id] = get_pcvar_num(gump_vip)                   
set_user_maxspeed(id, get_pcvar_float(speed_knife4))
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_float(grav_knife4)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6) 
}
}
if(g_knife5[id])
{
g_jump[id] = get_pcvar_num(gump_admin)
set_user_maxspeed(id, get_pcvar_float(speed_knife5))
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_float(grav_knife5)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6)                   
}                                                                                                           
}                                                                                  
if(g_knife6[id])                                                                                                    
{                                                                                      
set_task(0.5, "Ability", id + TASK_INFO)
g_jump[id] = get_pcvar_num(gump_sozdatel)                                                                 
set_user_maxspeed(id, get_pcvar_float(speed_knife6))                                                              
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_float(grav_knife6)                        
set_pev(id, pev_velocity, fVelocity)               
set_pev(id, pev_gaitsequence, 6) 
}
}
}
else                                                     
{
g_jump[id] = 0
}
return FMRES_IGNORED
}                                                                
                                                                               
public zp_user_infected_post(id)                              
{
g_knife1[id] = false                                                 
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = false                          
g_knife5[id] = false
g_knife6[id] = false
                                                        
s_knife0[id] = true
s_knife1[id] = false     
s_knife2[id] = false                               
s_knife3[id] = false                                               
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false
}
    
public weapon_charge(id)                                      
{                                                                    
new weaponid 
weaponid = read_data(2)
                                                  
if(!zp_get_user_zombie(id))                                    
{                                              
if(weaponid == CSW_KNIFE)                                                               
{
if(g_knife1[id])                                                                        
{
set_pev(id, pev_viewmodel2, Knife_v_1)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_1)               
}
if(g_knife2[id])                                                                    
{                                                                                      
set_pev(id, pev_viewmodel2, Knife_v_2)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_2) 
}
if(g_knife3[id])
{
set_pev(id, pev_viewmodel2, Knife_v_3)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_3)
}
if(g_knife4[id])                                                                                  
{
set_pev(id, pev_viewmodel2, Knife_v_4)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_4)
}                                                                         
if(g_knife5[id])
{
set_pev(id, pev_viewmodel2, Knife_v_5)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_5)
}
if(g_knife6[id])
{
set_pev(id, pev_viewmodel2, Knife_v_6)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_6)
}
}                                                                      
}
}

public CEntity__EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
if (!is_user_connected(id)) 
    return HAM_IGNORED                                                                              
                                                                              
if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
{    
if (sample[14] == 'd')                                                                                                   
{                                                             
if(g_knife1[id])
emit_sound(id, channel, Knife1_sound[0], volume, attn, flags, pitch)
if(g_knife2[id])                                                                      
emit_sound(id, channel, Knife2_sound[0], volume, attn, flags, pitch)                     
if(g_knife3[id])                                                                                   
emit_sound(id, channel, Knife3_sound[0], volume, attn, flags, pitch)                                    
if(g_knife4[id])
emit_sound(id, channel, Knife4_sound[0], volume, attn, flags, pitch)                                    
if(g_knife5[id])
emit_sound(id, channel, Knife5_sound[0], volume, attn, flags, pitch)
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[0], volume, attn, flags, pitch)
}                                                                                      
else if (sample[14] == 'h')                                                                               
{
if (sample[17] == 'w') 
{
if(g_knife1[id])                                                                                        
emit_sound(id, channel, Knife1_sound[2], volume, attn, flags, pitch)
if(g_knife2[id])
emit_sound(id, channel, Knife2_sound[2], volume, attn, flags, pitch)
if(g_knife3[id])
emit_sound(id, channel, Knife3_sound[2], volume, attn, flags, pitch)            
if(g_knife4[id])                                                                                
emit_sound(id, channel, Knife4_sound[2], volume, attn, flags, pitch)
if(g_knife5[id])
emit_sound(id, channel, Knife5_sound[2], volume, attn, flags, pitch)
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[2], volume, attn, flags, pitch)
}
else
{                                                                                                                       
if(g_knife1[id])                                                                                               
emit_sound(id, channel, Knife1_sound[1], volume, attn, flags, pitch)                          
if(g_knife2[id])
emit_sound(id, channel, Knife2_sound[1], volume, attn, flags, pitch)
if(g_knife3[id])                                                                                                
emit_sound(id, channel, Knife3_sound[1], volume, attn, flags, pitch)
if(g_knife4[id])                                                                
emit_sound(id, channel, Knife4_sound[1], volume, attn, flags, pitch)                        
if(g_knife5[id])
emit_sound(id, channel, Knife5_sound[1], volume, attn, flags, pitch)
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[1], volume, attn, flags, pitch)
}
}
else
{
if (sample[15] == 'l') 
{                                                                                        
if(g_knife1[id])
emit_sound(id, channel, Knife1_sound[3], volume, attn, flags, pitch)
if(g_knife2[id])
emit_sound(id, channel, Knife2_sound[3], volume, attn, flags, pitch)
if(g_knife3[id])
emit_sound(id, channel, Knife3_sound[3], volume, attn, flags, pitch)
if(g_knife4[id])
emit_sound(id, channel, Knife4_sound[3], volume, attn, flags, pitch)
if(g_knife5[id])                                                                           
emit_sound(id, channel, Knife5_sound[3], volume, attn, flags, pitch) 
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[3], volume, attn, flags, pitch)
}                                                                                          
else 
{                                                                                    
if(g_knife1[id])
emit_sound(id, channel, Knife1_sound[4], volume, attn, flags, pitch)
if(g_knife2[id])
emit_sound(id, channel, Knife2_sound[4], volume, attn, flags, pitch)
if(g_knife3[id])                                                                                   
emit_sound(id, channel, Knife3_sound[4], volume, attn, flags, pitch)                
if(g_knife4[id])
emit_sound(id, channel, Knife4_sound[4], volume, attn, flags, pitch)
if(g_knife5[id])
emit_sound(id, channel, Knife5_sound[4], volume, attn, flags, pitch)
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[4], volume, attn, flags, pitch)
}
}
return HAM_SUPERCEDE
}
return HAM_IGNORED
}

public start_menu(id)                                                                                     
{                                                               
if(!zp_get_user_zombie(id))
{                                                                                                                       
static menu[555], iLen            
iLen = 0                                                                                         
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\r[\yKnife Menu\r]^n^n")          

if(s_knife0[id])
{                                                                                                              
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y1\r] [\yKnife\r] [\yStandard\r] [\wSelected\r]^n")                            
key0 &= ~MENU_KEY_1                                                                                                   
}
else                                                                                                      
{                                                                                                                  
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y1\r] [\yKnife\r] [\yStandard\r]^n")                                     
key0 |= MENU_KEY_1 
}

if(s_knife1[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y2\r] [\yProton\r] [\yViteza\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_2
}                                                                                                                
else                                                                                                                    
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y2\r] [\yProton\r] [\yViteza\r]^n")                                        
key0 |= MENU_KEY_2 
}                                                                                                                

if(s_knife2[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y3\r] [\yDark Night\r] [\yGravitatie\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_3
}                                                                                                              
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y3\r] [\yDark Night\r] [\yGravitatie\r]^n")                              
key0 |= MENU_KEY_3 
}                                                                                                                 

if(s_knife3[id])                                                                                   
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y4\r] [\yThe Rage Of SuN\r] [\yDaMaGe x2\r] [\wSelectd\r]^n^n")                            
key0 &= ~MENU_KEY_4
}                                                                                                                 
else
{                                                                                                               
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y4\r] [\yThe Rage Of Sun\r] [\yDamAgE x2\r]^n^n")                                  
key0 |= MENU_KEY_4                                                                                               
}
                                                                                                                      
if(get_user_flags(id) & ADMIN_BAN)                                                                                
{                                                                                       
if(s_knife4[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y5\r] [\yJudgeMent DaY\r] \r[ADMIN]\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_5                                                                                      
}                                                                                                                 
else                                                                                                                 
{                                                                                                                        
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y5\r] [\yJudgement Day\r] \r[ADMIN]\r^n")                                     
key0 |= MENU_KEY_5                                                                                                 
}                                                                                                                   
}                                                                                                             
else                                                                                                             
{                                                                                         
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[5] Nu esti  [\rADMINr\d]^n^n")                            
key0 &= ~MENU_KEY_5                                                                                          
}                                                                                                              
                                                                       
if(get_user_flags(id) & ADMIN_LEVEL_H)
{ 
if(s_knife5[id])
{                                                                                                                  
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y6\r] [\yHammer Silly\r] [\yV.I.P\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_6
}                                                                                                                 
else                                                                                                                 
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y6\r] [\yHammer Silly\r] [\yV.I.P\r]^n")                            
key0 |= MENU_KEY_6                                                                                            
}                                                                                                                       
}                                                                                                                     
else
{                                                                          
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[6] Nu esti [\rVip\d]^n^n")                               
key0 &= ~MENU_KEY_6
}
                                                                                             
if(get_user_flags(id) & ADMIN_LEVEL_G)                                                                           
{
if(s_knife6[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y7\r] [\yHammer Authorities\r] [\yOwner\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_7
}                                                                                                                 
else                                                                                                                 
{                                                                             
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y7\r] [\yHammer Authorities\r] [\yOwner\r]^n^n")                                  
key0 |= MENU_KEY_7                                                                                                     
}
}
else
{                                                                                                                
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[7] Nu esti [\r0WneR\d]^n^n")
key0 &= ~MENU_KEY_7                                                                                      
}                                                                                                
                                                                                                    
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\w0\y] \rIesire")                                          
key0 |= MENU_KEY_0                                                                    
                                                                                   
show_menu(id, key0, menu, -1, "Menu_0")                                                                            
}                                                                                         
else                                                          
{
color_print(id, "%s !gAccEss !tOnlY !gTo Man",PREFIKS)
}
}                                                                

public Key_0(id, key)                                       
{                                                                                               
new weaponid                                  
weaponid = get_user_weapon(id)                                     
switch(key)                                                          
{                                                     
case 0:                                                     
{
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = false                                    
g_knife4[id] = false                 
g_knife5[id] = false                                     
g_knife6[id] = false
                            
s_knife0[id] = true
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = false                                               
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false                                             

g_block[id] = true                                       
start_menu(id)
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gStandard!t]",PREFIKS) 
color_print(id, "%s !gABILITATI!t: [!gNo!t]",PREFIKS)

if(is_user_alive(id))                             
{
if(weaponid == CSW_KNIFE)                                                       
{             
set_pev(id, pev_viewmodel2, Knife_v_0)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_0)
}
}                                                                      
}                                                                                     
case 1:                                                         
{                                                                                               
g_knife1[id] = true          
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = false                                                     
g_knife5[id] = false
g_knife6[id] = false

s_knife0[id] = false
s_knife1[id] = true
s_knife2[id] = false
s_knife3[id] = false
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false

g_block[id] = true
start_menu(id)                                                               
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gProton!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gViteza mai mare!t]",PREFIKS)
                                       
if(is_user_alive(id))                             
{
if(weaponid == CSW_KNIFE)                                                       
{             
set_pev(id, pev_viewmodel2, Knife_v_1)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_1)
}
}
}                                                                      
case 2:                                                   
{
g_knife1[id] = false
g_knife2[id] = true
g_knife3[id] = false
g_knife4[id] = false
g_knife5[id] = false
g_knife6[id] = false

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = true
s_knife3[id] = false
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false

g_block[id] = true
start_menu(id) 
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gThE DaRk NigHT!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gGravitatie mai mare!t]",PREFIKS)

if(is_user_alive(id))
{
if(weaponid == CSW_KNIFE) 
{             
set_pev(id, pev_viewmodel2, Knife_v_2)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_2)
}
}
}                                                               
case 3:                                                   
{                                                        
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = true
g_knife4[id] = false
g_knife5[id] = false
g_knife6[id] = false 

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = true
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false

g_block[id] = true
start_menu(id)
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitl!t: [!gThE Rage of SuN!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gDamage Dublu!t]",PREFIKS)

if(is_user_alive(id))
{
if(weaponid == CSW_KNIFE) 
{             
set_pev(id, pev_viewmodel2, Knife_v_3)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_3)
}
}
}                                
case 4:                                                   
{
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = true
g_knife5[id] = false 
g_knife6[id] = false

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = false
s_knife4[id] = true                 
s_knife5[id] = false                                                                            
s_knife6[id] = false

g_block[id] = true                                                                                                   
start_menu(id)
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gJudgeMeNt DaY!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gToate abilitatile + %d Sarituri!t]",PREFIKS,get_pcvar_num(gump_vip))

if(is_user_alive(id))
{
if(weaponid == CSW_KNIFE) 
{                                                                                                                      
set_pev(id, pev_viewmodel2, Knife_v_4)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_4)
}
}
}
case 5:                                                   
{
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = false
g_knife5[id] = true
g_knife6[id] = false

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = false
s_knife4[id] = false                 
s_knife5[id] = true                              
s_knife6[id] = false

g_block[id] = true
start_menu(id)
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gHAmMeR AuthOriTieS!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gToate abilitatiile + %d Sarituri!t]",PREFIKS,get_pcvar_num(gump_admin))

if(is_user_alive(id))
{
if(weaponid == CSW_KNIFE) 
{             
set_pev(id, pev_viewmodel2, Knife_v_5)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_5)
}
}
}
case 6:                                                   
{                             
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = false
g_knife5[id] = false
g_knife6[id] = true

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = false
s_knife4[id] = false                 
s_knife5[id] = false                                                                                                    
s_knife6[id] = true 
                                                                                                                          
g_block[id] = true
start_menu(id)
buy_sound(id)
color_print(id, "%s !gYou !tSelecTeD !gKniFe!t: [!gHaMMer PoWer!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gToate abilitatile + %d Sarituri!t]",PREFIKS,get_pcvar_num(gump_sozdatel))

if(is_user_alive(id))                                                  
{
if(weaponid == CSW_KNIFE)                                                           
{                                                                                             
set_pev(id, pev_viewmodel2, Knife_v_6)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_6)
}                                                                                  
}
}
}
return PLUGIN_HANDLED                                                                                         
}

public buy_sound(id)
{                                                                                                       
emit_sound(id, CHAN_BODY, Buy_Sound, 1.0, ATTN_NORM, 0, PITCH_NORM)                                
}                           
                                                                                                     
public client_PreThink(id)
{
if(!zp_get_user_zombie(id))                                                                               
{
    if(!is_user_alive(id)) return PLUGIN_CONTINUE                                                                        
    new nbut = get_user_button(id)
    new obut = get_user_oldbutton(id)                                                                          
    if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))                          
    {                                                                                                       
        if(jumpnum[id] < g_jump[id])                                                                          
        {                         
            dojump[id] = true                                                  
            jumpnum[id]++                                                                                        
            jump_line(id)
            return PLUGIN_CONTINUE                                 
        }                                                                   
    }                                                                             
    if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {                                                                        
        jumpnum[id] = 0
        return PLUGIN_CONTINUE
    } 
}
return PLUGIN_CONTINUE
}

public client_PostThink(id)
{
if(!zp_get_user_zombie(id))                           
{
    if(!is_user_alive(id)) return PLUGIN_CONTINUE
    if(dojump[id] == true)                                     
    {
        new Float:velocity[3]                                       
        entity_get_vector(id,EV_VEC_velocity,velocity)                  
        velocity[2] = random_float(265.0,285.0)                                  
        entity_set_vector(id,EV_VEC_velocity,velocity)
        dojump[id] = false
        return PLUGIN_CONTINUE                         
    }                                                                   
}
return PLUGIN_CONTINUE
}
                                     
public jump_line(id)   
{
new weaponid
weaponid = get_user_weapon(id)
if(weaponid == CSW_KNIFE)                       
{ 
if(g_knife6[id])
{                                                                              
if(get_pcvar_num(g_off_line_sozdatel))
{
        static origin[3]
        get_user_origin(id, origin)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMCYLINDER)                   
        write_coord(origin[0])
        write_coord(origin[1])                                        
        write_coord(origin[2]-20)    
        write_coord(origin[0]) 
        write_coord(origin[1])                 
        write_coord(origin[2]+200)
        write_short(BeaconSprite)
        write_byte(0)
        write_byte(1)                                          
        write_byte(6)
        write_byte(2) 
        write_byte(1)                                                              
        write_byte(get_pcvar_num(g_line_sozdatel_R))    
        write_byte(get_pcvar_num(g_line_sozdatel_G))                                              
        write_byte(get_pcvar_num(g_line_sozdatel_B))
        write_byte(255)
        write_byte(0)                            
        message_end()
}
}                                                              
if(g_knife5[id])
{
if(get_pcvar_num(g_off_line_admin))
{
        static origin[3]
        get_user_origin(id, origin)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMCYLINDER)
        write_coord(origin[0])
        write_coord(origin[1])                                             
        write_coord(origin[2]-20)    
        write_coord(origin[0]) 
        write_coord(origin[1])
        write_coord(origin[2]+200)
        write_short(BeaconSprite)
        write_byte(0)
        write_byte(1)
        write_byte(6)
        write_byte(2) 
        write_byte(1) 
        write_byte(get_pcvar_num(g_line_admin_R)) 
        write_byte(get_pcvar_num(g_line_admin_G))                                              
        write_byte(get_pcvar_num(g_line_admin_B)) 
        write_byte(255)
        write_byte(0)
        message_end()
}
}
if(g_knife4[id])
{
if(get_pcvar_num(g_off_line_vip))
{
        static origin[3]
        get_user_origin(id, origin)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMCYLINDER)
        write_coord(origin[0])
        write_coord(origin[1])
        write_coord(origin[2]-20)    
        write_coord(origin[0]) 
        write_coord(origin[1])
        write_coord(origin[2]+200)                                    
        write_short(BeaconSprite)                                                                          
        write_byte(0)
        write_byte(1)
        write_byte(6)                                       
        write_byte(2)                                                             
        write_byte(1)                                         
        write_byte(get_pcvar_num(g_line_vip_R)) 
        write_byte(get_pcvar_num(g_line_vip_G))                                              
        write_byte(get_pcvar_num(g_line_vip_B))
        write_byte(255)
        write_byte(0)                            
        message_end()
}           
}
}
}

public next_sp(id)
{
if(g_knife6[id])
{
if(g_sp[id])
{
g_sp[id] = false
}                                                                 
else
{                                                       
g_sp[id] = true
}
}
}

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

if((flags & FL_INWATER) || g_burning_duration[ID_FBURN] < 1 || g_fRoundEnd || !is_user_alive(ID_FBURN))
{
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()                                   

remove_task(taskid)                                                         
return
}

static health                                                    
health = pev(ID_FBURN, pev_health)                                                                    
                                                                                                  
if (health - get_pcvar_num(g_fire_damage) > 0)                           
set_user_health(ID_FBURN, health - get_pcvar_num(g_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]--
}

public end(victim)
{
    if(g_frozen[victim])
    g_frozen[victim] = false

    set_pev(victim, pev_flags, pev(victim, pev_flags) & ~FL_FROZEN)
    set_user_rendering(victim, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25)
    CreateGlass(victim)                                                  

    remove_task(victim)
}

public Ability(taskid)
{
new id = taskid - TASK_INFO        
if(g_knife6[id])                                                                     
{
if(g_sp[id])
{                                                                                           
set_hudmessage(255, 0, 0, 0.02, 0.35, 0, 6.0, 0.8)           
show_hudmessage(id, "KnIfE AbILItiEs: [FIRE]")                                        
}
else
{                                                                        
set_hudmessage(0, 0, 255, 0.02, 0.35, 0, 6.0, 0.8)
show_hudmessage(id, "KnIfE AbILItiEs: [FREEZING]")  
}
}
else
{                                            
remove_task(id + TASK_INFO)                                  
}
}

public Freeze_Wait(taskid)
{
    new attacker = taskid - 1233123
                                                                                                    
    if(is_user_alive(attacker))
    {                                                                                                 
        remove_task(attacker + 1233123)
        g_freeze_wait[attacker] = false
        color_print(attacker, "!t[!gZP!t] !gYOUR !tAbilitTy !gFrEeZe !tIz ReAdY")
    }
    else remove_task(attacker + 1233123)
}

stock CreateGlass(id)                                                            
{                                                                           
    new szOrigin[3];
    get_user_origin(id, szOrigin);

    message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
    write_byte(TE_BREAKMODEL);
    write_coord( szOrigin[0] );
    write_coord( szOrigin[1] );
    write_coord( szOrigin[2] + 24 );
    write_coord(16);
    write_coord(16);
    write_coord(16);
    write_coord( random_num(-50, 50) );
    write_coord( random_num(-50, 50) );
    write_coord(25);
    write_byte(10);
    write_short(g_SpriteGlass);
    write_byte(10);
    write_byte(25);
    write_byte(0x01);
    message_end();
}
                                                                 
stock color_print(const id, const input[], any:...)                                           
{                                                         
        new count = 1, players[32];                                            
        static msg[191];                                                             
        vformat(msg, 190, input, 3);                          
                                                                                        
        replace_all(msg, 190, "!g", "^x04"); // Green Color                           
        replace_all(msg, 190, "!n", "^x01"); // Default Color                           
        replace_all(msg, 190, "!t", "^x03"); // 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, get_user_msgid("SayText"), _, players[i]) 
                    write_byte(players[i]);    
                    write_string(msg);                                           
                    message_end();
                }
            }
        }
    }

Re: Cerere modificare plugin

Posted: 11 Feb 2020, 23:36
by levin

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <fakemeta> 
#include <fun>
#include <zombieplague> 
#include <hamsandwich>
#include <engine> 
                                                                                          
#define PLUGIN  "bine_zp_knife"                                                                                                     
#define VERSION "2.5"                                     
#define AUTHOR  "NEO"         
                                                                            
#define TASK_FBURN     100
#define TASK_INFO      333
#define ID_FBURN      ( taskid - TASK_FBURN )            
#define MAX_CLIENTS               32
new bool:g_fRoundEnd                                       
new g_flameSpr, g_smokeSpr, g_burning_duration[ MAX_CLIENTS + 1 ]         
                                                                                     
#define PREFIKS "!t[!gZmX.NewMoon.Ro!t]"   
#define ADMIN_FLAG   ADMIN_BAN                                     
#define OWNER_FLAG        ADMIN_LEVEL_G
#define VIP_FLAG      ADMIN_LEVEL_H                              
                                                                  
new key0 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
                                                                                                                  
new g_knife1[33],g_knife2[33],g_knife3[33],g_knife4[33],g_knife5[33],g_knife6[33]
new s_knife0[33],s_knife1[33],s_knife2[33],s_knife3[33],s_knife4[33],s_knife5[33],s_knife6[33] 
new g_block[33]                                   

new Knife_v_0[]    = "models/v_knife.mdl"                                               
new Knife_v_1[]    = "models/7erva4ok/zmmod/knife/Knife_v_1.mdl"                                                                                                                                                
new Knife_v_2[]    = "models/7erva4ok/zmmod/knife/Knife_v_2.mdl"                                                                                      
new Knife_v_3[]    = "models/7erva4ok/zmmod/knife/Knife_v_3.mdl"                                                                                                                                                                             
new Knife_v_4[]    = "models/7erva4ok/zmmod/knife/Knife_v_4.mdl"                                                                                
new Knife_v_5[]    = "models/7erva4ok/zmmod/knife/Knife_v_5.mdl"                                                                                                                                                                             
new Knife_v_6[]    = "models/7erva4ok/zmmod/knife/Knife_v_6.mdl"          
                                                                                     
new Knife_p_0[]    = "models/p_knife.mdl"                                                                                   
new Knife_p_1[]    = "models/7erva4ok/zmmod/knife/Knife_p_1.mdl"                                                                                                                                                
new Knife_p_2[]    = "models/7erva4ok/zmmod/knife/Knife_p_2.mdl"                                                                                      
new Knife_p_3[]    = "models/7erva4ok/zmmod/knife/Knife_p_3.mdl"                                                                                                                                                                             
new Knife_p_4[]    = "models/7erva4ok/zmmod/knife/Knife_p_4.mdl"                                                                                
new Knife_p_5[]    = "models/7erva4ok/zmmod/knife/Knife_p_5.mdl"                                                                                                                                                                             
new Knife_p_6[]    = "models/7erva4ok/zmmod/knife/Knife_p_6.mdl"

new Buy_Sound[]    = "items/gunpickup2.wav" 
                                                                                                    
new const Knife1_sound[][] =                                                        
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_1_draw.wav",
    "7erva4ok/zmmod/knife/Knife_1_hit.wav",
    "7erva4ok/zmmod/knife/Knife_1_hitwall.wav",                          
    "7erva4ok/zmmod/knife/Knife_1_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_1_stab.wav"
}
                                                                                  
new const Knife2_sound[][] =                                                                                              
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_2_draw.wav",
    "7erva4ok/zmmod/knife/Knife_2_hit.wav",
    "7erva4ok/zmmod/knife/Knife_2_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_2_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_2_stab.wav"
}

new const Knife3_sound[][] =
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_3_draw.wav",
    "7erva4ok/zmmod/knife/Knife_3_hit.wav",
    "7erva4ok/zmmod/knife/Knife_3_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_3_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_3_stab.wav"
}

new const Knife4_sound[][] =
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_4_draw.wav",
    "7erva4ok/zmmod/knife/Knife_4_hit.wav",
    "7erva4ok/zmmod/knife/Knife_4_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_4_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_4_stab.wav"
}
                                                               
new const Knife5_sound[][] =
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_5_draw.wav",
    "7erva4ok/zmmod/knife/Knife_5_hit.wav",
    "7erva4ok/zmmod/knife/Knife_5_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_5_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_5_stab.wav"
} 

new const Knife6_sound[][] =
{                                                                                 
    "7erva4ok/zmmod/knife/Knife_6_draw.wav",
    "7erva4ok/zmmod/knife/Knife_6_hit.wav",
    "7erva4ok/zmmod/knife/Knife_6_hitwall.wav",                    
    "7erva4ok/zmmod/knife/Knife_6_slash.wav",                                                       
    "7erva4ok/zmmod/knife/Knife_6_stab.wav"
}

new grav_knife1,grav_knife2,grav_knife3,grav_knife4,grav_knife5,grav_knife6
new g_line_sozdatel_R,g_line_sozdatel_G,g_line_sozdatel_B,g_line_admin_R,g_line_admin_G,g_line_admin_B,g_line_vip_R,g_line_vip_G,g_line_vip_B
new gump_vip,gump_admin,gump_sozdatel
new dmg_knife1,dmg_knife2,dmg_knife3,dmg_knife4,dmg_knife5,dmg_knife6
new g_off_line_sozdatel,g_off_line_admin,g_off_line_vip
new g_fire_time,g_fire_damage
new g_freeze_wait[33],g_frozen[33]
new g_time_freeze,g_time_freeze_wait
                                                    
new jumpnum[33] = 0                                                       
new bool:dojump[33] = false                                                     
new g_jump[33]                                                                    
new BeaconSprite
new g_SpriteGlass
new g_sp[33]
                                                                                                 
public plugin_init()                                                                         
{                                                                                                                           
    register_plugin(PLUGIN,VERSION,AUTHOR)                                                  
    register_menu("Menu_0", key0, "Key_0")                                                           
                                                                                      
    register_event("CurWeapon", "weapon_charge", "be","1=1")
    register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")                             
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") 
    register_forward(FM_EmitSound, "CEntity__EmitSound")
                                                                                            
    register_clcmd("drop","next_sp")                                                                  
    register_clcmd("say /knife","start_menu")
    register_clcmd("knife","start_menu")
    
    set_cvar_string("bine_knife",VERSION)
                                                         
    // Gravity Knife                                                                                                        
    grav_knife1 = register_cvar("zp_knife1_grav", "300")                                                         
    grav_knife2 = register_cvar("zp_knife2_grav", "350")                                                                  
    grav_knife3 = register_cvar("zp_knife3_grav", "300")                                                      
    grav_knife4 = register_cvar("zp_knife4_grav", "355")
    grav_knife5 = register_cvar("zp_knife5_grav", "360")                                               
    grav_knife6 = register_cvar("zp_knife6_grav", "370")                            
    // Damage Knife                                                                                   
    dmg_knife1 = register_cvar("zp_knife1_dmg", "2.0")                  
    dmg_knife2 = register_cvar("zp_knife2_dmg", "3.0")                                              
    dmg_knife3 = register_cvar("zp_knife3_dmg", "5.0")                                  
    dmg_knife4 = register_cvar("zp_knife4_dmg", "6.0") 
    dmg_knife5 = register_cvar("zp_knife5_dmg", "7.0")              
    dmg_knife6 = register_cvar("zp_knife6_dmg", "8.0") 
    // Color of the circle when pressing                                                                                              
    g_line_sozdatel_R = register_cvar("zp_color_sozdatel_R","255")                                    
    g_line_sozdatel_G = register_cvar("zp_color_sozdatel_G","0")                                                                    
    g_line_sozdatel_B = register_cvar("zp_color_sozdatel_B","0")                                         
    // Color of the circle when pressing (Admin)                                                                                                
    g_line_admin_R = register_cvar("zp_color_admin_R","255")                                        
    g_line_admin_G = register_cvar("zp_color_admin_G","255")                                   
    g_line_admin_B = register_cvar("zp_color_admin_B","0")                                                 
    // Cirlce of colour when pressing (Vip)                                                                                                       
    g_line_vip_R = register_cvar("zp_color_vip_R","0")                                                        
    g_line_vip_G = register_cvar("zp_color_vip_G","255")                                                                       
    g_line_vip_B = register_cvar("zp_color_vip_B","0")                                     
    // Disable circle                                                                               
    g_off_line_sozdatel = register_cvar("zp_color_on_sozdatel","1")                                          
    g_off_line_admin = register_cvar("zp_color_on_admin","1")                                             
    g_off_line_vip = register_cvar("zp_color_on_vip","1")                                                                  
    // Jumping                                                                                 
    gump_sozdatel = register_cvar("zp_maxjumps_sozdatel","5")                                                                                                      
    gump_admin = register_cvar("zp_maxjumps_admin","3")                                            
    gump_vip = register_cvar("zp_maxjumps_vip","2")                                                            
    // KNIFE Abilities                                                              
    g_fire_time = register_cvar("zp_burn_time","5")                                                     
    g_fire_damage = register_cvar("zp_burn_damage","15")
    
    g_time_freeze = register_cvar("zp_freeze_time","3.0") 
    g_time_freeze_wait = register_cvar("zp_freeze_wait","10.0")
}

public plugin_cfg()                                                                             
{                                                                               
    new szCfgDir[64], szFile[192];                                                             
    get_configsdir(szCfgDir, charsmax(szCfgDir));
    formatex(szFile,charsmax(szFile),"%s/bine_plague/bine_knife.cfg",szCfgDir); 
    if(file_exists(szFile))                 
    server_cmd("exec %s", szFile);                                                              
}
                                                                                                                
public plugin_precache()                                                                            
{   
    precache_model(Knife_v_0)                                   
    precache_model(Knife_v_1)                                                                                                              
    precache_model(Knife_v_2)                                                                                                                     
    precache_model(Knife_v_3)                                                                                       
    precache_model(Knife_v_4)                                                                                                   
    precache_model(Knife_v_5)                                                                                       
    precache_model(Knife_v_6)                                                         

    precache_model(Knife_p_0)                                                           
    precache_model(Knife_p_1)                                                                                                              
    precache_model(Knife_p_2)                                                                                                                     
    precache_model(Knife_p_3)                                                                                       
    precache_model(Knife_p_4)                                                                                                   
    precache_model(Knife_p_5)                                                                                       
    precache_model(Knife_p_6)
    
    for(new i = 0; i < sizeof Knife1_sound; i++)
        precache_sound(Knife1_sound[i])
                                                           
    for(new i = 0; i < sizeof Knife2_sound; i++)
        precache_sound(Knife2_sound[i])                                                               

    for(new i = 0; i < sizeof Knife3_sound; i++)                                          
        precache_sound(Knife3_sound[i])

    for(new i = 0; i < sizeof Knife4_sound; i++)
        precache_sound(Knife4_sound[i])              
                
    for(new i = 0; i < sizeof Knife5_sound; i++)
        precache_sound(Knife5_sound[i])
        
    for(new i = 0; i < sizeof Knife6_sound; i++)
        precache_sound(Knife6_sound[i])
    
    BeaconSprite = precache_model("sprites/shockwave.spr")
    g_flameSpr = precache_model( "sprites/flame.spr" )
    g_smokeSpr = precache_model( "sprites/black_smoke3.spr" )                             
    g_SpriteGlass = precache_model("models/glassgibs.mdl")
}                                           

public client_putinserver(id)            
{
    jumpnum[id] = 0                           
    dojump[id] = false
    g_sp[id] = false
    
    g_knife1[id] = false                                                 
    g_knife2[id] = false                            
    g_knife3[id] = false                        
    g_knife4[id] = false                          
    g_knife5[id] = false
    g_knife6[id] = false
                                                        
    s_knife0[id] = true
    s_knife1[id] = false     
    s_knife2[id] = false             
    s_knife3[id] = false                                               
    s_knife4[id] = false                 
    s_knife5[id] = false                              
    s_knife6[id] = false
}
                                   
public client_disconnect(id)
{
    jumpnum[id] = 0
    dojump[id] = false 
}

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_knife6[attacker])                                                                 
{                                                                 
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife6))                                  
if(g_sp[attacker])
{
if( !task_exists( victim + TASK_FBURN ) )                                                            
{                                                                                                             
g_burning_duration[victim] += get_pcvar_num(g_fire_time) * 5                                          
set_task(0.1, "CTask__BurningFlame", victim + TASK_FBURN, _, _, "b" )
}                                                                                                         
}                                                                                                        
else
{                                                                                                               
if(!g_freeze_wait[attacker] && !zp_get_user_nemesis(victim))                                                 
{                                                           
set_pev(victim, pev_flags, pev(victim, pev_flags) | FL_FROZEN)                               
set_user_rendering(victim, kRenderFxGlowShell, 0, 206, 209, kRenderNormal, 25)                   
g_frozen[victim] = true 
set_task(get_pcvar_float(g_time_freeze), "end", victim)                                                 
g_freeze_wait[attacker] = true                                                                                    
set_task(get_pcvar_float(g_time_freeze_wait), "Freeze_Wait", attacker + 1233123)
}
}                                                                      
}                                                                                                    
if(weapon == CSW_KNIFE && g_knife5[attacker])                                              
{                                                                                               
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife5))
}                                                                                                          
if(weapon == CSW_KNIFE && g_knife4[attacker])
{    
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife4))
}
if(weapon == CSW_KNIFE && g_knife3[attacker])
{                                                                                       
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife3))
}                                                
if(weapon == CSW_KNIFE && g_knife2[attacker])
{     
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife2))                              
}                                                                                                       
if(weapon == CSW_KNIFE && g_knife1[attacker])                                    
{     
SetHamParamFloat(4, damage * get_pcvar_float(dmg_knife1))
}                                                          
return HAM_IGNORED                                                                 
}

public fw_PlayerPreThink(id)                                                                           
{                                                                                                  
new weapon = get_user_weapon(id)        
if(weapon == CSW_KNIFE)                                                    
{ 
if(g_knife1[id])                                                   
{ 
g_jump[id] = 0 
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_float(grav_knife1)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6) 
}
}                                                                                                
if(g_knife2[id])                                                     
{
g_jump[id] = 0 
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_float(grav_knife2)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6) 
}
}
if(g_knife3[id])
{
g_jump[id] = 0 
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_float(grav_knife3)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6) 
}
}
if(g_knife4[id])
{                                               
g_jump[id] = get_pcvar_num(gump_vip)                   
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_float(grav_knife4)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6) 
}
}
if(g_knife5[id])
{
g_jump[id] = get_pcvar_num(gump_admin)
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_float(grav_knife5)                        
set_pev(id, pev_velocity, fVelocity)
set_pev(id, pev_gaitsequence, 6)                   
}                                                                                                           
}                                                                                  
if(g_knife6[id])                                                                                                    
{                                                                                      
set_task(0.5, "Ability", id + TASK_INFO)
g_jump[id] = get_pcvar_num(gump_sozdatel)                                                                                                                       
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_float(grav_knife6)                        
set_pev(id, pev_velocity, fVelocity)               
set_pev(id, pev_gaitsequence, 6) 
}
}
}
else                                                     
{
g_jump[id] = 0
}
return FMRES_IGNORED
}                                                                
                                                                               
public zp_user_infected_post(id)                              
{
g_knife1[id] = false                                                 
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = false                          
g_knife5[id] = false
g_knife6[id] = false
                                                        
s_knife0[id] = true
s_knife1[id] = false     
s_knife2[id] = false                               
s_knife3[id] = false                                               
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false
}
    
public weapon_charge(id)                                      
{                                                                    
new weaponid 
weaponid = read_data(2)
                                                  
if(!zp_get_user_zombie(id))                                    
{                                              
if(weaponid == CSW_KNIFE)                                                               
{
if(g_knife1[id])                                                                        
{
set_pev(id, pev_viewmodel2, Knife_v_1)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_1)               
}
if(g_knife2[id])                                                                    
{                                                                                      
set_pev(id, pev_viewmodel2, Knife_v_2)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_2) 
}
if(g_knife3[id])
{
set_pev(id, pev_viewmodel2, Knife_v_3)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_3)
}
if(g_knife4[id])                                                                                  
{
set_pev(id, pev_viewmodel2, Knife_v_4)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_4)
}                                                                         
if(g_knife5[id])
{
set_pev(id, pev_viewmodel2, Knife_v_5)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_5)
}
if(g_knife6[id])
{
set_pev(id, pev_viewmodel2, Knife_v_6)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_6)
}
}                                                                      
}
}

public CEntity__EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
if (!is_user_connected(id)) 
    return HAM_IGNORED                                                                              
                                                                              
if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
{    
if (sample[14] == 'd')                                                                                                   
{                                                             
if(g_knife1[id])
emit_sound(id, channel, Knife1_sound[0], volume, attn, flags, pitch)
if(g_knife2[id])                                                                      
emit_sound(id, channel, Knife2_sound[0], volume, attn, flags, pitch)                     
if(g_knife3[id])                                                                                   
emit_sound(id, channel, Knife3_sound[0], volume, attn, flags, pitch)                                    
if(g_knife4[id])
emit_sound(id, channel, Knife4_sound[0], volume, attn, flags, pitch)                                    
if(g_knife5[id])
emit_sound(id, channel, Knife5_sound[0], volume, attn, flags, pitch)
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[0], volume, attn, flags, pitch)
}                                                                                      
else if (sample[14] == 'h')                                                                               
{
if (sample[17] == 'w') 
{
if(g_knife1[id])                                                                                        
emit_sound(id, channel, Knife1_sound[2], volume, attn, flags, pitch)
if(g_knife2[id])
emit_sound(id, channel, Knife2_sound[2], volume, attn, flags, pitch)
if(g_knife3[id])
emit_sound(id, channel, Knife3_sound[2], volume, attn, flags, pitch)            
if(g_knife4[id])                                                                                
emit_sound(id, channel, Knife4_sound[2], volume, attn, flags, pitch)
if(g_knife5[id])
emit_sound(id, channel, Knife5_sound[2], volume, attn, flags, pitch)
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[2], volume, attn, flags, pitch)
}
else
{                                                                                                                       
if(g_knife1[id])                                                                                               
emit_sound(id, channel, Knife1_sound[1], volume, attn, flags, pitch)                          
if(g_knife2[id])
emit_sound(id, channel, Knife2_sound[1], volume, attn, flags, pitch)
if(g_knife3[id])                                                                                                
emit_sound(id, channel, Knife3_sound[1], volume, attn, flags, pitch)
if(g_knife4[id])                                                                
emit_sound(id, channel, Knife4_sound[1], volume, attn, flags, pitch)                        
if(g_knife5[id])
emit_sound(id, channel, Knife5_sound[1], volume, attn, flags, pitch)
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[1], volume, attn, flags, pitch)
}
}
else
{
if (sample[15] == 'l') 
{                                                                                        
if(g_knife1[id])
emit_sound(id, channel, Knife1_sound[3], volume, attn, flags, pitch)
if(g_knife2[id])
emit_sound(id, channel, Knife2_sound[3], volume, attn, flags, pitch)
if(g_knife3[id])
emit_sound(id, channel, Knife3_sound[3], volume, attn, flags, pitch)
if(g_knife4[id])
emit_sound(id, channel, Knife4_sound[3], volume, attn, flags, pitch)
if(g_knife5[id])                                                                           
emit_sound(id, channel, Knife5_sound[3], volume, attn, flags, pitch) 
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[3], volume, attn, flags, pitch)
}                                                                                          
else 
{                                                                                    
if(g_knife1[id])
emit_sound(id, channel, Knife1_sound[4], volume, attn, flags, pitch)
if(g_knife2[id])
emit_sound(id, channel, Knife2_sound[4], volume, attn, flags, pitch)
if(g_knife3[id])                                                                                   
emit_sound(id, channel, Knife3_sound[4], volume, attn, flags, pitch)                
if(g_knife4[id])
emit_sound(id, channel, Knife4_sound[4], volume, attn, flags, pitch)
if(g_knife5[id])
emit_sound(id, channel, Knife5_sound[4], volume, attn, flags, pitch)
if(g_knife6[id])
emit_sound(id, channel, Knife6_sound[4], volume, attn, flags, pitch)
}
}
return HAM_SUPERCEDE
}
return HAM_IGNORED
}

public start_menu(id)                                                                                     
{                                                               
if(!zp_get_user_zombie(id))
{                                                                                                                       
static menu[555], iLen            
iLen = 0                                                                                         
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\r[\yKnife Menu\r]^n^n")          

if(s_knife0[id])
{                                                                                                              
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y1\r] [\yKnife\r] [\yStandard\r] [\wSelected\r]^n")                            
key0 &= ~MENU_KEY_1                                                                                                   
}
else                                                                                                      
{                                                                                                                  
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y1\r] [\yKnife\r] [\yStandard\r]^n")                                     
key0 |= MENU_KEY_1 
}

if(s_knife1[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y2\r] [\yProton\r] [\yViteza\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_2
}                                                                                                                
else                                                                                                                    
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y2\r] [\yProton\r] [\yViteza\r]^n")                                        
key0 |= MENU_KEY_2 
}                                                                                                                

if(s_knife2[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y3\r] [\yDark Night\r] [\yGravitatie\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_3
}                                                                                                              
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y3\r] [\yDark Night\r] [\yGravitatie\r]^n")                              
key0 |= MENU_KEY_3 
}                                                                                                                 

if(s_knife3[id])                                                                                   
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y4\r] [\yThe Rage Of SuN\r] [\yDaMaGe x2\r] [\wSelectd\r]^n^n")                            
key0 &= ~MENU_KEY_4
}                                                                                                                 
else
{                                                                                                               
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y4\r] [\yThe Rage Of Sun\r] [\yDamAgE x2\r]^n^n")                                  
key0 |= MENU_KEY_4                                                                                               
}
                                                                                                                      
if(get_user_flags(id) & ADMIN_BAN)                                                                                
{                                                                                       
if(s_knife4[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y5\r] [\yJudgeMent DaY\r] \r[ADMIN]\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_5                                                                                      
}                                                                                                                 
else                                                                                                                 
{                                                                                                                        
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y5\r] [\yJudgement Day\r] \r[ADMIN]\r^n")                                     
key0 |= MENU_KEY_5                                                                                                 
}                                                                                                                   
}                                                                                                             
else                                                                                                             
{                                                                                         
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[5] Nu esti  [\rADMINr\d]^n^n")                            
key0 &= ~MENU_KEY_5                                                                                          
}                                                                                                              
                                                                       
if(get_user_flags(id) & ADMIN_LEVEL_H)
{ 
if(s_knife5[id])
{                                                                                                                  
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y6\r] [\yHammer Silly\r] [\yV.I.P\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_6
}                                                                                                                 
else                                                                                                                 
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y6\r] [\yHammer Silly\r] [\yV.I.P\r]^n")                            
key0 |= MENU_KEY_6                                                                                            
}                                                                                                                       
}                                                                                                                     
else
{                                                                          
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[6] Nu esti [\rVip\d]^n^n")                               
key0 &= ~MENU_KEY_6
}
                                                                                             
if(get_user_flags(id) & ADMIN_LEVEL_G)                                                                           
{
if(s_knife6[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y7\r] [\yHammer Authorities\r] [\yOwner\r] [\wSelectat\r]^n")                            
key0 &= ~MENU_KEY_7
}                                                                                                                 
else                                                                                                                 
{                                                                             
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\y7\r] [\yHammer Authorities\r] [\yOwner\r]^n^n")                                  
key0 |= MENU_KEY_7                                                                                                     
}
}
else
{                                                                                                                
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[7] Nu esti [\r0WneR\d]^n^n")
key0 &= ~MENU_KEY_7                                                                                      
}                                                                                                
                                                                                                    
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\w0\y] \rIesire")                                          
key0 |= MENU_KEY_0                                                                    
                                                                                   
show_menu(id, key0, menu, -1, "Menu_0")                                                                            
}                                                                                         
else                                                          
{
color_print(id, "%s !gAccEss !tOnlY !gTo Man",PREFIKS)
}
}                                                                

public Key_0(id, key)                                       
{                                                                                               
new weaponid                                  
weaponid = get_user_weapon(id)                                     
switch(key)                                                          
{                                                     
case 0:                                                     
{
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = false                                    
g_knife4[id] = false                 
g_knife5[id] = false                                     
g_knife6[id] = false
                            
s_knife0[id] = true
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = false                                               
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false                                             

g_block[id] = true                                       
start_menu(id)
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gStandard!t]",PREFIKS) 
color_print(id, "%s !gABILITATI!t: [!gNo!t]",PREFIKS)

if(is_user_alive(id))                             
{
if(weaponid == CSW_KNIFE)                                                       
{             
set_pev(id, pev_viewmodel2, Knife_v_0)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_0)
}
}                                                                      
}                                                                                     
case 1:                                                         
{                                                                                               
g_knife1[id] = true          
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = false                                                     
g_knife5[id] = false
g_knife6[id] = false

s_knife0[id] = false
s_knife1[id] = true
s_knife2[id] = false
s_knife3[id] = false
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false

g_block[id] = true
start_menu(id)                                                               
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gProton!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gViteza mai mare!t]",PREFIKS)
                                       
if(is_user_alive(id))                             
{
if(weaponid == CSW_KNIFE)                                                       
{             
set_pev(id, pev_viewmodel2, Knife_v_1)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_1)
}
}
}                                                                      
case 2:                                                   
{
g_knife1[id] = false
g_knife2[id] = true
g_knife3[id] = false
g_knife4[id] = false
g_knife5[id] = false
g_knife6[id] = false

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = true
s_knife3[id] = false
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false

g_block[id] = true
start_menu(id) 
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gThE DaRk NigHT!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gGravitatie mai mare!t]",PREFIKS)

if(is_user_alive(id))
{
if(weaponid == CSW_KNIFE) 
{             
set_pev(id, pev_viewmodel2, Knife_v_2)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_2)
}
}
}                                                               
case 3:                                                   
{                                                        
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = true
g_knife4[id] = false
g_knife5[id] = false
g_knife6[id] = false 

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = true
s_knife4[id] = false                 
s_knife5[id] = false                              
s_knife6[id] = false

g_block[id] = true
start_menu(id)
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitl!t: [!gThE Rage of SuN!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gDamage Dublu!t]",PREFIKS)

if(is_user_alive(id))
{
if(weaponid == CSW_KNIFE) 
{             
set_pev(id, pev_viewmodel2, Knife_v_3)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_3)
}
}
}                                
case 4:                                                   
{
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = true
g_knife5[id] = false 
g_knife6[id] = false

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = false
s_knife4[id] = true                 
s_knife5[id] = false                                                                            
s_knife6[id] = false

g_block[id] = true                                                                                                   
start_menu(id)
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gJudgeMeNt DaY!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gToate abilitatile + %d Sarituri!t]",PREFIKS,get_pcvar_num(gump_vip))

if(is_user_alive(id))
{
if(weaponid == CSW_KNIFE) 
{                                                                                                                      
set_pev(id, pev_viewmodel2, Knife_v_4)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_4)
}
}
}
case 5:                                                   
{
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = false
g_knife5[id] = true
g_knife6[id] = false

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = false
s_knife4[id] = false                 
s_knife5[id] = true                              
s_knife6[id] = false

g_block[id] = true
start_menu(id)
buy_sound(id)
color_print(id, "%s !gAi !tAles !gCutitul!t: [!gHAmMeR AuthOriTieS!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gToate abilitatiile + %d Sarituri!t]",PREFIKS,get_pcvar_num(gump_admin))

if(is_user_alive(id))
{
if(weaponid == CSW_KNIFE) 
{             
set_pev(id, pev_viewmodel2, Knife_v_5)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_5)
}
}
}
case 6:                                                   
{                             
g_knife1[id] = false
g_knife2[id] = false
g_knife3[id] = false
g_knife4[id] = false
g_knife5[id] = false
g_knife6[id] = true

s_knife0[id] = false
s_knife1[id] = false
s_knife2[id] = false
s_knife3[id] = false
s_knife4[id] = false                 
s_knife5[id] = false                                                                                                    
s_knife6[id] = true 
                                                                                                                          
g_block[id] = true
start_menu(id)
buy_sound(id)
color_print(id, "%s !gYou !tSelecTeD !gKniFe!t: [!gHaMMer PoWer!t]",PREFIKS)
color_print(id, "%s !gABILITATI!t: [!gToate abilitatile + %d Sarituri!t]",PREFIKS,get_pcvar_num(gump_sozdatel))

if(is_user_alive(id))                                                  
{
if(weaponid == CSW_KNIFE)                                                           
{                                                                                             
set_pev(id, pev_viewmodel2, Knife_v_6)                                                                                 
set_pev(id, pev_weaponmodel2, Knife_p_6)
}                                                                                  
}
}
}
return PLUGIN_HANDLED                                                                                         
}

public buy_sound(id)
{                                                                                                       
emit_sound(id, CHAN_BODY, Buy_Sound, 1.0, ATTN_NORM, 0, PITCH_NORM)                                
}                           
                                                                                                     
public client_PreThink(id)
{
if(!zp_get_user_zombie(id))                                                                               
{
    if(!is_user_alive(id)) return PLUGIN_CONTINUE                                                                        
    new nbut = get_user_button(id)
    new obut = get_user_oldbutton(id)                                                                          
    if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))                          
    {                                                                                                       
        if(jumpnum[id] < g_jump[id])                                                                          
        {                         
            dojump[id] = true                                                  
            jumpnum[id]++                                                                                        
            jump_line(id)
            return PLUGIN_CONTINUE                                 
        }                                                                   
    }                                                                             
    if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {                                                                        
        jumpnum[id] = 0
        return PLUGIN_CONTINUE
    } 
}
return PLUGIN_CONTINUE
}

public client_PostThink(id)
{
if(!zp_get_user_zombie(id))                           
{
    if(!is_user_alive(id)) return PLUGIN_CONTINUE
    if(dojump[id] == true)                                     
    {
        new Float:velocity[3]                                       
        entity_get_vector(id,EV_VEC_velocity,velocity)                  
        velocity[2] = random_float(265.0,285.0)                                  
        entity_set_vector(id,EV_VEC_velocity,velocity)
        dojump[id] = false
        return PLUGIN_CONTINUE                         
    }                                                                   
}
return PLUGIN_CONTINUE
}
                                     
public jump_line(id)   
{
new weaponid
weaponid = get_user_weapon(id)
if(weaponid == CSW_KNIFE)                       
{ 
if(g_knife6[id])
{                                                                              
if(get_pcvar_num(g_off_line_sozdatel))
{
        static origin[3]
        get_user_origin(id, origin)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMCYLINDER)                   
        write_coord(origin[0])
        write_coord(origin[1])                                        
        write_coord(origin[2]-20)    
        write_coord(origin[0]) 
        write_coord(origin[1])                 
        write_coord(origin[2]+200)
        write_short(BeaconSprite)
        write_byte(0)
        write_byte(1)                                          
        write_byte(6)
        write_byte(2) 
        write_byte(1)                                                              
        write_byte(get_pcvar_num(g_line_sozdatel_R))    
        write_byte(get_pcvar_num(g_line_sozdatel_G))                                              
        write_byte(get_pcvar_num(g_line_sozdatel_B))
        write_byte(255)
        write_byte(0)                            
        message_end()
}
}                                                              
if(g_knife5[id])
{
if(get_pcvar_num(g_off_line_admin))
{
        static origin[3]
        get_user_origin(id, origin)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMCYLINDER)
        write_coord(origin[0])
        write_coord(origin[1])                                             
        write_coord(origin[2]-20)    
        write_coord(origin[0]) 
        write_coord(origin[1])
        write_coord(origin[2]+200)
        write_short(BeaconSprite)
        write_byte(0)
        write_byte(1)
        write_byte(6)
        write_byte(2) 
        write_byte(1) 
        write_byte(get_pcvar_num(g_line_admin_R)) 
        write_byte(get_pcvar_num(g_line_admin_G))                                              
        write_byte(get_pcvar_num(g_line_admin_B)) 
        write_byte(255)
        write_byte(0)
        message_end()
}
}
if(g_knife4[id])
{
if(get_pcvar_num(g_off_line_vip))
{
        static origin[3]
        get_user_origin(id, origin)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMCYLINDER)
        write_coord(origin[0])
        write_coord(origin[1])
        write_coord(origin[2]-20)    
        write_coord(origin[0]) 
        write_coord(origin[1])
        write_coord(origin[2]+200)                                    
        write_short(BeaconSprite)                                                                          
        write_byte(0)
        write_byte(1)
        write_byte(6)                                       
        write_byte(2)                                                             
        write_byte(1)                                         
        write_byte(get_pcvar_num(g_line_vip_R)) 
        write_byte(get_pcvar_num(g_line_vip_G))                                              
        write_byte(get_pcvar_num(g_line_vip_B))
        write_byte(255)
        write_byte(0)                            
        message_end()
}           
}
}
}

public next_sp(id)
{
if(g_knife6[id])
{
if(g_sp[id])
{
g_sp[id] = false
}                                                                 
else
{                                                       
g_sp[id] = true
}
}
}

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

if((flags & FL_INWATER) || g_burning_duration[ID_FBURN] < 1 || g_fRoundEnd || !is_user_alive(ID_FBURN))
{
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()                                   

remove_task(taskid)                                                         
return
}

static health                                                    
health = pev(ID_FBURN, pev_health)                                                                    
                                                                                                  
if (health - get_pcvar_num(g_fire_damage) > 0)                           
set_user_health(ID_FBURN, health - get_pcvar_num(g_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]--
}

public end(victim)
{
    if(g_frozen[victim])
    g_frozen[victim] = false

    set_pev(victim, pev_flags, pev(victim, pev_flags) & ~FL_FROZEN)
    set_user_rendering(victim, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25)
    CreateGlass(victim)                                                  

    remove_task(victim)
}

public Ability(taskid)
{
new id = taskid - TASK_INFO        
if(g_knife6[id])                                                                     
{
if(g_sp[id])
{                                                                                           
set_hudmessage(255, 0, 0, 0.02, 0.35, 0, 6.0, 0.8)           
show_hudmessage(id, "KnIfE AbILItiEs: [FIRE]")                                        
}
else
{                                                                        
set_hudmessage(0, 0, 255, 0.02, 0.35, 0, 6.0, 0.8)
show_hudmessage(id, "KnIfE AbILItiEs: [FREEZING]")  
}
}
else
{                                            
remove_task(id + TASK_INFO)                                  
}
}

public Freeze_Wait(taskid)
{
    new attacker = taskid - 1233123
                                                                                                    
    if(is_user_alive(attacker))
    {                                                                                                 
        remove_task(attacker + 1233123)
        g_freeze_wait[attacker] = false
        color_print(attacker, "!t[!gZP!t] !gYOUR !tAbilitTy !gFrEeZe !tIz ReAdY")
    }
    else remove_task(attacker + 1233123)
}

stock CreateGlass(id)                                                            
{                                                                           
    new szOrigin[3];
    get_user_origin(id, szOrigin);

    message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
    write_byte(TE_BREAKMODEL);
    write_coord( szOrigin[0] );
    write_coord( szOrigin[1] );
    write_coord( szOrigin[2] + 24 );
    write_coord(16);
    write_coord(16);
    write_coord(16);
    write_coord( random_num(-50, 50) );
    write_coord( random_num(-50, 50) );
    write_coord(25);
    write_byte(10);
    write_short(g_SpriteGlass);
    write_byte(10);
    write_byte(25);
    write_byte(0x01);
    message_end();
}
                                                                 
stock color_print(const id, const input[], any:...)                                           
{                                                         
        new count = 1, players[32];                                            
        static msg[191];                                                             
        vformat(msg, 190, input, 3);                          
                                                                                        
        replace_all(msg, 190, "!g", "^x04"); // Green Color                           
        replace_all(msg, 190, "!n", "^x01"); // Default Color                           
        replace_all(msg, 190, "!t", "^x03"); // 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, get_user_msgid("SayText"), _, players[i]) 
                    write_byte(players[i]);    
                    write_string(msg);                                           
                    message_end();
                }
            }
        }
    }