View Single Post
JocAnis
Veteran Member
Join Date: Jun 2010
Old 05-23-2019 , 18:56   Re: client_disconnected() <-> plugin_end()
Reply With Quote #22

well i changed method to hlev's suggestion, to send big query...so big query is sent every 5 seconds (loop) with updating kills+deaths for every connected player...client_disconnect is (still) updating only one column for last_join (before plugin_end)...result: no duplicated rows for now (400 players in new table)...i guess thats it

code for that big query if anyone would use, again, thanks to hlev for the suggestion:

Code:
public update_big_query()
{
	new  buffer[2048], len, players[ 32 ], pnum
	get_players( players, pnum, "chi" )

	len = formatex(buffer, 2047, "UPDATE TABLE_NAME \
		SET kills = ( case " )
		
	if( pnum <= 1 )
		return PLUGIN_HANDLED
		
	for( new i = 0; i <= pnum; i++ )
	{
		if( !is_user_connected( players[ i ] ) ) continue 
		
		if( g_iPlayerKills[ players[ i ] ] != 0 )
		{
			len += formatex( buffer[len], 2047-len, "when id=%d then '%d'", g_iPlayerID[ players[ i ] ], g_iPlayerKills[ players[ i ] ] )
		}
	}
		
	len += formatex( buffer[len], 2047-len, " end ), deaths = ( case " )
	for( new i = 0; i <= pnum; i++ )
	{
		if( !is_user_connected( players[ i ] ) ) continue 
		
		len += formatex( buffer[len], 2047-len, "when id=%d then '%d'", g_iPlayerID[ players[ i ] ], g_iPlayerDeaths[ players[ i ] ] )
	}
	
	len += formatex( buffer[len], 2047-len, " end ) WHERE id in ( " )
	
	for( new i = 0; i <= pnum; i++ )
	{
		if( !is_user_connected( players[ i ] ) ) continue 
		
		if( g_iPlayerKills[ players[ i ] ] != 0 )
			len += formatex( buffer[len], 2047-len, "%s%d", i > 1 ? ", ":"", g_iPlayerID[ players[ i ] ] )
	}
		
	len += formatex( buffer[len], 2047-len, " )" )
	
	if( !disconnect )
		SQL_ThreadQuery( g_SqlTuple, "IgnoreHandle", buffer ) 
		
	//client_print( 0, print_console, "%s", buffer )
	return PLUGIN_HANDLED
}
__________________
KZ Public Autocup - PrimeKZ

My blog: http://primekz.xyz (in progress...) - not active (dec 2022)

Last edited by JocAnis; 10-31-2019 at 14:17.
JocAnis is offline