Thread: simple request
View Single Post
Erra
Member
Join Date: Jun 2021
Old 11-26-2021 , 12:56   Re: simple request
Reply With Quote #14

Quote:
Originally Posted by crazy. View Post
cvars

trace_color_red
trace_color_green
trace_color_blue

Code:
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <crxranks>


new g_beamspriteindex
new cv_trace_color_r, cv_trace_color_g, cv_trace_color_b


public plugin_init()
{
	register_plugin("colored traces", "1.0", "ainsley harriott")

	registerham(ham_traceattack, "player", "ontraceattackpost", 1)
	registerham(ham_traceattack, "worldspawn", "ontraceattackpost", 1)
	registerham(ham_traceattack, "func_wall", "ontraceattackpost", 1)
	registerham(ham_traceattack, "func_wall_toggle", "ontraceattackpost", 1)
	registerham(ham_traceattack, "func_door", "ontraceattackpost", 1)
	registerham(ham_traceattack, "func_door_rotating", "ontraceattackpost", 1)
	registerham(ham_traceattack, "func_breakable", "ontraceattackpost", 1)
	registerham(ham_traceattack, "func_button", "ontraceattackpost", 1)

	cv_trace_color_r = register_cvar("trace_color_red", "255")
	cv_trace_color_g = register_cvar("trace_color_green", "215")
	cv_trace_color_b = register_cvar("trace_color_blue", "0")
}

public plugin_precache()
{
	g_beamspriteindex = precache_model("sprites/laserbeam.spr")
}

public ontraceattackpost(index, attacker, float:damage, float:dir[3], tr, damagebits)
{
	if (!(damagebits & dmg_bullet))
	{
		return
	}

	if (!is_user_connected(attacker))
	{
		return
	}

	if (crxranks_get_user_level(attacker) < 33)
	{
		return
	}

	new float:endpos[3]
	get_tr2(tr, tr_vecendpos, endpos)

	new red = clamp(get_pcvar_num(cv_trace_color_r), 0, 255)
	new green = clamp(get_pcvar_num(cv_trace_color_g), 0, 255)
	new blue = clamp(get_pcvar_num(cv_trace_color_b), 0, 255)

	message_begin(msg_broadcast, svc_tempentity)
	write_byte(te_beamentpoint)
	write_short(attacker | 0x1000)
	write_coord_f(endpos[0])
	write_coord_f(endpos[1])
	write_coord_f(endpos[2])
	write_short(g_beamspriteindex)
	write_byte(0)
	write_byte(0)
	write_byte(2)
	write_byte(10)
	write_byte(0)
	write_byte(red)
	write_byte(green)
	write_byte(blue)
	write_byte(200)
	write_byte(0)
	message_end()
}
endless thanks
Erra is offline