Skip to content

Instantly share code, notes, and snippets.

View AMD-NICK's full-sized avatar
🏠
Working from home

_AMD_ AMD-NICK

🏠
Working from home
View GitHub Profile
@AMD-NICK
AMD-NICK / raw_socket_2read_2write.lua
Last active November 23, 2023 04:53
[LUA] redis query tests (нигде не публиковалось, просто публичная заметка)
-- Используется только luasocket
-- Проверял, можно ли выполнить несколько операций записи и только затем выполнить операции чтения
local auth_buff = {
"*2\r\n",
"$4\r\nAUTH\r\n",
"$14\r\nqwertyuiopasdf\r\n",
}
local host, port = os.getenv("REDIS_HOST"):match("([^:]+):?(%d*)")
@AMD-NICK
AMD-NICK / paramenter.lua
Created November 22, 2023 04:40
Parameters validation on lua. Initially created for one application on lua-express: https://github.com/TRIGONIM/lua-express/
-- Как парламентёр, только (парам)ентёр :)
-- Новый валидатор, который имеет больше опций и убирает лишнюю дичь, типа такой:
-- https://file.def.pm/o9LZgS3D.jpg
-- require("middlewares.paramenter").validator(params, messages)
local utf8 -- https://gist.github.com/Stepets/3b4dbaf5e6e6a60f3862
local ok, utflib = pcall(require, "utf8")
if ok then utf8 = utflib end
local rulesets = {}
@AMD-NICK
AMD-NICK / coroutinize.lua
Last active June 23, 2023 20:50
Play with lua coroutines. Make async http function synchronous
-- idea source: https://luyuhuang.tech/2020/09/13/callback-to-coroutine.html
-- Async request demo
--[[ http.Fetch("https://httpbin.org/get?a=b&c=d", function(code, content)
print("code, content", code, content)
end, function(err)
print("Error", err)
end, {
header_asd = "qwe"
})
@AMD-NICK
AMD-NICK / atm_base.lua
Last active May 3, 2023 23:08
Gmod snippets
nw.Register("atm_balance"):Write(net.WriteLong):Read(net.ReadLong):SetLocalPlayer():SetHook("PlayerATMBalanceChanged") -- pl, newbal
function PLAYER:ATM()
return self:GetNetVar("atm_balance")
end
if CLIENT then
local function UI()
if IsValid(ATMUI) then
ATMUI:Remove()
@AMD-NICK
AMD-NICK / steam.lua
Last active December 25, 2022 17:08
--[[-------------------------------------------------------------------------
Портирование библиотеки генерации Steam Guard TOTP (2FA) кода
https://github.com/MarlonColhado/SteamGenerateMobileAuthPHP
Сижу весь день с 2019.03.11 14:00, до утра планирую закончить
Проблема была в HMAC SHA1 и pack/unpack, из-за чего очень много гуглил
https://gist.github.com/AMD-NICK/ea1a8cf55ec2202683db2062d966ece5
Находил кучу аналогов: на GO,
разбирал исходники плигина для хрома (js),
@AMD-NICK
AMD-NICK / matex.lua
Last active June 12, 2022 15:36
Библиотека для скачивания материала по ссылке в гмоде
-- TRIGON.IM 12 dec 2021
-- Упрощенная версия texture либы от dash
matex = {}
file.CreateDir("matex")
function matex.url(url, useproxy)
local id = util.CRC(url)
@AMD-NICK
AMD-NICK / README.MD
Last active June 5, 2022 16:47
Библиотека для работы с poll.gmod.app для Garry's Mod сервера. Полная версия + зависимости включены в сборку IGS от gm-donate.ru

Этот файл является незавершенной версией поллинг клиента для Garry's Mod серверов. Она будет расширяться и дописываться в процессе использования клиентами gm-donate.ru в сборках IGS

Выложена исключительно в ознакомительных целях для лучшего понимания работы с poll.gmod.app

Пример использования внутри IGS

IGS Polling Usage Example

gist создан специально для поста в моем блоге

@AMD-NICK
AMD-NICK / telegram_to_csv.lua
Created December 31, 2020 03:07
Скрипт-конвертер лога Python скрипта с поста https://blog.amd-nick.me/telegram-online-chart/ в csv формат для Google Data Studio
local function parseRecord(str)
local psc = {str:match("^.(%d%d%d%d%-%d%d%-%d%d) @ (%d%d:%d%d:%d%d): User went (%w+)(.*)%.")}
if psc[4] then
local ts = dateToStamp(psc[1] .. " " .. psc[2]) + 3600 * 2
local online = psc[3] == "online"
local quick = #psc[4] > 0
return ts, online, quick
end
end
@AMD-NICK
AMD-NICK / petrovich.lua
Created June 20, 2020 18:32
Функция для Garry's Mod, склоняющая русские слова (винительный, дательный и тд..). Тамада - тамаду/тамаде/тамадой и тд. Использует правила с github.com/petrovich. В текущей реализации хромает качество исполнения, но скрипт работает. Специально для t.me/gmodev
--[[-------------------------------------------------------------------------
2019.01.16
Урезанный класс для склонения русских слов
https://github.com/petrovich/petrovich-php
В оригинале работает с именами
Полезные ссылки:
https://petroleks.ru/gramota/13.php
https://pymorphy2.readthedocs.io/en/latest/
@AMD-NICK
AMD-NICK / .gitignore
Created March 16, 2020 21:56
gitignore example for Garry's Mod servers. Excludes "highweight" files from uploading to repo. Special for https://blog.amd-nick.me/gmod-development
*.vmt
*.vtf
*.vmt
*.vtx
*.mdl
*.phy
*.vvd
*.mp3
*.ttf
*.wav