• [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*

[AMX] Tổng hợp Code, Plug do Mem chế hoặc giới thiệu

  • Thread starter Thread starter Orpheus
  • Ngày gửi Ngày gửi
Hey guys, how to use metahook native MH_DrawText properly?

Tried once and failed.

PHP:
public client_putinserver(id)
{
	set_task(1.0,"csaw_hudinfo",id,_,_,"b")
}

public csaw_hudinfo(id)
{
	new cs_team, cs_class, name[32], team[64], faction[64], class[64], textmsg1[1024], /*textmsg2[1024], textmsg3[1024], textmsg4[1024], textmsg5[1024],*/ hudmsg1[1024]
	
	cs_team = csaw_get_user_team(id)
	cs_class = csaw_get_user_class(id)
	
	get_user_name(id, name, charsmax(name))
	
	switch(cs_team)
	{
		case 1: format(team, charsmax(team),"%L", LANG_PLAYER, "TEFORCE")
		case 2: format(team, charsmax(team),"%L", LANG_PLAYER, "CTFORCE")
	}
	
	csaw_get_user_player(id, faction, charsmax(faction))
	
	switch(cs_class)
	{
		case 1: csaw_get_user_classname(id, class, charsmax(class))
		case 2: csaw_get_user_classname(id, class, charsmax(class))
		case 3: csaw_get_user_classname(id, class, charsmax(class))
		case 4: csaw_get_user_classname(id, class, charsmax(class))
		case 5: csaw_get_user_classname(id, class, charsmax(class))
	}
	
	if(is_user_alive(id))
	{
		formatex(textmsg1, charsmax(textmsg1),"[ %L: %L ]^n[ %L: %s ]^n[ %L: %s ]^n[ %L: %s ]^n[ %L: %s ]", LANG_PLAYER, "MODTITLE", LANG_PLAYER, "MODNAME", LANG_PLAYER, "USER", name, LANG_PLAYER, "ORGANIZATION", team, LANG_PLAYER, "FACTION", faction, LANG_PLAYER, "CLASS", class)
		/*formatex(textmsg2, charsmax(textmsg2),"[ %L: %s ]", LANG_PLAYER, "USER", name)
		formatex(textmsg3, charsmax(textmsg3),"[ %L: %s ]", LANG_PLAYER, "ORGANIZATION", team)
		formatex(textmsg4, charsmax(textmsg4),"[ %L: %s ]", LANG_PLAYER, "FACTION", faction)
		formatex(textmsg5, charsmax(textmsg5),"[ %L: %s ]", LANG_PLAYER, "CLASS", class)*/
		
		MH_DrawText(id, 1, textmsg1, HUDPOSX1, HUDPOSY1, HUDCOLORR, HUDCOLORG, HUDCOLORB, 1.0, -1)
		/*MH_DrawText(id, 0, textmsg2, HUDPOSX2, HUDPOSY2, HUDCOLORR, HUDCOLORG, HUDCOLORB, 1.0, 0)
		MH_DrawText(id, 0, textmsg3, HUDPOSX3, HUDPOSY3, HUDCOLORR, HUDCOLORG, HUDCOLORB, 1.0, 0)
		MH_DrawText(id, 0, textmsg4, HUDPOSX4, HUDPOSY4, HUDCOLORR, HUDCOLORG, HUDCOLORB, 1.0, 0)
		MH_DrawText(id, 0, textmsg5, HUDPOSX5, HUDPOSY5, HUDCOLORR, HUDCOLORG, HUDCOLORB, 1.0, 0)*/
	}
	
	formatex(hudmsg1, charsmax(hudmsg1),"[ %L ] - |%02i| ( %L %i ) |%02i| - [ %L ]^n[ %02i | - | ( %L ) | - | %02i ]", LANG_PLAYER, "CTFORCE", csaw_ctscore, LANG_PLAYER, "ROUND", csaw_round, csaw_tscore, LANG_PLAYER, "TEFORCE", csaw_cts, LANG_PLAYER, "VS", csaw_ts)
	
	if ( is_user_alive(id))
	{	
		csaw_checkplayers()
		
		
		set_hudmessage(SCORE_HUDCOLORR, SCORE_HUDCOLORG, SCORE_HUDCOLORB, SCORE_HUDPOSX, SCORE_HUDPOSY, 0, 0.0, 1.0, 0.0, 0.0, -1)
		ShowSyncHudMsg(id, csaw_hudsync1, hudmsg1)
	}
	else
	{
		set_hudmessage(SCORE_HUDCOLORR, SCORE_HUDCOLORG, SCORE_HUDCOLORB, SCORE_HUDPOSX, SCORE_HUDPOSY2, 0, 0.0, 1.0, 0.0, 0.0, -1)
		ShowSyncHudMsg(id, csaw_hudsync1, hudmsg1)
	}
	
	return PLUGIN_CONTINUE
}
 
^
- Không hiểu ?.......................................
 
^
- Không hiểu ?.......................................

Nghĩa là khi đáp bomb HE nó sẽ play sound "Fire in the hole" còn đáp bomb FH thì nó play sound "Flashbang" chẳng hạn :D

Em chả biết dùng gì hôm trước thử event curwepon để check xem có bomb ko...ĐAng có => ko có => Đáp rồi => play sound
Cuối cùng lỗi tùm lum :))
 
PHP:
#include <amxmodx>
#include <csx>

new const hegrenade_sound[] = "radio/ct_hole.wav"
new const flashbang_sound[] = "radio/ct_flash.wav"
new const smokegrenade_sound[] = "radio/ct_smoke.wav"

public plugin_init() 
{
	register_message(get_user_msgid("SendAudio"), "msg_audio")
}

public plugin_precache()
{
	precache_sound(hegrenade_sound)
	precache_sound(flashbang_sound)
	precache_sound(smokegrenade_sound)
}

public msg_audio()
{
	if(get_msg_args() != 3 || get_msg_argtype(2) != ARG_STRING)
	{
		return PLUGIN_CONTINUE
	}
	
	new arg2[20]
	get_msg_arg_string(2, arg2, 19)
	if(equal(arg2[1], "!MRAD_FIREINHOLE"))
	{
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}

public grenade_throw(id, grenade, type)
{
	if(type == CSW_HEGRENADE)
	{
		emit_sound(id, CHAN_WEAPON, hegrenade_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
	} else if(type == CSW_FLASHBANG) {
		emit_sound(id, CHAN_WEAPON, flashbang_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
	} else if(type == CSW_SMOKEGRENADE) {
		emit_sound(id, CHAN_WEAPON, smokegrenade_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
	}
}
 
đưa cái đó vô SV chắc ảo tung chảo lun wa :))
 
PHP:
#include <amxmodx>
#include <csx>

new const hegrenade_sound[] = "radio/ct_hole.wav"
new const flashbang_sound[] = "radio/ct_flash.wav"
new const smokegrenade_sound[] = "radio/ct_smoke.wav"

public plugin_init() 
{
	register_message(get_user_msgid("SendAudio"), "msg_audio")
}

public plugin_precache()
{
	precache_sound(hegrenade_sound)
	precache_sound(flashbang_sound)
	precache_sound(smokegrenade_sound)
}

public msg_audio()
{
	if(get_msg_args() != 3 || get_msg_argtype(2) != ARG_STRING)
	{
		return PLUGIN_CONTINUE
	}
	
	new arg2[20]
	get_msg_arg_string(2, arg2, 19)
	if(equal(arg2[1], "!MRAD_FIREINHOLE"))
	{
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}

public grenade_throw(id, grenade, type)
{
	if(type == CSW_HEGRENADE)
	{
		emit_sound(id, CHAN_WEAPON, hegrenade_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
	} else if(type == CSW_FLASHBANG) {
		emit_sound(id, CHAN_WEAPON, flashbang_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
	} else if(type == CSW_SMOKEGRENADE) {
		emit_sound(id, CHAN_WEAPON, smokegrenade_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
	}
}

Thanks bác nhiều.. Nhưng cái grenade_throw(id, grenade, type) chưa register nó cũng chạy được ạ?

À bác cho em xin cái cvar set time khẩu súng và xác chết tồn tại trên mặt đấy với ! Có thể xem danh sách cvar ở đâu?
 
ở console đầy đủ cvar đó >:)

coi trong toption - advanced
 
@buiducduy:
- cái đó là forward có sẵn của module csx thưa ông nội. vậy tại sao cái plugin_init nó chạy, nó có dc register đâu mà nó vẫn chạy =))
- làm gì có cvar set time súng ... Kiểm tra khi nó vừa chạy forward FM_SetModel tức là vừa vứt xuống đất. thì set_task... đến time thì move cái ent đó đi ra orign 99999999.0. Còn time xác chết thì xem clcopse... hỏi redplane là biết
 
Thanks bác nhiều.. Nhưng cái grenade_throw(id, grenade, type) chưa register nó cũng chạy được ạ?

À bác cho em xin cái cvar set time khẩu súng và xác chết tồn tại trên mặt đấy với ! Có thể xem danh sách cvar ở đâu?
Forward grenade_throw nó ở sẵn trong file include csx, không cần register.
Xác chết tồn tại thì tùy thuộc vào setting ở client, muốn xác mất luôn thì block msg ClCorpse.
Còn súng tồn tại trên mặt đất thì set_pev(<entity của súng>, pev_nextthink, <thời gian súng nằm trên mặt đất>).
 
Ông heo biết làm sao để check event file của elite left-right khôg?
 
Ông heo biết làm sao để check event file của elite left-right khôg?
PHP:
#define m_fWeaponState 74
#define WEAPONSTATE_ELITE_LEFT (1<<3)
#define FBitSet(%1, %2) (%1 & %2)

if ( FBitSet( get_pdata_int(iEnt, m_fWeaponState), WEAPONSTATE_ELITE_LEFT ) ) // Elite Left
 
@kungfulon
Ông edit được source metahook ha?
Đang tính giài quyết cái vụ multikill hud của CF
 
@kungfulon
Ông edit được source metahook ha?
Đang tính giài quyết cái vụ multikill hud của CF
Tôi làm gì có mã nguồn của nó mà edit:-??thế killmark của ông có vấn đề gì:-?
 
^
- Có source của Metahook thì dĩ nhiên là edit dc :|

@BuiDucDuy:
- Đừng để súng think. Súng mà think là nó bay mất đấy. set time think cho nó lâu vào
 
^
- Có source của Metahook thì dĩ nhiên là edit dc :|

@BuiDucDuy:
- Đừng để súng think. Súng mà think là nó bay mất đấy. set time think cho nó lâu vào
Thì làm gì có source mà edit:|
Còn tên BuiDucDuy đang hỏi cách chỉnh time súng nằm trên đất thì set think cho nó tự bay mất là đúng rồi còn gì:|
 
^
- Thì ta có nói gì vụ bay mất đâu b-(
- ta nhớ thằng kakaan share cái source rồi mà. hay là ....
 
Trình của mi thì ta nghĩ dư sức làm cái MH mới b-( trên alliedmods nó hướng dẫn đầy cách làm module rồi
 
Back
Top