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 / readme.md
Last active February 24, 2024 08:08
Пример конфигурации SFTP плагина для SublimeText (sftp-config.json) и VScode (sftp.json), специально для Garry's Mod: https://blog.amd-nick.me/gmod-development

Что это

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

Установка

  1. Создайте в удобном месте, например, на рабочем столе папку, где будет локальная копия вашего сервера, а в ней папку addons
  2. Поместите файл в папку addons, указав в нем данные подключения к серверу, а также путь к папке с аддонами на удаленном сервере
  3. По желанию сделайте такой же файл для папки вашего гейммода, например DarkRP
  4. Запустите SublimeText, перетащите в него папку addons, и теперь в сайдбаре нажмите на нее ПКМ > SFTP > Download Folder
  5. С этого момента все изменения аддонов через саблайм будут сразу заливаться на сервер
@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
@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 / 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 / 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 / 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 / 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 / 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 / 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 / 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 = {}