Guest User

FPS Kick

a guest
Aug 22nd, 2011
560
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. #include <a_samp>
  2. #include <callbackz>
  3. #include <zcmd>
  4. new Text:textdraw3[MAX_PLAYERS];
  5. new Text:textdraw4[MAX_PLAYERS];
  6. new MinFPS;
  7.  
  8. public OnGameModeInit()
  9. {
  10. for(new i; i < MAX_PLAYERS-1; i++)
  11. {
  12. textdraw3[i] = TextDrawCreate(547.000000, 58.000000, "ping: 0");
  13. TextDrawBackgroundColor(textdraw3[i], 255);
  14. TextDrawFont(textdraw3[i], 3);
  15. TextDrawLetterSize(textdraw3[i], 0.190000, 0.900000);
  16. TextDrawColor(textdraw3[i], -1);
  17. TextDrawSetOutline(textdraw3[i], 0);
  18. TextDrawSetProportional(textdraw3[i], 1);
  19. TextDrawSetShadow(textdraw3[i], 1);
  20.  
  21. textdraw4[i] = TextDrawCreate(581.000000, 58.000000, "FPS: 0");
  22. TextDrawBackgroundColor(textdraw4[i], 255);
  23. TextDrawFont(textdraw4[i], 3);
  24. TextDrawLetterSize(textdraw4[i], 0.180000, 0.900000);
  25. TextDrawColor(textdraw4[i], -1);
  26. TextDrawSetOutline(textdraw4[i], 0);
  27. TextDrawSetProportional(textdraw4[i], 1);
  28. TextDrawSetShadow(textdraw4[i], 1);
  29. if(IsPlayerConnected(i))
  30. {
  31. TextDrawShowForPlayer(i, textdraw3[i]);
  32. TextDrawShowForPlayer(i, textdraw4[i]);
  33. }
  34. }
  35. SetTimer("fps",1000,1);
  36. return 1;
  37. }
  38.  
  39. forward fps();
  40. public fps()
  41. {
  42. for(new i = 0; i < MAX_PLAYERS; i++)
  43. {
  44. if(IsPlayerConnected(i))
  45. {
  46. new string2[24];
  47. new string3[24];
  48. format(string2,sizeof(string2),"~y~FPS: ~w~%d", GetPlayerFPS(i));
  49. TextDrawSetString(textdraw4[i],string2);
  50. format(string3,sizeof(string3),"~y~Ping: ~w~%d", GetPlayerPing(i));
  51. TextDrawSetString(textdraw3[i],string3);
  52. }
  53. }
  54. }
  55.  
  56. public OnPlayerConnect(playerid)
  57. {
  58. TextDrawShowForPlayer(playerid, textdraw3[playerid]);
  59. TextDrawShowForPlayer(playerid, textdraw4[playerid]);
  60. return 1;
  61. }
  62. public OnPlayerRequestSpawn(playerid)
  63. {
  64. SetTimerEx("fpst",5000, 0, "i", playerid);
  65. return 1;
  66. }
  67.  
  68. CMD:minfps(playerid, params[])
  69. {
  70. if(!IsPlayerAdmin(playerid)){ SendClientMessage(playerid, 0xFF0000FF, "No eres admin rcon para usar este comando!"); return 1;}
  71. if(!strval(params))return SendClientMessage(playerid,0xFF0000FF,"Error: /minfps <VALUE>");
  72. if(strval(params) > 100) return SendClientMessage(playerid,0xFF0000FF,"Error: El valor no puede ser mayor a 100");
  73. new fpss = strval(params);
  74. MinFPS = fpss;
  75. new string[128];
  76. format(string, sizeof(string), "El minimo de FPS a sido cambiado a: %d", MinFPS);
  77. SendClientMessageToAll(0xFFFFFFFF,string);
  78. return 1;
  79. }
  80. forward fpst(playerid);
  81. public fpst(playerid)
  82. {
  83. SetTimer("fpsk",5000, 0);
  84. }
  85.  
  86. forward fpsk(playerid);
  87. public fpsk(playerid)
  88. {
  89. if(IsPlayerConnected(playerid))
  90. {
  91. if(GetPlayerFPS(playerid) < MinFPS)
  92. {
  93. new string[128];
  94. new name[MAX_PLAYER_NAME];
  95. GetPlayerName(playerid,name,sizeof(name));
  96. format(string, sizeof(string), "%s a sido kickeado por tener muy bajos fps! (%d | MIN: %d)", name, GetPlayerFPS(playerid), MinFPS);
  97. SendClientMessageToAll(0xFF0000FF,string);
  98. Kick(playerid);
  99. }
  100. else SetTimer("fpsk",1000,0);
  101. }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment