/* Author: commy2, esteldunedain Description: Converts number to hexadecimal number Arguments: A number between 0 and 255 Return Value: A hexadecimal number, String */ #include "script_component.hpp" private ["_number"]; _number = ((round abs (_this select 0)) max 0) min 255; if (isNil QGVAR(hexArray)) then { private ["_minLength", "_i", "_num", "_hex", "_rest"]; GVAR(hexArray) = []; _minLength = 2; for [{_i = 0;}, {_i < 256}, {_i = _i + 1}] do { _num = _i; _hex = ["", "0"] select (_i == 0); while {_num > 0} do { _rest = _num mod 16; _rest = switch _rest do { case 10 : {"A"}; case 11 : {"B"}; case 12 : {"C"}; case 13 : {"D"}; case 14 : {"E"}; case 15 : {"F"}; default {str _rest}; }; _num = floor (_num / 16); _hex = _rest + _hex; }; while {count toArray _hex < _minLength} do { _hex = "0" + _hex; }; GVAR(hexArray) pushBack _hex; }; }; (GVAR(hexArray) select _number)