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

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

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

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

Не отображает ник игрока

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

Zeka_Peka228

Умник
Столкнулся с такой проблемой - попросту не хочет отображать ник игрока через pName

Вот, например:
PHP:
CMD:apass(playerid, params[])
{
	new string[84],
		admin = Player[playerid][pAdmin]-1;
	if(!Logged{playerid}) return true;
  	if(Player[playerid][pAdmin] < 1 || ALogged{playerid}) return true;
	if(sscanf(params, "s[12]", params[0])) return send(playerid, COLOR_GREY, "Используйте: /apass [Пароль]");
	if(!strcmp(params[0], Player[playerid][pAKey], true))
	{
		format(string, sizeof(string), "АДМ: %s авторизовался как %s.", Player[playerid][pName], Admin_Name[admin]);
		SendAdminMessage(COLOR_YELLOW, string, 1);
		ALogged{playerid} = true;
	}
	else Kick(playerid);
	return true;
}
Пишет же только АДМ: авторизовался как Главный Администратор. То бишь вообще не хочет.
Также и с запросами. Например:
PHP:
CMD:viplata(playerid, params[]) //qiwi
{
    if(!Logged{playerid}) return true;
    new query[193], string[56], disk[50];
    if(sscanf(params, "s[50]", disk)) return SendClientMessage(playerid, -1, "Используйте: /viplata [описание]");
    if(strlen(disk) < 1 || strlen(disk) > 50) return SendClientMessage(playerid, -1, "Описание имеет менее 1 или более 50 символов");
    //if(strlen(link) < 1 || strlen(link) > 50) return SendClientMessage(playerid, -1, "Метод связи имеет менее 1 или более 50 символов");
    format(query, sizeof(query), "INSERT INTO `qiwi` (`name`, `description`) VALUES ('%s', '%s')", Player[playerid][pName], disk);
    mysql_function_query(connects, query, false, "", "");
    format(string, sizeof(string), "Спасибо, %s, ваша заявка принята.", Player[playerid][pName]);
    SendClientMessage(playerid, -1, string);
    SendClientMessage(playerid, -1, "Администратор обязательно рассмотрит Вашу запись и выплатит деньги на указаный кошелек. (информация о выплатах: /viplatainfo)");
    return 1;
}
В запросе просто пусто(где должно быть имя).

Странно то, что при авторизации, с ником все ок.
Вот пример:
PHP:
	    case DIALOG_LOGIN:
	    {
	        if(!response)
	        {
	            ShowPlayerDialog(playerid, DIALOG_NULL, DIALOG_STYLE_MSGBOX, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Отказ от авторизации.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат", "Выход", "");
	            return Kick(playerid);
	        }
	        if(!strlen(inputtext)) return Show_Login(playerid);
	        for(new i = strlen(inputtext)-1; i != -1; i--)
	        {
	            switch(inputtext[i])
	            {
	                case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
	                default: return Show_Login(playerid);
				}
	        }
	        if(!strcmp(Player[playerid][pKey], inputtext))
	        {
	            static const loginplayer[] = "SELECT * FROM `accounts` WHERE `Name` = '%s'";
				new string[sizeof(loginplayer)+(-2+24)];
	            format(string, sizeof(string), loginplayer, Player[playerid][pName]);
	            mysql_function_query(connects, string, true, "LoadAccount","i", playerid);
	        }
	        else
	        {
	            switch(GetPVarInt(playerid, "WrongPassword"))
	            {
	                case 0: { Show_Login(playerid); send(playerid, -1, "Вы ввели неверный пароль! Осталось 4 попытки."); }
	                case 1: { Show_Login(playerid); send(playerid, -1, "Вы ввели неверный пароль! Осталось 3 попытки."); }
	                case 2: { Show_Login(playerid); send(playerid, -1, "Вы ввели неверный пароль! Осталась 2 попытки."); }
	                case 3: { Show_Login(playerid); send(playerid, -1, "Вы ввели неверный пароль! Осталось 1 попытки."); }
	                default:
	                {
	                    ShowPlayerDialog(playerid, DIALOG_NULL, DIALOG_STYLE_MSGBOX, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Превышен лимит попыток на ввод пароля.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат", "Выход", "");
	                    return Kick(playerid);
	                }
	            }
	            SetPVarInt(playerid, "WrongPassword", GetPVarInt(playerid, "WrongPassword")+1);
	        }
При регистрации тоже.

В чем проблема?
А то приходиться записывать вот так:
PHP:
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
И юзать потом name. Но у меня из-за этого баги потом происходят в системе смене пароля.
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу