OutdatedK Relay v0.1.0 - A Modular High Performance Proxy

Posts 3145 of 82 · Page 3 of 6
<!-- BEGIN TEMPLATE: dbtech_usertag_mention -->
@<a href="http://www.mpgh.net/forum/member.php?u=2170636" target="_blank">lookbehindyou</a>
<!-- END TEMPLATE: dbtech_usertag_mention --> <!-- BEGIN TEMPLATE: dbtech_usertag_mention -->
@<a href="http://www.mpgh.net/forum/member.php?u=1765529" target="_blank">bobbetter</a>
<!-- END TEMPLATE: dbtech_usertag_mention -->
Thank you very much you two.
I will look into this issue more, it's the first we've seen it.

- - - Updated - - -
@DarkMike123 @Codma2 @Freddebola @Codma2 @Codma2 @lookbehindyou @bobbetter
This video will solve your problems Sorry about the issues, this is a weird .NET framework security measure that should have been disabled according to our configs.
Quote Originally Posted by Azufaifox View Post
Can u add the script for autoability for mages? for doing spellbombs
add it yourself :

Code:
// ability.js

var ID_MOVE = $.findPacketId("MOVE");
var ID_USE_ITEM = $.findPacketId("USEITEM");
var ID_UPDATE = $.findPacketId("UPDATE");
var ID_NEW_TICK = $.findPacketId("NEW_TICK");
var ID_NOTIFICATION = $.findPacketId("NOTIFICATION");
var ID_PLAYER_TEXT = $.findPacketId("PLAYERTEXT");
var ID_CREATE_SUCCESS = $.findPacketId("CREATE_SUCCESS");
var ID_PLAYER_SHOOT = $.findPacketId("PLAYER_SHOOT");
var ID_QUEST_OBJECTID = $.findPacketId("QUESTOBJID");
var ID_MAPINFO = $.findPacketId("MAPINFO");

var playerId = -1;
var playerLoc = null;
var toHitIds = {};
var questId = -1;
var questLoc = null;
var movingIds = {};
var ids = [];
var notifyIds = [];
var debug = true;
var ability = true;
var type = -1;
var map = "Nexus";

var player = {
	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 enemies = { 
	5952: "Oryx 1"
	, 2354: "Oryx 2"
	, 3425: "Hermit God"
	, 3412: "Sphinx"
	, 3417: "Cube God"
	, 3414: "Skull Shrine"
	, 3422: "Pentaract"
	, 3639: "Ghost Ship"
	, 3408: "LotLL"
	, 3334: "Limon"
	, 3472: "Septavius"
	, 5894: "Thessal"
	, 2357: "Crystal"
	, 2369: "C Prisoner"
	, 1617: "White Demon"
	, 1618: "Sprite God"
	, 1620: "Medusa"
	, 1621: "Ent God"
	, 1622: "Beholder"
	, 1623: "Flying Brain"
	, 1624: "Slime God"
	, 1625: "Ghost God"
	, 1752: "Leviathan"
	, 3333: "Sprite God in Sprite World"
	, 2975: "Dr. Terrible"
	, 4428: "Horrific Creature"
	, 2330: "Djinn"
	, 1309: "Construct"
	, 1310: "Construct"
	, 1311: "Construct"
	, 29517: "Avatar"
	, 24223: "Horse"
	, 24351: "Troll Matriarch"
	, 24327: "Statue bitch"
};

function pet(id) { return (id >= 32518 && id <= 32650); }

function toggleNotify(id) { if (notifyIds[id]) notifyIds[id] = !notifyIds[id]; }

function displayNotification(hoverId, color, text) {
	var notificationPacket = $.createPacket(ID_NOTIFICATION);
	notificationPacket.objectId = hoverId;
	notificationPacket.message = "{\"key\":\"blank\",\"tokens\":{\"data\":\"" + text + "\"}}";
	notificationPacket.color = color;
	$.sendToClient(notificationPacket);
}

function onClientPacket(event) {
	var packet = event.getPacket();
	if (packet.id() == ID_PLAYER_TEXT) {
		var text = packet.text;
		if(text == "/abi") {
			event.cancel(); 
			ability = !ability;
			if(ability) displayNotification(playerId, 0xFF3333, "Ability Auto-Aim abilities enabled");
			else displayNotification(playerId, 0xFF3333, "Ability Auto-Aim abilities disabled");
		} else if (text == "/abidebug") {
			event.cancel(); 
			debug = !debug;
			if(debug) displayNotification(playerId, 0xFF3333, "Ability Auto-Aim debug enabled");
			else displayNotification(playerId, 0xFF3333, "Ability Auto-Aim debug disabled");
		}
		//break;
	} else if (ability) {
		switch (packet.id()) {
			case ID_MOVE: {
				playerLoc = packet.newPosition;
				break;
			}
			case ID_USE_ITEM: {
				if (map != "Nexus" && map != "Vault") {
					var min_dist = -1;
					var toHitLoc = null;
					if (min_dist == -1 && questLoc) {
						var dist = packet.itemUsePos.distanceSquaredTo(questLoc);
						if (dist < 100 && (min_dist == -1 || dist < min_dist )) {
							toHitLoc = questLoc;
							min_dist = dist;
						}
						if (debug && min_dist != -1) $.echo("Ability Auto-Aim - Found quest boss");
					}
					if (min_dist == -1) {
						var toHitId = -1;
						for(var objId in toHitIds) {
							var dist = packet.itemUsePos.distanceSquaredTo(toHitIds[objId]);
							if (dist < 100 && (min_dist == -1 || dist < min_dist )) {
								toHitLoc = toHitIds[objId];
								min_dist = dist;
								toHitId = objId;
							}
						}
						if (debug && min_dist != -1) $.echo("Ability Auto-Aim - Found enemy: "+enemies[ids[toHitId]]);
					}
					if (min_dist == -1) {
						var toHitId = -1;
						for(var objId in movingIds) {
							if (!player[ids[objId]]) {
								var dist = packet.itemUsePos.distanceSquaredTo(movingIds[objId]);
								if (dist < 100 && (min_dist == -1 || dist < min_dist )) {
									toHitLoc = movingIds[objId];
									min_dist = dist;
									toHitId = objId;
								}
							}
						}
						if (debug && min_dist != -1) $.echo("Ability Auto-Aim - its moving, shoot it down!! id: "+ids[toHitId]);
					}
					if (toHitLoc) {
						packet.itemUsePos.y = toHitLoc.y + .1; // If the location is exact, all bullets miss.
						packet.itemUsePos.x = toHitLoc.x;
					} else {
						if (debug) $.echo("Ability: Found nothing.");
					}
				}
				break;
			}
		}
	}
}

function onServerPacket(event) {
	var packet = event.getPacket();
	switch (packet.id()) {
		case ID_MAPINFO: {
			map = packet.name;
			event.echo("Entering "+map);
			break;
		}
		case ID_CREATE_SUCCESS: {
			playerId = packet.objectId;
			break;
		}
		case ID_UPDATE: {
			for (var i = 0; i < packet.newObjs.length; i++) {
				var objectData = packet.newObjs[i];
				if (objectData == null) break;
				if (objectData.status.objectId == questId) questLoc = objectData.status.pos;
				else if (enemies[objectData.objectType]) toHitIds[objectData.status.objectId] = objectData.status.pos;
				else if (!player[objectData.status.objectId] && !pet(objectData.status.objectId)) notifyIds[objectData.status.objectId] = true;
				ids[objectData.status.objectId] = objectData.objectType;
			}
			for (var i = 0; i < packet.drops.length; i++) {
				if(packet.drops[i] == questId) {
					questId = -1;
					questLoc = null;
				}
				if (toHitIds[packet.drops[i]]) delete toHitIds[packet.drops[i]];
				if (notifyIds[packet.drops[i]])	delete notifyIds[packet.drops[i]];
				if (movingIds[packet.drops[i]])	delete movingIds[packet.drops[i]];
				if (ids[packet.drops[i]])	delete ids[packet.drops[i]];
			}
			break;
		}
		case ID_NEW_TICK: {
			for (var i = 0; i < packet.statuses.length; i++) {
				var status = packet.statuses[i];
				if (questId == status.objectId) questLoc = status.pos; // Location Updated
				else if (toHitIds[status.objectId] != null) toHitIds[status.objectId] = status.pos; // Location Updated
				else if (!player[ids[status.objectId]] && !pet(ids[status.objectId])) {
					movingIds[status.objectId] = status.pos; // IT MOVES; SHOOT IT! (Location saved)
					if (debug && notifyIds[status.objectId]) {
						displayNotification(status.objectId, 0xFFFFFF, ids[status.objectId]); //notify id
						toggleNotify(status.objectId);
						$.scheduleEvent(2, "toggleNotify", status.objectId); // this doesnt work and im to lazy to fix it
					}
				}
			}
			break;
		}
		case ID_QUEST_OBJECTID: {
			questId = packet.objectId;
			break;
		}
	}
}
- - - Updated - - -

Thanks a lot for the realease it's awsome ! , but i have one problem XD : http://imgur.com/el1gGsg , can u help me please @krazyshank
it doesnt use .js files.
Proxy server won't appear on my server list. If you could possibly tell me why that would be great.
Quote Originally Posted by Lukieboiz View Post
Proxy server won't appear on my server list. If you could possibly tell me why that would be great.
Are you using an ORape hacked client? if so, it's on the bottom, if not, that's your issue.
Quote Originally Posted by krazyshank View Post
Are you using an ORape hacked client? if so, it's on the bottom, if not, that's your issue.
I am indeed using ORape but doesn't appear. :/

Updated --

Doesn't seem to work on any client I use, even the default client for ROTMG. This is a network issue on my side, correct ?
Quote Originally Posted by Lukieboiz View Post
I am indeed using ORape but doesn't appear. :/

Updated --

Doesn't seem to work on any client I use, even the default client for ROTMG. This is a network issue on my side, correct ?
It's not a network issue, because the proxy option should be there even if you dont have a proxy running or anything.
I honestly dont know why it's not there.
Quote Originally Posted by Imadeanewaccountbecuase View Post
By editing the world can other people see this?
no they cannot
Cool Stuff Karzy
Thank you for this awesome thing! still some bugs but nice!
Quote Originally Posted by AlainxD View Post
Thank you for this awesome thing! still some bugs but nice!
Yeah for example : I can't change the main server for the ''proxy server'' (I've done what he says in the video but it still doesn't work)
Quote Originally Posted by mumilurker View Post
Yeah for example : I can't change the main server for the ''proxy server'' (I've done what he says in the video but it still doesn't work)
Thanks for mentioning, that will be fixed in the next version
Quote Originally Posted by krazyshank View Post
Thanks for mentioning, that will be fixed in the next version
Excuse that I complain :/ But when i start the K_Relay it says ''K_Relay has stopped working :c
Quote Originally Posted by mumilurker View Post
Excuse that I complain :/ But when i start the K_Relay it says ''K_Relay has stopped working :c
try redownloading
Posts 3145 of 82 · Page 3 of 6
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?