PDA

Просмотр полной версии : [Вопрос] Не вызывается диалог.



Marathon
29.09.2016, 20:54
Привет всем, надеюсь, поможете.
Такая проблема, сделал регистрацию, case 1:, она вызывается и все нормально сохраняет, НО последующий диалог case 2: НЕ выводится. В чем проблема?

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 1:
{
if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 15)
{
show_register(playerid);
}
else
{
new query[128], temp[16];
mysql_real_escape_string(inputtext, temp);
format (query, sizeof(query), "INSERT INTO `accounts` (`login`, `password`) VALUES ('%s','%s')", playername(playerid), temp);
mysql_function_query(dbHandle, query, false, "", "");
format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `login` = '%s' AND `password` = '%s' LIMIT 1", playername(playerid),temp);
mysql_function_query(dbHandle, query, true, "player_login", "i", playerid);
}
}
case 2:
{
if(!response)
{
SPD(playerid, 2, DIALOG_STYLE_MSGBOX, "{FFFFFF}Пол", "{F6DB6A}Укажи свой пол","Парень", "Девушка");
}
else
{
SPD(playerid, 2, DIALOG_STYLE_MSGBOX, "{FFFFFF}Пол", "{F6DB6A}Укажи свой пол","Парень", "Девушка");
}
}
case 3:
{
if(!response)
{
SCM(playerid, COLOR_GREY, "Ты девушка");
SpawnPlayer(playerid);
account_info[playerid][SEX] = 2;
}
else
{
SCM(playerid, COLOR_GREY, "Ты парень");
SpawnPlayer(playerid);
account_info[playerid][SEX] = 1;
}
}
}
return 1;
}

HarrWe
29.09.2016, 22:24
Табуляцию сам сделаешь

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 1:
{
if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 15)
{
show_register(playerid);
}
else
{
new query[128], temp[16];
mysql_real_escape_string(inputtext, temp);
format (query, sizeof(query), "INSERT INTO `accounts` (`login`, `password`) VALUES ('%s','%s')", playername(playerid), temp);
mysql_function_query(dbHandle, query, false, "", "");
format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `login` = '%s' AND `password` = '%s' LIMIT 1", playername(playerid),temp);
mysql_function_query(dbHandle, query, true, "player_login", "i", playerid);
SPD(playerid, 2, DIALOG_STYLE_MSGBOX, "{FFFFFF}Пол", "{F6DB6A}Укажи свой пол","Парень", "Девушка");
}
}
case 2:
{
if(response)
{
SCM(playerid, COLOR_GREY, "Ты парень");
SpawnPlayer(playerid);
account_info[playerid][SEX] = 1;
else
{
SCM(playerid, COLOR_GREY, "Ты девушка");
SpawnPlayer(playerid);
account_info[playerid][SEX] = 2;
}
}
}
return 1;
}

vovandolg
29.09.2016, 22:36
if(!strlen(inputtext) || strlen(inputtext) < 6
:sarcastic:
Зачем делать 2 по сути одинаковые проверки?

HarrWe
29.09.2016, 22:43
if(!strlen(inputtext) || strlen(inputtext) < 6
:sarcastic:
Зачем делать 2 по сути одинаковые проверки?

Я такой код на ГИ когда то видел, чел писал что так надёжнее!!!:help:

Marathon
29.09.2016, 23:51
От души парни :give_heart: