Raised This Month: $ Target: $400
 0% 

[JailBreak] Dissapearing packs [Free Code For You]


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
KamiN
Senior Member
Join Date: Jun 2011
Old 06-21-2012 , 15:40   [JailBreak] Dissapearing packs [Free Code For You]
#1

I do have a little bit modified jailbreak shop 3.0
In plugin's version i do have JB Packs are saved in mysql by players IP adress.

Some players complaining that JB Packs they earned by killing CTs disappeared. JB Packs not disappearing periodically, in logs i cant find any errors. So i would like to ask you to look at the code and tell me if there's anything wrong why JB packs could disappear.

This is just a part of code witch is related with mysql
Code:
new Handle:g_hDbTuple;
new p_DbHost, p_DbUser, p_DbPass, p_DbName;

public plugin_init()
{
	p_DbHost = register_cvar( "amx_packs_dbhost", "xxx" );
	p_DbUser = register_cvar( "amx_packs_dbuser", "xxx" );
	p_DbPass = register_cvar( "amx_packs_dbpass", "xxx" );
	p_DbName = register_cvar( "amx_packs_dbname", "xxx" );

	SQL_CreateDbTuple( );
}

public plugin_end( )
{
	SQL_SaveAllDbTuple( );

	if ( g_hDbTuple )
	{
		SQL_FreeHandle( g_hDbTuple );
	}
}

public client_disconnect( id )
{
	SQL_SaveDbTuple( id );
}

public client_putinserver( id )
{
	SQL_LoadDbTuple( id );
}

SQL_CreateDbTuple( )
{
	new szDBHost[ 64 ], szDBUser[ 32 ], szDBPass[ 32 ], szDBName[ 32 ], szQuery[ 256 ];
	get_pcvar_string( p_DbHost, szDBHost, charsmax( szDBHost ) );
	get_pcvar_string( p_DbUser, szDBUser, charsmax( szDBUser ) );
	get_pcvar_string( p_DbPass, szDBPass, charsmax( szDBPass ) );
	get_pcvar_string( p_DbName, szDBName, charsmax( szDBName ) );

	g_hDbTuple = SQL_MakeDbTuple( szDBHost, szDBUser, szDBPass, szDBName, 0 );

	format( szQuery, charsmax( szQuery ), "CREATE TABLE IF NOT EXISTS nwk_packs (zaidejo_ip varchar(32) NOT NULL default '', zaidejo_paketai int(16) DEFAULT NULL) TYPE=MyISAM;" );
	SQL_ThreadQuery( g_hDbTuple, "QueryHandler", szQuery );
}

SQL_SaveAllDbTuple( )
{
	new players[ 32 ], pnum, i;
	get_players( players, pnum );

	for ( i = 0; i < pnum; i++ )
	{
		SQL_SaveDbTuple( players[ i ] );
	}
}

SQL_SaveDbTuple( id )
{
	if ( g_jbpacks[ id ] > 0 )
	{
		new user_ip[ 32 ], szQuery[ 256 ];
		get_user_ip( id, user_ip, charsmax( user_ip ), 1 );

		format( szQuery, charsmax( szQuery ), "UPDATE nwk_packs SET zaidejo_paketai = '%d' WHERE zaidejo_ip = '%s';", g_jbpacks[ id ], user_ip );
		SQL_ThreadQuery( g_hDbTuple, "QueryHandler", szQuery );
	}
}

SQL_LoadDbTuple( id )
{
	new user_ip[ 32 ], szQuery[ 256 ], data[ 1 ];
	get_user_ip( id, user_ip, charsmax( user_ip ), 1 );

	data[ 0 ] = id;

	format( szQuery, charsmax( szQuery ), "SELECT zaidejo_ip, zaidejo_paketai FROM nwk_packs WHERE zaidejo_ip = '%s';", user_ip );
	SQL_ThreadQuery( g_hDbTuple, "QuerySelect", szQuery, data, 1 );
}

public QuerySelect( failstate, Handle:query, error[ ], errnum, data[ ], size, Float:queuetime )
{
	if ( ( failstate == TQUERY_QUERY_FAILED ) || ( failstate == TQUERY_CONNECT_FAILED ) )
	{
		server_print( "* MySQL failstate: %s [%d]", error, errnum );
		return;
	}

	new id, user_ip[ 32 ];
	id = data[ 0 ];
	get_user_ip( id, user_ip, charsmax( user_ip ), 1 );

	if ( !SQL_NumResults( query ) )
	{
		new szQuery[ 256 ];
		format( szQuery, charsmax( szQuery ), "INSERT INTO nwk_packs (zaidejo_ip, zaidejo_paketai) VALUES ('%s', '0');", user_ip );
		SQL_ThreadQuery( g_hDbTuple, "QueryHandler", szQuery );

		g_jbpacks[ id ] = get_pcvar_num( g_startjp );
	}

	else
	{
		g_jbpacks[ id ] = SQL_ReadResult( query, 1 );
	}
}

public QueryHandler( failstate, Handle:query, error[ ], errnum, data[ ], size, Float:queuetime )
{
	if ( ( failstate == TQUERY_QUERY_FAILED ) || ( failstate == TQUERY_CONNECT_FAILED ) )
	{
		server_print( "* MySQL failstate: %s [%d]", error, errnum );
	}
}

Last edited by ConnorMcLeod; 06-22-2012 at 14:40.
KamiN is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:18.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode