EgorAks 4 Опубликовано 26 января, 2018 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 уровней администратора, хочу чтобы в строке показывалось ник администратора и его уровень. Подделал и вот что получилось Помогите пожалуйста Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Marvellous 271 Опубликовано 26 января, 2018 (изменено) @Егор_Aks, У тебя просто не дописано в строке! format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался.", PlayerInfo[playerid][pName]); Т.е если у тебя переменная на админов pAdmin ну там смотри какие переменные у тебя,то до пиши format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался.", PlayerInfo[playerid][pAdmin][pName]); Изменено 26 января, 2018 пользователем Marvellous Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 26 января, 2018 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 414 Опубликовано 26 января, 2018 @Marvellous, а спецификатор кто будет ставить, Пушкин? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MYSTERYMAN 67 Опубликовано 26 января, 2018 (изменено) @Marvellous, FACEPALM. Как у вас ловко вышло превратить двумерный массив в трёхмерный, браво, аплодирую стоя. Элементу pName двумерного массива не присвоено значение, или же оно пустое. Изменено 26 января, 2018 пользователем MYSTERYMAN 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 26 января, 2018 (изменено) еще и превратил двумерный массив в трехмерный PlayerInfo[playerid][pAdmin][pName] Как вообще можно такое написать? Если только в скриптинге один день. Да и то врятли. Изменено 26 января, 2018 пользователем Wеb Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
EgorAks 4 Опубликовано 26 января, 2018 format(string, sizeof(string), "{FFD300}Администратор: %s авторизовался как администратор %d уровня", aname, PlayerInfo[playerid][pAdmin]); Вот что получилось, код 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 150 Опубликовано 26 января, 2018 (изменено) @Егор_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]); Изменено 26 января, 2018 пользователем Elrmrnt-Kritik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 26 января, 2018 на 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 4 Опубликовано 27 января, 2018 Вот что получилось 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 150 Опубликовано 27 января, 2018 @Егор_Aks, и в чем проблема? Судя по изображению, все хорошо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты