Fernando_Capraso
Умник
Здарова всем!
Мануал по теме Создание системы администрации для мода с 0.На mySQL R7.
P.S.Небудет работать без базы данных.
И так приступим...
в enum pInfo добавляем
Там где у вас запись аккаунта в таблицу тоесть (INSERT INTO) добавляем:
Должно выглядить вот так:
Поскольку это моя запись,Nickname password и так дальше..для реги ... Обратите внимание суто на `Admin`.
Ну и значение конечно.
Дальше только команда..В любое место мода вставляем:
Ну вот и всё!!))
Система простая,если небудет работать пишите в КОМЕНТЫ я буду работать\дорабатывать полностью на mySQL.
P.S Мы используем для команды плагин и инклюд dc_cmd.
Если у вас записывается команда стандартно,тогда в public OnPlayerCommandText. Кидаем эту команду,и заменяем CMD:makeadmin на
if(strcmp(cmd, "/makeadmin",true))
что-то типо этого,незнаю,работаю давно с dc_cmd
В случии не активности системы,пишите в коменты.
Ну вот и всё.
Пользуйтесь ребята.
Автор: Fernando_Capraso*.
Удачи!
Мануал по теме Создание системы администрации для мода с 0.На mySQL R7.
P.S.Небудет работать без базы данных.
И так приступим...
в enum pInfo добавляем
PHP:
pAdmin,
PHP:
`Admin`
PHP:
"INSERT INTO `accounts` (`Nickname`, `Password`,`Admin`) VALUE ('%s', '%s','0')", sqlname, sqlpassword, pAdmin);
Ну и значение конечно.
PHP:
pAdmin
PHP:
CMD:makeadmin(playerid, params[])
{
new PlayerName[MAX_PLAYER_NAME],adminlvl,pleer,adminname[128],string[128],string2[128];
GetPlayerName(pleer,PlayerName,sizeof(PlayerName));
GetPlayerName(playerid,adminname,sizeof(adminname));
if(sscanf(params,"ud",pleer,adminlvl)) return SendClientMessage(playerid,COLOR_GRAD2,"**Используйте: /makeadmin [id] [уровень] **");
new redname[MAX_PLAYER_NAME];
GetPlayerName(playerid, redname, sizeof(redname));
if(!strcmp(redname, "ВАШ НИК",true) // в случии когда прописать админку не удалось в базе данных.
{
if(adminlvl == 0)
{
new query[186];
PlayerInfo[playerid][pAdmin] = adminlvl;
format(string,sizeof(string),"Администратор %s снял с вас должность администратора",adminname);
format(string2,sizeof(string2),"Вы сняли с %s должность администратора",PlayerName);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string2);
format(query,sizeof(query),"UPDATE `accounts` SET `Admin` = '0'",pAdmin); // при вводе лвл на 0.В таблицу заносится админ лвл 0
mysql_query(query);
}
if(adminlvl >= 1 && adminlvl <= 10)
{
new query[7];
format(string,sizeof(string),"Администратор %s назначил Вас администртором %d уровня",adminname,adminlvl);
format(string2,sizeof(string2),"Вы назначили %s администратором %d уровня",PlayerName,adminlvl);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
SendClientMessage(playerid,COLOR_LIGHTBLUE,string2);
format(query,sizeof(query),"UPDATE `accounts` SET `Admin` = '%d'",adminlvl); // обновления столбца АДМИН,ставится лвл!
mysql_query(query);
}
if(adminlvl >10)
{
SendClientMessage(playerid,COLOR_GRAD2,"Максимальный уровень админки 10!"); // Можно и удалить,неважно.
}
}
return 1;
}
Система простая,если небудет работать пишите в КОМЕНТЫ я буду работать\дорабатывать полностью на mySQL.
P.S Мы используем для команды плагин и инклюд dc_cmd.
Если у вас записывается команда стандартно,тогда в public OnPlayerCommandText. Кидаем эту команду,и заменяем CMD:makeadmin на
if(strcmp(cmd, "/makeadmin",true))
что-то типо этого,незнаю,работаю давно с dc_cmd
В случии не активности системы,пишите в коменты.
Ну вот и всё.
Пользуйтесь ребята.
Автор: Fernando_Capraso*.
Удачи!
