По причине, что я тупой, смогли бы объяснить что значит конструкция if(!strlen(inputtext) в паблике OnDialogResponse?
Функция strlen считает количество симоволов из inputtext, но для чего там ставят воскицательный знак, и как, и что, и зачем нам проверка на всё это?
Примеры использования:
Функция strlen считает количество симоволов из inputtext, но для чего там ставят воскицательный знак, и как, и что, и зачем нам проверка на всё это?
Примеры использования:
Пример #1:
case 18777:
{
if(!response) return Kick_Reason(playerid,0);
if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 7)
return ShowPlayerDialog(playerid, 18777, DIALOG_STYLE_INPUT, "Система безопасности", "Система безопасности запрашивает ваш код Google Authenticator", "Далее", "Отмена");
new
test = GoogleAuthenticatorCode(PlayerInfo[playerid][pCode], gettime());
if(strlen(inputtext) == test)
{
SendClientMessage(playerid,-1," Успешная авторизация");
return 1;
}
else
{
Kick_R(playerid,0);
}
return 1;
}
Пример #2:
case 1:
{ if(!response) return true;
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ввод дроби", "Введите необходимое число с плавающей точкой.", "Готово", "Закрыть");
new Float:argument = floatstr(inputtext);
printf("В диалоге 1 введено число %f", argument);
}