OKStyle
Эксперт
Итак, вполне себе логичный вопрос был недавно на форуме: как посмотреть онлайн с мобилки? Мой вариант, как и оригинал - на диалоге. Цвета игроков показываются.
Автор: OKStyle
P.S. Не хватит места в диалоге при полном онлайне, т.к. потребуется (8 + 1 + 8 + 3 + 1 + 8 + MAX_PLAYER_NAME + 1 + 8 + 9 + 1 + 8 + 10 + 1) * MAX_PLAYERS ячеек, а текущий лимит - 4096. Так что count ограничить надо до ~ 100 игроков: перед получением имени в цикле поставить: if(count == 99) break;
Адаптируйте под себя (добавляйте FPS и что угодно), но не забывайте о количестве ячеек в массиве.
P.P.S.: Но я бы добавил TAB на текстдравах, как было до 0.3 версии SA-MP. Такое уже делал [TDM]Relax (если я не ошибаюсь с ником), кстати, когда мы с ним PEN дорабатывали. Возможно, выложу.
P.P.P.S. Можно внести условие и показывать онлайн только тех, кто с мобилки.
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
PHP:
if(!strcmp(cmdtext, "/online", true))
{
new info[4096], PlayerName[MAX_PLAYER_NAME], count, caption[64];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
new pcolor = GetPlayerColor(playerid) >>> 8;
format(info, sizeof(info), "id\tname\tscore\tping\n{%06x}%d\t{%06x}%s\t{%06x}%d\t{%06x}%d", pcolor, playerid, pcolor, PlayerName, pcolor, GetPlayerScore(playerid), pcolor, GetPlayerPing(playerid));
for(new i, j = GetPlayerPoolSize(), icolor; i <= j; i++)
{
if(!IsPlayerConnected(i) || i == playerid) continue;
GetPlayerName(i, PlayerName, MAX_PLAYER_NAME);
icolor = GetPlayerColor(i) >>> 8;
format(info, sizeof(info), "%s{%06x}%i\t{%06x}%s\t{%06x}%d\t{%06x}%d\n", info, icolor, i, icolor, PlayerName, icolor, GetPlayerScore(i), icolor, GetPlayerPing(i));
count++;
}
GetServerVarAsString("hostname", caption, sizeof(caption));
format(caption, sizeof(caption), "%s Players: %d", caption, count + 1);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_TABLIST_HEADERS, caption, info, "Cancel" , "" );
return 1;
}
P.S. Не хватит места в диалоге при полном онлайне, т.к. потребуется (8 + 1 + 8 + 3 + 1 + 8 + MAX_PLAYER_NAME + 1 + 8 + 9 + 1 + 8 + 10 + 1) * MAX_PLAYERS ячеек, а текущий лимит - 4096. Так что count ограничить надо до ~ 100 игроков: перед получением имени в цикле поставить: if(count == 99) break;
Адаптируйте под себя (добавляйте FPS и что угодно), но не забывайте о количестве ячеек в массиве.
P.P.S.: Но я бы добавил TAB на текстдравах, как было до 0.3 версии SA-MP. Такое уже делал [TDM]Relax (если я не ошибаюсь с ником), кстати, когда мы с ним PEN дорабатывали. Возможно, выложу.
P.P.P.S. Можно внести условие и показывать онлайн только тех, кто с мобилки.
Последнее редактирование:
