[Scientist]
Ученик
Помогите создать /setpass на диалоге, я делал так, но не получилось:
PHP:
if(strcmp(cmd, "/setpass", true) == 0)
{
if(IsPlayerConnected(playerid))
{
ShowPlayerDialog(playerid,1999,DIALOG_STYLE_INPUT,"Смена пароля","Введите пожалуйста новый пароль для вашего аккаунта","Подтвердить","Отмена");
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[256];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "{ff3300}[Ошибка]{FFFFFF} Вы не идентефицированы!");
return 1;
}
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_WHITE, "Используй: /setpass [новый пароль] ");
return 1;
}
if(IsPlayerConnected(playerid))
{
new fileo[200];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(fileo,sizeof(fileo),"Accounts/%s.ini", sendername);
dini_Set(fileo,"Key", result);
format(string,sizeof(string), "Внимание! Ваш новый пароль: {FFFFFF}%s.",result);
SendClientMessage(playerid, COLOR_GREEN, string);
SendClientMessage(playerid, COLOR_GREEN, "Обязательно сделайте скриншот с новым паролем, для этого нажмите F8.");
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string, sizeof(string), "%s изменил свой пароль, новый пароль: %s", sendername,result);
log("setpass",string);
return 1;
}
}
return 1;
}
PHP:
if(dialogid == 1999)
{
if(response)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы ничего не ввели!");
ShowPlayerDialog(playerid,1999,DIALOG_STYLE_INPUT,"Смена пароля","Введите новый пароль для аккаунта","Подтвердить","Отмена");
return 1;
}
// а если игрок что то ввел тогда:
format(string, sizeof(string), "Ваш новый пароль: %s. Запомните его пожалуйста.", inputtext);
SendClientMessage(playerid, COLOR_GRAD2, string);
}
else
{
// тут если он нажал на кнопку 2
SendClientMessage(playerid, COLOR_GRAD5, "Вы отменили смену пароля.");
}
}
