View Single Post
Brad
AMX Mod X Team Member
Join Date: Jun 2004
Old 11-09-2006 , 10:22   Re: Only Admin Spectators
Reply With Quote #5

Chronic:

Not necessarily a much more efficient way to detect if someone has the appropriate admin flags but it is much cleaner and will allow people using your plugin to specify as many admin flags as they'd like.

Instead of this:
Code:
public team_select(id) {     new flag     new cvarstring[1]     get_pcvar_string(pcvar,cvarstring,1)     switch(cvarstring[0])     {         case 'a': flag = 1         case 'b': flag = 2         case 'c': flag = 4         case 'd': flag = 8         case 'e': flag = 16         case 'f': flag = 32         case 'g': flag = 64         case 'h': flag = 128         case 'i': flag = 256         case 'j': flag = 512         case 'k': flag = 1024         case 'l': flag = 2048         case 'm': flag = 4096         case 'n': flag = 8192         case 'o': flag = 16384         case 'p': flag = 32768         case 'q': flag = 65536         case 'r': flag = 131072         case 's': flag = 262144         case 't': flag = 524288         case 'u': flag = 1048576         case 'y': flag = 16777216         case 'z': flag = 33554432     }     if(get_user_flags(id) & flag)     {         if(task_exists(id)) remove_task(id)     }     else if(!task_exists(id))     {         set_task(2.0,"check_team",id,"",0,"b")     } }

You can do this:
Code:
public team_select(id) {     new adminFlags[32];     get_pcvar_string(pcvar, adminFlags, 31);         if (get_user_flags(id) & read_flags(adminFlags))     {         if(task_exists(id)) remove_task(id)     }     else if(!task_exists(id))     {         set_task(2.0,"check_team",id,"",0,"b")     } }
__________________
Brad is offline