Требование: Любая игра на движке Source Sourcemod 1.3 или выше
Описание: Основной плагин внутре-игрового магазина. Поддержка MySQL, SQLite
Команды в чате: !shop или /shop или !store или /store - для открытия главного меню магазина !inv или /inv или !inventory или /inventory - для открытия инвентаря
Админ Root: !givecredits или /givecredits <ник> <кол-во кредитов> - Чтобы дать кредиты игроку !takecredits или /takecredits <ник> <кол-во кредитов> - Чтобы забрать кредиты у игрока !setcredits или /setcredits <ник> <кол-во кредитов> - Чтобы установить кредиты игроку
Команды в консоле: sm_shop, sm_store - для открытия главного меню магазина sm_inv, sm_inventory - для открытия инвентаря
Админ Root: sm_givecredits <ник> <кол-во кредитов> - Чтобы дать кредиты игроку sm_takecredits <ник> <кол-во кредитов> - Чтобы забрать кредиты у игрока sm_setcredits <ник> <кол-во кредитов> - Чтобы установить кредиты игроку
Ожидаемая реализация: Добавить возможность продавать предметы Расширить возможности. Оптимизировать.
История изменений:
Код
[13.12.12] - Начало создания плагинаВерсия 1.0 [15.12.12] - Первый выход плагина Версия 1.1 [17.12.12] - Увеличена длина буфера и мелкие неисправности Версия 1.2 [18.12.12] - Добавлена возможность продавать предметы. Некоторые исправления Версия 1.3 [19.12.12] - Значительная оптимизация на базу данных. Исправление ошибок Версия 1.3.1 [19.12.12] - Добавлена поддержка для поздней загрузке плагина Версия 1.4 [20.12.12] - Значительная оптимизация. Сохранение включенных вещей. Подкорректирована поддержка поздней загрузки. Расширение библиотеки. Версия 1.5 [21.12.12] - Устранены утечки памяти. Библиотека изменена и расширена (Требуется обновить модули) Версия 1.6 [22.12.12] - Устранены утечки памяти. Библиотека изменена и расширена. Добавлены команды takecredits и setcredits Версия 1.7 [23.12.12] - Изменена библиотека. Добавлены нативы. Добавлены забытые нативы UseItem и UseItemId. Возможность вывести в меню дополнительную информацию Версия 1.7.1 [24.12.12] - Улучшены последние нативы для удобной работы Версия 1.7.2 [26.12.12] - Исправлена одна маленькая ошибка, вводящая в заблуждение модуль Trails Версия 1.8 [02.01.13] - Большие изменения в плагине. Изменена библиотека. Добавлены нативы. Исправлены все возможные ошибки. Добавлена возможность мульти-язычного перевода. Версия 1.8.1 [02.01.13] - Добавлен multi-targets в командах Версия 1.8.2 [03.01.13] - Добавлен вывод кол-во предметов категории в покупке. Поправлен неверный перевод, когда выводилось "Кол-во" вместо "Цена" Версия 1.8.3 [03.01.13] - Исправлен баг, который выдавал покупки одного игрока всем Версия 1.8.4 [04.01.13] - Добавил бэкап предметов игроков, у которых покупки не были занесены в базу по причине отсутствия соединения Версия 1.8.5 [05.01.13] - Теперь UnregisterMe и RemoveItemFromCategory функционируют полностью и утечка памяти (хоть и очень редкая, при выгрузке модуля) устранена. Поправил библиотеку. Исправил натив SetItemSellPrice (выставлял покупаемую цену). Добавил GiveItem и SellItem натив и немного изменил натив SetItemSellPrice Версия 1.8.6 [03.03.13] - Выведены все возможные настройки в папку "shop". Добавлен иммунитет админов. Добавлен натив Shop_ToggleCategoryOff. Добавлен натив Shop_IsAdmin. Добавлены несколько форвардов Добавлен в меню пункт "Панель Администратора" с возможностью редактирования каждого клиента на сервере. Добавлена поддержка последнего обновления CS:GO. Добавлены ещё 2 пункта в меню (Передача кредитов с комиссией и Испытать удачу) Добавлена новая команда для добавления игрока в базу данных. Добавлены дополнительные проверки функции. Добавлены расширенные настройки. Исправлена ошибка с нативом Shop_UnregisterMe. (Рекомендуется обновить модули) Исправлены некоторые ошибки в коде и в документации. Убрана требуемость натива "GetUserMessageType" (Для sourcemod ниже версии 1.5.0) Значительные исправления багов. Изменены данные о включенных предметах игроков. (Рекомендуется удалить файл "data/shop.txt") Папку Shop с файлами настроек иметь не обязательно!
Версия 1.8.7 [03.03.13] - Исправлен баг с нативами Shop_UseItem и Shop_UseItemId
Версия 1.8.8 [03.03.13] - Исправлен баг с файлом database.cfg и если отсутствуют конфигурации базы данных
Установка: 1) Распаковать архив в папку sourcemod 2) Настроить файлы настроек в папке sourcemod/configs/shop - Если таково требуется 3) Установить модули (см. пункт Модули ниже)
Заметка: Преимущество подключение к БД имеет следующую последовательность: 1) Настройки подключения к БД с sourcemod файла databases.cfg 2) Если пункт 1 не прошел, тогда за настройку возьмет файл sourcemod/configs/shop/database.cfg 3) Если ни один пункт не прошел валидность, тогда используется SQLite подключение к базе данных shop
Настройки: Не обязательно: Чтобы добавить пункт "Информация" в главное меню, создайте файл sourcemod/configs/shop_info.txt с содержимым, которое будет выведено в меню при выборе пункта. К примеру: