Advertisement
Guest User

New

a guest
Jun 15th, 2011
745
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.84 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3.  
  4. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  5.  
  6. #pragma tabsize 0
  7.  
  8.  
  9. //Colors
  10. #define COLOR_WHITE 0xFFFFFFAA
  11. #define COLOR_YELLOW 0xFFFF00AA
  12. #define COLOR_RED 0xFF0000AA
  13. #define COLOR_LIGHTBLUE 0x33CCFFAA
  14. enum Player
  15. {
  16. AFKstatus
  17. }
  18. new PlayerInfo[MAX_PLAYERS][Player];
  19. public OnFilterScriptInit()
  20. {
  21. print("\n--------------------------------------");
  22. print(" Simple AFK/BRB System By Monster \n Loading.....\nLoaded Successfully !");
  23. print("--------------------------------------\n");
  24. return 1;
  25. }
  26.  
  27. public OnFilterScriptExit()
  28. {
  29. return 1;
  30. }
  31.  
  32. dcmd_afk(playerid, params[])
  33. {
  34. #pragma unused params
  35. new string[256];
  36. if (PlayerInfo[playerid][AFKstatus] == 1)
  37. {
  38. SendClientMessage(playerid, COLOR_RED, "ERROR: Your status is already AFK/BRB!");
  39. return 1;
  40. }
  41.  
  42. else if (PlayerInfo[playerid][AFKstatus] == 0)
  43. {
  44. new pname[MAX_PLAYER_NAME];
  45. GetPlayerName(playerid, pname, sizeof(pname));
  46. format(string, sizeof(string), "%s(%d) is away from keyboard!", pname,playerid);
  47. SendClientMessageToAll(COLOR_YELLOW, string);
  48. TogglePlayerControllable(playerid,0);
  49. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) + 50);
  50. PlayerInfo[playerid][AFKstatus] = 1;
  51. return 1;
  52. }
  53. return 0;
  54. }
  55.  
  56. dcmd_brb(playerid, params[])
  57. {
  58. #pragma unused params
  59. new string[256];
  60. if (PlayerInfo[playerid][AFKstatus] == 1)
  61. {
  62. SendClientMessage(playerid, COLOR_RED, "ERROR: Ur Aready Afk/And or Brb");
  63. return 1;
  64. }
  65.  
  66. else if (PlayerInfo[playerid][AFKstatus] == 0)
  67. {
  68. new pname[MAX_PLAYER_NAME];
  69. GetPlayerName(playerid, pname, sizeof(pname));
  70. format(string, sizeof(string), "%s Will Be Right Back (BRB)", pname,playerid);
  71. SendClientMessageToAll(COLOR_YELLOW, string);
  72. TogglePlayerControllable(playerid,0);
  73. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) + 50);
  74. PlayerInfo[playerid][AFKstatus] = 1;
  75. return 1;
  76. }
  77. return 0;
  78. }
  79.  
  80. dcmd_back(playerid, params[])
  81. {
  82. #pragma unused params
  83. new string [256];
  84. if (PlayerInfo[playerid][AFKstatus] == 0)
  85. {
  86. SendClientMessage(playerid, COLOR_RED, "ERROR: Your Aready Back!");
  87. return 1;
  88. }
  89.  
  90. else if (PlayerInfo[playerid][AFKstatus] == 1)
  91. {
  92. new pname[MAX_PLAYER_NAME];
  93. GetPlayerName(playerid, pname, sizeof(pname));
  94. format(string, sizeof(string), "%s%d has Came Back!!", pname,playerid);
  95. SendClientMessageToAll(COLOR_YELLOW, string);
  96. TogglePlayerControllable(playerid,1);
  97. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(playerid) - 50);
  98. PlayerInfo[playerid][AFKstatus] = 0;
  99. return 1;
  100. }
  101. return 0;
  102. }
  103.  
  104.  
  105. dcmd_afkplayers( playerid, params[ ] )
  106. {
  107. #pragma unused params
  108. new count = 0;
  109. new name[MAX_PLAYER_NAME];
  110. new string[128];
  111. //
  112. SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  113. SendClientMessage(playerid, COLOR_LIGHTBLUE, "The Afk List:");
  114. SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  115. for(new i = 0; i < MAX_PLAYERS; i++)
  116. {
  117. if (IsPlayerConnected(i))
  118. {
  119.  
  120. if(PlayerInfo[i][AFKstatus] == 1)
  121. {
  122. GetPlayerName(i, name, sizeof(name));
  123. format(string, 256, "Afk > %s{FFFFFF}%d", name,i );
  124. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  125. count++;
  126. }
  127. }
  128.  
  129. }
  130. if (count == 0)
  131. {
  132. SendClientMessage(playerid, COLOR_RED, "NoOne Is Afk or Brb");
  133. }
  134. SendClientMessage(playerid, COLOR_WHITE, "-=---=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
  135. return 1;
  136. }
  137.  
  138. public OnPlayerConnect(playerid)
  139. {
  140. PlayerInfo[playerid][AFKstatus] = 0;
  141. return 1;
  142. }
  143.  
  144. public OnPlayerDisconnect(playerid, reason)
  145. {
  146. PlayerInfo[playerid][AFKstatus] = 0;
  147. return 1;
  148. }
  149.  
  150.  
  151.  
  152. public OnPlayerText(playerid, text[])
  153. {
  154. if (PlayerInfo[playerid][AFKstatus] == 1)
  155. {
  156. SendClientMessage(playerid, COLOR_RED, "Dude Use /back To Speak Again!!");
  157. return 0;
  158. }
  159.  
  160. else if (PlayerInfo[playerid][AFKstatus] == 0)
  161. {
  162. return 1;
  163. }
  164. return 1;
  165. }
  166.  
  167. public OnPlayerCommandText(playerid, cmdtext[])
  168. {
  169. dcmd(afk,3,cmdtext);
  170. dcmd(brb,3,cmdtext);
  171. dcmd(back,4,cmdtext);
  172. dcmd(afkplayers,10,cmdtext);
  173. return 0;
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement