#201 09-10-2010 05:03

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

если не знаешь для чего это, не пиши, что посты тупые

toggle ignore_unknown

А вот сразу сказать что тебе это нужно нельзя было? Это включается там же, и без toggle debug_mode. Не надо горячку пороть >:\

Offline

#202 09-10-2010 14:21

mr.Andrei
Registered: 03-07-2010
Posts: 38
Website

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

Просто у меня пишет, что сначала надо включить toggle debug_mode, а потом toggle ignore_unknown, и это я делал через консоль, но уже разобрался. Всё равно спасибо.


SNKillers.net - всё о взломе и защите социальных сетей

Offline

#203 13-11-2010 21:45

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

flashTrash wrote:

Еще хорошо бы сделать подсветку констант:D

Можно воспользоваться таким приёмом: ставить в начало имени константы какую-нибудь цифру (0-9), например 2const. Тогда константы будут выделяться цветом (таким же, что и числа).

Offline

#204 09-03-2011 10:01

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

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

Доброго времени суток всем, особенно авторам СБ.
У меня вопрос - не вопрос, сообщение о баге - ил нет... короче разъясните нубу в програмировании и скриптиге.
Стоит СА (ну, да, не то, чтобы очень родная и правильная smile). Стоит СБ 3.04. Пишу в нем клео скрипт. Поскольку новичок, пишу, компилю, лезу в игру проверять... Если что-то не так, лезу обратно в СБ править... Короче, на какой-то раз лазаний туда-сюда, СБ сбрасывает настройки IF - AND / OR. Это конечно обходится (AND можно последовательно несколько проверок сделать, а OR несколько разных), но как-то это не правильно вроде...


Try not. Do or do not, there is no try.

Offline

#205 09-03-2011 10:17

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

Что значит "сбрасываются настройки"? Предоставьте пример кода.

Offline

#206 09-03-2011 12:27

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

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

Смысла не вижу, но извольте. Это не мой код (это кусок кода из мода CLEO_Windshield_GUI). Довольно простой - рисуем новый интерфейс, в том числе иконки оружия и цифирки патронов.

:WeapAmmoDisplay
gosub @GetCurrentWeap 
if  and
    CURRENT_WEAP > 15 
    not CURRENT_WEAP == 40 
    not CURRENT_WEAP > 43 
then
    gosub @GetCurrentWeapAmmo 
    if  or
        CURRENT_WEAP == 16 
        CURRENT_WEAP == 17 
        CURRENT_WEAP == 18 
        CURRENT_WEAP == 35 
        CURRENT_WEAP == 36 
        CURRENT_WEAP == 39 
    then
        gosub @DrawWeapAmmoOne 
    else
        gosub @GetCurrentSlot 
        0A96: 0@ = actor $PLAYER_ACTOR struct 
        000A: 0@ += 0x5A0 
        CURRENT_SLOT *= 0x1C 
        005A: 0@ += CURRENT_SLOT // (int) 
        000A: 0@ += 0x8 
        0A8D: AMMO_CLIP = read_memory 0@ size 4 virtual_protect 0 // GetAmmoClip
        0062: WEAP_AMMO -= AMMO_CLIP // (int) 
        0085: AMMO_OTH = WEAP_AMMO // (int) 
        gosub @DrawWeapAmmoTwo 
    end
end
return

Вопрос в том, что если этот код несколько раз открыть и закрыть в SB указанное в коде "if  or" изменится на просто "if" или, что еще хуже на "if and".
Повторюсь, я нуб. Я ничерта в этом не понимаю. Редактирую я напрямую в SB, а не в текстовых файлах, как, возможно, делают опытные кодеры. Я вообще смысла в этих текстовых файлов не понимаю и их удаляю... Может потому он мне параметры и сбрасывает? Если это баг - буду рад, что указал на него. Если нет, буду рад, если объясните, в чем я не прав...


Try not. Do or do not, there is no try.

Offline

#207 09-03-2011 15:12

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

Начнём с того, что скомпилированный скрипт (cs-файл) открыть можно только в hex-редакторе, но никак не в Sanny Builder. Если сделать двойной щелчок по значку cs-файла, то он не открывается, а декомпилируется. В результате декомпиляции создаётся текстовый файл, содержимое которого появляется в окне SB.
Не нужно удалять текстовый файл (исходник) после компиляции скрипта (компиляция - создание или перезапись cs-файла с тем же названием, что и исходник). Исходник нужен как раз на случай последующего редактирования кода. Для осуществления редактирования надо открыть текстовый файл в Sanny Builder (команда Файл-Открыть). После внесения изменений производится повторная компиляция скрипта с помощью команды Запуск-Компилировать.
П.С. Даже в случае удаления исходника, содержимое cs-файла самопроизвольно меняться не должно. Так что причину замены if or на if and я не знаю, у меня такого не было.

Last edited by Den_spb (09-03-2011 15:27)

Offline

#208 09-03-2011 18:13

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

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

Ну, примерно понятно. Хотя, я не настолько туп и нуб (стихи прямо), чтоб так подробно мне всё объяснять, но спасибо... smile
Описываю ещё раз, более подробно. СБ декомпилируя некий скрипт, содержащий проверку с параметром ИЛИ (наоборот, вроде не замечал) без исходного текстового файла, делает это правильно... Более того - очеловечивает код, выдавая на экране вместо цифрового значения слова И или ИЛИ. Компилируя скрипт обратно в машинный код (в процессе работы над скриптом в СБ, возможно, текстовый файл, созданный при декомпиляции удаляется), СБ не видит цифрового значения и считает количество условий с 0 или 1 (соответственно присваивая цифровое значение, что, в итоге, всегда даёт параметр И)... Получается, что СБ компилирует не то, что на экране, а то, что в текстовом файле... Теперь всё ясно.
Маленький оффтоп можно? Объясните мне ещё один нубский вопрос... Вот, я так понимаю, что команда джамп - код туда ушёл и не вернулся, а госаб - ушёл и вернулся... Почему в оригинальном мэйне в некоторых местах (в потоке джанкфуд, например) стоят два джампа подряд? Это криворукость рокстарз? Это остатки от консоли? Или это моё непонимание того, как работает код и эти команды?
П.С. И до кучи: каким опкодом или как ещё в ГТА-СА вывести на экран флоат значение? Координаты, например?

Last edited by Yoda (09-03-2011 18:21)


Try not. Do or do not, there is no try.

Offline

#209 09-03-2011 18:46

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

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

Получается, что СБ компилирует не то, что на экране, а то, что в текстовом файле...

Нет. При компиляции код, который находится на экране, записывается в txt-файл (в том виде, в котором он представлен на экране). На основании этого кода также создаётся "машинный" cs-файл (если cs или txt файлы уже существуют, то они перезаписываются).

Почему в оригинальном мэйне в некоторых местах (в потоке джанкфуд, например) стоят два джампа подряд?

Подобное может быть, например, при компиляции двух вложенных друг в друга циклов с предусловием. Исходный код:

{$CLEO} 
wait 0 
while true 
        while true 
            wait 0 
        end 
end

Что получаем после декомпиляции:

{$CLEO .cs} 
0001: wait 0 ms     

:NONAME_4 
0001: wait 0 ms     
0002: jump @NONAME_4     
0002: jump @NONAME_4

Понятно, что второй jump здесь бесполезен (он никогда не будет выполнен), просто высокоуровневые конструкции так компилируются.

каким опкодом или как ещё в ГТА-СА вывести на экран флоат значение?

0@ = 5.27348568 
0AD0: show_formatted_text_lowpriority "%.5g" time 5000 0@

Last edited by Den_spb (09-03-2011 18:54)

Offline

#210 09-03-2011 19:10

Yoda
From: Moscow
Registered: 08-03-2011
Posts: 90

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

Благо_дарствую за разъяснения!


Try not. Do or do not, there is no try.

Offline

#211 07-11-2014 11:29

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

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

Я предлагаю добавить в отчет компилятора строку - номер последней глобальной переменной, когда компилишь main. Это бывает полезно знать.


I know everything and nothing...

Offline

#212 07-11-2014 23:55

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

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

Что такое последняя переменная?

Offline

#213 08-11-2014 11:40

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

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

Я имею ввиду по порядку. Первая - $0, а последняя допустим - $10000.


I know everything and nothing...

Offline

#214 14-11-2015 15:39

SanKing
Registered: 14-11-2015
Posts: 3

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

Здравствуйте. Как-то раз писал я код, да и заметил баг компилятора:

var
$DRUGAN_X: array 3 of Float
$DRUGAN_Y: array 3 of Float
$DRUGAN_Z: array 3 of Float
$DRUGAN_PM: array 3 of Marker
end
$DRUGAN_X[0] = 2202.1089
$DRUGAN_Y[0] = -1977.2307
$DRUGAN_Z[0] = 13.554
$DRUGAN_X[1] = 2453.4404
$DRUGAN_Y[1] = -1984.6873
$DRUGAN_Z[1] = 13.554
$DRUGAN_X[2] = 2643.999
$DRUGAN_Y[2] = -2059.3098
$DRUGAN_Z[2] = 13.554

for 0@ = 0 to 2 step 1
    018A: $DRUGAN_PM[0@] = create_checkpoint_at $DRUGAN_X[0@] $DRUGAN_Y[0@] $DRUGAN_Z[0@] 
end

Баг заключается в том, что при выполнении этих строк значение переменной $DRUGAN_Y[0] меняется на значение $DRUGAN_X[2], а $DRUGAN_Z[0] - на $DRUGAN_Y[2]. Я мало что понимаю в серьёзном программировании, но знающий человек подсказал мне, что такое происходит из-за того, что компилятор неправильно выделяет память под массив типа Marker, и поэтому элементы индексируются неверно. Надо отметить, замещение происходит только при своих переменных. Код мейновский, не CLEO.
Я очень надеюсь, что Seemann прислушается к этой проблеме и по возможности исправит досадный баг.

Offline

#215 15-11-2015 08:46

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

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

Я попробовал скомпилировать и декомпилировать обратно этот код и получил следующее:

0005: $4 = 2202.109 
0005: $7 = -1977.231 
0005: $10 = 13.554 
0005: $5 = 2453.44 
0005: $8 = -1984.687 
0005: $9 = 13.554 
0005: $6 = 2643.999 
0005: $9 = -2059.31 
0005: $12 = 13.554 
0006: 0@ = 0 

:NONAME_97
018A: $13(0@,3i) = create_checkpoint_at $4(0@,3f) $7(0@,3f) $10(0@,3f) 
000A: 0@ += 1 
0019:   0@ > 2 
004D: jump_if_false @NONAME_97 

код верный. можешь выложить полный .cs файл, на котором воспроизводится проблема?

Offline

#216 15-11-2015 19:11

SanKing
Registered: 14-11-2015
Posts: 3

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

Seemann wrote:

можешь выложить полный .cs файл, на котором воспроизводится проблема?

Я же сказал, что код не CLEO, а мейна, точнее MPack'овского scr.scm.

Offline

#217 15-11-2015 20:58

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

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

Тогда выложи scr.scm) Или можешь выслать мне его в личку.

Offline

#218 16-11-2015 13:59

SanKing
Registered: 14-11-2015
Posts: 3

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

Выслал.

Offline

#219 13-01-2016 05:05

SR_team
Registered: 20-09-2014
Posts: 4

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

вставку asm .. end. Что бы писать asm вставки без дебагеров, в которых можно подсмотреть байты команд.

Offline

#220 10-03-2016 17:40

Gabriel_
Registered: 10-03-2016
Posts: 1

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

Добавьте очень полезную штуку как проводник ресурсов.
Это очень удобно для создания больших проектов и скриптов! smile
0f4618ea57e2.jpg
Стандартная возможность неудобна для восприятия ( Нельзя разложить все по папкам все время нужно открывать файлы фиг знает откуда и при редактировании нужно сохранять файл потом переключаться на главный и компилировать. devil

Offline

#221 18-06-2016 09:08

MelomanCool
Registered: 24-06-2013
Posts: 11

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

Хотелось бы иметь возможность переобъявлять константы. В данный момент такой код:

const
    MyVar = 0@
end

MyVar = 0

const
    MyVar = 1@
end

MyVar = 0

компилируется в:

0006: 0@ = 0 
0006: 0@ = 0 

А ведь нужная возможность, особенно для scm-функций.

Offline

#222 18-06-2016 11:51

Mr.GeniusZ
Registered: 09-11-2014
Posts: 29

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

А будет релиз новой версии санни билдера и вообще будет ли он развиваться?

Offline

#223 18-06-2016 20:25

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

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

MelomanCool wrote:

Хотелось бы иметь возможность переобъявлять константы. В данный момент такой код:

const
    MyVar = 0@
end

MyVar = 0

const
    MyVar = 1@
end

MyVar = 0

компилируется в:

0006: 0@ = 0 
0006: 0@ = 0 

А ведь нужная возможность, особенно для scm-функций.

А можешь привести реальный пример кода, в котором это нужно?

Mr.GeniusZ wrote:

А будет релиз новой версии санни билдера и вообще будет ли он развиваться?

Да, будет. Точные даты, к сожалению, сказать не могу.

Offline

#224 18-06-2016 20:42

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

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

MelomanCool wrote:

Хотелось бы иметь возможность переобъявлять константы.

Мне кажется, это плохая идея, ведь цель констант как раз в обратном - значения фиксированы.

Я за внедрения проводника в СБ, как упоминалось выше  -  было бы удобно. А так этого функционала достаточно в СБ.

Offline

#225 19-06-2016 11:08

Mr.Secret
Registered: 21-05-2014
Posts: 11

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

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

Offline

Board footer

Powered by FluxBB