Клановая система

Ядро плагина Клановая система 1.91

Версия Дата выпуска Скачивания Оценка  
1.91 1,058 0.00 звёзд 0 оценок Скачать
1.9 74 5.00 звёзд 1 оценок Скачать
1.882 289 0.00 звёзд 0 оценок Скачать
Во-первых, спасибо всем за указанные ошибки и идеи.
Особое спасибо @Atmosfera, @zAntibot за активную помощь с нахождением ошибок и за идеи 😊
Изменений много, что-то мог и упустить, вот из того, что помню:
Переход от старого синтаксиса к новому (мало кому интересно, но это же список изменений все-таки)
Теперь для sqlite указывать БД в databases.cfg не надо
Поддержка CSS v34 (для нее есть отдельная версия в архивчике)
Clans_OnClientAdded - игрок добавлен в базу кланов
Clans_OnClientDeleted - игрок удален из базы
Clans_IsClanCoLeader(айди игрока из базы кланов) - вернет правду, если игрок - зам. лидера, иначе вернет ложь
Clans_IsClanElder(айди игрока из базы кланов) - вернет правду, если игрок - старейшина, иначе вернет ложь
Clans_GetClientRole(айди игрока из базы кланов) - вернет роль игрока (int). В случае ошибки вернет -1
Теперь игроки не делятся просто на участники и лидеры, появились новые роли: старейшина и зам. лидера.
Названия всех ролей ищите в файле перевода и меняйте на любые, какие только захотите, или оставьте как есть.
Их роль будет отличаться своим цветом в клановом чате (цвет можно менять в clans_settings.cfg.
ВАЖНО! Цвета должны быть из morecolors.inc, если сервер CS:S, если CS:GO, то из csgo_colors.inc).
Для каждой роли можно настроить свои права (в том же файле).
Кланы тоже претерпели небольшое дополнение: у них появился тип.
Теперь можно не сидеть онлайн 24/7 в поисках игроков, они сами могут вступить к вам через меню топа,
Вам нужно лишь поставить статус "Любой может вступить" в меню управления кланом.
Когда наберете людей - можно закрыть клан в том же меню.
Логи - вещь прекрасная, особенно, если нужно отлавливать особо хитрых администраторов,
которые делают все, что хотят. Теперь их действия не пройдут мимо владельца сервера,
все записывается в базу clans_log, которая расположена в папке data/sqlite.
Что логировать конкретно - решать Вам.
Стало больше уведомлений для игроков. Например, теперь игроки клана увидят, если кто-то перевел им монеты,
тип их клана сменился, а может сменился даже лидер... Ну и, конечно же, любые действия администратора не будут не замечены.
Вам поменяли количество монет/слотов в клане? Вас обнулили? Или может даже выгнали из клана, пока играли на сервере? Все это отразится в чате!
В архиве лежит файлик, который направлен на помощь с разбором ролей и логов.
Также появилась дополнительная команда !clan, чтобы открыть меню клана
Добавлен forward Clans_OnClanAdded, вызываемый при создании клана, для наилучшей работы модулей для выдачи прав через Shop/VIP
Больше ничего полезного обновление не несет, обновление будет полезно тем, кто поставит упомянутые модули.
Очередная переработка топа:
Теперь информация еще более актуальная (раньше он хоть и обновлял каждые сколько-то секунд, но только из базы данных, а она обновляется только каждую смену карту, следовательно обновления топа в течение карты были не нужны. Единственный случай, когда обновление что-то меняло, это какое-либо действие в базе, например клан добавился, удалился или изменился)
Новый топ ориентируется только на серверную статистику, то есть на статистику в реальном времени (ну на момент обновления, конечно)
Символов для названия клана теперь больше! Ага, на целых 2 😄
Клан теперь может передавать свои монеты другому клану
Администратор теперь может изменить количество слотов в клане (не ориентировано на создание ситуаций 19/10 участников. В этом случае плагин автоматически не будет никого удалять)
Теперь лишний раз в списке кланов или участников не будут показывать того, кто открыл меню (например, при передаче монет, у лидера не будет возможности передать их своему же клану. Если насчет участников: при смене лидерства или изгнании игрока из клана лидера не будут показывать в списке)
Исправлена ошибка, что клан мог уйти в минус по монетам при очередном убийстве, когда число монет вышло бы за предел инта и превратилось бы в минусовое значение
  • Мне нравится
Реакции: Strike1703
Раньше ловился лимит участников только в команде !invite... Лучше не спрашивать, почему это так)
Теперь это ловится и в меню лидера, и при принятии приглашения в принципе. То есть теперь ситуации 19/10 участников быть не должно
Добавил главный ключ для БД + фикс клан-чата

Чтобы не удалять БД, можно самому присвоить главный ключ в phpmyadmin (например) тыкнув на Primary (ну это если Вы хотите менять прямо в БД таким образом)
1618758036469.png

для игроков так же отмечаем id
С большой уверенностью могу сказать, что топ теперь точно рабочий :)
Теперь при рестарте (при конце "жизни" плагина) кланы тоже сохраняются (раньше они сохранялись только при смене карты, да-да, не кидайте помидорами за это 😄 )
Добавил MySQL поддержку. Что писать в databases.cfg читайте в общем описании к ресурсу
Была исправлена ошибка
[SM] Exception reported: Client index 200 is invalid
[SM] Blaming: clans.smx
[SM] Call stack trace:
[SM] [0] IsClientInGame
[SM] [1] Line 3120, clans.sp::Native_GetOnlineClientClan
[SM] [3] Clans_GetOnlineClientClan
[SM] [4] Line 120, cshop_damage.sp::OnTakeDamage

Добавлен клан-чат - команда /cct. Лидер будет отмечаться красным цветом начала сообщения, все остальные имеют привычный для плагина зеленый цвет.
Добавлен таймер обновления топов кланов (информация будет актуальная, да и в целом отображаться будут кланы нормально). Настраивается командой sm_clans_topupdatetime (по умол. "120.0" секунд)
Рекомендуется либо добавить вручную в cfg/clans/clans_settings.cfg новый параметр, либо удалить старый конфигурационный файл, чтобы создался новый.
// Period of updating the tops of clans in seconds.
// -
// Default: "120.0"
sm_clans_topupdatetime "120.0"
Исправлены файлы перевода:
Неправильно отображало, если обнулять/удалять игрока/клан
Предпочту, пожалуй, исправлять хоть и парочку проблем, но так их точно меньше будет, да и они довольно серьезные

Добавил возможность менять возможность игрокам давать/забирать право на создания клана из других плагинов (включены в инклуд):
Clans_GetCreatePerm(int client) - узнать, может ли игрок создавать клан
Clans_SetCreatePerm(int client, bool status) - установить разрешение на создание клана (true - может создавать, false - нет)
По умолчанию, когда игрок присоединяется, ему дается доступ через саму клановую систему, поэтому, если захотите отбирать это право, то не забывайте делать это для каждого заходящего
Фикс меню приглашения
Сверху Снизу