Commit Graph

1200 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
00b23e51ae Change name of just added OSSL osForceSit() to osForceOtherSit()
This is somewhat more in keeping with something like osForceAttachToOtherAvatarFromInventory()
and potentially allows a separate osForceSit() command with High threat rather than VeryHigh that only sits the owner and can be enabled without enabling sit of other avatars.
2014-10-11 00:14:35 +01:00
Justin Clark-Casey (justincc)
5acbbcb33f minor: spacing cleanup from previous commit 79a4d1ea 2014-10-11 00:10:49 +01:00
Vegaslon
79a4d1ea8d Implements osForceSit(string avatar) & overload osForceSit(string avatar, string target)
Allows a script IN the target prim to force an avatar to sit on it using normal methods as if called by the client.

Overload method of osForceSit() to allow a script NOT in the target prim to force an avatar to sit on the target prim using normal methods as if called by the client.

This patch is based on previous work from
http://opensimulator.org/mantis/view.php?id=4492
and also includes the suggestions from justincc including change of threat level
Thank you Christos Lightling.
2014-10-11 00:04:25 +01:00
Justin Clark-Casey (justincc)
29a05cdeb5 Change thread of osForceAttachToOvtherAvatarFromInventory to VeryHigh from Severe
It fits much better in this category.
2014-10-08 23:35:25 +01:00
Edward
427240f935 Changes to be committed: modified: OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs modified: OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs This solves mantis bug# 5005: llRegionSay script does not trigger ChatFromWorld event. This was solved by adding World.SimChat() command to the llRegionSay() function (per suggestion of DrCuriosity). Additionally this fixes llRegionSayTo() which was also not functioning by adding a World.SimChat() command and adding a new SimChatToAgent() overrided function to Scene.PacketHandlers.cs This is the second patch revision. Corrections made to the position of World.SimChat() and removal of tabs per suggestion by justincc. 2014-09-17 23:37:18 +01:00
Justin Clark-Casey (justincc)
d582db6132 Fix recent regression from 473c5594 where camera started to judder on moving vehicles.
Other parts of OpenSimulator are relying on SP.Velocity == 0 for vehicles.
So add and use SP.GetWorldVelocity() instead when we need vehicle velocity, along the same lines as existing SP.GetWorldRotation()
2014-09-02 23:39:52 +01:00
Justin Clark-Casey (justincc)
bb7c88805a As per the LL grid, for attachments make llGetObjectDetails() OBJECT_VELOCITY return the avatar's velocity and not always Vector3.Zero.
This completes http://opensimulator.org/mantis/view.php?id=7177
2014-08-30 00:58:47 +01:00
Justin Clark-Casey (justincc)
4d8bc007e2 minor: fix wrong indentation in previous commit 0cc3cd 2014-08-30 00:54:36 +01:00
Justin Clark-Casey (justincc)
0cc3cdfb4e As per the LL grid, for attachments make llGetObjectDetails() OBJECT_ROT return the avatar's rotation.
This is already the behaviour of OBJECT_POS.
Partially satisfies http://opensimulator.org/mantis/view.php?id=7177
2014-08-30 00:48:59 +01:00
Justin Clark-Casey (justincc)
099212167b Implement STATUS_BLOCK_GRAB_OBJECT in llSetStatus()/llGetStatus() and correct effect of STATUS_BLOCK_GRAB
As per http://wiki.secondlife.com/wiki/LlSetStatus
Setting STATUS_BLOCK_GRAB_OBJECT prevents or allows move of a physical linkset by grab on any prim.
Setting STATUS_BLOCK_GRAB prevents or allows move of a physical linkset by grab on a particular prim.
Previously, setting STATUS_BLOCK_GRAB would prevent drag via all prims of the linkset.
2014-08-29 23:40:21 +01:00
Kevin Cozens
321816b32c Prevent exception if inventory item in llGiveInventory() call doesn't exist. 2014-08-18 16:00:49 -04:00
Kevin Cozens
626536b8cc Added RestrictEmail to make llEmail only send to avatars email address if true. 2014-08-14 02:40:06 -04:00
Justin Clark-Casey (justincc)
0c8f3dddd8 Use thread-safe version of .NET Random as the SDK class is not thread-safe.
As per http://msdn.microsoft.com/en-us/library/system.random%28v=vs.100%29.aspx, the .NET Random class is not thread-safe.
If called by multiple threads at once, methods may return 0.
Except for llRand(), other OpenSimulator code did not lock before calling a shared Random instance.
This commit adds a ThreadSafeRandom class that extends Random but does internal locking so that it is thread-safe.
This change is invisible to existing callers and the explicit locking in the llFrand() implementation is now redundant.
2014-07-14 20:08:11 +01:00
Justin Clark-Casey (justincc)
5450b1b024 Change assembly versions to 0.8.1 2014-06-17 18:37:15 +01:00
Diva Canto
2ff9ea3f80 Fixed a few things pertaining to interfacing with the estate service. Specifically, StoreEstateSettings was not being used anywhere; instead EstatSetting.Save was being called, but that method is a trigger to the DB-layer code directly, which, besides being wrong, was making it impossible to replace the service with a remote connector.
Also added more packing/unpacking code.
2014-06-01 10:06:26 -07:00
Justin Clark-Casey (justincc)
174df94172 If a script calls llSetCameraAtOffset() or llSetCameraEyeOffset() on a child prim and the root prim has no corresponding value set, then also set the root prim.
This matches behaviour just tested on the Linden Lab grid.
2014-05-22 23:58:28 +01:00
Vegaslon
e245638f24 Change llUnSit to be able to unsit any avatar that is currently sat on the object, not just avatars sitting on the sittarget in the object containing the script. or when the object is owned by the parcel, land group or estate owner. 2014-05-06 17:35:34 +01:00
Talun
c9742c826d Mantis 7146 The lsl function llGetMassMKS is not implemented
This patch implements llGetMassMKS as it is described in the wiki
http://wiki.secondlife.com/wiki/LlGetMassMKS
2014-05-06 17:31:21 +01:00
Oren Hurvitz
eb79c882ea Show more meaningful error messages when failed to move an item from a prim to a user's inventory.
Also, actually show the error to the user in more cases. (Previously, sometimes the operation failed without telling the user anything.)
2014-05-06 07:28:45 +01:00
Oren Hurvitz
7862d1e20d Added range-checking for the parameters to PRIM_POINT_LIGHT (used in llSetLinkPrimitiveParamsFast() ) 2014-05-06 07:14:58 +01:00
Melanie
f0eeb47262 Add the "StateChange" function to the async comand manager to differentiate
between state changes and script exit/reset.
2014-04-30 20:54:34 +01:00
Oren Hurvitz
998d7009a6 Eliminated many warnings 2014-04-23 16:37:36 +03:00
Justin Clark-Casey (justincc)
7c148d9b2f minor: use constants instead of magic numbers in llRequestAgentData() where possible 2014-04-11 00:52:28 +01:00
Justin Clark-Casey (justincc)
530c86335d Fix the presence info caching used in llRequestAgentData(), which was completely inoperative.
This means the presence info may be out of date by up to 20 seconds, but this avoids scripts potentially triggering constants requests to user accout and presence info services.
Relates to http://opensimulator.org/mantis/view.php?id=7088 though I fixed in a different way.
Adds regression test for this case.
2014-04-11 00:29:06 +01:00
Justin Clark-Casey (justincc)
6ac9c9c972 refactor: Use m_sittingAvatars to maintain the list of sitting avatars instead of two independent structures that do exactly the same thing
m_sittingAvatars code also already properly handles locking to avoid races.
2014-04-03 01:14:39 +01:00
BlueWall
59d0e3c3c8 Add check to prevent the return of a wrong value when key is NULL_KEY 2014-03-31 15:49:53 -04:00
Talun
fb312279c9 Mantis 6922: No particles are generated if their size exceeds the maximum allowed size.
This patch ensures that no particle scal value can exceed 4.0
2014-03-21 23:13:34 +00:00
Talun
bd6f734d3a Mantis 6974 PERMISSION_TRACK_CAMERA should be implicit on attach.
http://wiki.secondlife.com/wiki/Run_time_permissions
This change makes PERMISSION_TRACK_CAMERA implicit on attach
2014-03-20 20:11:26 +00:00
Justin Clark-Casey (justincc)
873eee5431 Implement osForceBreakAllLinks().
Identical to llBreakAllLinks() except that it doesn't require the script to have link permissions.
2014-03-13 00:04:20 +00:00
Justin Clark-Casey (justincc)
6a279feb2f Only allow llBreakAllLinks() to work if script has received PERMISSION_CHANGE_LINKS
As per http://wiki.secondlife.com/wiki/LlBreakAllLinks
Same as existing llCreateLink() and llBreakLink()
2014-03-12 23:54:20 +00:00
Justin Clark-Casey (justincc)
296d63e20b Implement osForceCreateLink() and osForceBreakLink()
These are identical to llCreateLink() and llBreakLink() except that they don't require script permissions.
However, osForceCreateLink() still requires that linked and linkee still have the same owner.
There's also an AutomaticLinkPermission setting in [XEngine] that could be set to true to prevent the LSL function checks.
But this doesn't allow the finer control over which users/scripts, etc. can do this that the OSSL functions provide.
2014-03-12 23:05:16 +00:00
Dev Random
9de3fe9410 Add Varregion support to osGetRegionSize OSSL function
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-03-07 17:48:07 -05:00
Justin Clark-Casey (justincc)
31de7b845f When positioning agent with PRIM_ROTATION in llSetLinkPrimitiveParams(), set the global rotation rather than the local rotation
Functionally the same as the patch in http://opensimulator.org/mantis/view.php?id=7044, thanks Aleric.
This commit also extends the regression test
2014-03-03 23:35:21 +00:00
Justin Clark-Casey (justincc)
91333b9267 Stop LSL_Api.GetLinkEntities() from creating an unused list on every parameter except LINK_THIS. Simplify code. 2014-02-27 00:23:24 +00:00
Justin Clark-Casey (justincc)
ed760f2586 minor: remove unused variable from recent commit 0e23374 2014-02-27 00:14:16 +00:00
Justin Clark-Casey (justincc)
d7c9725ec0 refactor: Make osGetPrimtiveParams() and soSetPrimitiveParams() use common get/set params code in LSL_Api rather than an old copy&pasted section. 2014-02-27 00:11:50 +00:00
Justin Clark-Casey (justincc)
0e23374aa2 Implement PRIM_ROTATION, PRIM_ROT_LOCAL, PRIM_POSITION and PRIM_POS_LOCAL when manipulating avatars via llSetLinkPrimitiveParams()
Combination of core parts of Freaky's patch at https://github.com/ft-/opensim-patches/blob/master/opensim-llsetlinkprimitive-agent-fix.patch plus further adjustments from myself.
Resolves Mantises 6121, 6421, 6573, 6657
2014-02-26 23:07:13 +00:00
Justin Clark-Casey (justincc)
b2878eb773 Merge branch 'justincc-master' 2014-01-31 00:51:22 +00:00
David Rowe
1380b37d71 Made error messages more consistent 2014-01-31 00:24:52 +00:00
David Rowe
3d62f4369d Replaced throwing exceptions with calls to Error() 2014-01-31 00:24:47 +00:00
David Rowe
d405254971 Replaced llSay()ing LSL errors with calls Error() 2014-01-31 00:24:43 +00:00
David Rowe
9db4090c07 Replaced LSLError() calls with calls to Error() 2014-01-31 00:24:40 +00:00
David Rowe
c9550e473d Updated "deprecated" LSL errors to use Deprecrated() 2014-01-31 00:24:36 +00:00
David Rowe
257f9cec40 Updated "not implemented" LSL errors to use NotImplemented() 2014-01-31 00:24:31 +00:00
David Rowe
13bb9ea682 Updated ShoutError() calls to use new LSL error methods 2014-01-31 00:21:22 +00:00
David Rowe
67ec95bde8 Updated methods for handling LSL script errors, deprecated, and not implemented 2014-01-31 00:20:10 +00:00
Robert Adams
8eec717f5f Merge branch 'master' into varregion 2014-01-28 08:50:28 -08:00
Oren Hurvitz
2cf224166f Added osGetRegionSize(), which returns the region size in meters and recognizes megaregions 2014-01-28 00:11:50 +00:00
Robert Adams
f127e4b4ee Merge branch 'master' into varregion 2014-01-19 07:38:53 -08:00
Justin Clark-Casey (justincc)
e9454d4672 Following on from 50ea2e0, only fetch scene presence for check if lightscript function has failed initial IsEstateManagerOrOwner() check 2014-01-18 01:36:40 +00:00