Admin Activity SQLx - remote sql.

Pluginuri pentru modul AmxModX.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

The Kalu
Fost administrator
Fost administrator
Posts: 13707
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

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.
Image
RoyalServer 2
MicuXx
Membru, skill 0
Membru, skill 0
Posts: 75
Joined: 19 Dec 2011, 07:01
Detinator Steam: Da
Detinator server CS: Nu
SteamID: coldr1987
Location: Vaslui
Contact:

02 Mar 2015, 13:52

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.
The Kalu
Fost administrator
Fost administrator
Posts: 13707
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

02 Mar 2015, 13:55

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.
Image
User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

02 Mar 2015, 16:51

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]
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
User avatar
ionutalexandru
Membru, skill +1
Membru, skill +1
Posts: 440
Joined: 10 Jul 2014, 13:43
Detinator Steam: Da
CS Status: Counter Strike 1.6
Detinator server CS: Furien.LaLeagane.Ro
SteamID: BBcode
Fond eXtream: 0
Location: Craiova, Romania
Has thanked: 15 times
Been thanked: 1 time
Contact:

02 Mar 2015, 17:09

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 .....
Image
http://csmaster.biz MasterServer Romanesc Free Add
The Kalu
Fost administrator
Fost administrator
Posts: 13707
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

02 Mar 2015, 17:15

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
Image
User avatar
PapiLover
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 1697
Joined: 22 Aug 2013, 14:26
Detinator Steam: Nu
CS Status: n/a
Detinator server CS: n/a
SteamID: n/a
Reputatie: Restrictie moderator
Utilizator neserios (tepar)
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 33 times
Been thanked: 28 times
Contact:

02 Mar 2015, 19:05

Bun plugin-ul o sa-l folosesc si eu.
The Kalu
Fost administrator
Fost administrator
Posts: 13707
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

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().
Image
User avatar
alynut
Administrator
Administrator
Posts: 7122
Joined: 02 Jul 2012, 06:31
Detinator Steam: Da
CS Status: In concediu, activez mai rar .
SteamID: alynut991
Reputatie: Fost Administrator
Fost Intermediar
Location: Bucuresti
Has thanked: 183 times
Been thanked: 445 times

05 Mar 2015, 14:46

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<
User avatar
Jucator
Membru, skill +1
Membru, skill +1
Posts: 283
Joined: 15 Jul 2017, 21:38
Detinator Steam: Da
Fond eXtream: 0
Location: PornHUB
Has thanked: 36 times
Been thanked: 13 times
Contact:

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
Unde stau +ss
| Afiseaza codul
MILSUGI?ai luat țeapă 
The Kalu
Fost administrator
Fost administrator
Posts: 13707
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

06 Nov 2019, 23:44

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!
Image
User avatar
Sokar
Membru, skill +2
Membru, skill +2
Posts: 596
Joined: 13 Jan 2018, 21:18
Detinator Steam: Da
Fond eXtream: 0
Location: Constanța
Has thanked: 9 times
Been thanked: 5 times

07 Nov 2019, 00:27

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?
Post Reply

Return to “AmxModX”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 18 guests