YSI и диалог -
terrance - 02.11.2014
Всем привет! Возникла проблема, думаю вы сможете помочь.
Нужно извлечь список из БД и вывести его в диалоге. Делаю я это так:
Код:
mysql_format(mysqlHandle, query, sizeof(query), "SELECT id, name, price FROM samp_part WHERE idparttype = %d", partTypeId);
result = mysql_query(mysqlHandle, query);
new partsList[2048];
for (new i=0; i < cache_get_row_count(); i++) {
new item[128], part[128];
new id = cache_get_field_content_int(i, "id");
new price = cache_get_field_content_int(i, "price");
cache_get_field_content(i, "name", part);
format(item, sizeof(item), "%s (%d score)\n", part, price);
strcat(partsList, item, sizeof(partsList));
PartsID[playerid][i] = id;
}
cache_delete(result);
Text_ListBox(playerid, using inline OnPartsDialog, $DIALOG_PARTS_CAPTION, $DIALOG_LIST, $DIALOGS_OK, $DIALOGS_CANCEL, partsList);
В файле настроек языка:
В итоге список получается обрезанным:
Думаю, что это связано с ограничением файла настроек языка (строки не более 128 символов).
Как можно это исправить?
Re: YSI и диалог -
Stepashka - 02.11.2014
Использовать стандартные средства, а не надстройки.
Re: YSI и диалог -
terrance - 02.11.2014
Quote:
Originally Posted by Stepashka
Использовать стандартные средства, а не надстройки.
|
Не подходит, мод требует мультиязычности
Re: YSI и диалог -
Stepashka - 02.11.2014
Quote:
Originally Posted by terrance
Не подходит, мод требует мультиязычности
|
Тут где-то целая тема с вариантами мультиязычности есть.
Re: YSI и диалог -
terrance - 02.11.2014
Quote:
Originally Posted by Stepashka
Тут где-то целая тема с вариантами мультиязычности есть.
|
Конечно варианты есть, но уже во всем моде реализован способ с y_languages. Да и вопрос не об этом.
Re: YSI и диалог -
Stepashka - 02.11.2014
Для начала попробуем избавиться от лишних функций:
pawn Код:
new partsList[2048];
for (new i, part[128], id, price; i < cache_get_row_count(); i++) {
cache_get_field_content_int(i, "id"),
cache_get_field_content_int(i, "price");
cache_get_field_content(i, "name", part);
format(partsList, sizeof(partsList), "%s%s (%d score)\n", partsList, part, price);
PartsID[playerid][i] = id;
}
Re: YSI и диалог -
OKStyle - 02.11.2014
Ставить YSI ради мультиязычности - это стрелять из базуки по мухам.
Re: YSI и диалог -
eakwarp - 02.11.2014
Quote:
Originally Posted by OKStyle
Ставить YSI ради мультиязычности - это стрелять из базуки по мухам.
|
Почему из базуки? Это сброс ядерной бомбы, ради убийства комара.
Re: YSI и диалог -
terrance - 02.11.2014
Quote:
Originally Posted by OKStyle
Ставить YSI ради мультиязычности - это стрелять из базуки по мухам.
|
Не весь YSI, только y_languages
Re: YSI и диалог -
OKStyle - 03.11.2014
Зачем, если всё решается массивом (как в моих старых модах), либо чтением из файлов (как в Premium A/D)?