I'm making a tracer plugin. I want to make it so it's well...Random unless defined. Like a command using read_argv for all of my things defined as random_num, but if that command hasn't been used then keep doing it as random_num.. I do not understand how!
Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#define MAX_PLAYERS 32
new sprite
new g_nCurWeapon[MAX_PLAYERS][2]
public plugin_init()
{
register_plugin("Tracer","0.1","DahVid")
register_event("CurWeapon","set_tracer","b","1=1")
register_cvar("tr_square","1",ADMIN_BAN)
register_cvar("tr_tracer","1",ADMIN_BAN)
register_cvar("tr_on","1",ADMIN_BAN)
}
public plugin_precache()
{
sprite=precache_model("sprites/laserbeam.spr")
}
public set_tracer(id)
{
if(get_cvar_num("tr_on")) {
new weaponID = read_data(2)
new wAmmo = read_data(3)
new red=random_num(0,255)
new green=random_num(0,255)
new blue=random_num(0,255)
new bright=random_num(100,255)
new life=random_num(3,20)
new width=random_num(4,30)
new noise=random_num(0,2)
new startorigin[3]
new endorigin[3]
get_user_origin(id,startorigin,1)
get_user_origin(id,endorigin,3)
if( g_nCurWeapon[id-1][0] != weaponID ) // User Changed Weapons..
{
g_nCurWeapon[id-1][0] = weaponID
g_nCurWeapon[id-1][1] = wAmmo
return PLUGIN_CONTINUE
}
if( g_nCurWeapon[id-1][1] < wAmmo ) // User Reloaded..
{
g_nCurWeapon[id-1][1] = wAmmo
return PLUGIN_CONTINUE
}
if( g_nCurWeapon[id-1][1] == wAmmo ) // User did something else, but didn't shoot..
return PLUGIN_CONTINUE
g_nCurWeapon[id-1][1] = wAmmo
g_nCurWeapon[id-1][0] = weaponID
if(get_cvar_num("tr_tracer")) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY) //tracer
write_byte(0) //TE_BEAMPOINTS
write_coord(startorigin[0]) //startorigin
write_coord(startorigin[1])
write_coord(startorigin[2])
write_coord(endorigin[0]) //endorigin
write_coord(endorigin[1])
write_coord(endorigin[2])
write_short(sprite) //sprite
write_byte(0) //starting frame
write_byte(10) //frame rate
write_byte(life) //life
write_byte(width) //line width
write_byte(noise) //noise
write_byte(red) //red
write_byte(green) //green
write_byte(blue) //blue
write_byte(bright) //brightness
write_byte(1) //scroll speed
message_end()
}
if(get_cvar_num("tr_square")) {
message_begin(MSG_BROADCAST,SVC_TEMPENTITY) //white squares
write_byte(15)
write_coord(startorigin[0]) //startorigin
write_coord(startorigin[1])
write_coord(startorigin[2])
write_coord(endorigin[0]) //endorigin
write_coord(endorigin[1])
write_coord(endorigin[2])
write_short(sprite) //sprite
write_byte(70) //count
write_byte(life) //life
write_byte(1) //scale
write_byte(0) //velocity along vector 10's
write_byte(0) //randomness of velocity in 10's
message_end()
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}