Huseyn
Компетентный
Здравствуйте P-I, у меня такая проблема, с регистрации , диалог возраста не выходит после, выбора пола, не знаю в чем проблема.. вот код.
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case dRegister:
{
if(!response)
{
ShowPlayerDialog(playerid, dKickMessage, DIALOG_STYLE_MSGBOX, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Отказ от регистрации.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат", "Выход", "");
return Kick(playerid);
}
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "{FF0000}Ошибка: {FFFFFF}Вы не можете продолжить регистрацию не введя пароль!\nВведите пароль для регистрации нового аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
else if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "{FF0000}Ошибка: {FFFFFF}Пароль слишком короткий!\nВведите пароль для регистрации нового аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
else if(strlen(inputtext) > 30) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "{FF0000}Ошибка: {FFFFFF}Пароль слишком длинный!\nВведите пароль для регистрации нового аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "{FF0000}Ошибка: {FFFFFF}Пароль содержит запрещённые символы!\nВведите пароль для регистрации нового аккаунта:\n{C0C0C0}Примечание:\n{666666}- Пароль чувствителен к регистру.\n- Пароль должен содержать от 4 до 30 символов.\n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
}
}
pInfo[playerid][pPassword][0] = EOS;
strins(pInfo[playerid][pPassword], inputtext, 0);
ShowPlayerDialog(playerid, dAge, DIALOG_STYLE_MSGBOX, !"{eee515}Ваш возраст","{ffffff}Укажите ваш игровой возраст:","Далее","");
ShowPlayerDialog(playerid, dPol, DIALOG_STYLE_MSGBOX, !"Пол", !"Выбор пола:", !"Мужской", !"Женский");
pInfo[playerid][pSkin] = male_skins[random(sizeof(male_skins))]; // Рандомный мужской скин
pInfo[playerid][pSkin] = female_skins[random(sizeof(female_skins))]; // Рандомный женский скин
return 1;
}
case dAge:
{
if(!response) { ShowPlayerDialog(playerid, dAge, 1,"{eee515}Ваш возраст","{ffffff}Укажите ваш игровой возраст:","Далее",""); }
new age;
if(sscanf(inputtext, "i", age))
{
SendClientMessage(playerid,COLOR_LIME,"Возраст пишите цифрами. Например: 17");
ShowPlayerDialog(playerid, dAge, 1,"{eee515}Ваш возраст","{ffffff}Укажите ваш игровой возраст:","Далее","");
return 1;
}
if(age < 16 || age > 80)
{
SendClientMessage(playerid,COLOR_LIME,"Возраст не может быть меньше 16 и не больше 80!");
ShowPlayerDialog(playerid, dAge, 1,"{eee515}Ваш возраст","{ffffff}Укажите ваш игровой возраст:","Далее","");
return 1;
}
pInfo[playerid][pAge] = age;
}
case dPol:
{
if(response)
{
pInfo[playerid][pSex] = 1;
pInfo[playerid][pSkin] = male_skins[random(sizeof(male_skins))];
SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
}
else
{
pInfo[playerid][pSex] = 2;
pInfo[playerid][pSkin] = female_skins[random(sizeof(female_skins))];
SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
}
CreateNewAccount(playerid, pInfo[playerid][pPassword]);
}
PHP:
stock CreateNewAccount(playerid, password[])
{
new query_string[66+MAX_PLAYER_NAME-4+30+50];
format(query_string, sizeof(query_string), "INSERT INTO `accounts` (`player_name`, `password`, `level`, `pol_player`, `skin_player`, `age`, `money_player`) VALUES ('%s', '%s', '1', '%d', '%d', '%d', '560')", pInfo[playerid][pName], password, pInfo[playerid][pSex], pInfo[playerid][pAge], pInfo[playerid][pSkin]);
mysql_tquery(mysql_connect_ID, query_string, "UploadPlayerAccountNumber", "i", playerid);
pInfo[playerid][pLevel] = 1; //new
pInfo[playerid][pMoney] = 560;//new
pInfo[playerid][pAge] = 0;
pInfo[playerid][pSpawn] = 1;//new
GivePlayerMoney(playerid, pInfo[playerid][pMoney]);//new
SetPlayerScore(playerid, pInfo[playerid][pLevel]);//new
format(query_string, sizeof(query_string), "Аккаунт %s успешно зарегистрирован. Администрация желает Вам приятной игры!", pInfo[playerid][pName]);
SendClientMessage(playerid, 0xFFFFFF00, query_string);
SetPlayerAuthorized(playerid, PLAYER_ONLINE);
SpawnPlayer(playerid);
TogglePlayerSpectating(playerid, false);
return 1;
}
PHP:
по сути все верно же.
