• [THÔNG BÁO] CẢNH BÁO LỪA ĐẢO MẠO DANH QUẢN TRỊ VIÊN
    Chào các thành viên GameVN,
    Dạo gần đây tình trạng lừa đảo scamming và phishing đang gia tăng. Ban quản trị GameVN xin lưu ý toàn bộ thành viên:
    KHÔNG/ ĐỪNG / CẤM cho bất kỳ ai tự xưng là quản trị viên của server vay tiền.
    Mọi hành vi lân la làm quen, tự tiện nhắn tin trên Discord, Facebook, Zalo hoặc các nền tảng mạng xã hội khác,
    núp bóng dưới danh nghĩa sinh hoạt của quản trị viên, đều có tỉ lệ rất, rất cao là lừa đảo.
    Nếu có tài khoản lạ add friend hoặc nhắn tin xin tiền dưới danh nghĩa admin:
    Block ngay
    Report ngay
    Không chuyển khoản, không cung cấp thông tin cá nhân


    Quản trị viên của forum và Discord server GameVN không có nhu cầu vay tiền thành viên.
    Không có lý do nào để admin chủ động kết bạn rồi xin tiền.
    Mọi thông báo chính thức chỉ được đăng trên kênh thông báo của server và topic chính thức trên forum.
    Tin nhắn riêng từ tài khoản lạ không phải thông báo của ban quản trị.
    Cảm ơn các bạn đã chú ý và cùng giữ cộng đồng an toàn.
    — Ban quản trị GameVN

    Tắt thông báo bằng nút X bên góc phải của bảng thông báo*

[SKINS][GameVN CS skin collection] Kho skin Counter-Strike GameVN

  • Thread starter Thread starter Orpheus
  • Ngày gửi Ngày gửi
Status
Không mở trả lời sau này.
Skin CSS, tay CSS =))

07779614.jpg
 
Skin CSO không phải Skin CSS :-w
 
Ani headshot CF by KeThanBi :)
KeThanBi: Anh em xem qua thử rồi nhận xét ^^,thiếu mỗi bay cái mũ ra .À tiện cho hỏi là có cách nào thêm bone vào nhân vật mà ko bị lỗi ko :-/
[video]nt7wnZezktk[/video]
 
Oài lâu rùi ko lên diễn đàn nhiều skin mới wa ^^. Mọi người cho hỏi có cách nào thêm 1 bone nữa vào trong skin nhân vật mặc định của cs ko nhỉ chả là mình đang làm ani headshot của cf cho các nhân vật cf trên nền bone cs mà ko thêm dc bone vào cho cái mũ nó bay ra dc. Mình làm cũng tưong đối rùi các bạn có thể coi video
[spoil][video]nt7wnZezktk[/video][/spoil]

Èo anim HS này khá đấy bác, có thể share cái head.smd này về để tui nghiên cứu thêm ko??? Nếu được thì share qua tin nhắn nhé!!! ;))
 
Chỉnh sửa cuối:
hùi trước tên koterus k bít nên k để credit CSO và Nexon thôi =))
mới edit lại mà
 
hùi trước tên koterus k bít nên k để credit CSO và Nexon thôi =))
mới edit lại mà

---------- Post added at 16:49 ---------- Previous post was at 16:41 ----------

hùi trước tên koterus k bít nên k để credit CSO và Nexon thôi =))
mới edit lại mà
 
@Kethanbi: cái anim hình như chưa mượt lắm bác nhỉ :-?
@tulucky: khi nào rảnh bác lên yahoo nhé, em share cho bác con char RED TEAM SA default :-"
 
@Kethanbi: cái anim hình như chưa mượt lắm bác nhỉ :-?
@tulucky: khi nào rảnh bác lên yahoo nhé, em share cho bác con char RED TEAM SA default :-"

Tui đang onl nè, rảnh thì cứ đưa link luôn cũng được, còn ko thì cứ pm tin nhắn!!! ;))
 
có sma cái effect killer như video của tulucky ko các bạn ?

Code:

PHP:
#include <amxmodx>
#include <fakemeta>

#include <nst_player>
#include <nst_zombie>
#include <nst_wpn>

#define PLUGIN "Effects Killer"
#define VERSION "3.0"
#define AUTHOR "NST"

#define LEVELS 8
new kills[33], Float:timekill[33], revenge[33], oneshot[33]
new iconstatus, g_firstkill, g_lastkill
new g_FM_Running
new cvar_time_kill, cvar_type, cvar_time_show
new fade_time[33], color[33], sprbe[33][3]

new const sound_combo[][] =
{
	"vox/kill/%s/kill_1_%s.wav", 
	"vox/kill/%s/kill_2_%s.wav", 
	"vox/kill/%s/kill_3_%s.wav", 
	"vox/kill/%s/kill_4_%s.wav", 
	"vox/kill/%s/kill_5_%s.wav", 
	"vox/kill/%s/kill_6_%s.wav", 
	"vox/kill/%s/kill_7_%s.wav", 
	"vox/kill/%s/kill_8_%s.wav", 
	"vox/kill/%s/revenge_%s.wav", 
	"vox/kill/%s/headshot_%s.wav", 
	"vox/kill/%s/knife_%s.wav", 
	"vox/kill/%s/grenade_%s.wav"
}
enum(+= 100)
{
	TASK_HIDESPR = 2000,
	TASK_FADEHUD,
}
#define ID_HIDESPR (taskid - TASK_HIDESPR)
#define ID_FADEHUD (taskid - TASK_FADEHUD)
enum
{
	HUD_SOUND = 1,
	HUD_MSGTEXT,
	HUD_SPRNAME
}
enum
{
	KILL_1 = 1,
	KILL_2,
	KILL_3,
	KILL_4,
	KILL_5,
	KILL_6,
	KILL_7,
	KILL_8,
	KILL_FIRST,
	C4_DEFUSE,
	C4_SET
}
enum
{
	KILL_NONE = 51,
	KILL_HEGRENADE,
	KILL_HEADSHOT,
	KILL_KNIFE,
	KILL_LAST,
	KILL_REVENGE,
	WALLSHOT,
	WALLSHOT_HEADSHOT,
	ONESHOT_2KILL,
	ONESHOT_3KILL
}


public plugin_precache()
{
	for (new i = 1; i <= 2; i++)
	{
		new sex[32]
		if (i == 1) sex = "woman"
		else sex = "man"
		
		for (new e = 0; e <= 11; e++)
		{
			new sound_ct[100], sound_t[100], team_ct[32] = "ct", team_t[32] = "t"
			format(sound_ct, 99, sound_combo[e], sex, team_ct)
			format(sound_t, 99, sound_combo[e], sex, team_t)
		}
		
	}
}
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg", "event_DeathMsg", "a")
	
	cvar_time_kill = register_cvar("nst_ek_time_kill","3")
	cvar_type = register_cvar("nst_ek_type","1")
	cvar_time_show = register_cvar("nst_ek_time_show","2.0")
	
	iconstatus = get_user_msgid("StatusIcon")
	g_FM_Running = is_module_loaded("FakeMeta")
}
public event_round_start()
{
	new reset_value[33]

	g_firstkill = 1
	kills = reset_value
	revenge = reset_value
	oneshot = reset_value
}
public event_DeathMsg()
{
	// Get event data
	static killer, headshot, weapon[32], wpnindex, victim
	killer = read_data(1)
	victim = read_data(2)
	headshot = read_data(3)
	read_data(4, weapon, charsmax(weapon))
	if (equali(weapon, "grenade")) format(weapon, charsmax(weapon), "hegrenade")
	format(weapon, charsmax(weapon), "weapon_%s", weapon)
	wpnindex = get_weaponid(weapon)
	sprbe[killer][1] = 0
	sprbe[killer][2] = 0
	
	// Check if user connected, kill himself, teamkill, alive
	if (!is_user_connected(killer) || !is_user_connected(victim) || killer==victim || !is_user_alive(killer) || is_user_bot(killer)) return;
	if (get_user_team(killer)==get_user_team(victim)) return;
	
	// Reset kills of victim
	kills[victim] = 0

	// Set revenge of victim
	revenge[victim] = killer
	
	// Check multikill
	new Float:timeleft = get_gametime()-timekill[killer]
	if (timeleft <= get_pcvar_float(cvar_time_kill)) kills[killer] += 1
	else kills[killer] = 1
	if (kills[killer]>LEVELS) kills[killer] = 1
	timekill[killer] = get_gametime()

	// Check if user got last kill
	new players_ct[32], players_t[32], ict, ite
	get_players(players_ct,ict,"ae","CT")   
	get_players(players_t,ite,"ae","TERRORIST")
	if (ict == 0 || ite == 0) g_lastkill = 1
	
	// Check revenge
	new g_revenge
	if (victim == revenge[killer])
	{
		g_revenge = 1
		revenge[killer] = 0
	}
	// check sound at headshot, wallhead, he, knife
	if (g_firstkill)
	{
		g_firstkill = 0
		show_hud(killer, KILL_FIRST)
		if(kills[killer] != 1) show_hud(killer, KILL_NONE)
		sprbe[killer][2] = KILL_FIRST
	}
	else if (g_lastkill)
	{
		g_lastkill = 0
		show_hud(killer, KILL_LAST)
		if(kills[killer] != 1) show_hud(killer, KILL_NONE)
		sprbe[killer][2] = KILL_LAST
	}	
	else if (g_revenge)
	{
		play_sound(killer, KILL_REVENGE)
		show_hud(killer, KILL_REVENGE)
		if(kills[killer] != 1) show_hud(killer, KILL_NONE)
		sprbe[killer][2] = KILL_REVENGE
	}
	if(kills[killer] == 1)
	{
		if((wpnindex != CSW_KNIFE) && (wpnindex != CSW_HEGRENADE) && !can_see_fm(killer, victim))
		{
			if (headshot)
			{
				play_sound(killer, KILL_HEADSHOT)
				show_hud(killer, WALLSHOT_HEADSHOT)
				sprbe[killer][1] = WALLSHOT_HEADSHOT
			}
			else
			{
				show_hud(killer, WALLSHOT)
				play_sound(killer, KILL_1)
				sprbe[killer][1] = WALLSHOT
			}
		}
		else if (headshot && wpnindex)
		{
			play_sound(killer, KILL_HEADSHOT)
			show_hud(killer, KILL_HEADSHOT)
			sprbe[killer][1] = KILL_HEADSHOT
		}
		else if (wpnindex == CSW_KNIFE)
		{
			play_sound(killer, KILL_KNIFE)
			show_hud(killer, KILL_KNIFE)
			sprbe[killer][1] = KILL_KNIFE
		}
		else if (wpnindex == CSW_HEGRENADE)
		{
			play_sound(killer, KILL_HEGRENADE)
			show_hud(killer, KILL_HEGRENADE)
			sprbe[killer][1] = KILL_HEGRENADE
		}
		else
		{
			show_hud(killer, KILL_1)
			show_hud(killer, KILL_NONE)
			play_sound(killer, KILL_1)
			sprbe[killer][1] = KILL_1
		}
	}
	else
	{
		show_hud(killer, kills[killer])
		play_sound(killer, kills[killer])
		show_hud(killer, KILL_NONE)
		sprbe[killer][1] = kills[killer]
	}
	
	// Set fading
	fade_time[killer] = floatround(255/(10*(get_pcvar_float(cvar_time_show))))
	color[killer] = 255
}
public bomb_defused(id)
{
	show_hud(id, C4_DEFUSE)
	play_sound(id, C4_DEFUSE)
}
public bomb_planted(id)
{
	show_hud(id, C4_SET)
	play_sound(id, C4_SET)
}

// #################### SHOW HUD ####################
show_hud(id, idhud)
{
	if (!is_user_connected(id)) return;
	
	new type_cvar = get_pcvar_num(cvar_type)
	if (type_cvar == 1) show_spr(id, idhud)
	else if (type_cvar == 2) show_msg(id, idhud)
}
play_sound(id, idhud)
{
	if (!is_user_connected(id)) return;
	
	new sound[64], team[32], sex[32], cs_team
	if (nst_get_mod_runing()==NST_MOD_ZB3) cs_team = nst_get_user_team(id)
	else cs_team = get_user_team(id)
		
	if (cs_team==1) team = "T"
	else team = "CT"
	if (get_user_sex(id) == 2) sex = "woman"
	else sex = "man"
	format(sound, charsmax(sound), "%s", get_hud_data(idhud, HUD_SOUND))
	format(sound, charsmax(sound), sound, sex, team)
	
	PlaySound(id, sound)
}

show_msg(id, idhud)
{
	new msg[64]
	format(msg, charsmax(msg), "%s", get_hud_data(idhud, HUD_MSGTEXT))

	set_hudmessage(0, 204, 0, -1.0, 0.65, 1, 0.02, 3.0, 0.3, 0.3, 2)
	show_hudmessage(id, msg)
}
show_spr(id, idspr)
{
	if(!sprbe[id][1] || !sprbe[id][2])
	{
		hide_spr(id, 1)
		hide_spr(id, 2)
	}
	else if (idspr >= KILL_NONE)
	{
		hide_spr(id, 2)
	}
	else
	{
		hide_spr(id, 1)
	}
	
	spr_action(id, idspr, 1)
	
	if (task_exists(id+TASK_FADEHUD)) remove_task(id+TASK_FADEHUD)
	set_task(0.1, "task_fadehud", id+TASK_FADEHUD, _, _, "b")
	
	//if (task_exists(id+TASK_HIDESPR)) remove_task(id+TASK_HIDESPR)
	//set_task(get_pcvar_float(cvar_time_show), "task_hidehud", id+TASK_HIDESPR)
}
public task_fadehud(taskid)
{
	color[ID_FADEHUD] -= fade_time[ID_FADEHUD]
	if(color[ID_FADEHUD] >= 0)
	{
		spr_fade(sprbe[ID_FADEHUD][2], color[ID_FADEHUD], 1, ID_FADEHUD)
		spr_fade(sprbe[ID_FADEHUD][1], color[ID_FADEHUD], 1, ID_FADEHUD)
	}
	else
	{
		sprbe[ID_FADEHUD][1] = 0
		sprbe[ID_FADEHUD][2] = 0
		hide_spr(ID_FADEHUD, 1)
		hide_spr(ID_FADEHUD, 2)
		remove_task(taskid)
	}	
}
spr_fade(sprid, rgb, status, id)
{
	new sprname[64]
	format(sprname, charsmax(sprname), "%s", get_hud_data(sprid, HUD_SPRNAME))	
	
	message_begin(MSG_ONE,iconstatus,{0,0,0},id)
	write_byte(status) // status (0=hide, 1=show, 2=flash)
	write_string(sprname) // sprite name
	write_byte(rgb) // red
	write_byte(rgb) // green
	write_byte(rgb) // blue
	message_end()
}
public task_hidehud(taskid)
{
	new id = ID_HIDESPR
	hide_spr(id, 2)
	hide_spr(id, 1)
}
hide_spr(id, idspr)
{
	if (idspr == 1)
	{
		for (new i = KILL_1; i <= C4_SET; i++)
		{
			spr_action(id, i, 0)
		}
	}
	else if (idspr == 2)
	{
		for (new i = KILL_NONE; i <= ONESHOT_3KILL; i++)
		{
			spr_action(id, i, 0)
		}
	}
}  
spr_action(id, spr, run)
{	
	new sprname[64]
	format(sprname, charsmax(sprname), "%s", get_hud_data(spr, HUD_SPRNAME))

	message_begin(MSG_ONE,iconstatus,{0,0,0},id)
	write_byte(run) // status (0=hide, 1=show, 2=flash)
	write_string(sprname) // sprite name
	message_end()
}
get_hud_data(idhud, type)
{
	new value[64], sprname[33], sound[64], msgtext[32]
	
	switch (idhud)
	{
		case KILL_1:
		{
			sprname = "kill_1"
			sound = "vox/kill/%s/kill_1_%s"
			msgtext = "1 KILL"
		}
		case KILL_2:
		{
			sprname = "kill_2"
			sound = "vox/kill/%s/kill_2_%s"
			msgtext = "2 KILL"
		}
		case KILL_3:
		{
			sprname = "kill_3"
			sound = "vox/kill/%s/kill_3_%s"
			msgtext = "3 KILL"
		}
		case KILL_4:
		{
			sprname = "kill_4"
			sound = "vox/kill/%s/kill_4_%s"
			msgtext = "4 KILL"
		}
		case KILL_5:
		{
			sprname = "kill_5"
			sound = "vox/kill/%s/kill_5_%s"
			msgtext = "5 KILL"
		}
		case KILL_6:
		{
			sprname = "kill_6"
			sound = "vox/kill/%s/kill_6_%s"
			msgtext = "6 KILL"
		}
		case KILL_7:
		{
			sprname = "kill_7"
			sound = "vox/kill/%s/kill_7_%s"
			msgtext = "7 KILL"
		}
		case KILL_8:
		{
			sprname = "kill_8"
			sound = "vox/kill/%s/kill_8_%s"
			msgtext = "8 KILL"
		}
		case KILL_FIRST:
		{
			sprname = "kill_first"
			msgtext = "FIRST KILL"
		}
		case C4_DEFUSE:
		{
			sprname = "c4_defuse"
			sound = "vox/kill/c4_defuse"
		}
		case C4_SET:
		{
			sprname = "c4_set"
			sound = "vox/kill/c4_set"
		}
	
	
		case KILL_NONE:
		{
			sprname = "kill_none"
		}
		case KILL_HEGRENADE:
		{
			sprname = "kill_he"
			sound = "vox/kill/%s/grenade_%s"
			msgtext = "GRENADE KILL"
		}
		case KILL_HEADSHOT:
		{
			sprname = "kill_headshot"
			sound = "vox/kill/%s/headshot_%s"
			msgtext = "HEADSHOT"
		}
		case KILL_KNIFE:
		{
			sprname = "kill_knife"
			sound = "vox/kill/%s/knife_%s"
			msgtext = "KNIFE KILL"
		}
		case KILL_LAST:
		{
			sprname = "kill_last"
		}
		case KILL_REVENGE:
		{
			sprname = "kill_revenge"
			sound = "vox/kill/%s/revenge_%s"
			msgtext = "REVENGE"
		}
		case WALLSHOT:
		{
			sprname = "wall_shot"
			msgtext = "WALLSHOOT"
		}
		case WALLSHOT_HEADSHOT:
		{
			sprname = "wall_shot_hs"
			msgtext = "WALLSHOOT HEADSHOT"
		}
		case ONESHOT_2KILL:
		{
			sprname = "1shot_2kill"
			msgtext = "ONE SHOT 2 KILL"
		}
		case ONESHOT_3KILL:
		{
			sprname = "1shot_3kill"
			msgtext = "ONE SHOT MULTIKILL"
		}
	}

	if (type==HUD_SOUND) format(value, charsmax(value), "%s", sound)
	else if (type==HUD_MSGTEXT) format(value, charsmax(value), "%s", msgtext)
	else if (type==HUD_SPRNAME) format(value, charsmax(value), "%s", sprname)
	
	return value;
}
get_user_sex(id)
{
	new mod_runing, sex
	mod_runing = nst_get_mod_runing()
	if ( (mod_runing == NST_MOD_ZB3 || mod_runing == NST_MOD_ZBU || mod_runing == NST_MOD_ZBS) && nst_zb_get_user_zombie(id) )
	{
		sex = nst_zb_get_user_sex(id)
	}
	else
	{
		sex = nst_get_user_sex(id)
	}

	return sex;
}
// Plays a sound on clients
PlaySound(id, const sound[])
{
	if (equal(sound[strlen(sound)-4], ".mp3"))
		client_cmd(id, "mp3 play ^"sound/%s^"", sound)
	else
		client_cmd(id, "spk ^"%s^"", sound)
}
bool:can_see_fm(entindex1, entindex2)
{
	if ((!g_FM_Running) || !entindex1 || !entindex2)
		return false
//  new ent1, ent2

	if (pev_valid(entindex1) && pev_valid(entindex1))
	{
		new flags = pev(entindex1, pev_flags)
		if (flags & EF_NODRAW || flags & FL_NOTARGET)
		{
			return false
		}

		new Float:lookerOrig[3]
		new Float:targetBaseOrig[3]
		new Float:targetOrig[3]
		new Float:temp[3]

		pev(entindex1, pev_origin, lookerOrig)
		pev(entindex1, pev_view_ofs, temp)
		lookerOrig[0] += temp[0]
		lookerOrig[1] += temp[1]
		lookerOrig[2] += temp[2]

		pev(entindex2, pev_origin, targetBaseOrig)
		pev(entindex2, pev_view_ofs, temp)
		targetOrig[0] = targetBaseOrig [0] + temp[0]
		targetOrig[1] = targetBaseOrig [1] + temp[1]
		targetOrig[2] = targetBaseOrig [2] + temp[2]

		engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the had of seen player
		if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater))
		{
			return false
		} 
		else 
		{
			new Float:flFraction
			get_tr2(0, TraceResult:TR_flFraction, flFraction)
			if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
			{
				return true
			}
			else
			{
				targetOrig[0] = targetBaseOrig [0]
				targetOrig[1] = targetBaseOrig [1]
				targetOrig[2] = targetBaseOrig [2]
				engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the body of seen player
				get_tr2(0, TraceResult:TR_flFraction, flFraction)
				if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
				{
					return true
				}
				else
				{
					targetOrig[0] = targetBaseOrig [0]
					targetOrig[1] = targetBaseOrig [1]
					targetOrig[2] = targetBaseOrig [2] - 17.0
					engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the legs of seen player
					get_tr2(0, TraceResult:TR_flFraction, flFraction)
					if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2))
					{
						return true
					}
				}
			}
		}
	}
	return false
}
 
@Kethanbi: cái anim hình như chưa mượt lắm bác nhỉ :-?
@tulucky: khi nào rảnh bác lên yahoo nhé, em share cho bác con char RED TEAM SA default :-"

kiểu này . hw hắn làm dc 1 lần rồi.
thêm bone + bay nón.
thêm bone :-? chỉ sợ trật hết xương nó thui . :-"
kiểu này khó á
 
người thật việc thật...
2hd0fpl.png

chưa rig nhưng sẽ rig
 
ai có thằng N22 cho mình cái link đi bữa trước mình vứt đâu mất rồi Thank nha + Rép
 
^
^
Thêm bone hat thì attach nó ngay chỗ bone head thì không sợ đâu.. Đừng có dịch chuyển cả bip01 là oke.
 
Status
Không mở trả lời sau này.
Back
Top