Question about commands!
#1

'Sup y'all?

Since I'm on a trip and haven't got anything from my script, I won't be able to show you anything, lol! I just wanted to ask the following:

How am I able to script something which lets all server moderators with level 2 ( + ) to see, which commands a player just typed? It doesn't matter if the player is a member or even an admin, I just want that from level 2 + , they'd be able to see which commands just got from any player performed!
Reply
#2

it would be something like that
pawn Код:
//somewhere
forward SendMessageToAdmins(color, const string[]);

public SendMessageToAdmins(color, const string[])
{
    for(new player=0;player<MAX_PLAYERS;player++)
    {
        if(IsPlayerConnected(player))
        {
            if(IsPlayerAdmin(player))  // i got no idea about your script so this must be changed
            {
                SendClientMessage(player, color, string);
            }
        }
    return 1;
}
stock SendCMDToAdmins(playerid, command[])
{
    new string[128];
    GetPlayerName(playerid, string, sizeof(string));
    format(string, sizeof(string), "<%s> has used the command: /%s", string, command);
    return SendMessageToAdmins(some color here, string); // change "some color here" to any color you want
}
and now you can use SendCMDToAdmins simply like that
pawn Код:
// example
if(strcmp("/kill", cmdtext, true) == 0)
{
    SetPlayerHealth(playerid, -9.9999);
    SendCMDToAdmins(playerid, "/kill"); // this would send a message to admins that (the player who typed /kill) has used the command: /kill   
    return 1;
}
Reply
#3

You could insert SendCMDToAdmins directly under OnPlayerCommandText. It would save adding it to every command you create.
Reply
#4

@both of you

Lol yes, I totally forgot that I already have the function "SendMessageToAdmins" included! The only new thing would be "SendCMDToAdmins"...

@Psymetrix

I don't get you, could you post an example?
Reply
#5

Public OnPlayerCommandText(playerid, cmdtext[])
{
SendCMDToAdmins(playerid, cmdtext);
return 0;
}

Though, if you use zcmd you will have use one of the callbacks it offers. Not sure what one.
Reply
#6

I am using ZCMD, of course, so what's this callback for, if I may ask? Maybe you mean "OnPlayerText"?
Reply
#7

pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if (success) SendCMDToAdmins(playerid, cmdtext);
}
I'm not sure if this is the right callback. Try it and see.
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)