• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Сортировка

Статус
В этой теме нельзя размещать новые ответы.

DonJefferi

Умник
Здравствуйте, возникла проблема которую я так и не смог решить, идея в голову просто не идет.
Суть в том что я хочу сделать что-то на подобии топ лучших стрелков и хочу чтобы этот топ можно было просматривать во время капта. Все наверное видели подобную систему с использованием MySQL. Так вот, я хочу сделать подобную, но не используя MySQL и тут возникает проблема с записей игрока в массив. С сортировкой можно сказать никаких проблем нет, но вот как сделать запись в массив на подобии как запись в MySQL у меня нет идей. Нужно чтобы даже при перезаходе или выходе игрок не пропадал из топа, при этом даже если он не в сети, его бы могли перегнать по месту. Может кто-то подскажет, буду благодарен.

Это примерный код, не судите строго.

C++:
stock PlayerSort(playerid)
{
    tempVar[playerid] = 0; 
    for(new i = 0, j = GetMaxPlayers(); i < j; ++i)
    {
        if(!IsPlayerConnected(i))continue;
        if(PlayerGang[playerid] == 1) players_Data[tempVar[playerid]][0][0] = CaptScore[i][0], players_Data[tempVar[playerid]++][1][0] = i;
        else if(PlayerGang[playerid] == 2) players_Data[tempVar[playerid]][0][1] = CaptScore[i][0], players_Data[tempVar[playerid]++][1][1] = i;
    }
    for(new i = 0,j = 0,d = 0; i < tempVar[playerid]; ++i)
    {
        j = players_Data[i][0][0];
        d = players_Data[i][0][1];

        for(new k = i - 1; k > -1; --k)
        {
            if(j > players_Data[k][0][0])
            {
                players_Data[k][0][0] ^= players_Data[k + 1][0][0], players_Data[k + 1][0][0] ^= players_Data[k][0][0], players_Data[k][0][0] ^= players_Data[k + 1][0][0];
                players_Data[k][1][0] ^= players_Data[k + 1][1][0], players_Data[k + 1][1][0] ^= players_Data[k][1][0], players_Data[k][1][0] ^= players_Data[k + 1][1][0];
            }
            if(d > players_Data[k][0][1])
            {
                players_Data[k][0][1] ^= players_Data[k + 1][0][1], players_Data[k + 1][0][1] ^= players_Data[k][0][1], players_Data[k][0][1] ^= players_Data[k + 1][0][1];
                players_Data[k][1][1] ^= players_Data[k + 1][1][1], players_Data[k + 1][1][1] ^= players_Data[k][1][1], players_Data[k][1][1] ^= players_Data[k + 1][1][1];
            }
        }
        strmid(CaptureInfo[i][cName][0],Name(players_Data[i][1][1]),0,strlen(Name(players_Data[i][1][1])),MAX_PLAYER_NAME+1);
        CaptureInfo[i][cScore1][0] = players_Data[i][0][1];
        CaptureInfo[i][cScore1][0] = CaptScore[players_Data[i][0][1]][1];
        CaptureInfo[i][cScore1][0] = CaptScore[players_Data[i][0][1]][2];
    }
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу