» TeamX (Архив Форума)«


Форум TeamX » Тех. поддержка » Вопрос по scripts.lst и LVARам. (Разъясните пожалуйста.)

Переход по темам
<< Пред. След. >>
Единственная страница этой темы

 
YikxX
Пользователь

Откуда: NCR :)
Регистрация: Февр. 2004

Всего: 304 сообщения

Вот что написано в ФАКе по скриптам:
Цитата:
LVAR Локальные переменные скрипта. Следует отметить, что это не переменные скрипта, а переменные ОБЪЕКТА, к которому привязывается скрипт. Например: у нас есть два охранника двери, к ним привязан один и тот же скрипт - guard.int, local_var(x) у обоих охранников может принимать разные значения. То есть мы можем создать кучу одинаковых объектов с одинаковыми скриптами. В ходе выполнения, в результате действий, local_var(x) для каждого скрипта может выполнятся и принимать своё значение. Но после выполнения скрипта все значения исчезают. Объявляются в файле scripts.lst в конце строчки, описывающей скрипт выражением вида local_vars=5. Таким образом у нас будет пять LVAR'ов. В скриптах не требуют "обнуления" (set_local_var(x, 0)), т.к. при выполнении скрипта (а точнее его начале) двиг сам обнуляет все local_vars.

Вчера завел в скрипте еще 2 лвары (последняя используемая в скрипте была 13-я, в scripts.lst прописано local_vars=15 (кстати, почему именно это число, ведь должно же быть вроде как =14 (или =13?). Соответственно, я добавил 14-ю и 15-ю. scripts.lst после добавления не менял. Поговорил с чуваком, переменные выставились в 1. Вышел из скрипта, сохранился, вышел из игры, загрузился, снова говорю с чуваком - условия, завязанные на эти 2 переменные == 1 сработали! Как так вышло, если они не сохраняются (обнуляются)?
И как эти переменные вообще используются, если они не "объявлены" в scripts.lst? Или там инфа только для информации?

Прошу прощения, если такой вопрос уже поднимался - поиском не нашел.

-----
Обломись! Я подложил туда носок...

Отправлено: 10:52 - 3 Июня, 2006
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

Хм... ИМХО движок по этим пометкам в scripts.lst просто узнает сколько памяти надо GetMem на карту, потом всю эту память он FillChar нулями. Соответственно, ты просто залез в память, которая вообще-то предназначалась для другого скрипта. Могло такое быть?

-----
hit me, nail me, make me god

Отправлено: 12:41 - 3 Июня, 2006
Tehnokrat
Модератор

Откуда: Новосибирск
Регистрация: Окт. 2003

Всего: 489 сообщений

YikxX, читай доку WG "Функции...", раздел "Переменные" и всё поймёшь.

-----
Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.

Отправлено: 16:43 - 3 Июня, 2006
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

В скриптс.лст указывается количество вар, а при обращении к варе - её порядковый номер, начиная с нуля. Т.е. если у тебя в скрипте вары с 0 по 13, то в листе число вар должно быть 14. Если их указать меньше, произойдёт именно то, о чём сказал Alan Killenger.

Отправлено: 14:21 - 6 Июня, 2006
YikxX
Пользователь

Откуда: NCR :)
Регистрация: Февр. 2004

Всего: 304 сообщения

Спасибо всем за ответы. Я что-то подобное и предполагал - очень рад, что не ошибся.

Тогда, может ФАК то все-таки обновить? А то новички полезут читать и поймут все не так.

2  Tehnokrat: Кстати, в доке WG тоже не все подробно описано... Например, про "с 0 до 13 - в скриптс.лст = 14" ни слова не сказано.

-----
Обломись! Я подложил туда носок...

Отправлено: 16:32 - 6 Июня, 2006 | ИСПРАВЛЕНО: YikxX - 16:34 - 6 Июня, 2006
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

Ну таки не программированию дока учит . А для тех, кто не в курсе, всегда есть БД. В которой есть формат lst-файлов.

Отправлено: 12:41 - 7 Июня, 2006
YikxX
Пользователь

Откуда: NCR :)
Регистрация: Февр. 2004

Всего: 304 сообщения

... в которой опять же не слова про то, каким образом считается "# local_vars=10".
Ладно, это все уже на придирки похоже... Сорри.

-----
Обломись! Я подложил туда носок...

Отправлено: 11:15 - 8 Июня, 2006
Spy
Реалист

Откуда: Все там будем...
Регистрация: Май 2005

Всего: 374 сообщения

Цитата:

Например, про "с 0 до 13 - в скриптс.лст = 14" ни слова не сказано.


смтори сюда: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13.
Вримание, вопрос: Сколько чисел?
Правильно! 14.
Фак править не надо. Как к доке по скриптам, к ней нареканий нет. А если ты не можешь самостоятельно сосчитать количество элементов, пронумерованных с 0 до 13 включительно, делай выводы.

-----
Хочешь, чтобы что-то было сделано хорошо - сделай сам.

Отправлено: 15:25 - 8 Июня, 2006
YikxX
Пользователь

Откуда: NCR :)
Регистрация: Февр. 2004

Всего: 304 сообщения

2 Spy: Не груби, пожалуйста.

Просто есть люди, для которых может быть не очевидно, что ЛВАРы нумеруются с нуля.

P.S. Я к таким людям не отношусь, так что успокойся.

Предупреждение за археологию и выяснение личных отношений в теме.
WG


-----
Обломись! Я подложил туда носок...

Отправлено: 20:18 - 18 Июля, 2006
 

Переход по темам
<< Пред. След. >>
Единственная страница этой темы


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com