Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Нужна помощь (makeadmin)

Статус
В этой теме нельзя размещать новые ответы.

whale

/proger/
Здравствуйте, ув. пользователи p-i.
Решив написать команду /makeadmin, столкнулся с проблемой.
1) При регистрации админ пароля, вместо админ пароля пишет кол-во символов, которое было введено в диалог(используются только цифры), и пароль в файлике аккаунта - не меняется:

PHP:
case 9:
    	{
        	if(response)
        	{
	            if(!strlen(inputtext)) return SPD(playerid, 9, DSI, "Пароль администратора", "{FFFFFF}Используйте только цифры. Не менее 6 символов:", "Готово", "Отмена");
	            for(new i = strlen(inputtext); i != 0; --i)
	            switch(inputtext[i])
            	{
            		case 'А'..'Я', 'а'..'я', 'A'..'Z', 'a'..'z': return SPD(playerid, 9, DSI, "Пароль администратора", "{FFFFFF}Установите себе пароль администратора:\nДанный пароль нельзя будет изменить!", "Готово", "Отмена");
            	}
	            if(strlen(inputtext) > 16) return SPD(playerid, 9, DSI, "Пароль администратора", "Вы ввели более 16-ти цифр!\nПароль должен содержать от {FFFF00}6-ти {FFFFFF}до {FFFF00}16-ти {FFFFFF} цифр!", "Готово", "Отмена");
	            if(strlen(inputtext) < 6) return SPD(playerid, 9, DSI, "Пароль администратора", "Вы ввели менее 6-ти цифр!\nПароль должен содержать от {FFFF00}6-ти {FFFFFF}до {FFFF00}16-ти {FFFFFF} цифр!", "Готово", "Отмена");
	            f("Users/%s.ini", GN(playerid));
	            ini_setString(ini_openFile(string), "AdmPass", inputtext);
	            ini_closeFile(ini_openFile(string));
	            format(string, sizeof(string), "Пароль администратора установлен: %d", strlen(inputtext));
	            SCM(playerid, -1, string);
	            SCM(playerid, -1, "Пароль администратора нужно использовать после входа на сервер!");
        	}
       		else
       		{
            	Player[playerid][pAdmin] = 0;
            	SCM(playerid, COLOR_RED, "Вы были аннулированы в правах администратора, причина: отказ регистрации админ-пароля!");
            	Kickk
        	}
    	}
2) При авторизации (даже если пароль введён правильно) снова выкидывает диалог авторизации:

PHP:
case 10:
    	{
    	    if(response)
    	    {
    	        if(!strlen(inputtext)) return SPD(playerid, 10, DSI, "Авторизация администратора", "Введите свой пароль администратора:", "Готово", "Отмена");
				if(strlen(inputtext) == Player[playerid][pAdmPass])
				{
					format(string, sizeof(string), "Вы успешно авторизовались как администратор %d уровня!", Player[playerid][pAdmin]);
					SCM(playerid, -1, string);
				}
				else return SPD(playerid, 10, DSI, "Авторизация администратора", "Вы неверно ввели свой пароль администратора!\nВведите свой пароль администратора:", "Готово", "Отмена");
    	    }
    	    else
    	    {
    	        SCM(playerid, COLOR_RED, "Вы отказались вводить пароль администратора!");
    	        Kickk
    	    }
    	}
Сама команда:
PHP:
CMD:makeadmin(playerid, params[])
{
	if(Player[playerid][pAdmin] < 1) return true;
	new giveplayerid, admlvl, string[64];
	if(sscanf(params,"dd",giveplayerid,admlvl)) return SCM(playerid, COLOR_WHITE, "Используйте: /makeadmin [ID] [lvl(0-3)]");
	if(!IsPlayerConnected(giveplayerid)) return SCM(playerid,COLOR_WHITE,"Данный игрок не подключен к серверу!");
	if(admlvl > 1 || admlvl < 0) return SCM(playerid,COLOR_WHITE,"Нельзя больше 1 и меньше 0!");
	GetPlayerName(playerid, sn, sizeof(sn));
	GetPlayerName(giveplayerid, gp, sizeof(gp));
	Player[giveplayerid][pAdmin] = admlvl;
	format(string, sizeof(string), "Администратор %s назначил Вас администратором %d уровня.", sn, admlvl);
	SCM(giveplayerid, -1, string);
	format(string, sizeof(string), "Вы назначили %s администратором %d уровня.", gp, admlvl);
	SCM(playerid, -1, string);
	SPD(giveplayerid, 9, DSI, "Пароль администратора", "{FFFFFF}Установите себе пароль администратора:\nДанный пароль нельзя будет изменить!\nПароль должен состоять из цифр (от {FFFF00}6-ти {FFFFFF}до {FFFF00}16-ти)!", "Готово", "Отмена");
	return 1;

}
С меня причитается! ^_^
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу