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 (нигде не публиковалось, просто публичная заметка)
View raw_socket_2read_2write.lua
-- Используется только 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/
View paramenter.lua
-- Как парламентёр, только (парам)ентёр :)
-- Новый валидатор, который имеет больше опций и убирает лишнюю дичь, типа такой:
-- 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
View coroutinize.lua
-- 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
View atm_base.lua
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 / api.lua
Last active March 18, 2023 19:18
Monobank Alerts Telegram Bot
View api.lua
local APIURL = "https://api.monobank.ua"
/*
Ошибки:
400 = Period must be no more than 31 days
400 = Missing required field 'from'
403 = Unknown 'X-Token' (левый токен)
429 = Too many requests
*/
@AMD-NICK
AMD-NICK / steam.lua
Last active December 25, 2022 17:08
View steam.lua
--[[-------------------------------------------------------------------------
Портирование библиотеки генерации 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 / readme.md
Last active July 19, 2022 05:03
Пример конфигурации SFTP плагина для SublimeText (sftp-config.json) и VScode (sftp.json), специально для Garry's Mod: https://blog.amd-nick.me/gmod-development
View readme.md

Что это

Это конфиг для плагина SFTP для SublimeText, который делает, чтобы при синхронизации не скачивались тяжелые бинарные файлы, которые мы не будем редактировать через текстовый редактор. Так мы экономим место и время синхронизации

Установка

  1. Создайте в удобном месте, например, на рабочем столе папку, где будет локальная копия вашего сервера, а в ней папку addons
  2. Поместите файл в папку addons, указав в нем данные подключения к серверу, а также путь к папке с аддонами на удаленном сервере
  3. По желанию сделайте такой же файл для папки вашего гейммода, например DarkRP
  4. Запустите SublimeText, перетащите в него папку addons, и теперь в сайдбаре нажмите на нее ПКМ > SFTP > Download Folder
  5. С этого момента все изменения аддонов через саблайм будут сразу заливаться на сервер
@AMD-NICK
AMD-NICK / matex.lua
Last active June 12, 2022 15:36
Библиотека для скачивания материала по ссылке в гмоде
View matex.lua
-- 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
View README.MD

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

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

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

IGS Polling Usage Example

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

@AMD-NICK
AMD-NICK / glua_into_single_line_minifier.lua
Last active February 16, 2021 23:20
Strips comments and convert glua script into single line file
View glua_into_single_line_minifier.lua
local pat_mcomment_lua = "(%-%-%[(=*)%[.-%]%2%])"
local pat_mcomment_cpp = "(/%*.-%*/)"
local function stripMultiline(content)
return content
:gsub(pat_mcomment_lua, "")
:gsub(pat_mcomment_cpp, "")
end
-- https://img.qweqwe.ovh/1556969630528.png
-- #TODO shitcoded heavy function