переделал под армиранк со своего другого плагина:
Код:
// MySQL
public plugin_cfg()
set_task(1.0, "Load_Debug")
public Load_Debug()
{
new g_Error[512]
SQL_Tuple = SQL_MakeDbTuple(Host, User, Pass, Db);
new ErrorCode,Handle:SqlConnection = SQL_Connect(SQL_Tuple,ErrorCode,g_Error,charsmax(g_Error))
if(SqlConnection == Empty_Handle)
set_fail_state(g_Error)
// Будем вручную в БД создавать.
// if(!SQL_TableExists(SqlConnection, Table))
// {
// new Handle:Queries;
// new Query[512]
// format( Query, 255, "CREATE TABLE `%s`.`%s` (`%s` VARCHAR(40) CHARACTER SET cp1250 COLLATE cp1250_general_ci NOT NULL, `%s` INT NOT NULL, PRIMARY KEY (`%s`))", Db, Table, steam_id, knife_id);
// Queries = SQL_PrepareQuery( SqlConnection, Query )
// if(!SQL_Execute(Queries))
// {
// SQL_QueryError(Queries,g_Error,charsmax(g_Error))
// set_fail_state(g_Error);
// }
// SQL_FreeHandle(Queries)
// }
SQL_FreeHandle(SqlConnection)
}
public QueryHandler(FailState, Handle:Query, Error[], ErrCode, data[], size, Float:querytime)
{
if(!CheckQuery(FailState, ErrCode, Error))
{
SQL_FreeHandle(Query);
return PLUGIN_HANDLED;
}
static id; id = data[0];
if(SQL_NumResults(Query) < 1)
{
// тут типа регистрация должна быть но она не тут
}
else
{
LEVEL[id] = SQL_ReadResult(Query, 0)
EXPERIENCE[id] = SQL_ReadResult(Query, 1)
registered[id] = 1
}
SQL_FreeHandle(Query);
return PLUGIN_CONTINUE;
}
public client_putinserver( id )
{
if(!is_user_connected(id))
return;
if(is_user_bot(id))
{
LEVEL[id] = 4
EXPERIENCE[id] = random_num(2000,6000)
}
else
{
new szSteam[33]
get_user_authid(id,szSteam,32);
new Query[512]
static data[1]; data[0]=id
format( Query, 511, "SELECT level, expa FROM armyrank WHERE steam_id = '%s'", szSteam );
SQL_ThreadQueryFormat(SQL_Tuple,"QueryHandler", Query, data, 1 )
}
}
public client_disconnect(id)
{
if(is_user_bot(id))
return;
if( registered[id] != 1 && EXPERIENCE[id] > 50)
{
new szSteam[33]
get_user_authid(id,szSteam,32)
SQL_ThreadQueryFormatNoData(SQL_Tuple, "IgnoreHandle", "INSERT INTO armyrank ( steam_id , level , expa ) VALUES ('%s', '%d', '%d');", szSteam, LEVEL[id], EXPERIENCE[id]);
}
else if (registered[id] == 1)
{
new szSteam[33]
get_user_authid(id,szSteam,32)
SQL_ThreadQueryFormatNoData(SQL_Tuple, "IgnoreHandle", "UPDATE armyrank SET level = '%d', expa = '%d' WHERE steam_id = '%s'", LEVEL[id], EXPERIENCE[id], szSteam);
}
LEVEL[id] = 0
EXPERIENCE[id] = 0
registered[id] = 0
}
public IgnoreHandle(FailState,Handle:Query,Error[],ErrCode,Data[],DataSize)
{
CheckQuery(FailState, ErrCode, Error)
SQL_FreeHandle(Query)
return PLUGIN_HANDLED
}