Page 1 of 2

Admin Activity SQLx - remote sql.

Posted: 02 Mar 2015, 13:11
by The Kalu
Multumiri lui HADES OWNAGE pentru explicatie la sqlx.
Descriere: Stocheaza intr-o baza de date informatii despre activitatea adminilor, timpul ca sa fiu mai exact si in functie de server time si timpul jucat acorda o bila neagra sau deloc.Se bazeaza pe baza la Player TimeTrack.

Descarcare:
Fisier .sma: http://www.girlshare.ro/34515600.9

Nume: Admin Activity
Versiune: 1.x
Link oficial:

Instalare:
1. Fisierul AdminActivity.sma il puneti in addons/amxmodx/scripting
2. Fisierul AdminActivity.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

AdminActivity.amxx

Cvar-uri Nu are

Comenzi administrative Nu are

Comenzi publice /activity

Module necesare Nu are

Imagini:
Fara imagini momentan.

Daca sunt probleme postati aici.

Re: Admin Activity SQLx - remote sql.

Posted: 02 Mar 2015, 13:52
by MicuXx

Code: Select all

L 03/02/2015 - 13:52:56: Info (map "bb_dustmap") (file "addons/amxmodx/logs/error_20150302.log")
L 03/02/2015 - 13:52:56: [AMXX] Plugin ("removebile.amxx") is setting itself as failed.
L 03/02/2015 - 13:52:56: [AMXX] Plugin says: Can't connect to MySQL server on '127.0.0.1' (111)
L 03/02/2015 - 13:52:56: [AMXX] Run time error 1 (plugin "removebile.amxx") - forced exit
Explica-mi si mie cum procedez. Chiar nu ma descurc cu mysql.

Re: Admin Activity SQLx - remote sql.

Posted: 02 Mar 2015, 13:55
by The Kalu
g_pcvarHost = register_cvar( "sql_host", "127.0.0.1" )
g_pcvaruUser = register_cvar( "sql_user", "root" )
g_pcvarPass = register_cvar( "sql_pass", "" )
g_pcvarDB = register_cvar( "sql_db", "cstrike" )
prima linie host mysql
a doua linie user mysql
a treia linie parola de la user mysql
ultima linie este database-ul

PS: Trebuie sa ai permisiune de conexiuni externe la server si host sql.

Re: Admin Activity SQLx - remote sql.

Posted: 02 Mar 2015, 16:51
by YONTU
verde: explicatii
rosu: gresit
| Afiseaza codul
[quote]#include <amxmodx>
#include <amxmisc >		// -> stock is_user_admin(id) ...
#include <sqlx>

#define PLUGIN "Admin Activity SQLx"
#define VERSION "0.Ox"
#define AUTHOR "Hades Ownage, M0hikan"
#define MAX_BALLS 3

#pragma tabsize 0

//sqlx stuff, don't touch too much.
new const SQL_TABLE[ ] = "admin_activity";
new g_pcvarHost;
new g_pcvaruUser;
new g_pcvarPass;
new g_pcvarDB;
new Handle:g_SqlTuple;
new g_Error[ 512 ]

new steamid[32]
new playedTime[32]
new string[32]
new uid[32]
new BlackBalls[3]

//time refference
//new timeLapse, szHours[64], szMinutes[64], dayTime[64]
//timeLapse = get_systime();

//format_time(szHours, 64, "%I" , timeLapse); //ore
//format_time(szMinutes, 64, "%M" , timeLapse); //minute
//format_time(dayTime, 64, "%I:%M %p" , timeLapse); //ore si minute AM/PM

//end time refference


//Plugin init
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	g_pcvarHost = register_cvar( "sql_host", "127.0.0.1" )
	g_pcvaruUser = register_cvar( "sql_user", "root" )
	g_pcvarPass = register_cvar( "sql_pass", "" )
	g_pcvarDB = register_cvar( "sql_db", "cstrike" )
	
	//client commands
	register_clcmd("say /activity", "AdminCheck");
	
	set_task( 0.1, "SqlInit" )
	set_task(3600.0, "CheckAdminActivity",_, _, _, "b") //la fiecare ora verifica timpul jucat al adminului
	// si daca iasa adminul respectiv de pe server ?
}

/*
SQL stuff
*/
public SqlInit( )
{
	new szHost[ 32 ]
	new szUser[ 32 ]
	new szPass[ 32 ]
	new szDB[ 32 ]
	
	get_pcvar_string( g_pcvarHost, szHost, charsmax( szHost ) )
	get_pcvar_string( g_pcvaruUser, szUser, charsmax( szUser ) )
	get_pcvar_string( g_pcvarPass, szPass, charsmax( szPass ) )
	get_pcvar_string( g_pcvarDB, szDB, charsmax( szDB ) )
	
	g_SqlTuple = SQL_MakeDbTuple( szHost, szUser, szPass, szDB )
	
	new ErrorCode
	new Handle:SqlConnection = SQL_Connect( g_SqlTuple, ErrorCode, g_Error, charsmax( g_Error ) )
	
	if( SqlConnection == Empty_Handle )
		set_fail_state( g_Error )
	
	new Handle:Queries
	Queries = SQL_PrepareQuery( SqlConnection, "CREATE TABLE IF NOT EXISTS %s (id INT(11) NOT NULL PRIMARY KEY, steamid varchar(32), playedTime int(11), blackBalls int(11)) ", SQL_TABLE )
	
	if( !SQL_Execute( Queries ) )
	{
		SQL_QueryError( Queries, g_Error, charsmax( g_Error ) )
		set_fail_state( g_Error )
	}
	
	SQL_FreeHandle( Queries )
	SQL_FreeHandle( SqlConnection ) 
}

public LoadData(id)
{
	static Data[1]; Data[0] = id
	
	new name[32]
	get_user_name(id, name, 31)
	
	new szTemp[ 512 ]
	formatex( szTemp, charsmax( szTemp ), "SELECT * FROM %s WHERE (`%s`.`steamid` = '%s');", SQL_TABLE, SQL_TABLE, name)
	
	SQL_ThreadQuery( g_SqlTuple, "AddAdminActivity", szTemp, Data, 1 )
}

public AddAdminActivity( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize )
{
	if( SQL_IsFail( FailState, Errcode, Error ) )
		return PLUGIN_HANDLED_MAIN
	
	static id; id = Data[0]
	
	if(is_user_admin(id)){
		
		if( SQL_NumResults( Query ) < 1 )
		{
			
			static playTime
			playTime = get_user_time(id, 1) / 60;
			new name[32]
			get_user_name(id, name, 31)
			
			new szTemp[ 512 ]
			formatex( szTemp, charsmax( szTemp ), "INSERT INTO %s (steamid, playedTime, blackBalls) VALUES('%s', '0', '0');", SQL_TABLE, name, playTime)
			
			SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", szTemp )
			
		}
		}/* else {	// Nu e necesar. Conditia este adevarata cat timp jucatorul e admin
		return PLUGIN_HANDLED
	}*/
	
	SQL_FreeHandle(Query)
	return PLUGIN_CONTINUE
}


public ResetData(id)
{
	new name[32]
	get_user_name(id, name, 31)
	
	new szTemp[ 512 ]
	formatex( szTemp, charsmax( szTemp ), "UPDATE `%s` SET `playedTime` = '0' WHERE `%s`.`steamid` = '%s';", SQL_TABLE, SQL_TABLE, name)
	
	SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", szTemp )
}

public CheckAdminActivity(/*id*/){
	
	new szPlayers[ 32 ], iNum, id;
	get_players( szPlayers, iNum, "c" );
	
	for( new i = 0 ; i < iNum ; i++ ) 
	{
		id = szPlayers[ i ];
		
		if( is_user_admin( id ) ) 
		{	// luam doar adminii din toti jucatorii ON
			
			//if(get_user_flags(id) & ADMIN_KICK){
			
			new name[32]
			get_user_name(id, name, 31)
			
			static Data[1]; Data[0] = id
			new szTemp[512]
			formatex( szTemp, charsmax( szTemp ), "SELECT * FROM %s WHERE (`%s`.`steamid` = '%s');", SQL_TABLE, SQL_TABLE, name)
			SQL_ThreadQuery(g_SqlTuple,"AdminCheck",szTemp,Data,1)
			/*} else {		// Nu e necesar
			return PLUGIN_HANDLED
			*/
			
			//return PLUGIN_CONTINUE      
		}
	}
}

public AdminCheck(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED)
		log_amx("Load - Could not connect to SQL database.  [%d] %s", Errcode, Error)
	else if(FailState == TQUERY_QUERY_FAILED)
		log_amx("Load Query failed. [%d] %s", Errcode, Error)
	
	static id; id = Data[0]
	
	//we have results
	if( SQL_NumResults( Query ) > 0 )
	{
		
		uid[id] = SQL_ReadResult(Query, 0) //integer
		steamid[id] = SQL_ReadResult(Query, 1, string, 31) //string
		playedTime[id] = SQL_ReadResult(Query, 2) //integer
		BlackBalls[id] = SQL_ReadResult(Query, 3) //integer
		
		new timeLapse, szHours[64], szMinutes[64], dayTime[64]
		timeLapse = get_systime();
		
		format_time(szHours, 64, "%I" , timeLapse); //ore
		format_time(szMinutes, 64, "%M" , timeLapse); //minute
		format_time(dayTime, 64, "%I:%M %p" , timeLapse); //ore si minute AM/PM
		
		if(BlackBalls[id] >= MAX_BALLS){
			
			removeAdmin(uid[id])
			client_print(id, print_chat, "[ADMIN ACTIVITY] %s ti-a fost scos adminul pentru acumularea de 3 bile negre.", steamid[id])
			return PLUGIN_HANDLED
		} else {
			
			//180 minutes = 3 hours of activity
			if((szHours[id] >= 00) || (szMinutes[id] >= 00) || playedTime[id] >= 180){
				return PLUGIN_HANDLED
			}
			
			//leap check
			if(playedTime[id] >= 180){
				client_print(id,print_chat,"[ADMIN ACTIVITY] Azi ai jucat %d minute si ti-ai terminat programul, felicitari pentru activitate admin %s.", playedTime[id], steamid[id])
				} else {
				client_print(id,print_chat,"[ADMIN ACTIVITY] %s azi ai jucat %d minute si inca nu ti-ai terminat programul.", steamid[id], playedTime[id])	
			}
			
			//Nu are destule ore jucate
			if((szHours[id] >= 00) || (szMinutes[id] >= 00) || playedTime[id] != 180){
				AddAdminBlackBalls(uid[id])
				client_print(id,print_chat,"[ADMIN ACTIVITY] %s ti-a fost adaugata o bila neagra in cont,la %d bile negre ramai fara admin.Momentan ai %d/%d.", playedTime[id], steamid[id], MAX_BALLS, BlackBalls[id], MAX_BALLS)
			}
		}
	}
	
	return PLUGIN_HANDLED
} 

public AddAdminBlackBalls(id)
{
	
	new name[32]
	get_user_name(id, name, 31)
	new bball[1]
	new szTemp[ 512 ]
	formatex( szTemp, charsmax( szTemp ), "UPDATE `%s` SET `blackBalls` = `blackBalls` + '%d' WHERE `%s`.`steamid` = '%s';", SQL_TABLE, bball, SQL_TABLE,name)
	
	SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", szTemp )
}

public removeAdmin(id){
	
	new name[32]
	get_user_name(id, name, 31)
	new szFile = fopen( "addons/amxmodx/configs/users.ini", "r" );
	
	if( !szFile )
		return 1;
	
	new szData[ 512 ], szParseName[ 32 ], szParsePassword[ 32 ], szParseFlags[ 32 ], szParseRFlags[ 32 ], iLine;
	
	while( !feof( szFile ) )
	{
		fgets( szFile, szData, sizeof( szData ) -1 );
		
		if( szData[ 0 ] == ';' || szData[ 0 ] == '!' || szData[ 0 ] == '/' && szData[ 1 ] == '/' )
			continue;
		
		parse( szData, szParseName, sizeof( szParseName ) -1, szParsePassword, sizeof( szParsePassword ) -1, szParseFlags, sizeof( szParseFlags ) -1, szParseRFlags, sizeof( szParseRFlags ) -1 );
		
		if( equali( szParseName, name ) )
		{
			new szPlayerInfo[ 256 ];
			format( szPlayerInfo, sizeof( szPlayerInfo ) -1, "; ^"%s^" ^"%s^" ^"%s^" ^"%s^"", szParseName, szParsePassword, szParseFlags, szParseRFlags );
			
			write_file( "addons/amxmodx/configs/users.ini", szPlayerInfo, iLine );
		}
		
		iLine++;
	}
	
	fclose( szFile );
	
	return PLUGIN_HANDLED
}


public client_putinserver( id ){
	LoadData(id)	
}

public client_disconnect(id){
	
	ResetData(id)
}

public IgnoreHandle( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize )
	SQL_FreeHandle( Query )

SQL_IsFail( const FailState, const Errcode, const Error[ ] ) {
	if( FailState == TQUERY_CONNECT_FAILED )
	{
		log_amx( "[Error] Could not connect to SQL database: %s", Error )
		return true
	}
	
	else if( FailState == TQUERY_QUERY_FAILED )
	{
		log_amx( "[Error] Query failed: %s", Error )
		return true
	}
	
	else if( Errcode )
	{
		log_amx( "[Error] Error on query: %s", Error )
		return true
	}
	
	return false
}
[/quote]

Re: Admin Activity SQLx - remote sql.

Posted: 02 Mar 2015, 17:09
by ionutalexandru
M0hikan wrote:
g_pcvarHost = register_cvar( "sql_host", "127.0.0.1" )
g_pcvaruUser = register_cvar( "sql_user", "root" )
g_pcvarPass = register_cvar( "sql_pass", "" )
g_pcvarDB = register_cvar( "sql_db", "cstrike" )
prima linie host mysql
a doua linie user mysql
a treia linie parola de la user mysql
ultima linie este database-ul

PS: Trebuie sa ai permisiune de conexiuni externe la server si host sql.
Imi poti explica si mie cum sa rezolv eroarea astal, nu inteleg ce ai zis acolo prima linie, a doua .....

Re: Admin Activity SQLx - remote sql.

Posted: 02 Mar 2015, 17:15
by The Kalu
The YONTU wrote:verde: explicatii
rosu: gresit
| Afiseaza codul
[quote]#include <amxmodx>
#include <amxmisc >		// -> stock is_user_admin(id) ...
#include <sqlx>

#define PLUGIN "Admin Activity SQLx"
#define VERSION "0.Ox"
#define AUTHOR "Hades Ownage, M0hikan"
#define MAX_BALLS 3

#pragma tabsize 0

//sqlx stuff, don't touch too much.
new const SQL_TABLE[ ] = "admin_activity";
new g_pcvarHost;
new g_pcvaruUser;
new g_pcvarPass;
new g_pcvarDB;
new Handle:g_SqlTuple;
new g_Error[ 512 ]

new steamid[32]
new playedTime[32]
new string[32]
new uid[32]
new BlackBalls[3]

//time refference
//new timeLapse, szHours[64], szMinutes[64], dayTime[64]
//timeLapse = get_systime();

//format_time(szHours, 64, "%I" , timeLapse); //ore
//format_time(szMinutes, 64, "%M" , timeLapse); //minute
//format_time(dayTime, 64, "%I:%M %p" , timeLapse); //ore si minute AM/PM

//end time refference


//Plugin init
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	g_pcvarHost = register_cvar( "sql_host", "127.0.0.1" )
	g_pcvaruUser = register_cvar( "sql_user", "root" )
	g_pcvarPass = register_cvar( "sql_pass", "" )
	g_pcvarDB = register_cvar( "sql_db", "cstrike" )
	
	//client commands
	register_clcmd("say /activity", "AdminCheck");
	
	set_task( 0.1, "SqlInit" )
	set_task(3600.0, "CheckAdminActivity",_, _, _, "b") //la fiecare ora verifica timpul jucat al adminului
	// si daca iasa adminul respectiv de pe server ?
}

/*
SQL stuff
*/
public SqlInit( )
{
	new szHost[ 32 ]
	new szUser[ 32 ]
	new szPass[ 32 ]
	new szDB[ 32 ]
	
	get_pcvar_string( g_pcvarHost, szHost, charsmax( szHost ) )
	get_pcvar_string( g_pcvaruUser, szUser, charsmax( szUser ) )
	get_pcvar_string( g_pcvarPass, szPass, charsmax( szPass ) )
	get_pcvar_string( g_pcvarDB, szDB, charsmax( szDB ) )
	
	g_SqlTuple = SQL_MakeDbTuple( szHost, szUser, szPass, szDB )
	
	new ErrorCode
	new Handle:SqlConnection = SQL_Connect( g_SqlTuple, ErrorCode, g_Error, charsmax( g_Error ) )
	
	if( SqlConnection == Empty_Handle )
		set_fail_state( g_Error )
	
	new Handle:Queries
	Queries = SQL_PrepareQuery( SqlConnection, "CREATE TABLE IF NOT EXISTS %s (id INT(11) NOT NULL PRIMARY KEY, steamid varchar(32), playedTime int(11), blackBalls int(11)) ", SQL_TABLE )
	
	if( !SQL_Execute( Queries ) )
	{
		SQL_QueryError( Queries, g_Error, charsmax( g_Error ) )
		set_fail_state( g_Error )
	}
	
	SQL_FreeHandle( Queries )
	SQL_FreeHandle( SqlConnection ) 
}

public LoadData(id)
{
	static Data[1]; Data[0] = id
	
	new name[32]
	get_user_name(id, name, 31)
	
	new szTemp[ 512 ]
	formatex( szTemp, charsmax( szTemp ), "SELECT * FROM %s WHERE (`%s`.`steamid` = '%s');", SQL_TABLE, SQL_TABLE, name)
	
	SQL_ThreadQuery( g_SqlTuple, "AddAdminActivity", szTemp, Data, 1 )
}

public AddAdminActivity( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize )
{
	if( SQL_IsFail( FailState, Errcode, Error ) )
		return PLUGIN_HANDLED_MAIN
	
	static id; id = Data[0]
	
	if(is_user_admin(id)){
		
		if( SQL_NumResults( Query ) < 1 )
		{
			
			static playTime
			playTime = get_user_time(id, 1) / 60;
			new name[32]
			get_user_name(id, name, 31)
			
			new szTemp[ 512 ]
			formatex( szTemp, charsmax( szTemp ), "INSERT INTO %s (steamid, playedTime, blackBalls) VALUES('%s', '0', '0');", SQL_TABLE, name, playTime)
			
			SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", szTemp )
			
		}
		}/* else {	// Nu e necesar. Conditia este adevarata cat timp jucatorul e admin
		return PLUGIN_HANDLED
	}*/
	
	SQL_FreeHandle(Query)
	return PLUGIN_CONTINUE
}


public ResetData(id)
{
	new name[32]
	get_user_name(id, name, 31)
	
	new szTemp[ 512 ]
	formatex( szTemp, charsmax( szTemp ), "UPDATE `%s` SET `playedTime` = '0' WHERE `%s`.`steamid` = '%s';", SQL_TABLE, SQL_TABLE, name)
	
	SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", szTemp )
}

public CheckAdminActivity(/*id*/){
	
	new szPlayers[ 32 ], iNum, id;
	get_players( szPlayers, iNum, "c" );
	
	for( new i = 0 ; i < iNum ; i++ ) 
	{
		id = szPlayers[ i ];
		
		if( is_user_admin( id ) ) 
		{	// luam doar adminii din toti jucatorii ON
			
			//if(get_user_flags(id) & ADMIN_KICK){
			
			new name[32]
			get_user_name(id, name, 31)
			
			static Data[1]; Data[0] = id
			new szTemp[512]
			formatex( szTemp, charsmax( szTemp ), "SELECT * FROM %s WHERE (`%s`.`steamid` = '%s');", SQL_TABLE, SQL_TABLE, name)
			SQL_ThreadQuery(g_SqlTuple,"AdminCheck",szTemp,Data,1)
			/*} else {		// Nu e necesar
			return PLUGIN_HANDLED
			*/
			
			//return PLUGIN_CONTINUE      
		}
	}
}

public AdminCheck(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED)
		log_amx("Load - Could not connect to SQL database.  [%d] %s", Errcode, Error)
	else if(FailState == TQUERY_QUERY_FAILED)
		log_amx("Load Query failed. [%d] %s", Errcode, Error)
	
	static id; id = Data[0]
	
	//we have results
	if( SQL_NumResults( Query ) > 0 )
	{
		
		uid[id] = SQL_ReadResult(Query, 0) //integer
		steamid[id] = SQL_ReadResult(Query, 1, string, 31) //string
		playedTime[id] = SQL_ReadResult(Query, 2) //integer
		BlackBalls[id] = SQL_ReadResult(Query, 3) //integer
		
		new timeLapse, szHours[64], szMinutes[64], dayTime[64]
		timeLapse = get_systime();
		
		format_time(szHours, 64, "%I" , timeLapse); //ore
		format_time(szMinutes, 64, "%M" , timeLapse); //minute
		format_time(dayTime, 64, "%I:%M %p" , timeLapse); //ore si minute AM/PM
		
		if(BlackBalls[id] >= MAX_BALLS){
			
			removeAdmin(uid[id])
			client_print(id, print_chat, "[ADMIN ACTIVITY] %s ti-a fost scos adminul pentru acumularea de 3 bile negre.", steamid[id])
			return PLUGIN_HANDLED
		} else {
			
			//180 minutes = 3 hours of activity
			if((szHours[id] >= 00) || (szMinutes[id] >= 00) || playedTime[id] >= 180){
				return PLUGIN_HANDLED
			}
			
			//leap check
			if(playedTime[id] >= 180){
				client_print(id,print_chat,"[ADMIN ACTIVITY] Azi ai jucat %d minute si ti-ai terminat programul, felicitari pentru activitate admin %s.", playedTime[id], steamid[id])
				} else {
				client_print(id,print_chat,"[ADMIN ACTIVITY] %s azi ai jucat %d minute si inca nu ti-ai terminat programul.", steamid[id], playedTime[id])	
			}
			
			//Nu are destule ore jucate
			if((szHours[id] >= 00) || (szMinutes[id] >= 00) || playedTime[id] != 180){
				AddAdminBlackBalls(uid[id])
				client_print(id,print_chat,"[ADMIN ACTIVITY] %s ti-a fost adaugata o bila neagra in cont,la %d bile negre ramai fara admin.Momentan ai %d/%d.", playedTime[id], steamid[id], MAX_BALLS, BlackBalls[id], MAX_BALLS)
			}
		}
	}
	
	return PLUGIN_HANDLED
} 

public AddAdminBlackBalls(id)
{
	
	new name[32]
	get_user_name(id, name, 31)
	new bball[1]
	new szTemp[ 512 ]
	formatex( szTemp, charsmax( szTemp ), "UPDATE `%s` SET `blackBalls` = `blackBalls` + '%d' WHERE `%s`.`steamid` = '%s';", SQL_TABLE, bball, SQL_TABLE,name)
	
	SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", szTemp )
}

public removeAdmin(id){
	
	new name[32]
	get_user_name(id, name, 31)
	new szFile = fopen( "addons/amxmodx/configs/users.ini", "r" );
	
	if( !szFile )
		return 1;
	
	new szData[ 512 ], szParseName[ 32 ], szParsePassword[ 32 ], szParseFlags[ 32 ], szParseRFlags[ 32 ], iLine;
	
	while( !feof( szFile ) )
	{
		fgets( szFile, szData, sizeof( szData ) -1 );
		
		if( szData[ 0 ] == ';' || szData[ 0 ] == '!' || szData[ 0 ] == '/' && szData[ 1 ] == '/' )
			continue;
		
		parse( szData, szParseName, sizeof( szParseName ) -1, szParsePassword, sizeof( szParsePassword ) -1, szParseFlags, sizeof( szParseFlags ) -1, szParseRFlags, sizeof( szParseRFlags ) -1 );
		
		if( equali( szParseName, name ) )
		{
			new szPlayerInfo[ 256 ];
			format( szPlayerInfo, sizeof( szPlayerInfo ) -1, "; ^"%s^" ^"%s^" ^"%s^" ^"%s^"", szParseName, szParsePassword, szParseFlags, szParseRFlags );
			
			write_file( "addons/amxmodx/configs/users.ini", szPlayerInfo, iLine );
		}
		
		iLine++;
	}
	
	fclose( szFile );
	
	return PLUGIN_HANDLED
}


public client_putinserver( id ){
	LoadData(id)	
}

public client_disconnect(id){
	
	ResetData(id)
}

public IgnoreHandle( FailState, Handle:Query, Error[ ], Errcode, Data[ ], DataSize )
	SQL_FreeHandle( Query )

SQL_IsFail( const FailState, const Errcode, const Error[ ] ) {
	if( FailState == TQUERY_CONNECT_FAILED )
	{
		log_amx( "[Error] Could not connect to SQL database: %s", Error )
		return true
	}
	
	else if( FailState == TQUERY_QUERY_FAILED )
	{
		log_amx( "[Error] Query failed: %s", Error )
		return true
	}
	
	else if( Errcode )
	{
		log_amx( "[Error] Error on query: %s", Error )
		return true
	}
	
	return false
}
[/quote]

Se rezolva si am prins ideea, am uitat de disconnect. :P

Re: Admin Activity SQLx - remote sql.

Posted: 02 Mar 2015, 19:05
by PapiLover
Bun plugin-ul o sa-l folosesc si eu.

Re: Admin Activity SQLx - remote sql.

Posted: 03 Mar 2015, 17:46
by The Kalu
Urmeaza in curand un update major la el, prima versiune este functionala doar ca are probleme la un public.Mai exact la AdminCheck().

Re: Admin Activity SQLx - remote sql.

Posted: 05 Mar 2015, 14:46
by alynut
M0hikan wrote:Urmeaza in curand un update major la el, prima versiune este functionala doar ca are probleme la un public.Mai exact la AdminCheck().
Deja asteptam >:D<

Re: Admin Activity SQLx - remote sql.

Posted: 06 Nov 2019, 23:02
by Jucator
The Kalu wrote:
03 Mar 2015, 17:46
Urmeaza in curand un update major la el, prima versiune este functionala doar ca are probleme la un public.Mai exact la AdminCheck().
:boundlessly_laughing: :boundlessly_laughing:
Suntem în 2019 wewe...
Nu văd nici un update așa prmoiteți ca la ăștia din parlament spitalele și autostrăzile :))



ON
UN link nou pentru download? Asta este expirat...!!!
cereri-pluginuri/cerere-plugin-monitori ... 65750.html

Re: Admin Activity SQLx - remote sql.

Posted: 06 Nov 2019, 23:44
by The Kalu
Jucator wrote:
06 Nov 2019, 23:02
The Kalu wrote:
03 Mar 2015, 17:46
Urmeaza in curand un update major la el, prima versiune este functionala doar ca are probleme la un public.Mai exact la AdminCheck().
:boundlessly_laughing: :boundlessly_laughing:
Suntem în 2019 wewe...
Nu văd nici un update așa prmoiteți ca la ăștia din parlament spitalele și autostrăzile :))



ON
UN link nou pentru download? Asta este expirat...!!!
cereri-pluginuri/cerere-plugin-monitori ... 65750.html
Inceateaza cu posturile de genul acesta, nu iti dau ban dar fac in asa fel incat sa ma lase Mutex sa umblu in phpbb si sa nu poti posta pe forum.Te bag intr-un grup si fac o conditie si pa pa cu postarile!

Re: Admin Activity SQLx - remote sql.

Posted: 07 Nov 2019, 00:27
by Sokar
The Kalu wrote:
02 Mar 2015, 13:11
Multumiri lui HADES OWNAGE pentru explicatie la sqlx.
Descriere: Stocheaza intr-o baza de date informatii despre activitatea adminilor, timpul ca sa fiu mai exact si in functie de server time si timpul jucat acorda o bila neagra sau deloc.Se bazeaza pe baza la Player TimeTrack.

Descarcare:
Fisier .sma: http://www.girlshare.ro/34515600.9

Nume: Admin Activity
Versiune: 1.x
Link oficial:

Instalare:
1. Fisierul AdminActivity.sma il puneti in addons/amxmodx/scripting
2. Fisierul AdminActivity.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

AdminActivity.amxx

Cvar-uri Nu are

Comenzi administrative Nu are

Comenzi publice /activity

Module necesare Nu are

Imagini:
Fara imagini momentan.

Daca sunt probleme postati aici.
dacă tot a fost reînviat topicul, funcționează cât de cât pluginul sau nu?