Files
DayZ-Epoch/SQF/dayz_code/compile/fn_inString.sqf
F507DMT d42c3f2680 Update fn_inString.sqf
private fix
2021-05-05 12:26:54 +06:00

30 lines
798 B
Plaintext

//Kilzone_Kid's megafast inString function
//caseinsensitive
//params [needle,haystack];
private["_needle","_haystack","_haystackArr","_haystackLen","_needleLen","_found","_hayArr"];
scopeName "main";
_needle = _this select 0;
_haystack = _this select 1;
_haystackArr = toArray _haystack;
_haystackLen = count _haystackArr;
_needleLen = count (toArray _needle);
_found = false;
if (_needleLen <= _haystackLen) then {
_hayArr = [];
for "_i" from 0 to (_needleLen - 1) do {
_hayArr set [count _hayArr, _haystackArr select _i];
};
for "_i" from _needleLen to _haystackLen do {
if (toString _hayArr != _needle) then {
_hayArr set [_needleLen, _haystackArr select _i];
_hayArr set [0, "x"];
_hayArr = _hayArr - ["x"];
} else {
_found = true;
breakTo "main";
};
};
};
_found