diff options
author | Melanie | 2013-01-24 18:23:39 +0100 |
---|---|---|
committer | Melanie | 2013-01-24 18:23:39 +0100 |
commit | e785242c49dc5ff9fb64e26086d554a127415dde (patch) | |
tree | 2bcd9aee6ff24274ffa2ef51f3b5c7a5975a9dca /OpenSim | |
parent | Null check the response body to make sure we're not crashing the script engine (diff) | |
download | opensim-SC-e785242c49dc5ff9fb64e26086d554a127415dde.zip opensim-SC-e785242c49dc5ff9fb64e26086d554a127415dde.tar.gz opensim-SC-e785242c49dc5ff9fb64e26086d554a127415dde.tar.bz2 opensim-SC-e785242c49dc5ff9fb64e26086d554a127415dde.tar.xz |
Reintroduce the return value of llGiveMoney. The grid will crash and burn without it.
Diffstat (limited to 'OpenSim')
3 files changed, 12 insertions, 12 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index a8763ea..4709c0b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3017,19 +3017,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3017 | return src.ToLower(); | 3017 | return src.ToLower(); |
3018 | } | 3018 | } |
3019 | 3019 | ||
3020 | public void llGiveMoney(string destination, int amount) | 3020 | public LSL_Integer llGiveMoney(string destination, int amount) |
3021 | { | 3021 | { |
3022 | Util.FireAndForget(x => | 3022 | // Util.FireAndForget(x => |
3023 | { | 3023 | // { |
3024 | m_host.AddScriptLPS(1); | 3024 | m_host.AddScriptLPS(1); |
3025 | 3025 | ||
3026 | if (m_item.PermsGranter == UUID.Zero) | 3026 | if (m_item.PermsGranter == UUID.Zero) |
3027 | return; | 3027 | return 0; |
3028 | 3028 | ||
3029 | if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_DEBIT) == 0) | 3029 | if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_DEBIT) == 0) |
3030 | { | 3030 | { |
3031 | LSLError("No permissions to give money"); | 3031 | LSLError("No permissions to give money"); |
3032 | return; | 3032 | return 0; |
3033 | } | 3033 | } |
3034 | 3034 | ||
3035 | UUID toID = new UUID(); | 3035 | UUID toID = new UUID(); |
@@ -3037,7 +3037,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3037 | if (!UUID.TryParse(destination, out toID)) | 3037 | if (!UUID.TryParse(destination, out toID)) |
3038 | { | 3038 | { |
3039 | LSLError("Bad key in llGiveMoney"); | 3039 | LSLError("Bad key in llGiveMoney"); |
3040 | return; | 3040 | return 0; |
3041 | } | 3041 | } |
3042 | 3042 | ||
3043 | IMoneyModule money = World.RequestModuleInterface<IMoneyModule>(); | 3043 | IMoneyModule money = World.RequestModuleInterface<IMoneyModule>(); |
@@ -3045,12 +3045,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3045 | if (money == null) | 3045 | if (money == null) |
3046 | { | 3046 | { |
3047 | NotImplemented("llGiveMoney"); | 3047 | NotImplemented("llGiveMoney"); |
3048 | return; | 3048 | return 0; |
3049 | } | 3049 | } |
3050 | 3050 | ||
3051 | money.ObjectGiveMoney( | 3051 | return money.ObjectGiveMoney( |
3052 | m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount,UUID.Zero); | 3052 | m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount,UUID.Zero); |
3053 | }); | 3053 | // }); |
3054 | } | 3054 | } |
3055 | 3055 | ||
3056 | public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) | 3056 | public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs index 8eeb4d2..9bf6f9b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs | |||
@@ -208,7 +208,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
208 | LSL_Float llGetWallclock(); | 208 | LSL_Float llGetWallclock(); |
209 | void llGiveInventory(string destination, string inventory); | 209 | void llGiveInventory(string destination, string inventory); |
210 | void llGiveInventoryList(string destination, string category, LSL_List inventory); | 210 | void llGiveInventoryList(string destination, string category, LSL_List inventory); |
211 | void llGiveMoney(string destination, int amount); | 211 | LSL_Integer llGiveMoney(string destination, int amount); |
212 | LSL_String llTransferLindenDollars(string destination, int amount); | 212 | LSL_String llTransferLindenDollars(string destination, int amount); |
213 | void llGodLikeRezObject(string inventory, LSL_Vector pos); | 213 | void llGodLikeRezObject(string inventory, LSL_Vector pos); |
214 | LSL_Float llGround(LSL_Vector offset); | 214 | LSL_Float llGround(LSL_Vector offset); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs index ef71d7b..8ecc4f8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs | |||
@@ -876,9 +876,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
876 | m_LSL_Functions.llGiveInventoryList(destination, category, inventory); | 876 | m_LSL_Functions.llGiveInventoryList(destination, category, inventory); |
877 | } | 877 | } |
878 | 878 | ||
879 | public void llGiveMoney(string destination, int amount) | 879 | public LSL_Integer llGiveMoney(string destination, int amount) |
880 | { | 880 | { |
881 | m_LSL_Functions.llGiveMoney(destination, amount); | 881 | return m_LSL_Functions.llGiveMoney(destination, amount); |
882 | } | 882 | } |
883 | 883 | ||
884 | public LSL_String llTransferLindenDollars(string destination, int amount) | 884 | public LSL_String llTransferLindenDollars(string destination, int amount) |