Advertisement
Guest User

ycmd Test Script

a guest
Jul 6th, 2010
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.87 KB | None | 0 0
  1. #include <a_samp>
  2. #define COLOR_MAIN 0xF29C59FF
  3.  
  4. #define ycmd(%1) if(!strcmp(cmdtext,%1,true,strlen(%1))&&((!strlen(cmdtext[strlen(%1)])&&format(params,sizeof(params),""))||(cmdtext[strlen(%1)]==' '&&format(params,sizeof(params),"%s",cmdtext[strlen(%1)+1]))))
  5. #define ycmd_red(%1) format(params,sizeof(params),""%1" %s",params),CallLocalFunction("OnPlayerCommandText","ds",playerid,params)
  6.  
  7. public OnFilterScriptInit()
  8. {
  9.     print("\n--------------------------------------");
  10.     print(" ycmd Test By Ym[0]n");
  11.     print("--------------------------------------\n");
  12.  
  13.     return true;
  14. }
  15.  
  16. public OnPlayerCommandText(playerid, cmdtext[])
  17. {
  18.     new params[128];
  19.     ycmd("/ban")
  20.     {
  21.         if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,COLOR_MAIN,"You Not Admin");
  22.         if(!strlen(params))return SendClientMessage(playerid,COLOR_MAIN,"USAGE: /ban [playerid] [reason]");
  23.         new idx, BannedID = strval(strtok(params,idx)),MessString[256],ReasonString[64];
  24.         if(!strlen(params[idx]))ReasonString = "N/A";else format(ReasonString,sizeof(ReasonString),"%s",params[idx]);
  25.         format(MessString,sizeof(MessString),"Admin %s [ID:%d] Ban %s [ID:%d] [Reason: %s]",PlayerName(playerid),playerid,PlayerName(BannedID),BannedID,ReasonString);
  26.         SendClientMessageToAll(COLOR_MAIN,MessString);
  27.         BanEx(BannedID,MessString);
  28.         return true;
  29.     }
  30.     ycmd("/me")
  31.     {
  32.         if(!strlen(params))return SendClientMessage(playerid,COLOR_MAIN,"USAGE: /me [text]");
  33.         new string[256];
  34.         format(string,sizeof(string),"** %s [ID: %d] %s",PlayerName(playerid),playerid,params);
  35.         SendClientMessageToAll(COLOR_MAIN,string);
  36.         return true;
  37.     }
  38.     ycmd("/pm")
  39.     {
  40.         new idx, tmp[256], id, string[256];
  41.         tmp = strtok(params,idx);
  42.         if(!strlen(tmp))return SendClientMessage(playerid,COLOR_MAIN,"USAGE: /pm | msg [playerid] [text]");
  43.         id = strval(tmp);
  44.         tmp = strtok(params,idx);
  45.         if(!strlen(tmp))return SendClientMessage(playerid,COLOR_MAIN,"USAGE: /pm | msg [playerid] [text]");
  46.         format(string,sizeof(string),"* PM Îò %s [ID: %d] Ê %s [ID: %d]",PlayerName(playerid),playerid,PlayerName(id),id,tmp);
  47.         SendClientMessage(playerid,COLOR_MAIN,string);
  48.         SendClientMessage(id,COLOR_MAIN,string);
  49.         return true;
  50.     }
  51.     ycmd("/msg")return ycmd_red("/pm");
  52.    
  53.     return false;
  54. }
  55. strtok(const string[], &index,seperator=' ')
  56. {
  57.     new length = strlen(string);
  58.     new offset = index;
  59.     new result[256];
  60.     while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  61.     {
  62.         result[index - offset] = string[index];
  63.         index++;
  64.     }
  65.  
  66.     result[index - offset] = EOS;
  67.     if ((index < length) && (string[index] == seperator))
  68.     {
  69.         index++;
  70.     }
  71.     return result;
  72. }
  73. stock PlayerName(playerid)
  74. {
  75.     new PlayerNickName[MAX_PLAYER_NAME];
  76.     GetPlayerName(playerid, PlayerNickName, MAX_PLAYER_NAME);
  77.     return PlayerNickName;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement