Code:
//noOtherNotif.js
var ID_NOTIFICATION = $.findPacketId("NOTIFICATION");
var ID_UPDATE = $.findPacketId("UPDATE");
var ID_CREATE_SUCCESS = $.findPacketId("CREATE_SUCCESS");
var ID_SHOW_EFFECT = $.findPacketId("SHOW_EFFECT");
var ID_NEW_TICK = $.findPacketId("NEW_TICK");
var classes = {
768: "Rouge"
, 775: "Archer"
, 782: "Wizard"
, 784: "Priest"
, 797: "Warrior"
, 798: "Knight"
, 799: "Paladin"
, 800: "Assassin"
, 801: "Necromancer"
, 802: "Hunter"
, 803: "Mystic"
, 804: "Trickster"
, 805: "Sorceror"
, 806: "Ninja"
}
var players = {};
var playerId = -1;
function onServerPacket(event) {
var packet = event.getPacket();
switch (packet.id()) {
case ID_CREATE_SUCCESS: {
playerId = packet.objectId;
break;
}
case ID_UPDATE: {
for (var i = 0; i < packet.newObjs.length; i++) {
if (packet.newObjs[i] && classes[packet.newObjs[i].objectType]) {
players[packet.newObjs[i].status.objectId] = packet.newObjs[i].objectType;
}
}
for (var i = 0; i < packet.drops.length; i++) {
if (packet.drops[i] && players[packet.drops[i]]) {
delete players[packet.drops[i]];
}
}
break;
}
case ID_NEW_TICK: {
for (var i = 0; i < packet.statuses.length; i++) {
if (packet.statuses[i] && players[packet.statuses[i].objectId] && packet.statuses[i].objectId != playerId) {
var newData = [];
for (var j = 0; j < packet.statuses[i].data.length; j++) {
if (packet.statuses[i].data[j]) {
if (packet.statuses[i].data[j].obf0 != 6 && packet.statuses[i].data[j].obf0 != 7) {
newData[newData.length] = packet.statuses[i].data[j];
}
}
}
packet.statuses[i].data = newData;
}
}
break;
}
case ID_NOTIFICATION: {
if (players[packet.objectId] && packet.objectId != playerId) event.cancel();
break;
}
case ID_SHOW_EFFECT: {
if ((packet.effectType == 7 || packet.effectType == 1) &&
players[packet.targetObjectId] &&
playerId != packet.targetObjectId)
event.cancel();
break;
}
}
}
edit: updated to also disable pet heal effect. Now, if i could just figure out where the +xp packet is hiding...
edit2: now also hides experience gained for other players.
edit3: accidentaly uploaded broken version. this one should work and also disables level up notifications.