diff options
| author | Autumn <git@autumnfo.rest> | 2026-05-17 11:02:15 +0100 |
|---|---|---|
| committer | Autumn <git@autumnfo.rest> | 2026-05-17 11:02:15 +0100 |
| commit | 2828b446e529185bd9f3ecc82d9b0f157bc81be0 (patch) | |
| tree | 8e9fe24f6f0c1e7c3a9c696264bb75e2e5c52be6 | |
| parent | d6f22794fc2d42fc2573c023d6814ececdd03c1d (diff) | |
[pawsd] added tag fetching utils
| -rw-r--r-- | src/pawsd/tag.lua | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/pawsd/tag.lua b/src/pawsd/tag.lua new file mode 100644 index 0000000..f4031f4 --- /dev/null +++ b/src/pawsd/tag.lua @@ -0,0 +1,56 @@ +-- +-- ~~~ response tag utils +-- + +require("src/utils") + +-- get tag types +function gettagtypes (response, offset) + + local high = table.extracthex(response, offset, offset + 7) + local low = table.extracthex(response, offset + 8, offset + 15) + + return { + high = high, + low = low + } + +end + +-- get tag values +function gettagvalue (response, offset) + + local valuetypes = gettagtypes(response, offset) + + print("T>--------- Tag (High): " .. valuetypes.high) + print("T>--------- Tag (Low): " .. valuetypes.low) + + local valuelength = tonumber(table.extracthex(response, offset + 16, offset + 19), 16) + local valueoffset = offset + 20 + local value = "" + + print("\nT>--------- Length: " .. valuelength) + print("T>--------- Value Offset: " .. valueoffset) + + if valuelength > 0 then + + value = table.extracthex(response, valueoffset, valueoffset + valuelength) + valueoffset = valueoffset + valuelength + + print("\nT>--------- Value (Hex): " .. value) + print("T>--------- Value (Binary): " .. string.fromhex(value)) + + end + + return { + value = value, + endoffset = valueoffset + } + +end + +-- return +return { + types = gettagtypes, + get = gettagvalue +} |
