Локальные и глобальные переменные - первый шаг в JASS. Что такое локальные и глобальные переменные? Обьсню. Глобальные переменные это переменные, которыми мы обычно пользовались. Через редактор переменных. А что такое локальные переменные? Локальные переменные это переменные, которые слздаются в функции и когда функция закончится перемеенная больше не будет существовать. Как же создавать такие переменные? Начнём с того, что переменные бывают многих типов. Например - integer, unit, effect, real и т.д. Рассмотрим действие.

local integer i

Что делает это действие? Обьявляет локальную переменную типа integer (целочисленная) с названием "i". Ты спросишь, зачем нужны локальные переменные? Нужны они для того, чтобы "не засорять редактор переменных" ну и т.д. Ведь локальная переменная используется только в одной функции. Как присвоить значение переменной? Смотрим.

set i = 1

set - переводиться как "установить значение" (примерно). Установить значение локальной переменной i с значением 1. Думаю, здесь всё понятно. Пошли далее. Ведь кроме локальных переменных есть ещё и глобальные переменные!

set udg_i = 1

Всё тоже самое... Но что такое ubg_? Эта пристака обозначает, что переменная глобальная. Локальная переменная пишется без всяких приставок. Есть тип переменной, которой нету в редаткоре переменных. Называется он handle. Что он обозначает? Всё он обозначает! Он может обозначать и юнита, и целочислнную, и точку и т.д. Тут думаю комментарии излишние.

local handle h

Теперь поговорим о массивах. Что такое массивы? Обьясню на примере. Мы создаём 100 юнитов. И что, мы для каждого будет делать переменную типа unit? Нет. Мы лучше повесимся. Но есть второй способ - массивы.

local integer array i

Всё как раньше. Но появилось array. Что такое array? это значит, что переменная массивная. Как ей присвоить значение?

set i[0] = 12

Всё как раньше, но появились []. Зачем они? Это индекс. Номер ячейки перемеенной, куда мы будем записывать наше значение. Надеюсь, вопросов нет.