Перейти к содержанию
Авторизация  
SCRIPTMAN

Система администрации (MySQL)

Рекомендуемые сообщения

SCRIPTMAN

Всем привет!
По скольку активность на форуме, мягко говоря упала, я решил её немного поднять.

Сегодня я расскажу вам, как написать систему администрации, я делал такой урок, только на mxINI, но до меня давно уже дошло, что это прошлый век.

Давайте начнём короче.

 

1. В pInfo создадим массив:

pAdmin

2. Где у вас завершается регистрация, то есть указываются параметры, типа деньги, уровень и т.д., вставьте:

Player[playerid][pAdmin] = 0;

Мне привычней, использовать Player, может у кого-то будет pInfo, PlayerInfo и т.д., кто не понял для чего это, объясняю - мы ставим параметр pAdmin = 0, то есть, чтобы у него не было админки, кто-то может выдавать админку, но я считаю, что это уже Нубо РП.

Так-с, дальше, где у вас идет создание аккаунта, в конец добавьте:

`Admin`
'%d'

И конечно же, массив добавляем:

Player[playerid][pAdmin]

В паблик с авторизацией:

Player[i][pAdmin] = cache_get_field_content_int(0, "Admin");

Вместо "i" у вас может быть "playerid"

Дальше в сохранение аккаута:

`Admin` = %d,\

И 

Player[playerid][pAdmin]

Скопируйте как у вас идет сохранение денег например и подставляйте.

И конечно базу данных, в структуру добавьте:

Имя: Admin тип: INT, длина: 1.

Вот и всё. На этом конец урока.

Вот картинка, если кто-то не понял как добавлять:

http://prntscr.com/g0fddv

Автор: Shapik

Будут вопросы - пишите.

  • Like 4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Exclusive

Годно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

,Не сказал бы, что супер, писал с браузера, только авторизацию взял с мода) Тем более, что её можно доработать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Exclusive

,Главное что основа есть)Если захотеть то можно и доработать :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

И где тут система администрирования?

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Wеb, создание системы администрации. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Нет, это не создание системы администрации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Wеb, окей, что это? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

давно добавление переменной и объявление массива, стало системой администрации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Wеb,что для тебя система администрации? Я допишу) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Ты описал совсем примитивные вещи да еще и не для всех подходящие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Wеb, насчёт этого да, но примерно основу я написал-то, я думаю не настолько глупые скриптеры, что не подстроят под свой мод.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Red_Fire

Можно доработать и будет хорошо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
na1x

,Он наверное имеет введу, что мануал не дописан до конца. Ты лишь написал начало , а продолжения нету. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rikka

Ожидал увидить спектрейт, годмод, и прочие админские штуки. Дописывайте мануал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

, из этого уже получается, что есть система администрации. Можно ещё ранги сделать, команду и т.д..  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
na1x

,Ну вот и допиши это ) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vozziny

Норм)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

Продолжение урока #1, про просьбе)

Сегодня мы напишем команду для выдачи админки, как же без нее :D83DDE03:

Давайте начнём!

 

1. Напишем проверки

CMD:makeadmin(playerid, params[])// params[] - потому что мы будем вводить ид и уровень адм.
{
if(Player[playerid][pAdmin] < 6) return 
SendClientMessage(playerid, -1, "Вы не уполномочены использовать данную команду!");//проверка на админку
if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE,//Проверка на вводимые знаки
"\//Проверка на вводимые знаки
Введите: /makeadmin [id] [AdminRank]\//Проверка на вводимые знаки
");//Проверка на вводимые знаки
if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, "Игрок оффлайн!");
if(проверка на авторизац.[params[0]] == false) return SCM(playerid, COLOR_GREY, "Игрок не авторизован!");
if(params[1] < 0 || params[1] > 6) return SCM(playerid, COLOR_WHITE, "Уровень администратора должен быть от 0 до 6!");//проверка на уровни адм, у меня будет 6
return true;//обязательно завершаем, чтобы действие не шло дальше.
}

Ну вот, с проверками мы закончили.

2. Теперь давайте напишем сами действия:

Player[params[0]][pAdmin] = params[1];//выдаем саму админку
static const fmt_str[] = "Вы выдали %s %d уровень администратора.";//текст
new string[sizeof(fmt_str)-2+MAX_PLAYER_NAME-2+1];//чтобы сэкономить память.
format(string, sizeof(string), fmt_str, Player[params[0]][pName], params[1], params[2]);//сам формат
SendClientMessage(playerid, -1, string);//вывод текста
static const fmt_str_2[] = "Создатель %s выдал вам %d уровень администратора.";//текст
new string_2[sizeof(fmt_str_2)-2+MAX_PLAYER_NAME-2+1];//чтобы сэкономить память.
format(string_2, sizeof(string_2), fmt_str_2, Player[playerid][pName], params[1], params[2]);//сам формат
SendClientMessage(params[0], -1, string_2);//вывод текста

3. А теперь, последнее что мы сделаем, это соберем команду в одно

CMD:makeadmin(playerid, params[])// params[] - потому что мы будем вводить ид и уровень адм.
{
if(Player[playerid][pAdmin] < 6) return 
SendClientMessage(playerid, -1, "Вы не уполномочены использовать данную команду!");//проверка на админку
if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE,//Проверка на вводимые знаки
"\//Проверка на вводимые знаки
Введите: /makeadmin [id] [AdminRank]\//Проверка на вводимые знаки
");//Проверка на вводимые знаки
if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, "Игрок оффлайн!");
if(проверка на авторизац.[params[0]] == false) return SCM(playerid, COLOR_GREY, "Игрок не авторизован!");
if(params[1] < 0 || params[1] > 6) return SCM(playerid, COLOR_WHITE, "Уровень администратора должен быть от 0 до 6!");//проверка на уровни адм, у меня будет 6
Player[params[0]][pAdmin] = params[1];//выдаем саму админку
static const fmt_str[] = "Вы выдали %s %d уровень администратора.";//текст
new string[sizeof(fmt_str)-2+MAX_PLAYER_NAME-2+1];//чтобы сэкономить память.
format(string, sizeof(string), fmt_str, Player[params[0]][pName], params[1], params[2]);//сам формат
SendClientMessage(playerid, -1, string);//вывод текста
static const fmt_str_2[] = "Создатель %s выдал вам %d уровень администратора.";//текст
new string_2[sizeof(fmt_str_2)-2+MAX_PLAYER_NAME-2+1];//чтобы сэкономить память.
format(string_2, sizeof(string_2), fmt_str_2, Player[playerid][pName], params[1], params[2]);//сам формат
SendClientMessage(params[0], -1, string_2);//вывод текста
return true;//обязательно завершаем, чтобы действие не шло дальше.
}

Табуляцию я думаю вы сами сделаете.

Player[playerid][pAdmin]

Замените на свою.

Советую прочитать вам ProPawn и вы поймете, почему я использовал константу, а не обычный стринг и формат.

Для тех кто в танке, просто скажу - для экономии памяти, возможно для кого-то это неудобно, но вы привыкните, как я). Надеюсь посчитал я правильно)

На этом все.

Автор: Shapik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

, я вот использую стандартный командный процессор, как мне быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Wеb,уже неактуально.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.