You are not logged in.
2Seemann:
Скриптовый движок SA имеет один неприятный баг, связанный с метками. Вы не можете осуществить переход из тела внешнего скрипта к его началу, т.е. сделать jump на самую первую метку.
Спорное утверждение... У меня всё гуд (несколько External script так работают), может дело SB?
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Дело не в SB. Могу объяснить почему:
все метки во внешних скриптах компилируются как локальные, т.е. вместо метки пишется число, равное смещению от начала скрипта до метки. При этом, чтобы отличить их от глобальных меток (которые адресуются только в майне), эти значения становятся отрицательными. Например, -7 это смещение от начала скрипта на 7 байтов. Если было бы записано 7, игра рассматривала этот переход как переход к 7-му байту от начала main.scm (т.е. где-то в начале блока переменных).
Так вот, если используется метка перехода к самому началу скрипта, то она может быть скомпилирована только как 0 (т.е. нулевое смещение = самое начало скрипта). Игра рассматривает нулевые метки как глобальные, отсюда глюк - игра как бы стартует заново, появляется второй игрок и т.д.
Совершенно невозможно, чтобы у тебя такой переход работал. Скорее всего в начале парочка опкодов все же есть.
Offline
и какой в этом смысл , кроме как получение вылета при нечайном их использовании и убивании довольно большого количества времени ?
Offline