06.09.2018, 13:08
PHP код:
// Use your own enum, this is to explain only
enum pv
{
Name[MAX_PLAYER_NAME + 1],
AdminLevel
}
new P[MAX_PLAYERS][pv];
new bool:IsAdminListening;
//Get player name only once when connecting so you won't need to do it everytime
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, P[playerid][Name], MAX_PLAYER_NAME + 1);
return 1;
}
CMD:test(playerid, params[])
{
// Command
new str[128];
format(str, sizeof str, "%s(%d) used command /test", P[playerid][Name], playerid);
SendAdminMessage(str);
return 1;
}
// Repeat this for every command you want to track
// Or if you hate your users' privacy and wish to track em all, you can do
CMD:listen(playerid, params[])
{
if(P[playerid][AdminLevel] < 5)return 0; // Hide the CMD for non-admins
if(IsAdminListening == false){
IsAdminListening = true;
SendClientMessage(playerid, -1, "You are listening..");
}
if(IsAdminListening == true){
IsAdminListening = false;
SendClientMessage(playerid, -1, "You are listening no more.");
}
return 1;
}
public OnPlayerCommandReceived(playerid, cmdtext[])
{
if(IsAdminListening == true){
new str[128];
format(str, sizeof str, "%s(%d) used command /test", P[playerid][Name], playerid);
SendAdminMessage(str);
}
return 1;
}
// This is used to send Administrators the message
SendAdminMessage(str[])
{
foreach(Player, i){
if(P[i][AdminLevel] > 5){
SendClientMessage(i, -1, str);
}
}
}
