aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorMelanie2013-01-24 18:23:39 +0100
committerMelanie2013-01-24 18:23:39 +0100
commite785242c49dc5ff9fb64e26086d554a127415dde (patch)
tree2bcd9aee6ff24274ffa2ef51f3b5c7a5975a9dca /OpenSim/Region/ScriptEngine
parentNull check the response body to make sure we're not crashing the script engine (diff)
downloadopensim-SC_OLD-e785242c49dc5ff9fb64e26086d554a127415dde.zip
opensim-SC_OLD-e785242c49dc5ff9fb64e26086d554a127415dde.tar.gz
opensim-SC_OLD-e785242c49dc5ff9fb64e26086d554a127415dde.tar.bz2
opensim-SC_OLD-e785242c49dc5ff9fb64e26086d554a127415dde.tar.xz
Reintroduce the return value of llGiveMoney. The grid will crash and burn without it.
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs18
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs4
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)