Guest User

Untitled

a guest
Dec 6th, 2017
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.16 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <sqlx>
  3.  
  4. #define PLUGIN "GunGame Stats"
  5. #define VERSION "2.0"
  6. #define AUTHOR "GmStaff"
  7.  
  8. new gg_sql_host, gg_sql_user, gg_sql_pass, gg_sql_db, gg_sql_table
  9. new gg_stats_invalid_steam
  10.  
  11. new Handle:tuple, Handle:db
  12.  
  13. new g_query[512]
  14. new g_sqlTable[32]
  15.  
  16. public plugin_init()
  17. {
  18.     register_plugin(PLUGIN, VERSION, AUTHOR)
  19.    
  20.     gg_sql_host = get_cvar_pointer("gg_sql_host")
  21.     gg_sql_user = get_cvar_pointer("gg_sql_user")
  22.     gg_sql_pass = get_cvar_pointer("gg_sql_pass")
  23.     gg_sql_db = get_cvar_pointer("gg_sql_db")
  24.     gg_sql_table = get_cvar_pointer("gg_sql_table")
  25.    
  26.     gg_stats_invalid_steam = register_cvar("gg_stats_invalid_steam", "'STEAM_ID_LAN', 'STEAM_ID_PENDING', 'VALVE_ID_LAN', 'VALVE_ID_PENDING'")
  27.    
  28.     set_task(1.5, "sql_init")
  29. }
  30.  
  31. public sql_init()
  32. {
  33.     new host[32], user[32], pass[32], dbname[32]
  34.     get_pcvar_string(gg_sql_host,host,31)
  35.     get_pcvar_string(gg_sql_user,user,31)
  36.     get_pcvar_string(gg_sql_pass,pass,31)
  37.     get_pcvar_string(gg_sql_db,dbname,31)
  38.  
  39.     new sqlErrorCode, sqlError[1024]
  40.    
  41.    
  42.     tuple = SQL_MakeDbTuple(host,user,pass,dbname)
  43.    
  44.     if(tuple == Empty_Handle)
  45.     {
  46.         log_amx("Could not create database tuple. Error #%i: %s",sqlErrorCode,sqlError)
  47.         return
  48.     }
  49.    
  50.     db = SQL_Connect(tuple,sqlErrorCode,sqlError,1023)
  51.  
  52.     if(db == Empty_Handle)
  53.     {
  54.         log_amx("Could not connect to database. Error #%i: %s",sqlErrorCode,sqlError)
  55.         return
  56.     }
  57.    
  58.     SQL_FreeHandle(db)
  59.    
  60.     get_pcvar_string(gg_sql_table,g_sqlTable,31)
  61.    
  62.     formatex(g_query, charsmax(g_query), "ALTER TABLE  `%s` ADD  `rank` INT NOT NULL DEFAULT  '0'", g_sqlTable)
  63.     SQL_ThreadQuery(tuple, "threadQueryHandler", g_query, "1", 2)
  64. }
  65.  
  66. public threadQueryHandler(failstate,Handle:query,error[],errnum,data[],size,Float:queuetime)
  67. {
  68.     static status
  69.     if (!status)
  70.     {
  71.         status = 1
  72.         new invalid_steam[256]
  73.         get_pcvar_string(gg_stats_invalid_steam, invalid_steam, charsmax(invalid_steam))
  74.         formatex(g_query, charsmax(g_query), "SET @r = 0;UPDATE `%s` SET `rank` = (@r := @r + 1) WHERE `authid` NOT IN (%s) ORDER BY `wins` DESC, `points` DESC", g_sqlTable, invalid_steam)
  75.         SQL_ThreadQuery(tuple, "threadQueryHandler", g_query)
  76.     }
  77.     else
  78.     {
  79.         SQL_FreeHandle(tuple)
  80.     }
  81. }
Add Comment
Please, Sign In to add comment