Advertisement
Guest User

SQL monitor

a guest
Aug 8th, 2012
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.15 KB | None | 0 0
  1.  
  2. #include <amxmodx>
  3. #include <amxmisc>
  4. #include <sqlx>
  5.  
  6. new Handle:g_SqlTuple
  7. new g_Error[512],Sserver;
  8. new Host[64],User[64],Pass[64],Db[64]
  9.  
  10. public plugin_init()
  11. {
  12.     register_plugin("SQl monitor","1.0","Kulers")
  13.     register_clcmd("amx_upserver","update_server");
  14.     get_cvar_string("amx_sql_host",Host,63)
  15.     get_cvar_string("amx_sql_user",User,63)
  16.     get_cvar_string("amx_sql_pass",Pass,63)
  17.     get_cvar_string("amx_sql_db",Db,63)
  18.     Sserver = register_cvar("monitor_server","1") //server id    
  19.     sup();
  20. }
  21.  
  22. public sup()
  23. {
  24.     update_server()
  25.     set_task(30.0,"sup");
  26. }
  27.  
  28. public client_connect(id)
  29. {
  30.     update_server()
  31. }
  32.  
  33. public client_disconnect(id)
  34. {
  35.     update_server()
  36. }
  37.  
  38. public update_server()
  39. {
  40.     client_print(0,print_console,"[Start][Serveris]: %i",get_pcvar_num(Sserver))
  41.     g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,Db)  
  42.     // ok, we're ready to connect
  43.     new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,511)
  44.    
  45.     new Handle:Queries[33]
  46.     new dest[1255]
  47.     format(dest,1254,"DELETE FROM cs_players WHERE cserver='%i'",get_pcvar_num(Sserver))
  48.     Queries[0] = SQL_PrepareQuery(SqlConnection,dest)
  49.     if(!SQL_Execute(Queries[0]))
  50.     {
  51.         SQL_QueryError(Queries[0],g_Error,511)
  52.         client_print(0,print_chat,"[ERROR]: %s",g_Error)
  53.     }
  54.     SQL_FreeHandle(Queries[0])
  55.     for(new i = 1;i <= 32;i++)
  56.     {
  57.             new team[32],name[32]
  58.             new dest[1255]
  59.             new killss = get_user_frags(i)
  60.             new deathss = get_user_deaths(i)
  61.             get_user_team(i, team, 31)
  62.             get_user_name(i, name, 31)
  63.             format(dest,1254,"INSERT INTO cs_players (name,team,frags,death,cserver) VALUES('%s','%s','%i','%i','%i')",name,team,killss,deathss,get_pcvar_num(Sserver))
  64.             Queries[i] = SQL_PrepareQuery(SqlConnection,dest)
  65.             if(!SQL_Execute(Queries[i]))
  66.             {
  67.                 SQL_QueryError(Queries[i],g_Error,511)
  68.                 client_print(0,print_chat,"[ERROR]: %s",g_Error)
  69.             }
  70.             SQL_FreeHandle(Queries[i])
  71.     }
  72.     // you free everything with SQL_FreeHandle
  73.     SQL_FreeHandle(SqlConnection)
  74. }
  75.  
  76. public plugin_end()
  77.     // free the tuple - note that this does not close the connection,
  78.     // since it wasn't connected in the first place
  79.     SQL_FreeHandle(g_SqlTuple)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement