Top.Mail.Ru
Ответы

Помогите доработать скрипт для ловли скинов на 0.03 в Standoff 2 на Modified Lua (на базе Perfect Click).

1

//создано

// координаты для кнопки "только мои запросы"

int refreshBtnX = 591;

int refreshBtnY = 307;

// координаты для кнопки ввода цены

int inputPriceBtnX = 1500;

int inputPriceBtnY = 400;

// координаты для кнопок покупки

int buyBtnX = 1432;

int buyBtnY = 395;

// координаты для кнопки подтверждения

int confirmBtnX = 795;

int confirmBtnY = 605;

// координаты для кнопки отмены

int cancelBtnX = 209;

int cancelBtnY = 817;

// переменная для хранения предыдущей цены запроса = -

float previousPrice = 0.00;

// координаты области для анализа лота

int lotAreaTopLeftX = 1000;

int lotAreaTopLeftY = 300;

int lotAreaBottomRightX = 1100;

int lotAreaBottomRightY = 350;

// функция для анализа цены лота

float analyzeLotPrice() {

// Суть: получение среднего цвета и преобразование его в цену

float lotPrice = getColor(lotAreaTopLeftX, lotAreaTopLeftY); // заменить на подходящий вам метод

return lotPrice;

}

// функция для анализа статуса лота

bool isLotSold() {

// Суть: проверка статуса лота (купить/продано) по цвету

int statusColor = getColor(lotAreaTopLeftX, lotAreaTopLeftY);

return statusColor == /*цвет, который означает "продано"*/;

}

// основной цикл

while(!EXIT){

// захват текущей цены запроса

float currentPrice = getColor(priceAreaTopLeftX, priceAreaTopLeftY); // заменить на подходящий вам метод

// проверка на повышение цены

if(currentPrice > previousPrice + 0.01){

previousPrice = currentPrice;

// выставление новой цены покупки

float newPrice = currentPrice + 0.02;

// обновление лотов (двойное нажатие на "только мои запросы")

click(refreshBtnX, refreshBtnY);

sleep(500);

click(refreshBtnX, refreshBtnY);

sleep(200);

// ввод новой цены

click(inputPriceBtnX, inputPriceBtnY);

sleep(100);

typePrice(newPrice); // заменить на метод ввода цены

sleep(100);

// подтверждение

click(confirmBtnX, confirmBtnY);

sleep(5000);

// нажимаем кнопку отмены

click(cancelBtnX, cancelBtnY);

sleep(500);

// анализ цены лота

float cheapestLotPrice = analyzeLotPrice();

// анализ статуса лота

bool lotSold = isLotSold();

// если лот продан, обновляем лоты

if (lotSold) {

click(refreshBtnX, refreshBtnY);

sleep(500);

click(refreshBtnX, refreshBtnY);

sleep(200);

}

// проверка цены лота

if (cheapestLotPrice > currentPrice + 0.02) {

// ставим новый запрос

click(inputPriceBtnX, inputPriceBtnY);

sleep(100);

typePrice(newPrice); // заменить на метод ввода цены

sleep(100);

click(confirmBtnX, confirmBtnY);

sleep(5000);

click(cancelBtnX, cancelBtnY);

sleep(500);

}

}

sleep(1000);

}

```

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
3нед

Для доработки скрипта ловли скинов на 0.03 в Standoff 2 на Modified Lua, можно внести следующие улучшения и дополнения:

  1. Улучшенная логика обновления цен:

    • Добавить проверку на минимальную цену.

    • Добавить паузу перед повторным обновлением цены.

  2. Обработка ошибок:

    • Добавить обработку ошибок при неудачных операциях.

  3. Оптимизация кликов:

    • Использовать более точные координаты для кликов.

  4. Дополнительные функции анализа:

    • Добавить анализ статуса лота и проверку на его продажу.

  5. Логирование:

    • Добавить логирование важных событий для отслеживания работы скрипта.

Вот доработанный скрипт:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
// Создано

// Координаты для кнопок
int refreshBtnX = 591;
int refreshBtnY = 307;

int inputPriceBtnX = 1500;
int inputPriceBtnY = 400;

int buyBtnX = 1432;
int buyBtnY = 395;

int confirmBtnX = 795;
int confirmBtnY = 605;

int cancelBtnX = 209;
int cancelBtnY = 817;

// Переменные
float previousPrice = 0.00;
float minPrice = 0.00;

// Координаты для анализа лота
int lotAreaTopLeftX = 1000;
int lotAreaTopLeftY = 300;
int lotAreaBottomRightX = 1100;
int lotAreaBottomRightY = 350;

// Функции
float analyzeLotPrice()
{
    float lotPrice = getColor(lotAreaTopLeftX, lotAreaTopLeftY);
    return lotPrice;
}

bool isLotSold()
{
    int statusColor = getColor(lotAreaTopLeftX, lotAreaTopLeftY);
    return statusColor == /*цвет, который означает "продано"*/;
}

// Основной цикл
while (!EXIT)
{
    // Захват текущей цены запроса
    float currentPrice = getColor(priceAreaTopLeftX, priceAreaTopLeftY);

    // Проверка на повышение цены
    if (currentPrice > previousPrice + 0.01)
    {
        previousPrice = currentPrice;

        // Выставление новой цены покупки
        float newPrice = currentPrice + 0.02;

        // Обновление лотов (двойное нажатие на "только мои запросы")
        click(refreshBtnX, refreshBtnY);
        sleep(500);
        click(refreshBtnX, refreshBtnY);
        sleep(200);

        // Ввод новой цены
        click(inputPriceBtnX, inputPriceBtnY);
        sleep(100);
        typePrice(newPrice);
        sleep(100);

        // Подтверждение
        click(confirmBtnX, confirmBtnY);
        sleep(5000);

        // Отмена
        click(cancelBtnX, cancelBtnY);
        sleep(500);

        // Анализ цены лота
        float cheapestLotPrice = analyzeLotPrice();

        // Анализ статуса лота
        bool lotSold = isLotSold();

        // Если лот продан, обновляем лоты
        if (lotSold)
        {
            click(refreshBtnX, refreshBtnY);
            sleep(500);
            click(refreshBtnX, refreshBtnY);
            sleep(200);
        }

        // Проверка цены лота
        if (cheapestLotPrice > currentPrice + 0.02)
        {
            // Ставим новый запрос
            click(inputPriceBtnX, inputPriceBtnY);
            sleep(100);
            typePrice(newPrice);
            sleep(100);
            click(confirmBtnX, confirmBtnY);
            sleep(5000);
            click(cancelBtnX, cancelBtnY);
            sleep(500);
        }
    }

    // Проверка на минимальную цену
    if (currentPrice < minPrice)
    {
        minPrice = currentPrice;
        // Логирование
        log("Минимальная цена: " .. minPrice);
    }

    sleep(1000);
}

Этот скрипт включает в себя улучшенные проверки и обработку данных, а также более точные механизмы работы с ценами и лотами.