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
}
}


Dodatki SourceMod















