Releases: GM-DONATE/IGS
Новая либа веб картинок, фикс SAM, badmin, микроулучшения
Full changelog: 240600.1...240600.2
❗ Как обновиться
Только если IGS установлен правильно (без igs-core в addons):
- ✅ Если у вас
igs_version==240600, то обновление должно произойти автоматически. - Иначе введите в консоль запущенного сервера
igs_flushversion - Выключите сервер
- Откройте файл
garrysmod/addons/igs-modification/lua/autorun/l_ingameshopmod.luaи замените его содержимое на это - Включайте сервер
Список изменений:
- Обновлена matex.lua бибилиотека. Улучшена, упрощена. Тема на форуме
- Стандартные картинки исправлены (когда кастом иконки нет)
- Пока грузится веб иконка, отображается анимированный материал
- Исправлена интеграция с последней версией SAM, badmin
- imgkit.gmod.app больше не используется как прокси для картинок. Нет нужды
- Новая функция
IGS.PayP2P(s64Who, s64Targ, iSum, sNote, fCallback), помогает переводить деньги от игрока к игроку. Создано для скрипта аукционов - Новая функция
IGS.PlayerPurchasedItemByUID(pl, item_uid, cb), позволяющая выдать предмет игроку, которого нет вsh_additems.lua. Полезно для всяких систем ачивок на базе GMD, метаитемов и т.д. Подробнее можете спросить на форуме
Чучуть рефакторинга, использование материалов в SetIcon, визуальные изменения консольных сообщений
Full changelog: 240600...240600.1
❗ Как обновиться
Только если IGS установлен правильно (без igs-core в addons):
- Если у вас
igs_version==240600, то обновление должно произойти автоматически. - Введите в консоль запущенного сервера
igs_flushversion - Выключите сервер
- Откройте файл
garrysmod/addons/igs-modification/lua/autorun/l_ingameshopmod.luaи замените его содержимое на это - Включайте сервер
Список изменений:
🔸 Небольшой рефакторинг sandbox extension
Незначителньые улучшения, могут в теории повлиять на работу
🔸 Fix работы на локалке
convar hostip на локалке мог выдавать некорректный IP, из-за чего потом были ошибки ip_not_registered. Теперь все сервера выполняют getExternalIP. Подробнее тут
🔸 С apinator удалено kv.gmod.app
Штука планировалась как способ хранения данных между серверами (сетевой bib или cookie библиотека), но на деле не нашло применения, поэтому удалено
🔸 Версия сервера с БД, а не конвара
До этого версия сервера отправлялась в ГМД, бравшись с ConVarString("igs_version"), а он не всегда был корректным и часто передавал 0. Теперь берется с БД, потому что там по идее должно быть более корректное и свежее значение
🔸 Добавлена функция IGS.prints
Удобное и красивое. Новая функция принтов, с которой легко выделять в тексте какой-то кусочек без дрочи с IGS.print(Color(la, la, la), "text", Color(bla, bla, bla), "другой text")
IGS.debugтоже на нее перевел, а еще добавил логгинг левелы в cvarigs_debug- Заодно сразу сделал намного более красивые сообщения про наличие обновлений
- И все найденные обычные
IGS.printпоменял наIGS.prints
🔸 debug принты в serv_sv.lua
Зачем? Не знаю. Хотел где-то функцию IGS.debug применить и насладиться в полной красоте.
Если эти принты утомляют, то в server.cfg нужно прописать igs_debug 3
🔸 Добавлена возможность указания материала в :SetIcon
:SetIcon("material_path", "material") – вторым аргументом написано "material", что переключает иконку в режим отображения материала
Раньше можно было только ссылку и модельку, а теперь еще путь к существующему материалу. По сути, не тестировал, потому что негде было 🫣
🔸 Прочие мелочи
- Немного отформатировал код. Пробелы там добавил и все такое
- Добавил еще примеры и полезные ссылки в
sh_additems.lua - Сделал, чтобы cvar
kupol_logging_level 3не так сильно мусорил логами - Обновил README, добавил информацию про надоевший
igs-coreпользователей в addons :(
Фиксы debug.getregistry
Full changelog: 221122.1...240600
❗ Обновление
Если IGS установлен правильно (без igs-core в addons):
- Введите в консоль запущенного сервера
igs_flushversion(илиigsflushversionдля очень старых версий) - Выключите сервер
- Откройте файл
garrysmod/addons/igs-modification/lua/autorun/l_ingameshopmod.luaи замените его содержимое на это
Для версии без автообновления:
Изменения
⚠️ Код подогнан под обновление Garry's Mod, в котором убранdebug.getregistry(). См. полный ченджлог, если вы использовалиFindMetaTable("IGSItem")и т.п., потому что изменения могут сломать ваш автодонат. Спасибо команде гмода :(- 🆕 Добавлена консольная команда
igs_info, которая поможет собрать данные для составления репорта на форуме или в поддержке ГМД - 🆕 Добавлены методы
:SetCanSee(func)и:CanSee(pl)вместо:SetHidden(true/false). Позволяет делать предметы, которые видят определенные игроки - Команда
addfundsстала работать более корректно. С ней теперь сложнее сделать неправильный ввод IGS.GetPaymentURLтеперь поддерживает третий аргумент, в котором можно добавить метаданные к платежу. Эти данные потом придут на вебхук черезpushesмодуль (poll.gmod.app, long polling)- Релизы теперь создаются тегом, а не коммитом с префиксом "RELEASE tag", обновлены uses в action
221122.1
Избавление от псевдовалюты, динамичная цена, загрузчик
❗ Обновление
Если IGS установлен правильно (без igs-core в addons):
- Введите в консоль запущенного сервера
igs_flushversion(илиigsflushversionдля очень старых версий) - Выключите сервер
- Откройте файл
garrysmod/addons/igs-modification/lua/autorun/l_ingameshopmod.luaи замените его содержимое на это
Для версии без автообновления:
💹 Удален "курс" валюты
IGS больше не поддерживает "курс" валюты, когда за условно 5 рублей игрок получал 1 единицу донат валюты. Этот функционал затрагивал меньше 1% транзакций, но сильно мешал разработке, включая такой метод как :SetGetPrice, который был добавлен в этой версии.
Этот курс не имел никакого отношения к приему иностранных карт
🏋️ Добавлен важный метод :SetGetPrice
:SetGetPrice позволяет делать динамичную цену предмета. Например, для випов скидку на премиум, либо автоматические скидки по праздникам.
🚀 Обновлен загрузчик
- Если у игрока проблемы с интернетом и IGS не смог загрузиться с первого раза, то загрузчик попытается скачать его снова и снова.
- Бывает, что провайдеры блокируют сам GitHub. В таких случаях запросы будут выполняться через встроенный прокси.
- В целом загрузчик сильно изменен и решает много возможных проблем самостоятельно, а те, которые решить не может сам – помогает исправлять ссылкой на помощь.
ℹ️ Другие изменения
textureбиблиотека от dash заменена наmatex.lua. Это должно исправить проблему "мыльных" картинок. Также теперь до полной загрузки картинки отображается "заглушка"- 🆕
ITEM:SetSHWhitelist(team_cmd)позволяет продавать SH Whitelist ITEM:SetMaxPlayerPurchases(iLimit)теперь не конфликтует с методомITEM:SetCanBuy- Из методов удалена предустановка
SetCategory,SetDescription. Теперь их нужно устанавливать самостоятельно. Это решало какую-то проблему, но я не помню какую - Из кода удален синтаксический сахар (
!, continue, !=, /*и т.п.), специфичный для glua. Это позволяет сторонним приложениям, вроде luacheck, минификаторам и обфускаторам работать с кодом IGS - concommand
igsverboseпереименована вigs_verbose - API
IGS.GetPaymentURLпо ненадобности больше не поддерживает параметр description - Удален весь мусор, который связан с использованием
gmsv_luasocket.dll, который давно использовался для работы мгновенных пополнений. Довольно давно мы перешли на polling misroservice
Full Changelog: 210525.5...221122
Переход на .net, моделька игрока, return в :AddHook
- Переход на .net домен
- Возможность изменить текст над NPC
- Замена ! на not для улучшения работы парсеров и лексеров. continue пока что остался
- plurals либа упрощена (1 рубль, 2 рубля, 5 рублей)
- Внутри
ITEM:AddHook(sHook, fCallback)return теперь передает значение внешнему хуку ITEM:SetPlayerModel(mdl)позволяет продавать замену модельки игрока. Пример
Full Changelog: 210525.4...210525.5
210525.4
Score, gift моделька, бесконечные патроны, юзергруппы
Основные изменения
- Популяризация Score - отображение Score игроку после доната и входа на сервер. Мотивация стремиться к высшему. В будущем можно будет сделать топ игроков по Score за неделю например
- IGS_GIFT_MODEL - переменная, которую можно изменить для того, чтобы изменилась моделька гифта при спавне
- ITEM:SetInfAmmo() - метод, который позволяет делать предметы, дающие бесконечные патроны для оружия. Идея отсюда
- Правки invlog - igs_invlog теперь отображает Score игроков возле ника, а также выделяет разными цветами ID предметов, чтобы проще было визуально их отличать
- Отображение null в покупках заменено на uid предмета. null отображался, если предмет был удален с сервера, но еще числился у игрока
- sam, badmin, serverguard сделан рефакторинг, исправлены ошибки, приоритет предмета теперь определяется сам
Полный список
- Release 210525.3 (39396d8d)
- Fix и рефакторинг :SetSAMGroup (1797c869)
- Популяция Score (0dc2babe)
- Изменение отображения null предметов в профиле (54401c24)
- invlog (38323e68)
- Update serverguard.lua (fec90087)
- Update badmin.lua (cafc6f8a)
- item id fix (2e470790)
- ITEM:SetInfAmmo() (6b888616)
- Пересмотрение null итема (d475d261)
- Pre release commit (22c89e6d)
- fix :SetBAdminGroup (a3d24576)
- Хвосты рефакторинга (75e141a7)
- Update sam.lua (5d7915b7)
- typo (a73c6e7c)
- IGS ent_igs model, args (83f24381)
- Readme в igs-core, чтобы не устанавливали в addons (2619784f)