You are not logged in.
SeeMann, я тут качнул SB 2.99 , и обнаружил глюк.Почему то когда компилируешь мейн saveall_1.9 старым SB, то всё нормально, а когда 2.99, в игре сначало CJ кудато летит, всё время написано СОБСТВЕННОСТЬ КУПЛЕНА, и всё время выводится экран сохранения, а после того как несколько раз отменишь сохранение, он оказывается в воздухе, падает, и разбивается.Потом всё нормально.На оригинальном мейне уже другой глюк, когда CJ погибает, всё время начинается начальный ролик.VC он компилирует нормально,а SA глючит.
Offline
2Zalik
К сожалению (а может к счастью ) воспроизвести указанный глюк мне не удалось. Оригинальный майн после компиляции работает нормально, после гибели ролик не повторяется.
Про мод не могу ничего сказать, если он был написан на версии 2.9f, то компилироваться правильно будет только в ней из-за того, что там была другая версия файла SASCM.INI
Попробуй установить Update #1 для версии 2.99
Если не поможет будем думать дальше.
Offline
http://gtascripts.narod.ru/files/script.rar - это исходник, и скомпилированый мейн (saveall 1.9). http://gtascripts.narod.ru/files/Sanny2.99.rar - это архив с моим SB 2.99. насчёт оригинального мейна. Я с оригинальным пробовал гдето неделю назад, вроде этот глюк был, но я недавно случайно перезаписал оригинальный мейн другим. По этому ещё раз попробовать не могу.
P.S. Seemann, если не трудно скинь мне на мыло оригинальный мейн, был бы тебе очень благодарен!
Offline
Проблема с модом решается следующим образом: берешь старый файл vars.ini из версии 2.98 (или ранее), переименовываешь его в CustomVariables.ini и заменяешь им тот что лежит в версии 2.99
чуть позже дополнительно протестирую и скажу, почему такое происходит.
если не трудно скинь мне на мыло оригинальный мейн, был бы тебе очень благодарен
а переустановить игру не?
Offline
Seemann, Спасибо, а насчёт оригинального мейна - забей, просто не хочется заново ставить все тачки, моды и т.д
Offline
Спасибо, теперь всё работает.А какие изменения между vars.ini и CustomVariables.ini?
Offline
Спасибо, теперь всё работает.А какие изменения между vars.ini и CustomVariables.ini?
Проблема возникает из-за того, что новый файл содержит новые имена для массивов, которые присутствуют в скриптах. Например, было $SAVE_PICKUP, стало $SAVE_PICKUPS.
На практике такое переименование вызывает ошибку при компиляции старых скриптов. Не буду вдаваться в технические подробности.
Будем стараться в будущих версиях избегать данной проблемы несовместимости (возможно это будет конвертор для имен переменных, по аналогии с конвертором MB->SB).
Спасибо за указание на данную ошибку
Offline
2Seemann:
Слева - оригинальный код SA полученный в SAMB, справа тот же код, но полученный в SB -> откомпиллирпованный -> затем декомпиллированный уже в SAMB
Серьёзный глючок'с у SB !!! Нужно срочно поправить!
И таких мест около 7 ...
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Серьёзный глючок'с у SB !!! Нужно срочно поправить!
И таких мест около 7 ...
Конкретно про эту строку я знаю об этом уже давно (точнее говоря, с того момента, когда написал конвертор MB->SB).
Чему равно число 3E-12.0? Это число настолько близко к нулю, что его значением можно пренебречь.
В скрипте оно правда используется в опкоде 007B, но ты ведь не знаешь, что для чего оно там служит? Можно ли считать это багом, я даже не знаю.
Что насчет других 7 случаев?
Offline
2Seemann
Что насчет других 7 случаев?
Критических - ещё 3:
Это число настолько близко к нулю, что его значением можно пренебречь.
С такими малыми цифрами на приращивание - у меня работает трейд форсажа, с плавным наростанием скорости, т.е используются знасения с 5-ю, а то и 6-ю знаками после запятой. А SB, просто обрезает "хвост" после 4-х знаков после запятой если число меньше 5-ти (оно становится нулём) :-(
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Да, согласен, в отдельных случаях это может вызвать проблемы. Точнее сказать, после декомпилирования, потому что компилятор подобное число (0.0003) записывает без округления.
Постараюсь что-нибудь придумать.
Offline
... другая версия файла SASCM.INI
Здравствуйте всем.
У меня была в точности такая же проблема, как и у Zalik. Можно где-нибудь скачать SASCM.INI от ранних версий Sanny Builder ?
Offline
http://sannybuilder.com/files/CustomVariables 2.96.ini
http://sannybuilder.com/files/CustomVariables 2.97.ini
http://sannybuilder.com/files/CustomVariables 2.98.ini
думаю, этого должно быть достаточно.
Offline
Спасибо, Seemann. Думаю эти ссылки будут полезны не только мне.
Offline
Не знаю, глюк это или что-то другое, но когда я декомпилирую оригинальный main, а затем снова компилирую без внесения изменений - в миссии "Пляжная вечеринка" (там, где надо угнать фургон ди джея) возникает глюк. Когда подъезжаешь к денсерам - их машины подлетают в воздух и упав начинают взрываться. А группы танцоров слеплены в кучки - пед в педе. Миссию пройти нельзя.
Так вот. Что это?
Offline
Да, действительно есть проблема: неправильная декомпиляция дробных чисел.
Дело в том, что в этой миссии при создании машин указывается не фиксированная высота (координата Z), а динамическая, путем установки в качестве значения высоты числа -100.0. Игра проверяет это число и сама ставит верное значение высоты. Однако декомпилятор это число записывал как -99.9999, отсюда и ошибка при создании машин на пляже.
Версия 2.99e обновлена, дробные числа должны декомпилироваться нормально. Спасибо за указание на ошибку!
Offline
Попробовала на 2.99e - пока глюки сохранились.
Offline
пока глюки сохранились
файл нужно декомпилировать заново, старый исходник так и будет компилироваться с ошибкой.
Или можно вручную через Ctrl+R заменить все -99.9999 на -100.0
Offline
Да, Seemann, всё получилось!
Спасибо.
Я исправила все -99.9999 на -100.0. Глюк исчез. Тотальная правка не отразится в худшую сторону?
Offline
При декомпиляции майна в котором присутствует конструкция hex … end
Sanny Builder выдает ошибку: Неизвестный опкод ХХХХ по адресу ХХХХ.
К примеру при наличии в майне конструкции:
hex
09 "Word1" 20 "Word2"
end
Sanny Builder выдает ошибку: Неизвестный опкод 5709 по адресу 2074.
Каким то образом можно решить эту проблему в смысле обойти эту ошибку?
Или это особенности компилятора?
Offline
Каким то образом можно решить эту проблему в смысле обойти эту ошибку?
Или это особенности компилятора?
ну здесь все в норме. Когда декомпилятор пытается раскомпилировать файл и натыкается на такую последовательность байтов, то он же не может знать что здесь была конструкция hex.end, а предполагает, что ему подсовывают опкод с параметрами. Естественно, что при этом возникает такая ошибка. Если бы ты скомпилировал
hex
E503 0E 0B "Word1" 20 "Word2"
end
где E503 это опкод 03E5, 0e тип данных "", 0B длина слов, то все работало бы норм.
Декомпилировать можно даже и такую последовательность байтов, если включить режим отладки в саннике через консоль. Тогда он неизвестные байты будет писать в хексе, а не выдавать ошибку.
Offline
хм.....у меня такой глючок произошол, при замене фалов сасцм и вариабле ини после компиляции stripped, и то что в папке examples СА вылетает при загрузке
ЗЫ:при декомпиляции сцм компилированных со старыми ини - работает пучком
wait 0
Offline
2Satyricon:
это не глюк. Просто ты поставил новый ини, там возможен другой порядок следования параметров в опкоде, поэтому при компиляции старых исходников параметры встанут не на свои места => вылеты. надо либо декомпилировать файл с новым ини, либо работать со старым. Еще есть конвертор исходников Xieon'а для таких случаев, лежит в папке tools.
Offline
там возможен другой порядок следования параметров
ага, точно, спасибо
wait 0
Offline
2Seemann:
Обнаружил странный баг: если нажать на кнопку помощь, когда происходит ошибка и незакрывая файл справки сменить язык на русский, снова нажать на кнопку помощь то произойдет утечка памяти и процессор загружается на 100%. Причем это происходит когда меняешь язык на русский, если с русского на другой, то все нормально - открываются два файла справки на разных языках.
Offline