Sanny Builder
Search…
Массивы
Массивы представляют собой последовательный набор элементов одного типа (тип массива). К каждому элементу массива можно обратиться используя его индекс (порядковый номер элемента в массиве). Нумерация элементов начинается с нуля. Массивы доступны в San Andreas, LCS и VCS.

Общий синтаксис

San Andreas: <имя массива>(<индекс>,<размер><тип>)
1
$index = 0
2
$array($index,10i) = 1
Copied!
<имя массива>: локальная или глобальная переменная <индекс>: локальная или глобальная переменная, содержащая индекс элемента, который нужно прочитать или изменить <размер>: любое целое число больше 0 <тип>: одна из букв i f s v:
Буква
Тип элемента
Размер элемента (в байтах)
i
целое число
4
f
дробное число
4
s
строковый литерал
8
v
строковый литерал
16
Liberty City Stories, Vice City Stories: <имя массива>(<индекс>,<размер>)
В LCS и VCS длина элементов массивов может быть только 4 байта. Поэтому нет необходимости указывать тип массива при обращении к его элементам.
1
$index = 0
2
$array($index,10) = 1
Copied!

Объявление массивов

Массивы могут быть объявлены через конструкцию VAR..END:
var <имя массива>: array <размер> of <тип> end
1
var
2
$FloatArray: array 10 of Float
3
end
Copied!

Обращение к элементам массива после объявления

После объявления можно обращаться к элементам массива, используя квадратные скобки и индексную переменную:
1
var
2
$FloatArray: array 10 of Float
3
end
4
$index = 1
5
$FloatArray[$index] += 100.0
Copied!

Использование целочисленных констант

Для обращения к определенным элементам можно также использовать квадратные скобки и константу больше либо равную нулю:
1
var
2
$FloatArray: array 10 of Float
3
end
4
$FloatArray[1] += 100.0
Copied!
С массивами, содержащими строковые литералы, можно работать используя строковые переменные:
1
// задаем значения для первых трех элементов массива $strings
2
s$strings[0] = 'str1'
3
s$strings[1] = 'str2'
4
s$strings[2] = 'str3'
Copied!
Массив может быть объявлен как коллекция экземпляров класса:
1
var
2
$players: array 2 of Player
3
end
4
$players[0].Build
Copied!
По умолчанию в режиме GTA SA дизассемблер выводит элементы массива с целочисленными константами. В LCS и VCS эта возможность присутствует, но по умолчанию выключена. Отладочная опция CONSTANT_INDEXES позволяет включить или выключить эту возможность.
Last modified 1yr ago