if (strcmp(cmd, "/kick", true) == 0) { if (PlayerInfo[playerid][Admin] >=1 || IsPlayerAdmin(playerid)) { tmpp = strtok(cmdtext, idx); if (!strlen(tmpp)) { SendClientMessage(playerid, COLOR_GREEN, "USAGE: /kick [playerid] [reason]"); return 1; } pid = strval(tmpp); if (!(IsPlayerConnected(pid))) { SendClientMessage(playerid, COLOR_RED, "THAT PLAYER IS NOT CONNECTED!"); return 1; } GetPlayerName(pid, pidName, sizeof(pidName)); GetPlayerName(playerid, AdminName, sizeof(AdminName)); GetPlayerIp(playerid,AdminIP,20); GetPlayerIp(pid, PidIP, 20); gettime(hour, minute, second); getdate(year, month, day); format(query, sizeof(query), "INSERT INTO `kick` (kickid, kicked, kickedip, kicker, kickerip, reason, time, date) VALUES(0, \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%d:%d:%d\", \"%d.%d.%d\")", pidName, PidIP, AdminName, AdminIP, cmdtext[idx], hour, minute, second, day, month, year); samp_mysql_query(query); samp_mysql_store_result(); format(string, sizeof(string), "~RecludeBot~ %s (ID: %d) has been kicked ! Reason: %s | Time: %d:%d:%d | Date: %d.%d.%d", pidName, pid, cmdtext[idx], hour, minute, second, day, month, year); SendClientMessageToAll(COLOR_RED, string); print(string); Kick(pid); } else { SendClientMessage(playerid,COLOR_RED,"~RecludeBot~ You can't use that command !"); return 1; } return 1; }
if(strcmp(cmd, "/report", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /report [text]");
return 1;
}
format(string, sizeof(string), "Report from [%d]%s: %s", playerid, sendername, (result));
ABroadCast(COLOR_YELLOW,string,1);
SendClientMessage(playerid, COLOR_YELLOW, "Your Report Message was sent to the Admins.");
}
return 1;
}
forward ABroadCast(color,const string[],level);
public ABroadCast(color,const string[],level)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[i][pAdmin] >= level)
{
SendClientMessage(i, color, string);
printf("%s", string);
}
}
}
return 1;
}
Originally Posted by iRape
Thank you BLT, This really helped. I was going to ask how to make an admin chat and player chat too.. But you just solved that..
There is one thing though.. How do I make an /admins command to list my online admins? |
if (strcmp(cmd, "/admins", true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, COLOR_GRAD1, "Admins Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1 && PlayerInfo[i][pAdmin] < 1338)
{
new adminlevel = PlayerInfo[i][pAdmin];
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 256, "*Admin:(ID: %d) %s Admin Level:(%d)*", i, sendername, adminlevel);
SendClientMessage(playerid, COLOR_GREEN, string);
}
}
}
}
return 1;
}
#define COLOR_GRAD1 0xB4B5B7FF