|
|
- //
- // Base FS
- // Contains /pm /kick /ban commands.
- //
-
- #include <a_samp>
- #include "../include/gl_common.inc"
-
- #define ADMINFS_MESSAGE_COLOR 0xFF444499
- #define PM_INCOMING_COLOR 0xFFFF22AA
- #define PM_OUTGOING_COLOR 0xFFCC2299
-
- //------------------------------------------------
-
- public OnFilterScriptInit()
- {
- print("\n--Base FS loaded.\n");
- return 1;
- }
-
- //------------------------------------------------
-
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256];
- new tmp[256];
- new Message[256];
- new gMessage[256];
- new pName[MAX_PLAYER_NAME+1];
- new iName[MAX_PLAYER_NAME+1];
- new idx;
-
- cmd = strtok(cmdtext, idx);
-
- // PM Command
- if(strcmp("/pm", cmd, true) == 0)
- {
- tmp = strtok(cmdtext,idx);
-
- if(!strlen(tmp) || strlen(tmp) > 5) {
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
- return 1;
- }
-
- new id = strval(tmp);
- gMessage = strrest(cmdtext,idx);
-
- if(!strlen(gMessage)) {
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /pm (id) (message)");
- return 1;
- }
-
- if(!IsPlayerConnected(id)) {
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/pm : Bad player ID");
- return 1;
- }
-
- if(playerid != id) {
- GetPlayerName(id,iName,sizeof(iName));
- GetPlayerName(playerid,pName,sizeof(pName));
- format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
- SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
- format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
- SendClientMessage(id,PM_INCOMING_COLOR,Message);
- PlayerPlaySound(id,1085,0.0,0.0,0.0);
-
- printf("PM: %s",Message);
-
- }
- else {
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"You cannot PM yourself");
- }
- return 1;
- }
-
- //Kick Command
- if(strcmp("/kick", cmd, true) == 0)
- {
- if(IsPlayerAdmin(playerid)) {
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp) || strlen(tmp) > 5) {
- return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /kick (id) [reason]");
- }
-
- new id = strval(tmp);
-
- if(!IsPlayerConnected(id)) {
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : Bad player ID");
- return 1;
- }
-
- gMessage = strrest(cmdtext,idx);
-
- GetPlayerName(id,iName,sizeof(iName));
- SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"-- You have been kicked from the server.");
-
- if(strlen(gMessage) > 0) {
- format(Message,sizeof(Message),"Reason: %s",gMessage);
- SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message);
- }
-
- format(Message,sizeof(Message),">> %s(%d) has been kicked.",iName,id);
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message);
-
- Kick(id);
- return 1;
- } else {
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : You are not an admin");
- return 1;
- }
- }
-
- //Ban Command
- if(strcmp("/ban", cmd, true) == 0)
- {
- if(IsPlayerAdmin(playerid)) {
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp) || strlen(tmp) > 5) {
- return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /ban (id) [reason]");
- }
-
- new id = strval(tmp);
-
- if(!IsPlayerConnected(id)) {
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : Bad player ID");
- return 1;
- }
-
- gMessage = strrest(cmdtext,idx);
-
- GetPlayerName(id,iName,sizeof(iName));
- SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"-- You have been banned from the server.");
-
- if(strlen(gMessage) > 0) {
- format(Message,sizeof(Message),"Reason: %s",gMessage);
- SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message);
- }
-
- format(Message,sizeof(Message),">> %s(%d) has been banned.",iName,id);
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message);
-
- Ban(id);
- return 1;
- } else {
- SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : You are not an admin");
- return 1;
- }
- }
-
- return 0;
- }
|