コード例 #1
0
ファイル: TradeBotCore.cs プロジェクト: kuechen/ROTMGTradeBot
        public void TC(Client client, Packet packet)
        {
            TradeChangedPacket p  = (TradeChangedPacket)packet;
            PZClient           cl = clientlist[IndexOfClient(client)];

            cl.customer.UpdateItems(p.Offers);
            if (cl.enabled)
            {
                Console.WriteLine("--------------------------");
                int    totlefts = 0;
                string msg      = "";
                foreach (var item in cl.CheckCustomer(true))
                {
                    Console.WriteLine(item.ToString() + " - " + item.amount);
                    totlefts += item.amount;
                    if (item.amount > 0)
                    {
                        msg += item.amount + " " + item.ToString() + ";";
                    }
                }
                Console.WriteLine("Verdict: " + (totlefts <= 0));
                if (totlefts <= 0)
                {
                    cl.SelectSelling();
                    AcceptTradePacket ac = (AcceptTradePacket)Packet.Create(PacketType.ACCEPTTRADE);
                    ac.YourOffers = p.Offers;
                    ac.MyOffers   = cl.GetToSel();
                    cl.client.SendToServer(ac);
                }
                else
                {
                    PlayerTextPacket ptpkt = (PlayerTextPacket)Packet.Create(PacketType.PLAYERTEXT);
                    ptpkt.Text = "/t " + cl.customer.name + " An extra: " + msg + " plz!";
                    cl.client.SendToServer(ptpkt);
                }
            }
        }
コード例 #2
0
ファイル: TradeBotCore.cs プロジェクト: kuechen/ROTMGTradeBot
        public void TS(Client client, Packet packet)
        {
            TradeStartPacket ts = (TradeStartPacket)packet;

            PZClient cl = clientlist[IndexOfClient(client)];

            cl.InTrade = true;
            if (cl.enabled)
            {
                cl.customer = new PZCustomer(ts);
                cl.last     = client.PlayerData.Slot;
                cl.CancelTimerStart();
                if (!cl.curTrade.CheckBuying(cl, ts.YourItems))
                {
                    PlayerTextPacket pt = (PlayerTextPacket)Packet.Create(PacketType.PLAYERTEXT);
                    try
                    {
                        pt.Text = @"/tell " + ts.YourName + " You don't have " + cl.curTrade.BuyingToString();
                        client.SendToServer(pt);
                    }
                    catch
                    {
                        Console.WriteLine("Please define trades for \"" + client.PlayerData.Name + "\" to do");
                    }

                    CancelTradePacket ct = (CancelTradePacket)Packet.Create(PacketType.CANCELTRADE);
                    client.SendToServer(ct);
                    cl.InTrade = false;
                }
                else
                {
                    Console.WriteLine("Found correct stuff!");
                    cl.InTrade = true;
                    cl.SelectSelling();
                }
            }
        }