Вопрос Помогити паже (помогите) 3.1

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
19 Май 2025
Сообщения
174
Реакции
0

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

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

Спасибо!

Привет YouGame!
Мне нужна помощь с кодом.
Ето помогает использовать лук и трезубец нажатием кнопким оно стреляет нажатием кнопки и возвращает слот но роботает забагано.
Оно стреляет на 1 предмете потом надо с другого предмета самому стрельнуть штоб начало робить а теперь совсем не стреляет.
кто может помогите мне спасибо на перед!


Java:
Expand Collapse Copy
package im.star.functions.impl.combat;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.*;
import im.expensive.functions.api.*;
import im.expensive.functions.settings.impl.*;
import net.minecraft.item.*;
import net.minecraft.network.play.client.*;
import net.minecraft.util.*;

@FunctionRegister(name = "ItemAssistant+", type = Category.Combat)
public class ItemAssistant extends Function {

    private final BindSetting bowKey = new BindSetting("Лук", -1);
    private final BindSetting crossbowKey = new BindSetting("Арбалет", -1);
    private final BindSetting tridentKey = new BindSetting("Трезубец", -1);

    private final SliderSetting bowDrawTime = new SliderSetting("Время натягивания лука", 1500, 500, 3000, 10);
    private final SliderSetting crossbowChargeTime = new SliderSetting("Время натягивания арбалета", 1250, 800, 2000, 10);
    private final SliderSetting tridentChargeTime = new SliderSetting("Время натягивания тризубца", 700, 400, 1200, 10);

    private boolean isCharging = false;
    private Item chargingItem = null;
    private long chargeStartTime = 0;
    private int previousSlot = -1;

    public ItemAssistant() {
        addSettings(
                bowKey, crossbowKey, tridentKey,
                bowDrawTime, crossbowChargeTime, tridentChargeTime
        );
    }

    [USER=1474073]@Subscribe[/USER]
    public void onKey(EventKey event) {
        if (event.getKey() == bowKey.get()) {
            handleWeapon(Items.BOW);
        }
        else if (event.getKey() == crossbowKey.get()) {
            handleWeapon(Items.CROSSBOW);
        }
        else if (event.getKey() == tridentKey.get()) {
            handleWeapon(Items.TRIDENT);
        }
    }

    private void handleWeapon(Item item) {
        if (isCharging) {
            releaseWeapon();
            return;
        }

        int slot = findItemInHotbar(item);
        if (slot == -1) {
            print("§c" + getItemName(item) + " не нашел!");
            return;
        }

        previousSlot = mc.player.inventory.currentItem;
        mc.player.inventory.currentItem = slot;
        mc.player.connection.sendPacket(new CHeldItemChangePacket(slot));

        mc.gameSettings.keyBindUseItem.setPressed(true);
        isCharging = true;
        chargingItem = item;
        chargeStartTime = System.currentTimeMillis();
    }

    [USER=1474073]@Subscribe[/USER]
    public void onUpdate(EventUpdate event) {
        if (isCharging && chargingItem != null) {
            long elapsed = System.currentTimeMillis() - chargeStartTime;
            long requiredTime = getCurrentChargeTime();

            if (elapsed >= requiredTime) {
                releaseWeapon();
            }
        }
    }

    private void releaseWeapon() {
        mc.gameSettings.keyBindUseItem.setPressed(false);
        mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));

        if (previousSlot != -1) {
            mc.player.inventory.currentItem = previousSlot;
            mc.player.connection.sendPacket(new CHeldItemChangePacket(previousSlot));
        }

        isCharging = false;
        chargingItem = null;
    }

    private long getCurrentChargeTime() {
        if (chargingItem == Items.BOW) return (long) bowDrawTime.getValue();
        if (chargingItem == Items.CROSSBOW) return (long) crossbowChargeTime.getValue();
        if (chargingItem == Items.TRIDENT) return (long) tridentChargeTime.getValue();
        return 1000L;
    }

    private String getItemName(Item item) {
        if (item == Items.BOW) return "Лук";
        if (item == Items.CROSSBOW) return "Арбалет";
        if (item == Items.TRIDENT) return "Тризубец";
        return "Предмет";
    }

    private int findItemInHotbar(Item item) {
        for (int i = 0; i < 9; i++) {
            if (mc.player.inventory.getStackInSlot(i).getItem() == item) {
                return i;
            }
        }
        return -1;
    }

    [USER=1367676]@override[/USER]
    public int onDisable() {
        if (isCharging) {
            releaseWeapon();
        }
        return 0;
    }
 
Последнее редактирование:
Привет YouGame!
Мне нужна помощь с кодом.
Ето помогает использовать лук и трезубец нажатием кнопким оно стреляет нажатием кнопки и возвращает слот но роботает забагано.
Оно стреляет на 1 предмете потом надо с другого предмета самому стрельнуть штоб начало робить а теперь совсем не стреляет.
кто может помогите мне спасибо на перед!


Java:
Expand Collapse Copy
package im.star.functions.impl.combat;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.*;
import im.expensive.functions.api.*;
import im.expensive.functions.settings.impl.*;
import net.minecraft.item.*;
import net.minecraft.network.play.client.*;
import net.minecraft.util.*;

@FunctionRegister(name = "ItemAssistant+", type = Category.Combat)
public class ItemAssistant extends Function {

    private final BindSetting bowKey = new BindSetting("Лук", -1);
    private final BindSetting crossbowKey = new BindSetting("Арбалет", -1);
    private final BindSetting tridentKey = new BindSetting("Тризубець", -1);

    private final SliderSetting bowDrawTime = new SliderSetting("Время натягивания лука", 1500, 500, 3000, 10);
    private final SliderSetting crossbowChargeTime = new SliderSetting("Время натягивания арбалета", 1250, 800, 2000, 10);
    private final SliderSetting tridentChargeTime = new SliderSetting("Время натягивания тризубца", 700, 400, 1200, 10);

    private boolean isCharging = false;
    private Item chargingItem = null;
    private long chargeStartTime = 0;
    private int previousSlot = -1;

    public ItemAssistant() {
        addSettings(
                bowKey, crossbowKey, tridentKey,
                bowDrawTime, crossbowChargeTime, tridentChargeTime
        );
    }

    [USER=1474073]@Subscribe[/USER]
    public void onKey(EventKey event) {
        if (event.getKey() == bowKey.get()) {
            handleWeapon(Items.BOW);
        }
        else if (event.getKey() == crossbowKey.get()) {
            handleWeapon(Items.CROSSBOW);
        }
        else if (event.getKey() == tridentKey.get()) {
            handleWeapon(Items.TRIDENT);
        }
    }

    private void handleWeapon(Item item) {
        if (isCharging) {
            releaseWeapon();
            return;
        }

        int slot = findItemInHotbar(item);
        if (slot == -1) {
            print("§c" + getItemName(item) + " не нашел!");
            return;
        }

        previousSlot = mc.player.inventory.currentItem;
        mc.player.inventory.currentItem = slot;
        mc.player.connection.sendPacket(new CHeldItemChangePacket(slot));

        mc.gameSettings.keyBindUseItem.setPressed(true);
        isCharging = true;
        chargingItem = item;
        chargeStartTime = System.currentTimeMillis();
    }

    [USER=1474073]@Subscribe[/USER]
    public void onUpdate(EventUpdate event) {
        if (isCharging && chargingItem != null) {
            long elapsed = System.currentTimeMillis() - chargeStartTime;
            long requiredTime = getCurrentChargeTime();

            if (elapsed >= requiredTime) {
                releaseWeapon();
            }
        }
    }

    private void releaseWeapon() {
        mc.gameSettings.keyBindUseItem.setPressed(false);
        mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));

        if (previousSlot != -1) {
            mc.player.inventory.currentItem = previousSlot;
            mc.player.connection.sendPacket(new CHeldItemChangePacket(previousSlot));
        }

        isCharging = false;
        chargingItem = null;
    }

    private long getCurrentChargeTime() {
        if (chargingItem == Items.BOW) return (long) bowDrawTime.getValue();
        if (chargingItem == Items.CROSSBOW) return (long) crossbowChargeTime.getValue();
        if (chargingItem == Items.TRIDENT) return (long) tridentChargeTime.getValue();
        return 1000L;
    }

    private String getItemName(Item item) {
        if (item == Items.BOW) return "Лук";
        if (item == Items.CROSSBOW) return "Арбалет";
        if (item == Items.TRIDENT) return "Тризубец";
        return "Предмет";
    }

    private int findItemInHotbar(Item item) {
        for (int i = 0; i < 9; i++) {
            if (mc.player.inventory.getStackInSlot(i).getItem() == item) {
                return i;
            }
        }
        return -1;
    }

    [USER=1367676]@override[/USER]
    public int onDisable() {
        if (isCharging) {
            releaseWeapon();
        }
        return 0;
    }
Код:
Expand Collapse Copy
BindSetting("Тризубець", -1);
тризубець
 
1748102457990.png
1748102460577.png


1748103104487.png

вау!
1748103071723.png

Посмотреть вложение 307129
 
Назад
Сверху Снизу