Форум Pawn.Wiki - Воплоти мечту в реальность!: Создаем ранги администрации ( MxIni ) - Форум Pawn.Wiki - Воплоти мечту в реальность!

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

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

[ Scr ][ GF ]
Создаем ранги администрации ( MxIni )
Оценка: -----

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

  • Местный
  • Вставить ник
  • Раскрыть информацию
В этой теме, я расскажу как можно создать лёгенькую систему рангов для администрации.
Сперва, найдем в своём моде команду /a (админ-чат).
В ней, перед подсказкой, вставим следующий код:
new Admin[60];
if(PINFO[playerid][pAdminLVL] == 1) Admin = "{33AA33}*Практикант{FFFFFF}";
else if(PINFO[playerid][pAdminLVL] == 2) Admin = "{FFCC00}*Мл.Модератор{FFFFFF}";
else if(PINFO[playerid][pAdminLVL] == 3) Admin = "{FFCC00}*Модератор{FFFFFF}";
else if(PINFO[playerid][pAdminLVL] == 4) Admin = "{FFCC00}*Ст.Модератор{FFFFFF}";
else if(PINFO[playerid][pAdminLVL] == 5) Admin = "{009900}*Администратор{FFFFFF}";
else if(PINFO[playerid][pAdminLVL] == 6) Admin = "{009900}*Гл.Администратор{FFFFFF}";
else if(PINFO[playerid][pAdminLVL] == 7) Admin = "{FF0000}*Основатель{FFFFFF}";

У меня подсказка выглядит так:
if(!strlen(result)) return	SendMe(playerid, 0x00D900C8, "- Подсказка:{FFFFFF} (/a)dmin [текст]");

И в самом коде админ-чата, добавляем "%s" перед ником администратора/префиксом администартора.
В моем случае это:
format(text, sizeof(text), "[A] %s %s[%d]: %s",Admin, GN(playerid), playerid,result);
Где 1ая %s - это должность, 2ая %s - это ник администратора, %d - это id в игре, 3яя %s - это то, что написал администратор.


Теперь сделаем так же, только в команду /aad или /msg (Смотря какая у вас команда стоит).
В ней, перед подсказкой, вставим следующий код:
new Admin[60];
if(PINFO[playerid][pAdminLVL] == 1) Admin = "Практикант";
else if(PINFO[playerid][pAdminLVL] == 2) Admin = "Мл.Модератор";
else if(PINFO[playerid][pAdminLVL] == 3) Admin = "Модератор";
else if(PINFO[playerid][pAdminLVL] == 4) Admin = "Ст.Модератор";
else if(PINFO[playerid][pAdminLVL] == 5) Admin = "Администратор";
else if(PINFO[playerid][pAdminLVL] == 6) Admin = "Главный администратор";
else if(PINFO[playerid][pAdminLVL] == 7) Admin = "Основатель";

И в самом коде команды, добавляем "%s".
В моем случае это:
format(string, sizeof(string), "%s %s: %s",Admin, GN(playerid), result);
Где 1ая %s - обозначает должность, 2-ая %s - ник администратора.


Можно указать более 7ми админ-уровней, добавляя с каждой строчкой это:
else if(PINFO[playerid][pAdminLVL] == №) Admin = "{Цвет}*Должность{FFFFFF}";

И конечно же, если вы делаете более 7ми админ-уровней, то увеличивайте new Admin[60], к примеру до new Admin[124]. Смотря сколько вы будете добавлять.
По такому же принципу можно сделать и в других админ-командах. ( /pm;/ban;/kick;/warn и т.п )

Скрытый текст [Показать]

За +ми не гонюсь, написал для новичков.
0

#2
Пользователь офлайн   Sound 

  • Профессионал
  • Вставить ник
  • Раскрыть информацию
static const aLevel [][] = {
    "",
    "Практикант",
    "Мл.Модератор",
    "Модератор",
    "Ст.Модератор",
    "Администратор",
    "Главный администратор",
    "Основатель"
};
format(string, sizeof(string), "%s %s: %s", aLevel[PINFO[playerid][pAdminLVL]][], GN(playerid), result);

Сообщение отредактировал Sound: 12 мая 2016 - 00:30

1

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

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

Просмотр сообщенияSound (12 мая 2016 - 00:30) писал:

static const aLevel [][] = {
    "",
    "Практикант",
    "Мл.Модератор",
    "Модератор",
    "Ст.Модератор",
    "Администратор",
    "Главный администратор",
    "Основатель"
};
format(string, sizeof(string), "%s %s: %s", aLevel[PINFO[playerid][pAdminLVL]][], GN(playerid), result);


Тоже вариант :smile:
0

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

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Автор темы не смотрит какой префикс темы выбирает. За нарушение правил минус!
0

#5
Пользователь офлайн   Sound 

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

Просмотр сообщенияEazy* (12 мая 2016 - 00:52) писал:

Тоже вариант :smile:

В каком смысле тоже вариант? Т.е тебя устраивает некое кол-во ветвления, лишняя выделенная память и объемный код? Тем более, если ты захочешь добавить/изменить/убрать один из уровней, то тебе придется искать каждую такую проверку и изменять ее, нежели просто в одном многомерном массиве, который стоит в начале мода
1

#6
Пользователь офлайн   Eazy* 

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

Просмотр сообщенияGamaz (12 мая 2016 - 05:10) писал:

Автор темы не смотрит какой префикс темы выбирает. За нарушение правил минус!

Да ладно :blink:

Просмотр сообщенияSound (12 мая 2016 - 09:46) писал:

В каком смысле тоже вариант? Т.е тебя устраивает некое кол-во ветвления, лишняя выделенная память и объемный код? Тем более, если ты захочешь добавить/изменить/убрать один из уровней, то тебе придется искать каждую такую проверку и изменять ее, нежели просто в одном многомерном массиве, который стоит в начале мода

Вполне.
0

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


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

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


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