Получить топ игроков по онлайну.

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
857
Реакции
144
Помог
25 раз(а)
Привет всем. Как мне получить топ 10 по времени провождения на сервере? Использую GameCMS API.

Есть паблик test, и я хочу сделать, что бы для первых 4 людей выдавало 10000$, а для 6 остальных - 5000$

Вот набросок кода:
Код:
#include <AmxModX>
#include <GameCms5>

new const szInfo[][] = {
    "[GameCMS] Addon: Bonus For Top10 Time",
    "0.1",
    "Immortal-"
};

public plugin_init() {
    register_plugin(szInfo[0], szInfo[1], szInfo[3]);

    register_clcmd("test", "test");
}

public test(const iPlayer) {
    new iTime = cmsapi_get_user_gametime(iPlayer);

    
}
Просто я вообще не могу сообразить, как это сделать.
 
Сообщения
775
Реакции
291
Помог
11 раз(а)
Benzogang_BabyTape, а зачем тебе cms для этого?
12 Окт 2021
что ты получаешь через cmsapi_get_user_gametime(iPlayer);
 
Сообщения
857
Реакции
144
Помог
25 раз(а)
maFFyoZZyk, это для получения времени, проведённого на сервере, меня попросили привязать именно к GameCMS
 
Сообщения
775
Реакции
291
Помог
11 раз(а)
Benzogang_BabyTape, на сколько я помню есть уже в инете такие переделки, гугли
 
Сообщения
857
Реакции
144
Помог
25 раз(а)
maFFyoZZyk, я пытался, там просто выдаёт за определённое время на сервере плюшки.
 

iPlague

♿️
Сообщения
230
Реакции
129
Помог
2 раз(а)
Benzogang_BabyTape, создай массив new time[33];

игрок подключился:
public client_connect(id) time [id] = cmsapi_get_user_gametime(id);

в начале раунда определяешь топ по этому массиву time и в цикле выдаешь награды
 
Сообщения
775
Реакции
291
Помог
11 раз(а)
Benzogang_BabyTape, я видел несколько штук там со статистики считывает данные
12 Окт 2021
iPlague, я так понимаю ему надо общее время на сервере, а не за карту
 
Сообщения
857
Реакции
144
Помог
25 раз(а)
Benzogang_BabyTape, создай массив new time[33];

игрок подключился:
public client_connect(id) time [id] = cmsapi_get_user_gametime(id);

в начале раунда определяешь топ по этому массиву time и в цикле выдаешь награды
спасибо, но еще проблема в том, что я не знаю, как определить топ по времени (вернее, не умею).
 

iPlague

♿️
Сообщения
230
Реакции
129
Помог
2 раз(а)
Цикл составить или использовать готовый вариант, пример:

native ArraySort(Array:array, const comparefunc[], data[]="", data_size=0);
 
Сообщения
20
Реакции
11
Через использование api удастся только по находящимся в данный момент на сервере игрокам сделать топ
Адекватный топ по игрокам офлайн и онлайн сделать придется отдельно (фактически расширить api).Самый простой вариант - добавить функцию с запросом SELECT ИндексИгрока FROM Таблица LIMIT 10 ORDER BY ВремяПроведенноеНаСервере DESC, которая будет вызываться на старте карты и заполнять массив из 10 ячеек. Потом в момент выдачи шерстить массив на наличие "ИндексИгрока"
 
Сообщения
857
Реакции
144
Помог
25 раз(а)
Цикл составить или использовать готовый вариант, пример:

native ArraySort(Array:array, const comparefunc[], data[]="", data_size=0);
Спасибо, вроде нашёл похожий плагин, который получает топ по урону, переделал под себя, буду смотреть. Можете закрывать тему.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу