HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <hamsandwich>
  4.  
  5. #define PLUGIN "[AMXX] - FPS MAX"
  6. #define VERSION "1.0"
  7. #define AUTHOR "Nill_"
  8.  
  9. new Trie:g_tCvars;
  10.  
  11. const g_iFpsMax = 100; // FPS limit megadása.
  12.  
  13. public plugin_init()
  14. {
  15. register_plugin(PLUGIN, VERSION, AUTHOR)
  16. }
  17.  
  18. public plugin_cfg()
  19. {
  20. g_tCvars = TrieCreate();
  21.  
  22. new szFpsMax[3];
  23. num_to_str(g_iFpsMax, szFpsMax, charsmax(szFpsMax));
  24.  
  25. TrieSetString(g_tCvars, "fps_max", szFpsMax);
  26.  
  27. set_task(0.8, "OnTaskCheckCvars", _, _, _, "b");
  28. }
  29.  
  30. public plugin_end()
  31. {
  32. TrieDestroy(g_tCvars);
  33. }
  34.  
  35. public client_putinserver(id)
  36. {
  37. if(!is_user_bot(id))
  38. client_cmd( id, "fps_max %d", g_iFpsMax);
  39. }
  40.  
  41. public OnTaskCheckCvars()
  42. {
  43. new szPlayers[ 32 ], iNum;
  44. get_players(szPlayers, iNum, "c");
  45.  
  46. static iTempID;
  47.  
  48. for(new i; i < iNum; i++)
  49. {
  50. iTempID = szPlayers[i];
  51.  
  52. query_client_cvar(iTempID, "fps_max", "OnCvarResult");
  53. }
  54. }
  55.  
  56. public OnCvarResult(id, const szCvar[], const szValue[])
  57. {
  58. new szValueCheck[4], szReason[128];
  59. TrieGetString( g_tCvars, szCvar, szValueCheck, charsmax(szValueCheck));
  60.  
  61. new iValue = str_to_num(szValue);
  62.  
  63. if(equal(szCvar, "fps_max"))
  64. {
  65. if(iValue > g_iFpsMax)
  66. {
  67. formatex( szReason, charsmax(szReason), "Az FPS-ED meghalatt a megengedett értéket.");
  68.  
  69. server_cmd( "kick #%d Az FPS-ED meghalatt a megengedett értéket", get_user_userid(id));
  70. client_print( id, print_console, szReason);
  71. }
  72. }
  73. return PLUGIN_CONTINUE;
  74. }