XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
ScorpioT1000
Работаем
offline
Опыт: отключен
Переменная типа "Строка"(String)
Ошибочка:

1.
Мои действия:
Забиваю переменную-массив в ГУИ типа "Строка", пишу туда текст около 145-и симвлов. Нажимаю сохранить. "Процесс: инициализация переменных".
Результат:
Вылет с критической ошибкой

2.
Мои действия:
Забиваю переменную-массив в CS типа "Строка", пишу туда текст около 125-и символов. Нажимаю сохранить. "Процесс: инициализация переменных".
Результат:
Вылет с критической ошибкой

3. Забиваю переменную-массив в полном JASS коде .. кароче дальше все также..

Так вот вопрос - как мне бить строки(а я хачу юзать это в диалогах, чтобы было больше текста), если в переменные-массивы(да и не-массивы нарно тоже) не бьюцца никак?
Старый 14.08.2007, 15:02
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Напиши сюда код, как ты "забиваешь переменную-массив".
Старый 14.08.2007, 15:16
ScorpioT1000
Работаем
offline
Опыт: отключен
1. Set MoSI_CTpoKa[MoSI_u,EJIO4ucJIeHHaSI] = "текст больше 125-и |nсимволов текст больше |n125-и символов... итдкароче"

2. CS: set udg_mystring[my_integer] = "текст больше 125-и |nсимволов текст больше |n125-и символов... итдкароче"

3. set udg_mystring[my_integer] = "текст больше 125-и |nсимволов текст больше |n125-и символов... итдкароче"

Отредактировано ScorpioT1000, 14.08.2007 в 15:59.
Старый 14.08.2007, 15:22
J
expert
offline
Опыт: 48,447
Активность:
ScorpioT1000 в варе неверняка может быть лимит на максимальный размер строкового литерала...
попробуй разбивать так "1part"+"2part"
Старый 14.08.2007, 15:49
Dragon27

offline
Опыт: 6,779
Активность:
Если у тебя переменная - массив, то ты должен индекс указывать при "забитии".
Старый 14.08.2007, 15:55
ScorpioT1000
Работаем
offline
Опыт: отключен
Dragon27, забыл тут указать, фиксед
Jon, там просто хачу сделать из ДИАЛОГОВ странички как в книгах в вовке..
Вот там макс. ширина 25 симв(дальше уходит за рамки диалога), поэтому юзаю |n. А поскольку страниц штук 20 будет - то символов всего гдето 2500, как мне сувать это, скажи =(

ScorpioT1000 добавил:
З.ы када юзал около 50-ти в 1-й строке - все работало...
Старый 14.08.2007, 16:02
J
expert
offline
Опыт: 48,447
Активность:
ScorpioT1000 ну и попробуй всю строку разбить на "1part"+"2part"+"3part"по 125 символов в каждей, неуверн что проблема в этом но попробуй

Jon добавил:
вообщем попробуй чтобы у тебя текст между 2-мя ковычками не привышал 255 символов (может даже чуть меньше, и просто склеивай строки +'ом)

Отредактировано Jon, 14.08.2007 в 16:55.
Старый 14.08.2007, 16:07
ScorpioT1000
Работаем
offline
Опыт: отключен
Я так тож хотел.. блин ну и дерьмо..
Тоесть ты говоришь про:
1. Set MoSI_CTpoKa[MoSI_u,EJIO4ucJIeHHaSI] = [текст текст|nтекст текст текст|nтекст] + [текст2 |nтекст2 текст2 |n текст2 ].
Старый 14.08.2007, 16:13
J
expert
offline
Опыт: 48,447
Активность:
ScorpioT1000 да, я говорю про это, в каждом литерали избегай привешения числа букавок 255
только пробуй полностью в джазе разбивать хотя безразици :X
Старый 14.08.2007, 16:15
ScorpioT1000
Работаем
offline
Опыт: отключен
Мне пофиг.. они сиравно в начале игры забиваюцца.. но энто геморно. Я и так считай разбиваю на столбик в каждой строке по 25 символов, а тут еще по 50 разбивать(хотя вторая не видна в игре)..
Цитата:
только пробуй полностью в джазе разбивать

Эт еще почему? У мня хорошее событие(тайм элапсед 0.10 сек), хорошее действие.. =)
Старый 14.08.2007, 16:18
Dragon27

offline
Опыт: 6,779
Активность:
Не знаю какой там предел, но он определённо есть. Сейчас пробовал различное количество символов: где-то на 250-300 WE повис
Старый 14.08.2007, 16:19
J
expert
offline
Опыт: 48,447
Активность:
Dragon27 стандартное ограничение строкового литерала 255 символов, во многих других языках также
Старый 14.08.2007, 16:21
ScorpioT1000
Работаем
offline
Опыт: отключен
Dragon27, а ты мне недоверял?
Старый 14.08.2007, 16:21
J
expert
offline
Опыт: 48,447
Активность:
ScorpioT1000 я имею виду так проще разбивать большие строки...
просто сувать через каждый ~100 символов (для надежности) <" + "> и все
Старый 14.08.2007, 16:22
ScorpioT1000
Работаем
offline
Опыт: отключен
а, точна, тада проще всего CS подойдет..
ГУЙ полюбому дольше.. наконецто дошло. =)
спс. усе. проверю - написю..
Старый 14.08.2007, 16:24
ScorpioT1000
Работаем
offline
Опыт: отключен
А помойму 256
Старый 14.08.2007, 16:31
J
expert
offline
Опыт: 48,447
Активность:
ScorpioT1000, 255, обычно первый байт зарезервировывают под значение длины строки

Отредактировано Jon, 14.08.2007 в 16:56.
Старый 14.08.2007, 16:35
adic3x

offline
Опыт: 108,439
Активность:
кста чем юзать |n лучше использовать
Код:
set s="bla-bla-bla
bla-bla-bla
bla-bla-bla"
такая конструкция лучше пашет, к примеру в функциях выводящих текст |n непашет помойму.
Старый 14.08.2007, 17:12
ScorpioT1000
Работаем
offline
Опыт: отключен
ADOLF, в ГУЕ мона юзать |n или скопировать символ переноса и вставить. А вот в КС тока так.
В ЖАССе естестно, предназначен тока такой, т.к. это уж полный код..

ScorpioT1000 добавил:
Неее... я так запарился пихать текст в 2500 символов... придумаю ченить другое.. все, тему клозить можна.

ScorpioT1000 добавил:
Цитата:
1. Set MoSI_CTpoKa[MoSI_u,EJIO4ucJIeHHaSI] = [текст текст|nтекст текст текст|nтекст] + [текст2 |nтекст2 текст2 |n текст2 ].

Цитата:
да, я говорю про это

тоже самое, не работает..
Старый 14.08.2007, 19:33
dk

offline
Опыт: 60,293
Активность:
Юзай war3map.wts в нем по умолчанию хронятся все гуи строки, отредактируй его в своей карте и введи эти 2500 символов туда, поидее он должен вывести 2500 символов...
Старый 15.08.2007, 04:14
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 11:51.