Raised This Month: $12 Target: $400
 3% 

[Knife Menu ZP] Dual Phantom Sword


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
strangeguy
Senior Member
Join Date: Mar 2019
Old 09-14-2019 , 15:30   [Knife Menu ZP] Dual Phantom Sword
Reply With Quote #1

Hello!
Can any modder put for me dual phantom sword into this knife menu?

Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

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

#define MAX_CLIENTS				32

new bool:g_fRoundEnd

#define FIRE_DURATION			1
#define FIRE_DAMAGE				50

new g_flameSpr, g_smokeSpr, g_burning_duration[ MAX_CLIENTS + 1 ]

#define PLUGIN	"[ZP] Addon: Knifes"
#define VERSION	"1.0"
#define AUTHOR	"inf"

#define VIP		ADMIN_KICK
#define ADMIN	ADMIN_BAN
#define BOSS	ADMIN_SLAY
#pragma tabsize 0

new KNIFE1_V_MODEL[] = "models/zp/v_tornado_knife.mdl"
new KNIFE1_P_MODEL[] = "models/zp/p_tornado_knife.mdl"

new KNIFE2_V_MODEL[] = "models/zp/v_chainsaw_tron.mdl"
new KNIFE2_P_MODEL[] = "models/zp/p_chainsaw_tron.mdl"

new KNIFE3_V_MODEL[] = "models/zp/v_toyhammer2.mdl"
new KNIFE3_P_MODEL[] = "models/zp/p_toyhammer2.mdl"

new KNIFE4_V_MODEL[] = "models/zp/v_hammer.mdl"
new KNIFE4_P_MODEL[] = "models/zp/p_hammer.mdl"

new KNIFE5_V_MODEL[] = "models/zp/v_axe_red.mdl"
new KNIFE5_P_MODEL[] = "models/zp/p_axe_red.mdl"

new KNIFE6_V_MODEL[] =  "models/zp/v_warhammer_darKnight.mdl"
new KNIFE6_P_MODEL[] =  "models/zp/p_warhammer_dkFX.mdl"

new KNIFESURV_V_MODEL[] = "models/zp/v_tornado_knife.mdl"
new KNIFESURV_P_MODEL[] = "models/zp/p_tornado_knife.mdl"

new bool:g_has_knife1[33]
new bool:g_has_knife2[33]
new bool:g_has_knife3[33]
new bool:g_has_knife4[33]
new bool:g_has_knife5[33]
new bool:g_has_knife6[33]
new bool:g_has_survivor[33]

new cvar_knock_knife1, cvar_speed_knife1, cvar_damage_knife1, cvar_damage_knife1_nemesis
new cvar_knock_knife2, cvar_speed_knife2, cvar_damage_knife2
new cvar_knock_knife3, cvar_speed_knife3, cvar_damage_knife3
new cvar_knock_knife4, cvar_speed_knife4, cvar_damage_knife4
new cvar_knock_knife5, cvar_speed_knife5, cvar_damage_knife5
new cvar_knock_knife6, cvar_speed_knife6, cvar_damage_knife6
new cvar_knock_surv, cvar_speed_surv, cvar_damage_surv

new cvar_pattack_rate

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

new const knife1_sounds[][] =
{
	"zp/tornado_knife_draw.wav",
	"zp/tornado_knife_hit1.wav",
	"zp/tornado_knife_hit1.wav",
	"zp/tornado_knife_hitwall1.wav",
	"zp/tornado_knife_slash1.wav",
	"zp/tornado_knife_stab.wav"
}

new const knife2_sounds[][] =
{
	"zp/chainsaw2_draw.wav",
	"zp/chainsaw2_hit1.wav",
	"zp/chainsaw2_hit1.wav",
	"zp/chainsaw2_hitwall1.wav",
	"zp/chainsaw2_slash1.wav",
	"zp/chainsaw2_stab.wav"
}

new const knife3_sounds[][] =
{
	"zp/toyhammer2_draw.wav",
	"zp/toyhammer2_hit1.wav",
	"zp/toyhammer2_hit2.wav",
	"zp/toyhammer2_hitwall1.wav",
	"zp/toyhammer2_slash1.wav",
	"zp/toyhammer2_stab.wav"
}

new const knife4_sounds[][] =
{
	"zp/hammer_draw.wav",
	"zp/hammer_hit_01.wav",
	"zp/hammer_hit_02.wav",
	"zp/hammer_hitwall1.wav",
	"zp/hammer_slash1.wav",
	"zp/hammer_stab.wav"
}

new const knife5_sounds[][] =
{
	"zp/hammer_draw.wav",
	"zp/hammer_hit_01.wav",
	"zp/hammer_hit_02.wav",
	"zp/hammer_hitwall1.wav",
	"zp/hammer_axe_slash1.wav",
	"zp/hammer_stab.wav"
}

new const knife6_sounds[][] =
{
	"zp/lycanhammer_draw.wav",
	"zp/lycanhammer_hit1.wav",
	"zp/lycanhammer_hit2.wav",
	"zp/lycanhammer_hitwall1.wav",
	"zp/lycanhammer_slash1.wav",
	"zp/lycanhammer_stab.wav"
}

new const surv_sounds[][] =
{
	"zp/tornado_knife_draw.wav",
	"zp/tornado_knife_hit1.wav",
	"zp/tornado_knife_hit1.wav",
	"zp/tornado_knife_hitwall1.wav",
	"zp/tornado_knife_slash1.wav",
	"zp/tornado_knife_stab.wav"
}

// offset 
const m_pPlayer =         41 
const m_flNextPrimaryAttack =     46 
const m_flTimeWeaponIdle =     48 

public plugin_init()
{
    register_plugin(PLUGIN , VERSION , AUTHOR);
    register_forward(FM_AddToFullPack, "fw_PlayerAddToFullPack", 1 );
    register_cvar("zp_addon_knife", VERSION, FCVAR_SERVER);

    register_clcmd("say /knife","knifemenu")
	register_clcmd("knife_zb","knifemenu")
	register_clcmd("knife","knifemenu")
	register_clcmd("/knife","knifemenu")
	
	register_event("CurWeapon","checkWeapon","be","1=1");

	register_forward(FM_EmitSound, "CEntity__EmitSound");
	register_forward(FM_PlayerPreThink, "fw_PlayerPreThink");

	RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage");
	RegisterHam(Ham_Spawn, "player", "fw_playerspawn_post", 1)
	RegisterHam(Ham_Use, "func_tank", "fw_UseStationary_Post", 1)
	RegisterHam(Ham_Use, "func_tankmortar", "fw_UseStationary_Post", 1)
	RegisterHam(Ham_Use, "func_tankrocket", "fw_UseStationary_Post", 1)
	RegisterHam(Ham_Use, "func_tanklaser", "fw_UseStationary_Post", 1)
	
	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fw_Knife_PrimaryAttack_Post", 1) 
	
	cvar_pattack_rate = register_cvar("zp_ks_attack1_rate", "0.3")
	
    register_message(get_user_msgid("DeathMsg"), "message_DeathMsg"); 

    cvar_speed_knife1 = register_cvar("zp_knife1_speed", "250.0")
    cvar_damage_knife1 = register_cvar("zp_knife1_damage", "7.5")
	cvar_damage_knife1_nemesis = register_cvar("zp_knife1_dmg_nemesis", "7.5")
    cvar_knock_knife1 = register_cvar("zp_knife1_knockback", "2.5")

    cvar_speed_knife2 = register_cvar("zp_knife2_speed", "235.0")
    cvar_damage_knife2 = register_cvar("zp_knife2_damage", "3.5")
    cvar_knock_knife2 = register_cvar("zp_knife2_knockback", "5.6")
	
	cvar_speed_knife3 = register_cvar("zp_knife3_speed", "320.0")
	cvar_damage_knife3 = register_cvar("zp_knife3_damage", "2.3")
	cvar_knock_knife3 = register_cvar("zp_knife3_knockback", "2.0")

    cvar_speed_knife4 = register_cvar("zp_knife4_speed", "260.0")
    cvar_damage_knife4 = register_cvar("zp_knife4_damage", "8.3")
    cvar_knock_knife4 = register_cvar("zp_knife4_knockback", "2.5")
	
	cvar_speed_knife5 = register_cvar("zp_knife5_speed", "275.0")
	cvar_damage_knife5 = register_cvar("zp_knife5_damage", "9.2")
	cvar_knock_knife5 = register_cvar("zp_knife5_knockback", "3.0")

	cvar_speed_knife6 = register_cvar("zp_knife6_speed", "300.0")
	cvar_damage_knife6 = register_cvar("zp_knife6_damage", "10.3")
	cvar_knock_knife6 = register_cvar("zp_knife6_knockback", "6.0")

    cvar_speed_surv = register_cvar("zp_surv_speed", "273.0")
    cvar_damage_surv = register_cvar("zp_surv_damage", "40.5")
    cvar_knock_surv = register_cvar("zp_surv_knockback", "7.0")
}

public native_zp_knifes_get(id)
{
	if(g_has_knife1[id])
	{
		return 1
	}else
	if(g_has_knife2[id])
	{
		return 2
	}else
	if(g_has_knife3[id])
	{
		return 3
	}else
	if(g_has_knife4[id])
	{
		return 4
	}else
	if(g_has_knife5[id])
	{
		return 5
	}else
	if(g_has_knife6[id])
	{
		return 6
	}
	return 0
}

public native_zp_knifes_set(id, iKnife)
{
        switch( iKnife )
        {
                case 1: buy_knife1(id)
                case 2: buy_knife2(id)
				case 3: buy_knife3(id)
                case 4: buy_knife4(id)
				case 5: buy_knife5(id)
                case 6: buy_knife6(id)
        }
}

public fw_PlayerAddToFullPack( ES_Handle, E, pEnt, pHost, bsHostFlags, pPlayer, pSet )
{       
        if( pPlayer && get_user_weapon(pEnt) == CSW_KNIFE && g_has_knife6[pEnt] && !zp_get_user_zombie(pEnt))
        {
                static iAnim;

                iAnim = get_es( ES_Handle, ES_Sequence );

                switch( iAnim )
                {
                        case 73, 74, 75, 76:
                        {
                                set_es( ES_Handle, ES_Sequence, iAnim += 20 );
                        }
                }
        }
		return FMRES_IGNORED;
}

public plugin_natives() 
{
	register_native( "knife_0", "knife_0", 1 )

	register_native("zp_get_user_knife", "native_zp_knifes_get", 1)
	register_native("zp_set_user_knife", "native_zp_knifes_set", 1)
}

public knife_0(id)
{
	g_has_knife1[id] = false
	g_has_knife2[id] = false
	g_has_knife3[id] = false
	g_has_knife4[id] = false
	g_has_knife5[id] = false
	g_has_knife6[id] = false
	g_has_survivor[id] = false
}

public client_connect(id)
{
	g_has_knife1[id] = true
	g_has_knife2[id] = false
	g_has_knife3[id] = false
	g_has_knife4[id] = false
	g_has_knife5[id] = false
	g_has_knife6[id] = false
	g_has_survivor[id] = false
}

public client_disconnect(id)
{
    g_has_knife1[id] = false
    g_has_knife2[id] = false
    g_has_knife3[id] = false
	g_has_knife4[id] = false
	g_has_knife5[id] = false
	g_has_knife6[id] = false
    g_has_survivor[id] = false
}

public zp_user_humanized_post( iPlayer ) 
{
	if( zp_get_user_survivor( iPlayer ) ) 
	{
		buy_knife_surv(iPlayer)
	}
	else ChekKnife(iPlayer)
}

public plugin_precache()
{	
    precache_model(KNIFE1_V_MODEL)
    precache_model(KNIFE1_P_MODEL)
    precache_model(KNIFE2_V_MODEL)
    precache_model(KNIFE2_P_MODEL)
    precache_model(KNIFE3_V_MODEL)
    precache_model(KNIFE3_P_MODEL)
    precache_model(KNIFE4_V_MODEL)
    precache_model(KNIFE4_P_MODEL)
	precache_model(KNIFE5_V_MODEL)
	precache_model(KNIFE5_P_MODEL)
	precache_model(KNIFE6_V_MODEL)
	precache_model(KNIFE6_P_MODEL)
    precache_model(KNIFESURV_V_MODEL)
    precache_model(KNIFESURV_P_MODEL)
	
    precache_sound(g_sound_knife)

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

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

    for(new i = 0; i < sizeof knife4_sounds; i++)
    precache_sound(knife4_sounds[i])
	
	for(new i = 0; i < sizeof knife5_sounds; i++)
    precache_sound(knife5_sounds[i])
	
	for(new i = 0; i < sizeof knife6_sounds; i++)
    precache_sound(knife6_sounds[i])
	
    precache_sound("zp/chainsaw_steam.wav")
	precache_sound("zp/chainsaw_idle.wav")
	
	g_flameSpr = precache_model( "sprites/zp/ef_stormgianttw.spr" );
	
	g_smokeSpr = precache_model( "sprites/black_smoke3.spr" );
	
	for(new i = 0; i < sizeof surv_sounds; i++)
    precache_sound(surv_sounds[i]) 
}

public knifemenu(id)
{
	if(!zp_get_user_survivor(id)) {
	new menu = menu_create("\yChoose a knife!","menu_handle")

    menu_additem(menu, "Tornado Sword \r[Waste]", "1")
    menu_additem(menu, "Chainsaw Throne \r[Damage]", "2")
	menu_additem(menu, "Call the Hammer \r[Speed]^n", "3")
	
	if(get_user_flags(id) & VIP)
    menu_additem(menu, "Hammer [VIP]", "4")
	else
	menu_additem(menu, "\dHammer [VIP]", "4")

	if(get_user_flags(id) & ADMIN)
    menu_additem(menu, "Mountaineer's Axe [Admin]", "5")
	else
	menu_additem(menu, "\dMountaineer's Axe [Admin]", "5")
	
	if(get_user_flags(id) & BOSS)
	menu_additem(menu, "War Hammer [BOSS]", "6")
	else
	menu_additem(menu, "\dWar Hammer [BOSS]", "6")
	
    menu_setprop(menu, MPROP_PERPAGE, 0)

	menu_display(id, menu, 0)
}
}

public menu_handle(id, menu, item)
{
        if(item < 0) 
                return PLUGIN_CONTINUE
        
        new cmd[2];
        new access, callback;
        menu_item_getinfo(menu, item, access, cmd,2,_,_, callback);
        new choice = str_to_num(cmd)
        
        switch (choice)
        {
                case 1: buy_knife1(id)
                case 2: buy_knife2(id)
				case 3: buy_knife3(id)
                case 4: buy_knife4(id)
				case 5: buy_knife5(id)
                case 6: buy_knife6(id)
        }
        return PLUGIN_HANDLED;
} 

public buy_knife1(id)
{
	g_has_knife1[id] = true     
	g_has_knife2[id] = false
	g_has_knife3[id] = false
	g_has_knife4[id] = false
	g_has_knife5[id] = false
	g_has_knife6[id] = false
	g_has_survivor[id] = false
	
	message_begin(MSG_ONE, get_user_msgid("WeapPickup"), {0,0,0}, id) 
	write_byte(29)
	message_end()
	
	checkWeapon(id)

	client_cmd(id, "setinfo Knifes 1")

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

public buy_knife2(id)
{
	g_has_knife1[id] = false
	g_has_knife2[id] = true
	g_has_knife3[id] = false
	g_has_knife4[id] = false
	g_has_knife5[id] = false
	g_has_knife6[id] = false
	g_has_survivor[id] = false
	
	message_begin(MSG_ONE, get_user_msgid("WeapPickup"), {0,0,0}, id) 
	write_byte(29)
	message_end()
	
	checkWeapon(id)
	
	client_cmd(id, "setinfo Knifes 2")

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

public buy_knife3(id)
{
	g_has_knife1[id] = false
	g_has_knife2[id] = false
	g_has_knife3[id] = true
	g_has_knife4[id] = false
	g_has_knife5[id] = false
	g_has_knife6[id] = false
	g_has_survivor[id] = false
	
	message_begin(MSG_ONE, get_user_msgid("WeapPickup"), {0,0,0}, id) 
	write_byte(29)
	message_end()
	
	checkWeapon(id)

	client_cmd(id, "setinfo Knifes 3")

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

public buy_knife4(id)
{
	if (get_user_flags(id) & VIP)
	{
	g_has_knife1[id] = false
	g_has_knife2[id] = false
	g_has_knife3[id] = false
	g_has_knife4[id] = true
	g_has_knife5[id] = false
	g_has_knife6[id] = false
	g_has_survivor[id] = false
	
	message_begin(MSG_ONE, get_user_msgid("WeapPickup"), {0,0,0}, id) 
	write_byte(29)
	message_end()
	
	checkWeapon(id)

	client_cmd(id, "setinfo Knifes 4")

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

public buy_knife5(id)
{
	if (get_user_flags(id) & ADMIN)
	{
	g_has_knife1[id] = false
	g_has_knife2[id] = false
	g_has_knife3[id] = false
	g_has_knife4[id] = false
	g_has_knife5[id] = true
	g_has_knife6[id] = false
	g_has_survivor[id] = false
	
	message_begin(MSG_ONE, get_user_msgid("WeapPickup"), {0,0,0}, id) 
	write_byte(29)
	message_end()
	
	checkWeapon(id)

	client_cmd(id, "setinfo Knifes 5")

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

public buy_knife6(id)
{
	if (get_user_flags(id) & BOSS)
	{
	g_has_knife1[id] = false
	g_has_knife2[id] = false
	g_has_knife3[id] = false
	g_has_knife4[id] = false
	g_has_knife5[id] = false
	g_has_knife6[id] = true
	g_has_survivor[id] = false
	
	message_begin(MSG_ONE, get_user_msgid("WeapPickup"), {0,0,0}, id) 
	write_byte(29)
	message_end()
	
	checkWeapon(id)

	client_cmd(id, "setinfo Knifes 6")

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

public buy_knife_surv(id)
{
	g_has_knife1[id] = false
	g_has_knife2[id] = false
	g_has_knife3[id] = false
	g_has_knife4[id] = false
	g_has_knife5[id] = false
	g_has_knife6[id] = false
	g_has_survivor[id] = true

	message_begin(MSG_ONE, get_user_msgid("WeapPickup"), {0,0,0}, id) 
	write_byte(29)
	message_end()
	
	checkWeapon(id)

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

}

public fw_UseStationary_Post(entity, caller, activator, use_type)
{	
	if (use_type == 0 && is_user_connected(caller))
		checkWeapon(caller)
}

public checkWeapon(id)
{
        if(!zp_get_user_zombie(id))
        {
	        if(get_user_weapon(id) == CSW_KNIFE)
		{
			if(g_has_knife1[id])
			{
	            set_pev(id, pev_viewmodel2, KNIFE1_V_MODEL)
	            set_pev(id, pev_weaponmodel2, KNIFE1_P_MODEL)
			}
			else if(g_has_knife2[id] )
			{
	            set_pev(id, pev_viewmodel2, KNIFE2_V_MODEL)
				set_pev(id, pev_weaponmodel2, KNIFE2_P_MODEL)
			}
			else if(g_has_knife3[id])
			{
				set_pev(id, pev_viewmodel2, KNIFE3_V_MODEL)
				set_pev(id, pev_weaponmodel2, KNIFE3_P_MODEL)
			}
			else if(g_has_knife4[id])
			{
	            set_pev(id, pev_viewmodel2, KNIFE4_V_MODEL)
	            set_pev(id, pev_weaponmodel2, KNIFE4_P_MODEL)
			}
			else if(g_has_knife5[id])
			{
				set_pev(id, pev_viewmodel2, KNIFE5_V_MODEL)
				set_pev(id, pev_weaponmodel2, KNIFE5_P_MODEL)
			}
			else if(g_has_knife6[id])
			{
				set_pev(id, pev_viewmodel2, KNIFE6_V_MODEL)
				set_pev(id, pev_weaponmodel2, KNIFE6_P_MODEL)
			}
			else if(g_has_survivor[id])
			{
	            set_pev(id, pev_viewmodel2, KNIFESURV_V_MODEL)
	            set_pev(id, pev_weaponmodel2, KNIFESURV_P_MODEL)
			}
		}
	}
}
	
public fw_playerspawn_post(id)
{
	if(!is_user_alive(id))
	return;
	
	ChekKnife(id)
	
	return;
}

public CEntity__EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
	if (!is_user_connected(id)) 
		return HAM_IGNORED
	
	if (zp_get_user_zombie(id)) 
		return HAM_IGNORED
	
	if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
	{
		if (sample[14] == 'd') 
		{
			if(g_has_knife1[id])
				emit_sound(id, channel, knife1_sounds[0], volume, attn, flags, pitch)
			if(g_has_knife2[id])
				emit_sound(id, channel, knife2_sounds[0], volume, attn, flags, pitch)
			if(g_has_knife3[id])
				emit_sound(id, channel, knife3_sounds[0], volume, attn, flags, pitch)
			if(g_has_knife4[id])
				emit_sound(id, channel, knife4_sounds[0], volume, attn, flags, pitch)
			if(g_has_knife5[id])
				emit_sound(id, channel, knife5_sounds[0], volume, attn, flags, pitch)
			if(g_has_knife6[id])
				emit_sound(id, channel, knife6_sounds[0], volume, attn, flags, pitch)
			if(g_has_survivor[id])
				emit_sound(id, channel, surv_sounds[0], volume, attn, flags, pitch)
		}
		else if (sample[14] == 'h')
		{
			if (sample[17] == 'w') 
			{
				if(g_has_knife1[id])
					emit_sound(id, channel, knife1_sounds[3], volume, attn, flags, pitch)
				if(g_has_knife2[id])
					emit_sound(id, channel, knife2_sounds[3], volume, attn, flags, pitch)
				if(g_has_knife3[id])
					emit_sound(id, channel, knife3_sounds[3], volume, attn, flags, pitch)
				if(g_has_knife4[id])
					emit_sound(id, channel, knife4_sounds[3], volume, attn, flags, pitch)
				if(g_has_knife5[id])
					emit_sound(id, channel, knife5_sounds[3], volume, attn, flags, pitch)
				if(g_has_knife6[id])
					emit_sound(id, channel, knife6_sounds[3], volume, attn, flags, pitch)
				if(g_has_survivor[id])
					emit_sound(id, channel, surv_sounds[3], volume, attn, flags, pitch)
			}
			else
			{
				if(g_has_knife1[id])
					emit_sound(id, channel, knife1_sounds[random_num(1,2)], volume, attn, flags, pitch)
				if(g_has_knife2[id])
					emit_sound(id, channel, knife2_sounds[random_num(1,2)], volume, attn, flags, pitch)
				if(g_has_knife3[id])
					emit_sound(id, channel, knife3_sounds[random_num(1,2)], volume, attn, flags, pitch)
				if(g_has_knife4[id])
					emit_sound(id, channel, knife4_sounds[random_num(1,2)], volume, attn, flags, pitch)
				if(g_has_knife5[id])
					emit_sound(id, channel, knife5_sounds[random_num(1,2)], volume, attn, flags, pitch)
				if(g_has_knife6[id])
					emit_sound(id, channel, knife6_sounds[random_num(1,2)], volume, attn, flags, pitch)
				if(g_has_survivor[id])
					emit_sound(id, channel, surv_sounds[random_num(1,2)], volume, attn, flags, pitch)
			}
		}
		else
		{
			if (sample[15] == 'l') 
			{
				if(g_has_knife1[id])
					emit_sound(id, channel, knife1_sounds[4], volume, attn, flags, pitch)
				if(g_has_knife2[id])
					emit_sound(id, channel, knife2_sounds[4], volume, attn, flags, pitch)
				if(g_has_knife3[id])
					emit_sound(id, channel, knife3_sounds[4], volume, attn, flags, pitch)
				if(g_has_knife4[id])
					emit_sound(id, channel, knife4_sounds[4], volume, attn, flags, pitch)
				if(g_has_knife5[id])
					emit_sound(id, channel, knife5_sounds[4], volume, attn, flags, pitch)
				if(g_has_knife6[id])
					emit_sound(id, channel, knife6_sounds[4], volume, attn, flags, pitch)
				if(g_has_survivor[id])
					emit_sound(id, channel, surv_sounds[4], volume, attn, flags, pitch)
			}
			else 
			{
				if(g_has_knife1[id])
					emit_sound(id, channel, knife1_sounds[5], volume, attn, flags, pitch)
				if(g_has_knife2[id] )
					emit_sound(id, channel, knife2_sounds[5], volume, attn, flags, pitch)
				if(g_has_knife3[id] )
					emit_sound(id, channel, knife3_sounds[5], volume, attn, flags, pitch)
				if(g_has_knife4[id])
					emit_sound(id, channel, knife4_sounds[5], volume, attn, flags, pitch)
				if(g_has_knife5[id])
					emit_sound(id, channel, knife5_sounds[5], volume, attn, flags, pitch)
				if(g_has_knife6[id])
					emit_sound(id, channel, knife6_sounds[5], volume, attn, flags, pitch)
				if(g_has_survivor[id])
					emit_sound(id, channel, surv_sounds[5], volume, attn, flags, pitch)
			}
		}
		return HAM_SUPERCEDE
	}
	return HAM_IGNORED
}

public fw_PlayerPreThink(id)
{
        if(!is_user_alive(id) || zp_get_user_zombie(id))
                return FMRES_IGNORED

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

        if (weapon == CSW_KNIFE && g_has_knife1[id])
        {
                set_user_maxspeed(id,get_pcvar_float(cvar_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 ] += 325

                        set_pev( id , pev_velocity , fVelocity )

                        set_pev(id, pev_gaitsequence, 6)
                }
        }
        if(weapon == CSW_KNIFE && g_has_knife2[id])
        {
                set_user_maxspeed(id,get_pcvar_float(cvar_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 ] += 320

                        set_pev( id , pev_velocity , fVelocity )
                        
                        set_pev(id, pev_gaitsequence, 6)
                }       
        }
		if (weapon == CSW_KNIFE && g_has_knife3[id])
        {
                if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
                {
                        new flags = pev(id, pev_flags)
                        new waterlvl = pev(id, pev_waterlevel)
                        
                        if (!(flags & FL_ONGROUND))
                                return FMRES_IGNORED

                        if (flags & FL_WATERJUMP)
                                return FMRES_IGNORED

                        if (waterlvl > 1)
                                return FMRES_IGNORED

                        new Float:fVelocity[ 3 ]
                        pev( id , pev_velocity , fVelocity )
		
			fVelocity[ 2 ] += 345

                        set_pev( id , pev_velocity , fVelocity )
                        
                        set_pev(id, pev_gaitsequence, 6)
                }
                
                set_user_maxspeed(id, get_pcvar_float(cvar_speed_knife3))
        }
        if(weapon == CSW_KNIFE && g_has_knife4[id])   
        {     
                if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
                {
                        new flags = pev(id, pev_flags)
                        new waterlvl = pev(id, pev_waterlevel)
                        
                        if (!(flags & FL_ONGROUND))
                                return FMRES_IGNORED

                        if (flags & FL_WATERJUMP)
                                return FMRES_IGNORED

                        if (waterlvl > 1)
                                return FMRES_IGNORED

                        new Float:fVelocity[ 3 ]
                        pev( id , pev_velocity , fVelocity )
		
			fVelocity[ 2 ] += 320

                        set_pev( id , pev_velocity , fVelocity )
                        
                        set_pev(id, pev_gaitsequence, 6)
                }
                
                set_user_maxspeed(id,get_pcvar_float(cvar_speed_knife4))  
        }
        if(weapon == CSW_KNIFE && g_has_knife5[id])   
        {     
                if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
                {
                        new flags = pev(id, pev_flags)
                        new waterlvl = pev(id, pev_waterlevel)
                        
                        if (!(flags & FL_ONGROUND))
                                return FMRES_IGNORED

                        if (flags & FL_WATERJUMP)
                                return FMRES_IGNORED

                        if (waterlvl > 1)
                                return FMRES_IGNORED

                        new Float:fVelocity[ 3 ]
                        pev( id , pev_velocity , fVelocity )
		
			fVelocity[ 2 ] += 320

                        set_pev( id , pev_velocity , fVelocity )
                        
                        set_pev(id, pev_gaitsequence, 6)
                }
                
                set_user_maxspeed(id,get_pcvar_float(cvar_speed_knife5))  
        }
		if (weapon == CSW_KNIFE && g_has_knife6[id])
        {
                if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
                {
                        new flags = pev(id, pev_flags)
                        new waterlvl = pev(id, pev_waterlevel)
                        
                        if (!(flags & FL_ONGROUND))
                                return FMRES_IGNORED

                        if (flags & FL_WATERJUMP)
                                return FMRES_IGNORED

                        if (waterlvl > 1)
                                return FMRES_IGNORED

                        new Float:fVelocity[ 3 ]
                        pev( id , pev_velocity , fVelocity )
		
			fVelocity[ 2 ] += 345

                        set_pev( id , pev_velocity , fVelocity )
                        
                        set_pev(id, pev_gaitsequence, 6)
                }
                
                set_user_maxspeed(id, get_pcvar_float(cvar_speed_knife6))
        }
        if(weapon == CSW_KNIFE && g_has_survivor[id])
        {
                if ((pev(id, pev_button) & IN_JUMP) && !(pev(id, pev_oldbuttons) & IN_JUMP))
                {
                        new flags = pev(id, pev_flags)
                        new waterlvl = pev(id, pev_waterlevel)
                        
                        if (!(flags & FL_ONGROUND))
                                return FMRES_IGNORED

                        if (flags & FL_WATERJUMP)
                                return FMRES_IGNORED

                        if (waterlvl > 1)
                                return FMRES_IGNORED

                        new Float:fVelocity[ 3 ]
                        pev( id , pev_velocity , fVelocity )
		
			fVelocity[ 2 ] += 357

                        set_pev( id , pev_velocity , fVelocity )
                        
                        set_pev(id, pev_gaitsequence, 6)
                }
                set_user_maxspeed(id, get_pcvar_float(cvar_speed_surv))
        }
		
        return FMRES_IGNORED
}  

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, _type)
{
    if(!is_user_connected(attacker))
    return HAM_IGNORED
	
    if(zp_get_user_zombie(attacker))
    return HAM_IGNORED
	
    if(get_user_weapon(attacker) == CSW_KNIFE)
    {
        if (g_has_knife1[attacker])
        {
			if(zp_is_nemesis_round())
			SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage_knife1_nemesis))
			else
			SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage_knife1)) 

            new Float:vec[3];
            new Float:oldvelo[3];
            pev(victim, pev_velocity, oldvelo);
            create_velocity_vector(victim , attacker , vec);
            vec[0] += oldvelo[0] + get_pcvar_float(cvar_knock_knife1);
            vec[1] += oldvelo[1] + 0;
            set_pev(victim, pev_velocity, vec);   
        }
        else if (g_has_knife2[attacker])
        {       
            SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage_knife2)) 
			
            new Float:vec[3];
            new Float:oldvelo[3];
            pev(victim, pev_velocity, oldvelo);
            create_velocity_vector(victim , attacker , vec);
            vec[0] += oldvelo[0] + get_pcvar_float(cvar_knock_knife2);
            vec[1] += oldvelo[1] + 0;
            set_pev(victim, pev_velocity, vec);   
        }
		else if (g_has_knife3[attacker])
        {       
			SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage_knife3)) 

			new Float:vec[3];
			new Float:oldvelo[3];
			pev(victim, pev_velocity, oldvelo);
			create_velocity_vector(victim , attacker , vec);
			vec[0] += oldvelo[0] + get_pcvar_float(cvar_knock_knife3);
			vec[1] += oldvelo[1] + 0;
            set_pev(victim, pev_velocity, vec);   
        }
        else if (g_has_knife4[attacker])
        {       
            SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage_knife4)) 
			
            new Float:vec[3];
            new Float:oldvelo[3];
            pev(victim, pev_velocity, oldvelo);
            create_velocity_vector(victim , attacker , vec);
            vec[0] += oldvelo[0] + get_pcvar_float(cvar_knock_knife4);
            vec[1] += oldvelo[1] + 0;
            set_pev(victim, pev_velocity, vec);   
        }
        else if (g_has_knife5[attacker])
        {       
            SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage_knife5)) 
			
            new Float:vec[3];
            new Float:oldvelo[3];
            pev(victim, pev_velocity, oldvelo);
            create_velocity_vector(victim , attacker , vec);
            vec[0] += oldvelo[0] + get_pcvar_float(cvar_knock_knife5);
            vec[1] += oldvelo[1] + 0;
            set_pev(victim, pev_velocity, vec);
        }
		else if (g_has_knife6[attacker])
		{       
			SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage_knife6)) 

			new Float:vec[3];
			new Float:oldvelo[3];
			pev(victim, pev_velocity, oldvelo);
			create_velocity_vector(victim , attacker , vec);
			vec[0] += oldvelo[0] + get_pcvar_float(cvar_knock_knife6);
			vec[1] += oldvelo[1] + 0;
			set_pev(victim, pev_velocity, vec);   
			
			if( !task_exists( victim + TASK_FBURN ) )
			{
				g_burning_duration[ victim ] += FIRE_DURATION * 5
				set_task( 0.1, "CTask__BurningFlame", victim + TASK_FBURN, _, _, "b" )
			}
		}
		else if(g_has_survivor[attacker])
		{       
			SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage_surv)) 

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

	return HAM_IGNORED
}

public fw_Knife_PrimaryAttack_Post(knife) 
{     
    // Get knife owner 
    static id 
    id = get_pdata_cbase(knife, m_pPlayer, 4) 
     
    // has a KnifeSpeed 
    if(is_user_connected(id) && g_has_knife6[id]) 
    { 
        // Get new fire rate 
        static Float:flRate 
        flRate = get_pcvar_float(cvar_pattack_rate) 
         
        // Set new rates 
        set_pdata_float(knife, m_flNextPrimaryAttack, flRate, 4) 
        set_pdata_float(knife, m_flTimeWeaponIdle, flRate, 4) 
         
    } 
     
    return HAM_IGNORED 
} 

public message_DeathMsg(msg_id, msg_dest, id)
{
        static szTruncatedWeapon[33], iattacker, ivictim
        
        get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))
        
        iattacker = get_msg_arg_int(1)
        ivictim = get_msg_arg_int(2)
        
        if(!is_user_connected(iattacker) || iattacker == ivictim)
                return PLUGIN_CONTINUE

        if (!zp_get_user_zombie(iattacker))
        {
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(g_has_knife1[iattacker])
				set_msg_arg_string(4, "knife1")
			}
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(g_has_knife2[iattacker])
				set_msg_arg_string(4, "knife2")
			}
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(g_has_knife3[iattacker])
				set_msg_arg_string(4, "knife3")
			}
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(g_has_knife4[iattacker])
				set_msg_arg_string(4, "knife4")
			}
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(g_has_knife5[iattacker])
				set_msg_arg_string(4, "knife5")
			}
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(g_has_knife6[iattacker])
				set_msg_arg_string(4, "knife6")
			}
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(g_has_survivor[iattacker])
				set_msg_arg_string(4, "survivor")
			} 
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(!g_has_knife1[iattacker] && !g_has_knife2[iattacker] && !g_has_knife3[iattacker] && !zp_get_user_zombie(iattacker))
				set_msg_arg_string(4, "knife")
			}
        }
        if (zp_get_user_zombie(iattacker))
        {
			if(equal(szTruncatedWeapon, "knife") && get_user_weapon(iattacker) == CSW_KNIFE)
			{
				if(g_has_knife1[iattacker] || g_has_knife2[iattacker] || g_has_knife3[iattacker])
				set_msg_arg_string(4, "Claws")
			}
        }
        return PLUGIN_CONTINUE
}

stock create_velocity_vector(victim,attacker,Float:velocity[3])
{
        if(!zp_get_user_zombie(victim) || !is_user_alive(attacker))
                return 0;

        new Float:vicorigin[3];
        new Float:attorigin[3];
        pev(victim, pev_origin , vicorigin);
        pev(attacker, pev_origin , attorigin);

        new Float:origin2[3]
        origin2[0] = vicorigin[0] - attorigin[0];
        origin2[1] = vicorigin[1] - attorigin[1];

        new Float:largestnum = 0.0;

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

        origin2[0] /= largestnum;
        origin2[1] /= largestnum;
        
        if (g_has_knife1[attacker])
        {
                velocity[0] = ( origin2[0] * get_pcvar_float(cvar_knock_knife1) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
                velocity[1] = ( origin2[1] * get_pcvar_float(cvar_knock_knife1) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
        }
        else if (g_has_knife2[attacker])
        {
                velocity[0] = ( origin2[0] * get_pcvar_float(cvar_knock_knife2) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
                velocity[1] = ( origin2[1] * get_pcvar_float(cvar_knock_knife2) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
        }
		else if (g_has_knife3[attacker])
        {
                velocity[0] = ( origin2[0] * get_pcvar_float(cvar_knock_knife3) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
                velocity[1] = ( origin2[1] * get_pcvar_float(cvar_knock_knife3) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
        }
        else if (g_has_knife4[attacker])
        {
                velocity[0] = ( origin2[0] * get_pcvar_float(cvar_knock_knife4) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
                velocity[1] = ( origin2[1] * get_pcvar_float(cvar_knock_knife4) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
        }
        else if (g_has_knife5[attacker])
        {
                velocity[0] = ( origin2[0] * get_pcvar_float(cvar_knock_knife5) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
                velocity[1] = ( origin2[1] * get_pcvar_float(cvar_knock_knife5) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
        }
		else if (g_has_knife6[attacker])
        {
                velocity[0] = ( origin2[0] * get_pcvar_float(cvar_knock_knife6) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
                velocity[1] = ( origin2[1] * get_pcvar_float(cvar_knock_knife6) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
        }
        else if(g_has_survivor[attacker])
        {
                velocity[0] = ( origin2[0] * get_pcvar_float(cvar_knock_surv) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
                velocity[1] = ( origin2[1] * get_pcvar_float(cvar_knock_surv) * 10000 ) / floatround(get_distance_f(vicorigin, attorigin));
        } 
 
        if(velocity[0] <= 20.0 || velocity[1] <= 20.0)
        velocity[2] = random_float(200.0 , 275.0);

        return 1;
}

stock fm_set_user_maxspeed(index, Float:speed = -1.0) 
{
        engfunc(EngFunc_SetClientMaxspeed, index, speed);
        set_pev(index, pev_maxspeed, speed);

        return 1;
}

stock ChekKnife(id)
{
	new str[3]
	get_user_info(id, "Knifes", str, charsmax(str))

	switch(str[0])
	{
		case '1':
		{
	        	g_has_knife1[id] = true
	        	g_has_knife2[id] = false
		        g_has_knife3[id] = false
		        g_has_knife4[id] = false
				g_has_knife5[id] = false
				g_has_knife6[id] = false
		}
		case '2':
		{
	        	g_has_knife1[id] = false
	        	g_has_knife2[id] = true
		        g_has_knife3[id] = false
		        g_has_knife4[id] = false	
				g_has_knife5[id] = false
				g_has_knife6[id] = false
		}
		case '3':
		{
	        	g_has_knife1[id] = false
	        	g_has_knife2[id] = false
		        g_has_knife3[id] = true
		        g_has_knife4[id] = false	
				g_has_knife5[id] = false
				g_has_knife6[id] = false
		}
		case '4':
		{
			if(get_user_flags(id) & VIP)
			{
	        	g_has_knife1[id] = false
	        	g_has_knife2[id] = false
		        g_has_knife3[id] = false
		        g_has_knife4[id] = true	
				g_has_knife5[id] = false
				g_has_knife6[id] = false
			}				
			else random_num(buy_knife1(id) , buy_knife2(id))
		}
		case '5':
		{
			if(get_user_flags(id) & ADMIN)
			{
	        	g_has_knife1[id] = false
	        	g_has_knife2[id] = false
				g_has_knife3[id] = false
		        g_has_knife4[id] = false	
				g_has_knife5[id] = true
				g_has_knife6[id] = false
			}
			else random_num(buy_knife1(id) , buy_knife2(id))
		}
		case '6':
		{
			if(get_user_flags(id) & BOSS)
			{
	        	g_has_knife1[id] = false
	        	g_has_knife2[id] = false
				g_has_knife3[id] = false
		        g_has_knife4[id] = false	
				g_has_knife5[id] = false
				g_has_knife6[id] = true
			}
			else random_num(buy_knife1(id) , buy_knife2(id))
		}
	}
	g_has_survivor[id] = false
}

public CTask__BurningFlame( taskid )
{
	// Get player origin and flags
	static origin[3], flags
	get_user_origin(ID_FBURN, origin)
	flags = pev(ID_FBURN, pev_flags)
	
	// Madness mode - in water - burning stopped
	if ((flags & FL_INWATER) || g_burning_duration[ID_FBURN] < 1 || g_fRoundEnd || !is_user_alive(ID_FBURN))
	{
		// Smoke sprite
		message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
		write_byte(TE_SMOKE) // TE id
		write_coord(origin[0]) // x
		write_coord(origin[1]) // y
		write_coord(origin[2]-50) // z
		write_short(g_smokeSpr) // sprite
		write_byte(random_num(15, 20)) // scale
		write_byte(random_num(10, 20)) // framerate
		message_end()
		
		// Task not needed anymore
		remove_task(taskid)
		return
	}
	
	// Get player's health
	static health
	health = pev(ID_FBURN, pev_health)
	
	// Take damage from the fire
	if (health - FIRE_DAMAGE > 0)
		fm_set_user_health(ID_FBURN, health - FIRE_DAMAGE)
	
	// Flame sprite
	message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
	write_byte(TE_SPRITE) // TE id
	write_coord(origin[0]+random_num(-5, 5)) // x
	write_coord(origin[1]+random_num(-5, 5)) // y
	write_coord(origin[2]+random_num(-10, 10)) // z
	write_short(g_flameSpr) // sprite
	write_byte(random_num(5, 10)) // scale
	write_byte(200) // brightness
	message_end()

	g_burning_duration[ID_FBURN]--
}

stock fm_set_user_health( index, health ) 
	health > 0 ? set_pev(index, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, index)

stock ChatColor(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
    
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
    
	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();
			}
		}
	}
}
strangeguy is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:41.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode