Raised This Month: $ Target: $400
 0% 

Defining, otherwise random.


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
DahVid
Senior Member
Join Date: Jun 2005
Old 08-21-2005 , 21:58   Defining, otherwise random.
Reply With Quote #1

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 }
DahVid is offline
v3x
Veteran Member
Join Date: Oct 2004
Location: US
Old 08-21-2005 , 22:58  
Reply With Quote #2

Code:
#define RANDOM 1 #if defined RANDOM     // ... #else     // ... #endif
I think that's what you're talking about?
__________________
What am I doing these days? Well, I run my own Rust server. It's heavily modded. If you'd like to join, the ip is 167.114.101.67:28116

I also created a website called Rust Tools. It will calculate and tell you the raw amounts of resources needed to craft items.
v3x is offline
DahVid
Senior Member
Join Date: Jun 2005
Old 08-21-2005 , 23:02  
Reply With Quote #3

I'm trying to do something like this. It won't work because I don't think CurWeapon is going to fucking set these arguments every time..

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_shit","b","1=1")     register_event("CurWeapon","set_tracer","b","1=1")     register_clcmd("tr_setshit","set_tracer_shit",ADMIN_BAN)     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_shit(id) {     new red     new green     new blue     new bright     new life     new width     new noise     if(read_argc() == 1) {         red=random_num(0,255)         green=random_num(0,255)         blue=random_num(0,255)         bright=random_num(100,255)         life=random_num(3,20)         width=random_num(4,30)         noise=random_num(0,2)         }else{         new Sred[4]         new Sgreen[4]         new Sblue[4]         new Sbright[4]         new Slife[4]         new Swidth[4]         new Snoise[4]                 read_argv(1,Sred,4)         read_argv(2,Sgreen,4)         read_argv(3,Sblue,4)         read_argv(4,Sbright,4)         read_argv(5,Slife,4)         read_argv(6,Swidth,4)         read_argv(7,Snoise,4)                 red=str_to_num(Sred)         green=str_to_num(Sgreen)         blue=str_to_num(Sblue)         bright=str_to_num(Sbright)         life=str_to_num(Slife)         width=str_to_num(Swidth)         noise=str_to_num(Snoise)     } } public set_tracer(id,red,green,blue,bright,life,width,noise) {     if(get_cvar_num("tr_on")) {                 new weaponID = read_data(2)         new wAmmo = read_data(3)                 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 }
DahVid is offline
v3x
Veteran Member
Join Date: Oct 2004
Location: US
Old 08-21-2005 , 23:09  
Reply With Quote #4

Why not just get rid of that second CurWeapon event, then call set_tracer from the original CurWeapon event?
__________________
What am I doing these days? Well, I run my own Rust server. It's heavily modded. If you'd like to join, the ip is 167.114.101.67:28116

I also created a website called Rust Tools. It will calculate and tell you the raw amounts of resources needed to craft items.
v3x is offline
DahVid
Senior Member
Join Date: Jun 2005
Old 08-21-2005 , 23:21  
Reply With Quote #5

LAWL I AM DUMB!!
I'll give it a go, bunnyb00
DahVid is offline
DahVid
Senior Member
Join Date: Jun 2005
Old 08-21-2005 , 23:24  
Reply With Quote #6

No work

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_shit","b","1=1")     register_clcmd("tr_setshit","set_tracer_shit",ADMIN_BAN)     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_shit(id) {     new red     new green     new blue     new bright     new life     new width     new noise     if(read_argc() == 0) {         red=random_num(0,255)         green=random_num(0,255)         blue=random_num(0,255)         bright=random_num(100,255)         life=random_num(3,20)         width=random_num(4,30)         noise=random_num(0,2)         }else{         new Sred[4]         new Sgreen[4]         new Sblue[4]         new Sbright[4]         new Slife[4]         new Swidth[4]         new Snoise[4]                 read_argv(1,Sred,3)         read_argv(2,Sgreen,3)         read_argv(3,Sblue,3)         read_argv(4,Sbright,3)         read_argv(5,Slife,3)         read_argv(6,Swidth,3)         read_argv(7,Snoise,3)                 red=str_to_num(Sred)         green=str_to_num(Sgreen)         blue=str_to_num(Sblue)         bright=str_to_num(Sbright)         life=str_to_num(Slife)         width=str_to_num(Swidth)         noise=str_to_num(Snoise)                 set_tracer(id,red,green,blue,bright,life,width,noise)     } } public set_tracer(id,red,green,blue,bright,life,width,noise) {     if(get_cvar_num("tr_on")) {                 new weaponID = read_data(2)         new wAmmo = read_data(3)                 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     }     return PLUGIN_CONTINUE }
DahVid is offline
DahVid
Senior Member
Join Date: Jun 2005
Old 08-22-2005 , 22:02  
Reply With Quote #7

Damn, someone's got to have an applicable solution here. I've got a fat stack of homework to do... Hopefully I can independently find something myself. Although I doubt that. I still don't understand why that code didn't work right.

Or atleast why I didn't get random tracers..

EDIT: This works for random, but if I use tr_setshit it's _still_ random.. Meaning read_argc isn't returning 8.. 7 arguments should return 8, right?

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_shit","b","1=1")     register_clcmd("tr_setshit","set_tracer_shit",ADMIN_BAN)     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_shit(id) {         new red     new green     new blue     new bright     new life     new width     new noise         if(read_argc() != 8) {                 red=random_num(0,255)         green=random_num(0,255)         blue=random_num(0,255)         bright=random_num(100,255)         life=random_num(3,20)         width=random_num(4,30)         noise=random_num(0,2)         set_tracer(id,red,green,blue,bright,life,width,noise)     }     if(read_argc() == 8) {         new Sred[4]         new Sgreen[4]         new Sblue[4]         new Sbright[4]         new Slife[4]         new Swidth[4]         new Snoise[4]                 read_argv(1,Sred,3)         read_argv(2,Sgreen,3)         read_argv(3,Sblue,3)         read_argv(4,Sbright,3)         read_argv(5,Slife,3)         read_argv(6,Swidth,3)         read_argv(7,Snoise,3)                 red=str_to_num(Sred)         green=str_to_num(Sgreen)         blue=str_to_num(Sblue)         bright=str_to_num(Sbright)         life=str_to_num(Slife)         width=str_to_num(Swidth)         noise=str_to_num(Snoise)                 set_tracer(id,red,green,blue,bright,life,width,noise)     } } public set_tracer(id,red,green,blue,bright,life,width,noise) {     if(get_cvar_num("tr_on")) {                 new weaponID = read_data(2)         new wAmmo = read_data(3)                 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     }     return PLUGIN_CONTINUE }
DahVid is offline
v3x
Veteran Member
Join Date: Oct 2004
Location: US
Old 08-22-2005 , 22:44  
Reply With Quote #8

You don't have set_tracer hooked to the CurWeapon event so these are useless:
Code:
new weaponID = read_data(2) new wAmmo = read_data(3)
Instead, do this:
Code:
new iClip,iAmmo,iWeaponID = get_user_weapon(id,iClip,iAmmo)
__________________
What am I doing these days? Well, I run my own Rust server. It's heavily modded. If you'd like to join, the ip is 167.114.101.67:28116

I also created a website called Rust Tools. It will calculate and tell you the raw amounts of resources needed to craft items.
v3x is offline
DahVid
Senior Member
Join Date: Jun 2005
Old 08-22-2005 , 23:24  
Reply With Quote #9

Working on it -- With a simple debug (Thanks to v3x, reminding me i can do that) I've figured out it was reading the args of CurWeapon. Duh
DahVid is offline
DahVid
Senior Member
Join Date: Jun 2005
Old 08-22-2005 , 23:34  
Reply With Quote #10

I'm done with this, if anyone can still fix it go ahead.. I've finished the plugin without that.. Only with some different colors.
DahVid is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 14:32.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode