ls5stream
Дебютант
Избился в поиске проблемы в коде, одну решил за полтора часа (не открыл скобки в функции), теперь с этой.
Что тут не так?
большой кусок кода:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[206];
switch(dialogid)
{
case 1:
{
if(response)
{
if(!strlen(inputtext))
{
f("{FFFFFF}Здравствуйте, {FFFF00}%s!\n{FFFFFF}Вы зашли на сервер {FFFF00}Russian Team War.\n\n{FFFFFF}\nЭтот аккаунт не зарегистрирован!\nДля регистрации придумайте свой уникальный пароль:", GN(playerid));
SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
return true;
}
for(new i = strlen(inputtext); i != 0; --i)
switch(inputtext)
{
case 'А'..'Я', 'а'..'я': return SPD(playerid, 1, DSI, "{FF0000}Ошибка!", "{FF4040}Пароль не должен состоять из русских символов\nПожалуйста, повторите попытку:", "Далее", "Выход");
}
if(strlen(inputtext) < 6 || strlen (inputtext) > 24) return SPD(playerid, 1, DSM, "{FF0000}Ошибка", "{FF4545}Пароль должен содержать не менее 6-ти и не более 25 символов.\nПожалуйста, повторите попытку.", "Повторить", "Выход"); return true;
strmid(Player[playerid][pPass], inputtext, 0, strlen(inputtext), 20);
SPD(playerid, 2, DSM, "Выбор команды", "{FFFFFF}Выберите свою команду:", "Команда обороны", "Команда нападения");
}
else
{
SCM(playerid, 0xFF4040FF, "Вы были кинуты. Для выхода введите /q");
Kickk(playerid);
}
}
}
return true;
}
Ошибка в строчке strmid(Player[playerid][pPass], inputtext, 0, strlen(inputtext), 20);
---------- Сообщение добавлено в 13:02 ---------- Предыдущее сообщение добавлено в 12:53 ----------
В строке if(strlen(inputtext) < 6 || strlen (inputtext) > 24) return SPD(playerid, 1, DSM, "{FF0000}Ошибка", "{FF4545}Пароль должен содержать не менее 6-ти и не более 25 символов.\nПожалуйста, повторите попытку.", "Повторить", "Выход"); return true; нужно убрать последний return true; и тогда всё будет нормально. Пишу для тех кто столкнулся с этой же проблемой..
Что тут не так?
большой кусок кода:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[206];
switch(dialogid)
{
case 1:
{
if(response)
{
if(!strlen(inputtext))
{
f("{FFFFFF}Здравствуйте, {FFFF00}%s!\n{FFFFFF}Вы зашли на сервер {FFFF00}Russian Team War.\n\n{FFFFFF}\nЭтот аккаунт не зарегистрирован!\nДля регистрации придумайте свой уникальный пароль:", GN(playerid));
SPD(playerid, 1, DSI, "Регистрация", string, "Далее", "Выход");
return true;
}
for(new i = strlen(inputtext); i != 0; --i)
switch(inputtext)
{
case 'А'..'Я', 'а'..'я': return SPD(playerid, 1, DSI, "{FF0000}Ошибка!", "{FF4040}Пароль не должен состоять из русских символов\nПожалуйста, повторите попытку:", "Далее", "Выход");
}
if(strlen(inputtext) < 6 || strlen (inputtext) > 24) return SPD(playerid, 1, DSM, "{FF0000}Ошибка", "{FF4545}Пароль должен содержать не менее 6-ти и не более 25 символов.\nПожалуйста, повторите попытку.", "Повторить", "Выход"); return true;
strmid(Player[playerid][pPass], inputtext, 0, strlen(inputtext), 20);
SPD(playerid, 2, DSM, "Выбор команды", "{FFFFFF}Выберите свою команду:", "Команда обороны", "Команда нападения");
}
else
{
SCM(playerid, 0xFF4040FF, "Вы были кинуты. Для выхода введите /q");
Kickk(playerid);
}
}
}
return true;
}
Ошибка в строчке strmid(Player[playerid][pPass], inputtext, 0, strlen(inputtext), 20);
---------- Сообщение добавлено в 13:02 ---------- Предыдущее сообщение добавлено в 12:53 ----------
В строке if(strlen(inputtext) < 6 || strlen (inputtext) > 24) return SPD(playerid, 1, DSM, "{FF0000}Ошибка", "{FF4545}Пароль должен содержать не менее 6-ти и не более 25 символов.\nПожалуйста, повторите попытку.", "Повторить", "Выход"); return true; нужно убрать последний return true; и тогда всё будет нормально. Пишу для тех кто столкнулся с этой же проблемой..
