TheNERD2010
Ученик
Здравствуйте. Мне нужно, чтобы при регистрации был только выбор пола, возраст ну и естественно пароль. Кто может помочь? С меня +++.Когда я удаляю case,в которым диалоги, то выплывает error. Прошу помочь, что нужно удалить?
Вот паблик Ondialogeresponse
Вот паблик Ondialogeresponse
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYER_NAME],string[MAX_PLAYER_NAME],tmppass[64],regablya[MAX_PLAYERS];
switch(dialogid)
{
case 0:
{
if(response)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: вы уже вошли.");
return 1;
}
if(strlen(inputtext) < 1) return ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Вход на сервер","{FFFFFF}Введите ниже свой пароль для авторизации","Войти","");
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
if(regablya[playerid] == 1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "*Спасибо что заполнили информацию, сейчас вам покажут краткое руководство к серверу*");
TutTime[playerid] = 1;
}
return 1;
}
}
}
case 1:
{
if(response)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Вы уже вошли.");
return 1;
}
if(strlen(inputtext) < 1) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Регистрация","{FFFFFF}Введите ниже придуманный вами пароль для регистрации","Далее","");
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s.ini", pname);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, " Это имя пользователя уже зарегистрировано.");
fclose(hFile);
return 1;
}
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Выбор пола","{FFFFFF}Выберите ваш пол","Мужчина","Женщина");
return 1;
}
}
}
case 2:
{
if(response)
{
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s.ini", pname);
if(!fexist(string))
{
gPlayerAccount[playerid] = 0;
regablya[playerid] = 1;
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Регистрация","{FFFFFF}Введите ниже придуманный вами пароль для регистрации","Далее","");
return 1;
}
else
{
gPlayerAccount[playerid] = 1;
regablya[playerid] = 0;
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Вход на сервер","{FFFFFF}Введите ниже свой пароль для авторизации","Войти","");
return 1;
}
}
}
case 3:
{
if(response)
{
PlayerInfo[playerid][pSex] = 1;
SendClientMessage(playerid, COLOR_YELLOW2, "Ok, вы мущина.");
ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"Год рождения","{FFFFFF}Введите ниже вашу дату рождения\n\t\t{FF0000}ДД/ММ/ГГГГ","Далее","");
return 1;
}
else
{
PlayerInfo[playerid][pSex] = 2;
SendClientMessage(playerid, COLOR_YELLOW2, "*Ok, вы женщина.");
ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"Год рождения","{FFFFFF}Введите ниже вашу дату рождения\n\t\t{FF0000}ДД/ММ/ГГГГ","Далее","");
return 1;
}
}
case 4:
{
if(response)
{
new year, month,day;
getdate(year, month, day);
new DateInfo[3][20];
split(inputtext, DateInfo, '/');
if(year - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= year)
{
ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"Год рождения","{FFFFFF}Введите ниже вашу дату рождения\n\t\t{FF0000}ДД/ММ/ГГГГ","Далее","");
return 0;
}
new check = year - strval(DateInfo[2]);
if(check == year)
{
ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"Год рождения","{FFFFFF}Введите ниже вашу дату рождения\n\t\t{FF0000}ДД/ММ/ГГГГ","Далее","");
return 0;
}
if(strval(DateInfo[1]) > month)
{
check -= 1;
}
else if(strval(DateInfo[1]) == month && strval(DateInfo[0]) > day)
{
check -= 1;
}
PlayerInfo[playerid][pAge] = check;
format(string, sizeof(string), "Ok, вам %d лет.",PlayerInfo[playerid][pAge]);
SendClientMessage(playerid, COLOR_YELLOW2, string);
ShowPlayerDialog(playerid,5,DIALOG_STYLE_LIST,"Регион","{FF0000}Выберите от куда вы\nзаречье\nцентр\nдругое","Далее","");
return 1;
}
else
{
ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"Год рождения","{FFFFFF}Введите ниже вашу дату рождения\n\t\t{FF0000}ДД/ММ/ГГГГ","Далее","");
return 1;
}
}
case 5:
{
if(!response) return ShowPlayerDialog(playerid,5,DIALOG_STYLE_LIST,"Регион","{FF0000}Выберите от куда вы\nзаречье\nдругое\nцентр","Далее","");
if(listitem == 1)
{
PlayerInfo[playerid][pOrigin] = 1;
SendClientMessage(playerid, COLOR_YELLOW2, "* Ладно, вы из заречья.");
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Вход на сервер","{FFFFFF}Введите ниже свой пароль для авторизации","Войти","");
}
else if(listitem == 2)
{
PlayerInfo[playerid][pOrigin] = 2;
SendClientMessage(playerid, COLOR_YELLOW2, "* Ладно, вы из центра*.");
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Вход на сервер","{FFFFFF}Введите ниже свой пароль для авторизации","Войти","");
}
else if(listitem == 3)
{
PlayerInfo[playerid][pOrigin] = 3;
SendClientMessage(playerid, COLOR_YELLOW2, "*Ладно, вы из другой страны .");
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"Вход на сервер","{FFFFFF}Введите ниже свой пароль для авторизации","Войти","");
}
else if(listitem == 0)
{
ShowPlayerDialog(playerid,5,DIALOG_STYLE_LIST,"Регион","{FF0000}Выберите от куда вы\nзаречье\nдругое\nцентр","Далее","");
}
}
}
return 1;
}
