mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-05 16:49:06 +00:00
74 lines
2.2 KiB
Java
74 lines
2.2 KiB
Java
package redone.game.bots;
|
|
|
|
|
|
import redone.Server;
|
|
import redone.game.players.Client;
|
|
import redone.game.players.Player;
|
|
import redone.game.players.PlayerHandler;
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
import java.util.Random;
|
|
import java.util.Timer;
|
|
import java.util.TimerTask;
|
|
|
|
import static redone.game.players.PlayerSave.loadPlayerInfo;
|
|
|
|
public class Bot {
|
|
|
|
private Client botClient;
|
|
static Timer timer = new Timer();
|
|
|
|
public Bot(String username, int x, int y, int z) {
|
|
botClient = new Client(null);
|
|
botClient.playerName = username;
|
|
|
|
botClient.playerName = username;
|
|
botClient.playerName2 = botClient.playerName;
|
|
// TODO: randomize the bot passwords
|
|
botClient.playerPass = "bot_password";
|
|
|
|
char first = username.charAt(0);
|
|
botClient.properName = Character.toUpperCase(first) + username.substring(1, username.length());
|
|
|
|
botClient.saveFile = true;
|
|
botClient.saveCharacter = true;
|
|
botClient.isActive = true;
|
|
botClient.disconnected = false;
|
|
Server.playerHandler.newPlayerClient(botClient);
|
|
|
|
botClient.getPlayerAssistant().movePlayer(x, y, z);
|
|
|
|
loadPlayerInfo(botClient, username, "bot_password", false);
|
|
new TradeChat().run();
|
|
}
|
|
|
|
public Client getBotClient() {
|
|
return botClient;
|
|
}
|
|
|
|
class TradeChat extends TimerTask {
|
|
@Override
|
|
public void run() {
|
|
sendTradeChat();
|
|
int delay = (5 + new Random().nextInt(15)) * 1000;
|
|
timer.schedule(new TradeChat(), delay);
|
|
}
|
|
|
|
}
|
|
|
|
public void sendTradeChat() {
|
|
botClient.forcedChat("Selling Rune Platebody 210k ea");
|
|
/*
|
|
Real chat - Disabled for now, can't get it to function correctly
|
|
|
|
botClient.setChatTextColor(9);
|
|
botClient.setChatTextEffects(2);
|
|
String message = "Selling Rune Platebody 210k ea - " + botClient.playerName;
|
|
botClient.setChatTextSize((byte) 29);
|
|
botClient.setChatText(message.getBytes(StandardCharsets.UTF_8));
|
|
botClient.inStream.readBytes_reverseA(botClient.getChatText(), botClient.getChatTextSize(), 0);
|
|
botClient.setChatTextUpdateRequired(true);
|
|
*/
|
|
}
|
|
}
|