easy.
Code:
#define distance 90
public plugin_precache()
{
beamsprite = precache_model("sprites/dot.spr")
}
public create_box(origin[3])
{
new red = 2widthwidth
new blue = 128
new green = 64
new length = 100 * 10 // X seconds * 10 ( length of time the cube lasts for.)
new width // pixels
create_sprite_message(origin[0]+distance,origin[1]+distance,origin[2]+distance,origin[0]-distance,origin[1]+distance,origin[2]+distance,length,width,red,green,blue)
create_sprite_message(origin[0]+distance,origin[1]+distance,origin[2]+distance,origin[0]+distance,origin[1]-distance,origin[2]+distance,length,width,red,green,blue)
create_sprite_message(origin[0]-distance,origin[1]-distance,origin[2]+distance,origin[0]-distance,origin[1]+distance,origin[2]+distance,length,width,red,green,blue)
create_sprite_message(origin[0]-distance,origin[1]-distance,origin[2]+distance,origin[0]+distance,origin[1]-distance,origin[2]+distance,length,width,red,green,blue)
create_sprite_message(origin[0]+distance,origin[1]+distance,origin[2]-distance,origin[0]-distance,origin[1]+distance,origin[2]-distance,length,width,red,green,blue)
create_sprite_message(origin[0]+distance,origin[1]+distance,origin[2]-distance,origin[0]+distance,origin[1]-distance,origin[2]-distance,length,width,red,green,blue)
create_sprite_message(origin[0]-distance,origin[1]-distance,origin[2]-distance,origin[0]-distance,origin[1]+distance,origin[2]-distance,length,width,red,green,blue)
create_sprite_message(origin[0]-distance,origin[1]-distance,origin[2]-distance,origin[0]+distance,origin[1]-distance,origin[2]-distance,length,width,red,green,blue)
create_sprite_message(origin[0]+distance,origin[1]+distance,origin[2]+distance,origin[0]+distance,origin[1]+distance,origin[2]-distance,length,width,red,green,blue)
create_sprite_message(origin[0]-distance,origin[1]+distance,origin[2]+distance,origin[0]-distance,origin[1]+distance,origin[2]-distance,length,width,red,green,blue)
create_sprite_message(origin[0]-distance,origin[1]-distance,origin[2]+distance,origin[0]-distance,origin[1]-distance,origin[2]-distance,length,width,red,green,blue)
create_sprite_message(origin[0]+distance,origin[1]-distance,origin[2]+distance,origin[0]+distance,origin[1]-distance,origin[2]-distance,length,width,red,green,blue)
}
stock create_sprite_message(origin1_0,origin1_1,origin1_2,origin2_0,origin2_1,origin2_2,life,width,red,green,blue)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(0) //TE_BEAMPOINTS
write_coord(origin1_0)
write_coord(origin1_1)
write_coord(origin1_2)
write_coord(origin2_0)
write_coord(origin2_1)
write_coord(origin2_2)
write_short(beamsprite)
write_byte(1) // framestart
write_byte(1) // framerate
write_byte(life) // life in 0.1's
write_byte(width) // width
write_byte(0) // noise
write_byte(red) // red
write_byte(green) // green
write_byte(blue) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()
return PLUGIN_HANDLED
}
if its a permanent box, make it last like 100 seconds before you make it again so that you arent making 12 messages every 0.1 seconds or something.