示例#1
0
        public void OnPacketReceived(RotMGClient client, ServerPacket pkt)
        {
            switch (pkt.ID)
            {
            case PacketID.TRADEREQUESTED:
                if ((pkt as TradeRequestedPacket).Name == playerOwner.Text)
                {
                    client.SendPacket(new RequestTradePacket {
                        Name = playerOwner.Text
                    });
                }
                break;

            case PacketID.TRADEACCEPTED:
                client.SendPacket(new AcceptTradePacket {
                    MyOffers = SelectedItems.Values.ToArray(), YourOffers = (pkt as TradeAcceptedPacket).YourOffers
                });
                break;

            case PacketID.TRADEDONE:
                for (int i = 0; i < 12; i++)
                {
                    SelectedItems[i] = false;
                }
                break;
            }
        }
示例#2
0
 public TradeMenu(RotMGClient client)
 {
     InitializeComponent();
     this.client             = client;
     client.OnPacketReceive += OnPacketReceived;
     this.SelectedItems      = new Dictionary <int, bool>(12);
     for (int i = 0; i < 12; i++)
     {
         SelectedItems.Add(i, false);
     }
     this.Text = String.Format("Logged in as {0}", client.Player.Name);
     timer1.Start();
 }
示例#3
0
 private void button1_Click(object sender, EventArgs e)
 {
     //Console.Clear();
     for (int i = 1; i < NumberOfBots.Value; i++)
     {
         client = new RotMGClient(server, EmailPrefix.Text + i + EmailDomain.Text, Password.Text);
         client.OnLoginError += new OnLoginErrorHandler(client_OnLoginError);
         client.Init(buildversion.Text, null, false);
         if (client.Player.IsLoggedIn)
         {
             client.Connect();
             bots.Add(client);
         }
     }
     timer1.Start();
 }
示例#4
0
 private void spamBtn_Click(object sender, EventArgs e)
 {
     if (String.IsNullOrWhiteSpace(email.Text))
     {
         MessageBox.Show("Email can not be null");
         return;
     }
     if (String.IsNullOrWhiteSpace(password.Text))
     {
         MessageBox.Show("Password can not be null");
         return;
     }
     if (spamBtn.Text == "Start")
     {
         Server server = Servers.EUNorth;
         if (Server.GetServerByName.ContainsKey(serverBox.SelectedItem.ToString()))
         {
             server = Server.GetServerByName[serverBox.SelectedItem.ToString()];
         }
         client = new RotMGClient(server, email.Text, password.Text);
         client.OnLoginError += new OnLoginErrorHandler(client_OnLoginError);
         client.Init(buildversion.Text, null, false);
         if (rememberAcc.Checked)
         {
             using (StreamWriter wtr = new StreamWriter("lastlogin"))
             {
                 wtr.Write(Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(email.Text)) + ":" + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(password.Text)));
                 wtr.Close();
             }
         }
         if (client.Player.IsLoggedIn)
         {
             client.Connect();
         }
         spamBtn.Text   = "Stop";
         ticker.Enabled = true;
         ticker.Start();
     }
     else if (spamBtn.Text == "Stop")
     {
         ticker.Stop();
         client.Disconnect();
         spamBtn.Text = "Start";
     }
 }
示例#5
0
        public static void client_OnPacketReceive(RotMGClient client, ServerPacket pkt)
        {
            switch (pkt.ID)
            {
            case PacketID.TEXT:
                break;

            case PacketID.TRADEREQUESTED:
                TradeRequestedPacket tp = pkt as TradeRequestedPacket;
                name = tp.Name;
                client.SendPacket(new PlayerTextPacket {
                    Text = "/tell " + tp.Name + " Hai " + tp.Name + ", have a nice cheesy day c:"
                });
                client.SendPacket(new RequestTradePacket {
                    Name = tp.Name
                });
                break;

            //case PacketID.TRADEACCEPTED:
            //    client.SendPacket(new AcceptTradePacket
            //    {
            //        MyOffers = new bool[12],
            //        YourOffers = new bool[12]
            //    });
            //    client.SendPacket(new PlayerTextPacket
            //    {
            //        Text = ("/tell " + name + " Thank u m8 c:")
            //    });
            //    break;
            //case PacketID.SHOOT2:
            //    client.SendPacket(new PlayerTextPacket
            //    {
            //        Text = pkt.ToString()//"Shoot ur spell again to receive some more random numbers like this: " + new Random().Next(100000, 100000000) + "  c:"
            //    });
            //    break;
            default:
                //Console.WriteLine("Unhandled packet {0}", pkt.GetType().Name);
                break;
            }
        }
示例#6
0
 private void Login_Click(object sender, EventArgs e)
 {
     Console.Clear();
     if (Server.GetServerByName.ContainsKey(selectedServer.SelectedItem.ToString()))
     {
         server = Server.GetServerByName[selectedServer.SelectedItem.ToString()];
     }
     client = new RotMGClient(server, email.Text, password.Text);
     client.OnLoginError += new OnLoginErrorHandler(client_OnLoginError);
     client.Init(buildversion.Text, null, false);
     if (rememberAcc.Checked)
     {
         using (StreamWriter wtr = new StreamWriter("lastlogin"))
         {
             wtr.Write(Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(email.Text)) + ":" + Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(password.Text)));
             wtr.Close();
         }
     }
     if (client.Player.IsLoggedIn)
     {
         client.Connect();
     }
 }
示例#7
0
        public TradeMenu(RotMGClient client)
        {
            InitializeComponent();
            this.client             = client;
            client.OnPacketReceive += OnPacketReceived;
            this.SelectedItems      = new Dictionary <int, bool>(12);
            for (int i = 0; i < 12; i++)
            {
                SelectedItems.Add(i, false);
            }
            this.Text = String.Format("Logged in as {0}", client.Player.Name);
            invUpdater.Start();
            AutoCompleteStringCollection col = new AutoCompleteStringCollection();

            for (int i = 0; i < RotMGData.Items.Keys.Count; i++)
            {
                string item   = RotMGData.Items.Values.ToArray()[i];
                short  itemId = RotMGData.Items.Keys.ToArray()[i];
                if (item.StartsWith("T") && isNumber(item, 1))
                {
                    item = item.Remove(0, 3);
                }
                if (item.StartsWith(" "))
                {
                    item = item.Remove(0, 1);
                }

                buyBox.Items.Add(item + ", " + itemId);
                sellBox.Items.Add(item + ", " + itemId);
                col.Add(item + ", " + itemId);
            }
            buyBox.AutoCompleteCustomSource = sellBox.AutoCompleteCustomSource = col;
            buyBox.Sorted         = sellBox.Sorted = true;
            buyBox.SelectedItem   = sellBox.SelectedItem = buyBox.Items[1];
            tradeSpamTextBox.Text = "%%%%Buying {buyAmount} {buyItem} for {sellAmount} {sellItem} @{playerName}%%%%";
        }
示例#8
0
        public void OnPacketReceived(RotMGClient client, ServerPacket pkt)
        {
            if (!botStarted)
            {
                switch (pkt.ID)
                {
                case PacketID.TRADEREQUESTED:
                    if ((pkt as TradeRequestedPacket).Name == playerOwner.Text)
                    {
                        client.SendPacket(new RequestTradePacket {
                            Name = playerOwner.Text
                        });
                        trading = true;
                    }
                    break;

                case PacketID.TRADESTART:
                    if ((pkt as TradeStartPacket).YourName != playerOwner.Text)
                    {
                        client.SendPacket(new CancelTradePacket());
                        trading = false;
                    }
                    else
                    {
                        trading = true;
                    }
                    break;

                case PacketID.TRADEACCEPTED:
                    client.SendPacket(new AcceptTradePacket {
                        MyOffers = SelectedItems.Values.ToArray(), YourOffers = (pkt as TradeAcceptedPacket).YourOffers
                    });
                    break;

                case PacketID.TRADEDONE:
                    for (int i = 0; i < 12; i++)
                    {
                        SelectedItems[i] = false;
                    }
                    trading = false;
                    break;
                }
            }
            else
            {
                switch (pkt.ID)
                {
                case PacketID.TRADEREQUESTED:
                    if (requestedItemsInInventory((pkt as TradeRequestedPacket).Name, reqItemName, (int)buyAmount.Value))
                    {
                        client.SendPacket(new RequestTradePacket {
                            Name = (pkt as TradeRequestedPacket).Name
                        });
                    }
                    else
                    {
                        currentTradePlayer = -1;
                    }
                    break;

                case PacketID.TRADESTART:
                    client.SendPacket(new PlayerTextPacket {
                        Text = String.Format("/tell {0} Please select {1} {2}.", (pkt as TradeStartPacket).YourName, buyAmount.Value, reqItemName)
                    });
                    break;

                case PacketID.TRADECHANGED:
                    if (IsSelectValid(currentTradePlayer, reqItemName, (int)buyAmount.Value, (pkt as TradeChangedPacket)))
                    {
                        client.SendPacket(new ChangeTradePacket
                        {
                            Offers = myoffers()
                        });
                        client.SendPacket(new AcceptTradePacket
                        {
                            MyOffers   = myoffers(),
                            YourOffers = (pkt as TradeChangedPacket).Offers
                        });
                    }
                    break;

                case PacketID.TRADEDONE:
                    if ((pkt as TradeDonePacket).Result == 0)
                    {
                        notifyIcon1.BalloonTipText  = String.Format("Successfuly sold {0} {1} for {2} {3}", sellAmount.Value, sellItemName, buyAmount.Value, reqItemName);
                        notifyIcon1.BalloonTipTitle = "TradeBot";
                        notifyIcon1.ShowBalloonTip(4000);
                    }
                    break;
                }
            }
        }