#226 07-07-2016 13:47

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

Mr.Secret wrote:

Только, если идея проводника всё же будет принята к сведению, хотелось бы также увидеть функцию его отключения в настройках. Потому как во многих случаях он будет просто не нужен, и будет мозолить глаза.

Не обязательно отключать. Удобно было-бы включить возможность сворачивать/разворачивать проводник(типа боковой кнопкиback.png), чтобы не лезть в меню. В проводнике отображать только те файлы, с которыми работает СБ(txt,cs,cm,scm).

И да, я заметил, что компилятор сохраняет текстовые файлы по-умолчанию в ANSI-кодировке, что иногда искажает символы на ? в место кракозябров от локализации SL. Логично кодировать файлы в UTF-8, так как там поддерживается больший набор символов.
---------------------------------------------------------------
Обнаружил, что Sanny Builder не правильно экранирует символ '\'. Например, материться на строку строки

098B: v$newstring = "folders \\" + 1@v
098B: v$newstring = "folders\\" + 1@v 

а вот такие

098B: v$newstring = "folders\\ " + 1@v 
098B: v$newstring = "folders \\ " + 1@v

нормально компилирует

Last edited by wmysterio (07-07-2016 13:49)

Offline

#227 15-07-2016 17:33

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: Вопросы и предложения по Sanny Builder

ANSI-кодировка - это наследие Delphi7. Избавиться от нее будет непросто, проще перейти на какую-то другую платформу. У меня есть мысли, как это сделать, посмотрим, что получится.

Обнаружил, что Sanny Builder не правильно экранирует символ '\'.
Да, это баг. Можешь завести его в трекере?

Offline

#228 15-07-2016 18:04

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

проще перейти на какую-то другую платформу

Ничего себе! Ради такой задачи менять платформу! Ну, думаю в сети уже есть решения такой задачи, Delphi же не новый язык.

Да, это баг. Можешь завести его в трекере?

Я изначально планировал опубликовать на баг-трекере, но у меня почему-то никаких действий сайт не выдаёт: ни авторизация, ни напоминание пароля и даже регистрация(не приходят письма от сайта). По-этому и написал про баг здесь.

Offline

#229 16-07-2016 09:45

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: Вопросы и предложения по Sanny Builder

wmysterio wrote:

Я изначально планировал опубликовать на баг-трекере, но у меня почему-то никаких действий сайт не выдаёт: ни авторизация, ни напоминание пароля и даже регистрация(не приходят письма от сайта). По-этому и написал про баг здесь.

Странно, может спам-фильтр не пропускает почту с сб.ком? Я попробовал - у меня письма доходят и новому пользователю и при сбросе пароля.
Я тебе в личку прислал пароль от твоего аккаунта.

Offline

#230 16-07-2016 10:09

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

Странно, может спам-фильтр не пропускает почту с сб.ком?

Возможно. Если не ошибаюсь, эта проблема была у меня и раньше. Ты мне менял пароль к аккаунту СБ по той-же причине.

Я тебе в личку прислал пароль от твоего аккаунта.

Спасибо. Я сделал пост на баг-трекере об ошибке.

Offline

#231 04-03-2017 19:48

Shag
Registered: 29-03-2010
Posts: 147
Website

Re: Вопросы и предложения по Sanny Builder

Здарова всем, просьба Seemann глянуть это и следующие за ним 4 сообщения.
Насколько я понял - проблема в SB, но не уверен, так что не буду перепечатывать всё здесь.

Offline

#232 08-03-2017 13:26

DimZet
Registered: 07-03-2017
Posts: 3
Website

Re: Вопросы и предложения по Sanny Builder

Здарова. Выражаю благодарность Seemann и всем кто работал над прогой и CLEO.
Хорошо было бы если ввели констаты в опкоды(SCM.ini) или отдельный файл как CustomVariables.ini. К примеру так:
SCM.ini
[OPCODES]
02a8=5,%5d% = create_marker %4b:RadarSprites% at %1d% %2d% %3d%

constants.ini
[RadarSprites]
RADAR_SPRITE_NONE=0
RADAR_SPRITE_ASUKA=1
RADAR_SPRITE_BOMB=2
RADAR_SPRITE_CAT=3
RADAR_SPRITE_DON=6

в проге:

02A8: $VAR = иконка на радаре RADAR_SPRITE_CAT $X $Y $Z

При использовании keywords
ADD_SPRITE_BLIP_FOR_COORD $VAR RADAR_SPRITE_CAT $X $Y $Z
и при нажатии ctrl+пробел выводился список констатов для данного опкода, может даже с картинками. И ведь есть оригинальные констаты для гта3 и вайса.

Offline

#233 12-05-2020 18:46

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

Наверное быстрого ответа мне не ждать.
Учитывая как долго шло письмо с паролем и эту тему коротая ровно уже 3 года не обновлялась.
Но я всё же предложу кое-что вам полезное: пожалуйста сделайте подсветку констант, как обычный текст они сливаются и не сразу находишь их у себя в коде, если бы они также подсвечивались, как и то, что они означают: переменные, синим, цены не было бы вам за это.
Из-за этого неудобства я и не так часто пользуюсь константами, а ведь штука это полезная.

Offline

#234 17-05-2020 00:30

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: Вопросы и предложения по Sanny Builder

SanyaSFM wrote:

Наверное быстрого ответа мне не ждать.
Учитывая как долго шло письмо с паролем и эту тему коротая ровно уже 3 года не обновлялась.
Но я всё же предложу кое-что вам полезное: пожалуйста сделайте подсветку констант, как обычный текст они сливаются и не сразу находишь их у себя в коде, если бы они также подсвечивались, как и то, что они означают: переменные, синим, цены не было бы вам за это.
Из-за этого неудобства я и не так часто пользуюсь константами, а ведь штука это полезная.

В моем списке идей для реализации значится такая:

подсвечивать константы тем же цветом что и их значение (число или переменная)

соответствует ли это вашим ожиданиям, или хотелось бы всегда один цвет?

Offline

#235 20-05-2020 22:31

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

Seemann wrote:
SanyaSFM wrote:

Наверное быстрого ответа мне не ждать.
Учитывая как долго шло письмо с паролем и эту тему коротая ровно уже 3 года не обновлялась.
Но я всё же предложу кое-что вам полезное: пожалуйста сделайте подсветку констант, как обычный текст они сливаются и не сразу находишь их у себя в коде, если бы они также подсвечивались, как и то, что они означают: переменные, синим, цены не было бы вам за это.
Из-за этого неудобства я и не так часто пользуюсь константами, а ведь штука это полезная.

В моем списке идей для реализации значится такая:

подсвечивать константы тем же цветом что и их значение (число или переменная)

соответствует ли это вашим ожиданиям, или хотелось бы всегда один цвет?

Да, например, константа означает: число, то значит крансный (пример: код клавиши Enter=13, Enter, при наборе в опкоде становится красным), если означает переменную, то при наборе, после объявления, константа в опкоде становится синей.
Вроде это всё из того, что подсвечивается обычно в опкодах.
Люди почему раньше к глобальным переменным прибегали, в первую очередь из-за удобства, я то не прибегал конечно, но вот всякие даже великие с такими скриптами как: Gtaffiti Mod например, они прибегали.
А оказывается есть такая полезная вещь как: константы, не я давно об них знаю, но вот из-за такого неудобства мало использовал их.
Вот ещё одна полезная идея, чтобы вместо этого: " // This file was decompiled using SASCM.ini published by GTAG...." в начале скрипта лучше бы были: описаны все коды клавиш, как для оппкода: 0AB0, так и для: 00E1, чтобы в справку по 100 раз не лезть.
И вот ещё, что, при наборе: Ctrl+Alt+H вызывает ошибку:0rDWX-i0IKg.jpg

Offline

#236 21-05-2020 13:19

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

SanyaSFM wrote:

лучше бы были: описаны все коды клавиш, как для оппкода: 0AB0, так и для: 00E1, чтобы в справку по 100 раз не лезть.

Та ну. Пусть будет как есть или добавить комментарий вроде "// you must use this global variables $PLAYER_CHAR, $PLAYER_ACTOR, $PLAYER_GROUP, $ONMISSION only". При создании нового скрипта при CTRL+SPACE нет этих переменных в стиске и приходится сначала их набирать, а с комментариями - есть. От этого будет больше пользы, чем от 100+ строк лишнего кода.

SanyaSFM wrote:

Из-за этого неудобства я и не так часто пользуюсь константами, а ведь штука это полезная.

Никто не мешает писать константы в верхнем регистре, тогда их легче отличить от описания опкода.

Seemann wrote:

подсвечивать константы тем же цветом что и их значение (число или переменная)

А почему не одним, который отличается от других? Есть опасение, что константу "ACTOR = 0@" можно спутать с переменной $ACTOR, допустим, в более крупных проектах, чем мелкий CLEO-скрипт. А каким цветом будет подсвечена константа (взял со справки) "PlayerMoney = $PLAYER_CHAR.Money"?

Last edited by wmysterio (21-05-2020 13:26)

Offline

#237 22-05-2020 04:49

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: Вопросы и предложения по Sanny Builder

wmysterio wrote:
Seemann wrote:

подсвечивать константы тем же цветом что и их значение (число или переменная)

А почему не одним, который отличается от других? Есть опасение, что константу "ACTOR = 0@" можно спутать с переменной $ACTOR, допустим, в более крупных проектах, чем мелкий CLEO-скрипт. А каким цветом будет подсвечена константа (взял со справки) "PlayerMoney = $PLAYER_CHAR.Money"?

Player - синим, Money - зеленым PlayerMoney

(спойлер: шутка smile)

Offline

#238 22-05-2020 14:23

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

wmysterio wrote:
SanyaSFM wrote:

лучше бы были: описаны все коды клавиш, как для оппкода: 0AB0, так и для: 00E1, чтобы в справку по 100 раз не лезть.

Та ну. Пусть будет как есть или добавить комментарий вроде "// you must use this global variables $PLAYER_CHAR, $PLAYER_ACTOR, $PLAYER_GROUP, $ONMISSION only". При создании нового скрипта при CTRL+SPACE нет этих переменных в стиске и приходится сначала их набирать, а с комментариями - есть. От этого будет больше пользы, чем от 100+ строк лишнего кода.

SanyaSFM wrote:

Из-за этого неудобства я и не так часто пользуюсь константами, а ведь штука это полезная.

Никто не мешает писать константы в верхнем регистре, тогда их легче отличить от описания опкода.

Seemann wrote:

подсвечивать константы тем же цветом что и их значение (число или переменная)

А почему не одним, который отличается от других? Есть опасение, что константу "ACTOR = 0@" можно спутать с переменной $ACTOR, допустим, в более крупных проектах, чем мелкий CLEO-скрипт. А каким цветом будет подсвечена константа (взял со справки) "PlayerMoney = $PLAYER_CHAR.Money"?

А какой толк о написания констант в верхнем регистре, когда важен факт подсвечивания?
Проблема в том, что константы сливаются по цвету с остальным текстом.
А цвет, с ним пускай что-нибудь решит нынешний автор SB, можно и отдельный дать.
Только всё-таки первый вариант лучше, не знаю как можно спутать константу с глобальной переменной.
Достаточно знать на что заканчивается или начинается та или иная переменная, локальная, на: @, глобальная, на: $.
Или можно реализовать эту подсветку в меню, по выбору.
Типа хочешь, будут подсвечиваться, хочешь нет, наверное можно указать будет и как: одним цветом или же цвет будет устанавливать в зависимости от того, что константа означает.

Last edited by SanyaSFM (22-05-2020 14:25)

Offline

#239 22-05-2020 18:13

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

SanyaSFM wrote:

когда важен факт подсвечивания?

Если бы оно было так важно, это сделали бы ещё в самых старых версиях. Спустя 10+ лет внезапно подсвечивать константы стало важным фактом  grin

SanyaSFM wrote:

не знаю как можно спутать константу с глобальной переменной.

Не знаю как можно не увидеть константу в верхнем регистре в текста. Всё-таки отдельный цвет лучше.

SanyaSFM wrote:

Типа хочешь, будут подсвечиваться, хочешь нет, наверное можно указать будет и как: одним цветом или же цвет будет устанавливать в зависимости от того, что константа означает.

Да, от такого не отказался бы  smile

Seemann wrote:

Player - синим, Money - зеленым PlayerMoney

Для самых закалённых скриптеров ))

Last edited by wmysterio (22-05-2020 18:17)

Offline

#240 23-05-2020 15:16

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

wmysterio wrote:
SanyaSFM wrote:

когда важен факт подсвечивания?

Если бы оно было так важно, это сделали бы ещё в самых старых версиях. Спустя 10+ лет внезапно подсвечивать константы стало важным фактом  grin

SanyaSFM wrote:

не знаю как можно спутать константу с глобальной переменной.

Не знаю как можно не увидеть константу в верхнем регистре в текста. Всё-таки отдельный цвет лучше.

SanyaSFM wrote:

Типа хочешь, будут подсвечиваться, хочешь нет, наверное можно указать будет и как: одним цветом или же цвет будет устанавливать в зависимости от того, что константа означает.

Да, от такого не отказался бы  smile

Не делали потому что, думаю мало кто пользовался константами, если посмотреть большинство скриптов, как миниус с 2009-2014 годы, скриптеры словно клали на них.
Да и я таким же был, пока не вник как это работает и какое удобство может принести.
Нет её увидеть то можно, но если бы подсвечивалось, было бы виднее сразу.
Если эта функция новая ошибок компилятора вызывать не будет, то почему бы её не внести, хоть отдельным, хоть хамилионным цветом.

Offline

#241 23-05-2020 17:23

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

SanyaSFM wrote:

Не делали потому что, думаю мало кто пользовался константами, если посмотреть большинство скриптов, как миниус с 2009-2014 годы, скриптеры словно клали на них.

Тогда, скорее всего, скрипты не сохранялись в исходном виде. Из за этого может сложиться впечатление, что ими не пользовались. Если брать исходники скриптов тех времён, то много из них использовали константы. По крайней мере опытные так делали.

SanyaSFM wrote:

Нет её увидеть то можно, но если бы подсвечивалось, было бы виднее сразу.

Так я не против подсветки ) Если Seemann её сделает, то я только за (неважно каким способом). Меня интересовали отдельные моменты, которые могут мешать распознаванию константы от чего-то другого.

Offline

#242 24-05-2020 17:16

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

wmysterio wrote:

Тогда, скорее всего, скрипты не сохранялись в исходном виде. Из за этого может сложиться впечатление, что ими не пользовались.

Да, скорее всего не сохранялись, я помню тогда хотел, чтобы моё закоментирование сохранилось в скрипте, а оно никак не сохранялось, то есть после того как я скрипт свой заново открывал, комменты мои словно исчезали.
Сейчас вроде сохраняются.

Offline

#243 03-06-2020 22:12

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

Не работает почему-то проверка угла актёра.
Допустим, я точно установил угол 180.0 Сиджею, ну например через встроненую программу в SB - Редактор координат.
Начинаю проверять типа: записанный в переменную 0@ угол актёра == 180.0 (0@ == 180.0) и проверка не срабатывает.
Проверял даже через запись в ini, угол точно: 180.0, а дальнейшие действия после проверки не срабатывают.
Зато хорошо срабатывают, если указать в проверке, что-то типа этого 0@ <= 180.0.
Что за баг такой, я не понимаю.
Я конечно понимаю, что угол не может быть ровно 180.0, когда Сиджей в движении, но в том то всё и дело: Сиджей не двигается и я ему устанавливаю точно заданный угол.

Offline

#244 03-06-2020 23:06

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

SanyaSFM wrote:

Не работает почему-то проверка угла актёра.
Допустим, я точно установил угол 180.0 Сиджею, ну например через встроненую программу в SB - Редактор координат.
Начинаю проверять типа: записанный в переменную 0@ угол актёра == 180.0 (0@ == 180.0) и проверка не срабатывает.
Проверял даже через запись в ini, угол точно: 180.0, а дальнейшие действия после проверки не срабатывают.
Зато хорошо срабатывают, если указать в проверке, что-то типа этого 0@ <= 180.0.

Я конечно понимаю, что угол не может быть ровно 180.0, когда Сиджей в движении, но в том то всё и дело: Сиджей не двигается и я ему устанавливаю точно заданный угол.

Проверять дробное число на равенство в любом движке плохая идея. Такую точность можно достичь только если сравнивать константы между собой. То, что оно пишет 180.0 не значит, что оно строгое. Оно запросто может установить 180.000001 через анимацию, физику, а в файл записать округленное число. Тут или угол в целое число конвертируйте и затем сравнивайте с целым, или проверяйте диапазон

if and
0@ >= 179.9999
0@ <= 180.9999
then
// ...
end

Last edited by wmysterio (03-06-2020 23:14)

Offline

#245 04-06-2020 13:00

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

wmysterio wrote:

Тут или угол в целое число конвертируйте и затем сравнивайте с целым, или проверяйте диапазон

if and
0@ >= 179.9999
0@ <= 180.9999
then
// ...
end

Пробовал конверт в целое: проверке также всёравно (не сравнивал).
Щас попробую вот диапазон этот.

Offline

#246 04-06-2020 13:10

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

Прошу прощения: перепутал report с replay.
Нельзя ли проверить вот так угол:
0@ == 170.0 to 180.0?

Offline

#247 12-06-2020 10:24

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

Симан, а когда примерно ждать обновления SB, желательно с тем что я предложил и поправками этого как: wmysterio хотел?

Offline

#248 12-06-2020 12:18

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

SanyaSFM wrote:

wmysterio хотел?

Мне без разницы. Я имею собственный псевдокомпилятор и мне им проще пользоваться при разработке сложных скриптов. Использую SB для компиляции и некоторыми его встроенными возможностями, которые я не в состоянии разработать самостоятельно. Подсветке констант будут рады многие. И новой справке тоже (будет время, скину материалы на одобрение).

SanyaSFM wrote:

Нельзя ли проверить вот так угол:
0@ == 170.0 to 180.0?

А что значит "to"? Если надо от угла 170 до угла 180, то пример я уже скинул, просто числа смените на нужные.

Offline

#249 12-06-2020 18:22

SanyaSFM
Registered: 11-05-2020
Posts: 32

Re: Вопросы и предложения по Sanny Builder

wmysterio wrote:
SanyaSFM wrote:

wmysterio хотел?

Мне без разницы. Я имею собственный псевдокомпилятор и мне им проще пользоваться при разработке сложных скриптов. Использую SB для компиляции и некоторыми его встроенными возможностями, которые я не в состоянии разработать самостоятельно. Подсветке констант будут рады многие. И новой справке тоже (будет время, скину материалы на одобрение).

SanyaSFM wrote:

Нельзя ли проверить вот так угол:
0@ == 170.0 to 180.0?

А что значит "to"? Если надо от угла 170 до угла 180, то пример я уже скинул, просто числа смените на нужные.

Типа: от 170 до 180.0.
Не, не подошло, там только если каждый угол который меньше или больше, проверять надо, я так и прописал, пример:
5@ <= 220.9999
5@ > 10.9999
5@ > 88.9999
5@ > 89.9999
5@ > 90.9999
5@ > 91.9999
5@ > 92.9999
и так пока точнее не будет, иначе будет срабатывать, ваше второе условие: меньше или равно 180.9999, может с таким же успехом и 90.9999 меньше 180.9999, а мне нужно было конкретно именно от 170.0 до 180.0, но такого проверочного опкода, к сожалению нет.

Offline

#250 12-06-2020 19:49

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Вопросы и предложения по Sanny Builder

SanyaSFM wrote:

там только если каждый угол который меньше или больше, проверять надо

Потому, что так и будет. Нет такого опкода, который это делает, ибо никому в голову не придёт рассчитывать такую точность настолько часто. Можно сделать функцию, которая будет это проверять, чтобы не писать кучу IF-оф. Вот я на коленке смастерил такую:

{$CLEO}
jump @skip_funcs

:angle_in_range
0087: 30@ = 0@  // (float)  
0063: 30@ -= 1@ // (float)
005B: 0@ += 1@  // (float)
1@ = false
if and
0035:   2@ >= 30@ // (float)
0035:   0@ >= 2@  // (float)
then
1@ = true
end
0AB2: ret 1 1@  

:skip_funcs // ОСНОВНОЙ КОД ---------------------------------------------------------------------------------------
wait 1000

while true
wait 0 
    0@ = Actor.Angle($PLAYER_ACTOR)
    if
    0AB1: call_scm_func @angle_in_range 3 target_angle 180.0 range 0.5 current_angle 0@ store_to 1@
    then
    // ...
    end
    0AD1: show_formatted_text_highpriority "Angle: %f~n~State: %d" time 1 0@ 1@
end

Результат:
image.png

В 1@ будет записано 1, если угол 0@ примерно равен углу 180.0. Примерно — это 180.0 ± 0.5. Можно самостоятельно отрегулировать точность и требуемый угол. Когда нужно, вызываем функцию как обычный опкод, без кучи проверок и прочих танцев с вычислениями.

Last edited by wmysterio (12-06-2020 20:07)

Offline

Board footer

Powered by FluxBB