-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchatMacro.js
102 lines (81 loc) · 2.87 KB
/
chatMacro.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Author: MrCobbert & Leo728
// Version: 1.2
// Description: A combined module for sending custom chat messages and bypassing chat filters.
var module = rise.registerModule(
"Chat Macro & Bypass",
"Combines chat macro functionality with chat filter bypass."
);
module.registerSetting("string", "Message", "Rise on Top!");
module.registerSetting("boolean", "Repeat", false);
module.registerSetting("boolean", "Bypass (MiniBlox)", false);
module.registerSetting("boolean", "On Kill", false);
module.registerSetting("number", "Delay (s)", 1, 0, 10, 0.1);
module.registerSetting("boolean", "Enable Bypass", true);
var lastMessageTime = 0;
var messageCounter = 0;
function getModifiedMessage(baseMessage) {
if (module.getSetting("Bypass (MiniBlox)") && messageCounter % 2 === 1) {
return baseMessage + "!";
}
return baseMessage;
}
function toShitChar(message) {
var field1 = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";
var field2 = "qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm0123456789";
var result = "";
for (var i = 0; i < message.length; i++) {
var char = message.charAt(i);
var index = field1.indexOf(char);
result += (index !== -1) ? field2.charAt(index) : char;
}
return result;
}
module.handle("onTick", function () {
if (module.getSetting("On Kill")) return;
if (!module.getSetting("Repeat")) {
var message = getModifiedMessage(module.getSetting("Message"));
if (module.getSetting("Enable Bypass")) {
message = toShitChar(message);
}
player.message(message);
module.setEnabled(false);
return;
}
var currentTime = Date.now();
var delaySeconds = module.getSetting("Delay (s)");
if (currentTime - lastMessageTime >= delaySeconds * 1000) {
var message = getModifiedMessage(module.getSetting("Message"));
if (module.getSetting("Enable Bypass")) {
message = toShitChar(message);
}
player.message(message);
lastMessageTime = currentTime;
messageCounter++;
}
});
module.handle("onKill", function (victim) {
if (!module.getSetting("On Kill")) return;
var message = getModifiedMessage(module.getSetting("Message"));
if (module.getSetting("Enable Bypass")) {
message = toShitChar(message);
}
player.message(message);
messageCounter++;
});
module.handle("onChatInput", function (e) {
if (!module.getSetting("Enable Bypass")) return e;
var message = e.getMessage();
if (message.startsWith("/") || message.startsWith(".")) {
return e;
}
var modifiedMessage = toShitChar(message);
if (modifiedMessage.length > 100) {
modifiedMessage = modifiedMessage.substring(0, 100);
}
packet.sendMessage(modifiedMessage);
e.setCancelled(true);
return e;
});
script.handle("onUnload", function () {
module.unregister();
});