Участник
Пользователь
- Сообщения
- 198
- Реакции
- 16
- Помог
- 1 раз(а)
всем привет.
накатил плагин, который сортирует игроков по значению массива. на практике всё отлично, по сути можно использовать этот способ.
но, я не профессионал, на душе немного тревожно. хотелось бы узнать мнение тех, кто в этом более компетентен.
принцип работы, думаю, понятен. записываем значения в ячейки массива, далее сортируем по кол-ву фрагов и перезаписываем кол-во фрагов и айди в нужную ячейку.
в коде есть погрешности, да же в том же массиве, я выделил 3 ячейки вместо 2.
всё это хорошо, однако в режиме реального времени будет сложно, лично для меня, считывать и выводить (например в худ). в этом вопросе мне как никому другому нужна помощь скриптеров dev-cs. надеюсь на вашу помощь.
p.s генерация айди и фрагов используется для тестов, как и вывод сообщения в консоль. сначала идет вывод сгенерированных чисел, зачем отсортированных.
для вывода в реальном времени думаю можно создать отдельный массив, в который записывать отсортированный результат. только что мысль пришла.
накатил плагин, который сортирует игроков по значению массива. на практике всё отлично, по сути можно использовать этот способ.
но, я не профессионал, на душе немного тревожно. хотелось бы узнать мнение тех, кто в этом более компетентен.
принцип работы, думаю, понятен. записываем значения в ячейки массива, далее сортируем по кол-ву фрагов и перезаписываем кол-во фрагов и айди в нужную ячейку.
в коде есть погрешности, да же в том же массиве, я выделил 3 ячейки вместо 2.
всё это хорошо, однако в режиме реального времени будет сложно, лично для меня, считывать и выводить (например в худ). в этом вопросе мне как никому другому нужна помощь скриптеров dev-cs. надеюсь на вашу помощь.
p.s генерация айди и фрагов используется для тестов, как и вывод сообщения в консоль. сначала идет вывод сгенерированных чисел, зачем отсортированных.
C++:
#include <amxmodx>
#define MAX_TOP 5
new Kills[MAX_PLAYERS + 1][3];
new str[256];
public plugin_init()
{
for(new i = 1; i <= MaxClients; i++)
{
Kills[i][1] = random_num(0, 999);
Kills[i][2] = random_num(1, 32);
server_print("kills %d id %d", Kills[i][1], Kills[i][2]);
}
BubbleSort(Kills);
for(new i = 0; i <= MAX_TOP; i++) format(str, sizeof str, "%s ^n- %d, %d", str, Kills[i][2], Kills[i][1])
server_print("======================= %s ^n=======================", str);
}
BubbleSort(array[][], len = sizeof(array))
{
for (new i = 0; i < len - 1; i++)
{
for (new j = 0; j < len - i - 1; j++)
{
if (array[j][1] < array[j + 1][1])
{
new KILLs = array[j][1];
new ID = array[j][2];
array[j][1] = array[j + 1][1];
array[j][2] = array[j + 1][2];
array[j + 1][1] = KILLs;
array[j + 1][2] = ID;
}
}
}
}
28 Июл 2019