Сайт восстановлен из веб архива. Сейчас он доступен только для чтения, скачивание материалов также недоступно. Если у вас до сих пор есть какие-то вопросы по разработке серверов CRMP, вы можете перейти на актуальный портал: https://pawno-rus.com

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

Уважаемый гость, если у Вас возникли проблемы с регистрацией, просьба обратиться в тех.поддержку или на почту admin@pawno-crmp.ru

Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.

Фотография

Админ команды


Лучший Ответ Elrmrnt-Kritik , 12 Февраль 2017 - 21:24

sanek281215, команду заменяйте на эту:

 
if(!strcmp(cmd, "/makeadmin", true)) // создаем команду
{
	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF8F1CFF, "Данная команда недоступна!"); // отправляем игроку сообщение о том, что он не ркон админ, 0xFF0000FF - цвет
	tmp = strtok(cmdtext, idx); // делаем пробел после самой команды
	if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF , "Используйте /makeadmin [ID игрока] [Уровень] [Пароль]"); // если человек вводит /makeadmin без id и лвл, то отправляем сообщение
	new player = strval(tmp); // честно говоря, я не знаю, зачем это делать, но в виде tmp в сообщениях, например, использовать не дает <img rel="usm" src="http://forum-pawno.ru/smiles/Juokas.gif" border="0" align="absmiddle" alt=":D" />
	tmp = strtok(cmdtext, idx); // делаем 2 пробел
	if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF , "Используйте /makeadmin [ID игрока] [Уровень] [Пароль]");
	new adminl = strval(tmp);
 	tmp = strtok(cmdtext, idx); // делаем 2 пробел
	if(!strlen(tmp) || strlen(tmp) != 4) return SendClientMessage(playerid, 0xFFFFFFFF , "Используйте /makeadmin [ID игрока] [Уровень] [Пароль (цифрами, 4 символа)]");
	new adminpass = strval(tmp);
	if(!IsPlayerConnected(player)) return SendClientMessage(playerid,Red,"Игрок не онлайн!"); // если игрок, которого мы ввели после команды не онлайн ...
	if(adminl > 5 || adminl < 0) return SendClientMessage(playerid,Red,"Нельзя больше 5 и меньше 0!"); // устанавливаем рамки уровней админки, в данном случае 5 уровней + 0лвл - игрок
	Player[player][pAdmin] = adminl;// присваиваем информации об админ статусе игрока значение, которое ркон админ ввел ([lvl]), это наш массив, вместо pInfo мы вставляем одно из того, что прописано в enum
	Player[player][pAdminPass] = adminpass;
	new string[256]; // создадим массив для хранения сообщения игроку
	format(string, sizeof(string), "Вы были назначены администратором %d уровня! Ваш пароль: %d.",adminl, adminpass); // для красоты уже, отправим игроку сообщение о том, что его назначили администратором, т.к. у нас присутствует %d, сначала пропишем format
	SendClientMessage(player,0x00FF00FF,string);
	return 1; // завершаем команду
} 

Где в массиве объявляли pAdmin, допишите pAdminPass. 

И создайте команду /alogin:

 
if(!strcmp(cmd, "/makeadmin", true)) // создаем команду
{
	if(Player[playerid][pAdmin] == 0) return true;
	if(GetPVarInt(playerid, "AdminLogin") == 1) return true;
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) return SendClienMessage(playerid, 0xFF0000FF, "Используйте команду так: /alogin [pass]");
	new pass = strval(tmp);
	if(pass == Player[playerid][pAdmin])
	{
		SetPVarInt(playerid, "AdminLogin", 1);
		SendClientMessage(playerid, 0xFF0000FF, "Вы успешно авторизовались как админинистратор");
	}
	else
	{
		SendClientMessage(playerid, 0xFF0000FF, "Пароль неправильный. Вы кикнуты в целях безопасности");
		Kick(playerid);
	}
	return 1; // завершаем команду
} 

И проверять так:

 
if(GetPVarInt(playerid, "AdminLogin") == 0) return SendClientMessage(playerid, 0xFF0000FF, "Вы еще не авторизованы как администратор"); 
Перейти к сообщению »


  • Закрытая тема Тема закрыта
Сообщений в теме: 6

#1
offline   Sasha_Kassa

Sasha_Kassa
  • 0
    • Сообщений: 104
    • Регистрация: 10.02.17

Делал админку по уроку ТУТ

Я назначил друга админом, как сделать так, чтобы  допустим введя /admin и введя пароль он мог управлять админ командами, а не при входе в игру авторизовавшись, и без пароля управлять? И как пароль сделать? Пароль на других серверах для каждого админа разный? Если да то как это сделатьь



#2
offline   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 735
    • Сообщений: 2 959
    • Регистрация: 19.07.15

Вам админ-авторизация что ли нужна?


  • 0

#3
offline   Sasha_Kassa

Sasha_Kassa
  • 0
    • Сообщений: 104
    • Регистрация: 10.02.17

Elrmrnt-Kritik,Да, и у меня еще проблемма, я когда пишу /makeadmin срабатывает для всех игроков, а не только для rcon 


Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.



#4
offline   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 735
    • Сообщений: 2 959
    • Регистрация: 19.07.15
✓  Лучший Ответ

sanek281215, команду заменяйте на эту:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Где в массиве объявляли pAdmin, допишите pAdminPass. 

И создайте команду /alogin:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

И проверять так:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.


  • 0

#5
offline   Sasha_Kassa

Sasha_Kassa
  • 0
    • Сообщений: 104
    • Регистрация: 10.02.17

Elrmrnt-Kritik,а как сделать чтобы в базе данных mysql в строкемоего профиля показывалась инфа о уровне администратора ибо чтобы сохранялся уровень и можно еще было изменить через базу данных? Такая же проблема и с деньгами, как сделать чтобы показывалась информация о том сколько у меня денег 

 

 

Я ввожу правильный пароль, пишет что неправильный, где храняться данные о паролях?


Сообщение отредактировал sanek281215: 12 Февраль 2017 - 21:45


#6
offline   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 735
    • Сообщений: 2 959
    • Регистрация: 19.07.15
sanek281215, версия mysql какая? У Вас вообще в базе данных что-нибудь есть? Неужели админ-уровень не сохраняется в БД?
  • 0

#7
offline   Sasha_Kassa

Sasha_Kassa
  • 0
    • Сообщений: 104
    • Регистрация: 10.02.17

Elrmrnt-Kritik, БАЗА на denwer. В базе айди имя и пароль

Может нужно добавить в базу столбец какой нить?


Сообщение отредактировал sanek281215: 23 Февраль 2017 - 23:29



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Данную тему посетили 67 пользователей