[Realm Relay] (script) clientlog.js

Posts 1–5 of 5 · Page 1 of 1
[Realm Relay] (script) clientlog.js
Made this to give more understanding in what is going on.
It's best to not run all case statements. You will just get a massive amount of data.
It needs more work as far as giving understandable information.


Code:
// clientlog.js
// authored by kcd
var ID_ACCEPTTRADE = $.findPacketId("ACCEPTTRADE");
var ID_AOEACK = $.findPacketId("AOEACK");
var ID_BUY = $.findPacketId("BUY");
var ID_CANCELTRADE	 = $.findPacketId("CANCELTRADE");
var ID_CHANGEGUILDRANK = $.findPacketId("CHANGEGUILDRANK");
var ID_CHANGETRADE = $.findPacketId("CHANGETRADE");
var ID_CHECKCREDITS	 = $.findPacketId("CHECKCREDITS");
var ID_CHOOSENAME = $.findPacketId("CHOOSENAME");
var ID_CREATEGUILD = $.findPacketId("CREATEGUILD");
var ID_CREATE = $.findPacketId("CREATE");
var ID_EDITACCOUNTLIST = $.findPacketId("EDITACCOUNTLIST");
var ID_ENEMYHIT = $.findPacketId("ENEMYHIT");
var ID_ESCAPE = $.findPacketId("ESCAPE");
var ID_GOTOACK = $.findPacketId("GOTOACK");
var ID_GROUNDDAMAGE = $.findPacketId("GROUNDDAMAGE");
var ID_GUILDINVITE = $.findPacketId("GUILDINVITE");
var ID_GUILDREMOVE = $.findPacketId("GUILDREMOVE");
var ID_HELLO = $.findPacketId("HELLO");
var ID_INVDROP = $.findPacketId("INVDROP");
var ID_INVSWAP = $.findPacketId("INVSWAP");
var ID_JOINGUILD = $.findPacketId("JOINGUILD");
var ID_LOAD = $.findPacketId("LOAD");
var ID_MOVE = $.findPacketId("MOVE");
var ID_OTHERHIT = $.findPacketId("OTHERHIT");
var ID_PLAYERHIT = $.findPacketId("PLAYERHIT");
var ID_PLAYERSHOOT = $.findPacketId("PLAYERSHOOT");
var ID_PLAYERTEXT = $.findPacketId("PLAYERTEXT");
var ID_PONG = $.findPacketId("PONG");
var ID_REQUESTTRADE = $.findPacketId("REQUESTTRADE");
var ID_RESKIN = $.findPacketId("RESKIN");
var ID_SETCONDITION = $.findPacketId("SETCONDITION");
var ID_SHOOTACK = $.findPacketId("SHOOTACK");
var ID_SQUAREHIT = $.findPacketId("SQUAREHIT");
var ID_TELEPORT = $.findPacketId("TELEPORT");
var ID_UPDATEACK = $.findPacketId("UPDATEACK");
var ID_USEITEM = $.findPacketId("USEITEM");
var ID_USEPORTAL = $.findPacketId("USEPORTAL");

function onClientPacket(event) {
	var packet = event.getPacket();
	switch (packet.id()) {
		case ID_ACCEPTTRADE: {
			for (var j = 0; j < packet.myOffer.length; j++) {
				log("ID_ACCEPTTRADE","myOffer",packet.myOffer[j]);
			}
			for (var j = 0; j < packet.myOffer.length; j++) {
				log("ID_ACCEPTTRADE","myOffer",packet.myOffer[j]);
			}
		}
		case ID_AOEACK: {
			log("ID_AOEACK","time",packet.time);
			log("ID_AOEACK","position",packet.position);
		}
		case ID_BUY: {
			log("ID_BUY","objectId",packet.objectId);
		}
		case ID_CANCELTRADE: {
			log("ID_CANCELTRADE",ID_CANCELTRADE,null);
		}
		case ID_CHANGEGUILDRANK: {
			log("ID_CHANGEGUILDRANK","name",packet.name);
			log("ID_CHANGEGUILDRANK","guildRank",packet.guildRank);
		}
		case ID_CHANGETRADE: {
			for (var j = 0; j < packet.offer.length; j++) {
				log("ID_CHANGETRADE","offer",packet.offer[j]);
			}
		}
		case ID_CHECKCREDITS: {
			log("ID_CHECKCREDITS",ID_CHECKCREDITS,null);
		}
		case ID_CHOOSENAME: {
			log("ID_CHOOSENAME","name",packet.name);
		}
		case ID_CREATEGUILD: {
			log("ID_CREATEGUILD","name",packet.name);
		}
		case ID_CREATE: {
			log("ID_CREATEGUILD","classType",packet.classType);
			log("ID_CREATEGUILD","skinType",packet.skinType);
		}
		case ID_EDITACCOUNTLIST: {
			log("ID_EDITACCOUNTLIST","accountListId",packet.accountListId);
			log("ID_EDITACCOUNTLIST","add",packet.add);
			log("ID_EDITACCOUNTLIST","objectId",packet.objectId);
		}
		case ID_ENEMYHIT: {
			log("ID_ENEMYHIT","time",packet.time);
			log("ID_ENEMYHIT","bulletId",packet.bulletId);
			log("ID_ENEMYHIT","targetId",packet.targetId);
			log("ID_ENEMYHIT","kill",packet.kill);
		}
		case ID_ESCAPE: {
			log("ID_ESCAPE",ID_ESCAPE,null);
		}
		case ID_GOTOACK: {
			log("ID_GOTOACK","time",packet.time);
		}
		case ID_GROUNDDAMAGE: {
			log("ID_GROUNDDAMAGE","time",packet.time);
			log("ID_GROUNDDAMAGE","position",packet.position);
		}
		case ID_GUILDINVITE: {
			log("ID_GUILDINVITE","name",packet.name);
		}
		case ID_GUILDREMOVE: {
			log("ID_GUILDREMOVE","name",packet.name);
		}
		case ID_HELLO: {
			log("ID_HELLO","buildVersion",packet.buildVersion);
			log("ID_HELLO","gameId",packet.gameId);
			log("ID_HELLO","guid",packet.guid);
			log("ID_HELLO","password",packet.password);
			log("ID_HELLO","secret",packet.secret);
			log("ID_HELLO","keyTime",packet.keyTime);
			log("ID_HELLO","buildVersion",packet.buildVersion);			
			for (var j = 0; j < packet.key.length; j++) {
				log("ID_HELLO","key",packet.key[j]);
			}		
			for (var j = 0; j < packet.obf0.length; j++) {
				log("ID_HELLO","obf0",packet.obf0[j]);
			}
			log("ID_HELLO","obf1",packet.obf1);	
			log("ID_HELLO","obf2",packet.obf2);	
			log("ID_HELLO","obf3",packet.obf3);	
			log("ID_HELLO","obf4",packet.obf4);	
			log("ID_HELLO","obf5",packet.obf5);	
		}
		case ID_INVDROP: {
			log("ID_INVDROP","slotObject",packet.slotObject);
		}
		case ID_INVSWAP: {
			log("ID_INVSWAP","time",packet.time);
			log("ID_INVSWAP","position",packet.position);
			log("ID_INVSWAP","slotObject1",packet.slotObject1);
			log("ID_INVSWAP","slotObject2",packet.slotObject2);
		}
		case ID_JOINGUILD: {
			log("ID_JOINGUILD","guildName",packet.guildName);
		}
		case ID_LOAD: {
			log("ID_LOAD","charId",packet.charId);
			log("ID_LOAD","isFromArena",packet.isFromArena);
		}
		case ID_MOVE: {
			log("ID_MOVE","tickId",packet.tickId);
			log("ID_MOVE","time",packet.time);
			log("ID_MOVE","newPosition",packet.newPosition);
			for (var j = 0; j < packet.records.length; j++) {
				log("ID_MOVE","records",packet.records[j]);
			}
		}
		case ID_OTHERHIT: {
			log("ID_OTHERHIT","time",packet.time);
			log("ID_OTHERHIT","bulletId",packet.bulletId);
			log("ID_OTHERHIT","objectId",packet.objectId);
			log("ID_OTHERHIT","targetId",packet.targetId);
		}
		case ID_PLAYERHIT: {
			log("ID_PLAYERHIT","bulletId",packet.bulletId);
			log("ID_PLAYERHIT","objectId",packet.objectId);
		}
		case ID_PLAYERSHOOT: {
			log("ID_PLAYERSHOOT","time",packet.time);
			log("ID_PLAYERSHOOT","bulletId",packet.bulletId);
			log("ID_PLAYERSHOOT","containerType",packet.containerType);
			log("ID_PLAYERSHOOT","startingPos",packet.startingPos);
			log("ID_PLAYERSHOOT","angle",packet.angle);
		}
		case ID_PLAYERTEXT: {
			log("ID_PLAYERTEXT","text",packet.text);
		}
		case ID_PONG: {
			log("ID_PONG","serial",packet.serial);
			log("ID_PONG","time",packet.time);
		}
		case ID_REQUESTTRADE: {
			log("ID_REQUESTTRADE","name",packet.name);
		}
		case ID_RESKIN: {
			log("ID_RESKIN","skinID",packet.skinID);
		}
		case ID_SETCONDITION: {
			log("ID_SETCONDITION","conditionEffect",packet.conditionEffect);
			log("ID_SETCONDITION","conditionDuration",packet.conditionDuration);
		}
		case ID_SHOOTACK: {
			log("ID_SHOOTACK","time",packet.time);
		}
		case ID_SQUAREHIT: {
			log("ID_SQUAREHIT","time",packet.time);
			log("ID_SQUAREHIT","bulletId",packet.bulletId);
			log("ID_SQUAREHIT","objectId",packet.objectId);
		}
		case ID_TELEPORT: {
			log("ID_TELEPORT","objectId",packet.objectId);
		}
		case ID_UPDATEACK: {
			log("ID_UPDATEACK","time",packet.time);
			log("ID_UPDATEACK","slotObject",packet.slotObject);
			log("ID_UPDATEACK","itemUsePos",packet.itemUsePos);
			log("ID_UPDATEACK","useType",packet.useType);
		}
		case ID_USEITEM: {
			log("ID_USEITEM","objectId",packet.objectId);
		}
	}
}
function log(title,id,data){
	$.echo("_"+title+":"+id);
	$.echo(data);	
}
Practical usage.

Code:
// test.js
// authored by kcd

var ID_MOVE = $.findPacketId("MOVE");
var playerx = 0;
var playery = 0;


function onClientPacket(event) {
	var packet = event.getPacket();
	switch (packet.id()) {
		case ID_MOVE: {
			if(playerx != parseInt(packet.newPosition.x)){
				playerx = parseInt(packet.newPosition.x);
				log("ID_MOVE.newPosition.x","",playerx);
			}
			if(playery != parseInt(packet.newPosition.y)){
				playery = parseInt(packet.newPosition.y);
				log("ID_MOVE.newPosition.y","",playery);
			}
		}
	}
}

function log(title,id,data){
	$.echo(title+":"+id);
	$.echo(data);	
}
So you recreated alde's onpacket.js?
I see the similarity. I dont think his gives data just says that packet was received.
Quote Originally Posted by kcdclan View Post
I see the similarity. I dont think his gives data just says that packet was received.
It gives data about some packets, let's say that yours is an improvement
Posts 1–5 of 5 · Page 1 of 1

Post a Reply

Tags for this Thread

None

Talk with us