| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- //
- // 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;
- }
|