Перейти к содержанию
Авторизация  
EgorAks

Не работает

Рекомендуемые сообщения

EgorAks
    case 8:
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
					ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация администратора", "Вы зашли как администратор\nВам необходимо ввести специальный пароль", "Войти", "Игрок");
                    return true;
                }
                SetPVarInt(playerid, "AdmLogin", 1);
                new string[512];
                format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался.", PlayerInfo[playerid][pName]);
                SendAdminMessage(COLOR_YELLOW, string);
                ALogged{playerid} = true;
            }
            else
            {
                SetPVarInt(playerid, "AdminKakIgrok", 1);
            }
        }

Проблема в строке "format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался.", PlayerInfo[playerid][pName]);" 

У меня 7 уровней администратора, хочу чтобы в строке показывалось ник администратора и его уровень.

Подделал и вот что получилось ri3VoKK.png

Помогите пожалуйста

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Marvellous

@Егор_Aks, У тебя просто не дописано в строке!

format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался.", PlayerInfo[playerid][pName]);

Т.е если у тебя переменная на админов pAdmin ну там смотри какие переменные у тебя,то до пиши

format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался.", PlayerInfo[playerid][pAdmin][pName]);
Изменено пользователем Marvellous

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался.", PlayerInfo[playerid][pName]);

на new aname[MAX_PLAYER_NAME]
GetPlayerName(playerid, aname, sizeof(aname));
format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", aname, PlayerInfo[playerid][pAdmin]);

не знаю какая у тебя переменная админки, укажешь свою. Если не такая, так же можно избежать объявление aname. Странно, что у тебя не выводило ник. Проверь переменную отвечающию за хранение ника и подправь. На крайняк, делай как я написал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

@Marvellous, а спецификатор кто будет ставить, Пушкин?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
MYSTERYMAN

@Marvellous, FACEPALM. Как у вас ловко вышло превратить двумерный массив в трёхмерный, браво, аплодирую стоя.

 

Элементу pName двумерного массива не присвоено значение, или же оно пустое.

Изменено пользователем MYSTERYMAN
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

еще и превратил двумерный массив в трехмерный

PlayerInfo[playerid][pAdmin][pName] 

 Как вообще можно такое написать? Если только в скриптинге один день. Да и то врятли.

Изменено пользователем Wеb

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EgorAks

 

 


format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", aname, PlayerInfo[playerid][pAdmin]);
b1M4pQC.png Вот что получилось, код
    case 8:
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
					ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация администратора", "Вы зашли как администратор\nВам необходимо ввести специальный пароль", "Войти", "Игрок");
                    return true;
                }
                SetPVarInt(playerid, "AdmLogin", 1);
                new string[512];
                format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", PlayerInfo[pName][pAdmin]);
                SendAdminMessage(COLOR_YELLOW, string);
                ALogged{playerid} = true;
            }
            else
            {
                SetPVarInt(playerid, "AdminKakIgrok", 1);
            }
        }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noname_idk

@Егор_Aks, один сказал ерунду, а вы сделали. Покажите все, что связано с PlayerInfo[playerid][pName] (в пабликах OnPlayerConnect, OnPlayerRequestClass, авторизации игрока)

Вот временное решение, но стоит понимать, что подобные проблемы еще не исключены.

GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
new string[128];
format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", PlayerInfo[playerid][pName]);
Изменено пользователем Elrmrnt-Kritik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

 

 


на new aname[MAX_PLAYER_NAME] GetPlayerName(playerid, aname, sizeof(aname)); format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", aname, PlayerInfo[playerid][pAdmin]);

 

Так ты сделал не так как советовал я.

 

 

 


на new aname[MAX_PLAYER_NAME] GetPlayerName(playerid, aname, sizeof(aname)); format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", aname, PlayerInfo[playerid][pAdmin]);

 

Ты пропустил уровень администрирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EgorAks

Вот что получилось 

            if(response)
            {
                if(!strlen(inputtext))
                {
					ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация администратора", "Вы зашли как администратор\nВам необходимо ввести специальный пароль", "Войти", "Игрок");
                    return true;
                }
                SetPVarInt(playerid, "AdmLogin", 1);
				GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
				new string[128];
				format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", PlayerInfo[playerid][pName], PlayerInfo[playerid][pAdmin]);
                SendAdminMessage(COLOR_YELLOW, string);
                ALogged{playerid} = true;
            }

В строке format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", PlayerInfo[playerid][pName], PlayerInfo[playerid][pAdmin]); добавил PlayerInfo[playerid][pAdmin]

В итоге https://imgur.com/a/UxbmS поправьте если что, я новичок в pawn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noname_idk
@Егор_Aks, и в чем проблема? Судя по изображению, все хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.