SwiZzoR

Pm System

Sep 15th, 2013
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.63 KB | None | 0 0
  1. #include <a_samp>
  2. new OldPm[MAX_PLAYERS] = -1,str[128],text[256],id[128];
  3.  
  4. public OnPlayerConnect(playerid)
  5. {
  6.     OldPm[playerid] = -1;
  7.     return 1;
  8. }
  9.  
  10. public OnPlayerCommandText(playerid, cmdtext[])
  11. {
  12.     new cmd[128],idx;
  13.     cmd = strtok(cmdtext,idx);
  14.     if (strcmp("/pm", cmd, true, 10) == 0)
  15.     {
  16.     id = strtok(cmdtext,idx);
  17.     text = strrest(cmdtext,idx);
  18.     if(!strlen(id) || !strlen(text)) return SendClientMessage(playerid,0xFF0000FF,"צורת שימוש : /Pm [ID/NAME] [MESSAGE]");
  19.     if(!IsPlayerConnected(strval(id))) return SendClientMessage(playerid,0xFF0000FF,"השחקן לא מחובר");
  20.     if(strval(id) == playerid) return SendClientMessage(playerid,0xFF0000FF,"אתה לא יכול לשלוח הודעה לעצמך");
  21.     format(str,sizeof(str),"{33CCFF}>>[PM] To %s(%d): %s",GetName(strval(id)),strval(id),text);
  22.     SendClientMessage(playerid,-1,str);
  23.     format(str,sizeof(str),"{FFFF33}>>[PM] From %s(%d): %s",GetName(playerid),playerid,text);
  24.     SendClientMessage(strval(id),-1,str);
  25.     OldPm[playerid] = strval(id);
  26.     OldPm[strval(id)] = playerid;
  27.     return 1;
  28.     }
  29.    
  30.     if (strcmp("/re", cmd, true, 10) == 0)
  31.     {
  32.     text = strrest(cmdtext,idx);
  33.     if(!strlen(text)) return SendClientMessage(playerid,0xFF0000FF,"צורת שימוש : /re [MESSAGE]");
  34.     if(OldPm[playerid] == -1) return SendClientMessage(playerid,0xFF0000FF,"אף אחד לא שלח לך הודעה");
  35.     if(!IsPlayerConnected(OldPm[playerid])) return SendClientMessage(playerid,0xFF0000FF,"השחקן כבר התנתק");
  36.     format(str,sizeof(str),">>[PM] To %s(%d): %s",GetName(OldPm[playerid]),OldPm[playerid],text);
  37.     SendClientMessage(playerid,0x33CCFFFF,str);
  38.     format(str,sizeof(str),">>[PM] From %s(%d): %s",GetName(playerid),playerid,text);
  39.     SendClientMessage(OldPm[playerid],0xFFFF33FF,str);
  40.     return 1;
  41.     }
  42.     return 0;
  43. }
  44.  
  45. strtok(const string[], &index)
  46. {
  47.     new length = strlen(string);
  48.     while ((index < length) && (string[index] <= ' ')) index++;
  49.     new offset = index, result[20];
  50.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  51.     {
  52.         result[index - offset] = string[index];
  53.         index++;
  54.     }
  55.     result[index - offset] = EOS;
  56.     return result;
  57. }
  58.  
  59. stock strrest(const string[],index)
  60. {
  61.     new length = strlen(string),offset = index,result[256];
  62.     while((index < length) && ((index - offset) < (sizeof(result) - 1)) && (string[index] > '\r')) result[index - offset] = string[index],index++;
  63.     result[index - offset] = EOS;
  64.     if(result[0] == ' ' && string[0] != ' ') strdel(result,0,1);
  65.     return result;
  66. }
  67.  
  68. stock GetName(playerid)
  69. {
  70.     new Name[MAX_PLAYER_NAME];
  71.     GetPlayerName(playerid,Name,sizeof(Name));
  72.     return Name;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment