Исходник AutoTransfer elysium

Начинающий
Статус
Оффлайн
Регистрация
26 Мар 2021
Сообщения
67
Реакции[?]
1
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Если че обычный декомпил, работает нормально, тестил.
Expensive Ready.
Работает только на втором виде Gui(Beta)
захотите переделаете



AutoTransfer.java:
package ru.elysium.modules.impl.player;

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
import net.minecraft.inventory.container.ChestContainer;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import ru.elysium.events.Event;
import ru.elysium.modules.Function;
import ru.elysium.modules.FunctionAnnotation;
import ru.elysium.modules.Type;
import ru.elysium.modules.impl.player.Multithreading;
import ru.elysium.modules.settings.imp.SliderSetting;
import ru.elysium.modules.settings.imp.TextSetting;
import ru.elysium.util.ClientUtil;
import ru.elysium.util.math.MathUtil;

@FunctionAnnotation(name="AutoTransfer", type=Type.Player)
public class AutoTransfer
extends Function {
    public TextSetting anarchy = new TextSetting("Анархия", "101");
    private final SliderSetting itemCount = new SliderSetting("Кол-во предметов", 1.0f, 3.0f, 10.0f, 1.0f);
    private final SliderSetting coldown = new SliderSetting("Кулдаун", 500.0f, 10.0f, 1000.0f, 10.0f);
    public TextSetting sellCommand = new TextSetting("Команда для продажи", "/ah dsell 10");
    private boolean buyAction = false;
    private boolean isClicking = false;
    private long lastTransferTime = 0L;
    private final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();

    public AutoTransfer() {
        this.addSettings(this.anarchy, this.itemCount, this.sellCommand, this.coldown);
    }

    @Override
    public void onEnable() {
        if (Minecraft.player != null && AutoTransfer.mc.world != null) {
            if (Minecraft.player.ticksExisted < 500) {
                float f = (float)(500 - Minecraft.player.ticksExisted) / 20.0f;
                ClientUtil.sendMesage("Подождите " + MathUtil.round(f, 2) + " секунд");
                super.onEnable();
            } else {
                String string = this.anarchy.get();
                if (!this.isNumbers(string)) {
                    ClientUtil.sendMesage("AutoTransfer - Введите номер анархии! (Только числа).");
                    super.onEnable();
                } else {
                    int n = Integer.parseInt(this.anarchy.get());
                    if (n >= 0 && n <= 600) {
                        this.transfer(n);
                        super.onEnable();
                    } else {
                        ClientUtil.sendMesage("AutoTransfer - Введите номер анархии от 0 до 600!");
                        super.onEnable();
                    }
                }
            }
        } else {
            super.onEnable();
        }
    }

    @Override
    public void onEvent(Event event) {
    }

    public void onEvent(org.w3c.dom.events.Event event) {
        this.onMotion();
    }

    private boolean isNumbers(String string) {
        return string.matches("\\d+");
    }

    private void transfer(int n) {
        Multithreading.runAsync(this::lambda$transfer$0);
    }

    private void lambda$transfer$0() {
    }

    private void onMotion() {
        if (this.buyAction && AutoTransfer.mc.currentScreen instanceof ContainerScreen) {
            ContainerScreen containerScreen = (ContainerScreen)AutoTransfer.mc.currentScreen;
            int n = this.itemCount.getValue().intValue();
            int n2 = 0;
            for (Slot slot : ((Container)containerScreen.getContainer()).inventorySlots) {
                if (slot.getStack().isEmpty() || System.currentTimeMillis() - this.lastTransferTime < this.coldown.getValue().longValue()) continue;
                if (!this.isClicking) {
                    this.isClicking = true;
                    AutoTransfer.mc.playerController.windowClick(((Container)containerScreen.getContainer()).windowId, slot.slotNumber, 0, ClickType.QUICK_MOVE, Minecraft.player);
                    ++n2;
                    this.lastTransferTime = System.currentTimeMillis();
                    CompletableFuture.runAsync(this::lambda$onMotion$1);
                    this.executor.schedule(AutoTransfer::lambda$onMotion$2, this.coldown.getValue().longValue(), TimeUnit.MILLISECONDS);
                }
                if (n2 < n) continue;
                Minecraft.player.closeScreen();
                break;
            }
        }
    }

    @Override
    public void onDisable() {
        super.onDisable();
    }

    private static void lambda$onMotion$2() {
    }

    private void lambda$onMotion$1() {
        try {
            Thread.sleep(500L);
        }
        catch (InterruptedException interruptedException) {
            interruptedException.printStackTrace();
        }
        finally {
            this.isClicking = false;
        }
    }

    private void lambda$transfer$0(int n) {
        Minecraft.player.inventory.currentItem = 0;
        int n2 = 0;
        for (Slot slot : Minecraft.player.container.inventorySlots) {
            if (slot.getStack().isEmpty()) continue;
            if (n2 >= this.itemCount.getValue().intValue()) break;
            if (Minecraft.player.inventory.getStackInSlot(0).isEmpty() && slot.slotNumber != 0) {
                AutoTransfer.mc.playerController.windowClick(Minecraft.player.container.windowId, slot.slotNumber, 0, ClickType.PICKUP, Minecraft.player);
                AutoTransfer.mc.playerController.windowClick(Minecraft.player.container.windowId, 36, 0, ClickType.PICKUP, Minecraft.player);
            }
            Multithreading.awaitMillis(100L);
            if (!Minecraft.player.inventory.getStackInSlot(0).isEmpty()) {
                Minecraft.player.sendChatMessage(this.sellCommand.get());
                ++n2;
                Multithreading.awaitMillis(250L);
            }
            Multithreading.awaitMillis(100L);
        }
        Minecraft.player.sendChatMessage("/an" + n);
        Multithreading.awaitMillis(400L);
        Minecraft.player.sendChatMessage("/ah " + mc.getSession().getUsername());
        Multithreading.awaitMillis(200L);
        int n3 = 0;
        do {
            if (Minecraft.player.openContainer instanceof ChestContainer) break;
            Multithreading.awaitMillis(50L);
        } while (++n3 <= 100);
        Multithreading.awaitMillis(150L);
        this.buyAction = true;
    }
}
там ещё утилка нужна типо, вот она

Multithreading.java:
package ru.elysium.modules.impl.player;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import lombok.NonNull;

public class Multithreading {
    private static final ScheduledExecutorService RUNNABLE_EXECUTOR = Executors.newScheduledThreadPool(20, new ThreadFactory(){
        private final AtomicInteger COUNTER = new AtomicInteger(0);

        @Override
        public Thread newThread(@NonNull Runnable runnable) {
            if (runnable == null) {
                throw new NullPointerException("r is marked non-null but is null");
            }
            return new Thread(runnable, "Multithreading Thread " + this.COUNTER.incrementAndGet());
        }
    });
    public static ExecutorService EXECUTOR = Executors.newCachedThreadPool(new ThreadFactory(){
        private final AtomicInteger COUNTER = new AtomicInteger(0);

        @Override
        public Thread newThread(@NonNull Runnable runnable) {
            if (runnable == null) {
                throw new NullPointerException("r is marked non-null but is null");
            }
            return new Thread(runnable, "Multithreading Thread " + this.COUNTER.incrementAndGet());
        }
    });

    public static void awaitMillis(long l) {
        try {
            EXECUTOR.awaitTermination(l, TimeUnit.MILLISECONDS);
        }
        catch (Exception exception) {
            // empty catch block
        }
    }

    public static void schedule(Runnable runnable, long l, long l2, TimeUnit timeUnit) {
        RUNNABLE_EXECUTOR.scheduleAtFixedRate(runnable, l, l2, timeUnit);
    }

    public static ScheduledFuture<?> schedule(Runnable runnable, long l, TimeUnit timeUnit) {
        return RUNNABLE_EXECUTOR.schedule(runnable, l, timeUnit);
    }

    public static int getTotal() {
        return ((ThreadPoolExecutor)EXECUTOR).getActiveCount();
    }

    public static void runAsync(Runnable runnable) {
        EXECUTOR.execute(runnable);
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
16 Дек 2023
Сообщения
496
Реакции[?]
8
Поинты[?]
4K
Если че обычный декомпил, работает нормально, тестил.
Expensive Ready.
Работает только на втором виде Gui(Beta)
захотите переделаете



AutoTransfer.java:
package ru.elysium.modules.impl.player;

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
import net.minecraft.inventory.container.ChestContainer;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import ru.elysium.events.Event;
import ru.elysium.modules.Function;
import ru.elysium.modules.FunctionAnnotation;
import ru.elysium.modules.Type;
import ru.elysium.modules.impl.player.Multithreading;
import ru.elysium.modules.settings.imp.SliderSetting;
import ru.elysium.modules.settings.imp.TextSetting;
import ru.elysium.util.ClientUtil;
import ru.elysium.util.math.MathUtil;

@FunctionAnnotation(name="AutoTransfer", type=Type.Player)
public class AutoTransfer
extends Function {
    public TextSetting anarchy = new TextSetting("Анархия", "101");
    private final SliderSetting itemCount = new SliderSetting("Кол-во предметов", 1.0f, 3.0f, 10.0f, 1.0f);
    private final SliderSetting coldown = new SliderSetting("Кулдаун", 500.0f, 10.0f, 1000.0f, 10.0f);
    public TextSetting sellCommand = new TextSetting("Команда для продажи", "/ah dsell 10");
    private boolean buyAction = false;
    private boolean isClicking = false;
    private long lastTransferTime = 0L;
    private final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();

    public AutoTransfer() {
        this.addSettings(this.anarchy, this.itemCount, this.sellCommand, this.coldown);
    }

    @Override
    public void onEnable() {
        if (Minecraft.player != null && AutoTransfer.mc.world != null) {
            if (Minecraft.player.ticksExisted < 500) {
                float f = (float)(500 - Minecraft.player.ticksExisted) / 20.0f;
                ClientUtil.sendMesage("Подождите " + MathUtil.round(f, 2) + " секунд");
                super.onEnable();
            } else {
                String string = this.anarchy.get();
                if (!this.isNumbers(string)) {
                    ClientUtil.sendMesage("AutoTransfer - Введите номер анархии! (Только числа).");
                    super.onEnable();
                } else {
                    int n = Integer.parseInt(this.anarchy.get());
                    if (n >= 0 && n <= 600) {
                        this.transfer(n);
                        super.onEnable();
                    } else {
                        ClientUtil.sendMesage("AutoTransfer - Введите номер анархии от 0 до 600!");
                        super.onEnable();
                    }
                }
            }
        } else {
            super.onEnable();
        }
    }

    @Override
    public void onEvent(Event event) {
    }

    public void onEvent(org.w3c.dom.events.Event event) {
        this.onMotion();
    }

    private boolean isNumbers(String string) {
        return string.matches("\\d+");
    }

    private void transfer(int n) {
        Multithreading.runAsync(this::lambda$transfer$0);
    }

    private void lambda$transfer$0() {
    }

    private void onMotion() {
        if (this.buyAction && AutoTransfer.mc.currentScreen instanceof ContainerScreen) {
            ContainerScreen containerScreen = (ContainerScreen)AutoTransfer.mc.currentScreen;
            int n = this.itemCount.getValue().intValue();
            int n2 = 0;
            for (Slot slot : ((Container)containerScreen.getContainer()).inventorySlots) {
                if (slot.getStack().isEmpty() || System.currentTimeMillis() - this.lastTransferTime < this.coldown.getValue().longValue()) continue;
                if (!this.isClicking) {
                    this.isClicking = true;
                    AutoTransfer.mc.playerController.windowClick(((Container)containerScreen.getContainer()).windowId, slot.slotNumber, 0, ClickType.QUICK_MOVE, Minecraft.player);
                    ++n2;
                    this.lastTransferTime = System.currentTimeMillis();
                    CompletableFuture.runAsync(this::lambda$onMotion$1);
                    this.executor.schedule(AutoTransfer::lambda$onMotion$2, this.coldown.getValue().longValue(), TimeUnit.MILLISECONDS);
                }
                if (n2 < n) continue;
                Minecraft.player.closeScreen();
                break;
            }
        }
    }

    @Override
    public void onDisable() {
        super.onDisable();
    }

    private static void lambda$onMotion$2() {
    }

    private void lambda$onMotion$1() {
        try {
            Thread.sleep(500L);
        }
        catch (InterruptedException interruptedException) {
            interruptedException.printStackTrace();
        }
        finally {
            this.isClicking = false;
        }
    }

    private void lambda$transfer$0(int n) {
        Minecraft.player.inventory.currentItem = 0;
        int n2 = 0;
        for (Slot slot : Minecraft.player.container.inventorySlots) {
            if (slot.getStack().isEmpty()) continue;
            if (n2 >= this.itemCount.getValue().intValue()) break;
            if (Minecraft.player.inventory.getStackInSlot(0).isEmpty() && slot.slotNumber != 0) {
                AutoTransfer.mc.playerController.windowClick(Minecraft.player.container.windowId, slot.slotNumber, 0, ClickType.PICKUP, Minecraft.player);
                AutoTransfer.mc.playerController.windowClick(Minecraft.player.container.windowId, 36, 0, ClickType.PICKUP, Minecraft.player);
            }
            Multithreading.awaitMillis(100L);
            if (!Minecraft.player.inventory.getStackInSlot(0).isEmpty()) {
                Minecraft.player.sendChatMessage(this.sellCommand.get());
                ++n2;
                Multithreading.awaitMillis(250L);
            }
            Multithreading.awaitMillis(100L);
        }
        Minecraft.player.sendChatMessage("/an" + n);
        Multithreading.awaitMillis(400L);
        Minecraft.player.sendChatMessage("/ah " + mc.getSession().getUsername());
        Multithreading.awaitMillis(200L);
        int n3 = 0;
        do {
            if (Minecraft.player.openContainer instanceof ChestContainer) break;
            Multithreading.awaitMillis(50L);
        } while (++n3 <= 100);
        Multithreading.awaitMillis(150L);
        this.buyAction = true;
    }
}
там ещё утилка нужна типо, вот она

Multithreading.java:
package ru.elysium.modules.impl.player;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import lombok.NonNull;

public class Multithreading {
    private static final ScheduledExecutorService RUNNABLE_EXECUTOR = Executors.newScheduledThreadPool(20, new ThreadFactory(){
        private final AtomicInteger COUNTER = new AtomicInteger(0);

        @Override
        public Thread newThread(@NonNull Runnable runnable) {
            if (runnable == null) {
                throw new NullPointerException("r is marked non-null but is null");
            }
            return new Thread(runnable, "Multithreading Thread " + this.COUNTER.incrementAndGet());
        }
    });
    public static ExecutorService EXECUTOR = Executors.newCachedThreadPool(new ThreadFactory(){
        private final AtomicInteger COUNTER = new AtomicInteger(0);

        @Override
        public Thread newThread(@NonNull Runnable runnable) {
            if (runnable == null) {
                throw new NullPointerException("r is marked non-null but is null");
            }
            return new Thread(runnable, "Multithreading Thread " + this.COUNTER.incrementAndGet());
        }
    });

    public static void awaitMillis(long l) {
        try {
            EXECUTOR.awaitTermination(l, TimeUnit.MILLISECONDS);
        }
        catch (Exception exception) {
            // empty catch block
        }
    }

    public static void schedule(Runnable runnable, long l, long l2, TimeUnit timeUnit) {
        RUNNABLE_EXECUTOR.scheduleAtFixedRate(runnable, l, l2, timeUnit);
    }

    public static ScheduledFuture<?> schedule(Runnable runnable, long l, TimeUnit timeUnit) {
        return RUNNABLE_EXECUTOR.schedule(runnable, l, timeUnit);
    }

    public static int getTotal() {
        return ((ThreadPoolExecutor)EXECUTOR).getActiveCount();
    }

    public static void runAsync(Runnable runnable) {
        EXECUTOR.execute(runnable);
    }
}
Как же сложно с новы спастись да? 1 в 1 код. Не чего сложного...
 
Забаненный
Статус
Оффлайн
Регистрация
13 Дек 2023
Сообщения
3
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Если че обычный декомпил, работает нормально, тестил.
Expensive Ready.
Работает только на втором виде Gui(Beta)
захотите переделаете



AutoTransfer.java:
package ru.elysium.modules.impl.player;

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
import net.minecraft.inventory.container.ChestContainer;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import ru.elysium.events.Event;
import ru.elysium.modules.Function;
import ru.elysium.modules.FunctionAnnotation;
import ru.elysium.modules.Type;
import ru.elysium.modules.impl.player.Multithreading;
import ru.elysium.modules.settings.imp.SliderSetting;
import ru.elysium.modules.settings.imp.TextSetting;
import ru.elysium.util.ClientUtil;
import ru.elysium.util.math.MathUtil;

@FunctionAnnotation(name="AutoTransfer", type=Type.Player)
public class AutoTransfer
extends Function {
    public TextSetting anarchy = new TextSetting("Анархия", "101");
    private final SliderSetting itemCount = new SliderSetting("Кол-во предметов", 1.0f, 3.0f, 10.0f, 1.0f);
    private final SliderSetting coldown = new SliderSetting("Кулдаун", 500.0f, 10.0f, 1000.0f, 10.0f);
    public TextSetting sellCommand = new TextSetting("Команда для продажи", "/ah dsell 10");
    private boolean buyAction = false;
    private boolean isClicking = false;
    private long lastTransferTime = 0L;
    private final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();

    public AutoTransfer() {
        this.addSettings(this.anarchy, this.itemCount, this.sellCommand, this.coldown);
    }

    @Override
    public void onEnable() {
        if (Minecraft.player != null && AutoTransfer.mc.world != null) {
            if (Minecraft.player.ticksExisted < 500) {
                float f = (float)(500 - Minecraft.player.ticksExisted) / 20.0f;
                ClientUtil.sendMesage("Подождите " + MathUtil.round(f, 2) + " секунд");
                super.onEnable();
            } else {
                String string = this.anarchy.get();
                if (!this.isNumbers(string)) {
                    ClientUtil.sendMesage("AutoTransfer - Введите номер анархии! (Только числа).");
                    super.onEnable();
                } else {
                    int n = Integer.parseInt(this.anarchy.get());
                    if (n >= 0 && n <= 600) {
                        this.transfer(n);
                        super.onEnable();
                    } else {
                        ClientUtil.sendMesage("AutoTransfer - Введите номер анархии от 0 до 600!");
                        super.onEnable();
                    }
                }
            }
        } else {
            super.onEnable();
        }
    }

    @Override
    public void onEvent(Event event) {
    }

    public void onEvent(org.w3c.dom.events.Event event) {
        this.onMotion();
    }

    private boolean isNumbers(String string) {
        return string.matches("\\d+");
    }

    private void transfer(int n) {
        Multithreading.runAsync(this::lambda$transfer$0);
    }

    private void lambda$transfer$0() {
    }

    private void onMotion() {
        if (this.buyAction && AutoTransfer.mc.currentScreen instanceof ContainerScreen) {
            ContainerScreen containerScreen = (ContainerScreen)AutoTransfer.mc.currentScreen;
            int n = this.itemCount.getValue().intValue();
            int n2 = 0;
            for (Slot slot : ((Container)containerScreen.getContainer()).inventorySlots) {
                if (slot.getStack().isEmpty() || System.currentTimeMillis() - this.lastTransferTime < this.coldown.getValue().longValue()) continue;
                if (!this.isClicking) {
                    this.isClicking = true;
                    AutoTransfer.mc.playerController.windowClick(((Container)containerScreen.getContainer()).windowId, slot.slotNumber, 0, ClickType.QUICK_MOVE, Minecraft.player);
                    ++n2;
                    this.lastTransferTime = System.currentTimeMillis();
                    CompletableFuture.runAsync(this::lambda$onMotion$1);
                    this.executor.schedule(AutoTransfer::lambda$onMotion$2, this.coldown.getValue().longValue(), TimeUnit.MILLISECONDS);
                }
                if (n2 < n) continue;
                Minecraft.player.closeScreen();
                break;
            }
        }
    }

    @Override
    public void onDisable() {
        super.onDisable();
    }

    private static void lambda$onMotion$2() {
    }

    private void lambda$onMotion$1() {
        try {
            Thread.sleep(500L);
        }
        catch (InterruptedException interruptedException) {
            interruptedException.printStackTrace();
        }
        finally {
            this.isClicking = false;
        }
    }

    private void lambda$transfer$0(int n) {
        Minecraft.player.inventory.currentItem = 0;
        int n2 = 0;
        for (Slot slot : Minecraft.player.container.inventorySlots) {
            if (slot.getStack().isEmpty()) continue;
            if (n2 >= this.itemCount.getValue().intValue()) break;
            if (Minecraft.player.inventory.getStackInSlot(0).isEmpty() && slot.slotNumber != 0) {
                AutoTransfer.mc.playerController.windowClick(Minecraft.player.container.windowId, slot.slotNumber, 0, ClickType.PICKUP, Minecraft.player);
                AutoTransfer.mc.playerController.windowClick(Minecraft.player.container.windowId, 36, 0, ClickType.PICKUP, Minecraft.player);
            }
            Multithreading.awaitMillis(100L);
            if (!Minecraft.player.inventory.getStackInSlot(0).isEmpty()) {
                Minecraft.player.sendChatMessage(this.sellCommand.get());
                ++n2;
                Multithreading.awaitMillis(250L);
            }
            Multithreading.awaitMillis(100L);
        }
        Minecraft.player.sendChatMessage("/an" + n);
        Multithreading.awaitMillis(400L);
        Minecraft.player.sendChatMessage("/ah " + mc.getSession().getUsername());
        Multithreading.awaitMillis(200L);
        int n3 = 0;
        do {
            if (Minecraft.player.openContainer instanceof ChestContainer) break;
            Multithreading.awaitMillis(50L);
        } while (++n3 <= 100);
        Multithreading.awaitMillis(150L);
        this.buyAction = true;
    }
}
там ещё утилка нужна типо, вот она

Multithreading.java:
package ru.elysium.modules.impl.player;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import lombok.NonNull;

public class Multithreading {
    private static final ScheduledExecutorService RUNNABLE_EXECUTOR = Executors.newScheduledThreadPool(20, new ThreadFactory(){
        private final AtomicInteger COUNTER = new AtomicInteger(0);

        @Override
        public Thread newThread(@NonNull Runnable runnable) {
            if (runnable == null) {
                throw new NullPointerException("r is marked non-null but is null");
            }
            return new Thread(runnable, "Multithreading Thread " + this.COUNTER.incrementAndGet());
        }
    });
    public static ExecutorService EXECUTOR = Executors.newCachedThreadPool(new ThreadFactory(){
        private final AtomicInteger COUNTER = new AtomicInteger(0);

        @Override
        public Thread newThread(@NonNull Runnable runnable) {
            if (runnable == null) {
                throw new NullPointerException("r is marked non-null but is null");
            }
            return new Thread(runnable, "Multithreading Thread " + this.COUNTER.incrementAndGet());
        }
    });

    public static void awaitMillis(long l) {
        try {
            EXECUTOR.awaitTermination(l, TimeUnit.MILLISECONDS);
        }
        catch (Exception exception) {
            // empty catch block
        }
    }

    public static void schedule(Runnable runnable, long l, long l2, TimeUnit timeUnit) {
        RUNNABLE_EXECUTOR.scheduleAtFixedRate(runnable, l, l2, timeUnit);
    }

    public static ScheduledFuture<?> schedule(Runnable runnable, long l, TimeUnit timeUnit) {
        return RUNNABLE_EXECUTOR.schedule(runnable, l, timeUnit);
    }

    public static int getTotal() {
        return ((ThreadPoolExecutor)EXECUTOR).getActiveCount();
    }

    public static void runAsync(Runnable runnable) {
        EXECUTOR.execute(runnable);
    }
}
все кто пишет что он не работает, даже если бы он работал, в этом вайпе после перезхода на анку кд 20 сек, тоесть вы сможите выстовить придметы а залуать из ток через 20 сек, за это время уже другие люди купят
 
Начинающий
Статус
Оффлайн
Регистрация
16 Дек 2023
Сообщения
119
Реакции[?]
3
Поинты[?]
5K
Если че обычный декомпил, работает нормально, тестил.
Expensive Ready.
Работает только на втором виде Gui(Beta)
захотите переделаете
бро Nova moment, какой элюзиум наху
 
Начинающий
Статус
Оффлайн
Регистрация
16 Дек 2023
Сообщения
496
Реакции[?]
8
Поинты[?]
4K
да молчи пастер, видел бы народ твой клиент, я бы думал, что они бы уже все погибли🥺🐭
Ты этот клиент и не видил,а вот на твой шедевро минсед я бы взглянул)
Даже лобок моего деда, которыц не брился с 74 года не выглядит так ужасно, как их клиент
Я думаю там все заросло к чертям,даже лицо и не видно,хахаааэ
 
minced client
Read Only
Статус
Оффлайн
Регистрация
8 Май 2022
Сообщения
616
Реакции[?]
61
Поинты[?]
2K
Ты этот клиент и не видил,а вот на твой шедевро минсед я бы взглянул)

Я думаю там все заросло к чертям,даже лицо и не видно,хахаааэ
Так мой минцед в тысячу раз лучше, он породистый, чем тысячи паст безруких школьников, которые по x и y не могут адекватно поставить ничего
 
Начинающий
Статус
Оффлайн
Регистрация
16 Дек 2023
Сообщения
496
Реакции[?]
8
Поинты[?]
4K
Так мой минцед в тысячу раз лучше, он породистый, чем тысячи паст безруких школьников, которые по x и y не могут адекватно поставить ничего
Твой минсед онли под Санрайз и все,а дальше ты и новый ач фт 100% не обойдешь,по x и y там не че сложного в подборе координат нет)
 
minced client
Read Only
Статус
Оффлайн
Регистрация
8 Май 2022
Сообщения
616
Реакции[?]
61
Поинты[?]
2K
Твой минсед онли под Санрайз и все,а дальше ты и новый ач фт 100% не обойдешь,по x и y там не че сложного в подборе координат нет)
Конечно) ты точно шаришь, что у меня есть и что нет) ну киллауры, рабочего InventoryWalk без бана, спидов, ну точно нет) пастер пон) молчи и ебалом не щелкай пастер)
Твой минсед онли под Санрайз и все,а дальше ты и новый ач фт 100% не обойдешь,по x и y там не че сложного в подборе координат нет)
ты бы на свой клиент посмотрел, и пиздел бы меньше, пока еще можешь
 
Начинающий
Статус
Оффлайн
Регистрация
16 Авг 2022
Сообщения
4
Реакции[?]
0
Поинты[?]
0
Конечно) ты точно шаришь, что у меня есть и что нет) ну киллауры, рабочего InventoryWalk без бана, спидов, ну точно нет) пастер пон) молчи и ебалом не щелкай пастер)

ты бы на свой клиент посмотрел, и пиздел бы меньше, пока еще можешь
Твой минсед онли под Санрайз и все,а дальше ты и новый ач фт 100% не обойдешь,по x и y там не че сложного в подборе координат нет)
ахха пастер ты ексленд ренеймишь
 
Сверху Снизу