DonJefferi
Умник
Здравствуйте, возникла проблема которую я так и не смог решить, идея в голову просто не идет.
Суть в том что я хочу сделать что-то на подобии топ лучших стрелков и хочу чтобы этот топ можно было просматривать во время капта. Все наверное видели подобную систему с использованием MySQL. Так вот, я хочу сделать подобную, но не используя MySQL и тут возникает проблема с записей игрока в массив. С сортировкой можно сказать никаких проблем нет, но вот как сделать запись в массив на подобии как запись в MySQL у меня нет идей. Нужно чтобы даже при перезаходе или выходе игрок не пропадал из топа, при этом даже если он не в сети, его бы могли перегнать по месту. Может кто-то подскажет, буду благодарен.
Это примерный код, не судите строго.
Суть в том что я хочу сделать что-то на подобии топ лучших стрелков и хочу чтобы этот топ можно было просматривать во время капта. Все наверное видели подобную систему с использованием 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];
}
}
