SA:MP Lua Arizona truckers.lua | помощь развозчикам продуктов

mishalunyov

Участник
Автор темы
27
28
truckers.lua предназначен для удобного анализа выгоды заказов в игре

Возможности скрипта:​

Скрипт позволяет отображать коэффициент выгоды прямо в списке заказов на складе. Теперь вы можете быстро оценивать заказы и выбирать наиболее прибыльные из них, экономя время и усилия.
Кроме того, в заказе с наиболее большим коэффициентом, он будет выделен зеленым цветом, чтобы вы сразу обратили внимание на лучший вариант.
Коэффициент рассчитывается по следующей формуле: m / S , в которой:
m - масса груза заказа ( кг )
S
- расстояние ( м )

Данный скрипт также убирает заказы, которые вы не можете взять ( не хватает грузоподъёмности )

Как установить:​

Для работы скрипта требуется moonloader. Дополнительные библиотеки скачивать не нужно. Вот что нужно сделать:
Скачать frontend.zip, после чего извлечь в папку с игрой, установить файлам main.bundle.js и main.css ( оба файла в архиве и в рабочей папке находятся в frontend/svelte_js ) в свойствах режим чтения.

  • Скачайте файл truckers.lua
  • Перейдите в папку frontend/svelte_js ( корень игры )
  • Найдите строку "function truckers_index_svelte_create_each_block(ctx)"
  • Замените всю функцию на данный код
    новый код:
    function truckers_index_svelte_create_each_block(ctx) {
      let div18;
      let div0;
      let t0;
      let div16;
      let div3;
      let div1;
      let t2;
      let div2;
      let t3_value = /*item*/ ctx[11].customer + "";
      let t3;
      let t4;
      let div6;
      let div4;
      let t6;
      let div5;
      let t7_value = /*item*/ ctx[11].time + "";
      let t7;
      let t8;
      let div9;
      let div7;
      let t10;
      let div8;
      let t11_value = `${formatMoney(/*item*/ ctx[11].distance)} м` + "";
      let t11;
      let t12;
      let div12;
      let div10;
      let t14;
      let div11;
      let t15_value = /*item*/ ctx[11].product + "";
      let t15;
      let t16;
      let div15;
      let div13;
      let t18;
      let div14;
      let t19_value = `${formatMoney(/*item*/ ctx[11].prize)} $` + "";
      let t19;
      let t20;
      let div_coefficient;
      let div_coefficient_label;
      let t22;
      let div_coefficient_value;
      let t23_value = `${/*item*/ ctx[11]?.priority ?? "неизвестно"}` + "";
      let t23;
      let t24;
      let div16_id_value;
      let div17;
      let t25;
      let mounted;
      let dispose;
      function click_handler() {
          return /*click_handler*/ ctx[6](/*item*/ ctx[11]);
      }
      return {
          c() {
              div18 = dom_element("div");
              div0 = dom_element("div");
              t0 = dom_space();
              div16 = dom_element("div");
              div3 = dom_element("div");
              div1 = dom_element("div");
              div1.textContent = "Заказчик";
              t2 = dom_space();
              div2 = dom_element("div");
              t3 = dom_text(t3_value);
              t4 = dom_space();
              div6 = dom_element("div");
              div4 = dom_element("div");
              div4.textContent = "Время";
              t6 = dom_space();
              div5 = dom_element("div");
              t7 = dom_text(t7_value);
              t8 = dom_space();
              div9 = dom_element("div");
              div7 = dom_element("div");
              div7.textContent = "Расстояние";
              t10 = dom_space();
              div8 = dom_element("div");
              t11 = dom_text(t11_value);
              t12 = dom_space();
              div12 = dom_element("div");
              div10 = dom_element("div");
              div10.textContent = "Товар";
              t14 = dom_space();
              div11 = dom_element("div");
              t15 = dom_text(t15_value);
              t16 = dom_space();
              div15 = dom_element("div");
              div13 = dom_element("div");
              div13.textContent = "Зарплата";
              t18 = dom_space();
              div14 = dom_element("div");
              t19 = dom_text(t19_value);
              t20 = dom_space();
              div_coefficient = dom_element("div");
              div_coefficient_label = dom_element("div");
              div_coefficient_label.textContent = "Коэффициент";
              t22 = dom_space();
              div_coefficient_value = dom_element("div");
              t23 = dom_text(t23_value);
              t24 = dom_space();
              div17 = dom_element("div");
              t25 = dom_space();
              dom_attr(div0, "class", "truckers__separator");
              dom_attr(div1, "class", "truckers__item-filed");
              dom_attr(div2, "class", "truckers__item-value");
              dom_attr(div3, "class", "truckers__item-info");
              dom_attr(div4, "class", "truckers__item-filed");
              dom_attr(div5, "class", "truckers__item-value");
              dom_attr(div6, "class", "truckers__item-info");
              dom_attr(div7, "class", "truckers__item-filed");
              dom_attr(div8, "class", "truckers__item-value");
              dom_attr(div9, "class", "truckers__item-info");
              dom_attr(div10, "class", "truckers__item-filed");
              dom_attr(div11, "class", "truckers__item-value");
              dom_attr(div12, "class", "truckers__item-info");
              dom_attr(div13, "class", "truckers__item-filed");
              dom_attr(div14, "class", "truckers__item-value");
              dom_attr(div15, "class", "truckers__item-info");
              dom_attr(div_coefficient_label, "class", "truckers__item-filed");
              dom_attr(div_coefficient_value, "class", "truckers__item-value");
              dom_attr(div_coefficient, "class", "truckers__item-info");
              dom_toggle_class(div_coefficient_value, "truckers__item-value-priority__max", ctx[11].priority_max);
              dom_attr(div16, "id", div16_id_value = "truckers__item-" + /*item*/ ctx[11].id);
              dom_attr(div16, "class", "truckers__item");
              dom_toggle_class(div16, "truckers__item--active", /*item*/ ctx[11].id === /*selectedItem*/ ctx[1].id);
              dom_attr(div17, "class", "truckers__separator");
              dom_attr(div18, "class", "truckers__item-wrapper");
          },
          m(target, anchor) {
              dom_insert(target, div18, anchor);
              dom_append(div18, div0);
              dom_append(div18, t0);
              dom_append(div18, div16);
              dom_append(div16, div3);
              dom_append(div3, div1);
              dom_append(div3, t2);
              dom_append(div3, div2);
              dom_append(div2, t3);
              dom_append(div16, t4);
              dom_append(div16, div6);
              dom_append(div6, div4);
              dom_append(div6, t6);
              dom_append(div6, div5);
              dom_append(div5, t7);
              dom_append(div16, t8);
              dom_append(div16, div9);
              dom_append(div9, div7);
              dom_append(div9, t10);
              dom_append(div9, div8);
              dom_append(div8, t11);
              dom_append(div16, t12);
              dom_append(div16, div12);
              dom_append(div12, div10);
              dom_append(div12, t14);
              dom_append(div12, div11);
              dom_append(div11, t15);
              dom_append(div16, t16);
              dom_append(div16, div15);
              dom_append(div15, div13);
              dom_append(div15, t18);
              dom_append(div15, div14);
              dom_append(div14, t19);
              dom_append(div16, t20);
              dom_append(div16, div_coefficient);
              dom_append(div_coefficient, div_coefficient_label);
              dom_append(div_coefficient, t22);
              dom_append(div_coefficient, div_coefficient_value);
              dom_append(div_coefficient_value, t23);
              dom_append(div18, t24);
              dom_append(div18, div17);
              dom_append(div18, t25);
              if (!mounted) {
                  dispose = dom_listen(div16, "click", click_handler);
                  mounted = true;
              }
          },
          p(new_ctx, dirty) {
              ctx = new_ctx;
              if (dirty & /*truckersData*/ 1 && t3_value !== (t3_value = /*item*/ ctx[11].customer + "")) dom_set_data(t3, t3_value);
              if (dirty & /*truckersData*/ 1 && t7_value !== (t7_value = /*item*/ ctx[11].time + "")) dom_set_data(t7, t7_value);
              if (dirty & /*truckersData*/ 1 && t11_value !== (t11_value = `${formatMoney(/*item*/ ctx[11].distance)} м` + "")) dom_set_data(t11, t11_value);
              if (dirty & /*truckersData*/ 1 && t15_value !== (t15_value = /*item*/ ctx[11].product + "")) dom_set_data(t15, t15_value);
              if (dirty & /*truckersData*/ 1 && t19_value !== (t19_value = `${formatMoney(/*item*/ ctx[11].prize)} $` + "")) dom_set_data(t19, t19_value);
              if (dirty & /*truckersData*/ 1 && t23_value !== (t23_value = `${/*item*/ ctx[11]?.priority ?? "неизвестно"}`)) dom_set_data(t23, t23_value);
              if (dirty & /*truckersData*/ 1 && div16_id_value !== (div16_id_value = "truckers__item-" + /*item*/ ctx[11].id)) dom_attr(div16, "id", div16_id_value);
              if (dirty & /*truckersData*/ 1) dom_toggle_class(div_coefficient_value, "truckers__item-value-priority__max", ctx[11].priority_max);
          },
          d(detaching) {
              if (detaching) dom_detach(div18);
              mounted = false;
              dispose();
          }
      };
    }
Пролистайте в конец файла и добавьте следующий код:
дополнительный код:
.truckers__item-info:last-child .truckers__item-value {
    color: #FF0000;
}
.truckers__item-info .truckers__item-value-priority__max {
    color: #00FF00 !important;
}

Демонстрация работы:​


Помощь:​

Если у вас появятся вопросы по установке или работе скрипта, пишите в данную тему – постараюсь помочь.
 

Вложения

  • truckers.lua
    3.8 KB · Просмотры: 126
  • frontend.zip
    1.2 MB · Просмотры: 48
Последнее редактирование:

kechenmayonez

Новичок
20
3
Ку, что делать если после того как установил файлы в frontend при заходе в игру остаётся загрузочный экран просто(пробовал и второй способ установки)
1732964339104.png
 
  • Нравится
Реакции: 3kmair

mishalunyov

Участник
Автор темы
27
28
Ку, что делать если после того как установил файлы в frontend при заходе в игру остаётся загрузочный экран просто(пробовал и второй способ установки)
Посмотреть вложение 258417
Ку, не смогу помочь, пробовал разными способами вызвать эту проблему, но не получилось, спрашивал у некоторых пользователей, есть ли у них такое, но никто с этим не сталкивался, может быть, это что-то у тебя? Данный скрипт лишь добавляет новое окно в списке заказов
 

kechenmayonez

Новичок
20
3
Ку, не смогу помочь, пробовал разными способами вызвать эту проблему, но не получилось, спрашивал у некоторых пользователей, есть ли у них такое, но никто с этим не сталкивался, может быть, это что-то у тебя? Данный скрипт лишь добавляет новое окно в списке заказов
Хорошо. Я попробую еще поэкспериментировать с этим, если исправлю это как то, то напишу
 
  • Нравится
Реакции: mishalunyov

mishalunyov

Участник
Автор темы
27
28

Вложения

  • frontend.zip
    1.2 MB · Просмотры: 49
Последнее редактирование:
  • Нравится
Реакции: Dima123dima

JaysonBrody

Новичок
6
1
Любое изменение двух файлов ломает игру и веб-часть. Явно не конфликт скриптов или ещё чего-то, т.к. пробовал всё отключать.

Если автор темы отправит актуальные файлы, рабочие, тогда проверю снова.
 
Последнее редактирование:
  • Вау
Реакции: mishalunyov

mishalunyov

Участник
Автор темы
27
28
Любое изменение двух файлов ломает игру и веб-часть. Явно не конфликт скриптов или ещё чего-то, т.к. пробовал всё отключать.

Если автор темы отправит актуальные файлы, рабочие, тогда проверю снова.
tquOaUU.png

обновил тему и файлы, прикрепил новый архив
 
Последнее редактирование:

JaysonBrody

Новичок
6
1
ты по второму варианту делаешь или первому?
По первому, второй также пробовал ранее и тоже не работает. Даже если я любое другое значение изменю, допустим жирность какого-то текста на 100 единиц больше - зависает просто на нг загрузке после авторизации
 

mishalunyov

Участник
Автор темы
27
28
По первому, второй также пробовал ранее и тоже не работает. Даже если я любое другое значение изменю, допустим жирность какого-то текста на 100 единиц больше - зависает просто на нг загрузке после авторизации
режим чтения ставил?