-
Автор темы
- #1
- Выберите загрузчик игры
- Vanilla
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Вот вам спамер под хв который ходит по анкам.
Вот вам ебаные ss:
Вот вам мой говнокод:
Вот вам ебаные ss:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Вот вам мой говнокод:
Java:
package im.sunclient.functions.impl.misc;
import com.google.common.eventbus.Subscribe;
import com.hakan.jdw.Webhook;
import im.sunclient.SunClient;
import im.sunclient.events.EventUpdate;
import im.sunclient.functions.api.Category;
import im.sunclient.functions.api.Function;
import im.sunclient.functions.api.FunctionRegister;
import im.sunclient.functions.settings.impl.BooleanSetting;
import im.sunclient.functions.settings.impl.SliderSetting;
import im.sunclient.functions.settings.impl.StringSetting;
import im.sunclient.ui.display.impl.StaffListRenderer;
import im.sunclient.utils.PingUtil;
import im.sunclient.utils.TimerUtil;
import im.sunclient.utils.player.PlayerUtils;
import net.minecraft.client.entity.player.AbstractClientPlayerEntity;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import java.awt.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@FunctionRegister(name = "HWSpamer", type = Category.Misc)
public class HWSpammer extends Function {
private static final String MODE_SELECTION_TITLE = "выберите режим";
private static final String ANARCHY_SELECTION_TITLE = "выбор лайт анархии";
private static final String SOLO_LIGHT = "СолоЛайт";
private static final String DUO_LIGHT = "ДуоЛайт";
private static final String TRIO_LIGHT = "ТриоЛайт";
private static final String CLAN_LIGHT = "КланЛайт";
private final TimerUtil timerUtil = new TimerUtil();
private final TimerUtil messagesUtil = new TimerUtil();
private final Map<Integer, Integer> slots = new HashMap<>();
private final BooleanSetting privateMessageMode = new BooleanSetting("Private msg", false);
private final BooleanSetting reconnectMode = new BooleanSetting("Multi-Server", true);
private final BooleanSetting antiAFKMode = new BooleanSetting("AntiAFK", true);
private final SliderSetting privateInterval = new SliderSetting("Private Interval", 20, 0, 310, 1);
private final SliderSetting forInterval = new SliderSetting("Интервал цикла (мс)", 500, 50, 5000, 10);
private final SliderSetting leaveInterval = new SliderSetting("Интервал для выхода (мс)", 500, 50, 5000, 10);
private final SliderSetting messagesInterval = new SliderSetting("Кд меж сообщениями (мс)", 500, 50, 10000, 10);
private final SliderSetting messagesCount = new SliderSetting("Кол-во сообщений", 1, 1, 10, 1);
private final SliderSetting startAnarchy = new SliderSetting("Начальная анархия", 1, 1, 60, 1);
private final SliderSetting stopAnarchy = new SliderSetting("Конечная анархия", 1, 1, 60, 1);
private final StringSetting spamMessage = new StringSetting(
"Сообщение",
"spam by SunClient",
"Укажите текст для отправки сообщений в чат"
);
private String lastMessage = ".";
private int ticksSinceLastMessage = 0;
private int currentPlayerIndex = 0;
private int currentServer = 1;
private int currentMessages = 0;
private int step = 0;
public HWSpammer() {
addSettings(spamMessage,
privateMessageMode,
antiAFKMode,
reconnectMode,
privateInterval,
startAnarchy,
stopAnarchy,
forInterval,
leaveInterval,
messagesInterval,
messagesCount);
initializeSlots();
}
private void initializeSlots() {
slots.clear();
int start = 18;
for (int i = 1; i <= 14; i++) {
slots.put(i, start);
start++;
}
start = 18;
for (int i = 15; i <= 30; i++) {
slots.put(i, start);
start++;
}
start = 18;
for (int i = 31; i <= 43; i++) {
slots.put(i, start);
start++;
}
start = 18;
for (int i = 44; i <= 60; i++) {
slots.put(i, start);
start++;
}
}
@Subscribe
public void onUpdate(EventUpdate event) {
if (mc.player == null || mc.world == null) return;
if (antiAFKMode.get() && mc.player.isOnGround()) {
mc.player.jump();
}
if (reconnectMode.get()) {
runReconnectMode();
} else if (privateMessageMode.get()) {
runPrivateMessageMode();
}
}
private void runPrivateMessageMode() {
ticksSinceLastMessage++;
if (ticksSinceLastMessage >= privateInterval.get()) {
List<AbstractClientPlayerEntity> players = mc.world.getPlayers();
if (players.isEmpty()) {
print("Нет игроков для отправки сообщения.");
resetPrivateMessageMode();
return;
}
AbstractClientPlayerEntity targetPlayer = findNextPlayer(players);
if (targetPlayer == null) {
resetPrivateMessageMode();
return;
}
sendPrivateMessage(targetPlayer);
ticksSinceLastMessage = 0;
}
}
private AbstractClientPlayerEntity findNextPlayer(List<AbstractClientPlayerEntity> players) {
for (int i = 0; i < players.size(); i++) {
AbstractClientPlayerEntity player = players.get(currentPlayerIndex);
currentPlayerIndex = (currentPlayerIndex + 1) % players.size();
if (!isModerator(player) && player != mc.player) {
return player;
}
}
return null;
}
private void sendPrivateMessage(AbstractClientPlayerEntity targetPlayer) {
String playerName = targetPlayer.getName().getString();
String fullCommand = "/msg " + playerName + " " + spamMessage.get();
mc.player.sendChatMessage(fullCommand);
}
private void resetPrivateMessageMode() {
currentPlayerIndex = 0;
step = 6;
}
private boolean isModerator(PlayerEntity player) {
return StaffListRenderer.staffPlayers.contains(player.getName().getString());
}
private void runReconnectMode() {
switch (step) {
case 0 -> handleHubCommand();
case 1 -> handleMenuCommand();
case 2 -> handleModeSelection();
case 3 -> handleAnarchySelection();
case 4 -> handleSlotClick();
case 5 -> handleSpamMessage();
case 6 -> handleServerSwitch();
}
}
private void handleHubCommand() {
if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
timerUtil.reset();
mc.player.sendChatMessage("/hub");
step = 1;
}
}
private void handleMenuCommand() {
if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
timerUtil.reset();
mc.player.sendChatMessage("/menu");
step = 2;
}
}
private void handleModeSelection() {
if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
timerUtil.reset();
if (!hasChange(MODE_SELECTION_TITLE)) {
step = 1;
return;
}
mc.playerController.windowClick(mc.player.openContainer.windowId, 12, 0, ClickType.PICKUP, mc.player);
step = 3;
}
}
private void handleAnarchySelection() {
if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
timerUtil.reset();
if (!hasChange(ANARCHY_SELECTION_TITLE)) {
step = 1;
return;
}
String mode = getModeForServer(currentServer);
if (mode == null) {
currentServer = startAnarchy.get().intValue();
step = 1;
return;
}
mc.playerController.windowClick(mc.player.openContainer.windowId, findSlotByName(mode), 0, ClickType.PICKUP, mc.player);
step = 4;
}
}
private void handleSlotClick() {
if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
timerUtil.reset();
if (!hasChange(ANARCHY_SELECTION_TITLE)) {
step = 1;
return;
}
if (slots.containsKey(currentServer)) {
mc.playerController.windowClick(mc.player.openContainer.windowId, slots.get(currentServer), 0, ClickType.PICKUP, mc.player);
}
step = 5;
}
}
private void handleSpamMessage() {
if (privateMessageMode.get()) {
runPrivateMessageMode();
return;
}
if (timerUtil.hasTimeElapsed(forInterval.get().intValue())) {
if (isModerator()) {
timerUtil.reset();
print("Блять тут админы, я ливаю нахуй");
mc.player.sendChatMessage("/hub");
currentServer++;
currentMessages = 0;
if (currentServer > stopAnarchy.get().intValue()) {
currentServer = startAnarchy.get().intValue();
}
step = 1;
return;
}
if (messagesUtil.hasTimeElapsedAndReset(messagesInterval.get().intValue())) {
if (currentMessages < messagesCount.get().intValue()) {
currentMessages++;
sendMessage();
if (currentMessages >= messagesCount.get().intValue()) {
timerUtil.reset();
currentMessages = 0;
step = 6;
}
} else {
timerUtil.reset();
currentMessages = 0;
step = 6;
}
}
}
}
private void sendMessage() {
String msg = spamMessage.get();
if (!msg.startsWith("!")) msg = "!" + msg;
mc.player.sendChatMessage(msg);
}
private void handleServerSwitch() {
if (timerUtil.hasTimeElapsed(leaveInterval.get().intValue())) {
timerUtil.reset();
currentServer++;
if (currentServer > stopAnarchy.get().intValue()) {
currentServer = startAnarchy.get().intValue();
spamMessage.set("Заходите в тгк @byloper там проводят топовыми раздачами");
}
step = 0;
}
}
private String getModeForServer(int server) {
if (server >= 1 && server <= 14) return SOLO_LIGHT;
if (server >= 15 && server <= 30) return DUO_LIGHT;
if (server >= 31 && server <= 43) return TRIO_LIGHT;
if (server >= 44 && server <= 60) return CLAN_LIGHT;
return null;
}
private boolean hasChange(String title) {
if (mc.currentScreen instanceof ChestScreen chestScreen) {
return chestScreen.getTitle().getString().toLowerCase().contains(title);
}
return false;
}
private int findSlotByName(String name) {
for (int i = 0; i < mc.player.openContainer.getInventory().size(); i++) {
ItemStack stack = mc.player.openContainer.getInventory().get(i);
if (stack != null && stack.getDisplayName().getString().contains(name)) {
return i;
}
}
return -1;
}
private boolean isModerator() {
if (StaffListRenderer.staffPlayers.isEmpty()) {
return false;
} else {
System.out.println("Staff detected: " + StaffListRenderer.staffPlayers);
return true;
}
}
@Override
public void onEnable() {
super.onEnable();
currentServer = startAnarchy.get().intValue();
}
}
Последнее редактирование модератором: