Одмееен, пикчи не грузятся
Уже успел заметить. Как приду домой - перезалью.
UPD: Исправил картинки в теме.
UPD[2]: Добавил PR (pull request) в репозиторий форка fixes.inc.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Мужики, а не проще вот так делать?
В конечном итоге в t_str записано всё чётко, без всякиях яяяяяпряяя..PHP код:
SetPVarString(playerid, "test_pvar_string", "Тестовый текст.");
new t_str[20];
GetPVarString(playerid, "test_pvar_string", t_str, sizeof(t_str));
format(t_str, 20, "%s", t_str);
SendClientMessage(playerid, 0xFFFFFFFF, t_str);
Последний раз редактировалось Nash_Brigers; 30.03.2016 в 12:37.
По сути в format тот же баг, что и в printf, я описал его в 1-м посте: эти функции учитывают только 0-й байт в ячейке (по той же причине они не способны правильно работать с упакованными строками). Здесь же получается, что один баг может помочь обойти другой.
Тем не менее, полагаться на баги (тем более, использовать один баг, чтобы избежать другого) - отнюдь не самая лучшая практика, т.к. этот баг со временем могут исправить. Я знаю, что в SA:MP не стоит ждать багфиксов, но в любом другом случае вас бы закидали помидорами (или чем-нибудь похуже).
И на счёт простоты неплохо бы сделать тест и проверить производительность format в сравнении с предложенным мной циклом.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Золотом?)
Проверил на миллионном цикле с JIT'ом.. При небольшом тексте Ваш метод выигрывает почти в два раза, при 144 символов уже одинаково с format'ом, при 288 символов - format уже почти на треть быстрее и т.д.
p.s. подозреваю, что в формате не случайно этот "баг"...
Последний раз редактировалось Nash_Brigers; 31.03.2016 в 12:59.
Небольшое обновление:
Как удалось выяснить, причина бага кроется во всё той же самопальной функции set_amxstring, уже успевшей отметиться в баге с выходом за пределы массива - видимо, создатели SA-MP решили использовать эту кривую самоделку, не осилив стандартную функцию amx_SetString.
P.S.: О первопричине бага и способе исправления я уже сообщил 0x452, баг исправлен в предстоящем релизе RW-MP.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
0x452 (10.05.2018)
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)