У меня сейчс нет возможности проверить это, поэтому задаю такой вопрос: какое максимальное значение в WE принимают типы Integer, Real и String? Заранее благодарен.
Где-то на XGM говорили, что все типы виртуальной машины - производные от DWORD. Тогда пограничные значения integer: от -2^31 до 2^31 - 1, иначе от -2147483648 до 2147483647. Real кодируется каким-то индусским способом, в любом случае брать числа больше 9876543210.0 смысла нет. У string может ограничение на уровне движка есть, не знаю.
integer - целое 32-битное число (аналог __int32 в Си), принимает значения от -2147483648 до 2147483647. real - реальное 32-битное цисло с плавающей точкой (аналог float на Си), принимает значения от -3.4 * 10^38 до 3.4 * 10^38. Выделяется особенностью хранения – точность может быть сверхвысокой в одних и низкой в других диапазонах Хранение значений в строке работает по принципу UTF-8: все ASCII-символы занимают один байт, остальные – два байта. Максимальный размер строки – 1023 байта. Инфа от Скорпа
Добавлено (10 Январь 2012, 14:07:11) --------------------------------------------- И если используется утф-8, то почему при копировании текста из редактора триггеров получается фигня? Даже при использовании соответствующей кодировки
real - реальное 32-битное цисло с плавающей точкой (аналог float на Си), принимает значения от -3.4 * 10^38 до 3.4 * 10^38. Выделяется особенностью хранения – точность может быть сверхвысокой в одних и низкой в других диапазонах
Игра выдает показывает отрицательное число при попытке вывести 1350851717672992089.0 (3E38), что намекает на переполнение буфера, либо кривую систему вывода. Есть мнение, что Blizzard таки используют свою систему кодирования, а не IEEE754.