Advertisement
Guest User

Untitled

a guest
Jul 25th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.05 KB | None | 0 0
  1. /* First, save the file !   -   Sublime AMXX Editor v1.9 */
  2.  
  3. #include <amxmodx>
  4. #include <cstrike>
  5. #include <fakemeta>
  6. #include <fakemeta_util>
  7. #include <engine>
  8. #include <amxmisc>
  9. #include <fun>
  10. #include <hamsandwich>
  11.  
  12. #define PLUGIN  "New Plug-In"
  13. #define VERSION "1.0"
  14. #define AUTHOR  "Author"
  15.  
  16. public plugin_init()
  17. {
  18.     register_plugin(PLUGIN, VERSION, AUTHOR)
  19.  
  20.     register_forward(FM_CmdStart, "FmCmdStart")
  21. }
  22.  
  23. public client_PreThink()
  24. {
  25.     SV_CheckCmdTimes()
  26. }
  27.  
  28. new Float:g_IgnoreCmdTime[33]
  29. new Float:g_ConnectTime[33]
  30. new Float:g_CmdTime[33]
  31.  
  32. public FmCmdStart(id)
  33. {
  34.     static Float:realtime; realtime = get_gametime()
  35.    
  36.     g_CmdTime[id] = realtime
  37.  
  38.     if(g_IgnoreCmdTime[id] >= realtime)
  39.         forward_return(FMV_CELL, 0) // Creo que era asi para que no se ejecute el cmd
  40. }
  41.  
  42. public client_putinserver(id)
  43.     g_ConnectTime[id] = get_gametime()
  44.  
  45. public SV_CheckCmdTimes()
  46. {
  47.     static Float:realtime; realtime = get_gametime()
  48.  
  49.     // Con static no se borraria
  50.     static Float:lastreset;
  51.  
  52.     // Solo 1 persona
  53.     if (get_playersnum() <= 1)
  54.         return;
  55.  
  56.     // Se ejecuta cada 1seg la func
  57.     if (realtime - lastreset < 1.0)
  58.         return;
  59.  
  60.     lastreset = realtime; // el tiempo en el que se ejecuto, get_gametime
  61.  
  62.     for (new i = 1; i <= get_maxplayers(); i++) // un for por todos los clients
  63.     {
  64.         // client_t* cl = &g_psvs.clients[i]; // g_pvs.clients ????
  65.  
  66.         if (!is_user_connected(i)) // Si no esta "ON"
  67.             continue;
  68.  
  69.         if (g_ConnectTime[i] == 0.0) // Supongo que si no hay tiempo de conexion es porq nunca se conecto y aca se lo setea
  70.             g_ConnectTime[i] = realtime;
  71.  
  72.         new Float:dif = g_ConnectTime[i] + g_CmdTime[i] - realtime; // El tiempo en el que se conecto + el tiempo del last_cmd - el get_gametime?
  73.  
  74.  
  75.         if (dif > 0.5) // Supongo que si la diferencia es mayor a un valor por cvar
  76.         {
  77.             g_IgnoreCmdTime[i] = 0.5 + realtime; // Va a ignorar los comandos por cierto tiempo metido en el cvar?
  78.  
  79.             g_CmdTime[i] = realtime - g_ConnectTime[i]; // ehm, ke
  80.         }
  81.         if (dif < -0.5)
  82.             g_CmdTime[i] = realtime - g_ConnectTime[i]; // na, ni pta idea
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement