PDA

Просмотр полной версии : [Вопрос] Проблема с диалогами (easyDialog)



underground
19.02.2017, 18:12
Всем привет, вообщем проблема в том что просто не хочет открывать следующий диалог после первого.
Мод скомпилирован в режиме отладки, использую crashdetect, в логах абсолютно ничего нету.
Этот диалог срабатывает и выводит в консоль сообщение:


Dialog:Teleport_Type_List(playerid, response, listitem, inputtext[])
{
printf("dialogid: Teleport_Type_List, response: %d, listitem: %d, inputtext: %s", response, listitem, inputtext);

if(!response)
return 0;

new
string[32 * MAX_TELEPORTS];

for(new i = 0; i < 11; i++)
format(string, sizeof(string), "%s%s\n", string, GetTeleportTypeName(i));

if(!listitem)
Dialog_Show(playerid, Teleport_Add_SelectType, DIALOG_STYLE_LIST, "Создание телепорта > Выбор папки", string, "Ввод", "Отмена");

string[0] = EOS;

for (new i = 0; i != MAX_TELEPORTS; i ++) if (teleport[i][tp_exists] && teleport[i][tp_type] == listitem-1)
format(string, sizeof(string), "%s%s\n", string, teleport[i][tp_name]);

Dialog_Show(playerid, Teleport_List, DIALOG_STYLE_LIST, GetTeleportTypeName(listitem-1), string, "Выбрать", "Назад");

return 1;
}

А вот тут уже ничего почему-то не происходит:


Dialog:Teleport_Add_SelectType(playerid, response, listitem, inputtext[])
{
printf("dialogid: Teleport_Add_SelectType, response: %d, listitem: %d, inputtext: %s", response, listitem, inputtext);

if(!response)
return Dialog_Show(playerid, Teleport_AddToList, DIALOG_STYLE_INPUT, "Создание телепорта", "Введите название:", "Ввод", "Назад");

TempData[playerid][teleportType] = listitem;

Dialog_Show(playerid, Teleport_AddToList, DIALOG_STYLE_INPUT, "Создание телепорта > Название", "Папка: \"%s\"\nВведите название:", "Ввод", "Отмена", GetTeleportTypeName(listitem));
return 1;
}

vovandolg
19.02.2017, 18:24
if(!listitem)
return Dialog_Show(playerid, Teleport_Add_SelectType, DIALOG_STYLE_LIST, "Создание телепорта > Выбор папки", string, "Ввод", "Отмена");

так может надо?

Alpano
19.02.2017, 18:26
if(!listitem)
return Dialog_Show(playerid, Teleport_Add_SelectType, DIALOG_STYLE_LIST, "Создание телепорта > Выбор папки", string, "Ввод", "Отмена");

так может надо?

я так понимаю что даже до

printf("dialogid: Teleport_Add_SelectType, response: %d, listitem: %d, inputtext: %s", response, listitem, inputtext);
не доходит...

думаю проблема в этом самом инклуде.
п.с. какой дурак его придумал? что может быть проще работы с диалогами?...

Pa4enka
19.02.2017, 18:30
п.с. какой дурак его придумал? что может быть проще работы с диалогами?...
Это TDW Dialog Library от VVWVV, ибо синтаксис похож.

VVWVV
19.02.2017, 18:34
Это TDW Dialog Library от VVWVV, ибо синтаксис похож.

Нет, он использует не TDW Dialog Library, а библиотеку easyDialog.

Pa4enka
19.02.2017, 18:39
Нет, он использует не TDW Dialog Library, а библиотеку easyDialog.

Похожие библиотеки, вот и перепутал. Извиняюсь :D

vovandolg
19.02.2017, 19:00
я так понимаю что даже до

printf("dialogid: Teleport_Add_SelectType, response: %d, listitem: %d, inputtext: %s", response, listitem, inputtext);
не доходит...

думаю проблема в этом самом инклуде.
п.с. какой дурак его придумал? что может быть проще работы с диалогами?...

я как бы про код внутри Teleport_Type_List, внимательнее смотри)

Nexius_Tailer
19.02.2017, 19:57
что может быть проще работы с диалогами?...
Только ещё более упрощённая работа с диалогами, конечно же



ВозможностьOnDialogResponseeasyDialog.inc

Защита от крашейНетДа
Имена для диалоговНетДа
Вызов диалога вручнуюНетДа
Отдельный callback для обработкиНетДа