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)?