[AMX][Codes] Hỏi đáp về các code của AMX ...

  • Thread starter Thread starter sontung0
  • Ngày gửi Ngày gửi
Status
Không mở trả lời sau này.
Bác nào chỉ giùm em cách dung maxmoney với,em down về mà chẳng biết cách dùng

---------- Post added at 22:50 ---------- Previous post was at 22:48 ----------

Hoặc là thay đổi số tiền max là 16000 thành số khác lớn hơn?
 
Tại sao khi down về không đọc kỹ cách dùng ? Ngay ở trang giới thiệu plugin đó có ghi rồi mà ?
 
Và đây là kết quả nè ! Giải thix giùm tớ cái ! Không hiểu luôn!
Lúc draw thì OK draw xong lại chuyển về submodel 1
Con dao cũng vậy ! hix hix
sửa luôn cho cậu đây
thay đổi hand bằng cvar nst_wpn_hand
PHP:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

#define PLUGIN "NST Wpn Hand"
#define VERSION "1.0"
#define AUTHOR "NST"

new cvar_hand
new g_wpn[33], g_silen[33][CSW_P90+1], g_attack[33], g_anim[33], g_glock[33], g_change[33]
const SILENT_BS	= ((1<<CSW_USP)|(1<<CSW_M4A1))
const PISTOLS_BS = ((1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE))
const m_iId = 43
const m_fSilent = 74
enum
{
	ANIM_DRAW = 1,
	ANIM_SHOOT,
	ANIM_SHOOT2,
	ANIM_SHOOT_EMPTY
}
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
			"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
			"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
			"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
			"weapon_ak47", "weapon_knife", "weapon_p90" }

new g_fwWeaponDraw, g_fwDummyResult
const NOSHOOT2_BS = ((1<<CSW_KNIFE)|(1<<CSW_GLOCK18)|(1<<CSW_ELITE))



// ########################## MAIN PLUGINS ##########################
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	cvar_hand = register_cvar("nst_wpn_hand", "1")
	
	for (new i=1; i<=CSW_P90; i++)
	{
		if (strlen(WEAPONENTNAMES[i]))
		{
			RegisterHam(Ham_Weapon_SendWeaponAnim, WEAPONENTNAMES[i], "fw_Weapon_SendWeaponAnim")
			RegisterHam(Ham_Weapon_PrimaryAttack, WEAPONENTNAMES[i], "fw_primary_attack_post",1) 
			RegisterHam(Ham_Item_PostFrame, WEAPONENTNAMES[i], "fw_Item_PostFrame")
		}
	}
	
	register_event("CurWeapon","checkWeapon","be","1=1")
	register_forward(FM_CmdStart, "fw_CmdStart")
	//register_concmd("qq", "qq")
	
	// Custom Forwards
	g_fwWeaponDraw = CreateMultiForward("nst_wpn_weapon_draw", ET_IGNORE, FP_CELL)
}

// ########################## MAIN PUBLIC ##########################
public fw_Item_PostFrame(ent)
{
	new id = pev(ent, pev_owner)
	if (!is_user_connected(id)) return HAM_IGNORED

	// check silent
	static iId ; iId = get_pdata_int(ent, m_iId, 4)
	if (SILENT_BS & (1<<iId))
	{
		if (get_pdata_int(ent, m_fSilent, 4)) g_silen[id][iId] = 1
		else g_silen[id][iId] = 0
	}
	
	return HAM_IGNORED
}
public fw_Weapon_SendWeaponAnim(ent, iAnim, skiplocal, body)
{
	new id = pev(ent, pev_owner)
	if (!is_user_connected(id)) return HAM_IGNORED

	g_attack[id] = 0
	playanim(id, iAnim)

	// Fix Anim Glock18
	new classname[64]
	pev(ent, pev_classname, classname, charsmax(classname))
	new idwpn = cs_weapon_name_to_id(classname)
	
	if (iAnim == get_num_anim(id, idwpn, ANIM_DRAW) && g_wpn[id] == idwpn)
	{
		g_change[id] = 1
		ExecuteForward(g_fwWeaponDraw, g_fwDummyResult, id)
		
		//client_print(0, print_chat, "[%s][%s]", g_weapon_models[id][0], g_weapon_models[id][1])
		return HAM_SUPERCEDE
	}
	
	if (idwpn == CSW_GLOCK18)
	{
		if (iAnim == 8 || iAnim == 11) g_anim[id] = iAnim
		else if (iAnim == 0 || iAnim == 1 || iAnim == 2)
		{
			g_glock[id] = 1
			g_anim[id] = iAnim
		}
		else g_anim[id] = 0
	}
	
	//client_print(0, print_chat, "[%i][%i][%i][%i]", id, iAnim, skiplocal, body)
	return HAM_IGNORED
}
public fw_primary_attack_post(ent)
{
	new id = pev(ent, pev_owner)
	if (!is_user_connected(id)) return HAM_IGNORED

	new plrClip, plrAmmo
	get_user_weapon(id, plrClip , plrAmmo)
	if (plrClip)
	{
		g_attack[id] = 1
	}
	
	return HAM_IGNORED
}
public checkWeapon(id)
{
	new plrClip, plrAmmo, plrWeapId
	plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
	
	if (g_attack[id])
	{
		new ani
		if (!plrClip) ani = get_num_anim(id, plrWeapId, ANIM_SHOOT_EMPTY)
		else if (!ani) ani = get_num_anim(id, plrWeapId, ANIM_SHOOT)
		
		playanim(id, ani)
		g_attack[id] = 0
	}
}
public fw_CmdStart(id, uc_handle, seed)
{
	//new num = pev(id, pev_weaponanim)
	//client_print(id, print_chat, "AT[%i]", g_silen[id])
	
	if (!is_user_alive(id)) return;
	
	new plrClip, plrAmmo, plrWeapId
	plrWeapId = get_user_weapon(id, plrClip , plrAmmo)

	if (g_wpn[id] != plrWeapId || g_change[id])
	{
		new anim = get_num_anim(id, plrWeapId, ANIM_DRAW)
		if (plrWeapId == CSW_GLOCK18)
		{
			anim = max(anim, g_anim[id])
			g_anim[id] = 0
		}
		
		playanim(id, anim)
		
		g_wpn[id] = plrWeapId
		g_attack[id] = 0
		g_change[id] = 0
	}
	else if (!g_attack[id])
	{
		if (plrWeapId == CSW_GLOCK18 && g_glock[id])
		{
			playanim(id, g_anim[id])
			g_glock[id] = 0
			g_anim[id] = 0
		}
	}
}
public qq(id)
{

}

// ########################## FUNCTION ##########################
playanim(player, anim)
{
	if (!is_user_alive(player)) return;
	if (g_wpn[player] == CSW_ELITE && g_attack[player]) return;
	
	new hand = get_pcvar_num(cvar_hand)
	if (!hand) return;
	
	//set_pev(player, pev_weaponanim, anim)
	message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, player)
	write_byte(anim)
	write_byte(hand)
	message_end()
}
cs_weapon_name_to_id(const weapon[])
{
	static i
	for (i = 0; i < sizeof WEAPONENTNAMES; i++)
	{
		if (equal(weapon, WEAPONENTNAMES[i]))
			return i;
	}
	
	return 0;
}
get_num_anim(id, wpn, type)
{
	// type = 1 : draw - type = 2 : shoot
	new draw, shoot, shoot_empty
	switch(wpn)
	{
		case CSW_AK47:
		{
			draw = 2
			shoot = 3
		}
		case CSW_AUG:
		{
			draw = 2
			shoot = 3
		}
		case CSW_AWP:
		{
			draw = 5
			shoot = 1
		}
		case CSW_DEAGLE:
		{
			draw = 5
			shoot = 1
			shoot_empty = 3
		}
		case CSW_ELITE:
		{
			draw = 15
			shoot = 6
			shoot_empty = 7
		}
		case CSW_FAMAS:
		{
			draw = 2
			shoot = 3
		}
		case CSW_FIVESEVEN:
		{
			draw = 5
			shoot = 1
			shoot_empty = 3
		}
		case CSW_G3SG1:
		{
			draw = 4
			shoot = 1
		}
		case CSW_GALIL:
		{
			draw = 2
			shoot = 3
		}
		case CSW_GLOCK18:
		{
			draw = 8
			shoot = 5
			shoot_empty = 6
		}
		case CSW_KNIFE:
		{
			draw = 3
			shoot = 1
		}
		case CSW_M3:
		{
			draw = 6
			shoot = 1
		}
		case CSW_M4A1:
		{
			draw = 12
			shoot = 8
		}
		case CSW_M249:
		{
			draw = 4
			shoot = 1
		}
		case CSW_MAC10:
		{
			draw = 2
			shoot = 3
		}
		case CSW_MP5NAVY:
		{
			draw = 2
			shoot = 3
		}
		case CSW_P90:
		{
			draw = 2
			shoot = 3
		}
		case CSW_P228:
		{
			draw = 6
			shoot = 1
			shoot_empty = 4
		}
		case CSW_SCOUT:
		{
			draw = 4
			shoot = 1
		}
		case CSW_SG550:
		{
			draw = 4
			shoot = 1
		}
		case CSW_SG552:
		{
			draw = 2
			shoot = 3
		}
		case CSW_TMP:
		{
			draw = 2
			shoot = 3
		}
		case CSW_UMP45:
		{
			draw = 2
			shoot = 3
		}
		case CSW_USP:
		{
			draw = 14
			shoot = 9
			shoot_empty = 12
		}
		case CSW_XM1014:
		{
			draw = 6
			shoot = 1
		}
		case CSW_C4:
		{
			draw = 1
		}
		case CSW_HEGRENADE:
		{
			draw = 3
		}
		case CSW_FLASHBANG:
		{
			draw = 3
		}
		case CSW_SMOKEGRENADE:
		{
			draw = 3
		}
	}
	
	// silen wpn
	if (wpn == CSW_M4A1 && g_silen[id][CSW_M4A1])
	{
		draw -= 7
		shoot -= 7
		shoot_empty -= 7
	}
	else if (wpn == CSW_USP && g_silen[id][CSW_USP])
	{
		draw -= 8
		shoot -= 8
		shoot_empty -= 8
	}
	
	// random anim shoot2
	if (!(NOSHOOT2_BS & (1<<wpn))) shoot += random_num(0, 1)

	// return value
	if (type == ANIM_DRAW) return draw
	else if (type == ANIM_SHOOT) return shoot
	else if (type == ANIM_SHOOT_EMPTY) return shoot_empty
	
	return 0
}
 
Bác sontung cho tui xin code hiện hud trên màn hình với!
 
Anh Tùng có thể sửa lại plug-in weapon của anh đc ko, chỉ cần fix để các súng sniper cũng dùng sightmode đc lun ấy, như thế thì có thể mỗi loại súng 1 scope :D
 
Thế lúc zoom 2 thì sao, dùng như kiểu sight như súng trường là điều không nên..
@Thế Anh: Hữu Cường có code đó đấy.
 
@Chief: Thì huucuong có nhưng lúc nãy lên YM hỏi xin thì bác ấy nói mỗi câu "Tao là ai " rồi out luôn! Chắc là không phải huucuong vì mọi khi nói chuyện đâu có như thế!
Giờ tui mới hỏi bác sontung thử cái code đó về nghịch chơi thôi!
 
sửa luôn cho cậu đây
thay đổi hand bằng cvar nst_wpn_hand
PHP:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>

#define PLUGIN "NST Wpn Hand"
#define VERSION "1.0"
#define AUTHOR "NST"

new cvar_hand
new g_wpn[33], g_silen[33][CSW_P90+1], g_attack[33], g_anim[33], g_glock[33], g_change[33]
const SILENT_BS	= ((1<<CSW_USP)|(1<<CSW_M4A1))
const PISTOLS_BS = ((1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE))
const m_iId = 43
const m_fSilent = 74
enum
{
	ANIM_DRAW = 1,
	ANIM_SHOOT,
	ANIM_SHOOT2,
	ANIM_SHOOT_EMPTY
}
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
			"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
			"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
			"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
			"weapon_ak47", "weapon_knife", "weapon_p90" }

new g_fwWeaponDraw, g_fwDummyResult
const NOSHOOT2_BS = ((1<<CSW_KNIFE)|(1<<CSW_GLOCK18)|(1<<CSW_ELITE))



// ########################## MAIN PLUGINS ##########################
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	cvar_hand = register_cvar("nst_wpn_hand", "1")
	
	for (new i=1; i<=CSW_P90; i++)
	{
		if (strlen(WEAPONENTNAMES[i]))
		{
			RegisterHam(Ham_Weapon_SendWeaponAnim, WEAPONENTNAMES[i], "fw_Weapon_SendWeaponAnim")
			RegisterHam(Ham_Weapon_PrimaryAttack, WEAPONENTNAMES[i], "fw_primary_attack_post",1) 
			RegisterHam(Ham_Item_PostFrame, WEAPONENTNAMES[i], "fw_Item_PostFrame")
		}
	}
	
	register_event("CurWeapon","checkWeapon","be","1=1")
	register_forward(FM_CmdStart, "fw_CmdStart")
	//register_concmd("qq", "qq")
	
	// Custom Forwards
	g_fwWeaponDraw = CreateMultiForward("nst_wpn_weapon_draw", ET_IGNORE, FP_CELL)
}

// ########################## MAIN PUBLIC ##########################
public fw_Item_PostFrame(ent)
{
	new id = pev(ent, pev_owner)
	if (!is_user_connected(id)) return HAM_IGNORED

	// check silent
	static iId ; iId = get_pdata_int(ent, m_iId, 4)
	if (SILENT_BS & (1<<iId))
	{
		if (get_pdata_int(ent, m_fSilent, 4)) g_silen[id][iId] = 1
		else g_silen[id][iId] = 0
	}
	
	return HAM_IGNORED
}
public fw_Weapon_SendWeaponAnim(ent, iAnim, skiplocal, body)
{
	new id = pev(ent, pev_owner)
	if (!is_user_connected(id)) return HAM_IGNORED

	g_attack[id] = 0
	playanim(id, iAnim)

	// Fix Anim Glock18
	new classname[64]
	pev(ent, pev_classname, classname, charsmax(classname))
	new idwpn = cs_weapon_name_to_id(classname)
	
	if (iAnim == get_num_anim(id, idwpn, ANIM_DRAW) && g_wpn[id] == idwpn)
	{
		g_change[id] = 1
		ExecuteForward(g_fwWeaponDraw, g_fwDummyResult, id)
		
		//client_print(0, print_chat, "[%s][%s]", g_weapon_models[id][0], g_weapon_models[id][1])
		return HAM_SUPERCEDE
	}
	
	if (idwpn == CSW_GLOCK18)
	{
		if (iAnim == 8 || iAnim == 11) g_anim[id] = iAnim
		else if (iAnim == 0 || iAnim == 1 || iAnim == 2)
		{
			g_glock[id] = 1
			g_anim[id] = iAnim
		}
		else g_anim[id] = 0
	}
	
	//client_print(0, print_chat, "[%i][%i][%i][%i]", id, iAnim, skiplocal, body)
	return HAM_IGNORED
}
public fw_primary_attack_post(ent)
{
	new id = pev(ent, pev_owner)
	if (!is_user_connected(id)) return HAM_IGNORED

	new plrClip, plrAmmo
	get_user_weapon(id, plrClip , plrAmmo)
	if (plrClip)
	{
		g_attack[id] = 1
	}
	
	return HAM_IGNORED
}
public checkWeapon(id)
{
	new plrClip, plrAmmo, plrWeapId
	plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
	
	if (g_attack[id])
	{
		new ani
		if (!plrClip) ani = get_num_anim(id, plrWeapId, ANIM_SHOOT_EMPTY)
		else if (!ani) ani = get_num_anim(id, plrWeapId, ANIM_SHOOT)
		
		playanim(id, ani)
		g_attack[id] = 0
	}
}
public fw_CmdStart(id, uc_handle, seed)
{
	//new num = pev(id, pev_weaponanim)
	//client_print(id, print_chat, "AT[%i]", g_silen[id])
	
	if (!is_user_alive(id)) return;
	
	new plrClip, plrAmmo, plrWeapId
	plrWeapId = get_user_weapon(id, plrClip , plrAmmo)

	if (g_wpn[id] != plrWeapId || g_change[id])
	{
		new anim = get_num_anim(id, plrWeapId, ANIM_DRAW)
		if (plrWeapId == CSW_GLOCK18)
		{
			anim = max(anim, g_anim[id])
			g_anim[id] = 0
		}
		
		playanim(id, anim)
		
		g_wpn[id] = plrWeapId
		g_attack[id] = 0
		g_change[id] = 0
	}
	else if (!g_attack[id])
	{
		if (plrWeapId == CSW_GLOCK18 && g_glock[id])
		{
			playanim(id, g_anim[id])
			g_glock[id] = 0
			g_anim[id] = 0
		}
	}
}
public qq(id)
{

}

// ########################## FUNCTION ##########################
playanim(player, anim)
{
	if (!is_user_alive(player)) return;
	if (g_wpn[player] == CSW_ELITE && g_attack[player]) return;
	
	new hand = get_pcvar_num(cvar_hand)
	if (!hand) return;
	
	//set_pev(player, pev_weaponanim, anim)
	message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, player)
	write_byte(anim)
	write_byte(hand)
	message_end()
}
cs_weapon_name_to_id(const weapon[])
{
	static i
	for (i = 0; i < sizeof WEAPONENTNAMES; i++)
	{
		if (equal(weapon, WEAPONENTNAMES[i]))
			return i;
	}
	
	return 0;
}
get_num_anim(id, wpn, type)
{
	// type = 1 : draw - type = 2 : shoot
	new draw, shoot, shoot_empty
	switch(wpn)
	{
		case CSW_AK47:
		{
			draw = 2
			shoot = 3
		}
		case CSW_AUG:
		{
			draw = 2
			shoot = 3
		}
		case CSW_AWP:
		{
			draw = 5
			shoot = 1
		}
		case CSW_DEAGLE:
		{
			draw = 5
			shoot = 1
			shoot_empty = 3
		}
		case CSW_ELITE:
		{
			draw = 15
			shoot = 6
			shoot_empty = 7
		}
		case CSW_FAMAS:
		{
			draw = 2
			shoot = 3
		}
		case CSW_FIVESEVEN:
		{
			draw = 5
			shoot = 1
			shoot_empty = 3
		}
		case CSW_G3SG1:
		{
			draw = 4
			shoot = 1
		}
		case CSW_GALIL:
		{
			draw = 2
			shoot = 3
		}
		case CSW_GLOCK18:
		{
			draw = 8
			shoot = 5
			shoot_empty = 6
		}
		case CSW_KNIFE:
		{
			draw = 3
			shoot = 1
		}
		case CSW_M3:
		{
			draw = 6
			shoot = 1
		}
		case CSW_M4A1:
		{
			draw = 12
			shoot = 8
		}
		case CSW_M249:
		{
			draw = 4
			shoot = 1
		}
		case CSW_MAC10:
		{
			draw = 2
			shoot = 3
		}
		case CSW_MP5NAVY:
		{
			draw = 2
			shoot = 3
		}
		case CSW_P90:
		{
			draw = 2
			shoot = 3
		}
		case CSW_P228:
		{
			draw = 6
			shoot = 1
			shoot_empty = 4
		}
		case CSW_SCOUT:
		{
			draw = 4
			shoot = 1
		}
		case CSW_SG550:
		{
			draw = 4
			shoot = 1
		}
		case CSW_SG552:
		{
			draw = 2
			shoot = 3
		}
		case CSW_TMP:
		{
			draw = 2
			shoot = 3
		}
		case CSW_UMP45:
		{
			draw = 2
			shoot = 3
		}
		case CSW_USP:
		{
			draw = 14
			shoot = 9
			shoot_empty = 12
		}
		case CSW_XM1014:
		{
			draw = 6
			shoot = 1
		}
		case CSW_C4:
		{
			draw = 1
		}
		case CSW_HEGRENADE:
		{
			draw = 3
		}
		case CSW_FLASHBANG:
		{
			draw = 3
		}
		case CSW_SMOKEGRENADE:
		{
			draw = 3
		}
	}
	
	// silen wpn
	if (wpn == CSW_M4A1 && g_silen[id][CSW_M4A1])
	{
		draw -= 7
		shoot -= 7
		shoot_empty -= 7
	}
	else if (wpn == CSW_USP && g_silen[id][CSW_USP])
	{
		draw -= 8
		shoot -= 8
		shoot_empty -= 8
	}
	
	// random anim shoot2
	if (!(NOSHOOT2_BS & (1<<wpn))) shoot += random_num(0, 1)

	// return value
	if (type == ANIM_DRAW) return draw
	else if (type == ANIM_SHOOT) return shoot
	else if (type == ANIM_SHOOT_EMPTY) return shoot_empty
	
	return 0
}

Thanks for sharing! Sorry for what I have thinked about U!
A` Tùng giúp tớ cái này nữa nhé (sẽ rất đơn giản thôi!)
Hệ thống NST_WPN của cậu làm thêm 1 native return tên model súng trong hàm Curwpn đi!
Ví dụ : Riffle: trong event Curwpn cậu làm cách nào return tên model súng mới được sử dụng ! Sử dụng 4 cvar cũng được nữa. 1 cho primary wpn, 1 cho secondary, 1 cho knife, 1 cho hegrenade.
Giúp tớ nhé !
 
Ông Cường thỉng thoảng có vấn đề ấy mà =.=. Code hiện hud tôi cũng biết nhưng onl đt khó lấy quá..
 
ac ac ! Sao tự nhiên có vụ này ! Sáng giờ đi công chiện mà ! Đâu có online đâu! Phải xử thèng nào mới được ! Bực thiệt, dám nói xàm với anh em, mất tình đoàn kết ! Sorry Theanh nhé ! Chắc mấy thằng em nghịch bậy !
 
Đồng chí Cường đang make weapon mod à ? Code sound shoot bác có định dùng không ?
 
cái nst_wpn muốn tăng số đạn làm thế nào nhỉ ??
 
sặc cái tạo súng mơi dựa trên plugins nst_wpn cơ mà
 
Nó vẫn bị lỗi như vầy Tùng à
[video]zui7lupPzaw[/video]!
Tớ không hiểu!
 
Hud j ở đây ? Ông ấy đang bàn về vụ plugin hand mà
 
Ông nói thế ai hiểu được.... Cái đó là cái nào?

cái topic làm súng mới ấy
sử dụng plugins NST max số đạn là 200 muốn tăng tthếm làm thế nào
 
Sao không tăng được, nó chỉ hiện thị được 254 thôi :)). Còn ông tăng bao nhiêu cũng được, nó không hiện thị hết được số đạn do enginee không cho phép.. Muốn hiện thị được hơn phải edit 2 cái file mp.dll và hw.dll
 
Status
Không mở trả lời sau này.
Back
Top