Форум Pawn.Wiki - Воплоти мечту в реальность!: Напишу любую возможную систему. - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Pawn ]
Напишу любую возможную систему. Напишу любую возможную систему, которую предложите.

#1
Пользователь офлайн   nikpodvip 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Порой бывает такое, что ты сидишь, скучаешь. Хочешь пописать что-то на pawn для любимого сампека, но не знаешь что.

Вот и я столкнулся с такой проблемой. Может кто поможет, накидайте любых идей для систем, я в свою очередь их сюда закину.
Как раз добавлю в портфолио разные системки.
Желательно, что-то нетипичное, типо "не как у всех". Думаю вы меня поняли.

P.s.: надеюсь я не ошибся с темой.
0

#2
Пользователь офлайн   elmir.kuba 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Систему динамичной админки без уровней.

Техническое задание:
1. При старте сервера он подгружает таблицу полномочий в целом.

Структура таблицы полномочий:
id auto increment | code | name

Пример данных:
1 | BAN | Блокировать игроков
2 | KICK | Кикать игроков
3 | SLAP | Пиннать игроков
4 | GIVE_ADM | Выдавать админки
...

2. Команда /alogin

Админ вводит команду, у него открывается диалог ввода пароля для авторизации в админ систему. Введённый в диалог пароль хешируется и сравнивается с паролем захешированным из таблицы админов.

Структура таблицы админов:
id auto increment | id внешняя ссылка на таблицу аккаунтов [связь один к одному] | Захешированный пароль админки | роль админа текстом

Пример данных:
1 | 1 | pass | Основатель
2 | 2 | pass | Разработчик
3 | 55 | pass | Хелпер

При авторизации в админ систему сервер читает запись из таблицы админов и приравнивает к игроку.

3. Таблица связей таблицы полномочий и таблицы админов

Структура данных таблицы связей
id auto increment | id внешняя ссылка на таблицу админов | id внешняя ссылка на таблицу полномочий админов

Пример данных:
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 1 | 4

Или
5 | 55 | 3

Что это значит? id админ записи 1 ссылающийся на аккаунт 1 являющийся основателем может блокировать кикать и пиннать игроков и давать админки. Админ с записью id 3 в таблице админов ссылающийся на аккаунт id 55 может только действие id 3, то есть пиннать игроков.

4. Дать админку
Команда /setadm.

Открывается диалог ввода идентификатора нового админа, вводим идентификатор игрока онлайн, сервер знает его идентификатор аккаунта, например 42. Далее диалог в который динамично подгрузятся возможности которые можно включить новому админку. Все пункты красные.

Пример списка возможностей которые можно включить новому админку, которые мод подгрузил в начале работы:
1 | Блокировать игроков
2 | Кикать игроков
3 | Пиннать игроков
4 | Выдавать админки
Сохранить

Выбираем например "Кикать игроков", снова открывается диалог возможностей. Но пункт "Кикать игроков" зелёный цвет имеет.

Нажимаем сохранить, выходит диалог ввода должности и снова нажимаем далее - сервер создаёт записи в двух таблицах. В таблице админов запись:
4 | 42 | pass | Спонсор

В таблице связей админов и полномочий запись:
6 | 4 | 2

То есть игрок игрок с аккаунтом 42 имеет имеет запись в таблице админов 6 и возможность 2, то есть кикать игроков.
Новому админу выходит диалог смены временного админ пароля по желанию.

В кратце это все.
Полная динамичная админ система.

На команду кика вешаешь проверку на код.
0

#3
Пользователь офлайн   nikpodvip 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

View Postelmir.kuba, on 06 июля 2025 - 09:49, said:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Т.е. сделать систему админки, логинами и чтобы каждому админу присваивать отдельные команды?
Например один админ может использовать /kick, второй с таким же уровнем не может. Правильно?
0

#4
Пользователь офлайн   Nexius 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияnikpodvip (06 июля 2025 - 10:38) писал:

Т.е. сделать систему админки, логинами и чтобы каждому админу присваивать отдельные команды?
Например один админ может использовать /kick, второй с таким же уровнем не может. Правильно?

Речь об админских возможностях как об отдельно подключаемых доступах, типо как отдельно подключаемые услуги на мобильных операторах сегодня вместо фиксированного тарифа.

Хз насчет удобства от такого подхода, учитывая что уровни как раз и призваны четко различать, кто стоит над кем, и быстро ориентироваться по памяти, какому уровню что доступно. Если и делать систему админки более динамической и гибкой, то на основе каких-нибудь y_groups или его аналогов. При таком подходе уровни админки создаются как отдельные группы игроков, а уже каждой группе при реализации админки задаются доступы, которые потом легко отредактировать под капотом. При этом на поверхности фиксированные уровни всё также присутствуют как и обычно.
1

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика