Jump to content

Общие вопросы


Recommended Posts

Будьте добры подскажите, где взять 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 "Ошибка на сервере";}
Результат

1png_5770292_18799070.png

 

Вам вполне вероятно хочется управлять выводом данных, вспомним что от 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 "Ошибка на сервере";}
Результат

2png_9488951_18799088.png

Если мы хотим это же получить на 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.: Я не претендую на знатока в этой сфере, поэтому возможны ошибки в методах реализации, скажу лишь так, если мне что-то интересно я найду способ реализовать задуманное! Чего и вам желаю!

  • Upvote 1

ExtDriverFromLogs (unpack you ets2mp spawning logs) >|< SaPi (advansed info about servers & users in your browser!)

Link to comment
Share on other sites

Мне будет сложно создать статус серверов у себя на сайте одному, практически не выполнимо, много разного я делал для сайта но такое ещё не разу не делал, и что самое главное я не думал что будет так сложно, попробую передать весь материал тех поддержке, если они помогут, обычно они помогают, то с вашей помощи у меня будет статус, в любом случаи огромное вам спасибо за оказанную помощь, да же если у меня не получится создать свой статус серверов на сайте. :)

            

180060-11.gif

 

Link to comment
Share on other sites

jackrv, благодарю за помощь, вы мне очень помогли. :)

Будем надеятся что это так..

Вот те файлы что работают

Мне будет сложно создать статус серверов у себя на сайте одному, практически не выполнимо, много разного я делал для сайта но такое ещё не разу не делал, и что самое главное я не думал что будет так сложно, попробую передать весь материал тех поддержке, если они помогут, обычно они помогают, то с вашей помощи у меня будет статус, в любом случаи огромное вам спасибо за оказанную помощь, да же если у меня не получится создать свой статус серверов на сайте. :)

Что за поддержка? На чем сайт держится?

ExtDriverFromLogs (unpack you ets2mp spawning logs) >|< SaPi (advansed info about servers & users in your browser!)

Link to comment
Share on other sites

У меня тут такая штуковина,поставил мод тандем пак на прицепы в сингл,поиграл ,затем зашел в мульт,понятное дело что мод не работает,поиграл какое то время купил в мульте гараж,грузовик и водилу,пошел опять в сингл что бы наемниками денег пособирать.Взял груз,еду,за всю дорогу ни одной копйейки прибыли от наемных,зашел посмотреть сколько им ехать,а у каждого в графе "доставка ожидается через" у всех более 4800 часов что бы довести свои грузы! Вобщем удалил мод не помогает,единственный у кого все нормально это водила которого в мульте купил,может кто сталкивался с таким?

Link to comment
Share on other sites

 

Сталкивался, и не только с таким, а также пропажа грузов, сбой игрового времени и другие чудеса. Для себя решил проблему очень просто: для МП - один профиль, для сингла - другой, на который ставлю моды и другие эксперименты. С тех пор проблем нет. Также регулярно делаю резервные копии обоих профилей на случай падения ОС, неудачных опытов и других концов света.

  • Upvote 1
Link to comment
Share on other sites

Наверно так и сделаю,кстати пробовал с чистого профиля в мульт сыграть,если нет собственного грузовика,то заказы агенств пустые или если и есть груз,то появляешся уже с просроченным грузом и прибыли 0

Link to comment
Share on other sites

Мне будет сложно создать статус серверов у себя на сайте одному, практически не выполнимо, много разного я делал для сайта но такое ещё не разу не делал, и что самое главное я не думал что будет так сложно, попробую передать весь материал тех поддержке, если они помогут, обычно они помогают, то с вашей помощи у меня будет статус, в любом случаи огромное вам спасибо за оказанную помощь, да же если у меня не получится создать свой статус серверов на сайте. :)

Ну давайте чуть проще! Вернее в пределах одного файла/языка. Я ранее говорил о множестве способов обойти запрет кроссдоменных запросов, один из них 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>
Рузультат

2015091618_7118369_18810685.png

ExtDriverFromLogs (unpack you ets2mp spawning logs) >|< SaPi (advansed info about servers & users in your browser!)

Link to comment
Share on other sites

Не понял как пользоваться круиз контролем,нажимаю клавишу "С" загорается желтый огонек и сразу же гаснет и ничего не происходит.Это ж я так понял ограничитель скорости что бы не превышать показатель тот который максимальный допустимый?

Link to comment
Share on other sites

Не понял как пользоваться круиз контролем,нажимаю клавишу "С" загорается желтый огонек и сразу же гаснет и ничего не происходит.Это ж я так понял ограничитель скорости что бы не превышать показатель тот который максимальный допустимый?

Нажал кнопочку и отпустил педель газа. Скорость поддерживается. Если нажать газ или тормоз, ограничитель сбрасывается. Всё как и в реале.

spacer.png

 

 

Link to comment
Share on other sites

Не понял как пользоваться круиз контролем,нажимаю клавишу "С" загорается желтый огонек и сразу же гаснет и ничего не происходит.Это ж я так понял ограничитель скорости что бы не превышать показатель тот который максимальный допустимый?

А еще если нужно добавить/убавить скорости в настройках есть кнопки на клаве, т.е. если педальками поработать, то круиз слетает, а если этими спец.кнопками, то остается активным.

Link to comment
Share on other sites

если педальками поработать, то круиз слетает, а если этими спец.кнопками, то остается активным.

Не забывайте, что есть кнопка "вернуть прежнюю скорость круиз-контроля". Поэтому и педальками можно поработать, а потом вновь выставить нужную цифру.  ;)

Link to comment
Share on other sites

Доброе утро, парни кто может сказать, почему в двух разных профиля разное время на актуальность груза. первый профиль я у меня создан с версии

Ё 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

и в этом профиле грузы на погрузочных базах с большим количеством запаса времени.

Скриншот:

7838204m.png

 

Я подумал что это какой то сбой игры, или ещё какой то глюк, решил снести со стима игру, и переустановить + МП не сохраняя папку ETS2MP

новая папка не решила этот вопрос и вся переустановка игры, все грузы остались с большим запасом времени актуальности.

 

Меня начало это бомбить, и я решил создать новый профиль и проверить актуальность время грузов, на моё удивления там время как и должно быть, на новом профиле уже заработал 8-й уровень и всё отлично.

Скриншот:

7812604m.png

 

Кто может объяснить причину во времени актуальности груза в разных профилях игры? Играю только в МП

            

180060-11.gif

 

Link to comment
Share on other sites

На старом профиле в игре прошло 9-10 игровых недель, в то время, как в мультиплеере на сервере идет неделя 1-3, и из-за этой разницы получаются тысячи часов во времени актуальности грузов и в сроке доставки.

  • Upvote 1
Link to comment
Share on other sites

У меня такая беда была с водителями что они грузы по 4000 часов возили.А все из за того что в мульте купил водилу и перешел в сингл.Пришлось тоже с профиль снести и по новому прокачивать.

  • Upvote 1
Link to comment
Share on other sites

Ладно парни, спасибо что ответили, ну что,  не зря я создал новый профиль, конечно жалко удалять старый он у меня на 80 с лишним % пройден,  и-за этой разнице во  времени мне приходится этим жертвовать, но куда девать буду прокачивать своего  водителя по новой. и больше не шагу в сингл с этим профилем, о пришла идея оставить старый профиль для сингла,  да так и сделаю.

            

180060-11.gif

 

Link to comment
Share on other sites

Эммм... Где грузы смотрятся? Обычно тысячи часов в мп. Когда заходишь в сингл - всё норм.

ResTed.gif

Бронзовый призёр в номинации "Сотрудник поддержки 2016"

Game Moderator Leader of the Year 2019 - #2

TMPForum.png

 

Link to comment
Share on other sites

Эммм... Где грузы смотрятся? Обычно тысячи часов в мп. Когда заходишь в сингл - всё норм.

Я сейчас старый профиль попробую запустить в сингле, и позже отпишусь где как показывает время.

            

180060-11.gif

 

Link to comment
Share on other sites

Интересное кино получается, в сингл зашёл время показывает как положено.

 

7805184m.png

 

А в МП по новой идёт комедия, с длительным временем.

 

7847171m.png

 

Чу-де-са, да пуст уже как есть всё ровно это профиль уже отправлен в синг. :)

            

180060-11.gif

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.