* Implements 'Set Home to Here'

* Implements 'Teleport Home'
* User Server has to be updated for it to save your home in grid mode
* home position accuracy is in int because the grid comms ExpectUser method tries to convert to Uint and crashes if it gets a float.  Added a convert to decimal in ExpectUser but to avoid a breaking change with old revisions, kept the save value in int for now.   Eventually it needs to be a float, but lets release another incremental version before doing that.
This commit is contained in:
Teravus Ovares
2008-04-17 05:07:14 +00:00
parent 770c395e86
commit 244bfcde5b
9 changed files with 205 additions and 23 deletions

View File

@@ -423,7 +423,7 @@ namespace OpenSim.Region.Environment.Modules
{
if (e.parcelPrice >= 0)
{
doMoneyTranfer(agentId, e.parcelOwnerID, e.parcelPrice);
doMoneyTransfer(agentId, e.parcelOwnerID, e.parcelPrice);
lock (e)
{
e.transactionID = Util.UnixTimeSinceEpoch();
@@ -446,13 +446,15 @@ namespace OpenSim.Region.Environment.Modules
IClientAPI sender = null;
IClientAPI receiver = null;
m_log.WarnFormat("[MONEY] Explicit transfer of {0} from {1} to {2}", e.amount, e.sender.ToString(), e.receiver.ToString());
sender = LocateClientObject(e.sender);
if (sender != null)
{
receiver = LocateClientObject(e.reciever);
bool transactionresult = doMoneyTranfer(e.sender, e.reciever, e.amount);
receiver = LocateClientObject(e.receiver);
bool transactionresult = doMoneyTransfer(e.sender, e.receiver, e.amount);
if (e.sender != e.reciever)
if (e.sender != e.receiver)
{
if (sender != null)
{
@@ -462,14 +464,14 @@ namespace OpenSim.Region.Environment.Modules
if (receiver != null)
{
receiver.SendMoneyBalance(LLUUID.Random(), transactionresult, Helpers.StringToField(e.description), GetFundsForAgentID(e.reciever));
receiver.SendMoneyBalance(LLUUID.Random(), transactionresult, Helpers.StringToField(e.description), GetFundsForAgentID(e.receiver));
}
}
else
{
m_log.Warn("[MONEY]: Potential Fraud Warning, got money transfer request for avatar that isn't in this simulator - Details; Sender:" + e.sender.ToString() + " Reciver: " + e.reciever.ToString() + " Amount: " + e.amount.ToString());
m_log.Warn("[MONEY]: Potential Fraud Warning, got money transfer request for avatar that isn't in this simulator - Details; Sender:" + e.sender.ToString() + " Reciver: " + e.receiver.ToString() + " Amount: " + e.amount.ToString());
}
}
@@ -490,7 +492,7 @@ namespace OpenSim.Region.Environment.Modules
// Use this to exclude Region Owners (2), Estate Managers(1), Users (0), Disabled(-1)
if (PriceUpload > 0 && userlevel <= UserLevelPaysFees)
{
doMoneyTranfer(Uploader, EconomyBaseAccount, PriceUpload);
doMoneyTransfer(Uploader, EconomyBaseAccount, PriceUpload);
}
}
@@ -634,8 +636,10 @@ namespace OpenSim.Region.Environment.Modules
/// <param name="Receiver"></param>
/// <param name="amount"></param>
/// <returns></returns>
private bool doMoneyTranfer(LLUUID Sender, LLUUID Receiver, int amount)
private bool doMoneyTransfer(LLUUID Sender, LLUUID Receiver, int amount)
{
m_log.WarnFormat("[MONEY] Transfer {0} from {1} to {2}", amount, Sender.ToString(), Receiver.ToString());
bool result = false;
if (amount >= 0)
{