PDA

Просмотр полной версии : [Вопрос] /members



verteich
23.04.2019, 22:35
Друзья, подскажите как сделать /members на DIALOG_STYLE_LIST с переключением страниц?

DeimoS
24.04.2019, 09:23
http://pro-pawn.ru/showthread.php?16339-%D0%9F%D0%BE%D0%BC%D0%BE%D0%B3%D0%B8%D1%82%D0%B5-%D1%81-%D0%BB%D0%BE%D0%B3%D0%B0%D0%BC%D0%B8&p=91929&viewfull=1#post91929

http://pro-pawn.ru/showthread.php?15392-%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BF%D1%80%D0%BE%D0%BB%D0%B8%D1%81%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86

verteich
24.04.2019, 16:49
http://pro-pawn.ru/showthread.php?16339-%D0%9F%D0%BE%D0%BC%D0%BE%D0%B3%D0%B8%D1%82%D0%B5-%D1%81-%D0%BB%D0%BE%D0%B3%D0%B0%D0%BC%D0%B8&p=91929&viewfull=1#post91929

http://pro-pawn.ru/showthread.php?15392-%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BF%D1%80%D0%BE%D0%BB%D0%B8%D1%81%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86

а где взять ид итерации?

DeimoS
24.04.2019, 17:48
Нигде. Он сам определяется:
i = last_iter-max_page-1;
А количество итераций определяется так.
new last_iter = page*max_page+1,// У page минимальное значение должно быть не меньше 1 (указывай 1 при открытии диалога, а не 0)

Тебе просто нужно в эту строку внести формирование диалога:
format(string, sizeof(string), "%sБизнес %s бла бла бла\n", string, BizInfo[i][bizName]);
И изменить сам диалог:
ShowPlayerDialog(playerid, ..., DIALOG_STYLE_LIST, "Бизнесы", string, "Выбрать", "Закрыть");
Ну и в обработке диалога уже добавить нужный код. Остальное там, как я помню, уже работоспособно без каких-либо изменений

verteich
24.04.2019, 18:00
Нигде. Он сам определяется:
i = last_iter-max_page-1;
А количество итераций определяется так.
new last_iter = page*max_page+1,// У page минимальное значение должно быть не меньше 1 (указывай 1 при открытии диалога, а не 0)

Тебе просто нужно в эту строку внести формирование диалога:
format(string, sizeof(string), "%sБизнес %s бла бла бла\n", string, BizInfo[i][bizName]);
И изменить сам диалог:
ShowPlayerDialog(playerid, ..., DIALOG_STYLE_LIST, "Бизнесы", string, "Выбрать", "Закрыть");
Ну и в обработке диалога уже добавить нужный код. Остальное там, как я помню, уже работоспособно без каких-либо изменений

я про этот if(last_iter < sizeof(BizInfo))/
пойдет такое?:


new costallonline[MAX_PLAYERS];
CMD:members(playerid)
{
costallonline[playerid] ++;
return 1;
}

DeimoS
24.04.2019, 18:08
Если ты про то, что нужно указывать на месте sizeof, то там должен быть размер массива, из которого ты хочешь поместить данные в диалог.
Например, ты выгружаешь данные из БД и загружаешь в массив array. Соответственно, код будет таким:

if(last_iter < sizeof(array))

Если не про это, то опиши что ты вообще хочешь сделать и покажи какие данные будут помещаться в каждую строку диалога

verteich
24.04.2019, 19:36
Если ты про то, что нужно указывать на месте sizeof, то там должен быть размер массива, из которого ты хочешь поместить данные в диалог.
Например, ты выгружаешь данные из БД и загружаешь в массив array. Соответственно, код будет таким:

if(last_iter < sizeof(array))

Если не про это, то опиши что ты вообще хочешь сделать и покажи какие данные будут помещаться в каждую строку диалога
Я разобрался.
Спасибо, если понадобится помощь, напишу.