mirror of
https://github.com/opensim/opensim.git
synced 2026-06-07 12:08:48 +08:00
* Updates BetaGridLikeMoneyModule
* Several people have asked for a way to limit uploads, so I've decided to show people how to do this in the BetaGridLikeMoneyModule. * Configure it in OpenSim.ini using the [Economy] header. See the bottom of the OpenSim.ini.example for more information. * This also fleshes out the Economy API a bit more.
This commit is contained in:
@@ -214,6 +214,8 @@ namespace OpenSim.Region.ClientStack
|
||||
private ViewerEffectEventHandler handlerViewerEffect = null; //OnViewerEffect;
|
||||
private Action<IClientAPI> handlerLogout = null; //OnLogout;
|
||||
private MoneyTransferRequest handlerMoneyTransferRequest = null; //OnMoneyTransferRequest;
|
||||
private EconomyDataRequest handlerEconomoyDataRequest = null;
|
||||
|
||||
private UpdateVector handlerUpdatePrimSinglePosition = null; //OnUpdatePrimSinglePosition;
|
||||
private UpdatePrimSingleRotation handlerUpdatePrimSingleRotation = null; //OnUpdatePrimSingleRotation;
|
||||
private UpdateVector handlerUpdatePrimScale = null; //OnUpdatePrimScale;
|
||||
@@ -223,6 +225,7 @@ namespace OpenSim.Region.ClientStack
|
||||
private PacketStats handlerPacketStats = null; // OnPacketStats;#
|
||||
private RequestAsset handlerRequestAsset = null; // OnRequestAsset;
|
||||
|
||||
|
||||
/* Properties */
|
||||
|
||||
public LLUUID SecureSessionId
|
||||
@@ -763,6 +766,7 @@ namespace OpenSim.Region.ClientStack
|
||||
public event PacketStats OnPacketStats;
|
||||
|
||||
public event MoneyTransferRequest OnMoneyTransferRequest;
|
||||
public event EconomyDataRequest OnEconomyDataRequest;
|
||||
|
||||
public event MoneyBalanceRequest OnMoneyBalanceRequest;
|
||||
|
||||
@@ -1523,6 +1527,34 @@ namespace OpenSim.Region.ClientStack
|
||||
OutPacket(sendXfer, ThrottleOutPacketType.Task);
|
||||
}
|
||||
|
||||
public void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit,
|
||||
int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor,
|
||||
int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay,
|
||||
int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent)
|
||||
{
|
||||
EconomyDataPacket economyData = (EconomyDataPacket)PacketPool.Instance.GetPacket(PacketType.EconomyData);
|
||||
economyData.Info.EnergyEfficiency = EnergyEfficiency;
|
||||
economyData.Info.ObjectCapacity = ObjectCapacity;
|
||||
economyData.Info.ObjectCount = ObjectCount;
|
||||
economyData.Info.PriceEnergyUnit = PriceEnergyUnit;
|
||||
economyData.Info.PriceGroupCreate = PriceGroupCreate;
|
||||
economyData.Info.PriceObjectClaim = PriceObjectClaim;
|
||||
economyData.Info.PriceObjectRent = PriceObjectRent;
|
||||
economyData.Info.PriceObjectScaleFactor = PriceObjectScaleFactor;
|
||||
economyData.Info.PriceParcelClaim = PriceParcelClaim;
|
||||
economyData.Info.PriceParcelClaimFactor = PriceParcelClaimFactor;
|
||||
economyData.Info.PriceParcelRent = PriceParcelRent;
|
||||
economyData.Info.PricePublicObjectDecay = PricePublicObjectDecay;
|
||||
economyData.Info.PricePublicObjectDelete = PricePublicObjectDelete;
|
||||
economyData.Info.PriceRentLight = PriceRentLight;
|
||||
economyData.Info.PriceUpload = PriceUpload;
|
||||
economyData.Info.TeleportMinPrice = TeleportMinPrice;
|
||||
economyData.Info.TeleportPriceExponent = TeleportPriceExponent;
|
||||
economyData.Header.Reliable = true;
|
||||
OutPacket(economyData, ThrottleOutPacketType.Unknown);
|
||||
|
||||
}
|
||||
|
||||
public void SendAvatarPickerReply(AvatarPickerReplyPacket replyPacket)
|
||||
{
|
||||
OutPacket(replyPacket, ThrottleOutPacketType.Task);
|
||||
@@ -4155,17 +4187,7 @@ namespace OpenSim.Region.ClientStack
|
||||
|
||||
#endregion
|
||||
|
||||
case PacketType.MoneyBalanceRequest:
|
||||
MoneyBalanceRequestPacket moneybalancerequestpacket = (MoneyBalanceRequestPacket)Pack;
|
||||
|
||||
handlerMoneyBalanceRequest = OnMoneyBalanceRequest;
|
||||
|
||||
if (handlerMoneyBalanceRequest != null)
|
||||
{
|
||||
handlerMoneyBalanceRequest(this, moneybalancerequestpacket.AgentData.AgentID, moneybalancerequestpacket.AgentData.SessionID, moneybalancerequestpacket.MoneyData.TransactionID);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case PacketType.UUIDNameRequest:
|
||||
UUIDNameRequestPacket incoming = (UUIDNameRequestPacket)Pack;
|
||||
foreach (UUIDNameRequestPacket.UUIDNameBlockBlock UUIDBlock in incoming.UUIDNameBlock)
|
||||
@@ -4373,6 +4395,32 @@ namespace OpenSim.Region.ClientStack
|
||||
|
||||
#endregion
|
||||
|
||||
#region Economy/Transaction Packets
|
||||
|
||||
case PacketType.MoneyBalanceRequest:
|
||||
MoneyBalanceRequestPacket moneybalancerequestpacket = (MoneyBalanceRequestPacket)Pack;
|
||||
|
||||
handlerMoneyBalanceRequest = OnMoneyBalanceRequest;
|
||||
|
||||
if (handlerMoneyBalanceRequest != null)
|
||||
{
|
||||
handlerMoneyBalanceRequest(this, moneybalancerequestpacket.AgentData.AgentID, moneybalancerequestpacket.AgentData.SessionID, moneybalancerequestpacket.MoneyData.TransactionID);
|
||||
}
|
||||
|
||||
break;
|
||||
case PacketType.EconomyDataRequest:
|
||||
|
||||
handlerEconomoyDataRequest = OnEconomyDataRequest;
|
||||
if (handlerEconomoyDataRequest != null)
|
||||
{
|
||||
handlerEconomoyDataRequest(AgentId);
|
||||
}
|
||||
// TODO: handle this packet
|
||||
//m_log.Warn("[CLIENT]: unhandled EconomyDataRequest packet");
|
||||
break;
|
||||
|
||||
#endregion
|
||||
|
||||
#region unimplemented handlers
|
||||
|
||||
case PacketType.StartPingCheck:
|
||||
@@ -4422,10 +4470,7 @@ namespace OpenSim.Region.ClientStack
|
||||
// TODO: Don't display this one, we handle it at a lower level
|
||||
//m_log.Warn("[CLIENT]: unhandled UseCircuitCode packet");
|
||||
break;
|
||||
case PacketType.EconomyDataRequest:
|
||||
// TODO: handle this packet
|
||||
m_log.Warn("[CLIENT]: unhandled EconomyDataRequest packet");
|
||||
break;
|
||||
|
||||
case PacketType.AgentHeightWidth:
|
||||
// TODO: handle this packet
|
||||
m_log.Warn("[CLIENT]: unhandled AgentHeightWidth packet");
|
||||
|
||||
Reference in New Issue
Block a user