Код за потвърждение: Избери целия код
/*
---------------------------------------------------------
# # # #=== ### ## #
# ## #=== # # # #
# # #=== ### ## #
---------------------------------------------------------
Advanced Grenade Trail 1.3
Plugin made by <VeCo>
Special thanks to:
- rapara13 : for the idea for density and size CVARs.
If you modify the code, please DO NOT change the author!
---------------------------------------------------------
Contacts:
e-mail: [email protected]
skype: veco_kn
---------------------------------------------------------
Changes log:
-> v 1.0 = First release!
-> v 1.1 = New mode and new CVARs.
-> v 1.2 = Optimization.
-> v 1.3 = Rewritten main code.
---------------------------------------------------------
Don't forget to visit http://www.amxmodxbg.org :)
---------------------------------------------------------
*/
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
new trail,mode,he_c,sg_c,fb_c,ttime,size,density
public plugin_precache() trail = precache_model("sprites/white.spr")
public plugin_init() {
register_plugin("Advanced Grenade Trail", "1.3", "<VeCo>")
register_cvar("agt_version", "1.3", FCVAR_SERVER|FCVAR_SPONLY)
mode = register_cvar("agt_mode","1")
he_c = register_cvar("agt_he_color","255 0 0")
sg_c = register_cvar("agt_sg_color","0 255 0")
fb_c = register_cvar("agt_fb_color","0 0 255")
ttime = register_cvar("agt_time","25")
size = register_cvar("agt_size","5")
density = register_cvar("agt_density","150")
register_forward(FM_SetModel,"fw_set_trail")
}
public fw_set_trail(ent, const model[])
{
if(!get_pcvar_num(mode) || !pev_valid(ent)) return FMRES_IGNORED
static ent_classname[8]
pev(ent,pev_classname,ent_classname,7)
if(!equal(ent_classname,"grenade")) return FMRES_IGNORED
static owner
owner = pev(ent,pev_owner)
static r,g,b, color_cvar
r = 0
g = 0
b = 0
switch(model[9])
{
case 'h':
{
r = 255
color_cvar = he_c
}
case 's':
{
g = 255
color_cvar = sg_c
}
case 'f':
{
b = 255
color_cvar = fb_c
}
}
switch(get_pcvar_num(mode))
{
case 1: create_trail(ent, r,g,b)
case 2: create_trail(ent, random(255),random(255),random(255))
case 3:
{
switch(cs_get_user_team(owner))
{
case CS_TEAM_T: create_trail(ent, 255,0,0)
case CS_TEAM_CT: create_trail(ent, 0,0,255)
}
}
case 4:
{
static color[17], red[5],green[7],blue[5]
get_pcvar_string(color_cvar,color,16)
parse(color,red,4,green,6,blue,4)
create_trail(ent, str_to_num(red),str_to_num(green),str_to_num(blue))
}
}
return FMRES_IGNORED
}
stock create_trail(ent,r,g,b)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMFOLLOW)
write_short(ent)
write_short(trail)
write_byte(get_pcvar_num(ttime))
write_byte(get_pcvar_num(size))
write_byte(r)
write_byte(g)
write_byte(b)
write_byte(get_pcvar_num(density))
message_end()
}