K-Relay multibox followME
I really want to test this code out but i can't seem to get MS visual to work with me, IDK what is the matter with it it just refuses to compile.(had to use a dell venue 7 tablet to create what i have, pc's MSV cant/wont find missing files even after 5 reinstall... thanks windows 7.)
K_relay states that i'm missing the assembly manifest. i never worked with MSV before....
you will need to reference Lib K Relay.dll and K RelayMove.dll (found at pixelzerg's: K Relay Move - A framework for simulating movement with K Relay)
IF YOU DO GET IT WORKING TAKE IT AS YOUR IDEA message me back so i can get the .dll file from you too.
just remember to keep it quiet if you do get it working, don't want hundreds 10 year old leechers getting a hold of this.
code is meant to
/followme sets a client as client(1) and sets all others to client 2 client 3 client4
if client 2,3,4 is away from client1, k_relayMove will walk them to client 1
it will walk them in that order , so having 10 clients may become a problem
plugin is meant to only adjust small deviances between clients, ie fixing runaways in a standalone multiboxer/key broadcasting without using the tp.
i personally use kronkboxer 0.2
i have it set for only 4 clients total now but more can be added if need be.
K_relay states that i'm missing the assembly manifest. i never worked with MSV before....
you will need to reference Lib K Relay.dll and K RelayMove.dll (found at pixelzerg's: K Relay Move - A framework for simulating movement with K Relay)
IF YOU DO GET IT WORKING TAKE IT AS YOUR IDEA message me back so i can get the .dll file from you too.
just remember to keep it quiet if you do get it working, don't want hundreds 10 year old leechers getting a hold of this.
code is meant to
/followme sets a client as client(1) and sets all others to client 2 client 3 client4
if client 2,3,4 is away from client1, k_relayMove will walk them to client 1
it will walk them in that order , so having 10 clients may become a problem
plugin is meant to only adjust small deviances between clients, ie fixing runaways in a standalone multiboxer/key broadcasting without using the tp.
i personally use kronkboxer 0.2
i have it set for only 4 clients total now but more can be added if need be.
code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Lib_K_Relay;
using Lib_K_Relay.Utilities;
using Lib_K_Relay.Interface;
using Lib_K_Relay.Networking;
using Lib_K_Relay.Networking.Packets;
using Lib_K_Relay.Networking.Packets.Client;
using Lib_K_Relay.Networking.Packets.Server;
using Lib_K_Relay.Networking.Packets.DataObjects;
using K_RelayMove;
namespace followme
{
public class followme : IPlugin
{
public string GetAuthor()
{ return "CLW/102387"; }
public static List<Client> clientlist = new List<Client>();
public static bool Enabled = false;
public static Client WhoFollowme;
public string GetName()
{return "followme";}
public string GetDescription()
{ return "pro multiboxing k-relay"; }
public string[] GetCommands()
{ return new string[] { "/followme" }; }
public void Initialize(Proxy proxy)
{
proxy.HookCommand("followme", new Proxy.CommandHandler(this.OnCommand));
proxy.HookPacket(PacketType.NEWTICK, new Proxy.PacketHandler(this.NT));
proxy.ClientConnected += new Proxy.ConnectionHandler(this.proxy_ClientConnected );
proxy.ClientDisconnected += new Proxy.ConnectionHandler(this.proxy_ClientDisconnec ted);
}
private void NT(Client client, Packet packet)
{
foreach (Client client2 in clientlist)
{
if (client != WhoFollowme)
{
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client2.PlayerData.Pos.X)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client2.PlayerData.Pos.X > WhoFollowme.PlayerData.Pos.X)
{
KRelayMove.MoveClient(client2, KRelayMove.Direction.left, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client2, KRelayMove.Direction.right, 1, 8.332474E+09f);
}
}
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client2.PlayerData.Pos.Y)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client2.PlayerData.Pos.Y > WhoFollowme.PlayerData.Pos.Y)
{
KRelayMove.MoveClient(client2, KRelayMove.Direction.down, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client2, KRelayMove.Direction.up, 1, 8.332474E+09f);
}
}
}
}
foreach (Client client3 in clientlist)
{
if (client != WhoFollowme)
{
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client3.PlayerData.Pos.X)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client3.PlayerData.Pos.X > WhoFollowme.PlayerData.Pos.X)
{
KRelayMove.MoveClient(client3, KRelayMove.Direction.left, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client3, KRelayMove.Direction.right, 1, 8.332474E+09f);
}
}
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client3.PlayerData.Pos.Y)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client3.PlayerData.Pos.Y > WhoFollowme.PlayerData.Pos.Y)
{
KRelayMove.MoveClient(client3, KRelayMove.Direction.down, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client3, KRelayMove.Direction.up, 1, 8.332474E+09f);
}
}
}
}
foreach (Client client4 in clientlist)
{
if (client != WhoFollowme)
{
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client4.PlayerData.Pos.X)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client4.PlayerData.Pos.X > WhoFollowme.PlayerData.Pos.X)
{
KRelayMove.MoveClient(client4, KRelayMove.Direction.left, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client4, KRelayMove.Direction.right, 1, 8.332474E+09f);
}
}
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client4.PlayerData.Pos.Y)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client4.PlayerData.Pos.Y > WhoFollowme.PlayerData.Pos.Y)
{
KRelayMove.MoveClient(client4, KRelayMove.Direction.down, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client4, KRelayMove.Direction.up, 1, 8.332474E+09f);
}
}
}
}
}
private void OnCommand(Client client, string command, string[] args)
{
Enabled = !Enabled;
if (Enabled)
{
WhoFollowme = client;
PluginUtils.CreateNotification(client.ObjectId, "Now Leader " + client.PlayerData.Name);
}
else
{
PluginUtils.CreateNotification(client.ObjectId, "Followme Plugin Disabled");
}
}
private void proxy_ClientConnected(Client client)
{
clientlist.Add(client);
}
private void proxy_ClientDisconnected(Client client)
{
clientlist.Remove(client);
KRelayMove.MoveClient(client, KRelayMove.Direction.up, 5);
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Lib_K_Relay;
using Lib_K_Relay.Utilities;
using Lib_K_Relay.Interface;
using Lib_K_Relay.Networking;
using Lib_K_Relay.Networking.Packets;
using Lib_K_Relay.Networking.Packets.Client;
using Lib_K_Relay.Networking.Packets.Server;
using Lib_K_Relay.Networking.Packets.DataObjects;
using K_RelayMove;
namespace followme
{
public class followme : IPlugin
{
public string GetAuthor()
{ return "CLW/102387"; }
public static List<Client> clientlist = new List<Client>();
public static bool Enabled = false;
public static Client WhoFollowme;
public string GetName()
{return "followme";}
public string GetDescription()
{ return "pro multiboxing k-relay"; }
public string[] GetCommands()
{ return new string[] { "/followme" }; }
public void Initialize(Proxy proxy)
{
proxy.HookCommand("followme", new Proxy.CommandHandler(this.OnCommand));
proxy.HookPacket(PacketType.NEWTICK, new Proxy.PacketHandler(this.NT));
proxy.ClientConnected += new Proxy.ConnectionHandler(this.proxy_ClientConnected );
proxy.ClientDisconnected += new Proxy.ConnectionHandler(this.proxy_ClientDisconnec ted);
}
private void NT(Client client, Packet packet)
{
foreach (Client client2 in clientlist)
{
if (client != WhoFollowme)
{
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client2.PlayerData.Pos.X)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client2.PlayerData.Pos.X > WhoFollowme.PlayerData.Pos.X)
{
KRelayMove.MoveClient(client2, KRelayMove.Direction.left, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client2, KRelayMove.Direction.right, 1, 8.332474E+09f);
}
}
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client2.PlayerData.Pos.Y)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client2.PlayerData.Pos.Y > WhoFollowme.PlayerData.Pos.Y)
{
KRelayMove.MoveClient(client2, KRelayMove.Direction.down, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client2, KRelayMove.Direction.up, 1, 8.332474E+09f);
}
}
}
}
foreach (Client client3 in clientlist)
{
if (client != WhoFollowme)
{
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client3.PlayerData.Pos.X)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client3.PlayerData.Pos.X > WhoFollowme.PlayerData.Pos.X)
{
KRelayMove.MoveClient(client3, KRelayMove.Direction.left, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client3, KRelayMove.Direction.right, 1, 8.332474E+09f);
}
}
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client3.PlayerData.Pos.Y)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client3.PlayerData.Pos.Y > WhoFollowme.PlayerData.Pos.Y)
{
KRelayMove.MoveClient(client3, KRelayMove.Direction.down, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client3, KRelayMove.Direction.up, 1, 8.332474E+09f);
}
}
}
}
foreach (Client client4 in clientlist)
{
if (client != WhoFollowme)
{
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client4.PlayerData.Pos.X)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client4.PlayerData.Pos.X > WhoFollowme.PlayerData.Pos.X)
{
KRelayMove.MoveClient(client4, KRelayMove.Direction.left, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client4, KRelayMove.Direction.right, 1, 8.332474E+09f);
}
}
if (Math.Abs((float)(WhoFollowme.PlayerData.Pos.X - client4.PlayerData.Pos.Y)) > KRelayMove.clientlist[KRelayMove.IndexOfClient(client)].Step)
{
if (client4.PlayerData.Pos.Y > WhoFollowme.PlayerData.Pos.Y)
{
KRelayMove.MoveClient(client4, KRelayMove.Direction.down, 1, 8.332474E+09f);
}
else
{
KRelayMove.MoveClient(client4, KRelayMove.Direction.up, 1, 8.332474E+09f);
}
}
}
}
}
private void OnCommand(Client client, string command, string[] args)
{
Enabled = !Enabled;
if (Enabled)
{
WhoFollowme = client;
PluginUtils.CreateNotification(client.ObjectId, "Now Leader " + client.PlayerData.Name);
}
else
{
PluginUtils.CreateNotification(client.ObjectId, "Followme Plugin Disabled");
}
}
private void proxy_ClientConnected(Client client)
{
clientlist.Add(client);
}
private void proxy_ClientDisconnected(Client client)
{
clientlist.Remove(client);
KRelayMove.MoveClient(client, KRelayMove.Direction.up, 5);
}
}
}
