[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