ACE3/addons/common/functions/fnc_hashRem.sqf

40 lines
982 B
Plaintext
Raw Normal View History

2015-09-19 19:33:25 +00:00
/*
* Author: ?
* ?
*
* Arguments:
* ?
*
* Return Value:
* ?
*
* Public: ?
*/
2015-01-14 21:29:52 +00:00
#include "script_component.hpp"
2015-09-19 19:33:25 +00:00
params ["_hash", "_key"];
2015-01-14 21:29:52 +00:00
ERRORDATA(2);
private _val = nil;
2015-01-14 21:29:52 +00:00
try {
2015-02-19 18:14:52 +00:00
if(VALIDHASH(_hash)) then {
private _index = (_hash select 0) find _key;
2015-02-19 18:14:52 +00:00
if(_index != -1) then {
(_hash select 1) set[_index, "ACREHASHREMOVEDONOTUSETHISVAL"];
// is this hash is not part of a hash list?
// if it is we need to leave the keys intact.
if((count _hash) == 2) then {
// if this is a standalone hash then we can clean it up
(_hash select 0) set[_index, "ACREHASHREMOVEDONOTUSETHISVAL"];
_hash set[0, ((_hash select 0) - ["ACREHASHREMOVEDONOTUSETHISVAL"])];
_hash set[1, ((_hash select 1) - ["ACREHASHREMOVEDONOTUSETHISVAL"])];
};
};
} else {
ERROR("Input hash is not valid");
};
2015-01-14 21:29:52 +00:00
} catch {
2015-02-19 18:14:52 +00:00
HANDLECATCH;
2015-01-14 21:29:52 +00:00
};
true