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

mishalunyov

Участник
Автор темы
18
25
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 = space();
                div16 = dom_element("div");
                div3 = dom_element("div");
                div1 = dom_element("div");
                div1.textContent = "Заказчик";
                t2 = space();
                div2 = dom_element("div");
                t3 = dom_text(t3_value);
                t4 = space();
                div6 = dom_element("div");
                div4 = dom_element("div");
                div4.textContent = "Время";
                t6 = space();
                div5 = dom_element("div");
                t7 = dom_text(t7_value);
                t8 = space();
                div9 = dom_element("div");
                div7 = dom_element("div");
                div7.textContent = "Расстояние";
                t10 = space();
                div8 = dom_element("div");
                t11 = dom_text(t11_value);
                t12 = space();
                div12 = dom_element("div");
                div10 = dom_element("div");
                div10.textContent = "Товар";
                t14 = space();
                div11 = dom_element("div");
                t15 = dom_text(t15_value);
                t16 = space();
                div15 = dom_element("div");
                div13 = dom_element("div");
                div13.textContent = "Зарплата";
                t18 = space();
                div14 = dom_element("div");
                t19 = dom_text(t19_value);
                t20 = space();
            
                div_coefficient = dom_element("div");
                div_coefficient_label = dom_element("div");
                div_coefficient_label.textContent = "Коэффициент";
                t22 = space();
                div_coefficient_value = dom_element("div");
                t23 = dom_text(t23_value);
                t24 = space();
            
                div17 = dom_element("div");
                t25 = 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].coefficient}` + "")) 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 && t23_value !== (t23_value = `${/*item*/ ctx[11].priority ?? "неизвестно"}`)) {
            dom_set_data(t23, t23_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 · Просмотры: 63
  • frontend.zip
    1.2 MB · Просмотры: 16
Последнее редактирование:

kechenmayonez

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

mishalunyov

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

kechenmayonez

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

mishalunyov

Участник
Автор темы
18
25

Вложения

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