public void SetActiveWorker(SocketProxyWorker worker) { foreach (var window in windows.Values) { window.SetActiveWorker(worker); } }
protected internal override void SetActiveWorker(SocketProxyWorker worker) { if (active != null) { active.ServerPacketReceived -= OnServerPacketReceived; } active = worker; if (active != null) { latencies.Initialize(); latPtr = 0; prevTick = 0; tickSpan = 20; enoughDat = false; lag = false; watch.Restart(); active.ServerPacketReceived += OnServerPacketReceived; } else { Tick(); } Invalidate(); }
public void AttachHooks(SocketProxyWorker client) { foreach (var hook in Hooks) { hook.Attach(client); } }
protected override bool Process(SocketProxyWorker client, string args) { Entity player = client.World[client.World.SelfID]; var playerData = client.Proxy.Tool.LoadXmlData(client.Version)[player.ObjectType]; foreach (var stat in stats) { var statLimitNode = playerData.Element(stat.XMLName); var statIncrNode = playerData.XPathSelectElement("LevelIncrease[text() = '" + stat.XMLName + "']"); int beginStat = int.Parse(statLimitNode.Value); int maxStat = int.Parse(statLimitNode.Attribute("max").Value); int minIncr = int.Parse(statIncrNode.Attribute("min").Value); int maxIncr = int.Parse(statIncrNode.Attribute("max").Value); float avgIncr = (minIncr + maxIncr) / 2f; float avgStat = beginStat + (player.GetStats <int>(StatsType.Level) - 1) * avgIncr; int playerStat = player.GetStats <int>(stat.StatType) - player.GetStats <int>(stat.StatBoostType); var avgDiff = (int)(playerStat - avgStat); client.SendText("", string.Format("{0}: {1} from average ({2} until max)", stat.StatName, avgDiff, maxStat - playerStat)); } return(true); }
protected override bool Process(SocketProxyWorker client, string args) { Entity player = client.World.GetPlayer(args); if (player == null) { client.SendText("*Error*", "Player not found!"); } var packet = NWriter.Write(writer => new EditAccountListPacket { AccountListId = 0, Add = true, ObjectId = player.ID }.Write(writer)); client.SendAsClient(client.PacketTable.EDITACCOUNTLIST, packet); packet = NWriter.Write(writer => new AccountListPacket { AccountListId = 0, AccountIds = new[] { player.Stats[StatsType.AccountId].ToString() } }.Write(writer)); client.SendAsServer(client.PacketTable.ACCOUNTLIST, packet); client.SendText("", "Added " + player.GetStats <string>(StatsType.Name) + " to starred list"); return(true); }
private GameWorld(SocketProxyWorker worker, uint w, uint h, string name) { this.worker = worker; Width = w; Height = h; Name = name; SelfID = 0xffffffff; }
protected override bool Process(SocketProxyWorker client, string args) { var ms = new MemoryStream(); using (var writer = new NWriter(ms)) writer.WriteUTF("/teleport " + args); client.SendAsClient(client.PacketTable.PLAYERTEXT, ms.ToArray()); return(true); }
public bool Execute(SocketProxyWorker client, string args) { try { return(Process(client, args)); } catch { client.SendText("*Error*", "Error when executing the command."); client.SendText("", "Usage: " + Usage); return(false); } }
public bool?Execute(SocketProxyWorker client, string text) { var index = text.IndexOf(' '); string cmd = text.Substring(1, index == -1 ? text.Length - 1 : index - 1); var args = index == -1 ? "" : text.Substring(index + 1); CommandBase command; if (!Commands.TryGetValue(cmd, out command)) { return(null); } return(command.Execute(client, args)); }
protected internal override void SetActiveWorker(SocketProxyWorker worker) { forceDC.Enabled = (worker != null); if (worker != null) { server = worker.ServerName; area = worker.ConnectionName; } else { server = null; area = null; } active = worker; Invalidate(); }
private void UpdateStats(SocketProxyWorker worker, ref ObjectStats stats) { int count = 0; for (int i = 0; i < 8; i++) { var s = (StatsType)((int)StatsType.Inventory0 + i); if (worker.World[stats.Id].Stats.ContainsKey(s) && (int)worker.World[stats.Id].Stats[s] > 0) { count++; } } string name = string.Format("{0}/8", count); stats.Stats = stats.Stats.Concat(new[] { Tuple.Create(StatsType.Name, (object)name), Tuple.Create(StatsType.NameChosen, (object)1) }).ToArray(); }
public static GameWorld CreateWorld(MapInfoPacket packet, SocketProxyWorker worker) { var ret = new GameWorld(worker, packet.Width, packet.Height, packet.Name); return(ret); }
public override void Attach(SocketProxyWorker worker) { worker.ClientPacketReceived += OnClientPacketReceived; }
protected internal abstract void SetActiveWorker(SocketProxyWorker worker);
public abstract void Attach(SocketProxyWorker worker);
protected bool IsEnabled(SocketProxyWorker worker, bool defVal = true) { string name = string.Format("hook.{0}.enabled", ID); return(worker.Proxy.Tool.Settings.GetValue <bool>(name, defVal.ToString())); }
public override void Attach(SocketProxyWorker worker) { worker.ServerPacketReceived += OnServerPacketReceived; worker.PostServerPacketReceived += OnPostServerPacketReceived; }
protected abstract bool Process(SocketProxyWorker client, string args);