Offline |
|
|
Csatlakozott:2018.01.05. 10:30 Hozzászólások:66 Megköszönt másnak: 5 alkalommal Megköszönték neki: 19 alkalommal
|
duvilax írta: SidLuke írta: duvilax írta: Sziasztok!
Valaki tudna nekem segíteni, hogy mivel tudnám lekérni a bejelentkezésnél az időt?
Elég, ha valaki, olyan pluginba megcsinálja, hogy mikor feljön a szerverre akkor írná be egy táblába a neve szerint. Tehát a neve szerint, vagy a steam id szerint is jó. Az a lényeg, hogy a oszlop az pl uaktiv legyen. Táblanév meg mondjuk ido.
A többit már megoldom.
Előre is köszönöm! Szia, próbáld. #include < amxmodx > #include < sqlx > new const g_sSQL_INFOS[ ][ ] = { "", // HOST "", // USERNAME "", // PASSWORD "" // DATABASE }; new Handle: g_iSqlTuple; new g_sName[ MAX_PLAYERS ][ 32 ], g_sLastOnline[ MAX_PLAYERS ][ 32 ]; public plugin_init( ) { register_plugin( "", "1.0", "" ); g_iSqlTuple = SQL_MakeDbTuple( g_sSQL_INFOS[ 0 ], g_sSQL_INFOS[ 1 ], g_sSQL_INFOS[ 2 ], g_sSQL_INFOS[ 3 ] ); new sThread[ 256 ]; formatex( sThread, charsmax( sThread ), "CREATE TABLE IF NOT EXISTS `Utoljarabelepve` (`username` varchar( 32 ) NOT NULL, `utoljara` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);" ); SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sThread, { 0 }, 1 ); register_clcmd( "say /utoljara", "cmdLastOnline" ); } public cmdLastOnline( iPlayerId ) { client_print( iPlayerId, print_chat, "Utolso belepesed: %s", g_sLastOnline[ iPlayerId ] ); } public client_putinserver( iPlayerId ) { if ( !is_user_bot( iPlayerId ) && !is_user_hltv( iPlayerId ) ) { get_user_name( iPlayerId, g_sName[ iPlayerId ], charsmax( g_sName[ ] ) ); Load( iPlayerId ); } } public Save( iPlayerId, iMode ) { static sText[ 128 ]; if ( iMode == 1 ) formatex( sText, charsmax( sText ), "INSERT INTO `Utoljarabelepve` (`username`) VALUES (^"%s^");", g_sName[ iPlayerId ] ); else formatex( sText, charsmax( sText ), "UPDATE `Utoljarabelepve` SET `utoljara` = CURRENT_TIMESTAMP WHERE `username` = ^"%s^";", g_sName[ iPlayerId ] ); SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sText, { 0 }, 1 ); } public Load( iPlayerId ) { static sText[ 128 ], iArray[ 1 ]; iArray[ 0 ] = iPlayerId; formatex( sText, charsmax( sText ), "SELECT `utoljara` FROM `Utoljarabelepve` WHERE `username` = ^"%s^";", g_sName[ iPlayerId ] ); SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sText, iArray, sizeof( iArray ) ); } public ThreadHandler( iFailState, Handle:iQuery, const sErrorMsg[ ], iErrorCode, const iARRAY[ ], iArraySize, Float:fQueueTime ) { if ( iFailState == TQUERY_CONNECT_FAILED ) { log_amx( "%i - %s", iErrorCode, sErrorMsg ); set_fail_state("Nem tudtam csatlakozni az adatbazishoz."); } else if ( iFailState == TQUERY_QUERY_FAILED ) { log_amx( "%i - %s", iErrorCode, sErrorMsg ); set_fail_state("Query Error"); } new iPlayerId = iARRAY[ 0 ]; if ( iPlayerId ) { if ( SQL_NumResults( iQuery ) > 0 ) { SQL_ReadResult( iQuery, SQL_FieldNameToNum( iQuery, "utoljara" ), g_sLastOnline[ iPlayerId ], charsmax( g_sLastOnline[ ] ) ); Save( iPlayerId, 2 ); } else { get_time( "%Y-%m-%d %H:%M:%S", g_sLastOnline[ iPlayerId ], charsmax( g_sLastOnline[ ] ) ); Save( iPlayerId, 1 ); } } return; }
Köszi de miért nem fordúl le? Nálam lefordúl és működik is.
|
|