Exemplo n.º 1
0
        void MoneyTransferRequestHandler(Packet packet, Agent agent)
        {
            MoneyTransferRequestPacket request = (MoneyTransferRequestPacket)packet;

            if (request.MoneyData.Amount < 0 || request.MoneyData.Amount > agent.Balance)
            {
                return;
            }

            lock (server.Agents)
            {
                foreach (Agent recipient in server.Agents.Values)
                {
                    if (recipient.AgentID == request.MoneyData.DestID)
                    {
                        agent.Balance     -= request.MoneyData.Amount;
                        recipient.Balance += request.MoneyData.Amount;

                        SendBalance(agent, UUID.Zero, String.Format("You paid L${0} to {1}.", request.MoneyData.Amount, recipient.Avatar.Name));
                        SendBalance(agent, UUID.Zero, String.Format("{1} paid you L${0}.", request.MoneyData.Amount, agent.Avatar.Name));

                        break;
                    }
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Give Money to destionation Object or Avatar
        /// </summary>
        /// <param name="target">UUID of the Target Object/Avatar</param>
        /// <param name="amount">Amount in L$</param>
        /// <param name="description">Reason (Optional normally)</param>
        /// <param name="transactiontype">The type of transaction.  Currently only 5001 is
        /// documented for Av->Av money transfers.</param>
        public void GiveMoney(LLUUID target, int amount, string description, int transactiontype)
        {
            MoneyTransferRequestPacket money = new MoneyTransferRequestPacket();

            money.AgentData.AgentID                = this.ID;
            money.AgentData.SessionID              = Client.Network.SessionID;
            money.MoneyData.Description            = Helpers.StringToField(description);
            money.MoneyData.DestID                 = target;
            money.MoneyData.SourceID               = this.ID;
            money.MoneyData.TransactionType        = transactiontype;
            money.MoneyData.AggregatePermInventory = 0; //TODO: whats this?
            money.MoneyData.AggregatePermNextOwner = 0; //TODO: whats this?
            money.MoneyData.Flags  = 0;                 //TODO: whats this?
            money.MoneyData.Amount = amount;

            Client.Network.SendPacket((Packet)money);
        }
Exemplo n.º 3
0
        public void payMoney(int amount)
        {
            MoneyTransferRequestPacket p = new MoneyTransferRequestPacket();

            p.AgentData.AgentID   = frame.AgentID;
            p.AgentData.SessionID = frame.SessionID;
            p.MoneyData.AggregatePermInventory = 0;
            p.MoneyData.AggregatePermNextOwner = 0;
            p.MoneyData.Amount          = amount;
            p.MoneyData.Flags           = 0;
            p.MoneyData.SourceID        = frame.AgentID;
            p.MoneyData.TransactionType = 1101;
            p.MoneyData.DestID          = UUID.Zero;
            p.MoneyData.Description     = Utils.StringToBytes("Upload Fee");

            this.proxy.InjectPacket(p, Direction.Outgoing);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Give Money to destination Object or Avatar
        /// </summary>
        /// <param name="target">UUID of the Target Object/Avatar</param>
        /// <param name="amount">Amount in L$</param>
        /// <param name="description">Reason (Optional normally)</param>
        /// <param name="type">The type of transaction</param>
        /// <param name="flags">Transaction flags, mostly for identifying group
        /// transactions</param>
        public void GiveMoney(UUID target, int amount, string description, MoneyTransactionType type, TransactionFlags flags)
        {
            MoneyTransferRequestPacket money = new MoneyTransferRequestPacket();
            money.AgentData.AgentID = this.id;
            money.AgentData.SessionID = Client.Self.SessionID;
            money.MoneyData.Description = Utils.StringToBytes(description);
            money.MoneyData.DestID = target;
            money.MoneyData.SourceID = this.id;
            money.MoneyData.TransactionType = (int)type;
            money.MoneyData.AggregatePermInventory = 0; // This is weird, apparently always set to zero though
            money.MoneyData.AggregatePermNextOwner = 0; // This is weird, apparently always set to zero though
            money.MoneyData.Flags = (byte)flags;
            money.MoneyData.Amount = amount;

            Client.Network.SendPacket(money);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Give Money to destionation Object or Avatar
        /// </summary>
        /// <param name="target">UUID of the Target Object/Avatar</param>
        /// <param name="amount">Amount in L$</param>
        /// <param name="description">Reason (Optional normally)</param>
        /// <param name="transactiontype">The type of transaction.  Currently only 5001 is
        /// documented for Av->Av money transfers.</param>
        public void GiveMoney(LLUUID target, int amount, string description, int transactiontype)
        {
            MoneyTransferRequestPacket money = new MoneyTransferRequestPacket();
            money.AgentData.AgentID = this.ID;
            money.AgentData.SessionID = Client.Network.SessionID;
            money.MoneyData.Description = Helpers.StringToField(description);
            money.MoneyData.DestID = target;
            money.MoneyData.SourceID = this.ID;
            money.MoneyData.TransactionType = transactiontype;
            money.MoneyData.AggregatePermInventory = 0; //TODO: whats this?
            money.MoneyData.AggregatePermNextOwner = 0; //TODO: whats this?
            money.MoneyData.Flags = 0; //TODO: whats this?
            money.MoneyData.Amount = amount;

            Client.Network.SendPacket((Packet)money);
        }
Exemplo n.º 6
0
        public void payMoney(int amount)
        {
            MoneyTransferRequestPacket p = new MoneyTransferRequestPacket();
            p.AgentData.AgentID = frame.AgentID;
            p.AgentData.SessionID = frame.SessionID;
            p.MoneyData.AggregatePermInventory = 0;
            p.MoneyData.AggregatePermNextOwner = 0;
            p.MoneyData.Amount = amount;
            p.MoneyData.Flags = 0;
            p.MoneyData.SourceID = frame.AgentID;
            p.MoneyData.TransactionType = 1101;
            p.MoneyData.DestID = UUID.Zero;
            p.MoneyData.Description = Utils.StringToBytes("Upload Fee");

            this.proxy.InjectPacket(p, Direction.Outgoing);
        }