MishanyaGT Posted September 15, 2015 Share Posted September 15, 2015 ОМГ, http://api.ets2mp.com/servers/и работайте с JSON... Будьте добры подскажите, где взять JS, и как его установить на сайт в месте со скриптом, если вас не затруднит. Link to comment Share on other sites More sharing options...
jackrv Posted September 15, 2015 Author Share Posted September 15, 2015 Будьте добры подскажите, где взять JS, и как его установить на сайт в месте со скриптом, если вас не затруднит.Сделайте за меня то не знаю что... Как вы сайт запустили если подобное вызывает у вас трудности?JS нигде брать не нужно, он по-умолчания присутствует (практически) во всех браузерах! Если речь идет о JQuery, то на офф.сайте самый последний билд всегда можно найти, впрочем (скорее всего) он и так уже установлен на вашем сайте... Насчет кода, я не буду делать за вас вашу работу, просто подтолкну вас к тому как это делается. Вот простейший пример на РНР: $json = file_get_contents('http://api.ets2mp.com/servers/'); // Получаем данные с сервера API $res = json_decode($json, true); // Преобразуем полученные данные в массивif ($res['error'] == 'false') { // На всякий случай проверяем нет ли ошибок на сервере API foreach ($res['response'] as $server ) { // Проходим по массиву данных response, получаем при этом еще один массив серверов foreach ($server as $key => $value ) { // Теперь разбираем абсолютно все параметры определенного сервера echo $key . ": " . $value . "<br />"; // И выводим (в относительно) читабельном виде все эти параметры } echo "<br />"; }} else { // Этот блок сработает если от сервера получено error = true echo "Ошибка на сервере";} Результат Вам вполне вероятно хочется управлять выводом данных, вспомним что от API нам приходят следующие параметры: id: 1 // идентификатор сервера (не обязательно совпадает с логическим номером)ip: 37.187.170.151 // ip-адресс физического сервера(компьютера)port: 42860 // примерно то же что и ipname: Europe #1 // полное имя сервераshortname: EU #1 // короткое имяonline: 1 // текущее состояние (0-выключен, 1-включен)players: 1743 // кол-во игроков на сервере в текущий моментmaxplayers: 2400 // максимально возможное кол-во игроковspeedlimiter: 1 // состяние ограничителя (0-выключен, 1-включен) На основании их и составляем нужный нам вид: $json = file_get_contents('http://api.ets2mp.com/servers/'); // Получаем данные с сервера API $res = json_decode($json, true); // Преобразуем полученные данные в массивif ($res['error'] == 'false') { // На всякий случай проверяем нет ли ошибок на сервере API foreach ($res['response'] as $server ) { // Проходим по массиву данных response, получаем при этом еще один массив серверов if ($server['online'] == 1) { // Проверяем текущий онлайн сервера и выводим данные в таком виде какой нам необходим echo $server['name'] . " " . $server['players'] . "/" . $server['maxplayers']; } else { echo "Сервер " . $server['name'] . " - " . "Выключен"; } echo "<br />"; }} else { // Этот блок сработает если от сервера получено error = true echo "Ошибка на сервере";} Результат Если мы хотим это же получить на JavaScript а точнее JQuery, нет я не говорю что js не подходит просто с последним работать удобнее, то нам необходимо нечто вроде этого: $.getJSON("http://api.ets2mp.com/servers/", function(res) { // Получаем и сразу же преобразуем в объект данные с сервера API $.each(res.response, function(index, server) { // Так же проходим по объекту response и получаем объект с серверами $('#servers').append(server.name + " " + server.players + "/" + server.maxplayers + "<br />"); }); // Код выше добавлял текст в контейнер div с идентификатором servers}); // <div="servers"></div>Но тут мы сталкиваемся с проблемой запрета кроссдоменных запросов, если говорить простыми словами, вы можете получить JSON только в пределах своего домена/сайта. Есть масса способов обойти это ограничение, но воспользуемся самым простым (в плане обучения), на основе того что мы проделали ранее, сделаем из PHP-скрипта прокладку для нашего JSДля этого PHP скрипт просто получает и сразу же выводит ответ от сервера $json = file_get_contents('http://api.ets2mp.com/servers/');echo $json;А JS скрипт работает уже с этим скриптом, по факту все прежнее, сменился только адрес с которого парсится JSON $.getJSON( "/test.php", function(res) { // Получаем и сразу же преобразуем в объект данные с нашего PHP скрипта $.each(res.response, function(index, server) { // Проходим по объекту response и получаем объект с серверами $('#servers').append(server.name + " " + server.players + "/" + server.maxplayers + "<br />"); }); // Код выше добавлял текст в контейнер div с идентификатором servers}); // <div="servers"></div>А дальше дорабатывайте сами!P.s.: По-хорошему, PHP скрипт должен "грабить" сервер примерно раз в 2 минуты, а все остальное время просто отдавать полученные данные с буфера (пусть даже с базы данных), т.к. каждый пользователь на вашем сайте это нагрузка на сервера API, в вдруг у вас 1000 уникальных посетителей в час? xD P.s.s.: Я не претендую на знатока в этой сфере, поэтому возможны ошибки в методах реализации, скажу лишь так, если мне что-то интересно я найду способ реализовать задуманное! Чего и вам желаю! 1 ExtDriverFromLogs (unpack you ets2mp spawning logs) >|< SaPi (advansed info about servers & users in your browser!) Link to comment Share on other sites More sharing options...
MishanyaGT Posted September 15, 2015 Share Posted September 15, 2015 jackrv, благодарю за помощь, вы мне очень помогли. Link to comment Share on other sites More sharing options...
MishanyaGT Posted September 15, 2015 Share Posted September 15, 2015 Мне будет сложно создать статус серверов у себя на сайте одному, практически не выполнимо, много разного я делал для сайта но такое ещё не разу не делал, и что самое главное я не думал что будет так сложно, попробую передать весь материал тех поддержке, если они помогут, обычно они помогают, то с вашей помощи у меня будет статус, в любом случаи огромное вам спасибо за оказанную помощь, да же если у меня не получится создать свой статус серверов на сайте. Link to comment Share on other sites More sharing options...
jackrv Posted September 15, 2015 Author Share Posted September 15, 2015 jackrv, благодарю за помощь, вы мне очень помогли. Будем надеятся что это так.. Вот те файлы что работают Мне будет сложно создать статус серверов у себя на сайте одному, практически не выполнимо, много разного я делал для сайта но такое ещё не разу не делал, и что самое главное я не думал что будет так сложно, попробую передать весь материал тех поддержке, если они помогут, обычно они помогают, то с вашей помощи у меня будет статус, в любом случаи огромное вам спасибо за оказанную помощь, да же если у меня не получится создать свой статус серверов на сайте. Что за поддержка? На чем сайт держится? ExtDriverFromLogs (unpack you ets2mp spawning logs) >|< SaPi (advansed info about servers & users in your browser!) Link to comment Share on other sites More sharing options...
MishanyaGT Posted September 16, 2015 Share Posted September 16, 2015 Форум2х2 http://www.forum2x2.ru/ эта не реклама, меня попросили я ответил. Link to comment Share on other sites More sharing options...
Jeka [ru] Posted September 16, 2015 Share Posted September 16, 2015 У меня тут такая штуковина,поставил мод тандем пак на прицепы в сингл,поиграл ,затем зашел в мульт,понятное дело что мод не работает,поиграл какое то время купил в мульте гараж,грузовик и водилу,пошел опять в сингл что бы наемниками денег пособирать.Взял груз,еду,за всю дорогу ни одной копйейки прибыли от наемных,зашел посмотреть сколько им ехать,а у каждого в графе "доставка ожидается через" у всех более 4800 часов что бы довести свои грузы! Вобщем удалил мод не помогает,единственный у кого все нормально это водила которого в мульте купил,может кто сталкивался с таким? Link to comment Share on other sites More sharing options...
Cobalt117 Posted September 16, 2015 Share Posted September 16, 2015 Сталкивался, и не только с таким, а также пропажа грузов, сбой игрового времени и другие чудеса. Для себя решил проблему очень просто: для МП - один профиль, для сингла - другой, на который ставлю моды и другие эксперименты. С тех пор проблем нет. Также регулярно делаю резервные копии обоих профилей на случай падения ОС, неудачных опытов и других концов света. 1 Link to comment Share on other sites More sharing options...
Jeka [ru] Posted September 16, 2015 Share Posted September 16, 2015 Наверно так и сделаю,кстати пробовал с чистого профиля в мульт сыграть,если нет собственного грузовика,то заказы агенств пустые или если и есть груз,то появляешся уже с просроченным грузом и прибыли 0 Link to comment Share on other sites More sharing options...
jackrv Posted September 16, 2015 Author Share Posted September 16, 2015 Мне будет сложно создать статус серверов у себя на сайте одному, практически не выполнимо, много разного я делал для сайта но такое ещё не разу не делал, и что самое главное я не думал что будет так сложно, попробую передать весь материал тех поддержке, если они помогут, обычно они помогают, то с вашей помощи у меня будет статус, в любом случаи огромное вам спасибо за оказанную помощь, да же если у меня не получится создать свой статус серверов на сайте. Ну давайте чуть проще! Вернее в пределах одного файла/языка. Я ранее говорил о множестве способов обойти запрет кроссдоменных запросов, один из них CORS прокси, как пример cors.ioВот простой скрипт делающий все что нужно: $(function() { // Заводим переменную в которой будем считать общее кол-во игроков var count = 0; // Для удобства выводим адресс АПИ в отдельную переменную var url = 'http://api.ets2mp.com/servers/'; // Делаем запрос с серверов АПИ, но через прокси, подробности на cors.io $.getJSON('http://cors.io/?u=' + url,function(res){ // В диве divServers создаем таблицу без рамок и с минимальными отступами (cellspacing) var tblServers = $('<table/>', {"id": 'tblServers', "border": 0, "cellspacing": 2, "cellpadding": 0}); // К таблице добавляем заголовок, который объеденяет 3 колонки (colspan) tblServers.append($('<tr/>').append($('<th/>', {"colspan": 3}).text("Статус серверов ETS2MP"))); // Как и ранне проходим во списку серверов $.each(res.response, function(index, server) { // Помните переменную-счетчик? Прибавим к ней кол-во игроков на текущем сервере count += server.players; // Создаем три ячейки (имя сервера | кол-во игроков | процент заполненности) tblServers.append($('<tr/>') .append($('<td/>').text(server.name)) .append($('<td/>').text(server.players + "/" + server.maxplayers)) .append($('<td/>').text(parseInt(server.players / server.maxplayers * 100) + '%')) ); }); // На последок выведем общее кол-во игроков с нашего счетчика tblServers.append($('<tr/>').append($('<th/>', {"colspan": 3}).text("Общее количество игроков: " + count))); // Добавляем все что вы приготовили к диву divServers $('#divServers').append(tblServers); });});Я конечно никогда не пользовался сервисом который используете вы, но судя по тому что мне удалось найти, вам стоит изучить эту статью, вставить вышеприведенный код в поле скрипта, и где то в теле страницы (как советуют в приветствии) вставить контейнер <div id="divServers"></div>Рузультат ExtDriverFromLogs (unpack you ets2mp spawning logs) >|< SaPi (advansed info about servers & users in your browser!) Link to comment Share on other sites More sharing options...
Jeka [ru] Posted September 17, 2015 Share Posted September 17, 2015 Не понял как пользоваться круиз контролем,нажимаю клавишу "С" загорается желтый огонек и сразу же гаснет и ничего не происходит.Это ж я так понял ограничитель скорости что бы не превышать показатель тот который максимальный допустимый? Link to comment Share on other sites More sharing options...
AKuzmin Posted September 17, 2015 Share Posted September 17, 2015 Не понял как пользоваться круиз контролем,нажимаю клавишу "С" загорается желтый огонек и сразу же гаснет и ничего не происходит.Это ж я так понял ограничитель скорости что бы не превышать показатель тот который максимальный допустимый? Нажал кнопочку и отпустил педель газа. Скорость поддерживается. Если нажать газ или тормоз, ограничитель сбрасывается. Всё как и в реале. Link to comment Share on other sites More sharing options...
SanSay[16RUS] Posted September 17, 2015 Share Posted September 17, 2015 Не понял как пользоваться круиз контролем,нажимаю клавишу "С" загорается желтый огонек и сразу же гаснет и ничего не происходит.Это ж я так понял ограничитель скорости что бы не превышать показатель тот который максимальный допустимый? А еще если нужно добавить/убавить скорости в настройках есть кнопки на клаве, т.е. если педальками поработать, то круиз слетает, а если этими спец.кнопками, то остается активным. Link to comment Share on other sites More sharing options...
Folriden Posted September 18, 2015 Share Posted September 18, 2015 если педальками поработать, то круиз слетает, а если этими спец.кнопками, то остается активным. Не забывайте, что есть кнопка "вернуть прежнюю скорость круиз-контроля". Поэтому и педальками можно поработать, а потом вновь выставить нужную цифру. Link to comment Share on other sites More sharing options...
Jeka [ru] Posted September 18, 2015 Share Posted September 18, 2015 Спасибо,разобрался,удобная штука Link to comment Share on other sites More sharing options...
MishanyaGT Posted September 20, 2015 Share Posted September 20, 2015 Доброе утро, парни кто может сказать, почему в двух разных профиля разное время на актуальность груза. первый профиль я у меня создан с версии Ё 1.17.1s|1.18.0.1s|1.18.0.10s|1.18.1s|1.18.1.3s|1.19.0.10s|1.19.0.11s|1.19.0.15s|1.19.0.18s|1.19.0.19s|1.19.0.20s|1.19.1s|1.19.2.1s|1.20.0.2s|1.20.0.3s|1.20.0.6s|1.20.1s и в этом профиле грузы на погрузочных базах с большим количеством запаса времени. Скриншот: Я подумал что это какой то сбой игры, или ещё какой то глюк, решил снести со стима игру, и переустановить + МП не сохраняя папку ETS2MP новая папка не решила этот вопрос и вся переустановка игры, все грузы остались с большим запасом времени актуальности. Меня начало это бомбить, и я решил создать новый профиль и проверить актуальность время грузов, на моё удивления там время как и должно быть, на новом профиле уже заработал 8-й уровень и всё отлично. Скриншот: Кто может объяснить причину во времени актуальности груза в разных профилях игры? Играю только в МП Link to comment Share on other sites More sharing options...
DenisMur Posted September 20, 2015 Share Posted September 20, 2015 На старом профиле в игре прошло 9-10 игровых недель, в то время, как в мультиплеере на сервере идет неделя 1-3, и из-за этой разницы получаются тысячи часов во времени актуальности грузов и в сроке доставки. 1 My WoTr profile Link to comment Share on other sites More sharing options...
Jeka [ru] Posted September 20, 2015 Share Posted September 20, 2015 У меня такая беда была с водителями что они грузы по 4000 часов возили.А все из за того что в мульте купил водилу и перешел в сингл.Пришлось тоже с профиль снести и по новому прокачивать. 1 Link to comment Share on other sites More sharing options...
SanSay[16RUS] Posted September 20, 2015 Share Posted September 20, 2015 Ммм... а вы тупо сброс экономики то пробовали? Link to comment Share on other sites More sharing options...
MishanyaGT Posted September 20, 2015 Share Posted September 20, 2015 Ладно парни, спасибо что ответили, ну что, не зря я создал новый профиль, конечно жалко удалять старый он у меня на 80 с лишним % пройден, и-за этой разнице во времени мне приходится этим жертвовать, но куда девать буду прокачивать своего водителя по новой. и больше не шагу в сингл с этим профилем, о пришла идея оставить старый профиль для сингла, да так и сделаю. Link to comment Share on other sites More sharing options...
MishanyaGT Posted September 20, 2015 Share Posted September 20, 2015 Ммм... а вы тупо сброс экономики то пробовали? Несколько раз пробовал сбрасывать экономику, не помогло. g_force_economy_reset 1 Link to comment Share on other sites More sharing options...
[Интегра] ResTed Posted September 20, 2015 Share Posted September 20, 2015 Эммм... Где грузы смотрятся? Обычно тысячи часов в мп. Когда заходишь в сингл - всё норм. Бронзовый призёр в номинации "Сотрудник поддержки 2016" Game Moderator Leader of the Year 2019 - #2 Link to comment Share on other sites More sharing options...
MishanyaGT Posted September 20, 2015 Share Posted September 20, 2015 Эммм... Где грузы смотрятся? Обычно тысячи часов в мп. Когда заходишь в сингл - всё норм. Я сейчас старый профиль попробую запустить в сингле, и позже отпишусь где как показывает время. Link to comment Share on other sites More sharing options...
MishanyaGT Posted September 20, 2015 Share Posted September 20, 2015 Интересное кино получается, в сингл зашёл время показывает как положено. А в МП по новой идёт комедия, с длительным временем. Чу-де-са, да пуст уже как есть всё ровно это профиль уже отправлен в синг. Link to comment Share on other sites More sharing options...
Jeka [ru] Posted September 20, 2015 Share Posted September 20, 2015 Я вот сейчас тоже решил прокачивать исключительно в мульте,так даже на много интересней. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now