PDA

View Full Version : Hide admins spec


npk06
12-02-2006, 12:09 PM
Hi,

do you think that it would be possible to hide from the player lists spectating admins ? Upon activation, the plugin could send a fake disconnection message, switch the admin that activated it into spec mode while hiding him from non admin UI. The first part is pretty easy but I'm rather unsure wether it is possible to manipulate player lists...

It would be used for discrete cheater detection and recording purposes

Thanks a lot :cool:

diamond-optic
12-02-2006, 07:01 PM
im not sure how or if you can modify the scoreboard.. would be nice tho..

what i do for my server tho.. is i have the name & team change messages blocked for me.. so I can change my name and join spec without ppl noticing it.. at least noticing it as easily :-)

i use THIS (http://www.dodplugins.net/forums/showthread.php?t=61) plugin to hide the msgs

Wilson [29th ID]
12-03-2006, 03:30 AM
This thing allows you to type in console: gospec
and it automatically puts you in spectators with no message. I tried removing the score board part but it would take a while to get it going.

cccpsmiley
12-03-2006, 05:48 PM
diamond cnt u edit ur plugin to where instead of saying Admin with Flag a joined spec to Saying ADMIN LEFT THE GAME where in reality u went to spec?

diamond-optic
12-03-2006, 07:22 PM
well that wouldnt really fit in with the plugin...

but to make my own msgs lol.. i use a plugin (might be part of amx_slash or something) that adds the "/me" function of IRC to dod.. so i can type "/me has left the game" and it will print "diamond-optic has left the game"

tegu
12-03-2006, 10:15 PM
I have one called emote that does exactly that, I found it on the amxmodx forums.

I type /emote has left the game and it prints out:
Tupinambis has left the game..


Do a search over there for that if you are interested.

npk06
12-08-2006, 02:33 PM
Hi,

thank you guys for your answers. I'm gonna check your plugin Wilson ;)

Thanks a lot

Box Cutter
12-08-2006, 05:43 PM
I tried this plugin and works great.

Hood [10th MD]
04-16-2007, 10:01 PM
Wilson got a good start going there, I will see if I can find anything to help and post later on tonight, this could be a great tool for keeping an eye on unit/clan members, as well as those aggravating hackers.

diamond-optic
04-17-2007, 09:39 PM
hey wilson.. what about sending like a PTeam message after joining spec.. would that keep you on 'spectators' but show your name on whatever team you passed thru the message?

Wilson [29th ID]
04-22-2007, 05:50 PM
Actually that just may work. PTeam usually does more than you'd like it to do, but in a situation like this it may work. Or just blocking it in the first place.

Hood [10th MD]
04-23-2007, 02:26 PM
So just keep you in the scoreboard on some team but you stay in spec?

I like it.

Similar to admin_spectate_esp, but without all the extra coding to render the lines, specific users, etc.

Possibly we could simply borrow some of that code to do the hiding?

jondoe
04-24-2007, 08:29 PM
I noticed the flag for admin use with this plugin is H.
I dont give any other admins the the config flag.
When i try to compile this with any other flag besides H, I get errors and it won't compile. Is there a way to give all my admins the power to use it.

// Define admin level is required here (third part)
#define INVISIBILE_ADMIN ADMIN_LEVEL_H

Hood [10th MD]
04-24-2007, 08:49 PM
Make sure the flag you replace it with exists...
I.e. Use ADMIN_KICK, not ADMIN_LEVEL_KICK (which I once almost did),
Try ADMIN_LEVEL_A.
There's no reason, code-wise why that wouldn't work.

Also, as a note, in a previous thread, someone had suggested that sometimes amx drops that flag (which is the "t" flag in users.ini) and so it's often a better idea not to use it, for that reason, I'd say try ADMIN_LEVEL_C, which I've never had issues with, or any other one for that matter. Good luck. Post more specific compiling results if you have errors again.

diamond-optic
04-24-2007, 10:53 PM
here's all of them:

#define ADMIN_ALL 0 /* everyone */
#define ADMIN_IMMUNITY (1<<0) /* flag "a" */
#define ADMIN_RESERVATION (1<<1) /* flag "b" */
#define ADMIN_KICK (1<<2) /* flag "c" */
#define ADMIN_BAN (1<<3) /* flag "d" */
#define ADMIN_SLAY (1<<4) /* flag "e" */
#define ADMIN_MAP (1<<5) /* flag "f" */
#define ADMIN_CVAR (1<<6) /* flag "g" */
#define ADMIN_CFG (1<<7) /* flag "h" */
#define ADMIN_CHAT (1<<8) /* flag "i" */
#define ADMIN_VOTE (1<<9) /* flag "j" */
#define ADMIN_PASSWORD (1<<10) /* flag "k" */
#define ADMIN_RCON (1<<11) /* flag "l" */
#define ADMIN_LEVEL_A (1<<12) /* flag "m" */
#define ADMIN_LEVEL_B (1<<13) /* flag "n" */
#define ADMIN_LEVEL_C (1<<14) /* flag "o" */
#define ADMIN_LEVEL_D (1<<15) /* flag "p" */
#define ADMIN_LEVEL_E (1<<16) /* flag "q" */
#define ADMIN_LEVEL_F (1<<17) /* flag "r" */
#define ADMIN_LEVEL_G (1<<18) /* flag "s" */
#define ADMIN_LEVEL_H (1<<19) /* flag "t" */
#define ADMIN_MENU (1<<20) /* flag "u" */
#define ADMIN_ADMIN (1<<24) /* flag "y" */
#define ADMIN_USER (1<<25) /* flag "z" */

=|[76AD]|= TatsuSaisei
04-24-2007, 11:39 PM
ADMIN_CHAT is generally the clan-wide access flag that all "admins" have on a server... ADMIN_KICK is probably the next best choice...

jondoe
04-25-2007, 09:05 PM
Thank you all, all three posts helped me out.

Hood [10th MD]
08-30-2007, 10:22 PM
More thoughts on PTeam?

blobby
08-31-2007, 11:23 AM
I have almost finished making practicaly the same plugin witch does keep you on your team even tho you are in spec the only thing i have left to fix is when you want to go back to your game it says player joined axis/allies once ive fixed that its ready to go if any one is intrested let me know

Regards

Blobby

Hood [10th MD]
09-01-2007, 12:12 PM
Yeah, please post it when you're done, I'd like to check it out.

FeuerSturm
09-01-2007, 12:24 PM
I have almost finished making practicaly the same plugin witch does keep you on your team even tho you are in spec the only thing i have left to fix is when you want to go back to your game it says player joined axis/allies once ive fixed that its ready to go if any one is intrested let me know

Regards

Blobby

the message can be blocked easiely, let me know if you need to be pointed to the right direction

blobby
09-01-2007, 01:33 PM
If you would point me there that would be great stuff then i can give the plugin to all of these people

Regards

Blobby

FeuerSturm
09-01-2007, 06:43 PM
If you would point me there that would be great stuff then i can give the plugin to all of these people

Regards

Blobby

here's what you will need:

new gmsgText
new inSecretSpec[33]

public plugin_init()
{
//blah blah blah, the rest of your stuff here
gmsgText = get_user_msgid("TextMsg")
register_message(gmsgText,"block_message")
}

public client_authorized(id)
{
inSecretSpec[id] = 0
}

public block_message(msg_id, msg_Dest, msg_Ent)
{
new game_msg[64]
get_msg_arg_string(2, game_msg, 63)
if(equal(game_msg, "#game_joined_team") == 1)
{
new playername[32]
get_msg_arg_string(3, playername, 31)
new id = get_user_index(playername)
if(inSecretSpec[id] == 1 && get_user_flags(id)&INVISIBILE_ADMIN)
{
inSecretSpec[id] = 0
client_print(id,print_chat,"[DoD SECRET SPEC] You are really on a team now!")
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}

you will need to add inSecretSpec[id] = 1 to the function that sends the admin to spectators silently, so the plugin knows to block the message once the admin switches back to a team.

That code snippet doesn't care what team the admin choses, the message is
always blocked, no matter if axis, allies, spectators.

give it a try and let me know if you need more help.

blobby
09-05-2007, 10:36 AM
Ok ive been working alot just recently but i will get this finnished asap and also if someone could give me back my right to post attachements so i can post it up when im done

regards

Blobby

diamond-optic
09-05-2007, 07:27 PM
pretty sure you should be able to post attachments in the 'non-developer plugins' forum.. but if not let me know and ill look into it

blobby
09-08-2007, 04:04 PM
Ok this did work and compile untill i tried to add a cvar here is the code if any one can fix this ill add your name to the plugin along side of feuersturm here is the code...

/////////////////////////////////////////////////////////////////////////////////////////////
//* Plugin generated by AMXX-Studio *///////////////////////////////////////////////////////
//*Edit changed console command to client command*/////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//*commands are (console = mespec) (chat = /mespec)*/////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
//*22/08/07 Added Cvar quickspec 1/0 (1 = on) (0 = off)*///////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
//*make sure you difine your admin level where ADMIN_LEVEL_H is to your settings/////
////////////////////////////////////////////////////////////////////////////////////
#include <amxmodx>
#include <amxmisc>
#include <dodfun>

#define PLUGIN "Shadow Panthers Secret Spectate"
#define VERSION "3.0"
#define AUTHOR "blobby,Feuersturm"

// Define your admin level it is required below ADMIN_LEVEL_H is a custom level//
#define INVISIBILE_ADMIN ADMIN_LEVEL_H

new p_me_spec
new p_me_spec = get_pcvar_num(p_me_spec)


public plugin_init()
{
p_me_spec = register_cvar("dod_quickspec","1")

register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("mespec", "me_spec", INVISIBILE_ADMIN);
register_clcmd("say /mespec","me_spec", INVISIBILE_ADMIN)
register_clcmd("say_team /mespec" , "me_spec", INVISIBILE_ADMIN)
}

public me_spec(id,level,cid);
{
if(!cmd_access(id,level,cid,1);
{
return PLUGIN_HANDLED;
}
dod_set_user_team(id, 3, 0)
client_print(id, print_chat, "[DOD SECRET SPEC] you are now in spectator mode no one knows you are there :p");
return PLUGIN_HANDLED;

diamond-optic
09-08-2007, 06:56 PM
well for one.. this isnt right:
new p_me_spec = get_pcvar_num(p_me_spec)you can just remove that, you only need to declare "new p_me_spec" for the pointer..

you also dont use the value of that cvar anywhere that i see..

when you goto use it in a function, youd use something more like these right in the function itself:
new cvarValue = get_pcvar_num(p_me_spec)or for an if statement:
if(get_pcvar_num(p_me_spec) == 1)
{
.......
hope that helps a little

FeuerSturm
09-09-2007, 08:14 AM
@blobby

i quickly made a "prototype" of the plugin for you that includes
blocking of the text message when admins rejoin a team.

it also includes a check for your new cvar as i assumed that it should
turn on/off the plugin.

just take a look at it.

blobby
09-09-2007, 09:03 AM
Wow nice one feuersturm m8 im getting better at this plugin writing slowly but surely i will release this one as it stands now for those who want it and i will also add you name to the copyright code as you have helped me from day 1 with this

Thanks and regards

Blobby

blobby
09-09-2007, 09:16 AM
Ok i have relesed this in non developers plugins feed back would be great

Regards

Blobby