A few pointers ...
RE: your weapons code
"query" doesn't equal query group.
http://www.ulyssesmod.net/docs/files/lua/ULib/shared/sh_ucl-lua.html#ULib.ucl.queryquery is an alias for ULib.ucl.query, which, verifies player has (true or false) access to a command. That is, it could test for all those 'ulx <command>' in a groups allow list (or deny)
I recommend changing the "respected" query to IsUserGroupIf the above fix doesn't work, try moving the code from /lua/autorun/server to gmod/lua/Ulib/modules
It's possible the code could run before the ULib groups are started.
(One day, I'll teach you how to make it an addon, so you don't have to worry about backing up tons of files from the lua and other misc folders.)
Just in case you didn't know,
A) "!" equals not in Lua. (At least in Gmod lua, I don't know if it's 100% true Lua or not - Garry added some C construct to make it 'easier' for him.)
B) All statements of an "if" statement that uses "AND" must be true, or the statement is false.
C) Returning anything but nil causes Gmod game hooks to do nothing, and doesn't allow for any other scripts using same hook to continue.
So, returning true kills the continue, which, if you're preventing loadout, is fine.
However, returning false prevents anything from happening too
I recommend changing the 'return false' to 'return' (which should allow full loadout)
Your weapons code, with the corrected "respected" group check, and changed 'return' would be like this in more english like flow
If player is NOT admin AND is NOT moderator AND is NOT vip AND is NOT respected then
give the few limited weapon
Return "true" to normal, no more loadout scripting by anything.
(but if not)
return to normal, give normal weapons, allow any other scripts that use loadout to continue.
[edit] - That was kind of a stream of various code thoughts, done in bad order. I've bold'ed the two glaring things that will definitely break things... the rest are just helpful