Я в setnwstring не пишу фулловый JSON, тока по отдельности хуйню по типу суммы, номера заказа и т.д.Из того что заметил прямо быстренько:
У тебя серверная логика экспозится клиентам в sh_func.lua, любой скиди сможет частично увидеть серверную логику и структуру БД хукнув Lua, это оч хуевая практика.
Напрямую запрашивать базу данных при каждом вызове гетера тоже хуевая затея, лучше запросить один раз при входе игрока на сервак, а потом работать с кешированным значением, а сохранять в базу, например, только при выходе.
У SetNWString есть лимиты в 199 символов. А так как ты пишешь туда JSON, который помимо полезных данных содержит в себе много мусора (разметка и тд), у тебя изи может произойти утеря данных и нарушение логики.
А так ну в принципе годно
По хуку - любой желающий и так может скачать тут этот аддон без обфу, смысла не вижу как-то прятать св часть.
По остальному - огромное спасибо за советы, сделаю оптимизацию если будет не в падлу.