BANNED
Join Date: May 2012
Location: GB
06-25-2012
, 17:37
Adding days, hours, seconds
#1
Hello
Can somebody add to showed the days, hours, minutes and eventually seconds?
And to save the database in the same form (days, hours, minutes and eventually seconds)
Spoiler
PHP Code:
#include <amxmodx> #include <amxmisc> #include <sqlx> #include <colorchat> #define host "hostname" #define user "username" #define pass "password" #define db "datebase" new Handle : sql , g_query [ 512 ] new PlayedTime [ 33 ] new showpt , nick [ 32 ] public plugin_init () { register_plugin ( "Czas Gry SQL" , "0.1" , "author" ) register_clcmd ( "say /czasgry" , "pokaz_czas" ) register_clcmd ( "say /czastop15" , "pokaz_top15" ) register_concmd ( "amx_czasgry" , "admin_pokazczas" , ADMIN_KICK , " <#Nick> - Szczegoly o czasie gry." ) showpt = register_cvar ( "amx_cg_mod" , "1" ) } public plugin_cfg () { sql = SQL_MakeDbTuple ( host , user , pass , db ) formatex ( g_query , 511 , "CREATE TABLE IF NOT EXISTS `played_time` (name VARCHAR(32), playedtime INT, date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)" ) SQL_ThreadQuery ( sql , "query" , g_query ) } public pokaz_czas ( id ) { static ctime [ 64 ], timep timep = get_user_time ( id , 1 ) / 60 get_time ( "%H:%M:%S" , ctime , 63 ) switch( get_pcvar_num ( showpt )) { case 0 : return PLUGIN_HANDLED case 1 : { ColorChat ( id , GREEN , "[CzasGry]^x01 Grasz na serwerze^x03 %d^x01 minut%s." , timep , timep == 1 ? "e" : "" ) ColorChat ( id , GREEN , "[CzasGry]^x01 Ogolnie na serwerze przegrales^x03 %d^x01 minut%s." , timep + PlayedTime [ id ], timep + PlayedTime [ id ] == 1 ? "e" : "" ) } case 2 : { set_hudmessage ( 255 , 50 , 50 , 0.34 , 0.50 , 0 , 6.0 , 4.0 , 0.1 , 0.2 , - 1 ) show_hudmessage ( id , "[CzasGry] Grasz na serwerze %d minut%s.^n[CzasGry] Aktualna godzina: %s" , timep , timep == 1 ? "e" : "" , ctime ) } } return PLUGIN_HANDLED } public pokaz_top15 ( id ) { new data [ 1 ]; data [ 0 ] = id formatex ( g_query , 511 , "SELECT * FROM played_time ORDER BY playedtime DESC LIMIT 15" ) SQL_ThreadQuery ( sql , "show_top15" , g_query , data , 1 ) return PLUGIN_HANDLED } public admin_pokazczas ( id , level , cid ) { if(! cmd_access ( id , level , cid , 2 )) return PLUGIN_HANDLED static arg [ 32 ] read_argv ( 1 , arg , 31 ) new player = cmd_target ( id , arg , 2 ) if(! player ) return PLUGIN_HANDLED get_user_name ( player , nick , 31 ) static timep , ctime [ 64 ] timep = get_user_time ( player , 1 ) / 60 get_time ( "%H:%M:%S" , ctime , 63 ) console_print ( id , "-----------------------(#CzasGry#)-----------------------" ) console_print ( id , "[CG] %s gra na serwerze %d minut%s." , nick , timep , timep == 1 ? "e" : "" ) console_print ( id , "[CG] %s ogolnie przegral na serwerze %d minut%s." , nick , timep + PlayedTime [ player ], timep == 1 ? "e" : "" ) console_print ( id , "-----------------------------------------------------------------" ) return PLUGIN_HANDLED } public client_disconnect ( id ) { get_user_name ( id , nick , 31 ) replace_all ( nick , 32 , "'" , "" ) replace_all ( nick , 32 , "^"", "") PlayedTime[id] = get_playedtime(id) formatex(g_query, 511, " UPDATE played_time SET playedtime = '%d' WHERE name = '%s'", PlayedTime[id], nick) SQL_ThreadQuery(sql, " query ", g_query) PlayedTime[id] = 0 } public client_putinserver(id) { PlayedTime[id] = get_playedtime(id) log_amx(" --> Pobrano % d ", PlayedTime[id]) } public plugin_end() SQL_FreeHandle(sql) get_playedtime(id) { new err, error[128] new Handle:connect = SQL_Connect(sql, err, error, 127) if(err) { log_amx(" --> Nie powiodlo sie polaczenie do MySQL - [% d ][% s ] ", err, error) set_fail_state(" nie powiodlo sie polaczenie do mysql ") } new Handle: query, pt get_user_name(id, nick, 31) replace_all(nick, 32, "'", "") replace_all(nick, 32, "^"", "") query = SQL_PrepareQuery(connect, "SELECT playedtime FROM played_time WHERE name=' % s '", nick) SQL_Execute(query) if(!SQL_MoreResults(query)) { formatex(g_query, 511, "INSERT INTO played_time (name, playedtime) VALUES(' % s ', ' % d ')", nick, get_user_time(id, 1) / 60) SQL_ThreadQuery(sql, "query", g_query) pt = (get_user_time(id, 1) / 60) } else pt = SQL_ReadResult(query,0)+(get_user_time(id, 1) / 60) SQL_FreeHandle(connect) SQL_FreeHandle(query) return pt } public show_top15(FailState, Handle:Query, Error[], Errcode,Data[], DataSize) { new id = Data[0] new good, motd[1024], len, place if(!SQL_MoreResults(Query)) { ColorChat(id, GREEN, "[CzasGry]^x01 Brak wpisow!") return PLUGIN_HANDLED } len = format(motd, 1023, "<body bgcolor=#000000><font color=#FFB000><pre>") len += format(motd[len], 1023 - len, "%s %-22.22s %3s^n", "#", "Nick", "Czas") while(SQL_MoreResults(Query)) { place ++ SQL_ReadResult(Query, 0, nick, 32) good = SQL_ReadResult(Query, 1) replace_all(nick, 32, "<", "") replace_all(nick, 32, ">", "") len += format(motd[len], 1023-len, "%d %-22.22s %d minut%s^n", place, nick, good, good == 1 ? "a" : "") SQL_NextRow(Query) } len += format(motd[len], 1023-len, "</body></font></pre>") show_motd(id, motd, "Top 15 najdluzej grajacych") return PLUGIN_CONTINUE } public query(FailState, Handle:Query, Error[], Errcode) { }
Last edited by OnePL; 06-25-2012 at 17:37 .