char steamid_128 [ 128 ] [ 4 ];
char steamid [ 32 ] [ 32 ];
void CheckSteamID ( )
{
// Заносим steamid из какойта функции в массив
for ( int i = 1; i <= MaxClients; i++ )
{
ev.GetString ( "networkid", steamid [ i ], sizeof ( steamid [ i ] ) );
}
// узнаем номер ячейки последнего символа
for ( int i = 0; i < 32; i++ )
{
int size = 0;
// перебираем массив из 32 steamid по 32 (не всегда) символа
// Нужно, так как размер steamid бывает разный на сколько я знаю;
for ( int x = 0; x < 32; x++ )
{
if ( steamid [ i ] [ x ] = '\0' )
{
// не уверен что -1 нужно делать
size--;
break;
}
}
// отрезаем у массива переднюю часть, оставляя 4 символа последних
strcopy( steamid [ i ], sizeof( steamid [ i ] ), steamid [ size - 4 ] );
}
// перебираем массив из 32 steamid по 4 символа
for ( int i = 0; i < 32; i++ )
{
// перебираем массив из 128 steamid по 4 символа
for ( int x = 0; x < 128; x++ )
{
// Если символы совпадают переходим к следующему steamid
if ( StrEqual ( steamid_128 [ x ], steamid [ i ], false ) )
{
// тут вы можете делать что то если строки не совпали
break;
}
// Если строчка пустая - значит предыдущая запись была последней
// Следовательно можем занести в эту
if ( StrEqual ( steamid_128 [ x ], "", false ) )
{
// на сколько я знаю так нельзя делать, для примера просто
steamid_128 [ x ] = steamid [ i ];
// тут вы можете делать что то если строки не совпали
}
}
}
}