Розыгрыш Premium и Уникальной юзергруппы на форуме! Перейти

Вопрос Как сделать задержку на сброс спринта

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
27 Мар 2025
Сообщения
37
Реакции
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
есть такой код
if (is_sprint) {
if (sprints.is("Keep")) {
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING));
if (mc.player.isInWater()) {
mc.player.setSprinting(false);
sprint = true;
}
sprint = true;
}


мне нужно сделать так чтобы ударил и до появления спринта оно ждало +- 5-6 тиков, не бейте палками, за это я не шарю
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ну так сделай, в чём проблема?
1747912533196.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Java:
Expand Collapse Copy
private int ticks = 0; // поле ес чо, не переменная

if (is_sprint) {
 
    if (sprints.is("Keep")) {
        mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING));
        ticks = mc.player.ticksExisted;
        if (mc.player.isInWater()) {
            mc.player.setSprinting(false);
            sprint = true;
        }
        if(mc.player.ticksExisted - ticks >= 5 && ticks != 0) {
            mc.player.setSprinting(true);
            ticks = 0;
        }
    sprint = true;
}
не думаю что именно этот код будет работать, ну принцип такой же при сбросе спринта сохраняешь тик в поле и потом через разницу текущего тика и сохраненного возвращаешь спринт обратно
 
Java:
Expand Collapse Copy
private int ticks = 0; // поле ес чо, не переменная

if (is_sprint) {

    if (sprints.is("Keep")) {
        mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING));
        ticks = mc.player.ticksExisted;
        if (mc.player.isInWater()) {
            mc.player.setSprinting(false);
            sprint = true;
        }
        if(mc.player.ticksExisted - ticks >= 5 && ticks != 0) {
            mc.player.setSprinting(true);
            ticks = 0;
        }
    sprint = true;
}
не думаю что именно этот код будет работать, ну принцип такой же при сбросе спринта сохраняешь тик в поле и потом через разницу текущего тика и сохраненного возвращаешь спринт обратно
а зачем задержка на сброс спринта? вроде и дефолтный работает
 
а зачем задержка на сброс спринта? вроде и дефолтный работает
Хз тип спросил как сделать задержку на спринт я написал как примерно сделать ведь лень парится над кодом он и так не работает ведь присвоение каждый тик и оно проверяет разницу в 5 тиков что никогда не сбудется
 
есть такой код
if (is_sprint) {
if (sprints.is("Keep")) {
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING));
if (mc.player.isInWater()) {
mc.player.setSprinting(false);
sprint = true;
}
sprint = true;
}


мне нужно сделать так чтобы ударил и до появления спринта оно ждало +- 5-6 тиков, не бейте палками, за это я не шарю
будет кикаться серавно потому что это пакеты
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Авто Спринт
package im.expensive.functions.impl.movement;//

import com.google.common.eventbus.Subscribe;
import im.expensive.Expensive;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.Setting;
import im.expensive.functions.settings.impl.BooleanSetting;
import im.expensive.utils.player.MoveUtils;

@FunctionRegister(name = "Sprint", type = Category.Movement)
public class Sprint extends Function {

public static BooleanSetting strafesprint = new BooleanSetting("Во все стороны", false);
public static BooleanSetting autoswim = new BooleanSetting("Авто-плавание", false);

public Sprint() {
this.addSettings(new Setting[]{strafesprint, autoswim});
}

@Subscribe
private void onUpdate(EventUpdate e) {
if (!mc.player.isSwimming()) {
boolean shouldSprint = !mc.player.isSprinting() && mc.player.movementInput.isMovingForward() && (mc.gameSettings.keyBindForward.isKeyDown() || mc.gameSettings.keyBindSprint.isKeyDown()) && (float)mc.player.getFoodStats().getFoodLevel() > 6 && mc.player.getRidingEntity() == null || (Boolean)strafesprint.get();
mc.gameSettings.keyBindSprint.setPressed(shouldSprint || mc.gameSettings.keyBindSprint.isKeyDown());
if (MoveUtils.isMoving() && mc.player.isInWater() && (Boolean)autoswim.get() && (float)mc.player.getFoodStats().getFoodLevel() > 6) {
mc.player.setSprinting(true);
mc.player.setSwimming(true);
}

}
}
}
Сброс Спринта
if (sprints.is("Легитный")) {
mc.player.connection.sendPacket(new CUseEntityPacket(target, mc.player.isSneaking()));

new Thread(() -> {
try {
Thread.sleep(50);
mc.player.setSprinting(true);
} catch (InterruptedException ignored) {}
}).start();
}
} И ClientPlayerEntity Удаляеш всё что связано с AutoSprint
 
есть такой код
if (is_sprint) {
if (sprints.is("Keep")) {
mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING));
if (mc.player.isInWater()) {
mc.player.setSprinting(false);
sprint = true;
}
sprint = true;
}


мне нужно сделать так чтобы ударил и до появления спринта оно ждало +- 5-6 тиков, не бейте палками, за это я не шарю
if (is_sprint) { if (sprints.is("Keep")) {

try {

Thread.sleep(100);

} catch (InterruptedException e) {

e.printStackTrace();

} mc.player.connection.sendPacket(new CEntityActionPacket(mc.player, CEntityActionPacket.Action.STOP_SPRINTING)); if (mc.player.isInWater()) { mc.player.setSprinting(false); sprint = true; } sprint = true; } попробуй так но я не уверен что оно будет работать
 
Назад
Сверху Снизу