Advertisement
Guest User

Mo3

a guest
Nov 25th, 2009
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. #include <a_samp>
  4. #include <dini>
  5.  
  6. new connected;
  7. new reserver[MAX_PLAYERS];
  8. #define RED 0xFF0000FF
  9. #define AQUAGREEN 0x00CACAFB
  10. #define SERVERSLOTS 5 //Change this to your amount of server slots. IMPORTANT!
  11. #define RESERVEDSLOTS 5 //Replace "5" with the amount of slots you want to reserve.
  12.  
  13. public OnFilterScriptInit()
  14. {
  15. connected = 0;
  16. return 1;
  17. }
  18.  
  19. public OnPlayerConnect(playerid)
  20. {
  21. new pn[MAX_PLAYER_NAME],connect[128];
  22. //---------------------------------------------------------------
  23. GetPlayerName(playerid, pn, sizeof(pn));
  24. format(connect, sizeof(connect), "/rslots/%s.ini", pn );
  25. if(dini_Exists(connect))
  26. {
  27. new string[264];
  28. string = dini_Get(connect, "reserver");
  29. if(strcmp(string, "true", false) == 0)
  30. {
  31. reserver[playerid] = 1;
  32. }
  33. }
  34. //---------------------------------------------------------------
  35. if(connected >= (SERVERSLOTS-RESERVEDSLOTS) && reserver[playerid] < 1)
  36. {
  37. new string[128];
  38. SendClientMessage(playerid,RED,"SERVER: You have been kicked for using a reserved slot.");
  39. format(string, sizeof(string), "SERVER: %d slots of total %d slots are reserved, %d slots currently used.",RESERVEDSLOTS,SERVERSLOTS,connected);
  40. SendClientMessageToAll(RED, string);
  41. Kick(playerid);
  42. }
  43. else
  44. {
  45. connected++;
  46. }
  47. return 1;
  48. }
  49.  
  50. public OnPlayerDisconnect(playerid, reason)
  51. {
  52. connected--;
  53. reserver[playerid] = 0;
  54. return 1;
  55. }
  56. public OnPlayerCommandText(playerid, cmdtext[])
  57. {
  58. new cmd[256],tmp[256];
  59. new string[256],idx;
  60. if(strcmp(cmd,"/reserveslot",true) == 0) if(IsPlayerAdmin(playerid))
  61. {
  62. new pn[MAX_PLAYER_NAME], connect[48];
  63. tmp = strtok(cmdtext,idx);
  64. if(!strlen(tmp)) return SendClientMessage(playerid,AQUAGREEN,"[ ! ] USAGE: /reserveslot (playerid)");
  65. new guy = strval(tmp);
  66. if(!IsPlayerConnected(guy)) return SendClientMessage(playerid,AQUAGREEN,"[ ! ] Player is not connected !");
  67. GetPlayerName(guy, pn, sizeof(pn));
  68. format(connect, sizeof(connect), "/rslots/%s.ini", pn );
  69. if(dini_Exists(connect))
  70. {
  71. dini_Set(connect, "reserver", "true");
  72. }
  73. else
  74. {
  75. dini_Create(connect);
  76. dini_Set(connect, "reserver", "true");
  77. }
  78. format(string,sizeof(string),"[ ! ] A admin has given you a reserved slot!");
  79. SendClientMessage(guy,AQUAGREEN,string);
  80. format(string,sizeof(string),"[ ! ] You have given ID %d a reserved slot.",guy);
  81. SendClientMessage(playerid,AQUAGREEN,string);
  82. dini_Set(connect, "reserver", "true");
  83. return 1;
  84. }
  85. if(strcmp(cmd,"/takeslot",true) == 0) if(IsPlayerAdmin(playerid))
  86. {
  87. new pn[MAX_PLAYER_NAME], connect[48];
  88. tmp = strtok(cmdtext,idx);
  89. if(!strlen(tmp)) return SendClientMessage(playerid,AQUAGREEN,"[ ! ] USAGE: /takeslot (playerid)");
  90. new guy = strval(tmp);
  91. if(!IsPlayerConnected(guy)) return SendClientMessage(playerid,AQUAGREEN,"[ ! ] Player is not connected !");
  92. GetPlayerName(guy, pn, sizeof(pn));
  93. format(connect, sizeof(connect), "/rslots/%s.ini", pn );
  94. if(dini_Exists(connect))
  95. {
  96. dini_Set(connect, "reserver", "true");
  97. }
  98. format(string,sizeof(string),"[ ! ] A admin has given you a reserved slot!");
  99. SendClientMessage(guy,AQUAGREEN,string);
  100. format(string,sizeof(string),"[ ! ] You have given ID %d a reserved slot.",guy);
  101. SendClientMessage(playerid,AQUAGREEN,string);
  102. dini_Set(connect, "reserver", "true");
  103. return 1;
  104. }
  105. return 0;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement