You are not logged in.
@Seemann - Тред не стартует. Только с одинарными скобками можно что-либо завершить/запустить, но 7 символов как то маловато для подобного рода вещей. Проверил хекс коды VC и SA, различие только в номере опкода, остальное компилируется также.
Offline
Как объяснял Alien, в Вайсе и Трехе нету "" строк поэтому только 7 и только '', но это известно впринципе, там как там иначе используются строки и их длина всегда ограничена, к тому же нету переменных строк.
Last edited by mfisto (01-07-2013 14:39)
I know everything and nothing...
Offline
@mfisto - Ну .cs файлы же запускаются с любыми именами, поэтому я думаю это ограничение при желании можно обойти. Ну а вобще ладно, что-нибудь другое придумаю.
Еще кое что, в справке написано "Оператор While может принимать в качестве условий логические константы True и False:"
Однако код
{$CLEO} 0000: while false wait 0 end
не компилируется, с ошибкой "неизвестная команда end"
Last edited by Sergey81 (01-07-2013 15:08)
Offline
@Sergey81 -
не компилируется, с ошибкой "неизвестная команда end"
дальше в справке написано
While False .. End - цикл будет игнорироваться компилятором.
т.е. компилятор пропускает строку while false, как ложную по умолчанию. новый цикл при этом не создается. поэтому дальше он ругается на END т.к. он не относится ни к чему.
поэтому, строго говоря, это не баг, а фича.
@Sergey81 - длинные строки "" поддерживаются только в SA. честно говоря, не помню, почему я оставил возможность компиляции их в GTA3 и VC, игрой этот тип данных не поддерживается. Можно использовать только короткие '' строки.
Last edited by Seemann (02-07-2013 07:10)
Offline
@Seemann - Так может все таки сделать немного по другому и не компилировать все тело цикла, а не только строку while false?
А насчет кавычек, я думал раз опкоды вроде 04EE: animation "IFP" их используют(или ошибка в opcodes.txt?), то и другие могут.
Offline
@Sergey81 - чем тогда такой цикл будет отличаться от обычного комментария? Компилятор не может в скрытом режиме пропустить часть кода, должно быть уведомление скриптеру об этом. Мне кажется, нынешний вариант лучше.
опкоды вроде 04EE: animation "IFP" их используют(или ошибка в opcodes.txt?)
это в каком opcodes.txt такая запись?
Last edited by Seemann (02-07-2013 11:51)
Offline
@Seemann - У Deji в генераторе так, насколько я помню, opcodes.txt я брал оттуда, а scm.ini у меня собраны из разных источников + собственные правки.
Offline
@Sergey81 - нужно пользоваться официальными источниками))
Offline
@Seemann - Была одно время такая идея: иногда нужно по быстрому набросать клео скрипт для теста чего-либо, и каждый раз приходится писать один и тот же код с while true и пр. Я у себя в папках CLEO держу файлик test.txt, но мне кажется будет удобнее, если в папке SB можно было бы создать файл-шаблон с кодом, например:
{$CLEO} 0000: while true wait 0 end
и при нажатии CTRL+N(или на иконку) создавался бы не пустой документ, а с кодом из этого файла. Соответственно, если файла нет, тогда создавать пустой документ.
Offline
@Sergey81 - для такого есть макросы (опция Ctrl+J и F2). Описание в справке раздел Редактор-Возможности.
Offline
@Seemann - Ага, воспользуюсь, только может я чего-то не так делаю, или так и задумано, но макрос без описания вставляет в SB только собственное имя, а с описанием все работает корректно - вставляется код макроса.
Last edited by Sergey81 (04-07-2013 22:00)
Offline
@Sergey81 - да, там для корректной работы должно стоять = после имени макроса, даже если описания нет.
@mfisto - в GTA3 дробные числа существенно ограничены. Они занимают 2 байта вместо 4-х. Область допустимых значений лежит между -2000.0..2000.0 (+- 40.0).
Offline
@Seemann - Может стоит тогда давать предупреждение при компиляции?
Offline
@Sergey81 - по поводу чего?
Offline
Вышла новая версия Sanny Builder 3.08
http://sannybuilder.com/files/SannyBuilder-v3.08.exe
* добавлен Silent's ASI Loader v1.1 для CLEO 3 и CLEO 4
* добавлен перевод на китайский язык
* добавлены классы File и Audiostream для обратной совместимости с CLEO 4 от Alien*
* компилятор теперь может принимать строковую константу в качестве параметра в свойстве класса**
* компилятор больше не компилирует строки без начальной кавычки, например text1"text2" или text1'text2'
* компилятор может компилировать символы комментария внутри строки ("{text1}text2")
* точка с запятой ( ; ) больше не может использоваться для закомментирования строки
* изменен синтаксис параметра \debug
* добавлены иконки флагов для доступных языков перевода в опциях
* исправлены некоторые ошибки в декомпиляции для VCS
* Важное замечание: File.Open, Audiostream.Load, Audiostream.Load3D были методами в CLEO 4. Теперь они свойства. Это означает, что если вы получаете ошибку при компиляции старых скриптов, где использовались эти команды, измените их синтаксис следующим образом:
переменная = File.Open(имя_файла, режим_открытия)
переменная = Audiostream.Load(имя_файла)
переменная = Audiostream.Load3D(имя_файла)
** Существует ограничение на использование пробелов в таком параметре (доп. информация в справке).
Offline
@Seemann - Ну для GTA 3:
в GTA3 дробные числа существенно ограничены. Они занимают 2 байта вместо 4-х. Область допустимых значений лежит между -2000.0..2000.0 (+- 40.0).
К примеру, если есть код 0015: 2@ /= 13360.0, то выдавать предупреждение, что скомпилируется не совсем это.
3.08 установил, квадратные скобки компилируются, багов не замечено.
Offline
Есть один недочёт. Когда вызываю команды класса, последнюю команду не видно в списке:
наблюдается, что в фокус какая-то команда попала, но её не видно из за самого окна. Неудобно постоянно менять размер окна
Last edited by wmysterio (06-07-2013 17:06)
Offline
@wmysterio - это измененный classes.db или нет? на оригинальном classes.db из 3.08 такой глюк есть?
у меня такого глюка нет, возможно причина в Win8. у кого-нибудь еще аналогичный глюк на 3.08 в восьмерке есть?
Offline
это измененный classes.db или нет?
Тот, что установился вместе с программой.
У меня такого глюка нет, возможно причина в Win8.
Вполне возможно. Я лично Win8 и пользуюсь, но у версии 3.04, 3.05 и 3.06 такого глюка не было.
Offline
@wmysterio - а если взять classes.db с предыдущих версий, глюк будет?
Offline
@wmysterio - а если взять classes.db с предыдущих версий, глюк будет?
Да, был глюк. Дело в самом компиляторе. Я смотрел версию 3.04, то там список по-умолчанию выводился сверху вниз во весь экран и последнюю команду можно было свободно взять в фокус, и в тоже время видеть её в окне. А в 3.08 появляется уже небольшой квадрат, как это было на скрине выше и фокус последней команды прячется ниже самого окна, какого размера оно не было. Если команд мало, то фокус видно. Если много, то вот такой глюк и встречается.
Last edited by wmysterio (07-07-2013 14:56)
Offline
Сделайте, пожалуйста, чтобы исходники скриптов можно было сохранять в отдельную папку, а то папка cleo засоряется.
Offline