koshmar Опубликовано 19 марта, 2015 Жалоба Поделиться Опубликовано 19 марта, 2015 Подскажите пожалуйста, можно ли сделать скрипт нпц который будет показывать список игроков(их никнеймы) в онлайне и где они находятся в данный момент(по типу команды: @users)...? Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 19 марта, 2015 Жалоба Поделиться Опубликовано 19 марта, 2015 @who, @who2, @who3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 19 марта, 2015 Жалоба Поделиться Опубликовано 19 марта, 2015 (изменено) Прям всех? Смотря сколько онлайна. Если делать запрос через базу то макс. кол-во элементов в массиве - 128.А так можно что-то типа:prontera,150,150,6scriptOnLine100,{query_sql "select `name`,`таблица с локациями` from `char` where `online` > 0 LIMIT 128", .names$, .loc$;mes "Online users:";for(.i = 0; .i < 128; .i++) { // 128 max.if(.names$[.i] != "") {mes .names$[.i] + " : " + .loc$[.i]; //будет что-то типа "Вася : Пронтера".} else {mes "empty";}close;}Но не советую использовать такой скрипт =)для такого скрипта не обязательна rAthena. Изменено 20 марта, 2015 пользователем Kubix 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 20 марта, 2015 Жалоба Поделиться Опубликовано 20 марта, 2015 Прям всех? Смотря сколько онлайна. Если делать запрос через базу то макс. кол-во элементов в массиве - 128.А так можно что-то типа:-scriptOnLine-1,{OnInit:bindatcmd "users",strnpcinfo(3)+"::OnCommand";end;OnCommand:query_sql "select `name`,`таблица с локациями` from `char` where `online` > 0 LIMIT 128", .names$, .loc$;for(.i = 0; .i < 128; .i++) {if(.names$[.i] != "") {mes .names$[.i] + " : " + .loc$;} else {mes "empty";}close;}не знаю получится ли, писал прям тут. и для использования команды bindatcmd нужна rAthena.Итого у нас при загрузке скрипта и использования @reloadscript появится новая команда @users которая в диалоговом окне должна выбить онлайн.Но не советую использовать такой скрипт =)Список всех пользователей и локаций, где они находятся выводится какой-то из вышеперечисленных команд. Зачем городить вообще хоть что-то?) Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 марта, 2015 Жалоба Поделиться Опубликовано 20 марта, 2015 ...Ты скинул 3 команды, которые доступны администраторам. Я предложил скрипт, как и просил ТС. Извиняюсь, я неправильно прочитал тс'а. Сейчас изменю немного свой пост. Ссылка на комментарий Поделиться на другие сайты Поделиться
koshmar Опубликовано 20 марта, 2015 Автор Жалоба Поделиться Опубликовано 20 марта, 2015 (изменено) Kubix, отлично! То что надо! Спасибо большое за помощь! Изменено 20 марта, 2015 пользователем koshmar Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 20 марта, 2015 Жалоба Поделиться Опубликовано 20 марта, 2015 ...Ты скинул 3 команды, которые доступны администраторам. Я предложил скрипт, как и просил ТС. Извиняюсь, я неправильно прочитал тс'а. Сейчас изменю немного свой пост.Ну.. Типоatcommand "@who";end;И в чатике все выведется. Доступность команд владелец сервера выбирает сам, если б было желание - мог бы всем доступной сделать. А вообще - оба варианта имеют место быть, ага 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 марта, 2015 Жалоба Поделиться Опубликовано 20 марта, 2015 Еще чуть исправил скрипт. Забыл после .loc$ добавить [.i] Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения