Resource icon

GameTimeBonus-CS2 v1.0.2

No permission to download

PattHs7

Пользователь
Messages
4
Reaction score
2
PattHs добавил(а) новый ресурс:

GameTimeBonus-CS2 - Плагин для Counter-Strike 2 (CS2) на базе CounterStrikeSharp, который начисляет бонусные деньги игро

Плагин для Counter-Strike 2 (CS2) на базе CounterStrikeSharp, который начисляет бонусные деньги игрокам за проведённое время на сервере.

Возможности
Автоматическое начисление бонуса игрокам за время игры на сервере
Интеграция с MySQL базой данных для хранения баланса игроков
Поддержка мультиязычности (русский, английский, украинский)
Настраиваемый интервал и сумма бонуса
Логирование всех операций
Исключение ботов и HLTV из системы бонусов
Заморозка времени при выходе с сервера...

Узнать больше об этом ресурсе...
 
Плагин рабочий, но судя по коду ты либо не знаком с основами CSS либо код писала нейронка, потому что много всего написано вручную там где фреймворк уже давно всё сделал за тебя.

CSS имеет IPluginConfig и BasePluginConfig — он сам найдёт конфиг, прочитает и отдаст готовый объект. Твоя LoadConfig на 40 строк с этим Contains("csgo") просто не нужна, это костыль.

Также есть встроенный Localizer, не надо руками читать lang файлы и тащить строки в поля класса. И ModuleDirectory уже указывает куда надо, зачем парсить Server.GameDirectory непонятно.

Ну и по базе — соединение у тебя открывается один раз когда плагин грузится и висит вечно. MySQL имеет таймаут на простаивающие соединения, и через несколько часов он его просто закроет. Плагин при этом не упадёт, продолжит работать, но бонусы выдаваться не будут — и ты даже не поймёшь почему. Надо либо открывать соединение на каждый запрос, либо хотя бы Pooling в строку подключения добавить и проверять соединение перед запросом.

В общем не придираюсь, просто CSS даёт много всего из коробки и если этого не знать — получается код который и поддерживать сложнее и сломаться может в любой момент. Почитай доки фреймворка, там всё это есть.
 
Плагин рабочий, но судя по коду ты либо не знаком с основами CSS либо код писала нейронка, потому что много всего написано вручную там где фреймворк уже давно всё сделал за тебя.

CSS имеет IPluginConfig и BasePluginConfig — он сам найдёт конфиг, прочитает и отдаст готовый объект. Твоя LoadConfig на 40 строк с этим Contains("csgo") просто не нужна, это костыль.

Также есть встроенный Localizer, не надо руками читать lang файлы и тащить строки в поля класса. И ModuleDirectory уже указывает куда надо, зачем парсить Server.GameDirectory непонятно.

Ну и по базе — соединение у тебя открывается один раз когда плагин грузится и висит вечно. MySQL имеет таймаут на простаивающие соединения, и через несколько часов он его просто закроет. Плагин при этом не упадёт, продолжит работать, но бонусы выдаваться не будут — и ты даже не поймёшь почему. Надо либо открывать соединение на каждый запрос, либо хотя бы Pooling в строку подключения добавить и проверять соединение перед запросом.

В общем не придираюсь, просто CSS даёт много всего из коробки и если этого не знать — получается код который и поддерживать сложнее и сломаться может в любой момент. Почитай доки фреймворка, там всё это есть.
Запросы к базе данных, писались в первый раз, но доки фреймворка почитаю
 
Back
Top