Если бы я мог сделать, свое, то я бы сделал :)
А, что именно обидного в том, что я взял за основу твой код? Я же не претендую на авторство. А так держи спасибку, за команду :D
Вид для печати
Я просто худею с таких слов... А вы не можете!? У вас нет ни рук, ни ног, ни головы? Или вы хотите сказать, что Flime умнее и способнее вас?
Не знаете как сделать - разберитесь! Рано или поздно вам всё равно придётся разобраться, ведь никто за вас не разберётся! Переборите лень и включите, наконец, мозг.
И привыкайте уже, наконец, что никто в этой жизни не сделает за вас вашу работу. Ведь все мы одинаковые и у каждого эта самая "работа" своя. И практически каждый хочет так же, как и вы, получить всё готовое. Всем лень. Но есть те, кто переборол свою лень. И только они добьются успеха. Это правило жизни, ибо иначе никак. Нас 7 миллиардов на Земле.
Такое, вот, лирическое отступление. А теперь к сути. Я предлагал сделать как-то так
PHP код:
if(strcmp(cmd, "/top", true) == 0)
{
Result = db_query(Database, "SELECT Name, Kills FROM `USERS` WHERE Kills > 0 ORDER BY Kills DESC LIMIT 10");
new string[20+MAX_PLAYER_NAME+11],
buff_name[10][MAX_PLAYER_NAME],
buff_kills[10][11],
i;
while(db_next_row(Result))
{
db_get_field_assoc(Result, "Name", buff_name[i], MAX_PLAYER_NAME);
db_get_field_assoc(Result, "Kills", buff_kills[i], 11);
i++;
}
db_free_result(Result);
SelectionSort(buff_name);
SelectionSort(buff_kills);
for(i = 0; i != 10; i++)
{
format(string, sizeof(string), "Ник: %s || Kills: %d", buff_name[i], strval(buff_kills[i]));
SendClientMessage(playerid, 0xFFFFFFAA, string);
}
return 1;
}
stock SelectionSort(_array[], size = sizeof _array)
{
for(new i = 0, value = 0, j = 0, swap = 0; i != size - 1; i++)
{
value = i;
for(j = i + 1; j != size; j++)
{
if(_array[ j ] > _array[ value ])//max to min
value = j;
}
if(value != i)
{
swap = _array[ i ];
_array[ i ] = _array[ value ];
_array[ value ] = swap;
}
}
}
Двухмерный массив для слабаков?Цитата:
SelectionSort(buff_name);
SelectionSort(buff_kills);
К счастью, всевышний наградил меня всеми частями тела, так что у меня все есть. А что на счет того, что Flime умнее или способнее меня, я отрицать не стану.Возможно он способнее, а вот на счет умнее, это я не знаю т.к. не знаком с ним лично.
Если я не знаю, как сделать, то я разбираюсь и стараюсь, что-то понять.Но мне легче понимать, когда мне объясняют и показывают, код, как вы показали мне сейчас, чем читать уроки/мануалы. А я и не говорил, что всегда все за меня делать будут, и не привыкал даже к этому, просто как "начинающий" мне сложно ориентироваться в pawn программировании и поэтому прошу помощи у Вас. А вот на счет того, что мы все одинаковые, я готов поспорить и сказать, что: -нет, мы все совершенно разные. И мне не лень ничего делать самому, мне наоборот интересно изучать, понимать и реализовывать, код в какое-нибудь действие, просто, повторюсь, что читая то, что мне отвечают люди на форуме и говорят, что и как сделать, я понимаю и усваиваю это быстрее.
Ну вот такое лирическое отступление :)
А теперь вот:
ругается на 2 этих строчки. № ошибки "error 048: array dimensions do not match"
PHP код:
SelectionSort(buff_name);
SelectionSort(buff_kills);
UP'chi
Пробуй
PHP код:
if(strcmp(cmd, "/top", true) == 0)
{
Result = db_query(Database, "SELECT Name, Kills FROM `USERS` WHERE Kills > 0 ORDER BY Kills DESC LIMIT 10");
new string[20+MAX_PLAYER_NAME+11],
buff_name[11][MAX_PLAYER_NAME],
buff_kills[11][11],
i;
while(db_next_row(Result))
{
db_get_field_assoc(Result, "Name", buff_name[i], MAX_PLAYER_NAME);
db_get_field_assoc(Result, "Kills", buff_kills[i], 11);
i++;
}
db_free_result(Result);
SelectionSort(buff_name);
SelectionSort(buff_kills);
for(i = 0; i != 10; i++)
{
format(string, sizeof(string), "Ник: %s || Kills: %d", buff_name[i], strval(buff_kills[i]));
SendClientMessage(playerid, 0xFFFFFFAA, string);
}
return 1;
}
stock SelectionSort(_array[], size = sizeof _array)
{
for(new i = 0, value = 0, j = 0, swap = 0; i != size - 1; i++)
{
value = i;
for(j = i + 1; j != size; j++)
{
if(_array[ j ] > _array[ value ])//max to min
value = j;
}
if(value != i)
{
swap = _array[ i ];
_array[ i ] = _array[ value ];
_array[ value ] = swap;
}
}
}