Witam, przerabiam sobie admin_gag, tak aby gagi szły na IP
Jednak na chwilę obecną wyrzuca mi takie błędy:
Failed create table query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to us
Kod:
enum _:GagData { GAG_AUTHID[ 35 ], GAG_NAME[33], GAG_TIME, GAG_START, GAG_FLAGS }; new g_szAuthid[ MAX_PLAYERS + 1 ][ 15 ]; public plugin_init( ) { // set server's SteamID to "SERVER" copy( g_szAuthid[ 0 ], charsmax( g_szAuthid[ ] ), "SERVER" ); } InitSQL( ) { // init SQL after configs were executed if( get_pcvar_num( g_pCvarSQL ) ) { new szHost[ 64 ], szUser[ 64 ], szPass[ 64 ], szDb[ 64 ]; get_pcvar_string( g_pCvarSQLHost, szHost, charsmax( szHost ) ); get_pcvar_string( g_pCvarSQLUser, szUser, charsmax( szUser ) ); get_pcvar_string( g_pCvarSQLPass, szPass, charsmax( szPass ) ); get_pcvar_string( g_pCvarSQLDb, szDb, charsmax( szDb ) ); g_hSqlTuple = SQL_MakeDbTuple( szHost, szUser, szPass, szDb ); if( g_hSqlTuple == Empty_Handle ) return; // TABLE STRUCTURE // admin_name VARCHAR(32) NOT NULL // admin_steamid VARCHAR(35) NOT NULL // admin_ip VARCHAR(15) NOT NULL // player_name VARCHAR(32) NOT NULL // player_steamid VARCHAR(35) NOT NULL PRIMARY KEY // player_ip VARCHAR(15) NOT NULL // date_gagged DATETIME NOT NULL // date_ungag DATETIME NOT NULL // gag_seconds INT NOT NULL // gag_flags VARCHAR(3) NOT NULL new iError, szError[ 128 ]; new Handle:hDb = SQL_Connect( g_hSqlTuple, iError, szError, charsmax( szError ) ); if( hDb == Empty_Handle ) { log_amx( "Failed to connect to database: (%d) %s", iError, szError ); return; } new Handle:hQuery = SQL_PrepareQuery( hDb, "CREATE TABLE IF NOT EXISTS gagged_players2 (\ admin_name VARCHAR(32) NOT NULL,\ admin_steamid VARCHAR(35) NOT NULL,\ admin_ip VARCHAR(15) NOT NULL,\ player_name VARCHAR(32) NOT NULL,\ player_steamid VARCHAR(35) NOT NULL,\ player_ip VARCHAR(15) NOT NULL, PRIMARY KEY\ date_gagged DATETIME NOT NULL,\ date_ungag DATETIME NOT NULL,\ gag_seconds INT NOT NULL,\ gag_flags VARCHAR(3) NOT NULL);" ); if( !SQL_Execute( hQuery ) ) { SQL_QueryError( hQuery, szError, charsmax( szError ) ); log_amx( "Failed create table query: %s", szError ); //tu blad } else { //kod } } } public client_authorized( id ) get_user_ip( id, g_szAuthid[ id ], charsmax(g_szAuthid[ ]), 1); public client_disconnect( id ) g_szAuthid[ id ][ 0 ] = '^0'; AddGag( admin, player, iGagTime, iFlags ) { new szAdminName[ 32 ], adminsid[ 35 ]; if( admin ) get_user_name( admin, szAdminName, charsmax( szAdminName ) ); else copy( szAdminName, charsmax( szAdminName ), "SERVER" ); get_user_authid( admin, adminsid, charsmax( adminsid )); new szPlayerName[ 32 ], playersid[ 35 ]; get_user_name( player, szPlayerName, charsmax( szPlayerName ) ); get_user_authid( player, playersid, charsmax( playersid )); new szDateNow[ DATE_SIZE ], szDateUngag[ DATE_SIZE ]; get_time( DATETIME_FORMAT, szDateNow, charsmax( szDateNow ) ); format_time( szDateUngag, charsmax( szDateUngag ), DATETIME_FORMAT, get_systime( ) + iGagTime ); new szFlags[ 4 ]; get_flags( iFlags, szFlags, charsmax( szFlags ) ); new szQuery[ 256 ]; formatex( szQuery, charsmax( szQuery ), "REPLACE INTO gagged_players2 \ (admin_name, admin_steamid, admin_ip, player_name, player_steamid, player_ip, date_gagged, date_ungag, gag_seconds, gag_flags) \ VALUES \ (^"%s^", ^"%s^", ^"%s^", ^"%s^", ^"%s^", ^"%s^", ^"%s^", ^"%s^", %d, ^"%s^");",\ szAdminName, adminsid, g_szAuthid[ admin ],\ szPlayerName, playersid, g_szAuthid[ player ],\ szDateNow, szDateUngag, iGagTime, szFlags ); SQL_ThreadQuery( g_hSqlTuple, "QueryAdd", szQuery ); } public QueryAdd( iFailState, Handle:hQuery, szError[ ], iError, iData[ ], iDataSize, Float:flQueueTime ) { switch( iFailState ) { case TQUERY_CONNECT_FAILED: log_amx( "Failed to connect to database: (%d) %s", iError, szError ); case TQUERY_QUERY_FAILED: log_amx( "Failed add gag query: (%d) %s", iError, szError ); //tu tez blad } }