ObjectBuy
- You cannot open a new topic into this forum
- Guests cannot post into this forum
unethika
Posts: 3

ObjectBuy中、オブジェクトは、転送にお金の前に来る。
During ObjectBuy, object comes before money transfer.
お金のトランザクションが失敗した場合、オブジェクトはとにかく転送される。
If a money transaction fails, the object is transferred anyway.
これはなぜ起こるのでしょうか?
Why does this happen?
お金のトランザクションの後にオブジェクトを転送することはできますか?
Is it possible to transfer the object after the transaction of money?
During ObjectBuy, object comes before money transfer.
お金のトランザクションが失敗した場合、オブジェクトはとにかく転送される。
If a money transaction fails, the object is transferred anyway.
これはなぜ起こるのでしょうか?
Why does this happen?
お金のトランザクションの後にオブジェクトを転送することはできますか?
Is it possible to transfer the object after the transaction of money?
Votes:54
Average:4.81
iseki
Posts: 1581

Hi unethika,
Thank you for Japanese text. It is very intelligible.
When processing of an object is failed, system should be rollback. Was not rollback performed?
This is a very difficult problem.
Surely, in our code, after sending an object, money is transacted.
It is possible that after money was transacted, sending an object.
In this case, it may be happen that user paid money but object is not sent.
Do you think which is better?
Thank you for Japanese text. It is very intelligible.

When processing of an object is failed, system should be rollback. Was not rollback performed?
This is a very difficult problem.
Surely, in our code, after sending an object, money is transacted.
UUID receiverId = sceneObj.OwnerID;
if (mod.BuyObject(remoteClient, categoryID, localID, saleType, salePrice)) // Object is transferred
{
ulong regionHandle = sceneObj.RegionHandle;
TransferMoney(remoteClient.AgentId, receiverId, salePrice, // Pay Money
(int)TransactionType.PayObject, sceneObj.UUID, regionHandle, "Object Buy");
}
It is possible that after money was transacted, sending an object.
In this case, it may be happen that user paid money but object is not sent.
Do you think which is better?
Votes:56
Average:4.11
unethika
Posts: 3

事前にお金を転送する最も安全な方法です。
It is the most secure way to transfer money in advance.
その場合には、DTL機能の処理が妥当である。
In that case, the processing of DTL function is reasonable.
https://github.com/unethika/Mod-DTL_NSL-MoneyServer
これは、オブジェクトの所有者の権利を有します。
It reserves the right of the owner of the object.
障害が発生した場合、当事者は手動でオブジェクトを転送することができるであろう。
If a failure occurs, the parties will be able to transfer objects manually.
It is the most secure way to transfer money in advance.
その場合には、DTL機能の処理が妥当である。
In that case, the processing of DTL function is reasonable.
https://github.com/unethika/Mod-DTL_NSL-MoneyServer
これは、オブジェクトの所有者の権利を有します。
It reserves the right of the owner of the object.
障害が発生した場合、当事者は手動でオブジェクトを転送することができるであろう。
If a failure occurs, the parties will be able to transfer objects manually.
Votes:71
Average:5.35
Previous post
-
Next post
|
Parent
-
No child
|
Posted on 2013/4/22 18:01
iseki
Posts: 1581

Hi unethika,
I see.
Thank you for your comment.
I am going to correct it at next version.
Thanks.
I see.
Thank you for your comment.
I am going to correct it at next version.
Thanks.
--- MoneyModule.cs- 2013-04-22 17:56:50.000000000 +0900
+++ MoneyModule.cs 2013-04-22 17:58:44.000000000 +0900
@@ -690,12 +690,21 @@
{
UUID receiverId = sceneObj.OwnerID;
ulong regionHandle = sceneObj.RegionHandle;
+ bool ret = TransferMoney(remoteClient.AgentId, receiverId, salePrice,
+ (int)TransactionType.PayObject, sceneObj.UUID, regionHandle, "Object Buy");
+ if (ret)
+ {
+ mod.BuyObject(remoteClient, categoryID, localID, saleType, salePrice);
+ }
+
+ /*
if (mod.BuyObject(remoteClient, categoryID, localID, saleType, salePrice))
{
ulong regionHandle = sceneObj.RegionHandle;
TransferMoney(remoteClient.AgentId, receiverId, salePrice,
(int)TransactionType.PayObject, sceneObj.UUID, regionHandle, "Object Buy");
}
+ */
}
}
else
Votes:83
Average:6.39