From 2368ed74fc741ca8ee4c8be4a23d84a2852e4ea2 Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 4 Jun 2020 07:39:28 +0000 Subject: [PATCH] =?UTF-8?q?=E2=80=9EDavaStorage-Helper.cs=E2=80=9C=20hinzu?= =?UTF-8?q?f=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DavaStorage-Helper.cs | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 DavaStorage-Helper.cs diff --git a/DavaStorage-Helper.cs b/DavaStorage-Helper.cs new file mode 100644 index 0000000..133a93d --- /dev/null +++ b/DavaStorage-Helper.cs @@ -0,0 +1,51 @@ +//DATA STORE LOGIC + +list getDataListFromDataStorage(key _storage) +{ + return llCSV2List(osGetDataValue("game.inventar.objekt." + _storage + ".inventar")); +} + +saveDataListToDataStorage(key _storage, list _dataList) +{ + string _csv = llList2CSV(_dataList); + osSetDataValue("game.inventar.objekt." + _storage + ".inventar", _csv); +} + +integer checkDataEntryInDataList(list _dataList, string _key) +{ + integer _inListPosition = llListFindList(_dataList, [_key]); + + if(_inListPosition == -1) + return FALSE; + + return TRUE; +} + +string getDataEntryFromDataList(list _dataList, string _key) +{ + integer _inListPosition = llListFindList(_dataList, [_key]); + + if(_inListPosition == -1) + return ""; + + return llList2String(_dataList, _inListPosition + 1); +} + +list setDataEntryInDataList(list _dataList, string _key, string _value) +{ + integer _inListPosition = llListFindList(_dataList, [_key]); + + if(_inListPosition == -1) + { + _dataList += [_key, _value]; + return _dataList; + } + + return llListReplaceList(_dataList, [_value], _inListPosition + 1, _inListPosition + 1); +} + +//Example +list _dataStorage = getDataListFromDataStorage("storage.example"); +_dataStorage = setDataEntryInDataList(_dataStorage, "test.entry", "dummy"); +llOwnerSay(getDataEntryFromDataList(_dataStorage, "test.entry")); +saveDataListToDataStorage("storage.example", _dataStorage); \ No newline at end of file