Перейти к содержанию
Авторизация  
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-файлов, или продолжить без изменения настроек.