Code:
// cemcount.js
// made by muchacho
$.echo('Cemcount.js loaded');
var ID_TEXT = $.findPacketId("TEXT");
var ID_CREATE_SUCCESS = $.findPacketId("CREATE_SUCCESS");
var ID_NOTIFICATION = $.findPacketId("NOTIFICATION");
var ID_PLAYERTEXT = $.findPacketId("PLAYERTEXT");
var wave = 0;
function onServerPacket(event) {
var packet = event.getPacket();
switch (packet.id()) {
case ID_CREATE_SUCCESS: {
playerObjectId = packet.objectId;
break;
}
case ID_TEXT: {
var text = packet.text;
var filteredText = packet.text.toLowerCase();
var star = packet.numStars;
if (filteredText.indexOf('say') >= 0 && filteredText.indexOf('ready') >= 0 && star === -1) { // If a mob tells you to say ready
wave = 1; // Set to wave 1
playerSay(event, 'ready'); // Say ready
displayWave(event, wave);
} else if (filteredText.indexOf('3') >= 0 && filteredText.indexOf('seconds') >= 0 && star === -1) { // If a mob says 3 seconds till next wave
wave += 1; // Increment the wave by 1
cemCountDown(event); // Count down / display wave
} else if (filteredText.indexOf('congratulations') >= 0 && filteredText.indexOf('warrior') >= 0 && star === -1) { // Ghost of skuld final boss
displayCemNotification(event, playerObjectId, 0xFF0000, "Final Boss - Good Luck!"); // Wishing you good luck
}
}
}
}
function displayCemNotification(event, playerObjectId, color, text) {
var notificationPacket = event.createPacket(ID_NOTIFICATION);
notificationPacket.objectId = playerObjectId;
notificationPacket.message = "{\"key\":\"blank\",\"tokens\":{\"data\":\"" + text + "\"}}";
notificationPacke*****lor = color;
event.sendToClient(notificationPacket);
}
function displayWave(event, wave) {
var waveText = 'Wave ';
var finalWaveText = waveTex*****ncat(wave.toString());
var colorList = [0x009933, 0xCCFF33, 0xFFFF66, 0xFF9900, 0xFF0000];
var colorChoice = colorList[wave - 1];
displayCemNotification(event, playerObjectId, colorChoice, finalWaveText);
}
function playerSay(event, phrase) {
var playerSayPacket = event.createPacket(ID_PLAYERTEXT);
playerSayPacket.text = phrase;
event.sendToServer(playerSayPacket);
}
function cemCountDown(event) {
var sec = ["3","2","1"];
var sec2 = 1;
var colors = [0x008000, 0xFFFF00, 0xFF0000];
displayWave(event, wave);
for (var i = 0; i < sec.length; i++) {
$.scheduleEvent(sec2, "displayCemNotification", playerObjectId, colors[i], sec[i]);
sec2 += 1;
}
}