Commit Graph

265 Commits

Author SHA1 Message Date
UbitUmarov
782bad9944 and rename it again as just osGetLinkInventoryKey, so it is coerent with llGetInventoryKey (mantis 9119) 2024-03-26 18:32:05 +00:00
UbitUmarov
7c63ff1150 rename new osGetLinkInventoryItemKey as osGetLinkInventoryItemAssetKey 2024-03-24 11:34:23 +00:00
Jeff Kelley
1aa7bea608 osGetLinkInventoryAssetKey
deleted:    bin/System.Drawing.Common.dll

Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2024-03-24 11:25:09 +00:00
UbitUmarov
6afa7d564b same for osGetLinkInventoryItemKeys 2024-03-05 19:04:36 +00:00
UbitUmarov
c618c4a6c4 rename the new osGetInventoryKeys as osgetinventoryitemkeys and osgetlinkinventorykey as osgetinventoryitemkey for coerence and to make clear that key means the item key within prim inventory and not its asset key as in ll funtion 2024-03-05 18:51:42 +00:00
UbitUmarov
97b03f76c7 fix the last patch 2024-02-29 20:40:42 +00:00
UbitUmarov
18ec6d6380 cosmetics 2024-02-26 18:07:50 +00:00
Adil El Farissi
60214e6e81 Add 2 OSSL functions to the LinkInventory collection
Add Functions:
+ osGiveLinkInventoryList(integer linkNumber, key destination, string category, list inventory)
Give a group of items located in a child prim inventory

+ osRemoveLinkInventory(integer linkNumber, string name)
Remove an item from a child prim inventory

LSL Script example:
<pre><code>
default
{
    touch_start(integer a){

        integer linkNumber = llDetectedLinkNumber(0);
        list linkInventoryNames = osGetLinkInventoryNames(linkNumber, INVENTORY_ALL);
        osGiveLinkInventoryList(linkNumber, llDetectedKey(0), llGetLinkName(linkNumber), linkInventoryNames);

        for(integer i = 0; i < llGetListLength(linkInventoryNames); i++){
            osRemoveLinkInventory(linkNumber, llList2String(linkInventoryNames, i));
        }
    }
}
</code></pre>
2024-02-25 07:14:49 +00:00
Adil El Farissi
db80781e7d Basic implementation of AES encryption/decryption and respective OSSL functions
Add methods:
+ private static string AESEncryptString(string secret, string plainText, string ivString= null)
AES Encrypt a string using a password and a random or custom Initialization Vector.

+ private static string AESDecryptString(string secret, string encryptedText, string ivString= null)
AES Decrypt the string encrypted by AESEncryptString with the same password and ivString used in the encryption.

Methods implementations:
+ Util.AESEncrypt(string secret, string plainText)
+ Util.AESDecrypt(string secret, string encryptedText)
+Util.AESEncryptTo(string secret, string plainText, string ivString)
+ Util.AESDecryptFrom(string secret, string encryptedText, string ivString)

OSSL functions as first case of use:
+ osAESEncrypt(string secret, string plainText)
+ osAESDecrypt(string secret, string encryptedText)
+ osAESEncryptTo(string secret, string plainText, string ivString)
+ osAESDecryptFrom(string secret, string encryptedText, string ivString)

LSL script example:
<pre><code>
string plainText = "Hello World :)";
string secret = "#!qUeRtY$@123^456€!#";

default
{
    touch_start(integer i)
    {
        string encryptedText = osAESEncrypt(secret, plainText);
        llOwnerSay("\nEncrypted with osAESEncrypt:\n"+ encryptedText);
        string decryptedText = osAESDecrypt(secret, encryptedText);
        llOwnerSay("\nDecrypted with osAESDecrypt:\n"+ decryptedText);

        // Encription / Decription with custom Initialization Vector.
        string ivString = (string)llGetOwner() /* +"_"+ llGenerateKey() */;
        string encryptedToText = osAESEncryptTo(secret, plainText, ivString);
        llOwnerSay("\nEncrypted with osAESEncryptTo:\n"+ encryptedToText);
        string decryptedFromText = osAESDecryptFrom(secret, encryptedToText, ivString);
        llOwnerSay("\nDecrypted with osAESDecryptFrom:\n"+ decryptedFromText);
    }
}
</code></pre>

Web Rain :)
2024-02-23 21:14:33 +00:00
Adil El Farissi
ca722ecdd8 Add some OSSL functions related to child prims inventory manipulations
Add functions:

+ osGiveLinkInventory(integer linkNumber, key destination, string inventory)
Give an item located in a child prim inventory.

+ osGetInventoryNames(integer type)
Return a list of items names by type (or INVENTORY_ALL) located in the prim inventory.

+ osGetLinkInventoryNames(integer linkNumber, integer type)
Return a list of items names by type (or INVENTORY_ALL) located in a child prim inventory.

+ osGetInventoryKeys(integer type)
Return a list of the items UUIDs by type (or INVENTORY_ALL) located in the prim inventory.

+ osGetLinkInventoryKeys(integer linkNumber, integer type)
Return a list of the items UUIDs by type (or INVENTORY_ALL) located in a child prim inventory.

+ osGetLinkInventoryKey(integer linkNumber, string name)
Return the UUID of the specified item name located in a child prim inventory.

+ osGetLinkInventoryDesc(integer linkNumber, string itemNameorid)
Return the description of an item located in a child prim inventory.

+ osGetLinkInventoryName(integer linkNumber, key itemId)
Return the name of an item located in a child prim inventory.

Note: the LinkInventory functions don't have access to the root prim contents. This may change if requested by the community...
2024-02-20 17:36:33 +00:00
UbitUmarov
2849e57920 add osGetPrimCount([key primKey]) and osGetSittingAvatarsCount([key primkey]) that just do want name says unlike ll mess, absent primKey argument means current linkset 2023-06-14 22:45:37 +01:00
Jeff Kelley
b96ef0d00c osSetPenColor
osSetPenColor1

Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2023-05-05 10:45:02 +01:00
UbitUmarov
549ebc1025 add old llList2ListStrided renamed osOldList2ListStrided to easy any possible script fixes 2023-04-27 22:15:19 +01:00
UbitUmarov
7b7071f778 fix bad c&p 2023-04-26 21:05:16 +01:00
UbitUmarov
4c061a0602 add llListSortStrided and osListSortInPlaceStrided 2023-04-26 20:26:01 +01:00
UbitUmarov
93e06f87f6 add list osGetParcelIDs() and key osGetParcelID(), plus a few changes to previus commits 2023-04-16 20:00:35 +01:00
UbitUmarov
e78caeeac8 add explicit osMakeNotecard(string notecardName, LSL_String contents) so it does not depend on implicit cast from string to list, as before 2022-01-06 20:42:50 +00:00
UbitUmarov
74a0bb3837 simplify combatmodule npc kill check 2021-10-24 21:06:42 +01:00
UbitUmarov
916e981214 precision issues 2021-09-16 17:28:03 +01:00
UbitUmarov
4855e11346 a few more changes to lsl list; add osListSortInPlace(LSL_List src, LSL_Integer stride, LSL_Integer ascending), does the sort directly on src, avoiding creation on a new list when that is not needed 2021-05-31 18:12:33 +01:00
UbitUmarov
15d0b02ba9 add LSL_Integer osAvatarType(string firts, string last) 2021-04-21 16:25:58 +01:00
UbitUmarov
9d1bd02d12 add LSL_Integer osAvatarType(LSL_Key avkey) 2021-04-21 15:52:09 +01:00
UbitUmarov
1c29f3378d mantis 8865: add experimental osNpcLookAt 2021-02-16 03:16:54 +00:00
UbitUmarov
e25b05a454 remove the expire argument from os[Link]ParticleSystem.. expire is controled by maxage != 0 2021-01-12 16:12:44 +00:00
UbitUmarov
72f7009b10 add os[Link]ParticleSystem with expire option. If expire true and system MaxAge > 0, the system will be be (lazy) removed from the prim after that MaxAge 2021-01-12 15:38:10 +00:00
UbitUmarov
a3b26255dd add vector variant of osSlerp; update script syntax 2021-01-06 16:32:51 +00:00
UbitUmarov
8fa28d96f5 clean tabs from osSHA256 patch (mantis 8839) 2020-12-29 13:31:08 +00:00
Mike Higgins
0da43a8ef5 added a new function string=osSHA256(string)
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2020-12-29 13:17:29 +00:00
UbitUmarov
64fea8f20c mantis 8770: let osGetSunParam(day_length) return the same as llGetDayLength() ie day length at prim location 2020-09-12 16:14:14 +01:00
UbitUmarov
b64e1792ff wt* remove osSetStateEvents, any script using it must just DIE 2020-08-31 15:01:26 +01:00
UbitUmarov
cd5ac2eae9 some cleanup to last patch from Bill Blight and Vincent (mantis 8738) 2020-08-08 18:27:45 +01:00
Vincent Sylvester
4eee476423 osSetParcelMusicURL
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2020-08-08 18:16:15 +01:00
UbitUmarov
5b87347476 and add some untested ossl 2020-06-21 12:41:10 +01:00
UbitUmarov
5b56a09cb2 some fixes on env protocol, forced env, etc 2020-06-21 01:41:14 +01:00
UbitUmarov
e3ecf0ddbe add LSL_Integer osReplaceAgentEnvironment(LSL_Key agentkey, LSL_Integer transition, LSL_String environment). note this is a hack, we cant do the ll* one 2020-06-19 19:55:40 +01:00
UbitUmarov
d1ecccfaca add some ossl 2020-06-11 19:55:12 +01:00
UbitUmarov
9bd5310fe8 expose the option to save HUDs into notecard on the API 2020-06-01 21:05:57 +01:00
UbitUmarov
248d56d3ad add LSL_Integer osClearObjectAnimations() to remove all animations on a prim, returning the number it had; some clean on sending 2020-03-03 23:21:05 +00:00
UbitUmarov
76987fb647 ... osSetLinkStandTarget 2020-01-25 15:51:36 +00:00
UbitUmarov
868c05fdf6 why not also osGetLinkStandTarget 2020-01-25 15:29:59 +00:00
UbitUmarov
004cab9289 add osGetLinkSitActiveRange 2020-01-25 14:24:53 +00:00
UbitUmarov
64c7e1de5b add osSetLinkSitActiveRange 2020-01-25 13:32:52 +00:00
UbitUmarov
7adaede14a mantis 8634: add osSetSitActiveRange(float range) , osSetStandTarget(vector feetAproxPosition) and respective get functions. range <0 disables sits on the prim, = 0 uses region default,feetAproxPosition is in prim local frame. <0,0,0> disables it. Still no persistance. feedback required! 2020-01-22 18:23:35 +00:00
UbitUmarov
2a90f78fe1 add LSL_Integer osIsNotValidNumber(LSL_Float v) 2019-10-17 23:33:11 +01:00
UbitUmarov
2c1909a873 add osResetAllScripts(LSL_Integer AllLinkset). use with care 2019-10-11 00:01:59 +01:00
UbitUmarov
93f13aa00d add osSlerp() 2019-09-04 23:27:48 +01:00
UbitUmarov
718c6d1e4d mantis 8583: osGetRegionMapTexture(); now returns prim region map textureID, without any requests to grid 2019-08-27 21:16:22 +01:00
UbitUmarov
64c56fc52b mantis 8577: add key osGetInventoryItemKey(string name) to get a inventory item ID within prim inventory. the llGetInventory does return the asset it, not item. 2019-08-16 21:24:07 +01:00
UbitUmarov
b5b518dc0d change value of PARCEL_DETAILS_DWELL to a higher value to give more room for standard values, change return types, update script syntaxe 2019-07-31 13:38:49 +01:00
TBG Renfold
0163af970f Mantis #8481 part two.
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2019-07-31 12:58:11 +01:00